一种消息系统、消息处理方法、装置及设备与流程



1.本发明涉及通信技术领域,特别涉及一种消息系统、消息处理方法、装置及设备。


背景技术:



2.消息中间件是软件系统中常见的组件,多用于微服务架构下多个服务间的通信场景,通常具备消息堆积及持久化能力。使用消息中间件可以缓解服务间由于处理能力波动或不一致等情况引发的通信丢失,超时等问题。
3.对于基于事务的消息采用“初始化

提交/取消”模式来发送消息的消息中间件,生产者需要初始化消息,执行业务逻辑,然后再提交或者取消来决定该消息是否推送给消费者。此类消息中间件的原生api限定业务消息的内容必须在初始化阶段提供且在消息投递过程中不能进行修改,降低消息投递的效率和可维护性。


技术实现要素:



4.有鉴于此,本发明的目的在于提供一种消息系统、消息处理方法、装置、及设备,另外本发明还提供相应的存储介质,能够提高消息处理效率和灵活性。其具体方案如下:
5.本技术的第一方面提供了一种消息系统,包括:消息处理模块和消息路由模块,其中:
6.所述消息处理模块,用于对与业务系统的业务服务对应的业务消息进行初始化操作、提交操作或取消操作;其中,所述业务服务为与所述业务系统的接入请求对应的服务,所述接入请求为所述业务系统请求接入所述消息系统的请求;
7.所述消息路由模块,用于存储所述业务消息的基础信息,以便所述消息处理模块根据所述基础信息对所述业务消息进行相应的初始化操作、提交操作或取消操作。
8.可选的,所述消息处理模块包括消息初始化单元、消息提交单元及消息取消单元,其中:
9.所述消息初始化单元,用于根据与业务系统的初始化服务对应的待初始化消息进行初始化操作;
10.所述消息提交单元,用于根据与业务系统的消息提交服务对应的待提交消息进行提交操作;
11.所述消息取消单元,用于根据与业务系统的消息取消服务对应的待取消消息进行取消操作。
12.可选的,所述消息初始化单元用于对所述待初始化消息的所述基础信息进行配置,并将配置后的所述待初始化消息的所述基础信息通过远程字典服务的方式存储至所述消息路由模块。
13.可选的,所述配置后的所述待初始化消息还设置有相应的过期时间。
14.可选的,所述消息提交单元用于从所述消息路由模块的所述基础信息中获取所述待提交消息的投递地址,并将所述待提交消息及相应的所述投递地址发送至消息中间件,
以便所述消息中间件根据所述投递地址对所述待提交消息进行投递。
15.可选的,所述消息处理模块还包括:
16.第一状态更新单元,用于对所述业务消息进行初始化操作后,将所述业务消息对应的状态更新为初始化状态;
17.第二状态更新单元,用于对所述业务消息进行提交操作后,将所述业务消息对应的状态更新为已提交状态;
18.第三状态更新单元,用于对所述业务消息进行取消操作后,将所述业务消息对应的状态更新为已取消状态。
19.本技术的第二方面提供了一种消息处理方法,基于前述消息系统,包括:
20.获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口;其中,所述接入请求为所述业务系统请求接入所述消息系统的请求;
21.将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行初始化操作、提交操作或取消操作,以对所述业务服务进行响应。
22.可选的,所述应用接口基于超文本传输协议构建。
23.本技术的第三方面提供了一种消息处理装置,基于前述消息系统,包括:
24.获取模块,用于获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口;其中,所述接入请求为所述业务系统请求接入所述消息系统的请求;
25.服务响应模块,用于将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行处理,以对所述业务服务进行响应。
26.本技术的第四方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述消息处理方法。
27.本技术的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述消息处理方法。
28.本技术中,所述消息系统包括消息处理模块和消息路由模块,其中,所述消息处理模块,用于对与所述业务系统的业务服务对应的业务消息进行初始化操作、提交操作或取消操作;其中,所述业务服务为与所述业务系统的接入请求对应的服务,所述接入请求为所述业务系统请求接入所述消息系统的请求;所述消息路由模块,用于存储所述业务消息的基础信息,以便所述消息处理模块根据所述基础信息对所述业务消息进行相应的初始化操作、提交操作或取消操作。本技术通过所述消息系统的所述消息处理模块及所述消息路由模块与所述业务系统进行交互,以实现所述业务消息的初始化操作、提交操作或取消操作,提高消息处理效率和灵活性。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
30.图1为本技术提供的一种消息系统结构图;
31.图2为本技术提供的一种具体的消息系统交互结构图;
32.图3为本技术提供的一种具体的消息系统实现逻辑图;
33.图4为本技术提供的一种消息初始化流程图;
34.图5为本技术提供的一种消息提交流程图;
35.图6为本技术提供的一种消息取消流程图;
36.图7为本技术提供的一种消息处理方法流程图;
37.图8为本技术提供的一种消息处理装置结构示意图;
38.图9为本技术提供的一种消息处理电子设备结构图。
具体实施方式
39.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.现有对于基于事务的消息采用“初始化

提交/取消”模式来发送消息的消息中间件,生产者需要初始化消息,执行业务逻辑,然后再提交或者取消来决定该消息是否推送给消费者。此类消息中间件的原生api限定业务消息的内容必须在初始化阶段提供且在消息投递过程中不能进行修改,降低消息投递的效率和可维护性。针对上述技术缺陷,本技术提供一种消息系统、消息处理方案,通过所述消息系统的所述消息处理模块及所述消息路由模块与所述业务系统进行交互,以实现所述业务消息的初始化操作、提交操作或取消操作,提高消息处理效率和灵活性。
41.图1为本技术提供的一种消息系统结构图。参见图1所示,该消息系统01包括消息处理模块011和消息路由模块012,其中:
42.所述消息处理模块011,用于对与业务系统的业务服务对应的业务消息进行初始化操作、提交操作或取消操作;其中,所述业务服务为与所述业务系统的接入请求对应的服务,所述接入请求为所述业务系统请求接入所述消息系统的请求。所述消息路由模块012,用于存储所述业务消息的基础信息,以便所述消息处理模块根据所述基础信息对所述业务消息进行相应的初始化操作、提交操作或取消操作。也即,所述消息路由模块012存储不同的消息类型以及对应主题和投递方式,提供数据给所述消息处理模块011。所述业务服务可以为初始化业务消息、提交业务消息、取消业务消息等。本实施例中,所述消息处理模块011和所述消息路由模块对应不同的程序,在容器化微服务的架构下,可以为虚拟化的服务器。
43.进一步的,图2为本技术提供的一种具体的消息系统交互结构图,如图2所示,所述消息系统01与所述业务系统02及所述消息中间件03之间进行数据交互,以对所述业务系统02的所述业务服务对应的业务消息进行响应。本实施例中,所述消息系统01对所述业务服务提供超文本传输协议(http协议)的接口,无需引入额外的依赖,仅使用常用的http客户
端/服务端即可完成接入。所述业务系统02直接发送http请求到该服务上,完成对消息的初始化、提交、取消的操作。当然,除了http协议,所述消息系统01保留接入其他协议的扩展性,如thrift协议等,本技术实施例对此不进行限定。
44.本实施例中,所述业务系统02可以是各种需要发送通信消息的程序,这里可以支付交易系统,交易系统通过所述消息系统01发送交易相关的数据消息到账务系统。所述业务消息指所述业务系统02通过所述消息系统01发送到所述消息中间件03上的消息。本实施例中的所述消息中间件03为rocketmq,其中rocketmq是一款被广泛使用消息中间件,其消息持久化堆积能力,基于事务的消息,重试推送等功能,被广泛地使用在支付交易相关行业的软件系统中。通过所述消息系统01对所述业务系统02的所述业务消息进行中转处理,能够在消息初始化、消息提交阶段对所述业务消息的内容进行变更,提高了所述消息系统01的可维护性和灵活性,具体可参照图3所示的实现逻辑。
45.相应的,所述消息处理模块011包括消息初始化单元、消息提交单元及消息取消单元,其中:所述消息初始化单元,用于根据与业务系统02的初始化服务对应的待初始化消息进行初始化操作;所述消息提交单元,用于根据与业务系统02的消息提交服务对应的待提交消息进行提交操作;所述消息取消单元,用于根据与业务系统02的消息取消服务对应的待取消消息进行取消操作。
46.具体的,所述消息初始化单元用于对所述待初始化消息的所述基础信息进行配置,并将配置后的所述待初始化消息的所述基础信息通过远程字典服务的方式存储至所述消息路由模块012。初始化消息会在消息系统01内部创建一个消息记录,该记录保存所述业务消息的id、内容、以及投递状态等信息。其中,所述业务消息的id一般由所述业务系统02分配给每一个所述业务消息的唯一id,通常为交易订单号等的字符串。在所述消息系统01中,不同的消息类型对应所述业务消息将要投递到的主题和消息状态回查的接口地址。所述消息系统01中所述业务消息的投递状态可分为初始化状态、已提交状态、已取消状态等,所述投递状态主要用于消息状态回查的语境中。
47.如图4所示,当发起初始化操作时,通过所述消息路由模块012先获取到消息配置的基础信息,接着对所述基础信息进行初始化及相应的配置,并将配置后的所述待初始化消息的所述基础信息通过远程字典服务的方式存储至所述消息路由模块012。当然,为了提高响应效率,也可以将配置后的所述待初始化消息的所述基础信息通过远程字典服务的方式直接在所述消息处理模块01上进行存储。所述远程字典服务(redis)是一个远程内存数据库,具有高可用性、高并发性以及高可扩展性等特点。另外,为了提高消息的时效性,所述配置后的所述待初始化消息还可以设置有相应的过期时间。存储在redis中的关于所述业务消息的信息,包括消息类型、消息id、消息投递状态、业务消息内容等。
48.所述消息提交单元用于从所述消息路由模块012的所述基础信息中获取所述待提交消息的投递地址,并将所述待提交消息及相应的所述投递地址发送至消息中间件03,以便所述消息中间件03根据所述投递地址对所述待提交消息进行投递。如图5所示,当发起消息提交操作时,通过查询redis确定需要提交的所述业务消息,然后通过所述消息路由模块012查询所述业务消息的基础配置继而将所述业务消息发送至rocketmq,并且修改系统内该消息记录的投递状态为已提交状态,在这个过程中,可对所述业务消息的内容进行更新。本实施例中,所述待提交消息的状态为初始化状态,也即在提交消息时,将状态为初始化的
消息内容发送到rocketmq中对应的主题上。其中,主题(topic)是rocketmq中的概念,相当于消息的目的地,每个主题都可以有一个或多个的订阅者,也即消费者04,每当有新消息发到主题上,消费者04就可以获取到这个消息。
49.如图6所示,当发起消息取消操作时,通过查询redis确定需要取消的所述业务消息,然后将其投递状态修改为已取消状态,后续将不能对其发起提交或状态回查。本实施例中,一般对投递状态为初始化状态的所述业务消息的状态进行修改以得到状态为取消状态的所述业务消息。
50.因此,不难理解,所述消息处理模块011还包括:第一状态更新单元,用于对所述业务消息进行初始化操作后,将所述业务消息对应的状态更新为初始化状态;第二状态更新单元,用于对所述业务消息进行提交操作后,将所述业务消息对应的状态更新为已提交状态;第三状态更新单元,用于对所述业务消息进行取消操作后,将所述业务消息对应的状态更新为已取消状态。
51.可见,本技术实施例中的所述消息系统包括消息处理模块和消息路由模块,其中,所述消息处理模块,用于对与所述业务系统的业务服务对应的业务消息进行初始化操作、提交操作或取消操作;其中,所述业务服务为与所述业务系统的接入请求对应的服务,所述接入请求为所述业务系统请求接入所述消息系统的请求;所述消息路由模块,用于存储所述业务消息的基础信息,以便所述消息处理模块根据所述基础信息对所述业务消息进行相应的初始化操作、提交操作或取消操作。本技术实施例通过所述消息系统的所述消息处理模块及所述消息路由模块与所述业务系统进行交互,以实现所述业务消息的初始化操作、提交操作或取消操作,提高消息处理效率和灵活性。
52.图7为本技术实施例提供的一种消息处理方法流程图。参见图7所示,该消息处理方法基于前述实施例中所述的消息系统,包括:
53.s11:获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口;其中,所述接入请求为所述业务系统请求接入所述消息系统的请求。
54.本实施例中,先获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口。所述接入请求为所述业务系统请求接入所述消息系统的请求,所述业务服务可以为初始化业务消息、提交业务消息、取消业务消息等。
55.s12:将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行初始化操作、提交操作或取消操作,以对所述业务服务进行响应。
56.本实施例中,在获取到业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口后,进一步将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行初始化操作、提交操作或取消操作,以对所述业务服务进行响应。所述消息系统全面接管与消息中间件的交互,所述业务系统仅针对所述消息系统提供的接口进行编码即可接入使用,节省学习成本和依赖管理成本,提高开发效率和可维护性。另外,本实施例中所述应用接口可以基于超文本传输协议构建,当然也可保留接入其他协议的扩展性,如thrift协议等。
57.可见,本技术实施例先获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口,然后将所述业务系统通过所述应用接口与所述消息系
统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行初始化操作、提交操作或取消操作,以对所述业务服务进行响应。本实施例中所述消息系统提供不同接入服务类型的应用接口,所述业务系统通过该应用接口对接所述消息系统的来间接地对所述业务消息进行初始化操作、提交操作或取消操作,避免直接通过消息中间件的原生应用接口对所述业务消息进行处理带来的局限性。
58.参见图8所示,本技术实施例还相应公开了一种消息处理装置,该消息处理装置基于前述实施例中所述的消息系统,包括:
59.获取模块11,用于获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口;其中,所述接入请求为所述业务系统请求接入所述消息系统的请求;
60.服务响应模块12,用于将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行处理,以对所述业务服务进行响应。
61.可见,本技术实施例先获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口,然后将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行初始化操作、提交操作或取消操作,以对所述业务服务进行响应。本实施例中所述消息系统提供不同接入服务类型的应用接口,所述业务系统通过该应用接口对接所述消息系统的来间接地对所述业务消息进行初始化操作、提交操作或取消操作,避免直接通过消息中间件的原生应用接口对所述业务消息进行处理带来的局限性。
62.进一步的,本技术实施例还提供了一种电子设备。图9是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
63.图9为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的消息处理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
64.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
65.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
66.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量223的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的消息处理方法的计算机程序之外,还可以进一步包括能够用于完成其他
特定工作的计算机程序。数据223可以包括电子设备20收集到的业务消息。
67.进一步的,本技术实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的消息处理方法步骤。
68.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
69.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
70.以上对本发明所提供的消息系统、消息处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:


