基于SOA的物料分发方法及物料分发装置与流程

文档序号:12177162阅读:216来源:国知局
基于SOA的物料分发方法及物料分发装置与流程

本发明涉及数据处理技术领域,具体而言,涉及一种基于SOA的物料分发方法和一种基于SOA的物料分发装置。



背景技术:

目前,企业在与省端ERP(Enterprise Resource Planning,企业资源计划)系统进行交互时,导入ERP系统的数据往往会在ERP端进行关键字段内容的校验,而过多的校验带来的是处理时间的延长和不确定错误的返回,甚至更有可能出现无返回响应消息的问题。由于这些问题的存在,使得在有一批次的数据需要分发给多省的ERP系统时,若其中某一省份的ERP系统出现无响应挂起的情况,则会影响向其它省份的ERP系统中正常分发数据。

考虑到物料数据分发频繁及数据量较大的问题,若希望物料数据能够快速导入及快速分发,需要减少物料分发系统与各省ERP系统之间的远程通信验证过程。

因此,如何能够在进行物料分发时,减少物料分发系统与各省ERP系统之间的远程通信验证过程,以实现物料数据的快速导入及快速分发成为亟待解决的技术问题。



技术实现要素:

本发明正是基于上述技术问题至少之一,提出了一种新的新的基于SOA的物料分发方案,可以实现物料数据的快速导入及快速分发,有效提高了物料数据的导入及分发速率,降低了出现导入错误的概率。

有鉴于此,根据本发明的第一方面,提出了一种基于SOA的物料分发方法,该方法包括以下步骤:

通过基于SOA(Service-Oriented Architecture,面向服务的体系结构)的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;

确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;

基于确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。

在该技术方案中,通过确定物料数据中的每条数据导入目标ERP系统需要采用的接口类型,使得能够根据每条数据导入目标ERP系统需要采用的接口类型来将待分发的物料数据进行分类,进而分别调用对应的接口服务来将物料数据导入目标ERP系统中,避免了直接将物料数据导入到目标ERP系统中,而目标ERP系统需要对数据量巨大的物料数据进行关键字段内容的校验而导致数据导入时间较长,以及可能出现的导入出错的问题,实现了物料数据快速导入ERP系统的目的。而在目标ERP系统为多个ERP系统时,即在需要向多个ERP系统分发数据时,通过采用本发明的上述方案能够实现将物料数据快速分发到每个ERP系统的效果。

其中,在将数据源系统中待分发的物料数据导入物料主数据系统时,可以仅通过一个SOA接口服务来实现物料数据的导入,进而主数据系统根据导入的物料数据的唯一标识(如唯一编码信息)来进行物料数据的新增或修改操作。

在上述技术方案中,优选地,基于确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统的步骤,具体包括:根据所述每条数据导入所述目标ERP系统需要采用的接口类型,将所述物料数据分为新增数据部分和更新数据部分;调用所述新增接口对应的接口服务将所述新增数据部分批量导入所述目标ERP系统,并调用所述更新接口对应的接口服务将所述更新数据部分批量导入所述目标ERP系统。

在该技术方案中,通过根据每条数据导入目标ERP系统需要采用的接口类型来将物料数据分为新增数据部分和更新数据部分,并调用相应的接口服务来将这两部分数据分别批量导入到目标ERP系统,使得能够有效提高数据的导入速率,避免了将物料数据中的每条数据依次导入ERP系统而造成导入时间过长的问题。

在本发明的一个实施例中,确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型的步骤,具体包括:

根据所述物料数据中的每条数据的标识信息,检索所述目标ERP系统的历史导入记录;

若所述物料数据中的任一条数据在所述历史导入记录中存在新增成功的记录,则确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据;

若所述物料数据中的任一条数据在所述历史导入记录中不存在新增成功的记录,则确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在该实施例中,由于每次导入数据都会有导入记录,因此通过根据物料数据中的每条数据的标识信息(如编码信息)来检索目标ERP系统的历史导入记录,使得能够确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若之前已经导入过,则说明需要对目标ERP系统中的数据进行更新,因此需要采用更新接口来导入目标ERP系统,若之前未导入过,则说明需要在目标ERP系统中增加该数据,因此需要采用新增接口来导入目标ERP系统。

在本发明的另一个实施例中,确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型的步骤,具体包括:

