CN113608773A - 升级更新组件的方法、装置及电子设备 - Google Patents

升级更新组件的方法、装置及电子设备 Download PDF

Info

Publication number
CN113608773A
CN113608773A CN202110942461.0A CN202110942461A CN113608773A CN 113608773 A CN113608773 A CN 113608773A CN 202110942461 A CN202110942461 A CN 202110942461A CN 113608773 A CN113608773 A CN 113608773A
Authority
CN
China
Prior art keywords
update
updating
component
program
protocol
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.)
Granted
Application number
CN202110942461.0A
Other languages
English (en)
Other versions
CN113608773B (zh
Inventor
黄泽宇
周建勋
贺钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202110942461.0A priority Critical patent/CN113608773B/zh
Publication of CN113608773A publication Critical patent/CN113608773A/zh
Application granted granted Critical
Publication of CN113608773B publication Critical patent/CN113608773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种升级更新组件的方法、装置及电子设备,该方法包括:运行目标程序中的更新组件;基于配置的第一版本的目标网络协议,通过更新组件从服务器获取用于更新目标程序的第一更新文件,第一更新文件至少包括更新控制插件;通过更新组件运行更新控制插件;通过更新控制插件将更新组件的启动路径指向更新控制插件配置的协议更新程序,以在满足更新组件的启动条件时,启动协议更新程序,协议更新程序用于启动更新组件并将更新组件所采用的第一版本的目标网络协议更新为第二版本的目标网络协议,第二版本的目标网络协议的发布时间晚于第一版本的目标网络协议。本申请的方案可降低了升级更新组件所采用的网络协议的复杂度。

Description

升级更新组件的方法、装置及电子设备
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种升级更新组件的方法、装置及电子设备。
背景技术
电子设备中可以运行各种程序。为了能够使得程序能够不断更新,某些程序中会具有自更新组件,通过定期自更新组件可以实现程序的更新。
自更新组件基于程序中配置的网络协议与服务器通信,并从服务器下载用于更新程序的内容文件。在服务器需要升级所支持的网络协议时,程序中为自更新组件所配置的网络协议无法升级,则可能会导致程序的自更新功能无法运行。然而,为了升级程序中自更新组件所采用的网络协议,而重新构建并发布一款应用程序需要导致较大的资源耗费,也使得更新程序中自更新组件所采用的网络协议的复杂度较高。
发明内容
本申请提供了一种升级更新组件的方法、装置及电子设备。
其中,一种升级更新组件的方法,包括:
运行目标程序中的更新组件;
基于配置的第一版本的目标网络协议,通过所述更新组件从服务器获取用于更新所述目标程序的第一更新文件,所述第一更新文件至少包括更新控制插件;
通过所述更新组件运行所述更新控制插件;
通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,以在满足所述更新组件的启动条件时,启动所述协议更新程序,所述协议更新程序用于启动所述更新组件并将所述更新组件所采用的所述第一版本的目标网络协议更新为第二版本的目标网络协议,所述第二版本的目标网络协议的发布时间晚于所述第一版本的目标网络协议。
在一种可能的实现方式中,所述通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,包括:
通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序;
将所述更新组件的第一名称更改为第二名称,配置所述协议更新程序的名称为所述第一名称。
在又一种可能的实现方式中,在所述通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序之后,还包括:
如满足所述更新组件的启动条件,基于所述启动路径启动所述协议更新程序;
通过所述协议更新程序将所述目标程序为所述更新组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议。
在又一种可能的实现方式中,所述通过所述协议更新程序将目标程序为所述目标组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议,包括:
通过所述协议更新程序在所述协议更新程序的应用程序域内配置第二版本的目标网络协议;
通过所述协议更新程序将所述更新组件加载到所述应用程序域,并在所述应用程序域内运行所述更新组件,以使得所述更新组件能够将所述应用程序域中配置的所述第二版本的目标网络协议作为所述更新组件所采用的网络协议。
在又一种可能的实现方式中,还包括:
基于所述第二版本的目标网络协议,并通过所述更新组件从所述服务器获取用于更新所述目标程序的第二更新文件。
在又一种可能的实现方式中,所述第一更新文件还包括:为所述更新控制插件配置的协议更新程序;
所述通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序,包括:
通过所述更新控制插件将所述第一更新文件中的所述协议更新程序添加到所述更新组件所在的目录下。
其中,一种升级更新组件的装置,包括:
第一组件运行单元,用于运行目标程序中的更新组件;
第一文件获取单元,用于基于配置的第一版本的目标网络协议,通过所述更新组件从服务器获取用于更新所述目标程序的第一更新文件,所述第一更新文件至少包括更新控制插件;
插件运行单元,用于通过所述更新组件运行所述更新控制插件;
更新配置单元,用于通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,以在满足所述更新组件的启动条件时,启动所述协议更新程序,所述协议更新程序用于启动所述更新组件并将所述更新组件所采用的所述第一版本的目标网络协议更新为第二版本的目标网络协议,所述第二版本的目标网络协议的发布时间晚于所述第一版本的目标网络协议。
在一种可能的实现方式中,所述更新配置单元,包括:
程序添加单元,用于通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序;
名称更改单元,用于将所述更新组件的第一名称更改为第二名称,配置所述协议更新程序的名称为所述第一名称。
在又一种可能的实现方式中,还包括:
程序启动单元,用于在所述更新配置单元通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序之后,如满足所述更新组件的启动条件,基于所述启动路径启动所述协议更新程序;
协议更新配置单元,用于通过所述协议更新程序将所述目标程序为所述更新组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议。
其中,一种电子设备,包括:
处理器和存储器;
其中,所述处理器,用于执行如上权利要求1至7任意一项所述的升级更新组件的方法;
所述存储器用于存储所述处理器执行操作所需的程序。
通过以上方案可知,在运行目标程序的更新组件之后,更新组件会从服务器获取用于更新该目标程序的更新文件,而服务器提供的更新文件中可以包括更新控制插件,因此,通过更新组件可以运行该更新控制插件。在此基础上,通过该更新控制插件将该更新组件的启动路径指向该更新控制插件配置的协议更新程序之后,在满足更新组件的启动条件时,便可以启动该启动路径指向的该协议更新程序,而由于协议更新程序可以用于启动该更新组件,并将更新组件所采用的第一版本的目标网络协议更新为第二版本的目标网络协议,从而可以在无需重新开发并发布新版本的更新组件的前提下,也可以升级该更新组件所采用的网络协议,降低了升级更新组件所采用的网络协议的复杂度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一种升级更新组件的方法的一种流程示意图;
图2示出了本申请一种升级更新组件的方法的又一种流程示意图;
图3示出了本申请一种升级更新组件的方法的又一种流程示意图;
图4示出了本申请一种升级更新组件的方法的又一种流程示意图;
图5示出了本申请一种升级更新组件的装置的一种组成结构示意图;
图6为本申请实施例提供的一种电子设备的一种组成架构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
本申请中适用于任意运行有指定类型的应用程序的电子设备,如,手机、平板电脑以及笔记本电脑等等,其中,该指定类型的应用程序是指具备有能够更新组件的应用程序。该更新组件也称为自更新组件,通过该更新组件能够定期或者不定期对该应用程序进行更新升级。
在本申请的方案目的是实现升级该类应用程序中更新组件所采用的网络协议,从而减少由于应用程序中为更新组件所配置网络协议的版本较低,而导致服务器升级网络协议之后更新组件无获得该应用程序的更新数据的情况。同时,也可以避免仅仅为了升级网络协议而开发一套支持新版本的网络协议的应用程序,而导致升级更新组件所配置的网络协议的复杂度较高,降低升级更新组件所采用的网络协议的复杂度。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,其示出了本申请实施例提供的升级更新组件的方法的一种流程示意图,本实施例的方法可以包括:
S101,运行目标程序中的更新组件。
目标程序就是前面指定类型的应用程序。该目标程序中的更新组件获得用于对目标程序更新升级的数据,并更新升级该目标程序。如,该更新组件可以为目标程序中定期运行的可执行文件。
可以理解的是,运行该更新组件的目的是为了后续获得该应用程序的更新数据。
在实际应用中,在满足该更新组件的启动条件的情况下,便可以启动并运行该更新组件。其中,该更新组件的启动条件可以有多种可能,如,在一种可能的情况中,可以是周期性启动该更新组件,在此基础上,可以设置该更新组件的启动周期,在基于该启动周期确定当前达到该更新组件的启动时刻时,启动该更新组件。
当然,还可以有其他启动该更新组件的启动条件,对此不加限制。
S102,基于配置的第一版本的目标网络协议,通过该更新组件从服务器获取用于更新该目标程序的第一更新文件。
其中,目标网络协议为该目标程序中更新组件与服务器通信所采用的网络协议,而目标网络协议的第一版本为目标程序配置的网络协议的版本,相应的,更新组件启动中,更新组件可以基于该目标程序中配置的该第一版本的网络协议与服务器进行通信。
该更新文件为更新组件从服务器获取到的用于更新该目标程序的文件。为了便于区分,本申请将基于该第一版本的目标网络协议,从服务器获取到的更新文件称为第一更新文件,而将后续基于新版本的网络协议获取到的更新文件称为第二更新文件。
可以理解的是,为了避免服务器侧对目标网络协议升级后,而更新组件仍采用第一版本的目标网络协议。
在本申请的方案中,服务器再对目标网络协议升级之前,可以在该第一更新文件中添加用于对目标程序中更新组件所采用的目标网络协议进行更新控制的插件,即更新控制插件。因此,该第一更新文件至少可以包括该更新控制插件。
当然,该第一更新文件还可以包括用于对目标程序进行更新升级的其他数据,对此不加限制。
S103,通过该更新组件运行该更新控制插件。
可以理解的是,在更新组件从服务器获得第一更新文件之后,为了能够对目标程序进行更新升级,必然需要运行该第一更新文件中的数据,因此,更新组件会运行该第一更新文件中的包含的该更新控制插件。
S104,通过该更新控制插件将该更新组件的启动路径指向该更新控制插件配置的协议更新程序,以在满足该更新组件的启动条件时,启动该协议更新程序。
其中,该启动路径为启动该更新组件的路径。
可以理解的是,在目标程序需要启动更新组件时,是按照更新组件的启动路径来启动该更新组件。由此可知,通过该更新控制插件将用于启动该更新组件的启动路径指向该更新控制插件配置的一协议更新程序之后,那么在当前时刻之后下一次满足该更新组件的启动条件时,依据该启动路径所启动的就是该协议更新程序。
其中,该协议更新程序用于启动该更新组件并将该更新组件所采用的该第一版本的目标网络协议更新为第二版本的目标网络协议。第二版本的目标网络协议的发布时间晚于该第一版本的目标网络协议,如,该第二版本的目标网络协议可以为服务器需要升级到的最新版本的目标网络协议。
在一种可能的实现方式中,该协议更新程序可以是更新控制插件内预先配置好的一个程序,在此基础上,在启动该更新控制插件之后,该更新控制插件可以向该目标程序中发布该协议更新程序,并将该更新组件的启动路径指向该协议更新程序。
在又一种可能的实现方式中,该协议更新程序为预先为该更新控制插件配置的且独立于该更新控制插件的一款程序。在该种情况下,电子设备从服务器获得的该第一更新文件除了包括更新控制插件的数据之外,还包括:为该更新控制插件配置的该协议更新程序。相应的,通过更新控制插件可以该更新组件的启动路径指向将该第一更新文件中的该协议更新程序。
通过以上方案可知,在运行目标程序的更新组件之后,更新组件会从服务器获取用于更新该目标程序的更新文件,而服务器提供的更新文件中可以包括更新控制插件,因此,通过更新组件可以运行该更新控制插件。在此基础上,通过该更新控制插件将该更新组件的启动路径指向该更新控制插件配置的协议更新程序之后,在满足更新组件的启动条件时,便可以启动该启动路径指向的该协议更新程序,而由于协议更新程序可以用于启动该更新组件,并将更新组件所采用的第一版本的目标网络协议更新为第二版本的目标网络协议,从而可以在无需重新开发并发布新版本的更新组件的前提下,也可以升级该更新组件所采用的网络协议,降低了升级更新组件所采用的网络协议的复杂度。
可以理解的是,本申请中,将更新组件的启动路径指向协议更新程序的具体实现方式可以有多种可能,下面结合一种可能情况进行说明。
如图2所示,其示出了本申请一种升级更新组件的方法的又一种流程示意图,本实施例的方法可以包括:
S201,运行目标程序中的更新组件。
S202,基于配置的第一版本的目标网络协议,通过该更新组件从服务器获取用于更新该目标程序的第一更新文件。
该第一更新文件可以包括:更新控制插件。当然,该第一更新配置文件也可以是同时包括更新控制插件和协议更新程序。
S203,通过该更新组件运行该更新控制插件。
以上步骤S201到S203可以参见前面实施例的相关介绍,在此不再赘述。
S204,通过更新控制插件向该更新组件所在的目录下添加该更新控制插件配置的协议更新程序。
可以理解的是,为了启动更新组件,在目标程序中可以将更新组件的启动路径中的目录就是该更新组件所在的目录,因此,为了能够在需要启动更新组件时,启动该协议更新程序,则需要将该协议更新程序添加到该更新组件所在的目录下。
S205,通过更新控制插件将该更新组件的第一名称更改为第二名称,配置该协议更新程序的名称为该第一名称,以在满足该更新组件的启动条件时,启动该协议更新程序。
其中,更新组件的第一名称是目标程序中原始存储的该更新组件的名称,而第二名称是通过更新控制插件为该更新组件修改后的名称。为了便于区分,将更新组件最初的名称称为第一名称,而将更新控制插件为更新组件修改的名称称为第二名称。
如,更新组件的第一名称(原始名称)为AutoUpdate.exe,更新控制插件可以将更新组件的名称改为第二名称:LegacyAutoUpdate.exe,然后将该协议更新程序的名称命名为AutoUpdate.exe。
可以理解的是,由于更新组件的启动路径由更新组件的目录和文件名组成,而本申请将协议更新程序添加到该更新组件所在的目录下,并配置该协议更新程序的名称配置为该更新组件原始的文件名,从而使得启动该更新组件所依据的启动路径实际上是指向了该协议更新程序。基于此可知,在满足更新组件的启动条件时,目标程序按照该启动路径便可以启动该协议更新程序。
通过图2的方式将协议更新程序添加到更新组件所在的目录下,通过将更新组件更名并将协议更新程序的名称修改为该更新组件的原始名称,使得用于启动更新组件的启动路径实际上指向了该协议更新程序,从而可以在不修改目标程序中配置的该启动路径,便可以实现将该启动路径指向该协议更新程序,复杂度较低。
可以理解的是,图2是将启动更新组件的启动路径指向该协议更新程序的一种实现方式。但是在实际应用中,还可以将协议更新程序添加到目标程序所在的路径下,并通过修改用于启动该更新组件的启动路径中的目录为该协议更新程序当前所在的目录,且启动路径中的文件名为协议更新程序具有的名称以及名称,以实现将启动更新组件的启动路径执行该协议更新程序。当然,还可以有其他方式来实现将启动更新组件的启动路径指向该协议更新程序的方式,对此不加限制。
可以理解的是,通过更新控制插件将更新组件的启动路径指向协议更新程序之后,当再次满足该更新组件的启动条件时,则会启动该协议更新程序,从而通过协议更新程序将更新组件所采用的目标网络协议配置为第二版本的目标网络协议。
下面结合一个实施例进行说明,如图3所示,其示出了本申请提供的升级更新组件的方法的又一种流程示意图,本实施例的方法可以包括:
S301,运行目标程序中的更新组件。
S302,基于配置的第一版本的目标网络协议,通过该更新组件从服务器获取用于更新该目标程序的第一更新文件。
该第一更新文件可以包括:更新控制插件。当然,该第一更新文件
S303,通过该更新组件运行该更新控制插件。
S304,通过该更新控制插件将该更新组件的启动路径指向该更新控制插件配置的协议更新程序。
以上步骤S301和S304可以参见前面任意一个实施例的相关介绍,在此不再赘述。
可以理解的是,在本申请中,运行了更新组件之后,更新组件会从服务器获得了第一更新文件如果该第一更新文件除了包括更新控制插件之外,还包括用于更新目标程序的其他数据,则更新组件除了执行以上步骤S303之外,还可以根据用于更新目标程序的其他数据对目标程序进行更新。
相应的,该更新组件基于第一更新文件完成目标程序的数据更新之后,更新组件可以结束运行,或者是,通过该目标程序控制结束该更新组件的运行。
S305,如满足更新组件的启动条件,基于启动路径启动该协议更新程序。
可以理解的是,在步骤S304之后,更新组件可以结束运行,如果再次检测到满足更新组件的启动条件,则目标程序仍可以按照配置的启动该更新组件的启动路径,启动该启动路径对应的程序。而由于该启动路径已经被更改为指向协议更新程序,则会启动该协议更新程序。
S306,通过协议更新程序将该目标程序为更新组件配置的第一版本的目标网络协议更新为该第二版本的目标网络协议。
其中,该第二版本的目标网络协议的发布时间晚于该第一版本的目标网络协议。
在本申请中,该协议更新程序的作用就是负责将更新组件所采用的网络协议进行更新升级,因此,启动协议更新程序之后,该协议更新程序可以将目标程序所采用的网络协议配置为第二版本的目标网络协议。
可以理解的是,在实际应用中,为了使得满足该更新组件的启动条件时,仍能够正常启动该更新组件,以使得更新组件能够对目标程序进行升级更新。本申请在协议更新程序为更新组件配置第二版本的目标网络协议的同时或者之后,还可以通过该协议更新程序启动该更新组件,使得启动后的更新组件可以基于协议更新程序为其配置的第二版本的目标网络协议,向服务器请求目标程序对应的更新文件。
可以理解的是,协议更新程序将更新组件采用的目标网络协议更新为第二版本的目标网络协议的方式可以有多种可能。
在一种可能的实现方式中,为了避免直接对目标程序中配置的第一版本的目标网络协议进行升级更新,而使得为更新组件升级所采用的目标网络协议的复杂度较高,本申请并不直接对目标程序中配置的目标网络协议进行升级更新,而采用将更新组件与协议更新程序处于同一应用程序域中,并直接在该应用程序中配置第二版本的目标网络协议。
具体的,通过该协议更新程序在该协议更新程序的应用程序域内配置第二版本的目标网络协议。在此基础上,通过该协议更新程序将该更新组件加载到该协议更新程序所在的应用程序域中,并在该应用程序域中运行该更新组件,以使得该更新组件能够将该应用程序域中配置的所述第二版本的目标网络协议作为所述更新组件所采用的网络协议。
可以理解的是,不同应用程序域内的应用程序可以相互隔离,这样一个应用程序域内的对象不会对其他应用程序域内的对象产生影响,而程序可以调用或者使用其所在应用程序域内的资源。在此基础上,由于启动协议更新程序之后,该协议更新程序会其在所在的应用程序域内配置第二版本的目标网络协议,将该更新组件加载并运行在该应用程序域内之后,使得更新组件可以基于该应用程序域内配置的第二版本的目标网络协议进行网络通信。
相应的,在本申请实施例中,基于该第二版本的目标网络协议,可以通过该更新组件从该服务器获取用于更新该目标程序的第二更新文件。
为了便于理解本申请的方案,下面结合一种具体情况进行说明。
如图4所示,其示出了本申请一种升级更新组件的方法的又一种流程示意图,本实施例的方法可以包括:
S401,如果满足目标程序中更新组件的启动条件,运行目标程序中的更新组件。
在本申请实施例中,目标程序可以为支持应用程序域的程序。如,该目标程序可以属于.NET程序。
可以理解的是,此处该更新组件的启动条件与前面相似,具体可以参照前面实施例的相关介绍。
如,对于具备更新组件的.NET程序,可以通过配置的启动任务来启动该更新组件,例如可以按照配置的启动周期,周期性启动该更新组件,而基于启动周期确定当前满足该更新组件的启动条件时,确定满足更新组件的启动条件。
S402,基于目标程序中配置的第一版本的目标网络协议,通过该更新组件从服务器获取用于更新该目标程序的第一更新文件。
该第一更新文件可以包括:更新控制插件以及为该更新控制插件配置的协议更新程序。
在目标程序中配置的目标网络协议为第一版本的情况下,该更新组件只能够基于该第一版本的目标网络协议与服务器进行网络通信。
S403,通过该更新组件运行该更新控制插件。
S404,通过更新控制插件将该第一更新文件中的协议更新程序添加到该更新组件所在的目录下。
S405,通过更新控制插件将更新组件的第一名称更改为第二名称,配置该协议更新程序的名称为该第一名称。
在本申请中,由于第一更新文件中包括更新控制插件,而协议更新程序是作为更新控制插件所配置的数据存在,因此,更新组件仅仅会运行该更新控制插件,而更新控制插件负责通过将协议更新程序添加到该更新组件所在的目录下,并将协议更新程序修改为该更新组件原有的名称,实现了将原来指向该更新组件的启动路径修改为指向该协议更新程序。
S406,在更新组件基于第一更新文件完成目标程序的数据更新后,停止运行该更新组件。
可以理解的是,在更新组件完成相关更新组件后便会结束运行,并在以后再次满足启动条件时,才会启动。
S407,如果满足更新组件的启动条件,基于目标程序中配置的更新组件的启动路径,启动该协议更新程序。
可以理解的是,在通过更新控制插件将更新组件的启动路径指向了该协议更新程序之后,每次到达目标程序中配置的该更新组件的启动条件时,都会按照该启动路径启动该协议更新程序。
S408,通过协议更新程序在协议更新程序的应用程序域内配置第二版本的目标网络协议。
可以理解的是,该协议更新程序同样属于.NET程序,因此,该协议更新程序会在其对应的一应用程序域中运行。同时,该协议更新程序中可以配置有第二版本的目标网络协议,因此,该协议更新程序可以在该应用程序域中配置该第二版本的目标网络协议。
在本申请实施例中,该第二版本的目标网络协议也是服务器需要升级到的目标网络协议。
S409,通过协议更新程序将该更新组件加载到该协议更新程序所在的该应用程序域,并在该应用程序域内运行该更新组件,以使得更新组件能够将该应用程序域中配置的第二版本的目标网络协议作为该更新组件所采用的网络协议。
为了在满足更新组件的启动条件时还能够正常启动更新组件,本申请可以通过该协议更新程序启动该更新组件。同时,为了使得更新组件能够基于该协议更新程序在其对应的应用程序域内配置的第二版本的目标网络协议进行网络通信,该协议更新程序会将该更新组件加载并运行到该应用程序域内,从而使得该更新组件可以采用该应用程序域内配置的该第二版本的目标网络协议进行网络通信。
S410,通过更新组件基于该应用程序域内配置的第二版本的目标网络协议,从服务器获取用于更新目标程序的第二更新文件。
可以理解的是,在本实施例中,即使服务器停止支持第一版本的目标网络协议,而仅支持第二版本的目标网络协议,由于目标程序已经通过更新控制插件向该目标程序中部署了该协议更新程序,而协议更新程序每次启动都会在其应用程序域内配置第二版本的目标网络协议,并将该更新组件运行到该应用程序域,从而使得更新组件可以基于该应用程序域内的第二版本的目标网络协议与服务器进行通信,从而实现了无需开发一套更新组件,便可以实现使得更新组件能够支持第二版本的目标网络协议的通信,降低了更新组件升级的复杂度。
对应本申请的一种升级更新组件的方法,本申请还提供了一种升级更新组件的装置,如图5所示,其示出了本申请一种升级更新组件的方法的一种组成结构示意图,本实施例的方法可以包括:
第一组件运行单元501,用于运行目标程序中的更新组件;
第一文件获取单元502,用于基于配置的第一版本的目标网络协议,通过所述更新组件从服务器获取用于更新所述目标程序的第一更新文件,所述第一更新文件至少包括更新控制插件;
插件运行单元503,用于通过所述更新组件运行所述更新控制插件;
更新配置单元504,用于通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,以在满足所述更新组件的启动条件时,启动所述协议更新程序,所述协议更新程序用于启动所述更新组件并将所述更新组件所采用的所述第一版本的目标网络协议更新为第二版本的目标网络协议,所述第二版本的目标网络协议的发布时间晚于所述第一版本的目标网络协议。
在一种可能的实现方式中,所述更新配置单元,包括:
程序添加单元,用于通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序;
名称更改单元,用于将所述更新组件的第一名称更改为第二名称,配置所述协议更新程序的名称为所述第一名称。
在一种可选方式中,所述第一更新文件还包括:为所述更新控制插件配置的协议更新程序;
该程序添加单元具体为:用于通过所述更新控制插件将所述第一更新文件中的所述协议更新程序添加到所述更新组件所在的目录下。
在又一种可能的实现方式中,该装置还包括:
程序启动单元,用于在所述更新配置单元通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序之后,如满足所述更新组件的启动条件,基于所述启动路径启动所述协议更新程序;
协议更新配置单元,用于通过所述协议更新程序将所述目标程序为所述更新组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议。
在又一种可能的实现方式中,该协议更新配置单元,包括:
协议配置单元,用于通过所述协议更新程序在所述协议更新程序的应用程序域内配置第二版本的目标网络协议;
第二组件运行单元,用于通过所述协议更新程序将所述更新组件加载到所述应用程序域,并在所述应用程序域内运行所述更新组件,以使得所述更新组件能够将所述应用程序域中配置的所述第二版本的目标网络协议作为所述更新组件所采用的网络协议。
在又一种可能的实现方式中,还包括:
第二文件获取单元,用于基于所述第二版本的目标网络协议,并通过所述更新组件从所述服务器获取用于更新所述目标程序的第二更新文件。
又一方面,本申请还提供了一种电子设备,如图6所示,其示出了该电子设备的一种组成结构示意图,该电子设备可以为任意类型的电子设备,该电子设备至少包括存储器601和处理器602;
其中,处理器601用于执行如上任意一个实施例中的升级更新组件的方法。
该存储器602用于存储处理器执行操作所需的程序。
可以理解的是,该电子设备还可以包括显示单元603、输入单元604以及通信模块605。其中,该通信模块用于实现电子设备与服务器之间的网络通信。
当然,该电子设备还可以具有比图6更多或者更少的部件,对此不加限制。
另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的升级更新组件的方法。
本申请还提出了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机程序在电子设备上运行时,用于执行如上任意一个实施例中的升级更新组件的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种升级更新组件的方法,包括:
运行目标程序中的更新组件;
基于配置的第一版本的目标网络协议,通过所述更新组件从服务器获取用于更新所述目标程序的第一更新文件,所述第一更新文件至少包括更新控制插件;
通过所述更新组件运行所述更新控制插件;
通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,以在满足所述更新组件的启动条件时,启动所述协议更新程序,所述协议更新程序用于启动所述更新组件并将所述更新组件所采用的所述第一版本的目标网络协议更新为第二版本的目标网络协议,所述第二版本的目标网络协议的发布时间晚于所述第一版本的目标网络协议。
2.根据权利要求1所述的方法,所述通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,包括:
通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序;
将所述更新组件的第一名称更改为第二名称,配置所述协议更新程序的名称为所述第一名称。
3.根据权利要求1所述的方法,在所述通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序之后,还包括:
如满足所述更新组件的启动条件,基于所述启动路径启动所述协议更新程序;
通过所述协议更新程序将所述目标程序为所述更新组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议。
4.根据权利要求3所述的方法,所述通过所述协议更新程序将目标程序为所述目标组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议,包括:
通过所述协议更新程序在所述协议更新程序的应用程序域内配置第二版本的目标网络协议;
通过所述协议更新程序将所述更新组件加载到所述应用程序域,并在所述应用程序域内运行所述更新组件,以使得所述更新组件能够将所述应用程序域中配置的所述第二版本的目标网络协议作为所述更新组件所采用的网络协议。
5.根据权利要求3或4所述的方法,还包括:
基于所述第二版本的目标网络协议,并通过所述更新组件从所述服务器获取用于更新所述目标程序的第二更新文件。
6.根据权利要求2所述的方法,所述第一更新文件还包括:为所述更新控制插件配置的协议更新程序;
所述通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序,包括:
通过所述更新控制插件将所述第一更新文件中的所述协议更新程序添加到所述更新组件所在的目录下。
7.一种升级更新组件的装置,包括:
第一组件运行单元,用于运行目标程序中的更新组件;
第一文件获取单元,用于基于配置的第一版本的目标网络协议,通过所述更新组件从服务器获取用于更新所述目标程序的第一更新文件,所述第一更新文件至少包括更新控制插件;
插件运行单元,用于通过所述更新组件运行所述更新控制插件;
更新配置单元,用于通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序,以在满足所述更新组件的启动条件时,启动所述协议更新程序,所述协议更新程序用于启动所述更新组件并将所述更新组件所采用的所述第一版本的目标网络协议更新为第二版本的目标网络协议,所述第二版本的目标网络协议的发布时间晚于所述第一版本的目标网络协议。
8.根据权利要求7所述的装置,所述更新配置单元,包括:
程序添加单元,用于通过所述更新控制插件向所述更新组件所在的目录下添加所述更新控制插件配置的协议更新程序;
名称更改单元,用于将所述更新组件的第一名称更改为第二名称,配置所述协议更新程序的名称为所述第一名称。
9.根据权利要求7所述的装置,还包括:
程序启动单元,用于在所述更新配置单元通过所述更新控制插件将所述更新组件的启动路径指向所述更新控制插件配置的协议更新程序之后,如满足所述更新组件的启动条件,基于所述启动路径启动所述协议更新程序;
协议更新配置单元,用于通过所述协议更新程序将所述目标程序为所述更新组件配置的第一版本的目标网络协议更新为所述第二版本的目标网络协议。
10.一种电子设备,包括:
处理器和存储器;
其中,所述处理器,用于执行如上权利要求1至7任意一项所述的升级更新组件的方法;
所述存储器用于存储所述处理器执行操作所需的程序。
CN202110942461.0A 2021-08-17 2021-08-17 升级更新组件的方法、装置及电子设备 Active CN113608773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110942461.0A CN113608773B (zh) 2021-08-17 2021-08-17 升级更新组件的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110942461.0A CN113608773B (zh) 2021-08-17 2021-08-17 升级更新组件的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113608773A true CN113608773A (zh) 2021-11-05
CN113608773B CN113608773B (zh) 2024-06-18

Family

ID=78340937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110942461.0A Active CN113608773B (zh) 2021-08-17 2021-08-17 升级更新组件的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113608773B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006157524A (ja) * 2004-11-30 2006-06-15 Oki Electric Ind Co Ltd プログラム更新機能を備えるip構内電話システム
EP2378416A1 (en) * 2010-04-16 2011-10-19 Siemens Aktiengesellschaft System and a method for updating an operating system image
CN104852971A (zh) * 2015-04-24 2015-08-19 青岛海尔智能家电科技有限公司 一种插件式协议装置及基于插件式协议的数据通信方法
CN107205055A (zh) * 2017-08-01 2017-09-26 海信集团有限公司 终端升级方法及装置
CN108234491A (zh) * 2018-01-02 2018-06-29 武汉斗鱼网络科技有限公司 协议关联验证方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006157524A (ja) * 2004-11-30 2006-06-15 Oki Electric Ind Co Ltd プログラム更新機能を備えるip構内電話システム
EP2378416A1 (en) * 2010-04-16 2011-10-19 Siemens Aktiengesellschaft System and a method for updating an operating system image
CN104852971A (zh) * 2015-04-24 2015-08-19 青岛海尔智能家电科技有限公司 一种插件式协议装置及基于插件式协议的数据通信方法
CN107205055A (zh) * 2017-08-01 2017-09-26 海信集团有限公司 终端升级方法及装置
CN108234491A (zh) * 2018-01-02 2018-06-29 武汉斗鱼网络科技有限公司 协议关联验证方法、装置及电子设备

Also Published As

Publication number Publication date
CN113608773B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
CN107992308B (zh) 一种安卓终端应用程序的插件化管理方法
US9928059B1 (en) Automated deployment of a multi-version application in a network-based computing environment
CN107305553B (zh) 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统
CN106325847B (zh) 基于iOS平台获取应用程序功能的方法和装置
EP2955627B1 (en) Managing versions of components of a software suite
CN104182255A (zh) 一种系统应用的库文件升级方法及终端
CN107291481B (zh) 一种组件更新方法、装置和系统
CN105323269A (zh) 安卓系统中app的更新方法、终端及存储介质
CN103353845A (zh) 脚本加载、推送方法及装置
CN107220074B (zh) 对支撑层软件功能的访问、升级方法及装置
CN106502717B (zh) 应用程序运行方法及装置
JP6198229B2 (ja) 並列化可能で信頼できるインストールのためのインストールエンジン及びパッケージフォーマット
CN113672296B (zh) 定制应用的切换方法、切换装置、电子设备和存储介质
CN108762800A (zh) 应用程序的动态更新方法和装置
US9141385B2 (en) Managing operating system components
CN105740027A (zh) 应用程序更新方法和装置
CN103677937A (zh) 升级软件和运行软件的方法及装置
CN114968406B (zh) 一种插件管理方法、装置、电子设备及存储介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
CN105404522A (zh) 一种构建智能终端应用程序的方法、装置及智能终端
CN112256316A (zh) 客户端应用更新方法及客户端
CN113608773B (zh) 升级更新组件的方法、装置及电子设备
US20140137092A1 (en) Information processing apparatus, information processing system, non-transitory computer-readable storage medium having stored therein information processing program, and information processing method
CN113721959A (zh) 一种信息处理方法、装置及电子设备
US11500651B2 (en) Method and system for management of a local craft terminal application executed by a network element

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant