分布式任务处理系统、方法和装置制造方法及图纸

技术编号:19121694 阅读:18 留言:0更新日期:2018-10-10 05:00
本申请公开了分布式任务处理系统、方法和装置。该系统的一具体实施方式包括:任务分发端,用于从待处理任务队列中提取待处理任务,并根据所连接的至少一个任务处理端的负载情况,从该至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务;任务处理端,用于接收该任务分发端发送的待处理任务,启动所接收的待处理任务的任务执行进程,并且启动对该任务执行进程进行监控的监控进程,以及将该监控进程所生成的监控信息发送给该任务分发端。该实施方式提高了任务处理效率。

【技术实现步骤摘要】
分布式任务处理系统、方法和装置
本申请涉及计算机
,具体涉及互联网
,尤其涉及分布式任务处理系统、方法和装置。
技术介绍
现如今系统数据日益增大,业务复杂性也越来越高,因此对于系统的处理能力以及数据处理过程的监控也都提出了更高的要求。为了处理数据的高效稳定性,从最初的单点串行执行任务,到分布式多线程高并发处理。从Java内存做队列调度实现分布式到依赖中间件实现集群调度,都是要高效的对大数据处理。依赖消息中间件构建生产者、消费者消息路由的通信模块。由于引入了消息中间件,消息中间件的可靠性、容错性、健壮性往往成为这类架构的决定性因素;同时,采用多线程执行还有可能存在线程安全问题。
技术实现思路
本申请的目的在于提出一种分布式任务处理系统、方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种分布式任务处理系统,上述系统包括任务分发端,用于从待处理任务队列中提取待处理任务,并根据所连接的至少一个任务处理端的负载情况,从上述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务;任务处理端,用于接收上述任务分发端发送的待处理任务,启动所接收的待处理任务的任务执行进程,并且启动对上述任务执行进程进行监控的监控进程,以及将上述监控进程所生成的监控信息发送给上述任务分发端。在一些实施例中,上述任务分发端还用于根据上述监控信息,确定上述待处理任务是否完成,并且在确定上述待处理任务已完成的情况下,根据上述监控信息生成任务处理结果。在一些实施例中,上述任务处理端还用于响应于上述任务执行进程的异常终止,向上述任务分发端发送上述监控进程所生成的监控信息,其中,上述监控信息包括上述任务处理端的负载情况、任务执行进程信息;上述任务分发端还用于接收上述监控信息,并保存上述任务执行进程信息;上述任务处理端还用于在接收到上述任务分发端发送的上述任务执行进程信息之后,使用接收到的上述任务执行进程信息,重新启动任务执行进程。在一些实施例中,上述负载情况包括以下至少一项:任务处理端的内存占用率、网络速率和任务的历史处理速率。第二方面,本申请提供了一种分布式任务处理方法,上述方法包括:从待处理任务队列中提取待处理任务;根据所连接的至少一个任务处理端的负载情况,从上述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务,以供上述目标任务处理端在接收到待处理任务后,启动所接收的待处理任务的任务执行进程,并且启动对上述任务执行进程进行监控的监控进程,以及返回上述监控进程所生成的监控信息;根据上述监控信息生成上述所提取的待处理任务的处理结果。在一些实施例中,上述根据上述监控信息生成上述所提取的待处理任务的处理结果,包括:根据上述监控信息,确定上述待处理任务是否完成,并且在确定上述待处理任务已完成的情况下,根据上述监控信息生成任务处理结果。在一些实施例中,接收监控信息,其中,上述监控信息是上述任务处理端响应于上述任务执行进程的异常终止,发送上述监控进程所生成的监控信息,上述监控信息包括上述任务处理端的负载情况、任务执行进程信息;响应于接收上述监控信息,保存上述任务执行进程信息;发送上述任务执行进程信息给上述任务处理端,以供上述任务处理端使用接收到的上述任务执行进程信息,重新启动任务执行进程。在一些实施例中,上述负载情况包括以下至少一项:任务处理端的内存占用率、网络速率和任务的历史处理速率。第三方面,本申请提供了一种分布式任务处理装置,上述装置包括:提取模块,用于从待处理任务队列中提取待处理任务;选择分发模块,用于根据所连接的至少一个任务处理端的负载情况,从上述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务,以供上述目标任务处理端在接收到待处理任务后,启动所接收的待处理任务的执行任务进程,并且启动对上述任务执行进程进行监控的监控进程,以及返回上述监控进程所生成的监控信息;生成模块,用于根据上述监控信息生成上述所提取的待处理任务的处理结果。在一些实施例中,上述装置还包括:接收模块,用于接收监控信息,其中,上述监控信息是上述任务处理端响应于上述任务执行进程的异常终止,发送上述监控进程的监控信息,上述监控信息包括上述任务处理端的负载情况、任务执行进程信息;存储模块,用于响应于接收上述监控信息,保存上述任务执行进程信息;发送模块,用于向上述任务处理端发送所保存的上述任务执行进程信息,以供上述任务处理端使用接收到的上述任务执行进程信息,重新启动任务执行进程。本申请实施例提供的分布式任务系统、方法和装置,根据任务处理端负载情况进行优选目标任务处理端,向不同任务处理端分发不同任务量,任务处理端在任务处理过程中,应用了多进程保证处理任务有效运行,提高了处理任务效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是根据本申请的分布式任务处理系统的示例性架构图;图2是根据本申请的分布式任务处理系统的一实施例的时序图;图3是根据本申请的分布式任务处理系统的又一实施例的时序图;图4是根据本申请的分布式任务处理方法的一实施例的流程图;图5是根据本申请的分布式任务处理装置的一实施例的结构示意图;图6是根据本申请的分布式任务处理装置的另一实施例的结构示意图;图7是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了根据本申请的分布式任务处理系统的示例性架构100。如图1所示,系统架构100可以包括服务器101、102、103,网络104和服务器105、服务器106。作为示例,服务器101、102、103可以是任务分发端,服务器105、服务器106可以是任务处理端。网络104用以在服务器101、102、103和服务器105、服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以将服务器101、102、103通过网络104与服务器105、服务器106交互,以接收或发送消息等。服务器101、102、103可以是各种类型、提供各种服务的服务器,例如数据库服务器、高性能计算服务器等,也可以是对服务器105、服务器106进行分配任务、发送任务信息的服务器。服务器105、服务器106可以是提供各种服务的服务器,例如接收服务器101、102、103发送的任务,并对任务进行处理的服务器,并将任务处理信息反馈给服务器101、服务器102、服务器103。应该理解,图1中的网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络和服务器。继续参考图2,示出了根据本申请的分布式任务处理系统的一实施例的时序图。本实施例的分布式任务处理系统包括:任务分发端和任务处理端。其中,任务分发端,用于从待处理任务队列中提取待处理任务,并根据所连接的至少一个任务处理端的负载情况,从上述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务;任务处理端,用于接收上述任务分发端发送的待处理任务,启动所接收的待处理任务的任务执行进程,并且启动对上述任务执行进程进行监本文档来自技高网...
分布式任务处理系统、方法和装置

