首页 / 专利库 / 电脑零配件 / 固件 / 一种固件升级方法、装置及终端

一种固件升级方法、装置及终端

阅读:994发布:2020-05-08

专利汇可以提供一种固件升级方法、装置及终端专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种 固件 升级方法、装置及终端,依次获取分 块 差分升级包每个数据块中的第一升级数据和操作指令,将第一数据按照操作指令在所述旧固件版本镜像中转换为所述第二升级数据,控制所述第一升级数据和所述第二升级数据 覆盖 所述旧固件版本镜像中的待升级数据区域。根据第一升级数据和第二升级数据在旧固件版本镜像中完成升级为新固件版本镜像的操作,整个升级过程无需额外生成新固件版本镜像,无需为新固件版本镜像预留存储空间。而且分块差分升级包相比传统的差分升级包利用操作指令替换了传统差分升级包中的部分或全部数据,进一步减小了存储分块差分升级包的闪存开销,进而使得升级过程中闪存空间资源占用小。,下面是一种固件升级方法、装置及终端专利的具体信息内容。

1.一种固件升级方法,其特征在于,所述方法包括:
依次获取分差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据;所述操作指令用于指示根据所述旧固件版本镜像中的数据获得第二升级数据;
将第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,所述第一数据为所述旧固件版本镜像中的数据;
控制所述第一升级数据和所述第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。
2.根据权利要求1所述的方法,其特征在于,所述将第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,包括:
获取所述操作指令指示对应的所述第一数据的字段范围;
根据所述字段范围从所述旧固件版本镜像中确定所述第一数据;
按照所述操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据。
3.根据权利要求2所述的方法,其特征在于,所述按照操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据,包括:
在所述旧固件版本镜像中确定一个备份区,所述备份区为所述旧固件版本镜像中的待删除的数据对应的数据区域;
将所述第一数据复制到所述备份区;
按照所述转换路径在所述备份区内将所述第一数据转换为第二升级数据。
4.根据权利要求3所述的方法,其特征在于,还包括:如果所述待升级数据区域中存在所述第一数据,将所述第一升级数据放入所述备份区。
5.根据权利要求3所述的方法,其特征在于,还包括:如果所述待升级数据区域中存在所述第一数据,将所述第一数据放入所述备份区。
6.一种固件升级方法,其特征在于,所述方法包括:
根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包;
将所述新固件版本镜像拆分为第一预设长度的第一数据块,所述第一数据块为所述新固件版本镜像拆分后的任一数据块;
根据生成所述第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,所述第二数据块为所述初始差分升级包拆分后的任一数据块;
确定所述第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度;
根据所述依赖度更新所述第二数据块,获得分块差分升级包,所述更新第二数据块包括:将所述第二数据块中的部分或全部数据更换为操作指令,所述操作指令用于指示根据所述原始数据块生成所述第二数据块中被更换为操作指令的数据。
7.根据权利要求6所述的方法,其特征在于,所述根据生成第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,包括:
确定每个所述第一数据块对应所述初始差分升级包的字段范围;
将每个字段范围的末地址作为所述初始差分升级包的拆分点,拆分所述初始差分升级包。
8.根据权利要求7所述的方法,其特征在于,所述确定第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度,包括:
如果根据所述原始数据块可以获得所述第二数据块中部分或全部数据,更新所述原始数据块的依赖度;
其中,所述第二数据块中的数据可以通过一个或多个所述原始数据块获得。
9.根据权利要求8所述的方法,其特征在于,所述根据依赖度更新所述第二数据块,包括:
确定根据所述原始数据块获得所述第二数据块中部分或全部数据对应的操作指令,所述操作指令包括以下一种或多种:平移所述原始数据块到指定字段位置、将所述原始数据块的预设区域的数据进行删除、将所述原始数据块按照指定路径进行变换;
将所述操作指令添加到所述第二数据块并删除所述部分或全部数据。
10.根据权利要求9所述的方法,其特征在于,还包括:每更新完一个所述第二数据块,更新所述原始数据块的依赖度。
11.一种固件升级装置,其特征在于,所述装置包括:
获取模块,用于依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据;所述操作指令用于指示根据所述旧固件版本镜像中的数据获得第二升级数据;
数据转化模块,用于将第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,所述第一数据为所述旧固件版本镜像中的数据;
升级模块,控制所述第一升级数据和所述第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。
12.根据权利要求11所述的装置,其特征在于,所述数据转化模块具体用于:
获取单元,用于获取所述操作指令指示对应的所述第一数据的字段范围;
确定单元,用于根据所述字段范围从所述旧固件版本镜像中确定所述第一数据;
数据转换单元,用于按照所述操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据。
13.根据权利要求12所述的装置,其特征在于,所述数据转化模块在按照所述操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据时具体用于:
在所述旧固件版本镜像中确定一个备份区,所述备份区为所述旧固件版本镜像中的待删除的数据对应的数据区域;
将所述第一数据复制到所述备份区;
按照所述转换路径在所述备份区内将所述第一数据转换为第二升级数据。
14.根据权利要求13所述的装置,其特征在于,还包括:第一数据备份单元,用于如果所述待升级数据区域中存在所述第一数据,将所述第一升级数据放入所述备份区。
15.根据权利要求13所述的装置,其特征在于,还包括:第二数据备份单元,用于如果所述待升级数据区域中存在所述第一数据,将所述第一数据放入所述备份区。
16.一种固件升级装置,其特征在于,所述装置包括:
获取模块,用于根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包;
第一拆分模块,用于将所述新固件版本镜像拆分为第一预设长度的第一数据块,所述第一数据块为所述新固件版本镜像拆分后的任一数据块;
第二拆分模块,用于根据生成所述第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,所述第二数据块为所述初始差分升级包拆分后的任一数据块;
确定模块,用于确定所述第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度;
更新模块,用于根据所述依赖度更新所述第二数据块,获得分块差分升级包,所述更新第二数据块包括:将所述第二数据块中的部分或全部数据更换为操作指令,所述操作指令用于指示根据所述原始数据块生成所述第二数据块中被更换为操作指令的数据。
17.根据权利要求16所述的装置,其特征在于,所述第二拆分模块具体用于:
确定每个所述第一数据块对应所述初始差分升级包的字段范围;
将每个字段范围的末地址作为所述初始差分升级包的拆分点,拆分所述初始差分升级包。
18.根据权利要求17所述的装置,其特征在于,所述确定模块具体用于:
如果根据所述原始数据块可以获得所述第二数据块中部分或全部数据,更新所述原始数据块的依赖度;其中,所述第二数据块中的数据可以通过一个或多个所述原始数据块获得。
19.根据权利要求18所述的装置,其特征在于,所述更新模块具体用于:
确定根据所述原始数据块获得所述第二数据块中部分或全部数据对应的操作指令,所述操作指令包括以下一种或多种:平移所述原始数据块到指定字段位置、将所述原始数据块的预设区域的数据进行删除、将所述原始数据块按照指定路径进行变换;
将所述操作指令添加到所述第二数据块并删除所述部分或全部数据。
20.根据权利要求19所述的装置,其特征在于,还包括:第二依赖度更新单元,用于每更新完一个所述第二数据块,更新所述原始数据块的依赖度。
21.一种终端,其特征在于,包括:
处理器;
存储器,用于存储计算机可执行指令;
当所述处理器执行所述计算机可执行指令时,执行如权利要求1-5任一项所述的方法,根据获取的分块差分升级包和旧固件版本镜像完成原地差分升级,获得新固件版本镜像。
22.一种终端,其特征在于,包括:
处理器;
存储器,用于存储计算机可执行指令;
当所述处理器执行所述计算机可执行指令时,执行如权利要求6-10任一项所述的方法,根据新固件版本镜像和旧固件版本镜像生成分块差分升级包。