查询所述目标ERP系统,以判断所述物料数据中的每条数据的标识信息与所述目标ERP系统中已有数据的标识信息是否相同;

若所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息相同,则确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据;

若所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息都不同,则确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在该实施例中,可以直接在目标ERP系统中进行查询来确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若物料数据中的任一条数据的标识信息与ERP系统中已有数据的标识信息相同,则说明之前已经导入过,因此需要调用更新接口来导入目标ERP系统,以对目标ERP系统中的数据进行更新;若物料数据中的任一条数据的标识信息与目标ERP系统中已有数据的标识信息都不同,则说明之前没有导入过,因此需要调用新增接口来导入目标ERP系统。

在上述任一技术方案中,优选地,所述的基于SOA的物料分发方法,还包括:

接收所述目标ERP系统返回的针对所述物料数据中每条数据的导入状态消息;

若所述物料数据中的任一数据的导入状态消息为错误消息,则根据所述任一数据的标识信息记录错误导入日志;

若所述物料数据中的任一数据的导入状态消息为正确消息,则根据所述任一数据的标识信息记录成功导入日志。

在该技术方案中,通过接收目标ERP系统返回的针对物料数据中每条数据的导入状态消息,以基于此来记录错误导入日志和成功导入日志,一方面使得主数据系统和数据源系统能够根据导入日志来确定数据的导入情况,另一方面也使得在下次导入数据时,能够基于记录的导入日志来确定调用新增接口还是更新接口来导入数据。

根据本发明的第二方面,还提出了一种基于SOA的物料分发装置,包括:第一导入单元,用于通过基于SOA的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;处理单元,用于确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;第二导入单元,用于基于所述处理单元确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。

在该技术方案中,通过确定物料数据中的每条数据导入目标ERP系统需要采用的接口类型,使得能够根据每条数据导入目标ERP系统需要采用的接口类型来将待分发的物料数据进行分类,进而分别调用对应的接口服务来将物料数据导入目标ERP系统中,避免了直接将物料数据导入到目标ERP系统中,而目标ERP系统需要对数据量巨大的物料数据进行关键字段内容的校验而导致数据导入时间较长,以及可能出现的导入出错的问题,实现了物料数据快速导入ERP系统的目的。而在目标ERP系统为多个ERP系统时,即在需要向多个ERP系统分发数据时,通过采用本发明的上述方案能够实现将物料数据快速分发到每个ERP系统的效果。

其中,在将数据源系统中待分发的物料数据导入物料主数据系统时,可以仅通过一个SOA接口服务来实现物料数据的导入,进而主数据系统根据导入的物料数据的唯一标识(如唯一编码信息)来进行物料数据的新增或修改操作。

在上述技术方案中,优选地,所述第二导入单元包括:划分单元,用于根据所述每条数据导入所述目标ERP系统需要采用的接口类型,将所述物料数据分为新增数据部分和更新数据部分;执行单元,用于调用所述新增接口对应的接口服务将所述新增数据部分批量导入所述目标ERP系统,并用于调用所述更新接口对应的接口服务将所述更新数据部分批量导入所述目标ERP系统。

在该技术方案中,通过根据每条数据导入目标ERP系统需要采用的接口类型来将物料数据分为新增数据部分和更新数据部分,并调用相应的接口服务来将这两部分数据分别批量导入到目标ERP系统,使得能够有效提高数据的导入速率,避免了将物料数据中的每条数据依次导入ERP系统而造成导入时间过长的问题。

在本发明的一个实施例中,所述处理单元包括:检索单元,用于根据所述物料数据中的每条数据的标识信息,检索所述目标ERP系统的历史导入记录;第一确定单元,用于在所述物料数据中的任一条数据在所述历史导入记录中存在新增成功的记录时,确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据,并用于在所述物料数据中的任一条数据在所述历史导入记录中不存在新增成功的记录时,确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在该实施例中,由于每次导入数据都会有导入记录,因此通过根据物料数据中的每条数据的标识信息(如编码信息)来检索目标ERP系统的历史导入记录,使得能够确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若之前已经导入过,则说明需要对目标ERP系统中的数据进行更新,因此需要采用更新接口来导入目标ERP系统,若之前未导入过,则说明需要在目标ERP系统中增加该数据,因此需要采用新增接口来导入目标ERP系统。

