[发明专利]线程分配方法及装置有效
申请号: | 201610342244.7 | 申请日: | 2016-05-20 |
公开(公告)号: | CN107402810B | 公开(公告)日: | 2020-07-14 |
发明(设计)人: | 赵凯;朱志强;杜华兵;王力 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市惠诚律师事务所 11353 | 代理人: | 刘子敬 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 分配 方法 装置 | ||
本发明提供了一种线程分配方法及装置,通过获取目标集群所依赖的依赖集群允许的最大每秒查询率,在目标请求分配线程时,根据该最大每秒查询率、目标集群与依赖集群之间的响应时间以及目标集群正在使用的当前线程数,获取目标集群的可分配线程数,获取目标请求的所需线程数,目标请求所需线程数小于等于可分配线程数时,则为目标请求分配相应的线程。本实施例中,目标集群根据依赖集群所允许的最大每秒查询率来限制自身的可分配程数,即实现自身对并发请求数量进行限制,起到保护依赖集群的作用,减少对依赖集群造成的冲击,降低依赖集群出现抖动或崩溃的风险。
技术领域
本发明属于计算机应用领域,尤其涉及一种线程分配方法及装置。
背景技术
集群计算技术近年来来称为计算机界研究的一个热点。集群不但能够充分利用现有的计算资源,而且能够通过较低的软硬件代价实现较高性能的计算机系统。
在多集群同时运行的环境下,各个集群的性能存在差异。例如,高性能的集群A可能会对另外一个集群B存在依赖,而集群B的性能却低于集群A的性能。当集群A运行在高并发请求的环境中,而且集群A频繁向集群B并发请求,在这种情况下,集群A高并发的请求有可能会造成集群B的抖动或者崩溃,导致集群B不能稳定性的提供服务,最终导致灾难事故发生。
目前,为了保证集群B能够为集群A提供稳定的服务,可以增加集群B中的机器数量,这样当集群A频繁向集群B发送请求时,集群B出现抖动或者崩溃等现象的频率就会大大降低,但是这种通过增加机器资源来提高集群B性能的方法,而当集群A向集群B发送的请求并不是频繁时,增加的机器资源就会出现的浪费现象。
发明内容
本发明提供一种线程分配方法及装置,用于解决通过增加所依赖集群的机器资源,来减少所依赖的集群出现抖动或者崩溃的风险,往往会导致机器资源的浪费问题。
为了实现上述目的,本发明提供了一种线程分配方法,包括:
获取目标集群所依赖的依赖集群允许的最大每秒查询率;
在对待处理的目标请求分配线程时,获取所述目标集群与所述依赖集群之间的响应时间;
获取所述目标集群正在使用的当前线程数;
基于所述最大每秒查询率、所述响应时间以及所述当前线程数,获取目标集群的可分配线程数;
获取所述目标请求的所需线程数;
判断所述目标请求所需线程数是否小于等于所述可分配线程数;
如果所述所需线程数小于等于所述可分配线程数,则为所述目标请求分配相应的线程。
为了实现上述目的,本发明提供了一种线程分配装置,包括:
查询率获取模块,用于获取目标集群所依赖的依赖集群允许的最大每秒查询率;
时间获取模块,用于在对待处理的目标请求分配线程时,取所述目标集群与所述依赖集群之间的响应时间;
当前线程获取模块,获取所述目标集群正在使用的当前线程数;
分配线程获取模块,用于基于所述最大每秒查询率、所述响应时间以及所述当前线程数,获取目标集群的可分配线程数;
所需线程获取模块,用于获取所述目标请求的所需线程数;
判断模块,用于判断所述目标请求所需线程数是否小于等于所述可分配线程数;
分配模块,用于在所述判断模块判断出所述所需线程数小于等于所述可分配线程数时,则为所述目标请求分配相应的线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610342244.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分布式文件架构的任务处理方法和装置
- 下一篇:一种资源绑定方法和装置