CN113704354A - 一种数据同步方法及装置、计算机设备、存储介质 - Google Patents
一种数据同步方法及装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN113704354A CN113704354A CN202111007698.6A CN202111007698A CN113704354A CN 113704354 A CN113704354 A CN 113704354A CN 202111007698 A CN202111007698 A CN 202111007698A CN 113704354 A CN113704354 A CN 113704354A
- Authority
- CN
- China
- Prior art keywords
- server
- data queue
- database
- data
- configuration 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008859 change Effects 0.000 claims abstract description 42
- 238000012544 monitoring process Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 29
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008602 contraction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000000586 desensitisation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据同步方法及装置、计算机设备、存储介质,应用于包括数据库、第一服务器和第二服务器的数据同步***,该方法包括:响应于数据同步***配置信息的变更,获取数据同步***的目标配置信息。根据目标配置信息,从第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从所有数据库中确定待加锁的第一数据库。向第二服务器发送加锁请求,使得第二服务器在第一数据库的第一资源池中创建第一数据队列对应的第一资源。从第二服务器获取第一资源池的资源信息以判断是否加锁成功,若加锁成功,将第一数据队列与第一数据库连接,否则,对第一资源池进行变更监听,从而动态调整第一服务器上数据队列与数据库的连接,降低***运维难度。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据同步方法及装置、计算机设备、存储介质。
背景技术
目前的数据库增量日志解析***中,可以利用数据同步工具将数据库的增量数据同步到其他的存储应用,实现增量数据的订阅和消费。但是,现有方式下,需要通过本地配置文件人为配置各个数据同步工具与数据库的一一连接关系,当数据同步工具或数据库发生配置变更时,运维难度较大。
发明内容
本申请提供一种数据同步方法及装置、计算机设备、存储介质,其主要目的在于降低数据库数据同步的运维难度。
为实现上述目的,本申请实施例提供了一种数据同步方法,应用于数据同步***,所述数据同步***包括数据库、第一服务器和服务器,所述方法包括:
响应于数据同步***配置信息的变更,获取所述数据同步***的目标配置信息;
根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从所述数据同步***的所有数据库中确定待加锁的第一数据库;
生成加锁请求,并向第二服务器发送所述加锁请求,其中,所述加锁请求用于指示所述第二服务器在所述第一数据库对应的第一资源池中创建所述第一数据队列对应的第一资源;
从所述第二服务器获取所述第一资源池的资源信息;
根据所述资源信息判断是否加锁成功,若加锁成功,将所述第一数据队列与所述第一数据库连接以进行数据同步,若加锁失败,对所述第一资源池进行变更监听。
为实现上述目的,本申请实施例还提出了一种数据同步装置,应用于数据同步***,所述数据同步***包括数据库、第一服务器和第二服务器,所述装置包括:
获取模块,用于响应于数据同步***配置信息的变更,获取所述数据同步***的目标配置信息;
确定模块,用于根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从所述数据同步***的所有数据库中确定待加锁的第一数据库;
生成模块,用于生成加锁请求,其中,所述加锁请求用于指示第二服务器在所述第一数据库对应的第一资源池中创建所述第一数据队列对应的第一资源;
发送模块,用于向所述第二服务器发送所述加锁请求;
所述获取模块,还用于从所述第二服务器获取所述第一资源池的资源信息;
判断模块,用于根据所述资源信息判断是否加锁成功;
同步模块,用于在加锁成功时,将所述第一数据队列与所述第一数据库连接以进行数据同步;
监听模块,用于在加锁失败时,对所述第一资源池进行变更监听。
为实现上述目的,本申请实施例还提出了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有程序,所述程序被所述处理器执行时实现前述方法的步骤。
为实现上述目的,本申请提供了一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述方法的步骤。
本申请提出的数据同步方法及装置、计算机设备、存储介质,适用于包括数据库、第一服务器和第二服务器的数据同步***,能够监听整个数据同步***的配置变更,并结合配置变更情况适应性地采取相应的负载分配方式,即动态调整各个第一服务器上数据队列与数据库的连接,无需人为配置,故各个数据队列可以灵活抢占各个数据库的资源池,并根据资源池的资源创建情况分析是否加锁成功,加锁成功即建立连接,加锁失败则继续对资源池进行变更监听以等待下一次加锁机会,从而在实现分布式部署的同时,便于水平扩缩容,降低了对数据同步***的运维难度。
附图说明
图1是本申请实施例所应用的一种数据同步***的结构框图;
图2是本申请实施例所应用的一种服务器的结构框图;
图3是现有技术中数据库与cana l实例进行数据同步的示意图;
图4是本申请实施例中数据库与第一服务器进行数据同步的示意图;
图5是本申请实施例一提供的数据同步方法的流程图;
图6是本申请实施例二提供的数据同步方法的流程图;
图7是本申请实施例所应用的一种数据同步装置的结构框图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费服务器、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请提供一种数据同步方法,应用于一种数据同步***。参照图1所示,图1是本申请实施例所应用的一种数据同步***的结构框图。该数据同步***包括第一服务器10、数据库20和第二服务器30。其中,第一服务器10和数据库20的数目均可以是至少一个,不做具体限定。
在本实施例中,数据库20可以是MySQL、Oracle数据库或Sybase等关系型数据库,也可以是MongoDB或Hbase等非关系型数据库,对此不做具体限定。具体的,数据库20可以采用二进制日志(binary log)记录并存储数据库20的变更历史、数据库增量备份、恢复和复制(主从数据库的复制)等信息,从而适用于数据同步(比如在线、离线数据库之间的数据同步操作)、数据消费(比如根据数据库表的变化实现增量搜索)或者数据脱敏(比如将线上动态数据导入到其他应用以实现数据脱敏)等多种应用场景。
参照图2所示,图2是本申请实施例所应用的一种服务器的结构框图。
在本实施例中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
该服务器包括:存储器11、处理器12、网络接口13及数据总线14。
存储器11包括至少一种类型的可读存储介质,至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,可读存储介质可以是服务器的内部存储单元,例如该服务器的硬盘。在另一些实施例中,可读存储介质也可以是服务器的外部存储器,例如服务器上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,存储器11的可读存储介质通常用于存储安装于服务器中的程序等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行程序等,以实现本申请实施例所提供的技术方案。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该服务器与其他电子设备之间建立通信连接。
数据总线14用于实现这些组件之间的连接通信。
图1仅示出了具有组件11-14的服务器,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。还可以理解的是,上述图2所示的服务器可适用于第一服务器10和第二服务器30。
具体的,本实施例中的第一服务器10和数据库20可以采用canal架构,则第一服务器10可以是canal服务器。第一服务器10与数据库20建立连接时,可以通过数据库20的主从复制交互协议向数据库20发送备份指令(比如dump指令),则数据库20响应于备份指令将二进制日志推送给第一服务器10,使得第一服务器10获得并解析二进制日志以实现数据同步。第一服务器10上可以运行有至少一个数据队列(也即canal实例),而每个数据队列可与不同数据库建立连接。其中,数据队列可实现:数据源接入,并解析与数据库20的交互协议;数据过滤、分发、归并及加工;数据存储;以及,增量订阅与消费信息管理。
如图3所示,图3是现有技术中数据库与canal实例进行数据同步的示意图。现有技术中,大多采用基于canal的主备架构模块,即两个canal实例会组成一个主备服务组,比如主服务端的实例A和备服务端的实例A。并且,一个主备服务组只连接于指定的一个数据库(或数据库实例),比如上述实例A对应的主备服务组只与数据库实例A连接。当主服务端的实例服务时,备服务端的实例只用于上报心跳并监听主服务端是否异常,不参与其他服务,而当主服务端异常时,备服务端的实例才会接管,导致了一定的资源冗余。如图4所示,图4是本申请实施例中数据库20与第一服务器10进行数据同步的示意图。相比于现有技术,本申请不采用备服务端,没有闲置节点,第一服务器10上的每个实例均可抢占每个数据库20以尝试建立连接,因此大大减少了机器成本和资源浪费。更具体的,本申请中,第一服务器10与数据库20可以建立长连接,则新增数据库20不会影响已建立的第一服务器10和数据库20之间的连接关系,也不会涉及主备切换时产生额外的连接断开与重连,具备高可用性,避免重复消费。
具体的,第一服务器10、数据库20和第二服务器30采用分布式架构,比如dubbo或kafka等基于传输控制协议(transmission control protocol,TCP)长连接的服务注册及发现模型。其中,第二服务器30可以采用zookeeper服务器,第二服务器30的数目也可以是至少一个,并以集群形式部署。也就是说,第一服务器10可以与集群中任一第二服务器30连接,如果连接异常断开,则第一服务器10可再次连接集群中其他第二服务器30。
可选的,该数据同步***还可以包括配置中心40,配置中心40可以是统一管理数据同步***中数据库20和第一服务器10等***应用的配置信息的服务组件,可应用于服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。用户在配置中心40进行配置更新,则配置中心40存放有状态信息,再通过响应各个第一服务器10的请求向第一服务器10下发配置信息,故无需特意对各个第一服务器10进行信息同步,实现第一服务器10的无状态应用,容错性高,且提供了远程管理配置的能力,实现分布式***下应用配置的可管理性。
可选的,该数据同步***还可以包括订阅端50,订阅端50和第一服务器10可采用分布式消息***,比如RocketMQ,从而提供低延时和高可靠的消息发布与订阅服务。第一服务器10可以将获得的增量数据分发到一个或多个消息队列中,再基于订阅端50的各个订阅任务对应的主题,将各个消息队列推送到与消息队列的主题所对应的订阅端50。
可选的,该数据同步***还可以包括至少一个客户端60,客户端60可以是智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。客户端60可以与任一第一服务器10建立连接以实现远程数据交互,便于拓展更加多样化的交互功能。
下面对本申请实施例公开的一种数据同步方法进行具体说明。可以理解的是,上述数据同步***适用于本申请实施例中的数据同步方法。
实施例一
如图5所示,图5是本申请实施例一提供的数据同步方法的流程图。如图5所示,该方法包括如下步骤:
步骤S500:响应于数据同步***配置信息的变更,第一服务器获取数据同步***的目标配置信息。
在本申请实施例中,具体的,可以由配置中心在数据同步***的配置信息发生变更时,向各个第一服务器发送配置更新通知,使得第一服务器根据配置更新通知向配置中心发送配置获取请求,则配置中心将配置信息变更后得到的目标配置信息下发给第一服务器。配置信息发生变更的情况包括但不限于:信息增加、修改和删减等。目标配置信息可以包括数据库配置信息和第一服务器配置信息。第一服务器配置信息可以包括数据同步***中所有第一服务器、各个第一服务器的服务器信息、各个第一服务器上运行的数据队列以及各个数据队列的限制信息(比如数据库连接上限值和事务处理上限值等),数据库配置信息包括数据同步***中所有数据库、各个数据库的识别信息(比如编号或名称等)及连接信息(比如连接域名、账号及密码等),均不做具体限定。
可选的,数据库配置信息可分为全局配置信息和连接信息,配置中心可以以预设数据格式将全局配置信息存储至第一存储路径,全局配置信息包括数据库同步***中所有数据库以及各个数据库的识别信息,预设数据格式可以包括但不限于列表、元组或键值对等。以及,将各个数据库的连接信息存储至各个数据库对应的第二存储路径,第二存储路径与数据库的识别信息相关。也就是说,当第一服务器发送配置获取请求,配置中心可以先向第一服务器返回按照第一存储路径读取到的全局配置信息。而当第一服务器确定与任一数据库建立连接(也即加锁成功),则第一服务器可以根据待连接的数据库的识别信息,向配置中心发送对该识别信息的信息读取请求,则配置中心再按照信息读取请求对应的识别信息确定相应的第二存储路径,并按照该第二存储路径读取连接信息以返回给第一服务器,最终使得第一服务器根据返回的连接信息进行数据库连接。
示例性的,配置中心存储的全局配置信息可以为数据库信息列表,即:com.pajk.roma.dbinfos=["db1","db2"]。易知存在两个数据库,这两个数据库的编号分别为“db1”和“db2”。假设根据两个数据库各自的编号,还可获得各个数据库的连接信息,即:
com.pajk.roma.db1.dbinfo={连接域名:add one;账号:user one;密码:psdone},com.pajk.roma.db2.dbinfo={连接域名:add two;账号:user two;密码:psd two}。
以编号“db1”为例,当配置中心接收到对“db1”的信息读取请求,则可确定“db1”对应的第二存储路径“com.pajk.roma.db1.dbinfo”,再按照第二存储路径“com.pajk.roma.db1.dbinfo”,读取到连接信息:{连接域名:add one;账号:user one;密码:psd one}。
步骤S501:第一服务器根据目标配置信息,从第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从数据同步***的所有数据库中确定待加锁的第一数据库。
在一种可选的实施方式中,目标配置信息包括第一服务器上运行的各个数据队列的数据库连接上限值,第一数据库的确定方式具体可以为:
获取第一服务器上运行的至少一个数据队列各自对应的加锁数量,加锁数量表示数据队列已连接的数据库数量。从至少一个数据队列中确定待加锁的第一数据队列,第一数据队列满足:第一数据队列对应的加锁数量小于第一数据队列的数据库连接上限值。可以理解,每当第一服务器上的数据队列与数据库建立连接,则该数据队列对应的加锁数量加一。
在另一种可选的实施方式中,目标配置信息包括第一服务器上运行的各个数据队列的事务处理上限值,事务处理上限值表示数据队列在指定时间内的最大事务处理量,则第一数据库的确定方式具体也可以为:
获取第一服务器上运行的至少一个数据队列各自对应的当前事务处理能力,当前事务处理能力表示数据队列当前在指定时间内的事务处理量,比如每秒事务处理量(transaction per second,TPS)。从至少一个数据队列中确定待加锁的第一数据队列,第一数据队列满足:第一数据队列对应的当前事务处理能力小于第一数据队列的事务处理上限值。
在又一种可选的实施方式中,上述第一数据队列也可同时满足:第一数据队列对应的加锁数量小于第一数据队列的数据库连接上限值,且第一数据队列对应的当前事务处理能力小于第一数据队列的事务处理上限值。
可以理解,上述数据库连接上限值、事务处理上限值和指定时间等预设参数均可由人为设定及调整。可见,对各个数据队列增设不同的资源阈值限制条件,有利于改善***的稳定性和可靠性。
在本申请实施例中,待加锁的第一数据库可以满足:第一数据队列未在第一数据库对应的第一资源池中创建资源;或者,第一数据库未被加锁成功,对此不做具体限定。
步骤S502:第一服务器生成加锁请求,并向第二服务器发送加锁请求。
在本申请实施例中,加锁请求用于指示第二服务器在第一数据库对应的第一资源池中创建第一数据队列对应的第一资源。各个数据库对应的资源池用于存放不同数据队列创建的资源,具体的,第一资源池可以是排队列表,而第一资源可以是第一排队列表在排队列表中创建的节点,此处的节点可以是临时节点、永久节点、有编号节点或临时有编号节点等,不做限定。其中,临时节点可在第一服务器和第二服务器断开连接时被清除,永久节点是由第一服务器主动删除的持久化节点,有编号节点是自动增加顺序编号的持久化节点,临时有编号节点是临时自动增加编号的临时节点。
一些可选的实施方式中,第二服务器在第一资源池创建第一资源的步骤具体可以为:
第二服务器先尝试调用第一数据库对应的第一资源池。若第一资源池不存在,则第二服务器新建第一数据库对应的第一资源池。第二服务器将预设的起始编号(比如000001)作为第一数据队列对应的排序编号,并根据第一数据库对应的数据库编码和第一数据队列对应的排序编号,生成第一数据队列的资源编码,其中,数据库编码表示第一数据库对应的存储路径,资源编码表示用于定位第一资源的资源路径。之后,第二服务器根据第一数据队列的资源编码在第一资源池中创建第一资源。以下表1所示的一种第一数据库的排队列表为例,节点1可以是第一数据队列对应的第一资源。
表1第一数据库的排队列表一
或者,调用第一数据库对应的第一资源池之后,若获得第一资源池,则第二服务器可以从第一资源池中确定排序编号最大的资源,再根据该排序编号最大的资源对应的第一排序编号为第一数据队列分配排序编号,得到第二排序编号,使得第二排序编号大于第一排序编号。结合第一数据库对应的数据库编码和第二排序编号,生成第一数据队列的资源编码,并根据资源编码在第一资源池中创建第一资源。以下表2所示的另一种第一数据库的排队列表为例,假设该排队列表已包含下表节点1、2和3,可知排序编号最大的节点为节点3,则第一排序编号为“000003”。假设第二排序编号为第一排序编号加一,则第二服务器在该排队列表中为第一数据队列创建下图中的节点4。
表2第一数据库的排队列表二
步骤S503:第一服务器从第二服务器获取第一资源池的资源信息。
在本申请实施例中,第一资源池的资源信息可以包括但不限于第一资源池中的所有资源以及各个资源对应的排序编号(或资源编码)。
步骤S504:第一服务器根据资源信息判断是否加锁成功,若是,执行步骤S505,若否,执行步骤S506。
在一种可选的实施方式中,步骤S504具体可以为:根据资源信息,确定第一资源池内各个资源的排序编号,排序编号根据资源在第一资源池中的创建次序所生成。判断第一资源的排序编号是否在第一资源池内所有资源的排序编号中取值最小,若是,则判定加锁成功,若否,则判定加锁失败。以表1为例,由于新增的节点1的排序编号“000001”在第一资源池内已有资源的排序编号中取值最小,故第一服务器此时可判定第一数据队列对第一数据库加锁成功。而以表2为例,由于新增的节点4的排序编号“000004”在第一资源池内已有资源的排序编号中取值并非最小,故第一服务器此时判定第一数据队列对第一数据库加锁失败。可见,对资源池中的资源进行有序编号,使得各个数据队列按照一定先后次序抢占资源池中的资源,能够保证数据库始终只与一个数据队列建立连接。
步骤S505:第一服务器将第一数据队列与第一数据库连接以进行数据同步。
在本申请实施例中,步骤S505具体可以为:第一服务器向第一数据库发送备份指令,从而获取第一数据库响应于备份命令返回的增量数据。之后,第一服务器再将增量数据发送给订阅端,并在接收到订阅端返回的确认信息后,完成一次增量数据同步。
步骤S506:第一服务器对第一资源池进行变更监听。
在本申请实施例中,第一服务器可以采用监听机制(比如zookeeper watch机制)对第一资源池进行变更监听,当第一资源池中加锁成功的资源被释放,则第二服务器可以发送通知给第一服务器,使得第一服务器重新从第二服务器获取第一资源池的资源信息,以判断是否加锁成功。
可选的,还可以循环执行步骤S501至步骤S506,直到第一服务器上不存在待加锁的第一数据队列,或者,针对第一数据队列,不存在与第一数据队列对应且待加锁的第一数据库,故能够最高效化地利用各个数据队列和数据库的连接资源。
可见,实施上述方法实施例,能够监听整个数据同步***的配置变更,并结合配置变更情况适应性地采取相应的负载分配方式,即动态调整各个第一服务器上数据队列与数据库的连接,无需人为配置,故各个数据队列可以灵活抢占各个数据库的资源池,并根据资源池的资源创建情况分析是否加锁成功,加锁成功即建立连接,加锁失败则继续对资源池进行变更监听以等待下一次加锁机会,从而在实现分布式部署的同时,便于水平扩缩容,降低了对数据同步***的运维难度。
实施例二
如图6所示,图6是本申请实施例二提供的数据同步方法的流程图。如图6所示,该方法包括如下步骤:
步骤S600:响应于数据同步***配置信息的变更,第一服务器获取数据同步***的目标配置信息。
步骤S601:第一服务器获取存储的本地配置信息。
在本申请实施例中,本地配置信息为上一次数据同步***的配置信息发生变更时对数据同步***获取到的配置信息,对本地配置信息的具体描述可参照目标配置信息,不做赘述。
步骤S602:第一服务器将目标配置信息与本地配置信息进行对比,得到对比结果。
步骤S603:在对比结果包括新增数据库或者任一数据队列被删除的情况下,第一服务器根据目标配置信息,从第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从数据同步***的所有数据库中确定待加锁的第一数据库。
也就是说,当新增数据库或任一数据队列被删除时,数据同步***中存在空闲的连接资源,故此时适合重新对各个仍具备加锁条件的数据队列进行动态分配。具体的,若第一服务器上运行有被删除的数据队列,则第一服务器可以确定与被删除的数据队列连接的目标数据库,并向第二服务器发送被删除的数据队列对与目标数据库的释放请求。第二服务器根据释放请求从目标数据库的资源池中删去上述被删除的数据队列所对应的资源,完成资源释放。
在一些可选的实施方式中,步骤S603之后,还可以包括以下步骤:
在对比结果包括第二数据库被删除的情况下,当第一服务器上运行有与第二数据库连接的第二数据队列,则向第二服务器发送第二数据队列对第二数据库的释放请求,第二服务器可以根据释放请求从第二数据库对应的第二资源池中删去第二数据队列创建的第二资源;或者,当第一服务器上运行有对第二资源池进行变更监听的第三数据队列,则向第二服务器发送第三数据队列对第二数据库的监听取消请求,监听取消请求用于指示第二服务器可以根据监听取消请求从第二资源池中删去第三数据队列创建的第三资源。
和/或,在对比结果包括第三数据库被修改的情况下,且第一服务器上运行有与第三数据库连接的第四数据队列,则向第二服务器发送第四数据队列对第三数据库的重加锁请求。第二服务器根据重加锁请求,从第三数据库对应的第三资源池中删除第四数据队列创建的第四资源,再在第三资源池中为第四数据队列创建新的第四资源。
可见,通过目标配置信息和本地配置信息的对比,实现对配置信息变化的具体分析,并结合多种配置变化适应性地调整数据队列与数据库的连接,具备更加灵活的负载均衡效果。
步骤S604:第一服务器根据数据同步***中所有数据库的配置信息,确定第一数据库的识别信息。
比如,第一服务器可以从各个数据库的配置信息中获得第一数据库所对应的编码。
步骤S605:第一服务器获取设定的监听对象和触发事件类型。
在本申请实施例中,监听对象和触发事件类型均可以由人为设定及调整,监听对象可以是:第一数据库对应的第一资源池;或者,第一数据队列在第一资源池中创建的资源;或者,第一资源池中加锁成功的资源;或者,第一资源池中排序编号在第一数据队列所创建资源之前的一个或多个资源,不做具体限定。触发事件类型可以包括但不限于:监听对象被删除和监听对象发生内容变更等。
步骤S606:第一服务器结合识别信息、监听对象和触发事件类型,生成加锁请求,并向第二服务器发送加锁请求。
在本申请实施例中,具体的,第二服务器接收到加锁请求后,可以根据加锁请求对应的识别信息确定第一数据库对应的第一资源池,从而在第一资源池中创建第一数据队列对应的第一资源。第二服务器还可以根据加锁请求对应的监听对象和触发事件类型生成***以对第一资源池进行变更监听。当第二服务器利用***对第一资源池中的监听对象监听到满足触发事件类型的触发事件时,第二服务器生成变更通知,并将变更通知发送给第一服务器,实现了有效的资源监听机制,能够通过资源池变化反映数据库的连接变化,并及时将数据库的连接变化反馈给第一服务器,以便第一服务器对资源池进行动态抢占及加锁。可选的,变更通知可以包括通知状态、触发事件类型和触发事件对应的资源路径等,通知状态表示第一服务器与第二服务器的连接状态(比如连接正常、连接断开或会话失效等)。
还可选的,第一服务器在生成加锁请求时,还可以建立第一数据队列与相应监听对象和触发事件类型之间的监听关系,并对监听关系进行存储。基于此,每次第一服务器接收到第二服务器发送的变更通知时,可以将变更通知与存储的监听关系进行匹配,进而根据匹配得到的监听关系确定第一服务器上响应本次变更的数据队列。
步骤S607:第一服务器从第二服务器获取第一资源池的资源信息。
步骤S608:第一服务器根据资源信息判断是否加锁成功,若是,执行步骤S609,若否,执行步骤S610至S611。
步骤S609:第一服务器将第一数据队列与第一数据库连接以进行数据同步。
步骤S610:第一服务器检测第二服务器发送的变更通知。
步骤S611:若接收到变更通知,继续执行步骤S607。
可以理解的是,本实施例中步骤S600、S603、S606至S609的具体实现方式还可以参照上述实施例一中对步骤S500至S506的描述,在此不再赘述。
在一些可选的实施方式中,第一服务器还可以接收客户端发送的处理请求(比如HTTP请求),并根据处理请求进行交互处理,得到处理结果,再将处理结果返回给客户端。
其中,针对第一服务器根据处理请求进行交互处理这一步骤,一些实现方式中,处理请求可以是查询请求,则第一服务器可以获取查询请求指定的实例标识信息(或第一服务器标识信息)。第一服务器根据实例标识信息(或第一服务器标识信息)查询目标数据队列连接的数据库信息,以作为处理结果。其中,目标数据队列是与实例标识信息匹配的数据队列,实例标识信息包括ip地址或编号等,数据库信息包括但不限于数据库个数和数据库名称。或者,第一服务器可以根据查询请求指定的数据库信息,查询目标数据库连接的数据队列,以作为处理结果。其中,目标数据库是与指定的数据库信息匹配的数据库。
另一些实现方式中,处理请求可以是干预请求,则第一服务器可以根据干预请求,得到干预请求指定的第五数据队列和第四数据库,并向第二服务器发送第五数据队列对第四数据库的释放请求,第二服务器响应于释放请求,在第四数据库对应的资源池中删去第五数据队列创建的资源。
可见,实施上述方法实施例,能够监听整个数据同步***的配置变更,并结合配置变更情况适应性地采取相应的负载分配方式,即动态调整各个第一服务器上数据队列与数据库的连接,无需人为配置,故各个数据队列可以灵活抢占各个数据库的资源池,并根据资源池的资源创建情况分析是否加锁成功,加锁成功即建立连接,加锁失败则继续对资源池进行变更监听以等待下一次加锁机会,从而在实现分布式部署的同时,便于水平扩缩容,降低了对数据同步***的运维难度。
本申请实施例还提供一种数据同步装置。请参阅图7,图7是本申请实施例所应用的一种数据同步装置的结构框图。如图7所示,该数据同步装置700包括:
获取模块710,用于响应于数据同步***配置信息的变更,获取数据同步***的目标配置信息;
确定模块720,用于根据目标配置信息,从第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从数据同步***的所有数据库中确定待加锁的第一数据库;
生成模块730,用于生成加锁请求,其中,加锁请求用于指示第二服务器在第一数据库对应的第一资源池中创建第一数据队列对应的第一资源;
发送模块740,用于向第二服务器发送加锁请求;
获取模块710,还用于从第二服务器获取第一资源池的资源信息;
判断模块750,用于根据资源信息判断是否加锁成功;
同步模块760,用于在加锁成功时,将第一数据队列与第一数据库连接以进行数据同步;
监听模块770,用于在加锁失败时,对第一资源池进行变更监听。
需要说明的是,本实施例的具体实现过程可参见上述方法实施例所描述的具体实现过程,亦不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器上存储有程序,程序被处理器执行时实现上述数据同步方法。
本申请实施例还提供了一种存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述数据同步方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本申请的优选实施例,并非因此局限本申请的权利范围。本领域技术人员不脱离本申请的范围和实质内所作的任何修改、等同替换和改进,均应在本申请的权利范围之内。
Claims (10)
1.一种数据同步方法,其特征在于,应用于数据同步***,所述数据同步***包括数据库、第一服务器和第二服务器,所述方法包括:
响应于数据同步***配置信息的变更,获取所述数据同步***的目标配置信息;
根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从所述数据同步***的所有数据库中确定待加锁的第一数据库;
生成加锁请求,并向第二服务器发送所述加锁请求,其中,所述加锁请求用于指示所述第二服务器在所述第一数据库对应的第一资源池中创建所述第一数据队列对应的第一资源;
从所述第二服务器获取所述第一资源池的资源信息;
根据所述资源信息判断是否加锁成功,若加锁成功,将所述第一数据队列与所述第一数据库连接以进行数据同步,若加锁失败,对所述第一资源池进行变更监听。
2.根据权利要求1所述的方法,其特征在于,所述目标配置信息包括所述数据同步***中所有所述数据库和所有所述第一服务器的配置信息,所述第一服务器的配置信息包括所述第一服务器上运行的所有数据队列;在所述获取所述数据同步***的目标配置信息之后,所述方法还包括:
获取存储的本地配置信息,所述本地配置信息为上一次所述数据同步***的配置信息发生变更时对所述数据同步***获取到的配置信息;
将所述目标配置信息与所述本地配置信息进行对比,得到对比结果;
所述根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,包括:
在所述对比结果包括新增数据库或者任一数据队列被删除的情况下,根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标配置信息与所述本地配置信息进行对比,得到对比结果之后,所述方法还包括:
在所述对比结果包括第二数据库被删除的情况下,当所述第一服务器上运行有与所述第二数据库连接的第二数据队列,则向所述第二服务器发送所述第二数据队列对所述第二数据库的释放请求,所述释放请求用于指示所述第二服务器从所述第二数据库对应的第二资源池中删去所述第二数据队列创建的第二资源;或者,当所述第一服务器上运行有对所述第二资源池进行变更监听的第三数据队列,则向所述第二服务器发送所述第三数据队列对所述第二数据库的监听取消请求,所述监听取消请求用于指示所述第二服务器从所述第二资源池中删去所述第三数据队列创建的第三资源;
和/或,在所述对比结果包括第三数据库被修改的情况下,且所述第一服务器上运行有与所述第三数据库连接的第四数据队列,则向所述第二服务器发送所述第四数据队列对所述第三数据库的重加锁请求,其中,所述重加锁请求用于指示所述第二服务器从所述第三数据库对应的第三资源池中删除所述第四数据队列创建的第四资源,并指示所述第二服务器在所述第三资源池中为所述第四数据队列创建新的第四资源。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述资源信息判断是否加锁成功,包括:
根据所述资源信息,确定所述第一资源池内各个资源的排序编号,所述排序编号根据所述资源在所述第一资源池中的创建次序所生成;
判断所述第一资源的排序编号是否在所述第一资源池内所有资源的排序编号中取值最小;
若是,则判定加锁成功;
若否,则判定加锁失败。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述目标配置信息包括所述第一服务器上运行的各个数据队列的数据库连接上限值;所述根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,包括:
获取所述第一服务器上运行的至少一个数据队列各自对应的加锁数量,所述加锁数量表示所述数据队列已连接的数据库数量;
从所述至少一个数据队列中确定待加锁的第一数据队列,所述第一数据队列满足:所述第一数据队列对应的加锁数量小于所述第一数据队列的数据库连接上限值。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述目标配置信息包括所述第一服务器上运行的各个数据队列的事务处理上限值,所述事务处理上限值表示所述数据队列在指定时间内的最大事务处理量;所述根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,包括:
获取所述第一服务器上运行的至少一个数据队列各自对应的当前事务处理能力,所述当前事务处理能力表示所述数据队列当前在所述指定时间内的事务处理量;
从所述至少一个数据队列中确定待加锁的第一数据队列,所述第一数据队列满足:所述第一数据队列对应的当前事务处理能力小于所述第一数据队列的事务处理上限值。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述目标配置信息包括所述数据同步***中所有所述数据库的配置信息,所述生成加锁请求,包括:
根据所述数据同步***中所有所述数据库的配置信息,确定所述第一数据库的识别信息;
获取设定的监听对象和触发事件类型;
结合所述识别信息、所述监听对象和所述触发事件类型,生成加锁请求,所述加锁请求还用于指示所述第二服务器根据所述识别信息确定所述第一数据库对应的第一资源池,以及指示第二服务器根据所述监听对象和所述触发事件类型生成***以对所述第一资源池进行变更监听;
所述若加锁失败,对所述第一资源池进行变更监听,包括:
若加锁失败,检测所述第二服务器发送的变更通知,所述变更通知是所述第二服务器利用所述***对所述第一资源池中的所述监听对象监听到触发事件时所生成,所述触发事件满足所述触发事件类型;
若接收到所述变更通知,则继续执行所述从所述第二服务器获取所述第一资源池的资源信息,并根据所述资源信息判断是否加锁成功的步骤。
8.一种数据同步装置,其特征在于,应用于数据同步***,所述数据同步***包括数据库、第一服务器和第二服务器,所述装置包括:
获取模块,用于响应于数据同步***配置信息的变更,获取所述数据同步***的目标配置信息;
确定模块,用于根据所述目标配置信息,从所述第一服务器上运行的至少一个数据队列中确定待加锁的第一数据队列,以及从所述数据同步***的所有数据库中确定待加锁的第一数据库;
生成模块,用于生成加锁请求,其中,所述加锁请求用于指示第二服务器在所述第一数据库对应的第一资源池中创建所述第一数据队列对应的第一资源;
发送模块,用于向所述第二服务器发送所述加锁请求;
所述获取模块,还用于从所述第二服务器获取所述第一资源池的资源信息;
判断模块,用于根据所述资源信息判断是否加锁成功;
同步模块,用于在加锁成功时,将所述第一数据队列与所述第一数据库连接以进行数据同步;
监听模块,用于在加锁失败时,对所述第一资源池进行变更监听。
9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有程序,其特征在于,所述程序被所述处理器执行时实现如权利要求1至7任一项所述的数据同步方法的步骤。
10.一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至7中任一项所述的数据同步方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007698.6A CN113704354B (zh) | 2021-08-30 | 2021-08-30 | 一种数据同步方法及装置、计算机设备、存储介质 |
PCT/CN2022/088533 WO2023029519A1 (zh) | 2021-08-30 | 2022-04-22 | 一种数据同步方法及装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111007698.6A CN113704354B (zh) | 2021-08-30 | 2021-08-30 | 一种数据同步方法及装置、计算机设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704354A true CN113704354A (zh) | 2021-11-26 |
CN113704354B CN113704354B (zh) | 2023-10-20 |
Family
ID=78657061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111007698.6A Active CN113704354B (zh) | 2021-08-30 | 2021-08-30 | 一种数据同步方法及装置、计算机设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113704354B (zh) |
WO (1) | WO2023029519A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745571A (zh) * | 2022-04-15 | 2022-07-12 | 网易(杭州)网络有限公司 | 直播状态信息同步方法、装置、电子设备和可读存储介质 |
CN115129687A (zh) * | 2022-03-16 | 2022-09-30 | 希望知舟技术(深圳)有限公司 | 基于异常工况数据库管理的方法、相关装置及介质和程序 |
CN115470302A (zh) * | 2022-10-25 | 2022-12-13 | 以萨技术股份有限公司 | 一种基于canal的数据库双向同步方法、介质及设备 |
WO2023029519A1 (zh) * | 2021-08-30 | 2023-03-09 | 康键信息技术(深圳)有限公司 | 一种数据同步方法及装置、计算机设备、存储介质 |
CN117041044A (zh) * | 2023-08-23 | 2023-11-10 | 中电金信软件有限公司 | 网关配置方法、装置及*** |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662016B (zh) * | 2023-07-25 | 2023-10-20 | 太平金融科技服务(上海)有限公司 | 端口切换方法、装置、计算机设备、存储介质和程序产品 |
CN117171262A (zh) * | 2023-08-09 | 2023-12-05 | 飞算数智科技(深圳)有限公司 | 数据同步的方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542611A (zh) * | 2017-09-21 | 2019-03-29 | ***通信集团重庆有限公司 | 数据库即服务***、数据库调度方法、设备及存储介质 |
CN112015713A (zh) * | 2019-05-30 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据库任务的处理方法、装置、电子设备及可读介质 |
CN112527899A (zh) * | 2020-12-03 | 2021-03-19 | 北京百度网讯科技有限公司 | 数据同步的方法、装置、设备以及存储介质 |
CN112783859A (zh) * | 2021-01-08 | 2021-05-11 | 河北志晟信息技术股份有限公司 | 一种数据库的轻量级并发迁移方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8191046B2 (en) * | 2008-10-06 | 2012-05-29 | Microsoft Corporation | Checking transactional memory implementations |
CN108073658B (zh) * | 2016-11-16 | 2020-06-12 | ***通信集团广西有限公司 | 一种数据同步***及方法 |
CN108573006B (zh) * | 2017-06-06 | 2021-03-26 | 北京金山云网络技术有限公司 | 跨机房数据同步***、方法及装置、电子设备 |
CN109753364A (zh) * | 2018-12-28 | 2019-05-14 | 北京明朝万达科技股份有限公司 | 一种基于网络的分布式锁的实现方法、设备及介质 |
CN112307037B (zh) * | 2019-07-26 | 2023-09-22 | 北京京东振世信息技术有限公司 | 一种数据同步方法和装置 |
CN112905322B (zh) * | 2021-02-09 | 2021-11-19 | 掌阅科技股份有限公司 | 资源加锁的方法、计算设备及计算机存储介质 |
CN113704354B (zh) * | 2021-08-30 | 2023-10-20 | 康键信息技术(深圳)有限公司 | 一种数据同步方法及装置、计算机设备、存储介质 |
-
2021
- 2021-08-30 CN CN202111007698.6A patent/CN113704354B/zh active Active
-
2022
- 2022-04-22 WO PCT/CN2022/088533 patent/WO2023029519A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542611A (zh) * | 2017-09-21 | 2019-03-29 | ***通信集团重庆有限公司 | 数据库即服务***、数据库调度方法、设备及存储介质 |
CN112015713A (zh) * | 2019-05-30 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据库任务的处理方法、装置、电子设备及可读介质 |
CN112527899A (zh) * | 2020-12-03 | 2021-03-19 | 北京百度网讯科技有限公司 | 数据同步的方法、装置、设备以及存储介质 |
CN112783859A (zh) * | 2021-01-08 | 2021-05-11 | 河北志晟信息技术股份有限公司 | 一种数据库的轻量级并发迁移方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023029519A1 (zh) * | 2021-08-30 | 2023-03-09 | 康键信息技术(深圳)有限公司 | 一种数据同步方法及装置、计算机设备、存储介质 |
CN115129687A (zh) * | 2022-03-16 | 2022-09-30 | 希望知舟技术(深圳)有限公司 | 基于异常工况数据库管理的方法、相关装置及介质和程序 |
CN114745571A (zh) * | 2022-04-15 | 2022-07-12 | 网易(杭州)网络有限公司 | 直播状态信息同步方法、装置、电子设备和可读存储介质 |
CN114745571B (zh) * | 2022-04-15 | 2024-01-23 | 网易(杭州)网络有限公司 | 直播状态信息同步方法、装置、电子设备和可读存储介质 |
CN115470302A (zh) * | 2022-10-25 | 2022-12-13 | 以萨技术股份有限公司 | 一种基于canal的数据库双向同步方法、介质及设备 |
CN115470302B (zh) * | 2022-10-25 | 2023-05-09 | 以萨技术股份有限公司 | 一种基于canal的数据库双向同步方法、介质及设备 |
CN117041044A (zh) * | 2023-08-23 | 2023-11-10 | 中电金信软件有限公司 | 网关配置方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN113704354B (zh) | 2023-10-20 |
WO2023029519A1 (zh) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704354B (zh) | 一种数据同步方法及装置、计算机设备、存储介质 | |
CN107295080B (zh) | 应用于分布式服务器集群的数据存储方法和服务器 | |
US9785691B2 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
US8856091B2 (en) | Method and apparatus for sequencing transactions globally in distributed database cluster | |
CN106817408B (zh) | 一种分布式服务器集群调度方法及装置 | |
US7870248B2 (en) | Exploiting service heartbeats to monitor file share | |
CN112468310B (zh) | 流媒体集群节点管理方法、装置及存储介质 | |
CN110830283A (zh) | 故障检测方法、装置、设备和*** | |
CN107231435B (zh) | 数据同步监控方法及*** | |
CN112883119B (zh) | 数据同步方法、装置、计算机设备及计算机可读存储介质 | |
CN114900449B (zh) | 一种资源信息管理方法、***及装置 | |
CN105933379A (zh) | 一种业务处理方法、设备及*** | |
CN115396296A (zh) | 业务处理方法、装置、电子设备及计算机可读存储介质 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
US20210096962A1 (en) | Data backup method, device and system | |
CN117544507A (zh) | 基于云对象存储服务的多区域分布式配置方法及*** | |
CN117354312A (zh) | 访问请求处理方法、装置、***、计算机设备和存储介质 | |
US8230444B2 (en) | Global attribute uniqueness (GAU) using an ordered message service (OMS) | |
CN115225645B (zh) | 一种服务更新方法、装置、***和存储介质 | |
CN116032932A (zh) | 针对边缘服务器的集群管理方法、***、设备及介质 | |
KR100671789B1 (ko) | 유무선 분산 환경하의 공간 데이터간의 데이터 전송과데이터 동기화 방법 및 그러한 방법의 실행을 위한 분산공간 데이터 동기화 시스템 | |
CN116347467B (zh) | 5g网络中udr进行用户数据管理方法及*** | |
CN117056131B (zh) | 基于区块链网络的数据处理方法及相关设备 | |
CN111240933B (zh) | 多数据中心的性能数据监测的方法、***、设备及介质 | |
CN114442947A (zh) | 跨域桶删除方法、***、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |