CN103970854B - Sap ecc端与sap bw端之间增量凭证信息同步方法 - Google Patents
Sap ecc端与sap bw端之间增量凭证信息同步方法 Download PDFInfo
- Publication number
- CN103970854B CN103970854B CN201410187005.XA CN201410187005A CN103970854B CN 103970854 B CN103970854 B CN 103970854B CN 201410187005 A CN201410187005 A CN 201410187005A CN 103970854 B CN103970854 B CN 103970854B
- Authority
- CN
- China
- Prior art keywords
- credential information
- sap
- voucher
- nrt
- node
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种SAP ECC端与SAP BW端之间增量凭证信息同步方法,包括:在SAP ECC端设置NRT监控进程以监测新增和/或变更的凭证信息;SAP BW端调用NRT监控进程以获取新增和/或变更的凭证信息的凭证编号;SAP BW端将所获取的凭证编号存储到NRT堆栈;以及SAP BW端,根据NRT堆栈中存储的凭证编号,调度基于凭证抽取的数据源抽取需要同步的凭证信息。通过上述技术方案,通过在SAP ECC端设置NRT监控进程,能够监测新增和/或变更的凭证信息;SAP BW端通过调用NRT监控进程能够快速获取新增和/或变更的凭证信息的凭证编号,进而实现SAP BW与SAPECC间凭证信息的近实时同步。
Description
技术领域
本发明涉及通信技术领域,具体地,涉及一种SAP ECC端与SAP BW端之间增量凭证信息同步方法。
背景技术
SAP BW是SAP Business information Warehouse的缩写,中文意思是“SAP数据仓库”。数据仓库的概念是W.H.Inmon1991年提出来,被人们尊称为“数据仓库之父”,在其著作《Building the Data Warehouse》一书中给出了数据仓库的一个简短而全面的定义:数据仓库是一个面向主题(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。根据数据仓库的相对稳定的特点,数据仓库中的数据主要是提供决策分析之用,涉及的操作主要是查询,因此数据一旦进入BW系统后,数据状态需要相对稳定,需要尽量少的修改和删除。随着信息化技术的发展,对BW系统如何能及时的反应OLTP(在线业务系统)的最新变化的要求日益增加,数据仓库中数据的稳定性和数据的时效性的如何取舍与平衡成为BW(数据仓库)系统在实施中的一个难点。
目前SAP ECC系统与SAP BW系统之间的数据同步是基于SAP数据源,通过定时数据抽取并按数据包实现数据加载的机制实现系统之间数据同步,目前SAP数据源考虑到数据完整性及效率因素,增量抽取机制主要都按天抽取增量数据,如资产数据源、财务数据源等,如频繁通过数据源抽取增量数据,首先当前的变动凭证会被反复抽取,同时对SAP ECC系统性能产生较大影响,因此SAP BW系统的数据抽取频率通常设定为每天晚上进行数据集中抽取,因此SAP BW中的数据的时效性会有1天的滞后期。
当企业对数据时效性存在较高要求时,如只是通过缩短数据源抽取数据的时间间隔,会受到数据源增量抽取效率、模型中产生的大量数据请求包、数据加载互锁等因素的影响,数据同步的时效性最好也需要数小时。如果用户在SAP ECC中新增或调整一笔凭证数据时,是无法满足用户希望快速的在SAP BW系统的报表中体现出来的需求。
针对SAP BW系统与ECC系统之间的数据实时同步的问题,开发了一套硬件解决方案(SAP HANA),通过超高性能的硬件设备将SAP ECC中的底表数据进行实时复制,以实现数据的同步。但该方案需要采购非常昂贵的硬件设备及相关专用软件,需要花费非常高昂的费用。
针对上述问题,现有技术中尚无良好解决方案。
发明内容
本发明的目的是提供一种方法,通过该方法能够实现SAP BW与SAPECC间近实时的同步。
为了实现上述目的,本发明提供一种SAP ECC端与SAP BW端之间增量凭证信息同步方法,该方法包括:在所述SAP ECC端设置NRT监控进程以监测新增和/或变更的凭证信息;所述SAP BW端调用所述NRT监控进程以获取所述新增和/或变更的凭证信息的凭证编号;所述SAP BW端将所获取的凭证编号存储到NRT堆栈;以及所述SAP BW端,根据所述NRT堆栈中存储的凭证编号,调度基于凭证抽取的数据源抽取需要同步的凭证信息。
进一步地,该方法包括:所述NRT监控进程对包含凭证基本信息的主表进行监控,以通过所述主表中的时间戳判断存在新增的凭证信息;以及所述NRT监控进程对包含凭证信息修改时间的堆栈表进行监控,以通过所述堆栈表中的凭证信息修改时间发现变更的凭证信息。
进一步地,在调度基于凭证抽取的数据源抽取凭证信息之后,该方法还包括:将所抽取的凭证信息加载至对应的BW数据模型。
进一步地,在所述SAP BW端将所获取的凭证编号存储到NRT堆栈之后,该方法还包括:滤除在待出报表账期范围外并且已同步的凭证信息,并从剩余的凭证信息中提取变更的且感兴趣的凭证信息;以及滤除所述感兴趣的凭证信息中已加载到持久数据缓存区(PSA)中的凭证信息;对比所述PSA中记录的凭证抽取时间与凭证信息变更的时间,标识上一步骤中凭证信息变更的时间晚于凭证抽取时间的凭证信息;以及根据滤除和标识的凭证信息的凭证编号更新所述NRT堆栈。
进一步地,所述滤除在待出报表账期范围外并且已同步的凭证信息,并从剩余的凭证信息中提取变更的且感兴趣的凭证信息的步骤包括:根据待出报表账期范围和凭证信息的账期信息,滤除所述账期范围外的变更的凭证信息;以及在所述账期范围内的变更的凭证信息中提取凭证信息的变更的时间在上一次同步后的变更的凭证信息。
进一步地,该方法还包括:将每个步骤划分为多个子任务节点;分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;
保存所述多个计算机节点运算处理的状态快照;以及当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
进一步地,该方法还包括:对所述多个计算机节点进行心跳检测;以及将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。
进一步地,该方法还包括:将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。
进一步地,该方法还包括:当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。
进一步地,该方法还包括:根据贪婪算法分配所述完成子任务节点所需的运算。
进一步地,所述计算机集群由部署云计算平台的计算机节点组成。
通过上述技术方案,通过在所述SAP ECC端设置NRT监控进程,能够监测新增和/或变更的凭证信息;所述SAP BW端通过调用所述NRT监控进程能够快速获取所述新增和/或变更的凭证信息的凭证编号,进而实现SAPBW与SAP ECC间凭证信息的近实时同步。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图;
图2是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图;
图3是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图;
图4是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图;
图5是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法中主表的结构示意图;
图6是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法中堆栈表的程序实施举例图;以及
图7是根据本发明示例性实施方式的BW数据模型结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是根据本发明实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图。如图1所示,本发明实施方式提供的一种SAP ECC端与SAP BW端之间增量凭证信息同步方法,该方法包括:S101,在所述SAP ECC端设置NRT监控进程以监测新增和/或变更的凭证信息;S102,所述SAP BW端调用所述NRT监控进程以获取所述新增和/或变更的凭证信息的凭证编号;S103,所述SAP BW端将所获取的凭证编号存储到NRT堆栈;以及S104,所述SAP BW端,根据所述NRT堆栈中存储的凭证编号,调度基于凭证抽取的数据源抽取需要同步的凭证信息。
通过上述技术方案,通过在所述SAP ECC端设置NRT监控进程,能够监测新增和/或变更的凭证信息;所述SAP BW端通过调用所述NRT监控进程能够快速获取所述新增和/或变更的凭证信息的凭证编号,进而实现SAPBW与SAP ECC间凭证信息的近实时同步。
优选地,在上述实施方式中可以在SAP BW端设置NRT平台(例如,能够通过接口调用NRT监控进程的软件和/或硬件平台),SAP BW端可以通过NRT平台调用所述NRT监控进程。进程和平台都具备相对独立且易操作的特点,开发使用成本低廉,且不会对现有系统带来额外负担。
在优选的实施方式中,该方法还可以包括:所述NRT监控进程对包含凭证基本信息的主表进行监控,以通过主表中的时间戳判断存在新增的凭证信息;以及NRT监控进程对包含凭证信息修改时间的堆栈表进行监控,以通过堆栈表中的凭证信息修改时间发现变更的凭证信息。
需要说明的是,本发明实施方式中描述的主表,即SAP主表,如图5所示,属于一组关联的二维表(SAP主表和SAP从表),通过这组二维表存储某一特定业务流程操作的相关信息,通过该相关表能够存储财务相关的凭证的完整信息。SAP系统中一笔凭证数据会基于系统处理逻辑的需要分散存储在多张主从表中,通过存在关联的关键字段(如凭证编号)进行关联,组成凭证数据的完整信息。通过在SAP主表或SAP从表中的“凭证创建日期”字段,NRT监控进程可以监控到在监控的时间段内,新增凭证的信息。而本发明实施方式中描述的堆栈表,即SAP日志堆栈表,如图6所示。在SAP系统中,针对部分业务的相关凭证的变动信息会被存储于一张日志表(日志堆栈表)中,在这张日志表中会基于时间顺序记录下每一笔发生变动的凭证的编号、帐期、及变动的时间戳。通过对SAP主表和SAP日志堆栈表进行监控能够十分便利地获得与凭证相关的时间信息,便于对凭证的新增及变更情况进行判断。
在实施方式中,在调度基于凭证抽取的数据源抽取凭证信息之后,该根据本发明的方法还可以包括:将所抽取的凭证信息加载至对应的BW数据模型的步骤。
在优选的实施方式中,在所述SAP BW端将所获取的凭证编号存储到NRT堆栈之后,该方法还包括:滤除在待出报表账期范围外并且已同步的凭证信息,并从剩余的凭证信息中提取变更的且感兴趣的凭证信息;以及滤除所述感兴趣的凭证信息中已加载到持久数据缓存区(PSA)中的凭证信息;对比所述PSA中记录的凭证抽取时间与凭证信息变更的时间,标识上一步骤中凭证信息变更的时间晚于凭证抽取时间的凭证信息;以及根据滤除和标识的凭证信息的凭证编号更新所述NRT堆栈。
通过上述实施方式,通过设置多重过滤条件,能够从大量待抽取凭证中找到所需的凭证,从而实现对大量待抽取凭证中有价值凭证信息的快速检索,进而大大缩短通过BW系统出具报表的时间。在实施方式中,感兴趣的凭证数据可以包括感兴趣的公司和/或公司范围的凭证数据。所获得的感兴趣的凭证数据可以定义为有价值的数据。通过定位有价值的数据,并对有价值的数据进行同步,避免了不必要的资源浪费。
进一步优选地,滤除在待出报表账期范围外并且已同步的凭证信息,并从剩余的凭证信息中提取变更的且感兴趣的凭证信息的步骤可以包括:根据待出报表账期范围和凭证信息的账期信息,滤除所述账期范围外的变更的凭证信息;以及在所述账期范围内的变更的凭证信息中提取凭证信息的变更的时间在上一次同步后的变更的凭证信息。
下面结合一个示例性实施方式进一步说明。
在一个示例性实施方式中,上述筛选和过滤方法可以包括:基于出具报表时帐期的限制要求(例如,某年中的某月),首先对不在当前报表出具的帐期范围内的变动凭证进行过滤,然后再基于凭证的变动时间进行过滤,排除通过标准程序已经同步的凭证数据。考虑到财务业务的实际需要,接着还可以基于凭证的公司代码进行过滤,排除公司代码不在当前报表范围内的凭证数据。显然,通过以上三步骤,可以从海量的变动凭证中屏蔽掉绝大多数的凭证记录。
执行完以上的三个步骤之后,接着可以针对筛选出来的凭证记录再进行逐条鉴别。具体的鉴别步骤可以包括:通过比对PSA中的历史数据包,定位尚未加载的凭证;通过比对PSA中凭证抽取时间与变动凭证的变动时间,定位需要重新加载的凭证;以及通过BW数据模型中的数据请求包的加载状态与时间,判断属于在途数据的凭证,对于属于在途数据的凭证,需要继续等待完成加载操作。
通过以上方法,能够将有价值的凭证信息提示给用户,即提供给用户的都是用户需要的凭证信息。当存在数据快速同步需求时,可以选中凭证编号并调用基于凭证抽取的数据源进行凭证数据的抽取,并通过例如基于快速数据加载链将这些凭证数据快速加载至相应的数据模型。
下面对上述方法的各个步骤进行详细描述。
关于变动凭证的帐期过滤:在实际的处理中,首先会判断凭证的帐期信息,根据出具报表时帐期的限制要求,对不在当前报表出具的帐期范围内的变动凭证进行过滤。例如:在每个月初出具上一月份财务报表时,报表取数的范围是帐期小于等于上一月份。通常当日的变动凭证中绝大多数帐期等于当月,是报表出具不需要的数据,可以滤除。
关于凭证的变动时间过滤:通过该过程可以选取最近一段时间内变动的凭证,因为正常情况下,SAP BW会定期与SAP ECC系统进行数据同步,时间间隔通常是1天或半天一次。因此,影响报表出具的数据通常是在上一次数据同步之后发生变动的凭证,因此可以通过凭证的变动时间过滤掉已经完成同步的凭证记录。
关于凭证的公司范围过滤:通过该过程可以选取当前要出具的报表所涉及的相关公司的凭证数据。因为各个公司出具报表的时间不同,各公司对SAP BW数据有时效性要求的时间段是不同的,因此当需要出具报表时,仅筛选出当期用户所属公司的凭证信息即可。
关于PSA历史数据包存在性比对:该过程会将通过以上三个步骤筛选出来的凭证记录继续进行逐条比对与判断,通过在数据源的PSA中查询历史数据包中进行检索,判断凭证是否已经被加载过。标识出尚未加载过的凭证(例如,为有价值的凭证),可以提示给用户。
关于凭证抽取时间与变动时间比对:针对上一步骤中已经被加载过的凭证记录,需要进一步比对在PSA中记录的凭证抽取时间与变动凭证的变动时间,确认时间的先后顺序。标识出凭证变动时间晚于抽取时间的凭证(例如,为有价值的凭证),同样可以提示给用户。
关于数据模型加载完整性比对:针对变动凭证涉及的相关BW数据模型,需要进一步判断这些数据模型中的数据加载请求包是否已经被成功加载完成,如尚未加载至最终数据模型,可以判断存在在途的数据。作为举例的BW数据模型可以如图5所示。在实施方式中的BW数据模型可以是在SAPBW系统中一组用于存放数据的模型,根据数据加工及数据展示的需要,BW数据模型通常采用分层设计,举例如“抽取层”存储原始数据,“转换层”存储进行过加工的数据,“展示层”存储汇总级数据。由于SAP BW系统中的数据模型采用上述分层设计,因此增量数据会以数据包的形式在例如图5所示的结构中逐层加载。例如,当数据包加载至“展示层”后,可供最终查询及报表使用,当数据包未加载至“展示层”时,增量数据无法被最终查询及报表访问到,这部分数据被称为“在途数据”。因此,在实施方式中,根据数据包得加载状态可以判断是否存在在途的数据,以及可以根据判断存在在途数据的判断结果提示等待加载完成。
通过上述方法,能够实现对大量待抽取凭证中有价值凭证信息的快速检索,进而大大缩短通过BW系统出具报表的时间。
图2是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图。如图2所示,根据本发明的一个实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法,包括:在SAP ECC端开发NRT(Nearly Realtime,近实时)监控进程,以快速诊断出凭证信息的新增和变更情况。在SAP BW端部署NRT平台,通过调用ECC端的NRT监控进程获取增量及变动的凭证编号。将获取的新增及变动的凭证编号存储在NRT堆栈中。NRT平台提供凭证数据的筛选和过滤功能,将有价值的凭证信息标识出来,例如提示给用户。当存在数据快速同步需求时,可以选中凭证编号并调用基于凭证抽取的数据源进行数据的抽取,并通过快速数据加载链将这些凭证数据快速加载至相应的数据模型。
在SAP ECC端开发NRT监控进程,通过高效监控程序,直接定位到凭证信息的主表,利用主表中的时间戳可以确定新增凭证,而通过堆栈表可以直接定位变动凭证的信息。可选地,可结合冲销凭证、清账凭证的业务机制获取相关凭证信息,并同时通过公司代码、财务帐期等进行数据筛选,能够提升监控程序的运行效率。在SAP BW端可以将获取变动凭证的信息的响应时间提升至秒级,基本可以实现实时获取凭证的新增与变动信息。
在SAP BW端部署NRT平台,NRT平台可以调度NRT监控进程,以获取SAP ECC端的新增、修改凭证并将凭证信息保存至NRT堆栈。NRT平台会通过一系列筛选和过滤算法,将NRT堆栈中有价值的凭证编号突显出来,以例如提示给用户。当存在同步SAP ECC端新增凭证的需求是,可以基于NRT平台提供的筛选信息,选中需要的凭证编号,然后通过NRT平台调度对应的基于凭证抽取的数据源抽取数据,再通过快速数据加载链将这些凭证数据快速加载至相应的数据模型。
本发明的实施方式提供的SAP ECC端与SAP BW端之间增量凭证信息同步方法,利用NRT监控进程可以在SAP BW端接近与实时的获取到SAPECC中的凭证的变动信息,NRT平台基于2/8法则,从新增、修改的凭证中筛选出真正有价值的凭证信息,大大的缩小了数据抽取范围,同时结合用户的实际需求与判断,通过基于凭证的抽取及快速数据加载链,可以在几分钟内将用户真正需要的凭证信息快速加载到SAP BW系统的相应模型中,供报表出具使用。很好的满足了用户对SAP BW系统时效性的要求。
在实施方式中,本发明提供的SAP ECC端与SAP BW端之间增量凭证信息同步方法可以按照任务链形式按步骤顺序进行。虽然新增和/或变更的凭证信息与总量凭证信息相比可能是很小的一部分,然而对于海量级别的总量凭证信息而言,很小的一部分也是超量的。并且对新增和/或变更进行发现也需要在总量凭证信息中进行。这样的运算量,普通的系统和硬件难以完成,一般需要高性能的硬件支持,而高性能的硬件势必需要高昂的成本投入。为此,本发明的实施方式中提供以下方法解决大数据量与性能不高的硬件系统之间的矛盾。
图3是根据本发明示例性实施方式的SAP ECC端与SAP BW端之间增量凭证信息同步方法流程图。如图3所示,本发明实施方式提供的SAP ECC端与SAP BW端之间增量凭证信息同步方法,可以包括:S301,将每个步骤划分为多个子任务节点;S302,分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;S303,保存所述多个计算机节点运算处理的状态快照;以及S304,当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
通过上述技术方案,将完成一个任务链步骤所需的运算分配到多个计算机节点进行运算处理,能够将运算量化整为零,提高任务运行速度;通过保存运算处理的状态快照,在任务链步骤因故中断时,能够将任务链步骤恢复到中断前状态,从而从中断前状态开始继续执行任务链。因此,通过上述技术方案,当任务链步骤或节点失败时,能够从失败的步骤或节点继续执行任务链,而无需从初始状态重复执行,提高任务处理效率、降低资源浪费。
在优选的实施方式中,上述方法还可以包括:对多个计算机节点进行心跳检测;以及将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。通过心跳检测可以确定进行运算的计算机节点的工作状态。为了确保分配到每个计算机节点的运算都能够完成,当出现心跳检测无响应的计算机时,可以将分配到该计算机节点的运算重新分配到其他心跳检测正常的计算机节点。优选地,重新分配到的计算机节点可以是已完成被分配的运算的计算机节点,这样可以充分利用空闲计算资源完成运算。
为了使完成任务链中每个任务节点或子任务节点的运算的计算机节点能够获取运算所需的数据,在实施方式中,方法还可以包括:将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。这样所有计算机节点可以在运算开始时从共享存储器获取运算数据,以及在运算完成时向共享存储器中存储运算结果。这里需要说明的是,计算机节点运算处理的状态快照也可以保存在共享存储器中,或者也可以单独设置快照存储器。存储器的实例包括但不局限于只读存储器(ROM)、随机存取存储器(RAM)、寄存器、缓冲存储器、半导体存储设备等。
在不同的实施方式中,该方法还可以包括:当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。在实施方式中,存在多种情况需要执行上述步骤。例如,对于大量运算,需要使用计算机集群中的所有计算机节点参与的子任务节点的运算,只有当所有计算机节点都完成运算处理后才能继续分配下一子任务节点的运算。再如,对于需要得到上一子任务节点的全部运算结果后才能分配下一子任务节点的运算的情况,方法中也需要包含这样的步骤。当然,在实施方式中,也可以将不同子任务节点的运算同时分配到计算机集群中的不同计算机节点组进行处理。
下面结合图4对SAP ECC端与SAP BW端之间增量凭证信息同步方法的实现过程进行说明。如图4所示,在一个任务链从开始到结束之间可以有多个任务节点(或网状处理节点),每个任务节点中可以包括(例如具有网状拓扑结构的)多个子任务节点,每个子任务节点的运算可以被分配到计算机集群中的一个或多个计算机节点(图中未示出)进行处理。每个计算机节点所要进行的运算可以由统一的总控单元进行,该总控单元可以是计算机集群中的一个计算机节点,同时负责计算机集群中其他所有计算机节点的心跳检测。与运算相关的上下文共享数据(例如,计算机节点的运算处理结果)可以被保存到与所述计算机集群中的所有计算机节点连接的共享存储器。在完成最后一个网状处理节点的运算后,可以输出运算结果,例如输出到目标应用。需要说明的是,图4中示出了包括三个网状处理节点的任务链,然而附图仅出于示例性目的,并不对任务链的长度进行限制。例如根据本发明的SAP ECC端与SAP BW端之间增量凭证信息同步方法可以使用4个网状处理节点,分别对图1中所示的各个步骤进行处理。
在优选的实施方式中,可以根据贪婪算法分配所述完成子任务节点所需的运算。即,可以将最复杂的运算交给计算能力最强的计算机节点进行处理,进而确保整个运算的处理速度。
在优选的实施方式中,计算机集群可以由部署云计算平台的计算机节点组成,从而可以利用云计算平台的资源优势,降低大量运算对计算机节点的硬件要求。例如,可以使用HADOOP云计算平台,而计算机节点可以为部署了云计算平台(例如HADOOP的)LINUX系统服务器。以下,结合HADOOP云计算平台对根据本发明的SAP ECC端与SAP BW端之间增量凭证信息同步方法的实现方式进行说明(以上已经具体分析了方法的每个步骤的实现及作用,这里仅从普遍适用角度对任务链的执行过程进行描述)。
在一个实施方式中,可以使用任务链开发模式以及命令模式搭配HADOOP云计算平台来实现任务链执行过程。其具体的实施方式如下:
(1)根据业务需求(处理顺序)把任务处理链进行功能切分;
(2)确定任务链中任务先后顺序以及依赖关系;
(3)注册统一接口,继承接口对每个任务进行具体实现;
(4)选取多台(例如,5至10台)普通服务器(LINUX操作系统),作为报表数据计算处理的节点;
(5)在这些普通的服务器上部署HADOOP平台,将这些机器组合成一个分布式计算集群;
(6)在分布式计算集群上初始化分布式文件系统(HDFS);
(7)将处理链所需数据文件推送至HADOOP分布式文件系统(HDFS);
(8)在节点进行计算的时候,系统会自动对输入文件进行切分,分发至HADOOP集群进行分布式并行计算;
(9)系统会对HADOOP集群进行计算的节点进行心跳检测,实时监测网状任务节点的计算运行状态,及时移除无响应节点,并将无响应节点计算数据分发至其他节点继续进行计算;
(10)所有节点进行计算完成后,数据被发送至链式节点上下文共享数据区域内,可供其他节点使用;
(11)在链式节点运行过程中,系统自动生成当前计算状态快照,并能够在处理链发生错误的时候提供足够的数据可供任务链继续进行数据处理;以及
(12)将最终数据结果统一输出给目标应用,任务链结束。
通过上面实施方式提供的任务处理方法能够将方法中的每个步骤的运算分布到多个计算节点进行处理,还能够实现任务中断后的继续执行而无需从任务链的初始状态重复执行,因而能够极大地提高任务处理效率。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。例如,可以将计算机节点改变为计算节点或计算单元。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (10)
1.一种SAP ECC端与SAP BW端之间增量凭证信息同步方法,其特征在于,该方法包括:
在所述SAP ECC端设置近实时NRT监控进程以监测新增和/或变更的凭证信息;
所述SAP BW端调用所述NRT监控进程以获取所述新增和/或变更的凭证信息的凭证编号;
所述SAP BW端将所获取的凭证编号存储到NRT堆栈;
滤除在待出报表账期范围外并且已同步的凭证信息,并从剩余的凭证信息中提取变更的且感兴趣的凭证信息;以及
滤除所述感兴趣的凭证信息中已加载到持久数据缓存区PSA中的凭证信息;
对比所述PSA中记录的凭证抽取时间与凭证信息变更的时间,标识上一步骤中凭证信息变更的时间晚于凭证抽取时间的凭证信息;
根据滤除和标识的凭证信息的凭证编号更新所述NRT堆栈;以及
所述SAP BW端,根据所述NRT堆栈中存储的凭证编号,调度基于凭证抽取的数据源抽取需要同步的凭证信息。
2.根据权利要求1所述的方法,其特征在于,该方法包括:
所述NRT监控进程对包含凭证基本信息的主表进行监控,以通过所述主表中的时间戳判断存在新增的凭证信息;以及
所述NRT监控进程对包含凭证信息修改时间的堆栈表进行监控,以通过所述堆栈表中的凭证信息修改时间发现变更的凭证信息。
3.根据权利要求1所述的方法,其特征在于,在调度基于凭证抽取的数据源抽取凭证信息之后,该方法还包括:
将所抽取的凭证信息加载至对应的BW数据模型。
4.根据权利要求1所述的方法,其特征在于,所述滤除在待出报表账期范围外并且已同步的凭证信息,并从剩余的凭证信息中提取变更的且感兴趣的凭证信息的步骤包括:
根据待出报表账期范围和凭证信息的账期信息,滤除所述账期范围外的变更的凭证信息;以及
在所述账期范围内的变更的凭证信息中提取凭证信息的变更的时间在上一次同步后的变更的凭证信息。
5.根据权利要求1-4中任一项权利要求所述的方法,其特征在于,该方法还包括:
将每个步骤划分为多个子任务节点;
分配完成子任务节点所需的运算到计算机集群中的多个计算机节点进行运算处理;
保存所述多个计算机节点运算处理的状态快照;以及
当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
对所述多个计算机节点进行心跳检测;以及
将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。
7.根据权利要求5所述的方法,其特征在于,该方法还包括:
将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。
8.根据权利要求5所述的方法,其特征在于,该方法还包括:
当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。
9.根据权利要求5所述的方法,其特征在于,该方法还包括:
根据贪婪算法分配所述完成子任务节点所需的运算。
10.根据权利要求5所述的方法,其特征在于,所述计算机集群由部署云计算平台的计算机节点组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410187005.XA CN103970854B (zh) | 2014-05-05 | 2014-05-05 | Sap ecc端与sap bw端之间增量凭证信息同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410187005.XA CN103970854B (zh) | 2014-05-05 | 2014-05-05 | Sap ecc端与sap bw端之间增量凭证信息同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970854A CN103970854A (zh) | 2014-08-06 |
CN103970854B true CN103970854B (zh) | 2017-05-17 |
Family
ID=51240351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410187005.XA Active CN103970854B (zh) | 2014-05-05 | 2014-05-05 | Sap ecc端与sap bw端之间增量凭证信息同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970854B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699528B (zh) * | 2015-03-19 | 2018-05-04 | 神华集团有限责任公司 | 基于NetWeaver的排程方法 |
CN104699974A (zh) * | 2015-03-19 | 2015-06-10 | 神华集团有限责任公司 | 基于sap的数据抽取方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923566A (zh) * | 2010-06-24 | 2010-12-22 | 浙江协同数据系统有限公司 | 一种基于触发器的数据增量抽取方法 |
CN102508835A (zh) * | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 基于日志管理包的增量数据实时同步装置和方法 |
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102821111A (zh) * | 2012-09-07 | 2012-12-12 | 普华基础软件股份有限公司 | 文件云存储实时同步方法 |
CN103442042A (zh) * | 2013-08-14 | 2013-12-11 | 福建天晴数码有限公司 | 增量数据同步方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941397B2 (en) * | 2004-02-25 | 2011-05-10 | International Business Machines Corporation | Dynamically capturing data warehouse population activities for analysis, archival, and mining |
-
2014
- 2014-05-05 CN CN201410187005.XA patent/CN103970854B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923566A (zh) * | 2010-06-24 | 2010-12-22 | 浙江协同数据系统有限公司 | 一种基于触发器的数据增量抽取方法 |
CN102508835A (zh) * | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 基于日志管理包的增量数据实时同步装置和方法 |
CN102541640A (zh) * | 2011-12-28 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种集群gpu资源调度系统和方法 |
CN102821111A (zh) * | 2012-09-07 | 2012-12-12 | 普华基础软件股份有限公司 | 文件云存储实时同步方法 |
CN103442042A (zh) * | 2013-08-14 | 2013-12-11 | 福建天晴数码有限公司 | 增量数据同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103970854A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1897025B (zh) | 海量数据处理中多线程工作包并行的etl技术 | |
CN106649378B (zh) | 一种数据同步方法及装置 | |
CN102831120B (zh) | 一种数据处理方法及系统 | |
US20180025057A1 (en) | M x n dispatching in large scale distributed system | |
CN102508709B (zh) | 购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法 | |
CN108804697A (zh) | 基于Spark的数据同步方法、装置、计算机设备和存储介质 | |
CN106980678A (zh) | 基于zookeeper技术的数据分析方法及系统 | |
CN106156115A (zh) | 一种资源调度方法及装置 | |
CN103246549B (zh) | 一种数据转存的方法及系统 | |
CN105933446A (zh) | 一种大数据平台业务双活实现方法及系统 | |
CN107844343A (zh) | 一种复杂服务端应用系统的升级系统及方法 | |
CN106936899A (zh) | 分布式统计分析系统的配置方法及分布式统计分析系统 | |
CN110321383A (zh) | 大数据平台数据同步方法、装置、计算机设备及存储介质 | |
CN106354876A (zh) | 一种数据处理系统和方法 | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN104580381B (zh) | 一种在多节点网络中执行作业任务的方法 | |
CN103366022A (zh) | 信息处理系统及其处理方法 | |
CN105989163A (zh) | 数据实时处理方法及系统 | |
CN107203552A (zh) | 垃圾回收方法及装置 | |
CN102662650A (zh) | 一种基于动态业务流程引擎实现方法和系统 | |
CN106101212A (zh) | 云平台下的大数据访问方法 | |
CN106681656A (zh) | 一种动态可调的云存储系统容错方法 | |
CN103970854B (zh) | Sap ecc端与sap bw端之间增量凭证信息同步方法 | |
CN103365740A (zh) | 一种数据冷备方法及装置 | |
CN104239520B (zh) | 一种基于历史信息的hdfs数据块放置策略 |
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 |