消息队列报文处理方法及装置与流程

文档序号:29086796发布日期:2022-03-02 01:35阅读:96来源:国知局
消息队列报文处理方法及装置与流程

1.本发明涉及金融领域,尤其涉及消息队列报文处理方法及装置。需要说明的是,本发明消息队列报文处理方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本发明消息队列报文处理方法和装置的应用领域不做限定。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.当两个系统需要通过消息中间件传输消息时,请求系统在发送请求消息后,接收系统往往也需要传输应答消息。在某些场景下,请求系统需要接收多份应答消息并处理后才能完成一个完整的交易,如果多份应答消息存在依赖关系必须顺序处理时,可能会产生接收时序的错误,造成处理失败。例如,产品系统在发送支付报文后,需要根据清算系统的回执来更新本地状态,业务人员也会根据此状态来决定后续的操作,但清算系统的回执为两份,并且存在处理上的先后,必须在第一份回执处理成功后才能处理第二份回执。而在实际应用中,两份回执的顺序往往同步接收,或者后发先至。
4.现有技术通常将一次交互变为二次交互,但这种方法增加了开发成本和复杂度,无法保证报文处理效率和准确率,并且接收系统需要做额外的开发,可能由于这些额外的开发改造复杂度过大而无法实现。
5.因此,亟需一种可以克服上述问题的消息队列报文处理方案。


技术实现要素:

