一种多层关联存储架构的数据同步方法及数据同步系统技术方案

技术编号:10049884 阅读:219 留言:0更新日期:2014-05-15 20:16
一种多层关联存储架构的数据同步方法包括:主模块接收外部写操作的请求,将数据写到写缓存,并根据对所述写缓存的写操作记录一个数字序列;当主模块的写缓存数据量达到一阈值,数据从写缓存刷新输出至固态硬盘文件;主模块为刷新输出操作记录一个数字序列;主模块按数字序列中数字的顺序,将写操作与刷新输出操作分别同步给从模块;从模块接收同步的写操作,将主模块的写缓存数据同步到本地写缓存的对应位置;从模块接收到同步的刷新输出操作,将主模块的固态硬盘文件同步到本地固态硬盘文件的对应位置。本发明专利技术将写缓存和固态硬盘文件之间的关系解耦,各自同步自己的数据,可保证数据的准确性和一致性。本发明专利技术还提供一种多层关联存储架构的数据同步系统。

【技术实现步骤摘要】

本专利技术涉及数据存储领域,尤其涉及一种多层关联存储架构的数据同步方法及数据同步系统
技术介绍
图1所示为现有的一种存储架构及其同步方式的示意图。其中,主模块用于处理外部写请求与读请求,从模块用于从主模块接收同步数据更新,且从模块仅能处理外部读请求。如图1所示,此种同步方式的同步原理是:将服务部署多份,一个主模块,多个从模块;当外部写请求发往主模块时,每来一次外部写请求,主模块记录一个数字序列(sequence),数字序列随着写请求的增加而顺序递增;主模块按照数字序列中数字的顺序,将写操作同步发送给各个从模块;各个从模块接收到主模块发来的写操作时,更新本地数据,并记录本地数据的数字序列;当主模块与从模块两边的数字序列一致时,表示从模块的数据已经是最新。此种同步方式的基本思想是将每次的写操作同步给从模块,从而保证从模块的数据能实时更新,并且与主模块数据一致。然而,此种同步方式的设计初衷是为了满足较简单的存储模型,如一层存储以及无关联的多层存储。但若遇到本公司现在采用的多层关联式存储架构(如图2所示),此种同步方式并不适用。现在采用的一种存储架构是将数据存储在固态硬盘文件(ssd file),根据固态硬盘的实现原理,在固态硬盘文件之上加了一个写缓存(writebuffer),以提高固态硬盘的写入性能,并最大化的延长固态硬盘使用寿命。在图2所示的存储架构中,数据在固态硬盘文件的存储位置,决定了该数据在写缓存中的存储位置偏移量,数据在写缓存与固态硬盘文件的存储位置必须一一对应。如果将图1所示的同步方式应用于图2所示的存储架构中,则会存在如下问题:(1)数据一致性问题。按照此种同步方式,主模块将写操作按数字序列中数字的顺序同步给从模块后,从模块先写写缓存,当写缓存中的数据量达到规定阈值时,将写缓存中的数据全部刷新输出(flush)到固态硬盘文件。这个过程中,很难保证从模块写写缓存时,每条数据在写缓存的相对位置与主模块相同;另外,当从模块将数据从写缓存刷新输出到固态硬盘文件时,也很难保证刷新输出的数据块在固态硬盘文件中的存储位置与主模块相同,如果在写缓存或固态硬盘文件中任何一个存储位置不与主模块相同,那么此数据将变成无效数据,无法被用户读取到。(2)设计复杂度问题。如果要解决(1)中的数据准确性问题,同步逻辑的设计将会变得很复杂。
技术实现思路
有鉴于此,本专利技术提供一种可保证数据一致性且设计简单的多层关联存储架构的数据同步方法和多层关联存储架构的数据同步系统。上述的多层关联存储架构的数据同步方法和多层关联存储架构的数据同步系统是通过以下技术方案实现的:一种多层关联存储架构的数据同步方法,包括:主模块接收外部写操作的请求,将数据写到写缓存,并根据所述主模块对所述写缓存的写操作记录一第一数字序列;当主模块的写缓存数据量达到一阈值时,数据从写缓存刷新输出至固态硬盘文件,输出时数据在固态硬盘文件的存储位置与在写缓存中的存储位置一一对应;主模块为刷新输出操作记录一第二数字序列;主模块根据第一数字序列中数字的顺序将写操作同步给从模块,并根据第二数字序列中数字的顺序将刷新输出操作同步给从模块;从模块接收到同步的写操作时,将主模块的写缓存数据同步到本地写缓存的对应位置;从模块接收到同步的刷新输出操作时,将主模块的固态硬盘文件同步到本地固态硬盘文件的对应位置。一种多层关联存储架构的数据同步系统,多层关联存储架构的数据同步系统,包括:主模块,用于处理外部写操作的请求与读请求;从模块,用于处理外部读请求;主模块写缓存,用于缓存外部写操作的请求;主模块固态硬盘文件,用于在写缓存的数据量达到一阈值时,接收由写缓存刷新输出的数据;从模块写缓存,用于接收主模块写缓存的同步数据;从模块固态硬盘文件,用于接收主模块固态硬盘文件的同步数据;其中,从模块写缓存和从模块固态硬盘文件对数据的同步是分开进行的。综上所述,本专利技术至少具有如下优点:(1)能保证数据的一致性。主模块将写缓存的数据同步到从模块的写缓存,将固态硬盘文件数据同步到从模块的固态硬盘文件,保证了在从模块中,数据在写缓存和固态硬盘文件都能存储到正确位置,从而数据同步的一致性和准确性。(2)设计简单,提高了系统的可靠性。同步时,写缓存和固态硬盘文件之间的关系被解耦,各自同步自己的数据,不用再关心写缓存和固态硬盘文件中数据的存储位置是否一一对应。为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明图1所示为现有的一种存储架构及其同步方式的示意图。图2所示为现在采用的一种存储架构的示意图。图3所示为本专利技术所揭示的多层关联存储架构的数据同步方法的流程图。图4所示为本专利技术所揭示的多层关联存储架构的数据同步系统的架构及同步方式的示意图。具体实施方式为更进一步阐述本专利技术为实现预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术提出的多层关联存储架构的数据同步方法及多层关联存储架构的数据同步系统的具体实施方式、结构、特征及其功效,详细说明如后。图3所示为本专利技术所揭示的多层关联存储架构的数据同步方法的流程图。如图3所示,本专利技术所揭示的多层关联存储架构的数据同步方法包括如下步骤:S101:主模块接收外部写操作的请求,将数据写到写缓存(writebuffer),并根据对所述写缓存的写操作记录一第一数字序列(sequence);S102:当主模块的写缓存数据量达到一阈值,数据从写缓存刷新输出(flush)至固态硬盘文件(ssd file),输出时须保证数据在固态硬盘文件的存储位置与在写缓存中的存储位置一一对应;S103:主模块为刷新输出操作记录一第二数字序列;S104:主模块根据第一数字序列中数字的顺序将写操作同步给从模块,并根据第二数字序列中数字的顺序将刷新输出操作同步给从模块;S105:从模块接收到同步的写操作时,将主模块的写缓存数据同步到本地写缓存的对应位置;S106:从模块接收到同步的刷新输出操作时,将主模块的固态硬盘文件同步到本地固态硬盘文件的对应位置。其中,所述主模块用于处理外部写操作的请求与读请求,所述从模块用于从主模块接收同步数据更新,且所述从模块仅能处理外部读请求。进一步地,所述数据同步方法还包括:写缓存接本文档来自技高网
...

