[发明专利]一种去中心化的消息服务系统有效
申请号: | 201510003611.6 | 申请日: | 2015-01-06 |
公开(公告)号: | CN104618221B | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 程行荣;夏欢;吴超民;游锋锋;杨俊辉 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/08 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
地址: | 361009 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 中心 消息 服务 系统 | ||
1.一种去中心化的消息服务系统,其特征在于:所述消息服务系统为一集群,所述集群内包含复数个服务节点,各服务节点间通过发送消息进行交互;
每个所述服务节点由一集群节点管理模块、一消息发送端模块、一消息路由模块、一消息编码模块、一消息解码模块、一消息分发模块以及至少一消息处理器模块组成;
所述集群节点管理模块负责跟踪和维护集群中所有服务节点的基本信息和服务状态信息,其及时侦测到集群中服务节点的添加、删除或服务状态改变,并且更新其中缓存的数据,所述集群节点管理模块还为消息路由模块中消息的发送对象提供决策数据;
所述消息发送端模块是服务节点内部向集群中其他服务节点发送消息的统一的接口端,服务节点对外发出的消息都是通过调用消息发送端模块来发送的;
所述消息路由模块:在所述消息发送模块接收到消息后,由消息路由模块决定该消息发往集群中的一个或多个服务节点,消息路由模块对消息路由决策依赖所述集群节点管理模块提供的数据;
所述消息编码模块:消息编码模块对待发送的消息进行编程成二进制数据流,通过传输层模块进行传输;
所述传输层模块负责与其它服务节点的连接建立和维护,以及服务节点间数据发送和接收;
所述消息解码模块对传输层接收到的二进制数据流进行解码,得到具体的消息;
所述消息分发模块对接收到的消息进行判断,判断该消息该发送至服务节点内的哪一个消息处理器模块进行处理;
所述消息处理器模块负责对接收到的消息进行处理,各所述消息处理器模块处理至少一种类型的消息,所述消息处理器模块将接收到的消息处理完毕后,调用所述消息发送端模块将处理后得到的结果发送出去。
2.根据权利要求1所述的一种去中心化的消息服务系统,其特征在于:所述服务节点的基本信息包括:集群ID、节点ID、服务名称和服务地址,
所述集群ID:同一个消息服务系统中的每一个服务节点的集群ID相同,用于标识服务节点所属的集群;
所述节点ID:用于唯一标识集群中的一个服务节点,同一个消息服务系统中的每一个服务节点的节点ID必须唯一;
所述服务名称用于标识每个服务节点所能提供的服务;每一种服务至少由一个服务节点提供;
服务地址:各服务节点的服务地址是对集群内其他服务节点提供的访问方式,各服务节点间通过服务地址相互通信和交互。
3.根据权利要求1所述的一种去中心化的消息服务系统,其特征在于:任意两所述服务节点之间进行消息交互,定义其中一服务节点为服务节点A,另一服务节点为服务节点B,其交互过程如下:
步骤1、服务节点A通过所述消息发送端模块将消息发送出去;
步骤2、服务节点A的消息路由模块根据消息的属性和集群节点管理模块提供的集群内所有服务节点的基础信息和服务状态信息,得出结论该消息应该发往服务节点B;
步骤3、服务节点A的消息编码模块将待发送的消息编码成二进制数据流,并且通过传输层模块发往服务节点B;
步骤4、服务节点B的传输层模块接收到来自服务节点A的二进制数据流;
步骤5、服务节点B的消息解码模块将接收到的二进制数据流解码成消息对象;
步骤6、服务节点B的消息分发模块将接收到的消息根据消息类型决定将消息发往与该消息类型相匹配的消息处理器模块进行处理;
步骤7、服务节点B的消息处理器模块将接收到的消息处理完毕之后,将处理后的结果通过消息发送端模块发出;
步骤8、服务节点B将结果消息发往服务节点A的过程与消息从服务节点A发往服务节点B的步骤同理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510003611.6/1.html,转载请声明来源钻瓜专利网。