CN114675866B - 一种远程升级的方法 - Google Patents

一种远程升级的方法 Download PDF

Info

Publication number
CN114675866B
CN114675866B CN202210242416.9A CN202210242416A CN114675866B CN 114675866 B CN114675866 B CN 114675866B CN 202210242416 A CN202210242416 A CN 202210242416A CN 114675866 B CN114675866 B CN 114675866B
Authority
CN
China
Prior art keywords
function
file
difference
migration
new
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.)
Active
Application number
CN202210242416.9A
Other languages
English (en)
Other versions
CN114675866A (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.)
Wuxi Brightsky Electronic Co ltd
Original Assignee
Wuxi Brightsky Electronic 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 Wuxi Brightsky Electronic Co ltd filed Critical Wuxi Brightsky Electronic Co ltd
Priority to CN202210242416.9A priority Critical patent/CN114675866B/zh
Publication of CN114675866A publication Critical patent/CN114675866A/zh
Application granted granted Critical
Publication of CN114675866B publication Critical patent/CN114675866B/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供的一种远程升级的方法,其可以控制升级文件的尺寸,极大地提高远程版本升级的效率。本发明的技术方案中,先基于函数迁移表记录新老两个版本文件中的函数名相同的函数的位置变化情况,基于差异表记录新老两个文件中内容的差异点,将升级文件发送到待升级终端后,引导程序将老版本文件基于迁移表进行字节块的搬运,再将差异表中的差异点内容填充进去,生成新版本文件,完成版本升级。

Description

