管理实例标识的方法、装置、存储介质与电子设备与流程

    专利查询2025-03-31  7


    本技术涉及管理实例标识的,具体而言,涉及一种管理实例标识的方法、装置、存储介质与电子设备。


    背景技术:

    1、在分布式微服务架构下,每个项目都会具有多个独立部署的服务,每个服务需要部署多个实例,这些实例可能部署在同一台机器中,也有可能部署在不同的机器中,每一个实例都需要拥有一个实例标识,用于标注该实例的唯一性,并且可以在链路追踪中通过实例标识快速定位到是哪台机器哪个实例,在虚机下,实例标识是配置在操作系统的bashrc中,作为环境变量供应用使用,每个实例都有一个实例标识,并且一旦配置,一般不会再改变,但是在容器云的背景下,一台node上面会部署多个pod,当pod会发生漂移时,无法通过bashrc的方式固化实例标识供其使用。


    技术实现思路

    1、本技术的主要目的在于提供一种管理实例标识的方法、装置、存储介质与电子设备,以至少解决在容器云环境下,pod服务漂移导致无法固化实例标识的问题。

    2、为了实现上述目的,根据本技术的一个方面,提供了一种管理实例标识的方法,包括:基于spring boot构建实例标识管理服务;在检测到pod处于启动状态的情况下,根据所述pod的参数调用所述实例标识管理服务对与所述pod对应的实例标识的数量进行查询,生成第一查询结果,根据所述第一查询结果对所述实例标识进行状态更新,使得一个处于所述启动状态的所述pod对应一个所述实例标识,其中,所述pod为容器编排系统kubernetes集群中最小的调度单元,所述pod的参数包括pod ip;根据所述实例标识获取所述pod的心跳时间,在确定所述心跳时间小于或者等于时间阈值的情况下,确定所述pod处于正常连通状态,将所述心跳时间更新至所述pod对应的实例标识中;在确定所述pod处于所述正常连通状态之后,在检测到所述pod处于停止状态的情况下,再次根据所述pod的参数调用所述实例标识管理服务对与所述pod对应的所述实例标识的数量进行查询,生成第二查询结果,根据所述第二查询结果对所述实例标识进行释放处理,使得处于所述停止状态的所述pod不存在对应的所述实例标识。

    3、可选地,在根据所述实例标识获取所述pod的心跳时间之后,所述方法还包括:在确定所述心跳时间大于所述时间阈值的情况下,确定所述pod处于失联状态;采用socket探测技术探测所述pod与所述实例标识管理服务是否连通;在确定所述pod与所述实例标识管理服务不连通的情况下,获取并更新探测所述pod与所述实例标识管理服务是否连通的探测次数;确定所述探测次数是否大于预设探测次数,在确定所述探测次数大于预设探测次数的情况下,生成告警信息,其中,所述告警信息用于提醒所述pod与所述实例标识管理服务不连通。

    4、可选地,根据所述第一查询结果对所述实例标识进行状态更新,包括:在确定所述第一查询结果中与所述pod对应的所述实例标识的个数等于1的情况下,确定所述实例标识的使用位状态是否为已使用;在确定所述实例标识的使用位状态为已使用的情况下,确定所述实例标识的释放位状态是否为已释放,在确定所述实例标识的所述释放位状态为已释放的情况下,将所述释放位状态更新为已使用。

    5、可选地,根据所述第一查询结果对所述实例标识进行状态更新,包括:在确定所述第一查询结果中与所述pod对应的所述实例标识的数量为0的情况下,从数据库中获取预设数量个使用位状态为未使用的实例标识集,从所述实例标识集中选取一个实例标识与所述pod对应,并将与所述pod对应的所述实例标识的使用位状态更新为已使用;或者,在确定所述第一查询结果中与所述pod对应的所述实例标识的数量大于等于2的情况下,生成异常数据信息,其中,所述异常数据信息用于提醒需要人工处理。

    6、可选地,在根据所述实例标识获取所述pod的心跳时间之前,所述方法还包括:再次调用所述实例标识管理服务根据所述pod的参数对与所述pod对应的实例标识的数量进行查询,生成第三查询结果;在确定所述第三查询结果中与所述pod对应的所述实例标识的数量等于1的情况下,采用心跳探测技术获取所述pod的心跳时间,并将所述心跳时间更新到所述实例标识的参数中,其中,所述实例标识的参数包括心跳时间;在确定所述第三查询结果中与所述pod对应的所述实例标识的数量等于0的情况下,生成提醒信息,其中,所述提醒信息用于提醒未查询到与所述pod对应的所述实例标识;在确定所述第三查询结果中与所述pod对应的所述实例标识的数量大于等于2的情况下,生成异常数据信息,其中,所述异常数据信息用于提醒需要人工处理。

    7、可选地,根据所述第二查询结果对所述实例标识进行释放处理,包括:在确定所述第二查询结果中与所述pod对应的所述实例标识的数量等于1的情况下,确定与所述pod对应的所述实例标识的释放时间是否大于预设时间;在确定与所述pod对应的所述实例标识的所述释放时间大于所述预设时间的情况下,对与所述pod对应的所述实例标识进行释放处理。

    8、可选地,在生成异常数据信息之后,所述方法还包括:在所述人工处理之后,接收所述人工处理之后上传的实例标识;将所述实例标识的使用位状态更新为未使用,将所述实例标识的其他参数更新为null,其中,所述其他参数包括pod ip、心跳时间、释放时间。

    9、根据本技术的另一方面,提供了一种管理实例标识的装置,包括:构建单元,用于基于spring boot构建实例标识管理服务;状态更新单元,用于在检测到pod处于启动状态的情况下,根据所述pod的参数调用所述实例标识管理服务对与所述pod对应的实例标识的数量进行查询,生成第一查询结果,根据所述第一查询结果对所述实例标识进行状态更新,使得一个处于所述启动状态的所述pod对应一个所述实例标识,其中,所述pod为容器编排系统kubernetes集群中最小的调度单元,所述pod的参数包括pod ip;心跳时间更新单元,用于根据所述实例标识获取所述pod的心跳时间,在确定所述心跳时间小于或者等于时间阈值的情况下,确定所述pod处于正常连通状态,将所述心跳时间更新至所述pod对应的实例标识中;释放处理单元,用于在确定所述pod处于所述正常连通状态之后,在检测到所述pod处于停止状态的情况下,再次根据所述pod的参数调用所述实例标识管理服务对与所述pod对应的所述实例标识的数量进行查询,生成第二查询结果,根据所述第二查询结果对所述实例标识进行释放处理,使得处于所述停止状态的所述pod不存在对应的所述实例标识。

    10、根据本技术的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的管理实例标识的方法。

    11、根据本技术的又一方面,提供了一种电子设备,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的管理实例标识的方法。

    12、应用本技术的技术方案,基于spring boot构建实例标识管理服务;在检测到pod处于启动状态的情况下,根据pod的参数调用实例标识管理服务对与pod对应的实例标识的数量进行查询,生成第一查询结果,根据第一查询结果对实例标识进行状态更新,使得一个处于启动状态的pod对应一个实例标识,其中,pod为容器编排系统kubernetes集群中最小的调度单元,pod的参数包括pod ip;根据实例标识获取pod的心跳时间,在确定心跳时间小于或者等于时间阈值的情况下,确定pod处于正常连通状态,将心跳时间更新至pod对应的实例标识中;在确定pod处于正常连通状态之后,在检测到pod处于停止状态的情况下,再次根据pod的参数调用实例标识管理服务对与pod对应的实例标识的数量进行查询,生成第二查询结果,根据第二查询结果对实例标识进行释放处理,使得处于停止状态的pod不存在对应的实例标识。通过实例标识管理服务,对所有的实例标识进行统一的管理与资源释放,能够对pod提供唯一的实例标识供其使用,并且保证同一时间内,每个运行的pod服务都会拥有一个唯一的实例标识,当pod停止时,会对实例标识进行资源释放,提高实例标识的可用性,当pod处于失联状态时,可通过实例标识管理服务的定时心跳探测,对pod服务进行健康状态探测,达到探测阈值时,发出告警信息,提醒管理员此时实例标识异常,需要人工处理。通过实例标识管理服务,解决了在容器云环境下,pod服务漂移而无法固化实例标识的问题。


    技术特征:

    1.一种管理实例标识的方法,其特征在于,包括:

    2.根据权利要求1所述的方法,其特征在于,在根据所述实例标识获取所述pod的心跳时间之后,所述方法还包括:

    3.根据权利要求1所述的方法,其特征在于,根据所述第一查询结果对所述实例标识进行状态更新,包括:

    4.根据权利要求1所述的方法,其特征在于,根据所述第一查询结果对所述实例标识进行状态更新,包括:

    5.根据权利要求1所述的方法,其特征在于,在根据所述实例标识获取所述pod的心跳时间之前,所述方法还包括:

    6.根据权利要求1所述的方法,其特征在于,根据所述第二查询结果对所述实例标识进行释放处理,包括:

    7.根据权利要求4或5所述的方法,其特征在于,在生成异常数据信息之后,所述方法还包括:

    8.一种管理实例标识的装置,其特征在于,包括:

    9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的管理实例标识的方法。

    10.一种电子设备,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7中任意一项所述的管理实例标识的方法。


    技术总结
    本申请提供了一种管理实例标识的方法、装置、存储介质与电子设备。包括:在检测到Pod处于启动状态,调用实例标识管理服务对实例标识的数量进行查询,生成第一查询结果,根据第一查询结果对实例标识进行状态更新,根据实例标识获取Pod的心跳时间,在确定心跳时间小于等于时间阈值的情况下,确定Pod处于正常连通状态,将心跳时间更新至Pod对应的实例标识中;在确定Pod处于正常连通状态之后,在检测到Pod处于停止状态的情况下,调用实例标识管理服务对与Pod对应的实例标识的数量进行查询,生成第二查询结果,根据第二查询结果对实例标识进行释放处理。解决了在容器云环境下,Pod服务漂移导致无法固化实例标识的问题。

    技术研发人员:朱礼华,庞堃鹏,冯志强,郝巍,刘亮
    受保护的技术使用者:中国邮政储蓄银行股份有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-27022.html

    最新回复(0)