[发明专利]一种面向微服务治理的数据发布-订阅方法和系统有效
申请号: | 202011578199.8 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112751916B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 黄涛;唐震;王伟;魏峻;李慧;张舒扬;宋傲 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L67/10 | 分类号: | H04L67/10;H04L67/1001;G06F9/50;H04L67/63;H04L67/141 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 微服 治理 数据 发布 订阅 方法 系统 | ||
1.一种面向微服务治理的数据发布-订阅方法,其特征在于,包括以下步骤:
数据发布服务器集群进行初始化,启动数据发布-订阅服务,同时建立集群内部的网络通信连接;
客户端集群根据其订阅的主题计算出需要请求的数据发布服务器节点的地址,向其发送数据订阅请求;
客户端需要向某一个主题发布数据时,将待发布数据封装至数据发布请求中,并将该数据发布请求发送至数据发布服务器集群的任意一个节点,该任意一个节点从该数据发布请求中解析出待发布数据并将其转发至计算出的数据发布服务器节点;
所述计算出的数据发布服务器节点将接收到的数据连同客户端转发地址列表发送至订阅该数据所属主题的某一个客户端;
该某一个客户端收到数据及客户端转发地址列表后,将接收到的数据存入本地存储系统并开始协助数据发布服务器节点进行消息转发,转发的目标地址即为客户端转发地址列表内的所有地址。
2.根据权利要求1所述的方法,其特征在于,所述数据发布服务器集群内部的网络通信连接为持久化的长连接,当且仅当在集群初始化时建立,在集群停止服务时断开。
3.根据权利要求1所述的方法,其特征在于,所述的客户端集群根据其订阅的主题计算出需要请求的数据发布服务器节点的地址,是基于散列值计算出承接发布任务的数据发布服务器节点的地址。
4.根据权利要求1所述的方法,其特征在于,所述客户端转发地址列表由数据发布服务器节点上订阅相同主题的所有客户端地址组成。
5.根据权利要求1所述的方法,其特征在于,采取以下步骤保证数据发布的可靠性:
(1)对于数据发布服务器节点直接发送消息的客户端,客户端在成功收到消息后,向数据发布服务器节点上报自身状态,即向数据发布服务器节点发送响应信息;
(2)对于经由客户端协助转发后收到消息的客户端节点,成功收到消息后将自身状态上报至这次转发操作的源客户端节点,源客户端节点在汇总转发操作的发送情况后,将这次转发失败的节点地址列表上报至数据发布服务器节点;
(3)当数据发布服务器节点未能成功收到步骤(1)中的状态上报请求时,数据发布服务器节点进行消息重发,当重发达到最大限度后,停止重发并记录日志,通知系统运维人员进行问题排查;
(4)当数据发布服务器节点成功收到步骤(1)的状态上报请求,但收到了步骤(2)中上报的转发失败的节点地址列表时,数据发布服务器节点直接进行重发,不进行转发操作。
6.一种采用权利要求1~5中任一权利要求所述方法的面向微服务治理的数据发布-订阅系统,其特征在于,包括:
数据发布-订阅主题管理模块,用以管理数据发布服务器及客户端的发布-订阅状态,同时记录主题与订阅该主题的客户端地址列表的映射关系,用于生成客户端转发地址列表;网络通信及连接管理模块,用以将数据通过网络发送至数据发布服务器集群内部以及客户端节点,同时用于客户端节点之间的消息转发操作;
散列值计算模块,用以根据数据发布服务器集群当前的节点状态计算全局唯一的散列值,该散列值为客户端的订阅及发布请求映射至具体服务器节点的依据。
7.根据权利要求6所述的系统,其特征在于,还包括容错及可靠性保障模块,用以保障数据发布-订阅的可靠性。
8.根据权利要求6或7所述的系统,其特征在于,还包括性能实验及性能分析模块,用于辅助验证整个系统的正确性,同时能够通过对日志的分析,收集整个系统的性能指标,用于支撑系统的其他功能性和非功能性需求的后续迭代。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011578199.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置