CN111782254A - 用于升级对象的方法、装置、设备以及存储介质 - Google Patents

用于升级对象的方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN111782254A
CN111782254A CN202010627519.8A CN202010627519A CN111782254A CN 111782254 A CN111782254 A CN 111782254A CN 202010627519 A CN202010627519 A CN 202010627519A CN 111782254 A CN111782254 A CN 111782254A
Authority
CN
China
Prior art keywords
version number
task
upgrading
upgrade
target
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
Application number
CN202010627519.8A
Other languages
English (en)
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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010627519.8A priority Critical patent/CN111782254A/zh
Publication of CN111782254A publication Critical patent/CN111782254A/zh
Pending legal-status Critical Current

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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本申请公开了用于升级对象的方法、装置、设备以及存储介质,涉及通信技术、空中下载技术、安全技术领域。具体实现方案为:接收升级请求,升级请求包括目标对象的第一版本号;响应于确定升级请求还包括任务标识,确定预设的任务标识列表是否包括任务标识;响应于任务标识列表中不包括任务标识,确定目标对象的历史版本号和目标版本号;根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息;输出差分升级任务信息,以供升级目标对象。本实现方式通过分析升级请求中是否包括任务标识来确定是否为首次发送升级请求,并在首次发送升级请求时生成差分升级任务信息,以供终端进行差分升级,这样有利于节约带宽,并且提高了升级的成功率。

Description