在本发明的另一个实施例中,所述处理单元包括:判断单元,用于查询所述目标ERP系统,以判断所述物料数据中的每条数据的标识信息与所述目标ERP系统中已有数据的标识信息是否相同;第二确定单元,用于在所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息相同时,确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据,并用于在所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息都不同时,确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在该实施例中,可以直接在目标ERP系统中进行查询来确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若物料数据中的任一条数据的标识信息与ERP系统中已有数据的标识信息相同,则说明之前已经导入过,因此需要调用更新接口来导入目标ERP系统,以对目标ERP系统中的数据进行更新;若物料数据中的任一条数据的标识信息与目标ERP系统中已有数据的标识信息都不同,则说明之前没有导入过,因此需要调用新增接口来导入目标ERP系统。

在上述任一技术方案中,优选地,所述的基于SOA的物料分发装置,还包括:接收单元,用于接收所述目标ERP系统返回的针对所述物料数据中每条数据的导入状态消息;记录单元,用于在所述物料数据中的任一数据的导入状态消息为错误消息时,根据所述任一数据的标识信息记录错误导入日志,并用于在所述物料数据中的任一数据的导入状态消息为正确消息时,根据所述任一数据的标识信息记录成功导入日志。

在该技术方案中,通过接收目标ERP系统返回的针对物料数据中每条数据的导入状态消息,以基于此来记录错误导入日志和成功导入日志,一方面使得主数据系统和数据源系统能够根据导入日志来确定数据的导入情况,另一方面也使得在下次导入数据时,能够基于记录的导入日志来确定调用新增接口还是更新接口来导入数据。

通过以上技术方案,可以实现物料数据的快速导入及快速分发,有效提高了物料数据的导入及分发速率,降低了出现导入错误的概率。

附图说明

图1示出了根据本发明的第一个实施例的基于SOA的物料分发方法的流程示意图;

图2示出了根据本发明的第二个实施例的基于SOA的物料分发方法的流程示意图;

图3示出了根据本发明的第一个实施例的基于SOA的物料分发装置的示意框图;

图4示出了根据本发明的第二个实施例的基于SOA的物料分发装置的示意框图;

图5示出了图3和图4中所示的第二导入单元的内部结构示意图;

图6示出了图3和图4中所示的处理单元的第一种内部结构示意图;

图7示出了图3和图4中所示的处理单元的第二种内部结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的第一个实施例的基于SOA的物料分发方法的流程示意图。

如图1所示,根据本发明的第一个实施例的基于SOA的物料分发方法,包括以下步骤:

步骤S10,通过基于SOA的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;

步骤S12,确定将所述物料数据中的每条数据导入目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;

步骤S14,基于确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。

在该技术方案中,通过确定物料数据中的每条数据导入目标ERP系统需要采用的接口类型,使得能够根据每条数据导入目标ERP系统需要采用的接口类型来将待分发的物料数据进行分类,进而分别调用对应的接口服务来将物料数据导入目标ERP系统中,避免了直接将物料数据导入到目标ERP系统中,而目标ERP系统需要对数据量巨大的物料数据进行关键字段内容的校验而导致数据导入时间较长,以及可能出现的导入出错的问题,实现了物料数据快速导入ERP系统的目的。而在目标ERP系统为多个ERP系统时,即在需要向多个ERP系统分发数据时,通过采用本发明的上述方案能够实现将物料数据快速分发到每个ERP系统的效果。

其中,对于步骤S10,在将数据源系统中待分发的物料数据导入物料主数据系统时,可以仅通过一个SOA接口服务来实现物料数据的导入,进而主数据系统根据导入的物料数据的唯一标识(如唯一编码信息)来进行物料数据的新增或修改操作。

同时,导入物料主数据系统的物料数据中携带有物料数据将要分发到的目标ERP系统的信息即说明物料数据的分发策略是由数据源系统定义的,这样使得在产品的开发过程中,只需关注数据源系统与物料主数据系统之间的数据导入过程,以及物料主数据系统与目标ERP系统之间的数据导入过程。

进一步地,上述步骤S12在实现时具体有如下两种实现方式:

实现方式一:

步骤S12具体包括:

根据所述物料数据中的每条数据的标识信息,检索所述目标ERP系统的历史导入记录;

若所述物料数据中的任一条数据在所述历史导入记录中存在新增成功的记录,则确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据;

