CN111782721B - 一种数据同步方法、装置、电子设备及存储介质 - Google Patents
一种数据同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111782721B CN111782721B CN202010385944.0A CN202010385944A CN111782721B CN 111782721 B CN111782721 B CN 111782721B CN 202010385944 A CN202010385944 A CN 202010385944A CN 111782721 B CN111782721 B CN 111782721B
- Authority
- CN
- China
- Prior art keywords
- statement
- business
- transaction
- mark
- routing information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 20
- 230000001360 synchronised effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据同步方法、装置、电子设备及存储介质,用于改善难以实现基于数据库中间件的数据同步的问题。该方法包括:获得业务语句和标记语句,标记语句不包括路由信息;解析业务语句中的第一路由信息;根据第一路由信息生成注解语句;根据注解语句、标记语句和业务语句生成第一业务事务,业务事务表征标记语句和业务语句均被执行成功或均被执行失败,第一业务事务用于在被解析时,根据从注解语句解析出的第一路由信息发送业务语句和标记语句,业务语句和标记语句用于被执行时进行数据同步。
Description
技术领域
本申请涉及数据处理和数据库同步的技术领域,具体而言,涉及一种数据同步方法、装置、电子设备及存储介质。
背景技术
数据库(DataBase,DB),是指存储电子数据或者电子文件的集合,简而言之可视为电子化的文件柜,用户可以对文件中的数据运行新增、截取、更新、删除等操作;这里的数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合;数据库包括关系型数据库和非关系型数据库。
关系型数据库是指采用关系模型来组织数据的数据库,关系型数据库以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,常见的关系型数据库例如:Mysql、PostgreSQL、Oracle和SQLSever等。
事务,是指在计算机科学中无法被分割的操作,事务处理就是被分割为个体的信息处理;事务必须作为一个完整的单元成功或失败,不可能存在部分完成的事务;事务处理是被设计用来维持系统的完整性在一个已知且一致的状态;具体过程是通过确保系统中的独立操作全部成功完成或是全部成功取消。
目前,通常业务语句和标记语句在同一个事务中,使用单个实例数据库能够很好地执行在同一个事务的业务语句和标记语句;然而在具体的实践过程中发现,在使用数据库中间件代理多个实例数据库执行在同一个事务的业务语句和标记语句时,通常标记语句会作为一个单独的事务执行,也就是说,当执行在同一个事务的业务语句和标记语句时,难以实现基于数据库中间件的数据同步。
发明内容
本申请实施例的目的在于提供一种数据同步方法、装置、电子设备及存储介质,用于改善难以实现基于数据库中间件的数据同步的问题。
本申请实施例提供了一种数据同步方法,应用于电子设备,包括:获得业务语句和标记语句,标记语句不包括路由信息;解析业务语句中的第一路由信息;根据第一路由信息生成注解语句;根据注解语句、标记语句和业务语句生成第一业务事务,业务事务表征标记语句和业务语句均被执行成功或均被执行失败,第一业务事务用于在被解析时,根据从注解语句解析出的第一路由信息发送业务语句和标记语句,业务语句和标记语句用于被执行时进行数据同步。在上述的实现过程中,通过根据业务语句中的路由信息生成注解语句,并根据注解语句、标记语句和业务语句生成业务事务,从而中间件服务器可以根据注解语句中的路由信息来为标记语句选择具体的实例数据库,以使标记语句和业务语句在同一个实例数据库中被处理时,对该实例数据库的数据进行同步,从而有效地改善了难以实现基于数据库中间件的数据同步的问题。
可选地,在本申请实施例中,在根据注解语句、标记语句和业务语句生成第一业务事务之后,还包括:从第一业务事务中解析出注解语句、标记语句和业务语句;从业务语句中解析出第一路由信息;从注解语句中解析出第二路由信息;若第一路由信息和第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。在上述的实现过程中,数据库中间件通过从第一业务事务中解析出注解语句、标记语句和业务语句;若从业务语句中解析出第一路由信息和从注解语句中解析出的第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务;以使第二业务事务中的标记语句和业务语句在同一个实例数据库中被处理时,对该实例数据库的数据进行同步,从而有效地改善了难以实现基于数据库中间件的数据同步的问题。
可选地,在本申请实施例中,根据第一路由信息发送第二业务事务,包括:从多个实例数据库中查找第一路由信息对应的实例数据库;向第一路由信息对应的实例数据库发送第二业务事务,第二业务事务用于被实例数据库执行并返回执行结果。在上述的实现过程中,通过向第一路由信息对应的实例数据库发送第二业务事务,第二业务事务用于被实例数据库执行并返回执行结果;从而有效地提高了获得执行结果的速度。
可选地,在本申请实施例中,获得业务语句和标记语句,包括:接收终端设备发送的数据请求,数据请求包括至少一个数据库参数;根据至少一个数据库参数生成业务语句和标记语句;在向第一路由信息对应的实例数据库发送第二业务事务之后,还包括:接收实例数据库返回的执行结果;向终端设备发送执行结果。在上述的实现过程中,通过根据至少一个数据库参数生成业务语句和标记语句,并接收实例数据库返回的执行结果;从而有效地提高了获得实例数据库返回的执行结果的速度。
可选地,在本申请实施例中,在根据注解语句、标记语句和业务语句生成第一业务事务之后,还包括:向中间件服务器发送第一业务事务,第一业务事务用于被中间件服务器解析出路由信息,以及根据路由信息执行并返回执行结果;接收中间件服务器发送的第一业务事务对应的执行结果。在上述的实现过程中,通过向中间件服务器发送第一业务事务,并接收中间件服务器发送的第一业务事务对应的执行结果;从而有效地提高了获得第一业务事务对应的执行结果的速度。
可选地,在本申请实施例中,获得业务语句和标记语句,包括:接收终端设备发送的数据请求,数据请求包括至少一个数据库参数;根据至少一个数据库参数生成业务语句和标记语句;在接收中间件服务器发送的第一业务事务对应的执行结果之后,还包括:向终端设备发送执行结果。在上述的实现过程中,通过接收终端设备发送的数据请求,并向终端设备发送执行结果;从而有效地提高了终端设备获得第一业务事务对应的执行结果的速度。
本申请实施例还提供了一种数据同步方法,应用于中间件服务器,包括:电子设备发送的第一业务事务;从第一业务事务中解析出注解语句、标记语句和业务语句;从业务语句中解析出第一路由信息;从注解语句中解析出第二路由信息;若第一路由信息和第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。在上述的实现过程中,通过从接收的第一业务事务中解析出注解语句、标记语句和业务语句,并从业务语句中解析出第一路由信息,以及从注解语句中解析出第二路由信息;若第一路由信息和第二路由信息相同,则根据第一路由信息发送由标记语句和业务语句生成的第二业务事务;以使第二业务事务中的标记语句和业务语句在同一实例数据库中被处理,并同步该实例数据库的数据,从而有效地改善了难以实现基于数据库中间件的数据同步的问题。
本申请实施例还提供了一种数据同步装置,应用于电子设备,包括:语句获得模块,用于获得业务语句和标记语句,标记语句不包括路由信息;信息解析模块,用于解析业务语句中的第一路由信息;语句生成模块,用于根据第一路由信息生成注解语句;事务生成模块,用于根据注解语句、标记语句和业务语句生成第一业务事务,业务事务表征标记语句和业务语句均被执行成功或均被执行失败,第一业务事务用于在被解析时,根据从注解语句解析出的第一路由信息发送业务语句和标记语句,业务语句和标记语句用于被执行时进行数据同步。
可选地,在本申请实施例中,数据同步装置,还包括:业务事务解析模块,用于从第一业务事务中解析出注解语句、标记语句和业务语句;第一信息解析模块,用于从业务语句中解析出第一路由信息;第二信息解析模块,用于从注解语句中解析出第二路由信息;业务事务生成模块,用于若第一路由信息和第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。
可选地,在本申请实施例中,业务事务生成模块,包括:路由信息查找模块,用于从多个实例数据库中查找第一路由信息对应的实例数据库;第二事务发送模块,用于向第一路由信息对应的实例数据库发送第二业务事务,第二业务事务用于被实例数据库执行并返回执行结果。
可选地,在本申请实施例中,语句获得模块,包括:第一请求接收模块,用于接收终端设备发送的数据请求,数据请求包括至少一个数据库参数;第一语句生成模块,用于根据至少一个数据库参数生成业务语句和标记语句;数据同步装置,还包括:第一结果接收模块,用于接收实例数据库返回的执行结果;第一结果发送模块,用于向终端设备发送执行结果。
可选地,在本申请实施例中,数据同步装置,还包括:第一事务发送模块,用于向中间件服务器发送第一业务事务,第一业务事务用于被中间件服务器解析出路由信息,以及根据路由信息执行并返回执行结果;第二结果接收模块,用于接收中间件服务器发送的第一业务事务对应的执行结果。
可选地,在本申请实施例中,语句获得模块,包括:第二请求接收模块,用于接收终端设备发送的数据请求,数据请求包括至少一个数据库参数;第二语句生成模块,用于根据至少一个数据库参数生成业务语句和标记语句;数据同步装置,还包括:第二结果发送模块,用于向终端设备发送执行结果。
本申请实施例还提供了一种数据同步装置,应用于中间件服务器,包括:事务接收模块,用于接收电子设备发送的第一业务事务;事务解析模块,用于从第一业务事务中解析出注解语句、标记语句和业务语句;第一解析模块,用于从业务语句中解析出第一路由信息;第二解析模块,用于从注解语句中解析出第二路由信息;事务发送模块,用于若第一路由信息和第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的应用于电子设备的数据同步方法的流程示意图;
图2示出的本申请实施例提供的标记语句在事务中执行的示意图;
图3示出的本申请实施例提供的注解语句在事务中执行的示意图;
图4示出的本申请实施例提供的应用于中间件服务器的数据同步方法的示意图;
图5示出的本申请实施例提供的数据同步装置的结构示意图;
图6示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
在介绍本申请实施例提供的数据同步方法之前,先介绍本申请实施例所涉及的一些概念:
结构化查询语言(Structured Query Language,SQL)是一种特定目的编程语言,用于管理关系数据库管理系统(Relational Database Management System,RDBMS),或在关系流数据管理系统(RDSMS)中进行处理。在具体的实践过程中,通常将一个具体的业务SQL称为一个SQL语句,而将需要共同执行成功或者共同执行失败的多个SQL语句组成一个事务,交给实例数据库执行。
唯一标识(identification,ID),又称唯一标识符,是指能够唯一标识目标的标识符号,这里的目标可以是文件、用户或事件等等,以文件为例进行说明,文件的唯一标识可以是文件路径以及文件名称,也可以是生成的自增主键作为文件的唯一标识;以用户为例进行说明,用户的唯一标识例如可以是姓名,也可以是身份证号。
服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。当然在具体的实施过程中,上述的服务器可以具体选择大型机或者小型机,这里的小型机是指采用精简指令集计算(ReducedInstruction Set Computing,RISC)、单字长定点指令平均执行速度(MillionInstructions Per Second,MIPS)等专用处理器,主要支持UNIX操作系统的封闭且专用的提供计算服务的设备;这里的大型机,又名大型主机,是指使用专用的处理器指令集、操作系统和应用软件来提供计算服务的设备。
需要说明的是,本申请实施例提供的数据同步方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者上述的服务器,设备终端例如:智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digitalassistant,PDA)、移动上网设备(mobile Internet device,MID)、网络交换机或网络路由器等。
在介绍本申请实施例提供的数据同步方法之前,先介绍该数据同步方法适用的应用场景,这里的应用场景包括但不限于:第一单实例数据库与第二单实例数据库通过二进制日志进行双向数据同步,或者第一单实例数据库与第二单实例数据库通过数据库中间件进行双向数据同步,又或者基于数据库中间件对多实例数据库进行数据同步,这里的多实例数据库是指三个或者三个以上的实例数据库等。其中,这里的双向数据同步是指在第一数据库写入数据的同时,第一数据库将写入的数据同步给第二数据库,以便第二数据库写入同步的数据;同理地,在第二数据库接收到业务数据并将写入数据的同时,第二数据库将写入的业务数据同步给第一数据库,以便第一数据库写入同步的业务数据;若不对第一数据库或第二数据库同步的业务数据加以标记,那么很容易造成数据循环同步的问题。
本申请实施例提供的数据同步方法通过根据业务语句中的路由信息生成注解语句,并根据注解语句、标记语句和业务语句生成业务事务,这里的标记语句可用于改善上述的数据循环同步的问题,从而中间件服务器可以根据注解语句中的路由信息来为标记语句选择具体的实例数据库,以使标记语句和业务语句在同一个实例数据库中被处理,从而改善难以实现基于数据库中间件对多实例数据库进行数据同步的问题。
请参见图1示出的本申请实施例提供的应用于电子设备的数据同步方法的流程示意图;该数据同步方法可以应用于电子设备,即该方法可以在上述的电子设备上执行,这里的电子设备可以是安装了应用程序的应用服务器,该方法包括可以包括如下步骤:
步骤S110:获得业务语句和标记语句,标记语句不包括路由信息。
业务语句,是指电子设备上的应用程序需要执行的,且与业务有关的SQL语句;这里的业务语句是包括路由信息的,具体例如:若电子设备上的应用程序为成绩查询系统,那么与业务有关的SQL语句可以是指查询成绩SQL语句。在具体的实践过程中,这里的业务语句例如:INSERT INTO order(user_id,name)values('123','张三');其中,这里的用户唯一标识为123,即user_id为123;若使用数据库中间件对订单表进行了分表,即使用多个实例数据库存储订单表的其中一个分表,那么这里的用户唯一标识user_id就可以理解为路由信息,这里的路由信息是指示多个实例数据库中的具体哪个实例数据库执行该SQL语句的信息。
标记语句,又被称为标记SQL语句,是指与业务语句在同一事务中的SQL语句,标记语句不包括路由信息,换句话说,业务语句和标记语句被实例数据库执行时,这两种SQL语句需要共同执行成功或者共同执行失败。在具体的实践过程中,这里的标记语句例如:UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHERE id=x;其中,由于标记语句是对另一张数据表进行操作,因此,这里没有user_id字段,数据库中间件也没有办法判断该标记语句的路由信息。
请参见图2示出的本申请实施例提供的标记语句在事务中执行的示意图;也就是说,上述的标记语句的作用在于,在同步流量写入到目的端实例数据库时,在复制的业务事务中插入标记语句,以标记该事务是否来自原数据同步的变更,具体例如:当标记SQL语句被同步写入数据库的二进制日志文件(即binlog文件)中,这里的二进制日志文件记录着连续事务的日志,数据库中间件需要根据具体的业务事务来复制,例如:当该业务事务涉及到多个实例数据库时,即该业务事务中的数据分别存放在多个实例数据库中的不同实例数据库,需要使用数据库中间件来复制业务事务,以便业务事务在对应的实例数据库中执行;在数据同步程序读取该二进制日志文件时,可以通过该事务是否包括标记语句,来对该事务进行过滤,这里的对该事务进行过滤的目的是为了避免数据被循环地同步。
上述的数据被循环地同步的情况具体例如:假设第一关系数据库使用mysql1表示,第二关系数据库使用mysql2表示,当mysql1接收并写入业务数据的同时,mysql1将业务数据写入到自己的二进制日志文件(即binlog文件)中,同时在写入的过程中,对二进制日志文件写入增加的部分进行解析,获得解析SQL语句,然后将解析SQL语句同步给mysql2,以便mysql2写入mysql1同步的业务数据;当mysql2接收并写入业务数据的同时,mysql2将业务数据写入到自己的binlog文件中,同时对二进制日志文件写入增加的部分进行解析,获得解析SQL语句,然后将解析SQL语句同步给mysql1,以便mysql1写入mysql2同步的业务数据;因此,为了避免第一业务数据写入mysql1并同步到mysql2,mysql2接收到mysql1同步的数据时并写回mysql1,若mysql2根据标记语句发现第一业务数据是从mysql1同步到mysql2的,那么就没必要从mysql2把第一业务数据再写入mysql1了。
上述步骤S110中的获得业务语句和标记语句的实施方式包括:第一种方式,其他终端设备向电子设备发送业务语句和标记语句,然后电子设备从其他终端设备接收业务语句和标记语句;第二种方式,获取预先存储的业务语句和标记语句,具体例如:从文件系统中获取业务语句和标记语句,或者从缓存数据库中获取业务语句和标记语句;第三种方式,使用浏览器等软件获取互联网上的业务语句和标记语句,或者使用其它应用程序访问互联网获得业务语句和标记语句。
在步骤S110之后,执行步骤S120:解析业务语句中的第一路由信息。
上述步骤S120的实施方式例如:若业务语句为:INSERT INTO order(user_id,name)values('123','张三');可以从业务语句中解析获得第一路由信息为user_id的值为123,也就是说,这里的user_id的值为123可以作为业务语句的路由信息;具体例如:若有两个实例数据库对应订单表的分表,两个实例数据库包括第一实例数据库和第二实例数据库,即user_id为单数的订单记录存储在第一实例数据库中,user_id为双数的订单记录存储在第二实例数据库中,那么当数据库中间件处理该业务语句时,可以根据user_id除以2的余数,即123除以2的余数为1,这里的1为单数,因此可以判定该业务语句应该发送至第一实例数据库,以使第一实例数据库来执行该业务语句。
在步骤S120之后,执行步骤S130:根据第一路由信息生成注解语句。
注解语句,或者简称为注解,是指在需要执行的SQL语句前添加用于标记其路由信息的SQL语句,具体的注解语句的生成方法可以使用数据库中间件Hint注释技术来生成,这里的Hint注释技术又被称为Hint注解技术,以使添加了注解的SQL语句按照注解中的信息来执行;这里注解中的信息例如可以包括:路由信息、执行时间和执行顺序等等。
请参见图3示出的本申请实施例提供的注解语句在事务中执行的示意图;上述步骤S130的实施方式例如:在分布式数据库执行事务的环境中,即多个有预设关系的实例数据库,这里的预设关系例如:主从同步、分库或分表等等,首先需要对接收到SQL语句进行解析处理,获得路由信息;具体的路由信息例如;上述的第一路由信息可以使用user_id='123'表示,电子设备上的数据库中间件可以生成与该第一路由信息对应的注解语句,这里生成的注解语句例如:/*!dble:sql=select 1from order where user_id='123'*/;其中,/*……*/表示为注解符,中间的内容表示为注解语句,这里的user_id='123'表示为第一路由信息。在具体的实施过程中,上述的使用数据库中间件Hint注释技术生成的注解语句和标记语句一起被称为示意标记语句(Hint Mark SQL);这里的示意标记语句的作用包括:通过数据库中间件Hint注释技术生成一段和同步表相同拆分算法且可以路由到同一数据节点的注释组织的代码来保障流量标记,即通过Hint技术生成注解语句,将注解语句中的路由信息保障标记语句的路由信息,从而使得标记语句能够被数据库中间件正确地发送给该路由信息对应的实例数据库。
在步骤S130之后,执行步骤S140:根据注解语句、标记语句和业务语句生成第一业务事务,业务事务表征标记语句和业务语句均被执行成功或均被执行失败,第一业务事务用于在被解析时,根据从注解语句解析出的第一路由信息发送业务语句和标记语句,业务语句和标记语句用于被执行时进行数据同步。
第一业务事务,用于在被解析时,根据从注解语句解析出的第一路由信息发送业务语句和标记语句至对应的实例数据库,业务语句和标记语句用于被对应的实例数据库执行时进行数据同步,数据同步的详细过程将在下面进行描述。为了保证数据的完整性和一致性,业务事务中的SQL语句要么均被执行成功,要么均被执行失败,不允许部分成功或者部分失败。
上述步骤S140的实施方式例如:若注解语句为/*!dble:sql=select 1fromorder where user_id='123'*/;且标记语句为UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHERE id=x;且业务语句为INSERT INTO order(user_id,name)values('123','张三');那么根据注解语句、标记语句和业务语句生成第一业务事务可以表示为begin;/*!dble:sql=select1from order where user_id='123'*/UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHEREid=x;INSERT INTO order(user_id,name)values('123','张三');commit;其中,begin表示业务事务的开始标记符,commit表示业务事务的提交标记符,当然也是该事务的结束标记符;begin和commit之间的内容可以理解为业务事务。在具体的实施过程中,数据库中间件对第一业务事务解析后,即可得知,上述标记语句和业务语句的路由信息均为user_id='123',即将标记语句和业务语句应该作为同一个事务发送给第一实例数据库进行执行。在具体的实施过程中,使用上述的数据同步方法,可以做到在不关闭或者停止服务器的情况下,动态地平滑拆分扩容,即在不改变其它实例数据库的情况,增加与数据库中间件配合使用的实例数据库的数量;与此同时,当数量流量较小时,便于接入验证机制,同时也方便异常回退,这里的异常回退可以理解为事务执行失败时的回滚。
在上述的实现过程中,通过根据业务语句中的路由信息生成注解语句,并根据注解语句、标记语句和业务语句生成业务事务,从而中间件服务器可以根据注解语句中的路由信息来为标记语句选择具体的实例数据库,以使标记语句和业务语句在同一个实例数据库中被处理时,对该实例数据库的数据进行同步,从而有效地改善了难以实现基于数据库中间件的数据同步的问题。
可选地,在本申请实施例中,上述的电子设备可以是仅仅安装了应用程序的设备;那么上述的电子设备通过应用程序与中间件服务器进行交互的方法可以包括如下步骤:
步骤S210:电子设备通过应用程序获得业务语句和标记语句,标记语句不包括路由信息。
步骤S220:电子设备通过应用程序解析业务语句中的第一路由信息。
步骤S230:电子设备通过应用程序根据第一路由信息生成注解语句。
步骤S240:电子设备通过应用程序根据注解语句、标记语句和业务语句生成第一业务事务,第一业务事务用于在被解析和执行时进行数据同步。
其中,上述步骤S210至步骤S240的实施原理和实施方式与步骤S110至步骤S140的实施原理和实施方式是相似或类似的,区别仅在于,这里是通过应用程序执行的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S110至步骤S140的描述。
在步骤S240之后,执行步骤S250:电子设备通过应用程序向中间件服务器发送第一业务事务,第一业务事务用于被中间件服务器解析出路由信息,以及根据路由信息执行并返回执行结果。
在步骤S250之后,执行步骤S260:电子设备通过应用程序接收中间件服务器发送的第一业务事务对应的执行结果。
上述步骤S250和步骤S260的实施方式例如:电子设备中的应用程序通过传输控制协议(Transmission Control Protocol,TCP)向中间件服务器发送第一业务事务,且电子设备中的应用程序通过TCP协议接收中间件服务器发送的第一业务事务对应的执行结果;其中,这里的TCP协议又名网络通讯协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议;在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层;不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
可选地,在本申请实施例中,上述的电子设备可以是仅仅安装了应用程序的设备;那么上述的电子设备、终端设备和中间件服务器三者之间进行交互的方法还可以包括如下步骤:
步骤S310:电子设备通过应用程序接收终端设备发送的数据请求,数据请求包括至少一个数据库参数。
其中,上述的步骤S310与下面的步骤S370是对应的,因此,这里的步骤S310的实施方式将在步骤S370中详细地描述。
步骤S320:电子设备通过应用程序根据至少一个数据库参数生成业务语句和标记语句。
上述的步骤S320的实施方式例如:若至少一个数据库参数使用JSON表示为[{"type":"INSERT INTO order","key":"user_id,name","value":"'123','张三'"},{"type":"UPDATE_liudatasync_mark","key":"id=x","value":"SET update_time=now(),opt_num=opt_num+1"}];那么根据上述的数据库参数生成的标记语句可以为UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHERE id=x;根据上述的数据库参数生成的业务语句可以为INSERT INTO order(user_id,name)values('123','张三')。
步骤S330:电子设备通过应用程序解析业务语句中的第一路由信息,并根据第一路由信息生成注解语句。
步骤S340:电子设备通过应用程序根据注解语句、标记语句和业务语句生成第一业务事务,第一业务事务用于在被解析和执行时进行数据同步。
步骤S350:电子设备通过应用程序向中间件服务器发送第一业务事务,第一业务事务用于被中间件服务器解析出路由信息,以及根据路由信息执行并返回执行结果。
步骤S360:电子设备通过应用程序接收中间件服务器发送的第一业务事务对应的执行结果。
其中,上述的步骤S320至步骤S360的实施原理和实施方式与步骤S210至步骤S250的实施原理和实施方式是相似或类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S210至步骤S250的描述。
步骤S370:电子设备通过应用程序向终端设备发送执行结果。
上述步骤S310和步骤S370的实施方式例如:电子设备通过应用程序使用超文本传输协议(Hyper Text Transfer Protocol,HTTP)或者超文本传输安全协议(Hyper TextTransfer Protocol Secure,HTTPS)接收终端设备发送的数据请求,且电子设备通过应用程序使用HTTP协议或者HTTPS向终端设备发送执行结果;其中,这里的HTTP协议是一个简单的请求响应协议,HTTP协议通常运行在传输控制协议(Transmission Control Protocol,TCP)之上的协议;这里的HTTPS协议又称为HTTP Secure,是一种通过计算机网络进行安全通信的传输协议。
可选地,在本申请实施例中,上述的电子设备可以是既安装了应用程序,又安装了数据库中间件;那么上述电子设备中的应用程序和数据库中间件执行方法还可以包括如下步骤:
步骤S410:电子设备通过应用程序获得业务语句和标记语句,标记语句不包括路由信息。
步骤S420:电子设备通过应用程序解析业务语句中的第一路由信息。
步骤S430:电子设备通过应用程序根据第一路由信息生成注解语句。
步骤S440:电子设备通过应用程序根据注解语句、标记语句和业务语句生成第一业务事务,第一业务事务用于在被解析和执行时进行数据同步。
其中,上述步骤S410至步骤S440的实施原理和实施方式与步骤S110至步骤S140的实施原理和实施方式是相似或类似的,区别仅在于,这里是通过应用程序执行的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S110至步骤S140的描述。
步骤S450:电子设备通过数据库中间件从第一业务事务中解析出注解语句、标记语句和业务语句。
上述步骤S450的实施方式例如:电子设备通过数据库中间件从第一业务事务中解析出的注解语句为select 1from order where user_id='123';从第一业务事务中解析出的标记语句为UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHERE id=x;从第一业务事务中解析出的业务语句为INSERT INTO order(user_id,name)values('123','张三')。
步骤S460:电子设备通过数据库中间件从业务语句中解析出第一路由信息。
上述步骤S460的实施方式例如:若业务语句为INSERT INTO order(user_id,name)values('123','张三'),电子设备通过数据库中间件从业务语句中解析出第一路由信息为user_id='123'。
步骤S470:电子设备通过数据库中间件从注解语句中解析出第二路由信息。
上述步骤S470的实施方式例如:若注解语句为select 1from order where user_id='123',电子设备通过数据库中间件从注解语句中解析出第二路由信息为user_id='123'。
步骤S480:若第一路由信息和第二路由信息相同,则电子设备通过数据库中间件根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。
上述步骤S480中的电子设备通过数据库中间件根据标记语句和业务语句生成第二业务事务的实施方式包括:若业务语句为INSERT INTO order(user_id,name)values('123','张三'),且标记语句为UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHERE id=x;那么生成的第二业务事务为:begin;UPDATE_liudatasync_mark SET update_time=now(),opt_num=opt_num+1WHERE id=x;INSERT INTO order(user_id,name)values('123','张三');commit;其中,业务事务中的业务语句和标记语句要么均被执行成功,要么均被执行失败,不允许部分成功或者部分失败。
上述步骤S480中的根据第一路由信息发送第二业务事务的实施方式包括:
步骤S481:电子设备通过数据库中间件从多个实例数据库中查找第一路由信息对应的实例数据库。
上述步骤S481的实施方式例如:若第一路由信息为user_id='123',根据路由信息与实例数据库的余值来确定该事务执行的具体实例数据库,当然在具体的实施过程中,也可以使用其它的方式来确定事务执行的具体执行实例数据库,这里仅仅是为了便于理解而举例;假设有两个实例数据库,两个实例数据库包括第一实例数据库和第二实例数据库,user_id为单数的订单记录存储在第一实例数据库中,user_id为双数的订单记录存储在第二实例数据库中,user_id除以2的余数,使用这里的第一路由信息的具体值123除以实例数据库总数2的余数为1,1为单数,因此可以判定该第二业务事务应该发送至第一实例数据库,以使第一实例数据库来执行该业务语句。
步骤S482:电子设备通过数据库中间件向第一路由信息对应的实例数据库发送第二业务事务,第二业务事务用于被实例数据库执行并返回执行结果。
其中,该步骤S482的实施原理和实施方式与步骤S250的实施原理和实施方式是相似或类似的,区别仅在于,这里是通过数据库中间件向第一路由信息对应的实例数据库发送第二业务事务,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S250的描述。
步骤S490:电子设备通过数据库中间件接收实例数据库返回的执行结果,并通过应用程序向终端设备发送执行结果。
其中,该步骤S490的实施原理和实施方式与步骤S260的实施原理和实施方式是相似或类似的,区别仅在于,这里是通过数据库中间件接收实例数据库返回的执行结果,并通过应用程序向终端设备发送执行结果,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S260的描述。
在上述的实现过程中,数据库中间件通过从第一业务事务中解析出注解语句、标记语句和业务语句;若从业务语句中解析出第一路由信息和从注解语句中解析出的第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务;以使第二业务事务中的标记语句和业务语句在同一个实例数据库中被处理时,对该实例数据库的数据进行同步,从而有效地改善了难以实现基于数据库中间件的数据同步的问题。
请参见图4示出的本申请实施例提供的应用于中间件服务器的数据同步方法的示意图;本申请实施例提供了一种数据同步方法,应用于中间件服务器,包括:
步骤S510:中间件服务器接收电子设备发送的第一业务事务。
其中,该步骤S510的实施原理和实施方式与步骤S250的实施原理和实施方式是相似或类似的,区别仅在于这里是接收第一业务事务,而步骤S250是通过应用程序发送第一业务事务,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S250的描述。
步骤S520:中间件服务器从第一业务事务中解析出注解语句、标记语句和业务语句。
步骤S530:中间件服务器从业务语句中解析出第一路由信息。
步骤S540:中间件服务器从注解语句中解析出第二路由信息。
步骤S550:若第一路由信息和第二路由信息相同,则中间件服务器根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。
其中,该步骤S520至步骤S550的实施原理和实施方式与步骤S450至步骤S480的实施原理和实施方式是相似或类似的,因此,这里不再对该步骤的实施方式和实施原理进行说明,如有不清楚的地方,可以参考对步骤S450至步骤S480的描述。
请参见图5示出的本申请实施例提供的数据同步装置的结构示意图;本申请实施例提供了一种数据同步装置600,应用于电子设备,包括:
语句获得模块610,用于获得业务语句和标记语句,标记语句不包括路由信息。
信息解析模块620,用于解析业务语句中的第一路由信息。
语句生成模块630,用于根据第一路由信息生成注解语句。
事务生成模块640,用于根据注解语句、标记语句和业务语句生成第一业务事务,业务事务表征标记语句和业务语句均被执行成功或均被执行失败,第一业务事务用于在被解析时,根据从注解语句解析出的第一路由信息发送业务语句和标记语句。
可选地,在本申请实施例中,数据同步装置,还包括:
业务事务解析模块,用于从第一业务事务中解析出注解语句、标记语句和业务语句。
第一信息解析模块,用于从业务语句中解析出第一路由信息。
第二信息解析模块,用于从注解语句中解析出第二路由信息。
业务事务生成模块,用于若第一路由信息和第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。
可选地,在本申请实施例中,业务事务生成模块,包括:
路由信息查找模块,用于从多个实例数据库中查找第一路由信息对应的实例数据库。
第二事务发送模块,用于向第一路由信息对应的实例数据库发送第二业务事务,第二业务事务用于被实例数据库执行并返回执行结果。
可选地,在本申请实施例中,语句获得模块,包括:
第一请求接收模块,用于接收终端设备发送的数据请求,数据请求包括至少一个数据库参数。
第一语句生成模块,用于根据至少一个数据库参数生成业务语句和标记语句。
数据同步装置,还包括:
第一结果接收模块,用于接收实例数据库返回的执行结果。
第一结果发送模块,用于向终端设备发送执行结果。
可选地,在本申请实施例中,数据同步装置,还可以包括:
第一事务发送模块,用于向中间件服务器发送第一业务事务,第一业务事务用于被中间件服务器解析出路由信息,以及根据路由信息执行并返回执行结果。
第二结果接收模块,用于接收中间件服务器发送的第一业务事务对应的执行结果。
可选地,在本申请实施例中,语句获得模块,包括:
第二请求接收模块,用于接收终端设备发送的数据请求,数据请求包括至少一个数据库参数。
第二语句生成模块,用于根据至少一个数据库参数生成业务语句和标记语句。
数据同步装置,还包括:
第二结果发送模块,用于向终端设备发送执行结果。
本申请实施例还提供了一种数据同步装置,应用于中间件服务器,包括:
事务接收模块,用于接收电子设备发送的第一业务事务。
事务解析模块,用于从第一业务事务中解析出注解语句、标记语句和业务语句。
第一解析模块,用于从业务语句中解析出第一路由信息。
第二解析模块,用于从注解语句中解析出第二路由信息。
事务发送模块,用于若第一路由信息和第二路由信息相同,则根据标记语句和业务语句生成第二业务事务,并根据第一路由信息发送第二业务事务。
应理解的是,该装置与上述的数据同步方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图6示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备700,包括:处理器710和存储器720,存储器720存储有处理器710可执行的机器可读指令,机器可读指令被处理器710执行时执行如上的方法。
本申请实施例还提供了一种存储介质730,该存储介质730上存储有计算机程序,该计算机程序被处理器710运行时执行如上的方法。
其中,存储介质730可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种数据同步方法,其特征在于,应用于电子设备,包括:
获得业务语句和标记语句,所述标记语句不包括路由信息;
解析所述业务语句中的第一路由信息;
根据所述第一路由信息生成注解语句;
根据所述注解语句、所述标记语句和所述业务语句生成第一业务事务,所述业务事务表征所述标记语句和所述业务语句均被执行成功或均被执行失败,所述第一业务事务用于在被解析时,根据从所述注解语句解析出的所述第一路由信息发送所述业务语句和所述标记语句,所述业务语句和所述标记语句用于被执行时进行数据同步。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述注解语句、所述标记语句和所述业务语句生成第一业务事务之后,还包括:
从所述第一业务事务中解析出注解语句、标记语句和业务语句;
从所述业务语句中解析出第一路由信息;
从所述注解语句中解析出第二路由信息;
若所述第一路由信息和所述第二路由信息相同,则根据所述标记语句和所述业务语句生成第二业务事务,并根据所述第一路由信息发送所述第二业务事务。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一路由信息发送所述第二业务事务,包括:
从多个实例数据库中查找所述第一路由信息对应的实例数据库;
向所述第一路由信息对应的实例数据库发送所述第二业务事务,所述第二业务事务用于被所述实例数据库执行并返回执行结果。
4.根据权利要求3所述的方法,其特征在于,所述获得业务语句和标记语句,包括:
接收终端设备发送的数据请求,所述数据请求包括至少一个数据库参数;
根据所述至少一个数据库参数生成所述业务语句和所述标记语句;
在所述向所述第一路由信息对应的实例数据库发送所述第二业务事务之后,还包括:
接收所述实例数据库返回的执行结果;
向所述终端设备发送所述执行结果。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述注解语句、所述标记语句和所述业务语句生成第一业务事务之后,还包括:
向中间件服务器发送所述第一业务事务,所述第一业务事务用于被所述中间件服务器解析出路由信息,以及根据所述路由信息执行并返回执行结果;
接收所述中间件服务器发送的所述第一业务事务对应的执行结果。
6.根据权利要求5所述的方法,其特征在于,所述获得业务语句和标记语句,包括:
接收终端设备发送的数据请求,所述数据请求包括至少一个数据库参数;
根据所述至少一个数据库参数生成所述业务语句和所述标记语句;
在所述接收所述中间件服务器发送的所述第一业务事务对应的执行结果之后,还包括:
向所述终端设备发送所述执行结果。
7.一种数据同步方法,其特征在于,应用于中间件服务器,包括:
接收电子设备发送的第一业务事务;
从所述第一业务事务中解析出注解语句、标记语句和业务语句;
从所述业务语句中解析出第一路由信息;
从所述注解语句中解析出第二路由信息;
若所述第一路由信息和所述第二路由信息相同,则根据所述标记语句和所述业务语句生成第二业务事务,并根据所述第一路由信息发送所述第二业务事务。
8.一种数据同步装置,其特征在于,应用于电子设备,包括:
语句获得模块,用于获得业务语句和标记语句,所述标记语句不包括路由信息;
信息解析模块,用于解析所述业务语句中的第一路由信息;
语句生成模块,用于根据所述第一路由信息生成注解语句;
事务生成模块,用于根据所述注解语句、所述标记语句和所述业务语句生成第一业务事务,所述业务事务表征所述标记语句和所述业务语句均被执行成功或均被执行失败,所述第一业务事务用于在被解析时,根据从所述注解语句解析出的所述第一路由信息发送所述业务语句和所述标记语句,所述业务语句和所述标记语句用于被执行时进行数据同步。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的方法。
10.一种存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010385944.0A CN111782721B (zh) | 2020-05-09 | 2020-05-09 | 一种数据同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010385944.0A CN111782721B (zh) | 2020-05-09 | 2020-05-09 | 一种数据同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782721A CN111782721A (zh) | 2020-10-16 |
CN111782721B true CN111782721B (zh) | 2024-03-01 |
Family
ID=72753476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010385944.0A Active CN111782721B (zh) | 2020-05-09 | 2020-05-09 | 一种数据同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782721B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742316A (zh) * | 2021-09-08 | 2021-12-03 | 辽宁振兴银行股份有限公司 | 一种批量执行sql语句同步Mysql数据库的装置及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0914786D0 (en) * | 2008-10-06 | 2009-09-30 | Ibm | Method and system for identifying database transactions in a database system |
CN107077495A (zh) * | 2014-10-19 | 2017-08-18 | 微软技术许可有限责任公司 | 数据库管理系统中的高性能事务 |
CN108319711A (zh) * | 2018-02-07 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 数据库的事务一致性测试方法、装置、存储介质及设备 |
CN108572991A (zh) * | 2017-03-14 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 数据库处理方法、装置和存储介质 |
CN109508346A (zh) * | 2018-10-19 | 2019-03-22 | 武汉达梦数据库有限公司 | 一种ddl操作的级联同步控制方法及系统 |
CN109933630A (zh) * | 2019-03-19 | 2019-06-25 | 武汉达梦数据库有限公司 | 数据库数据实时同步方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569612B2 (en) * | 2013-03-14 | 2017-02-14 | Daniel Shawcross Wilkerson | Hard object: lightweight hardware enforcement of encapsulation, unforgeability, and transactionality |
GB2531537A (en) * | 2014-10-21 | 2016-04-27 | Ibm | Database Management system and method of operation |
-
2020
- 2020-05-09 CN CN202010385944.0A patent/CN111782721B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0914786D0 (en) * | 2008-10-06 | 2009-09-30 | Ibm | Method and system for identifying database transactions in a database system |
CN107077495A (zh) * | 2014-10-19 | 2017-08-18 | 微软技术许可有限责任公司 | 数据库管理系统中的高性能事务 |
CN108572991A (zh) * | 2017-03-14 | 2018-09-25 | 北京京东尚科信息技术有限公司 | 数据库处理方法、装置和存储介质 |
CN108319711A (zh) * | 2018-02-07 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 数据库的事务一致性测试方法、装置、存储介质及设备 |
CN109508346A (zh) * | 2018-10-19 | 2019-03-22 | 武汉达梦数据库有限公司 | 一种ddl操作的级联同步控制方法及系统 |
CN109933630A (zh) * | 2019-03-19 | 2019-06-25 | 武汉达梦数据库有限公司 | 数据库数据实时同步方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111782721A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573938B2 (en) | Systems and methods for indexing source code in a search engine | |
US20150213100A1 (en) | Data synchronization method and system | |
CN112131237B (zh) | 数据同步方法、装置、设备及计算机可读介质 | |
WO2021218143A1 (zh) | 数据同步方法、装置、服务器及存储介质 | |
Macedo et al. | Redis cookbook: Practical techniques for fast data manipulation | |
WO2017049764A1 (zh) | 数据读写方法及分布式存储系统 | |
US9830376B2 (en) | Language tag management on international data storage | |
CN109189852A (zh) | 一种数据同步的方法及用于数据同步的装置 | |
US10078653B2 (en) | Automatic lock removal method for scalable synchronization in dynamic data structures | |
CN111460241B (zh) | 一种数据查询方法、装置、电子设备及存储介质 | |
US20200278843A1 (en) | Systems and methods for indexing source code in a search engine | |
CN113626416A (zh) | 数据校验的方法、装置、计算设备和存储介质 | |
CN112087530B (zh) | 一种将数据上传至区块链系统的方法、装置、设备及介质 | |
WO2022048358A1 (zh) | 数据处理方法、装置及存储介质 | |
CN110990365A (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
JP2014524204A (ja) | キーバリューストレージに対するデータの保存および読み出しを行う方法およびシステム | |
CN111753012A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN112612850A (zh) | 数据同步方法及装置 | |
CN112347192A (zh) | 数据同步方法、装置、平台以及可读介质 | |
CN111782721B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
US20150088958A1 (en) | Information Processing System and Distributed Processing Method | |
WO2017177752A1 (zh) | 一种文件存储方法及装置 | |
CN106959975B (zh) | 一种转码资源缓存处理方法、装置及设备 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
CN111460436B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 101 (201) -6, Building 5, Building 6 and 7, Kexin Building, Shounan Street, Yinzhou District, Ningbo City, Zhejiang Province, 315100 Applicant after: Zhejiang Xiaoliu Information Technology Co.,Ltd. Address before: Room 1401-1, No.6 and No.7, building 5, Kexin building, Shounan street, Yinzhou District, Ningbo City, Zhejiang Province, 315000 Applicant before: NINGBO LIUBIKE INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |