事务日志的记录方法

文档序号:6561606阅读:327来源:国知局
专利名称:事务日志的记录方法
技术领域
本发明涉及一种数据存储记录方法,具体地说,涉及一种事务日志的记录方法。
背景技术
数据库已经在各个领域得到广泛应用,通用的结构化查询语言为软件开发人员提供了简单、快捷的数据存储操作方法,使得数据存储由文件数据库几乎完全转换到关系数据库;但是在数据库的实际应用过程中,常常由于各种原因,如网络中断、数据库本身出现问题等,而导致数据库无法正常工作,给我们的生产活动带来很大影响。为此,技术人员通过各种办法来弥补这种隐患,但效果都不够理想。

发明内容
本发明针对数据库无法访问这种隐患,提供了一种简单、快捷、使用方便的事务日志的记录方法。本发明所采用的技术方案如下一种事务日志的记录方法,该方法包括以下步骤
步骤1、数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;
步骤2、数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;
步骤3、数据库由中断状态变为连通状态,执行提交操作,S卩,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;
步骤4、数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。基于上述,在步骤2中,事务日志存储模式下,包括三种操作添加数据、更新数据和删除数据;其中,添加数据和更新数据没有区别,添加数据前,需要从本地序列范围中获取序列值作为临时序列;删除数据即删除对应的事务日志,删除数据时,如果删除的是数据库中断后添加的数据,则可以直接删除,如果删除的数据是数据库中断前就存在的数据,则需要记录对应的删除日志,供数据库连接后删除使用;
在步骤3中,提交过程如下从事务日志中读取提交数据;向数据库提交添加命令,即先将该数据主键值替换成从数据库序列中获取的主键值,然后再把该数据添加到数据库; 向数据库提交删除命令,即向数据库提交在事务日志存储模式下记录的删除日志,以删除数据库中对应的数据;判断向数据库提交的删除命令和添加命令是否执行成功,若执行成功,即可将事务日志存储模式转换为数据库存储模式。本发明相对现有技术具有突出的实质性特点和显著进步,具体地说,该事务日志的记录方法有以下优点1、该方法能够明显降低数据库中断后对生产活动的影响和两个数据库双机热备方式相比,这种方法可以解决网络中断带来的问题,它能够及时保存重要的生产数据,也能够将生产数据通过日志文件形式供本地终端读取,展现给用户;
2、该方法在很大程度上减少了用户费用支出通过两个数据库双机热备也能够在一定程度上减少数据丢失风险,但是它增加了硬件成本和维护成本高。
具体实施例方式下面通过具体实施方式
,对本发明的技术方案做进一步的详细描述。一种事务日志的记录方法,该方法包括以下步骤
步骤1、数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;
步骤2、数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;
步骤3、数据库由中断状态变为连通状态,执行提交操作,S卩,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;
步骤4、数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。基于上述,在步骤2中,事务日志存储模式下,包括三种操作添加数据、更新数据和删除数据;其中,添加数据和更新数据没有区别,添加数据前,需要从本地序列范围中获取序列值作为临时序列;删除数据即删除对应的事务日志,删除数据时,如果删除的是数据库中断后添加的数据,则可以直接删除,如果删除的数据是数据库中断前就存在的数据,则需要记录对应的删除日志,供数据库连接后删除使用;
在步骤3中,提交过程如下从事务日志中读取提交数据,在多个终端的情况下,只允许一个终端执行提交操作,为了保证提交终端数据是最新的,提交前必须从事物日志中读取数据;
向数据库提交添加命令,即,添加数据前,需要先将该数据主键值替换成从数据库序列中获取的主键值,然后再把该数据添加到数据库;
向数据库提交删除命令,即向数据库提交在事务日志存储模式下记录的删除日志,以删除数据库中对应的数据;
判断向数据库提交的删除命令和添加命令是否执行成功,若执行成功,即可将事务曰志存储模式转换为数据库存储模式,如果没有执行成功,则不能删除本地事务日志,以防止数据丢失;
将事务日志存储模式转换为数据库存储模式,向数据库提交的命令执行成功后,即可将事务日志存储模式转换为数据库存储模式,此后,软件将处于数据库存储模式;
删除事务日志文件,存储模式由事务日志存储模式转换为数据库存储模式后,即可删除对应的事务日志。本发明在所应用软件中包括两种存储模式
1、数据库存储模式在数据库存储模式下,软件只和数据库交互数据。
2、事务日志存储模式在事务日志存储模式下,软件只和事物日志交互数据。本发明在所应用软件中包括两个重要的操作
1、转存操作在数据库由连通状态变为中断状态时,执行转存操作,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上。2、提交操作在数据库由中断状态变为连通状态时,执行提交操作,将内存中的数据提交到数据库中。本发明在所应用软件中定义下列配置信息
1、当前存储模式为了使本地终端重新启动后,存储模式不丢失,需要在配置信息中记录当前存储模式,包括数据库存储模式和事务日志存储模式。2、序列范围和当前序列值该序列范围和数据库序列类型一致,都为数值类型; 为了区别本地序列值和数据库序列值,该序列范围不能和数据库定义序列范围存在交集; 为了保证多个本地终端序列在数据库中断后序列的使用不重复,多个本地终端序列范围不能存在交集;为了使应用软件重启后,序列值不重置,需要在配置信息中记录当前序列值。3、事务日志存储目录位置数据库中断后,本地局域网不一定中断,即使中断也能很容易组建;通过共享目录方式使多个本地终端共享事物日志。就需要在配置信息中记录存放事务日志的共享目录。4、本终端是否具有提交权限在多个终端的情况下,数据库中断后对事务日志的访问,一个日志文件只能由一个终端执行写入操作;日志文件之间可能存在数据的关联关系,但日志文件记录关联关系的能力远不如数据库;我们约定提交操作只能由一个终端进行,在配置信息中记录这个终端具有提交权限,就能够通过配置实现由一个终端执行提交操作。本发明中事务日志存储的文件结构
1、存储日志存储日志用来保存内存数据添加或更新后的日志记录;内存数据在数据库表中的主键就作为存储日志文件名称,数据的相关信息存储到该存储日志文件中。2、删除日志删除日志用来保存内存数据删除后的日志记录;内存数据在数据库表中的主键就作为删除日志文件名称,数据的相关信息都存储到该删除日志文件中。3、日志分类整个系统需要存储多种数据,我们把同一类型的数据放到一个日志文件夹中,以类型名称命名为文件夹名称;每个类型的文件夹中包括两个子文件夹,子文件夹名称分别是“存储日志”和“删除日志”;“存储日志”用来保存存储日志信息,“删除日志” 用来保存删除日志信息。4、班次分类在人机交互的生产系统中都有班次的概念,每个班次的数据单独存放在一个日志文件夹中,用“日期+班次”命名为日志文件夹名称。5、存储位置班次日志文件夹的存储位置由配置信息确定。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
权利要求
1.一种事务日志的记录方法,其特征在于,该方法包括以下步骤步骤1、数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;步骤2、数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;步骤3、数据库由中断状态变为连通状态,执行提交操作,S卩,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;步骤4、数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。
2.根据权利要求1所述的事务日志的记录方法,其特征在于在步骤2中,事务日志存储模式下,包括三种操作添加数据、更新数据和删除数据;其中,添加数据和更新数据没有区别,添加数据前,需要从本地序列范围中获取序列值作为临时序列;删除数据即删除对应的事务日志,删除数据时,如果删除的是数据库中断后添加的数据,则可以直接删除,如果删除的数据是数据库中断前就存在的数据,则需要记录对应的删除日志,供数据库连接后删除使用;在步骤3中,提交过程如下从事务日志中读取提交数据;向数据库提交添加命令,即先将该数据主键值替换成从数据库序列中获取的主键值,然后再把该数据添加到数据库; 向数据库提交删除命令,即向数据库提交在事务日志存储模式下记录的删除日志,以删除数据库中对应的数据;判断向数据库提交的删除命令和添加命令是否执行成功,若执行成功,即可将事务日志存储模式转换为数据库存储模式。
全文摘要
本发明提供一种事务日志的记录方法,该方法包括以下步骤数据库由连通状态变为中断状态,执行转存操作,即,将内存中的数据序列化后得到文本数据流,并将文本数据流记录到事物日志上,此时,存储模式由数据库存储模式转换为事务日志存储模式;数据库处于中断状态,此时,存储模式采用事务日志存储模式,存储操作只和事物日志交互数据;数据库由中断状态变为连通状态,执行提交操作,即,将内存中的数据提交到数据库中,此时,存储模式由事务日志存储模式转换为数据库存储模式;数据库处于连通状态,此时,存储模式采用数据库存储模式,存储操作只和数据库交互数据,并删除对应的本地事务日志。该方法具有简单、快捷、使用方便的优点。
文档编号G06F17/30GK102289476SQ20111021567
公开日2011年12月21日 申请日期2011年7月29日 优先权日2011年7月29日
发明者何培峰, 刘大庆, 刘燕, 宋新强, 栗海松, 琚军平, 黄鹏杰 申请人:河南辉煌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1