一种内存数据库的事务管理方法

文档序号:6609079阅读:315来源:国知局
专利名称:一种内存数据库的事务管理方法
技术领域
本发明涉及内存数据库的管理方法,特别是一种内存数据库的事务管理方法。
背景技术
随着嵌入式软件的广泛应用,软件系统中需要保存的数据大量出现,内存数据库的需求大量增加,事务操作是内存数据库最本质的操作之一,它的目的就是为了保证一次操作能够完全进行,为了保证事务操作能够永久的提交,通常是将内存数据库修改的数据保存在非易失的介质上后才回应事务提交完成。但在嵌入式系统中,I/O操作时间要求与嵌入式本身的时间要求来比相对较长,尤其是当需要考虑成本的时候,可能会选择I/O性能比较低的物理介质,这样写非易失存储介质的时间相对来说又会大大加长。
由于嵌入式系统中写文件的时间相对比较长,用户不得不忍受较长的事务操作。那么目前对于实时性要求比较高的应用,用户为了提高事务处理的速度只有尽量减少写文件的内容以及写文件的次数、或者是使用读写性能更高的物理介质,这样处理的方式要么会因为选择存盘的数据而增加应用程序的复杂度,要么会因为选择性能较高的物理介质而增加用户的成本。

发明内容
本发明目的在于提供一种使内存数据库的实时提交能够被完整处理的改进的内存数据库的事务管理方法。
鉴于上述目的,本发明提供了一种内存数据库的事务管理方法,包括以下步骤步骤1,操作维护子系统(Operating And Maintenance Subsystem,以下简称OMS)后台将数据提交到内存数据库;步骤2,设置非易失存储介质中预设的存盘标志为未完成,然后内存数据库中的数据存入上述非易失存储介质;步骤3,当内存数据库中的数据存入上述非易失存储介质的存储过程完成后,将上述存盘标志设置为已完成。
其中,如果上述存储过程没有完成,而是在进行过程中出现异常,例如意外中断等,则停止存储过程,不对上述存盘标志改动,其仍为未完成,以便系统启动后重新提交数据。
所述方法还包括步骤4,当系统启动时,读取非易失存储介质的上述存盘标志,并判断该存盘标志是否为未完成,如果是则进入步骤5,否则步骤结束;步骤5,更新内存数据库,在更新过程中拒绝所有OMS后台(即OMS的网管中心)对该内存数据库的操作;步骤6,更新完成后,将内存数据库中的数据重新存入非易失存储介质,转到步骤3。
其中,上述存盘标志可以是已完成或未完成,如果在该系统初始启动时,也可以先将存盘标志设置为初始化。
所述步骤5中,根据非易失存储介质中的数据更新内存数据库,该更新不与OMS后台交互。
所述步骤1具体为,OMS后台发起事务操作,数据以文件或消息的方式传送到OMS前台,而后提交到内存数据库。
所述步骤1中,如果数据以消息的方式传送,则将其维护信息存放在保留内存中或非易失存储介质的配置文件中作备份,该数据的存储过程完成后,清除上述维护信息。
综上所述,本发明的有益效果在于,本发明可以同时保证事务处理的完整性和实时性,易于处理实时性要求较高的应用,保证数据能够完整实时地更新,不会因系统的故障、复位等异常而破坏上述操作,从而增加内存数据库的容灾性。