【技术保护点】
1.一种分布式任务处理系统,其特征在于,所述系统包括:任务分发端,用于从待处理任务队列中提取待处理任务,并根据所连接的至少一个任务处理端的负载情况,从所述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务;任务处理端,用于接收所述任务分发端发送的待处理任务,启动所接收的待处理任务的任务执行进程,并且启动对所述任务执行进程进行监控的监控进程,以及将所述监控进程所生成的监控信息发送给所述任务分发端。

【技术特征摘要】
1.一种分布式任务处理系统,其特征在于,所述系统包括:任务分发端,用于从待处理任务队列中提取待处理任务,并根据所连接的至少一个任务处理端的负载情况,从所述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务;任务处理端,用于接收所述任务分发端发送的待处理任务,启动所接收的待处理任务的任务执行进程,并且启动对所述任务执行进程进行监控的监控进程,以及将所述监控进程所生成的监控信息发送给所述任务分发端。2.根据权利要求1所述的分布式任务处理系统,其特征在于,所述任务分发端还用于根据所述监控信息,确定所述待处理任务是否完成,并且在确定所述待处理任务已完成的情况下,根据所述监控信息生成任务处理结果。3.根据权利要求1所述的分布式任务处理系统,其特征在于,所述任务处理端还用于响应于所述任务执行进程的异常终止,向所述任务分发端发送所述监控进程所生成的监控信息,其中,所述监控信息包括所述任务处理端的负载情况、任务执行进程信息;所述任务分发端还用于接收所述监控信息,并保存所述任务执行进程信息;所述任务处理端还用于在接收到所述任务分发端发送的所述任务执行进程信息之后,使用接收到的所述任务执行进程信息,重新启动任务执行进程。4.根据权利要求1-3之一所述的分布式任务处理系统,其特征在于,所述负载情况包括以下至少一项:任务处理端的内存占用率、网络速率和任务的历史处理速率。5.一种分布式任务处理方法,其特征在于,所述方法包括:从待处理任务队列中提取待处理任务;根据所连接的至少一个任务处理端的负载情况,从所述至少一个任务处理端中选择目标任务处理端发送所提取的待处理任务,以供所述目标任务处理端在接收到待处理任务后,启动所接收的待处理任务的任务执行进程,并且启动对所述任务执行进程进行监控的监控进程,以及返回所述监控进程所生成的监控信息;根据所述监控信息生成所述所提取的待处理任务的处理结果。6.根据权利要求5所述的分布式任务处理方法,其特征在于,所述根据所述监控信息生成所述所提取的待处理任务的处理结果,包括:根据所述监控信息,确定所述待处理任务是否完成,并且在确定所述待处理任务已完成的情况下,根据所述监控信息生成任务处理结果...

【专利技术属性】
技术研发人员:温程
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1