一种远程升级的方法
技术领域
本发明涉及嵌入式软件技术领域,具体为一种远程升级的方法。
背景技术
在很多功能相对简单的嵌入式产品中,如:一些仪器设备控制用仪表,其软件构成中是不包括操作系统的,而只包括一个设备控制用应用程序和一个引导程序。日常工作时基于控制用应用程序实现对仪表的功能控制。在需要版本升级的时候,通过有线或者无线的方式,将新版本的应用程序传输到设备中,引导程序运行新版本的控制用应用程序,替换老版本的控制用应用程序。
在这些低成本终端设备中,系统存储空间、内存大小以及CPU的运算能力有限,虽然升级时的通讯可以采用4G、5G等高速链路,但是受限于终端内部CPU和通讯模块之间的通讯速率、终端缓存的大小,整个版本升级过程却很慢,可能只有几百KB的文件,升级用的时间确要几十分钟。然而,在日常工作中,很多时候更新的内容只是对一些参数的更新或者bug的修改,这个升级后的控制用应用程序与老版本的文件相比,可能只修改了很小的一部分内容,但基于现有的版本更新技术,却必须将控制用应用程序的整个文件进行更新。这种低效的升级过程严重限制了设备的版本更新和bug修改效率。
发明内容
为了解决现有的低端嵌入式设备远程版本升级效率低的问题,本发明提供的一种远程升级的方法,其可以控制升级文件的尺寸,极大地提高远程版本升级的效率。
本发明的技术方案是这样的:一种远程升级的方法,其特征在于,其包括以下步骤:
S1:获取老版本的控制用应用程序的编译后文件,记作:老版本文件;
获取新版本的控制用程序的编译后文件,记作:新版本文件;
S2:分别得到两个文件中包括的每个函数的函数名和每个函数对应的函数地址;
S3:找到同时存在于两个文件中的所有的函数,记作:共通函数;
根据所述共通函数分别在两个文件中的地址和函数长度,计算后得到函数迁移表;
所述函数迁移表包括:旧地址、新地址、迁移数据长度;
所述旧地址为所述共通函数在所述老版本文件中的头地址;
所述新地址为所述共通函数在所述老版本文件中的头地址;
所述迁移数据长度为所述共通函数在所述老版本文件占用的字节数;
S4:基于所述老版本文件,根据所述函数迁移表,对文件中的数据进行迁移,迁移后的文件记作:中间文件;
S5:比对所述中间文件和所述新版本文件,找到所有的不同的地方,记作:差异点;
S6:根据所述差异点,制作差异表;
所述差异表包括:差异点的起始地址、差异点的内容;
S7:将所述函数迁移表和所述差异表的内容封包后,作为升级文件提交到升级服务器;
S8:将所述升级文件传输到待升级终端中;
S9:所述待升级终端中的引导程序,基于所述迁移表将所述待升级终端中的老版本文件中的字节块进行进行搬运,生成中间版本文件;
S10:所述引导程序将所述差异表中的所述差异点内容,按照所述差异点的起始地址填充到所述中间版本文件中,得到新版本文件,完成版本升级。
其进一步特征在于:
步骤S3中,计算得到所述函数迁移表的详细步骤如下:
a1:找到所述共通函数分别在两个文件中的地址和函数长度,做成中间迁移表;
所述中间迁移表包括:
函数名、旧地址、新地址、迁移数据长度;
a2:找到同时符合下面条件的函数,记作相邻函数:
条件1:函数在老版本文件、新版本文件中都是同样顺序的头尾相接;
条件2:函数由老版本文件向新版本文件中迁移的时候,头地址的改变方向和距离都相同;
a3:将所述相邻函数合并为一个新迁移函数,记录在迁移表中,得到最终的函数迁移表;
合并方法为:
将排列在前的函数的头地址作为所述新迁移函数的头地址;
将所有的相邻函数在所述老版本文件占用的字节数的和,作为所述新迁移函数的迁移数据长度;
步骤S6中,制作差异表的过程,包括以下步骤:
b1:预设一个比对基数N;
所述比对基数N为比较所述中间文件和所述新版本文件的内容差异时,每次同时比对的字节数;
b2:从文件的头字节开始,依次分别从两个文件中取出N个字节的内容,进行比对;
如果二者不同,则记录为差异点;
将所述新版本文件中对应N字节的内容,作为所述差异点的内容,放入所述差异表中;
将比对次数,作为所述差异点的起始地址,放入所述差异表中;
所述比对基数N设置为16。
本发明提供的一种远程升级的方法,其通过比较版本升级前后的二进制文件,基于函数迁移表记录新老两个版本文件中的函数名相同的函数的位置变化,基于差异表记录新老两个文件中内容的差异点,升级过程中将送函数迁移表和差异表作为版本升级文件进行远程传输,而无需传输完整的新版本升级文件,极大地降低了需要传输的数据文件尺寸,提高了远程版本升级的效率;同时,在文件升级时只需要按照函数迁移表和差异表对旧版本文件进行搬运和填充,无需进行复杂计算,尤其适用于计算能力有限的低成本嵌入式设备。在制作函数迁移表时,通过对相邻函数的合并,减少了函数迁移表中记载的内容,降低了函数迁移表的文件尺寸,进一步降低了版本升级文件的尺寸;在制作差异表时,通过设置比对基数,降低了差异表中对地址记载的需求,降低了差异表的文件尺寸,进一步降低了版本升级文件的尺寸,尤其适用于部分修改的版本升级需求。
附图说明
图1为本发明中的远程升级方法的流程示意图;
图2为新版本文件和老版本文件的比较实施例;
图3为中间文件和老版本文件的比较实施例;
图4为新版本文件和中间文件的比较实施例;
图5为新版本文件和中间文件的二进制文件比较实施例。
具体实施方式
如图1所示,本发明一种远程升级的方法,其包括以下步骤。
S1:获取老版本的控制用应用程序的编译后文件,记作:老版本文件;
获取新版本的控制用程序的编译后文件,记作:新版本文件。
程序是由一个个函数组成的,而函数是由一行行代码组成,程序经过编译链接生成了二进制文件,这个文件也就是最终烧录到终端上的应用程序。当因为某些原因增加、删除、或者修改了代码后,也会导致编译后生成的二进制文件发生变化。通常,程序编译后产生的二进制文件中,虽然看不见函数,但是函数的二进制形式却是以某种方式排列,比如KEIL编译后的二进制文件中,函数的二进制形式是按照函数名英文首字母排序的。因此对代码的修改不仅会导致编译后的二进制文件中函数内容和尺寸变化,而且会导致排在这个函数后面的函数的位置发生变化。如果函数没有被修改,那么它的内容一般不会变化或者变化不大,但是如果它被别的函数影响而使位置发生了变化,那么二进制文件中,同样位置的内容就发生变化。
S2:分别得到两个文件中包括的每个函数的函数名和每个函数对应的函数地址。
S3:找到同时存在于两个文件中的所有的函数,记作:共通函数;
根据共通函数分别在两个文件中的地址和函数长度,计算后得到函数迁移表;
函数迁移表包括:旧地址、新地址、迁移数据长度;
旧地址为共通函数在老版本文件中的头地址;
新地址为共通函数在老版本文件中的头地址;
迁移数据长度为共通函数在老版本文件占用的字节数。
步骤S3中,计算得到函数迁移表的详细步骤如下:
a1:找到共通函数分别在两个文件中的地址和函数长度,做成中间迁移表;
中间迁移表包括:
函数名、旧地址、新地址、迁移数据长度;
a2:找到在符合下面条件的函数,记作相邻函数:
条件1:函数在老版本文件、新版本文件中都是同样顺序的头尾相接;
条件2:函数由老版本文件向新版本文件中迁移的时候,头地址的改变方向和距离都相同;
a3:将相邻函数合并为一个新迁移函数,记录在迁移表中,得到最终的函数迁移表;
合并方法为:
将排列在前的函数的头地址作为新迁移函数的头地址;
将所有的相邻函数在老版本文件占用的字节数的和,作为新迁移函数的迁移数据长度。
本方法中,比对基数N置过大,会因为太多非差异内容被包括在差异点中,导致差异表尺寸变大;比对基数N设置过小,差异点会被精准定位,但是又会导致文件中地址内容过多。即,比对基数N设置过大或者设置过小,都会导致无法有效控制新版本文件的尺寸。设置N的具体数值时,需要根据设备控制用应用程序的文件尺寸,以及版本升级时常见更新类型进行设置。本实施例中,设备控制用应用程序的文件大小为几百KB,常见修改类型为函数内更新,则将比对基数N设置为16,确保每次生成的差异表大小为最小,达到最有效的控制版本升级文件的尺寸。
本发明技术方案中,首先需要找到新老两版本中共通的内容。如图2所示,为新版本文件和老版本文件的比较实施例。从图2中可以看出:
1)旧版本中的函数1、2、3、5、6、7在新版本中仍然存在,此处只关心函数名,不关心内容;
2)旧版本的函数4在新版本中没有了;
3)新版本新增函数8。
那么,在这2个版本中都存在的1、2、3、5、7的位置变化,如下表1。
表1新旧版本中同名函数的位置变化表
序号 函数名称 新地址 旧地址 偏移
1 Function 1 1000 1000 0
2 Function 2 2000 2000 0
3 Function 3 2500 2500 0
4 Function 5 3000 4000 -1000
5 Function 6 4500 5000 -500
6 Function 7 5000 5500 -500
从表1中可以看出,函数(Funciton)1、2、3的位置没有变化,函数5的位置前移了1000个字节,函数6前移了500字节,函数7前移了500字节。
根据表1中体现的函数位置的变化,生成迁移表。如下表2:中间迁移表。其中,由于函数1、2、3的位置没有发生变化,不用迁移,所以不用出现在中间迁移表中。
表2中间迁移表
序号 函数名称 旧地址 迁移数据长度 新地址
1 Function 5 4000 1000 3000
2 Function 6 5000 500 4500
3 Function 7 5500 2000 5000
以表2的第二行表示的含义为:函数5的位置,要从4000搬到3000,搬的长度是1000个字节。
基于中间迁移表的内容,继续进行优化。优化的原则是将可以同时移动的内容合并成一项,以减少表的大小。即,确认中间迁移表中是否存在相邻函数,找到所有满足相邻函数的条件的函数,进行合并。
表中的函数6和函数7满足相邻函数的条件,它们两个都是向前移动了500个字节,而且这两个函数在新老两个版本的文件中都是相邻的,所以可以合并成一条一起移动。同时,由于终端并不关心移动的实际内容,因此表中可以没有函数名称。优化后的迁移表,即为表3:函数迁移表。
表3:函数迁移表
旧地址 迁移数据长度 新地址
4000 1000 3000
5000 2500 4500
S4:基于老版本文件,根据函数迁移表,对文件中的数据进行迁移,迁移后的文件记作:中间文件。基于表3和图1中的老版本文件,得到的中间文件,如图3所示为中间文件和老版本文件的比较实施例。
S5:比对中间文件和新版本文件的内容,找到所有的不同的地方,记作:差异点。具体如图3所示。
S6:根据差异点,制作差异表;
差异表包括:差异点的起始地址、差异点的内容。
制作差异表的过程,包括以下步骤:
b1:预设一个比对基数N;
比对基数N为比较中间文件和新版本文件的内容差异时,每次同时比对的字节数;
b2:从文件的头字节开始,依次分别从两个文件中取出N个字节的内容,进行比对;
如果二者不同,则记录为差异点;
将新版本文件中对应N字节的内容,作为差异点的内容,放入差异表中;
将比对次数,作为差异点的起始地址,放入差异表中;
其中,比对次数=N字节的差异点内容在新文件中的起始地址/N;
在升级文件的新版本文件和老版本文件中,函数可能的变化,包括下述四种情况:
情况1:同名函数(共通函数)的内容和尺寸没有发生变化,也就是此次版本更新没有对这个函数进行更改,其它函数的更改也没有影响到这个函数;
情况2:同名函数(共通函数)的尺寸没有发生变化,但是内容发生了变化;
情况3:同名函数(共通函数)的尺寸和内容都发生了变化;
情况4:新增或者删除了某些函数(非共通函数)。
其中,同名函数的尺寸没变化,但是内容发生变化的原因包括:
a)此次更新更改了这个函数的代码,但是很巧,改了后代码的大小和原来一样;
b)此次更新没有主动更改这个函数的代码,但是由于这个函数调用了其它函数,那个被调用函数的位置发生了变化,所以这个函数的二进制文件内容被动的发生了变化。
除了情况1之外,其它情况都会导致内容上发生差异,产生差异点。
如果本次版本更新只更新了一两处,那么可以用差异点在二进制文件中的字节地址和差异内容直接填充到差异表中。对于1个超过65KB大小的文件(低成本设备的程序空间一般低于512KB),记录一个位置需要3个字节,内容需要1个字节,那么标记一处不同总共需要4个字节,这个差异表的尺寸不会很大。
但是,在实际的生产生活中,对于版本更新时,有些修改如:修正bug,或者更新参数信息,会出现多处修改,这些修改会集中在某一个或者几个函数内部,但同时这些函数分散在文件内不同的区域;就会出现差异点分散在文件不同的地区,但是又集中在某些函数内的现象;此时,如果还是使用“差异点在二进制文件中的字节地址和差异内容”这种方法制作差异表,就会出现差异表中大量空间都被用来存储地址信息,进而导致差异表的文件尺寸变大。
本发明技术方案中,通过设置比对基数N,每次将N个字节的内容同时比对,一旦发现差异点,因为差异点是集中出现的,所以同时将包括多个差异点的N个字节的内容作为合并处理,不但降低了差异表中的地址的百分比,而且尤其适用于这种差异点在文件内分散同时又在函数内集中的文件形式。同时,比对基数N设置之后,差异表中的每个地址对应的差异点内容也固定为N字节,在待升级终端中处理差异表时,也无需进行复杂计算即可实现更新,确保本发明技术方案更加适合计算能力有限的低成本嵌入式设备。
如图4所示,本实施例中,N设置为16,即每次比较时,以16个字节为单位进行比较,一旦发现某次比较的内容中包括差异内容,则将此次16个字节同时作为一个差异点计入到差异表中。
根据图4生成差异表,即新版本中不同于旧版本的行和内容,如表4所示。
表中的行号为比对次数,即:
比对次数=N字节的差异点内容在新文件中的起始地址/N,这里N取16。
表4差异表
行号 内容
70 64 2C FB D3 29 46 04A0 00F0 46F8 05A0 00F0
71 43F8 00 20 70BD 00 00 68 65 6C 6C 6F 3A 25 64
72 00 00 00 00 0D 0A 54 65 73 74 20 4F 4B 21 00 00
S7:将函数迁移表和差异表的内容封包后,作为升级文件提交到升级服务器。
S8:将升级文件传输到待升级终端中。
S9:待升级终端中的引导程序,基于迁移表将待升级终端中的老版本文件中的字节块进行进行搬运,生成中间版本文件,此时的中间版本文件中,共通函数的头地址与新版本文件中相同。
S10:待升级终端中的引导程序,将差异表中的行号换算为差异点的起始地址,将差异内容填充到中间版本文件该起始地址开始处的N个字节,最终得到新版本文件,完成版本升级。
待升级终端中的升级过程基于引导程序实现。根据实验数据,采用本发明的函数级别的差异更新的升级方式,能将原来升级包的尺寸降低60%以上,这是因为,通常对于低端的嵌入是系统的版本升级文件,新代码占比很小,大部分内容还是和旧版本一样。在极端情况下,如果只更改了代码中的一个参数,看实际生成的二进制文件,可能就是更改了1、2个字节的内容,按照现有技术中的版本更新方式,需要将整个二进制文件作为更新包,如果这个文件有500KB,那更新包就500KB,但是按照本发明技术放案中的方法,更新包只要一行18个字节(16个字节的内容+2个字节的行号=18)即可实现更新,极大低降低了版本文件的尺寸。
使用本发明的技术方案后,先基于函数迁移表记录新老两个版本文件中的函数名相同的函数的位置变化情况,基于差异表记录新老两个文件中内容的差异点,将升级文件发送到待升级终端后,引导程序将老版本文件基于迁移表进行字节块的搬运,再将差异表中的差异点内容填充进去,生成新版本文件,完成版本升级;基于本发明技术方案生成的升级包尺寸较小,终端解析升级包不需要额外的内存资源,无需使用复杂的算法,不需要CPU有很强的处理能力,只需要对文件中的数据进行搬运和填充操作即可完成更新,完全适合低成本嵌入式系统,具有极高的升级效率。

Claims (4)

1.一种远程升级的方法,其特征在于,其包括以下步骤:
S1:获取老版本的控制用应用程序的编译后文件,记作:老版本文件;
获取新版本的控制用程序的编译后文件,记作:新版本文件;
S2:分别得到两个文件中包括的每个函数的函数名和每个函数对应的函数地址;
S3:找到同时存在于两个文件中的所有的函数,记作:共通函数;
根据所述共通函数分别在两个文件中的地址和函数长度,计算后得到函数迁移表;
所述函数迁移表包括:旧地址、新地址、迁移数据长度;
所述旧地址为所述共通函数在所述老版本文件中的头地址;
所述新地址为所述共通函数在所述老版本文件中的头地址;
所述迁移数据长度为所述共通函数在所述老版本文件占用的字节数;
S4:基于所述老版本文件,根据所述函数迁移表,对文件中的数据进行迁移,迁移后的文件记作:中间文件;
S5:比对所述中间文件和所述新版本文件,找到所有的不同的地方,记作:差异点;
S6:根据所述差异点,制作差异表;
所述差异表包括:差异点的起始地址、差异点的内容;
S7:将所述函数迁移表和所述差异表的内容封包后,作为升级文件提交到升级服务器;
S8:将所述升级文件传输到待升级终端中;
S9:所述待升级终端中的引导程序,基于所述迁移表将所述待升级终端中的老版本文件中的字节块进行搬运,生成中间版本文件;
S10:所述引导程序将所述差异表中的所述差异点内容,按照所述差异点的起始地址填充到所述中间版本文件中,得到新版本文件,完成版本升级。
2.根据权利要求1所述一种远程升级的方法,其特征在于:步骤S3中,计算得到所述函数迁移表的详细步骤如下:
a1:找到所述共通函数分别在两个文件中的地址和函数长度,做成中间迁移表;
所述中间迁移表包括:
函数名、旧地址、新地址、迁移数据长度;
a2:找到同时符合下面条件的函数,记作相邻函数:
条件1:函数在老版本文件、新版本文件中都是同样顺序的头尾相接;
条件2:函数由老版本文件向新版本文件中迁移的时候,头地址的改变方向和距离都相同;
a3:将所述相邻函数合并为一个新迁移函数,记录在迁移表中,得到最终的函数迁移表;
合并方法为:
将排列在前的函数的头地址作为所述新迁移函数的头地址;
将所有的相邻函数在所述老版本文件占用的字节数的和,作为所述新迁移函数的迁移数据长度。
3.根据权利要求1所述一种远程升级的方法,其特征在于:步骤S6中,制作差异表的过程,包括以下步骤:
b1:预设一个比对基数N;
所述比对基数N为比较所述中间文件和所述新版本文件的内容差异时,每次同时比对的字节数;
b2:从文件的头字节开始,依次分别从两个文件中取出N个字节的内容,进行比对;
如果二者不同,则记录为差异点;
将所述新版本文件中对应N字节的内容,作为所述差异点的内容,放入所述差异表中;
将比对次数,作为所述差异点的起始地址,放入所述差异表中。
4.根据权利要求3所述一种远程升级的方法,其特征在于:所述比对基数N设置为16。
CN202210242416.9A 2022-03-11 2022-03-11 一种远程升级的方法 Active CN114675866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210242416.9A CN114675866B (zh) 2022-03-11 2022-03-11 一种远程升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210242416.9A CN114675866B (zh) 2022-03-11 2022-03-11 一种远程升级的方法

Publications (2)

Publication Number Publication Date
CN114675866A CN114675866A (zh) 2022-06-28
CN114675866B true CN114675866B (zh) 2023-05-12

Family

ID=82074822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210242416.9A Active CN114675866B (zh) 2022-03-11 2022-03-11 一种远程升级的方法

Country Status (1)

Country Link
CN (1) CN114675866B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902555A (zh) * 2012-09-06 2013-01-30 华为终端有限公司 一种升级方法、装置及升级设备
CN111506342A (zh) * 2020-04-23 2020-08-07 北京奇艺世纪科技有限公司 版本差异检测方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100617793B1 (ko) * 2004-06-24 2006-08-28 삼성전자주식회사 통합 차이파일을 이용한 휴대용 단말기의 소프트웨어 버전업그레이드 방법
CN103473099B (zh) * 2013-09-13 2017-02-01 惠州Tcl移动通信有限公司 一种移动终端的软件升级方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902555A (zh) * 2012-09-06 2013-01-30 华为终端有限公司 一种升级方法、装置及升级设备
CN111506342A (zh) * 2020-04-23 2020-08-07 北京奇艺世纪科技有限公司 版本差异检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114675866A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
JP5261433B2 (ja) 電子ファイルを更新するためのシステムおよび電子ファイルの差異ファイルのサイズを縮小する方法
US6671703B2 (en) System and method for file transmission using file differentiation
US7555750B1 (en) Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
US7739679B2 (en) Object ordering tool for facilitating generation of firmware update friendly binary image
US7694291B2 (en) Build optimizer tool for efficient management of software builds for mobile devices
CN107506219A (zh) 一种基于Android系统的通用版本升级方法
US20050234997A1 (en) Byte-level file differencing and updating algorithms
KR20090088901A (ko) 웹 문서의 압축을 향상시키는 방법, 시스템 및 컴퓨터 판독 가능한 저장 매체
EP1691282A1 (en) Build optimizer tool for efficient management of software builds for mobile devices
CN105045791A (zh) 数据库设备
JPS63163930A (ja) アライメント補正方式
CN108334622A (zh) 一种获取格式化复合数据的方法
CN112148343B (zh) 规则发布方法、装置及终端设备
CN114675866B (zh) 一种远程升级的方法
US11150993B2 (en) Method, apparatus and computer program product for improving inline pattern detection
CN109933345B (zh) 一种控制器的无扰下装方法及相关装置
CN116170527B (zh) 报文编辑方法、报文编辑装置、介质及电子设备
CN107783778B (zh) 一种基于特征值查表法的增量升级方法
CN111752954B (zh) 一种大规模特征数据存储的方法及装置
US20210217492A1 (en) Merging Alignment and Sorting to Optimize Computer Operations for Gene Sequencing Pipeline
US20210202038A1 (en) Memory Allocation to Optimize Computer Operations of Seeding for Burrows Wheeler Alignment
JP4619804B2 (ja) 更新用データ送信システム及び送信側装置及び受信側装置及び更新用データ送信方法
CN113485736A (zh) 一种系统增量更新方法及装置
CN113709195A (zh) 一种车辆软件升级方法、装置及系统
CN112948734A (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
GR01 Patent grant
GR01 Patent grant