CN106775468B - 分布式事务的实现方法和系统 - Google Patents
分布式事务的实现方法和系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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的顺序发送二次提交事务的指令信息,根据所述二次提交事务的指令信息,将所述快速存储设备中的所述事务写入应用日志,并且将所述事务写入对应的目标对象。
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)
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)
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 |
-
2016
- 2016-12-06 CN CN201611111319.7A patent/CN106775468B/zh active Active
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. |