System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种代理服务的更新方法及相关设备技术_技高网

一种代理服务的更新方法及相关设备技术

技术编号:40600042 阅读:5 留言:0更新日期:2024-03-12 22:04
本申请提供了一种代理服务的更新方法,包括:接收更新请求,该更新请求用于指示更新代理服务,根据更新请求,获取代理服务的更新代码包,当代理服务在执行的任务不包括用户感知且具有延迟加载内容的任务,重启代理服务的第一动态代码块,以执行更新代码包。如此,用户感知且具有延迟加载内容的任务不会因为代理服务更新而终止,避免了上述任务因代理服务更新而重试,对运维、客户友好,而且该方法无需深度改造业务,降低了更新成本。

【技术实现步骤摘要】

本申请涉及云计算,尤其涉及一种代理服务的更新方法、装置、计算设备集群、计算机可读存储介质、计算机程序产品。


技术介绍

1、由于云计算具有较高的灵活性、可扩展性、易于部署,越来越多的开发者将应用部署在云环境中,以云服务的形式提供给用户使用。为了保障服务质量,云环境中部署云服务的业务节点还可以部署负责执行控制面任务、信息采集等功能的代理服务,也可以简称为代理(agent)。例如,云场景中可以部署数据库服务的agent、支撑运维体系的cloud agent、openstack体系的计算agent、存储agent、网络agent等。

2、随着业务的不断变化,agent通常需要具备升级的能力。agent作为控制面的代理,不对客户直接呈现,也不承载客户流量。同时,agent重启时间很短,短暂的重启对客户的业务几乎无影响。因此,业界普遍采用冷更新方式实现agent升级。

3、然而,冷更新的升级方式可以导致部分任务失败,并且重试代价极高,难以满足客户的需求。


技术实现思路

1、本申请提供了一种代理服务的更新方法,该方法在agent升级时,监控agent当前执行的任务,根据不同任务所对应的业务类型,触发不同的更新方案,使整体效果上达到了冷变更的业务无损性,同时无需深度改造业务,降低了更新成本。本申请还提供了代理服务的更新装置、计算设备集群、计算机可读存储介质以及计算机程序产品。

2、第一方面,本申请提供一种代理服务的更新方法。该方法可以由代理服务器执行。代理服务器可以是部署代理服务的服务器,该服务器具体可以是云平台分配的云服务器。由于代理服务通常与业务应用部署在同一实例节点(也称作应用服务器),因此,在一些情况下,代理服务器即为实例节点。

3、具体地,代理服务器接收更新请求,该更新请求用于指示更新代理服务,接着代理服务器根据更新请求,获取代理服务的更新代码包,当代理服务在执行的任务不包括第一任务,第一任务为用户感知且具有延迟加载内容的任务,代理服务器重启代理服务的第一动态代码块,以执行更新代码包。

4、在该方法中,第一任务不会因为代理服务更新而终止,避免了第一任务因代理服务更新而重试,对运维、客户友好,并且该方法无需深度改造业务,降低了更新成本。

5、在一些可能的实现方式中,当所述代理服务在执行的任务包括所述第一任务,代理服务器设置所述代理服务的状态为更新等待状态。然后代理服务器可以检测等待时间是否超过最大容忍时间。若是,则触发所述重启所述代理服务的第一动态代码块;若否,则重新检测处于执行状态的任务是否包括所述第一任务。

6、该方法通过检测等待时间是否超过最大容忍时间,并在等待时间超过最大容忍时间时重启代理服务的第一动态代码块,如此保障了大部分场景下的第一任务均可以执行完毕,避免了第一任务重试影响业务运行。

7、在一些可能的实现方式中,当所述代理服务在执行的任务包括所述第一任务,代理服务器还可以向控制层服务器发送等待通知,以使所述控制层服务器在等待最大容忍时间后,重新发送所述更新请求。在该场景下,最大容忍时间可以由控制层服务器决策。

8、该方法中,代理服务器通过向控制层服务器发送等待通知,使得控制层服务器在等待最大容忍时间后,重新发送更新请求,触发代理服务更新,保障了第一任务均可以执行完毕,避免了第一任务重试影响业务运行。

9、在一些可能的实现方式中,所述最大容忍时间根据所述第一任务的历史执行时间设置。最大容忍时间可以根据第一任务的历史执行时间设置。具体地,用户可以收集第一任务在历史时间段的执行时间,即历史执行时间,基于大量第一任务的历史执行时间,可以获得第一任务的执行时间分布。在该执行时间分布中,横轴可以是执行时间,纵轴可以是对应时间的第一任务的数量。用户可以基于第一任务的执行时间分布,确定目标比例的第一任务的最长执行时间,将该最长执行时间设置为最大容忍时间。

10、通过历史执行时间确定最大容忍时间,可以保障大部分的第一任务均能在最大容忍时间内执行完毕,从而避免影响业务运行。并且,考虑到部分场景中第一任务的执行时间可能异常增加,该方法基于大部分第一任务的执行时间设置最大容忍时间可以避免代理服务更新过于迟滞,保障服务体验。

11、在一些可能的实现方式中,代理服务处于所述更新等待状态时,代理服务器还可以拒绝接收新任务。如此,避免执行新任务占用代理服务器的资源,影响第一任务执行,进而影响代理服务的更新进度。

12、在一些可能的实现方式中,所述第一任务由所述第一动态代码块中的子代码块执行。其中,第一动态代码块中的子代码块可以是主进程中的子线程,如此避免了额外的资源消耗,降低了资源开销。

13、在一些可能的实现方式中,第一任务包括主从倒换任务、参数配置任务、磁盘扩容任务或规格变更任务中的一种或多种。上述任务为用户感知且具有延迟加载内容,如延迟加载模块或延迟加载配置文件,该任务的执行时间相对较短,通过等待上述任务执行完毕,再重启第一动态代码块,如此可以避免任务重试,影响业务运行。

14、在一些可能的实现方式中,代理服务器还可以保持所述代理服务的第二动态代码块处于运行态。其中,第二动态代码块与第一动态代码块独立,例如,第一动态代码块为主进程,第二动态代码块为独立的子进程。第二动态代码块用于执行第二任务,第二任务为用户感知且不具有延迟加载内容的任务。如此避免了第二任务被终止,进而避免了该第二任务因代理服务更新而重试,降低了更新成本。

15、在一些可能的实现方式中,所述第二任务包括数据备份任务、数据上传下载任务或数据恢复任务中的一种或多种。上述任务为用户感知且不具有延迟加载内容,该任务的执行时间相对较长,通过独立的第二动态代码块执行上述第二任务,即使重启第一动态代码块,也不会终止上述任务,保障业务正常运行。

16、在一些可能的实现方式中,代理服务器还可以通过重启后的所述第一动态代码块中的子代码块,执行第三任务。第三任务为用户无感知的任务。如此,代理服务器在更新代理服务时,直接重启第一动态代码块,既实现了代理服务更新,又能通过重启后的第一动态代码块中的子代码块执行上述第三业务,实现业务无损。

17、在一些可能的实现方式中,所述第三任务包括查询任务,例如查询内存使用率、查询计算资源使用率。用户对上述查询业务无感知,因而能够支持代理服务器直接更新代理服务,并通过更新后的代理服务执行查询业务。

18、在一些可能的实现方式中,所述更新代码包为全量更新代码包或增量更新代码包。在该方法中,代理服务器可以根据需求选择相应的更新方式进行更新,例如网络资源占用较多时,代理服务器可以选择传输开销较小的增量更新方式进行更新,如此能够适用不同场景,具有较高可用性。

19、在一些可能的实现方式中,所述第一任务的执行时间小于第二任务的执行时间,所述第二任务为用户感知且不具有延迟加载内容的任务。该方法在代理服务升级时,监控代理服务当前执行本文档来自技高网...

【技术保护点】

1.一种代理服务的更新方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2或3所述的方法,其特征在于,所述最大容忍时间根据所述第一任务的历史执行时间设置。

5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一任务由所述第一动态代码块中的子代码块执行。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一任务包括主从倒换任务、参数配置任务、磁盘扩容任务或规格变更任务中的一种或多种。

8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法包括:

9.根据权利要求8所述的方法,其特征在于,所述第二任务包括数据备份任务、数据上传下载任务或数据恢复任务中的一种或多种。

10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:

11.一种代理服务的更新装置,其特征在于,所述装置包括:

12.根据权利要求11所述的装置,其特征在于,所述装置还包括:

13.根据权利要求11所述的装置,其特征在于,所述通信模块还用于:

14.根据权利要求12或13所述的装置,其特征在于,所述最大容忍时间根据所述第一任务的历史执行时间设置。

15.根据权利要求12或13所述的装置,其特征在于,所述通信模块还用于:

16.根据权利要求11至15任一项所述的装置,其特征在于,所述第一任务由所述第一动态代码块中的子代码块执行。

17.根据权利要求11至16任一项所述的装置,其特征在于,所述第一任务包括主从倒换任务、参数配置任务、磁盘扩容任务或规格变更任务中的一种或多种。

18.根据权利要求11至17任一项所述的装置,其特征在于,所述装置包括:

19.根据权利要求18所述的装置,其特征在于,所述第二任务包括数据备份任务、数据上传下载任务或数据恢复任务中的一种或多种。

20.根据权利要求11至19任一项所述的装置,其特征在于,所述装置还包括:

21.一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算计算设备集群执行如权利要求1至10中任一项所述的方法。

22.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至10任一项所述的方法。

23.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至10任一项所述的方法。

...

【技术特征摘要】

1.一种代理服务的更新方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

4.根据权利要求2或3所述的方法,其特征在于,所述最大容忍时间根据所述第一任务的历史执行时间设置。

5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述第一任务由所述第一动态代码块中的子代码块执行。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述第一任务包括主从倒换任务、参数配置任务、磁盘扩容任务或规格变更任务中的一种或多种。

8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法包括:

9.根据权利要求8所述的方法,其特征在于,所述第二任务包括数据备份任务、数据上传下载任务或数据恢复任务中的一种或多种。

10.根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:

11.一种代理服务的更新装置,其特征在于,所述装置包括:

12.根据权利要求11所述的装置,其特征在于,所述装置还包括:

13.根据权利要求11所述的装置,其特征在于,所述通信模块还用于:

14.根据权利要求12或13所述的装置,其特征在于,所述最大容忍时间根据所述第...

【专利技术属性】
技术研发人员:欧燕清于超
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1