CN113051042A - 基于zookeeper的事务实现方法及系统 - Google Patents
基于zookeeper的事务实现方法及系统 Download PDFInfo
- Publication number
- CN113051042A CN113051042A CN202110099352.7A CN202110099352A CN113051042A CN 113051042 A CN113051042 A CN 113051042A CN 202110099352 A CN202110099352 A CN 202110099352A CN 113051042 A CN113051042 A CN 113051042A
- Authority
- CN
- China
- Prior art keywords
- function
- zookeeper
- transaction
- node
- calling
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 35
- 238000005538 encapsulation Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000002159 abnormal effect Effects 0.000 claims abstract description 8
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 3
- 241001593730 Acacia salicina Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于zookeeper的事务实现方法及系统,方法包括:对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,提供事务操作函数和节点操作封装函数;利用事务操作函数的beginTransaction函数启动事务;在事务处理过程中,利用节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;利用事务操作函数的commit函数将所有操作作为入参提交至zookeeper;在函数操作异常时,利用事务操作函数的回滚函数对所有操作进行回滚操作。通过本发明的技术方案,极大方便基于zookeeper多目录的操作,不会出现数据不一致,简化了业务操作过程。
Description
技术领域
本发明涉及数据库事务技术领域,尤其涉及一种基于zookeeper的事务实现方法和一种基于zookeeper的事务实现系统。
背景技术
Zookeeper的存储结构是目录结构。为了保证业务数据的一致性,一些应用需要在一个原子操作中同时完成多个zookeeper目录的操作。
在Zookeeper的客户端API Curator包中,提供了一个打包函数,在一次调用中,可同时提交多个目录的修改,并且保证是原子性的。
但在现有技术中,zookeeper中不能应用于事务处理,而且,由于事务操作过程中对节点判断不准确,可能会出现数据不一致,还需要考虑数据反向操作的问题,业务操作繁琐。
发明内容
针对上述问题,本发明提供了一种基于zookeeper的事务实现方法及系统,通过对zookeeper进行封装设计形成类似数据库的事务操作函数集,支持事务的开始、事务中函数操作、事务提交、事务回滚操作,极大方便基于zookeeper多目录的操作,由于zookeeper的事务操作函数和节点操作封装函数的特性和功能,不会出现数据不一致,且业务不需要考虑数据反向操作,只需要调用回滚函数即可回滚所有历史操作,简化了业务操作过程,且同时支持事务和非事务类的操作,zookeeper的操作和业务其他函数可交叉进行,不影响事务操作。
为实现上述目的,本发明提供了一种基于zookeeper的事务实现方法,包括:对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,所述操作类提供事务操作函数和节点操作封装函数;利用所述事务操作函数的beginTransaction函数启动事务;在事务处理过程中,利用所述节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;利用所述事务操作函数的commit函数将所述zookeeper操作列表中的所有操作作为入参提交至zookeeper;在事务处理过程中函数操作异常时,利用所述事务操作函数的回滚函数对所述zookeeper操作列表中的所有操作进行回滚操作。
在上述技术方案中,优选地,所述利用所述节点操作封装函数按照缓冲的zookeeper操作列表对目录节点进行操作具体包括:利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。
在上述技术方案中,优选地,利用所述setData函数进行节点修改过程中:对所述zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;若所述操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;若所述操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。
在上述技术方案中,优选地,利用所述deleteNode函数进行节点删除过程中:调用addCuratorOp函数在所述zookeeper操作列表中增加操作类型为DELETE的操作。
在上述技术方案中,优选地,所述addCuratorOp函数对于操作路径相同、最近的操作连续出现的两次相同的CREATE或DELETE操作直接忽略不进行重复操作。
本发明还提出一种基于zookeeper的事务实现系统,应用如上述技术方案中任一项提出的基于zookeeper的事务实现方法,包括:操作类封装模块,用于对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,所述操作类提供事务操作函数和节点操作封装函数;事务启动模块,用于利用所述事务操作函数的beginTransaction函数启动事务;节点操作模块,用于在事务处理过程中,利用所述节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;事务提交模块,用于利用所述事务操作函数的commit函数将所述zookeeper操作列表中的所有操作作为入参提交至zookeeper;操作回滚模块,用于在事务处理过程中函数操作异常时,利用所述事务操作函数的回滚函数对所述zookeeper操作列表中的所有操作进行回滚操作。
在上述技术方案中,优选地,所述节点操作模块具体用于:利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。
在上述技术方案中,优选地,所述节点操作模块的节点修改过程具体包括:对所述zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;若所述操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;若所述操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。
在上述技术方案中,优选地,所述节点操作模块的节点删除过程具体包括:调用addCuratorOp函数在所述zookeeper操作列表中增加操作类型为DELETE的操作。
在上述技术方案中,优选地,所述节点删除过程中,所述addCuratorOp函数对于操作路径相同、最近的操作连续出现的两次相同的CREATE或DELETE操作直接忽略不进行重复操作。
与现有技术相比,本发明的有益效果为:通过对zookeeper进行封装设计形成类似数据库的事务操作函数集,支持事务的开始、事务中函数操作、事务提交、事务回滚操作,极大方便基于zookeeper多目录的操作,由于zookeeper的事务操作函数和节点操作封装函数的特性和功能,不会出现数据不一致,且业务不需要考虑数据反向操作,只需要调用回滚函数即可回滚所有历史操作,简化了业务操作过程,且同时支持事务和非事务类的操作,zookeeper的操作和业务其他函数可交叉进行,不影响事务操作。
附图说明
图1为本发明一种实施例公开的基于zookeeper的事务实现方法的正向操作流程示意图;
图2为本发明一种实施例公开的基于zookeeper的事务实现方法的反向操作示意图;
图3为本发明一种实施例公开的基于zookeeper的事务实现系统的模块示意图。
图中,各组件与附图标记之间的对应关系为:
11.操作类封装模块,12.事务启动模块,13.节点操作模块,14.事务提交模块,15.操作回滚模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1和图2所示,根据本发明提供的一种基于zookeeper的事务实现方法,包括:对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,操作类提供事务操作函数和节点操作封装函数;利用事务操作函数的beginTransaction函数启动事务;在事务处理过程中,利用节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;利用事务操作函数的commit函数将zookeeper操作列表中的所有操作作为入参提交至zookeeper;在事务处理过程中函数操作异常时,利用事务操作函数的回滚函数对zookeeper操作列表中的所有操作进行回滚操作。
在该实施例中,通过对zookeeper进行封装设计形成类似数据库的事务操作函数集,支持事务的开始、事务中函数操作、事务提交、事务回滚操作,极大方便基于zookeeper多目录的操作,由于zookeeper的事务操作函数和节点操作封装函数的特性和功能,不会出现数据不一致,且业务不需要考虑数据反向操作,只需要调用回滚函数即可回滚所有历史操作,简化了业务操作过程,且同时支持事务和非事务类的操作,zookeeper的操作和业务其他函数可交叉进行,不影响事务操作。
具体地,首先对zookeeper进行封装,形成支持事务的ZookeeperWrapper操作类,在该操作类中,包括内部成员变量isInTransaction和zkOps,其中,
(1)isInTransaction:boolean类型,事务控制变量,用于表示当前是否处于事务处理中;
(2)zkOps:List<CuratorOp>类型,缓冲的zookeeper操作列表。
ZookeeperWrapper操作类还提供如下事务操作函数:
(1)beginTransaction:启动事务。内部把isInTransaction设置为true,表示处于事务操作中;
(2)rollback:回滚事务。内部清理缓存的zookeeper操作zkOps,同时把isInTransaction设置为false,表示处于处于非事务操作中;
(3)commit:提交事务。内部把缓冲的所有zookeeper操作(zkOps)作为入参传递给Curator包的forOperations函数,由此函数统一提交给zookeeper,确保事务的原子性。
此外,ZookeeperWrapper操作类还提供节点操作封装函数,在这些函数中需要判断是否处于事务中,如果在事务中,则需要把zookeeper操作缓存到zkOps中,否则直接对zookeeper操作即可,目录节点的修改函数如下:
(1)createNode:添加节点;调用addCuratorOp函数,在zkOps中增加一个类型为OperationType.CREATE类型的操作;
(2)setData:修改节点;由于事务缓存的原因,当调用setData函数时,可能设置的目录节点已经存在,也有可能不存在,当存在时需要添加一个OperationType.SET_DATA类型的操作,当目录节点不存在时,则添加一个类型为OperationType.CREATE类型的操作;判断路径是否存在的规则如下:
从zkOps最新加入的数据开始搜索,搜索OperationType为DELETE和CREATE的记录,
A.如果存在记录,有两种情况:OperationType为DELETE时,表示目录节点已经被删除,需要调用类型为CREATE的创建目录方法;如果类型为CREATE时,表示目录节点已经被创建,则需要调用类型为SET_DATA类型的操作;
B.如果不存在记录,调用zookeeper的exists方法校验判断是否存在目录节点,存在调用类型为SET_DATA类型的操作,否则调用类型为CREATE的方法;
(3)deleteNode:删除节点;调用addCuratorOp函数,在zkOps中增加一个类型为OperationType.DELETE类型的操作;
addCuratorOp:增加一个zookeeper操作。此函数是内部封装函数,被createNode、setData和deleteNode函数调用,作用是做一些剔重操作,忽略最新相同的create和delete节点操作,确保相同的操作不会向zookeeper提交两次,否则zookeeper汇报主键冲突;
具体实现过程为:把传递进来的CuratorOp入参和缓冲起来的zkOps列表中的CuratorOp细项做比较,存在下面的情况就认为是重复操作,直接忽略:
如果zk的操作路径curatorOp.forPath相同,并且最近的操作连续出现两次相同的CREATE或DELETE操作,并且连续两次出现的CREATE操作不是zookeeper的临时目录操作(CreateMode.isSequential为false)。
在上述实施例中,优选地,利用节点操作封装函数按照缓冲的zookeeper操作列表对目录节点进行操作具体包括:利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。
在上述实施例中,优选地,利用setData函数进行节点修改过程中:对zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;若操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;若操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。
在上述实施例中,优选地,利用deleteNode函数进行节点删除过程中:调用addCuratorOp函数在zookeeper操作列表中增加操作类型为DELETE的操作。
在上述实施例中,优选地,addCuratorOp函数对于操作路径相同、最近的操作连续出现的两次相同的CREATE或DELETE操作直接忽略不进行重复操作。
如图3所示,本发明还提出一种基于zookeeper的事务实现系统,应用如上述实施例中任一项提出的基于zookeeper的事务实现方法,包括:操作类封装模块11,用于对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,操作类提供事务操作函数和节点操作封装函数;事务启动模块12,用于利用事务操作函数的beginTransaction函数启动事务;节点操作模块13,用于在事务处理过程中,利用节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;事务提交模块14,用于利用事务操作函数的commit函数将zookeeper操作列表中的所有操作作为入参提交至zookeeper;操作回滚模块15,用于在事务处理过程中函数操作异常时,利用事务操作函数的回滚函数对zookeeper操作列表中的所有操作进行回滚操作。
在上述实施例中,优选地,节点操作模块具体用于:利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。
在上述实施例中,优选地,节点操作模块13的节点修改过程具体包括:对zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;若操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;若操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。
在上述实施例中,优选地,节点操作模块13的节点删除过程具体包括:调用addCuratorOp函数在zookeeper操作列表中增加操作类型为DELETE的操作。
在上述实施例中,优选地,节点删除过程中,addCuratorOp函数对于操作路径相同、最近的操作连续出现的两次相同的CREATE或DELETE操作直接忽略不进行重复操作。
根据上述实施例提出的基于zookeeper的事务实现方法及系统,在实施过程中,利用beginTransaction操作作为事务操作的起始函数,用来启动事务,保证后续的createNode、deleteNode和setData等系列zookeeper函数操作都处于事务操作中。以commit操作作为事务的最后一个函数,用来一次提交之前的所有的zookeeper操作,确保是原子性的。当在beginTransaction和commit之间的函数操作出现异常时(包括zookeeper的函数操作和业务侧的操作),调用rollback函数回滚之前事务中的所有zookeeper操作。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于zookeeper的事务实现方法,其特征在于,包括:
对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,所述操作类提供事务操作函数和节点操作封装函数;
利用所述事务操作函数的beginTransaction函数启动事务;
在事务处理过程中,利用所述节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;
利用所述事务操作函数的commit函数将所述zookeeper操作列表中的所有操作作为入参提交至zookeeper;
在事务处理过程中函数操作异常时,利用所述事务操作函数的回滚函数对所述zookeeper操作列表中的所有操作进行回滚操作。
2.根据权利要求1所述的基于zookeeper的事务实现方法,其特征在于,所述利用所述节点操作封装函数按照缓冲的zookeeper操作列表对目录节点进行操作具体包括:
利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。
3.根据权利要求2所述的基于zookeeper的事务实现方法,其特征在于,利用所述setData函数进行节点修改过程中:
对所述zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;
若所述操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;
若所述操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。
4.根据权利要求2所述的基于zookeeper的事务实现方法,其特征在于,利用所述deleteNode函数进行节点删除过程中:
调用addCuratorOp函数在所述zookeeper操作列表中增加操作类型为DELETE的操作。
5.根据权利要求4所述的基于zookeeper的事务实现方法,其特征在于,所述addCuratorOp函数对于操作路径相同、最近的操作连续出现的两次相同的CREATE或DELETE操作直接忽略不进行重复操作。
6.一种基于zookeeper的事务实现系统,应用如权利要求1至5中任一项所述的基于zookeeper的事务实现方法,其特征在于,包括:
操作类封装模块,用于对zookeeper进行封装形成支持事务的zookeeperWrapper操作类,所述操作类提供事务操作函数和节点操作封装函数;
事务启动模块,用于利用所述事务操作函数的beginTransaction函数启动事务;
节点操作模块,用于在事务处理过程中,利用所述节点操作封装函数按照缓存的zookeeper操作列表对目录节点进行操作;
事务提交模块,用于利用所述事务操作函数的commit函数将所述zookeeper操作列表中的所有操作作为入参提交至zookeeper;
操作回滚模块,用于在事务处理过程中函数操作异常时,利用所述事务操作函数的回滚函数对所述zookeeper操作列表中的所有操作进行回滚操作。
7.根据权利要求6所述的基于zookeeper的事务实现系统,其特征在于,所述节点操作模块具体用于:
利用节点操作封装函数中的createNode函数、setData函数和/或deleteNode函数分别对目录节点进行添加、修改和/或删除操作。
8.根据权利要求7所述的基于zookeeper的事务实现系统,其特征在于,所述节点操作模块的节点修改过程具体包括:
对所述zookeeper操作列表中最新加入的数据进行搜索,判断操作类型参数的记录值;
若所述操作类型参数存在,判断记录值类型为DELETE或CREATE,若记录值类型为DELETE则调用CREATE执行创建节点操作,若记录值类型为CREATE则调用SET_DATA执行数据操作;
若所述操作类型参数不存在,调用zookeeper的exists方法校验判断是否存在节点,若存在则调用SET_DATA执行数据操作,若不存在则调用CREATE执行创建节点操作。
9.根据权利要求7所述的基于zookeeper的事务实现系统,其特征在于,所述节点操作模块的节点删除过程具体包括:
调用addCuratorOp函数在所述zookeeper操作列表中增加操作类型为DELETE的操作。
10.根据权利要求9所述的基于zookeeper的事务实现系统,其特征在于,所述节点删除过程中,所述addCuratorOp函数对于操作路径相同、最近的操作连续出现的两次相同的CREATE或DELETE操作直接忽略不进行重复操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110099352.7A CN113051042B (zh) | 2021-01-25 | 2021-01-25 | 基于zookeeper的事务实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110099352.7A CN113051042B (zh) | 2021-01-25 | 2021-01-25 | 基于zookeeper的事务实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051042A true CN113051042A (zh) | 2021-06-29 |
CN113051042B CN113051042B (zh) | 2024-04-19 |
Family
ID=76508513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110099352.7A Active CN113051042B (zh) | 2021-01-25 | 2021-01-25 | 基于zookeeper的事务实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051042B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702176A (zh) * | 2009-11-25 | 2010-05-05 | 南开大学 | 一种基于局部路径锁的xml数据并发控制方法 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN103502940A (zh) * | 2011-12-21 | 2014-01-08 | 华为技术有限公司 | 一种分布式系统中处理事务的方法、相关设备及系统 |
WO2015183750A1 (en) * | 2014-05-29 | 2015-12-03 | Splice Machine, Inc. | Transaction execution commitment without updating of data row transaction status |
CN105187499A (zh) * | 2015-08-07 | 2015-12-23 | 北京思特奇信息技术股份有限公司 | 一种基于zookeeper双平面数据架构的分布式调度方法及系统 |
CN105512266A (zh) * | 2015-12-03 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种实现分布式数据库操作一致性的方法及装置 |
CN106649455A (zh) * | 2016-09-24 | 2017-05-10 | 孙燕群 | 一种大数据开发的标准化系统归类、命令集系统 |
CN107480251A (zh) * | 2017-08-14 | 2017-12-15 | 福建新大陆软件工程有限公司 | 一种管理数据访问的系统 |
US9992269B1 (en) * | 2013-02-25 | 2018-06-05 | EMC IP Holding Company LLC | Distributed complex event processing |
CN109933412A (zh) * | 2019-01-28 | 2019-06-25 | 武汉慧联无限科技有限公司 | 基于分布式消息中间件的分布式事务处理方法 |
CN110417591A (zh) * | 2019-07-23 | 2019-11-05 | 中南民族大学 | 投票节点配置方法及系统 |
CN111241590A (zh) * | 2018-11-29 | 2020-06-05 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN111338766A (zh) * | 2020-03-12 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
CN111444199A (zh) * | 2019-01-17 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、存储介质和处理器 |
CN111767154A (zh) * | 2020-06-19 | 2020-10-13 | 北京思特奇信息技术股份有限公司 | 用于无阻塞通讯的无锁环形队列实现方法 |
-
2021
- 2021-01-25 CN CN202110099352.7A patent/CN113051042B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702176A (zh) * | 2009-11-25 | 2010-05-05 | 南开大学 | 一种基于局部路径锁的xml数据并发控制方法 |
CN103502940A (zh) * | 2011-12-21 | 2014-01-08 | 华为技术有限公司 | 一种分布式系统中处理事务的方法、相关设备及系统 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
US9992269B1 (en) * | 2013-02-25 | 2018-06-05 | EMC IP Holding Company LLC | Distributed complex event processing |
WO2015183750A1 (en) * | 2014-05-29 | 2015-12-03 | Splice Machine, Inc. | Transaction execution commitment without updating of data row transaction status |
CN105187499A (zh) * | 2015-08-07 | 2015-12-23 | 北京思特奇信息技术股份有限公司 | 一种基于zookeeper双平面数据架构的分布式调度方法及系统 |
CN105512266A (zh) * | 2015-12-03 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种实现分布式数据库操作一致性的方法及装置 |
CN106649455A (zh) * | 2016-09-24 | 2017-05-10 | 孙燕群 | 一种大数据开发的标准化系统归类、命令集系统 |
CN107480251A (zh) * | 2017-08-14 | 2017-12-15 | 福建新大陆软件工程有限公司 | 一种管理数据访问的系统 |
CN111241590A (zh) * | 2018-11-29 | 2020-06-05 | 华为技术有限公司 | 一种数据库系统、节点和方法 |
CN111444199A (zh) * | 2019-01-17 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置、存储介质和处理器 |
CN109933412A (zh) * | 2019-01-28 | 2019-06-25 | 武汉慧联无限科技有限公司 | 基于分布式消息中间件的分布式事务处理方法 |
CN110417591A (zh) * | 2019-07-23 | 2019-11-05 | 中南民族大学 | 投票节点配置方法及系统 |
CN111338766A (zh) * | 2020-03-12 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 事务处理方法、装置、计算机设备及存储介质 |
CN111767154A (zh) * | 2020-06-19 | 2020-10-13 | 北京思特奇信息技术股份有限公司 | 用于无阻塞通讯的无锁环形队列实现方法 |
Non-Patent Citations (5)
Title |
---|
QQ_46993700: "ZooKeeper之入门概述与原理", 《HTTPS://BLOG.CSDN.NET/QQ_46993700/ARTICLE/DETAILS/107929232》, 17 August 2020 (2020-08-17) * |
WU HUI-JUN: "Agent-Based Fault Tolerance Mechanism for Distributed Key-Value Database", 《2014 5TH INTERNATIONAL CONFERENCE ON DIGITAL HOME》, 29 December 2014 (2014-12-29) * |
刘冬鸣: "分布式组件Zookeeper事务一致性探析", 《信息通信》, 30 June 2017 (2017-06-30) * |
李小龙: "分布式数据库事务支持", 《中国优秀硕士论文全文数据库》, pages 7 - 33 * |
码途迷离: "数据库事务开启,提交与回滚", 《HTTPS://BLOG.CSDN.NET/QQ_38234015/ARTICLE/DETAILS/89488034》, 24 April 2019 (2019-04-24) * |
Also Published As
Publication number | Publication date |
---|---|
CN113051042B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7113040B2 (ja) | 分散型データストアのバージョン化された階層型データ構造 | |
CN109857724B (zh) | 基于区块链实现支持多种数据库的方法及设备 | |
US6240422B1 (en) | Object to relational database mapping infrastructure in a customer care and billing system | |
US20030135523A1 (en) | Method of using cache to determine the visibility to a remote database client of a plurality of database transactions | |
CN111522631B (zh) | 分布式事务处理方法、装置、服务器及介质 | |
CN110765178B (zh) | 分布式事务的处理方法及装置、计算机可存储介质 | |
US20200133916A1 (en) | Method, device and computer readable medium for accessing files | |
US11275760B2 (en) | Online schema and data transformations | |
KR102038529B1 (ko) | 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템 | |
CN111062684B (zh) | 云流程平台下实现业务数据与流程数据一致性处理的系统及其方法 | |
JPH06162086A (ja) | 遠隔データベースの制御方法及び装置 | |
CN110597835B (zh) | 一种基于区块链的交易数据删除方法及装置 | |
US20080270352A1 (en) | Modifying entry names in directory server | |
US10606805B2 (en) | Object-level image query and retrieval | |
CN102597995B (zh) | 同步数据库和非数据库资源 | |
CN111708835B (zh) | 区块链数据存储方法及装置 | |
US7051051B1 (en) | Recovering from failed operations in a database system | |
CN113051042B (zh) | 基于zookeeper的事务实现方法及系统 | |
WO2020147334A1 (zh) | 基于ignite缓存架构的数据查询方法及系统 | |
CN112699129A (zh) | 一种数据处理系统、方法及装置 | |
CN112631741A (zh) | 事务处理方法、设备及存储介质 | |
CN114547191A (zh) | 区块链虚拟机异步执行智能合约的方法、系统及p2p网络 | |
CN117271659A (zh) | 一种基于消息总线的事务级数据同步方法、系统和装置 | |
CN112506970A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
JPH08328924A (ja) | インデックス更新方式 |
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 |