[发明专利]一种插件升级检测任务的负载均衡方法及装置有效
申请号: | 201210027510.9 | 申请日: | 2012-02-08 |
公开(公告)号: | CN103248644A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 孙辉;吴祖榕;林叶辉;罗君 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/445 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;陈亮 |
地址: | 518028 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 插件 升级 检测 任务 负载 均衡 方法 装置 | ||
技术领域
本发明提供了一种插件升级检测任务的负载均衡方法及装置,属于计算机系统技术领域。
背景技术
IM(Instant Messenger,即时通讯)工具发展到今天已经被越来越多的网络用户所接受,并成为网络用户必不可少的通讯工具。而随着IM软件的普及,早期单一的聊天功能已经不能满足用户多样化的需求,越来越多的公司开始重视在IM软件上加载各种收费或者免费的互联网服务。因此,现有的IM软件上往往会承载了大量的业务功能和入口,如会员、等级、邮箱、空间等功能。这些业务功能和入口成为IM软件的插件,以二级制动态链接库DLL的形式存在。
现有的IM软件的插件普遍采用与相应的IM软件整合的形式发布,而网络用户却并不会随时更新IM软件的版本,因此导致新的IM软件的插件并不能随着新版本IM软件的发布而被网络用户使用。现有技术提出了一种插件升级检测方法,通过自动监控插件所依赖的IM软件的导出函数、接口、枚举值和结构体来保证插件实现跨版本升级能力。该检测方法主要包括扫描和比较这两个关键步骤,其中扫描部分是最主要的耗时点,为了减少耗时开销,通常以Project为基本单位,使多台物理机器一起协同完成扫描任务。其中的Project是微软Visual Studio可视化编辑器的一种代码组织方式,由若干文件组成。
但由于IM软件解决方案下的各个Project包含的文件数目不一样,因此扫描耗时也各不相同,整个扫描过程总耗时取决于最后一个Project任务的耗时,如果正好某CPU取得的最后一个任务包括的插件工程非常复杂,文件数目特别多,将会导致整个扫描过程耗时较长。
发明内容
本发明为解决现有的IM软件的插件升级检测过程中,因为扫描任务没有被均衡分配到每个CPU上导致的扫描过程耗时较长的问题,进而提供一种插件升级检测任务的负载均衡方法及装置。
本发明的目的是通过以下技术方案实现的:
一种插件升级检测任务的负载均衡方法,包括:
获取每个Project的文件数目,并以文件数量最少的Project为基准计算所有Project的权值;
根据启动的Client进程数获得所有Project的平均权值,并按所述平均权值为每个所述启动的Client分配扫描任务。
该方法还包括以下技术特征中的至少一种:
每当Client进程执行完一个Project的扫描任务后,从所有Project的权值中减掉执行完的Project的扫描任务的权值后,重新计算剩余Project的平均权值;
为某个Client进程设定一个阈值,若所有Project的平均权值大于所述阈值时,为所述Client进程分配权值较高的扫描任务;若所有Project的平均权值小于所述阈值时,为所述Client进程分配权值与所述Client进程剩余需要执行的扫描任务的平均权值接近的扫描任务;
当有新的Client进程启动时,重新计算剩余Project的平均权值。
一种插件升级检测任务的负载均衡装置,包括:
权值计算模块,用于获取每个Project的文件数目,并以文件数量最少的Project为基准计算所有Project的权值;
任务分配模块,用于每当Client进程执行完一个Project的扫描任务后,从所有Project的权值中减掉执行完的Project的扫描任务的权值后,重新计算剩余Project的平均权值。
该装置还包括以下模块中的至少一种:
第一平均权值计算模块,用于每当Client进程执行完一个Project的扫描任务后,从所有Project的权值中减掉执行完的Project的扫描任务的权值后,重新计算剩余Project的平均权值;
阈值分配模块,用于为某个Client进程设定一个阈值,若所有Project的平均权值大于所述阈值时,为所述Client进程分配权值较高的扫描任务;若所有Project的平均权值小于所述阈值时,为所述Client进程分配权值与所述Client进程剩余需要执行的扫描任务的平均权值接近的扫描任务;
第二平均权值计算模块,用于当有新的Client进程启动时,重新计算剩余Project的平均权值。
由上述本发明提供的技术方案可以看出,通过计算Project的权值,将扫描任务合理均衡地分配到各个物理CPU上,以优化CPU的执行速度,从而更好的支持插件升级的快速迭代需求。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210027510.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种直升机尾减速器整流罩
- 下一篇:一种可卸密封口盖