本申请提供一种分布式任务处理系统及方法。该分布式任务处理系统包括任务客户端、主节点以及与主节点连接的多个虚拟节点,每个虚拟节点包括至少一个处理节点,任务客户端与主节点通信连接;任务客户端,用于向主节点提交待处理任务;主节点,用于当检测到任务客户端的待处理任务后,确定与待处理任务存在任务依赖关系的上游任务、以及检测上游任务的执行结果;主节点,还用于将待处理任务分配至虚拟节点;虚拟节点,用于从主节点读取执行结果;虚拟节点,还用于当上游任务执行完成时,调用虚拟节点中的处理节点根据执行结果完成待处理任务的处理。本申请中保证了分布式系统中任务间的精确地依赖,避免了分布式系统中的任务空跑现象。现象。现象。
【技术实现步骤摘要】
分布式任务处理系统及方法
[0001]本申请涉及分布式
,具体涉及一种分布式任务处理系统及方法。
技术介绍
[0002]随着大数据时代的到来,开始诞生了以数据为驱动的业务处理系统,例如分布式系统。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。分布式系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。
[0003]随着数据规模呈指数增长,企业中运行的业务伴随着计算密集、业务复杂等问题,现有的分布式系统在面对当前的复杂作业管理仍有一些局限性。比如,当客户端有代码侵入时,分布式系统中任务间不能精确地依赖,而导致了任务空跑的现象。
技术实现思路
[0004]本申请提供一种分布式任务处理系统及方法,旨在解决分布式系统中任务间不能精确地依赖而导致的任务空跑问题。
[0005]第一方面,本申请提供一种分布式任务处理系统,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述任务客户端与所述主节点通信连接;
[0006]所述任务客户端,用于向所述主节点提交待处理任务;
[0007]所述主节点,用于当检测到任务客户端的待处理任务后,确定与所述待处理任务存在任务依赖关系的上游任务、以及检测所述上游任务的执行结果;
[0008]所述主节点,还用于将所述待处理任务分配至所述虚拟节点;
[0009]所述虚拟节点,用于从所述主节点读取所述执行结果;
[0010]所述虚拟节点,还用于当所述上游任务执行完成时,调用所述虚拟节点中的处理节点根据所述执行结果完成所述待处理任务的处理。
[0011]在本申请一种可能的实现方式中,所述分布式任务处理系统还包括文件中心和数据库;
[0012]所述分布式任务处理系统,用于当检测到任务客户端的待处理任务后,将所述待处理任务的执行文件存储至所述分布式任务处理系统的文件中心,将所述待处理任务的任务元数据持久化至所述分布式任务处理系统的数据任务队列中;
[0013]所述虚拟节点,还用于从所述数据任务队列中获取所述任务元数据;根据所述任务元数据从所述文件中心读取所述执行文件;根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
[0014]在本申请一种可能的实现方式中,所述主节点还用于:获取所述待处理任务所在的目标任务链,将所述目标任务链反馈至所述任务客户端;
[0015]所述任务客户端,用于显示所述目标任务链。
[0016]在本申请一种可能的实现方式中,所述主节点还用于:获取所述待处理任务的驱动状态,并将所述驱动状态反馈至所述任务客户端;
[0017]所述任务客户端,还用于显示所述驱动状态。
[0018]在本申请一种可能的实现方式中,所述主节点还用于:检测多个所述虚拟节点的空闲度;根据多个所述虚拟节点的空闲度,动态调整多个所述虚拟节点的的工作节点数量。
[0019]在本申请一种可能的实现方式中,所述主节点还用于:获取所述上游任务的自定义操作时间;根据所述自定义操作时间检测所述上游任务的执行结果。
[0020]在本申请一种可能的实现方式中,所述主节点还用于:获取所述待处理任务的任务类型;
[0021]所述虚拟节点还用于从所述主节点读取所述待处理任务的任务类型,根据所述待处理任务的任务类型,调用预设驱动动态创建所述待处理任务的执行环境。
[0022]在本申请一种可能的实现方式中,所述虚拟节点中的处理节点还用于:启动预设的任务执行容器,通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理。
[0023]第二方面,本申请还提供一种分布式任务处理方法,所述方法应用于分布式任务处理系统,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述方法包括:
[0024]当检测到任务客户端的待处理任务后,通过所述主节点确定与所述待处理任务存在任务依赖关系的上游任务;
[0025]通过所述主节点检测所述上游任务的执行结果;
[0026]当检测到所述上游任务执行完成时,通过所述主节点将所述待处理任务分配至多个所述虚拟节点中的目标虚拟节点;
[0027]通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理。
[0028]在本申请一种可能的实现方式中,所述方法还包括:
[0029]当检测到任务客户端的待处理任务后,获取所述待处理任务的任务元数据和所述待处理任务的执行文件;
[0030]通过所述主节点,将所述任务元数据持久化至所述分布式任务处理系统的数据任务队列中;
[0031]将所述执行文件存储至所述分布式任务处理系统的文件中心;
[0032]在本申请一种可能的实现方式中,所述通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理,包括:
[0033]通过所述目标虚拟节点,从所述数据任务队列中获取所述任务元数据;
[0034]通过所述目标虚拟节点,根据所述任务元数据,从所述文件中心获取所述执行文件;
[0035]通过所述目标虚拟节点的处理节点,根据所述执行文件和所述执行结果,完成所述待处理任务的处理。
[0036]在本申请一种可能的实现方式中,所述方法还包括:
[0037]获取所述待处理任务所在的目标任务链;
[0038]通过所述任务客户端显示所述目标任务链。
[0039]在本申请一种可能的实现方式中,所述方法还包括:
[0040]获取所述待处理任务的驱动状态;
[0041]通过所述任务客户端显示所述待处理任务的驱动状态。
[0042]在本申请一种可能的实现方式中,所述方法还包括:
[0043]检测多个所述虚拟节点的空闲度;
[0044]根据多个所述虚拟节点的空闲度,动态调整多个所述虚拟节点的工作节点数量。
[0045]在本申请一种可能的实现方式中,所述通过所述主节点检测所述上游任务的执行结果,包括:
[0046]获取所述上游任务的自定义操作时间;
[0047]通过所述主节点,根据所述自定义操作时间检测所述上游任务的执行结果。
[0048]在本申请一种可能的实现方式中,所述方法还包括:
[0049]获取所述待处理任务的任务类型;
[0050]根据所述待处理任务的任务类型,调用预设驱动动态创建所述待处理任务的执行环境。
[0051]在本申请一种可能的实现方式中,所述通过所述目标虚拟节点中的处理节点,根据所述执行结果完成所述待处理任务的处理,包括:
[0052]通过所述目标虚拟节点中的处理节点启动预设的任务执行容器;
[0053]通过所述任务执行容器根据所述执行结果完成所述待处理任务的处理本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种分布式任务处理系统,其特征在于,所述分布式任务处理系统包括任务客户端、主节点以及与所述主节点连接的多个虚拟节点,每个所述虚拟节点包括至少一个处理节点,所述任务客户端与所述主节点通信连接;所述任务客户端,用于向所述主节点提交待处理任务;所述主节点,用于当检测到任务客户端的待处理任务后,确定与所述待处理任务存在任务依赖关系的上游任务、以及检测所述上游任务的执行结果;所述主节点,还用于将所述待处理任务分配至所述虚拟节点;所述虚拟节点,用于从所述主节点读取所述执行结果;所述虚拟节点,还用于当所述上游任务执行完成时,调用所述虚拟节点中的处理节点根据所述执行结果完成所述待处理任务的处理。2.根据权利要求1所述的分布式任务处理系统,其特征在于,所述分布式任务处理系统还包括文件中心和数据库;所述分布式任务处理系统,用于当检测到任务客户端的待处理任务后,将所述待处理任务的执行文件存储至所述分布式任务处理系统的文件中心,将所述待处理任务的任务元数据持久化至所述分布式任务处理系统的数据任务队列中;所述虚拟节点,还用于从所述数据任务队列中获取所述任务元数据;根据所述任务元数据从所述文件中心读取所述执行文件;根据所述执行文件和所述执行结果,完成所述待处理任务的处理。3.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述待处理任务所在的目标任务链,将所述目标任务链反馈至所述任务客户端;所述任务客户端,用于显示所述目标任务链。4.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述待处理任务的驱动状态,并将所述驱动状态反馈至所述任务客户端;所述任务客户端,还用于显示所述驱动状态。5.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:检测多个所述虚拟节点的空闲度;根据多个所述虚拟节点的空闲度,动态调整多个所述虚拟节点的的工作节点数量。6.根据权利要求1所述的分布式任务处理系统,其特征在于,所述主节点还用于:获取所述上游任务的自定义操作时间;根据所述自定义操作时间检测所述上游任务的执行结果。7.根据权利要求1所述的分布式任务处理系统...
【专利技术属性】
技术研发人员:刘志全,谈政荣,蔡适择,李宣廷,
申请(专利权)人:顺丰科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。