一种数据处理方法和设备与流程

文档序号:11234072
一种数据处理方法和设备与流程

本申请涉及互联网信息处理技术领域,尤其涉及一种数据处理方法和设备。



背景技术:

随着科学技术的发展,越来越多的复杂业务被承载在计算机上,并利用计算机的运算速度快、操作便捷等特性完成对复杂业务的处理。同时为了保证复杂业务处理的准确性,需要对复杂业务处理过程中产生的数据进行数据维护,即将产生的数据存储在不同的数据库中。

在一个数据核对时间周期达到时,将不同数据库中存储的数据同步至数据仓库中,并对上一个数据核对时间周期到当前数据核对时间周期内产生的数据进行核对,以判断在对复杂业务进行处理的过程中是否发生错误。

但是,在实际应用中,若数据仓库与不同数据库之间构成同构系统,那么数据核对时间相对于数据产生时间存在较大的延时,意味着不能及时发现复杂业务在处理过程中出现的错误;若数据仓库与不同数据库之间构成异构系统,那么在无法避免上述问题的情况下,在将不同数据库中存储的数据同步至数据仓库时,需要将不同数据库中的数据格式进行统一转换,增加数据核对过程的工作量,同时占用大量系统资源,降低数据核对效率。



技术实现要素:

有鉴于此,本申请实施例提供了一种数据处理方法和设备,用于解决现有技术中存在的无法实现对复杂业务进行处理时产生的数据进行实时核对的问题。

一种数据处理方法,包括:

接收不同业务系统发送的业务事件消息,其中,每一个所述业务事件消息用于表征产生所述业务事件消息的业务系统内数据发生变化;

根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,选择与所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型,并利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对,其中,所述事件核对模型用于核对业务事件链是否完整;

在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。

一种数据处理设备,包括:

接收单元,用于接收不同业务系统发送的业务事件消息,其中,每一个所述业务事件消息用于表征产生所述业务事件消息的业务系统内数据发生变化;

核对单元,用于根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,选择与所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型,并利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对,其中,所述事件核对模型用于核对业务事件链是否完整;

处理单元,用于在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。

本申请有益效果如下:

本申请实施例接收不同业务系统发送的业务事件消息,每一个所述业务事件消息用于表征产生所述业务事件消息的业务系统内数据发生变化;根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,选择与所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型,并利用所述事件核对模型对所述业务事件消息中包含的业务 事件进行核对,所述事件核对模型用于核对业务事件链是否完整;在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。由于业务系统在处理业务时,不仅产生用于表征业务处理进度的业务事件,而且还产生用于表征业务处理过程的数据,本申请提出利用业务事件完成对产生的数据进行核对的方案,借助业务事件产生的实时性,及时对与产生的业务事件相关联的数据进行核对,有效解决现有技术中无法实现对复杂业务进行处理时产生的数据进行实时核对的问题,缩短数据核对的时延,并能够及时发现系统中出现的不准确数据。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种数据处理方法的流程示意图;

图2为事件核对模型的示意图;

图3为本申请实施例提供的一种数据处理方法的流程示意图;

图4为业务系统的结构示意图;

图5为图4中所示的业务系统对应的事件核对模型结构示意图;

图6为本申请实施例提供的一种数据处理设备的结构示意图。

具体实施方式

为了实现本申请的目的,本申请实施例提供了一种数据处理方法和设备,接收不同业务系统发送的业务事件消息,每一个所述业务事件消息用于表征产生所述业务事件消息的业务系统内数据发生变化;根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,选择与所述业务事件消息中 包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型,并利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对,所述事件核对模型用于核对业务事件链是否完整;在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。

由于业务系统在处理业务时,不仅产生用于表征业务处理进度的业务事件,而且还产生用于表征业务处理过程的数据,本申请提出利用业务事件完成对产生的数据进行核对的方案,借助业务事件产生的实时性,及时对与产生的业务事件相关联的数据进行核对,有效解决现有技术中无法实现对复杂业务进行处理时产生的数据进行实时核对的问题,缩短数据核对的时延,并能够及时发现系统中出现的不准确数据。

下面结合说明书附图对本申请各个实施例作进一步地详细描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种数据处理方法的流程示意图。所述方法可以如下所示。

步骤101:接收不同业务系统发送的业务事件消息。

其中,每一个所述业务事件消息用于表征产生所述业务事件消息的业务系统内数据发生变化。

在步骤101中,假设有一个复杂的业务处理系统,在该业务处理系统中包含多个不同业务系统,每一个业务系统既可以独立处理业务,也可以和其他业务系统之间建立调用关系,以协助其他业务系统完成对复杂业务的处理。