若所述物料数据中的任一条数据在所述历史导入记录中不存在新增成功的记录,则确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在实现方式一中,由于每次导入数据都会有导入记录,因此通过根据物料数据中的每条数据的标识信息(如编码信息)来检索目标ERP系统的历史导入记录,使得能够确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若之前已经导入过,则说明需要对目标ERP系统中的数据进行更新,因此需要采用更新接口来导入目标ERP系统,若之前未导入过,则说明需要在目标ERP系统中增加该数据,因此需要采用新增接口来导入目标ERP系统。

实现方式二:

步骤S12具体包括:

查询所述目标ERP系统,以判断所述物料数据中的每条数据的标识信息与所述目标ERP系统中已有数据的标识信息是否相同;

若所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息相同,则确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据;

若所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息都不同,则确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在实现方式二中,可以直接在目标ERP系统中进行查询来确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若物料数据中的任一条数据的标识信息与ERP系统中已有数据的标识信息相同,则说明之前已经导入过,因此需要调用更新接口来导入目标ERP系统,以对目标ERP系统中的数据进行更新;若物料数据中的任一条数据的标识信息与目标ERP系统中已有数据的标识信息都不同,则说明之前没有导入过,因此需要调用新增接口来导入目标ERP系统。

进一步地,步骤S14具体包括:根据所述每条数据导入所述目标ERP系统需要采用的接口类型,将所述物料数据分为新增数据部分和更新数据部分;调用所述新增接口对应的接口服务将所述新增数据部分批量导入所述目标ERP系统,并调用所述更新接口对应的接口服务将所述更新数据部分批量导入所述目标ERP系统。

具体地,通过根据每条数据导入目标ERP系统需要采用的接口类型来将物料数据分为新增数据部分和更新数据部分,并调用相应的接口服务来将这两部分数据分别批量导入到目标ERP系统,使得能够有效提高数据的导入速率,避免了直接将物料数据导入到目标ERP系统中,而目标ERP系统需要对数据量巨大的物料数据进行关键字段内容的校验而导致数据导入时间较长,以及可能出现的导入出错的问题。

进一步地,所述的基于SOA的物料分发方法,还包括:

接收所述目标ERP系统返回的针对所述物料数据中每条数据的导入状态消息;

若所述物料数据中的任一数据的导入状态消息为错误消息,则根据所述任一数据的标识信息记录错误导入日志;

若所述物料数据中的任一数据的导入状态消息为正确消息,则根据所述任一数据的标识信息记录成功导入日志。

在该技术方案中,通过接收目标ERP系统返回的针对物料数据中每条数据的导入状态消息,以基于此来记录错误导入日志和成功导入日志,一方面使得主数据系统和数据源系统能够根据导入日志来确定数据的导入情况,另一方面也使得在下次导入数据时,能够基于记录的导入日志来确定调用新增接口还是更新接口来导入数据。

综上,本发明的技术方案主要包括如下内容:

1、数据源系统(如集团供应链)通过调用SOA接口导入服务将一批次的物料数据导入物料主数据系统,导入物料主数据系统的物料数据中带有此批次物料数据的分发ERP省份及分发库规则。其中,分发ERP省份及分发库规则主要是为了确定此批次物料数据待分发至的ERP系统。

其中,数据源系统批量导入物料主数据系统时只有一个SOA接口服务,当导入物料主数据系统之后,物料主数据系统根据已有数据的编码(即标识信息)和导入的物料数据的唯一编码来判断是新增物料数据还是对原有的物料数据进行修改。

2、当物料数据保存到物料主数据系统之后,根据省份和库循环分发,确定所有物料数据分发到某省某库中的数据(也即确定分发到每个ERP系统中的数据),通过调用之前分发时记录下来的新增和更新是否成功的记录(即调用历史导入记录)来判断每条数据是否有过新增成功的记录,若有过新增成功的记录,则需调用更新接口服务;若没有过新增成功的记录,则应该调用新增接口服务。

3、通过以上的划分后,得到一部分数据是需要新增的,一部分数据是需要更新的,然后分别调用相应的接口,以实现往这个省这个库(即目标ERP系统)批量导入数据,减少了远程端(即物料主数据系统)与ERP系统的请求验证的次数,提高了导入效率。

