批量处理监控任务的方法及装置的制造方法

文档序号:9274596阅读:369来源:国知局
批量处理监控任务的方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,具体涉及一种批量处理监控任务的方法及装置。
【背景技术】
[0002]目前,网络服务的种类和数量越来越多。在实际情况中,往往会将很多台服务器组成一个服务器集群,由该服务器集群共同为用户提供某项服务。因此,服务器的数量日益庞大,网络管理者经常需要同时对成百甚至上千台服务器进行监控,以便及时发现问题,确保服务的可靠性。
[0003]Zabbix软件是一款常用的监控软件,能够同时监控多台服务器。该软件为用户提供了友好直观的web界面,用户可以在web界面上通过鼠标点击的方式完成添加服务器、删除服务器、修改监控项等多项操作。因此,该软件以其直观性、易操作性的特点赢得了大量的用户。但是,实际情况中往往会涉及大量服务器以及诸多监控项,而zabbix软件在同时处理大量需求时的效率非常低下。例如,如果将某机房新添加的一千台服务器增加到监控列表里,用户通过zabbix软件需要点击“添加”按钮来逐一添加服务器,因而需要点击数千次鼠标才能完成所有服务器的添加工作。如果要从监控列表中删除一千台服务器,又要通过鼠标逐一点击“删除”按钮数千次才能实现。假设每添加/删除一台服务器耗时一秒钟,添加/删除一千台服务器则需耗时一千秒钟,这势必会影响监控软件的监控效率。而且,用户点击数千次鼠标的操作方式不仅容易因操作疏忽而发生错误,还容易导致“鼠标手”等健康问题。
[0004]由此可见,现有的监控软件在处理批量任务时存在着效率低下、操作繁琐且易出错的缺陷。

【发明内容】

[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的批量处理监控任务的方法及装置。
[0006]依据本发明的一个方面,提供了一种批量处理监控任务的方法,包括:
[0007]接收至少包含一种批量任务的任务请求,将其中的批量任务划分为多个子任务组;
[0008]根据预设的任务处理模板,调用监控软件处理任务请求中包含的任务,其中,各个子任务组中的任务通过对应的子进程并行处理。
[0009]依据本发明的另一方面,提供了一种批量处理监控任务的装置,包括:
[0010]接收模块,适于接收至少包含一种批量任务的任务请求,将其中的批量任务划分为多个子任务组;
[0011]处理模块,适于根据预设的任务处理模板,调用监控软件处理任务请求中包含的任务,其中,各个子任务组中的任务通过对应的子进程并行处理。
[0012]在本发明提供的批量处理监控任务的方法及装置中,能够直接接收包含批量任务的任务请求,并将其中的批量任务划分为多个子任务组;然后,根据预设的任务处理模板,调用监控软件来处理该任务请求中包含的任务,每个子任务组中的任务通过对应的子进程并行处理。由此可见,本发明中的方法及装置能够处理包含批量任务的任务请求,并将其中的任务划分为多个并行处理的子任务组,从而显著提高了任务处理效率,降低了人工操作的繁琐性、进而杜绝了在繁琐操作中可能出现的疏忽性错误。
[0013]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0014]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0015]图1示出了本发明实施例提供的批量处理监控任务的方法的流程图;
[0016]图2示出了本发明一个具体实施例提供的批量处理监控任务的方法的流程图;以及,
[0017]图3示出了本发明实施例提供的批量处理监控任务的装置的结构图。
【具体实施方式】
[0018]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0019]本发明实施例提供了一种批量处理监控任务的方法及装置,能够解决现有技术中监控软件处理批量任务时效率低下、操作繁琐且易出错的问题。
[0020]图1示出了本发明实施例提供的批量处理监控任务的方法的流程图。如图1所示,该方法包括如下步骤:
[0021]步骤SllO:接收至少包含一种批量任务的任务请求。
[0022]其中,任务请求通过命令行形式实现,并且,任务请求中包含用于指示任务类型以及任务处理对象的参数信息。具体地,任务请求中包含的任务类型可以是以下类型中的一种或多种:添加监控对象、删除监控对象、修改监控对象所对应的监控模板、以及为监控对象设置分组。另外,当任务处理对象的数量较少时,用于指示任务处理对象的参数信息可以是各个任务处理对象的标识信息;或者,当任务处理对象的数量较多时,该用于指示任务处理对象的参数信息也可以是存储有全部任务处理对象的标识信息的数据文件的文件信息。
[0023]步骤S120:将上述任务请求中的批量任务划分为多个子任务组。
[0024]其中,子任务组的个数可以根据需要灵活设定,例如,可以根据任务处理对象的数量以及CPU内核数来确定子任务组的个数。
[0025]步骤S130:根据预设的任务处理模板,调用监控软件处理任务请求中包含的任务,其中,各个子任务组中的任务通过对应的子进程并行处理。
[0026]其中,在任务处理模板中设定了各个任务类型所对应的任务处理流程,根据任务请求中包含的任务类型,选择对应的任务处理流程进行处理。在处理过程中,首先,根据子任务组的数量派生出相应数量的子进程,然后,由各个子进程并行地调用监控软件进行处理。其中,该监控软件可以是zabbix软件,该zabbix软件通过其提供的应用程序接口 API函数进行调用。
[0027]可选地,调用监控软件处理任务请求中包含的任务的步骤之后进一步包括:如果在预设时间内接收到监控软件返回的任务处理状态,则显示该任务处理状态;如果在预设时间内未接收到监控软件返回的任务处理状态,则重新调用监控软件处理任务请求中包含的任务。由此降低因网络故障所导致的任务处理失败等情况。
[0028]通过本发明中的方法能够处理包含批量任务的任务请求,并将其中的任务划分为多个并行处理的子任务组,从而显著提高了任务处理效率,降低了人工操作的繁琐性、进而杜绝了在繁琐操作中可能出现的疏忽性错误。
[0029]图2示出了本发明一个具体实施例提供的批量处理监控任务的方法的流程图。该方法的执行主体为本发明中用于批量处理监控任务的装置,该装置可通过软件编程或硬件芯片等方式实现。在该实施例中,以调用zabbix软件实现批量添加服务器为例进行说明。如图2所示,该方法包括如下步骤:
[0030]步骤S210:接收命令行形式的任务请求,获取该任务请求中包含的任务类型。
[0031]例如,该命令行形式的任务请求可以是:
[0032][rootizabbix02v/usr/local/zbxtool]#/usr/local/zbxtool/zbxtool.py hostcreate
[0033]其中,“[root@zabbix02v/usr/local/zbxtool]#
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1