CN115098588A - 跨集群的元数据同步方法、设备及介质 - Google Patents
跨集群的元数据同步方法、设备及介质 Download PDFInfo
- Publication number
- CN115098588A CN115098588A CN202210683899.6A CN202210683899A CN115098588A CN 115098588 A CN115098588 A CN 115098588A CN 202210683899 A CN202210683899 A CN 202210683899A CN 115098588 A CN115098588 A CN 115098588A
- Authority
- CN
- China
- Prior art keywords
- cluster
- metadata
- synchronization
- data
- slave
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种跨集群的元数据同步方法,包括:确定主集群和从集群的映射关系,确定所述元数据的同步顺序,生成元数据同步包,以及将所述元数据同步包导入所述从集群。本发明还公开了一种跨集群的元数据同步装置、电子设备、计算机介质以及计算机程序产品。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及了一种跨集群的元数据同步方法、设备、介质及计算机程序产品。
背景技术
在大数据服务广泛使用的当下,在数据采集,数据容灾备份、数据迁移等场景中,数据同步显得尤为重要。同时在全球数据安全意识不断提升背景下,用户行为数据的隐私政策也在不断加强加深,对于全球同服类业务,数据落地本地区集群将成为常态,跨集群的架构技术和数据分析技术会变的越来越来重要,跨集群的元数据同步也成为目前亟待解决的问题。
发明内容
有鉴于此,本发明提出了一种跨集群的元数据同步方法,包括以下步骤:
确定主集群和从集群的映射关系,
确定该元数据的同步顺序,
生成元数据同步包,以及
将该元数据同步包导入该从集群。
可选地,该映射关系包括集群访问地址,集群元数据更新时间节点。
可选地,确定元数据的同步顺序包括,
确定映射到底层数据库表的元数据之间的依赖关系,
基于该依赖关系,确定元数据的同步顺序。
可选地,元数据同步包包括需同步的元数据以及同步表。
可选地,将元数据同步包导入从集群包括,
更新元数据同步包中每一条数据的在主集群和从集群中自增ID的映射关系,并生成SQL语句,以及
执行该SQL语句。
可选地,该SQL语句包括更新SQL语句和插入SQL语句。
可选地,需同步的元数据是增量数据,方法还包括,
向从集群发送指令,指令用于从从集群的获取映射表数据,映射表数据表示数据的在主集群和从集群中自增ID的映射关系;
基于自增主键,确定已删除的数据的ID,以及
向从集群发送删除指令,删除指令用于指示从集群删除ID对应的数据。
可选地,方法包括
以预定时间间隔向从集群发送检测指令,检测指令用于检测从集群的状态,并且
在从集群的状态不正常的情况下,暂停元数据同步。
可选地,方法包括
存储将元数据同步包成功导入从集群的时间点,以及
在从集群的状态恢复正常的情况下,基于最后一次时间点执行元数据同步。
相应的,本发明还提出了一种电子设备,包括:
至少一个存储器,用于存储计算机指令;
至少一个处理器,当所述至少一个处理器执行所述计算机指令时,实现上述的方法。
本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现上述的方法。
本发明还提出了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现上述的方法。
与现有技术相比,本发明能够在多集群场景下保证主从集群元数据资产的定时增量或全量更新同步,同时对于从集群自行创建的元数据资产可以不受主控集群资产同步影响自主维护。
附图说明
图1是根据本发明实施例的跨集群的元数据同步方法应用的场景示意图;
图2a是根据本发明实施例的跨集群的元数据同步方法的流程图;
图2b是根据本发明实施例的跨集群的元数据同步方法中导入数据同步包使用的映射表示意图;
图2c是根据本发明实施例的跨集群的元数据同步方法中同步删除过程的交互示意图
图3是根据本发明实施例的跨集群的元数据同步装置的功能框图;
图4是根据本发明实施例的电子设备的硬件结构框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合较佳实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
应注意的是,在本说明书中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,默认为同一定义。
还需声明的是,本发明中对方法、流程进行编号是为了便于引用,而不是限定先后顺序,各步骤之间如有先后顺序,当以文字说明为准。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
图1是根据本发明实施例的跨集群的元数据同步方法应用的场景示意图。如图1所示,包括一个主集群11和两个从集群12。主集群11和从集群12之间通过有/无线网络的连接来实现通信,同时也通过有线或无线网络使得用户能够接入和访问。图1中示出了两个从集群,本领域技术人员能够理解,从集群的数量不限于两个,可以根据实际需要进行设置。
主集群11可以配置跨集群看板以及各类元数据资产,例如报表,用户标签,用户分群等,主集群11和从集群12都包括有元数据同步组件,以实现本发明所述的元数据同步方法。
借助元数据同步管理技术,自动同步全部主集群元数据资产,实现元数据资产的新增、更新及删除操作同步,并且由于采用映射管理,各从集群自建资源不受元数据同步影响。
目前市面上的数据同步技术,例如mysql的binlog级别同步,只能够做到多个集群中的元数据资产(看板,报表,用户分群/标签)完全相同,开启同步后slave集群只能作为展示集群,无法再具有个人资产的运维管理能力。
针对上述问题,本发明提供了一种跨集群的元数据同步方法。以下参考附图对该方法进行详细说明。
图2a是根据本发明实施例的跨集群的元数据同步方法的流程图。
在201,确定主集群和从集群的映射关系。具体的,根据本发明的一个实施例,可以首先设置主集群和若干从集群。本领域技术人员能够理解,主集群可以是国内集群,从集群可以是海外集群,并且从集群的数量不限,可以是一个或多个。
根据本发明的一个实施例,主集群和从集群的映射关系可以是集群访问地址,集群元数据更新窗口时间节点等等。
在202,确定元数据的同步顺序。
元数据种类繁多,相互之间存在一定依赖关系,但是元数据在映射到底层数据层时,一般可分为两类表,元数据资产表及资产之间的关系表。由于上层业务复杂,如果从业务层面入手,即从业务资产角度去实现多集群元数据同步,费时费力且后续同步逻辑需要依据业务变化而变化,不利于维护。
根据本发明的一个实施例的元数据同步方法,从底层数据层入手,根据通用的资产依赖关系规则及资产ID映射规则,借助底层数据库表中的ID主键列完成ID关系映射绑定,借助数据表中的update_time字段实现增量同步时的数据同步范围限定,实现元数据资产增量或全量同步技术。
具体而言,一种数据依赖另一种数据在底层数据库表中表现为当前的数据表中包含一个依赖数据的主键列,因此能够确定系统中所有数据在其他数据表中的列名称。例如看板资产映射到底层数据库表为ta_event_dashboard表,报表资产映射到底层数据库表为ta_event_report,看板中已添加的报表映射在底层数据库表为映射关系表ta_event_dashbord_report_mapping。
可以看出映射关系表中依赖了两种资源,即report_id,对应ta_event_report以及对应ta_event_dashbord的dashbord_id。因此对于这三张数据表的同步顺序应当为先同步ta_event_dashboard表以及ta_event_report表,最后才能够同步映射关系表ta_event_dashbord_report_mapping。
如果依靠人工来确定同步顺序则较为复杂,根据本发明的一个实施例,基于数据ID以及数据库层级的meta列信息,能够自动的确认同步顺序。具体如下:
首先,确定数据库中所有业务表的名称和列信息。具体获取内容如下:
其次,列信息和表格名称存在映射关系,例如project_id对应ta_project_info,因此基于表格名称、列信息以及列信息和表格名称的映射关系,可以得到所有数据库表的同步顺序。具体实现如下:
自此,需要同步的元数据的同步顺序得以确定。能够理解,上述给出的代码内容仅为示意性目的,本领域技术人员可以采用其他的方法或代码实现自动确定数据库表的同步顺序。
在203,生成元数据同步包。
通过上述202,已经获得了按照依赖顺序排列的数据库表以及表格中的列信息,接下来将数据导出生成指定格式的数据包。
根据本发明的一个实施例,使用通用SQL语句和JDBC(Java DatabaseConnectivity,JAVA数据库连接),将数据导出。具体如下:
首先,SQLGenerator基于freemarker模板及数据库表的名称以及列信息,生成数据表导出SQL。根据本发明的一个实施例,freemarker模板如下:
select<#list columns as column><#if column.columnType=='timestamp'||column.columnType=='datetime'>date_format(`${column.columnName}`,'%Y-%m-%d%H:%i:%s')as${column.columnName}<#else>`${column.columnName}`</#if><#if column_has_next>,</#if></#list>from${tableName}where 1=1${r"<#ifstartTime??&&endTime??&&hasUpdateTime==true>and update_time between'${startTime}'and'${endTime}'</#if>"}${r"<#if projectIdFilter==true&&projectIds??>and project_id in(<#list projectIds as projectId>${projectId?c}<#if projectId_has_next>,</#if></#list>)</#if>"}<#if presetFilter??>${presetFilter}</#if>
基于上述模板,生成如下类型的数据表导出SQL。
select col1,col2,col3,…from table1 where update_time between<start_time>and<end_time>;
其次,SQLExecutor借助生成的数据表导出SQL及JDBC,查询元数据并将其存储为按数据库表隔离的资源文件。汇集所有资源文件及同步表描述文件,生成元数据同步包。
根据本发明的一个实施例,还可以通过所有表格中都包含的update_time字段,自由调节需要获取的数据范围,实现元数据增量或者全量同步。
在204,将元数据同步包导入从集群,完成数据同步。
在上述203,获得了元数据同步包,其中包括有所有需同步的数据以及同步表。如上所述,同步表包括表格名称、同步的顺序以及列信息。接下来,主集群主动访问从集群进行元数据的导入以完成同步。
下面以元数据增量同步为例,描述根据本发明一个实施例的同步过程。可以理解,如果是元数据增量同步,则数据同步包中的数据为增量数据。根据本发明一个实施例,导入数据同步包的过程如下:
首先,更新所述元数据同步包中每一条数据的在所述主集群和所述从集群中自增ID的映射关系,并生成SQL语句。
系统中的所有数据表均包含自增主键,借助id_mapping表维护一条记录主从的自增ID的关系。例如图2b所示的ta_sync_id_mappings表,其中source_id代表此条数据在主集群侧的自增ID,target_id代表此条数据在从集群的自增ID,resource_type代表具体的数据表名称。
在一条数据导入过程中,如果此条数据在映射记录中已存在,则需要将数据中的自增ID替换为映射后的source_id,并生成update SQL(更新SQL)导入数据;如此条数据在映射记录中不存在,则需要将数据中的自增ID移除,生成insertSQL(插入SQL)插入数据,并将新生成的ID作为target_id,来自主集群的ID作为source_id维护到映射记录中。同时,如果数据表中存在依赖其他字段的列,也会在此步骤中借助映射记录中相应资源的映射关系完成同步。
同样,根据本发明的一个实施例,update SQL和inert SQL也都是通过SQLGenerator基于freemarker模板生成。具体实现如下:
另外,对于ta_event_dashboard表,针对映射关系是否存在可生成不同的SQL。a_event_dashbord表中存在对ta_project_info资源的映射列project_id,由于按照资源依赖关系进行导入,所以再生成insertSQL语句时,依赖的project_id所映射资源已经完成同步,因此可以直接将此条数据中project_id替换为映射记录中的target_id即可。具体实现如下:
//生成一条insert SQL并生成映射insert SQL
insert into ta_event_dashbord(col1,col2,col3)values(val1,val2,val3…);
insert into ta_sync_id_mappings(source_id,target_id,resource_type)
values(<source_id from master>,LAST_INSERT_ID(),‘ta_event_dashboard’);
//生成update SQL
Insert into event_dashbord(col1,col2,col3)values(val1,val2,val3…)
On duplicate key update
(col1)=values(col1),
(col2)=values(col2),
…;
其次,经过上述的映射判断处理,为数据同步包中的每条数据生成相应的SQL语句。而后通过SQLExecutor批量执行SQL语句,完成元数据的同步导入。可以理解,执行update SQL后更新原有数据,执行insertSQL后插入新的数据。
自此,主集群和从集群之间的元数据同步完成。
进一步的,如图2c所示,根据本发明的一个实施例,还包括执行元数据同步删除的操作。
如上所述,在每一次增量同步之后,主从集群的自增主键映射关系都会存储到从集群的映射表中。在211,主集群向从集群发送idFetch指令,该指令用于获取映射表数据,映射表数据表示数据的在主集群和从集群中自增ID的映射关系。
从集群接收到上述指令后,在212向主集群返回映射表中的自增主键。根据本发明的一个实施例,数据按Map<String,List<Long>>tableName2SourceIdFromSlave形式返回给主集群。
接下来,主集群会在213进行数据ID的检查,以找出主集群中被删除的数据ID集合。
在214,主集群向从集群发送删除指令,所述删除指令用于指示从集群删除与上述数据ID对应的数据,进而完成元数据的同步删除操作。
根据本发明的一个实施例,从集群在接收到删除指令后,按照映射关系找出从集群中的对应数据ID,并执行删除。
根据本发明的一个实施例,在从集群完成数据删除后,在215向主集群发送表示完成删除的信息。本领域技术人员能够理解,完成删除的确认可以是从集群主动向主集群报告,也可以是基于主集群的询问而被动的报告。
根据本发明上述实施例的元数据同步方法,可以实现在多集群场景下保证主从集群元数据资产的定时增量或全量更新同步,同时对于从集群自行创建的元数据资产可以不受主控集群资产同步影响自主维护。
另外,根据本发明的一个实施例,还包括跨集群的健康检测方法。
由于元数据同步对集群状态要求较高,根据本发明的一个实施例,主集群会以预定时间间隔向从集群发送检测信息,以检测集群状态是否正常,对于状态不正常集群,会暂停对该集群的元数据同步操作。
本领域技术人员能够理解,预定时间间隔可以根据实际需要设置,例如15秒,30秒等等。检测信息可以是心跳检测包,或者本领域技术人员所熟知的其他信号,或者采用其他本领域技术人员所熟知的其他检测方法来实现从集群的状态检测。
另外,由于集群信息中存储了每个从集群上次同步的时间点last_sync_time,所以主集群可按照时间点生成增量更新包,待某个从集群的状态恢复后,再进行增量同步。
因为受限于多集群网络环境,部分集群可能存在短暂的失联导致从集群的状态不正常。所以,根据本发明一个实施例的元数据同步方法的整体流程按从集群隔离,也就是说,任一从集群状态不正常或者数据的导入导出失败的情况下,均不会影响其他从集群。
另外,根据本发明的一个实施例,主集群每隔较短的预定时间对健康状态检测正常的从集群开启元数据增量同步。这里的预定时间可以是1分钟,本领域技术人员能够理解,这个时间间隔可以根据实际需要进行设置。
根据本发明的一个实施例,主从集群之间还可以每天进行一次元数据全量同步。本领域技术人员可以理解,全量同步可以看作时间窗口较大的一种增量同步,执行方法与上述实施例中的增量同步相同,并且全量同步的时间间隔也可以根据实际需要进行设置,例如每12小时,每周等等。
根据本发明一个实施例的元数据同步方法,实时记录元数据同步任务执行状态至主集群,由于从集群存储相关资源绑定映射,且对同一种资源的导入在一次事务中执行,所以元数据同步任务具有极强的鲁棒性,即使发生宕机,也不会影响从集群数据资产,待集群状态恢复后也可自行恢复。
图3是根据本发明实施例的跨集群的元数据同步装置的功能框图。
根据本发明一个实施例的元数据同步装置300包括,映射关系确定模块301,用于确定主集群和从集群的映射关系;同步顺序确定模块302,用于确定所述元数据的同步顺序;生成模块303,用于生成元数据同步包,以及导入模块304,用于将所述元数据同步包导入所述从集群。
同步装置300中的各模块执行与上述图2a对应的流程方法,在此不再赘述。
图4是实施根据本发明实施例的电子设备的硬件结构框图。
如图4所示,电子设备400可以包括一个或多个处理器402、与处理器402中的至少一个连接的系统主板408、与系统主板408连接的系统内存404、与系统主板408连接的非易失性存储器(NVM)406、以及与系统主板408连接的网络接口410。
处理器402可以包括一个或多个单核或多核处理器。处理器402可以包括通用处理器和专用处理器(例如,图形处理器、应用处理器、基带处理器等)的任何组合。在本发明的实施例中,处理器402可以被配置为执行根据如图2所示的方法。
在一些实施例中,系统主板408可以包括任意合适的接口控制器,以向处理器402中的至少一个和/或与系统主板408通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统主板408可以包括一个或多个存储器控制器,以提供连接到系统内存404的接口。系统内存404可以用于加载以及存储数据和/或指令。在一些实施例中电子设备400的系统内存404可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM 406可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM 406可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器)、CD(CompactDisc,光盘)驱动器、DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM 406可以包括安装在电子设备400的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口410通过网络访问NVM406。
特别地,系统内存404和NVM 406可以分别包括:指令420的暂时副本和永久副本。指令420可以包括:由处理器402中的至少一个执行时导致电子设备400实施如图2所示的方法的指令。在一些实施例中,指令420、硬件、固件和/或其软件组件可另外地/替代地置于系统主板408、网络接口410和/或处理器402中。
网络接口410可以包括收发器,用于为电子设备400提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(例如,前端模块、天线等)进行通信。在一些实施例中,网络接口410可以集成于电子设备400的其他组件。例如,网络接口410可以集成于处理器402、系统内存404、NVM 406、和具有指令的固件设备(未示出)中的至少一种,当处理器402中的至少一个执行所述指令时,电子设备400实现图2所示的各种实施例的一个或多个实施例。
网络接口410可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口410可以是网络适配器、无线网络适配器、电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器402中的至少一个可以与用于系统主板408的一个或多个控制器封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器402中的至少一个可以与用于系统主板408的一个或多个控制器集成在同一管芯上,以形成片上系统(SoC)。
电子设备400可以进一步包括:输入/输出(I/O)设备412,与系统主板408连接。I/O设备412可以包括用户界面,使得用户能够与电子设备400进行交互;外围组件接口的设计使得外围组件也能够与电子设备400交互。在一些实施例中,电子设备400还包括传感器,用于确定与电子设备400相关的环境条件和位置信息的至少一种。
在一些实施例中,I/O设备412可包括但不限于显示器(例如,液晶显示器、触摸屏显示器等)、扬声器、麦克风、一个或多个相机(例如,静止图像照相机和/或摄像机)、手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
可以理解的是,本发明实施例示意的结构并不构成对电子设备400的具体限定。在本申请另一些实施例中,电子设备400可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件、或软件和硬件的组合实现。
可将程序代码应用于输入指令,以执行本发明描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,包括处理器402的用于处理指令的系统包括具有诸如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本发明中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
根据本发明的一个实施例,还提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现前述的方法。
根据本发明的一个实施例,还提出了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现前述的方法。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
Claims (12)
1.一种跨集群的元数据同步方法,用于电子设备,其特征在于,包括:
确定主集群和从集群的映射关系,
确定所述元数据的同步顺序,
生成元数据同步包,以及
将所述元数据同步包导入所述从集群。
2.如权利要求1所述的方法,其特征在于,所述映射关系包括集群访问地址,集群元数据更新时间节点。
3.如权利要求2所述的方法,其特征在于,所述确定所述元数据的同步顺序包括,
确定映射到底层数据库表的所述元数据之间的依赖关系,
基于所述依赖关系,确定所述元数据的同步顺序。
4.如权利要求3所述的方法,其特征在于,所述元数据同步包包括需同步的元数据以及同步表。
5.如权利要求4所述的方法,其特征在于,所述将所述元数据同步包导入所述从集群包括,
更新所述元数据同步包中每一条数据的在所述主集群和所述从集群中自增ID的映射关系,并生成SQL语句,以及
执行所述SQL语句。
6.如权利要求5所述的方法,其特征在于,所述SQL语句包括更新SQL语句和插入SQL语句。
7.如权利要求4-6中任一项所述的方法,其特征在于,所述需同步的元数据是增量数据,所述方法还包括,
向所述从集群发送指令,所述指令用于从所述从集群的获取映射表数据,所述映射表数据表示数据的在所述主集群和所述从集群中自增ID的映射关系;
基于所述自增主键,确定已删除的数据的ID,以及
向所述从集群发送删除指令,所述删除指令用于指示所述从集群删除所述ID对应的数据。
8.如权利要求7所述的方法,其特征在于,所述方法包括
以预定时间间隔向所述从集群发送检测指令,所述检测指令用于检测所述从集群的状态,并且
在所述从集群的状态不正常的情况下,暂停所述元数据同步。
9.如权利要求8所述的方法,其特征在于,所述方法包括
存储将所述元数据同步包成功导入所述从集群的时间点,以及
在所述从集群的状态恢复正常的情况下,基于最后一次所述时间点执行所述元数据同步。
10.一种电子设备,其特征在于,包括:
至少一个存储器,用于存储计算机指令;
至少一个处理器,当所述至少一个处理器执行所述计算机指令时,实现如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条指令由处理器加载并执行,以实现如权利要求1-9中任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被执行时,实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210683899.6A CN115098588A (zh) | 2022-06-16 | 2022-06-16 | 跨集群的元数据同步方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210683899.6A CN115098588A (zh) | 2022-06-16 | 2022-06-16 | 跨集群的元数据同步方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098588A true CN115098588A (zh) | 2022-09-23 |
Family
ID=83290127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210683899.6A Pending CN115098588A (zh) | 2022-06-16 | 2022-06-16 | 跨集群的元数据同步方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098588A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573295A (zh) * | 2024-01-16 | 2024-02-20 | 之江实验室 | 一种基于k8s的多集群组件管理方法、装置及计算机设备 |
-
2022
- 2022-06-16 CN CN202210683899.6A patent/CN115098588A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573295A (zh) * | 2024-01-16 | 2024-02-20 | 之江实验室 | 一种基于k8s的多集群组件管理方法、装置及计算机设备 |
CN117573295B (zh) * | 2024-01-16 | 2024-05-28 | 之江实验室 | 一种基于k8s的多集群组件管理方法、装置及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3719668A1 (en) | Block chain-based data processing method and device | |
US20180107725A1 (en) | Data Storage Method and Apparatus, and Data Read Method and Apparatus | |
JP2006236328A (ja) | ファイルシステムアイテムおよび関連エンティティのシリアライゼーション | |
US8805777B2 (en) | Data record collapse and split functionality | |
US20140067772A1 (en) | Methods, apparatuses and computer program products for achieving eventual consistency between a key value store and a text index | |
CN110769061B (zh) | 一种数据同步的方法及设备 | |
CN112035471B (zh) | 一种事务处理方法及计算机设备 | |
US20150006485A1 (en) | High Scalability Data Management Techniques for Representing, Editing, and Accessing Data | |
WO2024113740A1 (zh) | 数据查询方法、系统、设备及计算机可读存储介质 | |
US20230289331A1 (en) | Model generation service for data retrieval | |
CN112925757A (zh) | 一种追踪智能设备操作日志的方法、设备、存储介质 | |
CN114661681A (zh) | 数据同步方法及相关设备 | |
CN112416710A (zh) | 用户操作的记录方法、装置、电子设备及存储介质 | |
CN115098588A (zh) | 跨集群的元数据同步方法、设备及介质 | |
CN113918535A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
WO2019109514A1 (zh) | 一种数据表备份方法、装置、电子设备及介质 | |
CN115113989B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
US20170364496A1 (en) | Visualization interface for information object system | |
CN110928945A (zh) | 一种针对数据库的数据处理方法及装置,数据处理系统 | |
CN115237924A (zh) | 数据处理方法、系统、设备、介质和程序产品 | |
CN111159214B (zh) | 一种api的访问方法、装置、电子设备及存储介质 | |
US10783132B1 (en) | System for maintaining precomputed values determined from data sources | |
TW201403362A (zh) | 在多主控環境中通過以頁面爲基礎之信息追蹤管理大型資料集 | |
US20160140191A1 (en) | Method and apparatus for the storage and retrieval of time stamped blocks of data | |
JP2014235583A (ja) | データ移行システム、及びデータ移行方法 |
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 |