【技术保护点】
一种多层关联存储架构的数据同步方法,包括:主模块接收外部写操作的请求,将数据写到写缓存,并根据对所述写缓存的写操作记录一第一数字序列;当主模块的写缓存数据量达到一阈值时,数据从写缓存刷新输出至固态硬盘文件,输出时数据在固态硬盘文件的存储位置与在写缓存中的存储位置一一对应;主模块为刷新输出操作记录一第二数字序列;主模块根据第一数字序列中数字的顺序将写操作同步给从模块,并根据第二数字序列中数字的顺序将刷新输出操作同步给从模块;从模块接收到同步的写操作时,将主模块的写缓存数据同步到本地写缓存的对应位置;从模块接收到同步的刷新输出操作时,将主模块的固态硬盘文件同步到本地固态硬盘文件的对应位置。

【技术特征摘要】
1.一种多层关联存储架构的数据同步方法,包括:
主模块接收外部写操作的请求,将数据写到写缓存,并根据对所述写
缓存的写操作记录一第一数字序列;
当主模块的写缓存数据量达到一阈值时,数据从写缓存刷新输出至固
态硬盘文件,输出时数据在固态硬盘文件的存储位置与在写缓存中的存储
位置一一对应;
主模块为刷新输出操作记录一第二数字序列;
主模块根据第一数字序列中数字的顺序将写操作同步给从模块,并根
据第二数字序列中数字的顺序将刷新输出操作同步给从模块;
从模块接收到同步的写操作时,将主模块的写缓存数据同步到本地写
缓存的对应位置;
从模块接收到同步的刷新输出操作时,将主模块的固态硬盘文件同步
到本地固态硬盘文件的对应位置。
2.如权利要求1所述的多层关联存储架构的数据同步方法,其特征在
于,所述主模块用于处理外部写操作的请求与读请求,所述从模块用于从
主模块接收同步数据更新,且所述从模块仅能处理外部读请求。
3.如权利要求1所述的多层关联存储架构的数据同步方法,其特征在
于,所述数据同步方法还包括:
写缓存接收主模块写入的数据,并将写入的数据以4k为单位整理成N
个数据块;
当数据从写缓存刷新输出至固态硬盘文件时,将输出的数据以所述的
数据块为单位输出。
4.如权利要求3所述的多层关联存储架构的数据同步方法,其特征在
于,所述的阈值为4k的M倍,其中M为大于或等于N的整数。
5.一种多层关联存储架构的数据同步系统,包括:
主模块,用于处理外部写操作的请求与读请求;
从模块,...

【专利技术属性】
技术研发人员:舒军田明黄利华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1