CN112540872B - 通用持续数据保护方法、装置及电子设备 - Google Patents
通用持续数据保护方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112540872B CN112540872B CN202011350438.4A CN202011350438A CN112540872B CN 112540872 B CN112540872 B CN 112540872B CN 202011350438 A CN202011350438 A CN 202011350438A CN 112540872 B CN112540872 B CN 112540872B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- read
- write request
- protocol
- 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.)
- Active
Links
Images
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/1448—Management of the data involved in backup or backup restore
-
- 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
- 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/062—Securing storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据备份技术领域,具体涉及通用持续数据保护方法、装置及电子设备,所述方法包括利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求;基于存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;根据各个所述读写请求,对确定出的存储对象进行读写操作。本地集成有至少一种存储应用对应的存储协议,利用存储应用与存储协议之间的对应关系,就可以兼容多种存储应用的读写需求;且还集成有存储协议与存储驱动的映射关系,利用该映射关系就可以在本地集成至少一种存储对象的存储驱动,从而可以在不额外部署持续数据保护的前提下满足至少一种存储应用的存储需求。
Description
技术领域
本发明涉及数据备份技术领域,具体涉及通用持续数据保护方法、装置及电子设备。
背景技术
传统的数据备份解决方案专注在对数据的周期性备份上,因此一直伴随有备份窗口、数据一致性以及对生产系统的影响等问题。持续数据保护(Continuous DataProtection,简称为CDP)为用户提供了新的数据保护手段,因为CDP系统会不断监测关键数据的变化,从而不断地自动实现数据的保护,因此系统管理者无须关注数据的备份过程。而且,仅仅当灾难发生后,简单地选择需要恢复到的时间点即可实现数据的快速恢复。
在现有的持续数据保护方法中,因为不同存储前端应用对应不同的存储协议,不同的存储后端对应不同的存储驱动,因此,不同的存储前端应用和存储后端导致CDP的差别非常大。比如,前端可以是基于云平台、虚拟机、文件存储以及逻辑卷等的应用,后端存储可以是iSCSI、NAS、DAS、分布式存储以及FC-SAN等。然而,在用户的实际生产环境里面,可能同时存在多种不同的存储应用场景。若仅部署一种CDP将难以满足多种不同存储应用场景的需求;若对于每个存储应用场景部署对应的CDP,这就需要同时维护多个CDP,导致维护成本增大。因此,在多种不同的存储应用场景下,现有的CDP难以兼容应用需求与维护成本。
发明内容
有鉴于此,本发明实施例提供了一种通用持续数据保护方法、装置及电子设备,以解决现有CDP难以兼容应用需求与维护成本的问题。
根据第一方面,本发明实施例提供了一种通用持续数据保护方法,包括:
利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求;
基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
根据各个所述读写请求,对确定出的存储对象进行读写操作。
本发明实施例提供的通用持续数据保护方法,在本地集成有至少一种存储应用对应的存储协议,利用存储应用与存储协议之间的对应关系,就可以兼容多种存储应用的读写需求;且本地还集成有存储协议与存储驱动的映射关系,利用该映射关系就可以建立存储应用与存储驱动的对应关系,进而就可以在本地集成至少一种存储对象的存储驱动,从而可以在不额外部署持续数据保护的前提下满足至少一种存储应用的存储需求,实现通用的持续数据保护,解决了兼容应用需求与维护成本的问题。
结合第一方面,在第一方面第一实施方式中,所述利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求,包括:
获取所述存储应用与对应的所述存储协议的连接通道;
基于所述存储协议的连接通道,接收对应的所述存储应用的读写请求。
本发明实施例提供的通用持续数据保护方法,利用所获取到的存储应用与对应的存储协议的连接通道之后,后续通过相应连接通道获取到读取请求之后,就可以确定出该读取请求对应的存储协议,避免了复杂的协议匹配,提高了数据读写的效率。
结合第一方面第一实施方式,在第一方面第二实施方式中,所述获取所述存储应用与对应的所述存储协议的连接通道,包括:
建立存储应用与存储协议的一一对应关系;
基于所述一一对应关系,建立所述存储应用与对应的所述存储协议的连接通道。
结合第一方面,在第一方面第三实施方式中,所述基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应,包括:
获取配置信息,所述配置信息包括存储协议与存储驱动的映射关系;
基于所述配置信息,确定各个所述数据读写请求对应的存储驱动,以得到各个所述数据读写请求对应的存储对象。
本发明实施例提供的通用持续数据保护方法,在本地的配置信息中事先设置有存储协议与存储驱动的映射关系,利用该映射关系就可以确定出各个数据读写请求对应的存储驱动,进而可以处理各个数据读写请求,利用该配置信息就可以在本地部署多个存储驱动,为通用持续数据保护提供了条件。
结合第一方面,或第一方面第一实施方式至第三实施方式中任一项,在第一方面第四实施方式中,当所述读写请求为写数据时,所述读写请求包括待存储数据,所述根据各个所述读写请求,对确定出的存储对象进行读写操作,包括:
将各个所述待存储数据存储至确定出的存储对象中;
将各个所述待存储数据打上对应的时间戳并存储至备份存储对象中;
当所述存储对象以所述备份存储对象均存储成功时,利用对应的所述存储协议向至少一个所述存储应用返回写成功的信息。
本发明实施例提供的通用持续数据保护方法,在将待存储数据存储至存储对象中时,还给各个待存储数据打上时间戳并存储至备份存储对象中,以保证后续数据的恢复。
结合第一方面,或第一方面第一实施方式至第三实施方式中任一项,在第一方面第五实施方式中,当所述读写请求为读数据时,所述读写请求中携带有待读取数据的信息,所述根据各个所述读写请求,对确定出的存储对象进行读写操作,包括:
利用所述待读取数据的信息,从确定出的存储对象中读取对应的目标数据;
基于对应的所述存储协议将所述目标数据反馈给至少一个所述存储应用。
结合第一方面,在第一方面第六实施方式中,所述方法还包括:
获取数据恢复请求,所述数据恢复请求中携带有数据恢复时间点;
利用所述数据恢复时间点确定恢复数据;
将所述恢复数据存储至预设存储空间中。
本发明实施例提供的通用持续数据保护方法,在接收到数据恢复时间点之后,就可以利用该时间点进行数据恢复,防止数据丢失,提高了数据可靠性。
根据第二方面,本发明实施例还提供了一种通用持续数据保护装置,包括:
接收模块,用于利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求;
确定模块,用于基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
读写模块,用于根据各个所述读写请求,对确定出的存储对象进行读写操作。
本发明实施例提供的通用持续数据保护装置,在本地集成有至少一种存储应用对应的存储协议,利用存储应用与存储协议之间的对应关系,就可以兼容多种存储应用的读写需求;且本地还集成有存储协议与存储驱动的映射关系,利用该映射关系就可以建立存储应用与存储驱动的对应关系,进而就可以在本地集成至少一种存储对象的存储驱动,从而可以在不额外部署持续数据保护的前提下满足至少一种存储应用的存储需求,实现通用的持续数据保护,解决了兼容应用需求与维护成本的问题。
根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的通用持续数据保护方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的通用持续数据保护方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的通用持续数据保护的应用场景;
图2是根据本发明实施例的通用持续数据保护方法的流程图;
图3是根据本发明实施例的通用持续数据保护方法的流程图;
图4是根据本发明实施例的通用持续数据保护方法的流程图;
图5是根据本发明实施例的通用持续数据保护装置的结构框图;
图6是本发明实施例提供的电子设备的硬件结构示意图;
图7是根据本发明实施例的通用持续数据保护的应用场景。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的通用持续数据保护方法可以应用于电子设备,例如网关等。该电子设备基于一个存储的适配代理,在下文中为描述方便,将执行本发明实施例的通用持续数据保护方法的电子设备称之为CDP网关。
本发明实施例CDP网关在前端对其所对接的存储应用提供各种API对接,即提供各种与存储应用对应的存储协议;所述的CDP网关在后端提供各种存储驱动,以对接不同的存储对象。该CDP网关通过执行本发明实施例中所述的通用持续数据保护方法,即可实现多种存储应用的数据读写,从而实现通用的数据保护,适用范围较广。
图1示出了本发明实施例的通用持续数据保护方法的一种可选的应用场景。如图1所示,所述的CDP网关对前端应用提供各种北向的API对接(即,存储协议),例如,iSCSItarget,nvme-OF target, NAS,linux nbd,scsi/bulk-target等。前端的应用(例如,KVM/qemu,iSCSI initiator,NAS应用等)通过这个CDP网关来和真实的后端存储对接。后端存储支持丰富的南向API(即,存储驱动),例如,linux AIO, NVME,rbd,virtio以及iscsi等等。需要说明的是,本发明实施例提供的通用持续数据保护方法中,所涉及到的存储应用、存储协议以及存储驱动并不限于图1所示,也可以为其他应用、协议以及驱动等等,具体可以根据实际需求在CDP网关中进行部署,在此并不做任何限制。
根据本发明实施例,提供了一种通用持续数据保护方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种通用持续数据保护方法,可用于电子设备,如上文所述的CDP网关等。在本实施例中,以CDP网关为例进行详细描述。图2是根据本发明实施例的通用持续数据保护方法的流程图,如图2所示,该流程包括如下步骤:
S11,利用与存储应用对应的存储协议,接收至少一个存储应用的数据读写请求。
如上文所述,在CDP网关中部署有多种存储协议,其中,所部署的存储协议与存储应用之间具有对应关系。CDP网关可以利用存储应用与存储协议的对应关系,接收至少一个存储应用的数据读写请求。具体地,与CDP网关连接的前端存储应用在需要进行数据读写请求时,其向CDP网关发送数据读写请求,CDP网关利用其部署的与存储应用对应的存储协议就可以响应该数据读写请求。
例如,在CDP网关中维护数据表,在该数据表中具有存储应用与存储协议的对应关系。CDP网关在接收一个数据读写请求之后,利用数据读写请求的来源,查询该数据表就可以确定其对应的存储协议。CDP网关利用该存储协议就可以接收并解析得到相应的数据读写请求。
对于CDP网关而言,其可以同时处理至少一个存储应用的数据读写请求,所述的存储应用可以是相同,也可以是不同的。由于在CDP网关中部署有多种与存储应用对应的存储协议,CDP网关在获知数据读写请求的来源之后,就可以确定与该数据读写请求对应的存储协议,从而就可以正确地解析出数据读写请求中相应的消息内容。
关于该步骤具体将在下文中进行详细描述。
S12,基于存储协议与存储驱动的映射关系,确定各个数据读写请求对应的存储对象。
其中,所述存储对象与所述存储驱动对应。
如上文所述,在CDP网关后端还部署有多种存储驱动,以便于与其所连接的存储对象进行正常的数据读写。进一步地,在CDP网关中维护有存储协议与存储驱动的映射关系,CDP网关利用存储协议与存储驱动的映射关系就可以确定出与存储协议对应的存储驱动,进而就可以确定出与存储协议对应的后端存储对象。其中,存储协议与存储驱动可以是一一对应映射,也可以是多对一的映射。具体可以根据实际情况进行相应的设置,在此并不做任何限制。
可选地,存储应用、存储协议以及存储驱动之间的相互对应关系,可以在同一数据表中进行维护,也可以分开进行维护。进一步地,所述的相互对应关系可以采用数据表的形式进行维护,也可以采用其它形式进行维护等等。在此对CDP网关维护存储应用、存储协议以及存储驱动之间的相互对应关系的方式及形式并不做任何限制,具体可以根据实际需求进行相应的设置。
关于该步骤具体将在下文中进行详细描述。
S13,根据各个读写请求,对确定出的存储对象进行读写操作。
CDP网关在利用存储协议接收到数据读写请求之后,就可以解析出数据读写请求中的消息内容;且在上述S12中,CDP网关已经确定出存储协议对应的存储驱动。那么,CDP网关利用存储驱动与存储对象之间的对应关系,就可以确定当前数据读写请求对应的存储对象。
CDP网关在确定出数据读写请求对应的存储对象之后,就可以对其进行数据读写操作。具体地,当数据读写请求为写请求时,CDP网关就将相应的待存储数据存储至对应的存储对象中;当数据读写请求为读请求时,CDP网关就从对应的存储对象中读取出数据并反馈给相应的存储应用。
关于该步骤具体将在下文中进行详细描述。
本实施例提供的通用持续数据保护方法,在本地集成有至少一种存储应用对应的存储协议,利用存储应用与存储协议之间的对应关系,就可以兼容多种存储应用的读写需求;且本地还集成有存储协议与存储驱动的映射关系,利用该映射关系就可以建立存储应用与存储驱动的对应关系,进而就可以在本地集成至少一种存储对象的存储驱动,从而可以在不额外部署持续数据保护的前提下满足至少一种存储应用的存储需求,实现通用的持续数据保护,解决了兼容应用需求与维护成本的问题。
在本实施例中提供了一种通用持续数据保护方法,可用于电子设备,如上文所述的CDP网关等,在本实施例中以CDP网关为例进行详细描述。图3是根据本发明实施例的通用持续数据保护方法的流程图,如图3所示,该流程包括如下步骤:
S21,利用与存储应用对应的存储协议,接收至少一个存储应用的数据读写请求。
具体地,上述S21可以包括如下步骤:
S211,获取存储应用与对应的存储协议的连接通道。
CDP网关中设置有与各个存储应用对应的API接口,在利用API接口与前端的存储应用建立连接关系之后,就相当于获取到存储应用与对应的存储协议的连接通道。其中,API接口与存储协议是一一对应的。即,每个API接口对应的存储协议不同。
作为本实施例的一种可选实施方式,上述S21可以包括如下步骤:
(1)建立存储应用与存储协议的一一对应关系。
在CDP网关中事先设置有与存储应用一一对应的API接口,如上文所述,每个API接口对应于一种存储协议。因此,就相当于在CDP网关中建立有存储应用与存储协议的一一对应关系。
(2)基于一一对应关系,建立存储应用与对应的存储协议的连接通道。
CDP网关在建立存储应用与存储协议的一一对应关系之后,就可以利用API接口创建与对应的存储应用的连接通道。即,CDP利用该一一对应关系,就能够建立存储应用与对应的存储协议的连接通道。所述的连接通道可以理解为存储应用与CDP网关对应的API接口的连接通路,利用该连接通路就可以实现存储应用与CDP网关的通信连接。
S212,基于存储协议的连接通道,接收对应的存储应用的读写请求。
CDP网关在建立与存储协议的连接通道之后,就可以利用该连接通道接收对应的存储应用的读写请求。其中,由于连接通道是与CDP网关中的存储协议对应的,就相当于利用CDP网关中的存储协议接收对应的存储应用的读写请求。
S22,基于存储协议与存储驱动的映射关系,确定各个数据读写请求对应的存储对象。
其中,所述存储对象与所述存储驱动对应。
具体地,上述S22可以包括如下步骤:
S221,获取配置信息。
其中,所述配置信息包括存储协议与存储驱动的映射关系。
所述的配置信息可以是用户通过与CDP网关交互设置的,在配置信息中可以配置存储协议与后端的存储驱动的映射关系;在配置信息中还可以配置哪些存储协议对应的存储应用的数据是需要进行持续数据保护的等等。具体配置信息中包括哪些信息可以根据实际情况进行相应的设置,在此并不做任何限制。
S222,基于配置信息,确定各个数据读写请求对应的存储驱动,以得到各个数据读写请求对应的存储对象。
CDP网关在获取到配置信息之后,就可以利用接收到的各个数据读写请求对应的存储协议,确定对应的存储驱动。在确定出存储驱动之后,就可以得到各个数据读写请求对应的存储对象。
其中,所述的存储驱动可以是在CDP网关中设置与后端的存储对象连接的API接口,利用这些API接口就可以实现CDP网关与存储对象之间的连接关系。具体地,CDP网关在使用之前,可以在前端设置与存储协议对应的API接口,在后端设置与存储对象对应的API接口。CDP网关利用与存储协议对应的API接口就可以实现CDP网关与前端存储应用之间的通信连接,利用与存储对象对应的API接口就可以实现与后端的存储对象之间的通信连接。进一步地,为了保证CDP网关在前端存储应用以及后端存储对象之间正常运行,在CDP网关中维护有前端存储应用与存储协议的对应关系,以及存储协议与存储驱动的映射关系。
S23,根据各个读写请求,对确定出的存储对象进行读写操作。
详细请参见图2所示实施例的S13,在此不再赘述。
本实施例提供的通用持续数据保护方法,利用所获取到的存储应用与对应的存储协议的连接通道之后,后续通过相应连接通道获取到读取请求之后,就可以确定出该读取请求对应的存储协议,避免了复杂的协议匹配,提高了数据读写的效率;同时,在本地的配置信息中事先设置有存储协议与存储驱动的映射关系,利用该映射关系就可以确定出各个数据读写请求对应的存储驱动,进而可以处理各个数据读写请求,利用该配置信息就可以在本地部署多个存储驱动,为通用持续数据保护提供了条件。
在本实施例中提供了一种通用持续数据保护方法,可用于电子设备,如网关等,图4是根据本发明实施例的通用持续数据保护方法的流程图,如图4所示,该流程包括如下步骤:
S31,利用与存储应用对应的存储协议,接收至少一个存储应用的数据读写请求。
详细请参见图3所示实施例的S21,在此不再赘述。
S32,基于存储协议与存储驱动的映射关系,确定各个数据读写请求对应的存储对象。
其中,所述存储对象与所述存储驱动对应。
详细请参见图3所示实施例的S22,在此不再赘述。
S33,根据各个读写请求,对确定出的存储对象进行读写操作。
CDP网关所接收到的读写请求可以是写数据,也可以是读数据。在下文中将分别针对写数据以及读数据对上述S33进行详细描述:
1)当所述读写请求为写数据时,所述读写请求包括待存储数据。上述S33可以包括如下步骤:
1.1)将各个待存储数据存储至确定出的存储对象中。
其中,所述的待存储数据可以是块存储、对象存储或者文件存储,在此对待存储数据的类型并不做任何限制。
CDP网关在接收到写数据的请求之后,将待存储数据存储至确定出的存储对象中。可选地,所述的写数据的请求可以就是待存储数据,在接收到写数据的请求之后,就可以将其存储至确定出的存储对象中。
1.2)将各个待存储数据打上对应的时间戳并存储至备份存储对象中。
CDP网关在接收到各个待存储数据之后,还将各个待存储数据打上对应的时间戳,并存储至备份存储对象中。例如,图7所示的CDP数据库,也可以是NAS、FC-SAN等等。
其中,备份存储对象是用于对数据进行备份的存储对象。在后续存储应用出现故障,或用户需要对某一数据进行恢复时,就可以从该备份存储对象中提取出相应的数据。
1.3)判断存储对象以及备份存储对象是否均存储成功。
当存储对象以及备份存储对象均存储成功时,执行1.4);否则,执行1.5)。
1.4)利用对应的存储协议向至少一个存储应用返回写成功的信息。
1.5)利用对应的存储协议向至少一个存储应用返回写失败的信息。
在将待存储数据存储至存储对象中时,还给各个待存储数据打上时间戳并存储至备份存储对象中,以保证后续数据的恢复。
作为本实施例的一种可选实施方式,如图7所示,数据保护的写IO过程可以包括如下步骤:1)前端存储应用发起写IO,CDP网关的数据保护模块通过北向API截获该写IO请求;2)数据保护模块通过南向API写入后端存储;3)记录该写入IO和时间戳,存入CDP数据库;4)等双写都成功后(步骤2,3)数据保护模块通过CDP网关的北向API,返回写成功;否则返回写失败。
2)当所述读写请求为读数据时,所述读写请求中携带有待读取数据的信息。上述S33可以包括如下步骤:
2.1)利用待读取数据的信息,从确定出的存储对象中读取对应的目标数据。
其中,所述的待读取数据的信息可以包括从哪个存储对象中读取数据,读取的是哪个时间段,或时间点的数据等等。CDP网关利用待读取数据的信息,就可以从确定出的存储对象中读取对应的目标数据。
2.2)基于对应的存储协议将目标数据反馈给至少一个存储应用。
CDP网关在读取出目标数据之后,就可以利用对应的存储协议将目标数据反馈给相应的存储应用。
作为本实施例的一种可选实施方式,如图7所示,数据保护的读IO可以采用如下步骤实现:1)前端存储应用发起读IO,CDP网关的数据保护模块通过北向API截获该写IO请求;2)数据保护模块通过南向API直接读取后端存储;3)数据保护模块通过北向API返回读IO结果。
S34,获取数据恢复请求。
其中,所述数据恢复请求中携带有数据恢复时间点。
数据恢复请求可以是用户依据需求主动发起的,也可以是在前端存储应用出现故障时用户发起的等等。在此对数据恢复请求的来源并不做任何限制,只需保证CDP网关能够获取到数据恢复请求即可。
S35,利用数据恢复时间点确定恢复数据。
如上文所述,CDP网关在对数据进行存储时,已经针对各个数据都打上相应的时间戳进行存储的。那么,相应地,CDP网关在接收到数据恢复请求之后,就可以利用数据恢复请求中的数据恢复时间点确定出相应的恢复数据。
S36,将恢复数据存储至预设存储空间中。
所述的预设存储空间可以是在数据恢复请求中携带的,也可以是用户确定出的,等等。在此对预设存储空间并不做任何限制。CDP网关在上述S35中确定出恢复数据之后,就可以提取出恢复数据并将提取出的恢复数据存储至预设存储空间中。
作为本实施例的一种可选实施方式,当前端存储应用故障,或用户主动发起故障恢复到某一时刻,可以采用如下步骤进行数据恢复:1)用户发起从某一时刻恢复数据对象;2)数据保护模块根据故障恢复点,提取增量的IO log;3)把增量IO合入后端存储的快照,并恢复数据对象;4)通知前端存储应用,数据恢复成功。
本实施例提供的通用持续数据保护方法,在接收到数据恢复时间点之后,就可以利用该时间点进行数据恢复,防止数据丢失,提高了数据可靠性。
作为本实施例的一种具体实施方式,如图7所示,所述的CDP网关中可以划分为配置管理中心以及数据保护模块。其中,用户通过该配置管理中心可以配置存储协议与存储驱动的映射关系,可以通过该配置管理中心发起数据恢复请求等等。所述的数据保护模块通过与后端的存储对象,以及CDP数据库之间的通信连接,可以实现数据读写以及数据恢复的操作。
如图7所述的CDP网关提供了一种通用持续数据保护方法,该数据保护方法的核心在于CDP的适配代理网关,该网关提供丰富的北向CDP的适配代理网关,该网关提供丰富的北向API,对接不同的前端存储应用;同时提供丰富的南向API对接不同的后端存储。持续数据保护的通用功能在CDP网关内部实现。CDP网关可以同时适配块存储、对象存储和文件存储。
CDP网关内置了一个配置管理中心,用户可以针对不同的数据类型(即,不同的存储应用)启用或关闭持续数据保护的能力。当用户从某一个时刻,启用对一个存储对象进行持续数据保护时,数据保护模块会对该数据对象打一个快照,以此时间点后的任何写IO和时间戳会被记录。
数据保护模块会截获所有北向API传过来的IO请求,根据配置管理中心的配置或规则,完成IO读写的同时,实现持续数据保护的功能。
在本实施例中还提供了一种通用持续数据保护装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种通用持续数据保护装置,如图5所示,包括:
接收模块41,用于利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求;
确定模块42,用于基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
读写模块43,用于根据各个所述读写请求,对确定出的存储对象进行读写操作。
本实施例提供的通用持续数据保护装置,在本地集成有至少一种存储应用对应的存储协议,利用存储应用与存储协议之间的对应关系,就可以兼容多种存储应用的读写需求;且本地还集成有存储协议与存储驱动的映射关系,利用该映射关系就可以建立存储应用与存储驱动的对应关系,进而就可以在本地集成至少一种存储对象的存储驱动,从而可以在不额外部署持续数据保护的前提下满足至少一种存储应用的存储需求,实现通用的持续数据保护,解决了兼容应用需求与维护成本的问题。
本实施例中的通用持续数据保护装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图5所示的通用持续数据保护装置。
请参阅图6,图6是本发明可选实施例提供的一种电子设备的结构示意图,如图6所示,该电子设备可以包括:至少一个处理器51,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(Display)、键盘(Keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合图5所描述的装置,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线52可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器54还可以包括上述种类的存储器的组合。
其中,处理器51可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic, 缩写:GAL)或其任意组合。
可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本申请图2至4实施例中所示的通用持续数据保护方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的通用持续数据保护方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (9)
1.一种通用持续数据保护方法,其特征在于,包括:
建立存储应用与存储协议的一一对应关系;
利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求;
基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
根据各个所述读写请求,对确定出的存储对象进行读写操作;
其中,所述基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
获取配置信息,所述配置信息包括存储协议与存储驱动的映射关系;
基于所述配置信息,确定各个所述数据读写请求对应的存储驱动,以得到各个所述数据读写请求对应的存储对象。
2.根据权利要求1所述的方法,其特征在于,所述利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求,包括:
获取所述存储应用与对应的所述存储协议的连接通道;
基于所述存储协议的连接通道,接收对应的所述存储应用的读写请求。
3.根据权利要求2所述的方法,其特征在于,所述获取所述存储应用与对应的所述存储协议的连接通道,包括:
基于所述一一对应关系,建立所述存储应用与对应的所述存储协议的连接通道。
4.根据权利要求1-3中任一项所述的方法,其特征在于,当所述读写请求为写数据时,所述读写请求包括待存储数据,所述根据各个所述读写请求,对确定出的存储对象进行读写操作,包括:
将各个所述待存储数据存储至确定出的存储对象中;
将各个所述待存储数据打上对应的时间戳并存储至备份存储对象中;
当所述存储对象以所述备份存储对象均存储成功时,利用对应的所述存储协议向至少一个所述存储应用返回写成功的信息。
5.根据权利要求1-3中任一项所述的方法,其特征在于,当所述读写请求为读数据时,所述读写请求中携带有待读取数据的信息,所述根据各个所述读写请求,对确定出的存储对象进行读写操作,包括:
利用所述待读取数据的信息,从确定出的存储对象中读取对应的目标数据;
基于对应的所述存储协议将所述目标数据反馈给至少一个所述存储应用。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取数据恢复请求,所述数据恢复请求中携带有数据恢复时间点;
利用所述数据恢复时间点确定恢复数据;
将所述恢复数据存储至预设存储空间中。
7.一种通用持续数据保护装置,其特征在于,包括:
建立模块,用于建立存储应用与存储协议的一一对应关系;
接收模块,用于利用与存储应用对应的存储协议,接收至少一个所述存储应用的数据读写请求;
确定模块,用于基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
读写模块,用于根据各个所述读写请求,对确定出的存储对象进行读写操作;
其中,所述基于所述存储协议与存储驱动的映射关系,确定各个所述数据读写请求对应的存储对象,所述存储对象与所述存储驱动对应;
获取配置信息,所述配置信息包括存储协议与存储驱动的映射关系;
基于所述配置信息,确定各个所述数据读写请求对应的存储驱动,以得到各个所述数据读写请求对应的存储对象。
8.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6中任一项所述的通用持续数据保护方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-6中任一项所述的通用持续数据保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350438.4A CN112540872B (zh) | 2020-11-26 | 2020-11-26 | 通用持续数据保护方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350438.4A CN112540872B (zh) | 2020-11-26 | 2020-11-26 | 通用持续数据保护方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540872A CN112540872A (zh) | 2021-03-23 |
CN112540872B true CN112540872B (zh) | 2022-04-01 |
Family
ID=75016858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011350438.4A Active CN112540872B (zh) | 2020-11-26 | 2020-11-26 | 通用持续数据保护方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540872B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835925B (zh) * | 2021-09-09 | 2023-10-31 | 北京星辰天合科技股份有限公司 | 存储对象备份方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101502067A (zh) * | 2006-08-15 | 2009-08-05 | 中兴通讯股份有限公司 | 一种家庭网关网络存储系统及其网络访问方法 |
CN101808123A (zh) * | 2010-03-09 | 2010-08-18 | 浪潮(北京)电子信息产业有限公司 | 在存储系统中访问存储资源的方法和装置 |
CN106802839A (zh) * | 2016-12-13 | 2017-06-06 | 龚平 | 一种基于块驱动的虚拟机数据保护方法 |
CN106815095A (zh) * | 2016-12-13 | 2017-06-09 | 龚平 | 一种云平台环境下虚拟机数据保护方法 |
US10642511B2 (en) * | 2018-10-05 | 2020-05-05 | EMC IP Holding Company LLC | Continuous data protection storage media using smart solid state drives |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862689B2 (en) * | 2007-10-24 | 2014-10-14 | International Business Machines Corporation | Local flash memory and remote server hybrid continuous data protection |
US20100153612A1 (en) * | 2008-12-15 | 2010-06-17 | Lsi Corporation | Transport agnostic scsi i/o referrals |
US10841375B2 (en) * | 2013-11-01 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Protocol agnostic storage access in a software defined network topology |
US9727503B2 (en) * | 2014-03-17 | 2017-08-08 | Mellanox Technologies, Ltd. | Storage system and server |
US9916095B2 (en) * | 2015-03-27 | 2018-03-13 | Kove Ip, Llc | Fork-safe memory allocation from memory-mapped files with anonymous memory behavior |
CN109085996A (zh) * | 2017-06-14 | 2018-12-25 | 中国移动通信集团重庆有限公司 | 弹性块存储数据的方法、装置、系统和存储介质 |
-
2020
- 2020-11-26 CN CN202011350438.4A patent/CN112540872B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101502067A (zh) * | 2006-08-15 | 2009-08-05 | 中兴通讯股份有限公司 | 一种家庭网关网络存储系统及其网络访问方法 |
CN101808123A (zh) * | 2010-03-09 | 2010-08-18 | 浪潮(北京)电子信息产业有限公司 | 在存储系统中访问存储资源的方法和装置 |
CN106802839A (zh) * | 2016-12-13 | 2017-06-06 | 龚平 | 一种基于块驱动的虚拟机数据保护方法 |
CN106815095A (zh) * | 2016-12-13 | 2017-06-09 | 龚平 | 一种云平台环境下虚拟机数据保护方法 |
US10642511B2 (en) * | 2018-10-05 | 2020-05-05 | EMC IP Holding Company LLC | Continuous data protection storage media using smart solid state drives |
Also Published As
Publication number | Publication date |
---|---|
CN112540872A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11397648B2 (en) | Virtual machine recovery method and virtual machine management device | |
US10108367B2 (en) | Method for a source storage device sending data to a backup storage device for storage, and storage device | |
US9250824B2 (en) | Backing up method, device, and system for virtual machine | |
CN108027757B (zh) | 用于从不透明数据备份流恢复数据的系统和方法 | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
US20190227710A1 (en) | Incremental data restoration method and apparatus | |
CN112540872B (zh) | 通用持续数据保护方法、装置及电子设备 | |
CN106469069A (zh) | 一种版本升级方法及系统 | |
CN112804330A (zh) | 应用通信方法及设备 | |
CN116560889A (zh) | 数据链路的管理方法、装置、计算机设备及存储介质 | |
CN114546676A (zh) | 云桌面文件拷贝方法、装置和设备 | |
CN114356650A (zh) | 数据备份方法、装置、设备、系统及存储介质 | |
CN104462403A (zh) | 文件截断方法和装置 | |
CN114691287A (zh) | 一种虚拟机迁移方法、装置及系统 | |
EP2348681A1 (en) | Storage method and system, terminal service board, control board and storage channel board | |
CN106997315B (zh) | 一种用于虚拟机的内存转储的方法和装置 | |
CN106776142B (zh) | 一种数据存储方法以及数据存储装置 | |
US20150301764A1 (en) | Hard Disk and Methods for Forwarding and Acquiring Data by Hard Disk | |
US10642788B1 (en) | Sand timer algorithm for tracking in-flight data storage requests for data replication | |
US9594795B1 (en) | Maintaining data consistency when data is changed out from under another data service | |
KR20200081430A (ko) | 전자 장치를 통한 운영 체제 복구 | |
CN114218015B (zh) | 数据备份方法、装置及电子设备 | |
CN113010407B (zh) | 一种系统信息获取方法、装置及系统 | |
CN113992518A (zh) | 网络设备的控制方法及装置 | |
CN114416439A (zh) | 存储应用方法、装置、系统、电子设备及可读介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |