[发明专利]一种服务端信息采集任务的负载均衡方法及系统在审
申请号: | 201710601989.5 | 申请日: | 2017-07-21 |
公开(公告)号: | CN107357662A | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 杨振庚 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48;G06F9/54 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 刘继枝 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务端 信息 采集 任务 负载 均衡 方法 系统 | ||
技术领域
本发明涉及计算机服务监控系统软件技术领域,具体地说是一种服务端信息采集任务的负载均衡方法。
背景技术
在IT环境中,服务监控系统有着很重要的角色,能够帮助系统的管理人员实时查看系统状态,甚至分析系统可能存在的隐患。服务的监控系统即服务状态的采集、加工、展示的过程。在此过程中,信息的采集作为系统的首个环节,起着关键的作用。监控系统作为主服务的辅助管理系统,其自身应该具有较高的运行稳定性,以及较低的性能损耗。因而在监控系统信息处理过程中,应尽量做到高稳定、低资源占用的特点。
现有技术中,当系统中需要采集的信息较少时,可通过启动一个后台进程,一次性返回所有信息。随着采集量的增加,一个后台服务可能无法满足要求,这样,可以将任务切分,启动多个后台进程,每个进程负责部分/一项采集任务,采集后分别向信息处理模块反馈。后台通过启动固定数量的进程,每个进程负责定时执行一项/几项任务,每次执行完毕,将采集到的信息通过消息队列获取其他TCP链接方式发送至信息处理模块。
虽然这种方式简单直接,但当每个进程负责部分任务时,很难确定某个进程负责采集那些信息,因为采集任务的计算复杂度的差异;所以很可能出现某些进程CPU占用率很高,而一些进程CPU占用率很低的情景。这样,采集模块就存在稳定性问题:一旦CPU占用率高的进程因CPU时间片不足而出现信息采集较大延迟,对数据处理模块将有很大的影响。当每个进程负责一项任务时,如果任务数量较大,不仅造成系统的资源消耗大,而且因为采集进程通常资源消耗较少,这样每个任务单独占用一个进程明显不合理;因而并不是很好的解决办法。
发明内容
本发明的技术任务是提供一种服务端信息采集任务的负载均衡方法。
本发明的技术任务是按以下方式实现的,该服务端信息采集任务的负载均衡方法通过创建任务池、创建任务管理器、创建进程管理器以及创建消息队列组件来实现;
所述的任务池用以存储需要采集的信息的项目;
所述的任务管理器负责管理信息采集任务,并提供信息采集任务添加或删除行为,以及将添加或删除行为通知进程管理器的功能;
所述的进程管理器负责进程池的管理,并将具体的任务依据进程的负载情况分发给具体某一进程;进程负载整体较高时,创建新的进程以提高稳定性;
所述的消息队列组件用来以消息队列形式实现进程管理器与任务管理器间的通信;以发送消息组播的形式实现进程管理器向进程池中的进程通信。
所述的任务池是指创建存储信息采集项的存储位置,以项目名称为存储方式,存储以关系数据库或内存形式。
所述的存储信息包括采集任务名称及采集时间间隔位置的相关参数。
所述的任务管理器用以管理所述的任务池的任务;当有任务添加或删除时,所述的任务管理器完成所述的任务池操作后,通过消息队列组件将添加或删除的任务发送给所述的进程管理器。
所述的任务添加是指添加系统中已提供的信息采集函数库的采集任务,添加任务时,需查询采集函数库中是否存在对该任务的支持。
所述的进程管理器负责进程池中进程的启动或关闭,进程状态的检查,任务的分配调度;当新的任务产生时,依据当前进程中是否存在CPU平均占用率小于80%的进程,来决定是否创建新进程;若不需创建新进程,决定将该任务分配给现存的哪一个进程。
所述的进程管理器负责任务的分配调度时,将任务分成不同的组,再依据任务的参数,以及系统提供的支撑任务的函数库,启动信息采集进程,并记录进程ID,进程执行过程中,所述的进程管理器每隔0.5-2分钟查看所有信息采集进程的健康状态和CPU占用率状况;检查结果更新到进程状态信息中,所述的进程管理器存储每个进程近3-7次的CPU占用情况状态值和此3-7个状态值的均值;进程出现死掉的情况时,所述的进程管理器依据记录的该进程所负责的任务,将重新分配或创建新进程来执行该任务。
所述的消息队列组件行为步骤如下:
当有新的任务添加进所述的任务池时,所述的任务管理器通知所述的进程管理器,所述的进程管理器依据现有进程的状态,将该任务以广播形式通知各进程,广播内容包括分发的进程ID信息及任务信息;进程获取自身的进程ID,检查是否与接收到消息中的ID信息相同,若相同,将分配的任务添加到执行任务列,并向所述的进程管理器发送成功信息;若不相同,抛弃该信息,不做任何处理。
一种服务端信息采集任务的负载均衡系统主要由任务池、任务管理器、进程管理器以及消息队列组件构成。
所述的任务池用以存储需要采集的信息的项目;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710601989.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带辅助动力的新能源汽车
- 下一篇:基于myRIO平台的声控智能车
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置