4、每一批次物料数据在新增或更新ERP系统后,会返回每条数据对应的消息(即导入状态消息),根据导入时的唯一编码值跟返回的编码值匹配,在错误消息集合中查看每条数据是否存在错误的消息状态,如存在,则根据物料编码记录错误日志,如不存在则记录成功日志。

当然,也可以分别查看错误消息集合和正确消息集合来确定每条数据的导入状态;或者也可以仅查看正确消息集合来确定每条数据的导入状态。

5、同一物料编码的数据是否在某省某库中已存在,可以根据导入日志来进行判断,由于重复推送失败会存在多条记录,但新增成功只有一条记录,因此可以基于此来确定在下次导入数据时该调用哪种服务。即若判定存在新增成功的记录,则调用更新服务,若不存在新增成功的记录,则调用新增服务。若已存在新增成功的记录,但继续调用新增服务会导致系统报数据已存在的错误提示,造成物料数据下发不成功。

具体地,以下结合图2对本发明的技术方案做详细说明:

如图2所示,根据本发明的第二个实施例的基于SOA的物料分发方法,包括以下步骤:

步骤202,数据源系统批量导入数据服务到SOA平台。

步骤204,SOA平台调用主数据系统提供物料导入服务。

步骤202和步骤204实现的是数据源系统(如集团供应链)通过调用SOA接口导入服务将一批次的物料数据导入物料主数据系统的过程,导入物料主数据系统的物料数据中带有此批次物料数据的分发ERP省份及分发库规则。其中,分发ERP省份及分发库规则主要是为了确定此批次物料数据待分发至的ERP系统。

步骤206,物料主数据系统调用SOA平台的分发路由服务。

步骤208,SOA平台向各省ERP系统进行物料导入的过程。

步骤206和步骤208即为物料主数据系统根据传送过来的分发规则调用不同省份的ERP库,并根据日志记录分别调用ERP系统提供的导入服务或更新服务来批量导入物料数据。其中,分发调用的导入或更新服务也是通过SOA平台提供的路由服务,通过路由服务调用省端SOA平台服务来将物料数据导入省端,省端则会调用省ERP系统。

步骤210,各省ERP系统返回每条数据的导入结果。

步骤212,将每条数据的导入结果返回SOA平台。

步骤214,SOA平台监控错误集合。

步骤216,SOA平台将错误消息集合返回至物料主数据系统。当然,SOA平台也可以把所有导入结果返回物料主数据系统,而不单单返回错误消息集合。

步骤218,物料主数据系统根据错误消息集合存储每条数据的导入结果。

其中,调用服务的返回消息集合会返回到物料主数据系统,实现批量导入目标ERP系统,但日志则拆分成分别记录每一条数据的导入日志,这样就便于后续同样编码的物料再次导入时判断是该调用新增服务或更新服务。

步骤220,物料主数据系统将导入结果返回SOA平台。

步骤222和步骤224,SOA平台将导入结果返回给数据源系统。

此外,在确定是通过调用新增服务还是更新服务时,也可以是在每次导入ERP系统前先查询物料是否存在,再决定是调用导入服务还是更新服务,但是这样处理的效率相对较低。

在本发明的技术方案中,之所以根据日志记录区分开一批次物料数据中哪些数据需要调用新增服务,哪些需要调用更新服务,主要是考虑到数据量较大,如果按单条数据传送,则会由于数据量较大而出现接口拥堵的问题。

图3示出了根据本发明的第一个实施例的基于SOA的物料分发装置的示意框图。

如图3所示,根据本发明的第一个实施例的基于SOA的物料分发装置300,包括:第一导入单元302、处理单元304和第二导入单元306。

其中,第一导入单元302用于通过基于SOA的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;处理单元304用于确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;第二导入单元306用于基于所述处理单元304确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。

在该技术方案中,通过确定物料数据中的每条数据导入目标ERP系统需要采用的接口类型,使得能够根据每条数据导入目标ERP系统需要采用的接口类型来将待分发的物料数据进行分类,进而分别调用对应的接口服务来将物料数据导入目标ERP系统中,避免了直接将物料数据导入到目标ERP系统中,而目标ERP系统需要对数据量巨大的物料数据进行关键字段内容的校验而导致数据导入时间较长,以及可能出现的导入出错的问题,实现了物料数据快速导入ERP系统的目的。而在目标ERP系统为多个ERP系统时,即在需要向多个ERP系统分发数据时,通过采用本发明的上述方案能够实现将物料数据快速分发到每个ERP系统的效果。

