(12)发明专利申请
(10)申请公布号 CN 108733470 A(43)申请公布日 2018.11.02
(21)申请号 201710278266.6(22)申请日 2017.04.25
(71)申请人 深圳市优网科技有限公司
地址 518057 广东省深圳市南山区粤海街
道科发路3号长城电脑大厦2号办公楼2层南(72)发明人 周莅涛 谢绍光 秦伟 陈天立
陈立志 (74)专利代理机构 北京集佳知识产权代理有限
公司 11227
代理人 王宝筠(51)Int.Cl.
G06F 9/48(2006.01)G06F 9/50(2006.01)
(54)发明名称
一种分布式任务调度系统及方法(57)摘要
本发明公开了一种分布式任务调度系统及
调度模块、数据存储方法,该系统包括提交模块、
模块、执行模块和监视模块,所述分布式任务调度方法为:监视模块获取执行模块的使用信息;提交模块将文件解析任务提交给调度模块后,调度模块为每一个文件解析任务生成与之对应任务标识,并将文件解析任务放入到数据存储模块中进行存储,获取监视模块中存储的执行模块的使用信息,得到可用的执行模块,将文件解析任务分别发送至所述执行模块;执行模块对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。通过本发明解决了任务执行分发时的低实时性和用户感知较低的问题。
权利要求书2页 说明书6页 附图2页
CN 108733470 ACN 108733470 A
权 利 要 求 书
1/2页
1.一种分布式任务调度系统,其特征在于,该系统包括:提交模块、调度模块、数据存储模块、执行模块和监视模块,其中,
所述监视模块,用于对所述执行模块进行监视,获取所述执行模块的使用信息;所述提交模块,用于将文件解析任务提交给所述调度模块;所述调度模块,用于接收到文件解析任务后,为每一个文件解析任务生成与之对应任务标识,并将所述文件解析任务放入到数据存储模块中进行存储,获取所述监视模块中存储的执行模块的使用信息,得到可用的执行模块,将所述文件解析任务分别发送至所述执行模块;
所述数据存储模块,用于存储所述文件解析任务的相关数据;所述执行模块,用于接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。
2.根据权利要求1所述的系统,其特征在于,所述执行模块包括存储单元和询问单元,在所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块之后,
所述存储单元,用于当所述调度模块出现故障时,存储所述文件解析任务和所述文件解析任务对应的执行结果;
所述询问单元,用于当将执行结果反馈给所述调度模块时,询问所述调度模块是否有新的文件解析任务需要执行。
3.根据权利要求1所述的系统,其特征在于,所述调度模块包括日志生成单元和判断单元,当所述执行模块将执行结果反馈给所述调度模块后,
所述日志生成单元,用于根据所述执行结果生成任务执行日志,并将所述任务执行日志存储至所述数据存储模块;
所述判断单元,用于根据所述执行结果判断是否要将所述执行结果反馈给所述提取模块,如果否,则将所述执行结果删除,如果是,则将所述执行结果发送至所述提取模块。
4.根据权利要求3所述的系统,其特征在于,所述提取模块还包括处理单元,当所述判断单元将所述执行结果发送至所述提取模块时,
所述处理单元,用于根据所述执行结果进行相应的响应。5.一种分布式任务调度方法,其特征在于,所述方法适用于权利要求1-4中所述的任一项的分布式调度系统,所述分布式调度系统包括提交模块、调度模块、数据存储模块、执行模块和监视模块,该方法包括:
所述监视模块对所述执行模块进行监视,获取所述执行模块的使用信息;所述提交模块将文件解析任务提交给所述调度模块;所述调度模块接收到文件解析任务后,为每一个文件解析任务生成与之对应任务标识,并将所述文件解析任务放入到数据存储模块中进行存储,获取所述监视模块中存储的执行模块的使用信息,得到可用的执行模块,将所述文件解析任务分别发送至所述执行模块;
所述数据存储模块存储所述文件解析任务的相关数据;所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。
2
CN 108733470 A
权 利 要 求 书
2/2页
6.根据权利要求5所述的方法,其特征在于,所述执行模块包括存储单元和询问单元,其中,在所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块之后,该方法包括:
当所述调度模块出现故障时,所述存储单元存储所述文件解析任务和所述文件解析任务对应的执行结果;
当将执行结果反馈给所述调度模块时,所述询问单元询问所述调度模块是否有新的文件解析任务需要执行。
7.根据权利要求5所述的方法,其特征在于,所述调度模块包括日志生成单元和判断单元,当所述执行模块将执行结果反馈给所述调度模块后,该方法包括:
所述日志生成单元根据所述执行结果生成任务执行日志,并将所述任务执行日志存储至所述数据存储模块;
所述判断单元根据所述执行结果判断是否要将所述执行结果反馈给所述提取模块,如果否,则将所述执行结果删除,如果是,则将所述执行结果发送至所述提取模块。
8.根据权利要求7所述的方法,其特征在于,所述提取模块还包括处理单元,当所述判断单元将所述执行结果发送至所述提取模块时,该方法还包括:
所述处理单元根据所述执行结果进行相应的响应。
3
CN 108733470 A
说 明 书
一种分布式任务调度系统及方法
1/6页
技术领域
[0001]本发明涉及任务调度技术领域,特别是涉及一种基于硬件资源的分布式任务调度系统及方法.
背景技术
[0002]最近几年,随着移动互联网技术的高速发展和网络的不断升级,相应的网络用户的数量也逐渐增多并且网络设备不断升级。这样用户在网络通信过程中,随之产生的话单和LET数据等也成倍增加,运行商服务器上的文件数量也会相应地增长。[0003]针对服务器上的大而多的数据文件,现有的方式是单台服务器开启多个线程对同类型的文件进行解析,并通过线程对文件进行分发解析。但是,这种方式会造成单台服务器资源负载过高以及解析不及时等问题,从而降低了用户的认可度和感知度。如何解决上述问题,已成为目前研究的重点。发明内容
[0004]针对于上述问题,本发明提供一种分布式任务调度系统和方法,解决了任务执行的低实时性和用户感知较低的问题。[0005]为了实现上述目的,根据本发明的第一方面,提供了一种分布式任务调度系统,该系统包括:提交模块、调度模块、数据存储模块、执行模块和监视模块,其中,[0006]所述监视模块,用于对所述执行模块进行监视,获取所述执行模块的使用信息;[0007]所述提交模块,用于将文件解析任务提交给所述调度模块;[0008]所述调度模块,用于接收到文件解析任务后,为每一个文件解析任务生成与之对应任务标识,并将所述文件解析任务放入到数据存储模块中进行存储,获取所述监视模块中存储的执行模块的使用信息,得到可用的执行模块,将所述文件解析任务分别发送至所述执行模块;
[0009]所述数据存储模块,用于存储所述文件解析任务的相关数据;[0010]所述执行模块,用于接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。[0011]优选的,所述执行模块包括存储单元和询问单元,在所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块之后,[0012]所述存储单元,用于当所述调度模块出现故障时,存储所述文件解析任务和所述文件解析任务对应的执行结果;[0013]所述询问单元,用于当将执行结果反馈给所述调度模块时,询问所述调度模块是否有新的文件解析任务需要执行。[0014]优选的,所述调度模块包括日志生成单元和判断单元,当所述执行模块将执行结果反馈给所述调度模块后,[0015]所述日志生成单元,用于根据所述执行结果生成任务执行日志,并将所述任务执
4
CN 108733470 A
说 明 书
2/6页
行日志存储至所述数据存储模块;[0016]所述判断单元,用于根据所述执行结果判断是否要将所述执行结果反馈给所述提取模块,如果否,则将所述执行结果删除,如果是,则将所述执行结果发送至所述提取模块。[0017]优选的,所述提取模块还包括处理单元,当所述判断单元将所述执行结果发送至所述提取模块时,
[0018]所述处理单元,用于根据所述执行结果进行相应的响应。[0019]根据本发明的第二方面,提供了一种分布式任务调度方法,该方法适用于本发明第一方面提供的分布式任务调度系统,所述分布式调度系统包括提交模块、调度模块、数据存储模块、执行模块和监视模块,该方法包括:[0020]所述监视模块对所述执行模块进行监视,获取所述执行模块的使用信息;[0021]所述提交模块将文件解析任务提交给所述调度模块;[0022]所述调度模块接收到文件解析任务后,为每一个文件解析任务生成与之对应任务标识,并将所述文件解析任务放入到数据存储模块中进行存储,获取所述监视模块中存储的执行模块的使用信息,得到可用的执行模块,将所述文件解析任务分别发送至所述执行模块;
[0023]所述数据存储模块存储所述文件解析任务的相关数据;[0024]所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。[0025]优选的,所述执行模块包括存储单元和询问单元,其中,在所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块之后,该方法包括:
[0026]当所述调度模块出现故障时,所述存储单元存储所述文件解析任务和所述文件解析任务对应的执行结果;
[0027]当将执行结果反馈给所述调度模块时,所述询问单元询问所述调度模块是否有新的文件解析任务需要执行。[0028]优选的,所述调度模块包括日志生成单元和判断单元,当所述执行模块将执行结果反馈给所述调度模块后,该方法包括:
[0029]所述日志生成单元根据所述执行结果生成任务执行日志,并将所述任务执行日志存储至所述数据存储模块;
[0030]所述判断单元根据所述执行结果判断是否要将所述执行结果反馈给所述提取模块,如果否,则将所述执行结果删除,如果是,则将所述执行结果发送至所述提取模块。[0031]优选的,所述提取模块还包括处理单元,当所述判断单元将所述执行结果发送至所述提取模块时,该方法还包括:
[0032]所述处理单元根据所述执行结果进行相应的响应。[0033]相较于现有技术,本发明的分布式任务调度系统包括了提交模块、调度模块、数据存储模块、执行模块和监视模块,其中,通过提交模块对服务器上的数据文件进行扫描,将文件解析任务提交给调度模块;所述调度模块通过监视模块获取到所述执行模块的使用信息,并将文件解析任务发送到负载相对较少的可用的执行模块上,并将文件解析任务的相关数据存储到数据存储模块上;所述执行模块对所述任务进行相应的执行处理,并将执行
5
CN 108733470 A
说 明 书
3/6页
结果反馈给所述调度模块。由于提交模块和任务执行模块都与所述的调度模块进行交互连接,可以实现负载均衡,并且调度模块根据执行模块的使用信息进行任务分发避免了任务分发时要到的堵塞问题,这样可以提高分布式任务分发的响应时间和响应效率,提高用户的感知和认可。进而解决了任务执行分发时的实时性和用户感知较低的问题。附图说明
[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0035]图1为本发明实施例一提供的一种分布式任务调度系统的结构示意图;[0036]图2为本发明实施例二提供的一种分布式任务调度方法的流程示意图。
具体实施方式
[0037]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。[0039]实施例一
[0040]参见图1为本发明实施例一提供的一种分布式任务调度系统的结构示意图,其中,分布式任务调度系统包括:提交模块1、调度模块2、数据存储模块3、执行模块4和监视模块5,
[0041]所述监视模块5,用于对所述执行模块进行监视,获取所述执行模块的使用信息;[0042]具体的,所述监视模块主要是用于收集所述系统中各个节点的监控信息,包括执行模块的使用信息等。[0043]所述提交模块1,用于将文件解析任务提交给所述调度模块;[0044]其中,所述提交模块对服务器上的数据文件进行扫描,并建立实时文件解析特务提交给所述调度模块,同时在执行模块对所述任务执行处理后,并接收任务执行反馈结构。[0045]当所述提交模块在提交文件解析任务给调度模块时,如果所述调度模块不存在或者提交失败,则所述文件解析任务直接返回至所述提交模块的当前应用程序接口,当提交失败时,可以先将文件解析任务进行存储,然后待调度模块可用的时候,再将所述任务进行提交。
[0046]所述调度模块2,用于接收到文件解析任务后,为每一个文件解析任务生成与之对应任务标识,并将所述文件解析任务放入到数据存储模块中进行存储,获取所述监视模块中存储的执行模块的使用信息,得到可用的执行模块,将所述文件解析任务分别发送至所
6
CN 108733470 A
说 明 书
4/6页
述执行模块;
[0047]具体的,所述调度模块的主要作用是进行相应的任务调度,并将相应的任务反馈给执行模块,调度模块在接收到提交模块提交的文件解析任务后,生成一个唯一的任务标识与所接受到的每个文件解析任务形成一一对应的关系,并将所述文件解析任务存储到所述数据存储模块中,然后通过对所述监视模块获取到的信息进行解析得到可用的执行模块后,按照优先级顺序将优先级最大的任务最先提交给所述的可用的执行模块,并且所选择的可用的执行模块为负载最小的执行模块,这样可以实现负载均衡,提高任务分发的响应速度。并且调度模块之所以获得执行模块的使用信息,也是为了当执行模块出现故障后,可以将该执行模块未完成的任务重新分配给其他的执行模块。[0048]所述数据存储模块3,用于存储所述文件解析任务的相关数据;[0049]所述执行模块4,用于接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。[0050]相应的,所述执行模块4包括存储单元41和询问单元42,在所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块之后,
[0051]所述存储单元41,用于当所述调度模块出现故障时,存储所述文件解析任务和所述文件解析任务对应的执行结果;[0052]所述询问单元42,用于当将执行结果反馈给所述调度模块时,询问所述调度模块是否有新的文件解析任务需要执行。[0053]可以理解的是,设置存储单元的主要目的是当调度模块出现故障时,可以对所述文件解析任务进行存储,以便于当所述调度模块可用时,将任务进行重新分发。[0054]相应的,所述调度模块2包括日志生成单元21和判断单元22,当所述执行模块将执行结果反馈给所述调度模块后,[0055]所述日志生成单元21,用于根据所述执行结果生成任务执行日志,并将所述任务执行日志存储至所述数据存储模块;[0056]所述判断单元22,用于根据所述执行结果判断是否要将所述执行结果反馈给所述提取模块,如果否,则将所述执行结果删除,如果是,则将所述执行结果发送至所述提取模块。[0057]相应的,所述提取模块1还包括处理单元11,当所述判断单元将所述执行结果发送至所述提取模块时,
[0058]所述处理单元11,用于根据所述执行结果进行相应的响应。[0059]通过本发明实施例一公开的技术方案,该分布式任务调度系统包括了提交模块、调度模块、数据存储模块、执行模块和监视模块,其中,通过提交模块对服务器上的数据文件进行扫描,将文件解析任务提交给调度模块;所述调度模块通过监视模块获取到所述执行模块的使用信息,并将文件解析任务发送到负载相对较少的可用的执行模块上,并将文件解析任务的相关数据存储到数据存储模块上;所述执行模块对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。由于提交模块和任务执行模块都与所述的调度模块进行交互连接,可以实现负载均衡,并且调度模块根据执行模块的使用信息进行任务分发避免了任务分发时要到的堵塞问题,这样可以提高分布式任务分发的响应时间和响应
7
CN 108733470 A
说 明 书
5/6页
效率,提高用户的感知和认可。进而解决了任务执行分发时的实时性和用户感知较低的问题。
[0060]实施例二
[0061]与本发明实施例一公开的分布式任务调度系统相对应,本发明的实施例二还提供了一种分布式任务调度方法,参见图2为本发明实施例二所提供的一种分布式任务调度方法,该方法适用于本发明实施例中提供的一种分布式任务调度系统,所述分布式调度系统包括提交模块、调度模块、数据存储模块、执行模块和监视模块,该方法包括以下步骤:[0062]S11、所述监视模块对所述执行模块进行监视,获取所述执行模块的使用信息;[0063]S12、所述提交模块将文件解析任务提交给所述调度模块;[00]S13、所述调度模块接收到文件解析任务后,为每一个文件解析任务生成与之对应任务标识,并将所述文件解析任务放入到数据存储模块中进行存储,获取所述监视模块中存储的执行模块的使用信息,得到可用的执行模块,将所述文件解析任务分别发送至所述执行模块;[0065]S14、所述数据存储模块存储所述文件解析任务的相关数据;[0066]S15、所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。[0067]具体的,所述执行模块包括存储单元和询问单元,其中,在所述执行模块接收到所述文件解析任务后,对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块之后,该方法包括:
[0068]当所述调度模块出现故障时,所述存储单元存储所述文件解析任务和所述文件解析任务对应的执行结果;
[0069]当将执行结果反馈给所述调度模块时,所述询问单元询问所述调度模块是否有新的文件解析任务需要执行。[0070]相应的,所述调度模块包括日志生成单元和判断单元,当所述执行模块将执行结果反馈给所述调度模块后,该方法包括:
[0071]所述日志生成单元根据所述执行结果生成任务执行日志,并将所述任务执行日志存储至所述数据存储模块;
[0072]所述判断单元根据所述执行结果判断是否要将所述执行结果反馈给所述提取模块,如果否,则将所述执行结果删除,如果是,则将所述执行结果发送至所述提取模块。[0073]对应的,所述提取模块还包括处理单元,当所述判断单元将所述执行结果发送至所述提取模块时,该方法还包括:
[0074]所述处理单元根据所述执行结果进行相应的响应。[0075]在本发明的实施例二中,通过提交模块对对服务器上的数据文件进行扫描,将文件解析任务提交给调度模块;所述调度模块接收到任务后,生成与之对应的任务标识,然后对其进行存储,这样做可以实现执行模块不可用时,对任务进行重新分发,并且通过监视模块获取到所述执行模块的使用信息,并将文件解析任务发送到负载相对较少的可用的执行模块上,并将文件解析任务的相关数据存储到数据存储模块上;所述执行模块对所述任务进行相应的执行处理,并将执行结果反馈给所述调度模块。由于提交模块和任务执行模块都与所述的调度模块进行交互连接,可以实现负载均衡,并且调度模块根据执行模块的使
8
CN 108733470 A
说 明 书
6/6页
用信息进行任务分发避免了任务分发时要到的堵塞问题,这样可以提高分布式任务分发的响应时间和响应效率,提高用户的感知和认可。进而解决了任务执行分发时的实时性和用户感知较低的问题。
[0076]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0077]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
9
CN 108733470 A
说 明 书 附 图
图1
10
1/2页
CN 108733470 A
说 明 书 附 图
2/2页
图2
11
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务