CN102609337A - 一种内存数据库快速数据恢复方法 - Google Patents

一种内存数据库快速数据恢复方法 Download PDF

Info

Publication number
CN102609337A
CN102609337A CN2012100175327A CN201210017532A CN102609337A CN 102609337 A CN102609337 A CN 102609337A CN 2012100175327 A CN2012100175327 A CN 2012100175327A CN 201210017532 A CN201210017532 A CN 201210017532A CN 102609337 A CN102609337 A CN 102609337A
Authority
CN
China
Prior art keywords
memory
memory database
data
file
recovery method
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
Application number
CN2012100175327A
Other languages
English (en)
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.)
BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY 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 BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY Co Ltd
Priority to CN2012100175327A priority Critical patent/CN102609337A/zh
Publication of CN102609337A publication Critical patent/CN102609337A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

内存数据库如果由于各种原因异常中断,会导致内存数据全部丢失。本发明涉及一种内存数据库快速数据恢复方法,首先,内存数据库在正常运行时,定时(比如每隔1天或者1小时)将内存数据全部写入指定文件(全量文件);其次,外部应用程序每次对内存数据库进行增删改操作时,立即将操作的流水日志写入增量文件,增量文件包含每条变更记录对应的内存坐标;一旦内存数据库出现异常停止,在重新启动时,首先加载最近一次的全量文件到内存中;然后再将全量文件时间点之后的所有增量日志记录,按顺序逐条追加载到内存中,最终使数据恢复到异常前的状态。由于每条记录操作的流水日志中都含有坐标信息,可以在内存中快速定位到这条记录,实现快速恢复。

Description

