CN117768441A - 数据传输方法、装置、存储介质及电子设备 - Google Patents

数据传输方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN117768441A
CN117768441A CN202311707904.3A CN202311707904A CN117768441A CN 117768441 A CN117768441 A CN 117768441A CN 202311707904 A CN202311707904 A CN 202311707904A CN 117768441 A CN117768441 A CN 117768441A
Authority
CN
China
Prior art keywords
data transmission
transmission task
task
abnormal
global transaction
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
Application number
CN202311707904.3A
Other languages
English (en)
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.)
Du Xiaoman Technology Beijing Co Ltd
Original Assignee
Du Xiaoman Technology Beijing Co 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
Application filed by Du Xiaoman Technology Beijing Co Ltd filed Critical Du Xiaoman Technology Beijing Co Ltd
Priority to CN202311707904.3A priority Critical patent/CN117768441A/zh
Publication of CN117768441A publication Critical patent/CN117768441A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明提供一种数据传输方法、装置、存储介质及电子设备,该方法包括:在接收到监控设备发送的异常设备指示信息时,确定异常设备指示信息所指示的异常设备对应的目标数据传输任务;确定目标数据传输任务对应的切换地址,并将目标数据传输任务对应的一个连接地址从异常设备的连接地址切换为切换地址,切换地址所指示的设备为异常设备所在架构中的设备;基于切换地址,继续执行目标数据传输任务;一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。本发明实施例可在目标数据传输任务的上游同步设备或下游同步设备出现故障时,不中断目标数据传输任务,可保证目标数据传输任务的继续执行。

Description

数据传输方法、装置、存储介质及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据传输方法、装置、存储介质及电子设备。
背景技术
目前,数据传输服务已被广泛应用于各种应用场景,如配置大数据计算服务实现低成本海量数据计算与分析(即通过将数据同步到消息队列,以由相对廉价的服务器组成的大数据分析集群来实现数据分析等)、不停机数据迁移以及不同数据库集群实时同步数据,等等;但相关技术中数据传输任务(即同步任务)的上游同步设备或下游同步设备出现故障时,任务将中断,无法保证实时同步。基于此,如何在目标数据传输任务的上游同步设备或下游同步设备出现故障时,不中断目标数据传输任务,以保证目标数据传输任务的继续执行目前尚未提出较好的解决方案。
发明内容
有鉴于此,本发明实施例提供了一种数据传输方法、装置、存储介质及电子设备,以解决相关技术在数据传输任务的上游同步设备或下游同步设备出现故障时,任务将中断而无法保证实时同步等问题;也就是说,本发明实施例可在目标数据传输任务的上游同步设备或下游同步设备出现故障时,不中断目标数据传输任务,可保证目标数据传输任务的继续执行。
根据本发明的一方面,提供了一种数据传输方法,所述方法应用于数据传输系统中的数据传输服务设备,所述数据传输服务设备支持执行至少一个数据传输任务,所述数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同,所述方法包括:
在接收到监控设备发送的异常设备指示信息时,确定所述异常设备指示信息所指示的异常设备对应的目标数据传输任务,所述目标数据传输任务在当前系统时间下的一个连接地址为所述异常设备的连接地址;所述监控设备支持用于对所述至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活;
确定所述目标数据传输任务对应的切换地址,并将所述目标数据传输任务对应的一个连接地址从所述异常设备的连接地址切换为所述切换地址,所述切换地址所指示的设备为所述异常设备所在架构中的设备;
基于所述切换地址,继续执行所述目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。
根据本发明的另一方面,提供了一种数据传输装置,所述装置运行于数据传输系统中的数据传输服务设备上,所述数据传输服务设备支持执行至少一个数据传输任务,所述数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同,所述装置包括:
处理单元,用于在接收到监控设备发送的异常设备指示信息时,确定所述异常设备指示信息所指示的异常设备对应的目标数据传输任务,所述目标数据传输任务在当前系统时间下的一个连接地址为所述异常设备的连接地址;所述监控设备支持用于对所述至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活;
所述处理单元,还用于确定所述目标数据传输任务对应的切换地址,并将所述目标数据传输任务对应的一个连接地址从所述异常设备的连接地址切换为所述切换地址,所述切换地址所指示的设备为所述异常设备所在架构中的设备;
任务执行单元,用于基于所述切换地址,继续执行所述目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括处理器、以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述所提及的方法。
根据本发明的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行上述所提及的方法。
本发明实施例可在数据传输服务设备接收到监控设备发送的异常设备指示信息时,确定异常设备指示信息所指示的异常设备对应的目标数据传输任务,目标数据传输任务在当前系统时间下的一个连接地址为异常设备的连接地址;监控设备支持用于对至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活。然后,可确定目标数据传输任务对应的切换地址,并将目标数据传输任务对应的一个连接地址从异常设备的连接地址切换为切换地址,切换地址所指示的设备为所述异常设备所在架构中的设备。那么相应的,可基于切换地址,继续执行目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。可见,本发明实施例可在目标数据传输任务的上游同步设备(如异常设备为目标数据传输任务的上游同步设备)或下游同步设备(如异常设备为目标数据传输任务的下游同步设备)出现故障时,不中断目标数据传输任务,可保证目标数据传输任务的继续执行。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1示出了根据本发明示例性实施例的一种数据传输方法的流程示意图;
图2示出了根据本发明示例性实施例的一种架构的示意图;
图3示出了根据本发明示例性实施例的另一种数据传输方法的流程示意图;
图4示出了根据本发明示例性实施例的另一种架构的示意图;
图5示出了根据本发明示例性实施例的一种数据传输装置的示意性框图;
图6示出了能够用于实现本发明的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
需要说明的是,本发明实施例提供的数据传输方法的执行主体可以是一个或多个电子设备,本发明对此不作限定;其中,电子设备可以是终端(即客户端)或者服务器,那么在执行主体包括多个电子设备,且多个电子设备中包括至少一个终端和至少一个服务器时,本发明实施例提供的数据传输方法可由终端和服务器共同执行;具体的,本发明实施例提供的数据传输方法的执行主体可以为数据传输系统中的数据传输服务(DTS,DataTransmission Service)设备,且数据传输服务设备可以由一个或多个电子设备组成,也就是说,本发明实施例提供的数据传输方法的执行主体可以为作为数据传输服务设备的电子设备。相应的,此处所提及的终端可以包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能语音交互设备、智能家电、车载终端、飞行器,等等。此处所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(cloud computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。
基于上述描述,本发明实施例提出一种数据传输方法,该数据传输方法可以由上述所提及的数据传输系统中的数据传输服务设备执行,即可由作为数据传输服务设备的电子设备执行;其中,数据传输服务设备支持执行至少一个数据传输任务,数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同。如图1所示,该数据传输方法可包括以下步骤S101-S103:
S101,在接收到监控设备发送的异常设备指示信息时,确定异常设备指示信息所指示的异常设备对应的目标数据传输任务,目标数据传输任务在当前系统时间下的一个连接地址为异常设备的连接地址。
其中,监控设备(即监控模块)可支持用于对至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活。可选的,监控设备可以为数据传输系统中的任一电子设备,本发明实施例对此不作限定。
可选的,当一个数据传输任务的下游架构中各个设备(即电子设备)属于同一域名时,监控设备可支持用于对相应数据传输任务的下游同步设备进行探活,或者,当一个数据传输任务的下游架构中任意两个设备不属于同一域名时,监控设备也可支持用于对相应数据传输任务的下游同步设备进行探活,本发明实施例对此不作限定。可见,监控设备可支持用于对各个数据传输任务的上游同步设备进行探活,或者,监控设备可支持用于对各个数据传输任务的上游同步设备和下游同步设备进行探活。可选的,监控设备还可对数据传输系统中的每个设备进行探活。
需要说明的是,一个数据传输任务的上游同步设备可以指的是:相应数据传输任务连接的用于存储数据源的设备(也可称为上游同步源或源数据库等,即用于输出数据的设备),一个数据传输任务的下游同步设备可以指的是:相应数据传输任务连接的用于接收数据的设备(也可称为下游同步源)。那么相应的,一个数据传输任务的上游架构为相应数据传输任务的上游同步设备所在的架构,即一个数据传输任务的上游架构可包括相应数据传输任务的上游同步设备;并且,一个数据传输任务的下游架构为相应数据传输任务的下游同步设备所在的架构,即一个数据传输任务的下游架构可包括相应数据传输任务的下游同步设备。优选的,数据传输系统中的数据库可以指的是mysql数据库(一种关系型数据库);可选的,数据库也可以指的是oracle数据库(另一种关系型数据库),等等;本发明实施例对此不作限定。应当理解的是,用于搭建数据库的设备可以指的是数据库设备,即包含数据库的设备可以称为数据库设备,且一个从数据库所在的设备可以称为从数据库设备,主数据库所在的设备可称为主数据库设备。
在本发明实施例中,上述异常设备指示信息可以包括异常设备的设备IP地址(Internet Protocol Address,互联网协议地址,也可称为连接地址),也可以包括异常设备的设备编号,还可以包括异常设备的连接地址和更新连接地址,等等;本发明实施例对此不作限定。其中,一个设备的更新连接地址可以指的是相应设备在地址变更操作后的连接地址;可见,监控设备还可监测各个设备的连接地址的地址变更操作,一旦发现数据源发生连接地址变更,可使相应的数据传输任务适配数据源新的连接方式,从而在数据源变更的情况下,保证数据传输任务的稳定性,即可保证数据传输任务所在链路的稳定性。
具体的,在确定异常设备指示信息所指示的异常设备对应的目标数据传输任务时,可确定异常设备指示信息所指示异常设备的连接地址,并将连接有异常设备的连接地址的数据传输任务作为目标数据传输任务。应当理解的是,目标数据传输任务的数量可以为一个或多个,本发明实施例对此不作限定;为了便于阐述,后续均以一个目标数据传输任务为例进行说明。
可选的,监控设备可实时对各个设备进行探活,以实时检测各个设备的健康状况,从而及时检测到异常设备;可选的,当一个设备的网络不通、无响应或上游同步设备不能写入数据时,监控设备可将相应设备作为异常设备,以确定异常设备指示信息,此时异常设备指示信息可包括异常设备的连接地址或设备编号;或者,当一个设备的连接地址发生变更时,可将相应设备作为异常设备,此时异常设备指示信息可包括异常设备的连接地址和更新连接地址,等等。可见,监控设备可实时通过心跳(如有无应答消息)等一系列用户定义的监控信息,实时对上游同步设备和/或下游同步设备等进行探活。
可选的,监控设备可与数据传输系统中除监控设备以外的任一设备为同一设备,也可以是独立的一个设备,本发明实施例对此不作限定。
需要说明的是,数据传输系统可用于提供数据传输服务,即可通过数据传输服务设备提供数据传输服务;可选的,数据传输系统中每个模块均可具有主备架构,可保证数据传输系统的高可用。
S102,确定目标数据传输任务对应的切换地址,并将目标数据传输任务对应的一个连接地址从异常设备的连接地址切换为切换地址,切换地址所指示的设备为异常设备所在架构中的设备。
应当理解的是,当异常设备为目标数据传输任务的上游同步设备时,数据传输服务设备可将切换地址所指示的设备作为目标数据传输任务的上游同步设备,也就是说,当切换地址所指示的设备为异常设备所在架构中除异常设备以外的任一设备时,可基于切换地址,将目标数据传输任务的上游同步设备从异常设备切换为切换地址所指示的设备,当切换地址所指示的设备为异常设备(即切换地址为异常设备的更新连接地址)时,可基于切换地址(此时可以为更新连接地址),继续将异常设备作为目标数据传输任务的上游同步设备。在此种情况下,目标数据传输任务的上游连接地址可被切换为上述切换地址;其中,一个数据传输任务的上游连接地址是指相应数据传输任务的上游同步设备的连接地址,以用于指示相应数据传输任务的上游同步设备。
那么相应的,当异常设备为目标数据传输任务的下游同步设备时,数据传输服务设备可将切换地址所指示的设备作为目标数据传输任务的下游同步设备,从而可将目标数据传输任务的下游连接地址切换为上述切换地址。其中,一个数据传输设备的下游连接地址是指相应数据传输任务的下游同步设备的连接地址,以用于指示相应数据传输任务的下游同步设备。
S103,基于切换地址,继续执行目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。
在本发明实施例中,若切换地址所指示的设备为目标数据传输任务的上游同步设备,那么数据传输服务设备可通过目标数据传输任务,从切换地址所指示的设备中获取传输数据,并将传输数据传输至目标数据传输任务的下游同步设备中,以实现继续执行目标数据传输任务。若切换地址所指示的设备为目标数据传输任务的下游同步设备,那么数据传输服务设备可通过目标数据传输任务,从目标数据传输任务的上游同步设备中获取传输数据,并将传输数据传输至切换地址所指示的设备中,以实现继续执行目标数据传输任务。
需要说明的是,至少一个数据传输任务中的任一数据传输任务的下游架构可以包括至少一个数据订阅集群,也可以包括至少两个同步数据库设备,等等;本发明实施例对此不作限定。可选的,当一个数据传输任务的下游架构包括数据订阅集群时,优选相应数据传输任务的下游架构可包括至少两个数据订阅集群,以提高数据传输系统的高可用性。
示例性的,如图2所示,数据传输系统可包括至少一个数据传输任务,其中,数据传输任务1(即DTS-1)的上游架构可以为域名1所指示的架构,数据传输任务1的下游架构可以为域名2所指示的架构;另外,数据传输任务4(即DTS-4)的上游架构可以为域名1所指示的架构,数据传输任务4的下游架构可以为Kafka集群(一种高吞吐量的分布式发布订阅消息系统,即可作为一个数据订阅集群)。应该理解的是,同一域名下的设备可位于同一域名解析组内,即同一域名下设备的连接地址可解析为同一域名。举例来说,假设两个从数据库设备在一个域名解析组内,且两个从数据库设备的连接地址分别为10.11.12.13和10.11.12.14,那么这两个连接地址均可解析为同一域名。
综上可见,本发明实施例在配置任一数据传输任务的上游host(即上游地址)时,可仅需配置上游域名即可,以使数据传输服务设备可通过上游域名确定任一数据传输任务的上游架构。示例性的,假设数据传输系统包括域名1所指示的架构、域名2所指示的架构,且任一数据传输任务的上游域名配置为域名1,则可确定任一数据传输任务的上游架构为域名1所指示的架构。应当理解的是,当下游架构中各个设备也属于同一域名时,也可为任一数据传输任务配置一个下游域名,从而可通过下游域名确定任一数据传输任务的下游架构,等等。
本发明实施例可在数据传输服务设备接收到监控设备发送的异常设备指示信息时,确定异常设备指示信息所指示的异常设备对应的目标数据传输任务,目标数据传输任务在当前系统时间下的一个连接地址为异常设备的连接地址;监控设备支持用于对至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活。然后,可确定目标数据传输任务对应的切换地址,并将目标数据传输任务对应的一个连接地址从异常设备的连接地址切换为切换地址,切换地址所指示的设备为所述异常设备所在架构中的设备。那么相应的,可基于切换地址,继续执行目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。可见,本发明实施例可在目标数据传输任务的上游同步设备(如异常设备为目标数据传输任务的上游同步设备)或下游同步设备(如异常设备为目标数据传输任务的下游同步设备)出现故障时,不中断目标数据传输任务,可保证目标数据传输任务的继续执行。
基于上述描述,本发明实施例还提出一种更为具体的数据传输方法。相应的,该数据传输方法可以由上述所提及的数据传输系统中的数据传输服务设备执行,即可由作为数据传输服务设备的电子设备执行;其中,数据传输服务设备支持执行至少一个数据传输任务,数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同。请参见图3,该数据传输方法可包括以下步骤S301-S306:
S301,在接收到监控设备发送的异常设备指示信息时,确定异常设备指示信息所指示的异常设备对应的目标数据传输任务,目标数据传输任务在当前系统时间下的一个连接地址为异常设备的连接地址。
在本发明实施例中,监控设备还可支持用于监控任一数据传输任务的同步指示数据,以用于指示任一数据传输任务是否正常,同步指示数据包括以下至少一种:任一数据传输任务的同步点位和传输数据量。可见,本发明实施例可通过监控设备实时监控数据传输服务可用性。
在一种实施方式中,若同步指示数据包括任一数据传输任务的同步点位,那么监控设备可实时监控任一数据传输任务同步的mysqlbinlog(一种二进制格式的文件)点位,以得到任一数据传输任务的同步点位;也就是说,监控设备可从任一数据传输任务的上游同步设备包括的binlog日志中,获取任一数据传输任务的同步点位,以实现对任一数据传输任务的同步点位的实时监控。可选的,数据传输服务设备可记录有任一数据传输任务的同步点位,在此种情况下,监控设备也可从数据传输服务设备中获取任一数据传输任务的同步点位,以实现对任一数据传输任务的同步点位的实时监控。
基于此,任一数据传输任务的同步点位可用于同步展示任一数据传输任务的同步延迟情况。可选的,监控设备可显示任一数据传输任务的同步点位,那么用户可以通过任一数据传输任务的同步点位是否变化,来判断任一数据传输任务是否为正常运行状态;或者,监控设备可采用任一数据传输任务的同步点位,判断任一数据传输任务是否为正常运行状态,并输出运行状态指示信息(如正常运行或未正常运行等),等等。具体的,监控设备可采用任一数据传输任务的同步点位确定监测时长内的同步点位变化量,若同步点位变化量大于预设变化量阈值,则确定任一数据传输任务为正常运行状态;若同步点位变化量小于或等于预设变化量阈值,则确定任一数据传输任务为非正常运行状态。
可选的,监测时长和预设变化量阈值均可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定。
另一种实施方式中,若同步指示数据包括任一数据传输任务的传输数据量,那么监控设备可实时监控任一数据传输任务的传输数据量,并以字节的形式进行存储;具体的,在任一数据传输任务每传输一次数据,监控设备则可获取任一数据传输任务在当前数据传输下的传输数据量(如从任一数据传输任务的上游同步设备或数据传输服务设备中获取),并存储任一数据传输任务在每次数据传输下的传输数据量。
在此种情况下,监控设备可显示任一数据传输任务的传输数据量,即可显示任一数据传输任务在每次数据传输下的传输数据量,基于此,用户可以查看到同步的传输数据量是否为正常。可见,监控设备可给用户提供监控参考详情,来避免那些因为程序bug(漏洞或缺陷)导致的数据不同步,而状态显示正常的情况。
可选的,数据传输系统中数据传输服务设备的数量可以为一个或多个,本发明实施例对此不作限定。可选的,每个数据传输服务设备可包括代理(agent)模块,该代理模块可用于同监控设备通信;也就是说,数据传输服务设备可通过代理模块,接收监控设备发送的异常设备指示信息等。为了便于阐述,后续均以一个数据传输服务设备为例进行说明。
需要说明的是,上游架构的host配置(即域名配置等)时,域名中需包括至少两个数据库设备,才可以正常通过配置的检查,可有效避免单台机器故障,数据传输任务中断,并可避免单个机房出现网络故障或者整体出现灾难性不可用的情况。优选的,上游架构可至少包括两个从数据库设备,也就是说,一个上游架构可至少包括一个主数据库设备和两个从数据库设备,以保障数据传输系统的高可用。
S302,确定目标数据传输任务对应的切换地址,并将目标数据传输任务对应的一个连接地址从异常设备的连接地址切换为切换地址,切换地址所指示的设备为异常设备所在架构中的设备。
在一种实施方式中,数据传输服务设备可确定至少一个待选设备中各个待选设备的连接地址,并从各个待选设备的连接地址中随机选取一个连接地址,以将选取的连接地址作为目标数据传输任务对应的切换地址,至少一个待选设备包括异常设备所处架构中除异常设备以外的设备。可选的,至少一个待选设备也可包括异常设备所处架构中所有的正常设备,本发明实施例对此不作限定。
另一种实施方式中,数据传输服务设备可确定各个待选设备的优先级,并从至少一个待选设备中选取出优选级最高的待选设备,并将选取出的待选设备的连接地址作为切换地址。其中,一个架构中各个设备的优先级可以是按照经验设置的,也可以是按照实际需求设置的,本发明实施例对此不作限定;示例性的,可按照与数据传输服务设备之间的传输距离,确定设备的优先级,从而使得距离越小优先级越高,从而减少延迟,如同机房优先级更高,等等。
可选的,一个架构中的各个数据库设备支持被打上一个标签,其中,一个数据库设备的标签用于指示相应数据库设备在相应架构中的优先级;具体的,可对一个数据库设备的设备IP打上标签,以实现对相应数据库设备打上标签。可见,本发明实施例可通过标签对各个数据库设备的优先级进行标识,即可通过标签对各个数据库设备的优先级进行设置,以使数据传输服务设备可基于各个数据库设备的标签,确定各个数据库设备的优先级。基于此,数据传输服务设备可获取上述各个待选设备的标签,以确定各个待选设备的优选级。应当理解的是,不同数据库设备的标签不同,以用于表示不同的优先级,如标签可以为第一优先级或第二优先级等,本发明实施例对标签的具体表示形式不作限定。
可选的,一个架构中可仅有优先级最高的数据库设备支持被打上标签,在此种情况下,数据传输服务设备可在首次确定任一数据传输任务在一个架构中的同步设备时,将具有标签的数据库设备作为任一数据传输任务在相应架构中的同步设备。示例性的,以上游架构为例进行说明,可给相应的设备IP打上tag(即标签),比如标记为A机房的设备(即对上游架构中处于A机房的设备打上标签),则可以认为以A机房的设备为主,以便数据传输服务设备能识别到具体需要从哪一台设备上去同步数据,即识别到优选A机房的设备进行数据同步;如果A机房的设备出现问题,数据传输服务设备可自动保存同步位点,并继续从上游架构中B机房的设备去同步数据。
可选的,一个架构中各个数据库设备可均不具有标签,那么在首次确定任一数据传输任务在一个架构中的同步设备时,也可从相应架构中随机抽取一个设备的连接地址,如抽取一个设备以作为任一数据传输任务的上游同步设备,以同步至下游。
又一种实施方式中,当异常设备为地址变更操作后的设备时,可将异常设备的更新连接地址作为目标数据传输任务对应的切换地址。
需要说明的是,任一数据传输任务的下游架构支持包括至少两个数据订阅集群,如图4所示。在此种情况下,若任一数据传输任务所消费的数据订阅集群异常,且任一数据传输任务的下游架构中的各个数据订阅集群配置有同一域名,则数据传输服务设备可将任一数据传输任务所消费的数据订阅集群作为异常数据订阅集群;并将任一数据传输任务切换至任一数据传输任务的下游架构中的其他数据订阅集群进行消费,其他数据订阅集群为任一数据传输任务的下游架构中除异常数据订阅集群以外的任一数据订阅集群。
可见,本发明实施例可将下游的数据订阅集群做成单个机房集群,双机房冗余,服务消费订阅时,只消费单个机房的kafka集群消息队列(即只消费一个数据订阅集群的消息队列),若该数据订阅集群出现问题,则自动切换至另一机房的冗余集群消费,从而提高数据传输系统的高可用,并提高数据传输任务的稳定性。
可选的,本发明实施例也可将下游的数据订阅集群,做成双机房集群,此时可通过两个数据订阅集群同时执行同一数据传输任务,以实现容灾效果,可避免单机房的数据订阅集群宕机,造成相应数据传输任务中止等问题。
需要说明的是,消费数据的服务可以支持幂等消费的能力,从而可去重以避免在故障切换时可能重复推送一些数据消息。
在本发明实施例中,当异常设备为目标数据传输任务的上游架构中的设备时,数据传输服务设备可记录有异常设备中的初始全局事务标识集;其中,全局事务标识可以指的是GTID(global transaction identifier,全局事务ID),全局事务ID可保证为每一个在主数据库设备上提交的事务在复制集群中可以生成一个唯一的ID。具体的,后续以异常设备为目标数据传输任务的上游架构中的设备为例进行进一步说明。
S303,获取切换地址所指示设备中的目标全局事务标识集,从目标全局事务标识集中确定出待保存全局事务标识集,并保存待保存全局事务标识集,一个待保存全局事务标识为位于目标全局事务标识集,且不位于初始全局事务标识集中的执行全局事务标识。
需要说明的是,一个设备中的全局事务标识集可以包括P个主全局事务标识(也可表示为Retrieved_Gtid)和Q个执行全局事务标识(也可表示为Executed_Gtid),P和Q均为非负整数。并且P个主全局事务标识可组成相应设备的主全局事务标识集合(可表示为Retrieved_Gtid_Set),Q个执行全局事务标识可组成相应设备的执行全局事务标识集合(可表示为Executed_Gtid_Set)。
应当理解的是,上游的数据库集群为一个整体,所以所有从数据库同步的gtid都是一致的,但从数据库自身可能产生数据变动生成自身的gtid;因此,在上游架构中的某个节点(如异常设备)出现故障时,自动选取的新数据库可能出现跟原数据库的gtid不一致的情况。基于此,数据传输服务设备可从目标全局事务标识集中确定出待保存全局事务标识集,并保存待保存全局事务标识集,以实现对初始全局事务标识集和目标全局事务标识集进行合并(Merge),从而可自动合并为一致,以避免同步出现数据丢失。
示例性的,假设初始全局事务标识集包括主全局事务标识1、执行全局事务标识1以及执行全局事务标识2,目标全局事务标识集包括主全局事务标识1、执行全局事务标识1、执行全局事务标识2以及执行全局事务标识3,且主全局事务标识1等于执行全局事务标识2,在此种情况下,数据传输服务设备可将执行全局事务标识3作为待保存全局事务标识,以使待保存全局事务标识集包括执行全局事务标识3,从而保存执行全局事务标识3,以合并初始全局事务标识集和目标全局事务标识集。可见,合并后的全局事务标识集可包括初始全局事务标识集和目标全局事务标识集。
可选的,数据传输服务设备可向切换地址所指示的设备发送执行全局事务标识获取指令(如show master status),以获取切换地址所指示的设备中的所有执行全局事务标识;相应的,数据传输服务设备可向切换地址所指示的设备发送主全局事务标识获取指令(如show slave status),以查看Retrieved_Gtid_Set(即主全局事务标识集合),从而获取切换地址所指示设备中的主全局事务标识。
需要说明的是,若切换地址所指示的设备为上游架构中的主数据库设备,则showslave status无返回结果或返回为空,也就是说,目标全局事务标识集中的主全局事务标识为空,即目标全局事务标识集可不包括主全局事务标识。基于此,数据传输服务设备可基于目标全局事务标识集中主全局事务标识,判断切换地址所指示的设备是否为主数据库设备;若目标全局事务标识集中主全局事务标识为空,则可确定切换地址所指示的设备为主数据库设备;若目标全局事务标识集中主全局事务标识不为空,则可确定切换地址所指示的设备不为主数据库设备。
S304,判断待保存全局事务标识集中是否存在全量同步全局事务标识,全量同步全局事务标识与目标全局事务标识集中的主全局事务标识相同。
在本发明实施例中,如果切换地址所指示的设备中有多的执行全局事务标识(即不位于初始全局事务标识集中的执行全局事务标识),也就是说,若待保存全局事务标识集不为空,则可确定待保存全局事务标识集是否包括全量同步全局事务标识。
S305,若待保存全局事务标识集中存在全量同步全局事务标识,则按照全量同步全局事务标识进行全量同步,以实现继续执行目标数据传输任务。
基于此,本发明实施例可避免数据丢失,从而保证了数据传输系统的健壮性。
S306,若待保存全局事务标识集中不存在全量同步全局事务标识,则按照断点续传的方式,继续执行目标数据传输任务。
应当理解的是,若待保存全局事务标识集不为空,且每个待保存全局事务标识与目标全局事务标识集中的主全局事务标识均不同,则可确定待保存全局事务标识集中不存在全量同步全局事务标识;或者,若待保存全局事务标识集为空,则可直接确定待保存全局事务标识集中不存在全量同步全局事务标识,此时目标全局事务标识集中的执行全局事务标识与初始全局事务标识集中的执行全局事务标识相同,即数量以及文本一样。
在本发明实施例中,数据传输服务设备可记录目标数据传输任务的同步点位;目标数据传输任务的同步点位可以用于指示目标数据传输任务在当前系统时间下已同步的点位。基于此,在按照断点续传的方式,继续执行目标数据传输任务时,数据传输服务设备可基于目标数据传输任务的同步点位,按照断点续传的方式,继续执行目标数据传输任务;也就是说,可从目标数据传输任务的同步点位的下一个点位开始,继续执行目标数据传输任务,可避免重复执行,从而提高目标数据传输任务的效率。
本发明实施例可在数据传输服务设备接收到监控设备发送的异常设备指示信息时,确定所述异常设备指示信息所指示的异常设备对应的目标数据传输任务,所述目标数据传输任务在当前系统时间下的一个连接地址为所述异常设备的连接地址。然后,可确定目标数据传输任务对应的切换地址,并将所述目标数据传输任务对应的一个连接地址从所述异常设备的连接地址切换为所述切换地址,所述切换地址所指示的设备为所述异常设备所在架构中的设备。当异常设备为目标数据传输任务的上游架构中的设备时,数据传输服务设备记录有所述异常设备中的初始全局事务标识集;基于此,可获取切换地址所指示设备中的目标全局事务标识集,从目标全局事务标识集中确定出待保存全局事务标识集,并保存所述待保存全局事务标识集,一个待保存全局事务标识为位于所述目标全局事务标识集,且不位于所述初始全局事务标识集中的执行全局事务标识。进一步的,可判断所述待保存全局事务标识集中是否存在全量同步全局事务标识,全量同步全局事务标识与目标全局事务标识集中的主全局事务标识相同;若待保存全局事务标识集中存在所述全量同步全局事务标识,则按照全量同步全局事务标识进行全量同步,以实现继续执行所述目标数据传输任务;若待保存全局事务标识集中不存在所述全量同步全局事务标识,则按照断点续传的方式,继续执行目标数据传输任务。可见,本发明实施例可通过上下游冗余的方式,使上游数据源、下游同步源均有相应的服务进行支撑,并可自动保存数据传输任务的同步点位,使故障实例(即异常设备)上同步的点位,可以继续在非故障实例(即切换地址所指示的设备)上进行正常断点续传,保证数据一致性,避免数据丢失的问题,让整个同步任务更加可靠、稳定,可实现较好的容灾能力且在设备异常时不阻碍数据的实时同步,为海量数据分析、数据消费处理等提供不间断的同步功能以进行支持。
基于上述数据传输方法的相关实施例的描述,本发明实施例还提出了一种数据传输装置,该数据传输装置可以是运行于电子设备中的一个计算机程序(包括程序代码),此处的电子设备可以指的是数据传输系统中的数据传输服务设备,也就是说,数据传输装置可以运行于数据传输系统中的数据传输服务设备上,数据传输服务设备支持执行至少一个数据传输任务,数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同;如图5所示,该数据传输装置可包括处理单元501和任务执行单元502。该数据传输装置可以执行图1或图3所示的数据传输方法,即该数据传输装置可以运行上述单元:
处理单元501,用于在接收到监控设备发送的异常设备指示信息时,确定所述异常设备指示信息所指示的异常设备对应的目标数据传输任务,所述目标数据传输任务在当前系统时间下的一个连接地址为所述异常设备的连接地址;所述监控设备支持用于对所述至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活;
所述处理单元501,还用于确定所述目标数据传输任务对应的切换地址,并将所述目标数据传输任务对应的一个连接地址从所述异常设备的连接地址切换为所述切换地址,所述切换地址所指示的设备为所述异常设备所在架构中的设备;
任务执行单元502,用于基于所述切换地址,继续执行所述目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。
在一种实施方式中,处理单元501在确定所述目标数据传输任务对应的切换地址时,可具体用于:
确定至少一个待选设备中各个待选设备的连接地址,并从所述各个待选设备的连接地址中随机选取一个连接地址,以将选取的连接地址作为所述目标数据传输任务对应的切换地址,所述至少一个待选设备包括所述异常设备所处架构中除所述异常设备以外的设备;或者,
确定所述各个待选设备的优先级,并从所述至少一个待选设备中选取出优选级最高的待选设备,并将选取出的待选设备的连接地址作为所述切换地址。
另一种实施方式中,一个架构中的各个数据库设备支持被打上一个标签,其中,一个数据库设备的标签用于指示相应数据库设备在相应架构中的优先级。
另一种实施方式中,任一数据传输任务的下游架构支持包括至少两个数据订阅集群;处理单元501还可用于:
若所述任一数据传输任务所消费的数据订阅集群异常,且所述任一数据传输任务的下游架构中的各个数据订阅集群配置有同一域名,则将所述任一数据传输任务所消费的数据订阅集群作为异常数据订阅集群;
任务执行单元502还可用于:
将所述任一数据传输任务切换至所述任一数据传输任务的下游架构中的其他数据订阅集群进行消费,所述其他数据订阅集群为所述任一数据传输任务的下游架构中除所述异常数据订阅集群以外的任一数据订阅集群。
另一种实施方式中,所述监控设备支持用于监控任一数据传输任务的同步指示数据,以用于指示所述任一数据传输任务是否正常,所述同步指示数据包括以下至少一种:所述任一数据传输任务的同步点位和传输数据量。
另一种实施方式中,所述异常设备为所述目标数据传输任务的上游架构中的设备,且所述数据传输服务设备记录有所述异常设备中的初始全局事务标识集;任务执行单元502在基于所述切换地址,继续执行所述目标数据传输任务时,可具体用于:
获取所述切换地址所指示设备中的目标全局事务标识集,从所述目标全局事务标识集中确定出待保存全局事务标识集,并保存所述待保存全局事务标识集,一个待保存全局事务标识为位于所述目标全局事务标识集,且不位于所述初始全局事务标识集中的执行全局事务标识;
判断所述待保存全局事务标识集中是否存在全量同步全局事务标识,所述全量同步全局事务标识与所述目标全局事务标识集中的主全局事务标识相同;
若所述待保存全局事务标识集中存在所述全量同步全局事务标识,则按照所述全量同步全局事务标识进行全量同步,以实现继续执行所述目标数据传输任务;
若所述待保存全局事务标识集中不存在所述全量同步全局事务标识,则按照断点续传的方式,继续执行所述目标数据传输任务。
另一种实施方式中,任务执行单元502还可用于:
记录所述目标数据传输任务的同步点位;
任务执行单元502在按照断点续传的方式,继续执行所述目标数据传输任务时,可具体用于:
基于所述目标数据传输任务的同步点位,按照断点续传的方式,继续执行所述目标数据传输任务。
根据本发明的一个实施例,图1或图3所示的方法所涉及的各个步骤均可由图5所示的数据传输装置中的各个单元来执行的。例如,图1中所示的步骤S101和S102均可由图5中所示的处理单元501执行,步骤S103可由图5中所示的任务执行单元502执行。又如,图3中所示的步骤S301和S302均可由图5中所示的处理单元501执行,步骤S303-S306均可由图5中所示的任务执行单元502执行,等等。
根据本发明的另一个实施例,图5所示的数据传输装置中的各个单元均可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,任一数据传输装置也可以包括其他单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用电子设备上运行能够执行如图1或图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的数据传输装置,以及来实现本发明实施例的数据传输方法。所述计算机程序可以记载于例如计算机存储介质上,并通过计算机存储介质装载于上述电子设备中,并在其中运行。
本发明实施例可在数据传输服务设备接收到监控设备发送的异常设备指示信息时,确定异常设备指示信息所指示的异常设备对应的目标数据传输任务,目标数据传输任务在当前系统时间下的一个连接地址为异常设备的连接地址;监控设备支持用于对至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活。然后,可确定目标数据传输任务对应的切换地址,并将目标数据传输任务对应的一个连接地址从异常设备的连接地址切换为切换地址,切换地址所指示的设备为所述异常设备所在架构中的设备。那么相应的,可基于切换地址,继续执行目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。可见,本发明实施例可在目标数据传输任务的上游同步设备(如异常设备为目标数据传输任务的上游同步设备)或下游同步设备(如异常设备为目标数据传输任务的下游同步设备)出现故障时,不中断目标数据传输任务,可保证目标数据传输任务的继续执行。
基于上述方法实施例以及装置实施例的描述,本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
参考图6,现将描述可以作为本发明的服务器或客户端的电子设备600的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
电子设备600中的多个部件连接至I/O接口605,包括:输入单元606、输出单元607、存储单元608以及通信单元609。输入单元606可以是能向电子设备600输入信息的任何类型的设备,输入单元606可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元607可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元608可以包括但不限于磁盘、光盘。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理。例如,在一些实施例中,数据传输方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM602和/或通信单元609而被载入和/或安装到电子设备600上。在一些实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据传输方法。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
并且,应理解的是,以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种数据传输方法,其特征在于,所述方法应用于数据传输系统中的数据传输服务设备,所述数据传输服务设备支持执行至少一个数据传输任务,所述数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同,所述方法包括:
在接收到监控设备发送的异常设备指示信息时,确定所述异常设备指示信息所指示的异常设备对应的目标数据传输任务,所述目标数据传输任务在当前系统时间下的一个连接地址为所述异常设备的连接地址;所述监控设备支持用于对所述至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活;
确定所述目标数据传输任务对应的切换地址,并将所述目标数据传输任务对应的一个连接地址从所述异常设备的连接地址切换为所述切换地址,所述切换地址所指示的设备为所述异常设备所在架构中的设备;
基于所述切换地址,继续执行所述目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标数据传输任务对应的切换地址,包括:
确定至少一个待选设备中各个待选设备的连接地址,并从所述各个待选设备的连接地址中随机选取一个连接地址,以将选取的连接地址作为所述目标数据传输任务对应的切换地址,所述至少一个待选设备包括所述异常设备所处架构中除所述异常设备以外的设备;或者,
确定所述各个待选设备的优先级,并从所述至少一个待选设备中选取出优选级最高的待选设备,并将选取出的待选设备的连接地址作为所述切换地址。
3.根据权利要求1或2所述的方法,其特征在于,一个架构中的各个数据库设备支持被打上一个标签,其中,一个数据库设备的标签用于指示相应数据库设备在相应架构中的优先级。
4.根据权利要求1或2所述的方法,其特征在于,任一数据传输任务的下游架构支持包括至少两个数据订阅集群;所述方法还包括:
若所述任一数据传输任务所消费的数据订阅集群异常,且所述任一数据传输任务的下游架构中的各个数据订阅集群配置有同一域名,则将所述任一数据传输任务所消费的数据订阅集群作为异常数据订阅集群;
将所述任一数据传输任务切换至所述任一数据传输任务的下游架构中的其他数据订阅集群进行消费,所述其他数据订阅集群为所述任一数据传输任务的下游架构中除所述异常数据订阅集群以外的任一数据订阅集群。
5.根据权利要求1或2所述的方法,其特征在于,所述监控设备支持用于监控任一数据传输任务的同步指示数据,以用于指示所述任一数据传输任务是否正常,所述同步指示数据包括以下至少一种:所述任一数据传输任务的同步点位和传输数据量。
6.根据权利要求1或2所述的方法,其特征在于,所述异常设备为所述目标数据传输任务的上游架构中的设备,且所述数据传输服务设备记录有所述异常设备中的初始全局事务标识集;所述基于所述切换地址,继续执行所述目标数据传输任务,包括:
获取所述切换地址所指示设备中的目标全局事务标识集,从所述目标全局事务标识集中确定出待保存全局事务标识集,并保存所述待保存全局事务标识集,一个待保存全局事务标识为位于所述目标全局事务标识集,且不位于所述初始全局事务标识集中的执行全局事务标识;
判断所述待保存全局事务标识集中是否存在全量同步全局事务标识,所述全量同步全局事务标识与所述目标全局事务标识集中的主全局事务标识相同;
若所述待保存全局事务标识集中存在所述全量同步全局事务标识,则按照所述全量同步全局事务标识进行全量同步,以实现继续执行所述目标数据传输任务;
若所述待保存全局事务标识集中不存在所述全量同步全局事务标识,则按照断点续传的方式,继续执行所述目标数据传输任务。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
记录所述目标数据传输任务的同步点位;
所述按照断点续传的方式,继续执行所述目标数据传输任务,包括:
基于所述目标数据传输任务的同步点位,按照断点续传的方式,继续执行所述目标数据传输任务。
8.一种数据传输装置,其特征在于,所述装置运行于数据传输系统中的数据传输服务设备上,所述数据传输服务设备支持执行至少一个数据传输任务,所述数据传输系统中一个数据传输任务的上游架构至少包括两个数据库设备,同一架构中的各个数据库设备对应的域名相同,所述装置包括:
处理单元,用于在接收到监控设备发送的异常设备指示信息时,确定所述异常设备指示信息所指示的异常设备对应的目标数据传输任务,所述目标数据传输任务在当前系统时间下的一个连接地址为所述异常设备的连接地址;所述监控设备支持用于对所述至少一个数据传输任务中各个数据传输任务的上游同步设备和/或下游同步设备进行探活;
所述处理单元,还用于确定所述目标数据传输任务对应的切换地址,并将所述目标数据传输任务对应的一个连接地址从所述异常设备的连接地址切换为所述切换地址,所述切换地址所指示的设备为所述异常设备所在架构中的设备;
任务执行单元,用于基于所述切换地址,继续执行所述目标数据传输任务;其中,一个数据传输任务配置有一个上游域名,一个数据传输任务的上游域名用于指示相应数据传输任务的上游架构。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-7中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-7中任一项所述的方法。
CN202311707904.3A 2023-12-12 2023-12-12 数据传输方法、装置、存储介质及电子设备 Pending CN117768441A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311707904.3A CN117768441A (zh) 2023-12-12 2023-12-12 数据传输方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311707904.3A CN117768441A (zh) 2023-12-12 2023-12-12 数据传输方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN117768441A true CN117768441A (zh) 2024-03-26

Family

ID=90319253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311707904.3A Pending CN117768441A (zh) 2023-12-12 2023-12-12 数据传输方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117768441A (zh)

Similar Documents

Publication Publication Date Title
CN110795503A (zh) 分布式存储系统的多集群数据同步方法及相关装置
CN112069265B (zh) 配置数据的同步方法、业务数据系统、计算机系统和介质
WO2018036148A1 (zh) 一种服务器集群系统
US9141491B2 (en) Highly available server system based on cloud computing
US20200019543A1 (en) Method, apparatus and device for updating data, and medium
WO2023115975A1 (zh) 慢节点检测方法、装置、电子设备及存储介质
CN104158707A (zh) 一种检测并处理集群脑裂的方法和装置
CN112527567A (zh) 系统容灾方法、装置、设备以及存储介质
CN114265753A (zh) 消息队列的管理方法、管理系统和电子设备
WO2021212493A1 (zh) 数据同步方法、装置、数据存储系统及计算机可读介质
CN110333973B (zh) 一种多机热备的方法和系统
CN113254274A (zh) 消息处理方法、装置、存储介质以及服务器
CN112052104A (zh) 基于多机房实现的消息队列的管理方法及电子设备
CN117076196A (zh) 一种数据库容灾的管控方法和装置
CN112596371A (zh) 控制卡切换方法、装置、电子设备及存储介质
CN112181942A (zh) 时序数据库系统和数据处理方法及装置
CN117768441A (zh) 数据传输方法、装置、存储介质及电子设备
JP2015114952A (ja) ネットワークシステム、監視制御装置およびソフトウェア検証方法
CN114756301A (zh) 日志处理方法、装置和系统
CN116668269A (zh) 一种用于双活数据中心的仲裁方法、装置及系统
CN117395263B (zh) 一种数据同步方法、装置、设备和存储介质
CN111858260A (zh) 信息显示方法、装置、设备及介质
CN112463514A (zh) 分布式缓存集群的监测方法和装置
CN115629918B (zh) 数据处理方法、装置、电子设备及存储介质
CN117851520B (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