CN111506266A - 镜像副本数据缓存方法及装置 - Google Patents
镜像副本数据缓存方法及装置 Download PDFInfo
- Publication number
- CN111506266A CN111506266A CN202010294525.6A CN202010294525A CN111506266A CN 111506266 A CN111506266 A CN 111506266A CN 202010294525 A CN202010294525 A CN 202010294525A CN 111506266 A CN111506266 A CN 111506266A
- Authority
- CN
- China
- Prior art keywords
- data
- caching method
- mirror
- mirror image
- mirror copy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种镜像副本数据缓存方法及装置。该方法包括:需要对目标镜像读写数据时,建立每个目标镜像副本的缓存元数据,但所有镜像副本共用一份数据缓存;根据建立的缓存元数据,执行对目标镜像副本的读写操作。本发明提供的镜像副本数据缓存方法及装置有效的避免的数据读写过程中的多次数据拷贝,提升了运行效率,节省了缓存空间。
Description
技术领域
本发明涉及存储镜像技术领域,特别是涉及一种镜像副本数据缓存方法及装置。
背景技术
存储中的镜像技术,是将一份数据同步写入多个镜像副本的技术。当镜像的某些副本损坏后,其余正常副本能够在服务器端无感知的情况下继续提供存储服务并记录写入的数据差异,同时能保证数据的一致性和业务的连续性(不考虑镜像全部副本均损坏的情况)。多个副本之间有数据同步机制,如果镜像副本数据不一致,可以通过全量同步或增量同步,使多个副本的数据达到一致状态。
目前,主流的存储系统,支持镜像技术。从业务写入存储的数据,会进行数据拷贝,然后分别下发到多个镜像副本,全部副本写入完成或部分副本写入完成后,报告数据写入完成。
这样的写入过程具有如下的缺陷:数据在写入多个副本时,进行了多次数据拷贝,使用了多个数据缓存空间。
发明内容
本发明要解决的技术问题是提供一种镜像副本数据缓存方法及装置,有效的避免的数据读写过程中的多次数据拷贝,提升了运行效率,节省了缓存空间。
为解决上述技术问题,本发明提供了一种镜像副本数据缓存方法,所述方法包括:需要对目标镜像副本读写数据时,建立每个目标镜像副本的缓存元数据;根据建立的缓存元数据,执行对目标镜像副本的读写操作。
在一些实施方式中,所有的目标镜像副本共用相同的数据缓存。
在一些实施方式中,目标镜像副本为物理块设备或逻辑块设备。
在一些实施方式中,目标镜像副本为根据RAID技术的目标镜像副本。
在一些实施方式中,RAID有多种级别,包括:RAID0、RAID1、RAID2、RAID3、RAID5、RAID6、RAID10、RAID30、RAID50,或RAID60,未来可能出现其它RAID级别。
在一些实施方式中,RAID实现技术包括:RAID1.0、RAID2.0、RAIDEE和Erasercode,未来可能其它RAID技术。
在一些实施方式中,数据缓存按可变的指定大小组织,大小与数据块的数量正相关。
在一些实施方式中,还包括:所有镜像副本都释放数据缓存时,释放数据缓存。
此外,本发明还提供了一种镜像副本数据缓存装置,所述装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的镜像副本数据缓存方法。
采用这样的设计后,本发明至少具有以下优点:
本发明通过运用缓存元数据技术,在需要执行读写操作时,建立对应于读写操作的缓存元数据,且建立的缓存元数据对应于读写操作的目标镜像数据,再根据缓存元数据执行相应的读写操作,避免的传统对多个镜像副本进行读写时的多次数据拷贝操作,提高了运行效率,节省了缓存空间。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是本发明实施例提供的镜像副本数据缓存方法的流程图;
图2是本发明实施例提供的镜像副本数据缓存方法的原理示意图;
图3是本发明实施例提供的镜像副本数据缓存装置的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的镜像副本数据缓存方法的流程图。参见图1,镜像副本数据缓存方法包括:
S11,需要对目标镜像副本读写数据时,建立每个目标镜像副本的缓存元数据。
S12,根据建立的缓存元数据,执行对目标镜像副本的读写操作。
由于每次读写操作均是利用缓存元数据执行的,有效的避免的读写过程的多次数据拷贝操作,提升了读写效率。
另外,在图1示出的镜像副本数据缓存方法的运行过程中,缓存数据被存储在共用缓存中,而不再是每个镜像副本均配备有自己的数据缓存,节约了缓存空间。
可选的,在执行完对于各个目标镜像副本的读写操作之后,当最后一个镜像副本释放数据缓存时,才真正释放数据缓存。
而且,共用缓存根据如下方式组织,使其能够满足镜像副本共用缓存:
当镜像副本为单个物理块设备时,数据缓存按可变的指定大小组织。
当镜像副本为逻辑块设备时,数据缓存根据逻辑块设备的特性进行组织。比如RAID设备时,数据缓存按条带组织,条带大小与RAID的数据盘大小正相关。定义stripe_size为RAID的条带大小,data_num为RAID的数据盘个数,stripe_height为条带中每个数据盘写入的数据量。所有级别RAID,stripe_height为可变的指定大小(stripe_height大小一般为2的n次方个LBA的大小,LBA,即logical block address)。
stripe_size=stripe_height*data_num。
镜像每个副本拥有独立的缓存元数据。
镜像读写时申请的数据缓存,需要与每个副本的缓存元数据进行关联。
图2是本发明实施例提供的镜像副本数据缓存方法的原理图。参见图2,中间为新写入的数据缓存21,代表7个stripe_height大小的数据(按stripe_height划分数据,首尾两个数据块可以不按stripe_height对齐,但必须以LBA对齐),起始地址为任意LBA。图中并未考虑RAID校验盘数据,校验盘数据由RAID算法生成。
上面为5块盘组成的RAID5的缓存元数据22,每个方框代表一个条带。每个条带指向4个数据块,黑色圆圈代表数据为脏数据。
下面为7块盘组成的RAID6的缓存元数据23,每个方框代表一个条带。每个条带指向5个数据块,黑色圆圈代表数据为脏数据。
写入的数据可能不会写满每个条带,所以有的条带所有数据都为脏数据,有的条带只有部分数据为脏数据。
图3示出了镜像副本数据缓存装置的典型结构。例如,所述镜像副本数据缓存装置300可以用于充当存储系统中的存储主机。如本文所述,镜像副本数据缓存装置300可以用于在存储系统中实现在不同镜像副本之间的数据读写功能。镜像副本数据缓存装置300可以在单个节点中实现,或者镜像副本数据缓存装置300的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语镜像副本数据缓存装置包括广泛意义上的设备,图3中示出的镜像副本数据缓存装置300仅是其中一个示例。包括镜像副本数据缓存装置300是为了表述清楚,并不旨在将本发明的应用限制为特定的镜像副本数据缓存装置实施例或某一类镜像副本数据缓存装置实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,镜像副本数据缓存装置300中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。镜像副本数据缓存装置300可以是任何通过网络处理,存储和/或转发数据帧的设备,例如,服务器,客户端,数据源等。如图3所示,镜像副本数据缓存装置300可以包括收发器(Tx/Rx)310,其可以是发射器,接收器,或其组合。Tx/Rx 310可以耦合到多个端口350(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器330可耦合至Tx/Rx 310,以处理帧和/或确定向哪些节点发送帧。处理器330可以包括一个或多个多核处理器和/或存储器设备332,其可以用作数据存储器,缓冲区等。处理器330可以被实现为通用处理器,或者可以是一个或多个专用集成电路(application specific integrated circui,简称ASIC)和/或数字信号处理器(digitalsignal processor,简称DSP)的一部分。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (9)
1.一种镜像副本数据缓存方法,其特征在于,包括:
需要对目标镜像读写数据时,建立每个目标镜像副本的缓存元数据;
根据建立的缓存元数据,执行对目标镜像副本的读写操作。
2.根据权利要求1所述的镜像副本数据缓存方法,其特征在于,所有的目标镜像副本共用相同的数据缓存。
3.根据权利要求2所述的镜像副本数据缓存方法,其特征在于,目标镜像副本为块设备,可以是物理和逻辑块设备,包括磁盘、SSD、RAID设备和卷设备等。
4.根据权利要求3所述的镜像副本数据缓存方法,其特征在于,镜像副本缓存方法与系统无关,可应用于单控、双控和多控等存储系统。
5.根据权利要求3所述的镜像副本数据缓存方法,其特征在于,镜像副本缓存方法与RAID级别无关,RAID级别包括:RAID0、RAID1、RAID2、RAID3、RAID5、RAID6、RAID10、RAID30、RAID50,或RAID60,或未来出现的其它RAID级别。
6.根据权利要求3所述的镜像副本数据缓存方法,其特征在于,镜像副本缓存方法与RAID技术无关,包括:RAID 1.0、RAID 2.0、RAIDEE和Eraser code以及未来出现的其它RAID技术。
7.根据权利要求2所述的镜像副本数据缓存方法,其特征在于,数据缓存按可变的指定大小组织,大小与数据块数量正相关。
8.根据权利要求1所述的镜像副本数据缓存方法,其特征在于,还包括:
所有镜像副本都释放数据缓存时,释放数据缓存。
9.一种镜像副本数据缓存装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8任意一项所述的镜像副本数据缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010294525.6A CN111506266A (zh) | 2020-04-15 | 2020-04-15 | 镜像副本数据缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010294525.6A CN111506266A (zh) | 2020-04-15 | 2020-04-15 | 镜像副本数据缓存方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506266A true CN111506266A (zh) | 2020-08-07 |
Family
ID=71869162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010294525.6A Pending CN111506266A (zh) | 2020-04-15 | 2020-04-15 | 镜像副本数据缓存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506266A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708060A (zh) * | 2012-05-14 | 2012-10-03 | 华为技术有限公司 | 一种镜像文件访问方法、装置及系统 |
CN103544045A (zh) * | 2013-10-16 | 2014-01-29 | 南京大学镇江高新技术研究院 | 一种基于hdfs的虚拟机镜像存储系统及其构建方法 |
US20150089185A1 (en) * | 2013-09-23 | 2015-03-26 | International Business Machines Corporation | Managing Mirror Copies without Blocking Application I/O |
CN105045685A (zh) * | 2015-08-04 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 缓存数据的备份方法及装置、缓存数据的恢复方法及装置 |
CN110572484A (zh) * | 2019-11-08 | 2019-12-13 | 浩鲸云计算科技股份有限公司 | 一种基于容器的生产环境仿真方法 |
-
2020
- 2020-04-15 CN CN202010294525.6A patent/CN111506266A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708060A (zh) * | 2012-05-14 | 2012-10-03 | 华为技术有限公司 | 一种镜像文件访问方法、装置及系统 |
US20150089185A1 (en) * | 2013-09-23 | 2015-03-26 | International Business Machines Corporation | Managing Mirror Copies without Blocking Application I/O |
CN103544045A (zh) * | 2013-10-16 | 2014-01-29 | 南京大学镇江高新技术研究院 | 一种基于hdfs的虚拟机镜像存储系统及其构建方法 |
CN105045685A (zh) * | 2015-08-04 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 缓存数据的备份方法及装置、缓存数据的恢复方法及装置 |
CN110572484A (zh) * | 2019-11-08 | 2019-12-13 | 浩鲸云计算科技股份有限公司 | 一种基于容器的生产环境仿真方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990256B1 (en) | Storage management system and method | |
US7581063B2 (en) | Method, system, and program for improved throughput in remote mirroring systems | |
US7444478B2 (en) | Priority scheme for transmitting blocks of data | |
US7783850B2 (en) | Method and apparatus for master volume access during volume copy | |
US7849254B2 (en) | Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss | |
US8639898B2 (en) | Storage apparatus and data copy method | |
US7133983B2 (en) | Method, system, and program for asynchronous copy | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
US10095585B1 (en) | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails | |
EP2695066A1 (en) | Journaling raid system | |
US20160357672A1 (en) | Methods and apparatus for atomic write processing | |
JP6011153B2 (ja) | ストレージシステム、ストレージ制御方法およびストレージ制御プログラム | |
US7650476B2 (en) | System, method and computer program product for generating a consistent point in time copy of data | |
US9286219B1 (en) | System and method for cache management | |
US8990615B1 (en) | System and method for cache management | |
US10747674B2 (en) | Cache management system and method | |
US20040181632A1 (en) | Method, system, and program for policies for improving throughput in remote mirroring systems | |
CN112748865A (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
CN111506266A (zh) | 镜像副本数据缓存方法及装置 | |
US20160371192A1 (en) | Apparatus and method for performing cache management in a storage system | |
CN112328182B (zh) | 一种raid数据管理方法、装置和计算机可读存储介质 | |
US10146452B2 (en) | Maintaining intelligent write ordering with asynchronous data replication | |
US20150019822A1 (en) | System for Maintaining Dirty Cache Coherency Across Reboot of a Node | |
US11217324B2 (en) | Validating data in storage systems | |
US11340826B2 (en) | Systems and methods for strong write consistency when replicating data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |