一种终端内存优化的方法、系统、设备及介质技术方案

技术编号:34869927 阅读:21 留言:0更新日期:2022-09-08 08:16
本发明专利技术提供一种终端内存优化的方法、系统、设备及介质,创建链表作为扇区的映射表,启动一个定时器任务,并计算初始内存空间使用情况;对接收到的差分包进行解析,获得升级补丁信息;将补丁信息录入映射表,通过U8类型数组读取升级补丁信息并与对应固件信息整合,整合信息与映射表进行校验,若映射表中补丁信息与整合信息一致,则将升级补丁写入,否则升级补丁不写入;在映射表更新写入升级补丁信息,并释放录入映射表的升级补丁信息,完成终端内存优化;本申请通过比对升级包差异信息,仅对差异信息进行传输,并与元固件信息整合,进而能够显著减少OTA的包大小,加快升级速度,减少能耗,节约通信资源,且满足嵌入式平台下使用。且满足嵌入式平台下使用。且满足嵌入式平台下使用。

【技术实现步骤摘要】
一种终端内存优化的方法、系统、设备及介质


[0001]本专利技术属于智慧仓储
,具体涉及一种终端内存优化的方法、系统、设备及介质。

技术介绍

[0002]近些年来随着通信技术的进步,物联网的已成为一个趋势,而在众多的联网应用需求中,超过95%以上是在窄带物联网上的,比如传统的GPRS方式、及目前流行的NBIOT技术,
[0003]窄带的应用的设备大多资源也是受限的,计算能力偏弱,程序运行、存储空间较小,但是随着应用端业务的变化,这些设备的相应软件程序需要做更新,也就是通常所说的OTA,其与网络传输窄带之间是矛盾的,所以在此类型的应用中,差分包OTA的需求是很明显的,其能够显著减少OTA的包大小,加快升级速度,减少能耗,节约通信资源,除此之外,在固件存储中因为没有操作系统的调度,所以传统的内存优化方法在资源有限的嵌入式平台下无法使用,无法在固件差分升级时实现ROM的动态优化,只能将固件存储在固定的地址,无法根据程序大小进行自动调节,在有限的ROM中会造成资源的浪费。

技术实现思路