6.本发明实施例提供一种消息队列报文处理方法,用以进行消息队列报文处理,在保证报文处理效率和准确率的基础上降低成本和复杂度,该方法包括:
7.接收消息队列的报文,所述报文中包含报文数据信息;
8.根据所述报文数据信息,更新对应的本地历史数据信息;
9.若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;
10.根据所述延时处理信息,对报文进行延时等待处理。
11.本发明实施例提供一种消息队列报文处理装置,用以进行消息队列报文处理,在保证报文处理效率和准确率的基础上降低成本和复杂度,该装置包括:
12.报文接收模块,用于接收消息队列的报文,所述报文中包含报文数据信息;
13.信息更新模块,用于根据所述报文数据信息,更新对应的本地历史数据信息;
14.信息读取模块,用于若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;
15.延时处理模块,用于根据所述延时处理信息,对报文进行延时等待处理。
16.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述消息队列报
文处理方法。
17.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述消息队列报文处理方法。
18.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述消息队列报文处理方法。
19.本发明实施例通过接收消息队列的报文,所述报文中包含报文数据信息;根据所述报文数据信息,更新对应的本地历史数据信息;若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;根据所述延时处理信息,对报文进行延时等待处理。本发明实施例在发现更新失败时,根据报文数据信息从参数信息表中读取延时处理信息,并根据延时处理信息对报文进行延时等待处理,从而在保证报文处理效率和准确率的基础上降低成本和复杂度。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
21.图1为本发明实施例中消息队列报文处理方法示意图;
22.图2为本发明实施例中另一消息队列报文处理方法示意图;
23.图3为本发明实施例中另一消息队列报文处理方法示意图;
24.图4为本发明实施例中消息队列报文处理装置结构图;
25.图5为本发明实施例中另一消息队列报文处理装置结构图;
26.图6为本发明实施例中另一消息队列报文处理装置结构图;
27.图7是本发明实施例的计算机设备结构示意图。
具体实施方式
28.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
29.首先,对本发明实施例中的技术名词进行介绍:
30.消息队列:指在消息的传输过程中保存消息的容器。
31.报文:一种应用在支付业务中的消息类型,在下发中指代消息。
32.如前所述,当前的it系统,伴随着分布式架构,集群架构的广泛应用,通过消息中间件传输多份消息时,发送时序往往存在与接收时序不一致的情况,如果多份消息存在处理上的依赖管理,那么这种时序的错误将会造成接收系统的处理失败。
33.为了进行消息队列报文处理,在保证报文处理效率和准确率的基础上降低成本和复杂度,本发明实施例提供一种消息队列报文处理方法,如图1所示,该方法可以包括:
34.步骤101、接收消息队列的报文,所述报文中包含报文数据信息;
35.步骤102、根据所述报文数据信息,更新对应的本地历史数据信息;
36.步骤103、若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;
37.步骤104、根据所述延时处理信息,对报文进行延时等待处理。
38.由图1所示可以得知,本发明实施例通过接收消息队列的报文,所述报文中包含报文数据信息;根据所述报文数据信息,更新对应的本地历史数据信息;若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;根据所述延时处理信息,对报文进行延时等待处理。本发明实施例在发现更新失败时,根据报文数据信息从参数信息表中读取延时处理信息,并根据延时处理信息对报文进行延时等待处理,从而在保证报文处理效率和准确率的基础上降低成本和复杂度。
39.发明人发现,在从消息队列接收报文后,需要考虑两个方面:一是能够正确的接收消息,确保消息不丢失;二是能够正常的处理消息,确保消息的解析,更新往报的状态。在本发明实施例中,额外考虑消息队列消息的接收次序和处理次序。假设接收消息分为回执一和回执二。回执一是中间状态,表示接收系统处理中,可按照唯一索引更新往报状态,回执二是最终状态,只能根据回执一接收下来的信息来更新。因此,在常规操作中,一旦先接收并处理了回执二,结果只能是处理失败,往报无法更新为终态,影响该业务的后续操作。因此,本发明实施例重点解决如何确保两份回执的顺序和正确处理。为此,提出了回执延时处理和交易补偿核对处理的报文处理机制。回执延时处理指在必要的条件下,某些消息(如回执二)可进行延时处理。交易补偿核对处理指通过其他联机或批量处理功能,在不增加开发复杂程度的前提下,直接或间接的对消息状态进行补充核对以确认最终状态。
40.实施例中,接收消息队列的报文,所述报文中包含报文数据信息。
41.本实施例中,报文数据信息包括:交易码信息和报文类型。
42.本实施例中,在接收消息队列的报文后,检查所述报文的正确性。对每个报文都独立处理解析,无需考虑报文之间的先后顺序或关联性。
43.实施例中,根据所述报文数据信息,更新对应的本地历史数据信息。
44.具体实施时,将解析后的报文根据具体应用更新对应的本地历史数据信息。
45.实施例中,若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息。根据延时处理信息,对报文进行延时等待处理。
46.本实施例中,如图2所示,消息队列报文处理方法还包括:
47.步骤105、若根据报文数据信息从参数信息表中读取不到延时处理信息,则发出错误报文提醒消息。
48.具体实施时,可以对报文属性进行参数化,若更新失败则根据交易码信息和报文类型从参数信息表中读取延时处理信息,确定是否需要延时处理和延时处理的时长,如果有相应的延时处理信息,则按照读取的信息进行延时等待;如果没有延时处理信息,则认为是错误报文,发出错误报文提醒消息。
49.本实施例中,如图3所示,消息队列报文处理方法还包括:
50.步骤106、在设定夜间批量时段,采集通用交易信息文件;
51.步骤107、根据所述通用交易信息文件,对报文进行补充核对处理。
52.具体实施时,在夜间批量时段,启动交易补偿核对功能,采集目标系统下发的通用交易信息文件,根据文件中的数据信息同步本地往报数据,补充核对系统报文状态。本发明实施例增加了交易补偿核对,采用其他间接手段或者备选条件来对交易进行补充核对。主
要原因是延时处理模块作为一种实时报文处理的模块,对系统资源有一定的消耗,在平衡资源消耗和时效性之间,延时处理需要控制在一定的范围内,超出范围的交易,可通过交易补偿核对模块这一成本较低的方式来处理。通过延时处理机制和交易补偿核对机制,将所接收的无序消息转变成有序消息来处理,在有限开发成本下提高应用处理的正确率和时效性。
53.本发明实施例考虑到项目实施范围,开发周期,开发成本,技术复杂度,接口管理等因素,仅需要一方的改造科技解决对应的技术问题。并且,延时处理可扩展性强,支持多种类型的报文处理,具备通用性。
54.基于同一发明构思,本发明实施例还提供了一种消息队列报文处理装置,如下面的实施例所述。由于这些解决问题的原理与消息队列报文处理方法相似,因此消息队列报文处理装置的实施可以参见方法的实施,重复之处不再赘述。
55.图4为本发明实施例中消息队列报文处理装置的结构图,如图4所示,该消息队列报文处理装置包括:
56.报文接收模块401,用于接收消息队列的报文,所述报文中包含报文数据信息;
57.信息更新模块402,用于根据所述报文数据信息,更新对应的本地历史数据信息;
58.信息读取模块403,用于若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;
59.延时处理模块404,用于根据所述延时处理信息,对报文进行延时等待处理。
60.一个实施例中,所述报文数据信息包括:交易码信息和报文类型。
61.一个实施例中,如图5所示,消息队列报文处理装置还包括:
62.错误提醒模块405,用于若根据报文数据信息从参数信息表中读取不到延时处理信息,则发出错误报文提醒消息。
63.一个实施例中,如图6所示,消息队列报文处理装置还包括:
64.文件采集模块406,用于在设定夜间批量时段,采集通用交易信息文件;
65.补充核对模块407,用于根据所述通用交易信息文件,对报文进行补充核对处理。
66.基于前述发明构思,如图7所示,本发明实施例还提供一种计算机设备700,包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现上述消息队列报文处理方法。
67.基于前述发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述消息队列报文处理方法。
68.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述消息队列报文处理方法。
69.本发明实施例通过接收消息队列的报文,所述报文中包含报文数据信息;根据所述报文数据信息,更新对应的本地历史数据信息;若更新失败,则根据报文数据信息从参数信息表中读取延时处理信息;根据所述延时处理信息,对报文进行延时等待处理。本发明实施例在发现更新失败时,根据报文数据信息从参数信息表中读取延时处理信息,并根据延时处理信息对报文进行延时等待处理,从而在保证报文处理效率和准确率的基础上降低成本和复杂度。
70.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
71.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
72.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
73.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1