一种基于容器发布平台的信息实时同步方法及装置制造方法及图纸

技术编号:28499309 阅读:16 留言:0更新日期:2021-05-19 22:39
本申请实施例公开了一种基于容器发布平台的信息实时同步方法及装置。本申请实施例通过监测进程接收容器管理平台中集群发送的容器单元变化事件,获取容器单元变化事件中的容器单元信息,并根据容器单元信息对应更新数据库中存储的容器单元信息;通过轮询进程查询集群中的最后一次发布的容器单元信息和数据库中对应的容器单元信息是否一致,在两者信息不一致时,根据最后一次发布的容器单元信息对应更新数据库中存储的容器单元信息。采用上述技术手段,将监测进程的异步消息处理机制与轮询进程主动查询数据库机制进行结合,保证数据库中的容器单元信息的实时性、顺序性和可靠性。顺序性和可靠性。顺序性和可靠性。

【技术实现步骤摘要】
一种基于容器发布平台的信息实时同步方法及装置


[0001]本申请实施例涉及容器
,尤其涉及一种基于容器发布平台的信息实时同步方法及装置。

技术介绍

[0002]K8S(kubernetes)是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。K8S重新定义了应用程序的部署、扩展、管理方式,随着K8S快速发展并逐步成熟,越来越多的人投入容器技术的怀抱。由于让每个开发者都熟练掌握K8S各种操作命令是不太现实的,所以通用的发布平台应运而生。
[0003]在平台发布之后,用户关心的是程序是否正常运行。程序在K8S中对应的概念即为POD,POD为K8S能够创建和部署的最小单元。为准确掌握POD的运行状态,对POD信息的详情进行展示是必不可少的,然而具体如何进行展示,各发布平台存在差异性。现有的方法是实时查询K8S集群中的POD运行状态,或者定时将POD信息同步到数据库,根据数据库中的POD信息查询POD运行状态。实时查询的方式得到的结果准确但整体查询速度慢,数据库信息同步后查询的方式速度快但时效性差,无法实时获取POD的运行状态。

技术实现思路

[0004]本申请实施例提供一种基于容器发布平台的信息实时同步方法及装置,在提高容器单元信息的查询速度时,也可保证获取到的容器单元信息具有较高的时效性。
[0005]在第一方面,本申请实施例提供了一种基于容器发布平台的信息实时同步方法,包括:
[0006]通过监测进程接收容器管理平台中集群发送的容器单元变化事件,获取所述容器单元变化事件中的容器单元信息,并根据所述容器单元信息对应更新数据库中存储的容器单元信息;
[0007]通过轮询进程查询所述集群中的最后一次发布的容器单元信息和所述数据库中对应的容器单元信息是否一致,在两者信息不一致时,根据所述最后一次发布的容器单元信息对应更新数据库中存储的容器单元信息。
[0008]在第二方面,本申请实施例提供了一种基于容器发布平台的信息实时同步装置,包括:
[0009]监测模块,被配置为通过监测进程接收容器管理平台中集群发送的容器单元变化事件,获取所述容器单元变化事件中的容器单元信息,并根据所述容器单元信息对应更新数据库中存储的容器单元信息;
[0010]主动轮询模块,被配置为通过轮询进程查询所述集群中的最后一次发布的容器单元信息和所述数据库中对应的容器单元信息是否一致,在两者信息不一致时,根据所述最后一次发布的容器单元信息对应更新数据库中存储的容器单元信息。
[0011]在第三方面,本申请实施例提供了一种电子设备,包括:
[0012]存储器以及一个或多个处理器;
[0013]所述存储器,用于存储一个或多个程序;
[0014]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于容器发布平台的信息实时同步方法。
[0015]在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于容器发布平台的信息实时同步方法。
[0016]本申请实施例通过监测进程接收容器管理平台中集群发送的容器单元变化事件,获取所述容器单元变化事件中的容器单元信息,并根据所述容器单元信息对应更新数据库中存储的容器单元信息;通过轮询进程查询所述集群中的最后一次发布的容器单元信息和所述数据库中对应的容器单元信息是否一致,在两者信息不一致时,根据所述最后一次发布的容器单元信息对应更新数据库中存储的容器单元信息。采用上述技术手段,将监测进程的异步消息处理机制与轮询进程主动查询数据库机制进行结合。监测进程负责持续监测集群推送过来的变化事件,并解析事件更新数据库,保证实时更新数据库中发生变化的容器单元信息,轮询进程负责兜底查询数据库中的容器单元信息和集群中最后一次发布的容器单元信息不一致时更新数据库,保证数据库中的容器单元信息的实时性、顺序性和可靠性。基于本申请实施例中的数据库进行容器单元信息查询,在提高容器单元信息的查询速度时,也可保证获取到的容器单元信息具有较高的时效性。
附图说明
[0017]图1是本申请实施例一提供的一种基于容器发布平台的信息实时同步方法的流程图;
[0018]图2是本申请实施例一中的基于监测进程更新数据库流程图;
[0019]图3是本申请实施例一中的基于轮询进程更新数据库流程图;
[0020]图4是本申请实施例一中的容器单元发布流程图;
[0021]图5是本申请实施例一中的容器单元信息传输示意图;
[0022]图6是本申请实施例二提供的一种基于容器发布平台的信息实时同步装置的结构示意图;
[0023]图7是本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
[0024]为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0025]本申请提供的基于容器发布平台的信息实时同步方法及装置,旨在将监测进程的异步消息处理机制与轮询进程主动查询数据库机制进行结合。监测进程负责持续监测集群推送过来的变化事件,并解析事件更新数据库,保证实时更新数据库中发生变化的容器单元信息,轮询进程负责兜底查询数据库中的容器单元信息和集群中最后一次发布的容器单元信息不一致时更新数据库,保证数据库中的容器单元信息的实时性、顺序性和可靠性。基于本申请实施例中的数据库进行容器单元信息查询,在提高容器单元信息的查询速度时,也可保证获取到的容器单元信息具有较高的时效性。相对于传统的容器单元信息查询方式,其通过实时查询集群中容器单元的运行状态,或者定时将容器单元信息同步到数据库,根据数据库中的容器单元信息查询容器单元运行状态。实时查询的方式得到的结果准确但整体查询速度慢,而数据库信息同步后查询的方式速度快但时效性差,无法实时获取容器单元的运行状态。基于此,提供本申请实施例的基于容器发布平台的信息实时同步方法及装置,在提高容器单元信息的查询速度时,也可保证获取到的容器单元信息具有较高的时效性。
[0026]实施例一:
[0027]图1给出了本申请实施例一提供的一种基于容器发布平台的信息实时同步方法的流程图,本实施例中提供的基于容器发布平台的信息实时同步方法可以由基于容器发布平台的信息实时同步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器发布平台的信息实时同步方法,其特征在于,包括:通过监测进程接收容器管理平台中集群发送的容器单元变化事件,获取所述容器单元变化事件中的容器单元信息,并根据所述容器单元信息对应更新数据库中存储的容器单元信息;通过轮询进程查询所述集群中的最后一次发布的容器单元信息和所述数据库中对应的容器单元信息是否一致,在两者信息不一致时,根据所述最后一次发布的容器单元信息对应更新数据库中存储的容器单元信息。2.根据权利要求1所述的方法,其特征在于,所述通过监测进程接收容器管理平台中集群发送的容器单元变化事件,包括:通过监测进程注册容器管理平台中所有集群的容器单元变化事件,当监测到所述集群的容器单元状态发生变化时,接收所述集群发送的容器单元变化事件。3.根据权利要求2所述的方法,其特征在于,所述容器单元信息包括发布标识、容器单元名称、完成状态和版本号,所述根据所述容器单元信息对应更新数据库中存储的容器单元信息包括:基于所述发布标识,查询所述集群最后一次发布的容器单元信息,并查询所述最后一次发布的容器单元信息的完成状态是否为完成,若所述完成状态为完成,则根据所述发布标识和容器单元名称,查询数据库是否记录有对应的容器单元信息;若数据库没有记录对应的容器单元信息,则将所述最后一次发布的容器单元信息记录到数据库中,若所述数据库记录有对应的容器单元信息,则比较所述最后一次发布的容器单元信息的版本号和数据库中容器单元信息的版本号;若所述最后一次发布的容器单元信息的版本号大于数据库中容器单元信息的版本号,则查询数据库中的容器单元信息与所述最后一次发布的容器单元信息是否一致,若两者信息不一致,记录所述最后一次发布的容器单元信息到数据库中。4.根据权利要求3所述的方法,其特征在于,所述通过轮询进程查询所述集群中的最后一次发布的容器单元信息和所述数据库中对应的容器单元信息是否一致,在两者信息不一致时,根据所述最后一次发布的容器单元信息对应更新数据库中存储的容器单元信息包括:根据所述发布标识将所述集群中的容器单元信息进行分组,通过轮询进程查询每个分组最后一次发布的容器单元信息;比较所述最后一次发布的容器单元信息的版本号和数据库中容器单元信息的版本号,若所述最后一次发布的容器单元信息的版本号大于所述数据库中容器单元信息的版本号,则从所述集群中获取对应的容器单元信息;根据所述最后一次发布的容器单元信息的发布标识和容器单元名称,查询数据库中是否记录有对应的容器单元信息,若数据库没有记录对应的容器单元信息,则将所述最后一次发布的容器单元信息记录到数据库中;若数据库记录有所述最后一次发布的容器单元信息,则查询所述最后一次发布的容器单元信息与数据库中的容器单元信息是否一致,若两者信息不一致,则将所述最后一次发布的容器单元信息记录到数据库中。5.根据权利要求4所述的方法,其特征在于,所述容器单元信息还包括工作状态;
对应的,在所述查询所述容器单元信息与数据库中对应的容器单元信息...

【专利技术属性】
技术研发人员:徐津李涛
申请(专利权)人:百果园技术新加坡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1