分布式环境下带计数时间戳的资源使用控制器及控制方法技术

技术编号:36191260 阅读:28 留言:0更新日期:2022-12-31 21:07
本发明专利技术公开了一种分布式环境下带计数时间戳的资源使用控制器,通过自行研发的资源使用计数器生成资源被使用的计数时间戳,线程需要使用该资源时,携带该计数时间戳请求资源竞争权限,竟得资源使用权限后的该线程使用完该资源并归还资源使用权后,资源使用计数器对该资源的被使用次数累加1,并通知分布式环境下的所有服务器获取等待使用该资源的各个线程去继续竞争该资源的使用权限。本发明专利技术利用计数时间戳提高了对资源使用控制的有效性。本发明专利技术还提供了一种资源使用控制方法。还提供了一种资源使用控制方法。还提供了一种资源使用控制方法。

【技术实现步骤摘要】
分布式环境下带计数时间戳的资源使用控制器及控制方法


[0001]本专利技术涉及计算机资源配置
,具体涉及一种分布式环境下带计数时间戳的资源使用控制器及控制方法。

技术介绍

[0002]随着
细分,业务专业性越来越强,一个项目的解决方案中的所有技术点通常需要多家企业合作完成,比如A技术服务商提供人脸识别技术服务,B技术服务商提供自然语言处理技术服务等,这些外部服务又称为计算机所要使用的外部资源。外部资源数量通常是有限的,最通常的表现方式就是限流,比如对于A技术服务商提供的人脸识别技术服务在15秒内最多只能访问100次,超出的访问流量将会被以限流异常处理。
[0003]资源使用控制的目的是,通过控制同时访问特定资源的线程数量,协调各个线程,以保证合理的使用资源。在分布式环境下,当多台服务器访问有限的外部资源时,过量访问会导致部分访问失效,因此如何提高分布式环境下的资源使用效能成为本领域的一项重要课题。

技术实现思路

[0004]本专利技术以提高分布式环境下多台服务器对外部资源的使用效能为目的,提供了一种分布式环境下带计数时间戳的资源使用控制器。
[0005]为达此目的,本专利技术采用以下技术方案:提供一种分布式环境下带计数时间戳的资源使用控制器,包括:资源使用计数器,用于记录资源被使用的次数和时间;计数时间戳获取模块,用于以线程启动为指令,获取所述资源使用计数器对所述线程待使用的所述资源的计数时间戳,所述线程获取到所述计数时间戳后向所述资源使用计数器申请资源使用权限;权限判断及线程处理模块,用于判断带所述计数时间戳的所述线程是否有竞争所述资源的权限,若是,则赋予所述线程竞争所述资源的权限;若否,则挂起所述线程;竞得资源使用权的所述线程使用完所述资源并归还资源使用权后,所述资源使用计数器对所述资源的被使用次数累加1,同时通知分布式环境下的所有服务器获取等待使用所述资源的各个线程继续竞争资源使用权限。
[0006]本专利技术另外提供了一种分布式环境下带计数时间戳的资源使用控制方法,包括:提供一资源使用计数器,记录资源被使用的次数和时间;提供一技术时间戳获取模块,以线程启动为指令,获取所述资源使用计数器对所述线程待使用的所述资源的计数时间戳,所述线程获取到所述计数时间戳后向所述资源使用计数器申请资源使用权限;
提供一权限及线程处理模块,以判断带所述计数时间戳的所述线程是否有竞争所述资源的权限,若是,则赋予所述线程竞争所述资源的权限;若否,则挂起所述线程;竞得资源使用权限的所述线程使用完所述资源并归还资源使用权后,所述资源使用计数器对所述资源的被使用次数累加1,同时通知分布式环境下的所有服务器获取等待使用所述资源的各个线程继续竞争资源使用权限。
[0007]本专利技术通过自行研发的资源使用计数器生成资源被使用的计数时间戳,线程需要使用该资源时,携带该计数时间戳请求资源竞争权限,竟得资源使用权限后的该线程使用完该资源并归还资源使用权后,资源使用计数器对该资源的被使用次数累加1,并通知分布式环境下的所有服务器获取等待使用该资源的各个线程继续竞争该资源的使用权限。本专利技术利用计数时间戳提高了对资源使用控制的有效性。
附图说明
[0008]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0009]图1是本专利技术一实施例提供的分布式环境下带计数时间戳的资源使用控制方法的实现逻辑图;图2是本专利技术一实施例提供的分布式环境下带计数时间戳的资源使用控制方法的流程图;图3是本专利技术一实施例提供的分布式环境下带计数时间戳的资源使用控制器的结构图;图4是计数时间戳获取模块的内部结构示意图;图5是权限判断及线程处理模块的内部结构示意图。
具体实施方式
[0010]下面结合附图并通过具体实施方式来进一步说明本专利技术的技术方案。
[0011]其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本专利技术的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0012]本专利技术实施例的附图中相同或相似的标号对应相同或相似的部件;在本专利技术的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0013]在本专利技术的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0014]本专利技术实施例提供的分布式环境下带计数时间戳的资源使用控制器,如图3所示,包括资源使用计数器1、计数时间戳获取模块2、权限判断及线程处理模块3。
[0015]资源使用计数器1用于记录外部资源被使用的次数和使用时间;计数时间戳获取模块2用于以线程启动为指令,获取资源使用计数器1对线程待使用的外部资源最近一次被使用的计数时间戳,比如,线程待使用的外部资源为人脸识别技术,资源使用计数器1记录的该外部资源最近一次被使用的计数时间戳假设为2022

01

20 12:15:18,则获取的计数时间戳为2022

01

20 12:15:18。线程获取到计数时间戳后带着该计数时间戳向资源使用计数器1申请资源使用权限。
[0016]权限判断及线程处理模块3用于判断带计数时间戳的线程是否有竞争资源的权限,若是,则赋予线程竞争资源的权限;若否,则挂起该线程。
[0017]竟得资源使用权限的线程使用完资源并归还资源使用权后,资源使用计数器1对该外部资源的被使用次数累加1,同时通知分布式环境下的所有服务器获取等待使用该外部资源的各个线程去继续竞争资源使用权限。
[0018]具体地,如图4所示,计数时间戳获取模块中包括:标准时间获取单元21,用于在线程启动时,获取第三方服务组件的本地时间作为标准时间。由于分布式环境下的多台服务器的本地时间可能并不一致,为了保证对资源使用的时间控制精度,资源使用计数器生成的计数时间戳中表示的时间统一采用计数时第三方服务组件的本地时间。第三方服务组件采用目前技术成熟的分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式环境下带计数时间戳的资源使用控制器,其特征在于,包括:资源使用计数器,用于记录资源被使用的次数和时间;计数时间戳获取模块,用于以线程启动为指令,获取所述资源使用计数器对所述线程待使用的所述资源的计数时间戳,所述线程获取到所述计数时间戳后向所述资源使用计数器申请资源使用权限;权限判断及线程处理模块,用于判断带所述计数时间戳的所述线程是否有竞争所述资源的权限,若是,则赋予所述线程竞争所述资源的权限;若否,则挂起所述线程;竞得资源使用权的所述线程使用完所述资源并归还资源使用权后,所述资源使用计数器对所述资源的被使用次数累加1,同时通知分布式环境下的所有服务器获取等待使用所述资源的各个线程去继续竞争资源使用权限。2.根据权利要求1所述的分布式环境下带计数时间戳的资源使用控制器,其特征在于,所述计数时间戳获取模块中包括:标准时间获取单元,用于在所述线程启动时,获取第三方服务组件的本地时间作为标准时间;时间戳标识获取单元,用于在所述线程启动时,获取存储在所述第三方服务组件中的所述线程待使用的所述资源所对应的时间戳标识;时间范围获取单元,用于在所述线程启动时,获取存储在所述第三方服务组件中的所述线程待使用的所述资源所对应的时间范围;时间差计算单元,分别连接所述标准时间获取单元和所述时间戳标识获取单元,用于计算所述标准时间和所述时间戳标识表示的时间的时间差;判断单元,分别连接所述时间范围获取单元和所述时间差计算单元,用于判断所述时间差是否小于等于所述时间范围,若是,则判定对所述资源被使用次数的计数时间还处于预设的所述时间范围内,并将所述资源使用计数器的当前时间作为所述线程待携带的所述计数时间戳;若否,则判定对所述资源被使用次数的计数时间超出了预设的所述时间范围,并采用所述第三方服务组件的当前时间重置所述计数时间戳。3.根据权利要求1所述的分布式环境下带计数时间戳的资源使用控制器,其特征在于,所述权限判断及线程处理模块中包括:限流数量获取单元,用于以所述线程提交资源使用权限申请为指令,获取存储在第三方服务组件中的所述线程待使用的所述资源在对应的时间范围内允许被使用的限流数量;计数值获取单元,用于以所述线程提交资源使用权限申请为指令,获取所述资源使用计数器在所述线程携带的所述计数时间戳表示的时间点对所述线程待使用的所述资源已被使用的次数的计数值;权限判断及线程处理单元,分别连接所述限流数量获取单元和所述计数值获取单元,用于判断所获取的所述计数值是否小于预设的所述限流数量,若是,则赋予所述线程竞争所述资源的权限;若否,则挂起所述线程。
4.根据权利要求2或3所述的分布式环境下带计数时间戳的资源使用控制器,其特征在于,所述第三方服务组件为分布式锁服务组件或redis服务器。5.根据权利要求1所述的分布式环境下带计数时间戳的资源使用控制器,其特征在于,所述资源使用计数器采...

【专利技术属性】
技术研发人员:胡奇韬朱正怡李响
申请(专利权)人:天道金科股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1