发明内容
针对现有技术中存在的缺陷,本发明提供一种数据任务处理方法、装置及系统,所述系统具有通用、高效、安全、可伸缩的性,以满足当前日渐多样化的数据加工需求。
为达到以上目的,本发明实施例一方面提供一种数据任务处理的系统,该系统包括:主控服务器、客户端服务器及目的服务器,
所述客户端服务器,用于根据自身的工作状态,向所述主控服务器发送任务领取请求,并接收所述主控服务器根据所述任务领取请求发回的任务,并解析出所述任务的任务参数;以及
将解析的所述任务参数发送给目的服务器,并且还用于接收所述目的服务器反馈的所述任务的处理结果,并将所述处理结果发送给所述主控服务器;
所述主控服务器,用于接收所述客户端服务器发送的任务领取请求,并将该任务领取请求对应的任务发送给所述客户端服务器;
所述目的服务器,用于根据接收到的所述任务参数对所述任务进行处理。
本发明实施例一方面还提供一种主控服务器,包括:
第一接收模块,用于接收所述客户端服务器发送的任务领取请求;
处理模块,用于根据所述任务领取请求确定对应的任务,并将所述任务发送给客户端服务器;
第二接收模块,用于接收所述客户端服务器发送的目的服务器反馈的处理结果。
本发明实施例另一方面还提供一种客户端服务器,包括:
第一发送模块,用于根据自身的工作状态向主控服务器发送任务领取请求;
第一接收模块,用于接收所述主控服务器根据所述任务领取请求发回的任务;
解析模块,用于解析出所述任务的任务参数;
第二发送模块,用于将解析的所述任务参数发送给目的服务器,以使所述目的服务器对所述任务进行处理;
第二接收模块,用于接收所述目的服务器反馈的所述任务的处理结果,并将所述处理结果发送给所述主控服务器。
本发明实施例还提供一种数据任务处理方法,该方法包括:
根据自身的工作状态向主控服务器发送任务领取请求;
接收所述主控服务器根据所述任务领取请求发回的任务,并解析出所述任务的任务参数;
将解析的所述任务参数发送给目的服务器,以使所述目的服务器对所述任务进行处理;
接收所述目的服务器反馈的所述任务的处理结果,并将所述处理结果发送给所述主控服务器。
本发明与现有技术相比具有以下优点:
本发明一种数据加工的通用方法,由服务器将重复性的复杂计算分布到多台机器上并发完成,并且能够自动管理任务分配,自动进行结果收集,及错误的处理,从而实现对数据加工过程的自动化管理,将人们从繁琐的加工过程中解放出来,即可以提高数据加工的质量,同时又大大地节约了人力成本。
具体实施方式
本发明提供一种数据任务处理方法及系统,以分布式处理器为基础,将可并行化的任务分布处理,从而提高了内容处理效率,同时也保证了处理系统的稳定性。
对于重复性的复杂任务处理,可以并行进行处理工作,由主控服务器统一进行管理,并将任务分布到客户端服务器去执行,根据客户端的执行状况,自动化的对客户端进行管理、控制,并可以根据处理任务量的多少,决定客户端服务器的数量。
下面结合说明书附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
如图1所示,为本发明方法实施例提供了一种数据任务处理系统,该系统包括:主控服务器11、客户端服务器12及目的服务器13,客户端服务器12,用于根据自身的工作状态,向主控服务器11发送任务领取请求,并接收主控服务器11根据所述任务领取请求发回的任务,并解析出所述任务的任务参数;所述任务参数具体包括:任务大小、任务类型及所述任务的存储位置信息等,以及将解析的所述任务参数发送给目的服务器13,并且还用于接收目的服务器13反馈的所述任务的处理结果,所述处理结果一般包括:执行任务成功、执行任务失败、失败原因、失败的类型以及造成失败的步骤等内容;并将所述处理结果发送给主控服务器11;主控服务器11,用于接收客户端服务器12发送的任务领取请求,并将该任务领取请求对应的任务发送给客户端服务器12;目的服务器13,用于根据接收到的所述任务参数对所述任务进行处理。
较佳的,该系统还包括:任务存储器14,其中主控服务器11根据所述任务领取请求向任务存储器14获取对应的任务。任务存储器14查询存储在自身的数据表中对应的任务,将查询到的未执行的任务发送给主控服务器11,主控服务器11接收到对应所述任务领取请求的任务,并解析出对应的任务参数,并将任务参数中关于任务大小、类型、存储位置及需要处理该任务所用的处理器的类型信息发送给目的服务器13,并且对应不同的任务类型选取不同的目的服务器执行该任务的处理。
当目的服务器13执行完对应的任务时,将处理该任务的处理结果信息发送给主控服务器11,其中对应每个任务生成对应的任务结果记录,比如像任务执行成功,任务执行失败,以及对应失败的原因类型,失败的步骤信息等。
主控服务器11将接收到的所述处理结果添加到任务存储器14的日志表中,并建立一个与所述任务一一对应的映射关系;并且主控服务器11,还用于存储所述处理结果,以及当执行任务失败时,主控服务器11根据失败原因类型的不同,确定当前执行对应任务的目的服务器是否匹配,例如:如果当期执行对应任务的目的服务器运行环境不适合该任务的执行,那么主控服务器会进一步的选择出合适的目的服务器重新执行处理该任务。
具体的,目的服务器13根据任务的执行结果生成对应的任务结果记录,并将所述任务结果记录反馈给客户端服务器12,所述任务结果记录至少包括:执行任务成功、执行任务失败、失败原因以及造成失败的位置;并且,客户端服务器12将所述任务结果记录发送给主控服务器11;进一步,主控服务器11将接收到的所述任务结果记录添加到所述任务存储器的日志表中,并更新所述日志表。
如图2所示,为本发明实施例中的提供的一种主控服务器的结构框图,包括:
第一接收模块21,用于接收所述客户端服务器发送的任务领取请求;
处理模块22,用于根据所述任务领取请求确定对应的任务,并将所述任务发送给客户端服务器;
第二接收模块23,用于接收所述客户端服务器发送的目的服务器反馈的处理结果。
具体的,如图3所示,为本发明实施例主控服务器中处理模块的结构框图,该主控服务器的处理模块22中包括自定义任务模块221,用于设置任务类型,对应不同类型的任务进行不同的分类存储;以及选择模块222,用于根据不同的任务类型选择不同的客户端服务器进行处理;任务调度模块223,用于建立所述任务结果记录与其对应的任务的映射关系,并将该映射关系添加到所述日志表中;并且还包括任务管理模块224,用于管理所述客户端服务器的执行任务的时间,并控制执行任务的启动与停止。下面以一个网站作为主控服务器为例,根据当前的任务类型及任务大小等任务参数,选择不同的客户端(相当于目的服务器)进行执行某一任务,比如下载、上传、发邮件等,对应不同类型的任务选择出适当的客户端,并接收有客户端发送的执行任务的结果记录,比如下载成功,下载失败,当然在下载失败时,会将失败的原因及失败的步骤发送给网站侧。
如图4所示,为本发明实施例提供的一种客户端服务器的结构框图,包括:
第一发送模块31,用于根据自身的工作状态向主控服务器发送任务领取请求;
第一接收模块32,用于接收所述主控服务器根据所述任务领取请求发回的任务;
解析模块33,用于解析出所述任务的任务参数;
第二发送模块34,用于将解析的所述任务参数发送给目的服务器,以使所述目的服务器对所述任务进行处理;
第二接收模块35,用于接收所述目的服务器反馈的所述任务的处理结果,并将所述处理结果发送给所述主控服务器。
如图5所示,为本发明实施例方法提供的流程示意图,包括:
步骤41:根据自身的工作状态向主控服务器发送任务领取请求;
步骤42:接收所述主控服务器根据所述任务领取请求发回的任务,并解析出所述任务的任务参数;
步骤43:将解析的所述任务参数发送给目的服务器,以使所述目的服务器对所述任务进行处理;
步骤44:接收所述目的服务器反馈的所述任务的处理结果,并将所述处理结果发送给所述主控服务器。
较佳的,所述主控服务器根据所述任务领取请求向任务存储器获取所述任务,并发送给所述客户端服务器。
较佳的,所述接收所述目的服务器反馈的对应任务的处理结果,并发送给主控服务器之后,进一步包括:
所述主控服务器将接收到的所述处理结果添加到所述任务存储器的日志表中,并建立一个与所述任务一一对应的映射关系。
如图6所示为本发明实施例系统工作流程图,包括:主控服务器12、任务存储器14、客户端服务器11以及目的服务器13;
主控服务器12启动执行任务;
主控服务器12向任务存储器14获取任务,解析该任务类型,并将对应该任务的参数传递给客户端服务器11;
客户端服务器11根据该任务类型,安装执行器,获取执行该任务需要的前期数据及条件,构建运行环境并启动执行器;
将获取的执行该任务需要的前期数据及条件发送给目的服务器13进行处理;
目的服务器13对该任务进行运算获得结果,并将对应该任务的执行结果反馈给客户端服务器11;
客户端服务器11将执行结果传递给主控服务器12;
主控服务器12根据执行结果对应添加到该任务的日志表中,并存储到任务存储器14中;
如果任务失败,主控服务器12还可以根据执行处理结果失败的原因,进行相应处理。
本发明与现有技术相比有以下优点:
采用本发明所述的系统,由主控服务器将重复性的复杂计算分布到多台客户端服务器上并发完成,并且主控服务器能够自动管理任务分配,并可以进行结果收集及错误的处理,从而实现对数据加工过程的自动化管理,将人们从繁琐的加工过程中解放出来,即可以提高数据加工的质量,同时又节约了人力成本。
该方法还具有的优势有:
具有快速高效,可以根据数据任务量的多少,动态调整参与数据处理的设备数量,从而节省大量的时间,提高工作效率;
具有自动纠错能力,当某一环节出现问题时,不会影响整个系统,且不会引起后序工作处理的连锁反应;
具有灵活性,可以根据需要选择客户端具体执行的任务类型,配置不同的客户端服务器执行处理;
还具有自动化特点,对数字任务的处理不再需要人为干预,该系统可以自动化的完成各个环节的处理。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。