CN108572890A - 事务数据同步方法及装置 - Google Patents
事务数据同步方法及装置 Download PDFInfo
- Publication number
- CN108572890A CN108572890A CN201810383824.XA CN201810383824A CN108572890A CN 108572890 A CN108572890 A CN 108572890A CN 201810383824 A CN201810383824 A CN 201810383824A CN 108572890 A CN108572890 A CN 108572890A
- Authority
- CN
- China
- Prior art keywords
- transactions requests
- data
- affairs
- main control
- standby server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种事务数据同步方法及装置。所述方法包括:主控服务器接收来自客户端的事务请求,执行与事务请求对应的事务,并在执行过程中将所述事务请求发送给备用服务器;备用服务器接收并存储所述事务请求,并在完成存储时向主控服务器发送确认信息;主控服务器在接收到该事务请求对应的确认信息且执行完对应事务后,提交该事务的执行结果,并向对应备用服务器发送该事务的目标应用层修改数据;备用服务器接收所述目标应用层修改数据,并根据所述目标应用层修改数据对存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。所述延时小,可同步主控服务器与备用服务器的事务应用层数据,提高服务器切换效率及系统可靠性。
Description
技术领域
本发明涉及事务处理技术领域,具体而言,涉及一种事务数据同步方法及装置。
背景技术
事务处理系统是当前计算机应用领域中极为重要的一类系统,被广泛应用于电信、银行、保险、证券等行业。目前而言,事务处理系统通常采用多节点冗余的方式来提供服务,其中事务处理系统的主节点在接收到用户请求后,先在应用逻辑层处理用户请求,使用主节点数据库提供的事务机制开启事务处理,在处理过程中产生的数据写入主节点数据库中,然后再将主节点数据库中改变的内容同步到备用节点的数据库中,从而在主节点失效后,切换到备用节点,由备用节点接替主节点提供对应的服务。但这种事务数据同步的方法的延时很大,数据库数据同步仅在数据库层次进行,备用节点应用层状态更新不及时,在主节点切换到备用节点时,备用节点需要根据数据库中的内容重建应用层状态,从而导致节点切换速率过慢。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种事务数据同步方法及装置,所述事务数据同步方法延时小,能够同步主控服务器与备用服务器的事务应用层数据,提高服务器切换效率,增强事务处理系统的可靠性。
就方法而言,本发明实施例提供一种事务数据同步方法,应用于事务处理系统,所述事务处理系统包括通信连接的主控服务器及至少一台备用服务器,所述方法包括:
所述主控服务器接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据;
在执行与所述事务请求对应的事务的过程中,所述主控服务器将接收到的所述事务请求发送给所述备用服务器;
所述备用服务器接收并存储来自所述主控服务器的所述事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息;
所述主控服务器在接收到与该事务请求对应的确认信息且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器发送所述事务请求对应事务的目标应用层修改数据;
所述备用服务器接收所述目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。
可选地,在本发明实施例中,上述目标应用层修改数据包括对应事务请求的特征标识,及该事务请求在所述主控服务器处对应事务的应用层修改数据,所述根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新的步骤包括:
根据所述目标应用层修改数据中的特征标识在所述备用服务器中查找对应匹配的事务请求;
根据查找到的所述事务请求从所述备用服务器中获取该事务请求对应的事务的应用层数据;
以所述目标应用层修改数据中与所述事务对应的应用层修改数据对所述应用层数据中需要调整修改的数据进行替换,并对数据替换后得到的所述应用层数据进行存储。
可选地,在本发明实施例中,上述方法还包括:
所述备用服务器在完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器中存储的所述事务请求。
就方法而言,本发明实施例还提供一种事务数据同步方法,应用于事务处理系统中与至少一台备用服务器通信连接的主控服务器,所述方法包括:
接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据;
在执行与所述事务请求对应的事务的过程中,将接收到的所述事务请求发送给所述备用服务器,以使所述备用服务器接收并存储所述事务请求;
接收来自所述备用服务器的用于表示已成功接收事务请求的确认信息,并判断所述确认信息是否与所述事务请求匹配;
当所述确认信息与所述事务请求匹配且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器发送所述事务请求对应事务的目标应用层修改数据,以使所述备用服务器根据所述目标应用层修改数据完成对应事务应用层数据的更新,实现事务数据同步。
就方法而言,本发明实施例还提供一种事务数据同步方法,应用于事务处理系统中与主控服务器通信连接的备用服务器,所述方法包括:
接收并存储来自所述主控服务器的事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息;
接收来自所述主控服务器的所述事务请求对应事务的目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。
可选地,在本发明实施例中,上述目标应用层修改数据包括对应事务请求的特征标识,及该事务请求在所述主控服务器处对应事务的应用层修改数据,所述根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新的步骤包括:
根据所述目标应用层修改数据中的特征标识在所述备用服务器中查找对应匹配的事务请求;
根据所述事务请求从所述备用服务器中获取该事务请求对应的事务的应用层数据;
以所述目标应用层修改数据中与所述事务对应的应用层修改数据对所述应用层数据中需要调整修改的数据进行替换,并对数据替换后得到的所述应用层数据进行存储。
可选地,在本发明实施例中,上述方法还包括:当完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器中存储的所述事务请求。
就装置而言,本发明实施例提供一种事务数据同步装置,应用于事务处理系统中与至少一台备用服务器通信连接的主控服务器,所述装置包括:
事务执行模块,用于接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据;
请求发送模块,用于在执行与所述事务请求对应的事务的过程中,将接收到的所述事务请求发送给所述备用服务器,以使所述备用服务器接收并存储所述事务请求;
确认匹配模块,用于接收来自所述备用服务器的用于表示已成功接收事务请求的确认信息,并判断所述确认信息是否与所述事务请求匹配;
数据发送模块,用于当所述确认信息与所述事务请求匹配且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器发送所述事务请求对应事务的目标应用层修改数据,以使所述备用服务器根据所述目标应用层修改数据完成对应事务应用层数据的更新,实现事务数据同步。
就装置而言,本发明实施例还提供一种事务数据同步装置,应用于事务处理系统中与主控服务器通信连接的备用服务器,所述装置包括:
请求反馈模块,用于接收并存储来自所述主控服务器的事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息;
数据更新模块,用于接收来自所述主控服务器的所述事务请求对应事务的目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。
可选地,在本发明实施例中,上述装置还包括:
请求删除模块,用于当完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器中存储的所述事务请求。
相对于现有技术而言,本发明实施例提供的事务数据同步方法及装置具有以下有益效果:所述事务数据同步方法延时小,能够同步主控服务器与备用服务器的事务应用层数据,提高服务器切换效率,增强事务处理系统的可靠性。所述方法应用于事务处理系统,所述事务处理系统包括通信连接的主控服务器及至少一台备用服务器。首先,所述方法通过所述主控服务器接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据。其次,所述方法在执行与所述事务请求对应的事务的过程中,通过所述主控服务器将接收到的所述事务请求发送给所述备用服务器。接着,所述方法通过所述备用服务器接收并存储来自所述主控服务器的所述事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息。然后,所述方法在所述主控服务器接收到与该事务请求对应的确认信息且执行完所述事务请求对应的事务后后,通过所述主控服务器提交了该事务对应的执行结果,并向发送了所述确认信息的所述备用服务器发送所述事务请求对应事务的目标应用层修改数据。最后,所述备用服务器接收所述目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,确保整个事务执行完成的时候所述主控服务器与所述备用服务器均能同步更新该事务对应的应用层数据,且事务执行过程中备用服务器也能同步获取对应的事务请求,从而降低数据同步延时,提高服务器切换效率,增强事务处理系统的可靠性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的事务处理系统的方框示意图。
图2为本发明实施例提供的事务数据同步方法的第一种流程示意图。
图3为本发明实施例提供的事务数据同步方法的第二种流程示意图。
图4为本发明实施例提供的事务数据同步方法的第三种流程示意图。
图5为本发明实施例提供的事务数据同步方法的第四种流程示意图。
图6为本发明实施例提供的事务数据同步方法的第五种流程示意图。
图7为本发明实施例提供的图1中所示的第一事务数据同步装置的方框示意图。
图8为本发明实施例提供的图1中所示的第二事务数据同步装置的方框示意图之一。
图9为本发明实施例提供的图1中所示的第二事务数据同步装置的方框示意图之二。
图标:10-事务处理系统;11-主控服务器;12-备用服务器;100-第一事务数据同步装置;200-第二事务数据同步装置;110-事务执行模块;120-请求发送模块;130-确认匹配模块;140-数据发送模块;210-请求反馈模块;220-数据更新模块;230-请求删除模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明实施例提供的事务处理系统10的方框示意图。在本发明实施例中,所述事务处理系统10能够接收由用户通过客户端发送的事务请求,并相应执行该事务请求对应的事务流程,其中所述事务处理系统10包括主控服务器11及至少一台备用服务器12,所述主控服务器11用于实现事务处理功能,该主控服务器11通过与至少一个客户端通信连接的方式获取由所述至少一个客户端发送的事务请求,并基于接收到的事务请求执行对应的事务流程;所述至少一台备用服务器12与所述主控服务器11通信连接,用于对所述主控服务器11执行事务时的事务应用层数据进行同步备份,以便于在所述主控服务器11失效时从中选择一个备用服务器12为新的主控服务器来实现事务处理功能,此时新的主控服务器将与其他备用服务器12建立新的通信连接并进行事务数据同步更新。
在本实施例中,所述主控服务器11在接收到事务请求,并相应执行该事务请求对应的事务时,会同时将该事务请求发送给所述至少一台备用服务器12。备用服务器12在接收到所述事务请求后,将向所述主控服务器11发送用于表示成功接收到该事务请求的确认信息。所述主控服务器11在执行完该事务请求对应的事务,且接收到的确认信息与该事务请求匹配时,将向发送该确认信息的备用服务器12发送与所述事务请求对应的目标事务应用层修改数据,以使所述备用服务器12根据所述目标事务应用层修改数据对应更新所述备用服务器12中存储的与该事务请求对应的事务应用层数据,实现事务数据同步,从而确保整个事务执行完成的时候所述主控服务器11与所述备用服务器12均能同步更新该事务对应的应用层数据,且事务执行过程中备用服务器12也能同步获取对应的事务请求,以降低数据同步延时,提高服务器切换效率,增强事务处理系统10的可靠性。其中,所述目标事务应用层数据包括对应事务执行过程中该事务在应用层上修改的数据即应用层修改数据。
请参照图2,是本发明实施例提供的事务数据同步方法的第一种流程示意图。在本发明的第一种实施例中,所述事务数据同步方法应用于图1所示的事务处理系统10,所述事务处理系统10包括相互通信连接的主控服务器11及至少一台备用服务器12。下面对图2所示的事务数据同步方法的具体流程和步骤进行详细阐述。
步骤S210,主控服务器11接收来自客户端的事务请求,执行与事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据。
在本实施例中,所述主控服务器11中搭建有一数据库,所述数据库中存储有各事务在应用层次对应的应用层数据。所述主控服务器11在执行事务请求对应的事务时,将记录需要修改的应用层数据的位置及修改内容,并在事务执行成功后以记录的应用层数据的位置及修改内容对数据库中对应事务应用层数据进行更新,实现对应用层修改数据的存储。其中所述主控服务器11可同时执行多个事务请求对应的事务,所述多个事务请求可来自不同客户端,所述应用层修改数据包括所述需要修改的应用层数据的位置及修改内容。
步骤S220,在执行与所述事务请求对应的事务的过程中,所述主控服务器11将接收到的所述事务请求发送给备用服务器12。
在本实施例中,所述主控服务器11在执行事务请求对应的事务时,会相应地将该事务请求发送给与所述主控服务器11通信连接的各备用服务器12。其中,所述事务请求包括对应事务的相关信息,及该事务请求的特征标识,所述特征标识用于单独表示该事务请求,一个特征标识仅对应一个事务请求,所述特征标识可以是该事务请求的请求系列号。
步骤S230,所述备用服务器12接收并存储来自所述主控服务器11的所述事务请求,并在完成存储时向所述主控服务器11发送确认信息。
在本实施例中,所述备用服务器12接收到事务请求后,将对所述事务请求进行缓存,并向所述主控服务器11发送用于表示已成功接收所述事务请求的确认信息。其中同一备用服务器12发送的每个确认信息仅各自对应一个事务请求,所述确认信息中包括发送该确认信息的备用服务器12的身份信息,及对应事务请求的特征标识信息。
步骤S240,所述主控服务器11在接收到与该事务请求对应的确认信息且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器12发送所述事务请求对应事务的目标应用层修改数据。
在本实施例中,所述主控服务器11在接收到确认信息后,将判断该确认信息是否与执行的事务相互匹配,其中所述主控服务器11可通过读取所述确认信息包括的特征标识信息查询到该确认信息在所述主控服务器11处对应匹配的事务,以及该事务对应的事务请求。
在本实施例中,所述主控服务器11在执行完一个事务,且得到与该事务所对应的事务请求匹配的确认信息后,将基于所述确认信息将所述事务标注为已确认执行,并通过向该主控服务器11中的数据库提交该事务对应的执行结果,在数据库中对该事务执行成功时对应的应用层修改数据进行存储。同时所述主控服务器11也将向发送所述事务请求的客户端发送事务执行成功的提示,所述提示包括所述事务对应的执行结果,使得所述备用服务器12可通过网络了解到该事务对应的执行结果。其中,只要所述至少一台备用服务器12中的任意一个发送的确认信息与上述事务请求对应匹配,且所述事务请求对应事务被执行完成时,所述主控服务器11都会将该事务标注为已执行,并将所述事务的执行结果提交,若所述主控服务器11在完成一次事务执行结果提交后再次接收到与所述事务请求对应的确认信息,所述主控服务器11将不再针对该事务的执行结果进行提交,即该事务在被提交一次后将不再被提交。
在本实施例中,所述主控服务器11在针对某个事务进行事务执行结果提交后,将向发送了被所述主控服务器11接收到的与该事务对应的确认信息的备用服务器12发送所述事务请求对应事务的目标应用层修改数据。
步骤S250,所述备用服务器12接收所述目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器12中存储的与所述事务请求对应的事务应用层数据进行更新。
在本实施例中,每个备用服务器12中也搭建有一数据库,所述数据库中存储有各事务在应用层次对应的应用层数据,所述备用服务器12可通过网络获知到被提交事务对应的执行结果。所述目标事务应用层修改数据包括对应事务请求的特征标识,及该事务请求在所述主控服务器11处对应事务的应用层修改数据,则所述根据所述目标应用层修改数据对所述备用服务器12中存储的与所述事务请求对应的事务应用层数据进行更新的步骤包括:
根据所述目标应用层修改数据中的特征标识在所述备用服务器12中查找对应匹配的事务请求;
根据查找到的所述事务请求从所述备用服务器12中获取该事务请求对应的事务的应用层数据;
以所述目标应用层修改数据中与所述事务对应的应用层修改数据对所述应用层数据中需要调整修改的数据进行替换,并对数据替换后得到的所述应用层数据进行存储。
在本实施例中,所述备用服务器12通过上述步骤实现对数据库中事务应用层数据的更新,从而实现与所述主控服务器11的事务数据同步,以降低数据同步延时,提高服务器切换效率,增强事务处理系统10的可靠性。
请参照图3,是本发明实施例提供的事务数据同步方法的第二种流程示意图。在本发明的第二种实施例中,图2所示的事务数据同步方法还可以包括步骤S260。
步骤S260,所述备用服务器12在完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器12中存储的所述事务请求。
请参照图4,是本发明实施例提供的事务数据同步方法的第三种流程示意图。在本发明的第三种实施例中,所述事务数据同步方法应用于事务处理系统10中与所述至少一台备用服务器12通信连接的主控服务器11,下面对图4所示的事务数据同步方法的具体流程和步骤进行详细阐述。
步骤S310,接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据。
步骤S320,在执行与所述事务请求对应的事务的过程中,将接收到的所述事务请求发送给备用服务器12,以使所述备用服务器12接收并存储所述事务请求。
在本实施例中,所述步骤S310及所述步骤S320的具体执行过程可分别参照上文中对步骤S210及步骤S220的详细描述。
步骤S330,接收来自所述备用服务器12的用于表示已成功接收事务请求的确认信息,并判断所述确认信息是否与所述事务请求匹配。
步骤S340,当所述确认信息与所述事务请求匹配且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器12发送所述事务请求对应事务的目标应用层修改数据,以使所述备用服务器12根据所述目标应用层修改数据完成对应事务应用层数据的更新。
在本实施例中,所述步骤S330及所述步骤S340的具体执行过程可参照上文中对步骤S240的详细描述。
请参照图5,是本发明实施例提供的事务数据同步方法的第四种流程示意图。在本发明的第四种实施例中,所述事务数据同步方法应用于事务处理系统10中与所述主控服务器11通信连接的备用服务器12,下面对图5所示的事务数据同步方法的具体流程和步骤进行详细阐述。
步骤S410,接收并存储来自所述主控服务器11的事务请求,并在完成存储时向所述主控服务器11发送用于表示已成功接收所述事务请求的确认信息。
在本实施例中,所述步骤S410的具体执行过程可参照上文中对步骤S230的详细描述。
步骤S420,接收来自所述主控服务器11的所述事务请求对应事务的目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器12中存储的与所述事务请求对应的事务应用层数据进行更新。
在本实施例中,所述目标应用层修改数据包括对应事务请求的特征标识,及该事务请求在所述主控服务器11处对应事务的应用层修改数据,所述根据所述目标应用层修改数据对所述备用服务器12中存储的与所述事务请求对应的事务应用层数据进行更新的步骤包括:
根据所述目标应用层修改数据中的特征标识在所述备用服务器12中查找对应匹配的事务请求;
根据所述事务请求从所述备用服务器12中获取该事务请求对应的事务的应用层数据;
以所述目标应用层修改数据中与所述事务对应的应用层修改数据对所述应用层数据中需要调整修改的数据进行替换,并对数据替换后得到的所述应用层数据进行存储。
请参照图6,是本发明实施例提供的事务数据同步方法的第五种流程示意图。在本发明的第五种实施例中,图5所示的事务数据同步方法还可以包括步骤S430。
步骤S430,当完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器12中存储的所述事务请求。
请参照图7,是本发明实施例提供的图1中所示的第一事务数据同步装置100的方框示意图。在本发明的第六种实施例中,所述主控服务器11包括有所述第一事务数据同步装置100,所述主控服务器11通过所述第一事务数据同步装置100执行图4所示的事务数据同步方法。所述第一事务数据同步装置100包括事务执行模块110、请求发送模块120、确认匹配模块130及数据发送模块140。
所述事务执行模块110,用于接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据。
所述请求发送模块120,用于在执行与所述事务请求对应的事务的过程中,将接收到的所述事务请求发送给备用服务器12,以使备用服务器12接收并存储所述事务请求。
所述确认匹配模块130,用于接收来自所述备用服务器12的用于表示已成功接收事务请求的确认信息,并判断所述确认信息是否与所述事务请求匹配。
所述数据发送模块140,用于当所述确认信息与所述事务请求匹配且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器12发送所述事务请求对应事务的目标应用层修改数据,以使所述备用服务器12根据所述目标应用层修改数据完成对应事务应用层数据的更新。
请参照图8,是本发明实施例提供的图1中所示的第二事务数据同步装置200的方框示意图之一。在本发明的第七种实施例中,所述备用服务器12包括所述第二事务数据同步装置200,所述备用服务器12通过所述第二事务数据同步装置200执行图5所示的事务数据同步方法。所述第二事务数据同步装置200包括请求反馈模块210及数据更新模块220。
所述请求反馈模块210,用于接收并存储来自所述主控服务器11的事务请求,并在完成存储时向所述主控服务器11发送用于表示已成功接收所述事务请求的确认信息。
所述数据更新模块220,用于接收来自所述主控服务器11的所述事务请求对应事务的目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器12中存储的与所述事务请求对应的事务应用层数据进行更新。
请参照图9,是本发明实施例提供的图1中所示的第二事务数据同步装置200的方框示意图之二。在本发明的第八种实施例中,图8所示的第二事务数据同步装置200还可以包括请求删除模块230,所述备用服务器12通过所述请求删除模块230执行图6所示的事务数据同步方法中的步骤S430。
所述请求删除模块230,用于当完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器12中存储的所述事务请求。
在本实施例中,所述第一事务数据同步装置100对应的应用程序与所述第二事务数据同步装置200对应的应用程序可同时存在于所述主控服务器11及所述备用服务器12中,但所述主控服务器11及所述备用服务器12各自在同一时刻仅运行一种事务数据同步装置所对应的应用程序。
当所述主控服务器11正常运行时,所述主控服务器11仅对应运行所述第一事务数据同步装置100对应的应用程序,所述备用服务器12也将仅运行所述第二事务数据同步装置200对应的应用程序。
当主控服务器11失效,所述至少一台备用服务器12中的一台备用服务器12被切换为新的主控服务器11时,新的所述主控服务器11将停止运行第二事务数据同步装置200对应的应用程序,转而运行所述第一事务数据同步装置100对应的应用程序,而与新的所述主控服务器11建立通信连接的其他备用服务器12将仍然运行所述第二事务数据同步装置200对应的应用程序。
在本实施例中,备用服务器12在被切换为新的主控服务器11,并接收到来自客户端的事务请求时,可通过网络获取各事务的执行结果以检查该备用服务器12中是否存在未完成更新的事务应用层数据,若存在则在所述第二事务数据同步装置200对应的应用程序完成对应事务应用层数据的更新同步后,停止运行所述第二事务数据同步装置200对应的应用程序,并转换为所述第一事务数据同步装置100对应的应用程序执行所述事务请求对应的事务。其中,所述事务请求包括从原主控服务器11发送来的却未曾获得对应的目标应用层修改数据的事务请求。
综上所述,在本发明实施例提供的事务数据同步方法及装置中,所述事务数据同步方法延时小,能够同步主控服务器与备用服务器的事务应用层数据,提高服务器切换效率,增强事务处理系统的可靠性。所述方法应用于事务处理系统,所述事务处理系统包括通信连接的主控服务器及至少一台备用服务器。首先,所述方法通过所述主控服务器接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据。其次,所述方法在执行与所述事务请求对应的事务的过程中,通过所述主控服务器将接收到的所述事务请求发送给所述备用服务器。接着,所述方法通过所述备用服务器接收并存储来自所述主控服务器的所述事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息。然后,所述方法在所述主控服务器完成所述事务请求对应的事务且接收到与该事务请求对应的确认信息后,通过所述主控服务器向所述备用服务器发送所述事务请求对应事务的目标应用层修改数据。最后,所述备用服务器接收所述目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,确保整个事务执行完成的时候所述主控服务器与所述备用服务器均能同步更新该事务对应的应用层数据,且事务执行过程中备用服务器也能同步获取对应的事务请求,从而降低数据同步延时,提高服务器切换效率,增强事务处理系统的可靠性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种事务数据同步方法,其特征在于,应用于事务处理系统,所述事务处理系统包括通信连接的主控服务器及至少一台备用服务器,所述方法包括:
所述主控服务器接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据;
在执行与所述事务请求对应的事务的过程中,所述主控服务器将接收到的所述事务请求发送给所述备用服务器;
所述备用服务器接收并存储来自所述主控服务器的所述事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息;
所述主控服务器在接收到与该事务请求对应的确认信息且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器发送所述事务请求对应事务的目标应用层修改数据;
所述备用服务器接收所述目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。
2.根据权利要求1所述的方法,其特征在于,所述目标应用层修改数据包括对应事务请求的特征标识,及该事务请求在所述主控服务器处对应事务的应用层修改数据,所述根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新的步骤包括:
根据所述目标应用层修改数据中的特征标识在所述备用服务器中查找对应匹配的事务请求;
根据查找到的所述事务请求从所述备用服务器中获取该事务请求对应的事务的应用层数据;
以所述目标应用层修改数据中与所述事务对应的应用层修改数据对所述应用层数据中需要调整修改的数据进行替换,并对数据替换后得到的所述应用层数据进行存储。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述备用服务器在完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器中存储的所述事务请求。
4.一种事务数据同步方法,其特征在于,应用于事务处理系统中与至少一台备用服务器通信连接的主控服务器,所述方法包括:
接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据;
在执行与所述事务请求对应的事务的过程中,将接收到的所述事务请求发送给所述备用服务器,以使所述备用服务器接收并存储所述事务请求;
接收来自所述备用服务器的用于表示已成功接收事务请求的确认信息,并判断所述确认信息是否与所述事务请求匹配;
当所述确认信息与所述事务请求匹配且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器发送所述事务请求对应事务的目标应用层修改数据,以使所述备用服务器根据所述目标应用层修改数据完成对应事务应用层数据的更新,实现事务数据同步。
5.一种事务数据同步方法,其特征在于,应用于事务处理系统中与主控服务器通信连接的备用服务器,所述方法包括:
接收并存储来自所述主控服务器的事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息;
接收来自所述主控服务器的所述事务请求对应事务的目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。
6.根据权利要求5所述的方法,其特征在于,所述目标应用层修改数据包括对应事务请求的特征标识,及该事务请求在所述主控服务器处对应事务的应用层修改数据,所述根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新的步骤包括:
根据所述目标应用层修改数据中的特征标识在所述备用服务器中查找对应匹配的事务请求;
根据所述事务请求从所述备用服务器中获取该事务请求对应的事务的应用层数据;
以所述目标应用层修改数据中与所述事务对应的应用层修改数据对所述应用层数据中需要调整修改的数据进行替换,并对数据替换后得到的所述应用层数据进行存储。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
当完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器中存储的所述事务请求。
8.一种事务数据同步装置,其特征在于,应用于事务处理系统中与至少一台备用服务器通信连接的主控服务器,所述装置包括:
事务执行模块,用于接收来自客户端的事务请求,执行与所述事务请求对应的事务,并在执行成功时存储该事务在执行过程中的应用层修改数据;
请求发送模块,用于在执行与所述事务请求对应的事务的过程中,将接收到的所述事务请求发送给所述备用服务器,以使所述备用服务器接收并存储所述事务请求;
确认匹配模块,用于接收来自所述备用服务器的用于表示已成功接收事务请求的确认信息,并判断所述确认信息是否与所述事务请求匹配;
数据发送模块,用于当所述确认信息与所述事务请求匹配且执行完所述事务请求对应的事务后,提交该事务对应的执行结果,并向发送了所述确认信息的备用服务器发送所述事务请求对应事务的目标应用层修改数据,以使所述备用服务器根据所述目标应用层修改数据完成对应事务应用层数据的更新,实现事务数据同步。
9.一种事务数据同步装置,其特征在于,应用于事务处理系统中与主控服务器通信连接的备用服务器,所述装置包括:
请求反馈模块,用于接收并存储来自所述主控服务器的事务请求,并在完成存储时向所述主控服务器发送用于表示已成功接收所述事务请求的确认信息;
数据更新模块,用于接收来自所述主控服务器的所述事务请求对应事务的目标应用层修改数据,并根据所述目标应用层修改数据对所述备用服务器中存储的与所述事务请求对应的事务应用层数据进行更新,实现事务数据同步。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
请求删除模块,用于当完成与所述事务请求对应的事务应用层数据更新后,对应删除所述备用服务器中存储的所述事务请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810383824.XA CN108572890A (zh) | 2018-04-26 | 2018-04-26 | 事务数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810383824.XA CN108572890A (zh) | 2018-04-26 | 2018-04-26 | 事务数据同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108572890A true CN108572890A (zh) | 2018-09-25 |
Family
ID=63574382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810383824.XA Pending CN108572890A (zh) | 2018-04-26 | 2018-04-26 | 事务数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108572890A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862502A (zh) * | 2006-02-14 | 2006-11-15 | 华为技术有限公司 | 实现主备节点间数据备份的方法和系统 |
CN101321187A (zh) * | 2007-06-06 | 2008-12-10 | 国际商业机器公司 | 用于备份数据的系统和方法 |
CN101706795A (zh) * | 2009-11-30 | 2010-05-12 | 上海世范软件技术有限公司 | 主备服务器上数据库数据同步方法 |
CN103138912A (zh) * | 2011-12-05 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 数据同步方法及系统 |
CN103514173A (zh) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | 数据处理的方法和节点设备 |
CN103580906A (zh) * | 2012-08-09 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
US20160088077A1 (en) * | 2014-09-18 | 2016-03-24 | Microsoft Corporation | Seamless binary object and metadata sync |
CN105933379A (zh) * | 2016-04-01 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种业务处理方法、设备及系统 |
CN107153649A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 一种数据备份方法及装置 |
US20180011767A1 (en) * | 2014-05-09 | 2018-01-11 | Commvault Systems, Inc | Load balancing across multiple data paths |
-
2018
- 2018-04-26 CN CN201810383824.XA patent/CN108572890A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862502A (zh) * | 2006-02-14 | 2006-11-15 | 华为技术有限公司 | 实现主备节点间数据备份的方法和系统 |
CN101321187A (zh) * | 2007-06-06 | 2008-12-10 | 国际商业机器公司 | 用于备份数据的系统和方法 |
CN101706795A (zh) * | 2009-11-30 | 2010-05-12 | 上海世范软件技术有限公司 | 主备服务器上数据库数据同步方法 |
CN103138912A (zh) * | 2011-12-05 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 数据同步方法及系统 |
CN103514173A (zh) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | 数据处理的方法和节点设备 |
CN103580906A (zh) * | 2012-08-09 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
US20180011767A1 (en) * | 2014-05-09 | 2018-01-11 | Commvault Systems, Inc | Load balancing across multiple data paths |
US20160088077A1 (en) * | 2014-09-18 | 2016-03-24 | Microsoft Corporation | Seamless binary object and metadata sync |
CN107153649A (zh) * | 2016-03-02 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 一种数据备份方法及装置 |
CN105933379A (zh) * | 2016-04-01 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种业务处理方法、设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120044B2 (en) | System and method for maintaining a master replica for reads and writes in a data store | |
US11894972B2 (en) | System and method for data replication using a single master failover protocol | |
CN109951331B (zh) | 用于发送信息的方法、装置和计算集群 | |
US9411873B2 (en) | System and method for splitting a replicated data partition | |
CN109327539A (zh) | 一种分布式块存储系统及其数据路由方法 | |
US8719225B1 (en) | System and method for log conflict detection and resolution in a data store | |
US7693882B2 (en) | Replicating data across the nodes in a cluster environment | |
CN110807064B (zh) | Rac分布式数据库集群系统中的数据恢复装置 | |
CN106713391B (zh) | 一种session信息的共享方法和共享系统 | |
US20190258646A1 (en) | Distributed transactions across multiple consensus groups | |
CN102317913B (zh) | 一种事务恢复方法和事务恢复装置 | |
CN107919977A (zh) | 一种基于Paxos协议的分布式一致性系统的在线扩容、在线缩容的方法和装置 | |
CN112685391B (zh) | 一种服务数据迁移方法、装置、计算机设备和存储介质 | |
CN111352943A (zh) | 实现数据一致性的方法和装置、服务器和终端 | |
CN105183544A (zh) | 一种非阻塞式容错的分布式事务提交方法及系统 | |
CN114422331B (zh) | 容灾切换方法、装置及系统 | |
US20140108367A1 (en) | Client apparatus and database server for resumable transaction and method thereof | |
CN109726211B (zh) | 一种分布式时序数据库 | |
CN105323271B (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN109964218A (zh) | 一种业务处理方法及系统 | |
CN108572890A (zh) | 事务数据同步方法及装置 | |
JPH034339A (ja) | 分散処理システムにおけるデータベース更新方式 | |
CN105989503A (zh) | 在线交易系统数据一致性的方法及系统 | |
CN109005059A (zh) | 一种实现Redis自动备份的系统及方法 | |
CN113890875B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180925 |