CN110825758B - 一种交易处理的方法及装置 - Google Patents
一种交易处理的方法及装置 Download PDFInfo
- Publication number
- CN110825758B CN110825758B CN201911055909.6A CN201911055909A CN110825758B CN 110825758 B CN110825758 B CN 110825758B CN 201911055909 A CN201911055909 A CN 201911055909A CN 110825758 B CN110825758 B CN 110825758B
- Authority
- CN
- China
- Prior art keywords
- operation instruction
- instruction
- node
- processing node
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种交易处理的方法及装置,方法包括:获取交易信息,将交易信息对应的操作指令发送至主处理节点,接收主处理节点反馈的操作指令对应的操作结果后,将操作指令发送给主记录节点。本发明通过增加主记录节点记录操作指令,并用指令标识符对操作指令标识,使得操作指令在记录节点完整且按顺序备份。实现了操作结果与操作指令的分离存储,保证了数据存储的完整性。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种交易处理的方法及装置。
背景技术
目前数据库虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,数据库大多支持主从复制,数据库的主从结构可以采用一主多从或者级联结构。通常主节点接收客户端的操作请求,并将处理结果发送给各个从节点,从而保证主节点和从节点的数据一致。当主节点异常时,可启用从节点接管主节点的服务能力。
现有方案一般是定时备份到从节点,或者在累计n次修改后备份到从节点。然而通过异步方式将数据从主节点同步到备节点,备份会存在延迟。在高频交易的场景下,从节点的数据会落后于主节点,如果此时主节点异常,没有来得及同步的部分信息将丢失。
发明内容
本发明实施例提供一种交易处理的方法及装置,用以解决如何在节点异常的情况下避免交易信息丢失的问题。
第一方面,本发明实施例提供一种交易处理的方法,包括:
获取交易信息;
将交易信息对应的操作指令和指示信息发送至主处理节点;所述指示信息用于标识所述操作指令对应的指令标识符;
接收所述主处理节点反馈的所述操作指令对应的操作结果后,将所述操作指令和所述操作指令的指令标识符发送给主记录节点;所述主记录节点用于记录所述操作指令。
上述方案,通过增加主记录节点记录操作指令,并用指令标识符对操作指令标识,使得操作指令在记录节点及时完整,实现了操作结果与操作指令的分离存储,保证了数据存储的完整性。
可选的,所述方法还包括:
若确定所述主处理节点处于异常状态,则确定所述主处理节点对应的从处理节点中最新的指令标识符;
从所述主记录节点获取用于进行同步的操作指令,将所述用于进行同步的操作指令发送至所述从处理节点,所述用于进行同步的操作指令为在所述最新的指令标识符之后产生的操作指令。
需要说明的是,主从同步设置指的是将数据从主处理节点同步到从处理节点,备份会存在延迟。一般是定时备份到从处理节点,或者在累计n次修改后备份到从处理节点。通过清除主处理节点对应的从处理节点的主从同步设置,使得从处理节点代替原来的主处理节点处理交易信息。
上述方案,当主处理节点异常时,通过从处理节点代替原来的主处理节点处理交易信息,由于操作结果与操作指令分离存储,当主处理节点异常时,在主记录节点上读取丢失的操作指令并执行即可。
可选的,所述指令标识符为按需递增的序列号;
所述用于进行同步的操作指令为序列号大于所述从处理节点中最新的指令标识符对应的操作指令。
上述方案,将操作指令用序列号标识,使得主处理节点异常时可迅速在主记录节点上找到丢失的数据,保证了存储数据的完整性。
可选的,将所述操作指令和所述操作指令的指令标识符发送给主记录节点,包括:
接收所述主处理节点发送的所述操作指令的序列号;
将所述操作指令和所述操作指令的序列号发送给所述主记录节点。
需要说明的是,主处理节点在预设时间内没有回复,则可能网络存在异常,此时判定主处理节点为异常。如若收到主处理节点的回复则要根据状态码判断主处理节点是否异常。主处理节点存在异常包含多种情况,比如网络连接异常、操作系统异常、应答系统异常等。
上述方案,通过主处理节点是否回复判断主处理节点是否存在异常,在异常时进入异常操作流程从而保证了数据的完整性。
第二方面,本发明实施例提供一种交易处理的装置,包括:
获取模块,用于获取交易信息;
处理模块,用于将交易信息对应的操作指令和指令信息发送至主处理节点;所述指示信息用于标识所述操作指令对应的指令标识符;
接收所述主处理节点反馈的所述操作指令对应的操作结果后,将所述操作指令和所述操作指令的指令标识符发送给主记录节点;所述主记录节点用于记录所述操作指令。
可选的,所述处理模块还用于:
若确定所述主处理节点处于异常状态,则确定所述主处理节点对应的从处理节点中最新的指令标识符;
从所述主记录节点获取用于进行同步的操作指令,将所述用于进行同步的操作指令发送至所述从处理节点,所述用于进行同步的操作指令为在所述最新的指令标识符之后产生的操作指令。
可选的,所述处理模块具体用于:
所述指令标识符为按需递增的序列号;
所述用于进行同步的操作指令为序列号大于所述从处理节点中最新的指令标识符对应的操作指令。
可选的,所述处理模块具体用于:
接收所述主处理节点发送的所述操作指令的序列号;
将所述操作指令和所述操作指令的序列号发送给所述主记录节点。
第三方面,本发明实施例提供一种计算机被控设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述第一方面所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种交易处理方法的流程示意图;
图3为本发明实施例提供的一种交易处理方法的流程示意图;
图4为本发明实施例提供的一种交易处理方法的流程示意图;
图5为本发明实施例提供的一种交易处理装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构可以包括客户端100、Agent代理点200、主处理节点300、主记录节点400、从处理节点500和从记录节点600。
其中,Agent代理点200用于获取客户端100的交易信息,根据客户端100的交易信息生成N条操作指令;比如客户端100发来一条交易“从A的账户中扣除100元”,Agent代理点200将此条交易信息分为“查询A账户余额”、“判断A账户余额是否大于100元”、“将A账户中余额减去100元”等多个操作指令。再比如客户端100发来一条交易“将A账户的100元转到B账户中”,Agent代理点200将此条交易信息分为“从A账户中扣除100元”、“在B账户中增加100元”等多个操作指令。
主处理节点300用于执行Agent代理点200发送的操作指令并将操作结果返回给Agent代理点200。比如Agent代理点200发送的操作指令为“将A账户中余额减去100元”,假设主处理节点余额为“1000元”,主处理节点300将余额“1000元”减去“100元”得到结果“900元”,并返回Agent代理点200执行成功的信息。假设主处理节点余额为“50元”,主处理节点300无法将余额减去“100元”,从而返回Agent代理点200执行失败的信息。
主记录节点400用于存储Agent代理点200发送的操作指令。接着上述的例子,比如主处理节点300执行操作指令“将A账户中余额减去100元”成功,则Agent代理点200接收主处理节点300回复的信息中包含执行成功的信息,Agent代理点200将操作指令“将A账户中余额减去100元”记录到主记录节点400上。
此外,本发明实施例所适用的一种系统架构还包括从处理节点500和从记录节点600。
从处理节点500用于备份主处理节点300执行的操作指令,比如主处理节点300执行操作指令“将A账户中余额减去100元”成功,则主处理节点300将操作指令“将A账户中余额减去100元”发送至从处理节点备份500。从处理节点500执行备份的操作指令,从而使得从处理节点500存储的操作结果与主处理节点300存储的操作结果一致。但从处理节点500一般周期性地从主处理节点300执行备份动作,因而会存在主处理节点300与从处理节点500之前数据不一致的情况。
从记录节点600用于备份主记录节点400存储的操作指令,比如Agent代理点200将操作指令“将A账户中余额减去100元”记录到主记录节点400上,主记录节点400在3秒后将“将A账户中余额减去100元”发送至从记录节点600备份。从记录节点600用于在主记录节点400出现故障时进行使用,增强整个系统的稳定性。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
进一步需要说明的是,本发明实施例中的主记录节点所起的作用不同于一般的数据库中的日志存储,日志存储是由数据库进程每隔几秒获取主处理节点300的信息并存储在硬盘上,而在高频交易的场景中1秒存在几千笔交易,当主处理节点300异常后,由于数据库进程每隔几秒存储一次信息,从而使得短时间间隔内的交易信息丢失,从而一般的数据库的日志依然不能满足数据遗失的问题。
为了更好的解释上述实施例,图2示例性的示出了一种交易处理方法的流程,该流程可以由一种交易处理的装置执行。在上述系统架构中,则可以是Agent代理点200作为执行者。
如图2所示,该流程具体包括:
步骤201,获取交易信息。
需要说明的是,交易信息由客户端发送。
步骤202,将交易信息对应的操作指令和指示信息发送至主处理节点。指示信息用于标识操作指令对应的指令标识符。
针对指示信息的一种可能的实现方式为指示信息为操作指令对应的指令标识符,即Agent代理点为每个操作指令生成对应的指令标识符;继而将操作指令和指令标识符发送给主处理节点。
针对指示信息的另一种可能的实现方式为发送给主处理节点的指令,该指令用于指示主处理节点生成指令标识符。即Agent代理点在发送操作指令给主处理节点时,也发送为该操作指令生成指令标识符的指令给主处理节点,从而使得主处理节点可以为该操作指令生成对应的指令标识符。
此处的指令标识符具有反映操作指令顺序的特性,如具有顺序性的英文字母“abcd”等,或者是由时间信息以及表示顺序的序列号组成,比如指令标识符包含时间信息18:33:20以及序列号94等。
进一步的,针对序列号的情况下,指令标识符可以为按序递增的序列号,如每次递增1,则发送给主处理节点的用于指示主处理节点生成指令标识符的指令就可以是加1指令。如在Agent代理点发送操作指令和加1指令给主处理节点,主处理节点为该操作指令生成序列号(如188)。此外,指令标识符也可以是按序递减的序列号。
步骤203,接收主处理节点反馈的操作指令对应的操作结果后,将操作指令和操作指令对应的指令标识符发送给主记录节点。具体的,主记录节点用于记录所述操作指令。
需要说明的是,主处理节点向Agent返回的操作结果包含主处理节点处理成功或失败的信息,当处理成功是,Agent会将操作指令发送给主记录节点记录。具体的,以上述序列号为188的例子,在主处理节点处理完操作指令后,将操作结果和对应的序列号发送给Agent代理点,Agent代理点将之前的操作指令和序列号发送给主记录节点。
上述方案,通过增加主记录节点记录操作指令,并用指令标识符对操作指令标识,使得操作指令在主记录节点及时完整地备份,实现了操作结果与操作指令的分离存储,保证了数据存储的完整性。
进一步的,在步骤201之后,还包括确定主处理节点是否处于异常状态;若确定主处理节点处于异常状态,则确定主处理节点对应的从处理节点中最新的指令标识符;
针对如何确定主处理节点是否处于异常状态,可以包括如下多种方式:在预设时间内判断是否接收到所述主处理节点返回的状态码,若未接收到则确定所述主处理节点存在异常。如若收到主处理节点的回复则要根据状态码判断主处理节点是否异常。主处理节点存在异常包含多种情况,比如网络连接异常、操作系统异常、应答系统异常等。通过主处理节点是否回复判断主处理节点是否存在异常,在异常时进入异常操作流程从而保证了数据的完整性。
主处理节点可能对应多个从处理节点,从多个从处理节点中选取一个作为新的主处理节点,更新主从关系,并从从处理节点中最新的指令标识符。
接着从主记录节点获取用于进行同步的操作指令,将用于进行同步的操作指令发送至从处理节点。具体的,用于进行同步的操作指令为在最新的指令标识符之后产生的操作指令。
需要说明的是,主从同步设置指的是将数据从主处理节点同步到从处理节点,备份会存在延迟。一般是定时备份到从处理节点,或者在累计n次修改后备份到从处理节点。通过清除主处理节点对应的从处理节点的主从同步设置,使得从处理节点代替原来的主处理节点处理交易信息。
上述方案,当主处理节点异常时,通过从处理节点代替原来的主处理节点处理交易信息,由于操作结果与操作指令分离存储,当主处理节点异常时,在主记录节点上读取丢失的操作指令并执行即可。
以序列号为例描述进行同步的操作指令,具体的,指令标识符为按序递增的序列号,则用于进行同步的操作指令为序列号大于所述从处理节点中最新的指令标识符对应的操作指令。当指令标识符为按序递减的序列号时,相应的,用于进行同步的操作指令为序列号小于所述从处理节点中最新的指令标识符对应的操作指令。
为了更好的解释上述方案,下面以redis数据库节点不存在异常为例提供一种交易处理方法的流程示意图。
需要说明的是,本发明redis数据库中包含了redis-master(主处理节点)和redis-slave(从处理节点),再此基础上还包括seq-master(主记录节点)和seq-slave(从记录节点),具体的,seq-id为操作指令的指令标识符。
如图3所示,该流程具体包括:
步骤301,客户端发起交易。
需要说明的是,本方案在高频交易场景下,也即客户端发起的交易量在短时间内集中的情况下,仍能保证数据的完整性。
步骤302,Agent调用redis-master执行交易。
需要说明的是,Agent根据交易信息生成N条操作指令,Agent将N条操作指令按顺序逐一发送至redis-master,且每一条操作指令都附带一条seq-id加一的指令。
进一步的,Agent还可以将seq-id加一后的结果直接赋值给redis-master,由于多个Agent对应于1个redis-master,此时指令标识符还包含能够标识Agent的信息,比如客户端发起“从A账户中扣除100元的指令”,Agent发给redis-master包含“Agent1”、“从A账户中扣除100元的指令”、“seq-id为82”等信息。
步骤303,redis-master执行交易并将seq-id加一。
需要说明的是,redis-master执行交易成功后将操作指令发送至redis-slave保存用于备份,redis-master以及redis-slave构成redis主从结构,其中设置一个标识符seq-id,seq-id用于记录操作指令的序号。如若Agent将seq-id加一后的结果直接赋值给redis-master,此时redis-master只需执行交易。
步骤304,Agent判断redis-master返回结果是否为成功。若是,则执行步骤305,否则执行步骤306。
需要说明的是,在节点不存在异常的情况下,redis-master在预设时间内回复的状态码包含操作指令执行成功或失败的信息。
步骤305,Agent调用seq-master记录操作指令。
需要说明的是,如果redis-master执行操作指令成功,Agent则将操作指令发送至seq-master记录保存,同样的seq-master对应多个seq-slave,用于备份seq-master储存的信息。seq-master将操作指令发送至seq-slave备份。
步骤306,redis-master删除执行失败的操作指令。
需要说明的是,如果redis-master执行操作指令失败,则redis-master和Agent都不记录失败的操作指令。
步骤307,Agent将交易处理结果返回至客户端。
需要说明的是,Agent针对每一条操作指令交易均有一条处理结果并返回至客户端,比如客户端发起的交易为“从A账户中扣除100元”,Agent将此条交易信息分为“查询A账户余额”、“判断A账户余额是否大于100元”、“将A账户中余额减去100元”3个操作指令,比如此时账户余额为“50”元,则Agent返回的结果为“查询A账户余额成功”、“判断A账户余额是否大于100元成功”、“将A账户中余额减去100元失败”。
上述方案,redis-master以及redis-slave用于保存操作结果,seq-master和seq-slave用于保存操作步骤即操作流水,通过增加seq-master记录操作指令,并用seq-id对操作指令标识,使得操作指令在记录节点完整且按顺序备份。实现了操作结果与操作流水的分离存储,保证了数据存储的完整性。
进一步的,下面以redis数据库节点存在异常为例提供一种交易处理方法的流程示意图。
如图4所示,该流程具体包括:
步骤401,客户端发起交易。
需要说明的是,本方案在高频交易场景下,也即客户端发起的交易量在短时间内集中的情况下,仍能保证数据的完整性,不会由于节点异常而造成交易信息丢失。
步骤402,Agent调用redis-master执行交易。
需要说明的是,Agent根据交易信息生成N条操作指令,Agent将N条操作指令按顺序逐一发送至redis-master,且每一条操作指令都附带一条seq-id加一的指令。
步骤403,Agent判断redis-master存在异常,连接redis-slave,去除其上的主从同步设置。
具体的,Agent判断redis-master存在异常存在以下情况:
1、Agent在预设时间内未接收到redis-master回复的状态码,此时可能产生网络异常、操作系统异常等问题。
2、Agent在预设时间内接收到redis-master回复的状态码,但状态码中未包含执行成功或失败的信息,此时可能是应答系统存在异常。
步骤404,Agent读取当前redis-slave上seq-id的值为seq-id0。
具体的,Agent在redis-master存在异常的情况下,选取其对应的多个redis-slave中的一个,将此redis-slave当做redis-master进入正常交易处理流程。
步骤405,Agent读取seq-master上seq-id大于seq-id0的N个操作指令。
具体的,seq-master上seq-id大于seq-id0的N个操作指令则为redis-master异常后redis-slave未来得及备份的操作指令。
步骤406,Agent调用redis-slave执行N个操作指令。
需要说明的是,方案中选取了redis来实现seq-master。也可以有多种替代实现方式,使用文件记录、使用mysql等关系型数据库等。
上述方案,由于redis-master定时备份到redis-slave,当redis-master异常时,由于同步信息存在一定时间差异,会造成redis-slave未来得及备份的交易信息丢失,方案选取一个redis-slave代替原有的redis-master继续执行交易,由于操作指令均记录在seq-master上,redis-slave读取未备份的操作指令并执行即可。从而保证了数据的完整性。
基于相同的技术构思,图5示例性的示出了本发明实施例提供一种交易处理的装置的结构,该装置可以执行交易处理的方法的流程。
如图5所示,该装置可以包括:
获取模块501,用于获取交易信息;
处理模块502,用于将交易信息对应的操作指令和指示信息发送至主处理节点;所述指示信息用于标识所述操作指令对应的的指令标识符;
接收所述主处理节点反馈的所述操作指令对应的操作结果后,将所述操作指令和所述操作指令的指令标识符发送给主记录节点;所述主记录节点用于记录所述操作指令。
可选的,所述处理模块502还用于:
若确定所述主处理节点处于异常状态,则确定所述主处理节点对应的从处理节点中最新的指令标识符;
从所述主记录节点获取用于进行同步的操作指令,将所述用于进行同步的操作指令发送至所述从处理节点,所述用于进行同步的操作指令为在所述最新的指令标识符之后产生的操作指令。
可选的,所述处理模块502具体用于:
所述指令标识符为按需递增的序列号;
所述用于进行同步的操作指令为序列号大于所述从处理节点中最新的指令标识符对应的操作指令。
可选的,所述处理模块502具体用于:
接收所述主处理节点发送的所述操作指令的序列号;
将所述操作指令和所述操作指令的序列号发送给所述主记录节点。
基于相同的技术构思,本发明实施例还提供了一种计算被控设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述交易处理的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述交易处理的方法。
最后应说明的是:本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、被控设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理被控设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理被控设备的处理器执行的指令产生用于实现在流程图一个流程或多个和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理被控设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种交易处理方法,其特征在于,包括:
获取交易信息;
将所述交易信息对应的操作指令和指示信息发送至主处理节点;所述指示信息用于指示所述操作指令对应的指令标识符;
接收所述主处理节点反馈的所述操作指令对应的操作结果后,将所述操作指令和所述操作指令对应的指令标识符发送给主记录节点;所述主记录节点用于记录所述操作指令;
若确定所述主处理节点处于异常状态,则确定所述主处理节点对应的从处理节点中最新的指令标识符。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述主记录节点获取用于进行同步的操作指令,将所述用于进行同步的操作指令发送至所述从处理节点,所述用于进行同步的操作指令为在所述最新的指令标识符之后产生的操作指令。
3.根据权利要求2所述的方法,其特征在于,所述指令标识符为按序递增的序列号;
所述用于进行同步的操作指令为序列号大于所述从处理节点中最大序列号对应的操作指令。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述指示信息为指示所述主处理节点递增序列号的指令;
将所述操作指令和所述操作指令的指令标识符发送给主记录节点,包括:
接收所述主处理节点发送的所述操作指令的序列号;
将所述操作指令和所述操作指令的序列号发送给所述主记录节点。
5.一种交易处理的装置,其特征在于,包括:
获取模块,用于获取交易信息;
处理模块,用于将所述交易信息对应的操作指令和指示信息发送至主处理节点;所述指示信息用于指示所述操作指令对应的指令标识符;接收所述主处理节点反馈的所述操作指令对应的操作结果后,将所述操作指令和所述操作指令对应的指令标识符发送给主记录节点;所述主记录节点用于记录所述操作指令;
所述处理模块,还用于:
若确定所述主处理节点处于异常状态,则确定所述主处理节点对应的从处理节点中最新的指令标识符。
6.根据权利要求5所述的装置,其特征在于,所述处理模块还用于:
从所述主记录节点获取用于进行同步的操作指令,将所述用于进行同步的操作指令发送至所述从处理节点,所述用于进行同步的操作指令为在所述最新的指令标识符之后产生的操作指令。
7.根据权利要求6所述的装置,其特征在于,所述指令标识符为按序递增的序列号;
所述用于进行同步的操作指令为序列号大于所述从处理节点中最大序列号对应的操作指令。
8.根据权利要求5至7任一项所述的装置,其特征在于,所述指示信息为指示所述主处理节点递增序列号的指令;
所述处理模块具体用于:
接收所述主处理节点发送的所述操作指令的序列号;
将所述操作指令和所述操作指令的序列号发送给所述主记录节点。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至4任一项所述的方法。
10.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至4任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911055909.6A CN110825758B (zh) | 2019-10-31 | 2019-10-31 | 一种交易处理的方法及装置 |
PCT/CN2020/120921 WO2021082925A1 (zh) | 2019-10-31 | 2020-10-14 | 一种交易处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911055909.6A CN110825758B (zh) | 2019-10-31 | 2019-10-31 | 一种交易处理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825758A CN110825758A (zh) | 2020-02-21 |
CN110825758B true CN110825758B (zh) | 2022-11-15 |
Family
ID=69552044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911055909.6A Active CN110825758B (zh) | 2019-10-31 | 2019-10-31 | 一种交易处理的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110825758B (zh) |
WO (1) | WO2021082925A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825758B (zh) * | 2019-10-31 | 2022-11-15 | 中国银联股份有限公司 | 一种交易处理的方法及装置 |
CN113903218B (zh) * | 2021-10-21 | 2024-03-15 | 优必选(湖北)科技有限公司 | 一种教育编程方法、电子设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201311259D0 (en) * | 2013-06-25 | 2013-08-14 | Ibm | Replication for on-line hot-standby database |
CN105573841A (zh) * | 2015-12-10 | 2016-05-11 | 北京京东尚科信息技术有限公司 | 一种基于非关系型数据库的控制定时器执行的方法 |
CN107153660A (zh) * | 2016-03-04 | 2017-09-12 | 福建天晴数码有限公司 | 分布式数据库系统的故障检测处理方法及其系统 |
CN108491466A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
WO2018233645A1 (zh) * | 2017-06-21 | 2018-12-27 | 比亚迪股份有限公司 | 基于CANopen协议的列车网络数据传输方法、系统及其装置 |
WO2019141186A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 数据处理方法和装置 |
CN110377577A (zh) * | 2018-04-11 | 2019-10-25 | 北京嘀嘀无限科技发展有限公司 | 数据同步方法、装置、系统和计算机可读存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034364A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种实现内存数据备份的方法、装置和系统 |
JP5531760B2 (ja) * | 2010-04-28 | 2014-06-25 | 富士通株式会社 | 情報処理システム及び情報処理方法 |
CN102279857B (zh) * | 2010-06-11 | 2015-03-04 | 阿里巴巴集团控股有限公司 | 一种实现数据复制的方法及系统 |
US9430503B1 (en) * | 2013-06-28 | 2016-08-30 | Emc Corporation | Coalescing transactional same-block writes for virtual block maps |
CN105407124B (zh) * | 2014-09-16 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种服务器控制方法及用户终端 |
US10503427B2 (en) * | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
CN107622081A (zh) * | 2017-08-03 | 2018-01-23 | 福建天晴数码有限公司 | 一种操作数据库的方法及终端 |
CN107729398A (zh) * | 2017-09-19 | 2018-02-23 | 深圳金融电子结算中心有限公司 | 交易数据自动对账方法、服务器及存储介质 |
CN110019510A (zh) * | 2017-09-29 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种进行增量同步的方法及装置 |
CN107948318B (zh) * | 2017-12-27 | 2021-02-19 | 世纪龙信息网络有限责任公司 | 多节点间的缓存同步方法和系统 |
CN110825758B (zh) * | 2019-10-31 | 2022-11-15 | 中国银联股份有限公司 | 一种交易处理的方法及装置 |
-
2019
- 2019-10-31 CN CN201911055909.6A patent/CN110825758B/zh active Active
-
2020
- 2020-10-14 WO PCT/CN2020/120921 patent/WO2021082925A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201311259D0 (en) * | 2013-06-25 | 2013-08-14 | Ibm | Replication for on-line hot-standby database |
CN105573841A (zh) * | 2015-12-10 | 2016-05-11 | 北京京东尚科信息技术有限公司 | 一种基于非关系型数据库的控制定时器执行的方法 |
CN107153660A (zh) * | 2016-03-04 | 2017-09-12 | 福建天晴数码有限公司 | 分布式数据库系统的故障检测处理方法及其系统 |
WO2018233645A1 (zh) * | 2017-06-21 | 2018-12-27 | 比亚迪股份有限公司 | 基于CANopen协议的列车网络数据传输方法、系统及其装置 |
WO2019141186A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 数据处理方法和装置 |
CN108491466A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
CN110377577A (zh) * | 2018-04-11 | 2019-10-25 | 北京嘀嘀无限科技发展有限公司 | 数据同步方法、装置、系统和计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
Deister: A Light-Weight Autonomous Block Management in Data-Intensive File Systems Using Deterministic Declustering Distribution;Xuhong Zhang等;《2015 IEEE International Conference on Smart City/SocialCom/SustainCom (SmartCity)》;20160505;598-604 * |
GriDoc文档可视化管理器与客户端数据存取驱动器的设计与实现;许诺;《中国优秀硕士学位论文全文数据库信息科技辑》;20170515(第5期);I138-593 * |
基于混合信号技术的汽车电子单芯片方案;Herve Branqucurt等;《电子设计应用》;20041005;18-20 * |
Also Published As
Publication number | Publication date |
---|---|
CN110825758A (zh) | 2020-02-21 |
WO2021082925A1 (zh) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391628B (zh) | 数据同步方法及装置 | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
EP3258396A1 (en) | Data synchronization method, device and system | |
CN109308227B (zh) | 故障检测控制方法及相关设备 | |
CN104778102A (zh) | 一种主备切换方法及系统 | |
CN107391634B (zh) | 数据迁移方法及装置 | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
CN107329859B (zh) | 一种数据保护方法及存储设备 | |
CN112383610B (zh) | 区块链状态数据的同步处理方法及系统 | |
US10055445B2 (en) | Transaction processing method and apparatus | |
CN110825758B (zh) | 一种交易处理的方法及装置 | |
CN116917880A (zh) | 分布式数据库远程备份 | |
EP3696658A1 (en) | Log management method, server and database system | |
CN109684130B (zh) | 一种机房间数据备份的方法及装置 | |
CN106997305B (zh) | 一种事务处理方法与装置 | |
CN115562805A (zh) | 一种资源迁移的方法、装置及电子设备 | |
CN113515574B (zh) | 一种数据同步方法及装置 | |
CN113934792B (zh) | 分布式数据库的处理方法、装置、网络设备和存储介质 | |
CN104809033B (zh) | 一种备份方法及系统 | |
CN113986450A (zh) | 一种虚拟机备份方法及装置 | |
CN110502460B (zh) | 数据处理的方法和节点 | |
CN111142791A (zh) | 数据迁移方法和装置 | |
CN111444040B (zh) | 一种元数据备份方法及装置 | |
CN111984460B (zh) | 元数据的恢复方法及装置 | |
CN115328880B (zh) | 分布式文件在线恢复方法、系统、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |