CN113031997A - 升级包生成及管理方法、装置、计算机设备及存储介质 - Google Patents
升级包生成及管理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113031997A CN113031997A CN202110219730.0A CN202110219730A CN113031997A CN 113031997 A CN113031997 A CN 113031997A CN 202110219730 A CN202110219730 A CN 202110219730A CN 113031997 A CN113031997 A CN 113031997A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- terminal
- file
- package
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000004806 packaging method and process Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 43
- 238000012544 monitoring process Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机运维技术,公开了一种升级包生成及管理方法、装置、计算机设备及存储介质,包括:接收升级文件;识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;若是,则将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;若否,则将所述升级文件作为升级程序包。本发明使终端在进行升级时所需的数据量达到最低,实现了终端的轻量化运行及升级,避免了终端用户体验新版本需要消耗更多的流量和下载时间,导致用户升级体验较差的问题发生。
Description
技术领域
本发明涉及计算机运维技术领域,尤其涉及一种升级包生成及管理方法、装置、计算机设备及存储介质。
背景技术
当前终端的APP是通过服务引擎对终端发送的业务需求进行处理的,如果后端服务器新增了功能或优化了效果,则需要对APP的服务引擎进行更新并生成新的安装包,以供终端下载安装。
然而,发明人意识到,目前随着终端性能的提升,App包大小也在不断变大,这使得终端用户若要对APP进行升级,则需要下载整个安装包重新安装APP以实现升级,如此一来,终端用户体验新版本需要消耗更多的流量和下载时间,并且很容易导致终端运行卡顿,导致用户升级体验较差。
发明内容
本发明的目的是提供一种升级包生成及管理方法、装置、计算机设备及存储介质,用于解决现有技术存在的终端用户体验新版本需要消耗更多的流量和下载时间,并且很容易导致终端运行卡顿的问题。
为实现上述目的,本发明提供一种升级包生成及管理方法,包括:
接收升级文件;
识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;
若是,则将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;
若否,则将所述升级文件作为升级程序包。
上述方案中,所述将所述差分升级包作为升级程序包,或所述将所述升级文件作为升级程序包之后,所述方法还包括:
对所述升级程序包进行哈希运算得到升级哈希摘要,将所述升级哈希摘要与所述升级程序包关联。
上述方案中,所述将所述差分升级包作为升级程序包,或所述将所述升级文件作为升级程序包之后,所述方法还包括:
接收控制端发送的配置信息,将所述配置信息与所述升级程序包关联。
上述方案中,所述将所述配置信息与所述升级程序包关联之后,所述方法还包括:
监听终端的运行状态,判断所述运行状态是否符合预置的服务侧阈值;若是,则向所述终端推送配置信息;若否,则继续监听所述终端的运行状态。
上述方案中,所述向所述终端推送配置信息之后,所述方法还包括:
接收终端根据所述配置信息发送的升级请求,根据所述升级请求向所述终端发送升级程序包。
上述方案中,所述根据所述升级请求向所述终端发送升级程序包之后,所述方法还包括;
记录所述终端的终端编号,并监听终端根据所述差分升级包进行升级的过程,其中:
若监听到所述终端升级成功,则生成成功信息并将其与所述终端编号关联;
若监听到所述终端升级失败,则生成失败信息并将其与所述终端编号关联;
若监听到所述终端取消升级,则生成取消信息并将其与所述终端编号关联。
上述方案中,所述监听终端根据所述差分升级包进行升级的过程之后,所述方法还包括:
汇总获得的所述终端编号,当所述终端编号的数量达到预置的统计阈值时,则统计所述成功信息、失败信息和取消信息生成升级报告。
为实现上述目的,本发明还提供一种升级包生成及管理装置,包括:
输入模块,用于接收升级文件;
升级判定模块,用于识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;
差分升级模块,用于将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;
整体升级模块,用于将所述升级文件作为升级程序包。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述升级包生成及管理方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述升级包生成及管理方法的步骤。
本发明提供的升级包生成及管理方法、装置、计算机设备及存储介质,通过提取所述升级文件中与所述数据库中所有历史文件之间的差异信息并汇总打包得到差分升级包,将所述差分升级包作为升级程序包,使终端通过该升级程序包即可完成升级(小升级),同时,由于该升级程序包主要是由升级文件与所有历史文件之间的差异信息构成的,因此,对终端的APP进行升级时,仅需更新所述差异信息即可实现升级,使终端在进行升级时所需的数据量达到最低,实现了终端的轻量化运行及升级,避免了终端用户体验新版本需要消耗更多的流量和下载时间,导致用户升级体验较差的问题发生;对于需要对终端的APP进行整体升级,以替换其中的逻辑程序的情况,通过将所述升级文件直接作为升级程序包,以保证升级的完整性和可靠性。
附图说明
图1为本发明升级包生成及管理方法实施例一的流程图;
图2为本发明升级包生成及管理方法实施例二中升级包生成及管理方法的环境应用示意图;
图3是本发明升级包生成及管理方法实施例二中升级包生成及管理方法的具体方法流程图;
图4为本发明升级包生成及管理装置实施例三的程序模块示意图;
图5为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的升级包生成及管理方法、装置、计算机设备及存储介质,适用于计算机运维技术领域,为提供一种基于输入模块、升级判定模块、差分升级模块、整体升级模块的升级包生成及管理方法。本发明通过识别与升级文件的对应的数据库,判断数据库中是否具有版本号与升级文件一致的历史文件;若是,则将历史文件设为目标文件,识别升级文件中与目标文件之间差别的差异信息,汇总差异信息并打包得到差分升级包;将差分升级包作为升级程序包;若否,则将升级文件作为升级程序包。
实施例一:
请参阅图1,本实施例的一种升级包生成及管理方法,包括:
S101:接收升级文件;
S102:识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;
S103:若是,则将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;
S104:若否,则将所述升级文件作为升级程序包。
在示例性的实施例中,接收控制端发送的升级文件,所述升级文件是用于对终端使用的APP进行升级的计算机数据,如APK,APK(全称:Android application package,Android应用程序包)是Android操作***使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。。
通常升级服务器中保存有多个APP的服务引擎,各所述服务引擎的数据库中保存有历次对APP进行升级的历史文件。其中,服务引擎是由至少一个预定义的一段独立的逻辑程序构成的计算机模块,用于处理用户在APP界面上录入或触发的业务需求并返回业务结果。通过所述升级文件的名称识别与其对应的服务引擎,并获取该服务引擎的数据库以避免升级文件升级错误,以实现避免对错误的服务引擎进行升级,导致升级服务器中服务引擎出现混乱的问题发生。
所述版本号是标注所述升级文件版本状态的编码,其反映了服务引擎中逻辑程序的修改频次,例如:XXX.apk.v2.0,XXX.apk.v3.0,其中,2.0和3.0就是版本号;若所述版本号出现变化,则说明该版本号对应的升级文件已对服务引擎的逻辑程序进行了修改,也就是大升级;若所述版本号未出现变化,则说明该版本号对应的升级文件未对服务引擎中的逻辑程序进行修改,也就是小升级,如:在不改变逻辑程序的前提下增加了服务引擎的功能,或优化了服务引擎的展示效果,或修改了服务引擎中用于在APP上展示的文案或图片。
对于所述小升级,如果对APP的服务引擎进行整体升级,将会导致终端因获取过大的数据造成运行卡顿,不利于终端的轻量化运行;因此,为保证终端能够顺利升级的前提下,使终端进行升级所需的数据量达到最低,本步骤通过提取所述升级文件中与所述数据库中所有历史文件之间的差异信息并汇总打包得到差分升级包,将所述差分升级包作为升级程序包,使终端通过该升级程序包即可完成升级(小升级),同时,由于该升级程序包主要是由升级文件与所有历史文件之间的差异信息构成的,因此,对终端的APP进行升级时,仅需更新所述差异信息即可实现升级,使终端在进行升级时所需的数据量达到最低,实现了终端的轻量化运行及升级,避免了终端用户体验新版本需要消耗更多的流量和下载时间,导致用户升级体验较差的问题发生。
对于所述大升级,则需要对终端的APP进行整体升级,以替换其中的逻辑程序,因此,将所述升级文件直接作为升级程序包,以保证升级的完整性和可靠性。
实施例二:
本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
下面,以在运行有升级包生成及管理方法的服务器中,通过判断所述数据库中是否具有版本号与所述升级文件一致的历史文件,识别所述升级文件中与所述目标文件之间差别并打包得到差分升级包,或将所述升级文件作为升级程序包为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
图2示意性示出了根据本申请实施例二的升级包生成及管理方法的环境应用示意图。
在示例性的实施例中,升级包生成及管理方法所在的服务器2通过网络分别连接终端3和控制端4;所述服务器2可以通过一个或多个网络提供服务,网络可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述终端3所述控制端4可分别为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
图3是本发明一个实施例提供的一种升级包生成及管理方法的具体方法流程图,该方法具体包括步骤S201至S210。
S201:接收升级文件。
本步骤中,接收控制端发送的升级文件,所述升级文件是用于对终端使用的APP进行升级的计算机数据。
在一个优选的实施例中,所述接收升级文件之后,还包括:
判断所述升级文件的升级目录下各子文件是否均具有升级密码值,
若是,则进入所述S202;
若否,则通过安全散列算法对不具有升级密码值的子文件进行散列运算得到摘要,并将所述摘要载入所述子文件中作为所述子文件的升级密码值。
需要说明的是,所述升级密码值是SHA-1值,SHA(Secure Hash Algorithm,译作安全散列算法)是一系列密码散列函数。SHA-1值是从一个最大2^64位元的讯息中产生一串160位元的摘要,然后以类似于MD4及MD5讯息摘要算法的原理为基础,对升级文件中的子文件进行加密。
S202:识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件。
通常升级服务器中保存有多个APP的服务引擎,各所述服务引擎的数据库中保存有历次对APP进行升级的历史文件。其中,服务引擎是由至少一个预定义的一段独立的逻辑程序构成的计算机模块,用于处理用户在APP界面上录入或触发的业务需求并返回业务结果。
因此,为避免对错误的服务引擎进行升级,导致升级服务器中服务引擎出现混乱的问题发生,本步骤通过所述升级文件的名称识别与其对应的服务引擎,并获取该服务引擎的数据库以避免升级文件升级错误。
所述版本号是标注所述升级文件版本状态的编码,其反映了服务引擎中逻辑程序的修改频次,例如:XXX.apk.v2.0,XXX.apk.v3.0,其中,2.0和3.0就是版本号;若所述版本号出现变化,则说明该版本号对应的升级文件已对服务引擎的逻辑程序进行了修改,也就是大升级;若所述版本号未出现变化,则说明该版本号对应的升级文件未对服务引擎中的逻辑程序进行修改,也就是小升级,如:在不改变逻辑程序的前提下增加了服务引擎的功能,或优化了服务引擎的展示效果,或修改了服务引擎中用于在APP上展示的文案或图片。
S203:若是,则将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包。
对于所述小升级,如果对APP的服务引擎进行整体升级,将会导致终端因获取过大的数据造成运行卡顿,不利于终端的轻量化运行;因此,为保证终端能够顺利升级的前提下,使终端进行升级所需的数据量达到最低,本步骤通过提取所述升级文件中与所述数据库中所有历史文件之间的差异信息并汇总打包得到差分升级包,将所述差分升级包作为升级程序包,使终端通过该升级程序包即可完成升级(小升级),同时,由于该升级程序包主要是由升级文件与所有历史文件之间的差异信息构成的,因此,对终端的APP进行升级时,仅需更新所述差异信息即可实现升级,使终端在进行升级时所需的数据量达到最低,实现了终端的轻量化运行及升级。
在一个优选的实施例中,将所述历史文件设为目标文件的步骤,包括:
S3-01:识别所述历史文件的用户状态;
S3-02:汇总用户状态一致的所述历史文件形成目标文件,并将所述用户状态与所述目标文件关联。
于本实施例中,所述用户状态是根据终端的分布地区、权限状态或用户类别所制定的,因此,不同的终端因其分布地区、权限状态或用户类别的不同,其APP具有不同的功能或权限,通过汇总用户状态一致的所述历史文件形成目标文件,并将所述用户状态与所述目标文件关联,以便于生成针对不同终端功能和权限进行升级的差分升级包。
在一个优选的实施例中,所述识别所述升级文件中与所述目标文件之间差别的差异信息的步骤,包括:
S3-11:获取所述升级文件的升级目录下的各子文件的升级密码值,并汇总所述升级密码值制成升级轻量级文件;
S3-12:将所述升级轻量级文件与所述目标文件的目标目录下的目标密码值进行比对,识别所述升级轻量级文件中与所述目标密码值不一致的升级密码值,并将所述升级密码值设为差异密码值;
S3-13:提取所述差异密码值对应的子文件并汇总得到差异信息。
于本实施例中,所述升级轻量级文件为json文件,JSON(JavaScript ObjectNotation)是一种基于轻量级数据交换格式,对数据进行存储和交换文本信息的语法,其用于传送数据。
所述升级密码值和目标密码值是SHA-1值,SHA(Secure Hash Algorithm,译作安全散列算法)是一系列密码散列函数。SHA-1值是从一个最大2^64位元的讯息中产生一串160位元的摘要,然后以类似于MD4及MD5讯息摘要算法的原理为基础,对升级文件中的子文件或目标文件中的子文件进行加密。
需要说明的是,升级密码值是升级文件在创制的过程中,通过安全散列算法分别计算升级文件中各子文件所生成的SHA-1值。一旦升级文件变为历史文件,其中的升级密码值也将变为历史密码值,如果所述历史文件被设为目标文件,该历史文件中的历史密码值将变为目标密码值。
因此通过将升级密码值和目标密码值进行比对,来识别升级文件中出现变化的子文件,并将其作为差异信息的方式,避免了当前文件信息逐一比对的低效对比方式,提高了比对识别差别的效率。
进一步地,所述识别所述升级文件中与所述目标文件之间差别的差异信息之后,所述方法还包括:
S3-21:将与所述目标文件关联的用户状态与所述差异信息关联。
本步骤中,通过将用户状态与差异信息关联,使得根据所述差异信息所生成的差分升级包能够根据终端的用户状态,有针対性的对所述终端进行升级,保证了终端升级的准确性。
S204:若否,则将所述升级文件作为升级程序包。
对于所述大升级,则需要对终端的APP进行整体升级,以替换其中的逻辑程序,因此,将所述升级文件直接作为升级程序包,以保证升级的完整性和可靠性。
S205:对所述升级程序包进行哈希运算得到升级哈希摘要,将所述升级哈希摘要与所述升级程序包关联。
为避免将升级程序包发送给终端的过程中因不法客户端篡改而植入木马或病毒,或升级程序包在传送途中发送数据损坏,导致终端因通过该升级程序包升级而遭受木马、病毒袭击,或因数据损坏而难以升级,本步骤通过对升级程序包进行哈希运算得到差异哈希摘要,并将所述差异哈希摘要和哈希公钥载入所述升级程序包的方式,使终端在通过所述升级程序包进行升级之前,对所述升级程序包进行哈希运算得到计算哈希摘要,并将所述计算哈希摘要发送至升级服务器,使所述升级服务器对比所述升级程序包关联的升级哈希摘要;如果计算哈希摘要与差异哈希摘要一致,则说明该升级程序包未被篡改,可以安全使用,如果计算哈希摘要与差异哈希摘要不一致,则说明该升级程序包被篡改,则应当将其视为具有风险的数据包。
于本实施例中,通过散列算法(Hash Algorithm,又称哈希算法),对所述升级程序包进行哈希运算得到升级哈希摘要,所述散列算法是是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值(即:所述哈希摘要)。因此,当升级程序包发生改变时,经运算输出散列值也会发生改变,从而告诉文件使用者当前的升级程序包已被非法篡改。
通过将升级哈希摘要保存在升级服务器中,并使升级服务器来对升级哈希摘要和计算哈希摘要进行对比,并向终端发送安全信息或风险信息,使升级程序包的安全评价工作运行在升级服务器中,避免不法客户端根据所述升级程序包和升级哈希摘要逆向出能够生成所述升级哈希摘要,且具有病毒或木马的升级程序包,极大的保证了终端的数据安全。
S206:接收控制端发送的配置信息,将所述配置信息与所述升级程序包关联。
由于每次对终端的APP的升级的重要程度是不一样的,对于有的升级,即使终端不进行升级,该终端的APP仍然可以正常使用,而对于另一些升级,一旦终端不进行升级,将导致该终端的APP无法正常使用,因此,为对APP升级工作的重要程度进行分级,本步骤通过控制端发送的配置信息并将其与所述升级程序包关联的方式,对升级程序包的重要程度进行标注,其中所述配置信息包括:强制升级和普通升级,其中,强制升级意味着终端如果不进行升级,该终端的APP将无法正常使用,普通升级意味着终端即使不进行升级,该终端的APP仍然可以正常使用。通过将所述配置信息发送至终端,使得终端一旦接收到强制升级的配置信息时,将关闭该配置信息关联的升级程序包所对应的APP,并通过所述升级程序包对该APP进行升级,以便于终端的用户根据其自身需求判断是否通过当前的升级程序包进行升级,提高了APP的服务引擎的可靠性和适应性。
其中,所述配置信息作为管理升级程序包的文件记录在升级服务器的配置中心中,以实现所述配置信息与所述升级程序包的关联。
S207:监听终端的运行状态,判断所述运行状态是否符合预置的服务侧阈值;若是,则向所述终端推送配置信息;若否,则继续监听所述终端的运行状态。
由于如果在终端处于较高运算负荷的状态下,向所述终端推送配置信息,使其根据所述配置信息获取升级程序包进行升级,很容易导致终端运行卡顿,进而出现死机或崩溃的情况发生,
因此,为避免上述情况,本步骤通过监听终端的运行状态,判断所述运行状态是否符合预置的服务侧阈值;若是,则向所述终端推送配置信息的方式,在终端处于空闲或者低运算负荷的前提下使其进行升级,有效的保障了终端运行平稳性,其中,所述运行状态包括CPU利用率,内存使用率。所述服务侧阈值包括CPU利用阈值,例如:50%;内存使用阈值,例如:60%。
于本实施例中,由于实时的对大规模的终端进行运行状态的监听,十分耗费升级服务器的运算能力,因此,为保证升级服务器能够在较低的运算能力消耗的前提下,保证其服务的终端能够顺利的升级,本步骤通过预置的监听周期,周期性地监听所述终端的运行状态;或将大量的终端划分为若干个终端组,依次轮询各终端组中终端的运行状态,实现逐个的对终端组中的终端进行升级。
进一步地,所述升级服务器通过预置的代理服务器/代理服务模块向终端发送配置信息。
于所述图3中,所述S207采用以下标注展示:
S71:监听终端的运行状态,判断所述运行状态是否符合预置的服务侧阈值;
S72:若是,则向所述终端推送配置信息;
S73:若否,则继续监听所述终端的运行状态。
S208:接收终端根据所述配置信息发送的升级请求,根据所述升级请求向所述终端发送升级程序包。
本步骤中,所述升级请求中具有提取指令和用户状态,所述提取指令是所述终端用于提取升级程序包的报文信息,所述用户状态是描述所述终端的功能和权限的数据信息。
在一个优选的实施例中,所述根据所述升级请求向所述终端发送升级程序包的步骤,包括:
S81:提取所述升级请求识别所述终端的用户状态;
S82:获取与所述用户状态关联的升级程序包,根据所述提取指令将所述升级程序包发送至所述终端。
因此,根据用户状态将对应的升级程序包发送给相应的终端,实现有针对性的对终端进行升级的技术效果。
S209:记录所述终端的终端编号,并监听终端根据所述差分升级包进行升级的过程,其中:
若监听到所述终端升级成功,则生成成功信息并将其与所述终端编号关联;
若监听到所述终端升级失败,则生成失败信息并将其与所述终端编号关联;
若监听到所述终端取消升级,则生成取消信息并将其与所述终端编号关联。
本步骤中,所述终端编号可为所述终端的MEI码,通过提取所述升级请求中的终端编号获取所述终端的MEI码。若监听到终端发送的升级成功信息,则判定所述终端升级成功;若监听到终端发送的升级失败信息,则判定所述终端升级失败;若监听到终端发送的升级取消信息,则判定所述终端升级取消。
进一步地,构建用于记录所述终端编号的统计表,将所述终端编号,及与其对应的成功信息、或失败信息、或取消信息记载在与所述终端编号对应的表格中,实现所述终端编号与所述成功信息、或所述失败信息、或所述取消信息的关联。
进一步地,所述升级服务器通过预置的代理服务器/代理服务模块记录根据所述配置信息获取升级程序包的终端的终端编号,监听终端根据所述差分升级包进行升级的过程。
于所述图3中,所述S209采用以下标注展示:
S91:记录所述终端的终端编号,并监听终端根据所述差分升级包进行升级的过程;
S92:若监听到所述终端升级成功,则生成成功信息并将其与所述终端编号关联;
S93:若监听到所述终端升级失败,则生成失败信息并将其与所述终端编号关联;
S94:若监听到所述终端取消升级,则生成取消信息并将其与所述终端编号关联。
S210:汇总获得的所述终端编号,当所述终端编号的数量达到预置的统计阈值时,则统计所述成功信息、失败信息和取消信息生成升级报告。
本步骤中,汇总获得的终端编号,如果终端编号的数量达到统计预置时,例如:10000个,则统计与各所述终端编号关联的成功信息、失败信息和取消信息的数量,将所述成功信息、所述失败信息和所述取消信息的数量之和作为到达数量;
将所述到达数量与所述统计阈值相除,得到用于表示终端接收到升级程序包之后的安装的比例,即:安装率;将所述成功信息的数量与所述到达数量相除得到成功率,将所述失败信息的数量与所述到达数量相除得到失败率,将所述取消信息的数量与所述到达数量相除得到风险率。汇总所述安装率、所述成功率、所述失败率和所述风险率形成所述升级程序包的升级报告。
进一步地,计算截止所述终端编号的数量达到预置的统计阈值时,升级服务器所发送的升级程序包的数量,并将该数量作为发送数量;将所述统计阈值与所述发送数量相除得到分发到达率,将所述分发到达率载入所述测试报告中。
在一个优选的实施例中,所述统计所述成功信息、失败信息和取消信息生成升级报告之后,所述方法还包括:
将所述升级文件作为新的历史文件保存在所述数据库中,或将所述差分升级包作为新的历史文件保存在所述数据库中。
通过将所述升级文件作为新的历史文件保存在所述数据库中,及将所述差分升级包作为新的历史文件保存在所述数据库中,以便于与下一次获得的升级文件进行对比。
实施例三:
请参阅图4,本实施例的一种升级包生成及管理装置1,包括:
输入模块11,用于接收升级文件;
升级判定模块12,用于识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;
差分升级模块13,用于将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;
整体升级模块14,用于将所述升级文件作为升级程序包。
可选的,所述升级包生成及管理装置1还包括:
完整性模块15,用于对所述升级程序包进行哈希运算得到升级哈希摘要,将所述升级哈希摘要与所述升级程序包关联。
可选的,所述升级包生成及管理装置1还包括:
配置模块16,用于接收控制端发送的配置信息,将所述配置信息与所述升级程序包关联。
可选的,所述升级包生成及管理装置1还包括:
状态监听模块17,用于监听终端的运行状态,判断所述运行状态是否符合预置的服务侧阈值;若是,则向所述终端推送配置信息;若否,则继续监听所述终端的运行状态。
可选的,所述升级包生成及管理装置1还包括:
输出模块18,用于接收终端根据所述配置信息发送的升级请求,根据所述升级请求向所述终端发送升级程序包。
可选的,所述升级包生成及管理装置1还包括:
升级监听模块19,用于记录所述终端的终端编号,并监听终端根据所述差分升级包进行升级的过程,其中:
若监听到所述终端升级成功,则生成成功信息并将其与所述终端编号关联;
若监听到所述终端升级失败,则生成失败信息并将其与所述终端编号关联;
若监听到所述终端取消升级,则生成取消信息并将其与所述终端编号关联。
可选的,所述升级包生成及管理装置1还包括:
报告生成模块10,用于汇总获得的所述终端编号,当所述终端编号的数量达到预置的统计阈值时,则统计所述成功信息、失败信息和取消信息生成升级报告。
本技术方案涉及计算机运维技术领域,用于对终端的升级进行过程优化,通过识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包,将所述差分升级包作为升级程序包;或将所述升级文件作为升级程序包;以实现对移动终端操作体验进行优化的技术效果。
实施例四:
为实现上述目的,本发明还提供一种计算机设备5,实施例三的升级包生成及管理装置的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过***总线相互通信连接的存储器51、处理器52,如图5所示。需要指出的是,图5仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例三的升级包生成及管理装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行升级包生成及管理装置,以实现实施例一和实施例二的升级包生成及管理方法。
实施例五:
为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储升级包生成及管理装置,被处理器52执行时实现实施例一和实施例二的升级包生成及管理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种升级包生成及管理方法,其特征在于,包括:
接收升级文件;
识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;
若是,则将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;
若否,则将所述升级文件作为升级程序包。
2.根据权利要求1所述的升级包生成及管理方法,其特征在于,所述将所述差分升级包作为升级程序包,或所述将所述升级文件作为升级程序包之后,所述方法还包括:
对所述升级程序包进行哈希运算得到升级哈希摘要,将所述升级哈希摘要与所述升级程序包关联。
3.根据权利要求1所述的升级包生成及管理方法,其特征在于,所述将所述差分升级包作为升级程序包,或所述将所述升级文件作为升级程序包之后,所述方法还包括:
接收控制端发送的配置信息,将所述配置信息与所述升级程序包关联。
4.根据权利要求3所述的升级包生成及管理方法,其特征在于,所述将所述配置信息与所述升级程序包关联之后,所述方法还包括:
监听终端的运行状态,判断所述运行状态是否符合预置的服务侧阈值;若是,则向所述终端推送配置信息;若否,则继续监听所述终端的运行状态。
5.根据权利要求4所述的升级包生成及管理方法,其特征在于,所述向所述终端推送配置信息之后,所述方法还包括:
接收终端根据所述配置信息发送的升级请求,根据所述升级请求向所述终端发送升级程序包。
6.根据权利要求5所述的升级包生成及管理方法,其特征在于,所述根据所述升级请求向所述终端发送升级程序包之后,所述方法还包括;
记录所述终端的终端编号,并监听终端根据所述差分升级包进行升级的过程,其中:
若监听到所述终端升级成功,则生成成功信息并将其与所述终端编号关联;
若监听到所述终端升级失败,则生成失败信息并将其与所述终端编号关联;
若监听到所述终端取消升级,则生成取消信息并将其与所述终端编号关联。
7.根据权利要求6所述的升级包生成及管理方法,其特征在于,所述监听终端根据所述差分升级包进行升级的过程之后,所述方法还包括:
汇总获得的所述终端编号,当所述终端编号的数量达到预置的统计阈值时,则统计所述成功信息、失败信息和取消信息生成升级报告。
8.一种升级包生成及管理装置,其特征在于,包括:
输入模块,用于接收升级文件;
升级判定模块,用于识别与所述升级文件的对应的数据库,判断所述数据库中是否具有版本号与所述升级文件一致的历史文件;
差分升级模块,用于将所述历史文件设为目标文件,识别所述升级文件中与所述目标文件之间差别的差异信息,汇总所述差异信息并打包得到差分升级包;将所述差分升级包作为升级程序包;
整体升级模块,用于将所述升级文件作为升级程序包。
9.一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机设备的处理器执行所述计算机程序时实现权利要求1至7任一项所述升级包生成及管理方法的步骤。
10.一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,其特征在于,所述可读存储介质存储的所述计算机程序被处理器执行时实现权利要求1至7任一项所述升级包生成及管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110219730.0A CN113031997A (zh) | 2021-02-26 | 2021-02-26 | 升级包生成及管理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110219730.0A CN113031997A (zh) | 2021-02-26 | 2021-02-26 | 升级包生成及管理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113031997A true CN113031997A (zh) | 2021-06-25 |
Family
ID=76461969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110219730.0A Pending CN113031997A (zh) | 2021-02-26 | 2021-02-26 | 升级包生成及管理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113031997A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028078A (zh) * | 2022-12-15 | 2023-04-28 | 广州鲁邦通智能科技有限公司 | 一种基于vpn技术的软件远程升级方法 |
CN117348916A (zh) * | 2023-12-06 | 2024-01-05 | 中邮消费金融有限公司 | 脚本生成方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090806A (zh) * | 2014-07-18 | 2014-10-08 | 百度在线网络技术(北京)有限公司 | 升级包、升级请求的处理方法及装置 |
CN106648712A (zh) * | 2017-02-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 增量更新包的生成方法、装置和服务器 |
CN110837393A (zh) * | 2019-11-14 | 2020-02-25 | 北京知道创宇信息技术股份有限公司 | 一种固件差分升级包的制作方法及装置、可读存储介质 |
CN111090444A (zh) * | 2019-12-03 | 2020-05-01 | 航天信息股份有限公司 | 版本升级方法、装置、存储介质及电子设备 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
-
2021
- 2021-02-26 CN CN202110219730.0A patent/CN113031997A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090806A (zh) * | 2014-07-18 | 2014-10-08 | 百度在线网络技术(北京)有限公司 | 升级包、升级请求的处理方法及装置 |
CN106648712A (zh) * | 2017-02-27 | 2017-05-10 | 百度在线网络技术(北京)有限公司 | 增量更新包的生成方法、装置和服务器 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
CN110837393A (zh) * | 2019-11-14 | 2020-02-25 | 北京知道创宇信息技术股份有限公司 | 一种固件差分升级包的制作方法及装置、可读存储介质 |
CN111090444A (zh) * | 2019-12-03 | 2020-05-01 | 航天信息股份有限公司 | 版本升级方法、装置、存储介质及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028078A (zh) * | 2022-12-15 | 2023-04-28 | 广州鲁邦通智能科技有限公司 | 一种基于vpn技术的软件远程升级方法 |
CN116028078B (zh) * | 2022-12-15 | 2023-10-03 | 广州鲁邦通智能科技有限公司 | 一种基于vpn技术的软件远程升级方法 |
CN117348916A (zh) * | 2023-12-06 | 2024-01-05 | 中邮消费金融有限公司 | 脚本生成方法、装置、设备及存储介质 |
CN117348916B (zh) * | 2023-12-06 | 2024-03-26 | 中邮消费金融有限公司 | 脚本生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112994955B (zh) | 升级包发送管理方法、增量升级包制备方法及相关装置 | |
CN111698283B (zh) | 分布式集群主机的管控方法、装置、设备及存储介质 | |
CN111756601A (zh) | 微服务架构监控方法、装置、计算机设备及可读存储介质 | |
CN109391673A (zh) | 一种管理更新文件的方法、***及终端设备 | |
CN110266872B (zh) | 通讯录数据的管控方法、装置及云通讯录***、计算机设备、计算机可读存储介质 | |
CN113031997A (zh) | 升级包生成及管理方法、装置、计算机设备及存储介质 | |
CN103607291A (zh) | 用于电力二次***内网安全监视平台的告警解析归并方法 | |
CN110222535B (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN110705893B (zh) | 一种业务节点管理方法、装置、设备以及存储介质 | |
WO2019192133A1 (zh) | 电子装置、数据链路风险预警方法及存储介质 | |
CN105981332A (zh) | 使用喷泉码广播管理信息 | |
CN109672553A (zh) | 网关动态配置方法、***、计算机设备及存储介质 | |
CN111984735A (zh) | 一种数据归档方法、装置、电子设备和存储介质 | |
CN114268957A (zh) | 异常业务数据处理方法、装置、服务器及存储介质 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN114036495B (zh) | 一种更新私有化部署验证码***的方法及装置 | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN113986296A (zh) | 一种固件升级方法、装置、电子设备和存储介质 | |
CN111045856A (zh) | 用于管理应用***的方法、设备和计算机程序产品 | |
CN112131041A (zh) | 用于管理数据放置的方法、设备和计算机程序产品 | |
CN111552746A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN111694850B (zh) | 物流电子面单的单号回收方法及***、设备及存储介质 | |
CN107678928B (zh) | 应用程序的处理方法及服务器 | |
CN117632858B (zh) | 基于分布式网络的文件格式校验方法、***、设备和介质 | |
CN104484198A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210625 |