每一个业务系统在处理业务时不仅会产生业务事件消息,也会产生业务处理数据。其中,业务事件消息中包含业务事件,该业务事件用于记录业务系统在处理业务时业务功能发生变化的事件。例如:金融系统中的资金交换系统, 一旦发生资金交换,那么相应地该资金交换系统将产生用于表征资金交换事件的交换事件消息,该交换事件消息中包含资金交换这一事件。

当业务系统中有业务事件发生时,意味着业务系统中将产生与该业务事件相关的业务数据,产生的业务数据将导致业务系统内数据发生变化,要么使得业务系统内数据量增加,要么使得业务系统内数据发生更新,这里不做限定。

需要说明的是,在步骤101中,可以实时接收不同业务系统发送的业务事件消息,也可以周期性地接收不同业务系统发送的业务事件消息;还可以同时接收多个业务系统发送的业务事件消息,这里不做具体限定。

步骤102:根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,选择与所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型,并利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对。

其中,所述事件核对模型用于核对业务事件链是否完整。

在步骤102中,对于一个复杂的业务处理系统,针对不同的业务,可以确定每一个业务在执行过程中所使用的不同业务系统之间的调用关系,利用这种调用关系可以建立针对该业务的事件核对模型。

这样,针对不同的业务,可以建立与其相匹配的事件核对模型。其中,每一个事件核对模型中包含执行业务所需要发生的业务事件以及各个业务事件之间的逻辑关系。利用事件核对模型可以判断该业务执行过程中所产生的业务事件构建的事件链是否完整。

例如:一个复杂的业务处理系统包含A业务系统、B业务系统、C业务系统、D业务系统、E业务系统和F业务系统,其中,A业务系统、B业务系统、C业务系统、D业务系统、E业务系统和F业务系统之间存在调用关系。假设A业务系统中发生业务事件,可以触发B业务系统产生新的业务事件,而B业务系统产生的新的业务事件将影响C业务系统和D业务系统,而C业务系统的业务事件将影响E业务系统,D业务系统的业务事件将影响F业务系统。 那么根据上述记载的各个业务系统之间的调用关系(或者影响关系)可以得到如图2所示的事件核对模型的示意图。从图2中可以看出,得到的事件核对模型可以采用树形结构表示,该树形结构中包含多个节点,每一个节点(可以称之为事件节点)可以对应一种业务事件,各个节点之间的关系满足各个业务系统之间的调用关系。因此,在得到事件核对模型之后,可以利用事件核对模型中各个节点之间的逻辑关系去判断接收到的业务事件是否构成完整的事件链。

在本申请实施例中,在步骤101接收到不同业务系统发送的业务事件消息时,确定发送业务事件消息的各个业务系统之间的调用关系,根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,从预先建立的事件核对模型库中选择与所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型。

其中,预先建立的事件核对模型库中包含的事件核对模型可以基于业务类型确定,也可以基于不同业务系统之间的调用关系确定,这里不做具体限定。

在确定事件核对模型后,利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对的方式包括但不限于以下几种方式:

第一种方式:

确定接收到的每一个业务事件消息中包含的业务事件的发生时间;按照所述发生时间,确定不同所述业务事件消息中包含的业务事件之间的调用关系,并将所述调用关系与所述事件核对模型中包含的事件节点之间的逻辑关系进行比较。

第二种方式:

确定接收到的每一个业务事件消息中包含的业务事件的发生时间;按照所述发生时间和所述事件核对模型中包含的事件节点之间的逻辑关系,依次建立业务事件与所述事件核对模型中包含的事件节点之间的对应关系;定时扫描所述事件核对模型,并确定所述事件核对模型中包含的事件节点是否对应业务事件。

基于上述两种方式,对于实时性较强的业务,可以采用第一种方式,即针对一个业务,不同业务系统所产生的业务事件的发生时间相差不大,即在一个很短时间之内可以接收到不同业务系统所发送的业务事件消息,那么按照第一种方式能够快速完成对所述业务事件消息中包含的业务事件进行核对的操作;

对于实时性较差的业务,可以采用第二种方式,由于一些原因导致一些业务系统出现异常,未能正确处理业务,使得不同业务系统所产生的业务事件的发生时间相差较大,此时,可以根据接收到的业务事件消息中包含业务事件,建立业务事件与所述事件核对模型中包含的事件节点之间的对应关系,并定时扫描该事件核对模型,进而完成对所述业务事件消息中包含的业务事件进行核对的操作。这里需要说明的是,若定时扫描的时间周期过长(大于设定的时间长度),那么按照确定所述业务事件消息中包含的业务事件所构成的事件链不完整的情形处理。

步骤103:根据核对结果,判断所述业务事件消息中包含的业务事件所构成的事件链是否完整,若完整,则执行步骤104;否则,执行步骤105。

步骤104:在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。

在步骤104中,若在步骤102中采用第一种方式对所述业务事件消息中包含的业务事件进行核对,那么若比较结果是所述调用关系与所述事件核对模型中包含的事件节点之间的逻辑关系一致时,则确定所述业务事件消息中包含的业务事件所构成的事件链完整。

若在步骤102中采用第二种方式对所述业务事件消息中包含的业务事件进行核对,那么在确定所述事件核对模型中包含的每一个事件节点已与所述业务事件消息中包含的业务事件建立对应关系时,确定所述业务事件消息中包含的业务事件所构成的事件链完整。

在步骤103中确定所述业务事件消息中包含的业务事件所构成的事件链完整说明该业务处理流程正确,此时同步与所述事件链相关联的数据,并对所述 数据进行核对,即可实现对与所述事件链相关联的数据的核对操作,有效实现对数据的实时核对。

也就是说,在本申请实施例中,数据同步是通过实时业务事件消息的实时同步完成的,由于业务事件消息的实时同步在一些应用场景中能够达到秒级同步,同时也意味着数据也可以实现秒级同步以及核对,有效解决现有技术中无法实现对复杂业务进行处理时产生的数据进行实时核对的问题,缩短数据核对的时延,并能够及时发现系统中出现的不准确数据。

步骤105:在确定所述业务事件消息中包含的业务事件所构成的事件链不完整时,发出告警消息。

其中,所述告警消息用于提醒与所述事件链相关联的数据出现错误。

在步骤105中,一旦确定所述业务事件消息中包含的业务事件所构成的事件链不完整,说明在业务执行过程中出现异常,那么系统将产生不精确的数据,此时需要发出告警消息以提醒管理者或者系统维护者注意,以便于及时发现系统中出现的不准确数据(或者称之为差异数据),此外还可以对接收到的这一组业务事件消息进行标注,为后续校验奠定基础。

通过本申请实施例提供的技术方案,由于业务系统在处理业务时,不仅产生用于表征业务处理进度的业务事件,而且还产生用于表征业务处理过程的数据,本申请提出利用业务事件完成对产生的数据进行核对的方案,借助业务事件产生的实时性,及时对与产生的业务事件相关联的数据进行核对,有效解决现有技术中无法实现对复杂业务进行处理时产生的数据进行实时核对的问题,缩短数据核对的时延,并能够及时发现系统中出现的不准确数据。

图3为本申请实施例提供的一种数据处理方法的流程示意图。图3中所示的数据处理方式可以基于金融系统实现。

假设一个金融系统中包含一个信贷业务系统(标号1)、一个资产交换系统(标号2)、一个存款核心系统(标号3)、一个贷款核心系统(标号4)、一个借记账务系统(标号5)和一个贷记账务系统(标号6),如图4所示,为业务 系统的结构示意图。那么根据该金融系统中各个业务系统之间的调用关系,可以确定针对该金融系统的事件核对模型,如图5所示,为图4中所示的业务系统对应的事件核对模型结构示意图。

图4中所示的消息中心,具备接收各个业务系统发送的业务事件消息,那么业务事件消息所包含的主要字段以及每一个字段的意义如下表1所示:

表1

下面详细说明本申请实施例所记载的技术方案在假设场景中的详细应用。

步骤301:接收各个业务系统发送的业务事件消息。

例如:信贷业务系统发送的业务事件消息;资产交换系统发送的交换事件消息;存款核心系统发送的存款事件消息;贷款核心系统发送的贷款事件消息;借记账务系统发送的借记事件消息;贷记账务系统发送的贷记事件消息。

步骤302:利用图5中所示的事件核对模型对接收到的业务事件消息中包含的业务事件进行核对。

在步骤302中,对于信贷业务系统向消息中心发送还款事件消息A,在信贷业务系统平台中该还款事件消息中的data字段记录一些关键信息,如业务单号、金额amount;同时调用资产交换系统,此时资产交换系统的平台的业务事件消息B中的data字段也记录一些关键信息,如借方金额(debit_amount)和 贷方金额(credit_amount),此时可以利用sum({A}.amount)=sum({B}.debit_amount)=sum({B}.credit_amount)对信贷业务系统发送的还款事件消息中包含的还款事件进行核对。

