CN110019443A - 非关系型数据库事务处理方法、装置及电子设备 - Google Patents
非关系型数据库事务处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110019443A CN110019443A CN201710807134.8A CN201710807134A CN110019443A CN 110019443 A CN110019443 A CN 110019443A CN 201710807134 A CN201710807134 A CN 201710807134A CN 110019443 A CN110019443 A CN 110019443A
- Authority
- CN
- China
- Prior art keywords
- transaction
- branch
- relational database
- affairs
- rollback
- 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
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
-
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/87—Monitoring of transactions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例提供一种非关系型数据库事务处理方法、装置及电子设备,其中,方法包括:接收客户端发送的针对非关系型数据库进行事务操作的事务请求;向事务协调器发送事务ID,以声明一个事务分支,并从事务协调器获取该事务分支的分支ID;对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;向事务协调器发送本次事务分支执行成功或失败的分支状态信息;接收事务协调器发送的事务分支的提交或回滚指示,并对相应的事务分支进行提交或回滚操作。本发明实施例的方案能够使非关系型数据库支持2PC的事务处理模式,进而使跨多种异构数据存储资源的分布式事务控制方案成为可能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种非关系型数据库事务处理方法、装置及电子设备。
背景技术
现有技术中,分布式事务领域往往采用两阶段提交协议(Two-Phase Commit,2PC)来解决涉及多种数据资源的分布式事务问题,2PC的典型代表是XA。XA是由X/Open组织提出的分布式交易处理的规范。XA规范主要定义了事务管理器(Transaction Manager)和局部资源管理器(Local Resource Manager)之间的接口。Oracle、MySQL等关系型数据库都实现了XA协议,因此,涉及上述数据库系统的分布事务问题可以通过XA来解决。
但是,在分布式系统中,大量存在关系型数据库、非关系型数据库如NoSql数据库产品混用的场景,而仅仅有一些关系型数据库支持了XA协议,非关系型数据库如NoSql数据库不支持XA协议,从而针对选用了NoSql数据库的场景缺乏有效的事务处理手段,无法满足业务要求。
发明内容
本发明提供了一种非关系型数据库事务处理方法、装置及电子设备,能够使非关系型数据库支持2PC的事务处理模式,进而使跨多种异构数据存储资源的分布式事务控制方案成为可能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种非关系型数据库事务处理方法,包括:
接收客户端发送的针对非关系型数据库进行事务操作的事务请求,所述事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
向事务协调器发送所述事务ID,以声明本次事务为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
向所述事务协调器发送本次事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
第二方面,提供了另一种非关系型数据库事务处理方法,包括:
在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
执行对所述非关系型数据库的事务操作,并记录相应的事务日志。
第三方面,提供了另一种非关系型数据库事务处理方法,包括:
接收事务协调器发送的事务分支的提交指示,所述提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;所述提交指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;所述提交指示中包含所述待提交的事务分支的分支ID;
根据所述分支ID,提交所述对非关系型数据库的事务操作对应的事务分支。
第四方面,提供了另一种非关系型数据库事务处理方法,包括:
接收事务协调器发送的事务分支的回滚指示,所述回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;所述回滚指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;所述回滚指示中包含所述待回滚的事务分支的分支ID;
根据所述分支ID,回滚所述对非关系型数据库的事务操作对应的事务分支。
第五方面,提供了一种非关系型数据库事务处理装置,包括:
事务请求接收模块,用于接收客户端发送的针对非关系型数据库进行事务操作的事务请求,所述事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
第一事务分支声明模块,用于向事务协调器发送所述事务ID,以声明本次事务为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
第一事务分支处理模块,用于根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
第一事务状态提交模块,用于向所述事务协调器发送本次事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
第六方面,提供了另一种非关系型数据库事务处理装置,包括:
第二事务分支声明模块,用于在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
第二事务分支处理模块,用于执行对所述非关系型数据库的事务操作,并记录相应的事务日志。
第七方面,提供了另一种非关系型数据库事务处理装置,包括:
提交指示接收模块,用于接收事务协调器发送的事务分支的提交指示,所述提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;所述提交指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;所述提交指示中包含所述待提交的事务分支的分支ID;
事务分支提交模块,用于根据所述分支ID,提交所述对非关系型数据库的事务操作对应的事务分支。
第八方面,提供了另一种非关系型数据库事务处理装置,包括:
回滚指示接收模块,用于接收事务协调器发送的事务分支的回滚指示,所述回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;所述回滚指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;所述回滚指示中包含所述待回滚的事务分支的分支ID;
事务分支回滚模块,用于根据所述分支ID,回滚所述对非关系型数据库的事务操作对应的事务分支。
第九方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收客户端发送的针对非关系型数据库进行事务操作的事务请求,所述事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
向事务协调器发送所述事务ID,以声明本次事务为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
向所述事务协调器发送本次事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
第十方面,提供了另一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
执行对所述非关系型数据库的事务操作,并记录相应的事务日志。
第十一方面,提供了另一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收事务协调器发送的事务分支的提交指示,所述提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;所述提交指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;所述提交指示中包含所述待提交的事务分支的分支ID;
根据所述分支ID,提交所述对非关系型数据库的事务操作对应的事务分支。
第十二方面,提供了另一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收事务协调器发送的事务分支的回滚指示,所述回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;所述回滚指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;所述回滚指示中包含所述待回滚的事务分支的分支ID;
根据所述分支ID,回滚所述对非关系型数据库的事务操作对应的事务分支。
本发明提供的非关系型数据库事务处理方法、装置及电子设备,在现有分布式事务管理系统中,针对非关系型数据库的资源管理,提供了一种满足2PC模式的事务管理方案,即在接收到客户端发送的事务请求后,从事务协调器获取本事务分支对应的分支ID,然后根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;向事务协调器发送本次事务分支执行成功或失败的分支状态信息,以等待事务协调器指示对本事务分支进行提交或回滚,并根据事务日志执行相应操作,从而使非关系型数据库也能够满足分布式事务的管理操作,进而使跨多种异构数据存储资源的分布式事务控制方案成为可能。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的非关系型数据库事务处理的系统结构图;
图2为本发明实施例的非关系型数据库事务处理的逻辑示意图一;
图3为本发明实施例的非关系型数据库事务处理的逻辑示意图二;
图4为本发明实施例的非关系型数据库事务处理的逻辑示意图三;
图5a为本发明实施例的非关系型数据库事务处理方法流程图一;
图5b为本发明实施例的非关系型数据库事务处理方法流程图二;
图6为本发明实施例的非关系型数据库事务处理方法流程图三;
图7为本发明实施例的非关系型数据库事务处理方法流程图四;
图8a为本发明实施例的非关系型数据库事务处理装置结构图一;
图8b为本发明实施例的非关系型数据库事务处理装置结构图二;
图9为本发明实施例的非关系型数据库事务处理装置结构图三;
图10为本发明实施例的非关系型数据库事务处理装置结构图四;
图11为本发明实施例的电子设备的结构示意图一;
图12为本发明实施例的电子设备的结构示意图二;
图13为本发明实施例的电子设备的结构示意图三;
图14为本发明实施例的电子设备的结构示意图四。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在阐述本方案实施例之前,先对方案中涉及的相关概念进行解释:
关系型数据库:关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示,
非关系型数据库:例如NoSql数据库是一种非关系型数据库模型,其数据按照键值对(Key-Value)的形式进行组织、索引和存储。
事务:由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
事务发起者:简称发起者,指发起事务消息的服务。
分布式事务:涉及来自两个或多个源的数据操作资源的事务。
全局事务:是由资源管理器管理和协调的事务,可以跨越多个数据库和进程。在一个全局事务中所涉及的每一个事务分支称之为一个分支事务。
XA协议:由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务协调器的接口标准。XA规范主要定义了事务管理器(Transaction Manager)和局部资源管理器(Local Resource Manager)之间的接口,并采用两阶段提交方式来管理分布事务,第一阶段是表决阶段,是所有参与者,即执行各分支事务的资源管理器都将本事务能否成功的反馈发给协调者,即事务管理器;第二阶段是执行阶段,协调者根据所有参与者的反馈,通知所有参与者,步调一致地在所有分支上提交,或者在所有分支上回滚。每个参与者进行本地操作时,都会进行数据库锁竞争,只有先获得锁才能够参与两阶段操作,否则直接报告事务分支失败。
现有的分布式事务模型中包含事务的发起者、资源管理器、事务协调器三个角色。发起者向事务协调器申请、汇报分布式事务的状态,承担分布式事务边界控制,并向资源管理器发起调用指令;资源管理器承担具体的业务操作,并将业务操作的状态汇报给事务协调器;事务协调器负责整个分布式事务状态管理、推进分布式事务完成。
但是,由于非关系型数据库不支持上述分布式事务模式,因此对于大量存在关系型数据库、NoSql数据库产品混用的场景,仅仅有一些关系型数据库支持了XA协议,针对选用了NoSql数据库的场景缺乏有效的处理手段,无法满足业务要求。
因此,本申请提供了一种针对NoSql数据库的分布式事务的资源管理器,能够和分布式的事务协调器、针对关系数据库的资源管理器配合,实现业务链路级别的、跨多种异构数据存储资源的分布式事务控制。
如图1所示,为本发明实施例提供的非关系型数据库事务处理的系统结构图,包括:发起者110、非关系型数据库资源管理器120、事务协调器130和关系型数据库资源管理器140(可选的)。其中,发起者110、事务协调器130和关系型数据库资源管理器140的作用和功能已在前面内容中进行了介绍,这里重点介绍非关系型数据库资源管理器。
非关系型数据库资源管理器(以下内容中的“资源管理器”如果没有特殊说明,均指非关系型数据库资源管理器)在一个完整的分布式事务模型中需要面临解决两方面问题,一方面是要对发起者发起的事务内容进行解读,即理解操作语句,并依据操作语句对非关系型数据库执行事务操作;另一方面是要对事务操作进行记录生成事务日志,以便后期事务协调器需要其提交或回滚事务分支时,有操作记录可参照。针对第一方面,本发明中,预先对非关系型数据库涉及的各种操作语句进行线下学习和理解,并将解析操作语句的规则设置在资源管理器中,以使得资源管理器能够解析出发起者所发起的事务的具体操作内容。
本发明提供的分布式事务模型中,发起者首先向事务协调器发出开启分布式事务的通知,并向各资源管理器(包括非关系型数据库资源管理器)发起事务,资源管理器接到事务操作指令后,向事务协调器开启注册一个事务分支;资源管理器对发起者发起的事务进行内容解析,并根据解析结果执行事务操作,同时记录相应的事务日志;资源管理器向事务协调器提交事务分支的状态信息,并根据事务协调器的指示,提交或回滚本次事务操作对应的事务分支。发起者根据所发起事务的执行结果,向事务协调器发出完成或未完成分布式事务的结果。从上述过程可知,资源管理器作为执行主体,在整个分布式事务模型中涉及三个操作过程,分别是事务分支的执行和状态信息提交过程,和事务分支的提交/回滚过程。这两个过程顺次对应2PC的两个阶段。以下将分别对这两个过程的逻辑进行详细说明。
如图2所示,为本发明实施例提供的非关系型数据库事务处理的逻辑示意图一,该处理逻辑对应于2PC阶段的第一个阶段。
如图2所示,首先,资源管理接到发起者发起的事务后,会向事务协调器开启一个事务分支,并获取该事务分支对应的分支ID;其次,资源管理会在本地执行以下操作:
1、利用获取的分支ID对当前的待处理事务进行本地注册,以对该事务分支进行标识;
2、根据预先对非关系型数据库操作语句的学习,对当前发起的事务中的操作语句进行解析,以得到相应的操作内容;
3、根据解析出的操作内容对非关系型数据库执行事务操作并记录事务日志到数据库中。
最后,资源管理器将本地执行事务分支的操作成功或失败的分支状态信息发送给事务协调器,以等待事务协调器下发的针对该事务分支的提交会回滚的应答。
至此,资源管理器对事务分支的执行和状态信息提交过程结束。
如图3所示,为本发明实施例提供的非关系型数据库事务处理的逻辑示意图二,该处理逻辑对应于2PC阶段的第二个阶段(事务提交)。
如图3所示,首先,资源管理接到事务协调器发发送的提交事务分支指示后,将之前存储在非关系型数据库中的执行该事务分支过程中所产生的事务日志删除;然后,向事务协调器返回分支事务已提交的状信息,从而完成事务提交过程。
如图4所示,为本发明实施例提供的非关系型数据库事务处理的逻辑示意图三,该处理逻辑对应于2PC阶段的第二个阶段(事务回滚)。
如图4所示,首先,资源管理接到事务协调器发发送的回滚事务分支指示后,根据该事务分支的ID,在非关系型数据库中查找相应的事务日志;然后,对该日志中记录的数据与事务操作后的数据库中的数据进行比较检查,如果数据一致则表明数据没有发生脏写,此时可根据事务日志对数据进行回滚;数据回滚后,将之前存储在非关系型数据库中的执行该事务分支过程中所产生的事务日志删除;最后,向事务协调器返回分支事务已回滚的状信息,从而完成事务回滚过程。
本发明实施例提供的非关系型数据库事务处理的系统,针对非关系型数据库增设了资源管理器,且该资源管理器在实现2PC的分布式事务操作中,生成事务日志;同时,对现有的XA两阶段协议进行改造,兼容并扩展了非关系型数据库的操作接口,利用线下对非关系型数据库的操作语言的学习,使其能够感知并托管分布式事务内的非关系型数据库操作,从而使非关系型数据库也能够满足分布式事务的管理操作,进而使跨多种异构数据存储资源的分布式事务控制方案成为可能。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述非关系型数据库事务处理的方案思想,如图5a所示,其为本发明实施例示出的非关系型数据库事务处理方法流程图一,该方法的执行主为图1或图2中所示的非关系型数据库资源管理器,其主要涉及了非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程。如图5a所示,该非关系型数据库事务处理方法包括如下步骤:
S510,接收客户端发送的针对非关系型数据库进行事务操作的事务请求,该事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;其中,所述的客户端即为图1中的事务的发起者。
客户端欲发起一个分布式事务,会先向事务协调器声明开启分布式事务,然后从事务协调器获取一个全局事务的事务ID,以在整个分布式事务操作中对本次分布式事务进行标识。客户端向本次全局事务涉及的各个数据库的资源管理器发起相应的事务请求,各事务请求中会携带各事务所属的全局事务的事务ID,以使各资源管理器根据事务请求执行相应的事务操作。
其中,非关系型数据库资源管理器也会接收到客户端发送的针对非关系型数据库进行事务操作的事务请求。该事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID。
S520,向事务协调器发送事务ID,以声明本次事务为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;
资源管理器接收到客户端发送的业务请求后,从业务请求中提取出上述事务ID,并发送至事务协调器,以向事务协调器中注册自己,声明本次事务为上述全局事务中的一个事务分支。事务协调器收到该事务ID后,给该事务分支分配一个分支ID,以标识该事务分支所属于上述全局事务,并将分支ID返回给资源管理器。资源管理器接到该分支ID后,将其作为当前事务分支的标识在本地进行注册。
S530,根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
本发明中对现有发起者向非关系型数据库发起业务请求中的操作语句(操作内容)没有做修改,而是在资源管理器中预先设置了能过解读这些操作语句的规则,这些规则是预先对非关系型数据库的操作语句进行线下学习后获得。因此,本方案中客户端仍可将原来的发给非关系型数据库的操作语句作为业务请求直接发给资源管理器。
资源管理器根据预设的理解规则对这些操作语句进行内容解析,以获得相应的事务操作内容。资源管理器依据解析出的事务操作内容对非关系型数据库执行事务操作,并将相应产生的操作日志记录为相应的事务日志。
S540,向事务协调器发送本次事务分支执行成功或失败的分支状态信息,该分支状态信息中包括本次事务分支对应的分支ID。
具体地,在上述各步骤全部正常完成的情况下,资源管理器会向事务协调器发送本次事务分支执行成功的分支状态信息;在上述步骤任一阶段发生异常时,资源管理器会向事务协调器发送本次事务分支执行失败的分支状态信息。
至此,资源管理器在针对非关系型数据库的2PC的分布式事务工作流程中的第一阶段执行完成。
进一步地,上述的非关系型数据库可以包括键值(Key-Value)存储数据库,也被称为KV数据库。
相应的,上述步骤S530的一种具体实现方式中,可包括如下步骤:
1、根据预先对键值存储数据库的操作语句的学习,对本次事务分支的操作内容进行解析,得到操作内容指定的主键名和主键值;
例如,预先对键值存储数据库的操作语句中的语法、关键字符的含义和特征进行学习,提取出能够从操作语句中识别主键名和主键值的规则。然后,基于这种规则,对本次事务分支的操作内容进行解析,得到操作内容指定的主键名和主键值。
2、依据解析得到的主键名和主键值,对键值存储数据库进行键值操作;
例如,依据分析得到的主键名和主键值,从键值存储数据库中查找到该主键名,并将相应的主键值修改为当前事务操作所指定的主键值。
3、将本次事务分支的操作内容所指定的主键值、主键名以及分支ID关联写入到键值存储数据库中,以作为记录本次事务分支的事务日志。
由于对非关系型数据库进行的数据操作,相应的会产生日志数据,资源管理器将日志数据中涉及的主键值、主键名以及本次事务的分支ID关联写入到键值存储数据库中,以作为记录本次事务分支的事务日志。其中,涉及的主键值可包括事务操作前后的两个主键值。
本发明实施例非关系型数据库事务处理方法,资源管理器在接收到客户端发送的针对非关系型数据库进行事务操作的事务请求后,先向事务协调器声明本次事务为全局事务中的一个事务分支;然后,根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;最后,向事务协调器发送本次事务分支执行成功或失败的分支状态信息,以等待事务协调器针对本次事务分支发送的提交或回滚指示。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程。
实施例二
基于上述非关系型数据库事务处理的方案思想,如图5b所示,其为本发明实施例示出的非关系型数据库事务处理方法流程图二,该方法的执行主为图1或图2中所示的非关系型数据库资源管理器,其主要涉及了非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程。如图5b所示,该非关系型数据库事务处理方法包括如下步骤:
S550,在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明非关系型数据库的事物操作为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;
通常,客户端欲发起一个分布式事务,会先向事务协调器声明开启分布式事务,然后从事务协调器获取一个全局事务的事务ID,以在整个分布式事务操作中对本次分布式事务进行标识。客户端向本次全局事务涉及的各个数据库的资源管理器发起相应的事务请求,各事务请求中会携带各事务所属的全局事务的事务ID,以使各资源管理器根据事务请求执行相应的事务操作。
其中,非关系型数据库资源管理器也会接收到客户端发送的针对非关系型数据库进行事务操作的事务请求。该事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID。
资源管理器接收到客户端发送的业务请求后,从业务请求中提取出上述事务ID,并发送至事务协调器,以向事务协调器中注册自己,声明本次事务为上述全局事务中的一个事务分支。事务协调器收到该事务ID后,给该事务分支分配一个分支ID,以标识该事务分支所属于上述全局事务,并将分支ID返回给资源管理器。资源管理器接到该分支ID后,将其作为当前事务分支的标识在本地进行注册。
具体地,在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,非关系型数据库资源管理器也可向事务协调器声明非关系型数据库的事物操作为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID。
S560,执行对非关系型数据库的事务操作,并记录相应的事务日志。
非关系型数据库资源管理器在得到当前待执行事务分支的分支ID后,将对本次非关系型数据库的事务操作作为全局事务的一个事务分支进行执行操作,并且为了实现后期分支事务的递交或者回滚,将本次事务操作的内容,以事务日志的形式进行记录。
进一步地,为了使非关系型数据库的事务操作统一由资源管理器进行管理,可以预先对非关系型数据库的操作语句进行学习,得到每个操作语言及其对应具体操作内容之间的对应的学习方法。
然后,在执行对非关系型数据库的事务操作时,即可以根据预先得到的学习方法,对本次非关系型数据库的操作事务分支的操作内容进行解析,得到资源管理器可以执行的解析结果,然后资源管理器依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志。
进一步地,在资源管理器执行完针对非关系型数据库的事务操作后,还可向事务协调器发送非关系型数据库的操作事务分支执行成功或失败的分支状态信息,该分支状态信息中包括本次事务分支对应的分支ID,以使得事务协调器决断是否要对各事务分支进行提交或回滚。
本发明实施例非关系型数据库事务处理方法,资源管理器在处理包含针对非关系型数据库进行事物操作的全局事务的过程中,向事务协调器声明非关系型数据库的事物操作为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;然后将非关系型数据库的事物作为全局事务的一个事务分支进行操作,并记录相应的事务日志。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程。
实施例三
基于上述非关系型数据库事务处理的方案思想,如图6所示,其为本发明实施例示出的非关系型数据库事务处理方法流程图二,该方法的执行主为图1或图2中所示的非关系型数据库资源管理器,其主要涉及了非关系型数据库在分布式事务操作模式中的2PC阶段的第二阶段(事务提交)的处理流程。如图6所示,该非关系型数据库事务处理方法包括如下步骤:
S610,接收事务协调器发送的事务分支的提交指示,该提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;提交指示为事务协调器在接收到待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;提交指示中包含待提交的事务分支的分支ID;
涉及非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程可参见实施例一所示的内容。本实施例是在实施例一的基础上,进行后续步骤的延伸。
具体地,如果对非关系型数据库的事务操作对应的事务分支所属的全局事务中,各个事务分支均被执行完成,且其对应的执行操作的资源管理器均向事务协调器发送了执行成功的分支状态消息,则事务协调器在2PC的第一阶段结束后,会向各数据库对应的资源管理器发送事务分支提交指示,以指示各资源管理器对其管理操作的事务分支进行提交。
S620,根据分支ID,提交对非关系型数据库的事务操作对应的事务分支。
资源管理器接收到事务协调器发送的事务分支的提交指示后,依据提交指示中的分支ID找到在本次注册的事务分支,并将该事务分支在数据库中提交。
进一步地,上述的非关系型数据库可以包括键值(Key-Value)存储数据库,也被称为KV数据库。
相应的,上述步骤S620的一种具体实现方式中,可包括如下步骤:
资源管理器根据分支ID,从键值存储数据库中查找针对事务分支所产生的事务日志,并删除;该事务日志包括:关联存储的本次事务分支的操作内容所指定的主键名、主键值以及分支ID。事务提交后,事务数据不可再修改。
本发明实施例非关系型数据库事务处理方法,资源管理器在接收到事务协调器发送的对非关系型数据库的事务操作对应的事务分支的提交指示后,对本次事务分支进行提交。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第二阶段(事务提交)的处理流程。
实施例四
基于上述非关系型数据库事务处理的方案思想,如图7所示,其为本发明实施例示出的非关系型数据库事务处理方法流程图三,该方法的执行主为图1或图2中所示的非关系型数据库资源管理器,其主要涉及了非关系型数据库在分布式事务操作模式中的2PC阶段的第二阶段(事务回滚)的处理流程。如图7所示,该非关系型数据库事务处理方法包括如下步骤:
S710,接收事务协调器发送的事务分支的回滚指示,该回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;回滚指示为事务协调器在接收到待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;回滚指示中包含待回滚的事务分支的分支ID;
涉及非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程可参见实施例一所示的内容。本实施例是在实施例一的基础上,进行后续步骤的延伸。
具体地,如果对非关系型数据库的事务操作对应的事务分支所属的全局事务中,至少一个事务分支未被执行完成,且其对应的执行操作的资源管理器向事务协调器发送了执行失败的分支状态消息,则事务协调器在2PC的第一阶段结束后,会向各数据库对应的资源管理器发送事务分支回滚指示,以指示各资源管理器对其管理操作的事务分支进行回滚。
S720,根据分支ID,回滚对非关系型数据库的事务操作对应的事务分支。
资源管理器接收到事务协调器发送的事务分支的回滚指示后,依据回滚指示中的分支ID找到在本次注册的事务分支,并将该事务分支在数据库中回滚。
进一步地,上述的非关系型数据库可以包括键值(Key-Value)存储数据库,也被称为KV数据库。
相应的,上述步骤S720的一种具体实现方式中,可包括如下步骤:
根据分支ID,从键值存储数据库中查找针对事务分支所产生的事务日志;该事务日志包括:关联存储的本次事务分支的操作内容所指定的主键值、主键名以及分支ID;
根据事务日志中记载的主键名,将该主键名对应的主键值操作设置为失效,并删除本次事务分支对应的事务日志。设置失效后,当前主键名的主键值就会回滚到上一次设置的结果状态。
进一步地,在根据分支ID,从键值存储数据库中查找针对事务分支所产生的事务日志之后可先执行如下操作:
判断事务日志中的主键值与当前键值存储数据库中同一主键名对应的主键值是否一致,如果一致,则再执行根据事务日志中记载的主键名,将该主键名对应的主键值操作设置为失效,并删除本次事务分支对应的事务日志的操作。
例如,事务日志中记载的内容为将A(主键名)=5(主键值)设置为A(主键名)=3(主键值),则当前数据库中记载的数据应该是A=3。如果当前数据库中记载的数据不是A=3,而是其他值,如A=4,则判断事务日志中的主键值与当前键值存储数据库中同一主键名对应的主键值不一致。只要在判断结果为一致的情况下,才继续执行后续步骤。
通过上述判断过程,可以识别数据库中的该主键名对应的主键值是否被脏写,如果被脏写(数据不一致),则需要通知管理人员进行人工处理,以保证数据的正确性。
本发明实施例非关系型数据库事务处理方法,资源管理器在接收到事务协调器发送的对非关系型数据库的事务操作对应的事务分支的回滚指示后,对本次事务分支进行回滚。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第二阶段(事务回滚)的处理流程。
实施例五
如图8a所示,为本发明实施例的非关系型数据库事务处理装置结构图一,该非关系型数据库事务处理装置可用于执行如图5a所示的方法步骤,其包括:
事务请求接收模块810,用于接收客户端发送的针对非关系型数据库进行事务操作的事务请求,该事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
第一事务分支声明模块820,用于向事务协调器发送事务ID,以声明本次事务为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;
第一事务分支处理模块830,用于根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
第一事务状态提交模块840,用于向事务协调器发送本次事务分支执行成功或失败的分支状态信息,分支状态信息中包括本次事务分支对应的分支ID。
进一步地,上述非关系型数据库可包括键值存储数据库;
相应的,第一事务分支处理模块830具体可用于,
根据预先对键值存储数据库的操作语句的学习,对本次事务分支的操作内容进行解析,得到操作内容指定的主键名和主键值;
依据解析得到的主键名和主键值,对键值存储数据库进行键值操作;
将本次事务分支的操作内容所指定的主键名、主键值以及分支ID关联写入到键值存储数据库中,以作为记录本次事务分支的事务日志。
本发明实施例非关系型数据库事务处理装置,在接收到客户端发送的针对非关系型数据库进行事务操作的事务请求后,先向事务协调器声明本次事务为全局事务中的一个事务分支;然后,根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;最后,向事务协调器发送本次事务分支执行成功或失败的分支状态信息,以等待事务协调器针对本次事务分支发送的提交或回滚指示。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程。
实施例六
如图8b所示,为本发明实施例的非关系型数据库事务处理装置结构图二,该非关系型数据库事务处理装置可用于执行如图5b所示的方法步骤,其包括:
第二事务分支声明模块850,用于在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明非关系型数据库的事物操作为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;
第二事务分支处理模块860,用于执行对非关系型数据库的事务操作,并记录相应的事务日志。
进一步地,图8b所述装置中还可包括:
语句学习模块,用于预先对非关系型数据库的操作语句进行学习,得到学习方法;
所述第二事务分支处理模块860,用于根据上述学习方法,对本次非关系型数据库的操作事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志。
进一步地,图8b所述装置中还可包括:
第二事务状态提交模块,用于向事务协调器发送非关系型数据库的操作事务分支执行成功或失败的分支状态信息,该分支状态信息中包括本次事务分支对应的分支ID。
本发明实施例非关系型数据库事务处理装置,在处理包含针对非关系型数据库进行事物操作的全局事务的过程中,向事务协调器声明非关系型数据库的事物操作为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;然后将非关系型数据库的事物作为全局事务的一个事务分支进行操作,并记录相应的事务日志。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第一阶段的处理流程。
实施例七
如图9所示,为本发明实施例的非关系型数据库事务处理装置结构图二,该非关系型数据库事务处理装置可用于执行如图6所示的方法步骤,其包括:
提交指示接收模块910,用于接收事务协调器发送的事务分支的提交指示,该提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;提交指示为事务协调器在接收到待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;提交指示中包含待提交的事务分支的分支ID;
事务分支提交模块920,用于根据分支ID,提交对非关系型数据库的事务操作对应的事务分支。
进一步地,上述非关系型数据库可包括键值存储数据库;
相应的,上述事务分支提交模块920可具体用于,
根据分支ID,从键值存储数据库中查找针对事务分支所产生的事务日志,并删除;事务日志包括:关联存储的本次事务分支的操作内容所指定的主键名、主键值以及分支ID。
本发明实施例非关系型数据库事务处理装置,在接收到事务协调器发送的对非关系型数据库的事务操作对应的事务分支的提交指示后,对本次事务分支进行提交。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第二阶段(事务提交)的处理流程。
实施例八
如图10所示,为本发明实施例的非关系型数据库事务处理装置结构图三,该非关系型数据库事务处理装置可用于执行如图7所示的方法步骤,其包括:
回滚指示接收模块101,用于接收事务协调器发送的事务分支的回滚指示,该回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;回滚指示为事务协调器在接收到待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;回滚指示中包含待回滚的事务分支的分支ID;
事务分支回滚模块102,用于根据分支ID,回滚对非关系型数据库的事务操作对应的事务分支。
进一步地,上述非关系型数据库可包括键值存储数据库;
相应的,上述事务分支回滚模块102具体可用于,
根据分支ID,从键值存储数据库中查找针对事务分支所产生的事务日志;事务日志包括:关联存储的本次事务分支的操作内容所指定的主键值、主键名以及分支ID;
根据事务日志中记载的主键名,将该主键名对应的主键值操作设置为失效,并删除本次事务分支对应的事务日志。
进一步地,上述事务分支回滚模块12在根据分支ID,从键值存储数据库中查找针对事务分支所产生的事务日志之后还可用于,
判断事务日志中的主键值与当前键值存储数据库中同一主键名对应的主键值是否一致,如果一致,则执行所述根据事务日志中记载的主键名,将该主键名对应的主键值操作设置为失效,并删除本次事务分支对应的事务日志的操作。
本发明实施例非关系型数据库事务处理装置,在接收到事务协调器发送的对非关系型数据库的事务操作对应的事务分支的回滚指示后,对本次事务分支进行回滚。本方案实现了非关系型数据库在分布式事务操作模式中的2PC阶段的第二阶段(事务回滚)的处理流程。
实施例九
前面实施例五描述了非关系型数据库事务处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图11所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器111和处理器112。
存储器111,用于存储程序。
除上述程序之外,存储器111还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器111可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器112,耦合至存储器111,用于执行存储器111中的程序,以用于:
接收客户端发送的针对非关系型数据库进行事务操作的事务请求,事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
向事务协调器发送所述事务ID,以声明本次事务为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;
根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
向事务协调器发送本次事务分支执行成功或失败的分支状态信息,分支状态信息中包括本次事务分支对应的分支ID。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图11所示,电子设备还可以包括:通信组件113、电源组件114、音频组件115、显示器116等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备只包括图11所示组件。
通信组件113被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件113经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件113还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件114,为电子设备的各种组件提供电力。电源组件114可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件115被配置为输出和/或输入音频信号。例如,音频组件115包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器111或经由通信组件113发送。在一些实施例中,音频组件115还包括一个扬声器,用于输出音频信号。
显示器116包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例十
前面实施例六描述了非关系型数据库事务处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图12所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器121和处理器122。
存储器121,用于存储程序。
除上述程序之外,存储器121还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器121可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器122,耦合至存储器121,用于执行存储器121中的程序,以用于:
在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为全局事务中的一个事务分支,并从事务协调器获取该事务分支的分支ID;
执行对非关系型数据库的事务操作,并记录相应的事务日志。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图12所示,电子设备还可以包括:通信组件123、电源组件124、音频组件125、显示器126等其它组件。图12中仅示意性给出部分组件,并不意味着电子设备只包括图12所示组件。
通信组件123被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件123经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件123还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件124,为电子设备的各种组件提供电力。电源组件124可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件125被配置为输出和/或输入音频信号。例如,音频组件125包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器121或经由通信组件123发送。在一些实施例中,音频组件125还包括一个扬声器,用于输出音频信号。
显示器126包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例十一
前面描述了非关系型数据库事务处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图13所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器131和处理器132。
存储器131,用于存储程序。
除上述程序之外,存储器131还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器131可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器132,耦合至存储器131,用于执行存储器131中的程序,以用于:
接收事务协调器发送的事务分支的提交指示,提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;提交指示为事务协调器在接收到待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;提交指示中包含待提交的事务分支的分支ID;
根据分支ID,提交对非关系型数据库的事务操作对应的事务分支。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图13所示,电子设备还可以包括:通信组件133、电源组件134、音频组件135、显示器136等其它组件。图13中仅示意性给出部分组件,并不意味着电子设备只包括图13所示组件。
通信组件133被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件133经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件133还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件134,为电子设备的各种组件提供电力。电源组件134可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件135被配置为输出和/或输入音频信号。例如,音频组件135包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器131或经由通信组件133发送。在一些实施例中,音频组件135还包括一个扬声器,用于输出音频信号。
显示器136包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例十二
前面描述了非关系型数据库事务处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图14所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器141和处理器142。
存储器141,用于存储程序。
除上述程序之外,存储器141还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器141可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器142,耦合至存储器141,用于执行存储器141中的程序,以用于:
接收事务协调器发送的事务分支的回滚指示,回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;回滚指示为事务协调器在接收到待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;回滚指示中包含待回滚的事务分支的分支ID;
根据分支ID,回滚对非关系型数据库的事务操作对应的事务分支。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图14所示,电子设备还可以包括:通信组件143、电源组件144、音频组件145、显示器146等其它组件。图14中仅示意性给出部分组件,并不意味着电子设备只包括图14所示组件。
通信组件143被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件143经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件143还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件144,为电子设备的各种组件提供电力。电源组件144可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件145被配置为输出和/或输入音频信号。例如,音频组件145包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器141或经由通信组件143发送。在一些实施例中,音频组件145还包括一个扬声器,用于输出音频信号。
显示器146包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (18)
1.一种非关系型数据库事务处理方法,其特征在于,包括:
接收客户端发送的针对非关系型数据库进行事务操作的事务请求,所述事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
向事务协调器发送所述事务ID,以声明本次事务为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
向所述事务协调器发送本次事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
2.根据权利要求1所述的方法,其特征在于,所述非关系型数据库包括键值存储数据库;
所述根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志包括:
根据预先对键值存储数据库的操作语句的学习,对本次事务分支的操作内容进行解析,得到所述操作内容指定的主键名和主键值;
依据解析得到的所述主键名和所述主键值,对所述键值存储数据库进行键值操作;
将本次事务分支的操作内容所指定的所述主键名、所述主键值以及所述分支ID关联写入到所述键值存储数据库中,以作为记录本次事务分支的所述事务日志。
3.一种非关系型数据库事务处理方法,其特征在于,包括:
在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
执行对所述非关系型数据库的事务操作,并记录相应的事务日志。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
预先对所述非关系型数据库的操作语句进行学习,得到学习方法;
所述执行对所述非关系型数据库的事务操作,并记录相应的事务日志,包括:
根据所述学习方法,对本次所述非关系型数据库的操作事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
向所述事务协调器发送所述非关系型数据库的操作事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
6.一种非关系型数据库事务处理方法,其特征在于,包括:
接收事务协调器发送的事务分支的提交指示,所述提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;所述提交指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;所述提交指示中包含所述待提交的事务分支的分支ID;
根据所述分支ID,提交所述对非关系型数据库的事务操作对应的事务分支。
7.根据权利要求6所述的方法,其特征在于,所述非关系型数据库包括键值存储数据库;
所述根据所述分支ID,提交所述对非关系型数据库的事务操作的事务分支包括:
根据所述分支ID,从所述键值存储数据库中查找针对所述事务分支所产生的事务日志,并删除;所述事务日志包括:关联存储的本次事务分支的操作内容所指定的主键名、主键值以及所述分支ID。
8.一种非关系型数据库事务处理方法,其特征在于,包括:
接收事务协调器发送的事务分支的回滚指示,所述回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;所述回滚指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;所述回滚指示中包含所述待回滚的事务分支的分支ID;
根据所述分支ID,回滚所述对非关系型数据库的事务操作对应的事务分支。
9.根据权利要求8所述的方法,其特征在于,所述非关系型数据库包括键值存储数据库;
所述根据所述分支ID,回滚所述对非关系型数据库的事务操作的事务分支包括:
根据所述分支ID,从所述键值存储数据库中查找针对所述事务分支所产生的事务日志;所述事务日志包括:关联存储的本次事务分支的操作内容所指定的主键值、主键名以及分支ID;
根据所述事务日志中记载的所述主键名,将该主键名对应的主键值操作设置为失效,并删除本次事务分支对应的事务日志。
10.根据权利要求9所述的方法,其特征在于,所述根据所述分支ID,从所述键值存储数据库中查找针对所述事务分支所产生的事务日志之后还包括:
判断所述事务日志中的所述主键值与当前所述键值存储数据库中同一主键名对应的主键值是否一致,如果一致,则执行所述根据所述事务日志中记载的所述主键名,将该主键名对应的主键值操作设置为失效,并删除本次事务分支对应的事务日志的操作。
11.一种非关系型数据库事务处理装置,其特征在于,包括:
事务请求接收模块,用于接收客户端发送的针对非关系型数据库进行事务操作的事务请求,所述事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
第一事务分支声明模块,用于向事务协调器发送所述事务ID,以声明本次事务为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
第一事务分支处理模块,用于根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
第一事务状态提交模块,用于向所述事务协调器发送本次事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
12.一种非关系型数据库事务处理装置,其特征在于,包括:
第二事务分支声明模块,用于在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
第二事务分支处理模块,用于执行对所述非关系型数据库的事务操作,并记录相应的事务日志。
13.一种非关系型数据库事务处理装置,其特征在于,包括:
提交指示接收模块,用于接收事务协调器发送的事务分支的提交指示,所述提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;所述提交指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;所述提交指示中包含所述待提交的事务分支的分支ID;
事务分支提交模块,用于根据所述分支ID,提交所述对非关系型数据库的事务操作对应的事务分支。
14.一种非关系型数据库事务处理装置,其特征在于,包括:
回滚指示接收模块,用于接收事务协调器发送的事务分支的回滚指示,所述回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;所述回滚指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;所述回滚指示中包含所述待回滚的事务分支的分支ID;
事务分支回滚模块,用于根据所述分支ID,回滚所述对非关系型数据库的事务操作对应的事务分支。
15.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收客户端发送的针对非关系型数据库进行事务操作的事务请求,所述事务请求中包括:本次事务的操作内容和本次事务所属的全局事务的事务ID;
向事务协调器发送所述事务ID,以声明本次事务为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
根据预先对非关系型数据库的操作语句的学习,对本次事务分支的操作内容进行解析,并依据解析结果执行对非关系型数据库的事务操作,并记录相应的事务日志;
向所述事务协调器发送本次事务分支执行成功或失败的分支状态信息,所述分支状态信息中包括本次事务分支对应的所述分支ID。
16.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
在包含针对非关系型数据库进行事物操作的全局事务的处理过程中,向事务协调器声明所述非关系型数据库的事物操作为所述全局事务中的一个事务分支,并从所述事务协调器获取该事务分支的分支ID;
执行对所述非关系型数据库的事务操作,并记录相应的事务日志。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收事务协调器发送的事务分支的提交指示,所述提交指示中指定的待提交的事务分支为对非关系型数据库的事务操作对应的事务分支;所述提交指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,各事务分支均执行成功的分支状态消息后发出的;所述提交指示中包含所述待提交的事务分支的分支ID;
根据所述分支ID,提交所述对非关系型数据库的事务操作对应的事务分支。
18.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
接收事务协调器发送的事务分支的回滚指示,所述回滚指示中指定的待回滚的事务分支为对非关系型数据库的事务操作对应的事务分支;所述回滚指示为所述事务协调器在接收到所述待提交的事务分支所在的全局事务中,至少一个事务分支执行失败的分支状态消息后发出的;所述回滚指示中包含所述待回滚的事务分支的分支ID;
根据所述分支ID,回滚所述对非关系型数据库的事务操作对应的事务分支。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807134.8A CN110019443B (zh) | 2017-09-08 | 2017-09-08 | 非关系型数据库事务处理方法、装置及电子设备 |
PCT/CN2018/102921 WO2019047752A1 (zh) | 2017-09-08 | 2018-08-29 | 非关系型数据库事务处理方法、装置及电子设备 |
US16/810,366 US11620277B2 (en) | 2017-09-08 | 2020-03-05 | Transaction processing at non-relational databases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807134.8A CN110019443B (zh) | 2017-09-08 | 2017-09-08 | 非关系型数据库事务处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019443A true CN110019443A (zh) | 2019-07-16 |
CN110019443B CN110019443B (zh) | 2023-08-11 |
Family
ID=65633568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710807134.8A Active CN110019443B (zh) | 2017-09-08 | 2017-09-08 | 非关系型数据库事务处理方法、装置及电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11620277B2 (zh) |
CN (1) | CN110019443B (zh) |
WO (1) | WO2019047752A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471746A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 一种分布式事务回调方法、装置及系统 |
CN111259083A (zh) * | 2020-02-13 | 2020-06-09 | 神州数码融信软件有限公司 | 分布式事务处理方法及装置 |
CN112100188A (zh) * | 2020-09-01 | 2020-12-18 | 上海交通大学 | 基于机器学习的并发控制方法及系统 |
CN112231144A (zh) * | 2020-09-29 | 2021-01-15 | 上海艾融软件股份有限公司 | 一种数据处理方法、装置及电子设备 |
CN113296896A (zh) * | 2020-06-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法、装置及设备 |
WO2021169243A1 (zh) * | 2020-02-29 | 2021-09-02 | 华为技术有限公司 | 分布式事务的处理方法、装置及系统 |
CN113778632A (zh) * | 2021-09-14 | 2021-12-10 | 杭州沃趣科技股份有限公司 | 一种基于cassandra数据库的分布式事务管理方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210129B2 (en) * | 2018-06-14 | 2021-12-28 | International Business Machines Corporation | Extended architecture as a service to integrate resource and transaction managers |
US11138182B2 (en) * | 2018-11-28 | 2021-10-05 | Salesforce.Com, Inc. | Compensating data corruption causing actions at runtime |
US11741134B2 (en) | 2021-09-07 | 2023-08-29 | Oracle International Corporation | Conversion and migration of key-value store to relational model |
US11663189B1 (en) | 2021-12-01 | 2023-05-30 | Oracle International Corporation | Generating relational table structures from NoSQL datastore and migrating data |
CN115729946A (zh) * | 2022-11-24 | 2023-03-03 | 中电金信软件(上海)有限公司 | 一种处理分布式事务的方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN103514028A (zh) * | 2012-06-14 | 2014-01-15 | 北京新媒传信科技有限公司 | 一种处理分布式事务的方法和装置 |
CN106156119A (zh) * | 2015-04-07 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种分布式事务通信方法、系统及装置 |
CN106255956A (zh) * | 2014-04-28 | 2016-12-21 | 甲骨文国际公司 | 基于事务环境中的资源管理器实例感知支持公共事务标识符优化和事务亲密度的系统和方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1183841A (zh) | 1995-02-13 | 1998-06-03 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
EP1015997A4 (en) | 1997-02-28 | 2006-03-29 | Siebel Systems Inc | PARTLY REPLICATED DISTRIBUTED DATABASE WITH MULTIPLE LEVELS FROM REMOTE CLIENTS |
US7685183B2 (en) | 2000-09-01 | 2010-03-23 | OP40, Inc | System and method for synchronizing assets on multi-tiered networks |
US7257605B2 (en) * | 2004-02-09 | 2007-08-14 | International Busniess Machines Corporation | System for heterogeneous distributed transaction management in database systems |
US7469248B2 (en) | 2005-05-17 | 2008-12-23 | International Business Machines Corporation | Common interface to access catalog information from heterogeneous databases |
US8001246B2 (en) | 2007-05-22 | 2011-08-16 | Oracle International Corporation | System and method for exposing distributed transaction services as web services |
US8650155B2 (en) | 2008-02-26 | 2014-02-11 | Oracle International Corporation | Apparatus and method for log based replication of distributed transactions using globally acknowledged commits |
US8463669B2 (en) | 2009-01-09 | 2013-06-11 | Ganart Technologies, Inc. | System for providing goods and services based on accrued but unpaid earnings |
GB2472620B (en) | 2009-08-12 | 2016-05-18 | Cloudtran Inc | Distributed transaction processing |
US8938533B1 (en) | 2009-09-10 | 2015-01-20 | AppDynamics Inc. | Automatic capture of diagnostic data based on transaction behavior learning |
US8447754B2 (en) | 2010-04-19 | 2013-05-21 | Salesforce.Com, Inc. | Methods and systems for optimizing queries in a multi-tenant store |
US9009182B2 (en) | 2010-10-05 | 2015-04-14 | Sap Se | Distributed transaction management with tokens |
US8442962B2 (en) | 2010-12-28 | 2013-05-14 | Sap Ag | Distributed transaction management using two-phase commit optimization |
US8924346B2 (en) * | 2011-09-09 | 2014-12-30 | Oracle International Corporation | Idempotence for database transactions |
GB2494867A (en) | 2011-09-19 | 2013-03-27 | Cloudtran Inc | Scalable distributed transaction processing method |
US10169446B1 (en) * | 2012-09-10 | 2019-01-01 | Amazon Technologies, Inc. | Relational modeler and renderer for non-relational data |
CN103412897B (zh) * | 2013-07-25 | 2017-03-01 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
US9613078B2 (en) * | 2014-06-26 | 2017-04-04 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
US9323569B2 (en) | 2014-09-10 | 2016-04-26 | Amazon Technologies, Inc. | Scalable log-based transaction management |
CN106033437B (zh) * | 2015-03-13 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 一种分布式事务处理方法及系统 |
CN104834557B (zh) * | 2015-05-18 | 2018-05-22 | 成都博元科技有限公司 | 一种基于Hadoop的数据分析方法 |
US11321299B2 (en) * | 2016-02-01 | 2022-05-03 | Verizon Patent And Licensing Inc. | Scalable conflict detection in transaction management |
-
2017
- 2017-09-08 CN CN201710807134.8A patent/CN110019443B/zh active Active
-
2018
- 2018-08-29 WO PCT/CN2018/102921 patent/WO2019047752A1/zh active Application Filing
-
2020
- 2020-03-05 US US16/810,366 patent/US11620277B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103514028A (zh) * | 2012-06-14 | 2014-01-15 | 北京新媒传信科技有限公司 | 一种处理分布式事务的方法和装置 |
CN102831156A (zh) * | 2012-06-29 | 2012-12-19 | 浙江大学 | 一种云计算平台上的分布式事务处理方法 |
CN106255956A (zh) * | 2014-04-28 | 2016-12-21 | 甲骨文国际公司 | 基于事务环境中的资源管理器实例感知支持公共事务标识符优化和事务亲密度的系统和方法 |
CN106156119A (zh) * | 2015-04-07 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种分布式事务通信方法、系统及装置 |
Non-Patent Citations (1)
Title |
---|
李小龙: "分布式数据库事务支持", 中国优秀硕士学位论文全文数据库 信息科技辑 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110471746A (zh) * | 2019-08-22 | 2019-11-19 | 中国工商银行股份有限公司 | 一种分布式事务回调方法、装置及系统 |
CN111259083A (zh) * | 2020-02-13 | 2020-06-09 | 神州数码融信软件有限公司 | 分布式事务处理方法及装置 |
WO2021169243A1 (zh) * | 2020-02-29 | 2021-09-02 | 华为技术有限公司 | 分布式事务的处理方法、装置及系统 |
CN113296896A (zh) * | 2020-06-09 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法、装置及设备 |
CN113296896B (zh) * | 2020-06-09 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法、装置及设备 |
CN112100188A (zh) * | 2020-09-01 | 2020-12-18 | 上海交通大学 | 基于机器学习的并发控制方法及系统 |
CN112231144A (zh) * | 2020-09-29 | 2021-01-15 | 上海艾融软件股份有限公司 | 一种数据处理方法、装置及电子设备 |
CN113778632A (zh) * | 2021-09-14 | 2021-12-10 | 杭州沃趣科技股份有限公司 | 一种基于cassandra数据库的分布式事务管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110019443B (zh) | 2023-08-11 |
WO2019047752A1 (zh) | 2019-03-14 |
US20200272620A1 (en) | 2020-08-27 |
US11620277B2 (en) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019443A (zh) | 非关系型数据库事务处理方法、装置及电子设备 | |
CN107437222B (zh) | 基于银行柜面前端的联机业务数据的处理方法及系统 | |
CN109671438A (zh) | 一种利用语音提供辅助服务的装置及方法 | |
US10297255B2 (en) | Data processing system with machine learning engine to provide automated collaboration assistance functions | |
US11126938B2 (en) | Targeted data element detection for crowd sourced projects with machine learning | |
US20180211223A1 (en) | Data Processing System with Machine Learning Engine to Provide Automated Collaboration Assistance Functions | |
CN111400465B (zh) | 客服机器人的生成方法、装置、电子设备及介质 | |
CN109416690A (zh) | 用于对话期间的任务状态跟踪的策略创作 | |
CN111897890B (zh) | 金融业务处理方法及装置 | |
CN109299909A (zh) | 一种组织架构管理装置和方法 | |
Nasab et al. | A delphi study of the important factors for BI system implementation in the public sector organizations | |
CN107832448A (zh) | 数据库操作方法、装置及设备 | |
US10972297B2 (en) | Data processing system with machine learning engine to provide automated collaboration assistance functions | |
CN110198327A (zh) | 一种数据传输方法及相关设备 | |
CN105335466A (zh) | 一种音频数据的检索方法与装置 | |
JP2019121093A (ja) | 情報生成システム、情報生成方法、情報処理装置、プログラム、端末装置 | |
AU2023203316A1 (en) | A system and method for generating producer data and for planning based thereon | |
CN109118151B (zh) | 一种工单事务处理方法及工单事务处理系统 | |
CN110647421B (zh) | 数据库处理方法、装置、系统以及电子设备 | |
CN108092786B (zh) | 无纸化会议管理方法及系统 | |
CN109165929A (zh) | 一种个人事件记录器和记录方法 | |
CN115794545A (zh) | 运维数据的自动化处理方法及其相关设备 | |
CN112333116B (zh) | 一种oa系统集成的混合云运维协作平台及方法 | |
CN111290805B (zh) | 一种聚合功能快捷调用方法及系统 | |
Griffiths et al. | Developing a global perspective on drug consumption patterns and trends—the challenge for drug epidemiology |
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 |