[发明专利]分布式系统及数据管理方法和装置、存储介质、计算设备有效
申请号: | 201811066550.8 | 申请日: | 2018-09-11 |
公开(公告)号: | CN109412835B | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 叶岩 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;G06F8/65 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 系统 数据管理 方法 装置 存储 介质 计算 设备 | ||
公开了一种分布式系统及数据管理方法和装置、存储介质、计算设备。该分布式系统包括多个服务实例。响应于针对第一列表中各服务实例的数据变更请求,向第二列表中各服务实例发送数据变更任务,第二列表包括第一列表中尚未达到数据变更目标的服务实例。查询各服务实例的数据状态。响应于各服务实例的数据状态变化,更新第二列表,直到第二列表为空。由此,可以便利地实现数据的变更目标。另外,响应于用户的数据升级请求,发出第一数据变更请求,变更目标为当前数据加升级目标数据。响应于第一数据变更请求的变更目标已达到,发出第二数据变更请求,变更目标为升级目标数据。由此,可以便利地实现用户的数据升级目标。
技术领域
本公开涉及具有多个服务实例的分布式系统,特别涉及分布式系统的数据管理方案。
背景技术
大型互联网业务往往需要大量机器(服务器),形成分布式系统。分布式系统可以包括多个服务实例。服务实例,也可以称为“服务器实例”,是服务器的一个抽象。一个服务器上可以装多个服务实例。
同时,大型互联网业务往往还包含很多功能模块,这些功能模块相互访问、依赖,组成一个完整的业务逻辑。
在分布式系统中,名字服务解决了功能模块之间如何相互发现的问题,调度系统则解决了在海量的机器上快速、正确地部署和升级这些功能模块的问题。
往往功能模块的部署和升级不仅仅包括对相关程序本身的部署和升级,还包括对程序所需要的配置文件和数据的部署和升级。因此,数据托管服务也是调度系统中重要的组成部分。
在实际部署中,一个功能模块往往涉及多个服务实例。这些服务实例是完全对等的,即一个服务实例完全可以替代另一个服务实例,这些服务实例所依赖的数据也是相同的。
相应地,完整的数据托管服务一般包括以下三方面:
1)数据版本管理;
2)数据的分发部署;
3)无效数据的清理回收。
目前,业界常见的数据管理方式一般如下:
1)人工管理数据版本,即人工管理程序版本与数据版本之间的对应关系。例如,P1版本的程序使用D1版本的数据,P2版本的程序使用D2版本的数据;
2)使用数据分发系统分发数据,到指定IP地址的机器的指定位置;
3)对于不同模块,人工编写不同策略的数据清理删除脚本,定时清理无效数据。
在实践中,发现上述方法存在以下不足:
1)随着模块数量的提升,程序版本与数据版本之间的对应关系的人工管理成本过高;
2)在分布式调度系统中,模块的服务实例数量巨大,并且随着服务实例的宕机和容灾,IP地址可能会发生变化,IP地址列表的人工管理成本过高;
3)人工根据不同模块制定不同的数据清理策略,定时清理无效数据的方式,重复工作量大(需要编写不同的脚本),且清理时效性比较差(定时扫描)。
因此,对于分布式系统,仍然需要一种更加便利的数据管理方案。
发明内容
本公开要解决的一个技术问题是提供一种分布式系统的数据管理方案,其能够实现多个服务实例上数据的自动更新。
根据本公开的第一个方面,提供了一种分布式系统的数据管理方法,该分布式系统包括多个服务实例,该方法包括:响应于针对第一服务实例列表中各服务实例的数据变更请求,向第二服务实例列表中各服务实例发送对应于数据变更请求的数据变更任务,第二服务实例列表包括第一服务实例列表中数据状态尚未达到数据变更请求的变更目标的服务实例;查询各服务实例的数据状态;以及响应于各服务实例的数据状态变化,更新第二服务实例列表,直到第二服务实例列表为空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811066550.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:事件不间断随机传递及共享信息展示方法
- 下一篇:一种服务器管理的方法及系统