图1是本发明一较佳实施例的内存数据库的事务管理方法流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步地介绍,但不作为对本发明的限定。
本发明的原理为在非易失存储介质中设置存盘标志,OMS后台将数据提交到内存数据库之后,直接回应事务提交完成,然后将上述数据从内存数据库存入非易失存储介质,用上述存盘标志来记录存盘是否成功,如果系统出现故障,通过该存盘标志即可重新自动存盘。这样可以保证整个过程既在可接受的时间内完成,又不会受系统故障的破坏。
本发明的事务管理方法中的存盘标志设置操作可以包括以下步骤步骤11,系统初始启动时,在非易失存储介质上设置存盘标志Val为初始化;步骤12,OMS后台更新内存数据库的数据,数据可以以文件或消息的方式传送到OMS前台,存入内存数据库,其中,可以根据文件传输协议(File Transfer Protocol,以下简称FTP)传送数据;步骤13,内存数据库更新完成后,将存盘标志Val设置为未完成,同时开始将内存数据库的数据存入非易失存储介质;步骤14,如果上述存储过程正常完成,则将存盘标志Val设置为已完成;如果在上述存储过程中出现异常情况,例如故障、意外中断或复位,则不改动上述存盘标志Val,其仍为未完成。
本发明的内存数据库的事务管理方法可以通过系统启动操作的步骤详细说明,如图1所示,其包括以下步骤步骤21,系统上电启动,根据存盘标志Val判断上一次存盘的状态;步骤22,如果上述存盘标志Val为初始化或已完成,则表示上次存盘正常,转入步骤23;如果上述存盘标志Val为未完成,则说明上次存盘过程未完成,转到步骤25;步骤23,OMS后台发起事务操作,更新内存数据库的数据;步骤24,更新完成后将存盘标志Val设置为未完成,将上述数据存储到非易失存储介质,转到步骤27;步骤25,重新更新内存数据库,该更新不用和OMS后台交互,根据非易失存储介质中的数据更新内存数据库;步骤26,更新完成后将内存数据库中的数据存储到非易失存储介质;步骤27,如果存储过程正常完成,则设置上述存盘标志Val为已完成;如果在存储过程中系统出现异常,例如故障、复位等,则停止存储过程并保持存盘标志Val为未完成,流程结束。
在所述步骤12中,如果数据是以消息的方式传送,则将此操作的维护信息保存在保留内存或非易失存储介质的配置文件中做备份,待该更新操作完成后清除保存的维护信息;采用保留内存是由于在系统非掉电启动时,存放在保留内存中的数据不会被破坏;采用非易失存储介质的配置文件备份文件是由于有些操作系统不提供保留内存或者由于某些原因而破坏保存在保留内存中的数据,例如某些操作系统会掉电启动,这种情况下保存在保留内存中的数据将被破坏,因此可以将上述维护信息保存在相对稳定的非易失存储介质的配置文件中。因为配置文件较小,所以读写速度较快,一定程度上可以代替保留内存的方式。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;如果不脱离本发明的精神和范围,对本发明进行修改或者等同替换的,均应涵盖在本发明的权利要求的保护范围当中。
权利要求
1.一种内存数据库的事务管理方法,其特征在于包括以下步骤步骤1,操作维护子系统后台将数据提交到内存数据库;步骤2,设置非易失存储介质中预设的存盘标志为未完成,将内存数据库中的数据存入上述非易失存储介质;步骤3,当内存数据库中的数据存入上述非易失存储介质的存储过程完成后,将上述存盘标志设置为已完成。
2.根据权利要求1所述的事务管理方法,其特征在于所述方法还包括步骤4,系统启动时,读取非易失存储介质的上述存盘标志,并判断该存盘标志是否为未完成,如果是则进入步骤5,否则步骤结束;步骤5,更新内存数据库,在更新过程中拒绝所有操作维护子系统后台对该内存数据库的操作;步骤6,更新完成后,内存数据库中的数据重新存入非易失存储介质,转到步骤3。
3.根据权利要求2所述的事务管理方法,其特征在于所述步骤5中,根据非易失存储介质中的数据更新内存数据库,该更新不与操作维护子系统后台交互。
4.根据权利要求3所述的事务管理方法,其特征在于所述步骤1具体为,操作维护子系统后台发起事务操作,数据以文件或消息的方式传送到操作维护子系统前台,而后提交到内存数据库。
5.根据权利要求4所述的事务管理方法,其特征在于所述步骤1中,如果数据以消息的方式传送,则将其维护信息存放在保留内存中或非易失存储介质的配置文件中作备份,该数据的存储过程完成后,清除上述存放的维护信息。
全文摘要
本发明提供了一种内存数据库的事务管理方法步骤1,操作维护子系统后台将数据提交到内存数据库;步骤2,设置非易失存储介质中预设的存盘标志为未完成,将内存数据库中的数据存入上述非易失存储介质;步骤3,当内存数据库中的数据存入上述非易失存储介质的存储过程完成后,将上述存盘标志设置为已完成。本发明可以同时保证事务处理的完整性和实时性,易于处理实时性要求较高的应用,保证数据能够完整实时地更新,不会因系统的故障、复位等异常而破坏上述操作,从而增加内存数据库的容灾性。
文档编号G06F11/14GK101051324SQ200710103758
公开日2007年10月10日 申请日期2007年5月23日 优先权日2007年5月23日
发明者孙号令 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1