System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于节点亲和度的项目升级方法、装置及存储介质制造方法及图纸_技高网

一种基于节点亲和度的项目升级方法、装置及存储介质制造方法及图纸

技术编号:40051504 阅读:4 留言:0更新日期:2024-01-16 21:16
本申请公开了一种基于节点亲和度的项目升级方法、装置及存储介质,所述方法包括获取升级数据包,将升级数据包上传至中心管理节点;遍历项目节点列表,计算各项目节点与部署项目的节点亲和值;根据各项目节点的节点亲和值,确定各项目节点是否为待升级节点;当进行项目升级时,调用分发服务,通过中心管理节点将升级数据包分发至各待升级节点,并使待升级节点根据升级数据包进行升级。本申请采用基于节点亲和度的自适应分布式升级数据包管理方法,有效避免了与节点无关的升级数据包存储在本节点,极大减少了不必要的节点资源占用,再结合分布式的包管理模式,提高了各个节点的项目部署效率,从而也提高了升级成功率,广泛应用于计算机技术领域。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种基于节点亲和度的项目升级方法、装置及存储介质


技术介绍

1、当前运维领域的升级数据包管理方案主要有两种:

2、a、集中式的升级数据包仓库:所有升级数据包由一个仓库地址统一管理,上传和下载都指向同一个服务地址;

3、b、分布式的全量升级数据包仓库:在所有需要升级的节点均建立一个升级数据包管理仓库,上传升级数据包时上传到所有的仓库,下载使用时从各个节点对应的仓库进行下载。

4、对于集中式的升级数据包仓库管理方案,主要存在以下问题:

5、1、云服务的升级时间一般都处于业务流量低峰期,即会在短时间内多个云服务同时升级,此时多个节点的云服务同时从集中仓库下载升级数据包,下载速度慢,导致服务升级时间过长,影响服务质量,如果在规定的升级时间内无法完成项目升级的,还会导致本次服务升级失败;

6、2、跨节点下载升级数据包需要使用公网进行通信,为满足多个云服务同时升级,需要申请较大的带宽,而这个带宽只在升级时间会全量使用,其他大部分时间会闲置,从而产生了很大的资源浪费。

7、对于分布式的全量升级数据包仓库,可以解决了集中式仓库存在的多个服务同时升级的问题:各个节点只在上传时使用公网传输,而在下载时使用内网传输,内网上传速度很快,有效降低了升级数据包下载时间,提高了升级成功率;包上传时一般不会集中上传,可以使用比较小的带宽大小,同时保证了带宽的使用率,不会造成资源浪费。

8、但是分布式包管理系统由于所有升级数据包全量存在于各个节点的包仓库中,对于每个节点的存储资源是比较大的浪费;节点中存储了过多的与本节点服务无关的升级数据包会导致了升级数据包检索太慢的问题;同时,这种方法虽然解决了使用端的下载问题,但是在上传升级数据包时,需要确保所有节点都接收到升级数据包才能判定本次上传成功,使得上传升级数据包的工作过于繁琐。

9、名词解释:

10、节点:节点是被管理的服务器的逻辑分组,通常对应于具有不同ip主机地址的逻辑或物理计算机系统。

11、升级数据包:用于服务器上运行的服务进行版本升级时所需的代码文件或可执行程序或静态文件,升级数据包在内容有更新时使用不同的版本号进行标识。


技术实现思路

1、为了解决至少一个上述相关技术中存在的技术问题,本申请实施例提出了一种基于节点亲和度的项目升级方法、装置及存储介质,旨在实现减少部署项目中各个节点的存储资源占用,简化升级数据包的上传工作。

2、本申请实施例的第一方面提出了一种基于节点亲和度的项目升级方法,包括:

3、获取升级数据包,将所述升级数据包上传至中心管理节点;

4、获取部署项目的项目调用信息和项目节点列表中各项目节点的节点信息;

5、遍历所述项目节点列表,根据项目调用信息以及各所述项目节点的节点信息,确定各所述项目节点的节点亲和值;

6、根据各所述项目节点的节点亲和值,确定各所述项目节点是否为待升级节点;

7、当对所述部署项目进行项目升级时,调用分发服务,通过所述中心管理节点将所述升级数据包分发至各所述待升级节点,并使所述待升级节点根据所述升级数据包进行升级。

8、在一些实施例,所述节点信息包括节点部署信息和节点配置信息;所述遍历所述项目节点列表,根据项目调用信息以及各所述项目节点的节点信息,确定各所述项目节点的节点亲和值这一步骤,具体包括:

9、当遍历到的当前项目节点的所述节点配置信息中包含节点亲和配置值时,将所述节点亲和配置值确定为所述当前项目节点的所述节点亲和值,反之,根据所述项目调用信息和所述当前项目节点的所述节点部署信息,计算所述当前项目节点的所述节点亲和值;

10、遍历所述项目节点列表,直至获得各所述项目节点的节点亲和值。

11、在一些实施例,所述根据所述项目调用信息和所述当前项目节点的所述节点部署信息,计算所述当前项目节点的所述节点亲和值这一步骤,具体包括:

12、根据所述节点部署信息,计算第一节点亲和值;

13、根据所述项目调用信息,计算第二节点亲和值;

14、根据所述第一节点亲和值和所述第二节点亲和值,确定所述节点亲和值。

15、在一些实施例,所述项目调用信息包括项目调用关系以及多个调用亲和值;所述多个调用亲和值为关联调用项目与各所述项目节点的节点亲和值;所述根据所述项目调用信息,计算第二节点亲和值这一步骤,具体包括:

16、采用链路追踪方式,根据所述项目调用关系,确定调用关系配置值;

17、将所述多个调用亲和值与所述当前项目节点进行匹配,确定当前调用亲和值;所述当前调用亲和值为关联调用项目与所述当前项目节点的节点亲和值;

18、根据所述调用关系配置值和所述当前调用亲和值,计算所述第二节点亲和值。

19、在一些实施例,所述根据所述第一节点亲和值和所述第二节点亲和值,确定所述节点亲和值这一步骤,具体用下式表示:

20、km=(k1+k2+k3+…+kn)/n;

21、lm=lp*ld;

22、k=km+lm;

23、其中,k为节点亲和值,km为第一节点亲和值,lm为第二节点亲和值,kn为第n次项目部署的节点记录值,记为0或1,kn为0时表示第n次项目部署时项目没有在当前项目节点进行部署,kn为1时表示第n次项目部署时项目有在当前项目节点进行部署,lp为调用关系配置值,记为-1或1,lp为-1时表示关联调用项目与当前的部署项目需要部署在不同节点,lp为1时表示关联调用项目与当前的部署项目需要部署在同一节点,ld为当前调用亲和值。

24、在一些实施例,所述根据各所述项目节点的节点亲和值,确定各所述项目节点是否为待升级节点这一步骤,具体包括:

25、获取各所述项目节点的节点亲和阈值;

26、将同一项目节点的所述节点亲和阈值与所述节点亲和值进行比较,确定比较结果;

27、根据所述比较结果,确定对应的所述项目节点是否为所述待升级节点。

28、在一些实施例,所述根据所述比较结果,确定对应的所述项目节点是否为所述待升级节点这一步骤,具体包括:

29、当所述同一项目节点的所述节点亲和阈值小于所述节点亲和值时,确定所述项目节点为所述待升级节点;

30、当所述同一项目节点的所述节点亲和阈值大于所述节点亲和值时,不确定所述项目节点为所述待升级节点。

31、在一些实施例,在执行所述获取部署项目的项目调用信息和项目节点列表中各项目节点的节点信息这一步骤之前,还包括步骤:

32、获取项目部署次数;

33、当所述项目部署次数小于给定阈值时,调用分发服务,通过中心管理节点将所述升级数据包分发至全部项目节点。

34、本申请实施例的第二方面提出了一种基于节点亲和度的项目升级装本文档来自技高网...

【技术保护点】

1.一种基于节点亲和度的项目升级方法,其特征在于,包括:

2.根据权利要求1所述的项目升级方法,其特征在于,所述节点信息包括节点部署信息和节点配置信息;所述遍历所述项目节点列表,根据项目调用信息以及各所述项目节点的节点信息,确定各所述项目节点的节点亲和值这一步骤,具体包括:

3.根据权利要求2所述的项目升级方法,其特征在于,所述根据所述项目调用信息和所述当前项目节点的所述节点部署信息,计算所述当前项目节点的所述节点亲和值这一步骤,

4.根据权利要求3所述的项目升级方法,其特征在于,所述项目调用信息包括项目调用关系以及多个调用亲和值;所述多个调用亲和值为关联调用项目与各所述项目节点的节点亲和值;所述根据所述项目调用信息,计算第二节点亲和值这一步骤,具体包括:

5.根据权利要求4所述的项目升级方法,其特征在于,所述根据所述第一节点亲和值和所述第二节点亲和值,确定所述节点亲和值这一步骤,具体用下式表示:

6.根据权利要求1所述的项目升级方法,其特征在于,所述根据各所述项目节点的节点亲和值,确定各所述项目节点是否为待升级节点这一步骤,具体包括:

7.根据权利要求6所述的项目升级方法,其特征在于,所述根据所述比较结果,确定对应的所述项目节点是否为所述待升级节点这一步骤,具体包括:

8.根据权利要求1所述的项目升级方法,其特征在于,在执行所述获取部署项目的项目调用信息和项目节点列表中各项目节点的节点信息这一步骤之前,还包括步骤:

9.一种基于节点亲和度的项目升级装置,其特征在于,包括:

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的项目升级方法。

...

【技术特征摘要】

1.一种基于节点亲和度的项目升级方法,其特征在于,包括:

2.根据权利要求1所述的项目升级方法,其特征在于,所述节点信息包括节点部署信息和节点配置信息;所述遍历所述项目节点列表,根据项目调用信息以及各所述项目节点的节点信息,确定各所述项目节点的节点亲和值这一步骤,具体包括:

3.根据权利要求2所述的项目升级方法,其特征在于,所述根据所述项目调用信息和所述当前项目节点的所述节点部署信息,计算所述当前项目节点的所述节点亲和值这一步骤,

4.根据权利要求3所述的项目升级方法,其特征在于,所述项目调用信息包括项目调用关系以及多个调用亲和值;所述多个调用亲和值为关联调用项目与各所述项目节点的节点亲和值;所述根据所述项目调用信息,计算第二节点亲和值这一步骤,具体包括:

5.根据权利要求4所述的项目升级方法,其特征在于,所述根据所述第一...

【专利技术属性】
技术研发人员:张成
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

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

1