一种数据集成方法、设备和计算机可读存储介质与流程

文档序号:30662174发布日期:2022-07-06 01:59阅读:104来源:国知局
一种数据集成方法、设备和计算机可读存储介质与流程

1.本技术涉及数据处理技术领域,特别是涉及一种数据集成方法、设备和计算机可读存储介质。


背景技术:

2.erp(enterprise resource planning,企业资源计划)系统作为集成化信息管理系统,需要和其他业务系统进行数据交换,从而将数据集成进行管理,例如,和电商系统进行电子商务数据的交换。数据交换或者说数据集成的过程中,常常因为数据规模过大、具有依赖关系的两数据集成顺序错误、系统间数据含义存在差异等原因导致数据集成过程中出现问题。
3.本技术的申请人在长期的研发过程中,发现现有的数据集成过程中容易出错,导致集成数据出现一致性问题,且出现错误的处理过程过于复杂,需要人工借助系统日志进行排查,技术人员参与数据修复的过程,解决错误的效率低,成本高。


技术实现要素:

4.本技术主要解决的技术问题是提供一种数据集成方法、设备和计算机可读存储介质,能够提高数据集成过程中的数据集成一致性。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供一种数据集成方法,该方法包括:接收目标系统发送的第一数据集成请求,第一数据集成请求用于请求对第一业务数据进行集成;执行第一数据集成请求,得到数据集成结果;若数据集成结果为失败,则统计第一业务数据的集成失败次数,并记录失败原因;在判断满足第一预设条件后,再次执行第一数据集成请求,其中,第一预设条件包括间隔预设时间、响应于用户操作和失败原因消除中的至少一者。
6.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种数据集成设备,该数据集成设备包括处理器和存储器,存储器用于存储程序数据,处理器用于执行程序数据以实现上述方法。
7.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储程序数据,程序数据能够被执行,用以实现上述方法。
8.在上述方案中,通过对目标系统发送的数据集成请求进行处理从而对目标数据进行集成;执行目标系统发送的第一数据集成请求,得到数据集成结果;若数据集成结果为失败,则统计第一业务数据的集成失败次数,并记录失败原因;在判断满足第一预设条件后,再次执行第一数据集成请求,通过上述方式,在数据集成请求处理失败,即数据集成失败时,能够定时或者在失败原因消除后自动重新处理该请求,或者基于用户操作重新处理该请求,无需逐个等待技术人员排查以及修复,提高了数据集成出错时的处理效率,提高对目标系统的业务数据的集成效率,进而提高与目标系统之间的数据一致性。
附图说明
9.图1是本技术数据集成方法一实施例的流程示意图;
10.图2是本技术数据集成方法另一实施例的流程示意;
11.图3是本技术数据集成方法另一实施例的流程示意图;
12.图4是本技术步骤s330另一实施例的流程示意图;
13.图5是本技术步骤s340另一实施例的流程示意图;
14.图6是本技术数据集成设备一实施例的框架示意图;
15.图7是本技术计算机可读存储戒指一实施例的框架示意图。
具体实施方式
16.为使本技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本技术进一步详细说明。
17.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
18.可以理解的是,本技术方法可以包含任一个下述方法实施例以及任意不冲突的下述方法实施例的组合所提供的方法。
19.可以理解的是,本技术中的数据集成方法可以由数据集成设备执行,也可以简称为设备,数据执行设备为具有执行能力的任意设备,例如,手机、计算机、平板电脑等。
20.请参阅图1,图1是本技术数据集成方法一实施例的流程示意图,该方法包括:
21.步骤s110:接收目标系统发送的第一数据集成请求。
22.需要说明的是,本技术中设备可以运行一用于集成数据的系统即为数据集成系统,随着业务的进行,目标系统中会产生业务数据,数据集成系统需要获取目标系统中的业务数据,也即目标数据,那么该数据集成系统和目标系统之间存在目标数据的集成需求,通过由数据集成系统提供接口,目标系统在业务数据产生后,即调用接口向数据集成系统发送数据集成请求的方式实现对数据的集成,其中,第一数据集成请求用于请求对第一业务数据进行集成。具体举例,设备运行的用于数据集成的系统可以为erp系统,目标系统可以为电商系统,由于使用erp系统的用户在电商系统中进行了交易,故而电商系统中保存有用户的电商数据,例如,交易的往来单位、采购订单数据、发货数据等。而用户使用erp系统进行企业信息集成化管理,故而erp系统和电商系统之间存在电商数据的集成需求,第一业务数据为与用户相关的电商数据,例如,采购订单信息、发货信息等。erp系统提供业务数据接口,电商系统可以调用该业务数据接口,向目标系统发送第一数据集成请求,从而实现第一业务数据的集成。
23.需要说明的是,依据业务阶段的不同,业务数据可以划分为多类,对于每一类业务数据,分别对应一个业务数据接口,目标系统会依据第一业务数据的数据类型调用相应的业务数据接口。目标系统中会依照业务进度不断生成业务数据,当一业务数据生成之后,目标系统就会调用接口,发送一数据集成请求,故而目标系统可以多次调用接口,发送多条数据集成请求,本技术中的第一数据集成请求即为目标系统发送的一条数据集成请求。
24.步骤s120:执行第一数据集成请求,得到数据集成结果。
25.其中,数据集成结果包括集成成功或集成失败,可以理解的是,一些情况下,执行第一数据集成请求的过程中可能出现错误,导致数据集成失败,若数据集成结果为失败,则执行步骤s130。
26.步骤s130:统计第一数据集成请求的执行失败次数,并记录失败原因。
27.具体地,设备可以将第一数据集成请求的失败原因以错误日志的形式进行存储,从而实现将第一数据集成请求执行过程中出现的问题结构化存储,从而能够基于结构化存储的问题进行后续的处理,例如,再次执行第一数据集成请求。具体来说,设备可以将数据集成请求的失败原因进行结构化存储,而后在判断该失败原因消除之后再次执行该数据集成请求。另外,设备可以缓存执行失败的第一数据集成请求,以供后续在满足第一预设条件后再次执行该第一数据集成请求。
28.步骤s140:判断是否满足第一预设条件。
29.若是,则再次执行步骤s120,即在数据集成结果为失败的情况下,在满足第一预设条件后,再次执行第一数据集成请求,其中,第一预设条件包括间隔预设时间、响应于用户操作和失败原因消除中的至少一者。
30.其中,预设时间可以为用户依据需求确定的时间,并且用户可以对该预设时间进行调整,具体地,设备可以从第一数据集成请求的最近一次执行失败开始计时,在当前时间满足间隔预设时间这一第一预设条件后,再次执行步骤s120。
31.具体以满足响应于用户操作这一第一预设条件为例进行说明,设备可以为用户提供数据集成情况跟踪页面,并将执行失败的第一数据集成请求以及对应的所有历史失败原因显示于该页面供用户查看,并且响应于用户在该页面的操作,再一次执行用户在该页面中选中的数据集成请求。
32.在上述方案中,通过对目标系统发送的数据集成请求进行处理从而对目标数据进行集成;执行目标系统发送的第一数据集成请求,得到数据集成结果;若数据集成结果为失败,则统计第一业务数据的集成失败次数,并记录失败原因;在判断满足第一预设条件后,再次执行第一数据集成请求,通过上述方式,在数据集成请求处理失败,即数据集成失败时,能够定时或者在失败原因消除后自动重新处理该请求,或者基于用户操作重新处理该请求,无需逐个等待技术人员排查以及修复,提高了数据集成出错时的处理效率,提高对目标系统的业务数据的集成效率,进而提高与目标系统之间的数据一致性。
33.请参阅图2,图2是本技术数据集成方法另一实施例的流程示意图,该方法还包括:
34.步骤s210:接收目标系统发送的第二数据集成请求。
35.其中,第二数据集成请求用于请求对基础数据进行集成,需要说明的是,业务数据为基于基础数据而生成的,业务数据中包括基础数据,基础数据为业务数据依赖的上游数据,继续以电商系统为目标系统进行说明,基础数据可以包括电商交易中的往来单位、商品信息或操作员等,业务数据可以为包括往来单位、商品信息以及操作员在内的订单信息,订单信息是基于往来单位、商品信息以及操作员而形成的。并且同一基础数据在不同的业务数据中可以重复出现,例如,同一商品信息可以出现在不同的订单信息中。
36.数据集成系统与目标系统之间存在对基础数据进行集成的需求,与业务数据的集成类似,数据集成系统为目标系统提供接口供其调用并发送第二数据集成请求。
37.具体地,数据集成系统除上文中涉及的若干种业务数据接口外,还提供基础数据集成接口,目标系统在基础数据生成之后调用基础数据集成接口发送第二数据集成请求,用于请求对基础数据进行集成。同样的,对于不同类型的基础数据,提供不同的接口。
38.在一些实施例中,在执行步骤s220之前,还包括对基础数据进行基础校验,若基础校验未通过,则向目标系统发送基础数据校验未通过的通知,且不再执行步骤s220-步骤s240。仅在基础校验通过的情况下,执行步骤s220-步骤s240。
39.具体地,基础校验包括数据唯一性校验和接口字段校验中的至少一者,其中,数据唯一性校验用于确定该基础数据在目标系统发送的数据中的唯一性,避免目标系统重复推送数据。接口字段校验用于校验该基础数据所包含的字段是否符合接口约定,接口字段校验具体可以分为数据类型校验、必填校验和字符长度校验,数据类型校验用于确定该基础数据的数据类型是否与目标系统调用的接口对应的数据类型一致,必填校验用于确定该基础数据包含的必填字段是否必填,字符长度校验用于确定该基础数据包含的字段的字符长度是否满足接口约定。若对该基础数据进行基础校验的过程中,数据唯一性校验和接口字段校验中有任意一者未通过,那么就可以确定基础校验未通过。
40.若目标系统重复发送相同的基础数据,可以通过基础校验步骤将重复的数据剔除,即便是对相同的基础数据进行处理,得到与现有的数据映射关系相同的新的映射关系,设备可以对数据映射表中重复的内容剔除,从而防止出现重复内容。
41.步骤s220:响应于第二数据集成请求,利用基础数据的固定字段判断第一预设数据中是否包括基础数据。
42.需要说明的是,对于同一类型的基础数据来说,目标系统和数据集成系统可能存在不同的要求,例如命名方式等规则不同等,即便是两数据的实质内容一致,分别存储在目标系统和数据集成系统中的字段内容也可能有很大差异。例如,电商系统中的商品信息名称为a 10plus,在数据集成系统中的物料名称为a10plus,两者均为表示商品的基础数据,其实质为同一商品,但是其名称的具体内容却有所差异。从而在接收到目标系统的第二数据集成请求后,设备可以在数据集成系统中建立数据映射表,数据映射表中包括目标系统发送的基础系统和数据集成系统之间的数据映射关系,用于表示数据映射关系的双方数据内容实质一致。请结合参阅表1,表1中给出了一应用场景中的基础数据映射关系示例,对于数据集成系统来说,电商系统发送的商品信息即为物料基础数据,电商系统调用物料基础数据接口对物料基础数据进行集成。其中,表1中的第三方即指目标系统,在本例中也就是电商系统,本系统也就是数据集成系统。
[0043][0044]
表1基础数据映射关系示例
[0045]
需要说明的是,数据集成系统中可以预存有第一预设数据,第一预设数据包括若干可能出现在目标系统中作为基础数据的数据,例如,第一预设数据包括300个单位,这些
单位可能出现在电商系统中作为往来单位。设备可以响应于第二数据集成请求,确定目标系统发送的基础数据,将目标系统发送的基础数据与数据集成系统中存储的第一预设数据进行比较,若第一预设数据中包括目标系统发送的基础数据,那么执行步骤s230,利用基础数据与基础数据对应的第一预设数据新建第一数据映射关系,并将第一数据映射关系加入数据映射表。若第一预设数据中不包括基础数据,那么执行步骤s240,依据基础数据生成第二预设数据,利用基础数据和第二预设数据新建第二数据映射关系,并将第二数据映射关系加入数据映射表。
[0046]
可以理解的是,在一些实施例中,一些基础数据包括有若干字段,若干字段中有至少一个是固定字段,固定字段为基础数据包括的固定内容,一般情况下不会改变,且不同的数据的固定字段的内容不同。例如,基础数据为往来单位,其包括往来单位名称,统一社会信用代码,往来单位地址等字段,统一社会信用代码为往来单位的固定字段,统一社会信用代码不会改变,且不同的往来单位对应不同的统一社会信用代码。
[0047]
基础数据可以分为多种类型,不同的类型的基础数据包括的固定字段是不同的,具体举例说明,基础数据为往来单位,那么固定字段可以为统一社会信用代码,基础数据为商品信息(物料),那么固定字段可以为sku编码,基础数据为操作员,那么固定字段可以为电话号码。
[0048]
具体地,设备可以利用基础数据的固定字段判断第一预设数据中是否包括基础数据,例如,基础数据为往来单位,其固定字段为统一社会信用代码,那么设备可以判断目标系统发送的往来单位的统一社会信用代码是否与第一预设数据的统一社会信用代码存在一致,若存在一致,则说明第一预设数据中包括基础数据,若不存在一致,那么说明第一预设数据中不包括基础数据。
[0049]
步骤s230:利用基础数据与对应的第一预设数据新建第一数据映射关系,并将第一数据映射关系加入数据映射表。
[0050]
步骤s240:依据基础数据生成第二预设数据,利用基础数据和第二预设数据新建第二数据映射关系,并将第二数据映射关系加入数据映射表。
[0051]
需要说明的是,由于目标系统中包括多个子系统,业务数据和基础数据可能来源于不同的子系统,不同类型的业务数据或不同类型的基础数据也可能来源于不同的子系统,不同的子系统之间发送数据集成请求不能够相互知晓,因而目标系统发送第一数据集成请求和第二数据集成请求的步骤是相互独立的,不存在固定的先后顺序,故而步骤s210-步骤s240和步骤s110-步骤s140的执行顺序是可以调换的。
[0052]
可以理解的是,在完成上述步骤之后,在接收到包含该基础数据的业务数据之后,可以依据数据映射表中的基础数据的映射关系,确定与该基础数据对应的预设数据,该预设数据也可以理解为将业务数据中的基础数据转换为了符合数据集成系统的要求后的结果,从而数据集成系统能够对业务数据中包含的基础数据进行处理。
[0053]
需要说明的是,若数据集成系统首先接收到第二数据集成请求,执行步骤s210-步骤s240,而后接收到第一数据集成请求,其中第一业务数据包括基础数据,执行步骤s110-步骤s140,那么执行步骤s110-步骤s140的过程中不会因为基础数据未集成而导致集成失败。反之,执行步骤s110-步骤s140的过程中会因为基础数据未集成而导致集成失败。
[0054]
请参阅图3,图3是本技术数据集成方法另一实施例的流程示意图,该方法包括:
[0055]
步骤s310:接收目标系统发送的第一数据集成请求。
[0056]
步骤s310的相关描述可以参考前述关于步骤s110的相关内容。
[0057]
在一些实施例中,在接收到目标系统发送的需集成的数据之后,将该需集成的数据同一存储到数据备份表。在出现数据不一致的情况下,能够依据数据备份表对数据进行追溯。
[0058]
需要说明的是,数据集成系统和目标系统之间会约定数据接口报文,并且会约定对接口字段的要求,例如,约定该接口的数据字段的属性以及长度等。请结合参阅表2,表2给出了在一具体应用场景中,采购入库集成接口部分字段示例,其中给出了该接口部分字段的要求。
[0059][0060]
表2采购入库集成接口部分字段示例
[0061]
并且数据集成系统和目标系统之间可以就接口字段的对应关系进行约定,请结合参阅表3,表3中给出了在一具体应用场景中,字段对应关系示例。
[0062][0063]
表3字段对应关系示例
[0064]
需要说明的是,基于该字段对应关系,数据集成系统可以对目标系统发送的数据的字段与本系统中的数据的字段对应,例如,可以确定字段sku编码对应的内容即为物资编码对应的内容。
[0065]
在一些实施例中,由于目标系统业务数量大,在接收目标系统发送的数据集成请求之后,设备还可以通过限流装置拦截请求,对数据集成请求进行限流,保证同一时间点只
对一个请求进行处理。
[0066]
步骤s320:对第一业务数据进行基础校验。若基础校验未通过,则向目标系统发送第一业务数据的基础校验未通过的通知。
[0067]
并且,若第一业务数据的基础校验未通过,那么不再执行后续的步骤。
[0068]
其中,基础校验包括数据唯一性校验和接口字段校验中的至少一者,数据唯一性校验用于确定第一业务数据在目标系统发送的数据中的唯一性,避免目标系统重复推送数据。接口字段校验用于校验第一业务数据所包含的字段是否符合接口约定,接口字段校验具体可以分为数据类型校验、必填校验和字符长度校验,数据类型校验用于确定第一业务数据的数据类型是否与目标系统调用的接口对应的数据类型一致,必填校验用于确定第一业务数据包含的必填字段是否必填,字符长度校验用于确定第一业务数据包含的字段的字符长度是否满足接口约定。其中,接口字段校验的要求可以参考表2中的接口字段要求。
[0069]
若对第一业务数据进行基础校验的过程中,数据唯一性校验和接口字段校验中有任意一者未通过,那么就可以确定基础校验未通过,则确定第一业务数据不满足第二预设条件,并向目标系统发送第一业务数据的基础校验未通过的通知。
[0070]
需要说明的是,若第一业务数据未通过基础校验,那么数据集成系统可以确定该第一业务数据已经进行过集成,无需再次集成,或者第一业务数据不符合接口约定,那么无法对第一业务数据进行处理,从而也就无法进行第一业务数据的集成。
[0071]
步骤s330:判断第一业务数据是否满足第二预设条件,得到判断结果。
[0072]
基于判断结果,确定是否执行步骤s340进行第一业务数据的集成。若判断结果为第一业务数据存在不满足第二预设条件的情况,则不进行第一业务数据的集成,若判断结果为第一业务数据满足第二预设条件,则进行第一业务数据的集成。
[0073]
请结合参阅图3和图4,图4是本技术步骤s330另一实施例的流程示意图,步骤s330包括以下至少一个步骤:
[0074]
步骤s431:判断数据映射表中是否包含基础数据的映射关系,若否,则确定第一业务数据不满足第二预设条件,并将基础数据未集成作为失败原因,若是,则利用数据映射表对第一业务数据进行转换。
[0075]
需要说明的是,业务数据为基于基础数据而生成的,业务数据中包括基础数据,在确定第一业务数据后,需要确定其中包含的基础数据是否存在映射,通过判断数据映射表中是否包含基础数据的映射关系就可以确定基础数据是否存在映射,从而也就能够确定该基础数据与存储在数据集成系统中的预设数据对应,而后处理过程中可以利用该预设数据替换基础数据,从而数据集成系统能够对该条数据进行处理。
[0076]
需要说明的是,数据映射表中包括基础数据的映射关系,利用数据映射表对第一业务数据进行转换即为,依据数据映射表查找预设数据中与第一业务数据中包括的基础数据对应的预设数据,利用该预设数据的内容替换第一业务数据中的基础数据的内容,从而在后续的处理过程中,能够直接采用符合数据集成系统要求的预设数据。利用数据映射表对第一业务数据进行转换的步骤与前述的字段对应的步骤是不同的,字段对应步骤不会对字段的具体内容进行改变,只是能够将目标系统发送的数据的字段与数据集成系统中的字段对应,即便将接收到的数据进行字段对应,也不能够确定该数据是否与预设数据相同,也不能够将数据转换成为数据集成系统能够处理的形式。
[0077]
由于第一业务数据中的基础数据没有集成,数据映射表中不包含基础数据的映射关系,所以基础数据无法完成映射,第一业务数据无法转换为符合数据集成系统要求的数据,数据集成系统无法对其进行处理,那么则可以确定第一业务数据不满足第二预设条件,即便进行第一业务数据的集成,也会因为基础数据无法完成映射而失败,从而可以直接确定第一业务数据集成失败,数据集成结果为失败,并将基础数据未集成作为失败原因。
[0078]
在一些实施例中,数据映射表中还包括固化映射关系,利用数据映射表对第一业务数据进行转换还包括利用固化映射关系对数据的内容进行转换,请结合参阅表4,表4给出了在一具体应用场景中的固化映射关系的示例。
[0079][0080]
表4固化映射关系示例
[0081]
具体举例,利用固化映射关系对第一业务数据进行转换包括,将目标系统发送的采购入库信息中id为1、名称为普通的枚举转换为数据集成系统中id为10000035、名称为00000001的枚举。
[0082]
在一些情况下,由于网络等原因,可能造成固化映射关系缺失,从而导致利用固化映射关系对第一业务数据进行转换的步骤失败,进而会导致第一数据集成请求执行失败,那么可以确定固化映射关系缺失作为失败原因。设备可以响应于用户对固化映射关系的修复,更新并发布固化映射关系,确定失败原因消除,从而重新执行第一数据集成请求,或者也可以响应于用户操作,或者间隔预设时间重新执行第一数据集成请求。
[0083]
步骤s432:判断第二业务数据是否集成,以对第一业务数据进行业务校验,若否,则确定第一业务数据不满足第二预设条件,并将第二业务数据未集成作为失败原因。若是,则确定第一业务数据通过业务校验。
[0084]
其中,第二业务数据为第一业务数据依赖的上游业务数据,第一业务数据基于第二业务数据而生成的,具体举例说明,第一业务数据为发货数据,第二业务数据为订单数据,由于在目标系统中业务阶段存在固定顺序,从而不同业务阶段产生的业务数据之间也存在依赖关系,发货数据基于订单数据而生成。
[0085]
故而相应地在集成过程中,由于不同业务数据的集成过程是相互独立的,可能存在目标系统首先请求对第一业务数据进行集成,而后请求对第二业务数据进行集成的情况,此时,在第二业务数据未集成的情况下,数据集成系统无法对第一业务数据进行集成,故而若判断第二业务数据未集成,则确定第一业务数据不满足第二预设条件,即便进行第一业务数据的集成,也会由于第二业务数据未集成为失败,从而可以直接确定第一业务数据集成失败,数据集成结果为失败,并将第二业务数据未集成作为失败原因。
[0086]
需要说明的是,若步骤s330同时包括步骤s431和步骤s432,那么步骤s431和步骤s432的执行顺序是可以调换的,在此不做限制。
[0087]
若步骤s330仅包括步骤s431和步骤s432中的一者,那么则根据步骤s330中包括的步骤的判断结果确定第一业务数据是否满足第二预设条件,若判断结果为是,则确定第一
业务数据满足第二预设条件。若步骤s330同时包括步骤s431和步骤s432,若步骤s431和步骤s432中判断结果均为是,那么可以确定第一业务数据满足第二预设条件,若存在有一者为否,则确定第一业务数据不满足第二预设条件,在确定第一业务数据满足第二预设条件之后,执行步骤s340,进行第一业务数据的集成,若不满足第二预设条件,则即便执行步骤s340,第一业务数据的执行也会失败,从而可以直接确定第一数据集成请求执行失败,并且记录失败原因。
[0088]
步骤s340:进行第一业务数据的集成,以得到第一业务数据的数据集成结果。
[0089]
步骤s120可以通过步骤s330-步骤s340实现,若步骤s340中得到的第一业务数据的数据集成结果为失败,则执行步骤s350。
[0090]
其中,第一业务数据的集成方式包括利用第一业务数据填充目标单据,若填充完成目标单据则表示第一业务数据集成成功,若无法填充目标单据则表示第一业务数据集成失败。
[0091]
请结合参阅图3和图5,图5是本技术步骤s340另一实施例的流程示意图,步骤s340包括:
[0092]
步骤s541:将第一数据集成请求保存至待执行列表中,并向目标系统发送接收成功通知。
[0093]
需要说明的是,目标系统中会生成数据,在每次生成数据后,会对应生成数据集成请求,并调用接口发送数据集成请求,由于目标系统生成的数据的数量很大,但是设备运行的数据集成系统执行数据集成请求的能力比较弱,因此在该种情况下,数据集成系统执行数据集成请求所用时间较久,从而其不能够及时向目标系统反馈其发送的数据集成请求执行的情况(即数据集成系统不能够向目标系统及时反馈其调用接口是否成功),目标系统在一定时间内没有接收到反馈,不能够确定是否完成了数据的集成,造成数据集成系统执行完毕数据集成请求,但由于其超出了反馈时间,目标系统不能够确认数据集成请求的执行情况,两系统之间对于同一数据的集成情况判断不一致会造成报错。
[0094]
为了避免上述情况的出现,本技术中的数据集成方法采用异步消息处理机制,数据集成系统在接收到目标系统发送的第一数据集成请求之后,不会立即执行第一数据集成请求,而是将其放入待执行列表,对待处理列表中的请求逐条轮询,在第一数据集成请求执行完毕后,再向目标系统进行反馈。
[0095]
在将第一数据集成请求保存至待执行列表后,向目标系统发送接收成功通知,以通知目标系统其调用业务数据接口发送的第一数据集成请求已经接收成功。
[0096]
步骤s542:依照待执行列表中的执行顺序,集成第一业务数据。
[0097]
可以理解的是,待执行列表中存储着若干请求,上述若干请求可以为若干数据集成请求,其依照一定的执行顺序排列,其中包括第一数据继承请求,线程池对待执行列表进行轮询,依照执行顺序执行其中的请求。
[0098]
需要说明的是,第一业务数据的集成方式包括利用第一业务数据填充目标单据,目标单据可以包括扩入库单、出库单、发票等,例如,第一业务数据为销售订单发货信息,那么对改销售订单发货信息进行集成可以包括利用该信息填充发货出库单,那么此时发货出库单即为目标单据。完成目标单据的填充之后,目标单据即可以用于后续的企业信息数据管理中。
[0099]
在一些实施例中,第一业务数据仅仅能够填充目标单据的部分内容,数据集成系统可以依据第一业务数据确定目标单据中的其他内容,自动完成对目标单据的填充,具体地,数据集成系统可以采用默认复制或者依据管理对象属性取数等方式填充目标单据。在一具体应用场景中,第一业务数据为销售订单信息,其中包括销售员、销售商品、销售金额等,目标单据中还包括第一业务数据中不包括的销售部门,数据集成系统可以通过系统中预存的销售员和部门的对应关系,确定该笔订单的销售部门,并将该销售部门填充至目标单据中相应的位置。
[0100]
若填充完成目标单据则表示第一业务数据集成成功,若无法填充目标单据则表示第一业务数据集成失败,其中,无法填充目标单据包括无法完全填充目标单据或填充过程出错等情况。故而,在出现基础数据未集成、第二业务数据未集成或固化映射关系缺失的情况时,即便进行第一业务数据的集成,也无法对第一业务数据进行处理,无法填充目标单据,故而若出现上述情况可以直接确定第一业务数据集成失败。
[0101]
步骤s543:将执行完毕的数据集成请求从待执行列表中移除。
[0102]
不论目标数据集成成功或失败,在执行完毕数据集成请求后,均将其从待执行列表中移除。
[0103]
步骤s350:统计第一数据集成请求的执行失败次数,并记录失败原因。
[0104]
可以理解的是,上述第一数据集成请求的执行失败次数包括执行步骤s330和步骤s340的执行失败的次数,并且记录对应的失败原因。
[0105]
在一具体应用场景中,请参阅表5,表5给出了失败原因存储示例。
[0106][0107]
表5失败原因存储示例
[0108]
步骤s360:判断是否满足第一预设条件。
[0109]
其中,第一预设条件包括间隔预设时间、响应于用户操作和失败原因消除中的至少一者。若满足第一预设条件,则返回重新执行步骤s330和步骤s340。
[0110]
需要说明的是,重新执行步骤s330和步骤s340可以为依据失败原因,从执行失败处起重新执行,无需对其中执行成功的步骤进行重新执行,以避免浪费资源。
[0111]
在一些实施例中,第一预设条件还包括第一数据集成请求的执行失败次数小于预设上限,从而可以防止设备重复执行第一数据集成请求过多次,避免浪费资源。
[0112]
步骤s370:向目标系统发送处理成功通知。
[0113]
若数据集成结果为成功,那么需要向目标系统反馈该第一数据集成请求的处理结果,具体地,设备可以在判断数据集成结果为成功之后,向目标系统发送处理成功通知。
[0114]
在一些实施例中,也可能出现对数据集成请求处理成功但是发送处理成功通知失败的情况,设备可以将该种情况作为数据集成请求执行失败的情形之一,将该执行失败的情形一并显示到集成跟踪查询页面,并响应于用户在该页面触发重新发送的操作,重新发送处理成功通知,或者通过间隔预设时间或者失败原因消失重新执行发送处理成功通知。
[0115]
在上述方案中,通过对目标系统发送的数据集成请求进行处理从而对目标数据进行集成;若数据集成结果为失败,则统计第一业务数据的集成失败次数,并记录失败原因;在判断满足第一预设条件后,再次执行第一数据集成请求,通过上述方式,在数据集成请求处理失败,即数据集成失败时,能够定时或者在失败原因消除后自动重新处理该请求,或者基于用户操作重新处理该请求,无需逐个等待技术人员排查以及修复,提高了数据集成出错时的处理效率,提高对目标系统的业务数据的集成效率,进而提高与目标系统之间的数据一致性,同时数据集成采用异步消息处理方式,在接收到数据集成请求后不立即处理,在处理完成之后再进行反馈。
[0116]
请参阅图6,图6是本技术数据集成设备一实施例的框架示意图。
[0117]
本实施例中,数据集成设备60包括存储器61、处理器62,其中存储器61耦接处理器62。具体地,数据集成设备60的各个组件可通过总线耦合在一起,或者数据集成设备60的处理器62分别与其他组件一一连接。该数据集成设备60可以为具有处理能力的任意设备,例如计算机、平板电脑、手机等。
[0118]
存储器61用于存储处理器62执行的程序数据以及处理器62在处理过程中的数据等。例如,基础数据、第一预设数据、第一业务数据等。其中,该存储器61包括非易失性存储部分,用于存储上述程序数据。
[0119]
处理器62控制数据集成设备60的操作,处理器62还可以称为为cpu(central processing unit,中央处理单元)。处理器62可能是一种集成电路芯片,具有信号的处理能力。处理器62还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器62可以由多个成电路芯片共同实现。
[0120]
处理器62通过调用存储器61存储的程序数据,用于执行指令以实现上述任一数据集成方法。
[0121]
在上述方案中,通过对目标系统发送的数据集成请求进行处理从而对目标数据进行集成;执行目标系统发送的第一数据集成请求,得到数据集成结果;若数据集成结果为失败,则统计第一业务数据的集成失败次数,并记录失败原因;在判断满足第一预设条件后,再次执行第一数据集成请求,通过上述方式,在数据集成请求处理失败,即数据集成失败时,能够定时或者在失败原因消除后自动重新处理该请求,或者基于用户操作重新处理该请求,无需逐个等待技术人员排查以及修复,提高了数据集成出错时的处理效率,提高对目标系统的业务数据的集成效率,进而提高与目标系统之间的数据一致性。
[0122]
请参阅图7,图7是本技术计算机可读存储戒指一实施例的框架示意图。
[0123]
本实施例中,该计算机可读存储介质70存储有处理器可运行的程序数据71,该程序数据能够被执行,用以实现上述任一数据集成方法。
[0124]
该计算机可读存储介质70具体可以为u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储程序数据的介质,或者也可以为存储有该程序数据的服务器,该服务器可将存储的程序数据发送给其他设备运行,或者也可以自运行该存储的程序数据。
[0125]
在一些实施例中,计算机可读存储介质70还可以为如图6所示的存储器。
[0126]
在上述方案中,通过对目标系统发送的数据集成请求进行处理从而对目标数据进行集成;执行目标系统发送的第一数据集成请求,得到数据集成结果;若数据集成结果为失败,则统计第一业务数据的集成失败次数,并记录失败原因;在判断满足第一预设条件后,再次执行第一数据集成请求,通过上述方式,在数据集成请求处理失败,即数据集成失败时,能够定时或者在失败原因消除后自动重新处理该请求,或者基于用户操作重新处理该请求,无需逐个等待技术人员排查以及修复,提高了数据集成出错时的处理效率,提高对目标系统的业务数据的集成效率,进而提高与目标系统之间的数据一致性。
[0127]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1