CN106603711B - 通信方法、***及消息服务器 - Google Patents

通信方法、***及消息服务器 Download PDF

Info

Publication number
CN106603711B
CN106603711B CN201611259386.3A CN201611259386A CN106603711B CN 106603711 B CN106603711 B CN 106603711B CN 201611259386 A CN201611259386 A CN 201611259386A CN 106603711 B CN106603711 B CN 106603711B
Authority
CN
China
Prior art keywords
message
subscriber
subject area
receipt
area
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
Application number
CN201611259386.3A
Other languages
English (en)
Other versions
CN106603711A (zh
Inventor
覃树才
唐焱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Qinggan Intelligent Technology Co Ltd
Original Assignee
Shanghai Qinggan Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Qinggan Intelligent Technology Co Ltd filed Critical Shanghai Qinggan Intelligent Technology Co Ltd
Priority to CN201611259386.3A priority Critical patent/CN106603711B/zh
Publication of CN106603711A publication Critical patent/CN106603711A/zh
Application granted granted Critical
Publication of CN106603711B publication Critical patent/CN106603711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种通信方法、***及消息服务器。所述方法包括:接收消息发布方发布的请求消息;根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在所述消息订阅方对应的第一接收消息主题区域,以供所述消息订阅方从所述接收消息主题区域内获取所述请求消息;接收所述消息订阅方发布的回执消息,所述回执消息由所述消息订阅方根据所述请求消息生成,包括返回主题区域的标识信息;根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。采用上述方案,可以在兼顾成本的同时实现同步通信。

Description

通信方法、***及消息服务器
技术领域
本发明涉及通信技术领域,尤其涉及一种通信方法、***及消息服务器。
背景技术
为了通信双方的通信效率,一些业务应用***之间通常采用异步通信方式。然而,在实际应用过程中,可能会增加一些新的业务,由于业务需要,有时需要实现同步通信。为满足新增加业务的同步通信的需求,现有应用***中相应增加独立的同步通信子***进行同步通信。
但是,上述采用独立的同步通信***进行同步通信的方式,需要重新开发一个新的业务应用***,需要耗费大量的人力物力,且开发周期较长,所需成本较高。
发明内容
本发明解决的技术问题是如何在兼顾成本的同时实现同步通信。
为解决上述技术问题,本发明实施例提供一种通信方法,包括:接收消息发布方发布的请求消息,所述请求消息包括:消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在所述消息订阅方对应的第一接收消息主题区域,以供所述消息订阅方从所述接收消息主题区域内获取所述请求消息;接收所述消息订阅方发布的回执消息,所述回执消息由所述消息订阅方根据所述请求消息生成,包括返回主题区域的标识信息;根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
可选地,所述消息订阅方包括多个个体,所述请求消息适于被所述多个个体中的任意一个个体获取,且仅被获取一次。
可选地,所述消息订阅方为一个个体或者为多个个体建立的一个集群。
可选地,将所述请求消息存储在订阅方对应的第一接收消息主题区域之后,还包括执行以下任意一种操作:当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取;当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息从所述接收消息主题区域移除。
可选地,所述方法还包括:接收所述消息发布方发布的定向消息,所述定向消息包括:消息订阅方接收定向消息主题区域的标识信息;根据所述消息订阅方接收定向消息主题区域的标识信息,将所述定向消息存储在对应的第二接收消息主题区域,以供所述消息订阅方从所述第二接收消息主题区域内获取所述定向消息,所述第一接收消息主题区域为所述消息订阅方的公共接收消息主题区域,当所述消息订阅方中包括多个个体时,各个体均能从所述第一接收消息主题区域中获取请求消息;所述第二接收消息主题区域,为某一个体的专属接收消息主题区域,供对应的个体获取所存储的定向消息。
可选地,所述定向消息还包括:回执消息返回标识及返回主题区域的标识信息;所述通信方法还包括:接收所述消息订阅方发布的回执消息,所述回执消息包括返回主题区域的标识信息;根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
可选地,所述方法还包括:当检测到所述消息发布方启动时,建立所述消息发布方对应的返回主题区域;当检测到所述消息订阅方启动时,建立所述消息订阅方对应的第一接收消息主题区域。
本发明实施例还提供一种消息服务器,包括:第一接收单元、第一存储单元、第二接收单元及第二存储单元,其中:所述第一接收单元,适于接收消息发布方发布的请求消息,所述请求消息包括:消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;所述第一存储单元,适于根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在订阅方对应的第一接收消息主题区域,以供所述消息订阅方从所述接收消息主题区域内获取所述请求消息;所述第二接收单元,适于接收所述消息订阅方发布的回执消息,所述回执消息包括返回主题区域的标识信息;所述第二存储单元,适于根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
本发明实施例还提供一种通信***,包括:消息发布方、消息订阅方及上述的消息服务器,其中:所述消息发布方,适于发布请求消息至所述消息服务器,所述请求消息包括:所述消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;以及从所述消息服务器的返回主题区域内获取所述消息订阅方发布的回执消息;所述消息订阅方,适于从所述消息服务器的第一接收消息主题区域获取所述请求消息,根据所述请求消息生成所述回执消息,并发布至所述消息服务器,所述回执消息包括返回主题区域的标识信息;所述消息服务器,适于接收所述消息发布方发布的请求消息,根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在消息订阅方对应的第一接收消息主题区域,接收所述消息订阅方发布的回执消息,根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域。
可选地,所述消息订阅方包括多个个体,所述请求消息适于被所述多个个体中的任意一个个体获取,且仅被获取一次。
可选地,所述消息订阅方为一个个体或者多个个体建立的一个集群。
可选地,所述消息服务器在将所述请求消息存储所述订阅方对应的第一接收消息主题区域之后,还适于执行以下任意一种操作:当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取;当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息从所述接收消息主题区域移除。
可选地,所述消息发布方,还适于生成定向消息,并发送至所述消息服务器,所述定向消息包括:消息订阅方接收定向消息主题区域的标识信息;所述消息服务器,还适于接收所述消息发布方发布的定向消息,并根据所述消息订阅方接收定向消息主题区域的标识信息,将所述定向消息存储在对应的第二接收消息主题区域;所述消息订阅方,还适于从所述第二接收消息主题区域内获取所述定向消息,所述第一接收消息主题区域为所述消息订阅方的公共接收消息主题区域,当所述消息订阅方中包括多个个体时,各个体均可以从所述第一接收消息主题区域中获取请求消息;所述第二接收消息主题区域,为某一个体的专属接收消息主题区域,供对应的个体获取所存储的定向消息。
可选地,所述定向消息还包括:回回执消息返回标识及返回主题区域的标识信息;所述消息订阅方,还适于根据所述定向消息生成回执消息,并发送至所述消息服务器,所述回执消息包括返回主题区域的标识信息;所述消息服务器,还适于接收所述消息订阅方发送的回执消息,根据所述返回主题的标识信息,将所述回执消息存储在对应的返回主题区域;所述消息发布方,还适于从所述消息服务器的返回主题区域获取所述回执消息。
可选地,所述消息服务器,还适于当检测到所述消息发布方启动时,建立所述消息发布方对应的返回主题区域;当检测到所述消息订阅方启动时,建立所述消息订阅方对应的接收消息主题区域。
可选地,所述消息服务器为kafka消息中间件。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
消息发布方生成的请求消息包括消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息,从而可以使得消息订阅方接收到所述请求消息后,按照请求消息中所给出的返回主题的标识信息,将回执消息返回至对应的返回主题区域。所述消息发布方即可从返回主题区域中获取所述回执消息,从而可以实现同步通信,且无须增加独立的同步通信子***,故可以节约研发成本。
进一步地,消息订阅方中可以包括多个个体,所述请求消息可以被所述多个个体中的任意一个个体获取,且仅被获取一次。当消息订阅方中其中某些个体无法获取所述请求消息时,其他个体可以获取所述请求消息,通过横向扩展消息订阅方为多个个体,任一个体对消息订阅方中的其他个体互为替补,均可对所述请求消息进行处理,故可以提高通信过程中的可靠性。
进一步地,当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取或者将所述请求消息从所述接收消息主题中移除,从而可以避免所述请求消息被重复获取,节约***处理资源,并提高***处理效率及稳定性。
附图说明
图1是本发明实施例中一种通信方法的流程图;
图2是本发明实施例中一种消息服务器的结构示意图;
图3是本发明实施例中一种通信***的结构示意图;
图4是本发明实施例中另一种通信***的结构示意图。
具体实施方式
现有技术中的,当在一些采用异步通信方式的应用***之间,增加一些需要同步通信的业务时,为满足新增加业务的同步通信的需求,现有应用***中相应增加独立的同步通信子***进行同步通信。但是,上述采用独立的同步通信***进行同步通信的方式,通常需要重新开发一个新的业务应用***,需要耗费大量的人力物力,且开发周期较长,所需成本较高。
为解决上述问题,在本发明实施例中,消息发布方生成的请求消息包括消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息,从而可以使得消息订阅方接收到所述请求消息后,按照请求消息中所给出的返回主题的标识信息,将回执消息返回至对应的返回主题区域。所述消息发布方即可从返回主题区域中获取所述回执消息,从而可以实现同步通信,且无须增加独立的同步通信子***,故可以节约研发成本。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中一种通信方法的流程图。下面结合具体的步骤进行详细说明。
在具体实施中,发布请求消息的为消息发布方,接收所述请求消息的为消息订阅方,消息发布方与消息订阅方具有相对性。
步骤11,接收消息发布方发布的请求消息。
在具体实施中,可以采用消息服务器来接收所述消息发布方发布的请求消息。其中,所述请求消息可以包括:消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息。
在具体实施中,所述消息服务器根据通信双方,即消息发布方及消息订阅方所采用的通信协议不同,可以存在多种类型。例如,所述消息服务器可以为kafka消息中间件,也可以为RabbitMQ消息中间件,还可以为RocketMQ消息中间件。可以理解的是,在实际应用中,也可以为其他类型的服务器或者消息中间件。
步骤12,根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在所述消息订阅方对应的第一接收消息主题区域。
在具体实施中,所述消息服务器在接收到所述请求消息后,可以根据所述请求消息中的消息订阅方接收消息主题区域的标识信息,将所述请求消息存储在所述消息订阅方对应的第一接收消息主题区域。
在具体实施中,所述消息订阅方可以从对应的第一接收消息主题区域内消费所述请求消息,也即从所述第一接收消息主题区域内获取所述请求消息。
在具体实施中,所述消息订阅方可以定期从所述第一接收消息主题区域内消费所述请求消息,也可以实时的从所述第一接收消息主题区域内消费所述请求消息。
在具体实施中,所述消息服务器可以在检测到所述消息订阅方启动时,为所述消息订阅方建立对应的第一接收消息主题区域。所述消息服务器也可以在检测到所述消息发布方启动时,为所述消息发布方建立所述消息发布方对应的返回主题区域。
步骤13,接收所述消息订阅方发布的回执消息。
在具体实施中,当所述消息订阅方接收到所述请求消息后,可以对所述请求消息进行解析,获取所述请求消息中的回执消息返回标识及返回主题区域的标识信息。当所述回执消息返回标识表征所述请求消息需要反馈回执消息时,所述消息订阅方则生成所述请求消息对应的回执消息,并将生成的回执消息发布至所述消息服务器。
在具体实施中,所述消息服务器可以接收所述消息订阅方发布的回执消息。
步骤14,根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
在具体实施中,所述消息服务器接收到所述回执消息后,根据所述回执消息中的返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域。
在具体实施中,所述消息发布方可以从所述返回主题区域内消费所述回执消息。
当所述消息发布方从所述消息服务器中消费到所述回执消息后,也即完成一次同步通信。
由上述内容可知,消息发布方生成的请求消息包括消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息,从而可以使得消息订阅方接收到所述请求消息后,按照请求消息中所给出的返回主题的标识信息,将回执消息返回至对应的返回主题区域。所述消息发布方即可从返回主题区域中获取所述回执消息,从而可以实现同步通信,且无须增加独立的同步通信子***,故可以节约研发成本。
在具体实施中,所述消息订阅方可以为一个个体,也可以为多个个体,所述请求消息可以被所述消息订阅方中的任意一个个体消费,且仅被消费一次。
在具体实施中,所述消息订阅方可以为一个个体建立的一个集群,也可以为多个个体建立的一个集群。
在具体实施中,为了避免同一个请求消息被多次消费,在步骤12执行完成之后,可以在检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取;也可以在检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息从所述接收消息主题区域移除,从而可以节约***处理资源,并提高***处理效率及稳定性。。
在具体实施中,当所述消息订阅方包括多个个体时,存在将特定的消息发送至指定的消息订阅方中的某一个体的应用需求。为了能使得特定的消息发送至对应的某一个体,在本发明一实施例中,接收所述消息发布方发布的定向消息,所述定向消息包括:消息订阅方接收定向消息主题区域的标识信息;根据所述消息订阅方接收定向消息主题区域的标识信息,将所述定向消息存储在对应的第二接收消息主题区域,以供所述消息订阅方从所述第二接收消息主题区域内获取所述定向消息。
在具体实施中,所述第一接收消息主题区域为所述消息订阅方的公共接收消息主题区域,当所述消息订阅方中包括多个个体时,各个体均可以从所述第一接收消息主题区域中获取请求消息;所述第二接收消息主题区域,为某一个体的专属接收消息主题区域,仅供该个体从中获取所存储的请求消息。
在具体实施中,有时消息发布方发布的定向消息需要消息订阅方进行响应。相应地,所述定向消息还可以包括:回执消息返回标识及返回主题区域的标识信息。所述消息服务器还可以接收所述消息订阅方发布的回执消息,所述回执消息包括返回主题区域的标识信息,根据所述返回主题的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
为了便于本领域技术人员更好的理解和实现本发明,本发明实施例还给出了一种消息服务器。下面结合附图对所述消息服务器进行详细说明。
参照图2,给出了本发明实施例中一种消息服务器的结构示意图。所述消息服务器20可以包括:第一接收单元21、第一存储单元22、第二接收单元23及第二存储单元24,其中:
所述第一接收单元21,适于接收消息发布方发布的请求消息,所述请求消息包括:消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;
所述第一存储单元22,适于根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在订阅方对应的第一接收消息主题区域,以供所述消息订阅方从所述接收消息主题区域内获取所述请求消息;
所述第二接收单元23,适于接收所述消息订阅方发布的回执消息,所述回执消息包括返回主题区域的标识信息;
所述第二存储单元24,适于根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
在具体实施中,所述消息服务器20的工作原理及工作流程,可参见本发明上述实施例中提供的通信方法中描述,此处不再赘述。
参见图3,给出了本发明实施例中一种通信***的结构示意图。所述通信***可以包括:消息发布方A31、消息订阅方B32及消息服务器33,其中:
所述消息发布方A31,适于发布请求消息至所述消息服务器33,所述请求消息包括:所述消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;以及从所述消息服务器33的返回主题区域内获取所述消息订阅方B32发布的回执消息;
所述消息订阅方B32,适于从所述消息服务器33的第一接收消息主题区域获取所述请求消息,根据所述请求消息生成所述回执消息,并发布至所述消息服务器33,所述回执消息包括返回主题区域的标识信息;
所述消息服务器33,适于接收所述消息发布方A31发布的请求消息,根据所述信息订阅方接收消息主题区域的标识信息,将所述请求消息存储在消息订阅方B32对应的第一接收消息主题区域,也即存储在A Topic中,接收所述消息订阅方B32发布的回执消息,根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,所述返回主题区域为B Topic。
在具体实施中,所述消息服务器33可以存在多种类型。例如,可以为kafka消息中间件,也可以为RabbitMQ消息中间件,还可以为RocketMQ消息中间件。可以理解的是,在实际应用中,也可以为其他类型的服务器或者消息中间件。
由上可知,消息发布方生成的请求消息包括消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息,从而可以使得消息订阅方接收到所述请求消息后,按照请求消息中所给出的返回主题的标识信息,将回执消息返回至消息服务器中的返回主题区域。所述消息发布方即可从消息服务器中的返回主题区域中获取所述回执消息,从而采用异步通信***中现有的消息服务器在异步通信的同时还可以实现同步通信,且无须增加独立的同步通信子***,故可以节约研发成本。
在具体实施中,所述消息服务器33可以在检测到所述消息发布方启动时,为所述消息发布方建立对应的返回主题区域。当检测到所述消息订阅方启动时,为所述消息订阅方建立对应的接收消息主题区域。
在具体实施中,所述消息订阅方可以为一个个体,也可以为多个个体组成的集群,参照图4,给出了本发明实施例中另一种通信***的结构示意图。
在上行业务时,所述消息订阅方为多个个体组成的集群,包括B1、B2、……、Bn,n为正整数。所述消息发布方为A1、A2、……、Am,m为正整数。
在下行业务时,所述消息订阅方为多个个体组成的集群,A1、A2、……、Am,m为正整数。所述消息发布方为B1、B2、……、Bn,n为正整数。
在具体实施中,所述请求消息可以被所述消息订阅方中的任意一个个体消费,且仅能被消费一次。
继续参照图3,为了避免同一个请求消息被多次消费,节约***处理资源,并提高***处理效率及稳定性。在本发明一实施例中,当消息服务器33检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取;也可以在检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息从所述接收消息主题区域移除。
在具体实施中,所述消息发布方A31还可以将定向消息发布至消息服务器33。其中,定向消息中包括消息订阅方接收所述定向消息的定向消息主题区域的标识信息。所述消息服务器33根据所述定向消息的定向消息主题区域的标识信息将所述定向消息存储在第二接收消息主题区域。所述消息订阅方B32可以从所述第二接收消息主题区域内消费所述定向消息。
在具体实施中,第一接收消息主题区域为所述消息订阅方B32的公共接收消息主题区域,当所述消息订阅方包括多个个体时,各个个体均可以从所述第一接收消息主题区域中获取请求消息。所述第二接收消息主题区域为某一个体的专属接收消息主题区域,仅供该个体从中获取定向消息。也即是说所述第一接收消息主题区域为群组Topic,消息订阅方内的任意一个个体均可以从群组Topic内消费消息。所述第二接收消息主题区域为私有Topic,私有Topic内的消息仅供私有Topic的所有者消费所存储的消息。
在具体实施中,当所述消息订阅方接收到的定向消息包括回执消息返回标识及返回主题区域的标识信息时,表征所述消息订阅方接收到所述定向消息后,需要反馈回执消息。所述消息订阅方B32,适于在接收到所述定向消息后,生成回执消息,并发送至所述消息服务器33。所述消息服务器33接收到所述回执消息后,根据所述回执消息中的返回主题的标识信息,将所述回执消息存储在对应的返回主题区域。所述消息发布方A31可以从所述返回主题区域中获取所述回执消息。
在具体实施中,本发明实施例提供的方案可以适用于车辆远程控制***中的远程服务器与业务服务器之间的通信,也可以适用于云平台中的通讯服务器以及业务服务器之间的通信,还可以适用于导航***中各后台子***之间的横向通信。可以理解的是,在一些大型***中,各子***之间的通信均可以采用本发明实施例中提供的方案,实现在兼顾异步通信的同时,实现同步通信。
下面参照图4,对本发明实施例提供的通信***进行详细说明。
为便于说明,在上行业务中,消息发布方为A1、A2、……、Am,消息订阅方B为B1、B2、……、Bn的集群(Group)。当消息服务器检测到消息发布方A1、A2、……、Am以及消息订阅方B启动时,自动为消息发布方A1建立A1Topic,用于接收消息发布方A1的回执消息,其中,存放在A1 Topic中的回执消息仅供A1消费。相应地,消息服务器自动分别为消息发布方A2、……、Am建立对应的A2Topic、……、Am Topic。所述消息服务器为消息订阅方B建立BTopic,消息订阅方B中的各个个体B1、B2、……、Bn,均可以从B Topic中消费所存储的请求消息。
当消息发布方Ai将发送给消息订阅方B的请求消息M发送至消息服务器,消息服务器根据请求消息M包括的B Topic的标识信息,将请求消息M存放在B Topic中,消息订阅方B中的各个个体不停的从B Topic中消费消息,当请求消息M被消息订阅方B中的个体B1消费后,消息服务器可以将请求消息M标记为已消费。
当B1消费到请求消息M后,对请求消息M解析,获取到请求消息M中的回执消息返回标识为1,返回主题区域的标识信息为Ai Topic,则请求消息M为一个需要进行响应的请求消息。B1生成与请求消息M对应的回执消息,并将回执消息发布到消息服务器。
在具体实施中,若请求消息中回执消息返回标识为0,则表征该请求消息为非同步消息。可以理解的是,回执消息返回标识可以根据需要进行设定,也可以采用其他的标识进行表征,如采用“2”来表征请求消息需要反馈回执消息。
消息服务器接收到B1发布的回执消息后,根据回执消息中的返回主题区域的标识信息,将回执消息存储在Ai Topic。Ai可以不停的从Ai Topic消费回执消息。
在具体实施中,在下行业务中,消息发布方为B1、B2、……、Bn,消息订阅方为A1、A2、……、Am的集群。当消息服务器检测到消息发布方B1、B2、……、Bn以及消息订阅方A启动时,分别自动为各方建立对应的B1Topic、B2Topic、……、Bn Topic以及A Topic。消息订阅方A中的A1、A2、……、Am均可以从A Topic中消费请求消息。
在具体实施中,通信双方还可以发布定向消息,如B1将定向消息发布至消息服务器,消息服务器根据定向消息中包括Am的定向消息主题区域的标识信息,将定向消息存储在Am Topic中,Am即可从Am Topic中消息所述定向消息。当Am消费的定向消息需要反馈回执消息时,可以将回执消息发布至消息服务器,消息服务器根据回执消息中的返回主题区域的标识信息,将回执消息存储在B1Topic中。B1即可从B1Topic中消费所述回执消息。
在具体实施中,在Am Topic中可能存在定向消息,也可以存在回执消息,还可能存在请求消息。当Am从Am Topic中消费到消息时,可以对消费到的消息与请求列队中的消息进行比对,以判断哪个时请求消息,当为请求消息时,则进行响应,反馈回执消息。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (16)

1.一种通信方法,其特征在于,包括:
接收消息发布方发布的请求消息,所述请求消息包括:消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;
根据所述消息订阅方接收消息主题区域的标识信息,将所述请求消息存储在所述消息订阅方对应的第一接收消息主题区域,以供所述消息订阅方从所述接收消息主题区域内获取所述请求消息;
接收所述消息订阅方发布的回执消息,所述回执消息由所述消息订阅方根据所述请求消息生成,包括返回主题区域的标识信息;
根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
2.根据权利要求1所述的通信方法,其特征在于,所述消息订阅方包括多个个体,所述请求消息适于被所述多个个体中的任意一个个体获取,且仅被获取一次。
3.根据权利要求2所述的通信方法,其特征在于,所述消息订阅方为一个个体或者为多个个体建立的一个集群。
4.根据权利要求3所述的通信方法,其特征在于,将所述请求消息存储在订阅方对应的第一接收消息主题区域之后,还包括执行以下任意一种操作:当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取;
当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息从所述接收消息主题区域移除。
5.根据权利要求1所述的通信方法,其特征在于,还包括:
接收所述消息发布方发布的定向消息,所述定向消息包括:消息订阅方接收定向消息主题区域的标识信息;
根据所述消息订阅方接收定向消息主题区域的标识信息,将所述定向消息存储在对应的第二接收消息主题区域,以供所述消息订阅方从所述第二接收消息主题区域内获取所述定向消息,所述第一接收消息主题区域为所述消息订阅方的公共接收消息主题区域,当所述消息订阅方中包括多个个体时,各个体均能从所述第一接收消息主题区域中获取请求消息;所述第二接收消息主题区域,为某一个体的专属接收消息主题区域,供对应的个体获取所存储的定向消息。
6.根据权利要求5所述的通信方法,其特征在于,所述定向消息还包括:回执消息返回标识及返回主题区域的标识信息;所述通信方法还包括:
接收所述消息订阅方发布的回执消息,所述回执消息包括返回主题区域的标识信息;
根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
7.根据权利要求1所述的通信方法,其特征在于,还包括:
当检测到所述消息发布方启动时,建立所述消息发布方对应的返回主题区域;
当检测到所述消息订阅方启动时,建立所述消息订阅方对应的第一接收消息主题区域。
8.一种消息服务器,其特征在于,包括:第一接收单元、第一存储单元、第二接收单元及第二存储单元,其中:
所述第一接收单元,适于接收消息发布方发布的请求消息,所述请求消息包括:消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;
所述第一存储单元,适于根据所述消息订阅方接收消息主题区域的标识信息,将所述请求消息存储在订阅方对应的第一接收消息主题区域,以供所述消息订阅方从所述接收消息主题区域内获取所述请求消息;
所述第二接收单元,适于接收所述消息订阅方发布的回执消息,所述回执消息包括返回主题区域的标识信息;
所述第二存储单元,适于根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域,以供所述消息发布方获取所述回执消息。
9.一种通信***,其特征在于,包括:消息发布方、消息订阅方及如权利要求8所述的消息服务器,其中:
所述消息发布方,适于发布请求消息至所述消息服务器,所述请求消息包括:所述消息订阅方接收消息主题区域的标识信息、回执消息返回标识及返回主题区域的标识信息;以及从所述消息服务器的返回主题区域内获取所述消息订阅方发布的回执消息;
所述消息订阅方,适于从所述消息服务器的第一接收消息主题区域获取所述请求消息,根据所述请求消息生成所述回执消息,并发布至所述消息服务器,所述回执消息包括返回主题区域的标识信息;
所述消息服务器,适于接收所述消息发布方发布的请求消息,根据所述消息订阅方接收消息主题区域的标识信息,将所述请求消息存储在消息订阅方对应的第一接收消息主题区域,接收所述消息订阅方发布的回执消息,根据所述返回主题区域的标识信息,将所述回执消息存储在对应的返回主题区域。
10.根据权利要求9所述的通信***,其特征在于,所述消息订阅方包括多个个体,所述请求消息适于被所述多个个体中的任意一个个体获取,且仅被获取一次。
11.根据权利要求10所述的通信***,其特征在于,所述消息订阅方为一个个体或者多个个体建立的一个集群。
12.根据权利要求11所述的通信***,其特征在于,所述消息服务器在将所述请求消息存储所述订阅方对应的第一接收消息主题区域之后,还适于执行以下任意一种操作:
当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息的状态标记为已获取;
当检测到所述请求消息被所述消息订阅方中的某一个体获取后,将所述请求消息从所述接收消息主题区域移除。
13.根据权利要求9所述的通信***,其特征在于,所述消息发布方,还适于生成定向消息,并发送至所述消息服务器,所述定向消息包括:消息订阅方接收定向消息主题区域的标识信息;
所述消息服务器,还适于接收所述消息发布方发布的定向消息,并根据所述消息订阅方接收定向消息主题区域的标识信息,将所述定向消息存储在对应的第二接收消息主题区域;
所述消息订阅方,还适于从所述第二接收消息主题区域内获取所述定向消息,所述第一接收消息主题区域为所述消息订阅方的公共接收消息主题区域,当所述消息订阅方中包括多个个体时,各个体均可以从所述第一接收消息主题区域中获取请求消息;所述第二接收消息主题区域,为某一个体的专属接收消息主题区域,供对应的个体获取所存储的定向消息。
14.根据权利要求13所述的通信***,其特征在于,所述定向消息还包括:回执消息返回标识及返回主题区域的标识信息;
所述消息订阅方,还适于根据所述定向消息生成回执消息,并发送至所述消息服务器,所述回执消息包括返回主题区域的标识信息;
所述消息服务器,还适于接收所述消息订阅方发送的回执消息,根据所述返回主题的标识信息,将所述回执消息存储在对应的返回主题区域;
所述消息发布方,还适于从所述消息服务器的返回主题区域获取所述回执消息。
15.根据权利要求9所述的通信***,其特征在于,所述消息服务器,还适于当检测到所述消息发布方启动时,建立所述消息发布方对应的返回主题区域;当检测到所述消息订阅方启动时,建立所述消息订阅方对应的接收消息主题区域。
16.根据权利要求9所述的通信***,其特征在于,所述消息服务器为kafka消息中间件。
CN201611259386.3A 2016-12-30 2016-12-30 通信方法、***及消息服务器 Active CN106603711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611259386.3A CN106603711B (zh) 2016-12-30 2016-12-30 通信方法、***及消息服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611259386.3A CN106603711B (zh) 2016-12-30 2016-12-30 通信方法、***及消息服务器

Publications (2)

Publication Number Publication Date
CN106603711A CN106603711A (zh) 2017-04-26
CN106603711B true CN106603711B (zh) 2020-01-03

Family

ID=58581511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611259386.3A Active CN106603711B (zh) 2016-12-30 2016-12-30 通信方法、***及消息服务器

Country Status (1)

Country Link
CN (1) CN106603711B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026917A (zh) * 2017-06-16 2017-08-08 智者四海(北京)技术有限公司 用于消息推送的方法及***
CN107678866B (zh) * 2017-09-22 2020-02-21 北京东土科技股份有限公司 一种基于嵌入式操作***的分区通信方法及装置
CN108880985A (zh) * 2018-06-01 2018-11-23 安徽八千里科技发展股份有限公司 一种基于电子信息模式下智慧养老***
CN109451072A (zh) * 2018-12-29 2019-03-08 广东电网有限责任公司 一种基于Kafka的消息缓存***和方法
CN111027966B (zh) * 2019-11-07 2023-08-22 中国建设银行股份有限公司 一种业务处理方法和***
CN111405021A (zh) * 2020-03-10 2020-07-10 中国建设银行股份有限公司 一种对等节点的数据传输方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1374598A (zh) * 2001-03-12 2002-10-16 李英元 互动式广告传播的方法与***
CN106161216A (zh) * 2016-08-31 2016-11-23 深圳市精准分众传媒有限公司 推广信息分享跟踪方法与***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725807B2 (en) * 2010-08-04 2014-05-13 International Business Machines Corporation Decentralized data casting in an interest aware peer network
US10992772B2 (en) * 2015-05-01 2021-04-27 Microsoft Technology Licensing, Llc Automatically relating content to people

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1374598A (zh) * 2001-03-12 2002-10-16 李英元 互动式广告传播的方法与***
CN106161216A (zh) * 2016-08-31 2016-11-23 深圳市精准分众传媒有限公司 推广信息分享跟踪方法与***

Also Published As

Publication number Publication date
CN106603711A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106603711B (zh) 通信方法、***及消息服务器
WO2016177285A1 (zh) 一种数据推送方法及装置
CN103095684B (zh) 获取关注用户聚合信息的方法、装置及***
CN102685018B (zh) 一种网络即时通信信息处理的方法、***及即时通信设备
CN101009670A (zh) 一种基于即时通信实现群组通信的方法和***
CN108712457A (zh) 基于Nginx反向代理的后端服务器动态负载调整方法及装置
CN110098979B (zh) 一种基于区块链的短链接消息监听方法及装置
CN107623731B (zh) 一种任务调度方法、客户端、服务集群及***
CN104657841A (zh) 快件投递方法、投递处理方法及快递柜终端和服务***
CN102185801A (zh) 一种即时通讯中的信息处理方法和即时通讯工具
CN103024085A (zh) 一种处理p2p节点请求的***及方法
CN114827171B (zh) 信息同步方法、装置、计算机设备和存储介质
CN110071968B (zh) 一种基于区块链的消息存储方法及装置
CN111460038A (zh) 一种数据准实时同步方法及装置
CN104320463A (zh) 移动终端获取排队信息、排队信息提供方法及装置
CN103248636A (zh) 离线下载的***及方法
CN110839061B (zh) 数据分发方法、装置及存储介质
CN104468248A (zh) 业务性能的监控方法、反向代理服务器、统计分析服务器及***
CN106790354B (zh) 一种防数据拥堵的通信方法及其装置
CN112099864A (zh) 一种异步数据的处理方法及装置
CN102546734B (zh) 数据信息处理***及方法
CN106487637B (zh) 一种应用消息的处理***、方法及应用设备
CN116703071A (zh) 资源共享方法、装置及设备和存储介质
CN113472846B (zh) 消息处理方法、装置、设备和计算机可读存储介质
CN112671636B (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