CN106446300A - 一种基于共享存储池的事务处理方法及*** - Google Patents
一种基于共享存储池的事务处理方法及*** Download PDFInfo
- Publication number
- CN106446300A CN106446300A CN201611093079.2A CN201611093079A CN106446300A CN 106446300 A CN106446300 A CN 106446300A CN 201611093079 A CN201611093079 A CN 201611093079A CN 106446300 A CN106446300 A CN 106446300A
- Authority
- CN
- China
- Prior art keywords
- affairs
- state
- daily record
- coordinator
- storage pool
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于共享存储池的事务处理方法及***,用于分布式文件***,包括各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,本地日志通过事务的ID来标记;协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括事务的ID及状态的全局日志到共享存储池;当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作。本发明能够使得参与者在没有按时接收到协调者发送的操作命令时仍能够在确定事务的状态,提高了容错性。
Description
技术领域
本发明涉及分布式文件***技术领域,特别是涉及一种基于共享存储池的事务处理方法及***。
背景技术
随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的可扩展等目标就显得越来越重要。为了解决这一系列问题,分布式文件***应运而生。
在分布式文件***中通常利用两阶段提交协议进行事务处理,二阶段提交是在计算机网络以及数据库领域内,为了使基于分布式文件***架构下的所有节点(元数据服务器)在进行事务提交时保持一致性而设计的一种算法。在分布式文件***中,每个节点虽然可以知晓自己的操作是成功还是失败,却无法知道其他节点的操作是成功还是失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要从该事务对应的多个节点中选取一个节点作为协调者来统一掌控其他节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交(比如将更新后的数据写入磁盘等等)。因此,二阶段提交的算法思路可以概括为:参与者将自身的操作成败的消息反馈至协调者,再由协调者根据所有参与者的反馈消息决定各参与者是要进行提交操作还是中止操作。
具体地,参与者在将自身的操作成败消息反馈至协调者以便协调者来判定事务的状态后,通常情况下参与者在一定时间内会接收到协调者发送的操作命令,这里的操作命令为执行命令或者中止命令,但实际应用中存在一些情况例如在网络故障或者协调者出错的情况下,参与者接收不到协调者发送的操作命令,使得参与者并不能确定此时事务的状态,进而也就不能进行相应的操作。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种基于共享存储池的事务处理方法,能够使得参与者在没有按时接收到协调者发送的操作命令时仍能够在确定事务的状态,提高了容错性;本发明的另一目的是提供一种基于共享存储池的事务处理***。
为解决上述技术问题,本发明提供了一种基于共享存储池的事务处理方法,用于分布式文件***,包括:
步骤S11:各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,所述本地日志通过事务的ID来标记;
步骤S12:协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括所述事务的ID及状态的全局日志到共享存储池;
步骤S13:当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去所述共享存储池中查找所述全局日志并根据查找到的所述全局日志确定所述事务的状态,并根据所述事务的状态进行相应的操作。
优选地,步骤S12的过程具体为:
步骤S121:所述协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则进入步骤S122,否则,进入步骤S124;
步骤S122:判断是否所有参与者发送的反馈消息均为就绪消息,如果是,则进入步骤S123,否则,进入步骤S124;
步骤S123:所述协调者判断所述事务为可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为成功;
步骤S124:所述协调者判断所述事务为不可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为失败。
优选地,步骤S13的过程具体为:
当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去查找所述存储池中查找所述全局日志;
在查找到所述全局日志且所述全局日志中记录的所述事务的状态为成功时,所述参与者执行相应的元数据操作,当所述全局日志中记录的所述事务的状态为失败时,所述参与者进行回滚操作。
优选地,所述本地日志包括操作类型、文件路径和元数据服务器标识。
优选地,步骤S13还包括:
确定故障类型,所述故障类型包括网络故障或者所述协调者出错。
为解决上述技术问题,本发明还提供了一种基于共享存储池的事务处理***,用于分布式文件***,包括:
反馈单元,用于各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,所述本地日志通过事务的ID来标记;
判断单元,用于协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括所述事务的ID及状态的全局日志到共享存储池;
查找单元,用于当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去所述共享存储池中查找所述全局日志并根据查找到的所述全局日志确定所述事务的状态,并根据所述事务的状态进行相应的操作。
优选地,所述判断单元具体包括:
第一判断单元,用于所述协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则触发所述第二判断单元,否则,触发所述第二确定单元;
第二判断单元,用于判断是否所有参与者发送的反馈消息均为就绪消息,如果是,则触发所述第一确定单元,否则,触发所述第二确定单元;
第一确定单元,用于所述协调者判断所述事务为可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为成功;
第二确定单元,用于所述协调者判断所述事务为不可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为失败。
优选地,所述查找单元具体包括:
查找子单元,用于当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去查找所述存储池中查找所述全局日志;
执行单元,用于在查找到所述全局日志且所述全局日志中记录的所述事务的状态为成功时,所述参与者执行相应的元数据操作,当所述全局日志中记录的所述事务的状态为失败时,所述参与者进行回滚操作。
优选地,所述本地日志包括操作类型、文件路径和元数据服务器标识。
优选地,所述查找单元还包括:
故障确定单元,用于确定故障类型,所述故障类型包括网络故障或者所述协调者出错。
本发明提供了一种基于共享存储池的事务处理方法及***,用于分布式文件***,包括各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,本地日志通过事务的ID来标记;协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括事务的ID及状态的全局日志到共享存储池;当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作。
可见,本发明中,协调者在判断得到事务的状态后,会记录包括事务的ID及状态全局日志到共享存储池中,当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作,能够使得参与者在没有按时接收到协调者发送的操作命令时仍能够在确定事务的状态,提高了容错性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于共享存储池的事务处理方法的过程的流程图;
图2为本发明提供的一种基于共享存储池的事务处理***的结构示意图。
具体实施方式
本发明的核心是提供一种基于共享存储池的事务处理方法,能够使得参与者在没有按时接收到协调者发送的操作命令时仍能够在确定事务的状态,提高了容错性;本发明的另一核心是提供一种基于共享存储池的事务处理***。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种基于共享存储池的事务处理方法的过程的流程图,该方法用于分布式文件***,包括:
步骤S11:各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,本地日志通过事务的ID来标记;
具体地,客户端提交操作请求,分布式文件***选择出相应的元数据服务器,并分配不同的角色,也即选出一个协调者,其余的作为事务的参与者。
在准备阶段,协调者向每个参与者发送准备命令,通知其进行操作条件的检查,并等待参与者的应答。每个参与者接收到准备命令后判断自身是否满足执行事务的条件,也即是否能够执行提交操作,如果是,则向协调者发送一个就绪的反馈消息,否则,向协调者发送一个中止的反馈消息。另外,参与者还记录本地日志文件,并通过分布式事务的ID来进行标记。
本地日志用来记录事务中与本地节点相关的元数据操作信息。
作为优选地,本地日志包括操作类型、文件路径和元数据服务器标识。
当然,这里的本地日志还可以包括其他元数据操作信息,本发明在此不作特别的限定,根据实际情况来定。
步骤S12:协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括事务的ID及状态的全局日志到共享存储池;
具体地,全局日志用来记录事务的ID和事务的状态,每个元数据服务器都有自己的本地日志,但全局日志在分布式文件***中只维护一份。
作为优选地,步骤S12的过程具体为:
步骤S121:协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则进入步骤S122,否则,进入步骤S124;
步骤S122:判断是否所有参与者发送的反馈消息均为就绪消息,如果是,则进入步骤S123,否则,进入步骤S124;
步骤S123:协调者判断事务为可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为成功;
步骤S124:协调者判断事务为不可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为失败。
在判定阶段,协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则此时事务的状态是确定的,则再判断所有参与者发送的反馈消息为就绪消息还是中止消息,如果所有的参与者发送的反馈消息均为就绪消息,则判断事务为可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为成功,如果有部分或者全部的参与者的反馈消息为中止消息,则判断事务为不可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为失败。因为在协调者等待参与者的反馈消息的过程中容易出现故障,容易导致协调者不能及时接收到参与者的消息。如果协调者在第一预设时间内没有收到部分或者全部参与者的反馈消息,则将所有的故障都归结为超时错误,并将判断事务为不可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为失败。
步骤S13:当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作。
在准备阶段和判定阶段完成后,事务进入到执行阶段,协调者广播操作命令给各个参与者,这里的操作命令包括执行命令和取消命令。在没有故障的情况下,参与者接收到执行命令后开始进行各自的元数据操作,如果接收到取消命令,则不进行分布式事务的操作,进行回滚操作。
当参与者在第二预设时间内没有接收到协调者发送的操作命令时,则餐饮组合可以根据事务的ID去共享存储池中查找,当查找到全局日志后,根据全局日志中的记录信息确定事务的状态,然后再根据事务的状态进行相应的操作。
作为优选地,步骤S13的过程具体为:
当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去查找存储池中查找全局日志;
在查找到全局日志且全局日志中记录的事务的状态为成功时,参与者执行相应的元数据操作,当全局日志中记录的事务的状态为失败时,参与者进行回滚操作。
作为优选地,步骤S13还包括:
确定故障类型,故障类型包括网络故障或者协调者出错。
具体地,此时可以将故障类型缩小至网络故障或者协调者出错。
另外,如果参与者没有在共享存储池中发现全局日志,此时需要通过协调者写全局日志的时间与第二预设时间来确定故障,如果协调者写全局日志的时间大于第二预设时间,则此时参与者没找到全局日志可能是因为协调者还没写入,那么参与者可以再等一会,如果仍然找不到,则可能是协调者无法写入或者网络故障。如果协调者写全局日志的时间小于第二预设时间,则此时参与者没找到全局日志说明是协调者无法写入或者网络故障。
因为共享存储池非常可靠,因此能够保证参与者对全局日志的正确访问,避免出错带来的不确定性。
本发明提供了一种基于共享存储池的事务处理方法,用于分布式文件***,包括各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,本地日志通过事务的ID来标记;协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括事务的ID及状态的全局日志到共享存储池;当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作。
可见,本发明中,协调者在判断得到事务的状态后,会记录包括事务的ID及状态全局日志到共享存储池中,当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作,能够使得参与者在没有按时接收到协调者发送的操作命令时仍能够在确定事务的状态,提高了容错性。
与上述方法实施例相适应地,请参照图2,图2为本发明提供的一种基于共享存储池的事务处理***的结构示意图,该***用于分布式文件***,包括:
反馈单元1,用于各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,本地日志通过事务的ID来标记;
判断单元2,用于协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括事务的ID及状态的全局日志到共享存储池;
查找单元3,用于当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作。
作为优选地,判断单元2具体包括:
第一判断单元,用于协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则触发第二判断单元,否则,触发第二确定单元;
第二判断单元,用于判断是否所有参与者发送的反馈消息均为就绪消息,如果是,则触发第一确定单元,否则,触发第二确定单元;
第一确定单元,用于协调者判断事务为可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为成功;
第二确定单元,用于协调者判断事务为不可执行,并记录一条包括事务的ID及状态的全局日志到共享存储池,并设置状态为失败。
作为优选地,查找单元3具体包括:
查找子单元,用于当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去查找存储池中查找全局日志;
执行单元,用于在查找到全局日志且全局日志中记录的事务的状态为成功时,参与者执行相应的元数据操作,当全局日志中记录的事务的状态为失败时,参与者进行回滚操作。
作为优选地,本地日志包括操作类型、文件路径和元数据服务器标识。
作为优选地,查找单元3还包括:
故障确定单元,用于确定故障类型,故障类型包括网络故障或者协调者出错。
对于本发明提供的基于共享存储池的事务处理***的介绍请参照上述方法实施例,本发明在此不再赘述。
本发明提供了一种基于共享存储池的事务处理***,用于分布式文件***,包括各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,本地日志通过事务的ID来标记;协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括事务的ID及状态的全局日志到共享存储池;当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作。
可见,本发明中,协调者在判断得到事务的状态后,会记录包括事务的ID及状态全局日志到共享存储池中,当参与者在第二预设时间内没有接收到协调者发送的操作命令时,参与者根据事务的ID去共享存储池中查找全局日志并根据查找到的全局日志确定事务的状态,并根据事务的状态进行相应的操作,提高了容错性。
需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于共享存储池的事务处理方法,用于分布式文件***,其特征在于,包括:
步骤S11:各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,所述本地日志通过事务的ID来标记;
步骤S12:协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括所述事务的ID及状态的全局日志到共享存储池;
步骤S13:当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去所述共享存储池中查找所述全局日志并根据查找到的所述全局日志确定所述事务的状态,并根据所述事务的状态进行相应的操作。
2.如权利要求1所述的事务处理方法,其特征在于,步骤S12的过程具体为:
步骤S121:所述协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则进入步骤S122,否则,进入步骤S124;
步骤S122:判断是否所有参与者发送的反馈消息均为就绪消息,如果是,则进入步骤S123,否则,进入步骤S124;
步骤S123:所述协调者判断所述事务为可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为成功;
步骤S124:所述协调者判断所述事务为不可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为失败。
3.如权利要求2所述的事务处理方法,其特征在于,步骤S13的过程具体为:
当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去查找所述存储池中查找所述全局日志;
在查找到所述全局日志且所述全局日志中记录的所述事务的状态为成功时,所述参与者执行相应的元数据操作,当所述全局日志中记录的所述事务的状态为失败时,所述参与者进行回滚操作。
4.如权利要求1所述的事务处理方法,其特征在于,所述本地日志包括操作类型、文件路径和元数据服务器标识。
5.如权利要求1-4任一项所述的事务处理方法,其特征在于,步骤S13还包括:
确定故障类型,所述故障类型包括网络故障或者所述协调者出错。
6.一种基于共享存储池的事务处理***,用于分布式文件***,其特征在于,包括:
反馈单元,用于各个参与者将自身的反馈消息反馈至协调者,并记录本地日志,所述本地日志通过事务的ID来标记;
判断单元,用于协调者根据是否在第一预设时间内接收到所有参与者发送的反馈消息及是的情况下的所有参与者的反馈消息判断事务的状态,并相应地记录一条包括所述事务的ID及状态的全局日志到共享存储池;
查找单元,用于当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去所述共享存储池中查找所述全局日志并根据查找到的所述全局日志确定所述事务的状态,并根据所述事务的状态进行相应的操作。
7.如权利要求6所述的事务处理***,其特征在于,所述判断单元具体包括:
第一判断单元,用于所述协调者判断是否在第一预设时间内接收到所有参与者发送的反馈消息,如果是,则触发所述第二判断单元,否则,触发所述第二确定单元;
第二判断单元,用于判断是否所有参与者发送的反馈消息均为就绪消息,如果是,则触发所述第一确定单元,否则,触发所述第二确定单元;
第一确定单元,用于所述协调者判断所述事务为可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为成功;
第二确定单元,用于所述协调者判断所述事务为不可执行,并记录一条包括所述事务的ID及状态的全局日志到共享存储池,并设置所述状态为失败。
8.如权利要求7所述的事务处理***,其特征在于,所述查找单元具体包括:
查找子单元,用于当所述参与者在第二预设时间内没有接收到所述协调者发送的操作命令时,所述参与者根据所述事务的ID去查找所述存储池中查找所述全局日志;
执行单元,用于在查找到所述全局日志且所述全局日志中记录的所述事务的状态为成功时,所述参与者执行相应的元数据操作,当所述全局日志中记录的所述事务的状态为失败时,所述参与者进行回滚操作。
9.如权利要求6所述的事务处理***,其特征在于,所述本地日志包括操作类型、文件路径和元数据服务器标识。
10.如权利要求6-9任一项所述的事务处理***,其特征在于,所述查找单元还包括:
故障确定单元,用于确定故障类型,所述故障类型包括网络故障或者所述协调者出错。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093079.2A CN106446300A (zh) | 2016-12-01 | 2016-12-01 | 一种基于共享存储池的事务处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611093079.2A CN106446300A (zh) | 2016-12-01 | 2016-12-01 | 一种基于共享存储池的事务处理方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106446300A true CN106446300A (zh) | 2017-02-22 |
Family
ID=58223386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611093079.2A Pending CN106446300A (zh) | 2016-12-01 | 2016-12-01 | 一种基于共享存储池的事务处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106446300A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271277A (zh) * | 2017-07-17 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 数据库宕机后的访问方法、装置和*** |
CN109640127A (zh) * | 2018-12-30 | 2019-04-16 | 北京奇艺世纪科技有限公司 | 内容分发网络的故障定位方法及装置 |
CN110471746A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 一种分布式事务回调方法、装置及*** |
CN112866316A (zh) * | 2019-11-27 | 2021-05-28 | 北京沃东天骏信息技术有限公司 | 一种分布式事务处理的方法和装置 |
CN112995262A (zh) * | 2019-12-18 | 2021-06-18 | ***通信集团浙江有限公司 | 分布式事务提交方法、***及计算设备 |
CN114546705A (zh) * | 2022-02-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 操作响应方法、操作响应装置、电子设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399894A (zh) * | 2013-07-23 | 2013-11-20 | 中国科学院信息工程研究所 | 一种基于共享存储池的分布式事务处理方法 |
CN103473318A (zh) * | 2013-09-12 | 2013-12-25 | 中国科学院软件研究所 | 一种面向内存数据网格的分布式事务保障方法 |
CN103677968A (zh) * | 2012-09-07 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 事务处理方法、事务协调器装置、事务参与者装置及*** |
-
2016
- 2016-12-01 CN CN201611093079.2A patent/CN106446300A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677968A (zh) * | 2012-09-07 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 事务处理方法、事务协调器装置、事务参与者装置及*** |
CN103399894A (zh) * | 2013-07-23 | 2013-11-20 | 中国科学院信息工程研究所 | 一种基于共享存储池的分布式事务处理方法 |
CN103473318A (zh) * | 2013-09-12 | 2013-12-25 | 中国科学院软件研究所 | 一种面向内存数据网格的分布式事务保障方法 |
Non-Patent Citations (1)
Title |
---|
周江 等: "面向大数据分析的分布式文件***关键技术", 《计算机研究与发展》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271277A (zh) * | 2017-07-17 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 数据库宕机后的访问方法、装置和*** |
CN109640127A (zh) * | 2018-12-30 | 2019-04-16 | 北京奇艺世纪科技有限公司 | 内容分发网络的故障定位方法及装置 |
CN110471746A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 一种分布式事务回调方法、装置及*** |
CN112866316A (zh) * | 2019-11-27 | 2021-05-28 | 北京沃东天骏信息技术有限公司 | 一种分布式事务处理的方法和装置 |
CN112995262A (zh) * | 2019-12-18 | 2021-06-18 | ***通信集团浙江有限公司 | 分布式事务提交方法、***及计算设备 |
CN112995262B (zh) * | 2019-12-18 | 2022-06-10 | ***通信集团浙江有限公司 | 分布式事务提交方法、***及计算设备 |
CN114546705A (zh) * | 2022-02-28 | 2022-05-27 | 北京百度网讯科技有限公司 | 操作响应方法、操作响应装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106446300A (zh) | 一种基于共享存储池的事务处理方法及*** | |
US10762102B2 (en) | System and method for incremental replication | |
US11669499B2 (en) | Management of journal entries associated with customizations of knowledge objects in a search head cluster | |
US9984140B1 (en) | Lease based leader election system | |
TWI740901B (zh) | 執行資料恢復操作的方法及裝置 | |
US7702741B2 (en) | Configuring or reconfiguring a multi-master information sharing environment | |
US8676749B2 (en) | Statement logging in databases | |
US8935612B2 (en) | Data replication tracing | |
CN107209704A (zh) | 检测丢失的写入 | |
CN110309161B (zh) | 一种数据同步方法、装置及服务器 | |
JP7389793B2 (ja) | 分散型異種ストレージシステムにおけるデータ一貫性のリアルタイムチェックのための方法、デバイス、およびシステム | |
CN105930228A (zh) | 数据备份方法及*** | |
JP5308403B2 (ja) | データ処理の障害回復方法、システムおよびプログラム | |
JP5373818B2 (ja) | 集中型ソーシャル・ネットワーク応答追跡 | |
WO2017162026A1 (zh) | 生成描述信息的方法及装置 | |
WO2017181430A1 (zh) | 分布式***的数据库复制方法及装置 | |
US7899785B2 (en) | Reconfiguring propagation streams in distributed information sharing | |
CN105488191A (zh) | 一种基于大数据的信息安全管理运维服务平台的数据采集处理方法及装置 | |
CN112598510A (zh) | 资源数据处理方法和装置 | |
TWI230335B (en) | Distributed data synchronization system and method for the same | |
CN117009632A (zh) | 数据拉取方法、装置、计算机设备、存储介质及程序产品 | |
CN116414810A (zh) | 业务数据核对方法、装置、存储介质和计算机程序产品 | |
CN113836219A (zh) | 一种分布式数据结转调度***及方法 | |
Frank et al. | Data Stream handling in the LHCb experiment | |
CN103618798A (zh) | 多节点间资源交换的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |