CN104699528B - 基于NetWeaver的排程方法 - Google Patents
基于NetWeaver的排程方法 Download PDFInfo
- Publication number
- CN104699528B CN104699528B CN201510122519.1A CN201510122519A CN104699528B CN 104699528 B CN104699528 B CN 104699528B CN 201510122519 A CN201510122519 A CN 201510122519A CN 104699528 B CN104699528 B CN 104699528B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- program
- computer
- subtask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于NetWeaver的排程方法,用于对待执行任务进行排程,该方法包括:建立包含全部待执行任务的任务步骤池,该任务步骤池中包括任务步骤属性参数;建立包含对应于所述任务步骤池中至少一个步骤的程序的程序库;在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤,查询所述程序库中与所提取的步骤相对应的程序;将所查询到的程序挂接到所提取的步骤;以及保存根据步骤挂接的程序。通过上述技术方案,能够将程序挂接到任务执行的每一个步骤,提高多任务环境下的处理效率,降低错误风险。
Description
技术领域
本发明涉及信息管理技术领域,具体地,涉及一种基于NetWeaver的排程方法。
背景技术
在具有特定执行顺序、过程复杂的多任务环境中,对整体任务的排程或对任务执行的监控变得尤为重要。
SAP NetWeaver是下一代基于服务的平台,它将作为未来所有SAP应用程序的基础。NetWeaver包含了一个门户框架,商业智能和报表,商业流程管理(BPM),主数据管理(MDM,Master Data Management),一个基本运行态应用服务器(common run-timeapplication server),以及SAP应用开发和管理平台。
SAP NetWeaver能够帮助企业跨越技术和机构组织的界限,实现人员、信息和业务流程的集成。此外,SAP NetWeaver的设计实现了与和IBMWebSphere(J2EE)的全面互操作,并为客户提供了管理不同基础设施、降低复杂程度和削减总体拥有成本的灵活性。
通过SAP NetWeaver平台能够将分散在不同系统的业务处理连接起来,形成一个自动化的流程。然而,SAP NetWeaver平台并不具备对任务进行排程和监控的功能,不能适应具有特定执行顺序、过程复杂的多任务环境中的要求。
针对上述问题,现有技术中尚无良好解决方案。
发明内容
本发明的目的是提供一种方法,通过该方法能够将程序挂接到任务执行的每一个步骤。
为了实现上述目的,本发明提供一种基于NetWeaver的排程方法,用于对待执行任务进行排程,该方法包括:建立包含全部待执行任务的任务步骤池,该任务步骤池中包括任务步骤属性参数;建立包含对应于所述任务步骤池中至少一个步骤的程序的程序库;在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤,查询所述程序库中与所提取的步骤相对应的程序;将所查询到的程序挂接到所提取的步骤;以及保存根据步骤挂接的程序。
进一步地,该方法还包括:当查询不到与所提取的步骤相对应的程序时,将事务代码挂接到所提取的步骤。
进一步地,在在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤后,该方法还包括:在所述任务步骤池中将所提取的步骤标记为已执行;以及根据每个待执行任务的执行状态,在所述任务步骤池中更新所述任务步骤属性参数。
进一步地,所述任务步骤属性参数包括以下至少一者:组织架构信息、项目名称、操作事项、事物代码、事物代码文本、操作说明、自动检查标识、用户名、日期。
进一步地,与前一个步骤相对应的程序的输出为与该前一个步骤的后一个步骤相对应的程序的输入。
进一步地,该方法还包括:将每个步骤划分为多个子任务节点;分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;
保存所述多个计算机节点运算处理的状态快照;以及当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
进一步地,该方法还包括:对所述多个计算机节点进行心跳检测;以及将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。
进一步地,该方法还包括:将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。
进一步地,该方法还包括:当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。
进一步地,该方法还包括:根据贪婪算法分配所述完成子任务节点所需的运算。
通过上述技术方案,能够将程序挂接到任务执行的每一个步骤,提高多任务环境下的处理效率,降低错误风险。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明实施方式的基于NetWeaver的排程方法流程图;
图2是根据本发明示例性实施方式的基于NetWeaver的排程方法流程图;以及
图3是根据本发明示例性实施方式的基于NetWeaver的排程方法流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是根据本发明实施方式的基于NetWeaver的排程方法流程图。如图1所示,本发明的实施方式提供的基于NetWeaver的排程方法,可以用于对待执行任务进行排程,方法可以包括:S101,建立包含全部待执行任务的任务步骤池,该任务步骤池中包括任务步骤属性参数;S102,建立包含对应于所述任务步骤池中至少一个步骤的程序的程序库;S103,在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤,查询所述程序库中与所提取的步骤相对应的程序;S104,将所查询到的程序挂接到所提取的步骤;以及S105,保存根据步骤挂接的程序。
通过上述技术方案,能够将程序挂接到任务执行的每一个步骤,提高多任务环境下的处理效率,降低错误风险。
在实施方式中,可以将能够实现程序挂接的步骤作为强制检查步骤,可以利用上述方法在SAP系统中实现自动步骤检查。相对应地,对于不能通过程序挂接的步骤,这样的步骤一般需要手动操作步骤所对应的事物代码。因此,在实施方式中,上述方法还可以包括:当查询不到与所提取的步骤相对应的程序时,将事务代码挂接到所提取的步骤。
事务代码可以是任务步骤属性参数中的一个参数。在实施方式中任务步骤属性可以具有多种参数,例如,可以包括以下至少一者:组织架构信息、项目名称、操作事项、事物代码、事物代码文本、操作说明、自动检查标识、用户名、日期。
在本发明实施方式的术语中,挂接是将一个程序或一组程序与一个步骤对应起来,使一个个程序按照步骤的编辑顺序穿起来。通过挂接,每个程序在起始时可以检查其充分条件的程序是否已经运行完成。在实施方式中,与前一个步骤相对应的程序的输出可以为与该前一个步骤的后一个步骤相对应的程序的输入,使对应多个步骤的程序可以连续执行。
在实施方式中,在在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤后,该方法还可以包括:在所述任务步骤池中将所提取的步骤标记为已执行;以及根据每个待执行任务的执行状态,在所述任务步骤池中更新所述任务步骤属性参数。通过对步骤属性进行更新,能够保持步骤之间关系的连续性。对应步骤的程序在执行时可以调用这些参数,提高程序(例如,SAP程序)的执行速度,降低程序错误。在实施方式中,步骤之间的关系可以包括并联关系和串联关系。
本发明提供的上述方法可以具有多种应用场景,例如,可以用于对集团中某单位月结需要完成的工作事项进行排程,利用程序(例如,SAP程序),通过排程更新步骤属性参数,使集团总部能够直观了解各个单位的月结执行情况。
图2是根据本发明示例性实施方式的基于NetWeaver的排程方法流程图。如图2所示,本发明实施方式提供的基于NetWeaver的排程方法,可以包括:S201,将每个步骤划分为多个子任务节点;S202,分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;S203,保存所述多个计算机节点运算处理的状态快照;以及S204,当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
通过上述技术方案,将完成一个任务链步骤所需的运算分配到多个计算机节点进行运算处理,能够将运算量化整为零,提高任务运行速度;通过保存运算处理的状态快照,在任务链步骤因故中断时,能够将任务链步骤恢复到中断前状态,从而从中断前状态开始继续执行任务链。因此,通过上述技术方案,当任务链步骤或节点失败时,能够从失败的步骤或节点继续执行任务链,而无需从初始状态重复执行,提高任务处理效率、降低资源浪费。
在优选的实施方式中,上述方法还可以包括:对多个计算机节点进行心跳检测;以及将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。通过心跳检测可以确定进行运算的计算机节点的工作状态。为了确保分配到每个计算机节点的运算都能够完成,当出现心跳检测无响应的计算机时,可以将分配到该计算机节点的运算重新分配到其他心跳检测正常的计算机节点。优选地,重新分配到的计算机节点可以是已完成被分配的运算的计算机节点,这样可以充分利用空闲计算资源完成运算。
为了使完成任务链中每个任务节点或子任务节点的运算的计算机节点能够获取运算所需的数据,在实施方式中,方法还可以包括:将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。这样所有计算机节点可以在运算开始时从共享存储器获取运算数据,以及在运算完成时向共享存储器中存储运算结果。这里需要说明的是,计算机节点运算处理的状态快照也可以保存在共享存储器中,或者也可以单独设置快照存储器。存储器的实例包括但不局限于只读存储器(ROM)、随机存取存储器(RAM)、寄存器、缓冲存储器、半导体存储设备等。
在不同的实施方式中,该方法还可以包括:当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。在实施方式中,存在多种情况需要执行上述步骤。例如,对于大量运算,需要使用计算机集群中的所有计算机节点参与的子任务节点的运算,只有当所有计算机节点都完成运算处理后才能继续分配下一子任务节点的运算。再如,对于需要得到上一子任务节点的全部运算结果后才能分配下一子任务节点的运算的情况,方法中也需要包含这样的步骤。当然,在实施方式中,也可以将不同子任务节点的运算同时分配到计算机集群中的不同计算机节点组进行处理。
下面结合图3对基于NetWeaver的排程方法的实现过程进行说明。如图3所示,在一个任务链从开始到结束之间可以有多个任务节点(或网状处理节点),每个任务节点中可以包括(例如具有网状拓扑结构的)多个子任务节点,每个子任务节点的运算可以被分配到计算机集群中的一个或多个计算机节点(图中未示出)进行处理。每个计算机节点所要进行的运算可以由统一的总控单元进行,该总控单元可以是计算机集群中的一个计算机节点,同时负责计算机集群中其他所有计算机节点的心跳检测。与运算相关的上下文共享数据(例如,计算机节点的运算处理结果)可以被保存到与所述计算机集群中的所有计算机节点连接的共享存储器。在完成最后一个网状处理节点的运算后,可以输出运算结果,例如输出到目标应用。需要说明的是,图3中示出了包括三个网状处理节点的任务链,然而附图仅出于示例性目的,并不对任务链的长度进行限制。例如根据本发明的基于NetWeaver的排程方法可以使用5个网状处理节点,分别对图1中所示的各个步骤进行处理。
在优选的实施方式中,可以根据贪婪算法分配所述完成子任务节点所需的运算。即,可以将最复杂的运算交给计算能力最强的计算机节点进行处理,进而确保整个运算的处理速度。
在优选的实施方式中,计算机集群可以由部署云计算平台的计算机节点组成,从而可以利用云计算平台的资源优势,降低大量运算对计算机节点的硬件要求。例如,可以使用HADOOP云计算平台,而计算机节点可以为部署了云计算平台(例如HADOOP的)LINUX系统服务器。以下,结合HADOOP云计算平台对根据本发明的基于NetWeaver的排程方法的实现方式进行说明(以上已经具体分析了方法的每个步骤的实现及作用,这里仅从普遍适用角度对任务链的执行过程进行描述)。
在一个实施方式中,可以使用任务链开发模式以及命令模式搭配HADOOP云计算平台来实现任务链执行过程。其具体的实施方式如下:
(1)根据业务需求(处理顺序)把任务处理链进行功能切分;
(2)确定任务链中任务先后顺序以及依赖关系;
(3)注册统一接口,继承接口对每个任务进行具体实现;
(4)选取多台(例如,5至10台)普通服务器(LINUX操作系统),作为报表数据计算处理的节点;
(5)在这些普通的服务器上部署HADOOP平台,将这些机器组合成一个分布式计算集群;
(6)在分布式计算集群上初始化分布式文件系统(HDFS);
(7)将处理链所需数据文件推送至HADOOP分布式文件系统(HDFS);
(8)在节点进行计算的时候,系统会自动对输入文件进行切分,分发至HADOOP集群进行分布式并行计算;
(9)系统会对HADOOP集群进行计算的节点进行心跳检测,实时监测网状任务节点的计算运行状态,及时移除无响应节点,并将无响应节点计算数据分发至其他节点继续进行计算;
(10)所有节点进行计算完成后,数据被发送至链式节点上下文共享数据区域内,可供其他节点使用;
(11)在链式节点运行过程中,系统自动生成当前计算状态快照,并能够在处理链发生错误的时候提供足够的数据可供任务链继续进行数据处理;以及
(12)将最终数据结果统一输出给目标应用,任务链结束。
通过上面实施方式提供的任务处理方法能够将方法中的每个步骤的运算分布到多个计算节点进行处理,还能够实现任务中断后的继续执行而无需从任务链的初始状态重复执行,因而能够极大地提高任务处理效率。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。例如,可以将计算机节点改变为计算节点或计算单元。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (9)
1.一种基于NetWeaver的排程方法,用于对待执行任务进行排程,其特征在于,该方法包括:
建立包含全部待执行任务的任务步骤池,该任务步骤池中包括任务步骤属性参数,其中所述属性参数包括事务代码;
建立包含对应于所述任务步骤池中至少一个步骤的程序的程序库;
在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤,查询所述程序库中与所提取的步骤相对应的程序;
将所查询到的程序挂接到所提取的步骤;
保存根据步骤挂接的程序;以及
当查询不到与所提取的步骤相对应的程序时,将事务代码挂接到所提取的步骤。
2.根据权利要求1所述的排程方法,其特征在于,在所述任务步骤池中从一个待执行任务的起始步骤开始提取步骤后,该方法还包括:
在所述任务步骤池中将所提取的步骤标记为已执行;以及
根据每个待执行任务的执行状态,在所述任务步骤池中更新所述任务步骤属性参数。
3.根据权利要求1所述的排程方法,其特征在于,所述任务步骤属性参数包括以下至少一者:组织架构信息、项目名称、操作事项、事物代码、事物代码文本、操作说明、自动检查标识、用户名、日期。
4.根据权利要求1所述的排程方法,其特征在于,与前一个步骤相对应的程序的输出为与该前一个步骤的后一个步骤相对应的程序的输入。
5.根据权利要求1-4中任一项权利要求所述的方法,其特征在于,该方法还包括:
将每个步骤划分为多个子任务节点;
分配完成子任务节点所需的运算到计算机集群中的多个计算机节点进行运算处理;
保存所述多个计算机节点运算处理的状态快照;以及
当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
对所述多个计算机节点进行心跳检测;以及
将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。
7.根据权利要求5所述的方法,其特征在于,该方法还包括:
将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。
8.根据权利要求5所述的方法,其特征在于,该方法还包括:
当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。
9.根据权利要求5所述的方法,其特征在于,该方法还包括:
根据贪婪算法分配所述完成子任务节点所需的运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122519.1A CN104699528B (zh) | 2015-03-19 | 2015-03-19 | 基于NetWeaver的排程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122519.1A CN104699528B (zh) | 2015-03-19 | 2015-03-19 | 基于NetWeaver的排程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699528A CN104699528A (zh) | 2015-06-10 |
CN104699528B true CN104699528B (zh) | 2018-05-04 |
Family
ID=53346692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510122519.1A Active CN104699528B (zh) | 2015-03-19 | 2015-03-19 | 基于NetWeaver的排程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699528B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012808A (zh) * | 2010-11-10 | 2011-04-13 | 上海光芒科技有限公司 | 云计算环境下的基于soa的可扩展的分布式架构 |
WO2012116513A1 (zh) * | 2011-02-28 | 2012-09-07 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
CN103970854A (zh) * | 2014-05-05 | 2014-08-06 | 神华集团有限责任公司 | Sap ecc端与sap bw端之间增量凭证信息同步方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302685B2 (en) * | 2000-06-02 | 2007-11-27 | Honeywell International Inc. | Methods and apparatus for sharing slack in a time-partitioned system |
-
2015
- 2015-03-19 CN CN201510122519.1A patent/CN104699528B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012808A (zh) * | 2010-11-10 | 2011-04-13 | 上海光芒科技有限公司 | 云计算环境下的基于soa的可扩展的分布式架构 |
WO2012116513A1 (zh) * | 2011-02-28 | 2012-09-07 | 北京航空航天大学 | 并发优化的bpmn组合服务执行引擎及方法 |
CN103970854A (zh) * | 2014-05-05 | 2014-08-06 | 神华集团有限责任公司 | Sap ecc端与sap bw端之间增量凭证信息同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104699528A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7237110B2 (ja) | 故障予測方法、装置、電子設備、記憶媒体、及びプログラム | |
CN107016480B (zh) | 任务调度方法、装置及系统 | |
CN109871384B (zh) | 基于PaaS平台进行容器迁移的方法、系统、设备和存储介质 | |
US20170300359A1 (en) | Policy based workload scaler | |
CN107423823B (zh) | 一种基于r语言的机器学习建模平台架构设计方法 | |
US20170123777A1 (en) | Deploying applications on application platforms | |
CN109117141B (zh) | 简化编程的方法、装置、电子设备、计算机可读存储介质 | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
CN108984179B (zh) | 一种Linux下编译处理方法及装置 | |
CN104216785A (zh) | 通用策略任务系统及其实现方法 | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
CN106528065B (zh) | 一种线程获取方法及设备 | |
CN112199355B (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
US9832137B1 (en) | Provisioning system and method for a distributed computing environment using a map reduce process | |
CN111158800A (zh) | 基于映射关系构建任务dag的方法及装置 | |
Wu et al. | A distributed workflow management system with case study of real-life scientific applications on grids | |
CN103970611A (zh) | 基于计算机集群的任务处理方法 | |
CN109800090A (zh) | 一种数据集成系统及方法 | |
CN109829639A (zh) | 服务项目监控方法及装置 | |
CN113608751A (zh) | 推理服务平台的运行方法、装置、设备及存储介质 | |
CN104699528B (zh) | 基于NetWeaver的排程方法 | |
Goutam et al. | The performance evaluation of proactive fault tolerant scheme over cloud using CloudSim simulator | |
CN105868957A (zh) | 一种持续集成方法及装置 | |
WO2023154051A1 (en) | Determining root causes of anomalies in services | |
US20180005249A1 (en) | Optimize a resource allocation plan corresponding to a legacy software product sustenance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |