[发明专利]一种分布式系统在线更新的方法在审
申请号: | 201710980727.4 | 申请日: | 2017-10-19 |
公开(公告)号: | CN107835232A | 公开(公告)日: | 2018-03-23 |
发明(设计)人: | 王胜;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/24 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙)11350 | 代理人: | 汤东凤 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 在线 更新 方法 | ||
技术领域
本发明涉及系统更新技术领域,特别是指一种分布式系统在线更新的方法。
背景技术
随着互联网的发展,各种应用在用户生活中的比重越来越重。而应用的需求和问题是层出不穷的,所以更新应用就成了必不可少的过程。传统的更新一般都需要中断服务,在用户量比较少的深夜时间段去更新。这种更新方式会带来以下问题:
1.花费通知用户更新的成本,影响部分用户体验;
2.加大相关运维人员的工作量;
3.服务优化一般要积累到一定程度才更新,缺乏实时性。
而在线更新可以在不影响用户使用的情况下,及时迅速的更新服务,减少运维人员的工作量。
发明内容
本发明解决的技术问题是提供了一种基于RMI和ZooKeeper的分布式系统在线更新的方法,解决传统服务更新的不足,让系统服务更新更加迅速及时和有效率。
本发明解决上述技术问题的技术方案是:
包括如下步骤:
步骤1:选择需要更新的系统服务模块;
步骤2:在一台服务器上启动服务获取RMI地址并注册到ZooKeeper,覆盖原有服务节点信息;
步骤3:利用ZooKeeper的监听机制将服务变更信息通知此服务的相关订阅者;
步骤4:服务订阅者接收通知后更新服务调用的RMI地址信息;
步骤5:关闭原服务,完成更新。
所述服务模块是指可以运行的,兼容以前系统服务的代码模块。
所述的RMI地址是指远程接口RMI绑定注册时服务命名和RMI注册表的所在服务器的IP及端口,格式为:rmi://[host]:[port]/[serverName];
所述原有服务节点信息是指在原有服务注册ZooKeeper时,创建的Znode节点并存放服务提供者的元数据信息,即RMI地址。
所述的服务变更信息是指RMI地址;
所述的订阅者是指对服务有调用操作,从ZooKeeper获取过该服务RMI地址的系统服务模块。
所述的更新服务调用的RMI地址是指服务模块在从ZooKeeper获取所需服务的RMI地址后保存在内存中,避免多次访问ZooKeeper,当监听到对应服务变更事件,将内存中原有的RMI地址替换。
本发明的方法可以在不中断服务的情况下完成分布式系统服务更新,用户体验友好,更新及时迅速,减少运维人员工作量,适用于系统高频率、小幅度的更新场景。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
具体实施方式
为使本发现的目的、技术方案和优点更加清楚,下面将结合附图并以实际开发案例作进一步详细解说,如图1所示,具体实施过程如下:
1、获取RMI地址,以下为绑定注册RMI代码片段
2、ZooKeeper注册服务,以下为注册ZooKeeper的代码片段:
3、服务监听ZooKeeper的变更事件,并更新RMI地址,以下为相关代码片段:
4、调用相关服务获取ZooKeeper中的服务RMI地址或内存保存的RMI地址,以下为相关代码片段:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710980727.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:反馈信息的处理方法及终端设备
- 下一篇:有利于提高通讯速度的系统