[go: up one dir, main page]

CN103164219B - The distributing real time system system of polymorphic type copy is used in decentralization framework - Google Patents

The distributing real time system system of polymorphic type copy is used in decentralization framework Download PDF

Info

Publication number
CN103164219B
CN103164219B CN201310005857.8A CN201310005857A CN103164219B CN 103164219 B CN103164219 B CN 103164219B CN 201310005857 A CN201310005857 A CN 201310005857A CN 103164219 B CN103164219 B CN 103164219B
Authority
CN
China
Prior art keywords
submodule
copy
transaction
write
subtransaction
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.)
Expired - Fee Related
Application number
CN201310005857.8A
Other languages
Chinese (zh)
Other versions
CN103164219A (en
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201310005857.8A priority Critical patent/CN103164219B/en
Publication of CN103164219A publication Critical patent/CN103164219A/en
Application granted granted Critical
Publication of CN103164219B publication Critical patent/CN103164219B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种去中心化架构中使用多类型副本的分布式事务处理系统,包括事务接口模块、事务处理模块和事务存储模块,事务接口模块包括对外接口子模块和事务预处理子模块,事务处理模块包括多类型副本子模块、读事务处理模块、副本组事务状态子模块、读请求分发子模块、副本修复子模块、MVCC读取子模块、局部写事务处理子模块、局部写事务Paxos副本一致性子模块、局部写事务提交子模块、全局写事务处理子模块、主要子事务Paxos副本一致性子模块、次级子事务Paxos副本一致性子模块和全局写事务提交子模块,本发明能够解决现有系统中存在的针对的读写环境很局限,无法根据应用的需求自行配置读写可用性,以及全局事务依赖于加锁,代价较高的问题。

The invention discloses a distributed transaction processing system using multiple types of copies in a decentralized architecture, including a transaction interface module, a transaction processing module, and a transaction storage module. The transaction interface module includes an external interface submodule and a transaction preprocessing submodule. The transaction processing module includes multi-type copy sub-module, read transaction processing module, copy group transaction status sub-module, read request distribution sub-module, copy repair sub-module, MVCC read sub-module, local write transaction processing sub-module, local write transaction Paxos Copy consistency submodule, local write transaction submission submodule, global write transaction processing submodule, main subtransaction Paxos copy consistency submodule, secondary subtransaction Paxos copy consistency submodule and global write transaction submission submodule, the present invention can solve the current The specific read-write environment in the system is very limited, and the availability of read-write cannot be configured according to the application requirements, and global transactions rely on locking, which is expensive.

Description

去中心化架构中使用多类型副本的分布式事务处理系统A distributed transaction processing system using multiple types of replicas in a decentralized architecture

技术领域technical field

本发明属于分布式存储技术领域,更具体地,涉及一种去中心化架构中使用多类型副本的分布式事务处理系统。The invention belongs to the technical field of distributed storage, and more specifically relates to a distributed transaction processing system using multiple types of copies in a decentralized architecture.

背景技术Background technique

随着互联网技术的不断发展,互联网中的数据正在以不可思议的速度上升着,如何存储和处理如此大规模的数据成为了现今的大数据时代的研究方向。去中心化NoSQL是一种大规模数据存储系统,具有以下的特点:高读写性能,无单点故障,高可用性,高可扩展性。例如Cassandra系统,它使用面向列族的存储模型以获得高读写性能,使用去中心化架构以避免单点故障以及获得高可用性,使用一致性哈希获得高可扩展性。With the continuous development of Internet technology, the data in the Internet is rising at an incredible speed. How to store and process such large-scale data has become the research direction of today's big data era. Decentralized NoSQL is a large-scale data storage system with the following characteristics: high read and write performance, no single point of failure, high availability, and high scalability. For example, the Cassandra system uses a column family-oriented storage model to achieve high read and write performance, uses a decentralized architecture to avoid single points of failure and achieve high availability, and uses consistent hashing to achieve high scalability.

现有的去中心化架构中的分布式事务处理系统有以下这些:Megastore系统是一个Google在Bigtable的基础上完成的系统。这个系统使用了特殊的数据模型EntityGroups,然后使用额外的系统模块Coordinator还有副本服务器保证一致性。其提交算法是Paxos算法的变体,用于维护多个数据中心之间同步副本的一致性。然而此方法使用了固定的读写成功数,无法针对不同的应用进行可用性的调节,其全局事务使用昂贵的两段提交,会造成阻塞。Scalaris是一个chord#环上的分布式事务系统,使用对称副本策略,使用改进的Paxos原子提交协议,需要三个阶段才能完成一次事务,无法针对不同的应用进行可用性的调节。还有一个学术研究编写的原型系统,研究了P-Ring环境下的分布式事务,提出了一种MVCC算法——LSTP。文章注重于读繁忙的环境,只读事务不会中止和阻塞,但是不适合写繁忙环境,此系统的应用场景较为局限。The distributed transaction processing systems in the existing decentralized architecture are as follows: Megastore system is a system completed by Google on the basis of Bigtable. This system uses a special data model EntityGroups, and then uses additional system modules Coordinator and replica servers to ensure consistency. Its commit algorithm is a variant of the Paxos algorithm and is used to maintain the consistency of synchronous replicas across multiple data centers. However, this method uses a fixed number of successful reads and writes, and cannot adjust availability for different applications. Its global transactions use expensive two-phase commits, which will cause blocking. Scalaris is a distributed transaction system on the chord# ring. It uses a symmetric replica strategy and the improved Paxos atomic commit protocol. It needs three phases to complete a transaction, and cannot adjust availability for different applications. There is also a prototype system written by academic research, which studies distributed transactions in the P-Ring environment and proposes an MVCC algorithm - LSTP. The article focuses on the read-busy environment. Read-only transactions will not be suspended and blocked, but it is not suitable for the write-busy environment. The application scenarios of this system are relatively limited.

综上所述,现有的分布式事务处理系统存在以下不足:1,针对的读写环境很局限,无法根据应用的需求自行配置读写可用性。2,全局事务依赖于加锁,代价较高。To sum up, the existing distributed transaction processing systems have the following deficiencies: 1. The read-write environment is very limited, and the read-write availability cannot be configured according to the application requirements. 2. Global transactions rely on locking, which is expensive.

发明内容Contents of the invention

针对现有技术的缺陷,本发明的目的在于提供一种去中心化架构中使用多类型副本的分布式事务处理系统,旨在解决现有系统中存在的针对的读写环境很局限,无法根据应用的需求自行配置读写可用性,以及全局事务依赖于加锁,代价较高的问题。Aiming at the defects of the prior art, the purpose of the present invention is to provide a distributed transaction processing system using multi-type copies in a decentralized architecture, aiming at solving the limitation of the read-write environment existing in the existing system, which cannot be based on The application needs to configure read and write availability by itself, and global transactions rely on locking, which is expensive.

为实现上述目的,本发明提供了一种去中心化架构中使用多类型副本的分布式事务处理系统,包括事务接口模块、事务处理模块和事务存储模块,事务接口模块包括对外接口子模块和事务预处理子模块,事务处理模块包括多类型副本子模块、读事务处理模块、副本组事务状态子模块、读请求分发子模块、副本修复子模块、MVCC读取子模块、局部写事务处理子模块、局部写事务Paxos副本一致性子模块、局部写事务提交子模块、全局写事务处理子模块、主要子事务Paxos副本一致性子模块、次级子事务Paxos副本一致性子模块和全局写事务提交子模块,对外接口子模块用于接收来自客户端的事务请求,并将该事务请求发送到事务预处理子模块,事务预处理子模块用于判断事务请求是读事务请求还是写事务请求,如果是读事务请求,则将读事务请求发送到读事务处理子模块,如果是写事务请求,则进一步判断该写事务请求是局部写事务请求还是全局写事务请求,如果是局部写事务请求,则将该局部写事务请求发送到局部写事务处理子模块,如果是全局写事务请求,则将该全局写事务请求发送到全局写事务处理子模块,读事务处理子模块用于从多类型副本子模块获得该读事务请求中包含的各个读指令对应的可读副本的地址以及需要的回应数量,并将读事务请求、可读副本的地址以及需要的回应数量发送到副本组事务状态子模块,并控制整个读事务请求处理流程的超时重试,副本组事务状态子模块用于根据可读副本的地址读取对应副本组内的事务执行状态,以获取读指令对应的各个最大提交态日志编号和最大提交态日志时间戳,读请求分发子模块判断读事务请求中的读指令是否可以在本地执行,如果可以,则将读指令、最大提交态日志编号和最大提交态日志时间戳发送到本地的副本修复子模块,否则将读指令、最大提交态日志编号和最大提交态日志时间戳发送给读指令对应的任意一个可读副本,副本修复子模块用于将其所在的节点更新到副本组事务状态子模块中获得的最大提交态日志编号处,MVCC读取子模块用于根据读指令和最大提交态日志时间戳从事务存储模块读取数据,并将数据返回给读事务处理模块,读事务处理模块还用于将数据发送到对外接口子模块,对外接口子模块还用于将数据发送到客户端,局部写事务处理子模块用于从多类型副本子模块获得该局部写事务请求中包含的写指令对应的见证副本和可读副本的地址以及需要的可读副本的回应数量,并将局部写事务请求、见证副本和可读副本的地址以及需要的可读副本的回应数量发送到局部写事务Paxos副本一致性子模块,并控制整个局部写事务请求处理流程的超时重试,局部写事务Paxos副本一致性子模块用于设置见证副本组内见证副本上一致的日志值,将该日志值传送到局部写事务提交子模块,并为日志项加上局部事务标记,局部写事务提交子模块用于根据可读副本的地址和需要的可读副本的回应数量将日志值提交至对应的可读副本,并将处理成功的结果返回给局部写事务处理子模块,局部写事务处理子模块还用于将处理成功的结果发送到对外接口子模块,对外接口子模块还用于将处理成功的结果发送到客户端,全局写事务管理子模块用于从多类型副本子模块获得该全局写事务请求中包含的各个写指令对应的见证副本和可读副本的地址以及需要的可读副本的回应数量,并将全局写事务请求、各个写指令对应的见证副本和可读副本的地址以及需要的可读副本的回应数量发送到主要子事务Paxos副本一致性子模块,并控制整个全局写事务请求处理流程的超时重试,主要子事务Paxos副本一致性子模块用于设置主要子事务的见证副本组内见证副本上一致的日志值,将该日志值以及主要子事务的位置信息传送到次级子事务提交子模块,并为该日志项加上全局事务标记,次级子事务Paxos副本一致性子模块用于对所有次级子事务设置该次级子事务的见证副本组内见证副本上一致的日志值,为所有次级子事务的日志项加上主要子事务的位置信息和全局事务标记,并将主要子事务的日志值和所有次级子事务的日志值传送到主要子事务提交子模块,全局写事务提交子模块用于根据主要子事务的可读副本的地址和需要的可读副本的回应数将主要子事务的日志值提交至对应的可读副本,并将处理成功的结果返回给全局写事务管理子模块,在处理成功后对各个次级子事务根据该次级子事务的可读副本的地址和需要的可读副本的回应数将该次级子事务的日志值提交至对应的可读副本,全局写事务管理子模块还用于将处理成功的结果发送到对外接口子模块,对外接口子模块还用于将处理成功的结果发送到客户端。In order to achieve the above purpose, the present invention provides a distributed transaction processing system using multiple types of copies in a decentralized architecture, including a transaction interface module, a transaction processing module and a transaction storage module. The transaction interface module includes an external interface sub-module and a transaction Preprocessing sub-module, transaction processing module includes multi-type copy sub-module, read transaction processing module, copy group transaction status sub-module, read request distribution sub-module, copy repair sub-module, MVCC read sub-module, partial write transaction processing sub-module , local write transaction Paxos replica consistency submodule, local write transaction commit submodule, global write transaction processing submodule, main subtransaction Paxos replica consistency submodule, secondary subtransaction Paxos replica consistency submodule and global write transaction commit submodule, The external interface sub-module is used to receive the transaction request from the client and send the transaction request to the transaction pre-processing sub-module. The transaction pre-processing sub-module is used to judge whether the transaction request is a read transaction request or a write transaction request. If it is a read transaction request , then send the read transaction request to the read transaction processing sub-module, if it is a write transaction request, then further judge whether the write transaction request is a local write transaction request or a global write transaction request, if it is a local write transaction request, then the local write transaction request The transaction request is sent to the local write transaction processing submodule. If it is a global write transaction request, the global write transaction request is sent to the global write transaction processing submodule. The read transaction processing submodule is used to obtain the read transaction from the multi-type copy submodule. The address of the readable copy and the required number of responses corresponding to each read command included in the transaction request, and send the read transaction request, the address of the readable copy, and the required number of responses to the replica group transaction status sub-module, and control the entire read Timeout retry of the transaction request processing flow, the copy group transaction status submodule is used to read the transaction execution status in the corresponding copy group according to the address of the readable copy, so as to obtain the maximum commit status log number and the maximum commit status corresponding to the read command Log timestamp, the read request distribution sub-module judges whether the read command in the read transaction request can be executed locally, and if so, sends the read command, the maximum committed log number and the maximum committed log timestamp to the local replica repair sub-module module, otherwise, send the read command, the maximum committed log number and the maximum committed log timestamp to any readable replica corresponding to the read command, and the replica repair submodule is used to update the node where it is located to the replica group transaction status submodule At the maximum committed log number obtained in , the MVCC read submodule is used to read data from the transaction storage module according to the read command and the maximum committed log timestamp, and return the data to the read transaction processing module, and the read transaction processing module also Used to send data to the external interface submodule, the external interface submodule is also used to send data to the client, and the local write transaction processing submodule is used to obtain the write instructions included in the local write transaction request from the multi-type copy submodule The addresses of the corresponding witness replicas and readable replicas, and the number of responses required by the readable replicas, and the partial write transaction request, the addresses of the witness replicas and readable replicas, and the required The response number of the readable copy of the local write transaction is sent to the sub-module of the Paxos replica consistency submodule of the local write transaction, and controls the timeout retry of the entire partial write transaction request processing flow. The Paxos replica consistency submodule of the local write transaction is used to set the witness replica in the witness replica group Consistent log value, transfer the log value to the local write transaction submission submodule, and add a local transaction mark to the log entry, the local write transaction submission submodule is used to respond according to the address of the readable copy and the required readable copy Submit the log value to the corresponding readable copy, and return the successful processing result to the local write transaction processing sub-module. The local write transaction processing sub-module is also used to send the successful processing result to the external interface sub-module. The external interface The submodule is also used to send the result of successful processing to the client, and the global write transaction management submodule is used to obtain the witness copy and readable copy corresponding to each write instruction included in the global write transaction request from the multi-type copy submodule The address and the number of responses of the required readable copies, and send the global write transaction request, the addresses of the witness copies and readable copies corresponding to each write command, and the number of responses of the required readable copies to the main sub-transaction Paxos replica consistency submodule , and control the timeout retry of the entire global write transaction request processing flow, the main sub-transaction Paxos replica consistency sub-module is used to set the consistent log value on the witness replica in the witness replica group of the main sub-transaction, the log value and the main sub-transaction The location information of the sub-transaction is sent to the sub-sub-transaction submission sub-module, and a global transaction mark is added to the log entry. The sub-sub-transaction Paxos replica consistency sub-module is used to set the witness copy of the sub-sub-transaction for all sub-sub-transactions The consistent log value on the witness copy in the group adds the location information and global transaction mark of the primary subtransaction to the log entries of all secondary subtransactions, and transmits the log value of the primary subtransaction and the log value of all secondary subtransactions To the main subtransaction submission submodule, the global write transaction submission submodule is used to submit the log value of the main subtransaction to the corresponding readable copy according to the address of the readable copy of the main subtransaction and the response number of the required readable copy, And the result of successful processing is returned to the global write transaction management submodule. The log value of the sub-transaction is submitted to the corresponding readable copy, and the global write transaction management sub-module is also used to send the successful processing result to the external interface sub-module, and the external interface sub-module is also used to send the successful processing result to the client .

事务预处理子模块是通过读取事务请求中的OPER字段来判断其类型,该字段为表示读事务请求,为表示写事务请求,利用一致性哈希函数对写事务请求中包含的各写操作的键进行运算,并根据运算结果来判断写事务请求的类型,若所有写操作的键运算都指向同一个节点,则该写事务请求是局部写事务请求,否则是全局写事务请求。The transaction preprocessing sub-module judges its type by reading the OPER field in the transaction request. This field represents the read transaction request and the write transaction request. The key of the operation is calculated, and the type of the write transaction request is judged according to the operation result. If the key operations of all write operations point to the same node, the write transaction request is a local write transaction request, otherwise it is a global write transaction request.

副本修复子模块将小于该编号的所有日志项都获取一致值并判断是否需要提交,如果该日志项记录的事务类型是局部事务,则当日志项在见证副本中达到一致时,即认为可以提交,否则就提交空操作;如果该日志项记录的事务类型是全局事务,则除了需要检查在见证副本中是否达到一致之外,还要检查储存的主要子事务是否提交,当主要子事务已提交时,才认为可以提交,否则就提交空操作,最后将所有需要提交的事务执行至完成态。The copy repair sub-module will obtain consistent values for all log entries smaller than this number and determine whether to commit. If the transaction type recorded by the log entry is a local transaction, when the log entry reaches consistency in the witness copy, it is considered to be committed , otherwise submit a null operation; if the transaction type recorded by the log entry is a global transaction, in addition to checking whether the consistency is reached in the witness copy, it is also necessary to check whether the stored main sub-transaction is committed. When the main sub-transaction has been committed , it is considered that it can be submitted, otherwise, a no-op is submitted, and finally all transactions that need to be submitted are executed to the completion state.

局部写事务Paxos副本一致性子模块是使用Paxos算法,尝试在各见证副本的同一个日志位置上达到日志值的一致,该日志值为此次局部写事务请求中写指令的操作加上时间戳,该时间戳大于此次Paxos算法执行前该见证副本组的最大提交态日志时间戳。The Paxos copy consistency sub-module of the local write transaction uses the Paxos algorithm to try to achieve the consistency of the log value in the same log position of each witness copy. The log value adds a timestamp to the operation of the write command in the partial write transaction request. This timestamp is greater than the maximum committed log timestamp of the witness copy group before the execution of the Paxos algorithm.

全局写事务包括两个或以上的局部写事务,全部会被加上全局事务标记,其中一个会被指定为主要子事务,并被作为提交点使用,其他局部写事务被指定为次级子事务,将会记录主要子事务的位置信息,用于副本修复。A global write transaction includes two or more local write transactions, all of which will be marked with a global transaction, one of which will be designated as the main subtransaction and used as a commit point, and the other local write transactions will be designated as secondary subtransactions , will record the location information of the main subtransaction for replica repair.

主要子事务Paxos副本一致性子模块是使用Paxos算法,尝试在主要子事务的各见证副本的同一个日志位置上达到日志值的一致,该日志值为此次主要子事务中写指令的操作加上时间戳,该时间戳大于此次Paxos算法执行前该见证副本组的最大提交态日志时间戳。The main sub-transaction Paxos copy consistency sub-module uses the Paxos algorithm to try to achieve the consistency of the log value at the same log position of each witness copy of the main sub-transaction. The log value is the operation of the write command in this main sub-transaction plus Timestamp, which is greater than the maximum committed log timestamp of the witness copy group before the execution of the Paxos algorithm.

次级子事务Paxos副本一致性子模块是使用Paxos算法,对每个次级子事务,尝试在次级子事务的各见证副本的同一个日志位置上达到日志值的一致,该日志值为此次级子事务中写指令的操作加上时间戳,该时间戳大于此次Paxos算法执行前该见证副本组的最大提交态日志时间戳。The sub-sub-transaction Paxos copy consistency sub-module uses the Paxos algorithm, and for each sub-transaction, tries to achieve the consistency of the log value at the same log position of each witness copy of the sub-sub-transaction, and the log value is this time Add a timestamp to the operation of writing instructions in the sub-transaction, and the timestamp is greater than the maximum committed log timestamp of the witness copy group before the execution of the Paxos algorithm.

通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:Through the above technical solutions conceived by the present invention, compared with the prior art, the present invention has the following beneficial effects:

(1)分离的读写节点(1) Separate read and write nodes

由于采用了多类型副本子模块、局部写事务Paxos副本一致性子模块、局部写事务提交子模块、主要子事务Paxos副本一致性子模块、次级子事务Paxos副本一致性子模块和全局写事务提交子模块,因此将日志的处理和数据的处理节点分离,提高了可配置性Due to the adoption of multi-type replica submodules, local write transaction Paxos replica consistency submodules, local write transaction commit submodules, primary subtransaction Paxos replica consistency submodules, secondary subtransaction Paxos replica consistency submodules, and global write transaction commit submodules , so the log processing and data processing nodes are separated, which improves the configurability

(2)可配置分布式事务的读写可用性级别(2) Configurable read and write availability levels for distributed transactions

由于采用了多类型副本子模块,因此可以设定读写时需要的可读副本数量,这样在保证一致性的同时,还可以调节读写的可用性级别。Due to the use of multi-type copy sub-modules, the number of readable copies required for reading and writing can be set, so that while ensuring consistency, the availability level of reading and writing can also be adjusted.

(3)无锁的全局事务(3) Lock-free global transactions

由于采用了主要子事务Paxos副本一致性子模块、次级子事务Paxos副本一致性子模块和全局写事务提交子模块,因此可以使用主要子事务作为提交点,避免了使用加锁。Since the main sub-transaction Paxos replica consistency sub-module, the secondary sub-transaction Paxos replica consistency sub-module and the global write transaction commit sub-module are used, the main sub-transaction can be used as the commit point, avoiding the use of locks.

(4)可扩展性强(4) Strong scalability

由于在去中心化架构中采用了一致性哈希,因此提供了很强的可扩展性。当数据规模增大时,可以方便地通过增加节点横向扩展,只需要设置一个令牌值就可以自行加入整个服务器集群。总体性能随着规模的增大近线性增加。Due to the adoption of consistent hashing in the decentralized architecture, it provides strong scalability. When the data size increases, it can be conveniently expanded horizontally by adding nodes, and only need to set a token value to join the entire server cluster by itself. Overall performance increases nearly linearly with scale.

(5)高可靠性(5) High reliability

系统中的副本机制保证了数据的可靠性,同一份数据会同时保存在多个节点上,当节点失效时,数据不会丢失。还可以通过配置,将副本机制提升到数据中心级别,提供自然灾害级别的容灾。The copy mechanism in the system ensures the reliability of the data. The same data will be saved on multiple nodes at the same time. When a node fails, the data will not be lost. It can also be configured to upgrade the replica mechanism to the data center level to provide disaster recovery at the level of natural disasters.

附图说明Description of drawings

图1为去中心化架构中基于多类型副本的分布式事务处理系统互联拓扑图。Figure 1 is a topological diagram of the interconnection of a distributed transaction processing system based on multiple types of replicas in a decentralized architecture.

图2为去中心化架构中基于多类型副本的分布式事务处理系统体系结构图。Figure 2 is an architecture diagram of a distributed transaction processing system based on multi-type replicas in a decentralized architecture.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.

如图1所示,本发明去中心化架构中使用多类型副本的分布式事务处理系统是应用在包括客户端和多个位于服务器端的节点A、B和C的分布式系统中,具体是设置于节点中。客户端用于响应客户请求,并与节点A、B和C进行交互,以提交事务和获得结果。节点A、B、C用于存储数据,响应读写事务等,且节点间使用高速网络相互连接。分布式系统采用分布式哈希表作为底层,处理键值对(Key-Value)形式的数据,每个节点通过一致性哈希函数将键映射为一个令牌(Token),并根据该令牌确定该键值对的存储节点,且每个节点都负责存储一定范围的键值对。As shown in Figure 1, the distributed transaction processing system using multiple types of copies in the decentralized architecture of the present invention is applied in a distributed system including a client and multiple nodes A, B and C located on the server side, specifically setting in the node. The client is used to respond to customer requests and interact with nodes A, B, and C to submit transactions and obtain results. Nodes A, B, and C are used to store data, respond to read and write transactions, etc., and the nodes are connected to each other using a high-speed network. The distributed system uses a distributed hash table as the bottom layer to process data in the form of key-value pairs (Key-Value). Each node maps the key to a token (Token) through a consistent hash function, and according to the token Determine the storage node for the key-value pair, and each node is responsible for storing a certain range of key-value pairs.

如图2所示,本发明去中心化架构中使用多类型副本的分布式事务处理系统包括事务接口模块1、事务处理模块2和事务存储模块3。As shown in FIG. 2 , the distributed transaction processing system using multiple types of copies in the decentralized architecture of the present invention includes a transaction interface module 1 , a transaction processing module 2 and a transaction storage module 3 .

事务接口模块1包括对外接口子模块101和事务预处理子模块102。The transaction interface module 1 includes an external interface submodule 101 and a transaction preprocessing submodule 102 .

事务处理模块2包括多类型副本子模块201、读事务处理模块202、副本组事务状态子模块203、读请求分发子模块204、副本修复子模块205、MVCC读取子模块206、局部写事务处理子模块207、局部写事务Paxos副本一致性子模块208、局部写事务提交子模块209、全局写事务处理子模块210、主要子事务Paxos副本一致性子模块211、次级子事务Paxos副本一致性子模块212和全局写事务提交子模块213。Transaction processing module 2 includes multi-type copy sub-module 201, read transaction processing module 202, copy group transaction status sub-module 203, read request distribution sub-module 204, copy repair sub-module 205, MVCC read sub-module 206, local write transaction processing Submodule 207, local write transaction Paxos replica consistency submodule 208, local write transaction submission submodule 209, global write transaction processing submodule 210, primary subtransaction Paxos replica consistency submodule 211, secondary subtransaction Paxos replica consistency submodule 212 and the global write transaction submission submodule 213.

对外接口子模块101用于接收来自客户端的事务请求,并将该事务请求发送到事务预处理子模块102。The external interface submodule 101 is configured to receive a transaction request from a client, and send the transaction request to the transaction preprocessing submodule 102 .

事务预处理子模块102用于判断事务请求是读事务请求还是写事务请求,如果是读事务请求,则将读事务请求发送到读事务处理子模块204,如果是写事务请求,则进一步判断该写事务请求是局部写事务请求还是全局写事务请求,如果是局部写事务请求,则将该局部写事务请求发送到局部写事务处理子模块207,如果是全局写事务请求,则将该全局写事务请求发送到全局写事务处理子模块210。具体而言,是通过读取事务请求中的OPER字段来判断其类型,该字段为0表示读事务请求,为1表示写事务请求;利用一致性哈希函数对写事务请求中包含的各写操作的键进行运算,并根据运算结果来判断写事务请求的类型,若所有写操作的键运算都指向同一个节点,则该写事务请求是局部写事务请求,否则是全局写事务请求。The transaction preprocessing submodule 102 is used to judge whether the transaction request is a read transaction request or a write transaction request. If it is a read transaction request, the read transaction request is sent to the read transaction processing submodule 204. If it is a write transaction request, the transaction request is further judged. Whether the write transaction request is a local write transaction request or a global write transaction request, if it is a local write transaction request, then send the local write transaction request to the local write transaction processing submodule 207, if it is a global write transaction request, then the global write transaction request The transaction request is sent to the global write transaction processing sub-module 210 . Specifically, the type is judged by reading the OPER field in the transaction request. If the field is 0, it means a read transaction request, and if it is 1, it means a write transaction request; The key of the operation is calculated, and the type of the write transaction request is judged according to the operation result. If all the key operations of the write operation point to the same node, the write transaction request is a local write transaction request, otherwise it is a global write transaction request.

读事务处理子模块202用于从多类型副本子模块201获得该读事务请求中包含的各个读指令对应的可读副本的地址以及需要的回应数量R(R为正整数),并将读事务请求、可读副本的地址以及需要的回应数量发送到副本组事务状态子模块203,并控制整个读事务请求处理流程的超时重试。The read transaction processing submodule 202 is used to obtain the address of the readable copy corresponding to each read instruction contained in the read transaction request and the required response quantity R (R is a positive integer) from the multi-type copy submodule 201, and read the transaction The request, the address of the readable replica and the required number of responses are sent to the replica group transaction status sub-module 203, which controls the timeout retry of the entire read transaction request processing flow.

副本组事务状态子模块203用于根据可读副本的地址读取对应副本组内的事务执行状态,以获取读指令对应的各个最大提交态日志编号和最大提交态日志时间戳;具体而言,一个副本组内维护各个节点日志的一致性,日志的每一项都有不断递增的编号和时间戳,而且会有多种状态:等待态、提交态和完成态,各节点会记录已知的最大完成态日志编号、最大提交态日志编号以及最大提交态日志时间戳,获得的结果是至少R个成功回应中的最大值。The copy group transaction status sub-module 203 is used to read the transaction execution status in the corresponding copy group according to the address of the readable copy, so as to obtain each maximum committed log number and maximum committed log timestamp corresponding to the read command; specifically, A replica group maintains the consistency of logs of each node. Each item in the log has an increasing number and timestamp, and there are multiple states: waiting state, commit state, and completion state. Each node will record known The maximum completion log number, the maximum commit log number, and the maximum commit log timestamp. The result obtained is the maximum value among at least R successful responses.

读请求分发子模块204判断读事务请求中的读指令是否可以在本地执行,如果可以,则将读指令、最大提交态日志编号和最大提交态日志时间戳发送到本地的副本修复子模块205,否则将读指令、最大提交态日志编号和最大提交态日志时间戳发送给读指令对应的任意一个可读副本。The read request distribution sub-module 204 judges whether the read command in the read transaction request can be executed locally, and if so, sends the read command, the maximum commit state log number and the maximum commit state log timestamp to the local copy repair sub-module 205, Otherwise, send the read command, the maximum committed log number and the maximum committed log timestamp to any readable copy corresponding to the read command.

副本修复子模块205用于将其所在的节点更新到副本组事务状态子模块203中获得的最大提交态日志编号处;具体而言,将小于该编号的所有日志项都获取一致值并判断是否需要提交,如果该日志项记录的事务类型是局部事务,则当日志项在见证副本中达到一致时,即认为可以提交,否则就提交空操作;如果该日志项记录的事务类型是全局事务,则除了需要检查在见证副本中是否达到一致之外,还要检查储存的主要子事务是否提交,当主要子事务已提交时,才认为可以提交,否则就提交空操作,最后将所有需要提交的事务执行至完成态。The copy repair sub-module 205 is used to update the node where it is located to the maximum committed state log number obtained in the copy group transaction status sub-module 203; specifically, obtain consistent values for all log entries smaller than the number and determine whether Submission is required. If the transaction type recorded in the log entry is a local transaction, when the log entry reaches consistency in the witness copy, it is considered to be committed, otherwise, no operation will be submitted; if the transaction type recorded in the log entry is a global transaction, In addition to checking whether the consistency is reached in the witness copy, it is also necessary to check whether the stored main sub-transaction is committed. When the main sub-transaction has been committed, it is considered to be committed. Otherwise, a no-op is submitted. The transaction executes to completion.

MVCC读取子模块206用于根据读指令和最大提交态日志时间戳从事务存储模块3读取数据,并将数据返回给读事务处理模块202。The MVCC read sub-module 206 is used to read data from the transaction storage module 3 according to the read instruction and the maximum committed log timestamp, and return the data to the read transaction processing module 202 .

读事务处理模块202还用于将数据发送到对外接口子模块101。The read transaction processing module 202 is also used to send data to the external interface sub-module 101 .

对外接口子模块101还用于将数据发送到客户端。The external interface sub-module 101 is also used to send data to the client.

局部写事务处理子模块207用于从多类型副本子模块201获得该局部写事务请求中包含的写指令对应的见证副本和可读副本的地址以及需要的可读副本的回应数量W(其中W为正整数),并将局部写事务请求、见证副本和可读副本的地址以及需要的可读副本的回应数量发送到局部写事务Paxos副本一致性子模块208,并控制整个局部写事务请求处理流程的超时重试。The local write transaction processing submodule 207 is used to obtain from the multi-type copy submodule 201 the addresses of the witness copy and the readable copy corresponding to the write instruction included in the partial write transaction request, and the required response number W of the readable copy (where W is a positive integer), and send the partial write transaction request, the address of the witness copy and the readable copy, and the response quantity of the required readable copy to the partial write transaction Paxos replica consistency sub-module 208, and control the entire partial write transaction request processing flow timeout retries.

局部写事务Paxos副本一致性子模块208用于设置见证副本组内见证副本上一致的日志值,将该日志值传送到局部写事务提交子模块209,并为日志项加上局部事务标记;具体而言,是使用Paxos算法,尝试在各见证副本的同一个日志位置上达到日志值的一致,该日志值为此次局部写事务请求中写指令的操作加上时间戳,该时间戳大于此次Paxos算法执行前该见证副本组的最大提交态日志时间戳。The partial write transaction Paxos copy consistency submodule 208 is used to set the consistent log value on the witness copy in the witness copy group, transmit the log value to the partial write transaction submission submodule 209, and add a local transaction mark to the log entry; specifically In other words, the Paxos algorithm is used to try to achieve the consistency of log values in the same log position of each witness copy. The log value adds a timestamp to the operation of the write command in this partial write transaction request, and the timestamp is greater than this time. The maximum committed log timestamp of the witness replica group before the execution of the Paxos algorithm.

局部写事务提交子模块209用于根据可读副本的地址和需要的可读副本的回应数量W将日志值提交至对应的可读副本,并将处理成功的结果返回给局部写事务处理子模块207。The local write transaction submission submodule 209 is used to submit the log value to the corresponding readable copy according to the address of the readable copy and the required response number W of the readable copy, and return the result of successful processing to the partial write transaction processing submodule 207.

局部写事务处理子模块207还用于将处理成功的结果发送到对外接口子模块101。The local write transaction processing sub-module 207 is also used to send the successful processing result to the external interface sub-module 101 .

对外接口子模块101还用于将处理成功的结果发送到客户端。The external interface sub-module 101 is also used to send the result of successful processing to the client.

全局写事务管理子模块212用于从多类型副本子模块201获得该全局写事务请求中包含的各个写指令对应的见证副本和可读副本的地址以及需要的可读副本的回应数量V(其中V为正整数),并将全局写事务请求、各个写指令对应的见证副本和可读副本的地址以及需要的可读副本的回应数量发送到主要子事务Paxos副本一致性子模块211,并控制整个全局写事务请求处理流程的超时重试。具体而言,全局写事务包括两个或以上的局部写事务,全部会被加上全局事务标记,其中一个会被指定为主要子事务,并被作为提交点使用,其他局部写事务被指定为次级子事务,将会记录主要子事务的位置信息,用于副本修复。The global write transaction management submodule 212 is used to obtain from the multi-type copy submodule 201 the address of the witness copy and the address of the readable copy corresponding to each write instruction included in the global write transaction request and the response number V of the required readable copy (where V is a positive integer), and send the global write transaction request, the address of the witness copy and readable copy corresponding to each write command, and the response quantity of the required readable copy to the main sub-transaction Paxos copy consistency submodule 211, and control the entire Timeout retries for global write transaction request processing. Specifically, a global write transaction includes two or more local write transactions, all of which will be marked with a global transaction, one of which will be designated as the main subtransaction and used as a commit point, and the other local write transactions will be designated as The secondary subtransaction will record the position information of the primary subtransaction for replica repair.

主要子事务Paxos副本一致性子模块211用于设置主要子事务的见证副本组内见证副本上一致的日志值,将该日志值以及主要子事务的位置信息传送到次级子事务提交子模块,并为该日志项加上全局事务标记;具体而言,是使用Paxos算法,尝试在主要子事务的各见证副本的同一个日志位置上达到日志值的一致,该日志值为此次主要子事务中写指令的操作加上时间戳,该时间戳大于此次Paxos算法执行前该见证副本组的最大提交态日志时间戳。The main sub-transaction Paxos copy consistency submodule 211 is used to set the consistent log value on the witness copy in the witness copy group of the main sub-transaction, and transmit the log value and the position information of the main sub-transaction to the secondary sub-transaction submission sub-module, and Add a global transaction mark to this log entry; specifically, use the Paxos algorithm to try to achieve consistency in the log value at the same log position of each witness copy of the main subtransaction, and the log value in this main subtransaction The operation of writing the command is added with a timestamp, which is greater than the maximum committed log timestamp of the witness replica group before the execution of the Paxos algorithm.

次级子事务Paxos副本一致性子模块212用于对所有次级子事务设置该次级子事务的见证副本组内见证副本上一致的日志值,为所有次级子事务的日志项加上主要子事务的位置信息和全局事务标记,并将主要子事务的日志值和所有次级子事务的日志值传送到主要子事务提交子模块;具体而言,是使用Paxos算法,对每个次级子事务,尝试在次级子事务的各见证副本的同一个日志位置上达到日志值的一致,该日志值为此次级子事务中写指令的操作加上时间戳,该时间戳大于此次Paxos算法执行前该见证副本组的最大提交态日志时间戳。Secondary sub-transaction Paxos copy consistency submodule 212 is used to set the consistent log value on the witness copy in the witness copy group of this secondary sub-transaction for all secondary sub-transactions, add the main sub-transaction to the log entries of all secondary sub-transactions Transaction location information and global transaction markers, and the log value of the main sub-transaction and the log values of all secondary sub-transactions are transferred to the main sub-transaction commit submodule; specifically, using the Paxos algorithm, for each secondary sub-transaction transaction, try to achieve the consistency of the log value at the same log position of each witness copy of the secondary sub-transaction, and the log value adds a timestamp to the operation of the write command in this secondary sub-transaction, and the timestamp is greater than this Paxos The maximum committed log timestamp of the witness copy group before the algorithm is executed.

全局写事务提交子模块213用于根据主要子事务的可读副本的地址和需要的可读副本的回应数V将主要子事务的日志值提交至对应的可读副本,并将处理成功的结果返回给全局写事务管理子模块212,在处理成功后对各个次级子事务根据该次级子事务的可读副本的地址和需要的可读副本的回应数V将该次级子事务的日志值提交至对应的可读副本。The global write transaction submission submodule 213 is used to submit the log value of the main subtransaction to the corresponding readable copy according to the address of the readable copy of the main subtransaction and the response number V of the required readable copy, and process the successful result Return to the global write transaction management submodule 212, after processing successfully, the log of each secondary subtransaction according to the address of the readable copy of the secondary subtransaction and the response number V of the required readable copy Values are committed to the corresponding readable replica.

全局写事务管理子模块212还用于将处理成功的结果发送到对外接口子模块101。The global write transaction management submodule 212 is also configured to send the successful processing result to the external interface submodule 101 .

对外接口子模块101还用于将处理成功的结果发送到客户端。The external interface sub-module 101 is also used to send the result of successful processing to the client.

实例:Example:

为了验证本发明方法的可行性和有效性,在真实环境下配置系统,对去中心化架构中使用多类型副本的分布式事务进行实验。In order to verify the feasibility and effectiveness of the method of the present invention, the system is configured in a real environment, and experiments are carried out on distributed transactions using multiple types of replicas in a decentralized architecture.

本发明的服务器基本硬件和软件配置如表1所示:Server basic hardware and software configuration of the present invention are as shown in table 1:

表1Table 1

本发明将多类型副本与去中心化架构中的分布式事务处理进行了有效的结合。它使用去中心化架构,提供了很强的可扩展性,其副本机制提高了数据的可靠性、可恢复性,以及更高的数据可用性,提供了强一致性的分布式事务功能。该系统使用多类型副本分离了分布式事务的读写物理节点,有效降低了节点失效对读事务和写事务可用性的影响,对于针对不同应用场景配置合适读写可用性的分布式事务有着重要意义,具有较大的应用潜力。The invention effectively combines multi-type copies with distributed transaction processing in a decentralized architecture. It uses a decentralized architecture, which provides strong scalability, and its copy mechanism improves data reliability, recoverability, and higher data availability, and provides a strongly consistent distributed transaction function. The system uses multi-type replicas to separate the read-write physical nodes of distributed transactions, effectively reducing the impact of node failure on the availability of read and write transactions, which is of great significance for configuring distributed transactions with appropriate read-write availability for different application scenarios. It has great application potential.

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。It is easy for those skilled in the art to understand that the above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention, All should be included within the protection scope of the present invention.

Claims (7)

1. in a decentralization framework, use the distributing real time system system of polymorphic type copy, comprise transaction interface module, transaction model and affairs memory module, transaction interface module comprises external interface submodule and transaction preprocess submodule, transaction model comprises polymorphic type copy submodule, read issued transaction submodule, replica group transaction status submodule, read request distribution submodule, submodule repaired by copy, MVCC reading submodule, issued transaction submodule is write in local, affairs Paxos copy consistency submodule is write in local, local is write affairs and is submitted submodule to, global write issued transaction submodule, main subtransaction Paxos copy consistency submodule, secondary subtransaction Paxos copy consistency submodule and global write affairs submit submodule to, it is characterized in that,
This transactions requests for receiving the transactions requests from client, and is sent to transaction preprocess submodule by external interface submodule;
Transaction preprocess submodule is for judging that transactions requests is read transactions requests or writes transactions requests, if read transactions requests, then will read transactions requests to be sent to and to read issued transaction submodule, if write transactions requests, then judging that this writes transactions requests is further that transactions requests or global write transactions requests are write in local, if transactions requests is write in local, then this local is write transactions requests be sent to local write issued transaction submodule, if global write transactions requests, then this global write transactions requests is sent to global write issued transaction submodule;
Read issued transaction submodule and read the address of hard copy corresponding to instruction and the response quantity of needs for each obtaining from polymorphic type copy submodule that this reads to comprise in transactions requests, and be sent to replica group transaction status submodule by reading transactions requests, the address of hard copy and the response quantity of needs, and control the whole timeout retry reading transactions requests treatment scheme;
Replica group transaction status submodule is used for the affairs executing state read according to the address of hard copy in corresponding replica group, reads instruction corresponding each maximum submission state daily record numbering and maximum submission state log timestamp to obtain;
Read request distribution submodule judges to read reading instruction and whether can perform in this locality in transactions requests, if passable, then be sent to local copy repair submodule by reading instruction, maximum submission state daily record numbering and maximum submission state log timestamp, otherwise send to read any one hard copy corresponding to instruction by reading instruction, maximum submission state daily record numbering and maximum submission state log timestamp;
The maximum submission state daily record numbering place that submodule is used for obtain in the node updates at its place to replica group transaction status submodule repaired by copy;
MVCC reading submodule is used for reading data according to reading instruction and maximum submission state log timestamp from affairs memory module, and data is returned to and read issued transaction submodule;
Read issued transaction submodule also for data are sent to external interface submodule;
External interface submodule is also for being sent to client by data;
Issued transaction submodule writes witness copy corresponding to the write command that comprises in transactions requests and the address of hard copy and the hard copy of needs response quantity for obtaining this local from polymorphic type copy submodule is write in local, and transactions requests is write in local, the response quantity of witness copy and the address of hard copy and the hard copy of needs is sent to local and writes affairs Paxos copy consistency submodule, and control the timeout retry that transactions requests treatment scheme is write in whole local;
Affairs Paxos copy consistency submodule is write for arranging daily record value consistent on witness copy in witness replica group in local, this daily record value is sent to local and writes affairs and submit submodule to, and adds locally transaction tag for journal entry;
Local is write affairs and is submitted to submodule for daily record value being committed to corresponding hard copy according to the response quantity of the address of hard copy and the hard copy of needs, and successful for process result is returned to and locally write issued transaction submodule;
Issued transaction submodule is write also for successful for process result is sent to external interface submodule in local;
External interface submodule is also for being sent to client by successful for process result;
Global write issued transaction submodule is used for the response quantity obtaining witness copy corresponding to each write command of comprising this global write transactions requests and the address of hard copy and the hard copy of needs from polymorphic type copy submodule, and the response quantity of witness copy corresponding to global write transactions requests, each write command and the address of hard copy and the hard copy of needs is sent to main subtransaction Paxos copy consistency submodule, and control the timeout retry of whole global write transactions requests treatment scheme;
The daily record value that main subtransaction Paxos copy consistency submodule is consistent on witness copy in the witness replica group arranging main subtransaction, the positional information of this daily record value and main subtransaction is sent to secondary subtransaction and submits submodule to, and add that global transaction marks for this journal entry;
The daily record value that secondary subtransaction Paxos copy consistency submodule is consistent on witness copy in the witness replica group all secondary subtransactions being arranged to this secondary subtransaction, journal entry for all secondary subtransactions adds positional information and the global transaction mark of main subtransaction, and the daily record value of the daily record value of main subtransaction and all secondary subtransactions is sent to main subtransaction submission submodule;
Global write affairs submit to submodule to be used for, according to the response number of the address of the hard copy of main subtransaction and the hard copy of needs, the daily record value of main subtransaction is committed to corresponding hard copy, and successful for process result is returned to global write issued transaction submodule, by the daily record value of this secondary subtransaction, corresponding hard copy is committed to according to the response number of the address of the hard copy of this secondary subtransaction and the hard copy of needs to each secondary subtransaction processing successfully;
Global write issued transaction submodule is also for being sent to external interface submodule by successful for process result;
External interface submodule is also for being sent to client by successful for process result.
2. distributing real time system system according to claim 1, it is characterized in that, transaction preprocess submodule judges its type by the OPER field read in transactions requests, this field is that transactions requests is read in expression, transactions requests is write for representing, consistance hash function is utilized to carry out computing to the key writing each write operation comprised in transactions requests, and judge according to operation result the type writing transactions requests, if same node is all pointed in the key computing of all write operations, then this writes transactions requests is that transactions requests is write in local, otherwise is global write transactions requests.
3. distributing real time system system according to claim 1, it is characterized in that, copy is repaired submodule and all journal entries being less than this numbering is all obtained homogeneity value and judges whether to need to submit to, if the transaction types of this journal entry record is local affairs, then when journal entry reaches consistent in witness copy, namely think and can submit to, otherwise just submit blank operation to; If the transaction types of this journal entry record is global transaction, then except whether needs inspection reaches unanimously in witness copy, also to check whether the main subtransaction of storage is submitted to, when main subtransaction is submitted to, just think and can submit to, otherwise just submitting blank operation to, finally all affairs needing to submit to being performed to completing state.
4. distributing real time system system according to claim 1, it is characterized in that, it is use Paxos algorithm that affairs Paxos copy consistency submodule is write in local, attempt reaching the consistent of daily record value on the same iog location of each witness copy, this daily record value is that this time locally writing the operation of write command in transactions requests adds timestamp, and this timestamp is greater than the maximum submission state log timestamp that this Paxos algorithm performs this witness replica group front.
5. distributing real time system system according to claim 1, it is characterized in that, global write affairs comprise two or more local and write affairs, all can be coupled with global transaction mark, one of them can be designated as main subtransaction, and is used by as submission point, and other local are write affairs and are designated as secondary subtransaction, the positional information of main subtransaction will be recorded, for copy reparation.
6. distributing real time system system according to claim 1, it is characterized in that, main subtransaction Paxos copy consistency submodule uses Paxos algorithm, attempt reaching the consistent of daily record value on the same iog location of each witness copy of main subtransaction, this daily record value is that the operation of write command in this main subtransaction adds timestamp, and this timestamp is greater than the maximum submission state log timestamp that this Paxos algorithm performs this witness replica group front.
7. distributing real time system system according to claim 1, it is characterized in that, secondary subtransaction Paxos copy consistency submodule uses Paxos algorithm, to each secondary subtransaction, attempt reaching the consistent of daily record value on the same iog location of each witness copy of secondary subtransaction, this daily record value for this reason in secondary subtransaction the operation of write command add timestamp, this timestamp be greater than this Paxos algorithm perform before the maximum submission state log timestamp of this witness replica group.
CN201310005857.8A 2013-01-08 2013-01-08 The distributing real time system system of polymorphic type copy is used in decentralization framework Expired - Fee Related CN103164219B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310005857.8A CN103164219B (en) 2013-01-08 2013-01-08 The distributing real time system system of polymorphic type copy is used in decentralization framework

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310005857.8A CN103164219B (en) 2013-01-08 2013-01-08 The distributing real time system system of polymorphic type copy is used in decentralization framework

Publications (2)

Publication Number Publication Date
CN103164219A CN103164219A (en) 2013-06-19
CN103164219B true CN103164219B (en) 2015-09-23

Family

ID=48587340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310005857.8A Expired - Fee Related CN103164219B (en) 2013-01-08 2013-01-08 The distributing real time system system of polymorphic type copy is used in decentralization framework

Country Status (1)

Country Link
CN (1) CN103164219B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156174A (en) * 2015-04-16 2016-11-23 中国移动通信集团山西有限公司 The system and method that a kind of db transaction processes

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530362B (en) * 2013-10-12 2017-01-04 清华大学 A kind of computer data reading/writing method for many copies distributed system
CN104699527A (en) * 2013-12-10 2015-06-10 杭州海康威视系统技术有限公司 Critical resource management method and device in cloud storage system
CN105208096A (en) * 2015-08-24 2015-12-30 用友网络科技股份有限公司 Distributed cache system and method
US11157517B2 (en) 2016-04-18 2021-10-26 Amazon Technologies, Inc. Versioned hierarchical data structures in a distributed data store
CN106021277A (en) * 2016-04-27 2016-10-12 湖南蚁坊软件有限公司 State-based method for implementation of lock-less distributed ACID consistency
US10860550B1 (en) 2017-03-30 2020-12-08 Amazon Technologies, Inc. Versioning schemas for hierarchical data structures
US10671639B1 (en) 2017-03-30 2020-06-02 Amazon Technologies, Inc. Selectively replicating changes to hierarchial data structures
CN108322459B (en) * 2018-01-31 2020-10-16 北京信息科技大学 EPaxos-based decentralized network domain name service method and system
CN109783578B (en) * 2019-01-09 2022-10-21 腾讯科技(深圳)有限公司 Data reading method and device, electronic equipment and storage medium
CN109902127B (en) * 2019-03-07 2020-12-25 腾讯科技(深圳)有限公司 Historical state data processing method and device, computer equipment and storage medium
CN112995262B (en) * 2019-12-18 2022-06-10 中国移动通信集团浙江有限公司 Distributed transaction commit method, system and computing device
CN114661816B (en) * 2020-12-24 2023-03-24 金篆信科有限责任公司 Data synchronization method and device, electronic equipment and storage medium
CN115357600B (en) * 2022-10-21 2023-02-03 鹏城实验室 Data consensus processing method, system, device, equipment and readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521330A (en) * 2011-12-07 2012-06-27 华中科技大学 Mirror distributed storage method under desktop virtual environment
CN102831156A (en) * 2012-06-29 2012-12-19 浙江大学 Distributed transaction processing method on cloud computing platform

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671686B2 (en) * 2000-11-02 2003-12-30 Guy Pardon Decentralized, distributed internet data management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521330A (en) * 2011-12-07 2012-06-27 华中科技大学 Mirror distributed storage method under desktop virtual environment
CN102831156A (en) * 2012-06-29 2012-12-19 浙江大学 Distributed transaction processing method on cloud computing platform

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156174A (en) * 2015-04-16 2016-11-23 中国移动通信集团山西有限公司 The system and method that a kind of db transaction processes

Also Published As

Publication number Publication date
CN103164219A (en) 2013-06-19

Similar Documents

Publication Publication Date Title
CN103164219B (en) The distributing real time system system of polymorphic type copy is used in decentralization framework
US9588851B2 (en) Locality based quorums
AU2005207573B2 (en) Geographically distributed clusters
US9916201B2 (en) Write performance in fault-tolerant clustered storage systems
US7631214B2 (en) Failover processing in multi-tier distributed data-handling systems
US9727273B1 (en) Scalable clusterwide de-duplication
US8301600B1 (en) Failover recovery in a distributed data store
US12182105B1 (en) Validation architecture servicing multiple user requests by queuing and then matching out of order indicia
CN108073656A (en) A kind of method of data synchronization and relevant device
US10146632B2 (en) Efficient mechanism to replicate data for multiple controllers
US20190129643A1 (en) Method, system and computer program product for managing storage sysyem
US10366106B2 (en) Quorum-based replication of data records
WO2015100985A1 (en) Method and database engine for recording transaction log
WO2022027530A1 (en) Blockchain-based high-performance tamper-proof database construction method
CN103268318A (en) Distributed key value database system with strong consistency and read-write method thereof
CN113570460B (en) Method and device for concurrently executing transactions in a blockchain
US20160342490A1 (en) Method and apparatus to virtualize remote copy pair in three data center configuration
CN107656834A (en) Recover main frame based on transaction journal to access
CN113168371A (en) Write-write collision detection for multi-master shared storage databases
US20250200070A1 (en) Consensus Protocol For Asynchronous Database Transaction Replication With Fast, Automatic Failover, Zero Data Loss, Strong Consistency, Full SQL Support And Horizontal Scalability
CN102693312B (en) Flexible transaction management method in key-value store data storage
US20160217177A1 (en) Database system
CN113239020B (en) Database allocation method, device, system, equipment, medium and product
US12380130B2 (en) Recovery from loss of leader during asynchronous database transaction replication
CN105938446B (en) A fault-tolerant approach to data replication based on RDMA and hardware transactional memory support

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150923

CF01 Termination of patent right due to non-payment of annual fee