一种托管型分布式任务调度方法和系统技术方案

技术编号:8593834 阅读:184 留言:0更新日期:2013-04-18 06:59
本发明专利技术公开了一种托管型的分布式任务调度方法,具有如下步骤:S100.将某一可分解的任务分解成多个交由工作站完成的工作;S200.将所述的多个工作按照数量预随机均分给参与任务运算的多个工作站进行处理;S300.在所述工作站进行工作处理的过程中,通过人工神经网络对待处理的工作的计算容量进行预估,将计算容量大的工作,优先分配给计算能力强的工作站;S400.当所述的参与运算的工作站中任一工作站完成一个所述的工作后,对该工作进行结果处理;S500.当所述的多个工作站完成全部工作后,汇总全部的工作结果,生成任务结果。

【技术实现步骤摘要】

本专利技术涉及任务调度与策略
,尤其涉及一种托管型,无人值守的分布式任务调度系统和方法,涉及专利分类号G06计算;推算;计数G06F电数字数据处理G06F9/00程序控制装置,例如,控制器G06F9/06应用存入的程序的,即应用处理设备的内部存储来接收程序并保持程序的G06F9/46多道程序装置G06F9/50资源分配,例如,中央处理单元。
技术介绍
计算机应用程序实际上是由计算机来执行一系列的工作,例如复制ー个文件、启动ー个进程、关闭ー个窗ロ等。随着计算机应用程序越来越复杂,其所需要的计算量也越来越惊人,如果将如此复杂的程序交由一台计算机完成,需要消耗大量的时间,得不偿失。比较通行的解决办法是,使用分布式的任务调度系统,将ー个复杂和庞大的计算机应用程序分解成多个适当大小的子任务或者说可以由一个计算机/工作站在合适的时间内能够完成的工作。然后,调度系统将这些工作分配给网络中的一定数量的工作站,使用多台工作站协同工作来解决ー个庞大的计算机应用程序,效率有了很大的改观。但是现有的分布式任务分配/调度系统,更多的,侧重于如何更有效地划分工作和分配工作。而当分配好的工作交由工作站处理时,调度系统对各工作站的处理状况和处理效率等问题则不太关心,调度系统也不能够或者很少能对正在各工作站进行处理的工作进行调度管理,我们知道无论事先划分和分配工作的算法如何的细致精密,也会出现因为工作分配的不均情况,进而造成系统计算效率的低下。
技术实现思路
本专利技术针对以上问题的提出,而研制的一种托管型的分布式任务调度方法,具有如下步骤S100.将某一可分解的任务分解成多个交由工作站完成的工作;S200.将所述的多个工作按照数量预随机均分给參与任务运算的多个工作站进行处理;S300.在所述工作站进行工作处理的过程中,通过人工神经网络对待处理的工作的计算容量进行预估,将计算容量大的工作,优先分配给计算能力强的工作站;S400.当所述的參与运算的工作站中任一工作站完成一个所述的工作后,对该エ作进行结果处理;S500.当所述的多个工作站完成全部工作后,汇总全部的工作结果,生成任务结果。所述步骤S300具体包括步骤S310.统计所有參加任务处理的工作站的硬件參数,评价所述的每个工作站的エ作能力;S320.针对已完成的工作,设定其计算容量=工作耗时X完成该工作的工作站的计算能力;S330.选定系统内最先完成的工作的參数和计算容量,作为人工神经网络的样本,得到初始的神经网络关系函数;S340.将系统内陆续完成的工作的參数和计算容量作为样本代入所述的人工神经网络,不断地改进人工神经网络的关系函数;S350.将待分配的工作的參数代入当前的人工神经网络中,预估所有待分配工作的计算容量;将计算容量大的工作,分配给參与任务处理的工作站中计算能力强的工作站。所述步骤S310中,设定參与任务处理的多个工作站中,计算能力最強的工作站的计算能力为100,其余各工作站的计算能力为0-100的数。所述步骤S400具体包括如下步骤S410.结果校验当參与运算的所有工作站中任一工作站完成一个工作的运算,对该工作的结果进行至少包含运算结果是否存在和运算结果指定值是否满足要求的校验;S420.数据准备若工作的结果通过校验,进行重命名结果文件、移动结果文件至指定路径和/或提取数据至指定格式的文件的操作;S430.记录所述经过数据准备的结果文件存放的路径;S440.重复步骤S410-430,直至该工作站最后ー个工作完成运算,生成ー个包括该工作站所处理的所有工作的结果文件。所述步骤S500具体包括S510.当ー个工作站完成所分配的全部工作后,接收该工作站的运算结果文件或结果文件的存储路径;S520.重复步骤S510,直至參与工作的所有工作站完成各自所分配工作的处理,对所有工作站的结果文件进行汇总,生成任务的结果文件或任务结果的地址,完成所述分布式任务的运算。一种托管型的分布式任务调度系统,包含至少ー个服务器和多个工作站所述服务器接收客户用客户端上传的任务、将任务分解成多个工作后,再将工作分配给多个工作站并且在工作站处理的过程中对工作的分配进行实时调整;工作站接收由服务器分配的工作,进行处理,处理完后将结果回传至服务器,完成任务处理;所述服务器具有任务分配调度模块和任务终处理模块;所述工作站具有工作处理模块和工作结果预处理模块;工作时任务分配调度模块接收客户上传的任务,将任务分解成多个可由所述多个工作站中的任意ー个工作站单独完成处理的工作;将分解得到的多个工作按照个数预随机均分给各工作站;工作站启动对所述的工作的处理后,任务分配调度模块对參与任务处理的工作站的计算能力进行评估,为每ー个工作站设定ー个代表其计算的能力的数值;所述任务调度模块根据已完成的工作,通过人工神经网络预估待分配的工作的计算容量;所述任务调度模块将计算容量大的工作,优先分配给计算能力强的工作站进行处理;所述由任务调度模块分解的工作存储在服务器中,当所述工作站需要对工作进行处理吋,由任务调度模块将需要处理的工作下发给工作站;每ー个工作站接收由所述服务器分配的工作,由该工作站中的处理模块进行运算处理,生成结果文件;当该工作站所接受到的被分配的多个工作中的任意ー个工作完成得到结果文件后,所述工作结果预处理模块对该结果文件进行至少包含结果文件是否存在以及结果文件中特定值是否满足要求的检查;检查完毕后,工作结果预处理模块进行数据准备,该数据准备至少包含结果文件的重命名、移动和/或文件格式的转换;待该工作站内全部工作完成后,所述工作结果预处理模块将所有工作的结果文件存放的虚拟路径上传至服务器的任务终处理模块;当ー个工作站完成所分配的全部工作时,所述任务终处理模块存储该工作站上传的所述完成工作的结果文的件虚拟路径或下载结果文件;当涉及处理ー个完整任务的每个工作站都完成其被分配的所有工作时,所述任务终处理模块将所有结果文件汇总,生成下载路径和/或生成任务结果文件;将所述下载路径和/或任务结果文件发送至服务器的数据传输端ロ,完成分布式任务的运算。所述服务器还具有任务实时通知模块,该通知模块至少使用Email和短信形式将任务处理的进度信息通知给用户。向用户透明的数据库,该数据库至少包含记录系统当前处理任务和历史任务的任务管理数据表;至少记录由任务划分成的每个工作的编号、该工作对应工作站编号、工作參数、エ作状态、工作的启动和完成时间以及该工作对应的任务编号的工作管理数据表;以及记录所述任务实时通知模块向用户/管理者传送的任务处理进度信息的实时通知管理数据表,任务处理工程中,所述任务实时通知模块调用该实时通知管理数据表内记载的信息,向指定的用户发送。还具有接受用户指令,协助用户完成至少包括新建任务、提交任务、启动任务以及查看最新活动和已完成工作的客户端。具有与所述服务器功能一致的从服务器。在工作处理过程中,所述任务处理模块根据工作站完成现有工作的计算能力估算每个工作站剩余工作的计算容量,根据不同工作站剩余的工作容量,实时调整工作的分配。附图说明为了更清楚的说明本专利技术的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做ー简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技本文档来自技高网...

【技术保护点】
一种托管型的分布式任务调度方法,具有如下步骤:S100.将某一可分解的任务分解成多个交由工作站完成的工作;S200.将所述的多个工作按照数量预随机均分给参与任务运算的多个工作站进行处理;S300.在所述工作站进行工作处理的过程中,通过人工神经网络对待处理的工作的计算容量进行预估,将计算容量大的工作,优先分配给计算能力强的工作站;S400.当所述的参与运算的工作站中任一工作站完成一个所述的工作后,对该工作进行结果处理;S500.当所述的多个工作站完成全部工作后,汇总全部的工作结果,生成任务结果。

【技术特征摘要】
1.一种托管型的分布式任务调度方法,具有如下步骤 S100.将某一可分解的任务分解成多个交由工作站完成的工作; S200.将所述的多个工作按照数量预随机均分给参与任务运算的多个工作站进行处理; S300.在所述工作站进行工作处理的过程中,通过人工神经网络对待处理的工作的计算容量进行预估,将计算容量大的工作,优先分配给计算能力强的工作站; S400.当所述的参与运算的工作站中任一工作站完成一个所述的工作后,对该工作进行结果处理; S500.当所述的多个工作站完成全部工作后,汇总全部的工作结果,生成任务结果。2.根据权利要求1所述的一种任务调度方法,其特征还在于所述步骤S300具体包括步骤 S310.统计所有参加任务处理的工作站的硬件参数,评价所述的每个工作站的工作能力; S320.针对已完成的工作,设定其计算容量=工作耗时X完成该工作的工作站的计算能力; S330.选定系统内最先完成的工作的参数和计算容量,作为人工神经网络的样本,得到初始的神经网络关系函数; S340.将系统内陆续完成的工作的参数和计算容量作为样本代入所述的人工神经网络,不断地改进人工神经网络的关系函数; S350.将待分配的工作的参数代入当前的人工神经网络中,预估所有待分配工作的计算容量;将计算容量大的工作,分配给参与任务处理的工作站中计算能力强的工作站。3.根据权利要求2所述的一种分布式任务调度方法,其特征还在于所述步骤S310中,设定参与任务处理的多个工作站中,计算能力最强的工作站的计算能力为100,其余各工作站的计算能力为0-100的数。4.根据权利要求1所述的一种任务调度方法,其特征还在于所述步骤S400具体包括如下步骤 S410.结果校验当参与运算的所有工作站中任一工作站完成一个工作的运算,对该工作的结果进行至少包含运算结果是否存在和运算结果指定值是否满足要求的校验;S420.数据准备若工作的结果通过校验,进行重命名结果文件、移动结果文件至指定路径和/或提取数据至指定格式的文件的操作; S430.记录所述经过数据准备的结果文件存放的路径; S440.重复步骤S410-430,直至该工作站最后一个工作完成运算,生成一个包括该工作站所处理的所有工作的结果文件。5.根据权利要求3所述的一种任务调度方法,其特征还在于所述步骤S500具体包括 S510.当一个工作站完成所分配的全部工作后,接收该工作站的运算结果文件或结果文件的存储路径; S520.重复步骤S510,直至参与工作的所有工作站完成各自所分配工作的处理,对所有工作站的结果文件进行汇总,生成任务的结果文件或任务结果的地址,完成所述分布式任务的运算。6.一种托管型的分布式任务调度系统,包含至少一个服务器和多个工作站 所述服务器接收客户用客户端上传的任务、将任务分解成多个工作后,再将工作分配给多个工作站并且在工作站处理的过程中对工作的分配进行实时调整;工作站接收由服务器分配的工作,进行处理,处理完后将结果回传至服务...

【专利技术属性】
技术研发人员:黄一刘刚李红霞王普
申请(专利权)人:大连理工大学
类型:发明
国别省市:

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

1