事务处理的方法、装置及计算机系统制造方法及图纸

技术编号:20904184 阅读:78 留言:0更新日期:2019-04-20 03:06
本发明专利技术公开了一种事务处理的方法、装置及计算机系统。该事务处理方法包括:接收事务处理请求,所述事务处理请求中携带有事务的事务数据;在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括事务状态以及事务标识和地址,所述事务状态为未提交状态;根据所述地址,将所述事务数据写入所述非易失性内存;根据所述事务标识将所述事务的事务状态修改为提交状态;将所述事务数据从所述非易失性内存写入所述计算机系统的外存;根据所述事务标识将所述事务的事务状态修改为备份状态。通过上述方式,能够提高事务数据的处理速度。

Method, Device and Computer System of Transaction Processing

The invention discloses a method, device and computer system for transaction processing. The transaction processing method includes: receiving the transaction processing request, carrying transaction data in the transaction processing request; recording the state information of the transaction in non-volatile memory, in which the state information of the transaction includes transaction status, transaction identification and address, the transaction status is uncommitted; and writing the transaction data according to the address. The non-volatile memory; the transaction state of the transaction is modified to a submission state according to the transaction identification; the transaction data is written from the non-volatile memory to the external memory of the computer system; and the transaction state of the transaction is modified to a backup state according to the transaction identification. Through the above way, the processing speed of transaction data can be improved.

【技术实现步骤摘要】
【国外来华专利技术】事务处理的方法、装置及计算机系统
本申请涉及事务处理
,尤其涉及一种事务处理的方法、装置及计算机系统。
技术介绍
在许多大型、关键的应用程序中,计算机每秒钟都在执行大量的任务。当多个任务结合在一起完成一个业务要求,该业务要求可以被称为事务。其中,事务具有原子性和一致性。为保证事务的原子性和一致性,现有事务处理通常采用写前日志(英文:Write-AheadLogging,简称:WAL)的方法,具体的,现有计算机系统包括处理器、内存和外存,所述内存为动态随机存取存储器(英文:DynamicRandomAccessMemory,简称:DRAM),外存设置有日志区。在接收到事务处理的请求时,处理器先将事务的事务数据从计算机系统的缓存中写入到内存,再将已写入内存的事务数据写入到外存的日志区。当事务的所有事务数据均写入到日志区后,处理器再将事务数据写入到外存中,实现所述事务的提交。然而,上述现有事务处理方法的所有事务数据必须在写入内存之后再写入日志区中,且当所有事务数据均写入日志区时,才能提交事务。即,事务处理过程中必须对事务数据进行两次的写入动作,导致事务处理的速度缓慢。
技术实现思路
本申请提供了事务处理的方法、装置及计算机系统,能够提高事务数据的处理速度。第一方面,本专利技术实施例提供了一种事务处理的方法,所述方法用于包括非易失性内存的计算机系统中,所述方法包括:接收事务处理请求,所述事务处理请求中携带有事务的事务数据;在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括事务状态以及根据所述事务处理请求为所述事务分配的事务标识和地址,所述事务状态为未提交状态,所述未提交状态表示所述事务数据未全部写入所述非易失性内存中;根据所述地址,将所述事务数据写入所述非易失性内存;根据所述事务标识将所述事务的事务状态修改为提交状态,所述提交状态表示所述事务的事务数据已经全部写入所述非易失性内存中且未完全写入所述计算机系统的外存中;将所述事务数据从所述非易失性内存写入所述计算机系统的外存;根据所述事务标识将所述事务的事务状态修改为备份状态,所述备份状态表示所述事务的事务数据已全部写入所述计算机系统的外存中。结合第一方面,在第一方面的第一可能实施例中,所述根据所述事务标识将所述事务的事务状态修改为提交状态之前,所述方法还包括:如果所述计算机系统重新启动,则根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为未提交状态;删除所述事务数据以及所述事务的状态信息。结合第一方面或第一方面的第一可能实施例,在第一方面的第二可能实施例中,所述根据所述事务标识将所述事务的事务状态修改为提交状态之后,所述方法还包括:如果所述计算机系统重新启动,则根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为提交状态,并执行所述将所述事务数据从所述非易失性内存写入所述计算机系统的外存的动作。结合第一方面、或第一方面的第一或第二可能实施例,在第一方面的第三可能实施例中,所述根据所述事务标识将所述事务的事务状态标记为备份状态之后,所述方法还包括:删除所述事务的事务数据。第二方面,本专利技术实施例提供了一种事务处理的装置,所述装置用于包括非易失性内存的计算机系统中,所述装置包括:接收模块,用于接收事务处理请求,所述事务处理请求中携带有事务的事务数据;记录模块,用于在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括所述事务标识以及根据所述事务处理请求为所述事务分配的事务标识和地址,所述事务状态为未提交状态,所述未提交状态表示所述事务数据未全部写入所述非易失性内存中;内存写入模块,用于根据所述地址,将所述事务数据写入所述非易失性内存;所述记录模块还用于在所述内存写入模块将所述事务数据写入所述非易失性内存后,根据所述事务标识将所述事务的事务状态修改为提交状态,所述提交状态表示所述事务的事务数据已经全部写入所述非易失性内存中且未完全写入所述计算机系统的外存中;外存写入模块,用于在所述记录模块将所述事务的事务状态修改为提交状态后,将所述事务数据从所述非易失性内存写入所述计算机系统的外存;所述记录模块还用于在所述外存写入模块将所述事务数据写入所述计算机系统的外存后,根据所述事务标识将所述事务的事务状态修改为备份状态,所述备份状态表示所述事务的事务数据已全部写入所述计算机系统的外存中。结合第二方面,在第二方面的第一可能实施例中,还包括:状态确定模块,用于在所述记录模块将所述事务的事务状态修改为提交状态之前,如果所述计算机系统重新启动,则根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为未提交状态;删除模块,用于在所述状态确定模块确定所述事务的事务状态为未提交状态时,删除所述事务数据以及所述事务的状态信息。结合第二方面的第一可能实施例,在第二方面的第二可能实施例中,所述状态确定模块,还用于在所述记录模块将所述事务的事务状态修改为提交状态之后,若所述计算机重新启动,则根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为提交状态,并触发所述外存写入模块执行所述将所述事务数据从所述非易失性内存写入所述计算机系统的外存的动作。结合第二方面的第一或第二可能实施例,在第二方面的第三可能实施例中,所述删除模块,还用于在所述记录模块将所述事务的事务状态标记为备份状态之后,删除所述事务的事务数据。第三方面,本专利技术实施例提供了一种计算机系统,所述计算机系统包括处理器和非易失性内存,其中:所述非易失性内存,用于存储数据;所述处理器用于:接收事务处理请求,所述事务处理请求中携带有事务的事务数据;在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括所述事务标识以及根据所述事务处理请求为所述事务分配的事务标识和地址,所述事务状态为未提交状态,所述未提交状态表示所述事务数据未全部写入所述非易失性内存中;根据所述地址,将所述事务数据写入所述非易失性内存;根据所述事务标识将所述事务的事务状态修改为提交状态,所述提交状态表示所述事务的事务数据已经全部写入所述非易失性内存中且未完全写入所述计算机系统的外存中;将所述事务数据从所述非易失性内存写入所述计算机系统的外存;根据所述事务标识将所述事务的事务状态修改为备份状态,所述备份状态表示所述事务的事务数据已全部写入所述计算机系统的外存中。结合第三方面,在第三方面的第一可能实施例中,在执行所述根据所述事务标识将所述事务的事务状态修改为提交状态之前,所述处理器还用于:在所述计算机系统重新启动时,根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为未提交状态;删除所述事务数据以及所述事务的状态信息。结合第三方面或第三方面的第一可能实施例,在第三方面的第二可能实施例中,在执行所述根据所述事务标识将所述事务的事务状态修改为提交状态之后,所述处理器还用于:在所述计算机重新启动时,根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为提交状态,并执行所述将所述事务数据从所述非易失性内存写入所述计算机系统的外存的动作。结合第三方面、或第三方面的第一或第二可能实施例,在第三方面的第三可能实施例中,本文档来自技高网...

【技术保护点】
1.一种事务处理的方法,所述方法用于包括非易失性内存的计算机系统中,其特征在于,包括:接收事务处理请求,所述事务处理请求中携带有事务的事务数据;在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括事务状态以及根据所述事务处理请求为所述事务分配的事务标识和地址,所述事务状态为未提交状态,所述未提交状态表示所述事务数据未全部写入所述非易失性内存中;根据所述地址,将所述事务数据写入所述非易失性内存;根据所述事务标识将所述事务的事务状态修改为提交状态,所述提交状态表示所述事务的事务数据已经全部写入所述非易失性内存中且未完全写入所述计算机系统的外存中;将所述事务数据从所述非易失性内存写入所述计算机系统的外存;根据所述事务标识将所述事务的事务状态修改为备份状态,所述备份状态表示所述事务的事务数据已全部写入所述计算机系统的外存中。

【技术特征摘要】
【国外来华专利技术】1.一种事务处理的方法,所述方法用于包括非易失性内存的计算机系统中,其特征在于,包括:接收事务处理请求,所述事务处理请求中携带有事务的事务数据;在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括事务状态以及根据所述事务处理请求为所述事务分配的事务标识和地址,所述事务状态为未提交状态,所述未提交状态表示所述事务数据未全部写入所述非易失性内存中;根据所述地址,将所述事务数据写入所述非易失性内存;根据所述事务标识将所述事务的事务状态修改为提交状态,所述提交状态表示所述事务的事务数据已经全部写入所述非易失性内存中且未完全写入所述计算机系统的外存中;将所述事务数据从所述非易失性内存写入所述计算机系统的外存;根据所述事务标识将所述事务的事务状态修改为备份状态,所述备份状态表示所述事务的事务数据已全部写入所述计算机系统的外存中。2.根据权利要求1所述的方法,其特征在于,所述根据所述事务标识将所述事务的事务状态修改为提交状态之前,所述方法还包括:如果所述计算机系统重新启动,则根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为未提交状态;删除所述事务数据以及所述事务的状态信息。3.根据权利要求1所述的方法,其特征在于,所述根据所述事务标识将所述事务的事务状态修改为提交状态之后,所述方法还包括:如果所述计算机系统重新启动,则根据所述非易失性内存中记录的所述事务的状态信息,确定所述事务的事务状态为提交状态,并执行所述将所述事务数据从所述非易失性内存写入所述计算机系统的外存的动作。4.根据权利要求1所述的方法,其特征在于,所述根据所述事务标识将所述事务的事务状态标记为备份状态之后,所述方法还包括:删除所述事务的事务数据。5.一种事务处理的装置,所述装置用于包括非易失性内存的计算机系统中,其特征在于,所述装置包括:接收模块,用于接收事务处理请求,所述事务处理请求中携带有事务的事务数据;记录模块,用于在非易失性内存中记录所述事务的状态信息,其中,所述事务的状态信息包括事务状态以及根据所述事务处理请求为所述事务分配的事务标识和地址,所述事务状态为未提交状态,所述未提交状态表示所述事务数据未全部写入所述非易失性内存中;内存写入模块,用于根据所述地址,将所述事务数据写入所述非易失性内存;所述记录模块还用于在所述内存写入模块将所述事务数据写入所述非易失性内存后,根据所述事务标识将所述事务的事务状态修改为提交状态,所述提交状态表示所述事务的事务数据已经全部写入所述非易失性内存中且未完全写入所述计算机系统的外存中;外存写入模块,用于在所述记录模块将所述事务的事务状态修改为提交状态后,将所述事务数据从所述非易失性内存写入所述计算机系统的外存;所述记录模块还用于在所述外存写入模块将所述事务数据写入所述计算机系统的外存后,根据所述事务标识将所述事务的事务状态修改为备份状态,所述...

【专利技术属性】
技术研发人员:王华卿黄文龙徐君
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1