CN105446827A - 一种数据库故障时的数据存储方法和设备 - Google Patents

一种数据库故障时的数据存储方法和设备 Download PDF

Info

Publication number
CN105446827A
CN105446827A CN201410389882.5A CN201410389882A CN105446827A CN 105446827 A CN105446827 A CN 105446827A CN 201410389882 A CN201410389882 A CN 201410389882A CN 105446827 A CN105446827 A CN 105446827A
Authority
CN
China
Prior art keywords
data value
service identification
service
stored
described service
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
Application number
CN201410389882.5A
Other languages
English (en)
Other versions
CN105446827B (zh
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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding Ltd
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
Priority to CN201410389882.5A priority Critical patent/CN105446827B/zh
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to KR1020177002848A priority patent/KR102077898B1/ko
Priority to JP2017503894A priority patent/JP6557323B2/ja
Priority to SG11201700236WA priority patent/SG11201700236WA/en
Priority to PCT/US2015/044319 priority patent/WO2016022976A1/en
Priority to ES15829030T priority patent/ES2846851T3/es
Priority to PL15829030T priority patent/PL3178022T3/pl
Priority to US14/821,385 priority patent/US10210055B2/en
Priority to EP15829030.4A priority patent/EP3178022B1/en
Publication of CN105446827A publication Critical patent/CN105446827A/zh
Application granted granted Critical
Publication of CN105446827B publication Critical patent/CN105446827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Abstract

本申请公开了一种数据库故障时的数据存储方法和设备,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,方法包括以下步骤:当主用数据库发生故障时,业务处理服务器确定M秒之内的业务请求,并对业务请求进行业务处理,以得到对应的业务标识以及数据变动值;所述业务处理服务器判断备用数据库中是否存储有对应于业务标识的数据值;如果否,则所述业务处理服务器利用读数据库中存储的数据值以及数据变动值确定对应于业务标识的准确数据值;所述业务处理服务器将业务标识以及准确数据值存储到备用数据库中,以通过备用数据库中存储的数据值提供服务。本申请实施例中,避免业务发生中断,并可以提高用户的使用感受。

Description

一种数据库故障时的数据存储方法和设备
技术领域
本申请涉及了互联网技术领域,尤其是涉及了一种数据存储方法和设备,特别是涉及了一种数据库故障时的数据存储方法和设备。
背景技术
业务处理服务器在收到来自上游服务器的业务请求之后,对业务请求进行业务处理,并利用业务处理的结果更新主用数据库中存储的数据值。例如,主用数据库主要用于存储账户余额,上游服务器用于对用户的支付行为进行处理时,假如用户A的支付行为是消费了100元,则上游服务器向业务处理服务器发送业务请求,该业务请求用于将用户A的账户余额减100元。业务处理服务器在收到该业务请求后,利用业务请求进行业务处理,即业务处理为将用户A的账户余额减100元。进一步的,假设用户A在主用数据库中对应的账户余额为1000元,则业务处理服务器需要将用户A在主用数据库中存储的账户余额1000元减100元,将主用数据库中存储的用户A的账户余额更新为900元。
现有技术中,当主用数据库发生故障时,需要停止通过主用数据库提供服务,并等待主用数据库恢复,一直到主用数据库恢复后,才继续通过主用数据库提供服务,以保障数据的准确性。但是,当主用数据库发生故障时,业务处理服务器将无法获取到主用数据库中的数据值,也无法基于主用数据库中存储的数据值进行业务处理,从而导致业务中断,影响用户使用感受。
发明内容
本申请实施例提供一种数据库故障时的数据存储方法和设备,以在主用数据库发生故障时,避免业务发生中断,并可以提高用户的使用感受。
本申请实施例提供一种数据库故障时的数据存储方法,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,所述方法包括以下步骤:
当主用数据库发生故障时,业务处理服务器确定M秒之内的业务请求,并对所述业务请求进行业务处理,以得到对应的业务标识以及数据变动值;
所述业务处理服务器判断备用数据库中是否存储有对应于所述业务标识的数据值;如果否,则所述业务处理服务器利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值;
所述业务处理服务器将所述业务标识以及所述准确数据值存储到所述备用数据库中,以通过所述备用数据库中存储的数据值提供服务。
所述业务处理服务器确定M秒之内的业务请求的过程,具体包括:
所述业务处理服务器通知上游服务器将M秒之内发起的业务请求重新发起一次,由所述上游服务器重新发送M秒之内已经发起过的业务请求;
所述业务处理服务器接收来自所述上游服务器的业务请求,并确定所述业务请求为所述上游服务器重新发送的M秒之内已经发起过的业务请求。
所述业务处理服务器判断备用数据库中是否存储有对应于所述业务标识的数据值之前,所述方法还包括:
所述业务处理服务器判断所述读数据库中是否存储有对应于所述业务标识的数据值;如果已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述读数据库中,并丢弃当前得到的业务标识以及数据变动值;如果没有存储对应于所述业务标识的数据值,则执行判断备用数据库中是否存储有对应于所述业务标识的数据值的步骤。
所述业务处理服务器判断备用数据库中是否存储有对应于所述业务标识的数据值之后,所述方法还包括:
如果所述备用数据库中已经存储有对应于所述业务标识的数据值,则所述业务处理服务器确定对应于所述业务标识的准确数据值已经存储在所述备用数据库中,并丢弃当前得到的业务标识以及数据变动值。
所述业务处理服务器利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值的过程,具体包括:
当所述读数据库中没有存储对应于所述业务标识的数据值时,所述业务处理服务器获得所述业务请求在所述读数据库中对应的数据值,并确定所述业务请求在所述读数据库中对应的数据值与所述数据变动值之和为对应于所述业务标识的准确数据值;或者,当所述读数据库中已经存储有对应于所述业务标识的数据值时,所述业务处理服务器确定所述读数据库中存储的对应于所述业务标识的数据值为对应于所述业务标识的准确数据值。
所述业务处理服务器将所述业务标识以及所述准确数据值存储到所述备用数据库中,之后还包括:
当主用数据库故障恢复时,所述业务处理服务器将备用数据库中存储的数据值恢复到主用数据库中,并通过主用数据库中存储的数据值提供服务。
本申请实施例提供一种业务处理服务器,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,所述业务处理服务器具体包括:
获得模块,用于当主用数据库发生故障时,确定M秒之内的业务请求,并对所述业务请求进行业务处理,以得到对应的业务标识以及数据变动值;
判断模块,用于判断备用数据库中是否存储有对应于业务标识的数据值;
确定模块,用于当判断结果为否时,利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值;
存储模块,用于将所述业务标识以及所述准确数据值存储到所述备用数据库中,以通过所述备用数据库中存储的数据值提供服务。
所述获得模块,具体用于在确定M秒之内的业务请求时,通知上游服务器将M秒之内发起的业务请求重新发起一次,由上游服务器重新发送M秒之内已经发起过的业务请求;接收来自所述上游服务器的业务请求,并确定所述业务请求为所述上游服务器重新发送的M秒之内已经发起过的业务请求。
所述判断模块,进一步用于在判断备用数据库中是否存储有对应于所述业务标识的数据值之前,判断所述读数据库中是否存储有对应于所述业务标识的数据值;如果已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述读数据库中,并丢弃当前得到的业务标识以及数据变动值;如果没有存储对应于所述业务标识的数据值,则执行判断备用数据库中是否存储有对应于所述业务标识的数据值的过程。
所述判断模块,进一步用于在判断所述备用数据库中是否存储有对应于所述业务标识的数据值之后,如果所述备用数据库中已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述备用数据库中,并丢弃当前得到的业务标识以及数据变动值。
所述确定模块,具体用于在利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值时,当所述读数据库中没有存储对应于所述业务标识的数据值时,获得所述业务请求在所述读数据库中对应的数据值,并确定所述业务请求在所述读数据库中对应的数据值与所述数据变动值之和为对应于所述业务标识的准确数据值;或者,当所述读数据库中已经存储有对应于所述业务标识的数据值时,确定所述读数据库中存储的对应于所述业务标识的数据值为对应于所述业务标识的准确数据值。
所述存储模块,还用于在将所述业务标识以及所述准确数据值存储到所述备用数据库之后,当主用数据库故障恢复时,将备用数据库中存储的数据值恢复到主用数据库中,并通过主用数据库中存储的数据值提供服务。
与现有技术相比,本申请实施例至少具有以下优点:本申请实施例中,当主用数据库发生故障时,业务处理服务器能够通过读数据库中存储的数据值确定准确数据值,并将准确数据值存储到备用数据库中,从而在主用数据库发生故障且等待主用数据库恢复的过程中,能够通过备用数据库中存储的数据值提供服务,使得业务处理服务器可以从备用数据库中获得准确的数据值来进行业务处理,继而避免业务发生中断,并可以提高用户的使用感受。
附图说明
为了更加清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请实施例中提出的应用场景示意图;
图2是本申请实施例一提供的一种数据库故障时的数据存储方法流程图;
图3是本申请实施例二提供的一种业务处理服务器的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
针对现有技术中存在的问题,本申请实施例提供一种数据库故障时的数据存储方法,以图1为本申请实施例的应用场景示意图,该方法应用于包括业务处理服务器、上游服务器和至少三个数据库的系统中。上游服务器的数量可以为一个或者多个。三个数据库中包括一个主用数据库、一个读数据库和一个备用数据库,读数据库为主用数据库对应的同步延迟较低的读数据库。
如图1所示,业务处理服务器分别与主用数据库、读数据库和备用数据库连接,主用数据库与读数据库连接,且主用数据库与备用数据库连接。
其中,当主用数据库未发生故障时,由主用数据库提供读写服务,即业务处理服务器可以在主用数据库中写入数据,也可以从主用数据库中读出数据。当主用数据库发生故障时,由备用数据库提供读写服务,即业务处理服务器可以在备用数据库中写入数据,也可以从备用数据库中读出数据。读数据库作为主用数据库的备份数据库,当主用数据库未发生故障时,主用数据库中的数据均需要同步到读数据库中,该读数据库只提供读服务,即业务处理服务器只可以从读数据库中读出数据,而不能在读数据库中写入数据。因此,读数据库是一个为主用数据库提供备份功能,且只提供读服务的数据库。
本申请实施例中,当主用数据库未发生故障时,使用主用数据库中存储的数据值提供服务,且主用数据库中存储的所有数据值均需要同步到读数据库中。其中,在将主用数据库中存储的数据值同步到读数据库时,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,即在主用数据库中存储了新的数据值或者主用数据库中存储的数据值发生变化之后,主用数据库会在M秒之内将存储的新数据值或者发生变化之后的数据值同步到读数据库中。基于此,主用数据库与读数据库中的数据值不一致的时长最多为M秒,且主用数据库中的数据值与读数据库中的数据值最终会达到一致。
在具体实现中,M秒的值通常为1秒。当然,在不同的应用场景下,M秒的值通常会基于主用数据库的性能等因素决定,对此不再详加赘述。
本申请实施例中,当主用数据库发生故障时,在主用数据库故障恢复前,使用备用数据库存储数据值,并使用备用数据库中存储的数据值提供服务。
在上述应用场景下,如图2所示,当主用数据库发生故障时,则本申请实施例提出的数据库故障时的数据存储方法具体可以包括以下步骤:
步骤201,业务处理服务器确定M秒之内的业务请求,并对该业务请求进行业务处理,以得到对应的业务标识以及数据变动值。
本申请实施例中,业务处理服务器确定M秒之内的业务请求的过程,具体包括但不限于以下步骤:业务处理服务器通知上游服务器将M秒之内发起的业务请求重新发起一次,由上游服务器重新发送M秒之内已经发起过的业务请求;之后,业务处理服务器接收来自上游服务器的业务请求,并确定该业务请求为上游服务器重新发送的M秒之内已经发起过的业务请求。
其中,当主用数据库发生故障时,业务处理服务器通知所有与本业务处理服务器进行交互的上游服务器(即与本业务处理服务器连接的所有上游服务器)将M秒之内发起的业务请求重新发起一次。上游服务器在接收到该通知之后,查询本上游服务器在M秒之内向业务处理服务器发送过哪些业务请求,并向业务处理服务器重新发送M秒之内已经发起过的业务请求。例如,假设上游服务器在M秒之内向业务处理服务器发送过业务请求1,则上游服务器向业务处理服务器重新发送业务请求1。之后,业务处理服务器接收来自上游服务器的重新发送的M秒之内已经发起过的业务请求1。
在本申请实施例中,业务处理服务器每次对业务请求进行业务处理时,业务处理服务器均可以得到该业务请求对应的业务标识(如交易号)以及数据变动值。其中,业务请求对应的业务标识又可以称为幂等性控制号。
例如,主用数据库主要用于存储账户余额,上游服务器用于对用户的支付行为进行处理时,假如用户A的支付行为是消费了100元,则上游服务器向业务处理服务器发送业务请求1,该业务请求1用于将用户A的账户余额减100元。业务处理服务器在接收到该业务请求1之后,利用业务请求1进行业务处理,即业务处理为将用户A的账户余额减100元,且假设此次业务处理对应的业务标识为123456。进一步的,假设用户A在主用数据库中对应的账户余额为1000元,则业务处理服务器需要将用户A在主用数据库中存储的账户余额1000元减100元,并在主用数据库中存储用户A的账户余额为900元,并在主用数据库中记录此次业务处理对应的业务标识,如123456。
当主用数据库发生故障时,业务处理服务器通知所有上游服务器将M秒之内发起的业务请求重新发起一次,上游服务器在接收到该通知之后,向业务处理服务器重新发送业务请求1,该业务请求1用于将用户A的账户余额减100元。业务处理服务器在接收到上游服务器重新发送的业务请求1之后,利用业务请求1进行业务处理,即业务处理为将用户A的账户余额减100元。在此利用业务请求进行业务处理的过程中,业务处理服务器得到对应的业务标识为123456,业务处理服务器得到对应的数据变动值为减100元。
步骤202,业务处理服务器判断备用数据库中是否存储有对应于该业务标识的数据值;如果是,则执行步骤203;如果否,则执行步骤204。
本申请实施例中,当主用数据库发生故障时,将使用备用数据库存储数据值,并使用备用数据库中存储的数据值提供服务。因此,业务处理服务器在对业务请求进行业务处理,以得到对应的业务标识以及数据变动值之后,将判断备用数据库中是否存储有对应于该业务标识的数据值;如果是,则说明对应于该业务标识的准确数据值已经存储在备用数据库中,执行步骤203;如果否,则说明对应于该业务标识的准确数据值没有存储在备用数据库中,执行步骤204。例如,业务处理服务器判断备用数据库中是否存储有对应于业务标识123456的数据值;如果是,则执行步骤203;如果否,则执行步骤204。
本申请实施例中,业务处理服务器判断备用数据库中是否存储有对应于业务标识(如123456)的数据值之前,业务处理服务器还可以判断读数据库中是否存储有对应于该业务标识(如123456)的数据值。如果读数据库中已经存储有对应于该业务标识的数据值,则确定对应于该业务标识的准确数据值已经存储在读数据库中;基于此,业务处理服务器可以直接丢弃当前得到的业务标识以及数据变动值,不再执行步骤202,针对业务请求的处理结束;或者,业务处理服务器也可以执行“判断备用数据库中是否存储有对应于业务标识的数据值”的步骤,即执行上述步骤202。如果读数据库中没有存储对应于该业务标识的数据值,则业务处理服务器需要执行“判断备用数据库中是否存储有对应于业务标识的数据值”的步骤,即执行上述步骤202。
步骤203,业务处理服务器确定对应于该业务标识的准确数据值已经存储在备用数据库中,并丢弃当前得到的业务标识以及数据变动值。
本申请实施例中,当备用数据库中已经存储有对应于该业务标识的数据值时,则说明对应于该业务标识的准确数据值已经存储在备用数据库中,即之前已经在备用数据库中存储了准确数据值以及业务标识,因此,业务处理服务器不再需要将业务标识以及对应的准确数据值存储到备用数据库中,业务处理服务器可以直接丢弃当前得到的业务标识以及数据变动值。
步骤204,业务处理服务器利用读数据库中存储的数据值以及数据变动值确定对应于该业务标识的准确数据值,并将该业务标识以及该准确数据值存储到备用数据库中,以通过该备用数据库中存储的数据值提供服务。
本申请实施例中,当主用数据库发生故障时,由于主用数据库未发生故障时,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,因此主用数据库发生故障之前的M秒之前存储的所有数据值均已经同步到读数据库中,这些数据值不再需要存储到备用数据库中。对于主用数据库发生故障之前的M秒内存储的数据值,可能已经同步到读数据库中,也可能还没有同步到读数据库中。因此,主用数据库发生故障之前的M秒内存储的数据值,需要存储到备用数据库中,以通过备用数据库提供准确的数据值。为了将主用数据库发生故障之前的M秒内存储的数据值存储到备用数据库中,执行上述步骤201-步骤204,以最终将业务标识以及准确数据值存储到备用数据库。
本申请实施例中,当主用数据库发生故障时,对于主用数据库发生故障之后产生的数据值,业务处理服务器直接在备用数据库中存储相应的数据值。
本申请实施例中,业务处理服务器利用读数据库中存储的数据值以及数据变动值确定对应于业务标识的准确数据值的过程,具体包括但不限于如下方式:当读数据库中没有存储对应于业务标识的数据值时,业务处理服务器获得业务请求在读数据库中对应的数据值,并确定业务请求在读数据库中对应的数据值与数据变动值之和为对应于业务标识的准确数据值;或者,当读数据库中已经存储有对应于业务标识的数据值时,业务处理服务器确定读数据库中存储的对应于业务标识的数据值为对应于业务标识的准确数据值。
例如,业务处理服务器得到对应的业务标识为123456,得到对应的数据变动值为减100元之后,首先,业务处理服务器判断备用数据库中是否存储有对应于业务标识123456的数据值;其中,如果步骤201之前已经对业务请求1进行过业务处理,并将业务处理得到的业务标识123456和数据值存储到备用数据库中,则备用数据库中将存储有对应于业务标识123456的数据值;否则,备用数据库中将没有对应于业务标识123456的数据值。其次,假设备用数据库中没有对应于业务标识123456的数据值,则业务处理服务器判断读数据库中是否存储有对应于业务标识123456的数据值;当读数据库中没有存储对应于业务标识123456的数据值时,业务处理服务器获得业务请求在读数据库中对应的数据值,即用户A的账户余额为1000元,并确定业务请求在读数据库中对应的数据值(1000元)与数据变动值(-100元)之和为对应于业务标识123456的准确数据值,即准确数据值为900元;当读数据库中已经存储有对应于业务标识123456的数据值时,业务处理服务器确定读数据库中存储的对应于业务标识123456的数据值(即用户A的账户余额为900元)为对应于业务标识123456的准确数据值,即准确数据值为900元。之后,业务处理服务器将业务标识123456以及准确数据值900元存储到备用数据库中。
本申请实施例中,业务处理服务器将业务标识和准确数据值存储到备用数据库后,当主用数据库故障恢复时,业务处理服务器将备用数据库中存储的数据值恢复到主用数据库中,并通过主用数据库中存储的数据值提供服务。
综上所述,本申请实施例至少具有以下优点:本申请实施例中,当主用数据库发生故障时,业务处理服务器能够通过读数据库中存储的数据值确定准确数据值,并将准确数据值存储到备用数据库中,从而在主用数据库发生故障且等待主用数据库恢复的过程中,能够通过备用数据库中存储的数据值提供服务,使得业务处理服务器可以从备用数据库中获得准确的数据值来进行业务处理,继而避免业务发生中断,并可以提高用户的使用感受。
实施例二
基于与上述方法同样的申请构思,本申请实施例还提供一种业务处理服务器,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,如图3所示,所述业务处理服务器具体包括:获得模块11,用于当主用数据库发生故障时,确定M秒之内的业务请求,并对所述业务请求进行业务处理,以得到对应的业务标识以及数据变动值;判断模块12,用于判断备用数据库中是否存储有对应于业务标识的数据值;确定模块13,用于当判断结果为否时,利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值;存储模块14,用于将所述业务标识以及所述准确数据值存储到所述备用数据库中,以通过所述备用数据库中存储的数据值提供服务。
所述获得模块11,具体用于在确定M秒之内的业务请求时,通知上游服务器将M秒之内发起的业务请求重新发起一次,由上游服务器重新发送M秒之内已经发起过的业务请求;接收来自所述上游服务器的业务请求,确定所述业务请求为所述上游服务器重新发送的M秒之内已经发起过的业务请求。
所述判断模块12,进一步用于在判断备用数据库中是否存储有对应于所述业务标识的数据值之前,判断所述读数据库中是否存储有对应于所述业务标识的数据值;如果已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述读数据库中,并丢弃当前得到的业务标识以及数据变动值;如果没有存储对应于所述业务标识的数据值,则执行判断备用数据库中是否存储有对应于所述业务标识的数据值的过程。
所述判断模块12,进一步用于在判断所述备用数据库中是否存储有对应于所述业务标识的数据值之后,如果所述备用数据库中已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述备用数据库中,并丢弃当前得到的业务标识以及数据变动值。
所述确定模块13,具体用于在利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值时,当所述读数据库中没有存储对应于所述业务标识的数据值时,获得所述业务请求在所述读数据库中对应的数据值,并确定所述业务请求在所述读数据库中对应的数据值与所述数据变动值之和为对应于所述业务标识的准确数据值;或者,当所述读数据库中已经存储有对应于所述业务标识的数据值时,确定所述读数据库中存储的对应于所述业务标识的数据值为对应于所述业务标识的准确数据值。
所述存储模块14,还用于在将所述业务标识以及所述准确数据值存储到所述备用数据库之后,当主用数据库故障恢复时,将备用数据库中存储的数据值恢复到主用数据库中,并通过主用数据库中存储的数据值提供服务。
其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (12)

1.一种数据库故障时的数据存储方法,其特征在于,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,所述方法包括以下步骤:
当主用数据库发生故障时,业务处理服务器确定M秒之内的业务请求,并对所述业务请求进行业务处理,以得到对应的业务标识以及数据变动值;
所述业务处理服务器判断备用数据库中是否存储有对应于所述业务标识的数据值;如果否,则所述业务处理服务器利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值;
所述业务处理服务器将所述业务标识以及所述准确数据值存储到所述备用数据库中,以通过所述备用数据库中存储的数据值提供服务。
2.如权利要求1所述的方法,其特征在于,所述业务处理服务器确定M秒之内的业务请求的过程,具体包括以下步骤:
所述业务处理服务器通知上游服务器将M秒之内发起的业务请求重新发起一次,由所述上游服务器重新发送M秒之内已经发起过的业务请求;
所述业务处理服务器接收来自所述上游服务器的业务请求,并确定所述业务请求为所述上游服务器重新发送的M秒之内已经发起过的业务请求。
3.如权利要求1所述的方法,其特征在于,所述业务处理服务器判断备用数据库中是否存储有对应于所述业务标识的数据值之前,所述方法还包括:
所述业务处理服务器判断所述读数据库中是否存储有对应于所述业务标识的数据值;如果已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述读数据库中,并丢弃当前得到的业务标识以及数据变动值;如果没有存储对应于所述业务标识的数据值,则执行判断备用数据库中是否存储有对应于所述业务标识的数据值的步骤。
4.如权利要求1所述的方法,其特征在于,所述业务处理服务器判断备用数据库中是否存储有对应于所述业务标识的数据值之后,所述方法还包括:
如果所述备用数据库中已经存储有对应于所述业务标识的数据值,则所述业务处理服务器确定对应于所述业务标识的准确数据值已经存储在所述备用数据库中,并丢弃当前得到的业务标识以及数据变动值。
5.如权利要求1所述的方法,其特征在于,
所述业务处理服务器利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值的过程,具体包括:
当所述读数据库中没有存储对应于所述业务标识的数据值时,所述业务处理服务器获得所述业务请求在所述读数据库中对应的数据值,并确定所述业务请求在所述读数据库中对应的数据值与所述数据变动值之和为对应于所述业务标识的准确数据值;或者,当所述读数据库中已经存储有对应于所述业务标识的数据值时,所述业务处理服务器确定所述读数据库中存储的对应于所述业务标识的数据值为对应于所述业务标识的准确数据值。
6.如权利要求1所述的方法,其特征在于,所述业务处理服务器将所述业务标识以及所述准确数据值存储到所述备用数据库中,之后还包括:
当主用数据库故障恢复时,所述业务处理服务器将备用数据库中存储的数据值恢复到主用数据库中,并通过主用数据库中存储的数据值提供服务。
7.一种业务处理服务器,其特征在于,主用数据库中存储的数据值需要在M秒之内同步到读数据库中,所述业务处理服务器具体包括:
获得模块,用于当主用数据库发生故障时,确定M秒之内的业务请求,并对所述业务请求进行业务处理,以得到对应的业务标识以及数据变动值;
判断模块,用于判断备用数据库中是否存储有对应于业务标识的数据值;
确定模块,用于当判断结果为否时,利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值;
存储模块,用于将所述业务标识以及所述准确数据值存储到所述备用数据库中,以通过所述备用数据库中存储的数据值提供服务。
8.如权利要求7所述的业务处理服务器,其特征在于,
所述获得模块,具体用于在确定M秒之内的业务请求时,通知上游服务器将M秒之内发起的业务请求重新发起一次,由上游服务器重新发送M秒之内已经发起过的业务请求;接收来自所述上游服务器的业务请求,并确定所述业务请求为所述上游服务器重新发送的M秒之内已经发起过的业务请求。
9.如权利要求7所述的业务处理服务器,其特征在于,
所述判断模块,进一步用于在判断备用数据库中是否存储有对应于所述业务标识的数据值之前,判断所述读数据库中是否存储有对应于所述业务标识的数据值;如果已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述读数据库中,并丢弃当前得到的业务标识以及数据变动值;如果没有存储对应于所述业务标识的数据值,则执行判断备用数据库中是否存储有对应于所述业务标识的数据值的过程。
10.如权利要求7所述的业务处理服务器,其特征在于,
所述判断模块,进一步用于在判断所述备用数据库中是否存储有对应于所述业务标识的数据值之后,如果所述备用数据库中已经存储有对应于所述业务标识的数据值,则确定对应于所述业务标识的准确数据值已经存储在所述备用数据库中,并丢弃当前得到的业务标识以及数据变动值。
11.如权利要求7所述的业务处理服务器,其特征在于,
所述确定模块,具体用于在利用所述读数据库中存储的数据值以及所述数据变动值确定对应于所述业务标识的准确数据值时,当所述读数据库中没有存储对应于所述业务标识的数据值时,获得所述业务请求在所述读数据库中对应的数据值,并确定所述业务请求在所述读数据库中对应的数据值与所述数据变动值之和为对应于所述业务标识的准确数据值;或者,当所述读数据库中已经存储有对应于所述业务标识的数据值时,确定所述读数据库中存储的对应于所述业务标识的数据值为对应于所述业务标识的准确数据值。
12.如权利要求7所述的业务处理服务器,其特征在于,
所述存储模块,还用于在将所述业务标识以及所述准确数据值存储到所述备用数据库之后,当主用数据库故障恢复时,将备用数据库中存储的数据值恢复到主用数据库中,并通过主用数据库中存储的数据值提供服务。
CN201410389882.5A 2014-08-08 2014-08-08 一种数据库故障时的数据存储方法和设备 Active CN105446827B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201410389882.5A CN105446827B (zh) 2014-08-08 2014-08-08 一种数据库故障时的数据存储方法和设备
JP2017503894A JP6557323B2 (ja) 2014-08-08 2015-08-07 データベース障害時のデータ記憶
SG11201700236WA SG11201700236WA (en) 2014-08-08 2015-08-07 Data storage upon database failure
PCT/US2015/044319 WO2016022976A1 (en) 2014-08-08 2015-08-07 Data storage upon database failure
KR1020177002848A KR102077898B1 (ko) 2014-08-08 2015-08-07 데이터베이스 고장 시의 데이터 저장
ES15829030T ES2846851T3 (es) 2014-08-08 2015-08-07 Almacenamiento de datos tras fallo de base de datos
PL15829030T PL3178022T3 (pl) 2014-08-08 2015-08-07 Przechowywanie danych po awarii bazy danych
US14/821,385 US10210055B2 (en) 2014-08-08 2015-08-07 Method and system for data storage upon database failure
EP15829030.4A EP3178022B1 (en) 2014-08-08 2015-08-07 Data storage upon database failure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410389882.5A CN105446827B (zh) 2014-08-08 2014-08-08 一种数据库故障时的数据存储方法和设备

Publications (2)

Publication Number Publication Date
CN105446827A true CN105446827A (zh) 2016-03-30
CN105446827B CN105446827B (zh) 2018-12-14

Family

ID=55264669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410389882.5A Active CN105446827B (zh) 2014-08-08 2014-08-08 一种数据库故障时的数据存储方法和设备

Country Status (9)

Country Link
US (1) US10210055B2 (zh)
EP (1) EP3178022B1 (zh)
JP (1) JP6557323B2 (zh)
KR (1) KR102077898B1 (zh)
CN (1) CN105446827B (zh)
ES (1) ES2846851T3 (zh)
PL (1) PL3178022T3 (zh)
SG (1) SG11201700236WA (zh)
WO (1) WO2016022976A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201826A (zh) * 2016-07-13 2016-12-07 焦点科技股份有限公司 一种诊断Oracle数据库大事务和热点事务的方法
CN107943619A (zh) * 2017-12-08 2018-04-20 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的方法
CN108089944A (zh) * 2017-12-08 2018-05-29 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的系统
CN108089945A (zh) * 2017-12-08 2018-05-29 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的方法和系统
CN109271277A (zh) * 2017-07-17 2019-01-25 阿里巴巴集团控股有限公司 数据库宕机后的访问方法、装置和系统
CN114244690A (zh) * 2021-12-30 2022-03-25 深圳市潮流网络技术有限公司 故障处理方法、装置、网络设备和存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909486B (zh) * 2016-08-03 2020-04-17 阿里巴巴集团控股有限公司 处理业务异常的方法、装置及系统
US10810662B1 (en) * 2016-11-10 2020-10-20 Amazon Technologies, Inc. Utilizing time-series tables for tracking accumulating values
CN106776753B (zh) * 2016-11-14 2020-08-21 平安科技(深圳)有限公司 业务数据处理方法及装置
CN110298666B (zh) * 2019-06-21 2022-08-30 网联清算有限公司 交易处理过程中的异常处理方法及装置
CN111835846B (zh) * 2020-07-09 2022-10-11 北京字节跳动网络技术有限公司 信息更新方法、装置和电子设备
US11409605B2 (en) 2020-10-20 2022-08-09 Sap Se Failover system for database unavailability

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998040827A1 (en) * 1997-03-14 1998-09-17 Lakeview Technology Method and system for defining transactions from a database log
US7437609B2 (en) * 2002-05-22 2008-10-14 Oracle International Corporation Reliable standby database failover
US20110041006A1 (en) * 2009-08-12 2011-02-17 New Technology/Enterprise Limited Distributed transaction processing
CN102299904A (zh) * 2010-06-23 2011-12-28 阿里巴巴集团控股有限公司 一种实现业务数据备份的系统及方法
CN102891849A (zh) * 2012-09-25 2013-01-23 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799323A (en) 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6751636B1 (en) 2000-12-05 2004-06-15 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple instances of a database
US7464113B1 (en) * 2001-05-10 2008-12-09 Oracle International Corporations Disaster recovery with bounded data loss
JP4289056B2 (ja) * 2003-03-27 2009-07-01 株式会社日立製作所 計算機システム間のデータ二重化制御方法
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
JP4452533B2 (ja) * 2004-03-19 2010-04-21 株式会社日立製作所 システムおよび記憶装置システム
US7499954B2 (en) 2004-11-01 2009-03-03 International Business Machines Corporation Consistent reintegration of a failed primary instance
US7519859B2 (en) * 2005-08-30 2009-04-14 International Business Machines Corporation Fault recovery for transaction server
US7711712B2 (en) 2007-03-12 2010-05-04 Hitachi, Ltd. System and method for managing consistency among volumes based on application information
US8086564B2 (en) * 2007-12-12 2011-12-27 Oracle International Corporation Techniques for the logical replication of high-level procedures
JP5691246B2 (ja) * 2010-05-27 2015-04-01 富士通株式会社 データベース二重化システム、情報処理装置及びデータベース二重化方法
US8490088B2 (en) * 2010-09-10 2013-07-16 International Business Machines Corporation On demand virtual machine image streaming
US8667033B1 (en) 2011-05-14 2014-03-04 Gopivotal, Inc. Persistent file system objects for management of databases
US8775381B1 (en) 2011-05-14 2014-07-08 Pivotal Software, Inc. Parallel database mirroring
US8850261B2 (en) * 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US20150006478A1 (en) 2013-06-28 2015-01-01 Silicon Graphics International Corp. Replicated database using one sided rdma

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998040827A1 (en) * 1997-03-14 1998-09-17 Lakeview Technology Method and system for defining transactions from a database log
US7437609B2 (en) * 2002-05-22 2008-10-14 Oracle International Corporation Reliable standby database failover
US20110041006A1 (en) * 2009-08-12 2011-02-17 New Technology/Enterprise Limited Distributed transaction processing
CN102299904A (zh) * 2010-06-23 2011-12-28 阿里巴巴集团控股有限公司 一种实现业务数据备份的系统及方法
CN102891849A (zh) * 2012-09-25 2013-01-23 北京星网锐捷网络技术有限公司 业务数据同步方法、恢复方法及装置和网络设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201826A (zh) * 2016-07-13 2016-12-07 焦点科技股份有限公司 一种诊断Oracle数据库大事务和热点事务的方法
CN109271277A (zh) * 2017-07-17 2019-01-25 阿里巴巴集团控股有限公司 数据库宕机后的访问方法、装置和系统
CN109271277B (zh) * 2017-07-17 2022-03-08 阿里巴巴集团控股有限公司 数据库宕机后的访问方法、装置和系统
CN107943619A (zh) * 2017-12-08 2018-04-20 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的方法
CN108089944A (zh) * 2017-12-08 2018-05-29 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的系统
CN108089945A (zh) * 2017-12-08 2018-05-29 四川金英科技有限责任公司 一种在数据库故障条件下保证数据完整性的方法和系统
CN114244690A (zh) * 2021-12-30 2022-03-25 深圳市潮流网络技术有限公司 故障处理方法、装置、网络设备和存储介质

Also Published As

Publication number Publication date
PL3178022T3 (pl) 2021-05-17
EP3178022B1 (en) 2020-12-02
US10210055B2 (en) 2019-02-19
ES2846851T3 (es) 2021-07-29
WO2016022976A1 (en) 2016-02-11
EP3178022A4 (en) 2018-01-24
KR102077898B1 (ko) 2020-02-14
EP3178022A1 (en) 2017-06-14
CN105446827B (zh) 2018-12-14
SG11201700236WA (en) 2017-02-27
US20160041886A1 (en) 2016-02-11
JP2017524190A (ja) 2017-08-24
KR20170041712A (ko) 2017-04-17
JP6557323B2 (ja) 2019-08-07

Similar Documents

Publication Publication Date Title
CN105446827A (zh) 一种数据库故障时的数据存储方法和设备
CN106878473B (zh) 一种消息处理方法、服务器集群及系统
CN108470298B (zh) 资源数值转移的方法、装置和系统
EP3822790B1 (en) Data processing method and device
CN103186466B (zh) 基于关联测试用例自动生成的信息交互测试装置及方法
CN109949111A (zh) 电子票据标识分配方法、电子票据生成方法、装置及系统
CN109308227B (zh) 故障检测控制方法及相关设备
CN106294073B (zh) 服务调用方法及装置
CN104778102A (zh) 一种主备切换方法及系统
CN107005435B (zh) 一种网络服务描述符上架方法及装置
CN104301142A (zh) 一种配置文件的备份方法和设备
CN110708196B (zh) 数据处理方法及装置
CN105447029A (zh) 一种数据库故障时的业务处理方法和设备
KR20130123482A (ko) 데이터 동기화를 위한 타임 스탬프 관리 방법 및 그 단말
CN108664521B (zh) 一种提供序列号的方法、装置、电子设备和可读存储介质
CN104090839A (zh) 异常场景模拟测试方法及装置
CN103281798A (zh) 一种实现修改同步的方法、装置及系统
US11102284B2 (en) Service processing methods and systems based on a consortium blockchain network
WO2017034898A1 (en) Global logical timestamp
CN108536588A (zh) 一种测试app程序的方法和系统
CN102739446A (zh) 选择网络时间协议服务器的方法和装置
CN107526652B (zh) 一种数据同步方法及存储设备
CN114647531B (zh) 故障解决方法、故障解决系统、电子设备及存储介质
CN112799879B (zh) 节点的故障处理方法、装置、设备和存储介质
CN107203915B (zh) 数据存储方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200928

Address after: 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200928

Address after: 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240222

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: United Kingdom

TR01 Transfer of patent right