CN106484778A - 基于soa的物料分发方法及物料分发装置 - Google Patents
基于soa的物料分发方法及物料分发装置 Download PDFInfo
- Publication number
- CN106484778A CN106484778A CN201610825351.5A CN201610825351A CN106484778A CN 106484778 A CN106484778 A CN 106484778A CN 201610825351 A CN201610825351 A CN 201610825351A CN 106484778 A CN106484778 A CN 106484778A
- Authority
- CN
- China
- Prior art keywords
- data
- erp system
- interface
- target erp
- imported
- 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.)
- Pending
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/23—Updating
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于SOA的物料分发方法及物料分发装置,其中,基于SOA的物料分发方法包括:通过基于SOA的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;基于确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。本发明的技术方案可以实现物料数据的快速导入及快速分发,有效提高了物料数据的导入及分发速率,降低了出现导入错误的概率。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种基于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的物料分发方案,可以实现物料数据的快速导入及快速分发,有效提高了物料数据的导入及分发速率,降低了出现导入错误的概率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于SOA的物料分发方法,其特征在于,包括:
通过基于SOA的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;
确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;
基于确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。
2.根据权利要求1所述的基于SOA的物料分发方法,其特征在于,基于确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统的步骤,具体包括:
根据所述每条数据导入所述目标ERP系统需要采用的接口类型,将所述物料数据分为新增数据部分和更新数据部分;
调用所述新增接口对应的接口服务将所述新增数据部分批量导入所述目标ERP系统;
调用所述更新接口对应的接口服务将所述更新数据部分批量导入所述目标ERP系统。
3.根据权利要求1所述的基于SOA的物料分发方法,其特征在于,确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型的步骤,具体包括:
根据所述物料数据中的每条数据的标识信息,检索所述目标ERP系统的历史导入记录;
若所述物料数据中的任一条数据在所述历史导入记录中存在新增成功的记录,则确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据;
若所述物料数据中的任一条数据在所述历史导入记录中不存在新增成功的记录,则确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。
4.根据权利要求1所述的基于SOA的物料分发方法,其特征在于,确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型的步骤,具体包括:
查询所述目标ERP系统,以判断所述物料数据中的每条数据的标识信息与所述目标ERP系统中已有数据的标识信息是否相同;
若所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息相同,则确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据;
若所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息都不同,则确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。
5.根据权利要求1至4中任一项所述的基于SOA的物料分发方法,其特征在于,还包括:
接收所述目标ERP系统返回的针对所述物料数据中每条数据的导入状态消息;
若所述物料数据中的任一数据的导入状态消息为错误消息,则根据所述任一数据的标识信息记录错误导入日志;
若所述物料数据中的任一数据的导入状态消息为正确消息,则根据所述任一数据的标识信息记录成功导入日志。
6.一种基于SOA的物料分发装置,其特征在于,包括:
第一导入单元,用于通过基于SOA的接口服务将数据源系统中待分发的物料数据导入物料主数据系统,其中,导入所述物料主数据系统的所述物料数据中携带有所述物料数据将要分发到的目标ERP系统的信息;
处理单元,用于确定将所述物料数据中的每条数据导入所述目标ERP系统需要采用的基于SOA的接口类型,所述接口类型包括新增接口和更新接口;
第二导入单元,用于基于所述处理单元确定的接口类型,调用对应的接口服务来将所述物料数据导入所述目标ERP系统。
7.根据权利要求6所述的基于SOA的物料分发装置,其特征在于,所述第二导入单元包括:
划分单元,用于根据所述每条数据导入所述目标ERP系统需要采用的接口类型,将所述物料数据分为新增数据部分和更新数据部分;
执行单元,用于调用所述新增接口对应的接口服务将所述新增数据部分批量导入所述目标ERP系统,并用于调用所述更新接口对应的接口服务将所述更新数据部分批量导入所述目标ERP系统。
8.根据权利要求6所述的基于SOA的物料分发装置,其特征在于,所述处理单元包括:
检索单元,用于根据所述物料数据中的每条数据的标识信息,检索所述目标ERP系统的历史导入记录;
第一确定单元,用于在所述物料数据中的任一条数据在所述历史导入记录中存在新增成功的记录时,确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据,并用于
在所述物料数据中的任一条数据在所述历史导入记录中不存在新增成功的记录时,确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。
9.根据权利要求6所述的基于SOA的物料分发装置,其特征在于,所述处理单元包括:
判断单元,用于查询所述目标ERP系统,以判断所述物料数据中的每条数据的标识信息与所述目标ERP系统中已有数据的标识信息是否相同;
第二确定单元,用于在所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息相同时,确定采用所述更新接口向所述目标ERP系统中导入所述任一条数据,并用于
在所述物料数据中的任一条数据的标识信息与所述目标ERP系统中已有数据的标识信息都不同时,确定采用所述新增接口向所述目标ERP系统中导入所述任一条数据。
10.根据权利要求6至9中任一项所述的基于SOA的物料分发装置,其特征在于,还包括:
接收单元,用于接收所述目标ERP系统返回的针对所述物料数据中每条数据的导入状态消息;
记录单元,用于在所述物料数据中的任一数据的导入状态消息为错误消息时,根据所述任一数据的标识信息记录错误导入日志,并用于在所述物料数据中的任一数据的导入状态消息为正确消息时,根据所述任一数据的标识信息记录成功导入日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825351.5A CN106484778A (zh) | 2016-09-14 | 2016-09-14 | 基于soa的物料分发方法及物料分发装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825351.5A CN106484778A (zh) | 2016-09-14 | 2016-09-14 | 基于soa的物料分发方法及物料分发装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484778A true CN106484778A (zh) | 2017-03-08 |
Family
ID=58273828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610825351.5A Pending CN106484778A (zh) | 2016-09-14 | 2016-09-14 | 基于soa的物料分发方法及物料分发装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484778A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106910094A (zh) * | 2017-03-14 | 2017-06-30 | 深圳腾畅科技有限公司 | 一种数字奖励品智能分发平台及其智能分发方法 |
CN109165838A (zh) * | 2018-08-16 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种物料管理的方法、erp系统及存储介质 |
CN111598535A (zh) * | 2020-05-09 | 2020-08-28 | 西安精雕软件科技有限公司 | 一种基础物料的导入方法、系统、计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076793A (zh) * | 2004-08-31 | 2007-11-21 | 国际商业机器公司 | 企业数据集成系统的体系结构 |
CN101364108A (zh) * | 2008-09-24 | 2009-02-11 | 永凯软件技术(上海)有限公司 | 复杂大系统环境下的基于事驱动的车间作业动态调度方法 |
CN101634944A (zh) * | 2009-08-17 | 2010-01-27 | 浪潮集团山东通用软件有限公司 | Erp参照wms入库的接口方法 |
CN102034170A (zh) * | 2010-12-23 | 2011-04-27 | 东莞市高鑫机电科技服务有限公司 | 基于soa的业务数据的服务封装方法及集成系统 |
US20110184990A1 (en) * | 2010-01-22 | 2011-07-28 | Ronald Francis Murphy | System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries |
-
2016
- 2016-09-14 CN CN201610825351.5A patent/CN106484778A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076793A (zh) * | 2004-08-31 | 2007-11-21 | 国际商业机器公司 | 企业数据集成系统的体系结构 |
CN101364108A (zh) * | 2008-09-24 | 2009-02-11 | 永凯软件技术(上海)有限公司 | 复杂大系统环境下的基于事驱动的车间作业动态调度方法 |
CN101634944A (zh) * | 2009-08-17 | 2010-01-27 | 浪潮集团山东通用软件有限公司 | Erp参照wms入库的接口方法 |
US20110184990A1 (en) * | 2010-01-22 | 2011-07-28 | Ronald Francis Murphy | System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries |
CN102034170A (zh) * | 2010-12-23 | 2011-04-27 | 东莞市高鑫机电科技服务有限公司 | 基于soa的业务数据的服务封装方法及集成系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106910094A (zh) * | 2017-03-14 | 2017-06-30 | 深圳腾畅科技有限公司 | 一种数字奖励品智能分发平台及其智能分发方法 |
CN109165838A (zh) * | 2018-08-16 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种物料管理的方法、erp系统及存储介质 |
CN111598535A (zh) * | 2020-05-09 | 2020-08-28 | 西安精雕软件科技有限公司 | 一种基础物料的导入方法、系统、计算机设备 |
CN111598535B (zh) * | 2020-05-09 | 2023-06-13 | 西安精雕软件科技有限公司 | 一种基础物料的导入方法、系统、计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5528759A (en) | Method and apparatus for correlating network management report messages | |
CN108304554B (zh) | 文件拆分方法、装置、计算机设备和存储介质 | |
CN110070445B (zh) | 一种基于区块链系统的交易处理方法及装置 | |
CN107819627A (zh) | 系统故障处理方法及服务器 | |
CN106484778A (zh) | 基于soa的物料分发方法及物料分发装置 | |
CN110599093B (zh) | 机场行李全流程追踪方法及系统 | |
CN108415925A (zh) | 电子装置、数据调用日志生成及查询方法及存储介质 | |
CN109542894B (zh) | 用户数据集中存储方法、装置、介质和计算机设备 | |
CN111723159A (zh) | 一种基于区块链的数据验证方法和装置 | |
CN112214802A (zh) | 一种区块链智能合约消息发布订阅方法 | |
CN113360321B (zh) | 微服务重试调用方法、装置、电子设备及存储介质 | |
US7133913B2 (en) | Information routing | |
CN107844520A (zh) | 电子装置、车辆数据导入方法及存储介质 | |
CN107689955A (zh) | Sip信息分析方法及服务器 | |
CN115952146A (zh) | 一种应用于直流控制保护装置关键信息监管的文件管理系统 | |
CN110457018A (zh) | 一种基于Hadoop的数据管理系统及其管理方法 | |
CN112039893B (zh) | 私密交易处理方法、装置、电子设备及可读存储介质 | |
CN107786308B (zh) | 数据传输方法及终端设备 | |
CN109376509A (zh) | 一种kvm任务自动派发系统以及自动派发方法 | |
CN114553727A (zh) | 一种基于内容分发网络的数据处理方法及装置 | |
CN107169044A (zh) | 一种城市人才资源综合管理方法 | |
CN113642836A (zh) | 回调事件的处理方法、装置、计算机设备及存储介质 | |
CN112182107A (zh) | 名单数据获取方法、装置、计算机设备及存储介质 | |
CN110888935A (zh) | 一种基于区块链的数据交易方法 | |
CN110620785A (zh) | 一种基于报文标记数据流的并行检测方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170308 |