内存数据操作的事务处理方法技术

技术编号:35213845 阅读:37 留言:0更新日期:2022-10-15 10:28
本发明专利技术提供一种内存数据操作的事务处理方法,包括以下步骤:当用户进程发送对内存的用户数据的n条操作指令时,将n条操作指令放入事务函数中;do事务执行函数在内层中创建日志列表,将事务函数作为参数,传递给do事务执行函数,由do事务执行函数按执行逻辑执行对内存的n条操作指令,执行过程中,将对内存的操作过程实时添加到日志列表;实时采用异常机制对操作过程进行错误捕捉,如果捕捉到错误,进行回滚。本发明专利技术中,自定义一套内存事务,用于处理业务层对内存的操作。在对内存数据操作时,通过内存事务处理机制,保证内存数据的完整性和正确性,并支持嵌套,在服务器端和客户端均可使用。用。用。

【技术实现步骤摘要】
内存数据操作的事务处理方法


[0001]本专利技术属于内存数据操作
,具体涉及一种内存数据操作的事务处理方法。

技术介绍

[0002]数据库事务,在数据存取中有着重要的作用,可保证由一个或多个数据库操作构成一个逻辑上的整体,这个整体中的数据库操作,或者全部执行成功,或者全部不执行,从而保证数据的正确性。例如,当进行银行转账时,不能出现一方钱扣,但是对方不到账的情况,数据库事务就保证这种操作以后的数据完整性。但是在一些对于数据存取要求低延迟的应用场景中,比如网络游戏,通常采用缓存技术,将数据缓存在读写性能比较好的内存中,此时如何保证内存数据也能构成一个整体,是目前需要解决的问题。
[0003]现有方案通常是每次按不同的需求,在每个业务中都写上处理错误的方法,以及在发生错误时数据处理逻辑。此种方式,会造成代码管理上的混乱,也无法有效保证内存数据的正确性。

技术实现思路

[0004]针对现有技术存在的缺陷,本专利技术提供一种内存数据操作的事务处理方法,可有效解决上述问题。
[0005]本专利技术采用的技术方案如下本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种内存数据操作的事务处理方法,其特征在于,包括以下步骤:步骤1,在业务层和数据库之间加入内存作为缓存;当业务层启动新的用户进程pro_user时,将数据库存储的与所述用户进程pro_user对应的用户数据加载到内存;步骤2,当用户进程pro_user发送对内存的用户数据的n条操作指令时,其中,n为自然数,n条操作指令具有执行逻辑关系,根据n条操作指令的执行逻辑关系,定义与本次操作指令对应的事务函数tran(A),将n条操作指令放入事务函数tran(A)中;步骤3,创建与本次操作指令对应的do事务执行函数;do事务执行函数在内层中创建tran_log日志列表,并置tran_log日志列表初始状态为空列表;将事务函数tran(A)作为参数,传递给do事务执行函数,由do事务执行函数按执行逻辑执行对内存的n条操作指令,在执行n条操作指令的过程中,一方面,将对内存的操作过程实时添加到tran_log日志列表;另一方面,实时采用异常机制对操作过程进行错误捕捉,如果捕捉到错误,则执行步骤4;如果没有捕捉到错误,表明成功执行完成对内存的n条操作指令,注销事务函数tran(A)、tran_log日志列表和do事务执行函数,本次的n条操作指令执行完成,然后执行步骤5;步骤4,按顺序反向遍历tran_log日志列表,根据tran_log日志列表记录的对内存的操作过程,回滚已经执行的操作过程,实现对内存用户数据的还原,将内存用户数据还原到未执行本次n条操作指令的初始状态;然后注销事务函数tran(A)、tran_log日志列表和do事务执行函数,不再执行本次的n条操作指令,结束本次处理流程;步骤5,将tran_log日志列表记录的对内存的操作过程发送到数据落地进程,数据落地进程...

【专利技术属性】
技术研发人员:郑宇姚剑军许艺清李东君
申请(专利权)人:厦门飞鱼科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1