一种分布式任务处理系统及其使用方法与流程

文档序号:15636286发布日期:2018-10-12 21:30阅读:144来源:国知局

本发明涉及计算机系统领域,特别是一种分布式任务处理系统及其使用方法。



背景技术:

目前工业用控制系统,也就是所谓的可程序逻辑控制系统(programmablelogiccontroller,plc),其相当于是由电脑所构成,并且其可搭配不同的输入/输出模块(i/omodule)来进行接收(输入)及发送(输出)多种型态的电气或电子信号,以达到通过数字或模拟输入/输出模块来控制机器设备、制造处理流程及其它控制模块的电子系统。

而在上述控制系统的架构上,由于公知的输入/输出模块并没有设计任何处理器而仅为硬件线路,因此是采用所谓的集中式处理架构来设计,以利用电脑的中央处理器来整合及控制所有连接的输入/输出模块。具体来讲,电脑必须针对所有输入/输出模块来安装特定的驱动程序,使中央处理器所搭配的固件程序得以支持输入/输出模块,以在整个控制系统进行运作时,由电脑的中央处理器来先扫描目前所有连接的输入/输出模块,并完成驱动联机。接着中央处理器再依控制操作程序的需求而来询问所欲控制的输入/输出模块,并要求回传所需数据。最后,中央处理器再针对输入/输出模块所回传的数据来进行运算处理,以完成控制系统的控制操作程序。

然而,随着电脑所支持的输入/输出模块越来越多,中央处理器所搭配的固件程序也就随着驱动程序的安装而变得越来越庞大且复杂。而另一方面,中央处理器也由于必须肩负运算所有输入/输出模块所回传的数据,以致于整体运算量变得十分庞大,进而导致整个控制系统的效率会大幅地降低。



技术实现要素:

本发明的目的在于提供一种分布式任务处理系统及其使用方法,以任务处理集群解决单点cpu占用率高、io占用率高且任务无法保证准时高效执行的缺陷。

为实现上述技术目的,达到上述技术效果,本发明公开了一种分布式任务处理系统,包括了任务分发组件;任务处理系统包括了任务分布组件、分布式执行组件、任务查看组件和管理web组件,任务查看组件和管理web组件用于查看和配置任务信息,任务分布组件通过数据连接管理web组件里面的配置将任务分发到不同调度策略的分布式执行组件中执行。

其中,任务分布组件基于mesos框架,用于设置任务的执行时间、次数、cpu占用百分比、内存大小、业务参数,并将任务分发到不同的job服务器去执行。

优选的,任务分发到不同的job服务器采用单任务分发或多任务批量分发,发送过程会根据job服务器的数量及资源占用情况进行均衡发送。

其中,分布式执行组件基于elastic-job框架,基于zookeeper注册中心,集中管理和协调分布式作业的状态,分配和监听。

优选的,分布式作业的分配具体为将一个任务拆分为n个独立的任务子项,并由分布式的服务器并行执行各自分配到的分片项。

其中,任务查看组件基于elastic-job的开放接口,实现任务查看组件,并实时监测任务的执行状态,包括是否已分配物理机,是否已经执行完成,是否发生错误。

其中,管理web组件用b/s架构,基于mysql数据库和开放api实现任务管理界面,根据任务需求去配置任务、删除任务、执行任务、暂停任务,查看任务分布情况、执行状态和日志,实时查看job服务器运行状态。

本发明还公开了一种分布式任务处理系统的使用方法,采用上述处理系统,具体包括以下步骤:

任务配置:在任务配置界面,配置任务执行需要的参数,执行时间、次数、cpu占用百分比、内存大小、业务参数;

任务分发:把创建的任务分发到job执行服务器,包括单任务分发或多任务批量分发,分发过程根据job服务器的数量及资源占用情况进行选择发送,使服务器资源负载均衡;

任务执行:基于zookeeper注册中心,注册的任务根据分配的服务器去执行,任务的执行包括同步执行或拆分执行,拆分执行为将任务拆分为n个独立的任务子项,由分布式的服务器并行执行各自分配到的分片项;

任务查看:实时查看任务的执行状态,并实时监测任务的执行状态,包括是否已分配物理机,是否已经执行完成,是否发生错误。