其中,在将数据源系统中待分发的物料数据导入物料主数据系统时,可以仅通过一个SOA接口服务来实现物料数据的导入,进而主数据系统根据导入的物料数据的唯一标识(如唯一编码信息)来进行物料数据的新增或修改操作。

如图4所示,根据本发明的第二个实施例的基于SOA的物料分发装置400,在具有图3中所示的第一导入单元302、处理单元304和第二导入单元306的基础上,还包括:接收单元402和记录单元404。

其中,接收单元402用于接收所述目标ERP系统返回的针对所述物料数据中每条数据的导入状态消息;记录单元404用于在所述物料数据中的任一数据的导入状态消息为错误消息时,根据所述任一数据的标识信息记录错误导入日志,并用于在所述物料数据中的任一数据的导入状态消息为正确消息时,根据所述任一数据的标识信息记录成功导入日志。

在该技术方案中,通过接收目标ERP系统返回的针对物料数据中每条数据的导入状态消息,以基于此来记录错误导入日志和成功导入日志,一方面使得主数据系统和数据源系统能够根据导入日志来确定数据的导入情况,另一方面也使得在下次导入数据时,能够基于记录的导入日志来确定调用新增接口还是更新接口来导入数据。

在本发明的一个实施例中,如图5所示,上述的第二导入单元306包括:划分单元3062和执行单元3064。

其中,划分单元3062用于根据所述每条数据导入所述目标ERP系统需要采用的接口类型,将所述物料数据分为新增数据部分和更新数据部分;执行单元3064用于调用所述新增接口对应的接口服务将所述新增数据部分批量导入所述目标ERP系统,并用于调用所述更新接口对应的接口服务将所述更新数据部分批量导入所述目标ERP系统。

在该技术方案中,通过根据每条数据导入目标ERP系统需要采用的接口类型来将物料数据分为新增数据部分和更新数据部分,并调用相应的接口服务来将这两部分数据分别批量导入到目标ERP系统,使得能够有效提高数据的导入速率,避免了将物料数据中的每条数据依次导入ERP系统而造成导入时间过长的问题。

在本发明的一个实施例中,如图6所示,上述的处理单元304包括:检索单元304A和第一确定单元304B。

其中,检索单元304A用于根据所述物料数据中的每条数据的标识信息,检索所述目标ERP系统的历史导入记录;第一确定单元304B用于在所述物料数据中的任一条数据在所述历史导入记录中存在新增成功的记录时,确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据,并用于在所述物料数据中的任一条数据在所述历史导入记录中不存在新增成功的记录时,确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在该实施例中,由于每次导入数据都会有导入记录,因此通过根据物料数据中的每条数据的标识信息(如编码信息)来检索目标ERP系统的历史导入记录,使得能够确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若之前已经导入过,则说明需要对目标ERP系统中的数据进行更新,因此需要采用更新接口来导入目标ERP系统,若之前未导入过,则说明需要在目标ERP系统中增加该数据,因此需要采用新增接口来导入目标ERP系统。

在本发明的另一个实施例中,如图7所示,上述的处理单元304包括:判断单元304C和第二确定单元304D。

判断单元304C用于查询所述目标ERP系统,以判断所述物料数据中的每条数据的标识信息与所述目标ERP系统中已有数据的标识信息是否相同;第二确定单元304D用于在所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息相同时,确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据,并用于在所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息都不同时,确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。

在该实施例中,可以直接在目标ERP系统中进行查询来确定每个标识信息对应的数据之前是否已经导入过目标ERP系统,若物料数据中的任一条数据的标识信息与ERP系统中已有数据的标识信息相同,则说明之前已经导入过,因此需要调用更新接口来导入目标ERP系统,以对目标ERP系统中的数据进行更新;若物料数据中的任一条数据的标识信息与目标ERP系统中已有数据的标识信息都不同,则说明之前没有导入过,因此需要调用新增接口来导入目标ERP系统。

以上结合附图详细说明了本发明的技术方案,本发明提出了一种新的新的基于SOA的物料分发方案,可以实现物料数据的快速导入及快速分发,有效提高了物料数据的导入及分发速率,降低了出现导入错误的概率。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1