分布式事务的实现方法和系统技术方案

技术编号:15540472 阅读:77 留言:0更新日期:2017-06-05 10:20
本发明专利技术公开了一种分布式事务的实现方法和实现系统,该实现方法包括:创建事务及事务ID;一次提交事务到与事务对应的元数据节点,元数据节点包括快速存储设备;根据事务ID二次提交事务到与事务对应的目标对象。本发明专利技术通过为各个元数据节点均配置一个快速存储设备,将事务直接发送到目的元数据节点的快速存储设备中,避免了单独设置事务存储节点带来的写入数据需要两次下盘的问题和事务存储节点故障导致提供服务时间延长的问题,减少了一次提交的时间,简化了事务的处理流程。

Method and system for implementing distributed transaction

Implementation method and system of the invention discloses a distributed transaction, including the realization method: create a transaction and transaction ID; a transaction to the metadata node and the transaction corresponding to the metadata node including fast storage devices; according to ID two times to commit the transaction transaction and the transaction corresponding to the target object. The present invention is through various metadata nodes equipped with a fast storage device will be sent directly to the fast transaction storage device to metadata node, avoids separate transactional memory node brings write data need two times the footwall issues and matters of storage node failure led to provide Business Hours extended, reduced the amount of time a submit, simplifies the process of the transaction.

【技术实现步骤摘要】
分布式事务的实现方法和系统
本专利技术涉及计算机领域,具体来说,涉及一种分布式事务的实现方法和系统。
技术介绍
分布式文件系统一般包含客户端,元数据节点和数据服务器,客户端负责文件数据的访问接口制定,元数据节点处理文件的布局及属性,数据服务器存储文件的数据内容。对于分布式文件系统,可以存储海量数据是其最主要的特征。元数据的组织相当复杂,并且以分布式的形式存储于各个数据节点上,当一个文件进行创建操作时,数据节点需要同时操作若干个数据节点,并且他们之间具有相关性,若在操作过程中遇到故障,则可能会导致一部分数据节点修改成功、另一部分数据节点修改失败,这就使得元数据的整体结构被破坏。所以必须设计一种事务的语义,保证提交到这若干个数据节点的数据全成功、或者全失败。现有技术的一种做法是利用HA(HighAvailability,高可用性)方式。现有技术的另一种做法是选取一个集中的事务存储节点,先将要写入的数据按序写入到该事务存储节点上,然后再将要写入的数据写入到指定的数据节点中,之后再删除事务存储节点上的事务记录。这使得要写入的数据需要两次下盘,并且事务恢复时必须按序让所有的事务执行完成后才能重新提供服务,这样一方面浪费了磁盘性能,另一方面延长了故障后重新提供服务的时间。针对相关技术中写入的数据需要两次下盘和事务存储节点故障导致提供服务时间延长的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中写入的数据需要两次下盘和事务存储节点故障导致提供服务时间延长的问题,本专利技术提出一种分布式事务的实现方法和系统,能够减少数据下盘的次数,并避免了事务存储节点故障导致提供服务时间延长的问题。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种分布式事务的实现方法。该分布式事务的实现方法包括:创建事务及事务ID;一次提交事务到与事务对应的数据节点,数据节点包括快速存储设备;根据事务ID二次提交事务到与事务对应的目标对象。优选地,一次提交事务到与事务对应的数据节点,包括:将事务固化于快速存储设备中;数据节点返回事务固化成功的确认信息。优选地,在数据节点返回事务固化成功的确认信息之后,还包括:收到所有事务的固化成功的确认信息之后,返回事务提交完成的响应信息。优选地,在创建事务及事务ID之前之前,还包括:封锁事务相关的数据。优选地,在返回事务提交完成的响应信息之后,还包括:解锁事务相关的数据。优选地,根据事务ID二次提交事务到与事务对应的目标对象,包括:按照事务ID的顺序发送二次提交事务的指令信息;根据二次提交事务的指令信息,将快速存储设备中的事务写入应用日志;将事务写入对应的目标对象。优选地,快速存储设备为nvdm设备,nvdm设备的存储容量为8G或16G。根据本专利技术的另一方面,提供了一种分布式事务的实现系统。该分布式事务的实现系统包括:元数据节点,用于创建并保存事务ID;数据节点,用于根据事务ID二次提交事务到与事务对应的目标对象。优选地,元数据节点还用于发送二次提交事务的指令信息、封锁事务相关的数据、解锁事务相关的数据;数据节点还用于返回事务提交完成的响应信息、将事务写入应用日志、和将写入对应的目标对象。本专利技术通过为各个数据节点均配置一个快速存储设备,将事务直接发送到目的数据节点的快速存储设备中,避免了单独设置事务存储节点带来的写入数据需要两次下盘的问题和事务存储节点故障导致提供服务时间延长的问题,减少了一次提交的时间,简化了事务的处理流程。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的分布式事务的实现方法的流程图;图2是根据本专利技术具体实施例的分布式事务的实现方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了一种分布式事务的实现方法。如图1所示,根据本专利技术实施例的分布式事务的实现方法包括以下步骤:步骤S101,创建事务及事务ID,其中事务ID表示事务的提交顺序;步骤S103,一次提交事务到与事务对应的数据节点,数据节点包括快速存储设备;步骤S105,根据事务ID二次提交事务到与事务对应的目标对象。本专利技术通过为数据节点配置快速存储设备,将事务直接发送到数据节点的快速存储设备中,避免了单独设置事务存储节点带来的写入数据需要两次下盘的问题和事务存储节点故障导致提供服务时间延长的问题,减少了一次下盘的时间,简化了事务的处理流程。在一个实施例中,在创建事务及事务ID之后,还包括:封锁事务相关的数据。为了更好的理解本专利技术的上述实施例,下面结合图2来对本专利技术的上述技术方案进行详细阐述。从图2可以看出,本专利技术的分布式文件系统包括元数据节点opara、和多个数据节点(ostor1~ostorN),数据节点(ostor1~ostorN)也就是与不同事务(事务1~事务n)相对应的数据节点,元数据节点opara包括日志发起器,每个数据节点(ostor1~ostorN)均具有一个nvdm(non-volatiledatamemory,非易失数据存储器)设备(nvdm1~nvdmN)。在一个实施例中,在封锁事务相关的数据之后,还包括以下步骤:步骤1.日志发起器进行一次提交,将各个事务(事务1~事务n)分别发送到对应的数据节点(ostor1~ostorN)。数据节点(ostor1~ostorN)将事务(事务1~事务n)固化到对应的nvdm设备(nvdm1~nvdmN)中。步骤2.日志发起器一次提交完成后,响应元数据节点opara事务固化成功的确认信息。当元数据节点opara接收到所有事务(事务1~事务n)的固化成功的确认信息之后,元数据节点opara可以解锁事务相关的数据。步骤3.日志发起器按照事务的ID顺序向数据节点(ostor1~ostorN)发送二次提交事务的指令commit。步骤4.各个数据节点(ostor1~ostorN)收到二次提交事务的指令commit后,将nvdm设备(nvdm1~nvdmN)中的事务(事务1~事务n)写入到对应的应用日志,再通过应用日志将事务(事务1~事务n)写入到相应的目标对象(obj1~objN)中。步骤5.响应元数据节点opara二次提交事务的指令commit完成,元数据节点opara释放内存。在上述实施例中,因为事务在其涉及到的对象上是串行依次执行的,即二次提交时对同一对象上涉及的不同事务,必须按响应元数据节点opara的顺序执行,所以可以在一次提交后就可以响应元数据节点opara事务提交完成。可选地,nvdm设备的存储容量为8G。可选地,nvdm设备的存储容量为16G。本专利技术通过为各个数据节点均配置一个nvdm设备,利用nvdm设备的快速存储特性,将事务直接发送到目的数据节点的nvdm设备中,避免了单独设置事务存储节点带来的写本文档来自技高网...
分布式事务的实现方法和系统

【技术保护点】
一种分布式事务的实现方法,其特征在于,包括:创建事务及事务ID;一次提交事务到与所述事务对应的数据节点,其中所述数据节点包括快速存储设备;根据所述事务ID二次提交事务到与所述事务对应的目标对象。

【技术特征摘要】
1.一种分布式事务的实现方法,其特征在于,包括:创建事务及事务ID;一次提交事务到与所述事务对应的数据节点,其中所述数据节点包括快速存储设备;根据所述事务ID二次提交事务到与所述事务对应的目标对象。2.根据权利要求1所述的分布式事务的实现方法,其特征在于,一次提交事务到与所述事务对应的数据节点,包括:将所述事务固化于所述快速存储设备中;所述数据节点返回所述事务固化成功的确认信息。3.根据权利要求2所述的分布式事务的实现方法,其特征在于,在所述数据节点返回所述事务固化成功的确认信息之后,还包括:收到所有事务的所述固化成功的确认信息之后,返回事务提交完成的响应信息。4.根据权利要求3所述的分布式事务的实现方法,其特征在于,在创建事务及事务ID之前,还包括:封锁事务相关的数据。5.根据权利要求4所述的分布式事务的实现方法,其特征在于,在返回事务提交完成的响应信息之后,还包括:解锁事务相关的数据。6.根据权利要求1...

【专利技术属性】
技术研发人员:郭照斌季旻姜国梁杨鹏康撼宇
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京,11

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

1