CN116955485A - 基于分布式数据库实现数据导入性能优化方法及系统 - Google Patents
基于分布式数据库实现数据导入性能优化方法及系统 Download PDFInfo
- Publication number
- CN116955485A CN116955485A CN202310836991.6A CN202310836991A CN116955485A CN 116955485 A CN116955485 A CN 116955485A CN 202310836991 A CN202310836991 A CN 202310836991A CN 116955485 A CN116955485 A CN 116955485A
- Authority
- CN
- China
- Prior art keywords
- user table
- state
- distributed
- data
- node
- 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
- 230000008676 import Effects 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 16
- 230000008859 change Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 230000005012 migration Effects 0.000 abstract description 6
- 238000013508 migration Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于分布式数据库实现数据导入性能优化方法及系统,属于数据量数据迁移技术领域,本发明要解决的技术问题为如何避免数据导入时可能会遇到的事务冲突,在保证数据一致性的前提下,极大的提升数据导入性能,技术方案为:在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存;网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;判断数据是否导出成功。
Description
技术领域
本发明涉及数据库数据迁移技术领域,具体地说是一种基于分布式数据库实现数据导入性能优化方法及系统。
背景技术
在分布式数据库中,数据导入性能面临着很大挑战,既希望可以保证数据的一致性,又需要达到很高的性能指标。
目前的分布式数据库主要采取以下策略:
①在导入数据时处理事务冲突:对于导入数据中可能遇到的事务冲突持悲观态度,认为在导入数据时,很可能遇到事务冲突,而且需要在导入过程中解决事务冲突。但是该策略可能需要在数据导入中处理大量的事务冲突,不仅仅额外占用了大量的系统资源,而且在事务冲突的处理中,还可能发生事务等待甚至事务死锁的情况,导致整个导入进程被阻塞,极大地降低了导入的性能。
②不在导入过程中处理事务冲突:对于导入数据中可能遇到的事务冲突持乐观态度,认为在导入数据时,大概率不会遇到事务冲突,则不再导入过程中处理事务冲突,如遇到事务冲突,则回滚导入数据。虽然认为不会遇到事务冲突,而一旦遇到了事物冲突,就需要回滚大量的已入库数据,造成极大的性能衰减。
综上所述,现有技术都没办法同时满足导入数据的一致性和数据导入的性能要求。
在大型的分布式数据库集群需要数据迁移或者升级到不兼容数据版本,数据导入的性能无疑是用户在切换数据库时,衡量数据库好坏的一个重要指标。现有技术中的数据导入方法,都无法同时满足数据的一致性或导入的性能要求,故如何避免数据导入时可能会遇到的事务冲突,在保证数据一致性的前提下,极大的提升数据导入性能是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种基于分布式数据库实现数据导入性能优化方法及系统,来解决如何避免数据导入时可能会遇到的事务冲突,在保证数据一致性的前提下,极大的提升数据导入性能的问题。
本发明的技术任务是按以下方式实现的,一种基于分布式数据库实现数据导入性能优化方法,该方法具体如下:
在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;
在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;
分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存;
网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;
判断数据是否导出成功:
若数据导入成功,则将用户表的状态设置为公开状态,继续对业务层提供服务;
若数据导入失败,则进行数据回滚数据,等待数据回滚完毕后,将用户表的状态设置为公开状态,继续对业务层提供服务。
作为优选,在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态具体如下:
开启一个分布式事务,分布式事务用于进行用户表状态的变更;
在开启的分布式事务中,根据导入命令传入的用户表的数据库名、模式名及表名查询到用户表的描述符;
将用户表描述符中的用户表状态设置为离线状态;
使用开启的分布式事务将用户表状态为离线状态的用户表描述符写入分布式数据库中。
更优地,在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点具体如下:
在分布式事务提交时,生成一条用户表状态变更的消息;
将用户表状态变更的消息,以广播的形式发送到集群中的各个节点。
更优地,分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存具体如下:
分布式集群中的节点接收到网关节点发来的消息;
分布式集群中的节点解析接收到的网关节点发来的消息;
根据解析后的网关节点发来的消息,更新本地的用户表状态的缓存。
更优地,网关节点等待集群中所有节点中的用户表状态都变更为离线状态,开始数据导入具体如下:
网关节点向分布式集群中的各个节点发起查询用户表状态的请求;
分布式集群中的各个节点收到请求后,将本地的用户表状态发回网关节点;
网关节点接收到分布式集群中所有节点的响应,并且用户表的状态都为离线状态;
记录当前网关节点的物理时间,用于后续的数据回滚。
更优地,数据回滚是根据记录的物理时间回滚数据实现。
一种基于分布式数据库实现数据导入性能优化系统,该系统包括设置模块、消息发送模块、更新模块、数据导入模块及判断模块
设置模块用于在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;
消息发送模块用于在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;
更新模块用于在分布式集群中的各个节点收到用户表状态变更的消息时,更新自己本地的用户表状态缓存;
数据导入模块用于网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;
判断模块用于判断数据是否导出成功:
若数据导入成功,则将用户表的状态设置为公开状态,继续对业务层提供服务;
若数据导入失败,则进行数据回滚数据,等待数据回滚完毕后,将用户表的状态设置为公开状态,继续对业务层提供服务。
作为优选,所述设置模块的工作过程具体如下:
(1)开启一个分布式事务,分布式事务用于进行用户表状态的变更;
(2)在开启的分布式事务中,根据导入命令传入的用户表的数据库名、模式名及表名查询到用户表的描述符;
(3)将用户表描述符中的用户表状态设置为离线状态;
(4)使用开启的分布式事务将用户表状态为离线状态的用户表描述符写入分布式数据库中;
所述消息发送模块工作过程具体如下:
(1)在分布式事务提交时,生成一条用户表状态变更的消息;
(2)将用户表状态变更的消息,以广播的形式发送到集群中的各个节点;
所述更新模块的工作过程具体如下:
(1)分布式集群中的节点接收到网关节点发来的消息;
(2)分布式集群中的节点解析接收到的网关节点发来的消息;
(3)根据解析后的网关节点发来的消息,更新本地的用户表状态的缓存;
所述数据导入模块的工作过程具体如下:
(1)网关节点向分布式集群中的各个节点发起查询用户表状态的请求;
(2)分布式集群中的各个节点收到请求后,将本地的用户表状态发回网关节点;
(3)网关节点接收到分布式集群中所有节点的响应,并且用户表的状态都为离线状态;
(4)记录当前网关节点的物理时间,用于后续的数据回滚。
一种电子设备,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于分布式数据库实现数据导入性能优化方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于分布式数据库实现数据导入性能优化方法。
本发明的基于分布式数据库实现数据导入性能优化方法及系统具有以下优点:
(一)本发明通过增加一个离线状态,巧妙地避免了数据导入时可能会遇到的事务冲突,在保证数据一致性的前提下,极大的提升了导入的性能;
(二)本发明在分布式数据库层面优化了导入性能,减少用户数据迁移停机时将;
(三)在大型分布式数据库集群进行数据迁移与不兼容版本升级时,数据的导入性能无疑是衡量一个数据库迁移的重要指标,快速的将数据导入,减少停机时间,对于数据库用户来说至关重要,本发明通过开启一个分布式事务,并将即将导入数据的用户表的状态设置为离线状态,避免了数据导入时可能会遇到的事务冲突,大大提升了数据导入性能。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于分布式数据库实现数据导入性能优化方法的流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于分布式数据库实现数据导入性能优化方法及系统作以下详细地说明。
实施例1:
如附图1所示,本实施例提供了一种基于分布式数据库实现数据导入性能优化方法,该方法具体如下:
S1、在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;
S2、在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;
S3、分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存;
S4、网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;
S5、判断数据是否导出成功:
①若数据导入成功,则将用户表的状态设置为公开状态,继续对业务层提供服务;
②若数据导入失败,则根据记录的物理时间进行数据回滚,等待数据回滚完毕后,将用户表的状态设置为公开状态,继续对业务层提供服务。
本实施例步骤S1中的在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态具体如下:
S101、开启一个分布式事务,分布式事务用于进行用户表状态的变更;
S102、在开启的分布式事务中,根据导入命令传入的用户表的数据库名、模式名及表名查询到用户表的描述符;
S103、将用户表描述符中的用户表状态设置为离线状态;
S104、使用开启的分布式事务将用户表状态为离线状态的用户表描述符写入分布式数据库中。
本实施例步骤S2中的在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点具体如下:
S201、在分布式事务提交时,生成一条用户表状态变更的消息;
S202、将用户表状态变更的消息,以广播的形式发送到集群中的各个节点。
本实施例步骤S3中的分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存具体如下:
S301、分布式集群中的节点接收到网关节点发来的消息;
S302、分布式集群中的节点解析接收到的网关节点发来的消息;
S303、根据解析后的网关节点发来的消息,更新本地的用户表状态的缓存。
本实施例步骤S4中的网关节点等待集群中所有节点中的用户表状态都变更为离线状态,开始数据导入具体如下:
S401、网关节点向分布式集群中的各个节点发起查询用户表状态的请求;
S402、分布式集群中的各个节点收到请求后,将本地的用户表状态发回网关节点;
S403、网关节点接收到分布式集群中所有节点的响应,并且用户表的状态都为离线状态;
S404、记录当前网关节点的物理时间,用于后续的数据回滚。
实施例2:
本实施例提供了一种基于分布式数据库实现数据导入性能优化系统,该系统包括设置模块、消息发送模块、更新模块、数据导入模块及判断模块
设置模块用于在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;
消息发送模块用于在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;
更新模块用于在分布式集群中的各个节点收到用户表状态变更的消息时,更新自己本地的用户表状态缓存;
数据导入模块用于网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;
判断模块用于判断数据是否导出成功:
若数据导入成功,则将用户表的状态设置为公开状态,继续对业务层提供服务;
若数据导入失败,则进行数据回滚数据,等待数据回滚完毕后,将用户表的状态设置为公开状态,继续对业务层提供服务。
本实施例中的设置模块的工作过程具体如下:
(1)开启一个分布式事务,分布式事务用于进行用户表状态的变更;
(2)在开启的分布式事务中,根据导入命令传入的用户表的数据库名、模式名及表名查询到用户表的描述符;
(3)将用户表描述符中的用户表状态设置为离线状态;
(4)使用开启的分布式事务将用户表状态为离线状态的用户表描述符写入分布式数据库中。
本实施例中的消息发送模块工作过程具体如下:
(1)在分布式事务提交时,生成一条用户表状态变更的消息;
(2)将用户表状态变更的消息,以广播的形式发送到集群中的各个节点。
本实施例中的更新模块的工作过程具体如下:
(1)分布式集群中的节点接收到网关节点发来的消息;
(2)分布式集群中的节点解析接收到的网关节点发来的消息;
(3)根据解析后的网关节点发来的消息,更新本地的用户表状态的缓存。
本实施例中的数据导入模块的工作过程具体如下:
(1)网关节点向分布式集群中的各个节点发起查询用户表状态的请求;
(2)分布式集群中的各个节点收到请求后,将本地的用户表状态发回网关节点;
(3)网关节点接收到分布式集群中所有节点的响应,并且用户表的状态都为离线状态;
(4)记录当前网关节点的物理时间,用于后续的数据回滚。
实施例3:
本实施例还提供了一种电子设备,包括:存储器和处理器;
其中,存储器存储计算机执行指令;
处理器执行所述存储器存储的计算机执行指令,使得处理器执行本发明任一实施例中的基于分布式数据库实现数据导入性能优化。
处理器可以是中央处理单元(CPU),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通过处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于储存计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现电子设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器还可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,只能存储卡(SMC),安全数字(SD)卡,闪存卡、至少一个磁盘存储期间、闪存器件、或其他易失性固态存储器件。
实施例4:
本实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的基于分布式数据库实现数据导入性能优化方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RYM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于分布式数据库实现数据导入性能优化方法,其特征在于,该方法具体如下:
在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;
在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;
分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存;
网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;
判断数据是否导出成功:
若数据导入成功,则将用户表的状态设置为公开状态,继续对业务层提供服务;
若数据导入失败,则进行数据回滚数据,等待数据回滚完毕后,将用户表的状态设置为公开状态,继续对业务层提供服务。
2.根据权利要求1所述的基于分布式数据库实现数据导入性能优化方法,其特征在于,在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态具体如下:
开启一个分布式事务,分布式事务用于进行用户表状态的变更;
在开启的分布式事务中,根据导入命令传入的用户表的数据库名、模式名及表名查询到用户表的描述符;
将用户表描述符中的用户表状态设置为离线状态;
使用开启的分布式事务将用户表状态为离线状态的用户表描述符写入分布式数据库中。
3.根据权利要求1或2所述的基于分布式数据库实现数据导入性能优化方法,其特征在于,在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点具体如下:
在分布式事务提交时,生成一条用户表状态变更的消息;
将用户表状态变更的消息,以广播的形式发送到集群中的各个节点。
4.根据权利要求3所述的基于分布式数据库实现数据导入性能优化方法,其特征在于,分布式集群中的各个节点收到用户表状态变更的消息,更新自己本地的用户表状态缓存具体如下:
分布式集群中的节点接收到网关节点发来的消息;
分布式集群中的节点解析接收到的网关节点发来的消息;
根据解析后的网关节点发来的消息,更新本地的用户表状态的缓存。
5.根据权利要求4所述的基于分布式数据库实现数据导入性能优化方法,其特征在于,网关节点等待集群中所有节点中的用户表状态都变更为离线状态,开始数据导入具体如下:
网关节点向分布式集群中的各个节点发起查询用户表状态的请求;
分布式集群中的各个节点收到请求后,将本地的用户表状态发回网关节点;
网关节点接收到分布式集群中所有节点的响应,并且用户表的状态都为离线状态;
记录当前网关节点的物理时间,用于后续的数据回滚。
6.根据权利要求5所述的基于分布式数据库实现数据导入性能优化方法,其特征在于,数据回滚是根据记录的物理时间回滚数据实现。
7.一种基于分布式数据库实现数据导入性能优化系统,其特征在于,该系统包括设置模块、消息发送模块、更新模块、数据导入模块及判断模块
设置模块用于在分布式数据库进行数据导入前,在网关节点开启一个分布式事务,在分布式事务中,将即将导入数据的用户表的状态设置为离线状态;
消息发送模块用于在分布式事务提交时,将用户表的状态设置为离线作为一条消息,发送到分布式集群中的各个节点;
更新模块用于在分布式集群中的各个节点收到用户表状态变更的消息时,更新自己本地的用户表状态缓存;
数据导入模块用于网关节点等待分布式集群中所有节点中的用户表状态都变更为离线状态,开始数据导入;
判断模块用于判断数据是否导出成功:
若数据导入成功,则将用户表的状态设置为公开状态,继续对业务层提供服务;
若数据导入失败,则进行数据回滚数据,等待数据回滚完毕后,将用户表的状态设置为公开状态,继续对业务层提供服务。
8.根据权利要求7所述的基于分布式数据库实现数据导入性能优化系统,其特征在于,所述设置模块的工作过程具体如下:
(1)开启一个分布式事务,分布式事务用于进行用户表状态的变更;
(2)在开启的分布式事务中,根据导入命令传入的用户表的数据库名、模式名及表名查询到用户表的描述符;
(3)将用户表描述符中的用户表状态设置为离线状态;
(4)使用开启的分布式事务将用户表状态为离线状态的用户表描述符写入分布式数据库中;
所述消息发送模块工作过程具体如下:
(1)在分布式事务提交时,生成一条用户表状态变更的消息;
(2)将用户表状态变更的消息,以广播的形式发送到集群中的各个节点;
所述更新模块的工作过程具体如下:
(1)分布式集群中的节点接收到网关节点发来的消息;
(2)分布式集群中的节点解析接收到的网关节点发来的消息;
(3)根据解析后的网关节点发来的消息,更新本地的用户表状态的缓存;
所述数据导入模块的工作过程具体如下:
(1)网关节点向分布式集群中的各个节点发起查询用户表状态的请求;
(2)分布式集群中的各个节点收到请求后,将本地的用户表状态发回网关节点;
(3)网关节点接收到分布式集群中所有节点的响应,并且用户表的状态都为离线状态;
(4)记录当前网关节点的物理时间,用于后续的数据回滚。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如权利要求1至6任一项所述的基于分布式数据库实现数据导入性能优化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至6中任一项所述的基于分布式数据库实现数据导入性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310836991.6A CN116955485A (zh) | 2023-07-10 | 2023-07-10 | 基于分布式数据库实现数据导入性能优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310836991.6A CN116955485A (zh) | 2023-07-10 | 2023-07-10 | 基于分布式数据库实现数据导入性能优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955485A true CN116955485A (zh) | 2023-10-27 |
Family
ID=88450396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310836991.6A Pending CN116955485A (zh) | 2023-07-10 | 2023-07-10 | 基于分布式数据库实现数据导入性能优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955485A (zh) |
-
2023
- 2023-07-10 CN CN202310836991.6A patent/CN116955485A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110161335A1 (en) | Locating the latest version of replicated data files | |
WO2020181810A1 (zh) | 应用于集群内多级缓存的数据处理方法和装置 | |
US9218405B2 (en) | Batch processing and data synchronization in cloud-based systems | |
US8725684B1 (en) | Synchronizing data stores | |
CN111198751A (zh) | 业务处理方法和装置 | |
CN106202082B (zh) | 组装基础数据缓存的方法及装置 | |
US20180121531A1 (en) | Data Updating Method, Device, and Related System | |
US11288237B2 (en) | Distributed file system with thin arbiter node | |
US12001450B2 (en) | Distributed table storage processing method, device and system | |
CN112306993A (zh) | 基于Redis的数据读取方法、装置、设备及可读存储介质 | |
CN111049913B (zh) | 数据文件的传输方法及装置、存储介质、电子设备 | |
CN113342507A (zh) | 一种分布式锁服务实现方法、装置及计算机设备 | |
CN112148206A (zh) | 一种数据读写方法、装置、电子设备及介质 | |
CN111124883B (zh) | 一种基于树形表格的测试用例库引入方法、系统及设备 | |
US20230161664A1 (en) | Method of responding to operation, electronic device, and storage medium | |
CN112015819A (zh) | 分布式图数据库的数据更新方法、装置、设备及介质 | |
CN116955485A (zh) | 基于分布式数据库实现数据导入性能优化方法及系统 | |
CN116226151A (zh) | 一种数据存储、读取和删除的方法和装置 | |
CN116208487A (zh) | 区块链系统中的共识算法升级方法、装置、设备及介质 | |
CN111240810B (zh) | 一种事务管理方法、装置、设备和存储介质 | |
CN114020296A (zh) | 配置信息更新方法、装置、设备及可读存储介质 | |
CN114116732B (zh) | 处理事务的方法、装置、存储装置以及服务器 | |
CN107209882B (zh) | 对于处在管理之下的设备的多阶段撤销注册 | |
CN102314505A (zh) | 基于偏序关系的缓冲区版本产生方法 | |
CN115544321B (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 |