1.本技术涉及数据分析技术领域,尤其涉及一种数据消息处理方法及装置。
背景技术:
2.随着金融行业系统需支撑的交易量、数据量不断增长,微服务化、缓存等技术被不断应用在相关的系统架构中,相应的,相关系统通常会通过异步消息等机制来同步数据。系统的数据来源方可能有多个,例如系统数据库本身、应用软件以及第三方设备等,而不同数据来源方所提供的数据消息的格式各不相同,这就需要对不同格式的数据消息进行相应的处理,以达到同步数据的目的。
3.现有技术中,通常会针对不同的数据来源方进行消息格式定制化开发,就会导致相关系统在切换数据来源方时,需要重新针对新的数据来源方的消息格式进行定制化开发,该方法耗费成本较大,过程繁琐且不利于后期维护。
技术实现要素:
4.本技术提供了一种数据消息处理方法及装置,用以对不同格式的消息进行比对分析和处理,提高消息处理的效率。
5.第一方面,本技术提供了一种数据消息处理方法,该方法包括:
6.数据消息分析设备接收第一消息,第一消息包括第一数据项和第二数据项;
7.数据消息分析设备根据第一消息确定第一格式的第二消息,数据消息分析设备支持对第一格式的消息进行分析,第二消息包括第一数据项和第二数据项;
8.数据消息分析设备获取数据比对请求,数据比对请求用于请求获得第一数据项和第二数据项的比对结果;
9.数据消息分析设备响应于数据比对请求,根据第二消息确定第一比对结果,第一比对结果指示第一数据项和第二数据项是否相同;
10.数据消息分析设备向数据消息处理设备发送第一比对结果和第二消息。
11.采用该方法,能够完成对不同格式的消息的分析,提高了数据消息处理效率。
12.在一种可能的设计中,数据消息分析设备包括斯普瑞布特springboot应用,该方法还包括:数据消息分析设备获取第一配置信息,第一配置信息用于指示数据消息分析设备在接收到第一消息后确定第二消息,并根据第二消息确定比对结果。
13.在一种可能的设计中,该方法还包括:数据消息分析设备接收第一消息和第三消息,第三消息的格式与第一消息的格式不同;数据消息分析设备根据第三消息确定第一格式的第四消息;数据消息分析设备根据第四消息确定第二比对结果;数据消息分析设备发送第二比对结果和第四消息。
14.采用该设计,数据消息设备可以同时接收不同格式的第一消息和第三消息,并对该第一消息和第三消息进行分析,从而提高了数据处理效率。
15.在一种可能的设计中,第一消息和第三消息来自于相同或不同设备。
16.采用该设计,数据消息设备可以接收来自不同设备的消息,提高了数据消息来源的灵活性。
17.在一种可能的设计中,该方法还包括:数据消息分析设备接收来自于数据消息处理设备的失败指示,失败指示用于指示对第二消息的处理失败;数据消息分析设备响应于失败指示,根据第二消息确定第三比对结果,第三比对结果指示第一数据项和第二数据项是否相同;数据消息分析设备向数据消息处理设备发送第三比对结果。
18.采用该设计,可以接收并响应失败指示,并对第二消息进行再一次的分析,从而提高了数据处理的准确性。
19.第二方面,本技术提供了一种数据消息处理方法,该方法包括:
20.数据消息处理设备接收来自于数据消息分析设备的第一比对结果和第二消息,第一比对结果用于指示第二消息包括的第一数据项和第二数据项是否相同,第二消息的格式为第一格式;数据消息处理设备根据第一比对结果对第二消息进行处理。
21.采用该设计,可以根据第一比对结果对第二消息进行处理,提高了数据处理效率。
22.在一种可能的设计中,数据消息处理设备包括springboot应用,该方法还包括:数据消息处理设备获取第二配置信息,第二配置信息用于指示数据消息处理设备在接收到第一比对结果和第二消息后,根据第一比对结果对第二消息进行处理。
23.在一种可能的设计中,该方法还包括:数据消息处理设备接收第二比对结果和第四消息,第四消息的格式为第一格式;数据消息处理设备根据第二比对结果对第四消息进行处理。
24.在一种可能的设计中,该方法还包括:数据消息处理设备在确定满足第一条件时,确定根据第一比对结果对第二消息进行的处理失败;数据消息处理设备向数据消息分析设备发送失败指示,失败指示用于指示对第二消息的处理失败;数据消息处理设备接收第三比对结果,第三比对结果响应于失败指示确定。
25.采用该设计,可以在确定满足第一条件时发送失败指示,从而指示对第二消息进行再一次的分析,还可以根据第三比对结果对第二消息进行再一次的处理,从而提高了数据处理的准确性。
26.第三方面,本技术还提供了一种数据消息处理装置,该装置包括:
27.收发模块,该收发模块用于接收第一消息,第一消息包括第一数据项和第二数据项;
28.处理模块,该处理模块用于根据第一消息确定第一格式的第二消息,支持对第一格式的消息进行分析,第二消息包括第一数据项和第二数据项;
29.该收发模块还用于获取数据比对请求,数据比对请求用于请求获得第一数据项和第二数据项的比对结果;
30.该处理模块还用于响应于数据比对请求,根据第二消息确定第一比对结果,第一比对结果指示第一数据项和第二数据项是否相同;
31.该收发模块还用于发送第一比对结果和第二消息。
32.在一种可能的设计中,该处理模块还用于获取第一配置信息,第一配置信息用于指示在接收到第一消息后确定第二消息,并根据第二消息确定比对结果。
33.在一种可能的设计中,该收发模块还用于接收第三消息,第三消息的格式与第一
消息的格式不同;该处理模块还用于根据第三消息确定第一格式的第四消息;根据第四消息确定第二比对结果;该收发模块还用于发送第二比对结果和第四消息。
34.在一种可能的设计中,第一消息和第三消息来自于相同或不同设备。
35.在一种可能的设计中,该收发模块还用于接收失败指示,失败指示用于指示对第二消息的处理失败;该处理模块还用于响应于失败指示,根据第二消息确定第三比对结果,第三比对结果指示第一数据项和第二数据项是否相同;该收发模块还用于发送第三比对结果。
36.第四方面,本技术还提供了一种数据消息处理装置,该装置包括:
37.收发模块,该收发模块用于接收第一比对结果和第二消息,第一比对结果用于指示第二消息包括的第一数据项和第二数据项是否相同,第二消息的格式为第一格式;
38.处理模块,该处理模块用于根据第一比对结果对第二消息进行处理。
39.在一种可能的设计中,该处理模块还用于获取第二配置信息,第二配置信息用于指示在接收到第一比对结果和第二消息后,根据第一比对结果对第二消息进行处理。
40.在一种可能的设计中,该收发模块还用于接收第二比对结果和第四消息,第四消息的格式为第一格式;该处理模块还用于根据第二比对结果对第四消息进行处理。
41.在一种可能的设计中,该处理模块还用于在确定满足第一条件时,确定根据第一比对结果对第二消息进行的处理失败;该收发模块还用于发送失败指示,失败指示用于指示对第二消息的处理失败;该处理模块还用于接收第三比对结果,第三比对结果响应于失败指示确定。
42.第五方面,本技术还提供了一种电子设备,电子设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述第一方面及其任一可能的设计数据消息处理方法的步骤。
43.第六方面,本技术还提供了一种计算机可读存储介质,其存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面及其任一可能的设计数据消息处理方法的步骤。
44.第七方面,本技术还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现如第一方面及其任一可能的设计数据消息处理方法的步骤。
45.另外,第二方面至第七方面所带来的技术效果可参见上述第一方面的描述,此处不再赘述。
附图说明
46.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
47.图1为本技术实施例提供的一种数据消息处理方法的流程示意图;
48.图2为本技术实施例提供的另一种数据消息处理方法的流程示意图;
49.图3为本技术实施例提供的另一种数据消息处理方法的流程示意图;
50.图4为本技术实施例提供的一种数据消息处理装置的结构示意图;
51.图5为本技术实施例提供的另一种数据消息处理装置的结构示意图;
52.图6为本技术实施例提供的另一种数据消息处理装置的结构示意图。
具体实施方式
53.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
54.为了兼容不同格式的消息,降低数据消息处理的复杂度,提高数据消息处理的灵活性,从而提高数据消息的处理效率,本技术实施例提供了一种数据消息处理方法及装置。
55.该方法可由数据消息分析设备和数据消息处理设备执行。该数据消息分析设备和数据消息处理设备可以是用于执行本技术所示方法的计算机系统,或者可以是计算机系统中用于执行本技术所示方法的处理装置,如处理器或处理模块等,不具体限定。需要注意的是,本技术中消息(或称数据消息)指携带需要进行相关副本同步的数据内容的异步消息。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
56.可选的,数据消息分析设备可以包括上游消息接收器,上游消息接收器主要负责接收来自上游发送方的消息;数据消息分析设备还可以包括消息清洗器,消息清洗器主要用于将来自上游发送方的消息统一处理成某一格式的消息;数据消息分析设备还可以包括数据消息比对器,该数据消息比对器主要用于进行数据消息中的数据项的比对。
57.可选的,数据消息处理设备可以包括消息业务处理器,消息业务处理器可以接收来自于数据消息比对器的第一比对结果和第二消息,应理解,通常第二消息的格式为第一格式,也就是消息清洗器处理之后的数据。
58.应理解,本技术中,数据消息分析设备和数据消息处理设备可以单独设置在不同实体中,也可以设置在同一实体中,不具体限定。
59.可选的,上游消息接收器可以是各类消息中间件(例如卡夫卡kafka)的客户端程序,也可以是自行开发的消息接收器,本技术不做限定。
60.可选的,消息处理引擎还可以通过第一配置信息配置上游消息接收器的接收能力,接收能力例如上游消息接收器接收全部数据消息,或者,仅接收来自某一设备的消息。应理解,消息处理引擎的配置文件还可以包括其他接收数据消息的指示信息,本技术不做限定。
61.图1为本技术实施例提供的一种数据消息处理方法的流程示意图,该流程包括以下步骤:
62.s101:数据消息分析设备接收第一消息,所述第一消息包括第一数据项和第二数据项。
63.具体的,数据消息分析设备可以通过上游消息接收器接收来自上游发送方的第一消息,第一消息的格式可以是第二格式,本技术不做限定。第一格式可以与第二格式相同或不同。应理解,本技术中的第一格式和第二格式均为示例,并不限定某一种具体格式。
64.例如,第一消息可以携带金融行业系统中的交易数据,还可以携带消费者在某一
网站中的动作流数据,本技术不做限定。第一消息可以包括至少一对需要比对的数据项,数据项比如交易数据。以一对数据项为例,可包括第一数据项以及第二数据项。应理解,第一消息所携带的需要比对的数据项的获取方式不在本技术进行限定,可参照本领域中的实现方式。
65.举例来说,第一消息可以用于携带金融行业系统中需要进行比对的交易数据的消息,其中,需要比对的数据包括交易处理设备存储的某一时间段内金融系统(例如银行a)中用户a的交易数据,和缓存设备中同一用户在同一时间段内的交易数据,则第一数据项和第二数据项分别是交易处理设备存储的该交易数据和缓存设备中存储的该交易数据。
66.在s101的一种实现方式中,数据消息分析设备包括斯普瑞布特(springboot)应用,数据消息分析设备获取第一配置信息,第一配置信息用于配置数据消息分析设备接收第一消息,从而通过springboot应用实现本技术所示方法。
67.具体的,数据消息分析设备对应于消息处理引擎,消息处理引擎通过springboot应用发送指示信息,springboot应用自带的配置文件(以“.yml”或“.yaml”为后缀的文件)可以包括第一配置信息。
68.示例性的,在数据消息分析设备接收第一消息之前,消息处理引擎可以通过第一配置信息配置上游消息接收器接收第一消息。
69.可选的,当数据消息分析设备包括消息清洗器时,消息处理引擎还可以通过第一配置信息配置上游消息接收器和消息清洗器之间的编排与串接,例如通过配置令上游消息接收器接收到第一消息之后,将第一消息交由消息清洗器进行处理。
70.s102:数据消息分析设备根据第一消息确定第一格式的第二消息,数据消息分析设备支持对第一格式的消息进行分析,第二消息包括第一消息中的数据项。
71.具体的,数据消息分析设备可以通过消息清洗器实现根据第一消息确定第一格式的第二消息的动作,例如第二消息的格式可以是通用格式。第二消息包括第一消息中的数据项,第一消息中的数据项包括第一数据项和第二数据项,应理解,第二消息中包括的第一数据项和第二数据项的格式与第二消息的格式相同。
72.可选的,数据消息分析设备还可以根据第一消息和清洗规则确定第一格式的第二消息,该清洗规则可以包括将与第一格式相关的规则,还可以是对无效数据、异常数据进行处理的清洗规则。
73.可选的,该清洗规则还可以是针对一个或多个字段的清洗规则,还可以是针对业务类型的清洗规则。具体的,消息处理引擎可以通过第一配置信息来配置清洗规则。
74.可选的,数据消息分析设备还可以包括多个消息清洗器,每个消息清洗器分别对应不同的上游发送方,多个消息清洗器所确定的第二消息的格式相同。由于不同的上游发送方所对应的格式要求不同,相应的,数据消息分析设备接收到的第一消息地格式不固定,可能会导致一个消息清洗器的消息转换机制不能兼容多种上游发送方所对应的格式,因此,采用上述方法,能够针对不同的上游发送方配置相应的消息清洗器,从而将第一消息统一处理成第一格式的第二消息,以进行后续数据处理。
75.在s102的一种实现方式中,数据消息分析设备包括springboot应用,数据消息分析设备获取第一配置信息,第一配置信息用于配置数据消息分析设备在接收到第一消息后确定第二消息。
76.示例性的,消息处理引擎可以通过第一配置信息配置上游消息接收器和消息清洗器之间的编排与串接,例如消息清洗器接收到第一消息之后,根据第一消息后确定第二消息。
77.可选的,当数据消息分析设备包括数据消息比对器时,消息处理引擎还可以通过第一配置信息配置消息清洗器和数据消息比对器之间的编排与串接,例如通过配置令消息清洗器确定第一格式的第二消息之后,将该第一格式的第二消息交由数据消息比对器进行处理。
78.s103:数据消息分析设备获取数据比对请求,所述数据比对请求用于请求获得所述第一数据项和所述第二数据项的比对结果。
79.其中,数据比对请求可以来自于数据消息处理设备,或者来自于人工接口,或者可以是基于数据消息分析设备的配置触发的。其中,人工接口可以是数据消息分析设备与业务人员之间通信的结构。数据比对请求可用于请求一段时间内的不特定数据消息中携带的数据项的比对结果,也可用于请求针对第一数据请求消息的比对结果。
80.应理解,本技术不限定s103的执行时序,s103可以在s101或s102之前执行,也可以在s101和s102之后执行。比如,数据消息分析设备的配置信息可通过数据比对请求,指示数据消息分析设备在收到第一消息后执行s101和s102。又例如,数据消息分析设备在收到该请求后,才对此前收到的第一消息执行s102。
81.s104:数据消息分析设备响应于所述数据比对请求,根据第二消息确定第一比对结果,第一比对结果指示第一数据项和第二数据项是否相同。
82.具体的,数据消息分析设备可以通过数据消息比对器实现根据第二消息中的第一数据项和第二数据项确定第一比对结果的动作,第一比对结果指示第一数据项和第二数据项是否相同。
83.示例性的,仍以s101中的示例来说,第一比对结果可能指示交易处理设备存储的某一时间段内金融系统(例如银行a)中用户a的交易数据,和缓存设备中存储的同一用户在同一时间段内的交易数据相同或不同。
84.应理解,第一数据项和第二数据项的比对结果还可能包括各种类型的删除动作流数据,包括物理删除、表现为修改的逻辑删除等多种形式;第一数据项和第二数据项的比对结果还可能包括各种类型的新增动作流数据;第一数据项和第二数据项的比对结果还可能包括修改动作流数据,例如包括可以对数据项中配置的某个字段的范围、数据项进行清洗处理之前的内容、数据项进行清洗处理之后的内容或数据项中某个字段的某几位进行比对的结果。
85.示例性的,第一数据项包括消费者在网站中修改某一文件前的数据,第二数据项包括该消费者在网站中修改该文件后的数据,数据消息比对器根据该第一数据项和第二数据项确定的第一比对结果可能包括该文件中被修改的全部内容,或者,数据消息比对器根据该第一数据项和第二数据项确定的第一比对结果可能仅包括该文件中某一字段被修改的内容。
86.可选的,数据消息比对器根据该第一数据项和第二数据项确定的第一比对结果可能不包括无效消息。例如数据消息比对器可以将与新增动作流数据和修改动作流数据相关的消息作为无效消息,则第一比对结果可以仅包括与删除动作流数据相关的消息,不包括
与新增动作流数据和修改动作流数据相关的消息。采用这样的方法,数据消息比对器能够剔除无效消息,减少对于不关心的字段的分析成本,减轻数据消息分析设备的负担。
87.可选的,数据消息比对器可以在不改变第一数据项和第二数据项的前提下,将第一比对结果独立存储,还可以存储第一数据项和第二数据项。采用该设计,可以保留初始数据,方便后续还原现场。
88.在s104的一种实现方式中,数据消息分析设备包括springboot应用,数据消息分析设备获取第一配置信息,第一配置信息用于配置数据消息分析设备根据第二消息确定第一比对结果。
89.示例性的,消息处理引擎可以通过第一配置信息配置消息清洗器和数据消息比对器之间的编排与串接,例如通过配置消息令数据消息比对器接收到第一格式的第二消息之后,根据第二消息确定第一比对结果。
90.可选的,消息处理引擎还可以通过第一配置信息配置第一数据项和第二数据项相同或不同的条件,或者,指示第一比对结果中的无效数据,或者,指示需要存储的数据。采用该设计,使得数据消息的对比机制更加灵活,能够适应不同的业务或设备需求。
91.s105:数据消息分析设备可以向数据消息处理设备发送第一比对结果和第二消息。
92.可选的,消息处理引擎还可以通过第一配置信息配置数据消息分析设备向其他设备发送数据消息,例如数据消息比对器确定第一比对结果之后,向数据消息处理设备发送第一比对结果和第二消息。
93.相应的,数据消息处理设备接收来自于数据消息分析设备的第一比对结果和第二消息。
94.s106:数据消息处理设备根据第一比对结果对第二消息进行处理。
95.具体的,数据消息处理设备可以通过消息业务处理器实现根据第一比对结果对第二消息进行处理的动作,例如进行相应的数据项副本更新、删除数据项或删除数据项中部分字段等。
96.可选的,消息业务处理器对第二消息进行处理的方式可能包括:对第二消息中的部分或全部字段进行新增、删除或修改的处理,和/或,指示对第二消息中的某一字段中的某几位进行新增、删除或修改的处理,和/或,指示数据业务消息处理器不对第二消息进行处理。
97.可选的,消息业务处理器对第二消息进行处理的方式可以和第二消息所属的业务类型相关,例如当第二消息属于第一业务时,执行第一种数据处理方式;当第二消息属于第二业务时,执行第二种数据处理方式。具体业务及业务对应的处理方式本技术不做限定。
98.可选的,数据消息处理设备可以包括多个消息业务处理器,每个消息业务处理器分别对应不同的下游设备或者对应不同的业务类型。由于下游设备的需求不同,或者不同业务类型的消息的业务逻辑不同,可能导致一个消息业务处理器不能兼容多种下游设备或者多种业务类型,因此,采用上述方法,能够针对不同的下游设备或不同的业务类型配置相应的消息清洗器,从而满足不同的下游设备或不同的业务类型对数据消息处理的需求。
99.可选的,多个消息业务处理器可以按照一定的顺序执行处理操作。
100.在s106的一种实现方式中,数据消息处理设备包括springboot应用,数据消息处
理设备获取第二配置信息,第二配置信息用于指示数据消息处理设备在接收到第一比对结果和第二消息后,根据第一比对结果对第二消息进行处理。采用该方法,能够通过第一配置信息和/或第二配置信息进行集中式的灵活配置,无需通过代码固化相关业务处理,降低了数据处理的复杂度。
101.具体的,数据消息处理设备可对应于消息处理引擎,消息处理引擎通过springboot应用发送指示信息,springboot应用自带的配置文件(以“.yml”或“.yaml”为后缀的文件)可以包括第二配置信息。
102.示例性的,消息处理引擎可以通过第二配置信息配置数据业务消息处理器根据第一比对结果对第二消息进行处理,和/或,通过第二配置信息配置消息业务处理器对第二消息进行处理的方式,和/或,通过第一配置信息配置多个消息业务处理器的处理顺序。
103.采用以上方法,能够完成对不同格式的消息的分析和处理,提高了数据消息处理效率。
104.在一种可能的示例中,数据消息处理设备在确定满足第一条件时,确定根据第一比对结果对第二消息进行的处理失败。此时,数据消息处理设备可以向数据消息分析设备指示本次处理结果,从而由数据消息处理设备根据第二消息重新确定比对结果,以提高数据比对可靠性。此外,由于数据消息分析设备可以存储第二消息,在处理失败的情况下,数据消息分析设备可以根据第二消息确定新的比对结果,而不需要对第一消息重新进行格式转换,再确定比对结果,可以进一步提高数据比对效率。
105.具体的,当满足第一条件时,可以确定消息业务处理器对第二消息进行的处理失败,其中,例如第一条件可以是数据消息处理设备没有收到第一比对结果和第二消息,第一条件还可以是数据消息处理设备收到的第一比对结果和/或第二消息中存在信息缺失,第一条件还可以是数据消息处理设备收到的第一比对结果和/或第二消息的格式不符合业务需求。应理解,第一条件还可以包括其他条件,本技术不做限定。
106.可选的,消息处理引擎还可以通过第一配置信息指示第一条件。
107.可选的,可以将满足第一条件时的第一比对结果和第二消息独立存储。采用该方法,因为被存储的第二消息是消息清洗器处理后的消息,因此后续查看或处理时无需再进行相关的清洗处理。
108.可选的,当满足第一条件时,数据消息处理设备向数据消息分析设备发送失败指示,该失败指示用于指示对第二消息的处理失败。可选的,消息处理引擎还可以通过第一配置信息指示当满足第一条件时,消息业务处理器向数据消息分析设备发送失败指示。
109.相应的,数据消息分析设备接收来自于数据消息处理设备的失败指示。具体的,数据消息分析设备通过上游消息接收器还可以接收来自数据消息处理设备的失败指示。此后,可由数据消息分析设备可响应于失败指示,根据第二消息重新确定第一数据项和第二数据项的比对结果(称为第三比对结果),并将第三比对结果(或第三比对结果和第二消息)发送至数据消息处理设备,由数据消息处理设备根据第三比对结果对所述第二消息进行处理。其中,确定第三比对结果的过程可参照本技术中对于确定第一比对结果的说明。
110.可选的,数据消息分析设备接收到对于同一数据消息的失败指示的次数超过阈值时,不再接收该数据消息所对应的失败指示。例如数据消息分析设备接收到关于第一数据项和第二数据项的失败指示的次数超过5次之后,不再接收该失败指示。进一步的,数据消
息分析设备可以将该多次产生失败指示的数据独立存储,可供后续进行异步再尝试。
111.采用该方法,数据消息分析设备可以对第一消息中的第一数据项和第二数据项的数据处理过程循环执行有限次,避免无限次循环导致的系统瘫痪或故障。
112.应理解,上游消息接收器接收到失败指示之后的操作可以与步骤s101中接收到第一消息的操作相同或不同。
113.可选的,消息处理引擎可以通过第一配置消息指示上游消息接收器和数据消息比对器之间的编排与串接,例如上游消息接收器接收到失败指示之后,将该失败指示交由数据消息比对器进行处理。采用这样的方法,由于失败指示中的消息是消息清洗器处理后的消息,消息清洗器无需重复执行对同一数据消息的清洗处理,提高了消息处理的效率,减轻了数据消息分析设备的负担。
114.采用该方法,数据消息分析设备可以对数据消息处理错误的消息进行重试,多次执行数据消息的比对,避免因设备故障导致的误判或误处理。
115.图2为本技术提供的另一种数据消息处理方法的流程示意图,该流程包括以下步骤:
116.s201:数据消息分析设备接收第一消息和第三消息,第三消息的格式与第一消息的格式不同,第一消息包括第一数据项和第二数据项,第三消息可以包括第三数据项和第四数据项。应理解,数据消息分析设备可以同时接收第一消息和第三消息。
117.例如,第一消息可以与s101中的第一消息相同。第三消息可以携带金融行业系统中的交易数据,还可以携带消费者在某一网站中的动作流数据,本技术不做限定。第三消息可以包括至少一对需要比对的数据项,数据项比如动作流数据。以一对数据项为例,可包括第三数据项和第四数据项。应理解,第三消息携带的需要比对的数据项的获取方式不再本技术进行限定,可参照本领域中的实现方式。
118.举例来说,第三消息可以用于携带某一网站中需要进行比对的动作流数据的消息,其中,需要比对的数据包括网站处理设备存储的某一时间段内某一网站中用户b的动作流数据,和缓存设备中同一用户在同一时间段内的动作流数据,则第一数据项和第二数据项分别是网站处理设备存储的该动作流数据和缓存设备中存储的该动作流数据。
119.可选的,数据消息分析设备接收第三消息的方法可以与步骤s101中数据消息分析设备接收第一消息的方法相同或不同。
120.可选的,数据消息分析设备可以为每一个数据消息生成跟踪号,该跟踪号可以伴随在数据处理的全过程中。例如,第一消息的跟踪号为“0001”,第三消息的跟踪号为“0002”。采用该方法,可以便于将单条消息完整处理链路进行串接,还可以提高数据消息的辨识度,使数据消息分析设备和数据消息处理设备可以更好的辨别数据消息之间的关系。
121.可选的,数据消息分析设备可以为数据消息添加消息头,该消息头用于存放该数据消息的跟踪号。
122.可选的,数据消息分析设备可以拆分第三消息,从而生成新的单条数据消息。例如,上游发送方将多条数据消息进行合并发送时,数据消息分析设备可识别并还原多条数据消息,以便后续处理。
123.在s201的一种实现方式中,第一消息和第三消息来自于相同或不同设备。应理解,不同的上游发送方所发送的消息的格式可能有所不同,同一个上游发送方所发送的多个数
据消息的格式也有可能不同,因此,采用上述方法,数据分析设备能够接收不同格式的消息。
124.s202:数据消息分析设备根据第三消息确定第一格式的第四消息,第四消息包括第三消息中的数据项,以及,根据第一消息确定第一格式的第二消息,数据消息分析设备支持对第一格式的消息进行分析,第二消息包括第一消息中的数据项。
125.可选的,数据消息分析设备根据第三消息确定第一格式的第四消息的方法可以与步骤s102中数据消息分析设备根据第一消息确定第一格式的第二消息的方法相同或不同。
126.可选的,数据消息分析设备可以为每一个清洗后的消息保留跟踪号。例如,第一格式的第二消息的跟踪号为“0001”,相应的,第一数据项和第二数据项的跟踪号为“0001”;第一格式的第四消息的跟踪号为“0002”,相应的,第三数据项和第四数据项的跟踪号为“0002”。
127.s203:数据消息分析设备根据第四消息确定第二比对结果,第二比对结果可以指示第三数据项和第四数据项是否相同,以及,根据第二消息确定第一比对结果,第一比对结果指示第一数据项和第二数据项是否相同。
128.可选的,数据消息分析设备根据第四消息确定第二比对结果的方法可以与步骤s104中数据消息分析设备根据第二消息确定第一比对结果的方法相同或不同。
129.s204:数据消息分析设备可以向数据消息处理设备发送第二比对结果和第四消息,以及,数据消息分析设备可以向数据消息处理设备发送第一比对结果和第二消息。
130.可选的,数据消息处理设备向数据消息处理设备发送第二比对结果和第四消息的方法可以与步骤s105中数据消息处理设备向数据消息处理设备发送第一比对结果和第二消息的方法相同或不同。
131.相应的,数据消息处理设备接收第二比对结果和第四消息,以及,数据消息处理设备接收来自于数据消息分析设备的第一比对结果和第二消息。
132.s205:数据消息处理设备根据第二比对结果对第四消息进行处理,以及,数据消息处理设备根据第一比对结果对第二消息进行处理。
133.可选的,数据消息处理设备根据第二比对结果对第四消息进行处理的方法可以与步骤s106中数据消息处理设备根据第一比对结果对第二消息进行处理的方法相同或不同。
134.应理解,当数据消息处理设备在确定满足第二条件时,也可以确定根据第二比对结果对第四消息进行的处理失败,并向数据消息分析设备发送失败指示,其中,第二条件可以与第一条件相同或不同。数据消息分析设备响应于失败指示,根据第四消息确定第四比对结果。
135.采用图2所示的数据消息处理方法,能够同时处理多个数据消息,并且对不同格式的消息进行数据清洗,使得该多个数据消息的格式都能够满足比对和处理需求,提高了数据消息的处理效率。
136.图3为本技术提供的另一种数据消息处理方法的流程示意图,该流程包括以下步骤:上游发送数据消息;上游消息接收器通过消息中间件接收相关数据消息;消息清洗器将不同的上游数据消息格式清洗成统一的中间消息格式;数据消息比对器对数据消息进行比对,获取本次数据消息变化结果;消息业务处理器将消息进行相关业务处理,包括更新副本等;当处理失败时,消息业务处理器返回处理失败的消息,从而进行重试。具体的实现方式
可以与上述两个实施例中的实现方式相同。
137.图4为本技术提供的一种数据消息处理装置的结构示意图,该数据消息处理装置由数据消息分析设备和数据消息处理设备组成。其中,数据消息分析设备包括上游消息接收器、消息清洗器、数据消息比对器,该数据消息分析设备对应于消息处理引擎和消息存储器,该消息存储器可以用于存储消息配置文件。数据消息处理设备包括消息业务处理器,该数据消息处理设备对应于消息处理引擎和消息存储器,该消息存储器也可以用于存储消息配置文件。应理解,数据消息分析设备和数据消息处理设备所对应的消息处理引擎可以是同一个消息处理引擎,数据消息分析设备和数据消息处理设备所对应的消息存储器可以是同一个消息存储器。
138.具体的,上游消息接收器可以用于执行s101中接收第一消息的动作,或者,还可以用于执行接收失败指示的动作;消息清洗器可以用于执行s102中确定第一格式的第二消息的动作;数据消息比对器可以用于执行s104中确定第一比对结果的动作,或者,还可以用于执行响应失败指示,确定第三比对结果的动作;消息业务处理器可以用于执行s105中接收第一比对结果和第二消息的动作,或者,还可以用于执行s106中根据第一比对结果对第二消息进行处理的动作,或者,还可以用于执行确定根据第一比对结果对第二消息进行的处理失败的动作。消息存储器可以用于存储上述动作产生的全部数据消息,或者,还可以用于存储配置文件。消息处理引擎主要负责数据消息处理的总体流程,是整个数据消息处理的核心单元,可以用于实现对上游消息接收器、消息清洗器、数据消息比对器、消息业务处理器或消息存储器的初始化,或者,还可以用于实现上述上游消息接收器、消息清洗器、数据消息比对器、消息业务处理器和消息存储器之间的编排与串接,或者,还可以用于获取、发送或转换配置文件。
139.图5所示为本技术实施例提供的一种数据消息处理装置的模块化结构示意图。该装置可包括收发模块501和处理模块502。该收发模块501可用于接收第一消息,第一消息包括第一数据项和第二数据项;该处理模块502可用于根据第一消息确定第一格式的第二消息,支持对第一格式的消息进行分析,第二消息包括第一数据项和第二数据项;该收发模块501还可用于获取数据比对请求,数据比对请求可用于请求获得第一数据项和第二数据项的比对结果;该处理模块502还可用于响应于数据比对请求,根据第二消息确定第一比对结果,第一比对结果指示第一数据项和第二数据项是否相同;该收发模块501还可用于发送第一比对结果和第二消息。此外,该收发模块501还可用于接收第一比对结果和第二消息,第一比对结果可用于指示第二消息包括的第一数据项和第二数据项是否相同,第二消息的格式为第一格式;该处理模块502还可用于根据第一比对结果对第二消息进行处理。
140.在一种可能的设计中,该处理模块502还可用于获取第一配置信息,第一配置信息可用于指示在接收到第一消息后确定第二消息,并根据第二消息确定比对结果。
141.在一种可能的设计中,该收发模块501还可用于接收第三消息,第三消息的格式与第一消息的格式不同;该处理模块502还可用于根据第三消息确定第一格式的第四消息,第四消息包括第三消息中的数据项,第三消息中的数据项包括第三数据项和第四数据项;根据第四消息确定第二比对结果,第二比对结果指示第三数据项和第四数据项是否相同;该收发模块501还可用于发送第二比对结果和第四消息。
142.在一种可能的设计中,第一消息和第三消息来自于相同或不同设备。
143.在一种可能的设计中,该收发模块501还可用于接收失败指示,失败指示可用于指示对第二消息的处理失败;该处理模块502还可用于响应于失败指示,根据第二消息确定第三比对结果,第三比对结果指示第一数据项和第二数据项是否相同;该收发模块501还可用于发送第三比对结果。
144.在一种可能的设计中,该处理模块502还可用于获取第二配置信息,第二配置信息可用于指示在接收到第一比对结果和第二消息后,根据第一比对结果对第二消息进行处理。
145.在一种可能的设计中,该收发模块501还可用于接收第二比对结果和第四消息,第二比对结果可用于指示第四消息包括的第三数据项和第四数据项是否相同,第四消息的格式为第一格式;该处理模块502还可用于根据第二比对结果对第四消息进行处理。
146.在一种可能的设计中,该处理模块502还可用于在确定满足第一条件时,确定根据第一比对结果对第二消息进行的处理失败;该收发模块501还可用于发送失败指示,失败指示可用于指示对第二消息的处理失败;该处理模块502还可用于接收第三比对结果,第三比对结果响应于失败指示确定。
147.图6所示为本技术实施例提供的一种数据消息处理装置结构示意图。
148.本技术实施例中的电子设备可包括处理器601。处理器601是该装置的控制中心,可以利用各种接口和线路连接该装置的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据。可选的,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
149.处理器601可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的数据消息处理装置所执行的步骤可以直接由硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
150.在本技术实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以用于执行前述由数据消息分析设备和/或数据消息处理设备执行的通信过程。
151.存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实
施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
152.本技术实施例中,该装置还可以包括通信接口603,电子设备可以通过该通信接口603传输数据。例如电子设备为数据消息处理系统,通信接口603可用于执行收发模块501。
153.可选的,可由图6所示处理器601(或处理器601和存储器602)实现图5所示的收发模块501和/或处理模块502,也就是说,可以由处理器601(或处理器601和存储器602)执行收发模块501和/或处理模块502的动作。
154.基于相同的发明构思,本技术实施例还提供一种计算机可读存储介质,其中可存储有指令,当该指令在计算机上运行时,使得计算机执行上述方法实施例提供的操作步骤。该计算机可读存储介质可以是图6所示的存储器602。
155.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
156.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
157.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
158.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
159.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种数据消息处理方法,其特征在于,所述方法包括:数据消息分析设备接收第一消息,所述第一消息包括第一数据项和第二数据项;所述数据消息分析设备根据所述第一消息确定第一格式的第二消息,所述数据消息分析设备支持对所述第一格式的消息进行分析,所述第二消息包括第一数据项和第二数据项;所述数据消息分析设备获取数据比对请求,所述数据比对请求用于请求获得所述第一数据项和所述第二数据项的比对结果;所述数据消息分析设备响应于所述数据比对请求,根据所述第二消息确定第一比对结果,所述第一比对结果指示所述第一数据项和所述第二数据项是否相同;所述数据消息分析设备向数据消息处理设备发送所述第一比对结果和所述第二消息。2.如权利要求1所述的方法,其特征在于,所述数据消息分析设备包括斯普瑞布特springboot应用,所述方法还包括:所述数据消息分析设备获取第一配置信息,所述第一配置信息用于指示所述数据消息分析设备在接收到所述第一消息后确定所述第二消息,并根据所述第二消息确定所述比对结果。3.如权利要求1所述的方法,其特征在于,所述方法还包括:所述数据消息分析设备接收第三消息,所述第三消息的格式与所述第一消息的格式不同;所述数据消息分析设备根据所述第三消息确定所述第一格式的第四消息;所述数据消息分析设备根据所述第四消息确定第二比对结果;所述数据消息分析设备发送所述第二比对结果和所述第四消息。4.如权利要求3所述的方法,其特征在于,所述第一消息和所述第三消息来自于相同或不同设备。5.如权利要求1所述的方法,其特征在于,所述方法还包括:所述数据消息分析设备接收来自于所述数据消息处理设备的失败指示,所述失败指示用于指示对所述第二消息的处理失败;所述数据消息分析设备响应于所述失败指示,根据所述第二消息确定第三比对结果,所述第三比对结果指示所述第一数据项和所述第二数据项是否相同;所述数据消息分析设备向所述数据消息处理设备发送所述第三比对结果。6.一种数据消息处理方法,其特征在于,所述方法包括:数据消息处理设备接收来自于数据消息分析设备的第一比对结果和第二消息,所述第一比对结果用于指示所述第二消息包括的第一数据项和第二数据项是否相同,所述第二消息的格式为第一格式;所述数据消息处理设备根据所述第一比对结果对所述第二消息进行处理。7.如权利要求6所述的方法,其特征在于,所述数据消息处理设备包括springboot应用,所述方法还包括:所述数据消息处理设备获取第二配置信息,所述第二配置信息用于指示所述数据消息处理设备在接收到所述第一比对结果和所述第二消息后,根据所述第一比对结果对所述第二消息进行处理。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:所述数据消息处理设备接收第二比对结果和第四消息,所述第四消息的格式为第一格式;所述数据消息处理设备根据所述第二比对结果对所述第四消息进行处理。9.如权利要求6所述的方法,其特征在于,所述方法还包括:所述数据消息处理设备在确定满足第一条件时,确定根据所述第一比对结果对所述第二消息进行的处理失败;所述数据消息处理设备向所述数据消息分析设备发送失败指示,所述失败指示用于指示对所述第二消息的处理失败;所述数据消息处理设备接收第三比对结果,所述第三比对结果响应于所述失败指示确定。10.一种数据消息处理装置,其特征在于,所述装置包括:收发模块,所述收发模块用于接收第一消息,所述第一消息包括第一数据项和第二数据项;处理模块,所述处理模块用于根据所述第一消息确定第一格式的第二消息,支持对所述第一格式的消息进行分析,所述第二消息包括第一数据项和第二数据项;所述收发模块还用于获取数据比对请求,所述数据比对请求用于请求获得所述第一数据项和所述第二数据项的比对结果;所述处理模块还用于响应于所述数据比对请求,根据所述第二消息确定第一比对结果,所述第一比对结果指示所述第一数据项和所述第二数据项是否相同;所述收发模块还用于发送所述第一比对结果和所述第二消息。11.如权利要求10所述的装置,其特征在于,所述处理模块还用于:获取第一配置信息,所述第一配置信息用于指示在接收到所述第一消息后确定所述第二消息,并根据所述第二消息确定所述比对结果。12.如权利要求10所述的装置,其特征在于,所述收发模块还用于:接收第三消息,所述第三消息的格式与所述第一消息的格式不同;所述处理模块还用于:根据所述第三消息确定所述第一格式的第四消息;根据所述第四消息确定第二比对结果;所述收发模块还用于:发送所述第二比对结果和所述第四消息。13.如权利要求12所述的装置,其特征在于,所述第一消息和所述第三消息来自于相同或不同设备。14.如权利要求10所述的装置,其特征在于,所述收发模块还用于:接收失败指示,所述失败指示用于指示对所述第二消息的处理失败;所述处理模块还用于:响应于所述失败指示,根据所述第二消息确定第三比对结果,所述第三比对结果指示所述第一数据项和所述第二数据项是否相同;所述收发模块还用于:
发送所述第三比对结果。15.一种数据消息处理装置,其特征在于,所述装置包括:收发模块,所述收发模块用于接收第一比对结果和第二消息,所述第一比对结果用于指示所述第二消息包括的第一数据项和第二数据项是否相同,所述第二消息的格式为第一格式;处理模块,所述处理模块用于根据所述第一比对结果对所述第二消息进行处理。16.如权利要求15所述的装置,其特征在于,所述处理模块还用于:获取第二配置信息,所述第二配置信息用于指示在接收到所述第一比对结果和所述第二消息后,根据所述第一比对结果对所述第二消息进行处理。17.如权利要求15所述的装置,其特征在于,所述收发模块还用于:接收第二比对结果和第四消息,所述第四消息的格式为第一格式;所述处理模块还用于:根据所述第二比对结果对所述第四消息进行处理。18.如权利要求15所述的装置,其特征在于,所述处理模块还用于:在确定满足第一条件时,确定根据所述第一比对结果对所述第二消息进行的处理失败;所述收发模块还用于:发送失败指示,所述失败指示用于指示对所述第二消息的处理失败;所述处理模块还用于:接收第三比对结果,所述第三比对结果响应于所述失败指示确定。19.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一所述方法的步骤。20.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一所述方法的步骤。
技术总结
本发明公开了一种数据消息处理方法及装置,适用于数据分析技术领域,用以对不同格式的消息进行比对分析和处理,提高消息处理的效率。该方法包括:数据消息分析设备接收第一消息;数据消息分析设备根据第一消息确定第一格式的第二消息,第二消息包括第一数据项和第二数据项;数据消息分析设备获取数据比对请求,数据比对请求用于请求获得第一数据项和第二数据项的比对结果;数据消息分析设备响应于数据比对请求,根据第二消息确定第一比对结果;数据消息分析设备向数据消息处理设备发送第一比对结果和第二消息。一比对结果和第二消息。一比对结果和第二消息。
技术研发人员:吴轶峰 柯昌正 乔茜茜
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2021.12.08
技术公布日:2022/3/8