CN106059953A - 消息路由的方法、装置及系统 - Google Patents

消息路由的方法、装置及系统 Download PDF

Info

Publication number
CN106059953A
CN106059953A CN201610302702.4A CN201610302702A CN106059953A CN 106059953 A CN106059953 A CN 106059953A CN 201610302702 A CN201610302702 A CN 201610302702A CN 106059953 A CN106059953 A CN 106059953A
Authority
CN
China
Prior art keywords
message
application program
subscribing relationship
message identifier
broadcast
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.)
Pending
Application number
CN201610302702.4A
Other languages
English (en)
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.)
LeTV Holding Beijing Co Ltd
LeTV Information Technology Beijing Co Ltd
Original Assignee
LeTV Holding Beijing Co Ltd
LeTV Information Technology Beijing 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 LeTV Holding Beijing Co Ltd, LeTV Information Technology Beijing Co Ltd filed Critical LeTV Holding Beijing Co Ltd
Priority to CN201610302702.4A priority Critical patent/CN106059953A/zh
Publication of CN106059953A publication Critical patent/CN106059953A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种消息路由的方法、装置及系统,所述方法包括:接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。本发明实施例提供的消息路由的方法、装置及系统,通过根据订阅消息的请求生成应用程序标识与消息标识的订阅关系,根据所述订阅关系将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序的方式自动调整消息路由的转发规则,避免了人工调整转发规则带来的较高的运维成本,提高了系统的可扩展性。

Description

消息路由的方法、装置及系统
技术领域
本发明实施例涉及网络通信技术领域,尤其涉及一种消息路由的方法、装置及系统。
背景技术
分布式系统由多个应用程序组成,各个应用程序之间大多都是通过RPC(RemoteProcedure Call Protocol,远程过程调用协议)进行消息通信,在复杂的系统架构中,通常通过一专门负责消息路由的中间件(消息路由器)来为各程序转发消息,以使每个程序只需和消息路由器进行通信即可。
现有技术方案中,消息路由器一般通过按照预先设置好的转发规则转发消息的方式来实现消息路由。
上述消息路由方法的转发规则都是通过人工设置的,每次转发规则有变更的时候,都需要人工干预消息路由器以调整转发规则,这不仅造成很大的运维成本,而且系统可扩展性也比较差。
发明内容
本发明实施例提供一种消息路由的方法、装置及系统,用以解决现有技术中需要人工调整转发规则的缺陷。
本发明实施例提供一种消息路由的方法,包括:
接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。
本发明实施例提供一种消息路由的装置,包括:
接收模块,用于接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
处理模块,用于根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
发送模块,用于根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。
本发明实施例提供一种消息路由的系统,包括上述消息路由的装置。
本发明实施例提供的消息路由的方法、装置及系统,通过根据订阅消息的请求生成应用程序标识与消息标识的订阅关系,根据所述订阅关系将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序的方式自动调整消息路由的转发规则,避免了人工调整转发规则带来的较高的运维成本,提高了系统的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的消息路由的方法流程图;
图2为本发明实施例2提供的消息路由的方法流程图;
图3为本发明实施例提供的取消消息路由的方法流程图;
图4为本发明实施例提供的另一取消消息路由的方法流程图;
图5为本发明实施例3提供的消息路由的装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参见图1,本发明实施例提供了一种消息路由的方法,包括:
步骤101:接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
具体地,消息路由基于TCP协议实现;应用程序通过一服务端口与消息路由器建立TCP连接,每一个连接均对应分配一个session(会话ID,即应用程序标识),用来代表一个应用程序;消息标识可以包括消息类型、消息内容、消息时间等标识,可以通过定义一个通用的消息协议格式的方式来获得,例如,通过协议头来标识消息类型(msgType),程序间通信须遵守此协议;消息路由器通过监听一服务端口(例如80)来接收每个session代表的应用程序发送来的订阅消息的请求,所述订阅消息的请求包括消息标识,假设所述消息标识为通过协议头标识的消息类型标识,一个应用程序可以同时订阅多个消息类型标识对应的多个消息。
步骤102:根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
消息路由器维护一个动态的消息路由表(订阅关系表),即消息路由器根据网络系统的运行情况而自动调整路由表,消息路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径;所述动态的消息路由表由消息路由器根据session对应的应用程序发送的订阅消息的请求确定,例如,表1为应用程序标识与消息标识的订阅关系表,如表1所示应用程序标识为session-app1的应用程序发送了对消息标识为msgType-ABC的消息的订阅请求,生成msgType-ABC与session-app1的订阅关系,即在所述动态路由表中生成msgType-ABC转发至session-app1的规则;应用程序标识分别为session-app2、session-app4的两个应用程序分别发送了对消息标识为msgType-BCD的消息的订阅请求,生成msgType-BCD与session-app2、session-app4的订阅关系,即在所述动态路由表中生成msgType-BCD转发至session-app2、session-app4的规则;应用程序标识分别为session-app3、session-app4、session-app5的三个应用程序分别发送了对消息标识为msgType-BDF的消息的订阅请求,生成msgType-BDF与session-app3、session-app4、session-app5的订阅关系,即在所述动态路由表中生成msgType-BDF转发至session-app3、session-app4、session-app5的规则;应用程序标识为session-app5的应用程序发送了对消息标识为msgType-CDF的消息的订阅请求时,生成msgType-CDF与session-app5的订阅关系,即在所述动态路由表中生成msgType-CDF转发至session-app5的规则;表1所述的订阅关系表根据应用程序订阅消息的请求实时调整。
表1应用程序标识与消息标识的订阅关系表:
应用程序标识 消息标识
session-app1 msgType-ABC
session-app2、session-app4 msgType-BCD
session-app3、session-app4、session-app5 msgType-BDF
session-app5 msgType-CDF
步骤103:根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。
具体地,例如表1所示,将消息标识为msgType-ABC的消息发送给应用程序标识为session-app1的应用程序;将消息标识为msgType-BCD的消息发送给应用程序标识为session-app2的应用程序以及应用程序标识为session-app4的应用程序;将消息标识为msgType-BDF的消息发送给应用程序标识为session-app3的应用程序、应用程序标识为session-app4的应用程序以及应用程序标识为session-app5的应用程序;将消息标识为msgType-CDF的消息发送给应用程序标识为session-app5的应用程序;表1中各字母、符号仅用于标注不同的应用程序标识或消息标识,并不用于限定应用程序标识或消息标识;
为达到负载均衡,当所述订阅关系包括多个所述应用程序标识与一个所述消息标识的订阅关系,所述方法还包括:根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序;例如表1所示,应用程序标识分别为session-app3、session-app4、session-app5的三个应用程序分别发送了对消息标识为msgType-BDF的消息的订阅请求,生成msgType-BDF与session-app3、session-app4、session-app5的订阅关系,此时,将msgType-BDF对应的消息轮训分发给session-app3对应的应用程序、session-app4对应的应用程序以及session-app5对应的应用程序。
本发明实施例提供的消息路由的方法,通过根据订阅消息的请求生成应用程序标识与消息标识的订阅关系,根据所述订阅关系将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序的方式自动调整消息路由的转发规则,避免了人工调整转发规则带来的较高的运维成本,提高了系统的可扩展性。
实施例2
参见图2,本发明实施例提供了一种消息路由的方法,包括:
步骤201:接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
具体地,消息路由基于TCP协议实现;应用程序通过一服务端口与消息路由器建立TCP连接,每一个连接均对应分配一个session(会话ID,即应用程序标识),用来代表一个应用程序;消息标识可以包括消息类型、消息内容、消息时间等标识,可以通过定义一个通用的消息协议格式的方式来获得,例如,通过协议头来标识消息类型(msgType),程序间通信须遵守此协议;消息路由器通过监听一服务端口(例如80)来接收每个session代表的应用程序发送来的订阅消息的请求,所述订阅消息的请求包括消息标识,假设所述消息标识为通过协议头标识的消息类型标识,一个应用程序可以同时订阅多个消息类型标识对应的多个消息。
步骤202:根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
消息路由器维护一个动态的消息路由表(订阅关系表),即消息路由器根据网络系统的运行情况而自动调整路由表,消息路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径;所述动态的消息路由表由消息路由器根据session对应的应用程序发送的订阅消息的请求确定,例如,表1为应用程序标识与消息标识的订阅关系表,如表1所示应用程序标识为session-app1的应用程序发送了对消息标识为msgType-ABC的消息的订阅请求,生成msgType-ABC与session-app1的订阅关系,即在所述动态路由表中生成msgType-ABC转发至session-app1的规则;应用程序标识分别为session-app2、session-app4的两个应用程序分别发送了对消息标识为msgType-BCD的消息的订阅请求,生成msgType-BCD与session-app2、session-app4的订阅关系,即在所述动态路由表中生成msgType-BCD转发至session-app2、session-app4的规则;应用程序标识分别为session-app3、session-app4、session-app5的三个应用程序分别发送了对消息标识为msgType-BDF的消息的订阅请求,生成msgType-BDF与session-app3、session-app4、session-app5的订阅关系,即在所述动态路由表中生成msgType-BDF转发至session-app3、session-app4、session-app5的规则;应用程序标识为session-app5的应用程序发送了对消息标识为msgType-CDF的消息的订阅请求时,生成msgType-CDF与session-app5的订阅关系,即在所述动态路由表中生成msgType-CDF转发至session-app5的规则;表1所述的订阅关系表根据应用程序订阅消息的请求实时调整。
步骤203:接收应用程序的广播消息,所述广播消息包括所述消息标识;
具体地,系统中的每个应用程序均有权限向消息路由器广播消息,消息路由器通过监听一服务端口(例如80)来接收每个session代表的应用程序的广播消息,所述广播消息包括消息标识,所述消息标识例如通过协议头标识的消息类型标识,本发明不做限定;
通常消息路由器都是单向工作的,例如主动向程序B转发程序A的消息,而程序B只接收消息并回复应答,并不能主动通过所述消息路由器向程序A发送消息;通过应用程序向消息路由器广播消息,使消息路由器能够获得各应用程序的广播消息,进而从中筛选有用的消息分发给有需要的其他应用程序,实现了多向的消息分发,增加了系统的灵活性,并且应用程序只需要和消息路由器通信,降低了系统的耦合性,增强了系统的可扩展性。
步骤204:查询所述订阅关系,判断所述订阅关系中是否包括所述广播消息的消息标识对应的订阅关系;
具体地,查询步骤202中生成的订阅关系,例如,参见表1,消息路由器接收到应用程序标识为session-app2的应用程序的广播消息,所述广播消息的消息标识为msgType-ABC,根据表1可知消息标识msgType-ABC与应用程序标识为session-app1存在订阅关系,则确定所述订阅关系中包括所述广播消息的消息标识对应的订阅关系;消息路由器接收到应用程序标识为session-app3的应用程序的广播消息,所述广播消息的消息标识为msgType-LMN,根据表1可知,消息标识msgType-LMN不与任何应用程序标识存在订阅关系,即确定所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系;
当所述订阅关系中包括所述广播消息的消息标识对应的订阅关系时,进行步骤205,当所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系时,进行步骤206;
步骤205:当所述订阅关系中包括所述广播消息的消息标识对应的订阅关系时,则根据所述广播消息的消息标识对应的订阅关系,将所述广播消息的消息标识对应的所述广播消息发送给所述应用程序标识对应的应用程序;
具体地,例如表1所示,将消息标识为msgType-ABC的消息发送给应用程序标识为session-app1的应用程序;将消息标识为msgType-BCD的消息发送给应用程序标识为session-app2的应用程序以及应用程序标识为session-app4的应用程序;将消息标识为msgType-BDF的消息发送给应用程序标识为session-app3的应用程序、应用程序标识为session-app4的应用程序以及应用程序标识为session-app5的应用程序;将消息标识为msgType-CDF的消息发送给应用程序标识为session-app5的应用程序;
为达到负载均衡,当所述订阅关系包括多个所述应用程序标识与一个所述消息标识的订阅关系,所述方法还包括:根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序;例如表1所示,应用程序标识分别为session-app3、session-app4、session-app5的三个应用程序分别发送了对消息标识为msgType-BDF的消息的订阅请求,生成msgType-BDF与session-app3、session-app4、session-app5的订阅关系,此时,将msgType-BDF对应的消息轮训分发给session-app3对应的应用程序、session-app4对应的应用程序以及session-app5对应的应用程序。
步骤206:当所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系时,丢弃所述广播消息的消息标识对应的所述广播消息。
具体的,例如消息路由器接收到应用程序标识为session-app3的应用程序的广播消息,所述广播消息的消息标识为msgType-LMN,根据表1可知,消息标识msgType-LMN不与任何应用程序标识存在订阅关系,即确定所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系,则丢弃消息标识msgType-LMN对应的广播消息。
当接收到应用程序的订阅(SUB)消息的请求时,新的订阅关系(转发规则)自动生成添加至订阅关系表(动态路由表)中,当应用程序不需要通过消息路由器转发消息时,参见图3,取消消息路由的方法如下:
步骤301:接收带有应用程序标识的应用程序发送的取消订阅的请求,所述取消订阅的请求包括取消订阅的消息标识;
消息路由器通过监听一服务端口(例如80)来接收每个session的应用程序发送来的取消订阅的请求;
步骤302:根据所述取消订阅的请求,取消所述应用程序的应用程序标识与所述取消订阅的消息标识的订阅关系。
具体地,例如收到应用程序标识为session-app1的应用程序发送的取消订阅的请求,所述取消订阅的请求包括取消订阅的消息标识msgType-ABC,则取消session-app1与ABC的订阅关系(即将msgType-ABC转发至session-app1从路由表中删除);参见表1,例如接收到应用程序标识session-app4发送的取消订阅的请求,所述取消订阅的请求包括取消订阅的消息标识msgType-BCD,则取消session-app4与msgType-BCD的订阅关系,但此时session-app4对应的其他订阅关系,例如表1所示的与msgType-BDF的订阅关系依然存在;因此,应用程序既可以通过发送取消订阅的请求来取消所有消息路由,又可以有选择性的取消部分订阅消息的消息路由。
参见图4,取消消息路由的方法还可以包括:
步骤401:接收带有应用程序标识的应用程序的连接信号;
具体地,应用程序与消息路由器通过TCP连接,所述连接信号包括TCP连接信号;
步骤402:当接收不到所述连接信号时,取消所述应用程序标识对应的所述订阅关系。
当应用程序与消息路由器的TCP连接断开时,取消所述应用程序标识对应的所有订阅关系;例如,参见表1,当接收不到应用程序标识session-app4对应的应用程序与路由器的连接信号,即应用程序与消息路由器的TCP连接断开时,取消session-app4与所有消息标识的订阅关系,如表1所示,取消session-app4与msgType-BCD、msgType-BDF的订阅关系。
本发明实施例提供的消息路由的方法,通过根据订阅消息的请求生成应用程序标识与消息标识的订阅关系,根据所述订阅关系将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序的方式自动调整消息路由的转发规则,避免了人工调整转发规则带来的较高的运维成本,提高了系统的可扩展性;根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序,达到了负载均衡;通过应用程序向消息路由器广播消息,使消息路由器能够获得各应用程序的广播消息,进而从中筛选有用的消息分发给有需要的其他应用程序,实现了多向的消息分发,增加了系统的灵活性,并且应用程序只需要和消息路由器通信,降低了系统的耦合性,增强了系统的可扩展性;通过增加取消消息路由的方法,及时取消无效的消息路由,提高了系统资源利用率。
实施例3
参见图5,本发明实施例提供了一种消息路由的装置,包括:
接收模块10,用于接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
具体地,消息路由基于TCP协议实现;应用程序通过一服务端口与接收模块10建立TCP连接,每一个连接均对应分配一个session(会话ID,即应用程序标识),用来代表一个应用程序;消息标识可以包括消息类型、消息内容、消息时间等标识,可以通过定义一个通用的消息协议格式的方式来获得,例如,通过协议头来标识消息类型(msgType),程序间通信须遵守此协议;
处理模块20,用于根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
具体地,例如,表1为应用程序标识与消息标识的订阅关系表,如表1所示应用程序标识为session-app1的应用程序发送了对消息标识为msgType-ABC的消息的订阅请求,生成msgType-ABC与session-app1的订阅关系,即msgType-ABC转发至session-app1;应用程序标识分别为session-app2、session-app4的两个应用程序分别发送了对消息标识为msgType-BCD的消息的订阅请求,生成msgType-BCD与session-app2、session-app4的订阅关系,即msgType-BCD转发至session-app2、session-app4;应用程序标识分别为session-app3、session-app4、session-app5的三个应用程序分别发送了对消息标识为msgType-BDF的消息的订阅请求,生成msgType-BDF与session-app3、session-app4、session-app5的订阅关系,即msgType-BDF转发至session-app3、session-app4、session-app5;应用程序标识为session-app5的应用程序发送了对消息标识为msgType-CDF的消息的订阅请求时,生成msgType-CDF与session-app5的订阅关系,即msgType-CDF转发至session-app5;表1所述的订阅关系表由处理模块20根据应用程序订阅消息的请求实时调整。
发送模块30,用于根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。
具体地,例如表1所示,发送模块30将消息标识为msgType-ABC的消息发送给应用程序标识为session-app1的应用程序;将消息标识为msgType-BCD的消息发送给应用程序标识为session-app2的应用程序以及应用程序标识为session-app4的应用程序;将消息标识为msgType-BDF的消息发送给应用程序标识为session-app3的应用程序、应用程序标识为session-app4的应用程序以及应用程序标识为session-app5的应用程序;将消息标识为msgType-CDF的消息发送给应用程序标识为session-app5的应用程序;
为达到负载均衡,当所述订阅关系包括多个所述应用程序标识与一个所述消息标识的订阅关系,发送模块30用于根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序;例如表1所示,应用程序标识分别为session-app3、session-app4、session-app5的三个应用程序分别发送了对消息标识为msgType-BDF的消息的订阅请求,生成msgType-BDF与session-app3、session-app4、session-app5的订阅关系,此时,发送模块30将msgType-BDF对应的消息轮训分发给session-app3对应的应用程序、session-app4对应的应用程序以及session-app5对应的应用程序。
进一步地,接收模块10还用于接收应用程序的广播消息,所述广播消息包括消息标识;
本发明实施例提供的消息路由装置还包括:
判断模块40,用于查询所述订阅关系,判断所述订阅关系中是否包括所述广播消息的消息标识对应的订阅关系;
发送模块30,还用于当所述订阅关系中包括所述广播消息的消息标识对应的订阅关系时,则根据所述广播消息的消息标识对应的订阅关系,将所述广播消息的消息标识对应的所述广播消息发送给所述应用程序标识对应的应用程序;
处理模块20,还用于当所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系时,丢弃所述广播消息的消息标识对应的所述广播消息。
进一步地,接收模块10,还用于接收带有应用程序标识的应用程序发送的取消订阅的请求,所述取消订阅的请求包括取消订阅的消息标识;
处理模块20,还用于根据所述取消订阅的请求,取消所述应用程序的应用程序标识与所述取消订阅的消息标识的订阅关系。
接收模块10,还用于接收带有应用程序标识的应用程序的连接信号;
处理模块20,还用于当接收不到所述连接信号时,取消所述应用程序标识对应的所述订阅关系。
本发明实施例提供的消息路由的装置,通过处理模块20根据订阅消息的请求生成应用程序标识与消息标识的订阅关系,由发送模块30根据所述订阅关系将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序的方式自动调整消息路由的转发规则,避免了人工调整转发规则带来的较高的运维成本,提高了系统的可扩展性;发送模块20根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序,达到了负载均衡;通过接收模块10接收应用程序的广播消息,进而使处理模块20从中筛选有用的消息由发送模块30分发给有需要的其他应用程序,实现了多向的消息分发,增加了系统的灵活性,并且应用程序只需要和消息路由器通信,降低了系统的耦合性,增强了系统的可扩展性;通过增加取消消息路由的方法,及时取消无效的消息路由,提高了系统资源利用率。
实施例4
本发明实施例提供了一种消息路由的系统,包括应用程序,及与所述应用程序通信的消息路由装置,所述消息路由装置如实施例3所述。
本发明实施例提供的消息路由的系统通过使用实施例3提供的消息路由装置,具有实施例3的技术效果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (13)