说明书全文

一种固件升级方法、装置及终端

技术领域

[0001] 本申请涉及物联网终端技术领域,尤其涉及一种固件升级方法、装置及终端。

背景技术

[0002] 物联网是在互联网基础上延伸和扩展的网络,其用户端延伸扩展到了任何物品与物品之间进行信息交换和通信。在当前物联网服务中,通过物联网平台获取物联网终端的采集数据,并将获取的数据提供给各个具体的物联网服务,例如车辆管理、零售管理、物流管理等。物联网平台会对于物联网终端进行管理,而物联网端侧瘦设备则是物联网终端管理的关键设备之一。
[0003] 随着物联网服务的升级,物联网端侧瘦设备也需要进行相应的固件升级,以提升对物联网终端的管理。传统技术中物联网端侧瘦设备的固件升级方法有很多种,包括:全镜像升级方法、压缩镜像升级方法和差分升级方法。其中,由于差分升级方法具有占用空间信号小,实现简单等优点,因此差分升级方法成为物联网端侧瘦设备最常用的固件升级方法之一。如图1所示,差分升级方法过程为:通过物联网端侧瘦设备中旧固件版本1和新固件版本2生成一个差分升级包,然后将差分升级包下载到物联网端侧瘦设备的闪存中,然后在物联网端侧瘦设备运行升级程序,通过差分升级包将旧固件版本1升级到新固件版本2。
[0004] 差分升级方法虽然可以实现物联网端侧瘦设备的固件升级,但是固件升级过程中需要通过使用差分升级包与旧固件版本镜像进行比较,获取新固件版本的镜像存储到物联网端侧瘦设备的闪存中,然后将新固件版本的镜像替换旧固件版本镜像完成升级。在升级过程中,为了避免升级过程中断电等情况引起升级失败,物联网端侧瘦设备的闪存需要对旧固件版本的镜像做全镜像备份,因此在升级过程占用闪存空间资源大。发明内容
[0005] 本申请提供了一种固件升级方法、装置及终端,以解决传统技术中使用差分升级方法对物联网端瘦设备进行固件升级过程中,占用闪存空间资源大的问题。
[0006] 第一方面,本申请提供了一种固件升级方法,所述方法包括:依次获取分差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据,所述操作指令用于指示根据所述旧固件版本镜像中的数据获得所述第二升级数据。将所述操作指令中指示的第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据。当所述旧固件版本镜像中不存在所述第一数据时,控制所述第一升级数据和所述第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。
[0007] 所述第一升级数据无法通过所述旧固件版本镜像中的任意数据转换获得。所述第二升级数据是通过所述旧固件版本镜像中的数据(例如第一数据)转换获得的。所述第一升级数据和所述第二升级数据组成所述新固件版本镜像和所述旧固件版本镜像的差异数据。
[0008] 在一些实现方式中,所述第一数据为所述旧固件版本镜像中任一依赖度不为0的数据,所述依赖度用于指示转换为所述第二升级数据需要所述第一数据的次数,其中,每生成一个第二升级数据,更新所述第一数据的依赖度。
[0009] 应理解的是,这里的“新固件版本镜像”不是在完成固件升级的这台计算机上额外生成的,只是指代目标镜像。
[0010] 采用本实现方式,根据差分升级包中的操作指令在旧固件版本镜像中将操作指令指示的第一数据转换为第二升级数据,根据第一升级数据和第二升级数据在旧固件版本镜像中完成升级为新固件版本镜像的操作。整个升级过程无需额外生成新固件版本镜像,无需为新固件版本镜像预留存储空间;而且分块差分升级包相比传统的差分升级包利用操作指令替换了传统差分升级包中的部分或全部数据,进一步减小了存储分块差分升级包的闪存开销,进而使得升级过程中闪存空间资源占用小。
[0011] 结合第一方面,在第一方面第一种可能的实现方式中,所述将操作指令中指示的第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,包括:获取所述操作指令指示对应的所述第一数据的字段范围;根据所述字段范围从所述旧固件版本镜像中确定所述第一数据;按照所述操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据。
[0012] 结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述按照操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据,包括:在所述旧固件版本镜像中确定一个备份区,所述备份区为所述旧固件版本镜像中的待删除的数据对应的数据区域;将所述第一数据复制到所述备份区;按照所述转换路径在所述备份区内将所述第一数据转换为第二升级数据。
[0013] 结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,还包括:如果所述待升级数据区域中存在所述第一数据,将所述第一升级数据放入所述备份区。
[0014] 结合第一方面第二种可能的实现方式,在第一方面第四种可能的实现方式中,还包括:如果所述待升级数据区域中存在所述第一数据,将所述第一数据放入所述备份区。
[0015] 第二方面,本申请提供了一种固件升级方法,所述方法包括:根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包;将所述新固件版本镜像拆分为第一预设长度的第一数据块,所述第一数据块为所述新固件版本镜像拆分后的任一数据块;根据生成所述第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,所述第二数据块为所述初始差分升级包拆分后的任一数据块;确定所述第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度;根据所述依赖度更新所述第二数据块,获得分块差分升级包,所述更新第二数据块包括:将所述第二数据块中的部分或全部数据更换为操作指令,所述操作指令用于指示根据所述原始数据块生成所述第二数据块中被更换为操作指令的数据。
[0016] 采用本实现方式,首先将初始差分升级包进行分块,然后将分块获得的初始差分升级包数据块中的部分或全部的数据通过操作指令进行替代,进而减小了差分升级包对Flash的占用空间。
[0017] 结合第二方面,在第二方面第一种可能的实现方式中,所述根据生成第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,包括:确定每个所述第一数据块对应所述初始差分升级包的字段范围;将每个字段范围的末地址作为所述初始差分升级包的拆分点,拆分所述初始差分升级包。
[0018] 结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述确定第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度,包括:如果根据所述原始数据块可以获得所述第二数据块中部分或全部数据,更新所述原始数据块的依赖度;其中,所述第二数据块中的数据可以通过一个或多个所述原始数据块获得。
[0019] 结合第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述根据依赖度更新所述第二数据块,包括:确定根据所述原始数据块获得所述第二数据块中部分或全部数据对应的操作指令,所述操作指令包括以下一种或多种:平移所述原始数据块到指定字段位置、将所述原始数据块的预设区域的数据进行删除、将所述原始数据块按照指定路径进行变换;将所述操作指令添加到所述第二数据块并删除所述部分或全部数据。
[0020] 结合第二方面第三种可能的实现方式,在第二方面第四种可能的实现方式中,还包括:每更新完一个所述第二数据块,更新所述原始数据块的依赖度。
[0021] 第三方面,本申请提供了一种固件升级装置,所述装置包括:获取模块,用于依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,所述第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据,所述第一升级数据无法通过所述旧固件版本镜像获得;所述操作指令用于指示根据所述旧固件版本镜像中的数据获得所述第二升级数据,所述第一升级数据和所述第二升级数据组成所述新固件版本镜像和所述旧固件版本镜像的差异数据;数据转化模块,用于将所述操作指令中指示的第一数据按照所述操作指令在所述旧固件版本镜像中转换为所述第二升级数据,所述第一数据为所述旧固件版本镜像中任一依赖度不为0的数据,所述依赖度用指示转换为所述第二升级数据需要所述第一数据的次数,其中,每生成一个第二升级数据,更新所述第一数据的依赖度;升级模块,用于当所述旧固件版本镜像中的待升级数据区域中不存在所述第一数据时,控制所述差异数据覆盖所述待升级数据区域。
[0022] 结合第三方面,在第三方面第一种可能的实现方式中,所述数据转化模块包括:获取单元,用于获取所述操作指令指示对应的所述第一数据的字段范围;确定单元,用于根据所述字段范围从所述旧固件版本镜像中确定所述第一数据;数据转换单元,用于按照所述操作指令中的转换路径在所述旧固件版本镜像中将所述第一数据转换为所述第二升级数据。
[0023] 结合第三方面第一种可能的实现方式,在第三方面第二种可能的实现方式中,所述数据转换单元包括:确定子单元,用于在所述旧固件版本镜像中确定一个备份区,所述备份区为所述旧固件版本镜像中的待删除的数据对应的数据区域;数据平移子单元,用于将所述第一数据复制到所述备份区;数据转换子单元,用于按照所述转换路径在所述备份区内将所述第一数据转换为第二升级数据。
[0024] 结合第三方面第二种可能的实现方式,在第三方面第三种可能的实现方式中,还包括:第一数据备份单元,用于如果所述待升级数据区域中存在所述第一数据,将所述第一升级数据放入所述备份区。
[0025] 结合第三方面第二种可能的实现方式,在第三方面第四种可能的实现方式中,还包括:第二数据备份单元,用于如果所述待升级数据区域中存在所述第一数据,将所述第一数据放入所述备份区。
[0026] 第四方面,本申请提供了一种固件升级装置,其特征在于,所述装置包括:获取模块,用于根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包;第一拆分模块,用于将所述新固件版本镜像拆分为第一预设长度的第一数据块,所述第一数据块为所述新固件版本镜像拆分后的任一数据块;第二拆分模块,用于根据生成所述第一数据块对应的所述初始差分升级包的数据区域将所述初始差分升级包进行拆分获得第二数据块,所述第二数据块为所述初始差分升级包拆分后的任一数据块;确定模块,用于确定所述第二数据块对所述旧固件版本镜像中每个原始数据块的依赖度;更新模块,用于根据所述依赖度更新所述第二数据块,获得分块差分升级包,所述更新第二数据块包括:将所述第二数据块中的部分或全部数据更换为操作指令,所述操作指令用于指示根据所述原始数据块生成所述第二数据块中被更换为操作指令的数据。
[0027] 结合第四方面,在第四方面第一种可能的实现方式中,所述第二拆分模块,包括:第一确定单元,用于确定每个所述第一数据块对应所述初始差分升级包的字段范围;拆分单元,用于将每个字段范围的末地址作为所述初始差分升级包的拆分点,拆分所述初始差分升级包。
[0028] 结合第四方面第一种可能的实现方式,在第四方面第二种可能的实现方式中,所述确定模块,包括:第一依赖度更新单元,用于如果根据所述原始数据块可以获得所述第二数据块中部分或全部数据,更新所述原始数据块的依赖度;其中,所述第二数据块中的数据可以通过一个或多个所述原始数据块获得。
[0029] 结合第四方面第二种可能的实现方式,在第四方面第三种可能的实现方式中,所述更新模块,包括:第三确定单元,用于确定根据所述第二数据块更新获得所述第一数据块时对所述第三数据块的依赖度和依赖度属性,所述依赖属性包括以下一种或多种:删除、平移和变换;指令生成单元,用于根据所述依赖度和所述依赖度属性生成操作指令,其中,每次根据所述第三数据块生成操作指令后,所述第三数据块的依赖度减1;更新单元,用于将所述操作指令添加到所述第二数据块并删除与所述第三数据块相关联的数据,所述与所述第三数据块相关联的数据为根据所述操作指令和所述第三数据块获得的数据。
[0030] 结合第四方面第三种可能的实现方式,在第四方面第四种可能的实现方式中,还包括:第二依赖度更新单元,用于每更新完一个所述第二数据块,更新所述原始数据块的依赖度。
[0031] 第五方面,本申请提供了一种终端,包括:处理器;存储器,用于存储计算机可执行指令;当所述处理器执行所述计算机可执行指令时,执行如前述第一方面及第一方面任一种可能的实现方式的方法,根据获取的分块差分升级包和旧固件版本镜像完成原地差分升级,获得新固件版本镜像。
[0032] 第六方面,本申请提供了一种终端,包括:处理器;存储器,用于存储计算机可执行指令;当所述处理器执行所述计算机可执行指令时,执行如前述第二方面及第二方面任一种可能的实现方式的方法,根据新固件版本镜像和旧固件版本镜像生成分块差分升级包。
[0033] 第七方面,本申请提供一种计算机存储介质,内含计算机可读指令,所述计算机可读指令在被一个或多个处理器执行后用于实现前述第一方面及第一方面任一种可能的实现方式的方法。
[0034] 第八方面,本申请提供一种计算机存储介质,内含计算机可读指令,所述计算机可读指令在被一个或多个处理器执行后用于实现前述第二方面及第二方面任一种可能的实现方式的方法。附图说明
[0035] 为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0036] 图1为传统技术中差分升级方法的示意图;
[0037] 图2为本申请实施例提供的一种固件升级方法的流程示意图;
[0038] 图3为本申请实施例提供的一种为数据块添加块标识的示意图;
[0039] 图4为本申请实施例提供的一种初始差分升级包拆分后的示意图;
[0040] 图5为本申请实施例提供的另一种固件升级方法的流程示意图;
[0041] 图6为本申请实施例提供的一种固件升级装置示意图;
[0042] 图7为本申请实施例提供的另一种固件升级装置示意图;
[0043] 图8为本申请实施例提供的一种终端的结构示意图;
[0044] 图9为本申请实施例提供的另一种终端的结构示意图。

