[发明专利]基于顺序消息的扩、缩容方法和装置以及电子设备有效
申请号: | 201711002835.0 | 申请日: | 2017-10-24 |
公开(公告)号: | CN109697187B | 公开(公告)日: | 2022-10-21 |
发明(设计)人: | 冯嘉;王小瑞;周唯 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;H04L67/1031 |
代理公司: | 北京市惠诚律师事务所 11353 | 代理人: | 逯博 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 顺序 消息 方法 装置 以及 电子设备 | ||
本发明实施例提供了一种基于顺序消息的扩、缩容方法和装置以及电子设备。该扩容方法包括:分别记录各待扩容目录文件的最大位点快照,每个所述待扩容目录文件的最大位点用于指向与之相对应的最新写入的顺序消息;同时,控制待扩容服务器开启写模式;当各所述待扩容目录文件中,消费位点均大于或等于所述最大位点快照时,控制所述待扩容服务器开启读模式,所述消费位点用于指向所述消费者当前读取的所述顺序消息。本发明实施例通过对目录文件中的位点指针之间的有效配合,以控制待扩、缩容服务器的读写模式,从而实现顺序消息的平滑扩缩容。
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于顺序消息的扩、缩容方法和装置以及电子设备。
背景技术
在分布式消息系统中,消息数据都有特定的主题(Topic)属性,其具有顺序追加、全局有限的特点,因此称之为顺序消息。
当系统的存储或计算资源不足时,需要添加新的服务器,即,进行系统扩容;当某台服务器异常宕机或者出于系统规划需求而减少部分资源时,则需要去掉相应的服务器,即,进行系统缩容。在进行系统扩缩容的同时,对存储于原有拓扑结构各服务器中的数据(顺序消息)进行重新分配,使得资源均衡分布于新的拓扑结构中。
传统的分布式系统扩缩容主要包括以下三个方面:1、全量复制,即,将原有的数据重新分布到新的拓扑结构中;2、增量同步,即,把新增的数据重新分布到新的拓扑结构中;3、停写切换,即,在全量复制完成后,增量正在同步时,选择合适的时机对原有服务器采取停写操作,然后把原有的数据路由拓扑切换到新的路由拓扑上。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:传统的扩缩容技术,在全量复制、增量同步和停写切换三个方面均存在局限性。对于全量复制,数据复制速度和对数据库的写入压力之间存在着矛盾;对于增量同步,当多台服务器同时消费相同的变更日志时,可能出现更新乱序的情况;对于停写切换,切换时机难以把握,很难做到无数据丢失的扩缩容。
发明内容
本发明实施例提供一种基于顺序消息的扩、缩容方法和装置以及电子设备,以克服现有扩缩容技术的缺陷,实现基于顺序消息的不停写扩缩容。
为达到上述目的,本发明实施例提供了一种基于顺序消息的扩容方法,所述顺序消息依次存储于数据文件中,所述顺序消息的地址存储于多个目录文件中,每个所述目录文件对应一个消费者,所述方法包括:分别记录各待扩容目录文件的最大位点快照,每个所述待扩容目录文件的最大位点用于指向与之相对应的最新写入的所述顺序消息;同时,控制待扩容服务器开启写模式;当各所述待扩容目录文件中,消费位点均大于或等于所述最大位点快照时,控制所述待扩容服务器开启读模式,所述消费位点用于指向所述消费者当前读取的所述顺序消息。
本发明实施例还提供了一种基于顺序消息的缩容方法,所述顺序消息依次存储于数据文件中,所述顺序消息的地址存储于多个目录文件中,每个所述目录文件对应一个消费者,所述方法包括:分别记录各待缩容目录文件的最大位点快照,每个所述待缩容目录文件的最大位点用于指向与之相对应的最新写入的所述顺序消息;同时,控制待缩容服务器关闭写模式;当各所述待缩容目录文件中,消费位点均大于或等于所述最大位点快照时,控制所述待缩容服务器关闭读模式,所述消费位点用于指向所述消费者当前读取的所述顺序消息。
本发明实施例还提供了一种基于顺序消息的扩容装置,所述顺序消息依次存储于数据文件中,所述顺序消息的地址存储于多个目录文件中,每个所述目录文件对应一个消费者,所述装置包括:第一记录模块,用于分别记录各待扩容目录文件的最大位点快照,每个所述待扩容目录文件的最大位点用于指向与之相对应的最新写入的所述顺序消息;第一控制模块,用于在所述第一记录模块记录所述最大位点快照的同时,控制待扩容服务器开启写模式;第二控制模块,用于当各所述待扩容目录文件中,消费位点均大于或等于所述最大位点快照时,控制所述待扩容服务器开启读模式,所述消费位点用于指向所述消费者当前读取的所述顺序消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711002835.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:时间确定性编译器
- 下一篇:工程造价资料管理方法及系统