1.一种消息路由的方法,其特征在于,包括:
接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收应用程序的广播消息,所述广播消息包括消息标识。
3.根据权利要求2所述的方法,其特征在于,还包括:
查询所述订阅关系,判断所述订阅关系中是否包括所述广播消息的消息标识对应的订阅关系;
当所述订阅关系中包括所述广播消息的消息标识对应的订阅关系时,则根据所述广播消息的消息标识对应的订阅关系,将所述广播消息的消息标识对应的所述广播消息发送给所述应用程序标识对应的应用程序;
当所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系时,丢弃所述广播消息的消息标识对应的所述广播消息。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
接收带有应用程序标识的应用程序发送的取消订阅的请求,所述取消订阅的请求包括取消订阅的消息标识;
根据所述取消订阅的请求,取消所述应用程序的应用程序标识与所述取消订阅的消息标识的订阅关系。
5.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
接收带有应用程序标识的应用程序的连接信号;
当接收不到所述连接信号时,取消所述应用程序标识对应的所述订阅关系。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述订阅关系包括多个所述应用程序标识与一个所述消息标识的订阅关系,所述方法还包括:
根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序。
7.一种消息路由的装置,其特征在于,包括:
接收模块,用于接收带有应用程序标识的应用程序发送的订阅消息的请求,所述订阅消息的请求包括消息标识;
处理模块,用于根据所述订阅消息的请求,生成所述应用程序标识与所述消息标识的订阅关系;
发送模块,用于根据所述订阅关系,将所述消息标识对应的消息发送给所述应用程序标识对应的应用程序。
8.根据权利要求7所述的装置,其特征在于,还包括:
所述接收模块,还用于接收应用程序的广播消息,所述广播消息包括消息标识。
9.根据权利要求8所述的装置,其特征在于,还包括:
判断模块,用于查询所述订阅关系,判断所述订阅关系中是否包括所述广播消息的消息标识对应的订阅关系;
所述发送模块,还用于当所述订阅关系中包括所述广播消息的消息标识对应的订阅关系时,则根据所述广播消息的消息标识对应的订阅关系,将所述广播消息的消息标识对应的所述广播消息发送给所述应用程序标识对应的应用程序;
所述处理模块,还用于当所述订阅关系中不包括所述广播消息的消息标识对应的订阅关系时,丢弃所述广播消息的消息标识对应的所述广播消息。
10.根据权利要求7-9任一项所述的装置,其特征在于,还包括:
所述接收模块,还用于接收带有应用程序标识的应用程序发送的取消订阅的请求,所述取消订阅的请求包括取消订阅的消息标识;
所述处理模块,还用于根据所述取消订阅的请求,取消所述应用程序的应用程序标识与所述取消订阅的消息标识的订阅关系。
11.根据权利要求7-9任一项所述的装置,其特征在于,还包括:
所述接收模块,还用于接收带有应用程序标识的应用程序的连接信号;
所述处理模块,还用于当接收不到所述连接信号时,取消所述应用程序标识对应的所述订阅关系。
12.根据权利要求7-9任一项所述的装置,其特征在于,所述订阅关系包括多个所述应用程序标识与一个所述消息标识的订阅关系,所述发送模块,用于根据所述订阅关系,将所述消息标识对应的消息轮训发送给多个所述应用程序标识对应的多个应用程序。
13.一种消息路由的系统,其特征在于,包括权利要求7-12任一项权利要求所述的消息路由的装置。
CN201610302702.4A 2016-05-09 2016-05-09 消息路由的方法、装置及系统 Pending CN106059953A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610302702.4A CN106059953A (zh) 2016-05-09 2016-05-09 消息路由的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610302702.4A CN106059953A (zh) 2016-05-09 2016-05-09 消息路由的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106059953A true CN106059953A (zh) 2016-10-26

Family

ID=57176785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610302702.4A Pending CN106059953A (zh) 2016-05-09 2016-05-09 消息路由的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106059953A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770034A (zh) * 2016-08-16 2018-03-06 中国移动通信有限公司研究院 一种消息处理方法及装置
CN113271337A (zh) * 2021-04-22 2021-08-17 洛阳青鸟网络科技有限公司 一种计算机消息订阅方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159710A (zh) * 2007-11-06 2008-04-09 中国科学院计算技术研究所 面向服务的架构下服务组合的搜索方法和系统
CN102469032A (zh) * 2010-10-29 2012-05-23 国际商业机器公司 发布-订阅消息传递的方法和系统
CN102480417A (zh) * 2010-11-29 2012-05-30 北京中和威软件有限公司 一种企业服务总线中的动态消息路由方法及装置
CN102710545A (zh) * 2012-05-23 2012-10-03 成都三零凯天通信实业有限公司 一种支持订阅分发机制的通信方法及系统
US20140161129A1 (en) * 2010-02-02 2014-06-12 Microsoft Corporation Message Transport System Using Publication and Subscription Mechanisms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159710A (zh) * 2007-11-06 2008-04-09 中国科学院计算技术研究所 面向服务的架构下服务组合的搜索方法和系统
US20140161129A1 (en) * 2010-02-02 2014-06-12 Microsoft Corporation Message Transport System Using Publication and Subscription Mechanisms
CN102469032A (zh) * 2010-10-29 2012-05-23 国际商业机器公司 发布-订阅消息传递的方法和系统
CN102480417A (zh) * 2010-11-29 2012-05-30 北京中和威软件有限公司 一种企业服务总线中的动态消息路由方法及装置
CN102710545A (zh) * 2012-05-23 2012-10-03 成都三零凯天通信实业有限公司 一种支持订阅分发机制的通信方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770034A (zh) * 2016-08-16 2018-03-06 中国移动通信有限公司研究院 一种消息处理方法及装置
CN113271337A (zh) * 2021-04-22 2021-08-17 洛阳青鸟网络科技有限公司 一种计算机消息订阅方法和装置
CN113271337B (zh) * 2021-04-22 2023-08-18 深圳蓝蛙网络技术有限公司 一种计算机消息订阅方法和装置

Similar Documents

Publication Publication Date Title
CN104243337B (zh) 一种跨集群负载均衡的方法及装置
CN103916311B (zh) 一种信息传输控制方法,装置及系统
CN106303586A (zh) 一种网络直播的方法、主播端设备、观众端设备
CN105099898B (zh) 一种pppoe报文转发方法以及bras服务器
CN104883618B (zh) 直播节目试看方法、装置及系统
CN106303657A (zh) 一种连麦直播的方法及主播端设备
CN101702689B (zh) 组播业务数据负载均衡的传输控制方法及传输控制设备
CN106453136A (zh) 建立消息队列的方法和装置
CN105337973B (zh) 消息交互方法及其系统
CN113300955B (zh) 内容分发网络中节点间路径确定方法、系统及设备
US7509389B1 (en) System for providing transparent participation of third parties in instant messaging communication
CN111803925B (zh) 云游戏的转发服务器的调度方法、装置及可读存储介质
CN105939291A (zh) 报文处理方法和网络设备
CN108170285A (zh) 一种电子设备的交互控制方法及装置
CN106059945A (zh) 一种流量控制方法及视频监控系统
AU2010277680B2 (en) Method and system for automatic selection of transmission media
CN107547346A (zh) 一种报文传输方法和装置
CN106059953A (zh) 消息路由的方法、装置及系统
CN107528781A (zh) 组播报文的转发方法及装置、路由器
CN106100986A (zh) 通信链路控制方法及装置
CN106656760A (zh) 一种基于消息队列的消息传递方法及系统
CN107682410A (zh) 一种分布式sdn控制器集群的控制方法及装置
CN108234358A (zh) 一种组播报文传输方法、装置及机器可读存储介质
CN103944892B (zh) 一种动态虚拟局域网注册方法和设备
CN108293052A (zh) 通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161026

WD01 Invention patent application deemed withdrawn after publication