对于资产交换系统发送的活期支出事件消息C和还款事件消息D,资产交换系统调用存款核心系统执行活期支出事件,存款核心系统平台中针对该活期支出事件记录的data字段中记录支出金额amount等关键字段信息;同时资产交换系统还调用贷款核心系统执行还款事件,贷款核心系统平台中针对该还款事件记录data字段中记录本金金额prin_amount和利息金额int_amount等关键字段。此时可以利用sum({B}.debit_amount)=sum({C}.amount)&&sum({B}.credit_amount)=sum({D}.prin_amount+{D}.int_amount)资产交换系统发送的活期支出事件消息C和还款事件消息D进行核对。

对于存款核心系统发送的活期支出事件消息,贷款核心系统调用贷记账务系统将用户余额支出做还款,贷款核心系统产生的贷记账务事件消息E中data字段记录支出金额amount等关键字段信息。此时可以利用sum({C}.amount)=sum({E}.amount)对存款核心系统发送的活期支出事件消息进行核对。

对于贷款核心系统发送的还款事件D,贷款核心系统调用贷记账务系统执行还本金操作和还利息操作,贷记账务系统产生还本金事件消息F和还利息事件消息G,还本金事件消息F/还利息事件消息G中data字段会记录金额amount等关键字段信息。此时可以利用sum({D}.prin_amount)=sum({F}.amount)&&sum({D}.int_amount)=sum({G}.amount)对贷款核心系统发送的还款事件D进行核对。

借记账务系统发送的活期支出事件消息;贷记账务系统还本金事件消息和还利息事件消息。

步骤303:在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。

图6为本申请实施例提供的一种数据处理设备的结构示意图。所述数据处 理设备包括:接收单元61、核对单元62和处理单元63,其中:

接收单元61,用于接收不同业务系统发送的业务事件消息,其中,每一个所述业务事件消息用于表征产生所述业务事件消息的业务系统内数据发生变化;

核对单元62,用于根据所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系,选择与所述业务事件消息中包含的业务事件以及不同业务系统之间的调用关系相匹配的事件核对模型,并利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对,其中,所述事件核对模型用于核对业务事件链是否完整;

处理单元63,用于在确定所述业务事件消息中包含的业务事件所构成的事件链完整时,同步与所述事件链相关联的数据,并对所述数据进行核对。

在本申请的另一个实施例中,所述处理单元63,还用于在确定所述业务事件消息中包含的业务事件所构成的事件链不完整时,发出告警消息,其中,所述告警消息用于提醒与所述事件链相关联的数据出现错误。

在本申请的另一个实施例中,所述核对单元62利用所述事件核对模型对所述业务事件消息中包含的业务事件进行核对,包括:

确定接收到的每一个业务事件消息中包含的业务事件的发生时间;

按照所述发生时间,确定不同所述业务事件消息中包含的业务事件之间的调用关系,并将所述调用关系与所述事件核对模型中包含的事件节点之间的逻辑关系进行比较。

在本申请的另一个实施例中,所述处理单元63确定所述业务事件消息中包含的业务事件所构成的事件链完整,包括:

在比较结果是所述调用关系与所述事件核对模型中包含的事件节点之间的逻辑关系一致时,确定所述业务事件消息中包含的业务事件所构成的事件链完整。

在本申请的另一个实施例中,所述核对单元62利用所述事件核对模型对 所述业务事件消息中包含的业务事件进行核对,包括:

确定接收到的每一个业务事件消息中包含的业务事件的发生时间;

按照所述发生时间和所述事件核对模型中包含的事件节点之间的逻辑关系,依次建立业务事件与所述事件核对模型中包含的事件节点之间的对应关系;

定时扫描所述事件核对模型,并确定所述事件核对模型中包含的事件节点是否对应业务事件。

在本申请的另一个实施例中,所述处理单元63确定所述业务事件消息中包含的业务事件所构成的事件链完整,包括:

在确定所述事件核对模型中包含的每一个事件节点已与所述业务事件消息中包含的业务事件建立对应关系时,确定所述业务事件消息中包含的业务事件所构成的事件链完整。

需要说明的是,本申请实施例中所记载的数据处理设备可以采用软件方式实现,也可以采用硬件方式实现,这里不做限定,可以借助业务事件产生的实时性,及时对与产生的业务事件相关联的数据进行核对,有效解决现有技术中无法实现对复杂业务进行处理时产生的数据进行实时核对的问题,缩短数据核对的时延,并能够及时发现系统中出现的不准确数据。

本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机 或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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