具体实施方式

[0045] 为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
[0046] 为了能够更好的对本申请提供的技术方案进行说明,首先对本申请实施例中生成分块差分升级包和根据差分升级包进行原地差分升级的终端进行说明。本实施例中生成差分升级包的终端为PC制作端,根据差分升级包进行原地差分升级的终端为物联网端侧瘦设备。PC制作端中存储有物联网端侧瘦设备当前的旧固件版本镜像和需要更新的新固件版本镜像,通过旧固件版本镜像和新固件版本镜像生成分块差分升级包,PC制作端将生成的分块差分升级包上传到服务器。物联网端侧瘦设备需要进行固件版本升级时,从服务器中下载分块差分升级包,根据分块差分升级包和当前设备中的旧固件版本镜像,实现原地差分升级,将物联网端侧瘦设备的旧固件版本升级为新固件版本。
[0047] 图2为本本申请实施例提供的一种固件升级方法的流程示意图,参见图2,所述固件升级方法包括:
[0048] S101,根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包。
[0049] 本申请实施中制作端将新固件版本镜像和旧固件版本镜像进行进行比对,确定出新固件版本镜像与新固件版本镜像的差异数据,基于该差异数据生成初始差分升级包。也就是说,当前生成的差分升级包与传统中的差分升级包是一致的,该差分升级包中携带的数据仅表征新固件版本镜像和旧固件版本镜像之间的差异,初始差分升级包可以根据内部的差异数据和旧固件版本镜像获得新固件版本镜像。
[0050] S102,将新固件版本镜像拆分为第一预设长度的第一数据块。
[0051] 在S101中生成的初始差分升级包中携带的差异数据虽然可以表征新固件版本镜像和旧固件版本镜像之间的差异,但是差异数据可能存在两种不同的类型,一种差异数据是新固件版本镜像相比旧固件版本镜像增加的数据,根据旧固件版本镜像中的数据也无法获得上述差异数据。另一种差异数据虽然也是新固件版本镜像相比旧固件版本镜像增加的数据,但是可以通过旧固件版本镜像中的数据进行转换获得。如果初始差分升级包中携带的差异数据类型为后者,则可以将差分升级包中对应该种类型数据的部分替换为操作指令,进而可以减小初始差分升级包的数据长度。
[0052] 为此,本实施例在获得初始差分升级包之后,将新固件版本镜像按照预设长度进行拆分,将新固件版本镜像拆分为多个第一数据块,第一数据块为新固件版本进行拆分后的任一数据块。本实施例中拆分新固件版本镜像的预设长度可以根据实际需要进行设定,例如可以设定为2M、4M、8M、16M等等,具体拆分长度根据新固件版本镜像的长度而定,本实施例不做具体限定。
[0053] 将新固件版本镜像拆分完毕后,为每个第一数据块添加块标识,所述块标识用于确定每个第一数据块在新固件版本镜像中的顺序关系。如图3所示,将新固件版本镜像从镜像文件头位置开始进行拆分,拆分后,将对应镜像文件头位置的第一数据块添加块标识1,表示该第一数据块是在新固件版本镜像中的文件头位置,相应的对后续每个第一数据块按照顺序依次添加块标识2、3…n,块标识为n对应的第一数据块为新固件版本镜像中的文件末端位置。
[0054] S103,根据生成第一数据块对应的初始差分升级包的数据区域将初始差分升级包进行拆分获得第二数据块。
[0055] 在S102中对新固件版本镜像进行了拆分,为了实现对初始差分数据包中的差异数据进行分析,确定差异数据是否可以根据旧固件版本镜像中的数据进行转换获得。本实施例进一步将初始差分升级包进行拆分。
[0056] 上述对新固件固件版本镜像的拆分是等长拆分,每个第一数据块的长度相同。但是通过初始差分升级包与旧固件版本生成新固件版本镜像时,生成每个第一数据块对应到初始差分升级包中的数据可能是不同的。例如,新固件版本镜像进行的长度是100M,按照预设长度为10M对新固件版本镜像进行拆分,则分为10个第一数据块。初始差分升级包为20M,对应10个第一数据块,需要将初始差分升级包拆分为10个块。假设初始差分升级包中生成第一个数据块的数据可能为3M,因此如果将初始差分升级包等长拆分则无法将初始差分升级包拆分后的数据块与第一数据块相对应。因此本实施例中根据生成第一数据块对应的初始差分升级包的数据区域将初始差分升级包进行拆分获得第二数据块,其中第二数据块为初始差分升级包拆分后的任一数据块。相应的,对初始差分升级包进行拆分后,也对每个第二数据块添加块标识,添加块标识的分配规则与对第一数据块添加块标识的一致,保证生成块标识为1的第一数据块对应的第二数据块的块标识也为1。
[0057] 具体地,按照第一数据块的块标识,依次确定初始差分升级包中生成每个第一数据块对应的字段范围,将每个字段范围的末地址作为初始差分升级包的拆分点,将初始差分升级包拆分为多个第二数据块。如图4所示,新固件版本镜像进行的长度是100M,按照预设长度为10M对新固件版本镜像进行拆分,获得10个长度为10M的第一数据块。初始差分升级包为20M,初始差分升级包中对应第一个第一数据块到第十个第一数据块的字段范围依次0-3M,3M-4M,4M-7M,7M-9M,9M-9.5M,9.5M-11M,11-13M,13M-17M,17M-19M,19M-20M。由上述可知,按照第一数据块的块标识,生成第一数据块对应初始差分升级包的数据区域的长度依次为3M,1M,3M,2M,0.5M,1.5M,2M,4M,2M,1M。因此,对初始差分升级包拆分后,第二数据块按照块标识对应的长度依次为3M,1M,3M,2M,0.5M,1.5M,2M,4M,2M,1M。
[0058] S104,确定第二数据块对旧固件版本镜像中每个原始数据块的依赖度。
[0059] 将初始差分升级包拆分完毕后,确定获得第二数据块中的部分或全部数据是否依赖旧固件版本镜像中的原始数据块,其中,原始数据块的长度也是无法确定的。
[0060] 如果根据第一个第二数据块中的部分数据可以通过旧固件版本镜像中字段范围为2M-3M的原始数据块转换获得,此时原始数据块的长度为1M。第二个第二数据块中的部分数据可以通过旧固件版本镜像中字段范围为2M-3M和5M-7M的两个原始数据块转换获得。由上述可知,原始数据块的长度是不确定的,而且同一个原始数据块的依赖程度也是不同的。
[0061] 上述旧固件版本镜像中字段范围为2M-3M的原始数据块需要用到两次,因此依赖度为2。旧固件版本镜像中字段范围为5M-7M的原始数据块用到一次,依赖度为1。如果后续还会再次用到旧固件版本镜像中字段范围为2M-3M的原始数据块,则将该原始数据块的依赖度加1,直至所有的第二数据块确定完毕。
[0062] S105,根据依赖度更新第二数据块,获得分块差分升级包。
[0063] 更新每个第二数据块之前,确定根据原始数据块获得第二数据块中部分或全部数据对应的操作指令,操作指令包括:平移原始数据块到指定字段位置,此时第二数据块中部分或全部数据只是某个原始数据块对应的数据,只是进行平移获得。将原始数据块的预设区域的数据进行删除,此时第二数据块中部分或全部数据需要根据某个原始数据块中的部分数据进行删除,然后将剩余的数据进行拼接获得第二数据块。将原始数据块按照指定路径进行变换,此时第二数据块中部分或全部数据需要根据原始数据块中的数据进行变化获得。
[0064] 确定根据原始数据块获得第二数据块中的部分或全部数据的操作指令后,将二数据块中的全部或部分数据进行删除,替换为操作指令。每次更新完一个第二数据块,原始数据块的依赖度就会发生变化,因此需要对每个原始数据块的依赖度进行更新。
[0065] 一个示意性实施例,如果第一个第二数据块的长度为3M,其中有2M的数据可以根据旧固件版本镜像中字段范围为5M-7M的原始数据块进行数据变换获得,则将该第二数据块中对应2M的数据删除,添加指令以只是删除的2M数据可以根据旧固件版本镜像中字段范围为5M-7M的原始数据块进行数据变换获得。此时该第二数据块的长度从3M变为接近1M,从而使得差分升级包中的数据量变小,但是不会影响后续升级。
[0066] 由上述实施例可知,本实施例提供的固件升级方法,首先将初始差分升级包进行分块,然后将分块获得的初始差分升级包数据块中的部分或全部的数据通过操作指令进行替代,进而减小了差分升级包对Flash的占用空间。
[0067] 对应上述实施例提供的固件升级方法生成了一个分块差分升级包,本申请还提供了另一种固件升级方法,用于当终端设备获取所述分块差分升级包后,根据分块差分升级包进行固件升级,将终端设备中的旧固件版本升级为新固件版本。
[0068] 图5为本申请实施例提供的另一种固件升级方法,所述固件升级方法包括:
[0069] S201,依次获取分块差分升级包每个数据块中的第一升级数据和操作指令。
[0070] 在上述实施例中生成的分块差分升级包,对分块差分升级包中每个分块进行了更新,以使得分块差分升级中的数据量变小,但至少保证终端使用差分升级包可以完成正常的固件升级。
[0071] 其中分块差分升级包中的数据块如果存在第一升级数据,则说明第一升级数据首先是新固件版本镜像相比旧固件版本镜像增加的数据,其次第一升级数据是无法通过旧固件版本镜像中数据通过任何操作获得。而操作指令则是用于指示可以根据旧固件版本镜像中的数据获得所述第二升级数据,初始状态分块差分升级包中的数据块应该同时包含第一升级数据和第二升级数据,但是第二升级数据可以根据旧固件版本镜像中的数据获得,因此将第二升级数据用操作指令代替。其中,第一升级数据和第二升级数据组成了新固件版本镜像和旧固件版本镜像的差异数据,根据差异数据和旧固件版本镜像可以获得新固件版本镜像。
[0072] S202,将第一数据按照操作指令在旧固件版本镜像中转换为第二升级数据。
[0073] 本实施例中,第一数据为旧固件版本镜像中任一依赖度不为0的数据,依赖度用指示转换为第二升级数据需要第一数据的次数。例如转换获得3个分块差分升级包数据块中的第二升级数据都需要用到一个第一数据,则该第一数据的依赖度为3。
[0074] 为了获得第二升级数据,首先从操作指令中获取操作指令指示获得第二升级数据需要的第一数据在旧固件版本镜像中的字段范围。根据所述字段范围从旧固件版本镜像中确定第一数据,按照操作指令中的转换路径在旧固件版本镜像中将第一数据转换为第二升级数据。
[0075] 由于根据第一数据转换获得第二升级数据是在旧固件版本镜像中完成,如果直接对第一数据进行操作,可能会破坏第一数据原有的数据结构和第一数据所在的字段位置。因此本实施例中,在旧固件版本镜像中确定一个备份区,备份区为旧固件版本镜像中的待删除的数据对应的数据区域,具体的待删除的数据为旧固件版本镜像相比新固件版本镜像不需要的数据,该部分数据需要被升级数据覆盖。将第一数据复制到备份区,按照转换路径在备份区内将第一数据转换为第二升级数据。其中,每生成一个第二升级数据,需要更新第一数据的依赖度。
[0076] 一个示意性实施例,分块差分升级包中的一个数据块包含1M的第一升级数据和一条操作指令,所述操作指令为将旧固件版本镜像中字段范围5M-7M对应的数据中的6M-6.5M的数据进行删除,然后将剩余的两端数据进行数据拼接获得第二升级数据,然后将第二上级数据覆盖旧固件版本镜像中5M-6.5M字段范围,将第一升级数据覆盖旧固件版本镜像6.5M-7.5M字段范围。此时首先需要对旧固件版本镜像中字段范围5M-7M对应的第一数据进行数据删除操作,但是如果该第一数据的依赖度为3,因此后续还会用到该第一数据,因此将该第一数据复制到备份区进行操作,既可以获得对应的第二升级数据,还不会对原始的第一数据结构造成破坏。
[0077] S203,控制所述第一升级数据和所述第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。
[0078] 由上述可知,在备份区中生成第二升级数据,第二升级数据可以直接在旧固件版本镜像中进行平移到指定的字段位置,第一升级数据也可以从分块差分升级包中数据块中获得。但是首先要保证第一升级数据和第二升级数据待覆盖的待升级数据区域中不存在任何第一数据。如果存在第一数据,将其覆盖后,将不能保证后续的升级。
[0079] 一个示意性实施例,分块差分升级包中的一个数据块包含1M的第一升级数据和一条操作指令,所述操作指令为将旧固件版本镜像中3M-5M字段范围对应的数据平移覆盖到旧固件版本镜像中10M-12M字段范围,并且将1M的第一升级数据覆盖旧固件版本镜像的12M-13M字段范围。因此本实施例中,旧固件版本镜像中字段范围3M-5M对应的数据即为第二升级数据,为旧固件版本镜像中存在的数据,只是对应到新固件版本镜像中是在12M-13M字段范围。但是如果旧固件版本镜像的12M-13M字段范围存在其他第一数据,此时直接平移会将覆盖其他第一数据。
[0080] 因此本实施例中还是首先将旧固件版本镜像中3M-5M字段范围对应的第一数据先复制到备份区,这样既可以防止该第一数据后续还会需要,直接平移导致固件升级不能顺利进行。另一方面,可以防止直接平移会覆盖其他第一数据,导致后续固件升级无法顺利进行。
[0081] 如果旧固件版本镜像的10M-12M字段范围中存在第一数据,且旧固件版本镜像中3M-5M字段范围对应的第一数据依赖度为1,则经过本次平移后依赖度即变为0。也可以将旧固件版本镜像的10M-12M字段范围对应的第一数据平移到备份区中保存,并且记录此时旧固件版本镜像的原10M-12M字段范围对应的第一数据当前的字段范围。例如备份区字段范围是旧固件版本镜像中60M-70M字段范围,则可以将旧固件版本镜像的原12M-13M字段范围对应的第一数据平移到旧固件版本镜像中60M-62M字段范围。
[0082] 如果在备份区生成第二升级数据后,且确定出第一升级数据和第二升级数据对应的旧固件版本镜像中的待升级数据区域中不存在第一数据,直接将第一升级数据和第二升级数据组成的差异数据覆盖待升级数据区域,完成旧固件版本镜像中的部分数据升级。直至对旧固件版本镜像中的所有待升级数据区域完成相应升级,此时的旧固件版本镜像顺利变为新固件版本镜像,终端中的旧固件升级为新固件。
[0083] 由上述实施例可知,本实施例提供的固件升级方法,根据差分升级包中的操作指令在旧固件版本镜像中将操作指令指示的第一数据转换为第二升级数据,根据第一升级数据和第二升级数据在旧固件版本镜像中完成升级为新固件版本镜像的操作。整个升级过程无需额外生成新固件版本镜像,无需为新固件版本镜像预留存储空间;而且分块差分升级包相比传统的差分升级包利用操作指令替换了传统差分升级包中的部分或全部数据,进一步减小了存储分块差分升级包的闪存开销,进而使得升级过程中闪存空间资源占用小。
[0084] 与上述实施例提供的一种固件升级方法相对应,本申请实施例还提供了一种固件升级装置。图6为本申请实施例提供的一种固件升级装置的示意图,参见图6,固件升级装置30包括:获取模块301、第一拆分模块302、第二拆分模块303、确定模块304和更新模块305。
[0085] 获取模块301,用于根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包。第一拆分模块302,用于将新固件版本镜像拆分为第一预设长度的第一数据块,第一数据块为新固件版本镜像拆分后的任一数据块。第二拆分模块303,用于根据生成第一数据块对应的初始差分升级包的数据区域将初始差分升级包进行拆分获得第二数据块,第二数据块为初始差分升级包拆分后的任一数据块。确定模块304,用于确定第二数据块对旧固件版本镜像中每个原始数据块的依赖度。更新模块305,用于根据依赖度更新第二数据块,获得分块差分升级包,更新第二数据块包括:将第二数据块中的部分或全部数据更换为操作指令,操作指令用于指示根据原始数据块生成第二数据块中被更换为操作指令的数据。
[0086] 在一个示意性实施例中,第二拆分模块303,包括:第一确定单元和拆分单元。
[0087] 第一确定单元,用于确定每个第一数据块对应初始差分升级包的字段范围。拆分单元,用于将每个字段范围的末地址作为初始差分升级包的拆分点,拆分初始差分升级包。
[0088] 确定模块304,包括:第一依赖度更新单元,用于如果根据原始数据块可以获得第二数据块中部分或全部数据,更新原始数据块的依赖度;其中,所述第二数据块中的数据可以通过一个或多个所述原始数据块获得。
[0089] 更新模块305,包括:第二确定单元和更新单元。
[0090] 第二确定单元,用于确定根据原始数据块获得第二数据块中部分或全部数据对应的操作指令,操作指令包括以下一种或多种:平移原始数据块到指定字段位置、将原始数据块的预设区域的数据进行删除、将原始数据块按照指定路径进行变换;更新单元,用于将操作指令添加到第二数据块并删除所述部分或全部数据。
[0091] 本申请实施例提供的固件升级装置30还包括:第二依赖度更新单元,用于每更新完一个第二数据块,更新原始数据块的依赖度。
[0092] 本申请实施例提供的固件升级装置,将分块获得的初始差分升级包数据块中的部分或全部的数据通过操作指令进行替代,进而减小了差分升级包对Flash的占用空间。
[0093] 与上述实施例提供的另一种固件升级方法相对应,本申请实施例还提供了另一种固件升级装置。图7为本申请实施例提供的另一种固件升级装置的示意图,参见图7,固件升级装置40包括:获取模块401、数据转化模块402和升级模块403。
[0094] 获取模块401,用于依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据,第一升级数据无法通过旧固件版本镜像获得;操作指令用于指示根据旧固件版本镜像中的数据获得第二升级数据,第一升级数据和第二升级数据组成新固件版本镜像和旧固件版本镜像的差异数据。数据转化模块402,用于将操作指令中指示的第一数据按照操作指令在旧固件版本镜像中转换为第二升级数据,第一数据为旧固件版本镜像中任一依赖度不为0的数据,依赖度用指示转换为第二升级数据需要第一数据的次数,其中,每生成一个第二升级数据,更新第一数据的依赖度。升级模块403,用于当旧固件版本镜像中的待升级数据区域中不存在第一数据时,控制差异数据覆盖待升级数据区域。
[0095] 在一个示意性实施例中,所述数据转化模块包括:获取单元、确定单元和数据转换单元。
[0096] 获取单元,用于获取操作指令指示对应的第一数据的字段范围。确定单元,用于根据字段范围从旧固件版本镜像中确定第一数据。数据转换单元,用于按照操作指令中的转换路径在旧固件版本镜像中将第一数据转换为第二升级数据。
[0097] 数据转换单元包括:确定子单元、数据平移子单元和数据转换子单元。
[0098] 确定子单元,用于在旧固件版本镜像中确定一个备份区,备份区为旧固件版本镜像中的待删除的数据对应的数据区域。数据平移子单元,用于将第一数据复制到备份区。数据转换子单元,用于按照转换路径在备份区内将第一数据转换为第二升级数据。
[0099] 本申请实施例提供的固件升级装置40还包括:第一数据备份单元和第二数据备份单元。其中:
[0100] 第一数据备份单元,用于如果待升级数据区域中存在第一数据,将第一升级数据放入所述备份区。
[0101] 第二数据备份单元,用于如果待升级数据区域中存在第一数据,将第一数据放入所述备份区。
[0102] 本申请实施例提供的固件升级装置,获取模块401获得第一升级数据和操作指令,数据转化模块402在旧固件版本镜像中将操作指令指示的第一数据转换为第二升级数据,升级模块403根据第一升级数据和第二升级数据在旧固件版本镜像中完成升级为新固件版本镜像的操作。整个升级过程无需额外生成新固件版本镜像,无需为新固件版本镜像预留存储空间;而且分块差分升级包相比传统的差分升级包利用操作指令替换了传统差分升级包中的部分或全部数据,进一步减小了存储分块差分升级包的闪存开销,进而使得升级过程中闪存空间资源占用小。
[0103] 图8为本申请实施例提供的一种终端的结构示意图。参见图8,终端50包括:处理器501、存储器502和通信接口503。
[0104] 存储器502,用于存储计算机可执行指令,当处理器501执行所述计算机可执行指令时,执行以下操作:
[0105] 根据新固件版本镜像和旧固件版本镜像的差异数据获得初始差分升级包。
[0106] 将新固件版本镜像拆分为第一预设长度的第一数据块。
[0107] 根据生成第一数据块对应的初始差分升级包的数据区域将初始差分升级包进行拆分获得第二数据块。
[0108] 确定第二数据块对旧固件版本镜像中每个原始数据块的依赖度。
[0109] 根据依赖度更新第二数据块,获得分块差分升级包。
[0110] 处理器501、存储器502和通信接口503可以通过总线相互连接;总线可以分为地址总线数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0111] 处理器501可以是通用处理器,例如,中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器也可以是微处理器(MCU)。处理器还可以包括硬件芯片。上述硬件芯片可以是专用集成电路(ASIC),可编程逻辑器件(PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(CPLD),现场可编程逻辑阵列(FPGA)等。
[0112] 存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0113] 通信接口503用于终端50向服务器上传生成的分块差分升级包。所述通信接口包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口包括PLC接口,还可以包括以太网接口。无线通信接口可以为WLAN接口,蜂窝网络通信接口或其组合等。
[0114] 终端50还可以包括电源组件,用于为PLC芯片的各种组件提供电。电源组件可以包括电源管理系统,一个或多个电源。
[0115] 图9为本申请实施例提供的另一种终端的结构示意图。参见图9,终端60包括:处理器601、存储器602和通信接口603。
[0116] 存储器602,用于存储计算机可执行指令,当处理器601执行所述计算机可执行指令时,执行以下操作:
[0117] 依次获取分块差分升级包每个数据块中的第一升级数据和操作指令,第一升级数据为新固件版本镜像相比旧固件版本镜像增加的数据;操作指令用于指示根据所述旧固件版本镜像中的数据获得第二升级数据。
[0118] 将第一数据按照操作指令在旧固件版本镜像中转换为第二升级数据,第一数据为所述旧固件版本镜像中的数据;
[0119] 控制第一升级数据和第二升级数据覆盖所述旧固件版本镜像中的待升级数据区域。
[0120] 处理器601、存储器602和通信接口603可以通过总线相互连接;总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0121] 上述实施例中处理器601可以是通用处理器,例如,中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器也可以是微处理器(MCU)。处理器还可以包括硬件芯片。上述硬件芯片可以是专用集成电路(ASIC),可编程逻辑器件(PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(CPLD),现场可编程逻辑门阵列(FPGA)等。
[0122] 存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0123] 通信接口603用于终端60下载分块差分升级包,实现固件版本更新。所述通信接口包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口包括PLC接口,还可以包括以太网接口。无线通信接口可以为WLAN接口,蜂窝网络通信接口或其组合等。
[0124] 终端60还可以包括电源组件,用于为PLC芯片的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源。
[0125] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0126] 本申请说明书中各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0127] 以上所述的本申请实施方式并不构成对本申请保护范围的限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