[0004]针对现有技术中存在的问题,本专利技术提供一种终端内存优化的方法、系统、设备及介质,通过解析差分升级包携带的固件信息,得到更新后固件包的大小,然后根据固件包大小和ROM空间信息,调整固件包的存储位置,释放碎片空间,实现内存的动态优化。
[0005]本专利技术是通过以下技术方案来实现:
[0006]一种终端内存优化的方法,包括以下步骤:
[0007]S1:创建链表作为扇区的映射表,启动一个定时器任务,并计算初始内存空间使用情况;
[0008]S2:对接收到的差分包进行解析,获得升级补丁信息;
[0009]S3:将补丁信息录入映射表,通过U8类型数组读取升级补丁信息并与对应固件信息整合,整合信息与映射表进行校验,若映射表中补丁信息与整合信息一致,则将升级补丁写入,否则升级补丁不写入;
[0010]S4:在映射表更新写入升级补丁信息,并释放录入映射表的升级补丁信息,完成终端内存优化。
[0011]进一步,所述步骤S1中的映射表通过启动系统读取存储设备的信息,然后通过该信息获取到设备的容量,将容量、设备编号、已用空间和各扇区基地址和偏移地址封装到一个双向链表汇总,通过对链表节点和偏移地址的管理,得到存储的物理空间和程序空间的映射表。
[0012]进一步,所述步骤S1中的映射表用于保存初始的系统内部的分区信息和文件存储信息。
[0013]进一步,所述步骤S1中初始内存空间使用情况包括初始内存空间的总大小、已用空间的大小和剩余空间的大小。
[0014]进一步,所述步骤S2中升级补丁信息包括升级补丁、升级固件的大小和固件包的版本。
[0015]进一步,所述步骤S3中U8类型数组读取的升级补丁信息为升级固件信息,U8类型数组读取的升级固件信息与升级补丁的数据相加后,与映射表中补丁信息相比较。
[0016]进一步,所述步骤S3中升级补丁写入固件的存储地址。
[0017]一种终端内存优化的系统,包括
[0018]映射表获取模块,用于创建链表作为扇区的映射表,启动一个定时器任务,并计算初始内存空间使用情况;
[0019]升级补丁信息获取模块,用于对接收到的差分包进行解析,获得升级补丁信息;
[0020]固件升级模块,用于将补丁信息录入映射表,通过U8类型数组读取升级补丁信息,并与映射表进行校验,若映射表中补丁信息与U8类型数组读取的升级补丁信息一致,则将升级补丁写入;
[0021]映射表更新模块,在映射表更新写入升级补丁信息,并释放录入映射表的升级补丁信息,完成终端内存优化。
[0022]一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如一种终端内存优化的方法的步骤。
[0023]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如一种终端内存优化的方法的步骤。
[0024]与现有技术相比,本专利技术具有以下有益的技术效果:
[0025]本专利技术提供一种终端内存优化的方法、系统、设备及介质,创建链表作为扇区的映射表,启动一个定时器任务,并计算初始内存空间使用情况;对接收到的差分包进行解析,获得升级补丁信息;将补丁信息录入映射表,通过U8类型数组读取升级补丁信息并与对应固件信息整合,整合信息与映射表进行校验,若映射表中补丁信息与整合信息一致,则将升级补丁写入,否则升级补丁不写入;在映射表更新写入升级补丁信息,并释放录入映射表的升级补丁信息,完成终端内存优化;本申请通过比对升级包差异信息,仅对差异信息进行传输,并与元固件信息整合,进而能够显著减少OTA的包大小,加快升级速度,减少能耗,节约通信资源,且满足嵌入式平台下使用。
附图说明
[0026]图1为本专利技术一种终端内存优化的方法的流程图。
具体实施方式
[0027]下面结合具体的实施例对本专利技术做进一步的详细说明,所述是对本专利技术的解释而不是限定。
[0028]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是
本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0029]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0030]本专利技术提供
[0031]一种终端内存优化的方法,其特征在于,包括以下步骤:
[0032]S1:创建链表作为扇区的映射表,启动一个定时器任务,并计算初始内存空间使用情况;
[0033]S2:对接收到的差分包进行解析,获得升级补丁信息;
[0034]S3:将补丁信息录入映射表,通过U8类型数组读取升级补丁信息并与对应固件信息整合,整合信息与映射表进行校验,若映射表中补丁信息与整合信息一致,则将升级补丁写入,否则升级补丁不写入;
[0035]S4:在映射表更新写入升级补丁信息,并释放录入映射表的升级补丁信息,完成终端内存优化。
[0036]优选的,所述步骤S1中的映射表通过启动系统读取存储设备的信息,然后通过该信息获取到设备的容量,将容量、设备编号、已用空本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种终端内存优化的方法,其特征在于,包括以下步骤:S1:创建链表作为扇区的映射表,启动一个定时器任务,并计算初始内存空间使用情况;S2:对接收到的差分包进行解析,获得升级补丁信息;S3:将补丁信息录入映射表,通过U8类型数组读取升级补丁信息并与对应固件信息整合,整合信息与映射表进行校验,若映射表中补丁信息与整合信息一致,则将升级补丁写入,否则升级补丁不写入;S4:在映射表更新写入升级补丁信息,并释放录入映射表的升级补丁信息,完成终端内存优化。2.根据权利要求1所述一种终端内存优化的方法,其特征在于,所述步骤S1中的映射表通过启动系统读取存储设备的信息,然后通过该信息获取到设备的容量,将容量、设备编号、已用空间和各扇区基地址和偏移地址封装到一个双向链表汇总,通过对链表节点和偏移地址的管理,得到存储的物理空间和程序空间的映射表。3.根据权利要求1所述一种终端内存优化的方法,其特征在于,所述步骤S1中的映射表用于保存初始的系统内部的分区信息和文件存储信息。4.根据权利要求1所述一种终端内存优化的方法,其特征在于,所述步骤S1中初始内存空间使用情况包括初始内存空间的总大小、已用空间的大小和剩余空间的大小。5.根据权利要求1所述一种终端内存优化的方法,其特征在于,所述步骤S2中升级补丁信息包括升级补丁、升级固件的大小和固件包的版本。6.根据权利要求5所述一种终端内存优化的方法,其特...

【专利技术属性】
技术研发人员:张楠王树超康军呼霄鹏杨杰
申请(专利权)人:中航电测仪器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1