CN111381986B - 消息传输方法、系统、装置、电子设备及可读存储介质 - Google Patents
消息传输方法、系统、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN111381986B CN111381986B CN202010162782.4A CN202010162782A CN111381986B CN 111381986 B CN111381986 B CN 111381986B CN 202010162782 A CN202010162782 A CN 202010162782A CN 111381986 B CN111381986 B CN 111381986B
- Authority
- CN
- China
- Prior art keywords
- message
- tag
- target
- feature
- middleware
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004519 manufacturing process Methods 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 229910052737 gold Inorganic materials 0.000 description 7
- 239000010931 gold Substances 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 229910052709 silver Inorganic materials 0.000 description 4
- 239000004332 silver Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种消息传输方法、系统、装置、电子设备及可读存储介质,旨在提高消息处理性能。其中,所述消息传输方法应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法包括:所述消息中间件接收并存储由消息生产端发送的消息和所述消息携带的特征标签;所述消息消费端根据预先配置的目标标签,生成携带所述目标标签的消息获取请求;所述消息消费端将所述消息获取请求发送给所述消息中间件;所述消息中间件接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种消息传输方法、系统、装置、电子设备及可读存储介质。
背景技术
在数据处理技术领域,消息中间件常用于为业务系统提供高效、灵活的消息传输处理,目前常用的消息中间件包括但不限于:Kafka、ActiveMQ、RabbitMQ、RocketMQ以及ZeroMQ等。在利用消息中间件进行消息传输处理时,消息中间件接收并存储消息生产端发送的消息,然后将消息推送给对应的消息消费端,或者在接收到消息消费端发送的消息获取请求后,将消息发送给消息消费端。如此,实现了消息生产端和消息消费端之间的消息传输。
相关技术中,从消息中间件获取消息的消息消费端通常不止一个,各个消息消费端通常用于处理不同类型的业务。然而消息消费端在从消息中间件获取消息时,消息中间件会将其存储的所有消息全量地发送给消息消费端。消息消费端在接收到全量消息后,从其中提取出所需消息进行业务处理。由于向消息中间件发送消息的消息生产端通常也不止一个,其中部分或全部消息生产端向消息中间件发送的消息具有庞大的数据量,例如秒杀业务类的消息生产端或者整点查询业务类的消息生产端等。因此消息中间件向每个消息消费端发送的全量消息的数据量巨大,占用大量网络资源,导致消息处理性能偏低。
发明内容
本发明实施例的目的在于提供一种消息传输方法、系统、装置、电子设备及可读存储介质,旨在提高消息处理性能。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种消息传输方法,应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法包括:
所述消息中间件接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
所述消息消费端根据预先配置的目标标签,生成携带所述目标标签的消息获取请求,其中,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
所述消息消费端将所述消息获取请求发送给所述消息中间件;
所述消息中间件接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
在本发明实施例的第二方面,还提供了另一种消息传输方法,应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法执行于所述消息中间件,所述方法包括:
接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
在本发明实施例的第三方面,还提供了又一种消息传输方法,应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法执行于所述消息消费端,所述方法包括:
根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同;
将携带所述目标标签的消息获取请求发送给消息中间件;
接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配。
在本发明实施例的第四方面,还提供了一种消息传输系统,所述系统包括:
消息生产端,用于为待发送的消息配置特征标签,并将已配置特征标签的消息发送给消息中间件,其中,所述特征标签用于表征所述消息的消息特征;
所述消息中间件,用于接收并存储由所述消息生产端发送的消息和所述消息携带特征标签;
所述消息消费端,用于向所述消息中间件发送所述消息获取请求,并为所述消息获取请求配置目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
所述消息中间件,还用于接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
所述消息消费端,还用于接收所述消息中间件发送的消息。
在本发明实施例的第五方面,还提供了一种消息传输装置,设置于消息传输系统中的消息中间件,所述消息传输系统中还包括消息生产端和消息消费端,所述装置包括:
消息接收模块,用于接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
请求接收模块,用于接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
查询模块,用于响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
在本发明实施例的第六方面,还提供了另一种消息传输装置,设置于消息传输系统中的消息消费端,所述消息传输系统中还包括消息生产端和消息中间件,所述装置包括:
请求生成模块,用于根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同;
发送模块,用于将携带所述目标标签的消息获取请求发送给消息中间件;
接收模块,用于接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配。
在本发明实施例的第七方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本发明实施例的第二方面或第三方面所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的消息传输方法。
在本发明实施的再一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的消息传输方法。
本发明实施例提供的消息传输方法中,消息生产端向消息中间件发送携带特征标签的消息,消息中间件在接收到该消息后,将该消息及其特征标签一并存储。消息消费端在需要从消息中间件获取消息时,向消息中间件发送携带目标标签的消息获取请求。消息中间件响应于该消息获取请求,从已存储的多个特征标签中查询与该目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给消息消费端。换言之,消息中间件仅将消息消费端所关心的消息发送给消息消费端,而不需要将全部消息发送给消息消费端。如此,大幅减少了消息中间件和消息消费端之间的传输数据量,节约了网络资源,并有利于提高消息消费端的消息处理性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明一实施例提出的消息传输方法的交互流程图;
图2是本发明另一实施例提出的消息传输方法的流程图;
图3是本发明一实施例提出的消息传输系统的示意图;
图4(a)是本发明另一实施例提出的消息传输方法的流程图;
图4(b)是本发明另一实施例提出的消息传输方法的流程图;
图5是本发明另一实施例提出的消息传输方法的流程图;
图6是本发明另一实施例提出的消息传输方法的流程图;
图7(a)是本发明一实施例提出的消息传输装置的示意图;
图7(b)是本发明另一实施例提出的消息传输装置的示意图;
图8是本发明另一实施例提出的消息传输装置的示意图;
图9是本发明一实施例提出的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
在数据处理技术领域,消息中间件常用于为应用系统提供高效、灵活的消息传输处理。在利用消息中间件进行消息传输处理时,消息中间件接收并存储消息生产端发送的消息,然后将消息推送给对应的消息消费端,或者在接收到消息消费端发送的消息获取请求后,将消息发送给消息消费端。如此,实现了消息生产端和消息消费端之间的消息传输。
相关技术中,消息中间件在向各个消息消费端发送消息时,会将其存储的所有消息全量地发送给消息消费端。因此消息中间件和消息消费端之间的传输数据量庞大,占用了大量的网络资源,也导致消息处理性能偏低。
为此,本发明实施例提出消息传输方法,旨在提高消息处理性能。参考图1,图1是本发明一实施例提出的消息传输方法的交互流程图,该方法应用于包括消息生产端、消息中间件和消息消费端的系统。如图1所示,该方法包括以下步骤:
步骤S11:所述消息中间件接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
步骤S12:所述消息消费端根据预先配置的目标标签,生成携带所述目标标签的消息获取请求,其中,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
步骤S13:所述消息消费端将所述消息获取请求发送给所述消息中间件;
步骤S14:所述消息中间件接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签;
步骤S15:所述消息中间件将携带该特征标签(即与目标标签相匹配的特征标签)的消息,发送给所述消息消费端。
其中,如图1所示,步骤S11和其余步骤之间并无先后顺序的限定,消息中间件和消息消费端之间在执行步骤S12至S14之前,或者执行步骤S12至S14期间,或者执行步骤S12至S14之后,消息中间件和消息生产端之间可随时且不间断地执行步骤S11。
通过执行上述包括步骤S11至步骤S14的消息传输方法,消息生产端向消息中间件发送携带特征标签的消息,消息中间件在接收到该消息后,将该消息及其特征标签一并存储。消息消费端在需要从消息中间件获取消息时,向消息中间件发送携带目标标签的消息获取请求。消息中间件响应于该消息获取请求,从已存储的多个特征标签中查询与该目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给消息消费端。换言之,消息中间件仅将消息消费端所关心的消息发送给消息消费端,而不需要将全部消息发送给消息消费端。如此,大幅减少了消息中间件和消息消费端之间的传输数据量,节约了网络资源。
并且,由于消息消费端所接收到的消息即是其关心的消息,因此消息消费端不必如相关技术中的需要从接收到的全部消息中筛选出其关心的消息,可见本发明有利减轻消息消费端的处理任务,从而有利于提高消息消费端的消息处理性能。
参考图2,图2是本发明另一实施例提出的消息传输方法的流程图,该方法应用于包括消息生产端、消息中间件和消息消费端的系统,该方法具体执行于所述消息中间件。如图2所示,该方法包括以下步骤:
步骤S21:接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征。
其中,消息特征包括但不限于:消息类型(例如文本、图像、音频等)、消息内容概要、消息生成时间、消息生成部门、消息接受者名称等。由于消息生产端发送的消息携带特征标签,且消息的特征标签用于表征消息的特征,因此后续可以通过检索、查询特征标签,从而可以从已存储的多个消息中确定具有指定特征的消息。
其中,所述特征标签可以是消息生产端为该消息配置的。具体地,消息生产端在向消息中间件发送消息之前,接收用户输入的特征标签,并将用户输入的特征标签配置给待发送的消息。或者,消息生产端在向消息中间件发送消息之前,可以根据其预先配置的规则,自动向待发送的消息配置相应特征标签。
为了便于理解,请参考图3,图3是本发明一实施例提出的消息传输系统的示意图。如图3所示,该系统包括:消息生产端、消息中间件以及消息消费端。其中,消息生产端和消息消费端均可以为多个,消息生产端和消息消费端均与消息中间件通信连接。消息中间件两端连接的消息生产端和消息消费端通常互为不同的业务系统。
示例地,如图3所示,以电商平台为例,消息生产端可以是下单业务系统,消息消费端可以是库存业务系统、收银业务系统、积分业务系统等等。当下单业务系统接收到客户的下单请求后,一方面,下单业务系统可以根据该下单请求中的下单量数据生成下单量消息,并为其配置“下单量”特征标签。另一方面,下单业务系统可以根据该下单请求中的商品单价数据生成单价消息,并为其配置“单价”特征标签。再一方面,下单业务系统可以根据该下单请求中的积分抵扣数据生成积分消息,并为其配置“积分”特征标签。
如此,下单业务系统在将这些配置有特征标签的消息发送给消息中间件后,消息中间件接收并存储这些消息及其特征标签。
需要说明的是,本发明的应用场景不局限于电商平台,凡是可以通过消息中间件进行消息传输的场景,均可利用本发明提供的消息传输方法。应当理解的,不同应用场景对应不同业务类型的消息生产端和消息消费端。
还需要说明的是,为了实现本发明提供的消息传输方法,可以基于现有的消息中间件,按照本发明的发明构思对现有的消息中间件进行改进。具体实现时,例如可以在现有消息中间件的基础上部署标签查询、分类等线程,从而使得改进后的消息中间件可以执行本发明提供的消息传输方法。其中,分类线程用于在消息中间件接收到携带特征标签的消息后,根据该消息的特征标签,对该消息及其特征标签进行分类,使得携带相同特征标签的消息被归为同一类。其中,标签查询线程可用于在消息中间件接收到消息获取请求之后,执行下述步骤S23。其中,现有的消息中间件包括但不限于:Kafka、ActiveMQ、RabbitMQ、RocketMQ以及ZeroMQ等消息中间件。
此外,为了实现本发明提供的消息传输方法,也可以基于现有技术和本发明的发明构思,建立新型消息中间件,该新型消息中间件除了具有消息中间件的常规功能以外,还能执行本发明提供的消息传输方法。
步骤S22:接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征。
需要说明的是:步骤S11和步骤S12之间不限定先后顺序。步骤S11可先于或者晚于步骤S12执行,或者步骤S11可以与步骤S12同时执行。
其中,所述目标标签可以是消息消费端为该消息获取请求配置的。具体地,消息消费端在向消息中间件发送消息获取请求之前,接收用户输入的目标标签,并将用户输入的目标标签配置给待发送的消息获取请求。或者,消息消费端在向消息中间件发送消息获取请求之前,可以根据其预先配置的规则,自动向待发送的消息获取请求配置相应的目标标签。
步骤S23:响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
具体实现时,可以将目标标签与已存储的多个特征标签一一比对,如果一个特征标签与目标标签是两个相同的标签,则确定该特征标签与目标标签匹配。在将目标标签与所有特征标签一一匹配完后,可以查询到一个或多个与目标标签相匹配的特征标签。或者在一些意外情况下,例如在目标标签配置错误的情况下,可能查询不到匹配的特征标签。
沿用上述示例,如图3所示,例如库存业务系统作为消息消费端,在向消息中间件发送携带“下单量”目标标签的消息获取请求(图3中简要表示为“请求”)之后,消息中间件响应于该消息获取请求,从其已存储的多个特征标签中查询“下单量”特征标签,在查询到“下单量”特征标签之后,将携带“下单量”特征标签的消息发送给库存业务系统。如此,库存业务系统仅接收到其关心的下单量消息,而不是接收到消息中间件所存储的全部消息,可以显著减少消息中间件和库存业务系统之间的传输数据量。并且,由于库存业务系统仅接收到其关心的下单量消息,而不是接收到消息中间件所存储的全部消息,因此库存业务系统不必如相关技术中的需要从全部消息中筛选出下单量消息,库存业务系统的数据处理量得到减轻,有利于提高库存业务系统的处理性能。
在实施本发明时,在某些实施例中,消息生产端发送的每个消息携带一个或多个特征标签,一个消息所携带的一个或多个特征标签作为一个特征标签组。同样地,消息消费端发送的消息获取请求中携带的目标标签也可以是多个。当一个消息获取请求中携带的目标标签是多个时,该消息获取请求中还可以携带多个目标标签之间的逻辑关系。其中,所述逻辑关系由所述消息消费端所配置的,所述逻辑关系包括以下至少一者:且、或、非。其中,逻辑关系“且”表示:由逻辑关系“且”所联系的两者都必须存在。逻辑关系“或”表示:由逻辑关系“或”所联系的两者至少需存在其中一者。逻辑关系“非”表示:由逻辑关系“非”限定的对象不能存在。
具体实现时,多个目标标签之间的逻辑关系可以是一个逻辑关系表达式,该逻辑关系表达式中包括多个目标标签和至少一个逻辑关系。
为了便于理解,示例地,逻辑关系表达式可以形如:[(“仓库A”OR“仓库B”)AND“下单量”]NOT“2020年”。其中,“仓库A”、“仓库B”、“下单量”以及“2020年”均是目标标签,OR表示逻辑关系“或”,AND表示逻辑关系“且”,NOT表示逻辑关系“非”。该逻辑关系表达式的含义是:查询同时包含有“仓库A”和“下单量”等特征标签但不包含“2020年”特征标签的特征标签组,还要查询同时包含有“仓库B”和“下单量”等特征标签但不包含“2020年”特征标签的特征标签组。
在一种具体的实施方案中,在消息获取请求携带的目标标签为多个的情况下,消息中间件在执行上述步骤S23时,如图4(a)(本发明另一实施例提出的消息传输方法的流程图)所示,可以具体执行以下子步骤:
步骤S23-1:在所述消息获取请求携带的目标标签为多个的情况下,从所述消息获取请求中提取多个目标标签之间的逻辑关系;
步骤S23-2:从已存储的多个特征标签组中查询满足所述逻辑关系的特征标签组,并将携带所述满足逻辑关系的特征标签组的消息,发送给所述消息消费端。
具体实施时,从消息获取请求中提取多个目标标签之间的逻辑关系表达式,并解析该逻辑关系表达式,以确定多个目标标签之间的逻辑关系。然后针对已存储的多个特征标签组中的每个特征标签组,确定该特征标签组中包括的特征标签是否满足上述解析出的逻辑关系。
沿用上述示例,如图3所示,例如收银业务系统作为消息消费端,向消息中间件发送携带“下单量”和“单价”标签的消息获取请求(图3中简要表示为“请求”),该标签获取请求中携带的逻辑关系表达式为:“下单量”OR“单价”。消息中间件接收并响应该消息获取请求,从该消息获取请求中提取出逻辑关系表达式,并解析该逻辑关系表达式,获得如下逻辑关系:查询包含有“下单量”特征标签、或者包含有“单价”特征标签、或者同时包含有“下单量”特征标签和“单价”特征标签的特征标签组。
然后消息中间件对已存储的多个特征标签组进行一一检测,查询出包含有“下单量”特征标签、或者包含有“单价”特征标签、或者同时包含有“下单量”特征标签和“单价”特征标签的特征标签组。如图3所示,最后将查询出的特征标签组所对应的消息(即下单量消息和单价消息)发送给收银业务系统。如此,收银业务系统仅接收到其关心的下单量消息和单价消息,而接收不到其不关心的积分消息。
此外,考虑到消息生产端在为待发送的消息配置标签时,如前所述,具体可以接收用户输入的目标标签,并将用户输入的目标标签配置给待发送的消息。由于人为输入标签或目标标签时,具有不确定性,容易造成目标标签输入错误,或者造成多个目标标签之间的逻辑关系编辑错误。考虑到在目标标签和消息消费端所关心的消息的特征标签不一致的情况下,消息中间件难以根据目标标签查询到相匹配的特征标签,从而难以获得消息消费端所关心的消息。
为此,如图4(b)(本发明另一实施例提出的消息传输方法的流程图)所示,消息中间件可以在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,执行以下步骤:
步骤S14:根据预存的标签关联关系,确定所述目标标签的关联标签;
步骤S15:从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端。
其中,目标标签的关联标签是指:与目标标签具有相同含义,但文字表达方式不同的标签。
其中,预存的每条标签关联关系中包含至少两个标签。例如某条标签关联关系中可以包括:“VIP”、“高级会员”、“高级用户”、“要员”等标签。如果消息消费端发送的消息获取请求中携带的目标标签是“高级会员”,则该目标标签的关联标签包括:“VIP”、“高级用户”以及“要员”。
又例如另一条标签关联关系中可以包括:“折扣”、“打折”、“优惠”、“促销”、“onsale”等标签。如果消息消费端发送的消息获取请求中携带的目标标签是“促销”,则该目标标签的关联标签包括:“折扣”、“打折”、“优惠”以及“on sale”。
示例地,如图3所示,积分业务系统作为消息消费端,向消息中间件发送携带“金币”目标标签的消息获取请求(图3中简要表示为“请求”),消息中间件响应于该消息获取请求,尝试从其已存储的多个特征标签中查询与“金币”目标标签相匹配的特征标签(即“金币”特征标签)。如果消息中间件从已存储的多个特征标签中未查询到“金币”特征标签,则消息中间件可以根据预存的标签关联关系,确定“金币”目标标签的关联标签。
假设消息中间件查询到某条标签关联关系中包括:“积分”、“金币”、“银币”等标签。则消息中间件可以将“积分”标签和“银币”标签确定为“金币”目标标签的关联标签。如此,消息中间件从其已存储的多个特征标签中查询与“积分”关联标签或“银币”关联标签相匹配的特征标签(即“积分”特征标签或“银币”特征标签),由于消息中间件中预先存储有积分”特征标签,因此消息中间件可以将携带“积分”特征标签的消息发送给积分业务系统。如此,积分业务系统也能接收到、且仅接收到其关心的消息。
此外,进一步考虑到在某些情况下,消息获取请求中携带的目标标签不存在对应的关联标签。为了不影响消息消费端的业务处理进程,在上述情况下,消息中间件可以将已存储的全部消息地发送给消息消费端。
或者进一步考虑到在某些情况下,消息获取请求中携带的目标标签虽然存在对应的关联标签,但从已存储的多个特征标签中未查询到与所述关联标签相匹配的特征标签。为了不影响消息消费端的业务处理进程,在上述情况下,消息中间件也可以将已存储的全部消息地发送给消息消费端。
除了在上述两种情况下,消息中间件可以将已存储的全部消息地发送给消息消费端以外,例如消息中间件在经过上述步骤S23或步骤S25之后,没有查询到与目标标签或关联标签相匹配的特征标签,进而没能锁定任何消息,则可以向消息消费端返回提示信息或者返回空值。如此,消息消费端可以自动地向消息中间件发送全量消息获取请求。或者消息消费端可以在接收到用户输入的全量消息获取指令之后,向消息中间件发送全量消息获取请求。消息中间件在接收到全量消息获取请求之后,将已存储的全部消息地发送给消息消费端。
在某些实施例中,消息中间件还可以根据消息消费端先后发送的消息获取请求中的目标标签,对上述标签关联关系进行更新。
示例地,例如消息中间件在经过上述步骤S15之后,没有查询目标标签对应的关联标签,或者没有查询到与关联标签相比配的特征标签,则可以向消息消费端返回提示信息或者返回空值。如此,消息消费端可以接收用户重新输入的目标标签,并将用户重新输入的目标标签配置给又一个待发送的消息获取请求。如此,服务端在接收到又一个消息获取请求之后,可以为该消息获取请求中的目标标签和上一消息获取请求中的目标标签建立标签关联关系,或者可以将又一个消息获取请求中的目标标签,添入上一消息获取请求中的目标标签已经所在的标签关联关系中。
参考图5,图5是本发明另一实施例提出的消息传输方法的流程图,该方法应用于包括消息生产端、消息中间件和消息消费端的系统,该方法具体执行于所述消息中间件。如图5所示,该方法包括以下步骤:
步骤S51:接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
步骤S52:接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
步骤S53:响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签;
步骤S54:在从已存储的多个特征标签中查询到与所述目标标签相匹配的特征标签的情况下,将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
步骤S55:在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;
步骤S56:在成功确定出目标标签的关联标签的情况下,从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签;
步骤S57:在从已存储的多个特征标签中查询到与所述关联标签相匹配的特征标签的情况下,将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端;
步骤S58:在所述目标标签不存在关联标签的情况下,将已存储的全部消息发送给所述消息消费端;
步骤S59:在从已存储的多个特征标签中未查询到与所述关联标签相匹配的特征标签的情况下,将已存储的全部消息地发送给所述消息消费端。
参考图6,图6是本发明另一实施例提出的消息传输方法的流程图,该方法应用于包括消息生产端、消息中间件和消息消费端的系统,该方法具体执行于所述消息消费端。如图6所示,该方法包括以下步骤:
步骤S61:根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同。
其中,消息消费端可以在向消息中间件发送消息获取请求之前,临时向用户开启目标标签输入通道(例如图形化输入窗口、语音输入通道、手写板输入通道等),用户可以通过该目标标签输入通道,向消息消费端输入目标标签,即为消息消费端配置目标标签。如此,消息消费端可以将该目标标签配置给待发送的消息获取请求。
或者,消息消费端也可以在用户操作下,预先向用户开启目标标签输入通道(例如图形化输入窗口、语音输入通道、手写板输入通道等),用户可以通过该目标标签输入通道,向消息消费端输入目标标签,即为消息消费端配置目标标签。消息消费端保存该目标标签,从而可以在需要向消息消费端发送消息获取请求时,从存储区域读取该目标标签,并将该目标标签配置给待发送的消息获取请求。
由于消息消费端集群中的各个消息消费端通常用于处理不同类型的业务。如前所述,以电商平台为例,消息生产端可以是下单业务系统,消息消费端集群中可以包括:库存业务系统、收银业务系统、积分业务系统等消息消费端。各个消息消费端处理不同类型的业务,因此通常需要获取不同类型的消息。如此,在根据业务类型配置目标标签时,各个消息消费端分别配置的目标标签不全部相同。
步骤S62:将携带所述目标标签的消息获取请求发送给消息中间件。
步骤S63:接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配。
沿用上述示例,如图3所示,库存业务系统作为消息消费端,在向消息中间件发送携带“下单量”目标标签的消息获取请求之后,消息中间件响应于该消息获取请求,从其已存储的多个特征标签中查询与“下单量”目标标签相匹配的特征标签(即“下单量”特征标签),并将携带“下单量”特征标签的消息发送给库存业务系统。如此,库存业务系统仅接收到其关心的下单量消息,不仅可以显著减少消息中间件和库存业务系统之间的传输数据量,还由于库存业务系统所接收到的消息即是其关心的消息,因此库存业务系统不必如相关技术中的需要从接收到的全部消息中筛选出其关心的消息。可见本发明有利减轻消息消费端的处理任务,从而有利于提高消息消费端的消息处理性能。
如前所述,考虑到在某些情况下,消息消费端未能成功接收到消息。例如用户在为消息消费端配置目标标签时,输入了错别字,或者输入的是目标标签的近义词(例如将“下单量”错误输入成“成交量”),或者输入了错误的逻辑关系,在这些情况下,消息中间件不能查询到匹配的特征标签,因此不能顺利向消息消费端返回消息。为了不影响业务处理进程,消息消费端可以在未接收到所述消息中间件返回的消息的情况下,向所述消息中间件发送全量消息获取请求;并接收消息中间件返回的所述消息中间件已存储的全部消息。
此外,本发明实施例还提供了一种消息传输系统,如图3所示,所述系统包括:
消息生产端,用于为待发送的消息配置特征标签,并将已配置特征标签的消息发送给消息中间件,其中,所述特征标签用于表征所述消息的消息特征;
所述消息中间件,用于接收并存储由所述消息生产端发送的消息和所述消息携带特征标签;
所述消息消费端,用于向所述消息中间件发送所述消息获取请求,并为所述消息获取请求配置目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
所述消息中间件,还用于接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
所述消息消费端,还用于接收所述消息中间件发送的消息。
需要说明的是,本发明对该消息传输系统的应用场景不做限定,凡是可以通过消息中间件进行消息传输的场景,均可利用本发明提供的消息传输系统。应当理解的,不同应用场景对应不同业务类型的消息生产端和消息消费端。
其中,消息生产端可以是硬件模块,也可以是软件模块。消息中间件也可以是硬件模块,也可以是软件模块。同样地,消息消费端也可以是硬件模块,也可以是软件模块。
示例地,可以将一台或多台计算机部署为消息生产端,将一台计算机部署为消息中间件,再将一台或多台计算机部署为消息消费端。其中,作为消息生产端的计算机可以通过通信电缆连接至作为消息中间件的计算机。作为消息中间件的计算机也可以通过通信电缆连接至作为消息消费端的计算机。
或者示例地,可以将一台或多台计算机部署为消息生产端,将一台计算机部署为消息消费端,作为消息消费端的计算机内部安装有消息中间件的软件模块。
或者示例地,可以将一台计算机部署为消息生产端,将一台或多台计算机部署为消息消费端,作为消息生产端的计算机内部安装有消息中间件的软件模块。
此外,消息中间件可以包括单独的消息过滤模块,如图3所示,以消息中间件是kafka消息中间件为例。本系统中,消息消费端不再从kafka的服务器节点Broker拉取消息,而可以从消息过滤模块拉取消息。其中,消息过滤模块具体用于:从kafka已存储的多个消息中查询携带目标标签的目标消息,将查询到的目标消息发送给消息消费端。
该消息传输系统在运行期间,消息生产端向消息中间件发送携带特征标签的消息,消息中间件在接收到该消息后,将该消息及其特征标签一并存储。消息消费端在需要从消息中间件获取消息时,向消息中间件发送携带目标标签的消息获取请求。消息中间件响应于该消息获取请求,从已存储的多个特征标签中查询与该目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给消息消费端。换言之,消息中间件仅将消息消费端所关心的消息发送给消息消费端,而不需要将全部消息发送给消息消费端。如此,大幅减少了消息中间件和消息消费端之间的传输数据量,节约了网络资源。
并且,由于消息消费端所接收到的消息即是其关心的消息,因此消息消费端不必如相关技术中的需要从接收到的全部消息中筛选出其关心的消息,可见本发明有利减轻消息消费端的处理任务,从而有利于提高消息消费端的消息处理性能。
可选地,所述消息生产端消息生产端发送的每个消息携带一个或多个特征标签,一个消息所携带的一个或多个特征标签作为一个特征标签组;所述消息中间件在所述响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端时,具体用于:
在所述消息获取请求携带的目标标签为多个的情况下,从所述消息获取请求中提取多个目标标签之间的逻辑关系,其中,所述逻辑关系由所述消息消费端所配置,所述逻辑关系包括以下至少一者:且、或、非;
从已存储的多个特征标签组中查询满足所述逻辑关系的特征标签组,并将携带所述满足逻辑关系的特征标签组的消息,发送给所述消息消费端。
可选地,所述消息中间件还用于:
在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;
从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端。
可选地,所述消息消费端还用于:在未接收到所述消息中间件返回的消息的情况下,向所述消息中间件发送全量消息获取请求,并接收所述消息中间件返回的全量消息;
所述消息中间件还用于:在接收到所述消息消费端发送的全量消息获取请求的情况下,响应于所述全量消息获取请求,将已存储的全部消息发送给所述消息消费端。
基于同一发明构思,本发明一实施例提供一种消息传输装置。参考图7(a),图7(a)是本发明一实施例提出的消息传输装置的示意图,该装置设置于消息传输系统中的消息中间件,所述消息传输系统中还包括消息生产端和消息消费端。如图7(a)所示,该装置包括:
消息接收模块71,用于接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
请求接收模块72,用于接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
查询模块73,用于响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
可选地,消息生产端发送的每个消息携带一个或多个特征标签,一个消息所携带的一个或多个特征标签作为一个特征标签组。
所述查询模块73,具体用于在所述消息获取请求携带的目标标签为多个的情况下,从所述消息获取请求中提取多个目标标签之间的逻辑关系,其中,所述逻辑关系由所述消息消费端所配置,所述逻辑关系包括以下至少一者:且、或、非;从已存储的多个特征标签组中查询满足所述逻辑关系的特征标签组,并将携带所述满足逻辑关系的特征标签组的消息,发送给所述消息消费端。
可选地,参考图7(b),图7(b)是本发明另一实施例提出的消息传输装置的示意图,该装置设置于消息传输系统中的消息中间件,所述消息传输系统中还包括消息生产端和消息消费端。如图7(b)所示,该装置除了包括消息接收模块71、请求接收模块72以及查询模块73,还包括:
关联标签确定模块74,用于在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;
所述查询模块73,还用于从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端。
可选地,如图7(b)所示,所示装置还包括:
全部消息发送模块75,用于在所述目标标签不存在关联标签的情况下,将已存储的全部消息发送给所述消息消费端;或者,在所述目标标签存在关联标签,但从已存储的多个特征标签中未查询到与所述关联标签相匹配的特征标签的情况下,将已存储的全部消息地发送给所述消息消费端。
基于同一发明构思,本发明另一实施例提供另一种消息传输装置。参考图8,图8是本发明另一实施例提出的消息传输装置的示意图,该装置设置于消息传输系统中的消息消费端,所述消息传输系统中还包括消息生产端和消息中间件。如图8所示,该装置包括:
请求生成模块81,用于根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同;
发送模块82,用于将携带所述目标标签的消息获取请求发送给消息中间件;
接收模块83,用于接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配。
可选地,所述发送模块82,还用于在未接收到所述消息中间件返回的消息的情况下,向所述消息中间件发送全量消息获取请求;
所述接收模块83,还用于接收所述消息中间件返回的所述消息中间件已存储的全部消息。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器91、通信接口92、存储器93和通信总线94,其中,处理器91,通信接口92,存储器93通过通信总线94完成相互间的通信,
存储器93,用于存放计算机程序;
处理器91,用于执行存储器93上所存放的程序时,实现如下步骤:
接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端。
或者,处理器91在执行存储器93上所存放的程序时,实现如下步骤:
根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同;
将携带所述目标标签的消息获取请求发送给消息中间件;
接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的消息传输方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的消息传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种消息传输方法,其特征在于,应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法包括:
所述消息中间件接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
所述消息消费端根据预先配置的目标标签,生成携带所述目标标签的消息获取请求,其中,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
所述消息消费端将所述消息获取请求发送给所述消息中间件;
所述消息中间件接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
所述消息中间件在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端,其中,所述目标标签的关联标签指与所述目标标签具有相同含义但文字表达方式不同的标签。
2.一种消息传输方法,其特征在于,应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法执行于所述消息中间件,所述方法包括:
接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;
从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端,其中,所述目标标签的关联标签指与所述目标标签具有相同含义但文字表达方式不同的标签。
3.根据权利要求2所述的方法,其特征在于,所述消息生产端发送的每个消息携带一个或多个特征标签,一个消息所携带的一个或多个特征标签作为一个特征标签组;
所述响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端的步骤,包括:
在所述消息获取请求携带的目标标签为多个的情况下,从所述消息获取请求中提取多个目标标签之间的逻辑关系,其中,所述逻辑关系由所述消息消费端所配置,所述逻辑关系包括以下至少一者:且、或、非;
从已存储的多个特征标签组中查询满足所述逻辑关系的特征标签组,并将携带所述满足逻辑关系的特征标签组的消息,发送给所述消息消费端。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标标签不存在关联标签的情况下,将已存储的全部消息发送给所述消息消费端;或者,
在所述目标标签存在关联标签,但从已存储的多个特征标签中未查询到与所述关联标签相匹配的特征标签的情况下,将已存储的全部消息地发送给所述消息消费端。
5.一种消息传输方法,其特征在于,应用于包括消息生产端、消息中间件和消息消费端的系统,所述方法执行于所述消息消费端,所述方法包括:
根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同;
将携带所述目标标签的消息获取请求发送给消息中间件;
接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配,或,所述消息携带的特征标签与所述消息获取请求中携带的所述目标标签的关联标签相匹配,其中,所述目标标签的关联标签指与所述目标标签具有相同含义但文字表达方式不同的标签。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在未接收到所述消息中间件返回的消息的情况下,向所述消息中间件发送全量消息获取请求;
接收所述消息中间件返回的所述消息中间件已存储的全部消息。
7.一种消息传输系统,其特征在于,所述系统包括:
消息生产端,用于为待发送的消息配置特征标签,并将已配置特征标签的消息发送给消息中间件,其中,所述特征标签用于表征所述消息的消息特征;
所述消息中间件,用于接收并存储由所述消息生产端发送的消息和所述消息携带特征标签;
所述消息消费端,用于向所述消息中间件发送所述消息获取请求,并为所述消息获取请求配置目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
所述消息中间件,还用于接收并响应所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
所述消息消费端,还用于接收所述消息中间件发送的消息;
所述消息中间件,还用于在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端,其中,所述目标标签的关联标签指与所述目标标签具有相同含义但文字表达方式不同的标签。
8.一种消息传输装置,其特征在于,设置于消息传输系统中的消息中间件,所述消息传输系统中还包括消息生产端和消息消费端,所述装置包括:
消息接收模块,用于接收并存储由消息生产端发送的消息和所述消息携带的特征标签,所述特征标签用于表征所述消息的消息特征;
请求接收模块,用于接收消息消费端发送的消息获取请求,所述消息获取请求携带目标标签,所述目标标签用于表征所述消息消费端所期望获得的消息的消息特征;
查询模块,用于响应于所述消息获取请求,从已存储的多个特征标签中查询与所述目标标签相匹配的特征标签,并将携带所述与目标标签相匹配的特征标签的消息,发送给所述消息消费端;
所述装置还包括:
关联标签确定模块,用于在从已存储的多个特征标签中未查询到与所述目标标签相匹配的特征标签的情况下,根据预存的标签关联关系,确定所述目标标签的关联标签;
所述查询模块,还用于从已存储的多个特征标签中查询与所述关联标签相匹配的特征标签,并将携带所述与关联标签相匹配的特征标签的消息,发送给所述消息消费端,其中,所述目标标签的关联标签指与所述目标标签具有相同含义但文字表达方式不同的标签。
9.一种消息传输装置,其特征在于,设置于消息传输系统中的消息消费端,所述消息传输系统中还包括消息生产端和消息中间件,所述装置包括:
请求生成模块,用于根据预先为所述消息消费端配置的目标标签,生成携带所述目标标签的消息获取请求,其中,预先为消息消费端集群中的各个消息消费端分别配置的目标标签不全部相同;
发送模块,用于将携带所述目标标签的消息获取请求发送给消息中间件;
接收模块,用于接收所述消息中间件返回的消息,该消息携带的特征标签与所述消息获取请求中携带的所述目标标签相匹配,或,所述消息携带的特征标签与所述消息获取请求中携带的所述目标标签的关联标签相匹配,其中,所述目标标签的关联标签指与所述目标标签具有相同含义但文字表达方式不同的标签。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求2-4中任一或5-6中任一所述的方法步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求2-4中任一或5-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162782.4A CN111381986B (zh) | 2020-03-10 | 2020-03-10 | 消息传输方法、系统、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162782.4A CN111381986B (zh) | 2020-03-10 | 2020-03-10 | 消息传输方法、系统、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111381986A CN111381986A (zh) | 2020-07-07 |
CN111381986B true CN111381986B (zh) | 2024-04-16 |
Family
ID=71219881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010162782.4A Active CN111381986B (zh) | 2020-03-10 | 2020-03-10 | 消息传输方法、系统、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111381986B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069195A (zh) * | 2020-09-09 | 2020-12-11 | 上海依图网络科技有限公司 | 基于数据库的消息传输方法、装置、电子设备及存储介质 |
CN112491998B (zh) * | 2020-11-18 | 2023-08-08 | 平安消费金融有限公司 | 消息推送方法及相关设备 |
CN112988411A (zh) * | 2021-01-29 | 2021-06-18 | 广州三七互娱科技有限公司 | 信息传输方法、装置及系统 |
CN113132926A (zh) * | 2021-04-16 | 2021-07-16 | 中国工商银行股份有限公司 | 一种消息分发方法、系统、设备及介质 |
CN113986601B (zh) * | 2021-12-27 | 2022-04-26 | 飞狐信息技术(天津)有限公司 | 消费信息查询方法及装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
CN109428922A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN109933439A (zh) * | 2019-02-21 | 2019-06-25 | 深圳市珍爱捷云信息技术有限公司 | 消息传输方法、装置、计算机设备和存储介质 |
CN110708247A (zh) * | 2019-09-27 | 2020-01-17 | 浙江大搜车软件技术有限公司 | 消息路由方法、装置、计算机设备和存储介质 |
-
2020
- 2020-03-10 CN CN202010162782.4A patent/CN111381986B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610926A (zh) * | 2015-12-22 | 2016-05-25 | 广州唯品会信息科技有限公司 | 消息传递方法、系统和消息中间件系统 |
CN109428922A (zh) * | 2017-08-29 | 2019-03-05 | 华为技术有限公司 | 一种订阅发布方法及服务器 |
CN109933439A (zh) * | 2019-02-21 | 2019-06-25 | 深圳市珍爱捷云信息技术有限公司 | 消息传输方法、装置、计算机设备和存储介质 |
CN110708247A (zh) * | 2019-09-27 | 2020-01-17 | 浙江大搜车软件技术有限公司 | 消息路由方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111381986A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381986B (zh) | 消息传输方法、系统、装置、电子设备及可读存储介质 | |
RU2402069C2 (ru) | Внутренняя структура rfid-cepbepa | |
CN111247550B (zh) | 用于区块链网络的计算机化交易管理模块 | |
CN109918678B (zh) | 一种字段含义识别方法和装置 | |
CN113364853A (zh) | 一种业务服务系统、业务请求方法及网关设备 | |
CN111309857A (zh) | 一种处理方法及处理装置 | |
CN112861529A (zh) | 错误码管理的方法和装置 | |
CN113495797A (zh) | 一种消息队列及消费者动态创建方法及系统 | |
CN112214505A (zh) | 数据同步方法、装置、计算机可读存储介质及电子设备 | |
CN112288577A (zh) | 分布式服务的交易处理方法、装置、电子设备和介质 | |
CN116055551A (zh) | 信息推送方法、装置、系统、电子设备及存储介质 | |
CN111401684A (zh) | 一种任务处理的方法和装置 | |
CN113269355A (zh) | 一种用户贷款预测方法、装置及存储介质 | |
US8726235B2 (en) | Telecom business-oriented taxonomy for reusable services | |
US8776098B2 (en) | Exchanging data using data transformation | |
CN116127154A (zh) | 知识标签推荐方法、装置、电子设备及存储介质 | |
CN112256566B (zh) | 一种测试案例的保鲜方法和装置 | |
CN101719159A (zh) | 一种数据管理方法及装置 | |
KR100459535B1 (ko) | 분산처리시스템내에서 부하를 최소화하는이벤트관리시스템 및 그 방법 | |
CN114116071B (zh) | 用于标签组件的信息处理方法、装置、介质和电子设备 | |
CN113111120B (zh) | 业务数据校验的方法和装置 | |
WO2012096681A1 (en) | Method and system for providing an sms-based interactive electronic marketing offer search and distribution system | |
KR101334558B1 (ko) | 상황인지 웹 서비스 제공 시스템 및 방법 | |
US10546069B2 (en) | Natural language processing system | |
CN107909424B (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 |