CN106775468B - 分布式事务的实现方法和系统 - Google Patents

分布式事务的实现方法和系统 Download PDF

Info

Publication number
CN106775468B
CN106775468B CN201611111319.7A CN201611111319A CN106775468B CN 106775468 B CN106775468 B CN 106775468B CN 201611111319 A CN201611111319 A CN 201611111319A CN 106775468 B CN106775468 B CN 106775468B
Authority
CN
China
Prior art keywords
transaction
data
storage device
node
target object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611111319.7A
Other languages
English (en)
Other versions
CN106775468A (zh
Inventor
郭照斌
季旻
姜国梁
杨鹏
康撼宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd.
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201611111319.7A priority Critical patent/CN106775468B/zh
Publication of CN106775468A publication Critical patent/CN106775468A/zh
Application granted granted Critical
Publication of CN106775468B publication Critical patent/CN106775468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

分布式事务的实现方法和系统
技术领域
本发明涉及计算机领域,具体来说,涉及一种分布式事务的实现方法和系统。
背景技术
分布式文件系统一般包含客户端,元数据节点和数据服务器,客户端负责文件数据的访问接口制定,元数据节点处理文件的布局及属性,数据服务器存储文件的数据内容。
对于分布式文件系统,可以存储海量数据是其最主要的特征。元数据的组织相当复杂,并且以分布式的形式存储于各个数据节点上,当一个文件进行创建操作时,数据节点需要同时操作若干个数据节点,并且他们之间具有相关性,若在操作过程中遇到故障,则可能会导致一部分数据节点修改成功、另一部分数据节点修改失败,这就使得元数据的整体结构被破坏。所以必须设计一种事务的语义,保证提交到这若干个数据节点的数据全成功、或者全失败。
现有技术的一种做法是利用HA(High Availability,高可用性)方式。现有技术的另一种做法是选取一个集中的事务存储节点,先将要写入的数据按序写入到该事务存储节点上,然后再将要写入的数据写入到指定的数据节点中,之后再删除事务存储节点上的事务记录。这使得要写入的数据需要两次下盘,并且事务恢复时必须按序让所有的事务执行完成后才能重新提供服务,这样一方面浪费了磁盘性能,另一方面延长了故障后重新提供服务的时间。
针对相关技术中写入的数据需要两次下盘和事务存储节点故障导致提供服务时间延长的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中写入的数据需要两次下盘和事务存储节点故障导致提供服务时间延长的问题,本发明提出一种分布式事务的实现方法和系统,能够减少数据下盘的次数,并避免了事务存储节点故障导致提供服务时间延长的问题。
本发明的技术方案是这样实现的:根据本发明的一个方面,提供了一种分布式事务的实现方法。
该分布式事务的实现方法包括:创建事务及事务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~ostor N),数据节点(ostor1~ostor N)也就是与不同事务(事务1~事务n)相对应的数据节点,元数据节点opara包括日志发起器,每个数据节点(ostor1~ostorN)均具有一个nvdm(non-volatile data memory,非易失数据存储器)设备(nvdm1~nvdmN)。
在一个实施例中,在封锁事务相关的数据之后,还包括以下步骤:
步骤1.日志发起器进行一次提交,将各个事务(事务1~事务n)分别发送到对应的数据节点(ostor1~ostor N)。数据节点(ostor1~ostor N)将事务(事务1~事务n)固化到对应的nvdm设备(nvdm1~nvdm N)中。
步骤2.日志发起器一次提交完成后,响应元数据节点opara事务固化成功的确认信息。当元数据节点opara接收到所有事务(事务1~事务n)的固化成功的确认信息之后,元数据节点opara可以解锁事务相关的数据。
步骤3.日志发起器按照事务的ID顺序向数据节点(ostor1~ostor N)发送二次提交事务的指令commit。
步骤4.各个数据节点(ostor1~ostor N)收到二次提交事务的指令commit后,将nvdm设备(nvdm1~nvdm N)中的事务(事务1~事务n)写入到对应的应用日志,再通过应用日志将事务(事务1~事务n)写入到相应的目标对象(obj1~obj N)中。
步骤5.响应元数据节点opara二次提交事务的指令commit完成,元数据节点opara释放内存。
在上述实施例中,因为事务在其涉及到的对象上是串行依次执行的,即二次提交时对同一对象上涉及的不同事务,必须按响应元数据节点opara的顺序执行,所以可以在一次提交后就可以响应元数据节点opara事务提交完成。
可选地,nvdm设备的存储容量为8G。
可选地,nvdm设备的存储容量为16G。
本发明通过为各个数据节点均配置一个nvdm设备,利用nvdm设备的快速存储特性,将事务直接发送到目的数据节点的nvdm设备中,避免了单独设置事务存储节点带来的写入数据需要两次下盘的问题,减少了一次提交的时间,简化了事务的处理流程,避免了整系统掉电后必须等所有事务均重新执行完成后才能提供服务的问题。
根据本发明的另一个方面,还提供了一种分布式事务的实现系统。
该分布式事务的实现系统包括:元数据节点和数据节点,数据节点设置有一个快速存储设备;元数据节点,用于创建并保存事务;数据节点用于根据事务ID二次提交事务到与事务对应的目标对象。
在一个实施例中,元数据节点还用于发送二次提交事务的指令信息、封锁事务相关的数据、解锁事务相关的数据;数据节点还用于返回事务提交完成的响应信息、将事务写入应用日志、和将写入对应的目标对象。
综上所述,借助于本发明的上述技术方案,通过为各个数据节点均配置一个快速存储设备,将事务直接发送到目的数据节点的快速存储设备中,避免了单独设置事务存储节点带来的写入数据需要两次下盘的问题和事务存储节点故障导致提供服务时间延长的问题,减少了一次提交的时间,简化了事务的处理流程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种分布式事务的实现方法,其特征在于,包括:
创建事务及事务ID;
一次提交事务到与所述事务对应的数据节点,其中所述数据节点包括快速存储设备;
根据所述事务ID二次提交事务到与所述事务对应的目标对象;
其中,根据所述事务ID二次提交事务到与所述事务对应的目标对象,包括:
按照所述事务ID的顺序发送二次提交事务的指令信息;
根据所述二次提交事务的指令信息,将所述快速存储设备中的所述事务写入应用日志;
将所述事务写入对应的目标对象。
2.根据权利要求1所述的分布式事务的实现方法,其特征在于,一次提交事务到与所述事务对应的数据节点,包括:
将所述事务固化于所述快速存储设备中;
所述数据节点返回所述事务固化成功的确认信息。
3.根据权利要求2所述的分布式事务的实现方法,其特征在于,在所述数据节点返回所述事务固化成功的确认信息之后,还包括:
收到所有事务的所述固化成功的确认信息之后,返回事务提交完成的响应信息。
4.根据权利要求3所述的分布式事务的实现方法,其特征在于,在创建事务及事务ID之前,还包括:
封锁事务相关的数据。
5.根据权利要求4所述的分布式事务的实现方法,其特征在于,在返回事务提交完成的响应信息之后,还包括:
解锁事务相关的数据。
6.根据权利要求1所述的分布式事务的实现方法,其特征在于,
所述快速存储设备为nvdm设备,所述nvdm设备的存储容量为8G或16G。
7.一种分布式事务的实现系统,其特征在于,包括:
元数据节点,用于创建并保存事务ID;
数据节点,所述数据节点包括快速存储设备,用于根据所述事务ID二次提交事务到与所述事务对应的目标对象;
其中,所述数据节点按照所述事务ID的顺序发送二次提交事务的指令信息,根据所述二次提交事务的指令信息,将所述快速存储设备中的所述事务写入应用日志,并且将所述事务写入对应的目标对象。
CN201611111319.7A 2016-12-06 2016-12-06 分布式事务的实现方法和系统 Active CN106775468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611111319.7A CN106775468B (zh) 2016-12-06 2016-12-06 分布式事务的实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611111319.7A CN106775468B (zh) 2016-12-06 2016-12-06 分布式事务的实现方法和系统