1.一种消息系统,其特征在于,包括消息处理模块和消息路由模块,其中:所述消息处理模块,用于对与业务系统的业务服务对应的业务消息进行初始化操作、提交操作或取消操作;其中,所述业务服务为与所述业务系统的接入请求对应的服务,所述接入请求为所述业务系统请求接入所述消息系统的请求;所述消息路由模块,用于存储所述业务消息的基础信息,以便所述消息处理模块根据所述基础信息对所述业务消息进行相应的初始化操作、提交操作或取消操作。2.根据权利要求1所述的消息系统,其特征在于,所述消息处理模块包括消息初始化单元、消息提交单元及消息取消单元,其中:所述消息初始化单元,用于根据与业务系统的初始化服务对应的待初始化消息进行初始化操作;所述消息提交单元,用于根据与业务系统的消息提交服务对应的待提交消息进行提交操作;所述消息取消单元,用于根据与业务系统的消息取消服务对应的待取消消息进行取消操作。3.根据权利要求2所述的消息系统,其特征在于,所述消息初始化单元用于对所述待初始化消息的所述基础信息进行配置,并将配置后的所述待初始化消息的所述基础信息通过远程字典服务的方式存储至所述消息路由模块。4.根据权利要求3所述的消息系统,其特征在于,所述配置后的所述待初始化消息还设置有相应的过期时间。5.根据权利要求2所述的消息系统,其特征在于,所述消息提交单元用于从所述消息路由模块的所述基础信息中获取所述待提交消息的投递地址,并将所述待提交消息及相应的所述投递地址发送至消息中间件,以便所述消息中间件根据所述投递地址对所述待提交消息进行投递。6.根据权利要求1至5任一项所述的消息系统,其特征在于,所述消息处理模块还包括:第一状态更新单元,用于对所述业务消息进行初始化操作后,将所述业务消息对应的状态更新为初始化状态;第二状态更新单元,用于对所述业务消息进行提交操作后,将所述业务消息对应的状态更新为已提交状态;第三状态更新单元,用于对所述业务消息进行取消操作后,将所述业务消息对应的状态更新为已取消状态。7.一种消息处理方法,其特征在于,基于权利要求1至6任一项所述的消息系统,包括:获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口;其中,所述接入请求为所述业务系统请求接入所述消息系统的请求;将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行初始化操作、提交操作或取消操作,以对所述业务服务进行响应。8.根据权利要求7所述的消息处理方法,其特征在于,所述应用接口基于超文本传输协议构建。9.一种消息处理装置,其特征在于,基于权利要求1至6任一项所述的消息系统,包括:
获取模块,用于获取业务系统的接入请求及所述消息系统提供的与所述接入请求对应的业务服务的应用接口;其中,所述接入请求为所述业务系统请求接入所述消息系统的请求;服务响应模块,用于将所述业务系统通过所述应用接口与所述消息系统建立连接关系,并利用所述消息系统将与所述业务服务对应的业务消息进行处理,以对所述业务服务进行响应。10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求7或8所述的消息处理方法。

技术总结


本申请公开了一种消息系统、消息处理方法、装置及设备,包括:消息处理模块和消息路由模块,所述消息处理模块,用于对与所述业务系统的业务服务对应的业务消息进行初始化操作、提交操作或取消操作;其中,所述业务服务为与所述业务系统的接入请求对应的服务,所述接入请求为所述业务系统请求接入所述消息系统的请求;所述消息路由模块,用于存储所述业务消息的基础信息,以便所述消息处理模块根据所述基础信息对所述业务消息进行相应的初始化操作、提交操作或取消操作。本申请通过所述消息系统的所述消息处理模块及所述消息路由模块与所述业务系统进行交互,以实现所述业务消息的初始化操作、提交操作或取消操作,提高消息处理效率和灵活性。处理效率和灵活性。处理效率和灵活性。


技术研发人员:

厉佐瑞 祁怀远

受保护的技术使用者:

嘉联支付有限公司

技术研发日:

2021.06.22

技术公布日:

2022/12/22

本文发布于:2024-09-23 16:18:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/46858.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   消息   业务   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议