CN102289476A - 事务日志的记录方法 - Google Patents
事务日志的记录方法 Download PDFInfo
- Publication number
- CN102289476A CN102289476A CN2011102156716A CN201110215671A CN102289476A CN 102289476 A CN102289476 A CN 102289476A CN 2011102156716 A CN2011102156716 A CN 2011102156716A CN 201110215671 A CN201110215671 A CN 201110215671A CN 102289476 A CN102289476 A CN 102289476A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- memory module
- transaction journal
- deletion
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种事务日志的记录方法,该方法包括以下步骤:数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;数据库由中断状态变为连通状态,执行提交操作,即,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。该方法具有简单、快捷、使用方便的优点。
Description
技术领域
本发明涉及一种数据存储记录方法,具体地说,涉及一种事务日志的记录方法。
背景技术
数据库已经在各个领域得到广泛应用,通用的结构化查询语言为软件开发人员提供了简单、快捷的数据存储操作方法,使得数据存储由文件数据库几乎完全转换到关系数据库;但是在数据库的实际应用过程中,常常由于各种原因,如网络中断、数据库本身出现问题等,而导致数据库无法正常工作,给我们的生产活动带来很大影响。为此,技术人员通过各种办法来弥补这种隐患,但效果都不够理想。
发明内容
本发明针对数据库无法访问这种隐患,提供了一种简单、快捷、使用方便的事务日志的记录方法。
本发明所采用的技术方案如下:一种事务日志的记录方法,该方法包括以下步骤:
步骤1、数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;
步骤2、数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;
步骤3、数据库由中断状态变为连通状态,执行提交操作,即,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;
步骤4、数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。
基于上述,在步骤2中,事务日志存储模式下,包括三种操作:添加数据、更新数据和删除数据;其中,添加数据和更新数据没有区别,添加数据前,需要从本地序列范围中获取序列值作为临时序列;删除数据即删除对应的事务日志,删除数据时,如果删除的是数据库中断后添加的数据,则可以直接删除,如果删除的数据是数据库中断前就存在的数据,则需要记录对应的删除日志,供数据库连接后删除使用;
在步骤3中,提交过程如下:从事务日志中读取提交数据;向数据库提交添加命令,即先将该数据主键值替换成从数据库序列中获取的主键值,然后再把该数据添加到数据库;向数据库提交删除命令,即向数据库提交在事务日志存储模式下记录的删除日志,以删除数据库中对应的数据;判断向数据库提交的删除命令和添加命令是否执行成功,若执行成功,即可将事务日志存储模式转换为数据库存储模式。
本发明相对现有技术具有突出的实质性特点和显著进步,具体地说,该事务日志的记录方法有以下优点:
1、该方法能够明显降低数据库中断后对生产活动的影响:和两个数据库双机热备方式相比,这种方法可以解决网络中断带来的问题,它能够及时保存重要的生产数据,也能够将生产数据通过日志文件形式供本地终端读取,展现给用户;
2、该方法在很大程度上减少了用户费用支出:通过两个数据库双机热备也能够在一定程度上减少数据丢失风险,但是它增加了硬件成本和维护成本高。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
一种事务日志的记录方法,该方法包括以下步骤:
步骤1、数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;
步骤2、数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;
步骤3、数据库由中断状态变为连通状态,执行提交操作,即,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;
步骤4、数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。
基于上述,在步骤2中,事务日志存储模式下,包括三种操作:添加数据、更新数据和删除数据;其中,添加数据和更新数据没有区别,添加数据前,需要从本地序列范围中获取序列值作为临时序列;删除数据即删除对应的事务日志,删除数据时,如果删除的是数据库中断后添加的数据,则可以直接删除,如果删除的数据是数据库中断前就存在的数据,则需要记录对应的删除日志,供数据库连接后删除使用;
在步骤3中,提交过程如下:从事务日志中读取提交数据,在多个终端的情况下,只允许一个终端执行提交操作,为了保证提交终端数据是最新的,提交前必须从事物日志中读取数据;
向数据库提交添加命令,即,添加数据前,需要先将该数据主键值替换成从数据库序列中获取的主键值,然后再把该数据添加到数据库;
向数据库提交删除命令,即向数据库提交在事务日志存储模式下记录的删除日志,以删除数据库中对应的数据;
判断向数据库提交的删除命令和添加命令是否执行成功,若执行成功,即可将事务日志存储模式转换为数据库存储模式,如果没有执行成功,则不能删除本地事务日志,以防止数据丢失;
将事务日志存储模式转换为数据库存储模式,向数据库提交的命令执行成功后,即可将事务日志存储模式转换为数据库存储模式,此后,软件将处于数据库存储模式;
删除事务日志文件,存储模式由事务日志存储模式转换为数据库存储模式后,即可删除对应的事务日志。
本发明在所应用软件中包括两种存储模式:
1、数据库存储模式:在数据库存储模式下,软件只和数据库交互数据。
2、事务日志存储模式:在事务日志存储模式下,软件只和事物日志交互数据。
本发明在所应用软件中包括两个重要的操作:
1、转存操作:在数据库由连通状态变为中断状态时,执行转存操作,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上。
2、提交操作:在数据库由中断状态变为连通状态时,执行提交操作,将内存中的数据提交到数据库中。
本发明在所应用软件中定义下列配置信息:
1、当前存储模式:为了使本地终端重新启动后,存储模式不丢失,需要在配置信息中记录当前存储模式,包括数据库存储模式和事务日志存储模式。
2、序列范围和当前序列值:该序列范围和数据库序列类型一致,都为数值类型;为了区别本地序列值和数据库序列值,该序列范围不能和数据库定义序列范围存在交集;为了保证多个本地终端序列在数据库中断后序列的使用不重复,多个本地终端序列范围不能存在交集;为了使应用软件重启后,序列值不重置,需要在配置信息中记录当前序列值。
3、事务日志存储目录位置:数据库中断后,本地局域网不一定中断,即使中断也能很容易组建;通过共享目录方式使多个本地终端共享事物日志。就需要在配置信息中记录存放事务日志的共享目录。
4、本终端是否具有提交权限:在多个终端的情况下,数据库中断后对事务日志的访问,一个日志文件只能由一个终端执行写入操作;日志文件之间可能存在数据的关联关系,但日志文件记录关联关系的能力远不如数据库;我们约定提交操作只能由一个终端进行,在配置信息中记录这个终端具有提交权限,就能够通过配置实现由一个终端执行提交操作。
本发明中事务日志存储的文件结构:
1、存储日志:存储日志用来保存内存数据添加或更新后的日志记录;内存数据在数据库表中的主键就作为存储日志文件名称,数据的相关信息存储到该存储日志文件中。
2、删除日志:删除日志用来保存内存数据删除后的日志记录;内存数据在数据库表中的主键就作为删除日志文件名称,数据的相关信息都存储到该删除日志文件中。
3、日志分类:整个系统需要存储多种数据,我们把同一类型的数据放到一个日志文件夹中,以类型名称命名为文件夹名称;每个类型的文件夹中包括两个子文件夹,子文件夹名称分别是“存储日志”和“删除日志”;“存储日志”用来保存存储日志信息,“删除日志”用来保存删除日志信息。
4、班次分类:在人机交互的生产系统中都有班次的概念,每个班次的数据单独存放在一个日志文件夹中,用“日期+班次”命名为日志文件夹名称。
5、存储位置:班次日志文件夹的存储位置由配置信息确定。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (2)
1.一种事务日志的记录方法,其特征在于,该方法包括以下步骤:
步骤1、数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;
步骤2、数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;
步骤3、数据库由中断状态变为连通状态,执行提交操作,即,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;
步骤4、数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。
2.根据权利要求1所述的事务日志的记录方法,其特征在于:在步骤2中,事务日志存储模式下,包括三种操作:添加数据、更新数据和删除数据;其中,添加数据和更新数据没有区别,添加数据前,需要从本地序列范围中获取序列值作为临时序列;删除数据即删除对应的事务日志,删除数据时,如果删除的是数据库中断后添加的数据,则可以直接删除,如果删除的数据是数据库中断前就存在的数据,则需要记录对应的删除日志,供数据库连接后删除使用;
在步骤3中,提交过程如下:从事务日志中读取提交数据;向数据库提交添加命令,即先将该数据主键值替换成从数据库序列中获取的主键值,然后再把该数据添加到数据库;向数据库提交删除命令,即向数据库提交在事务日志存储模式下记录的删除日志,以删除数据库中对应的数据;判断向数据库提交的删除命令和添加命令是否执行成功,若执行成功,即可将事务日志存储模式转换为数据库存储模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102156716A CN102289476A (zh) | 2011-07-29 | 2011-07-29 | 事务日志的记录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102156716A CN102289476A (zh) | 2011-07-29 | 2011-07-29 | 事务日志的记录方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102289476A true CN102289476A (zh) | 2011-12-21 |
Family
ID=45335903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102156716A Pending CN102289476A (zh) | 2011-07-29 | 2011-07-29 | 事务日志的记录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102289476A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622407A (zh) * | 2012-01-29 | 2012-08-01 | 广州亦云信息技术有限公司 | 日志文件操作系统及日志文件管理方法 |
CN105681472A (zh) * | 2016-03-28 | 2016-06-15 | 微梦创科网络科技(中国)有限公司 | 一种日志传输方法及装置 |
CN108052551A (zh) * | 2017-11-28 | 2018-05-18 | 北京航天云路有限公司 | 一种在redis上实现的存储大量时序数据的方法 |
CN109858731A (zh) * | 2018-12-11 | 2019-06-07 | 许继集团有限公司 | 配电主站系统、历史数据存储方法及系统 |
CN112231188A (zh) * | 2020-09-03 | 2021-01-15 | 深圳市广和通无线股份有限公司 | 日志抓取方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828599A (zh) * | 2005-02-22 | 2006-09-06 | 微软公司 | 幻影同步 |
CN101729562A (zh) * | 2009-11-30 | 2010-06-09 | 浪潮集团山东通用软件有限公司 | 一种不可靠网络连接下的可靠数据传送方法 |
-
2011
- 2011-07-29 CN CN2011102156716A patent/CN102289476A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828599A (zh) * | 2005-02-22 | 2006-09-06 | 微软公司 | 幻影同步 |
CN101729562A (zh) * | 2009-11-30 | 2010-06-09 | 浪潮集团山东通用软件有限公司 | 一种不可靠网络连接下的可靠数据传送方法 |
Non-Patent Citations (2)
Title |
---|
《软件导刊》 20091130 高伟华、刘永奎、蓝雯飞 客户-服务器数据库系统处理移动客户端的新框架 第190页 1-2 第8卷, 第11期 * |
高伟华、刘永奎、蓝雯飞: "客户—服务器数据库系统处理移动客户端的新框架", 《软件导刊》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622407A (zh) * | 2012-01-29 | 2012-08-01 | 广州亦云信息技术有限公司 | 日志文件操作系统及日志文件管理方法 |
CN102622407B (zh) * | 2012-01-29 | 2014-03-26 | 广州亦云信息技术有限公司 | 日志文件操作系统及日志文件管理方法 |
CN105681472A (zh) * | 2016-03-28 | 2016-06-15 | 微梦创科网络科技(中国)有限公司 | 一种日志传输方法及装置 |
CN105681472B (zh) * | 2016-03-28 | 2019-04-02 | 微梦创科网络科技(中国)有限公司 | 一种日志传输方法及装置 |
CN108052551A (zh) * | 2017-11-28 | 2018-05-18 | 北京航天云路有限公司 | 一种在redis上实现的存储大量时序数据的方法 |
CN109858731A (zh) * | 2018-12-11 | 2019-06-07 | 许继集团有限公司 | 配电主站系统、历史数据存储方法及系统 |
CN112231188A (zh) * | 2020-09-03 | 2021-01-15 | 深圳市广和通无线股份有限公司 | 日志抓取方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102012933B (zh) | 分布式文件系统及利用其存储数据和提供服务的方法 | |
CN103780638B (zh) | 数据同步方法及系统 | |
CN101888405B (zh) | 一种云计算的文件系统和数据处理方法 | |
CN102436408B (zh) | 基于Map/Dedup的数据存储云化和云备份方法 | |
CN102289476A (zh) | 事务日志的记录方法 | |
CN102955720A (zh) | 一种提高ext文件系统稳定性的方法 | |
CN107391306A (zh) | 一种异构数据库备份文件恢复方法 | |
CN102012849B (zh) | 一种基于闪存的数据库恢复方法 | |
CN102024016A (zh) | 一种分布式文件系统快速数据恢复的方法 | |
CN101814045A (zh) | 一种用于备份服务的数据组织方法 | |
CN101354713A (zh) | 数据存储方法和系统 | |
CN102024044A (zh) | 分布式文件系统 | |
CN101916290B (zh) | 内存数据库的管理方法和装置 | |
CN102662795A (zh) | 一种分布式存储系统中元数据容错恢复方法 | |
EP3480705B1 (en) | Database data modification request processing method and apparatus | |
CN105426427A (zh) | 基于raid 0 存储的mpp 数据库集群副本实现方法 | |
CN102541691B (zh) | 面向内存数据库oltp应用的日志检查点恢复方法 | |
CN103593257A (zh) | 一种数据备份方法及装置 | |
CN106155943B (zh) | 一种双控存储设备的掉电保护的方法及装置 | |
CN101980203A (zh) | 一种用于高清媒体的嵌入式文件系统 | |
CN102402622A (zh) | 嵌入式内存数据库的内存页面管理调度方法 | |
CN102710752A (zh) | 灾备存储系统 | |
CN111061748A (zh) | 一种热点账户的记账方法及装置 | |
US20100017648A1 (en) | Complete dual system and system control method | |
CN106569751A (zh) | 一种多控制器缓存镜像方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111221 |