CN115174472B - 一种消息转发处理方法及相关装置 - Google Patents
一种消息转发处理方法及相关装置 Download PDFInfo
- Publication number
- CN115174472B CN115174472B CN202210841169.4A CN202210841169A CN115174472B CN 115174472 B CN115174472 B CN 115174472B CN 202210841169 A CN202210841169 A CN 202210841169A CN 115174472 B CN115174472 B CN 115174472B
- Authority
- CN
- China
- Prior art keywords
- target
- message
- service
- processed
- service node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 93
- 230000004044 response Effects 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 238000007639 printing Methods 0.000 description 4
- 230000006854 communication Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种消息转发处理方法及相关装置,涉及消息分发技术领域。本申请中,消息收发装置接收用于触发服务流程,携带有表征目标服务类型的目标标识信息的待处理消息,根据包含有各个标识信息和各业务节点之间的对应关系的路由信息,将添加了应答地址的待处理消息,发往目标标识信息对应的目标业务节点进行处理;并将标业务节点基于应答地址返回的目标处理结果返回至服务请求方。采用这种方式,可以基于路由信息,迅速识别出待处理消息对应的目标业务节点,实现消息的快速转发,故而大大降低了业务系统扩展流程的执行复杂度,提高了消息转发装置的扩展效率。
Description
技术领域
本申请涉及消息分发技术领域,尤其涉及一种消息转发处理方法及相关装置。
背景技术
随着消息分发技术的快速发展,各类应用场景层出不穷,其中一种应用场景就是微服务场景,在微服务场景中,单一应用程序被划分成一组业务节点,每个业务节点用于提供上述应用程序的一部分功能,通过一组业务节点之间的互相协调、互相配合,来实现相应的应用程序的完整功能,每个业务节点所提供的服务即为微服务。
参阅图1所示,相关技术下,在微服务场景中,传统的消息转发处理方式是针对每个业务节点均内置专属的消息收发装置,用于与服务请求方进行专属信息交互。
然而,采用上述消息转发方式,会因各个业务节点均需内置消息收发装置,而导致消息收发流程和各微服务耦合紧密,从而不易扩展。例如,参阅图1所示,当需新增业务节点n时,需同时为业务节点n配置专属消息收发装置n,这样,便提升了业务系统扩展流程的执行复杂度。
因此,采用上述方法,无法提高消息转发处理装置的扩展效率。
发明内容
本申请实施例提供了一种消息转发处理方法及相关装置,用以提高消息转发处理装置的扩展效率。
第一方面,本申请实施例提供了一种消息转发处理方法,所述方法包括:
接收服务请求方发送的待处理消息,待处理消息用于触发服务流程,以及待处理消息至少携带有表征目标服务类型的目标标识信息;
获取预设的路由信息,路由信息包含各个标识信息和各业务节点之间的对应关系,其中,每个业务节点用于提供一种服务类型的微服务;
在待处理消息中添加应答地址,并基于路由信息和所述目标标识信息,将更新后的待处理消息发往相应的目标业务节点进行处理;
接收目标业务节点基于应答地址返回的目标处理结果,并将目标处理结果返回至服务请求方。
第二方面,本申请实施例还提供了一种消息转发处理装置,所述装置包括:
接收模块,用于接收服务请求方发送的待处理消息,待处理消息用于触发服务流程,以及待处理消息至少携带有表征目标服务类型的目标标识信息;
解析模块,用于基于目标标识信息和预设的路由信息,确定目标业务节点,其中,路由信息包含各个标识信息和各业务节点之间的对应关系,每个业务节点用于提供一种服务类型的微服务;
发送模块,用于在待处理消息中添加应答地址,并基于路由信息和目标标识信息,将更新后的待处理消息发往相应的目标业务节点进行处理;
响应模块,用于接收目标业务节点基于应答地址返回的目标处理结果,并将目标处理结果返回至服务请求方。
可选的,服务请求方维护多个消息队列,每个消息队列中保存的各待处理消息,用于请求同一服务类型的微服务;则接收服务请求方发送的待处理消息时,所述接收模块用于:
接收服务请求方发送的携带有目标队列标识的待处理消息,并基于目标队列标识,获得目标标识信息。
可选的,待处理消息中还携带有目标服务标识和目标应用标识,目标服务标识用于指示符合目标服务类型的目标微服务,目标应用标识用于指示目标微服务归属的目标应用程序;
则基于目标队列标识,获得目标标识信息时,所述接收模块用于:
直接将目标队列标识作为目标标识信息;或者,
将目标队列标识、目标服务标识和目标应用标识进行关联,并将关联结果作为目标标识信息。
可选的,将更新后的所述待处理消息发往相应的目标业务节点进行处理时,所述发送模块用于:
调用标准接口将更新后的待处理消息发往相应的目标业务节点进行处理,目标业务节点配置有相同的标准接口;
接收目标业务节点基于所述应答地址返回的目标处理结果时,所述响应模块用于:
通过标准接口接收目标业务节点基于应答地址返回的目标处理结果。
可选的,将更新后的所述待处理消息发往目标业务节点之后,所述响应模块还用于:
若接收到目标业务节点返回的处理失败消息,则将处理失败消息返回至服务请求方;
若未接收到目标业务节点返回的反馈信息,则在接收到服务请求方重新发送的待处理消息时,将待处理消息重新发送至目标业务节点进行处理,直到接收到相应的反馈信息为止,并将反馈信息返回至服务请求方,反馈信息为目标处理结果或处理失败消息。
可选的,所述响应模块还用于,若向目标业务节点重新发送待处理消息的次数达到设定阈值,且仍未接收到相应的反馈信息,则向目标业务节点发送告警信息,以及通知服务请求方服务流程执行失败。
第三方面,本申请实施例提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一所述方法的步骤。
第五方面,本申请实施例提供一种计算机程序产品,其中,所述计算机程序产品在被计算机调用时,使得所述计算机执行如第一方面所述的方法。
本申请实施例中,消息收发装置接收用于触发服务流程,携带有表征目标服务类型的目标标识信息的待处理消息,接着,根据包含有各个标识信息和各业务节点之间的对应关系的路由信息,将添加了应答地址的待处理消息址,发往目标标识信息对应的目标业务节点进行处理;并将标业务节点基于应答地址返回的目标处理结果返回至服务请求方。
采用这种方式,消息收发装置可以基于路由信息,迅速识别出待处理消息对应的目标业务节点,从而在服务请求方和目标业务节点之间实现消息的快速转发,并且,当增设新的业务节点时,只需要配置相应的路由信息即可,无需同时在新增业务节点内配置专属的消息收发装置,故而大大降低了业务系统扩展流程的执行复杂度,提高了消息转发装置的扩展效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为相关技术下业务系统架构示意图;
图2为本申请实施例中业务系统架构示意图;
图3为本申请实施例中业务系统架构下消息转发处理的详细流程图;
图4为本申请实施例中具体应用场景下消息转发处理的详细流程图;
图5为本申请实施例中提供的具体应用场景下消息转发处理的逻辑示意图;
图6为本申请实施例中一种消息转发处理装置的结构示意图;
图7为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
(1)微服务:在微服务场景中,单一应用程序被划分成一组业务节点,每个业务节点用于提供相应应用程序的一部分功能,通过一组业务节点之间的互相协调、互相配合,来实现相应的应用程序的完整功能,每个业务节点所提供的服务即为微服务。
(2)服务请求方:用于收集终端侧的各个终端发送的待处理消息,并统一向目标业务节点提出服务请求。
参阅图2所示,在服务请求方中,设置了多个消息队列,每个队列有一个队列标识(Identity document,ID),同一个队列里收集的待处理消息,是用来申请同一种服务类型的微服务。
(3)队列ID:服务请求方会将收集的各待处理消息按照服务类型划分为多个消息队列,每个消息队列分配有相应的队列ID,一个队列ID对应一种服务类型的应用程序(亦可称为一种服务类型的产品)
例如,参阅图2所示,假设队列ID1对应的服务类型为“云主机类服务”,那么在队列ID1对应的消息队列中,保留着用于请求“云主机类服务”的待处理消息x1、待处理消息x2等等。
又例如,参阅图2所示,假设队列ID2对应的服务类型为“云硬盘类服务”,那么在队列ID2对应的消息队列中,保留着用于请求“云硬盘类服务”的待处理消息y1、待处理消息y2等等。
(4)应用ID:用于指示所请求微服务归属的应用程序。
参阅图2所示,每个应用程序可以由一组业务节点提供不同的微服务,通过应用ID可以确认待处理消息对应的目标应用程序。
例如,参阅图2所示,假设用于提供“云主机类服务”的应用程序a的标识信息为应用ID a,用于提供“云硬盘类服务”的应用程序b的标识信息为应用ID b,则队列ID1对应的消息队列中保留的请求“云主机类服务”的待处理消息,应当发送至应用ID a对应的业务节点1、业务节点2,……,业务节点n中的至少一个,队列ID 2对应的消息队列中保留的请求“云硬盘类服务”的待处理消息,应当发送至应用ID b对应的业务节点1'、业务节点2',……,业务节点n'中的至少一个。
(5)服务ID:用于在同一应用程序下,区分不同类型的微服务。
参阅图2所示,每个业务节点负责完成一项微服务,通过服务ID可以确认待处理消息对应的目标业务节点。
例如,参阅图2所示,假设用于提供“云主机类服务”的应用程序a的标识信息为应用ID a,而应用程序a被划分为n个微服务,分别为:数据读取服务,数据写入服务,……,数据打印服务等等,其中,数据读取服务对应业务节点1,相应的标识信息为服务ID1,数据写入服务对应业务节点2,相应的标识信息为服务ID2,以及,数据打印服务对应业务节点n,相应的标识信息为服务ID n。
又例如,参阅图2所示,假设用于提供“云硬盘类服务”的应用程序b的标识信息为应用ID b,而应用程序b被划分为n'个微服务,分别为:数据备份服务,数据共享服务,……,数据格式化服务等等,其中,数据备份服务对应业务节点1',相应的标识信息为服务ID1',数据共享服务对应业务节点2',相应的标识信息为服务ID2',以及,数据格式化服务对应业务节点n',相应的标识信息为服务ID n'。
(6)路由信息:路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。
本申请实施例中,路由消息中设置了各个标识信息和各业务节点之间的对应关系。
消息收发装置可以基于上述对应关系,将待处理消息转发至目标业务节点。
其中,所谓的目标标识信息,可以是队列ID,也可以是由队列ID、服务ID和应用ID相关联的结果。
表1
服务类型 | 队列标识 | 应用标识 | 服务标识 | 节点标识 |
打印类服务 | 队列ID 1 | 业务节点1 | ||
硬盘类服务 | 队列ID 2 | 应用ID b | 服务ID 1' | 业务节点1' |
例如,当有终端请求打印机提供文字打印服务,而业务系统中只有一台打印机,且打印机只能提供文字打印服务时,消息收发装置可仅通过“队列ID”确认目标业务节点。
如,参阅表1所示,消息收发装置接收到携带“队列ID 1”的待处理消息x1,基于队列ID1可以确定待处理消息x1用于请求打印类服务,假设业务系统中仅有业务节点1一台打印机能够提供文字打印服务,因此,消息收发装置能判定应当将待处理消息x1发往业务节点1。
又例如,当有终端请求硬盘数据备份服务,而业务系统中有多个硬盘,且多个硬盘可以提供数据备份服务、数据共享服务和数据格式化等服务,那么,消息收发装置需要通过“队列ID+应用ID+服务ID”才能确定目标业务节点。
如,参阅表1所示,消息收发装置接收到携带“队列ID 2+应用ID b+服务ID1”的待处理消息y2,基于队列ID2可以判断待处理消息y2用于请求硬盘类服务,基于应用ID b可以确定待处理消息y2用于请求硬盘b提供服务,基于服务ID1'可以确定待处理消息y2用于请求数据备份服务,因此,消息收发装置判定应当将待处理消息y2发往业务节点1'。
下面结合附图对本申请优选的实施方式进行详细介绍。
相关技术下,随着大数据和物联网技术的发展,消息转发处理已经成为通信过程中不可或缺的环节。为了提高海量高速数据进行实时处理和分析的效率,各类消息转发处理技术被广泛应用在网络通信、数据传输等领域。
随着消息转发处理技术的广泛应用,消息转发处理的方法及装置也备受关注,对于不同消息转发处理的方法及装置,消息转发处理的效率和消息转发处理装置的扩展性也会不同。由此可见,无论是提高消息转发处理的效率还是更好地进行消息转发装置的扩展,对消息转发处理技术的研究都是必要的。
因此,为了更好地进行消息转发处理装置的扩展,提高消息转发处理的效率,分析与改进消息转发处理装置具有重要意义。
参阅图2所示,本申请实施例中,包含有服务请求方201,消息收发装置202和目标业务节点203三个主要部分,其中,消息收发装置202接收服务请求方201发送的待处理消息,并获取预设的路由信息,并在待处理消息中添加应答地址,以及基于路由信息和目标标识信息,将更新后的待处理消息发往相应的目标业务节点203进行处理,接着,消息收发装置202接收目标业务节点203基于应答地址返回的目标处理结果,并将目标处理结果返回至服务请求方201。
服务请求方201、消息收发装置202和目标业务节点203均设置有统一的标准接口。
基于上述系统架构,参阅图3,本申请实施例中,在提供微服务的业务系统中,消息收发装置进行消息转发处理的详细流程如下:
步骤301:接收服务请求方发送的待处理消息,该待处理消息用于触发服务流程,以及该待处理消息至少携带有表征目标服务类型的目标标识信息。
另外,消息收发装置和业务节点中同时配置有标准接口,所谓标准接口,是指用于实现消息的统一收发,提供应答接收的restful api接口。
在业务节点中,标准接口称为标准处理接口,负责接收消息;在消息收发装置中,标准接口称为标准应答接口,负责接收业务节点基于应答地址返回的目标处理结果。
该标准接口需要支持以下内容:
请求方式:POST;必传参数:MSG;消息体:JSON格式。
本申请实施例中,通过调用配置的标准接口来发送待处理消息,提供应答接收的标准接口,完成处理结果的接收并返回至服务请求方,实现了消息的解耦处理。
而消息收发装置在接收到服务请求方发送的待处理消息后,会从待处理消息中提取表征目标服务类型的目标标识信息。
本申请实施例中,在服务请求方一侧,维护有多个消息队列,不同消息队列具有不同的队列ID,每个队列ID对应一种服务类型,而服务请求方在待处理消息中至少携带有表征上述目标服务类型的目标队列ID,因此,消息收发装置基于目标队列ID,可以获得用于定位目标微服务的目标标识信息。
具体的,可以采用但不限于以下两种方式:
第一种:直接将获得的目标队列ID作为相应的目标标识信息。
由于不同队列ID表征不同的目标服务类型,因此,当目标服务类型在业务系统中由唯一的目标应用程序提供时,队列ID可以作为目标标识信息。
例如,待处理消息携带的目标队列ID用于请求云主机类服务,已知业务系统中仅有唯一一个云主机,则可以直接基于目标队列ID确认该待处理消息对应的目标业务节点。
第二种:将获得的目标队列ID、目标服务ID和目标应用ID进行关联,并将关联结果作为相应的目标标识信息。
由于目标服务类型还可以进一步划分为多个微服务,因此,为了准确地定位到微服务,需要将目标队列ID、目标应用ID和目标服务ID进行关联。
例如,待处理消息携带的队列ID用于请求硬盘数据读服务,已知业务系统中有多个硬盘,且每个硬盘都能提供数据读、数据写、数据格式化等服务,此时就需要通过目标队列ID、目标应用ID和目标服务ID的关联结果作为目标标识信息。其中,目标队列ID表征待处理消息请求硬盘类服务,目标应用ID表征待处理消息请求业务系统中具体的某个硬盘来提供服务,目标服务ID表征待处理消息请求硬盘读服务。
基于步骤302所述,通过队列ID,实现一级路由,通过应用ID和服务ID实现二级路由,故而能够支持更多类型的微服务。
步骤302,获取预设的路由信息,该路由信息包含各个标识信息和各业务节点之间的对应关系,其中,每个业务节点用于提供一种服务类型的微服务。
路由信息的配置内容已在进行过概念介绍,在此不再赘述。
步骤303,在待处理消息中添加应答地址,并基于路由信息和目标标识信息,将更新后的待处理消息发往相应的目标业务节点进行处理。
具体的,在待处理消息中添加的应答地址为msghandler_url,例如,"http://ip:port"。
另一方面,在消息收发装置和业务节点中设置有统一的标准接口,因此,消息收发装置会按照超文本传输协议(Hyper Text Transfer Protocol,HTTP)对更新后的待处理消息进行报文封装,再调用标准接口将更新后的待处理消息发往相应的目标业务节点进行处理。
步骤304:接收目标业务节点基于所述应答地址返回的目标处理结果,并将目标处理结果返回至服务请求方。
基于步骤304所述,本申请实施例中,在消息体内增加应答地址,实现了微服务无需配置应答路径即可完成应答返回。
基于上述实施例,进一步地,消息收发装置将更新后的待处理消息发往目标业务节点之后,根据目标业务节点不同的反馈情况,可以执行不同的处理操作,包含但不限于以下两种:
第一种情况:若接收到目标业务节点返回的处理失败消息,则将处理失败消息返回至服务请求方。
具体的,目标业务节点在忙碌或者其他意外情况下无法处理待处理消息时,会向消息收发装置返回处理失败消息,以通知消息收发装置,自身并不适合处理当前发送的待处理消息。
第二种情况:若未接收到目标业务节点返回的反馈信息,则在接收到服务请求方重新发送的待处理消息时,将待处理消息重新发送至目标业务节点进行处理,直到接收到相应的反馈信息为止,并将反馈信息返回至服务请求方,反馈信息为目标处理结果或处理失败消息。
具体的,目标业务节点在未成功接收到待处理消息时,不会向消息收发装置返回任何反馈信息,相应的,消息收发装置也不会向服务请求方返回任何反馈信息,那么,服务请求方便会定期向消息收发装置重新发送待处理消息,以重新指示执行消息处理流程,而消息收发装置也会继续向目标业务节点重新发送待处理消息,直到接收到相应的反馈信息为止。
然而,在第二种情况下,若消息收发装置重新发送待处理消息的次数达到设定阈值,且仍未接收到相应的反馈信息,则为了避免该服务流程不能正常执行而又不断占用设备资源,消息收发装置会向目标业务节点发送告警信息,以及通知服务请求方服务流程执行失败。
下面通过一个具体的应用场景对上述实施例作出进一步详细说明。
参阅图4和图5所示,本申请实施例中消息转发处理具体流程如下:
终端x向服务请求方发送待处理消息x,请求硬盘类服务,触发服务流程,执行步骤401。
步骤401:服务请求方接收并保存终端x发送的待处理消息x,将其归入队列标识为队列ID2的消息队列,即队列标识为队列ID2的消息队列中的所有消息均为请求硬盘类服务,执行步骤402。
步骤402:在合适的时候,服务请求方将待处理消息x从消息队列中弹出,发送至消息收发装置,执行步骤403。
步骤403:消息收发装置接收到待处理消息x后,解析待处理消息x携带的目标标识信息为:队列ID2,应用ID1,服务ID3,添加应答地址msghandler_url,获取路由信息,找到目标业务节点x,执行步骤404。
步骤404:消息收发装置调用目标业务节点x的标准处理接口,将更新后的待处理消息x发送至目标业务节点x。
若目标业务节点x成功接收到待处理消息x,执行步骤405,否则判断待处理消息发送失败次数是否超过设定阈值,若没有超过,执行步骤404,否则执行步骤409。
步骤405:业务节点x对待处理消息x进行处理,执行步骤406。
步骤406:业务节点x调用应答地址msghandler_url将反馈消息发送至消息收发装置,执行步骤407。
步骤407:消息收发装置将反馈消息发送至服务请求方,执行步骤408。
步骤408:服务请求方将反馈消息递交给终端x,服务流程结束。
步骤409:消息收发装置向业务节点x发送告警信息,返回步骤407。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
基于相同技术构思,参阅图6所示,本申请实施例还提供了一种消息转发处理装置,该装置包括:
接收模块601,用于接收服务请求方发送的待处理消息,所述待处理消息用于触发服务流程,以及所述待处理消息至少携带有表征目标服务类型的目标标识信息;
解析模块602,基于所述目标标识信息和预设的路由信息,确定目标业务节点,其中,所述路由信息包含各个标识信息和各业务节点之间的对应关系,每个业务节点用于提供一种服务类型的微服务;
发送模块603,用于在所述待处理消息中添加应答地址,并基于所述路由信息和所述目标标识信息,将更新后的所述待处理消息发往相应的目标业务节点进行处理;
响应模块604,用于接收所述目标业务节点基于所述应答地址返回的目标处理结果,并将所述目标处理结果返回至所述服务请求方。
可选的,服务请求方维护多个消息队列,每个消息队列中保存的各待处理消息,用于请求同一服务类型的微服务;则接收服务请求方发送的待处理消息时,所述接收模块601用于:
接收服务请求方发送的携带有目标队列标识的待处理消息,并基于目标队列标识,获得目标标识信息。
可选的,待处理消息中还携带有目标服务标识和目标应用标识,目标服务标识用于指示符合目标服务类型的目标微服务,目标应用标识用于指示目标微服务归属的目标应用程序;
则基于目标队列标识,获得目标标识信息时,所述接收模块601用于:
直接将目标队列标识作为目标标识信息;或者,
将目标队列标识、目标服务标识和目标应用标识进行关联,并将关联结果作为目标标识信息。
可选的,将更新后的待处理消息发往相应的目标业务节点进行处理时,所述发送模块603用于:
调用标准接口将更新后的待处理消息发往相应的目标业务节点进行处理,目标业务节点配置有相同的标准接口;
接收所述目标业务节点基于应答地址返回的目标处理结果时,所述响应模块604用于:
通过标准接口接收目标业务节点基于应答地址返回的目标处理结果。
可选的,将更新后的待处理消息发往目标业务节点之后,所述响应模块604还用于:
若接收到目标业务节点返回的处理失败消息,则将处理失败消息返回至服务请求方;
若未接收到目标业务节点返回的反馈信息,则在接收到服务请求方重新发送的待处理消息时,将待处理消息重新发送至目标业务节点进行处理,直到接收到相应的反馈信息为止,并将反馈信息返回至服务请求方,反馈信息为目标处理结果或处理失败消息。
可选的,所述响应模块还用于,若向目标业务节点重新发送待处理消息的次数达到设定阈值,且仍未接收到相应的反馈信息,则向目标业务节点发送告警信息,以及通知服务请求方服务流程执行失败。
基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备可实现本申请上述实施例提供的消息转发处理的方法流程。
在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。
参阅图7所示,该电子设备可包括:
至少一个处理器701,以及与至少一个处理器701连接的存储器702,本申请实施例中不限定处理器701与存储器702之间的具体连接介质,图7中是以处理器701和存储器702之间通过总线700连接为例。总线700在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线700可以分为地址总线、数据总线、控制总线等,为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器701也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器702存储有可被至少一个处理器701执行的指令,至少一个处理器701通过执行存储器702存储的指令,可以执行前文论述的一种消息转发处理方法。处理器701可以实现图6所示的装置中各个模块的功能。
其中,处理器701是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器702内的指令以及调用存储在存储器702内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器701可包括一个或多个处理单元,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。在一些实施例中,处理器701和存储器702可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器701可以是通用处理器,例如CPU、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种消息转发处理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器702可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器701进行设计编程,可以将前述实施例中介绍的一种消息转发处理方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图3所示的实施例的一种消息转发处理方法的步骤。如何对处理器701进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种消息转发处理方法。
在一些可能的实施方式中,本申请提供一种消息转发处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种消息转发处理方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个服务器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
可使用一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。
在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如,利用因特网服务提供商来通过因特网连接)。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种消息转发处理方法,其特征在于,应用于微服务场景,所述方法包括:
接收服务请求方发送的待处理消息,所述待处理消息用于触发服务流程,以及所述待处理消息至少携带有表征目标服务类型的目标标识信息,所述待处理消息中还携带有目标服务标识和目标应用标识,所述目标服务标识用于指示符合所述目标服务类型的目标微服务,所述目标应用标识用于指示所述目标微服务归属的目标应用程序;
获取预设的路由信息,所述路由信息包含各个标识信息和各业务节点之间的对应关系,其中,每个业务节点用于提供一种服务类型的微服务;
在所述待处理消息中添加应答地址,并基于所述路由信息和所述目标标识信息,将更新后的所述待处理消息发往相应的目标业务节点进行处理;
接收所述目标业务节点基于所述应答地址返回的目标处理结果,并将所述目标处理结果返回至所述服务请求方。
2.如权利要求1所述的方法,其特征在于,所述服务请求方维护多个消息队列,每个消息队列中保存的各待处理消息,用于请求同一服务类型的微服务;
则接收服务请求方发送的待处理消息,包括:
接收所述服务请求方发送的携带有目标队列标识的待处理消息,并基于所述目标队列标识,获得所述目标标识信息。
3.如权利要求2所述的方法,其特征在于,所述基于所述目标队列标识,获得所述目标标识信息,包括:
直接将所述目标队列标识作为所述目标标识信息;或者,
将所述目标队列标识、所述目标服务标识和所述目标应用标识进行关联,并将关联结果作为所述目标标识信息。
4.如权利要求1所述的方法,其特征在于,所述将更新后的所述待处理消息发往相应的目标业务节点进行处理,包括:
调用配置的标准接口将更新后的所述待处理消息发往相应的目标业务节点进行处理;
所述接收所述目标业务节点基于所述应答地址返回的目标处理结果,包括:
通过所述标准接口接收所述目标业务节点基于所述应答地址返回的目标处理结果。
5.如权利要求1-4任一项所述的方法,其特征在于,将更新后的所述待处理消息发往所述目标业务节点之后,还包括:
若接收到所述目标业务节点返回的处理失败消息,则将所述处理失败消息返回至所述服务请求方;
若未接收到所述目标业务节点返回的反馈信息,则在接收到所述服务请求方重新发送的所述待处理消息时,将所述待处理消息重新发送至所述目标业务节点进行处理,直到接收到相应的反馈信息为止,并将所述反馈信息返回至所述服务请求方,所述反馈信息为所述目标处理结果或所述处理失败消息。
6.如权利要求5所述的方法,其特征在于,还包括:
若向所述目标业务节点重新发送所述待处理消息的次数达到设定阈值,且仍未接收到相应的反馈信息,则向所述目标业务节点发送告警信息,以及通知所述服务请求方所述服务流程执行失败。
7.一种消息转发处理装置,其特征在于,包括:
接收模块,用于接收服务请求方发送的待处理消息,所述待处理消息用于触发服务流程,以及所述待处理消息至少携带有表征目标服务类型的目标标识信息,所述待处理消息中还携带有目标服务标识和目标应用标识,所述目标服务标识用于指示符合所述目标服务类型的目标微服务,所述目标应用标识用于指示所述目标微服务归属的目标应用程序;
解析模块,基于所述目标标识信息和预设的路由信息,确定目标业务节点,其中,所述路由信息包含各个标识信息和各业务节点之间的对应关系,每个业务节点用于提供一种服务类型的微服务;
发送模块,用于在所述待处理消息中添加应答地址,并基于所述路由信息和所述目标标识信息,将更新后的所述待处理消息发往相应的目标业务节点进行处理;
响应模块,用于接收所述目标业务节点基于所述应答地址返回的目标处理结果,并将所述目标处理结果返回至所述服务请求方。
8.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210841169.4A CN115174472B (zh) | 2022-07-18 | 2022-07-18 | 一种消息转发处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210841169.4A CN115174472B (zh) | 2022-07-18 | 2022-07-18 | 一种消息转发处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174472A CN115174472A (zh) | 2022-10-11 |
CN115174472B true CN115174472B (zh) | 2024-01-02 |
Family
ID=83496061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210841169.4A Active CN115174472B (zh) | 2022-07-18 | 2022-07-18 | 一种消息转发处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174472B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115514792B (zh) * | 2022-11-23 | 2023-03-28 | 中汽数据(天津)有限公司 | 基于工业互联网标识体系的汽车试验设备交互方法 |
CN118138646A (zh) * | 2024-03-04 | 2024-06-04 | 海通证券股份有限公司 | 数据传输方法、装置和系统 |
CN117950766B (zh) * | 2024-03-26 | 2024-07-12 | 智道网联科技(北京)有限公司 | 回调处理方法、装置、回调处理系统及电子设备 |
CN118449905B (zh) * | 2024-07-05 | 2024-09-27 | 杭州乒乓智能技术有限公司 | 流量路由方法和装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015191524A1 (en) * | 2014-06-10 | 2015-12-17 | Strongview Systems, Inc. | Open channel application programming interface |
CN109582472A (zh) * | 2018-10-19 | 2019-04-05 | 华为技术有限公司 | 一种微服务处理方法及设备 |
CN110825539A (zh) * | 2019-11-07 | 2020-02-21 | 中国联合网络通信集团有限公司 | 业务处理方法及装置 |
CN112822298A (zh) * | 2021-04-19 | 2021-05-18 | 北京世纪好未来教育科技有限公司 | 业务服务扩缩容方法、装置、介质和电子设备 |
CN113296981A (zh) * | 2021-05-25 | 2021-08-24 | 建信金融科技有限责任公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113946425A (zh) * | 2021-10-28 | 2022-01-18 | 中国建设银行股份有限公司 | 业务处理方法及装置、电子设备和计算机可读存储介质 |
CN113965628A (zh) * | 2020-12-03 | 2022-01-21 | 广州三叠纪元智能科技有限公司 | 消息调度方法、服务器和存储介质 |
CN113965563A (zh) * | 2020-12-18 | 2022-01-21 | 深圳平安智汇企业信息管理有限公司 | 基于模型的业务处理方法及装置、服务器 |
-
2022
- 2022-07-18 CN CN202210841169.4A patent/CN115174472B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015191524A1 (en) * | 2014-06-10 | 2015-12-17 | Strongview Systems, Inc. | Open channel application programming interface |
CN109582472A (zh) * | 2018-10-19 | 2019-04-05 | 华为技术有限公司 | 一种微服务处理方法及设备 |
CN110825539A (zh) * | 2019-11-07 | 2020-02-21 | 中国联合网络通信集团有限公司 | 业务处理方法及装置 |
CN113965628A (zh) * | 2020-12-03 | 2022-01-21 | 广州三叠纪元智能科技有限公司 | 消息调度方法、服务器和存储介质 |
CN113965563A (zh) * | 2020-12-18 | 2022-01-21 | 深圳平安智汇企业信息管理有限公司 | 基于模型的业务处理方法及装置、服务器 |
CN112822298A (zh) * | 2021-04-19 | 2021-05-18 | 北京世纪好未来教育科技有限公司 | 业务服务扩缩容方法、装置、介质和电子设备 |
CN113296981A (zh) * | 2021-05-25 | 2021-08-24 | 建信金融科技有限责任公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113946425A (zh) * | 2021-10-28 | 2022-01-18 | 中国建设银行股份有限公司 | 业务处理方法及装置、电子设备和计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Identifying Personal Messages: A Step towards Product/Service Review and Opinion Mining;Sasan Azizian等;《2017 International Conference on Computational Science and Computational Intelligence (CSCI)》;全文 * |
应用Socket的微服务之间的通讯;黄永华;;福建电脑(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174472A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115174472B (zh) | 一种消息转发处理方法及相关装置 | |
CN112788074B (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN106375458B (zh) | 服务调用系统、方法及装置 | |
CN106936662B (zh) | 一种实现心跳机制的方法、装置及系统 | |
US10303529B2 (en) | Protocol for communication of data structures | |
CN109600375A (zh) | 消息跟踪方法、装置、电子设备及存储介质 | |
CN112511591A (zh) | 一种医院接口数据交互的实现方法、装置、设备和介质 | |
CN109039803A (zh) | 一种处理回调通知消息的方法、系统及计算机设备 | |
WO2023221452A1 (zh) | 报文处理系统、方法、设备和存储介质 | |
CN112527523A (zh) | 面向高性能计算多云的分布式消息传递方法及系统 | |
CN109408251B (zh) | 消息发送方法与装置、消息接收处理方法与装置 | |
CN112769928B (zh) | 一种基于业务场景的信息交互方法及设备 | |
US20180124576A1 (en) | Method and apparatus for implementing member resource processing | |
US9143440B2 (en) | System and method for unmarshalled routing | |
WO2019201111A1 (zh) | 信息处理方法、装置、设备及计算机可读存储介质 | |
CN114979985A (zh) | 一种间接通信消息传递方法、系统及网关设备 | |
CN112615773A (zh) | 一种消息处理方法及系统 | |
CN109450794B (zh) | 一种基于sdn网络的通信方法及设备 | |
CN109309583B (zh) | 基于分布式系统的信息获取方法、装置、电子设备和介质 | |
CN114979128A (zh) | 跨区域通信方法、装置及电子设备 | |
CN112087373B (zh) | 一种消息发送方法及业务装置 | |
JP4291174B2 (ja) | Webサービス委譲処理方法及び実施装置並びに処理プログラム | |
WO2016197995A1 (zh) | 一种无状态网络协议中实现有状态操作的方法及装置 | |
CN113543049B (zh) | 信息处理方法、装置和业务服务器 | |
CN113986955B (zh) | 业务链的确定方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |