我们的情况是许可证较少(用于 GUI 测试工具 Silktest)和更多用户。
我正在尝试构建一个系统,通过预订可以访问许可证。
要执行自动化套件,用户必须创建一个预订,这反过来会用完一个许可证。同时其他许可证将是免费的。
一个简单的 FIFO 队列无法解决它,因为单个用户一次只能执行一个套件。
是否有任何标准算法可以帮助有效地分发许可证。
我们的情况是许可证较少(用于 GUI 测试工具 Silktest)和更多用户。
我正在尝试构建一个系统,通过预订可以访问许可证。
要执行自动化套件,用户必须创建一个预订,这反过来会用完一个许可证。同时其他许可证将是免费的。
一个简单的 FIFO 队列无法解决它,因为单个用户一次只能执行一个套件。
是否有任何标准算法可以帮助有效地分发许可证。
定义一个时代。统计数据发生在一个时代。(说两个小时)。
定义一个刻度。许可证请求在每个滴答声中都被接受/解决。(比如说 30 秒)
保留有关每个许可证持有多长时间以及由谁持有的统计信息。
为每个用户分配一个权重,他们使用许可证的次数越多,权重就会减少,但仅限于设定的时间。
每个刻度:
每个时代:
希望这将根据用户使用许可证的差异自动调整许可证签出。那些想要长时间或频繁或偶尔使用它的人仍然应该获得一个许可证,随着时间的推移,它有望达到平衡。
另一个