CN117033070A - 数据一致性处理方法、装置、计算机设备和存储介质 - Google Patents
数据一致性处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117033070A CN117033070A CN202310831382.1A CN202310831382A CN117033070A CN 117033070 A CN117033070 A CN 117033070A CN 202310831382 A CN202310831382 A CN 202310831382A CN 117033070 A CN117033070 A CN 117033070A
- Authority
- CN
- China
- Prior art keywords
- storage system
- data
- remote storage
- uploading
- local storage
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 571
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims description 51
- 238000011084 recovery Methods 0.000 claims description 47
- 230000008859 change Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 23
- 239000000835 fiber Substances 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 13
- 238000005096 rolling process Methods 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000007789 sealing Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000010076 replication Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据一致性处理方法、装置、计算机设备和存储介质。所述方法包括:实时检测是否将本地存储系统的数据传输到远程存储系统中;响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功并更新所述第一快照。本申请保证了远程存储系统的数据与本地存储系统的数据时刻保持一致。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据一致性处理方法、装置、计算机设备和存储介质。
背景技术
进入21世纪后,存储领域中用户对数据的数据安全性、数据一致性是用户关心的核心问题。随着现代社会迈入大数据时代,每人每天产生的数据量越来越大,巨量的数据需要安全可靠地存储在存储服务器,因此需要存储在单个物理硬盘上的数据量曾指数级增长。当单个物理磁盘在容量和安全性上不足以支撑存储系统业务时,存储领域专业技术人员将多个磁盘以某种特定方式组合成RAID阵列使用,并将RAID阵列划分为多个逻辑卷,逻辑卷对外作为一个可见的逻辑设备来供用户使用,才可满足用户的实际需求,由此诞生了磁盘阵列(RAID阵列)技术。
在存储系统提高数据可靠性方面,目前业界采用磁盘阵列技术提高数据可靠性,利用磁盘阵列中的冗余磁盘来恢复故障盘的数据。虽然采用磁盘阵列中的冗余阵列可以有效提升数据可靠性,但是有几种例外的特殊情况,即用户写入一些数据,一段时间后将该数据读回来,但是发现读取的数据与写入的数据不同,这个是数据一致性问题。数据一致性问题产生的原因可能是数据已被损坏,亦或是数据的完整性已丢失,数据的完整性已丢失,术语为“数据损坏”或“数据完整性问题”,即出现数据一致性问题。
综上所述,如何高效解决存储环境的数据一致性问题,已成为本技术领域专业技术人员亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够解决存储环境的数据一致性问题的数据一致性处理方法、装置、计算机设备和存储介质。
一方面,提供一种数据一致性处理方法,所述方法包括:
实时检测是否将本地存储系统的数据传输到远程存储系统中;
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
在其中一个实施例中,所述方法还包括:
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统的当前数据组制作第二快照;
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述本地存储系统的第二快照;
响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第二快照再次向所述远程存储系统上传所述上传数据信息。
在其中一个实施例中,所述对所述远程存储系统的当前数据组制作第一快照步骤包括:
检测获取所述远程存储系统中的当前数据组存储在独立磁盘冗余磁盘阵列的硬盘上的逻辑卷号(LUN);
将所述逻辑卷号对应的逻辑卷所属的独立磁盘冗余磁盘阵列制作第一快照。
在其中一个实施例中,向所述远程存储系统上传所述上传数据信息步骤包括:
设置所述本地存储系统通过因特网小型计算机系统接口(iSCSI)、以太网、以太网光纤通道(FCoE)、光纤通道之一的通信方式将所述上传数据信息传输至所述远程存储系统;
将所述上传数据信息拆分为多组目的端数据,并按序设置上传时序;
将所述多组目的端数据按照上传时序先后顺序依次传输到所述远程存储系统。
在其中一个实施例中,所述方法还包括:
响应于检测到所述本地存储系统发生灾难之后,获取所述本地存储系统中所有受影响的逻辑卷;
在所述远程存储系统中对所有受影响的逻辑卷创建一份输入输出区;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
响应于所述远程存储系统的变更数据同步(Resync)到所述本地存储系统中后,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在其中一个实施例中,所述方法还包括:
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,将远程存储系统的数据组制作第三快照并封存;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,在所述远程存储系统中对每一个参与容灾的逻辑卷创建一份输入输出区,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
将所述第三快照的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息;
响应于检测到将所述本地存储系统的异步容灾数据信息传输到远程存储系统中时,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在其中一个实施例中,在所述远程存储系统中的所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址,并将输入输出数据的地址对应的输入输出数据作为变更数据;根据所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址将所述远程存储系统的变更数据重新同步(Resync)到所述本地存储系统中。
另一方面,提供了一种数据一致性处理装置,所述装置包括:
上传数据检测模块,用于实时检测是否将本地存储系统的数据传输到远程存储系统中;
快照制作模块,用于响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
上传数据模块,用于获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
数据恢复管理模块,用于实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
数据更新模块,用于响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
实时检测是否将本地存储系统的数据传输到远程存储系统中;
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
实时检测是否将本地存储系统的数据传输到远程存储系统中;
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
上述数据一致性处理方法、装置、计算机设备和存储介质,通过在远程存储系统获取上传数据信息时制作第一快照,在上传错误时利用第一快照进行回滚复原,避免了上传数据错误导致远程存储系统中的数据错误,并在上传数据信息成功上传至所述远程存储系统后更新第一快照,保证了远程存储系统的数据与本地存储系统的数据时刻保持一致,实现数据一致性保护和数据一致性组保护。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例中本地存储系统和远程存储系统组成双控集群的异步容灾系统整体框图;
图2为本申请一个实施例中逻辑卷与磁盘阵列组的关系图;
图3为本申请一个实施例中远程存储系统的快照创建模块以及异步容灾系统的位图元数据模块的关联关系图;
图4为本申请一个实施例中数据一致性处理方法的应用环境图;
图5为本申请一个实施例中数据一致性处理方法的流程示意图;
图6为本申请一个实施例中对所述远程存储系统的当前数据组制作第一快照步骤的流程示意图;
图7为本申请一个实施例中向所述远程存储系统上传所述上传数据信息步骤的流程示意图;
图8为本申请一个实施例中数据一致性处理装置的结构框图;
图9为本申请一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如背景技术所述,利用磁盘阵列(RAID阵列)技术,将数据切割成许多区段,分别存放在各个磁盘上。RAID阵列技术是存储领域中的重要技术,RAID阵列技术经历了RAID0、RAID1、RAID5、RAID6、RAID10、RAID50、RAID60和RAID-TP,这些阵列级别使用条带、镜像数据和校验数据来保证数据可靠性,并通过阵列中多个磁盘驱动并发处理I/O(输入输出)以提高RAID阵列的I/O性能,其中RAID5和RAID6阵列在实际应用中使用的最多,并能通过给RAID阵列添加热备盘进一步提高数据的可靠性。
在存储系统提高数据可靠性方面,目前业界采用RAID阵列技术提高数据可靠性,利用RAID阵列中的冗余磁盘来恢复故障盘的数据,例如RAID5阵列利用P校验分块的单冗余恢复一个故障盘数据,RAID6阵列利用P校验和Q校验的双冗余恢复两个故障盘数据。虽然采用RAID冗余阵列可以有效提升数据可靠性,但是有几种例外的特殊情况,即用户写入一些数据,一段时间后将该数据读回来,但是发现读取的数据与写入的数据不同,这个是数据一致性问题。数据一致性问题产生的原因可能是数据已被损坏,亦或是数据的完整性已丢失,数据的完整性已丢失,术语为“数据损坏”或“数据完整性问题”,即出现数据一致性问题。
数据一致性问题出现的场景有:1、存储系统发生灾难(异常掉电等情况),但是硬盘完好没有被破坏导致的数据一致性问题;2、存储系统发生灾难,数据完全丢失;3、本地存储系统向远程存储系统传输数据是被一批一批,或者一组一组的传输到远程的,组和组之间能够保证先后顺序,组内无法保证数据顺序而出现数据一致性问题。
目前业界采用的一种保证数据一致性的方法,是将写IO写入RAID阵列的之前,将写IO复制一份暂存在一个日志文件中,并且完全按照IO进入的先后顺序写入日志文件。如果出现数据一致性问题,本地存储系统按照先进先出的方式读取日志文件中的IO并恢复数据从而解决数据一致性问题。但是随着主机写入IO数据量的增加,日志文件需要消耗大量的内存空间,这样导致如果对于一个写负载很重的存储系统来讲,日志将占用存储系统的大量内存资源空间,导致存储系统性能下降,影响用户业务,致使用户体验下降。
为解决上述问题,本发明实施例中创造性的提出了一种数据一致性处理方法,在基于数据一致性组的概念和双控集群的异步容灾系统基础上提出使用快照异步复制方法,以此实现数据一致性保护和数据一致性组保护。
首先介绍本发明提出的数据一致性组含义。第一个含义:本地存储系统将数据按一批一批、或者称为一组一组的批量化形式传输到远程存储系统。虽然数据组和数据组之间能够保证先后顺序,但是数据组内的数据无法保证先后顺序。如果本地存储系统能够将一整组数据完整的传输到远程存储系统,则远程存储系统的数据组内的数据是一致的,如果一整组数据在传输过程中出现问题,则远程存储系统需要将数据组回滚到上一个一致的数据组,本发明使用快照来完成该功能。第二个含义:集群中的多个独立存储系统上多个逻辑卷组成一个数据整体,集群中存储系统个体与个体之间必须保证按照整体时间的先后传输到对方,远程的多个存储系统上的多个卷形成组,在整体上必须保持数据一致性。
其中,本发明使用本地存储系统和远程存储系统组成双控集群的异步容灾系统实现所述数据一致性处理方法。如图1所示,为本地存储系统和远程存储系统组成双控集群的异步容灾系统整体框图。其中本地存储系统和远程存储系统的结构完全相同,两者互为数据备份关系。
情景一、数据复制过程中的错误恢复机制:
本地存储系统通过因特网小型计算机系统接口(iSCSI)、以太网、以太网光纤通道(FCoE)、光纤通道等等方式将数据传输至远端存储系统的过程中,一旦数据在过程中本地存储系统发生灾难或者链路出现问题中断,那么此时处于远程存储系统中的数据几乎就是不一致的,本发明设计使用快照把远程存储系统上的数据进行回退。在每次开始数据传输之前,为远程存储系统对应的逻辑卷制作一份快照,一旦后来的数据传输出现问题,就可以直接将对应的逻辑卷回退到上一次快照的时间点,虽然此时丢失了数据,但是可以保证数据一致性。因此在每次数据被成功传输之后,我们增加一个步骤,即为远程存储系统制作一个快照。
情景二、快照异步复制方法中的数据一致性保护和数据一致性组:
基于快照的异步复制,首先是通过主机端的Agent来将缓存数据刷入磁盘,根据主机的Agent作用层次,最高可以做到应用级的一致性;其次在数据复制期间,由于本地存储系统和远程存储系统都做了快照留底,所以不必担心中途链路中断导致的目的端数据时序不一致的情况,一旦遇到中断,则目的端回滚到最近的快照即可,随后择机继续执行数据传输。同时在多主机多逻辑卷的数据一致性组方面,同一台主机上的多个逻辑卷需要保证数据一致性组的话,那么可以通过主机上的Agent来同时传输这些逻辑卷上的数据,之后做快照,如果是多台主机的多个LUN,也可以通过让多台主机的Agent依次传输对应的LUN数据,然后各自逻辑卷所属的RAID阵列做快照。Agent指能自主活动的软件或者硬件实体。
如图2所示,图2为逻辑卷与磁盘阵列组的关系图。
如上图2所示的,逻辑卷0、逻辑卷3、逻辑卷6、逻辑卷9和逻辑卷12归属于磁盘阵列1,且逻辑卷9由条带6、条带7和条带8组成而逻辑卷12只由一个条带9构成。
如图3所示,图3为远程存储系统的快照创建模块以及异步容灾系统的位图元数据(Bitmap)模块的关联关系图,也体现了图1与图2的对应关系。
场景三、集群内多控存储系统之间互相传输数据下的控制器切换和回切:
本地存储系统在任意时刻发生灾难之后,本地存储系统和远程存储系统之间对应的数据是绝对相同的。由于本地存储系统发生灾难,因此需要将业务切换到远程存储系统执行,但是在切换之前,我们在远程存储系统对所有受影响的逻辑卷创建一份新的全0的bitmap,用来记录所有切换之后针对逻辑卷的写IO数据,被写过则将IO地址的对应位置为1。本地存储系统恢复之后,需要将远程存储系统的变更数据重新同步(Resync)到本地存储系统,此时远程存储系统扫描每个卷的Bitmap,把为1的bit位所对应的地址上数据读取并覆盖到本地存储系统对应逻辑卷的对应位置。结束之后,回切到本地存储系统。
场景四、异步容灾系统的本地系统发生灾难:
本地系统发生灾难,但是硬盘完好没有被破坏。一切活动停止,数据状态永远定格,对应本地存储系统的逻辑卷的位图元数据(Bitmap)也将定格,数据无论传输多少均保存;之后应用程序切换到远程存储系统启动,启动之前远程存储系统为每一个参与容灾的逻辑卷创建一份全0的位图元数据(Bitmap),然后开始接受主机的写IO(输入输出),每接受一个IO,就在bitmap对应位置1,然后将数据写入容灾逻辑卷,当本地存储系统恢复之后,需要将远程存储系统变更的数据重新同步Resync回本地存储系统的逻辑卷,此时本地存储系统首先将灾难之前被定格的bitmap传送到远程存储系统,远程存储系统将这份本地存储系统的bitmap与它的bitmap进行异或操作,得到新的bitmap中为1的位就表示需要进行Resync的数据地址,然后远程存储系统读出对应的数据传回本地存储系统,数据都传输成功后,回切到本地存储系统。
在本实施例中涉及的定义解释如下:
RAID阵列:即Redundant Array of Independent Disks的缩写,磁盘阵列是由很多块独立的磁盘组合成一个容量巨大的磁盘组,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。利用这项技术,将数据切割成许多区段,分别存放在各个磁盘上。
条带:又称为stripe;是阵列的不同分区上的位置相关的strip的集合,是组织不同分区上分块的单位。
分块:又称为strip/chunk;是磁盘上的物理存储介质的分区,用于RAID阵列进行数据重构的粒度大小。
数据分块:主机下发的有效数据。
P校验分块:条带中P校验分块,由数据分块异或运算得出。
Q校验分块:RAID6阵列中Q校验分块,和P校验分块配合运用,可以恢复RAID6阵列中的两个故障磁盘。
快照:快照是存储系统中的一种数据保护技术,在某个时间点,给某个磁盘(或者存储中的某个逻辑卷)打个快照,相当于让存储系统给这个磁盘或逻辑卷拍了一个照片。当之后的使用过程中发生了意外,比如病毒把数据搞坏了等等。这个时候可以通过快照知道原来的数据是什么样的,这样数据就可以找回来了。
coredump:Linux内核将进程某一时刻的数据信息存放在一个coredump文件中,这个就是快照。在程序发生某些错误而导致进程异常退出时,Linux内核会根据进程当时的内存信息,生成一个coredump文件,即快照的一个实例应用。
逻辑卷:主机I/O访问数据的逻辑单元,由RAID阵列的多个条带(stripe)组成。
存储系统:即存储控制器,含CPU、内存、SAS接口等。
集群:存储系统中为了保证系统的高可用性,会使用两个节点组成一个IOGROUP,两个节点分别连接双端口硬盘的一个端口,IOGROUP中的两个节点互为对端节点,一个或多个IOGROUP组成集群,集群中节点可相互通信。
IO:Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。
bitmap:位图元数据。
集群:存储系统为了保证系统的高可用性,会使用两个节点组成一个IOGROUP,IOGROUP中的两个节点互为对端节点,一个或多个IOGROUP组成集群,集群中节点可相互通信。
iSCSI:Internet Small Computer System Interface的缩写,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。
FCoE:Fibre Channel over Ethernet的缩写,以太网光纤通道,是一种计算机网络技术,通过以太网网络封装光纤通道帧。它允许光纤通道在保留光纤通道协议的同时使用万兆以太网(或更高速度)。
本发明针对存储领域中遇到的数据一致性痛点问题,在集群机制的基础上提出一种异步容灾系统,对发生灾难的本地存储系统中丢失的数据可以实现有效恢复,有效提高存储系统数据安全性。本地存储系统在数据传输过程中,一旦本地存储系统发生灾难或者链路中断问题,那么此时处于远端存储系统中的数据几乎就是不一致的,针对这个问题,本发明使用快照把远程存储系统上的数据进行回退以解决数据一致性问题。以此最大程度提升存储环境的数据可靠性,并解决数据一致性问题。
本发明提出的技术方案不仅可以应用于硬RAID存储技术(RAID卡),同时也适用于软RAID存储技术。描述的方法和系统不仅可以应用在存储领域,在云计算和人工智能等领域同样可以作为参考借鉴。
实施例2
在实施例2中包含实施例1的全部内容。在实施例2中,本申请提供的数据一致性处理方法,可以应用于如图4所示的应用环境中。其中,终端102或本地服务器103通过网络与云服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,本地服务器103或云服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例以终端102或本地服务器103作为本地存储系统,以云服务器104作为远程存储系统。本实施例2中涉及的名词解释请参阅实施例1的内容。
在一个实施例中,如图5所示,提供了一种数据一致性处理方法,以该方法应用于图4中的云服务器104为例进行说明,包括以下步骤:
步骤S1,实时检测是否将本地存储系统的数据传输到远程存储系统中;
步骤S2,响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
步骤S3,获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
步骤S4,实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
步骤S5,响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
在本实施例中,所述方法还包括:
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统的当前数据组制作第二快照;
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述本地存储系统的第二快照;
响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第二快照再次向所述远程存储系统上传所述上传数据信息。
其中,在上传数据信息上传至所述远程存储系统过程前对本地存储系统的当前数据组制作第二快照可避免本地存储系统数据出错。
在本实施例另一种实施方式中,也可设置所述方法还包括:
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统上传至所述远程存储系统的上传数据信息制作第四快照;
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述第四快照;
响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第四快照再次向所述远程存储系统上传所述上传数据信息。
将上传数据信息制作第四快照,恢复后基于第四快照再次向所述远程存储系统上传所述上传数据信息可避免因上传数据信息在上传过程的导致的数据错误。
结合图2,如图6所示,在本实施例中,所述对所述远程存储系统的当前数据组制作第一快照步骤包括:
步骤S21,检测获取所述远程存储系统中的当前数据组存储在独立磁盘冗余磁盘阵列的硬盘上的逻辑卷号(LUN);
步骤S22,将所述逻辑卷号对应的逻辑卷所属的独立磁盘冗余磁盘阵列制作第一快照。
如图7所示,在本实施例中,向所述远程存储系统上传所述上传数据信息步骤包括:
步骤S31,设置所述本地存储系统通过因特网小型计算机系统接口(iSCSI)、以太网、以太网光纤通道(FCoE)、光纤通道之一的通信方式将所述上传数据信息传输至所述远程存储系统;
步骤S32,将所述上传数据信息拆分为多组目的端数据,并按序设置上传时序;
步骤S33,将所述多组目的端数据按照上传时序先后顺序依次传输到所述远程存储系统。
设置上传数据信息的多组目的端数据的上传时序,可以保证上传数据顺序正确,避免上传数据信息在上传过程的导致的数据错误。
在本实施例中,所述方法还包括:
响应于检测到所述本地存储系统发生灾难之后,获取所述本地存储系统中所有受影响的逻辑卷;
在所述远程存储系统中对所有受影响的逻辑卷创建一份输入输出区;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
响应于所述远程存储系统的变更数据同步(Resync)到所述本地存储系统中后,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
具体的,集群内多控存储系统之间互相传输数据下的控制器切换和回切:本地存储系统在任意时刻发生灾难之后,本地存储系统和远程存储系统之间对应的数据是绝对相同的。由于本地存储系统发生灾难,因此需要将业务切换到远程存储系统执行,但是在切换之前,我们在远程存储系统对所有受影响的逻辑卷创建一份新的全0的bitmap,用来记录所有切换之后针对逻辑卷的写IO数据,被写过则将IO地址的对应位置为1。本地存储系统恢复之后,需要将远程存储系统的变更数据重新同步(Resync)到本地存储系统,此时远程存储系统扫描每个卷的Bitmap,把为1的bit位所对应的地址上数据读取并覆盖到本地存储系统对应逻辑卷的对应位置。结束之后,回切到本地存储系统。
在本实施例中,所述方法还包括:
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,将远程存储系统的数据组制作第三快照并封存;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,在所述远程存储系统中对每一个参与容灾的逻辑卷创建一份输入输出区,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
将所述第三快照的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息;
响应于检测到将所述本地存储系统的异步容灾数据信息传输到远程存储系统中时,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
具体的,异步容灾系统的本地系统发生灾难:本地系统发生灾难,但是硬盘完好没有被破坏。一切活动停止,数据状态永远定格,对应本地存储系统的逻辑卷的位图元数据(Bitmap)也将定格,数据无论传输多少均保存;之后应用程序切换到远程存储系统启动,启动之前远程存储系统为每一个参与容灾的逻辑卷创建一份全0的位图元数据(Bitmap),然后开始接受主机的写IO(输入输出),每接受一个IO,就在bitmap对应位置1,然后将数据写入容灾逻辑卷,当本地存储系统恢复之后,需要将远程存储系统变更的数据重新同步Resync回本地存储系统的逻辑卷,此时本地存储系统首先将灾难之前被定格的bitmap传送到远程存储系统,远程存储系统将这份本地存储系统的bitmap与它的bitmap进行异或操作,得到新的bitmap中为1的位就表示需要进行Resync的数据地址,然后远程存储系统读出对应的数据传回本地存储系统,数据都传输成功后,回切到本地存储系统。
其中,响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,在封存第三快照之后,还包括:采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组;响应于检测到所述本地存储系统恢复之后,还包括:将所述远程存储系统的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息。
在本实施例中,在所述远程存储系统中的所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址,并将输入输出数据的地址对应的输入输出数据作为变更数据;根据所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址将所述远程存储系统的变更数据重新同步(Resync)到所述本地存储系统中。
上述数据一致性处理方法中,通过在远程存储系统获取上传数据信息时制作第一快照,在上传错误时利用第一快照进行回滚复原,避免了上传数据错误导致远程存储系统中的数据错误,并在上传数据信息成功上传至所述远程存储系统后更新第一快照,保证了远程存储系统的数据与本地存储系统的数据时刻保持一致,实现数据一致性保护和数据一致性组保护。
应该理解的是,虽然图5-图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5-图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例3
在一个实施例中,如图8所示,提供了一种数据一致性处理装置10,包括:上传数据检测模块1、快照制作模块2、上传数据模块3、数据恢复管理模块4、数据更新模块5。
所述上传数据检测模块1用于实时检测是否将本地存储系统的数据传输到远程存储系统中。
所述快照制作模块2用于响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照。
所述上传数据模块3用于获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息。
所述数据恢复管理模块4用于实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功。
所述数据更新模块5用于响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
在本实施例中,所述数据一致性处理装置10还包括:
所述快照制作模块2用于响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统的当前数据组制作第二快照;
所述数据恢复管理模块4用于响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述本地存储系统的第二快照;
所述上传数据模块3用于响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第二快照再次向所述远程存储系统上传所述上传数据信息。
在本实施例中,所述对所述远程存储系统的当前数据组制作第一快照步骤包括:
检测获取所述远程存储系统中的当前数据组存储在独立磁盘冗余磁盘阵列的硬盘上的逻辑卷号(LUN);
将所述逻辑卷号对应的逻辑卷所属的独立磁盘冗余磁盘阵列制作第一快照。
在本实施例中,向所述远程存储系统上传所述上传数据信息步骤包括:
设置所述本地存储系统通过因特网小型计算机系统接口(iSCSI)、以太网、以太网光纤通道(FCoE)、光纤通道之一的通信方式将所述上传数据信息传输至所述远程存储系统;
将所述上传数据信息拆分为多组目的端数据,并按序设置上传时序;
将所述多组目的端数据按照上传时序先后顺序依次传输到所述远程存储系统。
在本实施例中,所述数据恢复管理模块4还用于:
响应于检测到所述本地存储系统发生灾难之后,获取所述本地存储系统中所有受影响的逻辑卷;
在所述远程存储系统中对所有受影响的逻辑卷创建一份输入输出区;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
响应于所述远程存储系统的变更数据同步(Resync)到所述本地存储系统中后,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在本实施例中,所述数据恢复管理模块4还用于:
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,将远程存储系统的数据组制作第三快照并封存;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,在所述远程存储系统中对每一个参与容灾的逻辑卷创建一份输入输出区,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
将所述第三快照的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息;
响应于检测到将所述本地存储系统的异步容灾数据信息传输到远程存储系统中时,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在本实施例中,在所述远程存储系统中的所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址,并将输入输出数据的地址对应的输入输出数据作为变更数据;根据所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址将所述远程存储系统的变更数据重新同步(Resync)到所述本地存储系统中。
上述数据一致性处理装置中,通过在远程存储系统获取上传数据信息时制作第一快照,在上传错误时利用第一快照进行回滚复原,避免了上传数据错误导致远程存储系统中的数据错误,并在上传数据信息成功上传至所述远程存储系统后更新第一快照,保证了远程存储系统的数据与本地存储系统的数据时刻保持一致,实现数据一致性保护和数据一致性组保护。
关于数据一致性处理装置的具体限定可以参见上文中对于数据一致性处理方法的限定,在此不再赘述。上述数据一致性处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例4
在一个实施例中,提供了一种异步容灾系统,其包括前文所述的数据一致性处理装置10。所述异步容灾系统对发生灾难的本地存储系统中丢失的数据可以实现有效恢复,有效提高存储系统数据安全性。本地存储系统在数据传输过程中,一旦本地存储系统发生灾难或者链路中断问题,那么此时处于远端存储系统中的数据几乎就是不一致的,针对这个问题,本发明使用快照把远程存储系统上的数据进行回退以解决数据一致性问题。以此最大程度提升存储环境的数据可靠性,并解决数据一致性问题。
本发明提出的技术方案不仅可以应用于硬RAID存储技术(RAID卡),同时也适用于软RAID存储技术。描述的方法和系统不仅可以应用在存储领域,在云计算和人工智能等领域同样可以作为参考借鉴。
实施例5
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据一致性处理数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据一致性处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
实时检测是否将本地存储系统的数据传输到远程存储系统中;
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述方法还包括:
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统的当前数据组制作第二快照;
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述本地存储系统的第二快照;
响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第二快照再次向所述远程存储系统上传所述上传数据信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述对所述远程存储系统的当前数据组制作第一快照步骤包括:
检测获取所述远程存储系统中的当前数据组存储在独立磁盘冗余磁盘阵列的硬盘上的逻辑卷号(LUN);
将所述逻辑卷号对应的逻辑卷所属的独立磁盘冗余磁盘阵列制作第一快照。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
向所述远程存储系统上传所述上传数据信息步骤包括:
设置所述本地存储系统通过因特网小型计算机系统接口(iSCSI)、以太网、以太网光纤通道(FCoE)、光纤通道之一的通信方式将所述上传数据信息传输至所述远程存储系统;
将所述上传数据信息拆分为多组目的端数据,并按序设置上传时序;
将所述多组目的端数据按照上传时序先后顺序依次传输到所述远程存储系统。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述方法还包括:
响应于检测到所述本地存储系统发生灾难之后,获取所述本地存储系统中所有受影响的逻辑卷;
在所述远程存储系统中对所有受影响的逻辑卷创建一份输入输出区;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
响应于所述远程存储系统的变更数据同步(Resync)到所述本地存储系统中后,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
所述方法还包括:
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,将远程存储系统的数据组制作第三快照并封存;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,在所述远程存储系统中对每一个参与容灾的逻辑卷创建一份输入输出区,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
将所述第三快照的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息;
响应于检测到将所述本地存储系统的异步容灾数据信息传输到远程存储系统中时,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在所述远程存储系统中的所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址,并将输入输出数据的地址对应的输入输出数据作为变更数据;根据所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址将所述远程存储系统的变更数据重新同步(Resync)到所述本地存储系统中。
关于处理器执行计算机程序时实现步骤的具体限定可以参见上文中对于数据一致性处理的方法的限定,在此不再赘述。
实施例6
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
实时检测是否将本地存储系统的数据传输到远程存储系统中;
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
所述方法还包括:
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统的当前数据组制作第二快照;
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述本地存储系统的第二快照;
响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第二快照再次向所述远程存储系统上传所述上传数据信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
所述对所述远程存储系统的当前数据组制作第一快照步骤包括:
检测获取所述远程存储系统中的当前数据组存储在独立磁盘冗余磁盘阵列的硬盘上的逻辑卷号(LUN);
将所述逻辑卷号对应的逻辑卷所属的独立磁盘冗余磁盘阵列制作第一快照。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
向所述远程存储系统上传所述上传数据信息步骤包括:
设置所述本地存储系统通过因特网小型计算机系统接口(iSCSI)、以太网、以太网光纤通道(FCoE)、光纤通道之一的通信方式将所述上传数据信息传输至所述远程存储系统;
将所述上传数据信息拆分为多组目的端数据,并按序设置上传时序;
将所述多组目的端数据按照上传时序先后顺序依次传输到所述远程存储系统。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
所述方法还包括:
响应于检测到所述本地存储系统发生灾难之后,获取所述本地存储系统中所有受影响的逻辑卷;
在所述远程存储系统中对所有受影响的逻辑卷创建一份输入输出区;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
响应于所述远程存储系统的变更数据同步(Resync)到所述本地存储系统中后,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
所述方法还包括:
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,将远程存储系统的数据组制作第三快照并封存;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,在所述远程存储系统中对每一个参与容灾的逻辑卷创建一份输入输出区,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步(Resync)到所述本地存储系统中;
将所述第三快照的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息;
响应于检测到将所述本地存储系统的异步容灾数据信息传输到远程存储系统中时,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在所述远程存储系统中的所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址,并将输入输出数据的地址对应的输入输出数据作为变更数据;根据所述输入输出区的位图元数据(Bitmap)中记录输入输出数据的地址将所述远程存储系统的变更数据重新同步(Resync)到所述本地存储系统中。
关于计算机程序被处理器执行时实现步骤的具体限定可以参见上文中对于数据一致性处理的方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据一致性处理方法,其特征在于,包括:
实时检测是否将本地存储系统的数据传输到远程存储系统中;
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
2.根据权利要求1所述的数据一致性处理方法,其特征在于,所述方法还包括:
响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述本地存储系统的当前数据组制作第二快照;
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,并保存所述本地存储系统的第二快照;
响应于所述本地存储系统与所述远程存储系统通讯恢复时,根据所述第二快照再次向所述远程存储系统上传所述上传数据信息。
3.根据权利要求1所述的数据一致性处理方法,其特征在于,所述对所述远程存储系统的当前数据组制作第一快照步骤包括:
检测获取所述远程存储系统中的当前数据组存储在独立磁盘冗余磁盘阵列的硬盘上的逻辑卷号;
将所述逻辑卷号对应的逻辑卷所属的独立磁盘冗余磁盘阵列制作第一快照。
4.根据权利要求1所述的数据一致性处理方法,其特征在于,向所述远程存储系统上传所述上传数据信息步骤包括:
设置所述本地存储系统通过因特网小型计算机系统接口、以太网、以太网光纤通道、光纤通道之一的通信方式将所述上传数据信息传输至所述远程存储系统;
将所述上传数据信息拆分为多组目的端数据,并按序设置上传时序;
将所述多组目的端数据按照上传时序先后顺序依次传输到所述远程存储系统。
5.根据权利要求1所述的数据一致性处理方法,其特征在于,所述方法还包括:
响应于检测到所述本地存储系统发生灾难之后,获取所述本地存储系统中所有受影响的逻辑卷;
在所述远程存储系统中对所有受影响的逻辑卷创建一份输入输出区;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步到所述本地存储系统中;
响应于所述远程存储系统的变更数据同步到所述本地存储系统中后,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
6.根据权利要求1所述的数据一致性处理方法,其特征在于,所述方法还包括:
响应于检测到所述上传数据信息在上传至所述远程存储系统过程中被中断时,将远程存储系统的数据组制作第三快照并封存;
将所述本地存储系统的业务流程切换到所述远程存储系统中执行,在所述远程存储系统中对每一个参与容灾的逻辑卷创建一份输入输出区,并在所述输入输出区中记录变更数据;
响应于检测到所述本地存储系统恢复之后,将所述输入输出区中记录的变更数据重新同步到所述本地存储系统中;
将所述第三快照的数据与所述本地存储系统的数据进行异或对比获取所述本地存储系统向所述远程存储系统上传的异步容灾数据信息;
响应于检测到将所述本地存储系统的异步容灾数据信息传输到远程存储系统中时,将所述本地存储系统的业务流程切回到所述本地存储系统中执行。
7.根据权利要求5或6所述的数据一致性处理方法,其特征在于,在所述远程存储系统中的所述输入输出区的位图元数据中记录输入输出数据的地址,并将输入输出数据的地址对应的输入输出数据作为变更数据;根据所述输入输出区的位图元数据中记录输入输出数据的地址将所述远程存储系统的变更数据重新同步到所述本地存储系统中。
8.一种数据一致性处理装置,其特征在于,所述装置包括:
上传数据检测模块,用于实时检测是否将本地存储系统的数据传输到远程存储系统中;
快照制作模块,用于响应于检测到将本地存储系统的数据传输到远程存储系统中时,对所述远程存储系统的当前数据组制作第一快照;
上传数据模块,用于获取所述本地存储系统向所述远程存储系统的上传数据信息,并向所述远程存储系统上传所述上传数据信息;
数据恢复管理模块,用于实时检测所述上传数据信息是否上传成功;若否则采用第一快照将远程存储系统的数据组回滚到上传数据信息之前时间点一致的数据组,再次向所述远程存储系统上传所述上传数据信息,直至上传成功;
数据更新模块,用于响应于检测到所述上传数据信息成功上传至所述远程存储系统后,根据所述远程存储系统的当前数据组更新所述第一快照。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310831382.1A CN117033070A (zh) | 2023-07-07 | 2023-07-07 | 数据一致性处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310831382.1A CN117033070A (zh) | 2023-07-07 | 2023-07-07 | 数据一致性处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033070A true CN117033070A (zh) | 2023-11-10 |
Family
ID=88632511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310831382.1A Pending CN117033070A (zh) | 2023-07-07 | 2023-07-07 | 数据一致性处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033070A (zh) |
-
2023
- 2023-07-07 CN CN202310831382.1A patent/CN117033070A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10705911B2 (en) | Storing data in a distributed storage system | |
EP3109757B1 (en) | Data storage method, data recovery method, related apparatus, and system | |
US10108367B2 (en) | Method for a source storage device sending data to a backup storage device for storage, and storage device | |
US9563517B1 (en) | Cloud snapshots | |
US9600553B1 (en) | Distributed replication in cluster environments | |
US8055943B2 (en) | Synchronous and asynchronous continuous data protection | |
CN108351821B (zh) | 数据恢复方法及存储设备 | |
US11698728B2 (en) | Data updating technology | |
US11487463B2 (en) | Adaptive replication modes in a storage system | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
CN107729536B (zh) | 一种数据存储方法和装置 | |
US7979396B1 (en) | System and method for performing consistent resynchronization between synchronized copies | |
CN110825559A (zh) | 一种数据处理方法及设备 | |
CN115454727A (zh) | 一种数据恢复方法、装置、设备及可读存储介质 | |
US9015433B2 (en) | Resiliency with a destination volume in a replication environment | |
US8745343B2 (en) | Data duplication resynchronization with reduced time and processing requirements | |
US10740189B2 (en) | Distributed storage system | |
CN117033070A (zh) | 数据一致性处理方法、装置、计算机设备和存储介质 | |
US10353642B2 (en) | Selectively improving RAID operations latency | |
US11500741B2 (en) | Data write method and storage system | |
CN116339609A (zh) | 一种数据处理方法以及存储设备 | |
CN111831230A (zh) | 一种面向高性能计算及大数据的智能存储系统 | |
US20050071380A1 (en) | Apparatus and method to coordinate multiple data storage and retrieval systems | |
CN112256657A (zh) | 日志镜像方法及系统 | |
US20230350753A1 (en) | Storage system and failure handling method |
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 |