CN103714089A - 一种实现云数据库回滚的方法及系统 - Google Patents

一种实现云数据库回滚的方法及系统 Download PDF

Info

Publication number
CN103714089A
CN103714089A CN201210379626.9A CN201210379626A CN103714089A CN 103714089 A CN103714089 A CN 103714089A CN 201210379626 A CN201210379626 A CN 201210379626A CN 103714089 A CN103714089 A CN 103714089A
Authority
CN
China
Prior art keywords
database
cloud
mirroring
memory module
operation log
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.)
Granted
Application number
CN201210379626.9A
Other languages
English (en)
Other versions
CN103714089B (zh
Inventor
沈强
谢振业
曹玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI SHENGXIAO CLOUD COMPUTING TECHNOLOGY Co.,Ltd.
Original Assignee
SHANGHAI SHANGDA NETWORKING DEVELOPMENT Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI SHANGDA NETWORKING DEVELOPMENT Co Ltd filed Critical SHANGHAI SHANGDA NETWORKING DEVELOPMENT Co Ltd
Priority to CN201210379626.9A priority Critical patent/CN103714089B/zh
Publication of CN103714089A publication Critical patent/CN103714089A/zh
Application granted granted Critical
Publication of CN103714089B publication Critical patent/CN103714089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Abstract

本发明公开了一种实现云数据库回滚的方法,用于实现快速及时、高可靠性地回滚云数据库,该方法包括:向云数据库实例发送创建镜像指令或上传操作日志指令,以使云数据库实例收到创建镜像指令后,创建数据库镜像,并将数据库镜像上传至云存储模块,收到上传操作日志指令后,将云数据库实例的操作日志文件上传至云存储模块;接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例,以使未被使用的云数据库实例从云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作。本发明还公开了一种实现云数据库回滚的系统。

Description

一种实现云数据库回滚的方法及系统
技术领域
本发明涉及云数据库领域,具体涉及一种实现云数据库回滚的方法及系统。
背景技术
数据库技术产生于20世纪60年代,随着计算机技术、通信技术和网络技术的快速发展,数据库技术也得到迅猛发展,成为信息化社会中最重要的支撑技术之一。随着数据库技术在各个行业和各个领域大量广泛的应用,在对数据库应用的过程中,人为误操作、人为恶意破坏、系统的不稳定、存储介质的损坏等等原因,都有可能造成重要数据的丢失。一旦数据出现丢失或者损坏,都将给企业和个人带来巨大的损失。因此,当数据库发生硬件或软件故障时,需要有效的将数据库回滚到某个正确状态或时间点,并保证数据库一致性和完整性。
自2007年“云计算”概念被提出以来,云计算技术和产品被大量推广普及,随着云计算逐渐从概念走向实际应用,基于云的数据库也逐渐得到重视和发展。云数据库不同于传统模式下搭建于本地服务器的数据库,它是部署与搭建在云计算环境中的数据库,用户只需要一个链接字符串即可从本地主机连接到云数据库进行操作。同样,用户使用搭建在云计算环境中的云数据库时也有回滚数据库的需求。
在现有技术中,一个云数据库实例可以由一台云主机搭载一个或多个云硬盘组成。搭建在云计算环境中的云数据库在回滚时,需要有效的数据库备份,在数据库备份的基础上执行灾难恢复策略。数据库备份有完全备份或差异备份等方式,完全备份需要备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象;差异备份只备份数据库自上次完全备份以来所改变的数据库。为了保证数据安全性及可靠性,数据库备份文件可以分别保存在与云主机对应的多个云硬盘中,但是,云硬盘需要搭载在云主机上才能使用,当云主机发生故障时,无法及时有效地进行云数据库回滚,无法保证数据的一致性,同时增加系统成本及数据维护的人力消耗。
发明内容
有鉴于此,本发明的主要目的是提供一种实现云数据库回滚的方法及系统,解决现有技术中实现数据库回滚使用云硬盘对数据库进行备份,存在无法及时有效地进行云数据库回滚,保证数据的一致性,同时增加系统成本及人力消耗的问题。
为解决上述问题,本发明提供的技术方案如下:
一种实现云数据库回滚的方法,所述方法包括:
向云数据库实例发送创建镜像指令或上传操作日志指令,以使所述云数据库实例收到所述创建镜像指令后,创建数据库镜像,并将所述数据库镜像上传至云存储模块,收到所述上传操作日志指令后,将所述云数据库实例的操作日志文件上传至所述云存储模块;
接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例,以使所述未被使用的云数据库实例从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
相应的,所述方法还包括:
将所述数据库镜像上传至所述云存储模块后,将数据库镜像信息上传至数据库模块;
将所述云数据库实例的操作日志文件上传至所述云存储模块后,将日志文件信息上传至所述数据库模块。
相应的,一个所述云数据库实例包括一台云主机和一个与所述云主机对应的云硬盘;
所述未被使用的云数据库实例从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,包括:
未被使用的云主机开机启动后运行初始化脚本,所述初始化脚本自动查询所述数据库模块以获得所述数据库镜像信息;
根据所述数据库镜像信息,从所述云存储模块下载最新上传的数据库镜像到与所述未被使用的云主机对应的云硬盘中的挂载目录;所述数据库镜像信息包括所述数据库镜像的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置;
所述初始化脚本自动查询所述数据库模块以获得所述日志文件信息;
根据所述日志文件信息,从所述云存储模块下载相应的操作日志文件;所述日志文件信息包括操作日志文件的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置。
相应的,所述在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作,包括:
所述初始化脚本启动数据库服务,并将所述云硬盘中的挂载目录作为所述数据库服务的数据目录,获得所述最新上传的数据库镜像;
所述数据库服务在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
相应的,所述方法还包括:
接收到用户发送的删除数据库指令后,根据所述删除数据库指令,格式化需要删除的云数据库实例。
相应的,所述方法还包括:
删除上传至所述云存储模块中不再使用的所述数据库镜像以及所述操作日志文件。
相应的,所述方法还包括:
删除上传至所述数据库模块中不再使用的所述数据库镜像信息以及所述日志文件信息。
一种实现云数据库回滚的系统,所述系统包括:
若干个云数据库实例、控制模块以及云存储模块;
所述控制模块,用于向所述云数据库实例发送创建镜像指令或上传操作日志指令;接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例;
所述云数据库实例,用于收到所述创建镜像指令后,创建数据库镜像,并将所述数据库镜像上传至云存储模块;收到所述上传操作日志指令后,将所述云数据库实例的操作日志文件上传至所述云存储模块;
所述控制模块申请的未被使用的云数据库实例,用于从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作;
云存储模块,用于保存所述数据库镜像以及所述操作日志文件。
相应的,所述系统还包括:
数据库模块,用于将所述数据库镜像上传至所述云存储模块后,接收并保存所述云数据库实例上传的数据库镜像信息;将所述云数据库实例的操作日志文件上传至所述云存储模块后,接收并保存所述云数据库实例上传的日志文件信息。
相应的,一个所述云数据库实例包括一台云主机和一个与所述云主机对应的云硬盘;
所述控制模块申请的未被使用的云主机,具体用于开机启动后运行初始化脚本,所述初始化脚本自动查询所述数据库模块以获得所述数据库镜像信息;根据所述数据库镜像信息,从所述云存储模块下载最新上传的数据库镜像到与所述未被使用的云主机对应的云硬盘中的挂载目录;所述数据库镜像信息包括所述数据库镜像的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置;所述初始化脚本自动查询所述数据库模块以获得所述日志文件信息;根据所述日志文件信息,从所述云存储模块下载相应的操作日志文件;所述日志文件信息包括操作日志文件的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置;所述初始化脚本启动数据库服务,并将所述云硬盘中的挂载目录作为所述数据库服务的数据目录,获得所述最新上传的数据库镜像;所述数据库服务在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
相应的,所述控制模块还用于:
接收到用户发送的删除数据库指令后,根据所述删除数据库指令,格式化需要删除的云数据库实例。
相应的,所述云存储模块还用于:
删除上传至所述云存储模块中不再使用的所述数据库镜像以及所述操作日志文件。
相应的,所述数据库模块还用于:
删除上传至所述数据库模块中不再使用的所述数据库镜像信息以及所述日志文件信息。
由此可见,本发明具有如下有益效果:
在大规模云计算环境中,定期上传云数据库实例的数据库镜像以及操作日志文件到具有高可靠性的云存储模块中存储,在用户需要进行数据库回滚时,可以及时快速从云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,通过在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作,及时快速、高可靠性对云数据库实例实现回滚,保证了数据的一致性,节约了维护数据所带来的成本消耗。另外,可以定期清理需要删除的云数据库实例、云存储模块及数据库模块中不需要的内容,节约了存储空间,降低了系统的使用成本。
附图说明
图1为本发明实现云数据库回滚方法的流程图;
图2为本发明实现云数据库回滚方法的一种具体实施例的流程图;
图3为本发明实现云数据库回滚系统的结构示意图;
图4为本发明实现云数据库回滚系统的一种具体结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明的方法,是针对现有技术中实现数据库回滚使用云硬盘对数据库进行备份,存在无法及时有效地进行云数据库回滚,同时增加系统成本及人力消耗的问题,提出将云数据库实例的数据库镜像及操作日志文件上传至云存储模块;用户需要对云数据库进行回滚时,从云存储模块下载最新上传的数据库镜像,并从云存储模块下载相应的操作日志文件中所记录的操作内容进行重放操作。
基于上述思想,参见图1所示,本发明实现云数据库回滚的方法包括以下步骤:
步骤101:向云数据库实例发送创建镜像指令或上传操作日志指令,以使云数据库实例收到创建镜像指令后,创建数据库镜像,并将数据库镜像上传至云存储模块,收到上传操作日志指令后,将云数据库实例的操作日志文件上传至云存储模块;
步骤102:接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例,以使所述未被使用的云数据库实例从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,云存储是一个以数据存储和管理为核心的云计算系统。云存储模块自身具有很高的可靠性,比如Amazon公司的s3云存储服务可以保证提供高达99.9%的可用性。
因此,在大规模云计算环境中,上传云数据库实例的数据库镜像以及操作日志文件到自身具有很高可靠性的云存储模块中存储,可以提高数据的可靠性,在用户需要进行数据库回滚时,可以及时快速从云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,通过在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作,及时、快速、高可靠性对云数据库实例实现回滚,保证了数据的一致性,节约了维护数据所带来的成本消耗。
一个云数据库实例可以由一台云主机和一个与云主机对应的云硬盘组成。
向云数据库实例发送创建镜像指令或上传操作日志指令,以使云数据库实例收到创建镜像指令后,创建数据库镜像,并将数据库镜像上传至云存储模块,收到上传操作日志指令后,将云数据库实例的操作日志文件上传至云存储模块。是使用云存储对数据库镜像及操作日志文件进行备份的过程,该数据库备份方法,为实现数据库回滚提供基础。
可以定期向云数据库实例的某个协定端口发送创建镜像指令或者上传操作日志指令,云数据库实例通过xinted服务监听协定端口。xinetd(eXendedInterNET services Daemon)服务可以提供访问控制、加强的日志和资源管理等功能。
云数据库实例接收到创建镜像指令后,可以创建数据库镜像,并将数据库镜像上传至云存储模块,将数据库镜像信息上传至数据库模块,数据库镜像信息可以包括数据库镜像的创建时间、名称、对应的云数据库实例名称以及在云存储模块中的存储位置,以记录每个数据库镜像是由哪个云数据库实例创建的、创建时间、名称及存储位置等信息。
云数据库实例收到上传操作日志指令后,可以将云数据库实例的操作日志文件上传至云存储模块,并将日志文件信息上传至数据库模块,日志文件信息可以包括操作日志文件的创建时间、名称、对应的云数据库实例名称以及在云存储模块中的存储位置等信息。
云存储模块可以用于存储云数据库实例的数据库镜像以及操作日志文件,为了保证更高的可靠性,还可以把数据库镜像以及操作日志文件保存到多个云存储模块中;而数据库模块可以用于存储相应的数据库镜像信息以及日志文件信息,这样,将数据库镜像信息以及日志文件信息单独存储,便于查询相关信息。
参见图2所示,本发明实现云数据库回滚的一种具体过程包括以下步骤:
步骤201:定期向云数据库实例的某个协定端口发送创建镜像指令或上传操作日志指令;
发送创建镜像指令的周期可以长于发送上传操作日志指令的周期,例如,可以设定每4天创建并上传数据库镜像、设定每5分钟上传操作日志文件,这样可以保证在需要回滚数据库时数据库数据的完整性,同时也不会占用过多的存储空间;
步骤202:云数据库实例通过xinted服务监听协定端口,接收到创建镜像指令后,创建数据库镜像,并将数据库镜像上传至云存储模块,将数据库镜像信息上传至数据库模块;
步骤203:云数据库实例通过xinted服务监听协定端口,收到上传操作日志指令后,将云数据库实例的操作日志文件上传至云存储模块,并将日志文件信息上传至数据库模块;
步骤204:接收用户发送的回滚数据库指令,申请一个未被使用的云数据库实例;
步骤205:未被使用的云主机开机启动后运行初始化脚本,初始化脚本自动查询数据库模块以获得数据库镜像信息;
步骤206:根据数据库镜像信息,从云存储模块下载最新上传的数据库镜像到与未被使用的云主机对应的云硬盘中的挂载目录;
步骤207:初始化脚本自动查询数据库模块以获得日志文件信息;
步骤208:根据日志文件信息,从云存储模块下载相应的操作日志文件;
步骤209:初始化脚本启动数据库服务,并将云硬盘中的挂载目录作为数据库服务的数据目录,获得最新上传的数据库镜像;
此时,在新的云数据库实例中,数据库服务恢复到了该数据库镜像创建时刻的状态;
步骤210:数据库服务在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作;
这样,即可将新的云数据库实例回滚到最新上传操作日志文件时的某个时间点,回滚后的云数据库实例是一个全新的云数据库实例,与原有的云数据库实例相互独立。因此,在用户不再需要原有的云数据库实例时,可以接收用户发送的删除数据库指令,根据删除数据库指令,格式化需要删除的云数据库实例。这样,该云数据库实例还可以重新进行系统使用。
另外,还可以定期删除上传至云存储模块中不再使用的数据库镜像以及操作日志文件;定期删除上传至数据库模块中不再使用的数据库镜像信息以及日志文件信息。具体的,例如,每隔4天上传一次数据库镜像,为了保证可以回滚到7天前的数据库状态,则需要保存最近2次上传的数据库镜像以及这个时间段内全部对应的操作日志文件,可以删除这个时间段之前不再使用的数据库镜像、操作日志文件以及其对应的数据库镜像信息、日志文件信息。
定期清理需要删除的云数据库实例、云存储模块及数据库模块中不需要的内容,可以节约存储空间,降低系统的使用成本。
相应的,本发明还提供一种实现云数据库回滚的系统,参见图3所示,该系统包括:
若干个云数据库实例1、控制模块2以及云存储模块3;
其中,控制模块,用于向云数据库实例发送创建镜像指令或上传操作日志指令;接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例;
云数据库实例,用于收到创建镜像指令后,创建数据库镜像,并将数据库镜像上传至云存储模块;收到上传操作日志指令后,将云数据库实例的操作日志文件上传至云存储模块;
控制模块申请的未被使用的云数据库实例,用于从云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作;
云存储模块,用于保存数据库镜像以及操作日志文件。
参见图4所示,本系统还可以包括:数据库模块4。
数据库模块,用于将数据库镜像上传至云存储模块后,接收并保存云数据库实例上传的数据库镜像信息;将云数据库实例的操作日志文件上传至云存储模块后,接收并保存云数据库实例上传的日志文件信息。
控制模块可以是API(Application Programming Interface,应用程序编程接口)服务器,数据库模块可以是数据库服务器。
一个云数据库实例可以由一台云主机和一个与云主机对应的云硬盘组成。
控制模块申请的未被使用的云主机,具体用于开机启动后运行初始化脚本,初始化脚本自动查询数据库模块以获得数据库镜像信息;根据数据库镜像信息,从云存储模块下载最新上传的数据库镜像到与未被使用的云主机对应的云硬盘中的挂载目录;数据库镜像信息包括数据库镜像的创建时间、名称、对应的云数据库实例名称以及在云存储模块中的存储位置;初始化脚本自动查询数据库模块以获得日志文件信息;根据日志文件信息,从云存储模块下载相应的操作日志文件;日志文件信息包括操作日志文件的创建时间、名称、对应的云数据库实例名称以及在云存储模块中的存储位置;初始化脚本启动数据库服务,并将云硬盘中的挂载目录作为数据库服务的数据目录,获得最新上传的数据库镜像;数据库服务在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作。
控制模块还用于,接收到用户发送的删除数据库指令后,根据删除数据库指令,格式化需要删除的云数据库实例。
云存储模块还用于,定期删除上传至云存储模块中不再使用的数据库镜像以及操作日志文件。
数据库模块还用于,定期删除上传至数据库模块中不再使用的数据库镜像信息以及日志文件信息。
本系统的工作原理是:
控制模块定期向云数据库实例的某个协定端口发送创建镜像指令或传操作日志指令;云数据库实例通过xinted服务监听协定端口,接收到创建镜像指令后,创建数据库镜像,并将数据库镜像上传至云存储模块,将数据库镜像信息上传至数据库模块,接收到上传操作日志指令后,将云数据库实例的操作日志文件上传至云存储模块,并将日志文件信息上传至数据库模块;
控制模块接收用户发送的回滚数据库指令,申请一个未被使用的云数据库实例;该未被使用的云主机开机启动后运行初始化脚本,初始化脚本自动查询数据库模块以获得数据库镜像信息;根据数据库镜像信息,从云存储模块下载最新上传的数据库镜像到与未被使用的云主机对应的云硬盘中的挂载目录;初始化脚本自动查询数据库模块以获得日志文件信息;根据日志文件信息,从云存储模块下载相应的操作日志文件;初始化脚本启动数据库服务,并将云硬盘中的挂载目录作为数据库服务的数据目录,获得最新上传的数据库镜像;数据库服务在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作。
这样,在大规模云计算环境中,定期上传云数据库实例的数据库镜像以及操作日志文件到具有高可靠性的云存储模块中存储,在用户需要进行数据库回滚时,可以及时快速从云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,通过在最新上传的数据库镜像的基础上对相应的操作日志文件中所记录的操作内容进行重放操作,及时、快速、高可靠性对云数据库实例实现回滚,保证了数据的一致性,节约了维护数据所带来的成本消耗。另外,可以定期清理需要删除的云数据库实例、云存储模块及数据库模块中不需要的内容,节约了存储空间,降低了系统的使用成本。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种实现云数据库回滚的方法,其特征在于,所述方法包括:
向云数据库实例发送创建镜像指令或上传操作日志指令,以使所述云数据库实例收到所述创建镜像指令后,创建数据库镜像,并将所述数据库镜像上传至云存储模块,收到所述上传操作日志指令后,将所述云数据库实例的操作日志文件上传至所述云存储模块;
接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例,以使所述未被使用的云数据库实例从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述数据库镜像上传至所述云存储模块后,将数据库镜像信息上传至数据库模块;
将所述云数据库实例的操作日志文件上传至所述云存储模块后,将日志文件信息上传至所述数据库模块。
3.根据权利要求2所述的方法,其特征在于,一个所述云数据库实例包括一台云主机和一个与所述云主机对应的云硬盘;
所述未被使用的云数据库实例从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,包括:
未被使用的云主机开机启动后运行初始化脚本,所述初始化脚本自动查询所述数据库模块以获得所述数据库镜像信息;
根据所述数据库镜像信息,从所述云存储模块下载最新上传的数据库镜像到与所述未被使用的云主机对应的云硬盘中的挂载目录;所述数据库镜像信息包括所述数据库镜像的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置;
所述初始化脚本自动查询所述数据库模块以获得所述日志文件信息;
根据所述日志文件信息,从所述云存储模块下载相应的操作日志文件;所述日志文件信息包括操作日志文件的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置。
4.根据权利要求3所述的方法,其特征在于,所述在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作,包括:
所述初始化脚本启动数据库服务,并将所述云硬盘中的挂载目录作为所述数据库服务的数据目录,获得所述最新上传的数据库镜像;
所述数据库服务在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到用户发送的删除数据库指令后,根据所述删除数据库指令,格式化需要删除的云数据库实例。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
删除上传至所述云存储模块中不再使用的所述数据库镜像以及所述操作日志文件。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
删除上传至所述数据库模块中不再使用的所述数据库镜像信息以及所述日志文件信息。
8.一种实现云数据库回滚的系统,其特征在于,所述系统包括:
若干个云数据库实例、控制模块以及云存储模块;
所述控制模块,用于向所述云数据库实例发送创建镜像指令或上传操作日志指令;接收到用户发送的回滚数据库指令后,申请一个未被使用的云数据库实例;
所述云数据库实例,用于收到所述创建镜像指令后,创建数据库镜像,并将所述数据库镜像上传至云存储模块;收到所述上传操作日志指令后,将所述云数据库实例的操作日志文件上传至所述云存储模块;
所述控制模块申请的未被使用的云数据库实例,用于从所述云存储模块下载最新上传的数据库镜像以及相应的操作日志文件,并在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作;
云存储模块,用于保存所述数据库镜像以及所述操作日志文件。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
数据库模块,用于将所述数据库镜像上传至所述云存储模块后,接收并保存所述云数据库实例上传的数据库镜像信息;将所述云数据库实例的操作日志文件上传至所述云存储模块后,接收并保存所述云数据库实例上传的日志文件信息。
10.根据权利要求9所述的系统,其特征在于,一个所述云数据库实例包括一台云主机和一个与所述云主机对应的云硬盘;
所述控制模块申请的未被使用的云主机,具体用于开机启动后运行初始化脚本,所述初始化脚本自动查询所述数据库模块以获得所述数据库镜像信息;根据所述数据库镜像信息,从所述云存储模块下载最新上传的数据库镜像到与所述未被使用的云主机对应的云硬盘中的挂载目录;所述数据库镜像信息包括所述数据库镜像的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置;所述初始化脚本自动查询所述数据库模块以获得所述日志文件信息;根据所述日志文件信息,从所述云存储模块下载相应的操作日志文件;所述日志文件信息包括操作日志文件的创建时间、名称、对应的云数据库实例名称以及在所述云存储模块中的存储位置;所述初始化脚本启动数据库服务,并将所述云硬盘中的挂载目录作为所述数据库服务的数据目录,获得所述最新上传的数据库镜像;所述数据库服务在所述最新上传的数据库镜像的基础上对所述相应的操作日志文件中所记录的操作内容进行重放操作。
11.根据权利要求8所述的系统,其特征在于,所述控制模块还用于:
接收到用户发送的删除数据库指令后,根据所述删除数据库指令,格式化需要删除的云数据库实例。
12.根据权利要求8所述的系统,其特征在于,所述云存储模块还用于:
删除上传至所述云存储模块中不再使用的所述数据库镜像以及所述操作日志文件。
13.根据权利要求9所述的系统,其特征在于,所述数据库模块还用于:
删除上传至所述数据库模块中不再使用的所述数据库镜像信息以及所述日志文件信息。
CN201210379626.9A 2012-09-29 2012-09-29 一种实现云数据库回滚的方法及系统 Active CN103714089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210379626.9A CN103714089B (zh) 2012-09-29 2012-09-29 一种实现云数据库回滚的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210379626.9A CN103714089B (zh) 2012-09-29 2012-09-29 一种实现云数据库回滚的方法及系统

Publications (2)

Publication Number Publication Date
CN103714089A true CN103714089A (zh) 2014-04-09
CN103714089B CN103714089B (zh) 2018-01-05

Family

ID=50407074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210379626.9A Active CN103714089B (zh) 2012-09-29 2012-09-29 一种实现云数据库回滚的方法及系统

Country Status (1)

Country Link
CN (1) CN103714089B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886369A (zh) * 2017-01-22 2017-06-23 武汉噢易云计算股份有限公司 一种基于OpenStack云平台的云硬盘管理方法及系统
CN108762890A (zh) * 2018-05-31 2018-11-06 郑州云海信息技术有限公司 云管理平台中数据库的管理方法和装置
CN109062732A (zh) * 2018-07-20 2018-12-21 郑州云海信息技术有限公司 一种数据库服务实现方法和系统
CN109189658A (zh) * 2018-08-20 2019-01-11 厦门集微科技有限公司 一种日志存储方法、控制节点及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180289A1 (en) * 2004-12-30 2007-08-02 Emc Corporation Systems and methods for restoring data
CN100573462C (zh) * 2004-12-30 2009-12-23 伊姆西公司 数据恢复系统和方法
CN102014159A (zh) * 2010-11-29 2011-04-13 华中科技大学 一种云计算环境下的分层资源预留系统
CN102216941A (zh) * 2008-08-19 2011-10-12 数字标记公司 用于内容处理的方法和系统
AU2010310828A1 (en) * 2009-10-21 2012-05-24 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180289A1 (en) * 2004-12-30 2007-08-02 Emc Corporation Systems and methods for restoring data
CN100573462C (zh) * 2004-12-30 2009-12-23 伊姆西公司 数据恢复系统和方法
CN102216941A (zh) * 2008-08-19 2011-10-12 数字标记公司 用于内容处理的方法和系统
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
AU2010310828A1 (en) * 2009-10-21 2012-05-24 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
CN102014159A (zh) * 2010-11-29 2011-04-13 华中科技大学 一种云计算环境下的分层资源预留系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886369A (zh) * 2017-01-22 2017-06-23 武汉噢易云计算股份有限公司 一种基于OpenStack云平台的云硬盘管理方法及系统
CN108762890A (zh) * 2018-05-31 2018-11-06 郑州云海信息技术有限公司 云管理平台中数据库的管理方法和装置
CN109062732A (zh) * 2018-07-20 2018-12-21 郑州云海信息技术有限公司 一种数据库服务实现方法和系统
CN109189658A (zh) * 2018-08-20 2019-01-11 厦门集微科技有限公司 一种日志存储方法、控制节点及计算机可读存储介质

Also Published As

Publication number Publication date
CN103714089B (zh) 2018-01-05

Similar Documents

Publication Publication Date Title
CN106156359B (zh) 一种云计算平台下的数据同步更新方法
CN102662992B (zh) 一种海量小文件的存储、访问方法及装置
CN101888405B (zh) 一种云计算的文件系统和数据处理方法
CN101997911B (zh) 一种数据迁移的方法及系统
CN103929500A (zh) 一种分布式存储系统的数据分片方法
CN107256182A (zh) 一种数据库还原的方法及设备
CN104541252A (zh) 用于实现基于服务器的分层大容量存储系统的系统和方法
CN102012789A (zh) 集中管理式备份容灾系统
CN102136003A (zh) 大规模分布式存储系统
CN102272751B (zh) 在数据库环境通过背景同步的数据完整性
CN102035881A (zh) 一种云端存储系统的数据缓存方法
CN105339903A (zh) 恢复文件系统对象
CN104679665A (zh) 一种实现分布式文件系统块存储的方法及系统
US20130325932A1 (en) Electronic device and method for storing distributed documents
CN104252485A (zh) 一种数据库管理平台
CN102821111A (zh) 文件云存储实时同步方法
CN109144785A (zh) 用于备份数据的方法和装置
CN102023816A (zh) 一种对象存储系统的对象存放策略和访问方法
CN107885616A (zh) 一种基于文件系统解析的海量小文件备份恢复方法
KR20180061493A (ko) 데이터베이스 이중화 무중단 정합성 복구 기법
CN103019891A (zh) 一种还原被删除文件的方法及系统
CN105227672A (zh) 数据存储及访问的方法和系统
CN103714089A (zh) 一种实现云数据库回滚的方法及系统
CN104583966A (zh) 用于去重复文件系统的备份和恢复系统以及对应的服务器和方法
CN102820998B (zh) 实现面向办公应用的双机容错服务系统及其数据存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201231

Address after: 201203 room 208, building 2, Lane 666, zhangheng Road, Pudong New Area, Shanghai

Patentee after: SHANGHAI SHENGXIAO CLOUD COMPUTING TECHNOLOGY Co.,Ltd.

Address before: 201203 402-B room, No. 727 Zhangjiang Road, Shanghai, Pudong New Area

Patentee before: SHANDA NETWORKING Co.,Ltd.