CN117348896A - 应用更新方法、装置及系统 - Google Patents
应用更新方法、装置及系统 Download PDFInfo
- Publication number
- CN117348896A CN117348896A CN202211305912.0A CN202211305912A CN117348896A CN 117348896 A CN117348896 A CN 117348896A CN 202211305912 A CN202211305912 A CN 202211305912A CN 117348896 A CN117348896 A CN 117348896A
- Authority
- CN
- China
- Prior art keywords
- application
- target
- target program
- updated
- version
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000004044 response Effects 0.000 claims description 82
- 230000015654 memory Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000523 sample Substances 0.000 description 223
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 24
- 238000005129 volume perturbation calorimetry Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种应用更新方法、装置及系统,属于计算机技术领域。应用更新系统包括:第一应用和管理中心。第一应用用于将第一应用包括的至少一个目标程序的版本信息发送至管理中心,以及根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。其中,该待更新的目标程序包括:第一应用包括的目标程序和第二应用包括的目标程序,第一应用和第二应用具有相同功能。本申请可以解决目前应用更新的方式较为单一的问题,本申请用于应用的更新。
Description
本申请要求于2022年06月27日提交的申请号为202210740805.4、发明名称为“一种自动化安装升级方法、装置及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别涉及一种应用更新方法、装置及系统。
背景技术
宿主应用是一种能够对外提供服务(如数据处理、数据转发等服务)的应用,宿主应用运行在计算机设备(如服务器)上。宿主应用具有探针(agent)应用(也称代理应用)。在宿主应用运行的过程中,探针应用能够实现与宿主应用相关的功能。比如,在宿主应用运行的过程中,探针应用可以对宿主应用的字节码或库函数进行修改,或者,提取宿主应用运行的参数等。
目前,探针应用会经常存在版本更新。在用于提供某一服务的宿主应用的探针应用需要更新时,用于提供该服务的宿主应用及其探针应用均停止运行,并由工作人员对这些探针应用进行版本更新,之后,再重启这些宿主应用和版本更新后的探针应用。
但是,目前应用更新的方式较为单一。
发明内容
本申请提供了一种应用更新方法、装置及系统,可以解决目前应用更新的方式较为单一的问题,所述技术方案如下:
第一方面,提供了一种应用更新系统,包括:第一应用和管理中心。第一应用用于将第一应用包括的至少一个目标程序的版本信息发送至管理中心。可以理解的是,第一应用包括多个程序,这些程序中存在至少一个目标程序,该至少一个目标程序可以是该多个程序中的部分程序,也可以是该多个程序中的全部程序。第一应用在运行的过程中,可以将该至少一个目标程序的版本信息发送给管理中心。相应地,管理中心用于接收第一应用发送的该至少一个目标程序的版本信息。
管理中心接收到的版本信息对应的目标程序可能是待更新的目标程序,也可能不是待更新的目标程序。第一应用还用于根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。其中,该待更新的目标程序包括:第一应用包括的目标程序和第二应用包括的目标程序,第一应用和第二应用具有相同功能。目标版本可以是最新版本,也可以不是最新版本,本申请对此不作限定。
本申请实施例提供的应用更新系统中,第一应用并不是在工作人员的操控下进行更新,而是根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。该应用更新系统中第一应用的更新方式与相关技术中探针应用的更新方式不同,因此,丰富了应用的更新方式。
进一步地,本申请中,第一应用用于根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。在该方案中,第一操作和第二操作会被依次执行。其中,第一操作包括:在管理中心接收到的版本信息中筛选待更新的目标程序的版本信息;第二操作包括:根据该待更新的目标程序的版本信息的标识,确定第一应用中至少一个目标程序中进行更新的目标程序。之后,再由第一应用将该进行更新的目标程序更新为目标版本。
第一操作和第二操作均可以由管理中心执行,或者,第一操作和第二操作均可以由第一应用执行,又或者,第一操作由管理中心执行且第二操作由第一应用执行。
示例地,当第一操作由管理中心执行且第二操作由第一应用执行时,管理中心还用于通过比较目标程序的版本信息和目标版本信息(目标版本的信息),确定多个应用中上述待更新的目标程序。之后,管理中心还用于向第一应用发送该待更新的目标程序的版本信息的标识。第一应用在接收到这些标识后,可以根据这些标识执行上述第二操作,以及将上述进行更新的目标程序更新为目标版本。
又示例地,当第一操作和第二操作均可以由管理中心执行时,管理中心还用于:通过比较目标程序的版本信息和目标版本信息,确定多个应用中上述待更新的目标程序;根据该待更新的目标程序的版本信息的标识,确定第一应用中至少一个目标程序中进行更新的目标程序,并将该进行更新的目标程序的标识发送至第一应用。第一应用在接收到这些标识后,可以将这些标识所指示的进行更新的目标程序更新为目标版本。
可以理解的是,在本申请提供的方案中,也可以不是第一操作和第二操作会被依次执行。比如,管理中心还用于确定接收到的第二应用中待更新的目标程序的版本信息,并将第二应用中待更新的目标程序的版本信息的标识发送至第一应用。第一应用还用于:接收这些标识,以及通过比较目标程序的版本信息和目标版本信息,确定第一应用中待更新的目标程序,之后,根据第一应用中待更新的目标程序的标识和接收到的第二应用中待更新的目标程序的标识,确定第一应用中至少一个目标程序中进行更新的目标程序。
可选地,第一应用的宿主应用和第二应用的宿主应用用于提供相同的服务。这种情况下,第一应用和第二应用均为探针应用,并且,第一应用和第二应用功能相同,第一应用和第二应用的宿主应用提供的服务相同。如果第一应用根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本,能够使得第一应用和第二应用中的目标程序不同时更新为目标版本,那么便可以使得第一应用和第二应用的宿主应用不同时停止运行,第一应用和第二应用的宿主应用提供的服务可以不中断。第一应用的宿主应用和第二应用的宿主应用也可以不用于提供相同的服务,本申请实施例对此不作限定。
示例地,上述待更新的目标程序的版本信息的标识包括待更新的目标程序的响应编号,第一应用用于:将多个应用中待更新的目标程序的响应编号从小到大排列,并将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为第一应用的至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数。
第一应用会周期性地确定多个应用中待更新的目标程序,将该待更新的目标程序的响应编号从小到大排列,并在前n个响应编号对应的目标程序中查找属于所述第一应用的目标程序,并在查找到属于第一应用的目标程序时,将这些目标程序作为第一应用中进行更新的目标程序。
本申请中以第一应用用于将响应编号从小到大排列的前n个响应编号对应的目标程序中属于所述第一应用的目标程序更新的目标版本为例。可选地,也可以是第一应用用于将响应编号从大到小排列的前n个响应编号对应的目标程序中属于所述第一应用的目标程序更新的目标版本。或者,第一应用用于对多个应用中待更新的目标程序所运行的设备的地址的某一顺序进行排列,并将这些目标程序中的前n个目标程序中属于所述第一应用的目标程序更新的目标版本。
可选地,该应用更新系统还包括:配置中心。第一应用还用于向配置中心发送订阅请求,订阅请求用于指示对目标程序的版本信息进行订阅。这种情况下,配置中心用于向第一应用发送订阅响应,订阅响应指示目标程序的版本信息存在更新。第一应用可以根据该订阅响应确定目标程序的版本或版本信息存在更新。第一应用在确定目标程序的版本信息存在更新时,可以向管理中心发送消息,以触发上述第一操作和第二操作的执行。或者,第一应用在确定目标程序的版本信息存在更新时,可以向管理中心发送其中至少一个目标程序的版本信息等。
可选地,第一应用还用于从配置中心获取目标程序的下载地址,并根据下载地址从软件库获取目标版本的目标程序。第一应用在需要将某一目标程序更新为目标版本时,可以从配置中心获取目标版本的目标程序的下载地址,并根据该下载地址从软件库下载目标版本的目标程序,之后,根据下载的目标版本的目标程序,对第一应用中的目标程序进行更新。
第二方面,提供了一种应用更新方法,该方法可以由第一应用执行(可以理解为由第一应用运行的设备执行),所述方法包括:第一应用在将第一应用包括的至少一个目标程序的版本信息发送至管理中心后,根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;其中,所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
可选地,在根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本之前,第一应用还可以接收所述管理中心发送的所述待更新的目标程序的版本信息的标识。
可选地,所述第一应用的宿主应用和所述第二应用的宿主应用用于提供相同的服务。
可选地,所述待更新的目标程序的版本信息的标识包括所述待更新的目标程序的响应编号,所述第一应用在根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本时,可以将所述待更新的目标程序的响应编号从小到大排列;再将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为所述至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数;最后,将所述至少一个目标程序中进行更新的目标程序更新为所述目标版本。
可选地,在所述第一应用将第一应用包括的至少一个目标程序的版本信息发送至管理中心之前,第一应用还可以向配置中心发送订阅请求,以及接收所述配置中心发送的订阅响应,所述订阅请求用于指示对目标程序的版本信息进行订阅;所述订阅响应指示所述目标程序的版本信息存在更新。
可选地,第一应用还可以从所述配置中心获取所述目标程序的下载地址,并根据所述下载地址从软件库获取所述目标版本的目标程序。
可选地,所述目标版本为最新版本。
第三方面,提供了一种应用更新方法,所述方法包括:第一应用将所述第一应用包括的至少一个目标程序的版本信息发送至管理中心;管理中心接收所述第一应用发送的所述至少一个目标程序的版本信息;之后,所述第一应用根据所述管理中心接收到的待更新的目标程序的版本信息的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;其中,所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
可选地,在所述第一应用根据所述管理中心接收到的待更新的目标程序的版本信息的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本之前,所述管理中心还可以通过比较所述目标程序的版本信息和目标版本信息,确定所述待更新的目标程序,并向所述第一应用发送所述待更新的目标程序的版本信息的标识。
可选地,所述第一应用的宿主应用和所述第二应用的宿主应用用于提供相同的服务。
可选地,所述待更新的目标程序的版本信息的标识包括所述待更新的目标程序的响应编号,所述第一应用在根据所述管理中心接收到的待更新的目标程序的版本信息的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本时,可以将所述待更新的目标程序的响应编号从小到大排列,之后,将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为所述至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数;最后,将所述进行更新的目标程序更新为目标版本。
可选地,在所述第一应用将所述至少一个目标程序的版本信息发送至管理中心前,所述第一应用还可以向配置中心发送订阅请求,所述订阅请求用于指示对目标程序的版本信息进行订阅;所述配置中心还可以向所述第一应用发送订阅响应,所述订阅响应指示所述目标程序的版本信息存在更新。
可选地,所述第一应用将所述至少一个目标程序中进行更新的目标程序更新为目标版本时,对于进行更新的目标程序,所述第一应用可以从配置中心获取所述目标版本的目标程序的下载地址,并根据所述下载地址从软件库获取所述目标版本的目标程序,以及将所述目标程序更新为所述目标版本。
可选地,所述方法还包括:所述第二应用向所述管理中心发送包括的至少一个目标程序的版本信息。
可选地,所述目标版本为最新版本。
第四方面,提供了一种应用更新装置,所述应用更新装置包括:第一发送模块和更新模块。其中,第一发送模块用于将第一应用包括的至少一个目标程序的版本信息发送至管理中心;更新模块用于根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
可选地,应用更新装置还包括:第一接收模块,用于在根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本之前,接收所述管理中心发送的所述待更新的目标程序的版本信息的标识。
可选地,所述第一应用的宿主应用和所述第二应用的宿主应用用于提供相同的服务。
可选地,所述待更新的目标程序的版本信息的标识包括所述待更新的目标程序的响应编号,所述更新模块用于:将所述待更新的目标程序的响应编号从小到大排列;将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为所述至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数;将所述至少一个目标程序中进行更新的目标程序更新为所述目标版本。
可选地,应用更新装置还包括第二发送模块和第二接收模块。第二发送模块用于在第一发送模块将第一应用包括的至少一个目标程序的版本信息发送至管理中心之前,向配置中心发送订阅请求;第二接收模块用于接收所述配置中心发送的订阅响应,所述订阅请求用于指示对目标程序的版本信息进行订阅;所述订阅响应指示所述目标程序的版本信息存在更新。
可选地,应用更新装置还包括:获取模块和下载模块。获取模块用于从所述配置中心获取所述目标程序的下载地址,下载模块用于根据所述下载地址从软件库获取所述目标版本的目标程序。
可选地,所述目标版本为最新版本。
第五方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如第二方面中任一设计所述的方法。
第六方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如第三方面中任一设计所述的方法。
第七方面,提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如第二方面中任一设计所述的方法。
第八方面,提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如第三方面中任一设计所述的方法。
第九方面,提供了一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如第二方面中任一设计所述的方法。
第十方面,提供了一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如第三方面中任一设计所述的方法。
上述第二方面至第十方面的效果可以参考第一方面中相应方案的效果,本申请实施例在此不做赘述。
附图说明
图1为本申请实施例提供的一种服务系统的结构示意图;
图2为本申请实施例提供的一种应用更新系统的结构示意图;
图3为本申请实施例提供的另一种应用更新系统的结构示意图;
图4为本申请实施例提供的一种应用更新方法的流程图;
图5为本申请实施例提供的另一种应用更新系统的结构示意图;
图6为本申请实施例提供的另一种应用更新方法的流程图;
图7为本申请实施例提供的一种应用更新过程的示意图;
图8为本申请实施例提供的另一种应用更新过程的示意图;
图9为本申请实施例提供的另一种应用更新系统的结构示意图;
图10为本申请实施例提供的另一种应用更新过程的示意图;
图11为本申请实施例提供的另一种应用更新过程的示意图;
图12为本申请实施例提供的另一种应用更新过程的示意图;
图13为本申请实施例提供的另一种应用更新过程的示意图;
图14为本申请实施例提供的另一种应用更新过程的示意图;
图15为本申请实施例提供的一种应用更新装置的结构示意图;
图16为本申请实施例提供的一种计算设备的示意图;
图17为本申请实施例提供的一种计算设备集群的示意图;
图18为本申请实施例提供的另一种计算设备集群的示意图。
具体实施方式
为使本申请的原理和技术方案更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种服务系统,服务系统通常包括多个宿主应用以及宿主应用的探针(agent)应用,探针应用运行时,探针应用的宿主应用也运行,探针应用停止运行时,探针应用的宿主应用也停止运行。
宿主应用能够对外提供服务(如数据查询服务、数据存储服务或数据计算服务等服务)。探针应用在运行时可以实现与宿主应用相关的功能。示例地,探针应用可以对宿主应用的字节码或库函数进行修改,或者,提取宿主应用运行的参数(如运行日志)等。
宿主应用和探针应用运行在计算机设备(如服务器或服务器集群,也称服务节点)上。可以理解的是,一个宿主应用可以有一个或多个探针应用,本申请实施例不对宿主应用的探针应用的个数进行限定。
示例地,如图1所示,服务系统包括3个宿主应用,这三个宿主应用运行在不同的设备上。可以理解的是,服务系统中宿主应用的数量也可以不是3,比如,该数量可以是1、2、10或100等。另外,一个设备上可以运行有一个或多个宿主应用,该多个宿主应用提供的服务可以相同也可以不同,不同设备上运行的宿主应用可以相同也可以不同,本申请实施例对此不作限定。
探针应用会经常存在版本更新。在用于提供某一服务的宿主应用的某一探针应用需要更新时,服务系统中运行的用于提供该服务的宿主应用及其探针应用均停止运行,并由工作人员对这些探针应用进行版本更新,之后,再重启这些宿主应用和版本更新后的探针应用。在用于提供某一服务的宿主应用均停止运行时,服务系统提供的该服务中断。
比如,请参考前述图1,假设三个宿主应用均用于提供服务A。若该探针应用需要更新,则工作人员需要将这三个宿主应用和这三个探针应用均停止运行,此时,这三个宿主应用提供的服务A中断。之后,工作人员分别对这三个探针应用进行更新后,再重启这三个宿主应用和这三个探针应用,此时,这三个宿主应用提供的服务A恢复。可以看出,在探针应用更新的过程中,这些宿主应用由于停止运行而导致服务A中断,影响服务系统提供的服务A的可靠性。
另外,上述探针应用更新的过程中,需要工作人员手动操作。但是工作人员手动操作较容易出错,且耗时耗力,无法实现探针应用的自动化更新。并且,目前应用的更新方式较为单一。
本申请实施例提供了一种应用更新系统,该应用更新系统提供了一种应用的新的更新方式,丰富了应用的更新方式。并且,该应用更新系统可以保证在探针应用更新的过程中宿主应用提供的服务不中断,提升应用更新系统提供的服务的可靠性。该应用更新系统还能够实现探针应用的自动化更新,减少人工运维成本,降低应用更新过程中的出错概率。
示例地,如图2所示,本申请实施例提供的应用更新系统包括:多个应用和管理中心02(管理中心也称管理节点)。图2中以该多个应用包括应用01A和应用01B为例,多个应用均可以是上述探针应用,当然,也可以不都是探针应用。管理中心02可以是服务器或服务器集群等装置。
多个应用包括第一应用和第二应用,比如应用01A为第一应用,应用01B为第二应用。第一应用和第二应用具有相同功能。
第一应用用于将第一应用包括的至少一个目标程序的版本信息发送至管理中心02。可以理解的是,第一应用包括多个程序,这些程序中存在至少一个目标程序,该至少一个目标程序可以是该多个程序中的部分程序,也可以是该多个程序中的全部程序。第一应用在运行的过程中,可以将该至少一个目标程序的版本信息发送给管理中心02。相应地,管理中心02用于接收第一应用发送的该至少一个目标程序的版本信息。
可选地,第一应用可以是多个应用中的任一应用,因此,多个应用均可以将应用中至少一个目标程序的版本信息发送至管理中心,相应地,管理中心可以接收各个应用发送的应用中至少一个目标程序的版本信息。比如,管理中心不仅可以接收第一应用发送的第一应用中至少一个目标程序的版本信息,还可以接收第二应用发送的第二应用中至少一个目标程序的版本信息。
管理中心接收到的版本信息对应的目标程序可能是待更新的目标程序,也可能不是待更新的目标程序。第一应用还用于根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。其中,该待更新的目标程序包括:第一应用包括的目标程序和第二应用包括的目标程序。目标版本可以是最新版本,也可以不是最新版本,本申请实施例对此不作限定。
可见,第一应用和第二应用的功能相同,且均向管理中心发送了其中至少一个目标程序的版本信息,并且第一应用和第二应用中均存在待更新的目标程序。第一应用可以根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中进行更新的目标程序更新为目标版本(也即将该目标程序的版本更新为该目标版本)。
第一应用为多个应用中的任一应用,因此,多个应用中各个应用均可以具有与第一应用相同的功能,本申请实施例在此不做赘述。
综上所述,本申请实施例提供的应用更新系统中,第一应用并不是在工作人员的操控下进行更新,而是根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。该应用更新系统中第一应用的更新方式与相关技术中探针应用的更新方式不同,因此,丰富了应用的更新方式。
进一步地,本申请实施例中,第一应用用于根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。在该方案中,第一操作和第二操作会被依次执行。其中,第一操作包括:在管理中心接收到的版本信息中筛选待更新的目标程序的版本信息;第二操作包括:根据该待更新的目标程序的版本信息的标识,确定第一应用中至少一个目标程序中进行更新的目标程序。在第二操作被执行后,再由第一应用将该进行更新的目标程序更新为目标版本。
第一操作和第二操作均可以由管理中心执行,或者,第一操作和第二操作均可以由第一应用执行,又或者,第一操作由管理中心执行且第二操作由第一应用执行。
示例地,当第一操作由管理中心执行且第二操作由第一应用执行时,管理中心还用于通过比较目标程序的版本信息和目标版本信息(目标版本的信息),确定多个应用中上述待更新的目标程序。之后,管理中心还用于向第一应用发送该待更新的目标程序的版本信息的标识。第一应用在接收到这些标识后,可以根据这些标识执行上述第二操作,以及将上述进行更新的目标程序更新为目标版本。
又示例地,当第一操作和第二操作均可以由管理中心执行时,管理中心还用于:通过比较目标程序的版本信息和目标版本信息,确定多个应用中上述待更新的目标程序;根据该待更新的目标程序的版本信息的标识,确定第一应用中至少一个目标程序中进行更新的目标程序,并将该进行更新的目标程序的标识发送至第一应用。第一应用在接收到这些标识后,可以将这些标识所指示的进行更新的目标程序更新为目标版本。
可以理解的是,在本申请提供的方案中,也可以不是第一操作和第二操作会被依次执行。比如,管理中心还用于确定接收到的第二应用中待更新的目标程序的版本信息,并将第二应用中待更新的目标程序的版本信息的标识发送至第一应用。第一应用还用于:接收这些标识,以及通过比较目标程序的版本信息和目标版本信息,确定第一应用中待更新的目标程序,之后,根据第一应用中待更新的目标程序的标识和接收到的第二应用中待更新的目标程序的标识,确定第一应用中至少一个目标程序中进行更新的目标程序。这种情况下,管理中心会向第一应用发送管理中心接收到的多个应用中除第一应用之外的其他应用中待更新的目标程序的版本信息的标识。第一应用需要自行确定第一应用中至少一个目标程序中进行更新的目标程序,并根据第一应用确定出的该目标程序的标识以及该其他应用中待更新的目标程序的标识,确定第一应用中进行更新的目标程序。
可选地,第一应用的宿主应用和第二应用的宿主应用用于提供相同的服务。这种情况下,第一应用和第二应用均为探针应用,并且,第一应用和第二应用功能相同,第一应用和第二应用的宿主应用提供的服务相同。如果第一应用根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本,能够使得第一应用和第二应用中的目标程序不同时更新为目标版本,那么便可以使得第一应用和第二应用的宿主应用不同时停止运行,第一应用和第二应用的宿主应用提供的服务可以不中断。第一应用的宿主应用和第二应用的宿主应用也可以不用于提供相同的服务,本申请实施例对此不作限定。
示例地,上述待更新的目标程序的版本信息的标识包括待更新的目标程序的响应编号,第一应用用于:将多个应用中待更新的目标程序的响应编号从小到大排列,并将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为第一应用的至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数。
可以理解的是,前n个响应编号对应的目标程序中可能有属于所述第一应用的目标程序,也可能没有属于第一应用的目标程序,本申请中以前n个响应编号对应的目标程序中有属于所述第一应用的目标程序为例。当前n个响应编号对应的目标程序中没有属于第一应用的目标程序时,第一应用不会更新其中的目标程序。
第一应用会周期性地确定多个应用中待更新的目标程序,将该待更新的目标程序的响应编号从小到大排列,并在前n个响应编号对应的目标程序中查找属于所述第一应用的目标程序,并在查找到属于第一应用的目标程序时,将这些目标程序作为第一应用中进行更新的目标程序。在待更新的目标程序不包括第一应用中的目标程序时,第一应用可以停止周期性地执行这些操作。
以n=1为例,第一应用会周期性地确定多个应用中待更新的目标程序,将该待更新的目标程序的响应编号从小到大排列,并在最小响应编号对应的目标程序属于第一应用时,第一应用会将该最小响应编号对应的目标程序的版本更新为目标版本。
本申请实施例中以第一应用用于将响应编号从小到大排列的前n个响应编号对应的目标程序中属于所述第一应用的目标程序更新的目标版本为例。可选地,也可以是第一应用用于将响应编号从大到小排列的前n个响应编号对应的目标程序中属于所述第一应用的目标程序更新的目标版本。或者,第一应用用于对多个应用中待更新的目标程序所运行的设备的地址的某一顺序进行排列,并将这些目标程序中的前n个目标程序中属于所述第一应用的目标程序更新的目标版本。
进一步地,请参考图3,在图2所示的系统的基础上。该应用更新系统0还包括:配置中心03,配置中心也称配置节点。第一应用还用于向配置中心03发送订阅请求,订阅请求用于指示对目标程序的版本信息进行订阅。这种情况下,配置中心03用于向第一应用发送订阅响应,订阅响应指示目标程序的版本信息存在更新。第一应用可以根据该订阅响应确定目标程序的版本或版本信息存在更新。第一应用在确定目标程序的版本信息存在更新时,可以向管理中心发送消息,以触发上述第一操作和第二操作的执行。或者,第一应用在确定目标程序的版本信息存在更新时,可以向管理中心发送其中至少一个目标程序的版本信息等。
本申请不对第一应用向配置中心发送订阅请求,以及第一应用将其中至少一个目标程序的版本信息发送至管理中心的时机进行限定。比如,第一应用可以是启动后便向配置中心发送订阅请求,第一应用在启动后还可以将其中至少一个目标程序的版本信息发送至管理中心。或者,第一应用可以是启动后先向配置中心发送订阅请求,再将其中至少一个目标程序的版本信息发送至管理中心。或者,第一应用在启动后,先向配置中心发送订阅请求并接收配置中心发送的订阅响应,之后将第一应用中至少一个目标程序的版本信息发送至管理中心。
本申请中以第一应用向配置中心发送订阅请求,并根据订阅响应确定目标程序的版本或版本信息存在更新为例,可选地,第一应用也可以不向配置中心发送订阅请求,并不根据订阅响应确定目标程序的版本或版本信息是否存在更新。比如,第一应用根据用户的指令确定目标程序的版本或版本信息是否存在更新。
可选地,第一应用还用于从配置中心获取目标程序的下载地址,并根据下载地址从软件库(附图中未示出)获取目标版本的目标程序。第一应用在需要将某一目标程序更新为目标版本时,可以从配置中心获取目标版本的目标程序的下载地址,并根据该下载地址从软件库下载目标版本的目标程序,之后,根据下载的目标版本的目标程序,对第一应用中的目标程序进行更新。
第一应用、第二应用可以通过软件实现,管理中心、配置中心和软件库均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来分别介绍第一应用和管理中心的实现方式。类似的,第二应用的实现方式可以参考第一应用的实现方式,配置中心和软件库的实现方式可以参考管理中心的实现方式。
模块作为软件功能单元的一种举例,第一应用可以包括运行在计算实例上的代码。其中,计算实例可以是物理主机(计算设备)、虚拟机、容器等计算设备中的至少一种。进一步地,上述计算设备可以是一台或者多台。例如,第一应用可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内。同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为软件功能单元的一种举例,管理中心可以包括运行在计算实例上的代码。其中,计算实例可以是物理主机(计算设备)、虚拟机、容器等计算设备中的至少一种。进一步地,上述计算设备可以是一台或者多台。例如,管理中心可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该应用程序的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内。同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,管理中心可以包括至少一个计算设备,如服务器等。或者,管理中心也可以是利用专用集成电路(application specific integratedcircuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程门阵列(field programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)器件或其任意组合实现。管理中心包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。管理中心包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,管理中心包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
基于本申请实施例提供的应用更新系统,本申请实施例还提供了由该应用更新系统执行的应用更新方法。
示例地,图4为本申请实施例提供的一种应用更新方法的流程图,以下将以图4所示的应用更新方法为例,对本申请实施例提供的应用更新方法进行讲解。如图4所示,该应用更新方法包括:
S001、第一应用将第一应用包括的至少一个目标程序的版本信息发送至管理中心。
S002、第二应用将第二应用包括的至少一个目标程序的版本信息发送至管理中心。
本申请实施例中以第一应用和第二应用具有相同功能,第一应用的宿主应用和第二应用的宿主应用用于提供相同的服务为例。
可选地,第一应用和第二应用可以在启动后便向管理中心发送其中至少一个目标程序的版本信息。
或者,第一应用和第二应用在启动后,会先向配置中心发送订阅请求,订阅请求用于指示对目标程序的版本信息进行订阅,并接收配置中心发送订阅响应,订阅响应指示目标程序的版本信息存在更新;之后,第一应用和第二应用可以根据接收到的订阅响应向管理中心发送其中至少一个目标程序的版本信息。这种情况下,管理中心会接收到目标程序存在更新的应用发送的其中至少一个目标程序的版本信息。
S003、管理中心通过比较目标程序的版本信息和目标版本信息,确定待更新的目标程序;其中,该待更新的目标程序包括:第一应用包括的目标程序和第二应用包括的目标程序。
管理中心会接收到各个应用发送的目标程序的版本信息,管理中心会将接收到的这些版本信息与目标版本的信息进行比较,以确定这些应用中待更新的目标程序。
S004、管理中心向第一应用发送待更新的目标程序的版本信息的标识。
S005、第一应用根据管理中心接收到的待更新的目标程序的版本信息的标识,将第一应用中至少一个目标程序中进行更新的目标程序更新为目标版本。
示例地,待更新的目标程序的版本信息的标识包括待更新的目标程序的响应编号,在S005中,第一应用可以将待更新的目标程序的响应编号从小到大排列,并将前n个响应编号对应的目标程序中属于第一应用的目标程序,确定为至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数;之后,第一应用将进行更新的目标程序更新为目标版本。
对于进行更新的目标程序,第一应用在将该目标程序更新为目标版本时,可以从配置中心获取目标版本的目标程序的下载地址,并根据下载地址从软件库获取目标版本的目标程序,以及将目标程序更新为目标版本。
可以理解的是,本申请实施例提供的方法实施例中操作的先后顺序能够进行适当调整,操作也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
又示例地,图5为本申请实施例提供的另一种应用更新系统的结构示意图,图6为本申请实施例提供的另一种应用更新方法的流程图。图6所示的方法可以用于图5所示的应用更新系统。并且,图6所示的方法以目标宿主应用的目标探针应用的更新过程为例,该应用更新系统中任意宿主应用的任意探针应用的更新过程,可以参考目标宿主应用的目标探针应用的更新过程。
如图6所示,该应用更新方法包括:
S101、目标探针应用的基础程序向配置中心发送目标探针应用中目标程序的最新版本的下载地址的获取请求。
目标探针应用包括基础程序和目标程序,并且,目标探针应用的不同版本中的基础程序相同,且目标程序不同。该目标程序为目标探针应用的核心部分,在目标探针应用更新时,会对该目标程序进行更新,但不会对基础程序进行更新。
目标探针应用中的基础程序在运行后,会向配置中心发送获取请求,以请求获取目标探针应用中的目标程序的最新版本的下载地址。示例地,如图7所示,假设三个宿主应用均为目标宿主应用,三个探针应用均为目标探针应用。那么,在S101中目标探针应用的基础程序运行后,三个基础程序在S102中会向配置中心02发送目标程序的最新版本的下载地址的获取请求。
S102、配置中心根据获取请求向目标探针应用的基础程序发送目标探针应用中目标程序的最新版本的下载地址。
配置中心上存储有目标探针应用中目标程序的最新版本的下载地址,配置中心在接收到获取请求后,会根据该获取请求向基础程序发送该下载地址。示例地,如图8所示,在图7所示的场景之后,配置中心03在S102中会向三个基础程序发送目标程序的最新版本的下载地址。
可选地,基础程序发送的获取请求还可以携带有基础程序所运行的设备的地址,配置中心可以根据该地址向基础程序发送上述下载地址。
S103、目标探针应用的基础程序根据目标探针应用中目标程序的最新版本的下载地址下载目标程序的最新版本。
目标探针应用的基础程序在接收到配置中心发送的下载地址后,便可以根据该下载地址下载目标探针应用中的目标程序的最新版本。
可选地,请参考图9,在图5所示的应用更新系统的基础上,该应用更新系统还可以包括软件库04,目标探针应用的基础程序可以根据上述下载地址,在软件库04中下载目标探针应用中目标程序的最新版本。
示例地,如图10所示,在图8所示的场景之后,三个目标探针应用中的基础程序在S104中会根据接收到的下载地址,从软件库04中下载目标程序的最新版本。
目标探针应用的基础程序在下载目标探针应用中目标程序的最新版本后,可以将下载的该目标程序的最新版本进行存储(如存储在本地磁盘),之后再触发该目标程序的最新版本运行。示例地,如图11所示,在图10所示的场景之后,目标程序的最新版本会运行。这样一来,目标探针应用中的基础程序,以及目标探针应用中目标程序的最新版本均处于运行状态,又由于各种版本的目标探针应用具有相同的基础程序,因此,相当于目标探针应用的最新版本处于运行状态。
根据上述S101至S103可知,无论目标探针应用的基础程序所安装的设备上是否安装有目标探针应用中的目标程序,均可以通过上述S101至S103的方法获取目标探针应用中目标程序的最新版本。这样一来,当工作人员首次在设备上配置目标探针应用时,只需配置基础程序即可,而无需配置目标程序,减轻了工作人员的配置压力。
可以理解的是,在目标宿主应用和目标探针应用均处于运行状态时,目标宿主应用可以向外提供目标服务,目标探针应用也可以实现与目标宿主应用相关的功能。比如,在目标宿主应用运行的过程中,目标探针应用可以对目标宿主应用的字节码或库函数进行修改,或者,提取目标宿主应用运行的参数(如运行日志)等。
S104、目标探针应用向管理中心发送目标程序的版本信息,该版本信息包括:该目标程序的标识,该目标程序的版本号,目标宿主应用用于提供的目标服务的标识,以及该版本信息的编号。
目标探针应用会向管理中心发送目标程序的版本信息。示例地,如图11所示,三个目标探针应用在S104中会向管理中心02发送其中目标程序的版本信息。目标程序的版本信息也可以称为实例信息。
在S104中,目标程序的版本信息包括:目标程序的标识,目标程序的版本号,目标探针应用的目标宿主应用用于提供的目标服务的标识,以及该版本信息的编号(Identitydocument,ID)。版本信息的编号也可以称为响应编号,不同版本信息的响应编号不同。目标服务的标识可以是:该目标服务的服务名,或者,该目标宿主应用的标识(用于提供相同服务的宿主应用的标识相同)。
可选地,该版本信息还可以包括与目标探针应用运行相关的其他信息,比如,目标探针应用所运行的设备的地址,以及目标探针应用运行目标程序的时间戳等中的至少一种信息。
又可选地,目标程序的版本信息为:目标探针应用的注册信息,这样一来,上述用来接收该版本信息的管理中心也可以称为注册中心。并且,在目标程序的版本信息为该注册信息时,该目标程序的版本信息需要包括目标探针应用注册相关的内容。在目标探针应用停止运行时,目标探针应用需要向管理中心发送目标探针应用的去注册信息,以在管理中心上去注册,使管理中心删除上述目标探针应用的注册信息,或者,对目标探针应用的注册信息进行去注册标记。
S105、目标探针应用向配置中心发送订阅请求,订阅请求携带有该目标探针应用中目标程序的标识和版本号。
目标探针应用在运行后,还可以向配置中心发送订阅请求,该订阅请求携带有目标探针应用中目标程序的标识和版本号。示例地,如图12所示,在图11所示的场景之后,三个目标探针应用在S105中会向配置中心03发送订阅请求。
订阅请求携带的目标程序的版本号可以是S102中配置中心在向目标探针应用的基础程序发送下载地址时附带的版本号,或者,订阅请求携带的目标程序的版本号可以是S103中目标探针应用的基础程序下载的目标程序中附带的版本号,本申请实施例对此不作限定。
可以理解的是,随着时间的流逝,目标探针应用会存在更新的情况,相应地,目标探针应用中的目标程序也存在更新的情况。配置中心能够获取到目标程序的最新版本的版本号,比如,在目标程序更新时,工作人员可以在配置中心上配置目标程序的标识,以及该目标程序的最新版本的版本号。
订阅请求用于请求在订阅请求携带的目标程序的版本号与该目标程序的最新版本的版本号不同时,向发送该订阅请求的目标探针应用发送订阅响应。
S106、在订阅请求携带的目标程序的版本号与该目标程序的最新版本的版本号不同时,配置中心向目标探针应用发送订阅响应。
配置中心在接收到目标探针应用发送的订阅请求后,可以获取该订阅请求携带的目标程序的版本号,并周期性地将该版本号与该目标程序的最新版本的版本号进行比较。在比较的结果是不同时,配置中心可以向该目标探针应用发送订阅响应。在比较的结果是相同时,配置中心可以无需向该目标探针应用发送该订阅响应。
示例地,如图13所示,在图12所示的场景之后,在S106中,若配置中心03确定三个目标探针应用发送的三个订阅请求携带的目标程序的版本号与目标程序的最新版本的版本号均不同,则配置中心03可以向这三个目标探针应用分别发送订阅响应。
可选地,上述订阅请求还可以携带有目标探针应用所运行的设备的地址,配置中心可以根据该地址向目标探针应用发送订阅响应。
S107、目标探针应用根据订阅响应,确定目标探针应用中的目标程序的版本不是最新版本。
目标探针应用在接收到配置中心发送的订阅响应后,便可以确定目标探针应用中的目标程序的版本不是最新版本,此时目标探针应用的版本也不是最新版本。
可选地,本申请实施例提供的应用更新方法也可以不包括S105至S107,而是目标探针应用采用其他方式确定目标探针应用中的目标程序的版本不是最新版本。比如,配置中心可以在目标探针应用中目标程序的最新版本变化时,向目标探针应用发送该目标程序的最新版本,目标探针应用可以将其中目标程序的版本与接收到的该最新版本进行比较,以确定目标探针应用中的目标程序的版本是否为最新版本。
在确定目标探针应用中的目标程序的版本不是最新版本后,目标探针应用便可以通过后续操作来对目标程序进行版本的更新。
S108、目标探针应用向管理中心发送查询请求,该查询请求用于请求查询管理中心接收到的待更新的多个目标程序的版本信息;其中,该多个目标程序的版本信息均包括目标程序的标识和目标服务的标识,且包括的版本号与目标程序的最新版本的版本号均不同。
目标探针应用在对目标程序进行版本的更新时,可以首先向管理中心发送查询请求,以查询管理中心接收到的上述多个目标程序的版本信息。
可以理解的是,应用更新系统中的各个探针应用均会在执行S104时,向管理中心发送目标程序的版本信息,这样一来,管理中心便可以接收到多个版本信息。管理中心在接收到目标探针应用发送的查询请求后,可以在管理中心接收到的版本信息中,查找上述多个目标程序的版本信息。
该多个目标程序所属的探针应用均为处于运行状态的探针应用,若某一目标程序所属的探针应用在启动后在当前停止运行,则该目标程序不属于该多个目标程序。
该多个目标程序的版本信息均包括目标程序的标识和目标服务的标识,若某一版本信息不包括目标服务的标识和/或目标程序的标识,则该版本信息不属于该多个目标程序的版本信息。
该多个目标程序的版本信息包括的目标程序的版本号与目标程序的最新版本的版本号不同。若某一目标程序的版本信息包括的目标程序的版本号与目标程序的最新版本的版本号相同,则该版本信息不属于该多个目标程序的版本信息。
例如,假设管理中心接收到的版本信息如表1所示,这些版本信息包括:编号为1至7的7个版本信息。这7个版本信息中,编号为1至4的版本信息为用于提供服务A的宿主应用中目标程序的版本信息,编号为5至7的版本信息为用于提供服务B的宿主应用中目标程序的版本信息。并且,编号为1至4的版本信息中目标程序的标识均为T1,编号为5至7的版本信息中目标程序的标识均为T2。编号为1至3、5至7的版本信息中目标程序的版本号均为0.1,而编号为4的版本信息中目标程序的版本号为0.2。若目标程序的版本信息为编号为1的版本信息,并且,目标探针应用中目标程序的最新版本的版本号为0.2,则管理中心可以确定表1中编号为1、2和3的版本信息为上述多个目标程序的版本信息。
表1
S109、管理中心根据查询请求向目标探针应用发送查询响应,该查询响应携带有该多个目标程序的版本信息。
管理中心在接收到查询请求后,便可以查询上述多个目标程序的版本信息,并将查询到的这些版本信息携带在查询响应中发送给目标探针应用。
管理中心发送的查询响应可以是只携带有上述多个目标程序的版本信息;或者,也可以是该查询响应携带有管理中心接收到的所有版本信息,这种情况下,目标探针应用可以在这些版本信息中查找上述多个目标程序的版本信息。
以管理中心发送的查询响应只携带有上述多个目标程序的版本信息为例。
管理中心在查询上述多个目标程序的版本信息时,可以首先查找当前处于运行状态的目标程序的版本信息。比如,在上述版本信息为注册信息时,若某一探针应用在启动后当前停止运行,那么在该目标探针应用在管理中心上去注册时,管理中心会删除该目标程序的版本信息;这样一来,管理中心上存储的所有版本信息即为处于运行状态的目标程序的版本信息。又比如,在上述版本信息为注册信息时,若某一探针应用在启动后当前停止运行,那么在该目标探针应用在管理中心上去注册时,管理中心会对该目标程序的版本信息进行去注册标记;这样一来,管理中心便可以确定未进行去注册标记的版本信息为处于运行状态的目标程序的版本信息。再比如,在上述版本信息不是注册信息时,管理中心可以检测各个目标程序是否处于运行状态,进而根据检测的结果查找处于运行状态的目标程序的版本信息。
管理中心在查找到当前处于运行状态的目标程序的版本信息后,可以在这些版本信息中查找包含目标服务的标识和目标程序的标识的版本信息。之后,管理中心可以在这些版本信息中查找上述多个目标程序的版本信息。
目标探针应用在接收到的版本信息中查找上述多个目标程序的版本信息的过程,可以参考管理中心查找上述多个目标程序的版本信息的过程,本申请实施例在此不做赘述。
可选地,目标探针应用也可以采用与S108和S109不同的其他方式获取上述多个目标程序的版本信息。比如,管理中心会周期性地向各个目标探针应用发送其接收到的版本信息,目标探针应用可以在确定目标探针应用中的目标程序的版本不是最新版本之后,从管理中心发送的版本信息中提取上述多个目标程序的版本信息。
S110、目标探针应用根据待更新的多个目标程序的版本信息,判断更新条件是否满足;更新条件包括:目标探针应用中目标程序的版本信息的编号为待更新的多个目标程序的版本信息的编号中的最小编号。在更新条件不满足时,执行S108;在更新条件满足时,执行S101。
目标探针应用可以判断其中目标程序的版本信息的编号是否为:该多个目标程序的版本信息的编号中的最小编号。若目标探针应用中目标程序的版本信息的编号为该最小编号,则目标探针应用确定更新条件满足。若目标探针应用中目标程序的版本信息的编号不是该最小编号,则目标探针应用确定更新条件不满足。
示例地,仍然以上述表1为例,假设上述多个目标程序的版本信息为:编号为1至3的版本信息。若目标探针应用中目标程序的版本信息为编号为1的版本信息,则由于编号1为编号1至3中的最小编号,因此,目标探针应用确定更新条件满足。若目标探针应用中的目标程序的版本信息为编号为2的版本信息,则由于编号2并不是编号1至3中的最小编号,因此,目标探针应用确定更新条件不满足。
目标探针应用在确定更新条件不满足时,会重复执行S108至S110,直至确定更新条件满足。比如,目标探针应用在确定更新条件不满足时,会在等待目标时长后重复执行S108至S110。
目标探针应用在确定更新条件满足时,可以重复执行S101以及后续的操作,以实现对目标探针应用的重启。在重复执行S101至S103后,目标探针应用便能够得到目标程序的最新版本,进而将该目标程序的版本更新为最新版本,以及将目标探针应用的版本更新为最新版本。
可以理解的是,在目标探针应用的目标程序更新完毕后,在其他探针应用重复执行S108至S110的过程中,上述待更新的多个目标程序不再包括该目标探针应用中的目标程序。并且,目标探针应用在确定更新条件满足时,才对目标探针应用的目标程序进行更新,由于该更新条件为目标探针应用中目标程序的版本信息的编号为上述最小编号,因此,该多个探针应用的目标程序会按照版本信息的编号依次增大的顺序更新。
示例地,如图14所示,在图13所示的场景之后,若三个目标程序的版本信息均属于上述待更新的多个目标程序的版本信息,且这三个目标程序的版本信息的编号依次增大,那么,这三个探针应用中的目标程序依次更新,这三个探针应用会依次更新。在图14所示的更新过程中,每次只有一个探针应用更新,两个探针应用未更新。在一个探针应用更新的过程中,未更新的两个探针应用的宿主应用能够继续对外提供服务,从而避免了三个探针应用同时更新导致三个宿主应用提供的服务中断。
综上所述,本申请实施例提供的应用更新方法中,目标探针应用会向管理中心发送目标程序的版本信息。并且,该版本信息包括:目标程序的版本号,以及目标宿主应用用于提供的目标服务的标识。在目标探针应用中目标程序的版本不是最新版本时,目标探针应用可以根据管理中心接收到的版本信息的编号,更新目标探针应用中的目标程序,以使与目标服务关联的多个探针应用中的目标程序的版本不同时更新。这样一来,就避免了目标服务关联的所有目标探针应用同时更新导致的目标服务中断的问题,能够在实现对目标探针应用进行更新的前提下,保证目标服务不中断。
上述更新条件也可以有其他实现方式。比如,该更新条件也可以是包括:目标探针应用中目标程序的版本信息的编号为该待更新的多个目标程序的版本信息的编号中的最大编号。这种情况下,可以实现该多个探针应用的目标程序按照版本信息的编号依次减小的顺序更新。可见,在本申请实施例中该多个探针应用的目标程序可以按照目标顺序依次更新,该目标顺序可以是版本信息的编号依次减小的顺序,也可以是版本信息的编号依次增大的顺序。该多个探针应用的目标程序也可以按照与目标顺序不同的其他顺序依次更新,比如,按照目标探针应用运行的设备的地址的某一顺序依次更新等。
上述多个探针应用的目标程序依次更新时,目标探针应用也可以不采用S108至S110中的方式确定目标探针应用的目标程序何时更新。比如,目标探针应用可以首先根据上述多个目标程序的版本信息的编号,确定该目标探针应用的目标程序更新的时间,再在该时间更新目标探针应用的目标程序。该多个探针应用的目标程序更新的时间的先后与版本信息的编号相关,以实现该多个探针应用的目标程序按顺序依次更新。
上述多个探针应用的目标程序也可以不是依次更新。比如,该多个探针应用分为多组目标探针应用,每组目标探针应用包括至少两个探针应用,该多组目标探针应用的目标程序依次更新。这种情况下,每次更新至少两个目标探针应用的目标程序,该多个探针应用的目标程序分多次更新完毕。总的来说,本申请实施例不对该多个探针应用的目标程序的更新顺序进行限定,但该多个探针应用的目标程序不同时更新为目标探针应用的最新版本,从而保证目标服务不中断。
上述实施例中以目标探针应用发送的目标程序的版本信息包括该版本信息的编号为例,可选地,该版本信息也可以不包括该版本信息的编号,这种情况下,管理中心在接收到目标探针应用发送的版本信息后,可以在该版本信息中添加版本信息的编号。
上述实施例中以应用更新系统包括配置中心为例,可选地,应用更新系统也可以不包括配置中心。这种情况下,上述实施例也可以不包括S101至S103。在上述S105至S107中,目标探针应用可以采用其他实现方式确定(如根据用户输入的指令确定)目标程序的版本不是最新版本。
在上述应用更新方法中,目标探针应用中的基础程序会执行上述S101至S103。可选地,S101至S103也可以与基础程序无关,而是由目标探针应用运行的设备上的另一程序执行,且该另一程序不属于目标探针应用。目标探针应用会执行上述S104至S110,示例地,可以是目标探针应用的基础程序执行上述S104至S110,或者,上述S104至S110也可以由不属于目标探针应用的该另一程序执行。
另外,上述实施例中以目标探针应用包括基础程序和目标程序,且目标探针应用在更新时,更新目标探针应用中的目标程序为例。可选地,也可以是目标探针应用在更新时,目标探针应用整体进行更新。
这种情况下,上述S101至S103中目标程序的最新版本可以替换为目标探针应用的最新版本,目标程序的版本信息可以替换为目标探针应用的版本信息,目标程序的标识可以替换为目标探针应用的标识,目标程序的版本号可以替换为目标探针应用的版本号,上述多个探针应用的目标程序按照一定的顺序更新可以替换为该多个探针应用按照一定的顺序更新。
本申请实施例还提供了一种应用更新装置,该应用更新装置可以用于实现上述第一应用的功能。示例地,如图15所示,该应用更新装置包括:第一发送模块1501和更新模块1502。其中,第一发送模块1501用于将第一应用包括的至少一个目标程序的版本信息发送至管理中心;更新模块1502用于根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
可选地,应用更新装置还包括:第一接收模块,用于在根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本之前,接收所述管理中心发送的所述待更新的目标程序的版本信息的标识。
可选地,所述第一应用的宿主应用和所述第二应用的宿主应用用于提供相同的服务。
可选地,所述待更新的目标程序的版本信息的标识包括所述待更新的目标程序的响应编号,所述更新模块用于:将所述待更新的目标程序的响应编号从小到大排列;将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为所述至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数;将所述至少一个目标程序中进行更新的目标程序更新为所述目标版本。
可选地,应用更新装置还包括第二发送模块和第二接收模块。第二发送模块用于在第一发送模块将第一应用包括的至少一个目标程序的版本信息发送至管理中心之前,向配置中心发送订阅请求;第二接收模块用于接收所述配置中心发送的订阅响应,所述订阅请求用于指示对目标程序的版本信息进行订阅;所述订阅响应指示所述目标程序的版本信息存在更新。
可选地,应用更新装置还包括:获取模块和下载模块。获取模块用于从所述配置中心获取所述目标程序的下载地址,下载模块用于根据所述下载地址从软件库获取所述目标版本的目标程序。
可选地,所述目标版本为最新版本。
应用更新装置中的各个模块(第一发送模块、更新模块、第一接收模块、第二发送模块、第二接收模块、获取模块和下载模块)均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以更新模块为例,介绍更新模块的实现方式。类似的,第一发送模块、第一接收模块、第二发送模块、第二接收模块、获取模块和下载模块的实现方式可以参考更新模块的实现方式。
模块作为软件功能单元的一种举例,更新模块可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,更新模块可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的region中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的AZ中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个VPC中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,更新模块可以包括至少一个计算设备,如服务器等。或者,A模块也可以是利用ASIC实现、或PLD实现的设备等。其中,上述PLD可以是CPLD、FPGA、GAL或其任意组合实现。
更新模块包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。更新模块包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,更新模块包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,第一发送模块、更新模块、第一接收模块、第二发送模块、第二接收模块、获取模块和下载模块均可以用于执行由第一应用执行的应用更新方法中的任意步骤。第一发送模块、更新模块、第一接收模块、第二发送模块、第二接收模块、获取模块和下载模块负责实现的步骤可根据需要指定,通过第一发送模块、更新模块、第一接收模块、第二发送模块、第二接收模块、获取模块和下载模块分别实现该方法中不同的步骤来实现该应用更新装置的全部功能。
本申请实施例还提供一种计算设备100。如图16所示,计算设备100包括:总线1002、处理器1004、存储器1006和通信接口1008。处理器1004、存储器1006和通信接口1008之间通过总线1002通信。计算设备100可以是服务器或终端设备。应理解,本申请不限定计算设备100中的处理器、存储器的个数。
总线1002可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线1004可包括在计算设备100各个部件(例如,存储器1006、处理器1004、通信接口1008)之间传送信息的通路。
处理器1004可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器1006可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器1004还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
如图16所示,存储器1006中存储有可执行的程序代码,处理器1004执行该可执行的程序代码以分别实现第一应用、第二应用、管理中心或配置中心中各个模块的功能(图16中以上述第一发送模块1501和更新模块1502为例),从而实现本申请实施例提供的由第一应用、第二应用、管理中心或配置中心执行的方法。也即,存储器1006上存有用于执行本申请实施例提供的由第一应用、第二应用、管理中心或配置中心执行的方法的指令。
或者,存储器1006中存储有可执行的代码,处理器1004执行该可执行的代码以分别实现前述应用更新系统的功能(图16中未示出),从而实现本申请实施例提供的由应用更新系统执行的方法。也即,存储器1006上存有用于执行本申请实施例提供的由应用更新系统执行的方法的指令。
通信接口1003使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备100与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图17所示,所述计算设备集群包括至少一个计算设备100。计算设备集群中的一个或多个计算设备100中的存储器1006中可以存有相同的指令。该指令用于执行本申请实施例提供的用于应用更新系统、第一应用、第二应用、管理中心或配置中心的方法,图17中以该指令用于执行本申请实施例提供的用于第一应用的方法为例。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备100的存储器1006中也可以分别存有用于执行用于本申请实施例提供的用于应用更新系统、第一应用、第二应用、管理中心或配置中心的方法的部分指令。换言之,一个或多个计算设备100的组合可以共同执行用于本申请实施例提供的应用更新系统、第一应用、第二应用、管理中心或配置中心的指令。
计算设备集群中的不同的计算设备100中的存储器1006可以存储不同的指令,分别用于执行第一应用、第二应用、管理中心或配置中心的部分功能。也即,不同的计算设备100中的存储器1006存储的指令可以实第一应用、第二应用、管理中心或配置中心中一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图18示出了一种可能的实现方式。如图18所示,两个计算设备100A和100B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备100A中的存储器106中存有执行第一应用、第二应用、管理中心或配置中心的一部分模块(如图18中的第一发送模块)的功能的指令。同时,计算设备100B中的存储器106中存有执行第一应用、第二应用、管理中心或配置中心的另一部分模块(如图18中的更新模块)的功能的指令。
图18所示的计算设备集群之间的连接方式可以是考虑到本申请提供的方法需要大量地发送数据,因此考虑将第一发送模块1501实现的功能交由计算设备100A执行。
应理解,图18中示出的计算设备100A的功能也可以由多个计算设备100完成。同样,计算设备100B的功能也可以由多个计算设备100完成。
图18中以实现第一应用的功能为例,可以理解的是,对于第二应用、管理中心或配置中心,也可以是其一部分功能的指令存储在计算设备100A中的存储器106中,同时,另一部分功能的指令存储在计算设备100B中的存储器106中。
本申请实施例还提供了另一种计算设备集群。该计算设备集群中各计算设备之间的连接关系可以类似的参考图17和图18所述计算设备集群的连接方式。不同的是,该计算设备集群中的一个或多个计算设备100中的存储器106中可以存有相同的用于执行由应用更新系统执行的应用更新方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备100的存储器106中也可以分别存有用于执行由应用更新系统执行的应用更新方法的部分指令。换言之,一个或多个计算设备100的组合可以共同执行用于执行由应用更新系统执行的应用更新方法的指令。
需要说明的是,计算设备集群中的不同的计算设备100中的存储器1006可以存储不同的指令,用于执行应用更新系统的部分功能。不同的计算设备100中的存储器1006存储的指令可以实现第一应用、第二应用、管理中心和配置中心中的一个或多个的功能。
本申请实施例还提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如本申请实施例提供的任一种由应用更新系统执行的方法。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
本申请实施例还提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如本申请实施例提供的任一种由应用更新系统中第一应用、第二应用、管理中心或配置中心执行的方法。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
本申请实施例还提供了一种包含指令的计算机程序产品,所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述指令被计算设备集群运行时,使得所述计算设备集群执行如本申请实施例提供的任一种由应用更新系统执行的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述指令被计算设备集群运行时,使得所述计算设备集群执行如本申请实施例提供的任一种由应用更新系统中第一应用、第二应用、管理中心或配置中心执行的方法。
本申请所涉及的数据和信息,均为经用户授权或者经过各方充分授权的,且数据和信息的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在本申请中,术语“第一”和“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”指一个或多个,“多个”指两个或两个以上,除非另有明确的限定。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。在本申请提供的相应实施例中,应该理解到,所揭露的系统和装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个装置上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的可选实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种应用更新系统,其特征在于,所述系统包括:
第一应用,用于将所述第一应用包括的至少一个目标程序的版本信息发送至管理中心;
所述管理中心,用于接收所述第一应用发送的所述至少一个目标程序的版本信息;
所述第一应用,还用于根据所述管理中心接收到的待更新的目标程序的版本信息的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;其中,所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
2.根据权利要求1所述的系统,其特征在于,所述管理中心还用于:
通过比较所述目标程序的版本信息和目标版本信息,确定所述待更新的目标程序;
向所述第一应用发送所述待更新的目标程序的版本信息的标识。
3.根据权利要求1或2所述的系统,其特征在于,所述第一应用的宿主应用和所述第二应用的宿主应用用于提供相同的服务。
4.根据权利要求1至3任一所述的系统,其特征在于,所述待更新的目标程序的版本信息的标识包括所述待更新的目标程序的响应编号,所述第一应用用于:
将所述待更新的目标程序的响应编号从小到大排列;
将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为所述至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数。
5.根据权利要求1至4任一所述的系统,其特征在于,所述第一应用将所述至少一个目标程序的版本信息发送至管理中心前,所述第一应用,还用于向配置中心发送订阅请求,所述订阅请求用于指示对目标程序的版本信息进行订阅;
所述配置中心,还用于向所述第一应用发送订阅响应,所述订阅响应指示所述目标程序的版本信息存在更新。
6.根据权利要求1至5任一所述的系统,其特征在于,所述第一应用,还用于从配置中心获取所述目标程序的下载地址,并根据所述下载地址从软件库获取所述目标版本的目标程序。
7.根据权利要求1至6任一所述的系统,其特征在于,所述管理中心,还用于接收所述第二应用发送的所述第二应用包括的至少一个目标程序的版本信息。
8.根据权利要求1至7任一所述的系统,其特征在于,所述目标版本为最新版本。
9.一种应用更新方法,其特征在于,所述方法包括:
将第一应用包括的至少一个目标程序的版本信息发送至管理中心;
根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;
其中,所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
10.根据权利要求9所述的方法,其特征在于,在根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本之前,所述方法还包括:
接收所述管理中心发送的所述待更新的目标程序的版本信息的标识。
11.根据权利要求9或10所述的方法,其特征在于,所述第一应用的宿主应用和所述第二应用的宿主应用用于提供相同的服务。
12.根据权利要求9至11任一所述的方法,其特征在于,所述待更新的目标程序的版本信息的标识包括所述待更新的目标程序的响应编号,所述根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本,包括:
将所述待更新的目标程序的响应编号从小到大排列;
将前n个响应编号对应的目标程序中属于所述第一应用的目标程序,确定为所述至少一个目标程序中进行更新的目标程序,n为大于或等于1的整数;
将所述至少一个目标程序中进行更新的目标程序更新为所述目标版本。
13.根据权利要求9至12任一所述的方法,其特征在于,在所述将第一应用包括的至少一个目标程序的版本信息发送至管理中心之前,所述方法还包括:
向配置中心发送订阅请求,所述订阅请求用于指示对目标程序的版本信息进行订阅;
接收所述配置中心发送的订阅响应,所述订阅响应指示所述目标程序的版本信息存在更新。
14.根据权利要求9至13任一所述的方法,其特征在于,所述方法还包括:
从配置中心获取所述目标程序的下载地址,并根据所述下载地址从软件库获取所述目标版本的目标程序。
15.根据权利要求9至14任一所述的方法,其特征在于,所述目标版本为最新版本。
16.一种应用更新方法,其特征在于,所述方法包括:
第一应用将所述第一应用包括的至少一个目标程序的版本信息发送至管理中心;
管理中心接收所述第一应用发送的所述至少一个目标程序的版本信息;
所述第一应用根据所述管理中心接收到的待更新的目标程序的版本信息的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;其中,所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
17.一种应用更新装置,其特征在于,所述应用更新装置包括:
第一发送模块,用于将第一应用包括的至少一个目标程序的版本信息发送至管理中心;
更新模块,用于根据所述管理中心接收到的待更新的目标程序的标识,将所述至少一个目标程序中进行更新的目标程序更新为目标版本;
其中,所述待更新的目标程序包括:所述第一应用包括的目标程序和第二应用包括的目标程序,所述第一应用和所述第二应用具有相同功能。
18.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求9至15任一所述的方法;
或者,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求16所述的方法。
19.一种计算机可读存储介质,其特征在于,包括计算机程序指令;
当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求9至15任一所述的方法;
或者,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求16所述的方法。
20.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求9至15任一所述的方法;或者,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求16所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/087216 WO2024001403A1 (zh) | 2022-06-27 | 2023-04-10 | 应用更新方法、装置及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740805 | 2022-06-27 | ||
CN2022107408054 | 2022-06-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117348896A true CN117348896A (zh) | 2024-01-05 |
Family
ID=89367332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211305912.0A Pending CN117348896A (zh) | 2022-06-27 | 2022-10-24 | 应用更新方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117348896A (zh) |
WO (1) | WO2024001403A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741923A (zh) * | 2020-05-27 | 2021-12-03 | 华为技术有限公司 | 一种应用更新方法、装置、设备及介质 |
CN112130888A (zh) * | 2020-08-12 | 2020-12-25 | 百度时代网络技术(北京)有限公司 | 应用程序更新的方法、装置、设备和计算机存储介质 |
CN113434180B (zh) * | 2021-07-13 | 2022-08-09 | 上海浦东发展银行股份有限公司 | 应用的数据处理方法、装置、服务器和存储介质 |
CN113641384B (zh) * | 2021-08-09 | 2024-04-09 | 杭州安恒信息技术股份有限公司 | 一种探针的升级管理方法、装置和系统 |
CN114371859A (zh) * | 2021-12-28 | 2022-04-19 | 安天科技集团股份有限公司 | 应用软件rasp程序更新方法、服务器、电子设备及存储介质 |
-
2022
- 2022-10-24 CN CN202211305912.0A patent/CN117348896A/zh active Pending
-
2023
- 2023-04-10 WO PCT/CN2023/087216 patent/WO2024001403A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024001403A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111182089B (zh) | 容器集群系统和访问大数据组件的方法、装置及服务器 | |
US9680692B2 (en) | Method and system for using a recursive event listener on a node in hierarchical data structure | |
EP4080826A1 (en) | Virtual network function deployment method, apparatus and system | |
CN113760901A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113127023B (zh) | 业务升级的方法、装置和系统 | |
CN117348896A (zh) | 应用更新方法、装置及系统 | |
US20230177031A1 (en) | Model ML Registry and Model Serving | |
CN109375946B (zh) | 一种管理节点包管理器的组件包的方法及系统 | |
CN115390939B (zh) | 业务处理方法和系统 | |
CN116150273A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111353772A (zh) | 单号的生成方法和装置、存储介质、电子装置 | |
CN116233217A (zh) | 基于路由的页面跳转方法、装置、电子设备及存储介质 | |
CN104536784A (zh) | 实时系统更新方法及装置 | |
CN114117280A (zh) | 页面静态资源使用方法、装置、终端设备及存储介质 | |
CN111857955A (zh) | 一种异构云环境下的资源配置信息自动构建与更新的方法 | |
CN113542319A (zh) | 用于Dubbo框架中的服务提供实体变更通知方法、装置及系统 | |
CN114072768A (zh) | 用于桥接数据库架构的控制器 | |
CN111291012A (zh) | 一种规则文件部署系统、方法、设备及介质 | |
CN111629054A (zh) | 消息处理方法、装置、系统、电子设备及可读存储介质 | |
US20240143318A1 (en) | Efficient configuration management in continuous deployment | |
CN113253931B (zh) | 一种适用于rabbitmq自动切换使用云数据盘的方法 | |
CN112135162B (zh) | 业务执行方法、装置及服务器 | |
CN110768834B (zh) | 虚拟机配置升级结果的通知方法、系统、设备及介质 | |
US20240143315A1 (en) | Efficient configuration management in continuous deployment | |
US20170104628A1 (en) | System and Method to Replicate Server Configurations Across Systems Using Sticky Attributions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |