我们已经许可了商业产品(在这种情况下不重要的产品),这受到并发用户数量的限制.用户通过Spring Controller访问此产品.
我们拥有此产品的N个许可证,如果N + 1个用户访问它,则会收到有关需要购买更多许可证的错误消息.我想确保用户不会看到此消息,并且希望对产品的请求只是"排队",而不是让N + 1用户实际访问它.当然,他们更希望我购买许可证,因此他们的工具不会让我们本地执行此操作.
代替能够控制工具,我想限制控制器的并发会话数量永远不会超过N.其他人都可以等待.
我们正在使用Spring MVC.
有任何想法吗?
我们有一些表,其结构如下:
start, - datetime
end, - datetime
cost - decimal
因此,例如,可能会有一行如下:
01/01/2010 10:08 am,
01/01/2010 1:56 pm,135.00 01/01/2010 11:01 am,01/01/2010 3:22 pm,118.00
01/01/2010 06:19 pm,01/02/2010 1:43 am,167.00
等等...
我想把它变成一种格式(带有函数?),它以如下格式返回数据:
上午10:00,上午10:15,X,Y,Z
上午10:15,上午10:30,X,Y,Z
上午10:30,上午10:45,X,Y,Z
上午10:45,上午11:00,X,Y ,Z
上午11:00,上午11:15,X,Y,Z
....
其中:
X =匹配的行数
Y =该大块时间的成本/费用
Z =此期间的总时间量
IE,对于上述数据,我们可能会:
上午10:00,上午10:15,1,(135/228分钟*7),7
....
上午11:00,上午11:15,2,((135 + 118)/((228 + 261)分钟*(15 + 14)),29
....
我相信我已经在这里完成了数学计算,但是需要弄清楚如何将它变成PG函数,以便它可以在报告中使用.
理想情况下,我希望能够以任意持续时间调用该函数,即15分钟,或30分钟,或60分钟,并根据它分开.
有任何想法吗?