优选的,还包括有任务管理,任务管理:对于已分发的任务可以进行人工干预,包括暂停任务、重启任务、删除任务、重新分发任务。

优选的,还包括有服务器监控,服务器监控:监控job服务器资源的利用情况,包括cpu使用率、内存剩余情况、磁盘io、磁盘剩余空间,并根据监控情况,增减服务器数量。

本发明具有以下有益效果:

1.本发明通过流程优化设计,采用智能分布式任务分布组件,可以根据服务器运行情况,选用同步执行或拆分执行,实现服务器的资源负载均衡。

2.经过合理设计的分布式任务处理系统,任务处理集群解决单点cpu占用率高、io占用率高且任务无法保证准时高效执行的缺陷。

附图说明

图1为本发明的逻辑示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。

实施例1

如图1所示,本发明公开了一种分布式任务处理系统,包括了任务分发组件;任务处理系统包括了任务分布组件、分布式执行组件、任务查看组件和管理web组件,任务查看组件和管理web组件用于查看和配置任务信息,任务分布组件通过数据连接管理web组件里面的配置将任务分发到不同调度策略的分布式执行组件中执行。

其中,任务分布组件基于mesos框架,用于设置任务的执行时间、次数、cpu占用百分比、内存大小、业务参数,并将任务分发到不同的job服务器去执行。任务分发到不同的job服务器采用单任务分发或多任务批量分发,发送过程会根据job服务器的数量及资源占用情况进行均衡发送。

其中,分布式执行组件基于elastic-job框架,基于zookeeper注册中心,集中管理和协调分布式作业的状态,分配和监听。分布式作业的分配具体为将一个任务拆分为n个独立的任务子项,并由分布式的服务器并行执行各自分配到的分片项。

其中,任务查看组件基于elastic-job的开放接口,实现任务查看组件,并实时监测任务的执行状态,包括是否已分配物理机,是否已经执行完成,是否发生错误。

其中,管理web组件用b/s架构,基于mysql数据库和开放api实现任务管理界面,根据任务需求去配置任务、删除任务、执行任务、暂停任务,查看任务分布情况、执行状态和日志,实时查看job服务器运行状态。

本发明还公开了一种分布式任务处理系统的使用方法,采用上述处理系统,具体包括以下步骤:

任务配置:在任务配置界面,配置任务执行需要的参数,执行时间、次数、cpu占用百分比、内存大小、业务参数;

任务分发:把创建的任务分发到job执行服务器,包括单任务分发或多任务批量分发,分发过程根据job服务器的数量及资源占用情况进行选择发送,使服务器资源负载均衡;

任务执行:基于zookeeper注册中心,注册的任务根据分配的服务器去执行,任务的执行包括同步执行或拆分执行,拆分执行为将任务拆分为n个独立的任务子项,由分布式的服务器并行执行各自分配到的分片项;

任务查看:实时查看任务的执行状态,并实时监测任务的执行状态,包括是否已分配物理机,是否已经执行完成,是否发生错误。

任务管理:对于已分发的任务可以进行人工干预,包括暂停任务、重启任务、删除任务、重新分发任务。

服务器监控:监控job服务器资源的利用情况,包括cpu使用率、内存剩余情况、磁盘io、磁盘剩余空间,并根据监控情况,增减服务器数量。

本发明通过采用智能分布式任务分布组件,可以根据服务器运行情况,选用同步执行或拆分执行,实现服务器的资源负载均衡,任务处理集群解决单点cpu占用率高、io占用率高且任务无法保证准时高效执行的缺陷。

实施例2

本实施例以实施例1为基础,公开一种分布式任务处理系统的使用方法,具体实施内容如下:

订单从mysql同步到elasticsearch的任务,首先在任务配置页面配置读取mysql数据库的链接地址、表名、订单下单时间范围、es地址、index名称等参数,设置任务立即执行且仅执行一次并创建任务;然后发布该任务,任务注册的zookeeper中心,并被分配到job_server1服务器,在web管理组件页面可以看到该任务执行状态为正在执行,cpu占用为0.2,内存使用300m;十分钟后查看任务状态为执行成功,在es中查询订单,符合条件的订单已同步至es中。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1