用于升级对象的方法、装置、设备以及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及通信技术、空中下载技术、安全技术领域,尤其涉及用于升级对象的方法、装置、设备以及存储介质。
背景技术
空中下载(Over The Air,OTA)技术是一种通过无线网络进行数据下载的技术,其通常被应用于手机、平板电脑等终端设备的系统软件固定版本的升级过程中。OTA涉及服务端和移动终端,在服务端部署一个较高版本的升级包。移动终端发起一次请求,服务端向移动终端发送下载路径,以便移动终端根据下载路径获得升级包,进而根据该升级包进行版本升级。
在升级过程中存在OTA升级失败的情况,现有的升级方案中,当升级失败后,移动终端会再次请求OTA升级,从而导致反复执行OTA升级流程。但如果由于移动终端本身的原因导致升级失败,就会使上述OTA升级流程进入失败-请求-失败的死循环,造成了网络资源和计算资源的浪费。
发明内容
提供了一种用于升级对象的方法、装置、设备以及存储介质。
根据第一方面,提供了一种用于升级对象的方法,包括:接收升级请求,升级请求包括目标对象的第一版本号;响应于确定升级请求还包括任务标识,确定预设的任务标识列表是否包括任务标识;响应于任务标识列表中不包括任务标识,确定目标对象的历史版本号和目标版本号;根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息;输出差分升级任务信息,以供升级目标对象。
根据第二方面,提供了一种用于升级对象的装置,包括:请求接收单元,被配置成接收升级请求,升级请求包括目标对象的第一版本号;列表检索单元,被配置成响应于确定升级请求还包括任务标识,确定预设的任务标识列表是否包括任务标识;版本号确定单元,被配置成响应于任务标识列表中不包括任务标识,确定目标对象的历史版本号和目标版本号;差分任务生成单元,被配置成根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息;任务输出单元,被配置成输出差分升级任务信息,以供升级目标对象。
根据第三方面,提供了一种用于升级对象的电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面所描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使计算机执行如第一方面所描述的方法。
根据本申请的技术解决了现有的OTA升级方案可能导致网络资源和计算资源的浪费的情况,通过分析升级请求中是否包括任务标识来确定是否为首次发送升级请求,并在首次发送升级请求时生成差分升级任务信息,以供终端进行差分升级,这样有利于节约带宽,并且提高了升级的成功率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于升级对象的方法的一个实施例的流程图;
图3是根据本申请的用于升级对象的方法的一个应用场景的示意图;
图4是根据本申请的用于升级对象的方法的另一个实施例的流程图;
图5是根据本申请的用于升级对象的装置的一个实施例的结构示意图;
图6是用来实现本申请实施例的用于升级对象的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于升级对象的方法或用于升级对象的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如语音识别类应用、购物类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、车载电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上安装的应用程序提供支持的后台服务器。后台服务器可以接收终端设备101、102、103发送的升级请求,并将升级任务信息反馈给终端设备101、102、103,以供终端设备101、102、103进行升级。
需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于升级对象的方法一般由服务器105执行。相应地,用于升级对象的装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于升级对象的方法的一个实施例的流程200。本实施例的用于升级对象的方法,包括以下步骤:
步骤201,接收升级请求。
本实施例中,用于升级对象的方法的执行主体(例如图1所示的服务器105)可以接收升级请求。上述升级请求可以是与执行主体通信连接的终端设备(例如图1所示的终端设备101、102、103)发送给执行主体的,也可以是其它电子设备(例如其它服务器)发送给执行主体的。上述升级请求中可以包括目标对象的第一版本号。这里目标对象可以是待升级的各种应用程序,第一版本号可以表示应用程序的版本。第一版本号可以包括字母和数字,例如可以为V1.0或者3.2.1.0。
步骤202,响应于确定升级请求还包括任务标识,确定预设的任务标识列表是否包括任务标识。
执行主体在接收到升级请求后,可以对升级请求进行解析,确定升级请求是否还包括任务标识。这里,任务标识用于标识一个升级任务,其可以由执行主体生成。任务标识可以是执行主体在接收到首次接收到某一终端设备发送的升级请求后生成的。具体的,执行主体在接收到终端设备发送的请求后,将目标对象的地址发送给终端设备。终端设备可以根据上述地址下载升级包。这些操作可以认为成一个升级任务。
本实施例中,如果升级请求中包括任务标识,则可以认定为发送升级请求的电子设备之前发送过升级请求,并且升级失败了。此时,执行主体可以查找预设的任务标识列表,确定任务标识列表中是否包括该任务标识。如果包括,则说明发送升级请求的电子设备不能再次执行上述升级任务,否则会陷入失败-升级-失败的死循环,造成网络资源和计算资源的浪费。如果不包括,则可以继续执行步骤203。
步骤203,响应于任务标识列表中不包括任务标识,确定目标对象的历史版本号和目标版本号。
本实施例中,如果执行主体确定任务标识列表中不包括该任务标识,则认为首次接收到该电子设备的升级请求,执行主体可以首先确定目标对象的历史版本号和目标版本号。这里,历史版本号是指目标对象在目标版本号之前的版本号。可以理解的是,如果升级请求中的版本号与历史版本号相同,则说明终端设备中的目标对象与执行主体从本地存储或者通信连接的其它电子设备(例如数据库)中获取的目标对象属于同一版本。目标版本号是目标对象的最新版本号。执行主体可以通过查询目标对象的元数据或属性信息,来确定历史版本号和目标版本号。
步骤204,根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息。
在确定历史版本号和目标版本号后,执行主体可以根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息。具体的,执行主体可以首先通过第一版本号和历史版本号判断终端设备中安装的目标对象属于哪一个版本。然后,根据这个版本的目标对象的文件和目标版本号的目标对象的文件,生成差分升级任务信息。这里,差分升级任务是指服务端根据最新版本与终端中安装的目标对象的当前版本的差分文件(也可以称为差分包),生成的升级任务。终端设备下载差分包后,在升级前将差分包与本地存储的源文件进行合并,得到和目标版本号一致的文件,从而能够升级目标对象。
这里,差分升级任务信息可以包括差分升级任务的任务标识、差分包的下载地址、大小等等信息。
步骤205,输出差分升级任务信息,以供升级目标对象。
执行主体可以将生成的差分升级任务信息输出,例如发送给终端设备。终端设备可以根据差分升级任务信息下载差分包,从而能够升级目标对象。在一些应用场景中,终端设备还可以将上述差分包保存在本地,或者发送给其它的电子设备。
继续参见图3,其示出了根据本申请的用于升级对象的方法的一个应用场景的示意图。在图3的应用场景中,银行的一个管理设备301中安装有系统软件,管理设备301向服务器302发送升级请求,服务器经步骤201~205的处理后,向管理设备301发送上述系统软件的差分包。管理设备301可以根据上述差分包升级系统软件,同时还可以将差分包发送给其它终端设备303~305,以供终端设备303~305升级系统软件。
本申请的上述实施例提供的用于升级对象的方法,通过分析升级请求中是否包括任务标识来确定是否为首次发送升级请求,并在首次发送升级请求时生成差分升级任务信息,以供终端进行差分升级,这样有利于节约带宽,并且提高了升级的成功率。
继续参见图4,其示出了根据本申请的用于升级对象的方法的另一个实施例的流程400。如图4所示,本实施例的用于升级对象的方法可以包括以下步骤:
步骤401,接收升级请求。
步骤402,响应于确定升级请求还包括任务标识,确定预设的任务标识列表是否包括任务标识。
步骤403,响应于任务标识列表中不包括任务标识,确定目标对象的历史版本号和目标版本号。
步骤404,根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息。
步骤405,输出差分升级任务信息,以供升级目标对象。
本实施例中,步骤401~405的原理与步骤201~205的原理类似,此处不再赘述。
在本实施例的一些可选的实现方式中,上述步骤405具体可以包括图4中未示出的以下步骤:接收目标对象的文件信息;根据文件信息、第一版本号以及目标版本号,确定差分升级条件是否满足;响应于确定差分升级条件满足,生成差分升级任务信息。
本实现方式中,执行主体可以首先接收目标对象的文件信息。这里,目标对象的文件信息可以是终端设备根据其本地的目标对象的文件数据生成的,例如,利用加密算法(如SHA-256)进行计算得到的。目标对象的文件信息可以是一个字符串,其可以用于表征目标对象的文件数据是否被修改。执行主体在接收到目标对象的文件信息后可以对字符串进行解析,确定目标对象的文件数据是否发生改变,如果发生改变,则差分升级任务会失败,则不满足差分升级条件。
如果目标对象的文件数据未发生改变,则判断第一版本号是否小于目标版本号。如果小于,则差分升级条件满足。或者,如果升级请求中携带的版本号与历史版本号相同,也可以说明差分升级条件满足。
在确定差分升级条件满足后,执行主体才生成差分升级任务信息,以提高差分升级任务成功的概率。
在本实施例的一些可选的实现方式中,上述步骤405具体可以包括图4中未示出的以下步骤:根据文件信息,确定目标对象的文件数据是否改变;响应于确定目标对象的文件数据未改变,确定历史版本号是否与第一版本号相同以及目标版本号是否高于第一版本号;响应于确定历史版本号与第一版本号相同以及目标版本号高于第一版本号,确定差分升级条件满足。
本实现方式中,执行主体在接收到目标对象的文件信息后可以对字符串进行解析,根据解析结果确定目标对象的文件数据是否发生改变。具体的,执行主体可以将文件信息中的字符串与本地存储的字符串进行比较,如果二者相同,则说明目标对象的文件数据未发生改变。或者,执行主体可以将文件信息中的修改时间与本地存储的目标对象的修改时间进行对比,如果二者相同,则说明目标对象的文件数据未发生改变。
在确定目标对象的文件数据未发生改变后,执行主体可以进一步确定历史版本号是否与第一版本号相同以及目标版本号是否高于第一版本号。如果历史版本号与第一版本号相同以及目标版本号高于第一版本号,确定差分升级条件满足。
步骤406,接收差分升级失败消息。
本实施例中,执行主体生成的差分升级任务信息中包括第一任务标识。执行主体还可以接收差分升级失败消息。上述差分升级失败消息用于表征基于差分升级任务信息升级目标对象未成功。差分升级失败的原因有很多,例如,升级包不兼容,合并算法存在BUG、系统环境不稳定、系统被刷机等。终端设备可以向执行主体发送差分升级失败消息。差分升级失败消息中可以包括第一任务标识。
步骤407,将第一任务标识加入任务标识列表。
执行主体在接收到接收差分升级失败消息后,可以将其中包括的第一任务标识加入任务标识列表中。这样,如果终端设备下次再发送升级请求后,则不会再向终端设备发送差分升级任务信息了,以避免再次升级失败。
步骤408,响应于目标版本号更新,将第一任务标识从任务标识列表中移除。
本实施例中,如果执行主体确定目标版本号更新,即目标对象的版本再次升级,执行主体可以把第一任务标识从任务标识列表中移除。这样,下次终端设备再次发送升级请求后,可以根据更新的目标版本号生成差分升级任务信息,以供再次更新,避免终端设备一直无法更新的情况出现。
步骤409,响应于接收到差分升级失败消息,根据第一版本号以及目标版本号,生成整包升级任务信息。
本实施例中,执行主体在确定差分升级失败后,还可以根据第一版本号以及目标版本号,生成整包升级任务信息。整包升级可以理解为将目标对象的目标版本号的文件整体打包发送给终端设备,终端设备不必与其本地存储的文件进行合并,直接根据整体打包的文件进行升级即可。这里,整包升级任务信息可以包括任务标识、整包升级文件的地址等信息。可以理解的是,该任务标识是不同于差分升级任务的任务标识的。
步骤410,输出整包升级任务信息,以供再次升级目标对象。
执行主体可以将整包升级任务信息输出,以供终端设备根据地址获取整包升级文件再次升级目标对象。整包升级的成功率要比差分升级的成功率高,因此,在差分升级失败后,本实施例的方法自动发送整包升级任务信息,提高了升级的成功率。
本申请的上述实施例提供的用于升级对象的方法,在生成差分升级任务前,对终端本地的目标对象的文件数据进行校验,避免在数据发生变化时仍然发送差分升级任务,提高了目标对象升级成功的概率;可以在差分升级失败时,将差分升级任务的任务标识加入“黑名单”,以避免网络资源和计算资源的浪费;并且可以在差分升级失败后,向终端发送整包升级任务信息,进一步提高了目标对象升级成功的概率。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于升级对象的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的升级对象装置500包括:请求接收单元501、列表检索单元502、版本号确定单元503、差分任务生成单元504和任务输出单元505。
请求接收单元501,被配置成接收升级请求。升级请求包括目标对象的第一版本号。
列表检索单元502,被配置成响应于确定升级请求还包括任务标识,确定预设的任务标识列表是否包括任务标识。
版本号确定单元503,被配置成响应于任务标识列表中不包括任务标识,确定目标对象的历史版本号和目标版本号。
差分任务生成单元504,被配置成根据第一版本号、历史版本号以及目标版本号,生成差分升级任务信息。
任务输出单元505,被配置成输出差分升级任务信息,以供升级目标对象。
在本实施例的一些可选的实现方式中,差分升级任务信息包括第一任务标识。上述装置500还可以进一步包括图5中未示出的:消息接收单元和列表更新单元。
消息接收单元,被配置成接收差分升级失败消息。其中,差分升级失败消息是基于差分升级任务信息升级目标对象失败后发送的,差分升级失败消息包括第一任务标识。
列表更新单元,被配置成将第一任务标识加入任务标识列表。
在本实施例的一些可选的实现方式中,列表更新单元进一步被配置成:响应于确定目标版本号更新,将第一任务标识从任务标识列表中移除。
在本实施例的一些可选的实现方式中,上述装置500还可以进一步包括图5中未示出的整包任务生成单元,被配置成:响应于接收到差分升级失败消息,根据第一版本号以及目标版本号,生成整包升级任务信息;输出整包升级任务信息,以供再次升级目标对象。
在本实施例的一些可选的实现方式中,差分任务生成单元504进一步被配置成:接收目标对象的文件信息;根据文件信息、第一版本号、历史版本号以及目标版本号,确定差分升级条件是否满足;响应于确定差分升级条件满足,生成差分升级任务信息。
在本实施例的一些可选的实现方式中,差分任务生成单元504进一步被配置成:根据文件信息,确定目标对象的文件数据是否改变;响应于确定目标对象的文件数据未改变,确定历史版本号是否与第一版本号相同以及目标版本号是否高于第一版本号;响应于确定历史版本号与第一版本号相同以及目标版本号高于第一版本号,确定差分升级条件满足。
应当理解,用于升级对象的装置500中记载的单元501至单元505分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对用于升级对象的方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的执行用于升级对象的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的执行用于升级对象的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的执行用于升级对象的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的执行用于升级对象的方法对应的程序指令/模块(例如,附图5所示的请求接收单元501、列表检索单元502、版本号确定单元503、差分任务生成单元504和任务输出单元505)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的执行用于升级对象的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行用于升级对象的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至执行用于升级对象的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行用于升级对象的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与执行用于升级对象的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过分析升级请求中是否包括任务标识来确定是否为首次发送升级请求,并在首次发送升级请求时生成差分升级任务信息,以供终端进行差分升级,这样有利于节约带宽,并且提高了升级的成功率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种用于升级对象的方法,包括:
接收升级请求,所述升级请求包括目标对象的第一版本号;
响应于确定所述升级请求还包括任务标识,确定预设的任务标识列表是否包括所述任务标识;
响应于所述任务标识列表中不包括所述任务标识,确定所述目标对象的历史版本号和目标版本号;
根据所述第一版本号、所述历史版本号以及所述目标版本号,生成差分升级任务信息;
输出所述差分升级任务信息,以供升级所述目标对象。
2.根据权利要求1所述的方法,其中,所述差分升级任务信息包括第一任务标识;以及
所述方法还包括:
接收差分升级失败消息,其中,所述差分升级失败消息是基于差分升级任务信息升级所述目标对象失败后发送的,所述差分升级失败消息包括第一任务标识;
将所述第一任务标识加入所述任务标识列表。
3.根据权利要求2所述的方法,其中,所述方法还包括:
响应于确定所述目标版本号更新,将所述第一任务标识从所述任务标识列表中移除。
4.根据权利要求2所述的方法,其中,所述方法还包括:
响应于接收到所述差分升级失败消息,根据所述第一版本号以及所述目标版本号,生成整包升级任务信息;
输出所述整包升级任务信息,以供再次升级所述目标对象。
5.根据权利要求1所述的方法,其中,所述根据所述版本号、所述历史版本号以及所述目标版本号,生成差分升级任务信息,包括:
接收所述目标对象的文件信息;
根据所述文件信息、所述第一版本号、所述历史版本号以及所述目标版本号,确定差分升级条件是否满足;
响应于确定所述差分升级条件满足,生成差分升级任务信息。
6.根据权利要求1所述的方法,其中,所述根据所述文件信息、所述第一版本号、所述历史版本号以及所述目标版本号,确定差分升级条件是否满足,包括:
根据所述文件信息,确定所述目标对象的文件数据是否改变;
响应于确定所述目标对象的文件数据未改变,确定所述历史版本号是否与所述第一版本号相同以及所述目标版本号是否高于所述第一版本号;
响应于确定所述历史版本号与所述第一版本号相同以及所述目标版本号高于所述第一版本号,确定所述差分升级条件满足。
7.一种用于升级对象的装置,包括:
请求接收单元,被配置成接收升级请求,所述升级请求包括目标对象的第一版本号;
列表检索单元,被配置成响应于确定所述升级请求还包括任务标识,确定预设的任务标识列表是否包括所述任务标识;
版本号确定单元,被配置成响应于所述任务标识列表中不包括所述任务标识,确定所述目标对象的历史版本号和目标版本号;
差分任务生成单元,被配置成根据所述第一版本号、所述历史版本号以及所述目标版本号,生成差分升级任务信息;
任务输出单元,被配置成输出所述差分升级任务信息,以供升级所述目标对象。
8.根据权利要求7所述的装置,其中,所述差分升级任务信息包括第一任务标识;以及
所述装置还包括:
消息接收单元,被配置成接收差分升级失败消息,其中,所述差分升级失败消息是基于差分升级任务信息升级所述目标对象失败后发送的,所述差分升级失败消息包括第一任务标识;
列表更新单元,被配置成将所述第一任务标识加入所述任务标识列表。
9.根据权利要求8所述的装置,其中,所述列表更新单元进一步被配置成:
响应于确定所述目标版本号更新,将所述第一任务标识从所述任务标识列表中移除。
10.根据权利要求8所述的装置,其中,所述装置还包括整包任务生成单元,被配置成:
响应于接收到所述差分升级失败消息,根据所述第一版本号以及所述目标版本号,生成整包升级任务信息;
输出所述整包升级任务信息,以供再次升级所述目标对象。
11.根据权利要求7所述的装置,其中,所述差分任务生成单元进一步被配置成:
接收所述目标对象的文件信息;
根据所述文件信息、所述第一版本号、所述历史版本号以及所述目标版本号,确定差分升级条件是否满足;
响应于确定所述差分升级条件满足,生成差分升级任务信息。
12.根据权利要求7所述的装置,其中,所述差分任务生成单元进一步被配置成:
根据所述文件信息,确定所述目标对象的文件数据是否改变;
响应于确定所述目标对象的文件数据未改变,确定所述历史版本号是否与所述第一版本号相同以及所述目标版本号是否高于所述第一版本号;
响应于确定所述历史版本号与所述第一版本号相同以及所述目标版本号高于所述第一版本号,确定所述差分升级条件满足。
13.一种用于升级对象的电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN202010627519.8A 2020-07-02 2020-07-02 用于升级对象的方法、装置、设备以及存储介质 Pending CN111782254A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010627519.8A CN111782254A (zh) 2020-07-02 2020-07-02 用于升级对象的方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010627519.8A CN111782254A (zh) 2020-07-02 2020-07-02 用于升级对象的方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN111782254A true CN111782254A (zh) 2020-10-16