Publications (2)

Publication Number Publication Date
CN106775468A CN106775468A (zh) 2017-05-31
CN106775468B true CN106775468B (zh) 2020-01-10

Family

ID=58874498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611111319.7A Active CN106775468B (zh) 2016-12-06 2016-12-06 分布式事务的实现方法和系统

Country Status (1)

Country Link
CN (1) CN106775468B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932158A (zh) * 2018-06-28 2018-12-04 郑州云海信息技术有限公司 一种元数据服务器事务处理的方法、装置及mds服务器
CN112565435B (zh) * 2020-12-10 2021-08-17 广东投盟科技有限公司 基于事务链的业务处理方法、系统及计算机可读存储介质
CN113407123B (zh) * 2021-07-13 2024-04-30 上海达梦数据库有限公司 一种分布式事务节点信息存储方法、装置、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102754083B (zh) * 2010-02-15 2015-08-05 东芝解决方案株式会社 数据库管理系统
CN102306168B (zh) * 2011-08-23 2014-07-09 华为数字技术(成都)有限公司 日志操作方法、装置及文件系统
CN103814362B (zh) * 2011-09-30 2016-06-15 国际商业机器公司 用于分布式kvs系统的处理方法和系统
US8990177B2 (en) * 2011-10-27 2015-03-24 Yahoo! Inc. Lock-free transactional support for large-scale storage systems

Also Published As

Publication number Publication date
CN106775468A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
US8468313B2 (en) Asynchronous replication with write concurrency grouping
CN102945278B (zh) 一种数据库记录重做日志的方法和装置
US10140194B2 (en) Storage system transactions
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
US20180101558A1 (en) Log-shipping data replication with early log record fetching
US8145944B2 (en) Business process error handling through process instance backup and recovery
KR20140106588A (ko) 공유 볼륨의 어플리케이션 일관된 스냅샷 기법
CN106775468B (zh) 分布式事务的实现方法和系统
US8271968B2 (en) System and method for transparent hard disk drive update
CN107656834A (zh) 基于事务日志恢复主机访问
CN107544869A (zh) 一种数据恢复方法和装置
CN114063883A (zh) 存储数据方法、电子设备和计算机程序产品
CN110121694B (zh) 一种日志管理方法、服务器和数据库系统
US9697081B2 (en) Storage control device and data recovery method
US8595430B2 (en) Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes
US20170068603A1 (en) Information processing method and information processing apparatus
US20170177615A1 (en) TRANSACTION MANAGEMENT METHOD FOR ENHANCING DATA STABILITY OF NoSQL DATABASE BASED ON DISTRIBUTED FILE SYSTEM
US10620872B2 (en) Replicating data in a data storage system
US8621161B1 (en) Moving data between data stores
CN107807790B (zh) 一种固态硬盘数据写入的方法
US11010090B2 (en) Method and distributed computer system for processing data
US11003391B2 (en) Data-transfer-based RAID data update system
US20240111623A1 (en) Extended protection storage system put operation
JP4710380B2 (ja) 分散処理システム及び分散処理方法
CN109947761A (zh) 存储管理系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211011

Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: ZHONGKE SUGON INFORMATION INDUSTRY CHENGDU Co.,Ltd.

Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.