用于保留对有限许可的访问的算法

时间:2013-02-28 18:40:53

标签: algorithm

我们的情况是许可证较少(用于GUI测试工具)和更多用户。

我正在尝试建立一个系统,通过预订来访问许可证。

要执行自动化套件,用户必须创建一个预订,然后使用一个许可证。同时其他许可证将是免费的。

简单的FIFO队列无法​​解决问题,因为单个用户一次只能执行一个套件。

是否有任何有助于有效分发许可证的标准算法。

1 个答案:

答案 0 :(得分:0)

定义一个纪元。统计数据发生在一个时代。 (说两个小时)。

定义一个勾号。每个滴答都接受/解决许可请求。 (说30秒)

记录每个许可证的持有时间以及由谁持有的数据。

为每个用户分配一个权重,当他们使用许可证时,他们的权重就会减少,但只能在一段时间内使用。

每个嘀嗒声:

  1. 收集谁想要许可证。
  2. 记录许可证的发布并收集每个用户统计信息的许可证签出时间。
  3. 对于每个可用的许可证:
  4. 在请求具有最高权重然后最长等待时间的用户之间选择。如果不止一个用户绑定这两个标准,则随机。
  5. 安排减少获胜用户的权重,时间等于他们持有许可证的先前平均时间,加上他们保留此许可证的时间。
  6. 每个时代:

    1. 调整统计数据,使其不会超出
    2. 希望这会自动调整许可证签出,以防止用户使用许可证的差异。那些想要长时间使用或经常或偶尔使用它的人仍然可以获得随着时间的推移有希望均匀使用的许可证。

      ather