边缘设备软件升级方法、装置、设备及存储介质与流程

文档序号:30304550发布日期:2022-06-05 03:55阅读:111来源:国知局
边缘设备软件升级方法、装置、设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种边缘设备软件升级方法、装置、设备及存储介质。


背景技术:

2.现如今,人工智能(artificial intelligence,ai)技术已经广泛被应用,而为了避免云端计算压力过大,会在用户侧较近的区域设置边缘设备,并在边缘设备设置本地ai软件,用于分散运算流程,而经常会出现由于客户的ai场景变动频繁,需要对边缘设备中的本地软件进行升级的情况,传统技术中,由于本地ai软件中的ai场景与系统库支持代码耦合在一起,使得即使较小的ai场景变动也需要升级整个本地软件包,从而导致对本地软件升级较慢,执行效率低。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种边缘设备软件升级方法、装置、设备及存储介质,旨在解决现有技术对边缘设备中本地ai软件升级执行效率低的技术问题。
5.为实现上述目的,本发明提供了一种边缘设备软件升级方法,所述方法包括以下步骤:
6.根据云端发送的软件升级指令确定软件版本信息及软件升级类型;
7.读取边缘设备中的本地软件对应的本地版本信息;
8.若所述软件升级类型为增量插件升级,且所述软件版本信息与所述本地版本信息不一致,则从云端获取升级插件包;
9.根据所述升级插件包对所述边缘设备进行软件升级。
10.可选的,所述根据所述升级插件包对所述边缘设备进行软件升级的步骤,包括:
11.获取所述边缘设备中的本地软件的本地配置文件;
12.对所述升级插件包进行解析,获得插件配置数据;
13.根据所述插件配置数据对所述本地配置文件进行配置更新;
14.在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。
15.可选的,所述获取所述边缘设备中的本地软件的本地配置文件的步骤,包括:
16.读取所述升级插件包的软件包名,对所述软件包名进行拆解,获得目标软件标识;
17.根据所述目标软件标识在所述边缘设备中查找对应的本地软件;
18.获取所述本地软件的安装信息,根据所述安装信息在所述边缘设备中查找所述本地软件的本地配置文件。
19.可选的,所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤之前,还包括:
20.检测所述本地配置文件中是否存在自定义配置文件;
21.若所述本地配置文件中不存在所述自定义配置文件,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
22.可选的,所述检测所述本地配置文件中是否存在自定义配置文件的步骤之后,还包括:
23.若所述本地配置文件中存在所述自定义配置文件,则获取预设提示模板;
24.根据所述预设提示模板生成升级错误提示,将所述升级错误提示发送至云端进行展示。
25.可选的,所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤之前,还包括:
26.读取所述升级插件包的软件包名,并从所述插件配置数据中读取插件信息;
27.将所述插件信息按照预设包名生成规则进行拼接,获得插件名称;
28.将所述插件名称与所述软件包名进行比较;
29.若所述插件名称与所述软件包名一致,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
30.可选的,所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤,包括:
31.检测所述本地配置文件中是否存在插件配置文件;
32.若所述本地配置文件中存在所述插件配置文件,则获取所述插件配置文件对应的文件哈希值,并获取所述插件配置数据对应的数据哈希值;
33.将所述文件哈希值与所述数据哈希值进行对比;
34.若所述文件哈希值与所述数据哈希值不一致,则根据所述插件配置数据对所述插件配置文件进行更新。
35.可选的,所述检测所述本地配置文件中是否存在插件配置文件的步骤之后,还包括:
36.若不存在,则根据所述插件配置数据构建插件配置文件;
37.将所述插件配置文件添加至所述本地配置文件同级目录中。
38.可选的,所述读取边缘设备中的本地软件对应的本地版本信息的步骤之后,还包括:
39.若所述软件升级类型为全量软件升级,检测所述边缘设备中是否已安装本地软件;
40.若所述边缘设备中未安装本地软件,则从云端下载所述软件版本信息对应的软件安装包;
41.根据所述软件安装包对所述边缘设备进行软件安装。
42.可选的,所述检测所述边缘设备中是否已安装本地软件的步骤之后,还包括:
43.若所述边缘设备中已安装本地软件,则获取所述本地软件的本地版本信息及本地配置文件;
44.在所述本地版本信息与所述软件版本信息不一致时,从云端下载所述软件版本信息对应的软件安装包;
45.从所述软件安装包中提取整包配置文件;
46.若所述整包配置文件与所述本地配置文件不一致,则根据所述软件安装包对所述边缘设备进行软件安装。
47.可选的,所述根据所述升级插件包对所述边缘设备进行软件升级的步骤之后,还包括:
48.在软件升级完毕时,读取所述边缘设备中本地软件的本地配置文件;
49.将所述本地配置文件划分为整包配置文件及插件配置文件;
50.加载所述整包配置文件中的数据,获得软件配置数据;
51.根据所述插件配置文件中的数据对所述软件配置数据进行更新,获得软件启动配置;
52.根据所述软件启动配置重启所述边缘设备中的本地软件。
53.此外,为实现上述目的,本发明还提出一种边缘设备软件升级装置,所述边缘设备软件升级装置包括以下模块:
54.信息确定模块,用于根据云端发送的软件升级指令确定软件版本信息及软件升级类型;
55.信息读取模块,用于读取边缘设备中的本地软件对应的本地版本信息;
56.数据获取模块,用于若所述软件升级类型为增量插件升级,且所述软件版本信息与所述本地版本信息不一致,则从云端获取升级插件包;
57.软件升级模块,用于根据所述升级插件包对所述边缘设备进行软件升级。
58.可选的,所述软件升级模块,还用于获取所述边缘设备中的本地软件的本地配置文件;对所述升级插件包进行解析,获得插件配置数据;根据所述插件配置数据对所述本地配置文件进行配置更新;在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。
59.可选的,所述软件升级模块,还用于读取所述升级插件包的软件包名,对所述软件包名进行拆解,获得目标软件标识;根据所述目标软件标识在所述边缘设备中查找对应的本地软件;获取所述本地软件的安装信息,根据所述安装信息在所述边缘设备中查找所述本地软件的本地配置文件。
60.可选的,所述软件升级模块,还用于检测所述本地配置文件中是否存在自定义配置文件;若所述本地配置文件中不存在所述自定义配置文件,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
61.可选的,所述软件升级模块,还用于若所述本地配置文件中存在所述自定义配置文件,则获取预设提示模板;根据所述预设提示模板生成升级错误提示,将所述升级错误提示发送至云端进行展示。
62.可选的,所述软件升级模块,还用于读取所述升级插件包的软件包名,并从所述插件配置数据中读取插件信息;将所述插件信息按照预设包名生成规则进行拼接,获得插件名称;将所述插件名称与所述软件包名进行比较;若所述插件名称与所述软件包名一致,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
63.可选的,所述软件升级模块,还用于检测所述本地配置文件中是否存在插件配置文件;若所述本地配置文件中存在所述插件配置文件,则获取所述插件配置文件对应的文件哈希值,并获取所述插件配置数据对应的数据哈希值;将所述文件哈希值与所述数据哈
希值进行对比;若所述文件哈希值与所述数据哈希值不一致,则根据所述插件配置数据对所述插件配置文件进行更新。
64.此外,为实现上述目的,本发明还提出一种边缘设备,所述边缘设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的边缘设备软件升级程序,所述边缘设备软件升级程序被处理器执行时实现如上所述的边缘设备软件升级方法的步骤。
65.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有边缘设备软件升级程序,所述边缘设备软件升级程序执行时实现如上所述的边缘设备软件升级方法的步骤。
66.本发明通过根据云端发送的软件升级指令确定软件版本信息及软件升级类型;读取边缘设备中的本地软件对应的本地版本信息;若软件升级类型为增量插件升级,且软件版本信息与本地版本信息不一致,则从云端获取升级插件包;根据升级插件包对边缘设备进行软件升级。由于可在软件升级类型为增量插件升级,且软件版本信息与本地版本信息不一致时从云端获取对本地软件中部分插件进行升级的升级插件包,然后根据升级插件包对边缘设备中本地软件的部分插件进行升级,可以避免每次升级都需要进行全量的软件升级,减少了需要升级的数据量,提高了对边缘设备进行软件升级的执行效率。
附图说明
67.图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
68.图2为本发明边缘设备软件升级方法第一实施例的流程示意图;
69.图3为本发明边缘设备软件升级方法第二实施例的流程示意图;
70.图4为本发明边缘设备软件升级方法第三实施例的流程示意图;
71.图5为本发明边缘设备软件升级装置第一实施例的结构框图。
72.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
73.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
74.参照图1,图1为本发明实施例方案涉及的硬件运行环境的边缘设备结构示意图。
75.如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
76.本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
77.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及边缘设备软件升级程序。
78.在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在边缘设备中,所述电子设备通过处理器1001调用存储器1005中存储的边缘设备软件升级程序,并执行本发明实施例提供的边缘设备软件升级方法。
79.本发明实施例提供了一种边缘设备软件升级方法,参照图2,图2为本发明一种边缘设备软件升级方法第一实施例的流程示意图。
80.本实施例中,所述边缘设备软件升级方法包括以下步骤:
81.步骤s10:根据云端发送的软件升级指令确定软件版本信息及软件升级类型。
82.需要说明的是,本实施例的执行主体可以是所述边缘设备,也可以是可对边缘设备进行控制的其他控制设备,边缘设备可以是服务器或云服务器,还可以是其他可实现相同或相似功能的电子设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以边缘设备为例对本发明边缘设备软件升级方法进行说明。
83.需要说明的是,云端可以是对各边缘设备进行统一控制的云端软件平台。软件升级指令可以是在需要对边缘设备中的本地ai软件进行升级时由云端发送至边缘设备的指令。根据软件升级指令确定软件版本信息及软件升级类型可以是对软件升级指令进行解析,获得软件版本信息及软件升级类型,其中,软件升级类型分为增量插件升级及全量软件升级两种,软件版本信息可以是需要升级至的本地软件的版本号或本地软件中部分插件的版本号。
84.当然,在实际场景中,云端可能同时管理大量的边缘设备,若在软件升级时均需要云端发送指令至边缘设备,可能会导致云端的压力较大,为了降低云端的处理压力,也可以在云端设置一软件版本接口,并在软件版本接口中公布各边缘设备对应的本地版本信息及软件升级类型,由边缘设备主动从软件版本接口读取本地版本信息及软件升级类型,例如:每隔1分钟,边缘设备会从软件版本接口读取一次本地版本信息及软件升级类型。
85.步骤s20:读取边缘设备中的本地软件对应的本地版本信息。
86.需要说明的是,本地软件可以是安装在边缘设备中的本地ai软件。读取边缘设备中本地软件对应的本地版本信息可以是获取边缘设备中安装的本地ai软件的软件配置信息,从软件配置信息中读取本地软件的软件版本信息作为本地软件对应的本地版本信息。
87.在具体实现中,由于ai软件中的ai场景可能会随着客户的需求随时变动,但是,系统库支持代码依赖一般不会发生变化,即大部分场景下需要更新的其实仅仅是部分ai场景(例如:ai场景分为吸烟检测、安全帽检测、打电话检测等多种,需要更新的仅为吸烟检测场景),因此,可以将ai软件中的ai场景对应的代码与系统库支持代码进行分离,使得不同的ai场景的代码相互分离,在各ai场景的代码中设置对应的插件配置文件,然后将各ai场景的代码打包为不同的插件包,并将ai软件中对ai场景的加载修改为插件化加载,则后续在对ai场景进行更新时仅需对ai场景对应的插件包进行更新,在添加ai场景时也仅需添加新的ai插件包即可。其中,插件配置文件中可以包括插件的配置数据,配置数据可以包括插件名称、插件版本号、插件依赖、产品平台类型等数据,例如:假设插件配置文件的文件名为mainfest.json,其中包含的数据为:
[0088][0089][0090]
则表示该插件的插件名称为smoke,版本号为1.0.0,产品平台类型为bm,依赖于名称为person的插件包,且对person最低的依赖版本为bm-1.0.44-ai。
[0091]
在实际使用中,边缘设备中的本地软件可能包含有多个不同的ai场景插件,而实际更新中可能仅需更新部分插件,此时软件版本信息可能是本地软件中插件的版本号,而并非本地软件的版本号,为了准确的进行版本号对比,此时可以根据软件版本信息确定对应的插件,然后读取该本地软件中该插件的插件版本号作为本地软件对应的本地版本信息,例如:假设软件版本信息为“mask-1.0.0-20210804”,则表示需要对mask插件进行升级,且升级至的版本号为“1.0.0”,更新日期为“2021-08-04”,则此时可以读取mask插件的插件版本号作为本地软件对应的本地版本信息。
[0092]
步骤s30:若所述软件升级类型为增量插件升级,且所述软件版本信息与所述本地版本信息不一致,则从云端获取升级插件包。
[0093]
需要说明的是,若软件升级类型为增量插件升级,且软件版本信息及本地版本信息不一致,则表示此次更新是对边缘设备中本地软件中的部分插件进行升级,则表示需要对本地软件中的部分插件进行,因此,可以从云端获取升级插件包。其中,从云端获取升级插件包可以是从云端下载软件版本信息对应的升级插件包。
[0094]
进一步的,对边缘设备中的软件进行增量插件升级可以减少需要更新的数据量,提高软件升级的执行效率,但是,若是同时需要更新的插件过多,则整体需要执行多次,且管理会变得十分困难,则在需要更新的插件过多时,云端可以指定软件升级类型为全量软件升级,使用全量软件升级对边缘设备中的本地软件进行升级,而为了兼容此种升级方式,本实施例所述步骤s20之后,还可以包括:
[0095]
若所述软件升级类型为全量软件升级,检测所述边缘设备中是否已安装本地软件;
[0096]
若所述边缘设备中未安装本地软件,则从云端下载所述软件版本信息对应的软件安装包;
[0097]
根据所述软件安装包对所述边缘设备进行软件安装。
[0098]
需要说明的是,若软件升级类型为全量软件升级,则表示此时需要使用完整的软件安装包在边缘设备中安装本地软件或对边缘设备中已安装的本地软件进行升级,而安装本地软件和对已安装的本地软件进行升级的执行流程存在差异,为了确定如何进行处理,此时可以检测边缘设备中是否已安装本地软件。
[0099]
在具体实现中,检测边缘设备中是否已安装本地软件可以是在边缘设备的软件注册表中进行检测,是否存在本地软件的安装信息,若存在,则判定边缘设备中已安装本地软件;若不存在,则判定边缘设备中未安装本地软件。
[0100]
当然,若边缘设备可安装的本地软件存在多种,则此时可以根据软件版本信息确定目标软件标识,然后查找软件注册表中是否存在目标软件标识对应的安装信息,若存在,则判定边缘设备中已安装本地软件;若不存在,则判定边缘设备中未安装本地软件。
[0101]
可以理解的是,若边缘设备中未安装本地软件中未安装本地软件,则此时可以直接从云端下载所述软件版本信息对应的软件安装包,然后根据软件安装包对边缘设备进行软件安装。其中,根据软件安装包对边缘设备进行软件安装可以是将软件安装包解压至软件安装路径中,然后在边缘设备的软件注册表中添加相应的安装信息。
[0102]
进一步的,若边缘设备中已经安装有本地软件,则此时为了避免重复安装相同的软件,本实施例所述若所述软件升级类型为全量软件升级,检测所述边缘设备中是否已安装本地软件的步骤之后,还可以包括:
[0103]
若所述边缘设备中已安装本地软件,则获取所述本地软件的本地版本信息及本地配置文件;
[0104]
在所述本地版本信息与所述软件版本信息不一致时,从云端下载所述软件版本信息对应的软件安装包;
[0105]
从所述软件安装包中提取整包配置文件;
[0106]
若所述整包配置文件与所述本地配置文件不一致,则根据所述软件安装包对所述边缘设备进行软件安装。
[0107]
可以理解的是,若本地版本信息与软件版本信息不一致,则说明需要安装的软件并不是相同的软件,因此,可以从云端下载软件版本信息对应的软件安装包。
[0108]
在实际使用中,由于软件注册表中存储的安装信息是根据配置文件中的各项配置信息生成的,因此,若软件安装包中的整包配置文件与本地配置一致,则此时根据软件安装包对边缘设备进行软件安装可以是直接将软件安装包解压至边缘设备中本地软件的安装目录中,而不必对软件注册表中的相关安装信息进行修改。而若软件安装包中的整包配置文件与本地配置文件不一致,则在安装时还需要对软件注册表中的安装信息进行相应的修改,则此时根据软件安装包对边缘设备进行软件安装可以是将软件注册表中本地软件的安装信息清除,然后根据整包配置文件重新在软件注册表中添加安装信息,然后再将软件安装包解压至边缘设备中本地软件的安装目录中。
[0109]
步骤s40:根据所述升级插件包对所述边缘设备进行软件升级。
[0110]
需要说明的是,根据升级插件包对边缘设备进行软件升级可以是根据升级插件包对边缘设备中本地软件的插件进行升级。
[0111]
而在边缘设备的实际使用过程中,为了便于与其他设备进行交互,可以预先定义有对应的数据协议,边缘设备可以以预设的数据协议中约定的格式返回信息用于表示某项
功能是否开启,例如:假设边缘设备发送给其他设备的数据为:
[0112][0113][0114]
则表示,按钮名为“ai_anti_shake”,展示框类型为“switch”,展示框控制类型为“switch”,数据展示按钮类型为“bool”,展示框标题为“智能防抖”,开关状态为“false”,提示信息为“提示:智能防抖功能”。
[0115]
边缘设备还可以以预设的数据协议中约定的格式返回信息用于表示某项识别的识别结果,例如:假设边缘设备反馈给其他设备的数据格式可以为:
[0116][0117]
其中,category为物体的分类编号(id),取值为整型(int),conf为物体的阈值,取值为浮点型(float),rect为物体的标注框对象,类型为aicorerect类型。
[0118]
本实施例通过根据云端发送的软件升级指令确定软件版本信息及软件升级类型;读取边缘设备中的本地软件对应的本地版本信息;若软件升级类型为增量插件升级,且软件版本信息与本地版本信息不一致,则从云端获取升级插件包;根据升级插件包对边缘设备进行软件升级。由于可在软件升级类型为增量插件升级,且软件版本信息与本地版本信息不一致时从云端获取对本地软件中部分插件进行升级的升级插件包,然后根据升级插件包对边缘设备中本地软件的部分插件进行升级,可以避免每次升级都需要进行全量的软件升级,减少了需要升级的数据量,提高了对边缘设备进行软件升级的执行效率。
[0119]
参考图3,图3为本发明一种边缘设备软件升级方法第二实施例的流程示意图。
[0120]
基于上述第一实施例,本实施例边缘设备软件升级方法的所述步骤s40,包括:
[0121]
步骤s401:获取所述边缘设备中的本地软件的本地配置文件。
[0122]
需要说明的是,由于为了可对边缘设备中部分的ai场景插件进行升级,将ai软件中的ai场景代码插件化,并将插件化后的场景代码打包为不同的插件包,则此时为了保证修改后的ai软件可在边缘设备中作为本地软件可正常运行,需要在本地软件中添加本地配
置文件,本地配置文件中可以包括需要加载的各项插件包的信息,从而便于在本地软件启动时刻正常加载对应的ai场景,而本地配置文件会存储在本地软件的安装目录中,则此时获取边缘设备中本地软件的本地配置文件可以是获取边缘设备中本地软件的安装目录,在安装目录中查找本地软件的本地配置文件。
[0123]
进一步的,由于在实际使用中,边缘设备中可能安装有多个不同的ai软件,而为了对不同的ai软件进行区分,可以令升级插件包的软件包名中包含本地软件的软件标识,从而保证根据升级插件包的软件包名即可准确的查找到需要更新的本地软件,则此时本实施例所述步骤s401,可以包括:
[0124]
读取所述升级插件包的软件包名,对所述软件包名进行拆解,获得目标软件标识;
[0125]
根据所述目标软件标识在所述边缘设备中查找对应的本地软件;
[0126]
获取所述本地软件的安装信息,根据所述安装信息在所述边缘设备中查找所述本地软件的本地配置文件。
[0127]
需要说明的是,对软件包名进行拆解,获得目标软件标识可以是以预设分隔符对软件包名进行切割,获得切割结果,然后从切割结果中获取目标软件标识,例如:假设软件包名为“model-mask-1.0.0-20210804-bm.tar”,预设分隔符为
“‑”
,此时对软件包名进行切割获得的切割结果为“model”、“mask”、“1.0.0”、“20210804”、“bm.tar”,则此时可以确定目标软件标识为“model”。
[0128]
在实际使用中,根据目标软件标识在所述边缘设备中查找对应的本地软件可以是根据目标软件标识在边缘设备的软件注册表中查找对应的本地软件。其中,软件注册表可以包含有边缘设备中各本地软件的安装信息,安装信息可以包括软件标识、安装目录、安装时刻等信息。
[0129]
可以理解的是,安装信息中可以包括本地软件的安装目录,根据安装信息在所述边缘设备中查找本地软件的本地配置文件可以是根据安装信息确定本地软件的安装目录,在安装目录中查找本地软件的本地配置文件。
[0130]
步骤s402:对所述升级插件包进行解析,获得插件配置数据。
[0131]
需要说明的是,对升级插件包进行解析,获得插件配置数据可以是对升级插件包进行解析,获得插件名称、插件版本号、插件依赖、产品平台类型等数据,从而获得插件配置数据。
[0132]
步骤s403:根据所述插件配置数据对所述本地配置文件进行配置更新。
[0133]
需要说明的是,根据插件配置数据对本地配置文件进行配置更新可以是根据插件配置数据生成插件引用配置,然后将插件引用配置添加至本地配置文件中。其中,插件引用配置是用于引导本地软件加载升级插件包中包含的插件。
[0134]
在具体实现中,若在对本地软件进行升级时对配置数据的修改是采用配置覆盖的方式进行,则此时若是更新失败或新版本存在漏洞,在需要进行版本回滚时操作会十分繁琐,为了便于进行版本回滚,本实施例所述步骤s403,可以包括:
[0135]
检测所述本地配置文件中是否存在插件配置文件;
[0136]
若所述本地配置文件中存在所述插件配置文件,则获取所述插件配置文件对应的文件哈希值,并获取所述插件配置数据对应的数据哈希值;
[0137]
将所述文件哈希值与所述数据哈希值进行对比;
[0138]
若所述文件哈希值与所述数据哈希值不一致,则根据所述插件配置数据对所述插件配置文件进行更新。
[0139]
需要说明的是,为了便于进行版本回滚,可以将本地配置文件进行分类,分为插件配置文件及整包配置文件,其中,整包配置文件是首次在边缘设备中安装本地软件时生成的本地配置文件,插件配置文件可以是在进行增量插件升级时生成的本地配置文件。
[0140]
在实际使用中,本地软件加载配置文件中的配置数据时,会先加载整包配置文件中的配置数据,然后再加载插件配置文件中的配置数据,若整包配置文件与插件配置文件中存在配置项相同的配置数据,则插件配置文件中的配置数据会覆盖整包配置文件中的配置数据,整包配置文件及插件配置文件可以使用名称进行区分,例如:将整包配置文件命名为“model_cfg_new.json”,将插件配置文件命名为“scen_cfg.json”。
[0141]
需要说明的是,获取插件配置文件对应的文件哈希值可以是根据预设哈希算法对插件配置文件进行哈希运算,获得插件配置文件对应的文件哈希值。获取插件配置数据对应的数据哈希值可以是根据插件配置数据生成插件引用配置,然后通过预设哈希算法对插件引用配置进行哈希运算,从而获得插件配置数据对应的数据哈希值。
[0142]
可以理解的是,若文件哈希值与数据哈希值,则表示插件配置文件中的配置数据与根据插件配置数据生成的插件引用配置不同,则此时需要根据uc哈建配置数据对插件配置文件进行更新。
[0143]
在具体实现中,本实施例所述检测所述本地配置文件中是否存在插件配置文件的步骤之后,还可以包括:
[0144]
若不存在,则根据所述插件配置数据构建插件配置文件;
[0145]
将所述插件配置文件添加至所述本地配置文件同级目录中。
[0146]
可以理解的是,若本地配置文件中不存在插件配置文件,则表示本次是在本地软件安装之后的首次增量插件升级,则此时可以根据插件配置数据构建插件配置文件,然后将插件配置文件添加至本地配置文件同级目录中,使得本地软件可以根据插件配置文件中的配置数据加载对应的插件。
[0147]
进一步的,由于边缘设备为设置在用户侧的,其中的文件被修改的可能性很大,为了保证对本地软件升级之后,本地软件依旧可用,本实施例所述步骤s403之前,还可以包括:
[0148]
检测所述本地配置文件中是否存在自定义配置文件;
[0149]
若所述本地配置文件中不存在所述自定义配置文件,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0150]
需要说明的是,若本地配置文件中若存在自定义配置文件,则表示该边缘设备中的本地软件并未被修改,此时根据升级插件包对该边缘设备中的本地软件进行升级,因此,可以继续执行后续步骤。
[0151]
在实际使用中,在生成本地配置文件之后,可以读取配置文件中的配置数据,然后根据预设加密算法和配置数据生成校验码,然后将校验码添加至本地配置文件中。确定某配置文件是否为自定义配置文件可以是读取该配置文件中的配置数据及校验码,然后根据预设加密算法和读取到的配置数据生成验证码,然后将验证码与校验码进行比较,若验证码与校验码不一致,则可以判定该配置文件为自定义配置文件。其中,预设加密算法可以是
不可逆加密算法,例如:md5算法。
[0152]
在具体实现中,为了避免在边缘设备中的文件被修改后依旧对本地软件进行升级,从而导致升级后的本地软件无法正常运行的现象发生,本实施例所述检测所述本地配置文件中是否存在自定义配置文件的步骤之后,还可以包括:
[0153]
若所述本地配置文件中存在所述自定义配置文件,则获取预设提示模板;
[0154]
根据所述预设提示模板生成升级错误提示,将所述升级错误提示发送至云端进行展示。
[0155]
需要说明的是,若本地配置文件中存在自定义配置文件,则表示该边缘设备中的本地软件的文件已经被修改了,此时若继续使用升级插件包对该边缘设备中的本地软件进行更新,无法保证升级后的本地软件是否可正常运行,因此,可以获取预设提示模板,然后根据预设提示模板生成升级错误提示,然后将升级错误提示发送至云端进行展示,以便于边缘设备的管理人员进行确认。其中,预设提示模板可以由边缘设备的管理人员预先进行设置,根据预设提示模板生成升级错误提示可以是将自定义配置文件中的配置信息填充至预设提示模板中,从而生成升级错误提示。
[0156]
进一步的,由于升级插件包是需要从云端进行获取的,而从云端获取数据的过程中,升级插件包会暴露在不安全的网络环境中,该升级插件包可能会被恶意篡改,而若是使用被篡改过的升级插件包对边缘设备中的本地软件进行更新,则可能会导致本地软件的运行异常,为了避免此种现象的发生,本实施例所述步骤s403之前,还可以包括:
[0157]
读取所述升级插件包的软件包名,并从所述插件配置数据中读取插件信息;
[0158]
将所述插件信息按照预设包名生成规则进行拼接,获得插件名称;
[0159]
将所述插件名称与所述软件包名进行比较;
[0160]
若所述插件名称与所述软件包名一致,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0161]
需要说明的是,为了便于对升级插件包进行校验,云端可以以特定的包名生成规则将插件信息进行拼接,从而生成升级插件包的软件包名,则此时边缘设备在获取到升级插件包时,可以读取升级插件包的软件包名,然后从升级插件包的插件配置数据中读取插件信息,将插件信息以与云端相同的包名生成规则进行拼接,从而获得插件名称,然后将插件名称与软件包名进行比较。其中,包名生成规则可以由边缘设备的管理人员或云端的管理人员根据实际需要预先进行设置,例如:将软件包名的生成规则设置为“插件名称-插件版本号-版本日期-产品平台类型”。
[0162]
可以理解的是,若插件名称与软件包名一致,则表示该升级插件包并未被篡改,因此,可以执行后续步骤。而在对边缘设备中的本地软件进行全量升级时也可以使用相同的方式对软件安装包进行验证,确定软件安装包是否被篡改。
[0163]
步骤s404:在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。
[0164]
可以理解的是,若配置更新完毕,则表示插件引用配置已经添加至本地配置文件中,此时本地软件已经可以根据本地配置文件中的插件引用配置正确加载升级插件包中的插件,因此,可以将升级插件包安装至边缘设备中。
[0165]
在实际使用中,将升级插件包安装至边缘设备中可以是获取边缘设备中本地软件的安装目录,在安装目录中查找插件存储目录,然后将升级插件包进行解压,获得升级插件
代码,将升级插件代码存储至插件存储目录中。
[0166]
本实施例通过获取所述边缘设备中的本地软件的本地配置文件;对所述升级插件包进行解析,获得插件配置数据;根据所述插件配置数据对所述本地配置文件进行配置更新;在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。由于在根据升级插件包对边缘设备中的本地软件进行升级时会先读取升级插件包中的插件配置数据,然后根据插件配置数据对本地配置文件进行配置更新,在配置更新完毕之后,才会升级插件包安装至边缘设备中,确保了在升级插件包安装完毕之后根据更新后的本地配置文件可正常加载根据升级插件包升级后的插件,保证升级后的本地软件可正常运行。
[0167]
参考图4,图4为本发明一种边缘设备软件升级方法第三实施例的流程示意图。
[0168]
基于上述第一实施例,本实施例边缘设备软件升级方法的所述步骤s40之后,还包括:
[0169]
步骤s50:在软件升级完毕时,读取所述边缘设备中本地软件的本地配置文件。
[0170]
需要说明的是,在软件升级完毕之后,还需要将边缘设备中的本地软件进行重启,在重启之后,更新的内容才会被加载,此时,为了便于对边缘设备中的本地软件进行重启,可以读取边缘设备中本地软件的本地配置文件。
[0171]
步骤s60:将所述本地配置文件划分为整包配置文件及插件配置文件。
[0172]
可以理解的是,本地配置文件根据生成的方式及作用的不同,可以分为整包配置文件及插件配置文件,其中,整包配置文件是首次在边缘设备中安装本地软件时生成的本地配置文件,插件配置文件可以是在进行增量插件升级时生成的本地配置文件。
[0173]
在实际使用中,本地软件加载配置文件中的配置数据时,会先加载整包配置文件中的配置数据,然后再加载插件配置文件中的配置数据,若整包配置文件与插件配置文件中存在配置项相同的配置数据,则插件配置文件中的配置数据会覆盖整包配置文件中的配置数据,整包配置文件及插件配置文件可以使用名称进行区分,例如:将整包配置文件命名为“model_cfg_new.json”,将插件配置文件命名为“scen_cfg.json”。
[0174]
步骤s70:加载所述整包配置文件中的数据,获得软件配置数据。
[0175]
可以理解的是,整包配置文件中的配置数据的加载顺序在插件配置文件中的配置数据之前,因此,可以先加载整包配置文件中的数据,获得软件配置数据。其中,加载整包配置文件中的数据,获得软件配置数据可以是采用预设配置格式对整包配置文件解析,读取整包配置文件中的配置数据,将其加载至边缘设备的内存中,从而获得软件配置数据。
[0176]
步骤s80:根据所述插件配置文件中的数据对所述软件配置数据进行更新,获得软件启动配置。
[0177]
可以理解的是,插件配置文件的配置数据的加载顺序在整包配置文件之后,因此,在获得软件配置数据之后,可以加载插件配置文件中的配置数据,然后根据加载的插件配置文件中的配置数据对软件配置数据进行更新,从而获得完整的软件启动配置,其中,根据插件配置文件中的配置数据对软件配置数据进行更新可以是将插件配置文件中的配置数据添加至软件配置数据中,若插件配置文件中的配置数据存在与软件配置数据中配置项相同的配置数据,则会对软件配置数据中的配置数据进行覆盖。
[0178]
步骤s90:根据所述软件启动配置重启所述边缘设备中的本地软件。
[0179]
可以理解的是,整包配置文件与软件配置文件中的配置数据都加载完成,则此时
获得的软件启动配置是更新之后的本地软件启动所需的所有配置数据,因此,可以根据软件启动配置重启边缘设备中的本地软件。
[0180]
在实际使用中,根据软件启动配置重启边缘设备中的本地软件可以是先终止边缘设备中本地软件的软件进程的运行,然后再根据软件启动配置启动更新后的本地软件。
[0181]
本实施例通过在软件升级完毕时,读取所述边缘设备中本地软件的本地配置文件;将所述本地配置文件划分为整包配置文件及插件配置文件;加载所述整包配置文件中的数据,获得软件配置数据;根据所述插件配置文件中的数据对所述软件配置数据进行更新,获得软件启动配置;根据所述软件启动配置重启所述边缘设备中的本地软件。由于在软件升级完毕时会读取本地软件中的本地配置文件,然后将其划分为整包配置文件及插件配置文件,然后以预先设置的配置加载顺序依次加载整包配置文件及插件配置文件中的配置数据,获得软件启动配置,再根据软件启动配置重启边缘设备中的本地软件,使得在软件升级完毕时可以第一时间以正确的方式重启边缘设备中的本地软件,令升级的内容第一时间被加载,从而保证边缘设备中的本地软件为最新版本。
[0182]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有边缘设备软件升级程序,所述边缘设备软件升级程序被处理器执行时实现如上文所述的边缘设备软件升级方法的步骤。
[0183]
参照图5,图5为本发明边缘设备软件升级装置第一实施例的结构框图。
[0184]
如图5所示,本发明实施例提出的边缘设备软件升级装置包括:
[0185]
信息确定模块10,用于根据云端发送的软件升级指令确定软件版本信息及软件升级类型;
[0186]
信息读取模块20,用于读取边缘设备中的本地软件对应的本地版本信息;
[0187]
数据获取模块30,用于若所述软件升级类型为增量插件升级,且所述软件版本信息与所述本地版本信息不一致,则从云端获取升级插件包;
[0188]
软件升级模块40,用于根据所述升级插件包对所述边缘设备进行软件升级。
[0189]
本实施例通过根据云端发送的软件升级指令确定软件版本信息及软件升级类型;读取边缘设备中的本地软件对应的本地版本信息;若软件升级类型为增量插件升级,且软件版本信息与本地版本信息不一致,则从云端获取升级插件包;根据升级插件包对边缘设备进行软件升级。由于可在软件升级类型为增量插件升级,且软件版本信息与本地版本信息不一致时从云端获取对本地软件中部分插件进行升级的升级插件包,然后根据升级插件包对边缘设备中本地软件的部分插件进行升级,可以避免每次升级都需要进行全量的软件升级,减少了需要升级的数据量,提高了对边缘设备进行软件升级的执行效率。
[0190]
进一步的,所述软件升级模块40,还用于获取所述边缘设备中的本地软件的本地配置文件;对所述升级插件包进行解析,获得插件配置数据;根据所述插件配置数据对所述本地配置文件进行配置更新;在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。
[0191]
进一步的,所述软件升级模块40,还用于读取所述升级插件包的软件包名,对所述软件包名进行拆解,获得目标软件标识;根据所述目标软件标识在所述边缘设备中查找对应的本地软件;获取所述本地软件的安装信息,根据所述安装信息在所述边缘设备中查找所述本地软件的本地配置文件。
[0192]
进一步的,所述软件升级模块40,还用于检测所述本地配置文件中是否存在自定义配置文件;若所述本地配置文件中不存在所述自定义配置文件,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0193]
进一步的,所述软件升级模块40,还用于若所述本地配置文件中存在所述自定义配置文件,则获取预设提示模板;根据所述预设提示模板生成升级错误提示,将所述升级错误提示发送至云端进行展示。
[0194]
进一步的,所述软件升级模块40,还用于读取所述升级插件包的软件包名,并从所述插件配置数据中读取插件信息;将所述插件信息按照预设包名生成规则进行拼接,获得插件名称;将所述插件名称与所述软件包名进行比较;若所述插件名称与所述软件包名一致,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0195]
进一步的,所述软件升级模块40,还用于检测所述本地配置文件中是否存在插件配置文件;若所述本地配置文件中存在所述插件配置文件,则获取所述插件配置文件对应的文件哈希值,并获取所述插件配置数据对应的数据哈希值;将所述文件哈希值与所述数据哈希值进行对比;若所述文件哈希值与所述数据哈希值不一致,则根据所述插件配置数据对所述插件配置文件进行更新。
[0196]
进一步的,所述软件升级模块40,还用于若不存在,则根据所述插件配置数据构建插件配置文件;将所述插件配置文件添加至所述本地配置文件同级目录中。
[0197]
进一步的,所述数据获取模块30,还用于若所述软件升级类型为全量软件升级,检测所述边缘设备中是否已安装本地软件;若所述边缘设备中未安装本地软件,则从云端下载所述软件版本信息对应的软件安装包;根据所述软件安装包对所述边缘设备进行软件安装。
[0198]
进一步的,所述数据获取模块30,还用于若所述边缘设备中已安装本地软件,则获取所述本地软件的本地版本信息及本地配置文件;在所述本地版本信息与所述软件版本信息不一致时,从云端下载所述软件版本信息对应的软件安装包;从所述软件安装包中提取整包配置文件;若所述整包配置文件与所述本地配置文件不一致,则根据所述软件安装包对所述边缘设备进行软件安装。
[0199]
进一步的,所述软件升级模块40,还用于在软件升级完毕时,读取所述边缘设备中本地软件的本地配置文件;将所述本地配置文件划分为整包配置文件及插件配置文件;加载所述整包配置文件中的数据,获得软件配置数据;根据所述插件配置文件中的数据对所述软件配置数据进行更新,获得软件启动配置;根据所述软件启动配置重启所述边缘设备中的本地软件。
[0200]
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
[0201]
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0202]
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的边缘设备软件升级方法,此处不再赘述。
[0203]
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵
盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0204]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0205]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0206]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
[0207]
本发明公开了a1、一种边缘设备软件升级方法,所述边缘设备软件升级方法包括以下步骤:
[0208]
根据云端发送的软件升级指令确定软件版本信息及软件升级类型;
[0209]
读取边缘设备中的本地软件对应的本地版本信息;
[0210]
若所述软件升级类型为增量插件升级,且所述软件版本信息与所述本地版本信息不一致,则从云端获取升级插件包;
[0211]
根据所述升级插件包对所述边缘设备进行软件升级。
[0212]
a2、如a1所述的边缘设备软件升级方法,所述根据所述升级插件包对所述边缘设备进行软件升级的步骤,包括:
[0213]
获取所述边缘设备中的本地软件的本地配置文件;
[0214]
对所述升级插件包进行解析,获得插件配置数据;
[0215]
根据所述插件配置数据对所述本地配置文件进行配置更新;
[0216]
在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。
[0217]
a3、如a2所述的边缘设备软件升级方法,所述获取所述边缘设备中的本地软件的本地配置文件的步骤,包括:
[0218]
读取所述升级插件包的软件包名,对所述软件包名进行拆解,获得目标软件标识;
[0219]
根据所述目标软件标识在所述边缘设备中查找对应的本地软件;
[0220]
获取所述本地软件的安装信息,根据所述安装信息在所述边缘设备中查找所述本地软件的本地配置文件。
[0221]
a4、如a2所述的边缘设备软件升级方法,所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤之前,还包括:
[0222]
检测所述本地配置文件中是否存在自定义配置文件;
[0223]
若所述本地配置文件中不存在所述自定义配置文件,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0224]
a5、如a4所述的边缘设备软件升级方法,所述检测所述本地配置文件中是否存在自定义配置文件的步骤之后,还包括:
[0225]
若所述本地配置文件中存在所述自定义配置文件,则获取预设提示模板;
[0226]
根据所述预设提示模板生成升级错误提示,将所述升级错误提示发送至云端进行展示。
[0227]
a6、如a2所述的边缘设备软件升级方法,所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤之前,还包括:
[0228]
读取所述升级插件包的软件包名,并从所述插件配置数据中读取插件信息;
[0229]
将所述插件信息按照预设包名生成规则进行拼接,得到插件名称;
[0230]
将所述插件名称与所述软件包名进行比较;
[0231]
若所述插件名称与所述软件包名一致,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0232]
a7、如a2所述的边缘设备软件升级方法,所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤,包括:
[0233]
检测所述本地配置文件中是否存在插件配置文件;
[0234]
若所述本地配置文件中存在所述插件配置文件,则获取所述插件配置文件对应的文件哈希值,并获取所述插件配置数据对应的数据哈希值;
[0235]
将所述文件哈希值与所述数据哈希值进行对比;
[0236]
若所述文件哈希值与所述数据哈希值不一致,则根据所述插件配置数据对所述插件配置文件进行更新。
[0237]
a8、如a7所述的边缘设备软件升级方法,所述检测所述本地配置文件中是否存在插件配置文件的步骤之后,还包括:
[0238]
若不存在,则根据所述插件配置数据构建插件配置文件;
[0239]
将所述插件配置文件添加至所述本地配置文件同级目录中。
[0240]
a9、如a1所述的边缘设备软件升级方法,所述读取边缘设备中的本地软件对应的本地版本信息的步骤之后,还包括:
[0241]
若所述软件升级类型为全量软件升级,检测所述边缘设备中是否已安装本地软件;
[0242]
若所述边缘设备中未安装所述本地软件,则从云端下载所述软件版本信息对应的软件安装包;
[0243]
根据所述软件安装包对所述边缘设备进行软件安装。
[0244]
a10、如a9所述的边缘设备软件升级方法,所述检测所述边缘设备中是否已安装本地软件的步骤之后,还包括:
[0245]
若所述边缘设备中已安装本地软件,则获取所述本地软件的本地版本信息及本地配置文件;
[0246]
在所述本地版本信息与所述软件版本信息不一致时,从云端下载所述软件版本信息对应的软件安装包;
[0247]
从所述软件安装包中提取整包配置文件;
[0248]
若所述整包配置文件与所述本地配置文件不一致,则根据所述软件安装包对所述
边缘设备进行软件安装。
[0249]
a11、如a1-a10任一项所述的边缘设备软件升级方法,所述根据所述升级插件包对所述边缘设备进行软件升级的步骤之后,还包括:
[0250]
在软件升级完毕时,读取所述边缘设备中本地软件的本地配置文件;
[0251]
将所述本地配置文件划分为整包配置文件及插件配置文件;
[0252]
加载所述整包配置文件中的数据,获得软件配置数据;
[0253]
根据所述插件配置文件中的数据对所述软件配置数据进行更新,获得软件启动配置;
[0254]
根据所述软件启动配置重启所述边缘设备中的本地软件。
[0255]
本发明还公开了b12、一种边缘设备软件升级装置,所述边缘设备软件升级装置包括以下模块:
[0256]
信息确定模块,用于根据云端发送的软件升级指令确定软件版本信息及软件升级类型;
[0257]
信息读取模块,用于读取边缘设备中的本地软件对应的本地版本信息;
[0258]
数据获取模块,用于若所述软件升级类型为增量插件升级,且所述软件版本信息与所述本地版本信息不一致,则从云端获取升级插件包;
[0259]
软件升级模块,用于根据所述升级插件包对所述边缘设备进行软件升级。
[0260]
b13、如b12所述的边缘设备软件升级装置,所述软件升级模块,还用于获取所述边缘设备中的本地软件的本地配置文件;对所述升级插件包进行解析,获得插件配置数据;根据所述插件配置数据对所述本地配置文件进行配置更新;在配置更新完毕时,将所述升级插件包安装至所述边缘设备中。
[0261]
b14、如b13所述的边缘设备软件升级装置,所述软件升级模块,还用于读取所述升级插件包的软件包名,对所述软件包名进行拆解,获得目标软件标识;根据所述目标软件标识在所述边缘设备中查找对应的本地软件;获取所述本地软件的安装信息,根据所述安装信息在所述边缘设备中查找所述本地软件的本地配置文件。
[0262]
b15、如b13所述的边缘设备软件升级装置,所述软件升级模块,还用于检测所述本地配置文件中是否存在自定义配置文件;若所述本地配置文件中不存在所述自定义配置文件,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0263]
b16、如b15所述的边缘设备软件升级装置,所述软件升级模块,还用于若所述本地配置文件中存在所述自定义配置文件,则获取预设提示模板;根据所述预设提示模板生成升级错误提示,将所述升级错误提示发送至云端进行展示。
[0264]
b17、如b13所述的边缘设备软件升级装置,所述软件升级模块,还用于读取所述升级插件包的软件包名,并从所述插件配置数据中读取插件信息;将所述插件信息按照预设包名生成规则进行拼接,获得插件名称;将所述插件名称与所述软件包名进行比较;若所述插件名称与所述软件包名一致,则执行所述根据所述插件配置数据对所述本地配置文件进行配置更新的步骤。
[0265]
b18、如b13所述的边缘设备软件升级装置,所述软件升级模块,还用于检测所述本地配置文件中是否存在插件配置文件;若所述本地配置文件中存在所述插件配置文件,则获取所述插件配置文件对应的文件哈希值,并获取所述插件配置数据对应的数据哈希值;
将所述文件哈希值与所述数据哈希值进行对比;若所述文件哈希值与所述数据哈希值不一致,则根据所述插件配置数据对所述插件配置文件进行更新。
[0266]
本发明还公开了c19、一种边缘设备,所述边缘设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的边缘设备软件升级程序,所述边缘设备软件升级程序被处理器执行时实现如上所述的边缘设备软件升级方法的步骤。
[0267]
本发明还公开了d20、一种计算机可读存储介质,所述计算机可读存储介质上存储有边缘设备软件升级程序,所述边缘设备软件升级程序执行时实现如上所述的边缘设备软件升级方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1