CN115357662A - 一种数据同步的方法、装置及介质 - Google Patents

一种数据同步的方法、装置及介质 Download PDF

Info

Publication number
CN115357662A
CN115357662A CN202210998418.0A CN202210998418A CN115357662A CN 115357662 A CN115357662 A CN 115357662A CN 202210998418 A CN202210998418 A CN 202210998418A CN 115357662 A CN115357662 A CN 115357662A
Authority
CN
China
Prior art keywords
data
updating
cloud
target
database
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
CN202210998418.0A
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202210998418.0A priority Critical patent/CN115357662A/zh
Publication of CN115357662A publication Critical patent/CN115357662A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

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

一种数据同步的方法、装置及介质
技术领域
本申请涉及云平台技术领域,特别是涉及一种数据同步的方法、装置及介质。
背景技术
随着云计算技术的快速发展,越来越多的公司推出了自己的私有云或公有云平台。不同的云平台底层使用的系统架构不同,因此,在实际的使用场景中,若需要使用多种系统架构的机器时,需要对不同的系统架构部署不同的云平台,此时,为了方便管理和运用,利用云管平台将所有部署的云平台进行统一管理。
在使用云管平台时,为了保证与下层云平台数据的一致性,需要定期进行数据同步。数据同步时,云管平台会拉去云平台的数据库中的全量数据,通过这样的方式实现数据的一致性。采用这样的方式实时性较差,云管平台无法实时感知到底层云平台数据的变化,并且频繁的进行全量数据拉去会给云平台数据库带来压力,特别是云平台业务处理繁忙时会直接影响云平台的业务质量。
由此可见,如何保证云管平台和云平台之间数据同步的实时性,以及减少云平台数据库的压力,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据同步的方法、装置及介质,保证云平台和云管平台之间数据同步的实时性,以及减少云平台数据库的压力,提升用户体验感。
为解决上述技术问题,本申请提供一种数据同步的方法,应用于云平台,包括:
通过预设协议与云管平台建立通讯连接;
监听源数据库中的日志信息;
在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中;
通过所述预设协议发送数据更新相关信息至所述云管平台,以便于所述云管平台拉取所述目的数据库中的更新数据进行数据同步;其中,所述数据更新相关消息在所述目的数据库获取到新数据时生成。
优选地,所述在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中包括:
获取上一资源信息更新时刻至当前资源信息更新时刻之间的所述日志信息;
在依据所述日志信息确定资源信息发生更新时,解析所述日志信息得到解析结果;
根据所述解析结果确定所述目标更新事件;
转换所述目标更新事件对应的更新数据的格式;
将转换格式后的更新数据存储至所述目的数据库中。
优选地,在所述在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之前,还包括:
判断是否初次与所述云管平台建立通讯连接;
若是,将所有资源信息对应的数据存储至所述目的数据库中;
若否,则进入所述在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中的步骤。
优选地,所述通过预设协议与云管平台建立通讯连接包括:
接收建立通讯连接的请求以便建立通讯连接;
获取所述云管平台发送的心跳包,以便感知与所述云管平台之间的连接状态。
为了解决上述技术问题,本申请还提供了一种数据同步的方法,应用于云管平台,包括:
通过预设协议与云平台建立通讯连接;
接收所述云平台在监听源数据库中的日志信息,并在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之后,通过所述预设协议发送的数据更新相关信息;其中,所述数据更新相关消息在所述目的数据获取到新数据时生成;
拉取所述目的数据库中的更新数据以进行数据同步。
优选地,在所述拉取所述目的数据库中的更新数据以进行数据同步之前,还包括:
依据纳管的各云平台的相关资源类型,建立不同的消息处理队列;
将所述数据更新相关信息存储至对应的消息处理队列中;
对各所述消息处理队列进行过滤,以便保留唯一标识相同且时间戳最新的数据更新相关消息;
按照预设优先级规则,选取优先处理的目标更新事件;
从所述目的数据库中拉取所述优先处理的目标更新事件所对应的更新数据以进行数据同步。
优选地,所述的数据同步的方法,还包括:
当确定和云平台在预设时长内对同一资源执行操作时,以操作时间戳较新者的执行结果为基准对云管平台数据库进行更新。
为了解决上述技术问题,本申请还提供了一种数据同步的装置,应用于云平台,包括:
建立模块,用于通过预设协议与云管平台建立通讯连接;
监听模块,用于监听源数据库中的日志信息;
存储模块,用于在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中;
发送模块,用于通过所述预设协议发送数据更新相关信息至所述云管平台,以便于所述云管平台拉取所述目的数据库中的更新数据进行数据同步;其中,所述数据更新相关消息在所述目的数据库获取到新数据时生成。
为了解决上述技术问题,本申请还提供了一种数据同步的装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的数据同步的方法的步骤。
为了解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据同步的方法的步骤。
本发明所提供的一种数据同步的方法,应用于云平台,包括:通过预设协议与云管平台建立通讯连接,并监听源数据库中的日志信息。在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中,目的数据获取到新数据时生成数据更新相关消息,并将数据更新相关消息通过预设协议发送至云管平台,以便于云管平台拉取目的数据库中的更新数据进行数据同步。由此可见,本申请所提供的技术方案,对云平台进行实时监听,在资源信息发生更新时,及时将对应目标更新事件的更新数据存储至目的数据库中,云管平台直接从目的数据库中拉取数据进行数据同步,无需拉取纳管云平台的所有数据,避免造成云平台数据库的压力。
此外,本申请还提供一种数据同步的装置和介质,与上述的数据同步的方法相对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据同步的方法的流程图;
图2为本申请另一实施例提供的一种数据同步的方法的流程图;
图3为本申请实施例所提供的一种数据同步的装置的结构图;
图4为本申请另一实施例提供的一种数据同步的装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种数据同步的方法、装置及介质,通过对云平台源数据中的日志信息进行实时监听以确定云平台是否发生资源信息的更新,发生更新时,将对应目标更新时间的更新数据存储至目的数据库中,以便云管平台直接拉取目的数据库中的更新数据实现数据同步,避免对云平台所有数据进行拉取实现数据同步,造成云平台数据库的压力。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
随着云计算技术的快速发展,越来越多的公司推出了自己的私有云或公有云平台。不同的云平台底层使用的系统架构不同,因此,在实际的使用场景中,若需要使用多种系统架构的机器时,需要对不同的系统架构部署不同的云平台,此时,为了方便管理和运用,利用云管平台将所有部署的云平台进行统一管理。
在使用云管平台时,为了保证与下层云平台数据的一致性,需要定期进行数据同步。数据同步时,云管平台会拉去云平台的数据库中的全量数据,通过这样的方式实现数据的一致性。采用这样的方式实时性较差,云管平台无法实时感知到底层云平台数据的变化,并且频繁的进行全量数据拉去会给云平台数据库带来压力,特别是云平台业务处理繁忙时会直接影响云平台的业务质量。
为了保证云管平台和云平台之间数据同步的实时性,以及减少云平台数据库的压力,本申请实施例提供了一种数据同步的方法,应用于云平台,云平台实时监控自身源数据中的日志信息,在根据日志信息确定云平台的资源信息发生变化时,将对应的目标更新事件的更新数据存储至目标数据库中,此时云管平台可直接拉取目的数据库中的根据数据实现数据同步。
图1为本申请实施例所提供的一种数据同步的方法的流程图,该方法应用于云平台,如图1所示,该方法包括:
S10:通过预设协议与云管平台建立通讯连接;
在具体实施例中,云管平台可以对纳管的各云平台资源执行操作,为了保证云管平台和云平台之间数据的一致性,需要利用双向传输的协议在云管平台和云平台之间建立通讯连接,例如,可以利用WebSocket协议在云管平台与云平台之间建立通讯连接,即,通过预设协议与云管平台建立通讯连接。
需要说明的是,预设协议必须是能实现双向传输的协议,此外本申请对预设协议不作限定。
S11:监听源数据库中的日志信息;
S12:在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中;
通过步骤S10与云管平台建立通讯连接后,云平台对自身源数据库中的日志信息进行监听,即,对Binlog日志信息进行监听,在根据监听的Binlog日志信息确定云平台中资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中。
其中,目的数据库用于存储云平台中目标更新事件对应的更新数据,因此,目的数据库与源数据库不同,例如,目的数据库可以是Redis数据库,本申请对目的数据库不作限定。
S13:通过预设协议发送数据更新相关信息至云管平台,以便于云管平台拉取目的数据库中的更新数据进行数据同步;其中,数据更新相关消息在目的数据库获取到新数据时生成。
在目的数据库获取到更新数据后,云平台生成数据更新相关信息,并通过预设协议发送该数据更新相关信息至云管平台,以便于云管平台确定云平台资源发生变化后,拉取目的数据库中的更新数据,实现云管平台与下层云平台的数据同步。
需要说明的是,数据更新相关消息至少包括资源更新的唯一标识(例如,资源ID),资源更新时间和资源类型。当云管平台接收到该数据更新相关消息后,可以根据资源类型和唯一标识等信息从目的数据库中准确且快速拉取更新数据,进而实现实时且快速的数据同步。
可以理解的是,将更新数据存储至目的数据库中,可以通过资源的唯一标识对数据库中已存在的数据进行覆盖更新或删除,同时,记录源数据库中日志信息的更新时间,并将该时间作为资源更新时间。由此,在将更新时间存储至目的数据库后,生成数据更新相关消息传输至云管平台。
本申请实施例所提供的数据同步的方法,应用于云平台,包括:通过预设协议与云管平台建立通讯连接,并监听源数据库中的日志信息。在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中,目的数据获取到新数据时生成数据更新相关消息,并将数据更新相关消息通过预设协议发送至云管平台,以便于云管平台拉取目的数据库中的更新数据进行数据同步。由此可见,本申请所提供的技术方案,对云平台进行实时监听,在资源信息发生更新时,及时将对应目标更新事件的更新数据存储至目的数据库中,云管平台直接从目的数据库中拉取数据进行数据同步,无需拉取纳管云平台的所有数据,避免造成云平台数据库的压力。
作为优选的实施例,在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中包括:
获取上一资源信息更新时刻至当前资源信息更新时刻之间的日志信息;
在依据日志信息确定资源信息发生更新时,解析日志信息得到解析结果;
根据解析结果确定目标更新事件;
转换目标更新事件对应的更新数据的格式;
将转换格式后的更新数据存储至目的数据库中。
实施中,为了保证将产生变化的所有数据存储至目的数据库中,在根据源数据中的Binlog日志信息确定资源信息发生更新时,获取上一次资源更新时刻至当前资源更新时刻之间产生的Binlog日志信息,并对获取的Binlog日志信息进行解析得到解析结果。
事实上,根据解析结果可确定资源信息发生更新所对应的目标更新事件,然后将目标更新事件对应的更新数据格式进行装换,以便更新数据可存储至目的数据库中。例如,将目标更新事件对应的Binlog日志信息的SQL语句解析为库名、表名、操作类型、主键和其他字段值等更新数据,解析后即可确定对应的目标更新事件,然后将解析的更新数据转换处理为目的数据库(例如,Redis数据库)的存储结构。
进一步的,将转换格式后的更新数据存储至Redis数据库,在存储后,生成与一个预设协议相对应的数据更新相关消息,并将数据更新相关消息传输至云管平台,以便于云管平台拉取Redis数据库中的更新数据进行数据同步。
本申请实施例所提供的数据同步的方法,通过解析上一资源信息更新时刻至当前资源信息更新时刻之间的日志信息以确定云平台的资源发生变化,并根据解析结果确定对应的目标更新事件,转换目标更新事件对应的更新数据的格式,并将转换格式后的更新数据存储至目的数据库中,由此,以便于云管平台从目的数据库中直接获取云平台更新的数据,进而实现数据同步,避免拉取所有数据给云平台数据库造成压力的同时,提升数据同步的效率。
事实上,当云管平台与云平台第一次建立连接时,此时进行数据同步需要获取云平台上所有的资源数据,因此,本申请实施例提供的数据同步方法,将更新数据存储至目的数据库中包括增量存储模式和全量存储模式。
故,作为优选的实施例,在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之前,还包括:
判断是否初次与云管平台建立通讯连接;
若是,将所有资源信息对应的数据存储至目的数据库中;
若否,则进入在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中的步骤。
可以理解的是,当确定与云管平台的通讯连接时第一次建立时,不再对源数据中的日志信息进行解析,直接启动全量存储模式。此时,云平台将自身所有资源信息对应的数据存储至目的数据库中,以便于云管平台从目的数据库中拉取所有数据进行数据同步。当然,为了避免造成资源浪费,在全量存储模式下,也可以不将数据存储至目的数据库中,可通过预设协议发送一条指令至云管平台,此时云管平台直接拉取云平台上mysql数据库中所有数据进行数据同步即可。
若云管平台和云平台建立的连接并非第一次,则启动增量存储模式,即,云平台需要监控自身源数据中的日志信息,在根据日志信息确定资源发生更新时,将更新数据存储至目的数据库中,进而实现云管平台仅对资源发生变化对应的数据进行同步。
本申请实施例所提供的数据同步的方法,在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之前,确定是初次与云管平台建立通讯连接,则启动全量存储模式,即将所有资源信息对应的数据存储至目的数据库中,以便云管平台拉取所有数据进行数据同步,由此,进一步提高云管平台和云平台之间的数据同步可靠性。
在具体实施例中,云管平台要与下层云平台实现数据同步,需要在云管平台和云平台之间建立通讯连接。具体的,当云管平台中有节点加入时,即,有新的云平台加入云管平台进行统一管理时,云管平台通过预设协议进行通讯连接,例如,通过WebSocket协议进行连接。连接后建立心跳机制,云管平台向云平台发送心跳包,在心跳包中携带云管平台状态数据,其中,状态数据包括连接状态,丢失状态和未连接状态。
建立连接后,可通过预设协议发送数据更新的消息,云管平台可直接感知当前云平台的状态,以及通过建立的连接实现数据同步。
本申请实施例所提供的数据同步的方法,通过预设协议与云管平台建立通讯连接时,接收云管平台发送的建立通讯连接的请求,并获取云管平台发送的心跳包,以便感知与云管平台之间的连接状态,由此,保证云管平台和云平台相互确定当前连接状态,并可基于该通讯连接实现数据同步。
在上述实施例中,对于应用于云平台的一种数据同步的方法进行了详细描述,本申请还提供了一种应用于云管平台的数据同步的方法对应的实施例。图2为本申请另一实施例提供的一种数据同步的方法的流程图,应用于云管平台,如图2所示,该方法包括:
S20:通过预设协议与云平台建立通讯连接;
S21:接收云平台在监听源数据库中的日志信息,并在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之后,通过预设协议发送的数据更新相关信息;其中,数据更新相关消息在目的数据获取到新数据时生成;
S22:拉取目的数据库中的更新数据以进行数据同步。
实施中,云管平台通过预设协议与云平台建立通讯连接,建立连接后,云平台会实时监控自身源数据中的日志信息,并根据该日志信息确定资源是否发生更新时,若发生更新,则将对应目标更新事件对应的更新数据存储至目的数据库中时,此时,云平台会向云管平台发送一条数据更新相关消息。其中,数据更新相关消息至少包括资源更新的唯一标识(例如,资源ID),资源更新时间和资源类型。
进一步的,云管平台接收到数据更新相关消息后,根据资源类型和唯一标识等信息准确且快速地从目的数据库中拉取更新数据,进而实现数据同步。
本申请实施例所提供的数据同步的方法,应用于云管平台,包括:通过预设协议与云平台建立通讯连接,并接收通过预设协议发送的数据更新相关信息,其中数据更新相关信息是在云平台在监听源数据库中的日志信息,并在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中后生成,此时,拉取目的数据库中的更新数据以进行数据同步。由此可见,本申请所提供的技术方案,对云平台进行实时监听,在资源信息发生更新时,及时将对应目标更新事件的更新数据存储至目的数据库中,云管平台直接从目的数据库中拉取数据进行数据同步,无需拉取纳管云平台的所有数据,避免造成云平台数据库的压力。
作为优选的实施例,在拉取目的数据库中的更新数据以进行数据同步之前,还包括:
依据纳管的各云平台的相关资源类型,建立不同的消息处理队列;
数据更新相关信息存储至对应的消息处理队列中;
对各消息处理队列进行过滤,以便保留唯一标识相同且时间戳最新的数据更新相关消息;
按照预设优先级规则,选取优先处理的目标更新事件;
从目的数据库中拉取优先处理的目标更新事件所对应的更新数据以进行数据同步。
在具体实施例中,当需要进行数据同步的数据很多时,会对云管平台造成压力,因此,在进行数据同步前,先对依据纳管的各云平台的相关资源类型,建立不同的消息处理队列。当获取到各数据更新相关消息时,根据数据更新相关消息中资源的唯一标识和资源类型,将数据更新相关消息存储至对应的消息处理队列中。
然后,避免资源之间相互依赖和冲突,对各消息处理队列进行过滤,将资源唯一标识作为Key值,将时间戳最新的数据保留,并将旧数据删除。例如,对历史对虚拟机A进行了操作1,当前对虚拟机A进行了操作2,此时将虚拟机A对应的消息处理队列中操作1对应的数据删除,保留操作2对应的数据。
进一步的,按照预设优先级规则,选取优先处理的目标更新时,然后,从目的数据库中拉取优先处理的目标更新事件所对应的更新数据以进行数据同步。其中,预设优先级规则,可以是根据资源的重要等级进行划分,即越重要的资源越优先进行数据同步。也可以设定在某个数据处理不频繁的时段进行数据同步,避免大量进行数据同步导致云管平台的压力,本申请对预设优先规则不作限定。
本申请实施例所提供的数据同步的方法,在进行数据同步之前,通过建立不同的消息处理队列,并对消息处理队列进行过滤,设定预设优先规则确定优先进行数据同步的数据。由此,避免消息处理队列接收过多消息时,增加处理压力降低数据处理性能和效率的同时,避免同时对目的数据库中所有数据同时进行更新对云管平台造成压力,进而提升数据同步可靠性。
在具体实施中,为了避免云平台和云管平台在预设时长内对某个资源都进行了操作,造成数据更新和同步出现混乱。当确定和云平台在预设时长内对同一资源执行操作时,以操作时间戳较新者的执行结果为基准对云管平台数据库进行更新。
具体的,由于云平台和云管平台可能同时对某个资源操作数据,为了避免数据混乱,若对云平台或云管平台采用任务阻塞的方法,可能导致任务失败或者任务处理堵塞的情况,因此当多个任务数据同步执行时,将操作时间戳较新者的执行结果为基准对云管平台数据库进行更新。
也可以生成告警信号至客户端,由用户决策以云平台的操作结果为最终结构,还是以云管平台的操作结果作为最终结果,并依据用户最终的决策作为数据更新的依据。为了便于理解,下面将举例说明。
例如,云平台和云管平台同时对某云主机执行修改存储的操作,云平台执行任务A,云管平台执行任务B,其中,任务A时间戳早于任务B,即任务B时间更接近当前时刻。则可以以任务B的执行结果为基准进行数据同步,也可以发送告警信号至客户端,由用户决定最终执行任务A或任务B,当用户选择执行任务A时,则以执行任务A的结果为基准进行数据同步,否则,以任务B的执行结果为基准进行数据同步。
本申请实施例所提供的数据同步的方法,在确定和云平台在预设时长内对同一资源执行操作时,以操作时间戳较新者的执行结果为基准对云管平台数据库进行更新,由此避免云平台和云管平台同时对某个资源进行操作导致数据同步出现混乱,进而提升数据同步可靠性。
在上述实施例中,对于数据同步的方法进行了详细描述,本申请还提供数据同步的装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件结构的角度。
图3为本申请实施例所提供的一种数据同步的装置的结构图,应用于云平台,如图3所示,该装置包括:
建立模块10,用于通过预设协议与云管平台建立通讯连接;
监听模块11,用于监听源数据库中的日志信息;
存储模块12,用于在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中;
发送模块13,用于通过预设协议发送数据更新相关信息至云管平台,以便于云管平台拉取目的数据库中的更新数据进行数据同步;其中,数据更新相关消息在目的数据库获取到新数据时生成。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请实施例所提供的数据同步的装置,应用于云平台,包括:通过预设协议与云管平台建立通讯连接,并监听源数据库中的日志信息。在根据日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中,目的数据获取到新数据时生成数据更新相关消息,并将数据更新相关消息通过预设协议发送至云管平台,以便于云管平台拉取目的数据库中的更新数据进行数据同步。由此可见,本申请所提供的技术方案,对云平台进行实时监听,在资源信息发生更新时,及时将对应目标更新事件的更新数据存储至目的数据库中,云管平台直接从目的数据库中拉取数据进行数据同步,无需拉取纳管云平台的所有数据,避免造成云平台数据库的压力。
图4为本申请另一实施例提供的一种数据同步的装置的结构图,如图4所示,数据同步的装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例所提到的数据同步的方法的步骤。
本实施例提供的数据同步的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,简称DSP)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)、可编程逻辑阵列(ProgrammableLogic Array,简称PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(Central Processing Unit,简称CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(GraphicsProcessing Unit,简称GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,简称AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的数据同步的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于数据同步的方法中所涉及的相关数据。
在一些实施例中,数据同步的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对数据同步的装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据同步的装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:数据同步的方法。
本申请实施例所提供的数据同步的装置,对云平台进行实时监听,在资源信息发生更新时,及时将对应目标更新事件的更新数据存储至目的数据库中,云管平台直接从目的数据库中拉取数据进行数据同步,无需拉取纳管云平台的所有数据,避免造成云平台数据库的压力。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是云平台侧对应的方法、也可以是云管平台侧对应的方法,还可以是云平台侧和云管平台侧对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种数据同步的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种数据同步的方法,其特征在于,应用于云平台,包括:
通过预设协议与云管平台建立通讯连接;
监听源数据库中的日志信息;
在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中;
通过所述预设协议发送数据更新相关信息至所述云管平台,以便于所述云管平台拉取所述目的数据库中的更新数据进行数据同步;其中,所述数据更新相关消息在所述目的数据库获取到新数据时生成。
2.根据权利要求1所述的数据同步的方法,其特征在于,所述在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中包括:
获取上一资源信息更新时刻至当前资源信息更新时刻之间的所述日志信息;
在依据所述日志信息确定资源信息发生更新时,解析所述日志信息得到解析结果;
根据所述解析结果确定所述目标更新事件;
转换所述目标更新事件对应的更新数据的格式;
将转换格式后的更新数据存储至所述目的数据库中。
3.根据权利要求2所述的数据同步的方法,其特征在于,在所述在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之前,还包括:
判断是否初次与所述云管平台建立通讯连接;
若是,将所有资源信息对应的数据存储至所述目的数据库中;
若否,则进入所述在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中的步骤。
4.根据权利要求2所述的数据同步的方法,其特征在于,所述通过预设协议与云管平台建立通讯连接包括:
接收建立通讯连接的请求以便建立通讯连接;
获取所述云管平台发送的心跳包,以便感知与所述云管平台之间的连接状态。
5.一种数据同步的方法,其特征在于,应用于云管平台,包括:
通过预设协议与云平台建立通讯连接;
接收所述云平台在监听源数据库中的日志信息,并在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中之后,通过所述预设协议发送的数据更新相关信息;其中,所述数据更新相关消息在所述目的数据获取到新数据时生成;
拉取所述目的数据库中的更新数据以进行数据同步。
6.根据权利要求5所述的数据同步的方法,其特征在于,在所述拉取所述目的数据库中的更新数据以进行数据同步之前,还包括:
依据纳管的各云平台的相关资源类型,建立不同的消息处理队列;
将所述数据更新相关信息存储至对应的消息处理队列中;
对各所述消息处理队列进行过滤,以便保留唯一标识相同且时间戳最新的数据更新相关消息;
按照预设优先级规则,选取优先处理的目标更新事件;
从所述目的数据库中拉取所述优先处理的目标更新事件所对应的更新数据以进行数据同步。
7.根据权利要求5所述的数据同步的方法,其特征在于,还包括:
当确定和云平台在预设时长内对同一资源执行操作时,以操作时间戳较新者的执行结果为基准对云管平台数据库进行更新。
8.一种数据同步的装置,其特征在于,应用于云平台,包括:
建立模块,用于通过预设协议与云管平台建立通讯连接;
监听模块,用于监听源数据库中的日志信息;
存储模块,用于在根据所述日志信息确定资源信息发生更新时,将对应目标更新事件的更新数据存储至目的数据库中;
发送模块,用于通过所述预设协议发送数据更新相关信息至所述云管平台,以便于所述云管平台拉取所述目的数据库中的更新数据进行数据同步;其中,所述数据更新相关消息在所述目的数据库获取到新数据时生成。
9.一种数据同步的装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的数据同步的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据同步的方法的步骤。
CN202210998418.0A 2022-08-19 2022-08-19 一种数据同步的方法、装置及介质 Pending CN115357662A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210998418.0A CN115357662A (zh) 2022-08-19 2022-08-19 一种数据同步的方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210998418.0A CN115357662A (zh) 2022-08-19 2022-08-19 一种数据同步的方法、装置及介质

Publications (1)

Publication Number Publication Date
CN115357662A true CN115357662A (zh) 2022-11-18

Family

ID=84003042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210998418.0A Pending CN115357662A (zh) 2022-08-19 2022-08-19 一种数据同步的方法、装置及介质

Country Status (1)

Country Link
CN (1) CN115357662A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858688A (zh) * 2023-03-03 2023-03-28 北京阿玛西换热设备制造有限公司 一种数据库的远程数据同步方法及系统
CN115982285A (zh) * 2023-03-10 2023-04-18 北京集度科技有限公司 数据处理方法、设备及计算机可读存储介质
CN116668466A (zh) * 2023-08-02 2023-08-29 北京滴普科技有限公司 一种基于互联网的碳资产信息云端同步方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858688A (zh) * 2023-03-03 2023-03-28 北京阿玛西换热设备制造有限公司 一种数据库的远程数据同步方法及系统
CN115858688B (zh) * 2023-03-03 2023-04-18 北京阿玛西换热设备制造有限公司 一种数据库的远程数据同步方法及系统
CN115982285A (zh) * 2023-03-10 2023-04-18 北京集度科技有限公司 数据处理方法、设备及计算机可读存储介质
CN115982285B (zh) * 2023-03-10 2023-07-07 北京集度科技有限公司 数据处理方法、设备及计算机可读存储介质
CN116668466A (zh) * 2023-08-02 2023-08-29 北京滴普科技有限公司 一种基于互联网的碳资产信息云端同步方法
CN116668466B (zh) * 2023-08-02 2023-10-13 北京滴普科技有限公司 一种基于互联网的碳资产信息云端同步方法

Similar Documents

Publication Publication Date Title
CN115357662A (zh) 一种数据同步的方法、装置及介质
WO2018161799A1 (zh) 一种云应用部署方法和系统
CN109327351B (zh) 日志数据的实时采集方法、装置、电子设备及存储介质
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN111459749A (zh) 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质
CN111966465B (zh) 一种实时修改宿主机配置参数的方法、系统、设备及介质
CN110941665A (zh) 节点间的数据同步方法、数据同步装置及数据同步设备
CN113778486A (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN112612850A (zh) 数据同步方法及装置
CN108540341B (zh) 资源监控方法及装置
WO2023155819A1 (zh) 一种应用部署方法和系统
CN110784377A (zh) 一种多云环境下的云监控数据统一管理的方法
CN111064626A (zh) 配置更新方法、装置、服务器及可读存储介质
CN109788251B (zh) 视频处理方法、装置及存储介质
CN111198902A (zh) 元数据管理方法、装置、存储介质及电子设备
CN115904369B (zh) 一种网络安全源数据高效聚合及关联分析的方法与系统
CN109324892B (zh) 分布式管理方法、分布式管理系统及装置
WO2020185514A1 (en) Usecase specification and runtime execution to serve on-demand queries and dynamically scale resources
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
EP3776214A1 (en) User interface optimization for delayed data
CN114816866A (zh) 故障处理方法、装置、电子设备和存储介质
US11386043B2 (en) Method, device, and computer program product for managing snapshot in application environment
EP3214549A1 (en) Information processing device, method, and program
CN113297158B (zh) 一种云安全产品管理方法、装置、设备及存储介质
CN112130924B (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