一种内存数据库快速数据恢复方法
技术领域
本发明涉及一种内存数据库快速数据恢复方法,用于解决当内存数据库发生异常、内存数据丢失之后,能够通过本方法,快速从磁盘文件中恢复数据,确保数据不丢失。
背景技术
随着电信业、金融业不断的发展,业务扩展越来越广,各种新业务层出不穷,数据量也越来越大,对数据访问的响应速度要求也越来越高。大量的用户资料数据、用户消费数据都需要存放在内存数据库中,但是由于内存的非持久性,一旦内存数据库进程或者所在主机发生异常停止,内存中的数据就将全部丢失。当内存数据库重新启动之后,如何确保数据能够恢复到异常之前的状态,成为内存数据库安全的关键技术。
目前,一般的内存数据库采用定时备份内存数据的方式,比如每小时备份一次,这样,当内存数据发生异常,可以从最近一次的备份数据进行恢复,但是,从最近一次备份到***发生异常的这一段时间,内存数据库发生的修改操作都会丢失,仅靠内存数据库自身的机制是无法恢复的,只能通过具体的业务程序重做那一段时间的业务来恢复数据,既费时又容易造成人为错误。
另外,有的内存数据库会实时记录每次操作的SQL语句,这样如果***发生异常,可以通过重做从最近一次备份到***发生异常的这一段时间的SQL语句来恢复数据。由于SQL语句本身需要进行解析,并重新在内存中查找需要操作的记录,在数据量巨大的电信业务***中,难以在短时间内恢复全部数据。
发明内容
本发明所要解决的技术问题是提供一种新的内存数据库快速数据恢复方法,当内存数据库***发生异常停止后,能够在相对较短的时间内,将内存数据库重新启动,并使各内存表数据能够恢复到异常前的状态,确保数据完全不丢失。
本发明解决上述技术问题的技术方案如下:内存数据库快速数据恢复方法,包括如下步骤:
步骤1:内存数据库在正常运行时,定时将内存数据全部写入全量文件;
步骤2:外部应用程序每次对内存数据库进行增删改操作时,立即将操作的流水日志写入增量文件;
步骤3:一旦内存数据库出现异常停止,在内存数据库重新启动时,首先加载最近一次的全量文件到内存中;
步骤4:然后再将全量文件时间点之后的所有增量日志记录,按顺序逐条追加到内存中,最终使数据恢复到异常前的状态。
本发明的有益效果是:定时(比如每隔1天,或者每小时)将内存数据全部写入指定文件(全量文件),可以让内存数据库从最近一次备份时间点开始恢复,避免在恢复时需要对之前所有的增量文件进行重做。在每次对内存数据库进行增删改操作时,都立即将操作的流水日志写入增量文件,这样可以确保每次对内存的修改在磁盘上都留有记录,可以有效防止内存数据的突然丢失。
进一步,在增量文件中,每一条记录的修改都含有对应记录的内存坐标,这样省去解析SQL的时间消耗,可以直接根据坐标快速定位到对应的内存记录,实现快速恢复。
进一步,在重做增量文件时,严格按顺序逐条追加到内存中,可以确保最终使数据恢复到异常前的状态。
附图说明
图1为本发明的内存数据存储方式及增量文件格式示意图;
图2为本发明的具体处理流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的内存数据库快速数据恢复方法,包括如下步骤:
步骤1:内存数据库在正常运行时,定时将内存数据全部写入全量文件;
步骤2:外部应用程序每次对内存数据库进行增删改操作时,立即将操作的流水日志写入增量文件;
步骤3:一旦内存数据库出现异常停止,在内存数据库重新启动时,首先加载最近一次的全量文件到内存中;
步骤4:然后再将全量文件时间点之后的所有增量日志记录,按顺序逐条追加到内存中,最终使数据恢复到异常前的状态。
首先,内存数据库中的数据组织形式如图1所示,每个表的内存数据以100000条为一个单位,每条记录对应一个唯一的内存块序号和在指定内存块中的记录编号。增量文件每隔10分钟生成一个新文件,文件命名为ALL.yyyymmddhhmi00,例如ALL.20101021080000、ALL.20101021081000等;增量文件的每条记录格式如图1所示,记录了每条修改记录的内存坐标及操作类型。
图2给出了内存数据库在异常停止之后,重新启动时的操作流程图,首先采用多线程方式将各个内存表的全量文件加载到内存,然后从最后一次备份的时间点开始,逐条读取增量文件中的内存坐标,定位到指定记录之后,再根据操作标志以及各字段的取值去修改对应的内存记录,使内存数据恢复到异常前的状态。
以下为采用本发明方法的配置文件信息,本文件配置的是进程运行时使用的基本信息,采用INI文件格式。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种内存数据库快速数据恢复方法,包括:
步骤1:内存数据库在正常运行时,定时将内存数据全部写入全量文件;
步骤2:外部应用程序每次对内存数据库进行增删改操作时,立即将操作的流水日志写入增量文件;
步骤3:一旦内存数据库出现异常停止,在内存数据库重新启动时,首先加载最近一次的全量文件到内存中;
步骤4:然后再将全量文件时间点之后的所有增量日志记录,按顺序逐条追加到内存中,最终使数据恢复到异常前的状态。
2.根据权利要求1所述的内存数据库快速数据恢复方法,其特征在于:内存数据需要定时写入全量文件,定时的时间是每隔1天或1小时。
3.根据权利要求1所述的内存数据库快速数据恢复方法,其特征在于:增量文件为REDO日志,需要实时写,任何增删改的操作,一旦成功,就必须立即写增量文件。
4.根据权利要求1所述的内存数据库快速数据恢复方法,其特征在于:增量文件中,每条操作流水记录中,都含有每天变更记录对应的内存坐标,表示本次修改是操作了哪个内存块的哪条记录,以便在数据恢复时能够快速定位。
5.根据权利要求1所述的内存数据库快速数据恢复方法,其特征在于:数据恢复时,将全量文件时间点之后的所有增量日志记录,严格按顺序重新操作一遍,确保数据能够和发生异常前的状态完全一致。
CN2012100175327A 2012-01-19 2012-01-19 一种内存数据库快速数据恢复方法 Pending CN102609337A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100175327A CN102609337A (zh) 2012-01-19 2012-01-19 一种内存数据库快速数据恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100175327A CN102609337A (zh) 2012-01-19 2012-01-19 一种内存数据库快速数据恢复方法

Publications (1)

Publication Number Publication Date
CN102609337A true CN102609337A (zh) 2012-07-25

Family

ID=46526729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100175327A Pending CN102609337A (zh) 2012-01-19 2012-01-19 一种内存数据库快速数据恢复方法

Country Status (1)

Country Link
CN (1) CN102609337A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823634A (zh) * 2012-11-16 2014-05-28 腾讯科技(深圳)有限公司 一种支持无随机写模式的数据处理方法及***
CN104216802A (zh) * 2014-09-25 2014-12-17 北京金山安全软件有限公司 一种内存数据库恢复方法和设备
CN104850556A (zh) * 2014-02-17 2015-08-19 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN105022676A (zh) * 2014-04-22 2015-11-04 大唐软件技术股份有限公司 一种内存数据库重做日志文件的恢复方法和装置
CN105071966A (zh) * 2015-08-10 2015-11-18 浪潮(北京)电子信息产业有限公司 一种日志信息管理方法及日志抽取服务器
CN105573859A (zh) * 2014-10-15 2016-05-11 中兴通讯股份有限公司 一种数据库的数据恢复方法和设备
CN105955845A (zh) * 2016-04-26 2016-09-21 浪潮电子信息产业股份有限公司 一种数据恢复方法及装置
CN105975579A (zh) * 2016-05-05 2016-09-28 北京思特奇信息技术股份有限公司 一种内存数据库的主备复制方法及内存数据库***
CN105989160A (zh) * 2015-03-03 2016-10-05 大唐软件技术股份有限公司 一种针对Redis数据库的内存数据持久化方法和装置
CN106570024A (zh) * 2015-10-10 2017-04-19 北京国双科技有限公司 数据增量处理的方法和装置
WO2017067397A1 (zh) * 2015-10-20 2017-04-27 阿里巴巴集团控股有限公司 一种数据恢复方法和装置
CN106776120A (zh) * 2016-11-24 2017-05-31 珠海市魅族科技有限公司 数据恢复的方法及装置
CN107102940A (zh) * 2017-03-16 2017-08-29 浙江大学 一种结合全量型检查点与增量型重做的目标程序逆向执行实现方法
WO2018058633A1 (zh) * 2016-09-30 2018-04-05 深圳市华傲数据技术有限公司 基于增量的数据处理方法及装置
CN108614876A (zh) * 2018-04-26 2018-10-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的***和数据处理方法
CN109165194A (zh) * 2018-08-13 2019-01-08 腾讯科技(深圳)有限公司 一种数据转存方法、装置、电子设备及存储介质
CN110134550A (zh) * 2019-05-15 2019-08-16 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
CN110908838A (zh) * 2019-11-19 2020-03-24 杭州安恒信息技术股份有限公司 一种数据处理方法、装置及电子设备和存储介质
CN110928890A (zh) * 2019-11-08 2020-03-27 广州华多网络科技有限公司 数据存储方法、装置、电子设备及计算机可读介质
WO2021051444A1 (zh) * 2019-09-19 2021-03-25 苏州浪潮智能科技有限公司 一种程序故障重启后恢复内存数据的方法和***
CN115269274A (zh) * 2022-08-04 2022-11-01 广州鼎甲计算机科技有限公司 数据恢复方法、装置、计算机设备、存储介质和程序产品
CN115328704A (zh) * 2022-09-06 2022-11-11 安徽鼎甲计算机科技有限公司 文件备份方法、文件恢复方法、装置、设备和存储介质
WO2024040502A1 (en) * 2022-08-25 2024-02-29 Intel Corporation Apparatus, device, method, and computer program for persisting memory recovery actions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625655A (zh) * 2009-08-20 2010-01-13 华中科技大学 一种内存数据库的并行恢复方法
CN101706803A (zh) * 2009-11-27 2010-05-12 天津工业大学 一种织造车间生产数据的迁移方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625655A (zh) * 2009-08-20 2010-01-13 华中科技大学 一种内存数据库的并行恢复方法
CN101706803A (zh) * 2009-11-27 2010-05-12 天津工业大学 一种织造车间生产数据的迁移方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯宇傲: "《嵌入式实时内存数据库ARTs-EDB的故障恢复策略研究》", 《中国优秀硕士学位论文全文数据库-信息科技辑》, 22 December 2009 (2009-12-22) *

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823634B (zh) * 2012-11-16 2017-12-12 腾讯科技(深圳)有限公司 一种支持无随机写模式的数据处理方法及***
CN103823634A (zh) * 2012-11-16 2014-05-28 腾讯科技(深圳)有限公司 一种支持无随机写模式的数据处理方法及***
CN104850556A (zh) * 2014-02-17 2015-08-19 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN104850556B (zh) * 2014-02-17 2018-06-29 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN105022676A (zh) * 2014-04-22 2015-11-04 大唐软件技术股份有限公司 一种内存数据库重做日志文件的恢复方法和装置
CN105022676B (zh) * 2014-04-22 2018-08-17 大唐软件技术股份有限公司 一种内存数据库重做日志文件的恢复方法和装置
CN104216802B (zh) * 2014-09-25 2017-05-10 北京金山安全软件有限公司 一种内存数据库恢复方法和设备
CN104216802A (zh) * 2014-09-25 2014-12-17 北京金山安全软件有限公司 一种内存数据库恢复方法和设备
CN105573859A (zh) * 2014-10-15 2016-05-11 中兴通讯股份有限公司 一种数据库的数据恢复方法和设备
CN105989160A (zh) * 2015-03-03 2016-10-05 大唐软件技术股份有限公司 一种针对Redis数据库的内存数据持久化方法和装置
CN105071966A (zh) * 2015-08-10 2015-11-18 浪潮(北京)电子信息产业有限公司 一种日志信息管理方法及日志抽取服务器
CN106570024A (zh) * 2015-10-10 2017-04-19 北京国双科技有限公司 数据增量处理的方法和装置
CN106570024B (zh) * 2015-10-10 2020-03-06 北京国双科技有限公司 数据增量处理的方法和装置
WO2017067397A1 (zh) * 2015-10-20 2017-04-27 阿里巴巴集团控股有限公司 一种数据恢复方法和装置
CN105955845A (zh) * 2016-04-26 2016-09-21 浪潮电子信息产业股份有限公司 一种数据恢复方法及装置
CN105975579A (zh) * 2016-05-05 2016-09-28 北京思特奇信息技术股份有限公司 一种内存数据库的主备复制方法及内存数据库***
CN105975579B (zh) * 2016-05-05 2019-09-17 北京思特奇信息技术股份有限公司 一种内存数据库的主备复制方法及内存数据库***
WO2018058633A1 (zh) * 2016-09-30 2018-04-05 深圳市华傲数据技术有限公司 基于增量的数据处理方法及装置
CN106776120A (zh) * 2016-11-24 2017-05-31 珠海市魅族科技有限公司 数据恢复的方法及装置
CN107102940A (zh) * 2017-03-16 2017-08-29 浙江大学 一种结合全量型检查点与增量型重做的目标程序逆向执行实现方法
CN108614876A (zh) * 2018-04-26 2018-10-02 武汉斗鱼网络科技有限公司 一种基于Redis数据库的***和数据处理方法
CN109165194A (zh) * 2018-08-13 2019-01-08 腾讯科技(深圳)有限公司 一种数据转存方法、装置、电子设备及存储介质
CN109165194B (zh) * 2018-08-13 2021-10-29 腾讯科技(深圳)有限公司 一种数据转存方法、装置、电子设备及存储介质
CN110134550A (zh) * 2019-05-15 2019-08-16 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
WO2021051444A1 (zh) * 2019-09-19 2021-03-25 苏州浪潮智能科技有限公司 一种程序故障重启后恢复内存数据的方法和***
CN110928890A (zh) * 2019-11-08 2020-03-27 广州华多网络科技有限公司 数据存储方法、装置、电子设备及计算机可读介质
CN110928890B (zh) * 2019-11-08 2023-01-24 广州华多网络科技有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN110908838A (zh) * 2019-11-19 2020-03-24 杭州安恒信息技术股份有限公司 一种数据处理方法、装置及电子设备和存储介质
CN110908838B (zh) * 2019-11-19 2022-09-02 杭州安恒信息技术股份有限公司 一种数据处理方法、装置及电子设备和存储介质
CN115269274A (zh) * 2022-08-04 2022-11-01 广州鼎甲计算机科技有限公司 数据恢复方法、装置、计算机设备、存储介质和程序产品
CN115269274B (zh) * 2022-08-04 2023-09-29 广州鼎甲计算机科技有限公司 数据恢复方法、装置、计算机设备和存储介质
WO2024040502A1 (en) * 2022-08-25 2024-02-29 Intel Corporation Apparatus, device, method, and computer program for persisting memory recovery actions
CN115328704A (zh) * 2022-09-06 2022-11-11 安徽鼎甲计算机科技有限公司 文件备份方法、文件恢复方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN102609337A (zh) 一种内存数据库快速数据恢复方法
US20130132346A1 (en) Method of and system for merging, storing and retrieving incremental backup data
US9542279B2 (en) Shadow paging based log segment directory
US20080162599A1 (en) Optimizing backup and recovery utilizing change tracking
CN103197988A (zh) 一种数据备份、恢复的方法、设备和数据库***
WO2014169142A1 (en) Partition level backup and restore of a massively parallel processing database
CN102541691B (zh) 面向内存数据库oltp应用的日志检查点恢复方法
US10459804B2 (en) Database rollback using WAL
CN103617277A (zh) 一种还原误删除的数据表内容的方法
CN103019890A (zh) 一种块级别的磁盘数据保护***及其方法
US8538925B2 (en) System and method for backing up test data
US9798761B2 (en) Apparatus and method for fsync system call processing using ordered mode journaling with file unit
CN103810060A (zh) 基于分布式数据库的数据备份方法及其***
CN113360322A (zh) 一种基于备份***恢复数据的方法及设备
CN111949445A (zh) 一种增量备份数据存储方法、装置、设备、产品
CN112612775A (zh) 一种数据存储方法、装置、计算机设备及存储介质
CN106502830B (zh) 一种基于Btrfs文件***的***备份还原方法
CN103176867A (zh) 一种快速文件差异备份方法
US8595271B1 (en) Systems and methods for performing file system checks
CN102096613A (zh) 一种生成快照的方法及装置
CN105022676A (zh) 一种内存数据库重做日志文件的恢复方法和装置
CN102073554A (zh) 一种文件异常关闭的恢复方法和装置
CN104615948A (zh) 一种自动识别文件完整性与恢复的方法
CN103177085A (zh) 一种检查点操作方法及装置
CN104461782A (zh) 重定向iSCSI挂载卷读写数据的方法及其备份恢复***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16

Applicant after: SI-TECH Information Technology Ltd.

Address before: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16

Applicant before: Beijing Digital China SI-TECH Information Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY LTD. TO: BEIJING SI-TECH INFORMATION TECHNOLOGY LTD.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120725