Family

ID=72757972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010627519.8A Pending CN111782254A (zh) 2020-07-02 2020-07-02 用于升级对象的方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN111782254A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306541A (zh) * 2020-11-05 2021-02-02 中国航空工业集团公司西安航空计算技术研究所 一种面向任务加改装需求的航电系统增量升级方法
CN113377402A (zh) * 2021-06-23 2021-09-10 北京百度网讯科技有限公司 多版本并发存储方法和装置
CN113419758A (zh) * 2021-06-23 2021-09-21 未鲲(上海)科技服务有限公司 服务器基线的升级方法、装置与存储介质
CN113553097A (zh) * 2021-07-30 2021-10-26 上海玳鸽信息技术有限公司 模型版本管理方法及装置
CN114492846A (zh) * 2022-04-06 2022-05-13 天聚地合(苏州)科技股份有限公司 基于可信执行环境的跨域联邦学习方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294686A1 (en) * 2006-06-19 2007-12-20 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable device
CN105262627A (zh) * 2015-10-30 2016-01-20 Tcl集团股份有限公司 一种固件升级方法、装置及系统
CN105389177A (zh) * 2015-10-16 2016-03-09 Tcl集团股份有限公司 一种软件版本确认方法、装置及系统
US9483445B1 (en) * 2013-05-14 2016-11-01 Amazon Technologies, Inc. Providing fonts for electronic publications
CN107608687A (zh) * 2016-07-11 2018-01-19 中兴通讯股份有限公司 一种差分升级方法、移动终端、服务器和系统
CN109032653A (zh) * 2018-08-29 2018-12-18 百度在线网络技术(北京)有限公司 无人驾驶汽车车载终端升级方法、装置、设备及存储介质
US20190171435A1 (en) * 2017-12-06 2019-06-06 Vmware, Inc. Distributed upgrade in virtualized computing environments
CN111263354A (zh) * 2020-01-08 2020-06-09 苏宁智能终端有限公司 一种ota差分升级方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294686A1 (en) * 2006-06-19 2007-12-20 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable device
US9483445B1 (en) * 2013-05-14 2016-11-01 Amazon Technologies, Inc. Providing fonts for electronic publications
CN105389177A (zh) * 2015-10-16 2016-03-09 Tcl集团股份有限公司 一种软件版本确认方法、装置及系统
CN105262627A (zh) * 2015-10-30 2016-01-20 Tcl集团股份有限公司 一种固件升级方法、装置及系统
CN107608687A (zh) * 2016-07-11 2018-01-19 中兴通讯股份有限公司 一种差分升级方法、移动终端、服务器和系统
US20190171435A1 (en) * 2017-12-06 2019-06-06 Vmware, Inc. Distributed upgrade in virtualized computing environments
CN109032653A (zh) * 2018-08-29 2018-12-18 百度在线网络技术(北京)有限公司 无人驾驶汽车车载终端升级方法、装置、设备及存储介质
CN111263354A (zh) * 2020-01-08 2020-06-09 苏宁智能终端有限公司 一种ota差分升级方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306541A (zh) * 2020-11-05 2021-02-02 中国航空工业集团公司西安航空计算技术研究所 一种面向任务加改装需求的航电系统增量升级方法
CN112306541B (zh) * 2020-11-05 2023-06-23 中国航空工业集团公司西安航空计算技术研究所 一种面向任务加改装需求的航电系统增量升级方法
CN113377402A (zh) * 2021-06-23 2021-09-10 北京百度网讯科技有限公司 多版本并发存储方法和装置
CN113419758A (zh) * 2021-06-23 2021-09-21 未鲲(上海)科技服务有限公司 服务器基线的升级方法、装置与存储介质
CN113553097A (zh) * 2021-07-30 2021-10-26 上海玳鸽信息技术有限公司 模型版本管理方法及装置
CN113553097B (zh) * 2021-07-30 2022-11-18 上海玳鸽信息技术有限公司 模型版本管理方法及装置
CN114492846A (zh) * 2022-04-06 2022-05-13 天聚地合(苏州)科技股份有限公司 基于可信执行环境的跨域联邦学习方法及系统

Similar Documents

Publication Publication Date Title
CN111782254A (zh) 用于升级对象的方法、装置、设备以及存储介质
CN112073994A (zh) 用于空中升级的方法、装置、电子设备及可读存储介质
US8898520B1 (en) Method of assessing restart approach to minimize recovery time
CN111930521A (zh) 用于部署应用的方法、装置、电子设备及可读存储介质
CN112000394B (zh) 用于访问小程序的方法、装置、设备以及存储介质
CN111770169A (zh) 设备固件升级的方法、装置、设备以及存储介质
CN112433788A (zh) 小程序运行方法、装置、电子设备和存储介质
CN109918191B (zh) 一种业务请求防频的方法和装置
CN111090423B (zh) 一种webhook框架系统和实现主动调用、实现事件触发的方法
CN108932157B (zh) 分布式处理任务的方法、系统、电子设备和可读介质
CN114089974B (zh) 云端代码开发系统、方法、装置、设备及存储介质
CN113961311A (zh) 业务数据处理方法、装置、电子设备和介质
CN112765166A (zh) 数据处理方法、装置及计算机可读存储介质
CN111625195A (zh) 用于服务器扩容的方法及装置
CN112565225B (zh) 用于数据发送的方法、装置、电子设备及可读存储介质
CN112651741A (zh) 基于区块链的数据处理方法和装置
CN112069137A (zh) 生成信息的方法、装置、电子设备及计算机可读存储介质
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
US20210263721A1 (en) Method, device, and computer program product for managing virtual machine upgrage
CN112165430B (zh) 数据路由方法、装置、设备以及存储介质
CN112099954A (zh) 用于部署、下载资源的方法、装置、设备以及存储介质
CN112153754B (zh) 点对点连接方法、装置、电子设备及存储介质
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
CN112559001A (zh) 更新应用的方法和装置
CN110262756B (zh) 用于缓存数据的方法和装置

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