CN111708556A - 一种终端的多4g模块自动更新方法及装置 - Google Patents
一种终端的多4g模块自动更新方法及装置 Download PDFInfo
- Publication number
- CN111708556A CN111708556A CN202010456147.7A CN202010456147A CN111708556A CN 111708556 A CN111708556 A CN 111708556A CN 202010456147 A CN202010456147 A CN 202010456147A CN 111708556 A CN111708556 A CN 111708556A
- Authority
- CN
- China
- Prior art keywords
- module
- update
- terminal
- updating
- file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000009434 installation Methods 0.000 claims abstract description 26
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 15
- 238000012795 verification Methods 0.000 claims abstract description 8
- 238000005192 partition Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 45
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006837 decompression Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 230000008023 solidification Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种终端的多4G模块自动更新方法及装置,其中,所述方法包括:在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;在所述终端上基于CRC‑32循环冗余校验算法对所述更新包进行校验;在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;基于安装部署的更新文件对所述4G模块进行自动识别更新。在本发明实施例中,实现对4G模块的自动识别更新,并且识别更新效率高。
Description
技术领域
本发明涉及的是终端新接入硬件的更新识别技术领域,尤其涉及的是一种终端的多4G模块自动更新方法及装置。
背景技术
现有终端对新接入的4G模块识别和加载方法基于程序固化方法,只能支持单一模块,选配不同的4G模块,需要更新系统固件,按照一台终端2分钟刷机时间,一万台终端需要付出2万分钟的时间成本;这种方法弊端是交付效率低下,对标准传媒终端平台这种先生产标准终端组件,然后根据客户需求选配4G模块,快速集成生产和部署进度影响非常大。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种终端的多4G模块自动更新方法及装置,实现对4G模块的自动识别更新,并且识别更新效率高。
为了解决上述技术问题,本发明实施例提供了一种终端的多4G模块自动更新方法,,所述方法包括:
在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;
基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;
在所述终端上基于CRC-32循环冗余校验算法对所述更新包进行校验;
在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;
基于安装部署的更新文件对所述4G模块进行自动识别更新。
可选的,所述更新包为压缩文件且包括4GUpgrade、版本号和CRC校验码;
基于CRC-32循环冗余校验算法对所述更新包进行计算,获得所述CRC校验码,并拼接在所述更新包名称之后;
所述4GUpgrade包括更新配置文件,所述更新配置文件包括4G模块型号、VID、PID、SO库文件和其他信息。
可选的,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包,包括:
所述终端在基于所述HTTP协议在所述网关管理服务器上下载所述4G模块的更新包时,实时判断当前网络状态,
在当前网络状态变差时,终端暂停下载所述4G模块的更新包;
在当前网络状态变好时,所述终端发起HTTP断点续传请求,继续下载所述4G模块的更新包,直至下载完成。
可选的,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包的过程中,还包括:
每个预设时间间隔,所述终端向所述网络管理服务器报告所述4G模块的更新包的下载状态。
可选的,所述基于所述更新包对所述4G模块进行更新文件的安装部署,包括:
对所述更新包进行解压,将解压后的更新包中对应目录预置至所述终端上运行系统的第一对应分区,以及将解压后的更新包的更新配置文件预置至所述终端上运行系统的第二对应分区;
对所述更新配置文件进行解析,并将获得所述更新配置文件中的4G模块信息写入对应文件中;
将所述更新包中etc目录下的文件解压缩,并存储至所述终端的运行系统下的/system/etc/目录,完成更新文件的安装部署。
可选的,所述将获得所述更新配置文件中的4G模块信息写入对应文件中,还包括:
一个所述4G模块信息在所述对应文件中另起一行进行写入,写入的信息包括VID、PID和portMask。
可选的,所述完成更新文件的安装部署之后,还包括:
所述终端基于HTTP报文向所述网络管理服务器报告完成更新文件的安装部署。
可选的,所述基于安装部署的更新文件对所述4G模块进行自动识别更新,包括:
所述终端的运行系统基于对应的驱动信息加载所述4G模块的端口,基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新。
可选的,所述基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新,包括:
基于对应的驱动信息触发预设事件,并基于所述预设事件读取对应文件中写入信息;
所述终端的运行系统基于预设事件获得4G模块中的设备信息,并基于所述设备信息索引对应的配置文件;
根据对应配置文件中的所述4G模块的配置信息与所述终端系统内的当前配置文件进行是否一致判断;
在判断为不一致时,则对所述4G模块的驱动进行重新加载并自动识别更新。
另外,本发明实施例还提供了一种终端的多4G模块自动更新装置,所述装置包括:
更新包获取模块:用于在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;
更新包下载模块:用于基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;
更新包校验模块:用于在所述终端上基于CRC-32循环冗余校验算法对所述更新包进行校验;
安装部署模块:用于在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;
自动识别更新模块:用于基于安装部署的更新文件对所述4G模块进行自动识别更新。
在本发明实施例中,实现对的自动识别更新,并且部署更新方法简单,只需要按照规则修改更新包即可,网络自动更新,无需求根据不同CPU平台重新制作系统固件;并且识别更新效率高,产品全生命周期支持,以一个4G模块的所有配置和文件平均为200KB,10个4G模块更新包为2000KB,以工厂生产100M带宽的有线局域网环境,下载时间理论上不足1秒,考虑到服务器性能和批量升级更新,每台终端更新大概时间不足30秒,比系统固件更新要快得多。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的终端的多4G模块自动更新方法的流程示意图;
图2是本发明实施例中的终端的多4G模块自动更新装置的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例
实现终端的多4G模块自动更新方法中涉及到网络管理服务器、终端和接入终端的4G模块;更新包为在网络管理服务器上发布的,在存在4G模块通过USB接口接入终端之后,终端通过HTTP协议访问网络管理服务器,查找是否存在该4G模块相关的更新包并下载进行相应的识别更新。
该更新包的名称中包括了4gUpgrade、版本和CRC校验码,并且为ZIP压缩文件,具体的文件名称为:4gUpgrade_版本V1.0_CRC校验码.zip;在网络管理服务器与终端之间的数据传输支持断点续传。
请参阅图1,图1是本发明实施例中的终端的多4G模块自动更新方法的流程示意图。
如图1所示,一种终端的多4G模块自动更新方法,所述方法包括:
S11:在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;
在本发明具体实施过程中,所述更新包为压缩文件且包括4GUpgrade、版本号和CRC校验码;基于CRC-32循环冗余校验算法对所述更新包进行计算,获得所述CRC校验码,并拼接在所述更新包名称之后;所述4GUpgrade包括更新配置文件,所述更新配置文件包括4G模块型号、VID、PID、SO库文件和其他信息。
具体的,更新包的名称中包括了4gUpgrade、版本和CRC校验码,并且为ZIP压缩文件,具体的文件名称为:4gUpgrade_版本V1.0_CRC校验码.zip。
CRC校验码生成是采用CRC-32循环冗余校验算法,对zip更新包进行计算,获得CRC校验码拼接在更新包名称之后,即”_CRC校验码”的部分;该CRC校验码用于终端对接收到的更新包进行完整性和安全性的校验,防止更新包被恶意纂改。
在更新包中的4gUpgrade部分的内容涉及更新配置文件,该更新配置文件包括:4G模块型号、VID、PID、SO库文件名、其他信息;以Android系统为例,该更新配置文件为|--config.json配置文件;|--lib 4G模块so库文件;|---libxxx1.so;|---libxxx2.so;|---libxxxN.so;|--etc;|--init.gprs-ppp0;|--init.gprs-pppN;|--config.json配置文件,用于记录4G模块型号、VID、PID、SO库文件名、其他信息。
在终端的USB接口上接入有相应的4G模块之后,该终端就根据相应的网络连接,可以为局域网连接,或者互联网连接的方式,访问网络管理服务器中发布的该4G模块的更新包,该终端即可获得网络管理服务器中发布的该4G模块的更新包。
S12:基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;
在本发明具体实施过程中,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包,包括:所述终端在基于所述HTTP协议在所述网关管理服务器上下载所述4G模块的更新包时,实时判断当前网络状态,在当前网络状态变差时,终端暂停下载所述4G模块的更新包;在当前网络状态变好时,所述终端发起HTTP断点续传请求,继续下载所述4G模块的更新包,直至下载完成。
进一步的,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包的过程中,还包括:每个预设时间间隔,所述终端向所述网络管理服务器报告所述4G模块的更新包的下载状态。
具体的,终端与网络管理服务器之间支持断点续传,该终端在根据HTTP协议在该网关管理服务器上下载所述4G模块的更新包时,会实时监控下载时的网络状态,当网络状态较差的时候,终端暂停下载该4G模块的更新包,在当前网络状态变好时,该终端重新发起HTTP断点续传请求,继续下载4G模块的更新包,直至下载完成为止;在下载该4G模块更新包的过程中,每个预设时间间隔,该终端向该网络管理服务器报告该4G模块的更新包的下载状态。
具体的,预设时间间隔可以为每10秒,具体可以更加用户需求设置,向该网络管理服务器报告该4G模块的更新包的下载状态,可以通过{msgid=1,content=”MAC地址:00-25-B3-CD-23-00”下载进度:10}实现向该网络管理服务器报告该4G模块的更新包的下载状态。
S13:在所述终端上基于CRC-32循环冗余校验算法对所述更新包进行校验;
在本发明具体实施过程中,在更新包下载完成之后,需要进行校验,在本实施例中,采用CRC-32循环冗余校验算法来校验更新包,校验通过之后,即可进行下一步操作,采用CRC-32循环冗余校验算法即可保证更新包不被纂改,保证文件安全。
S14:在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;
在本发明具体实施过程中,所述基于所述更新包对所述4G模块进行更新文件的安装部署,包括:对所述更新包进行解压,将解压后的更新包中对应目录预置至所述终端上运行系统的第一对应分区,以及将解压后的更新包的更新配置文件预置至所述终端上运行系统的第二对应分区;对所述更新配置文件进行解析,并将获得所述更新配置文件中的4G模块信息写入对应文件中;将所述更新包中etc目录下的文件解压缩,并存储至所述终端的运行系统下的/system/etc/目录,完成更新文件的安装部署。
进一步的,所述将获得所述更新配置文件中的4G模块信息写入对应文件中,还包括:一个所述4G模块信息在所述对应文件中另起一行进行写入,写入的信息包括VID、PID和portMask。
进一步的,所述完成更新文件的安装部署之后,还包括:所述终端基于HTTP报文向所述网络管理服务器报告完成更新文件的安装部署。
具体的,在本发明中,以Android系统的终端进行相应的实施说明,其他系统的实施,可能存在文件名称的不一致或者部分代码的不一致,但不应该影响本申请中的主要核心思想。
通过zip解压缩算法对该更新包进行解压,从而得到解压后的更新包,将解压后的更新包中lib目录下的内容预置到Android系统的system/lib分区;将解压后的更新包的config.json更新配置文件预置至该终端上运行系统的system/etc分区。
config.json的设计如下,
然后采用fastjoson工具,将config.json更新配置文件解析出4G模块信息写入/system/etc/4gInfo文件;并且一个4G模块信息写一行,写入的信息包括VID、PID和portMask。
将更新包中的etc目录下的文件解压缩,存储到该终端的运行系统的/system/etc/目录,完成更新文件的安装部署,这些文件是4G模块正常工作需要加载的配置文件。
完成后,通过HTTP报文向服务器报告安装部署完成,具体:{msgid=2,content=”MAC地址:00-25-B3-CD-23-00”结果:成功}。
S15:基于安装部署的更新文件对所述4G模块进行自动识别更新。
在本发明具体实施过程中,所述基于安装部署的更新文件对所述4G模块进行自动识别更新,包括:所述终端的运行系统基于对应的驱动信息加载所述4G模块的端口,基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新。
进一步的,所述基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新,包括:基于对应的驱动信息触发预设事件,并基于所述预设事件读取对应文件中写入信息;所述终端的运行系统基于预设事件获得4G模块中的设备信息,并基于所述设备信息索引对应的配置文件;根据对应配置文件中的所述4G模块的配置信息与所述终端系统内的当前配置文件进行是否一致判断;在判断为不一致时,则对所述4G模块的驱动进行重新加载并自动识别更新。
具体的,终端上的运行系统中的kernel主要通过usb-serial->option.c驱动来加载4G模块端口,通过修改option.c读取/system/etc/4gInfo文件,加入4G模块VID和PID,以及portMask值。
4G模块通过USB接口接入Android系统,触发UEVENT事件,即上述的预设事件,通过UEVENT事件获取4G模块中设备信息,该设备信息包括VID和PID,而每个4G模块的设备信息均具体有唯一的VID和PID,以VID和PID为索引在config.json配置文件中检索,找出4G模块的信息,并比较系统当前设置值是否为同一4G模块,在比较发现不同时,则进行设置,之后,对该4G模块的驱动进行重新加载并自动识别更新;具体可以并重启rild-daemon服务以重启加载4G模块驱动并自动识别更新;个别型号4G模块中,可能需要通过控制USB端口掉电和上电来实现重新加载驱动并自动识别更新。
在本发明实施例中,实现对的自动识别更新,并且部署更新方法简单,只需要按照规则修改更新包即可,网络自动更新,无需求根据不同CPU平台重新制作系统固件;并且识别更新效率高,产品全生命周期支持,以一个4G模块的所有配置和文件平均为200KB,10个4G模块更新包为2000KB,以工厂生产100M带宽的有线局域网环境,下载时间理论上不足1秒,考虑到服务器性能和批量升级更新,每台终端更新大概时间不足30秒,比系统固件更新要快得多。
实施例
实现终端的多4G模块自动更新方法中涉及到网络管理服务器、终端和接入终端的4G模块;更新包为在网络管理服务器上发布的,在存在4G模块通过USB接口接入终端之后,终端通过HTTP协议访问网络管理服务器,查找是否存在该4G模块相关的更新包并下载进行相应的识别更新。
该更新包的名称中包括了4gUpgrade、版本和CRC校验码,并且为ZIP压缩文件,具体的文件名称为:4gUpgrade_版本V1.0_CRC校验码.zip;在网络管理服务器与终端之间的数据传输支持断点续传。
请参阅图2,图2是本发明实施例中的终端的多4G模块自动更新装置的结构组成示意图。
如图2所示,一种终端的多4G模块自动更新装置,所述装置包括:
更新包获取模块21:用于在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;
在本发明具体实施过程中,所述更新包为压缩文件且包括4GUpgrade、版本号和CRC校验码;基于CRC-32循环冗余校验算法对所述更新包进行计算,获得所述CRC校验码,并拼接在所述更新包名称之后;所述4GUpgrade包括更新配置文件,所述更新配置文件包括4G模块型号、VID、PID、SO库文件和其他信息。
具体的,更新包的名称中包括了4gUpgrade、版本和CRC校验码,并且为ZIP压缩文件,具体的文件名称为:4gUpgrade_版本V1.0_CRC校验码.zip。
CRC校验码生成是采用CRC-32循环冗余校验算法,对zip更新包进行计算,获得CRC校验码拼接在更新包名称之后,即”_CRC校验码”的部分;该CRC校验码用于终端对接收到的更新包进行完整性和安全性的校验,防止更新包被恶意纂改。
在更新包中的4gUpgrade部分的内容涉及更新配置文件,该更新配置文件包括:4G模块型号、VID、PID、SO库文件名、其他信息;以Android系统为例,该更新配置文件为|--config.json配置文件;|--lib 4G模块so库文件;|---libxxx1.so;|---libxxx2.so;|---libxxxN.so;|--etc;|--init.gprs-ppp0;|--init.gprs-pppN;|--config.json配置文件,用于记录4G模块型号、VID、PID、SO库文件名、其他信息。
在终端的USB接口上接入有相应的4G模块之后,该终端就根据相应的网络连接,可以为局域网连接,或者互联网连接的方式,访问网络管理服务器中发布的该4G模块的更新包,该终端即可获得网络管理服务器中发布的该4G模块的更新包。
更新包下载模块22:用于基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;
在本发明具体实施过程中,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包,包括:所述终端在基于所述HTTP协议在所述网关管理服务器上下载所述4G模块的更新包时,实时判断当前网络状态,在当前网络状态变差时,终端暂停下载所述4G模块的更新包;在当前网络状态变好时,所述终端发起HTTP断点续传请求,继续下载所述4G模块的更新包,直至下载完成。
进一步的,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包的过程中,还包括:每个预设时间间隔,所述终端向所述网络管理服务器报告所述4G模块的更新包的下载状态。
具体的,终端与网络管理服务器之间支持断点续传,该终端在根据HTTP协议在该网关管理服务器上下载所述4G模块的更新包时,会实时监控下载时的网络状态,当网络状态较差的时候,终端暂停下载该4G模块的更新包,在当前网络状态变好时,该终端重新发起HTTP断点续传请求,继续下载4G模块的更新包,直至下载完成为止;在下载该4G模块更新包的过程中,每个预设时间间隔,该终端向该网络管理服务器报告该4G模块的更新包的下载状态。
具体的,预设时间间隔可以为每10秒,具体可以更加用户需求设置,向该网络管理服务器报告该4G模块的更新包的下载状态,可以通过{msgid=1,content=”MAC地址:00-25-B3-CD-23-00”下载进度:10}实现向该网络管理服务器报告该4G模块的更新包的下载状态。
更新包校验模块23:用于在所述终端上基于CRC-32循环冗余校验算法对所述更新包进行校验;
在本发明具体实施过程中,在更新包下载完成之后,需要进行校验,在本实施例中,采用CRC-32循环冗余校验算法来校验更新包,校验通过之后,即可进行下一步操作,采用CRC-32循环冗余校验算法即可保证更新包不被纂改,保证文件安全。
安装部署模块24:用于在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;
在本发明具体实施过程中,所述基于所述更新包对所述4G模块进行更新文件的安装部署,包括:对所述更新包进行解压,将解压后的更新包中对应目录预置至所述终端上运行系统的第一对应分区,以及将解压后的更新包的更新配置文件预置至所述终端上运行系统的第二对应分区;对所述更新配置文件进行解析,并将获得所述更新配置文件中的4G模块信息写入对应文件中;将所述更新包中etc目录下的文件解压缩,并存储至所述终端的运行系统下的/system/etc/目录,完成更新文件的安装部署。
进一步的,所述将获得所述更新配置文件中的4G模块信息写入对应文件中,还包括:一个所述4G模块信息在所述对应文件中另起一行进行写入,写入的信息包括VID、PID和portMask。
进一步的,所述完成更新文件的安装部署之后,还包括:所述终端基于HTTP报文向所述网络管理服务器报告完成更新文件的安装部署。
具体的,在本发明中,以Android系统的终端进行相应的实施说明,其他系统的实施,可能存在文件名称的不一致或者部分代码的不一致,但不应该影响本申请中的主要核心思想。
通过zip解压缩算法对该更新包进行解压,从而得到解压后的更新包,将解压后的更新包中lib目录下的内容预置到Android系统的system/lib分区;将解压后的更新包的config.json更新配置文件预置至该终端上运行系统的system/etc分区。
config.json的设计如下,
然后采用fastjoson工具,将config.json更新配置文件解析出4G模块信息写入/system/etc/4gInfo文件;并且一个4G模块信息写一行,写入的信息包括VID、PID和portMask。
将更新包中的etc目录下的文件解压缩,存储到该终端的运行系统的/system/etc/目录,完成更新文件的安装部署,这些文件是4G模块正常工作需要加载的配置文件。
完成后,通过HTTP报文向服务器报告安装部署完成,具体:{msgid=2,content=”MAC地址:00-25-B3-CD-23-00”结果:成功}。
自动识别更新模块25:用于基于安装部署的更新文件对所述4G模块进行自动识别更新。
在本发明具体实施过程中,所述基于安装部署的更新文件对所述4G模块进行自动识别更新,包括:所述终端的运行系统基于对应的驱动信息加载所述4G模块的端口,基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新。
进一步的,所述基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新,包括:基于对应的驱动信息触发预设事件,并基于所述预设事件读取对应文件中写入信息;所述终端的运行系统基于预设事件获得4G模块中的设备信息,并基于所述设备信息索引对应的配置文件;根据对应配置文件中的所述4G模块的配置信息与所述终端系统内的当前配置文件进行是否一致判断;在判断为不一致时,则对所述4G模块的驱动进行重新加载并自动识别更新。
具体的,终端上的运行系统中的kernel主要通过usb-serial->option.c驱动来加载4G模块端口,通过修改option.c读取/system/etc/4gInfo文件,加入4G模块VID和PID,以及portMask值。
4G模块通过USB接口接入Android系统,触发UEVENT事件,即上述的预设事件,通过UEVENT事件获取4G模块中设备信息,该设备信息包括VID和PID,而每个4G模块的设备信息均具体有唯一的VID和PID,以VID和PID为索引在config.json配置文件中检索,找出4G模块的信息,并比较系统当前设置值是否为同一4G模块,在比较发现不同时,则进行设置,之后,对该4G模块的驱动进行重新加载并自动识别更新;具体可以并重启rild-daemon服务以重启加载4G模块驱动并自动识别更新;个别型号4G模块中,可能需要通过控制USB端口掉电和上电来实现重新加载驱动并自动识别更新。
在本发明实施例中,实现对的自动识别更新,并且部署更新方法简单,只需要按照规则修改更新包即可,网络自动更新,无需求根据不同CPU平台重新制作系统固件;并且识别更新效率高,产品全生命周期支持,以一个4G模块的所有配置和文件平均为200KB,10个4G模块更新包为2000KB,以工厂生产100M带宽的有线局域网环境,下载时间理论上不足1秒,考虑到服务器性能和批量升级更新,每台终端更新大概时间不足30秒,比系统固件更新要快得多。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的一种终端的多4G模块自动更新方法及装置进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种终端的多4G模块自动更新方法,其特征在于,所述方法包括:
在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;
基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;
在所述终端上基于CRC-32循环冗余校验算法对所述更新包进行校验;
在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;
基于安装部署的更新文件对所述4G模块进行自动识别更新。
2.根据权利要求1所述的多4G模块自动更新方法,其特征在于,所述更新包为压缩文件且包括4GUpgrade、版本号和CRC校验码;
基于CRC-32循环冗余校验算法对所述更新包进行计算,获得所述CRC校验码,并拼接在所述更新包名称之后;
所述4GUpgrade包括更新配置文件,所述更新配置文件包括4G模块型号、VID、PID、SO库文件和其他信息。
3.根据权利要求1所述的多4G模块自动更新方法,其特征在于,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包,包括:
所述终端在基于所述HTTP协议在所述网关管理服务器上下载所述4G模块的更新包时,实时判断当前网络状态,
在当前网络状态变差时,终端暂停下载所述4G模块的更新包;
在当前网络状态变好时,所述终端发起HTTP断点续传请求,继续下载所述4G模块的更新包,直至下载完成。
4.根据权利要求3所述的多4G模块自动更新方法,其特征在于,所述基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包的过程中,还包括:
每个预设时间间隔,所述终端向所述网络管理服务器报告所述4G模块的更新包的下载状态。
5.根据权利要求1所述的多4G模块自动更新方法,其特征在于,所述基于所述更新包对所述4G模块进行更新文件的安装部署,包括:
对所述更新包进行解压,将解压后的更新包中对应目录预置至所述终端上运行系统的第一对应分区,以及将解压后的更新包的更新配置文件预置至所述终端上运行系统的第二对应分区;
对所述更新配置文件进行解析,并将获得所述更新配置文件中的4G模块信息写入对应文件中;
将所述更新包中etc目录下的文件解压缩,并存储至所述终端的运行系统下的/system/etc/目录,完成更新文件的安装部署。
6.根据权利要求5所述的多4G模块自动更新方法,其特征在于,所述将获得所述更新配置文件中的4G模块信息写入对应文件中,还包括:
一个所述4G模块信息在所述对应文件中另起一行进行写入,写入的信息包括VID、PID和portMask。
7.根据权利要求5所述的多4G模块自动更新方法,其特征在于,所述完成更新文件的安装部署之后,还包括:
所述终端基于HTTP报文向所述网络管理服务器报告完成更新文件的安装部署。
8.根据权利要求1所述的多4G模块自动更新方法,其特征在于,所述基于安装部署的更新文件对所述4G模块进行自动识别更新,包括:
所述终端的运行系统基于对应的驱动信息加载所述4G模块的端口,基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新。
9.根据权利要求8所述的多4G模块自动更新方法,其特征在于,所述基于对应的驱动信息读取对应文件中的写入信息进行自动识别更新,包括:
基于对应的驱动信息触发预设事件,并基于所述预设事件读取对应文件中写入信息;
所述终端的运行系统基于预设事件获得4G模块中的设备信息,并基于所述设备信息索引对应的配置文件;
根据对应配置文件中的所述4G模块的配置信息与所述终端系统内的当前配置文件进行是否一致判断;
在判断为不一致时,则对所述4G模块的驱动进行重新加载并自动识别更新。
10.一种终端的多4G模块自动更新装置,其特征在于,所述装置包括:
更新包获取模块:用于在终端基于USB接口接入4G模块后,所述终端获得网络管理服务器发布的所述4G模块的更新包;
更新包下载模块:用于基于HTTP协议在所述网络管理服务器上下载所述4G模块的更新包;
更新包校验模块:用于在所述终端上基于CRC-32循环冗余校验算法对所述更新包进行校验;
安装部署模块:用于在校验通过之后,基于所述更新包对所述4G模块进行更新文件的安装部署;
自动识别更新模块:用于基于安装部署的更新文件对所述4G模块进行自动识别更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456147.7A CN111708556A (zh) | 2020-05-26 | 2020-05-26 | 一种终端的多4g模块自动更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456147.7A CN111708556A (zh) | 2020-05-26 | 2020-05-26 | 一种终端的多4g模块自动更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111708556A true CN111708556A (zh) | 2020-09-25 |
Family
ID=72538572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010456147.7A Pending CN111708556A (zh) | 2020-05-26 | 2020-05-26 | 一种终端的多4g模块自动更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708556A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2906782Y (zh) * | 2005-07-13 | 2007-05-30 | 浙江大学 | 基于嵌入式处理器的电力远程自动抄表终端 |
CN102377821A (zh) * | 2011-10-17 | 2012-03-14 | 邦讯技术股份有限公司 | 网络终端设备的版本智能更新方法和装置 |
CN102739484A (zh) * | 2012-06-08 | 2012-10-17 | 陈梓平 | 设备的驱动程序更新方法 |
CN105094911A (zh) * | 2015-08-03 | 2015-11-25 | 深圳市广和通无线通信软件有限公司 | 无线通信模块的一键升级方法及一键升级工具 |
CN105389180A (zh) * | 2015-10-29 | 2016-03-09 | 诚迈科技(南京)股份有限公司 | 一种基于Android平台的USB端口可配置化方法 |
CN105808464A (zh) * | 2016-02-29 | 2016-07-27 | 宇龙计算机通信科技(深圳)有限公司 | Usb相关的计算机系统更新方法和装置 |
CN107168739A (zh) * | 2017-05-15 | 2017-09-15 | 万达百汇科技(深圳)有限公司 | Pos机、pos机无线通讯模块固件升级方法及装置 |
CN108469964A (zh) * | 2018-05-18 | 2018-08-31 | 郑州云海信息技术有限公司 | 一种解决网卡fw自动升级的方法 |
-
2020
- 2020-05-26 CN CN202010456147.7A patent/CN111708556A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2906782Y (zh) * | 2005-07-13 | 2007-05-30 | 浙江大学 | 基于嵌入式处理器的电力远程自动抄表终端 |
CN102377821A (zh) * | 2011-10-17 | 2012-03-14 | 邦讯技术股份有限公司 | 网络终端设备的版本智能更新方法和装置 |
CN102739484A (zh) * | 2012-06-08 | 2012-10-17 | 陈梓平 | 设备的驱动程序更新方法 |
CN105094911A (zh) * | 2015-08-03 | 2015-11-25 | 深圳市广和通无线通信软件有限公司 | 无线通信模块的一键升级方法及一键升级工具 |
CN105389180A (zh) * | 2015-10-29 | 2016-03-09 | 诚迈科技(南京)股份有限公司 | 一种基于Android平台的USB端口可配置化方法 |
CN105808464A (zh) * | 2016-02-29 | 2016-07-27 | 宇龙计算机通信科技(深圳)有限公司 | Usb相关的计算机系统更新方法和装置 |
CN107168739A (zh) * | 2017-05-15 | 2017-09-15 | 万达百汇科技(深圳)有限公司 | Pos机、pos机无线通讯模块固件升级方法及装置 |
CN108469964A (zh) * | 2018-05-18 | 2018-08-31 | 郑州云海信息技术有限公司 | 一种解决网卡fw自动升级的方法 |
Non-Patent Citations (1)
Title |
---|
李有梅: "计算机应用基础", pages: 263 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN108399132B (zh) | 一种调度测试方法、装置及存储介质 | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
CN109908585B (zh) | 一种文件处理方法及系统、计算设备及存储介质 | |
CN109710286B (zh) | 系统升级方法、装置、设备和存储介质 | |
CN111865718A (zh) | 一种网关离线数据存储方法、装置、设备及介质 | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
CN107798064A (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN112527354A (zh) | 一种监控软件升级方法、装置、设备及可读存储介质 | |
CN112099825A (zh) | 组件进行升级的方法、装置、设备及存储介质 | |
CN114489711A (zh) | 终端升级方法、装置及存储介质 | |
CN113037850A (zh) | 一种应用程序升级方法、装置、电子设备及存储介质 | |
CN111708556A (zh) | 一种终端的多4g模块自动更新方法及装置 | |
CN112804071A (zh) | 在线升级方法、升级文件提供方法、设备及存储介质 | |
CN116107596A (zh) | 自动化系统部署方法及相关装置 | |
CN115827024A (zh) | 车载程序的更新方法及系统 | |
CN113242147B (zh) | 多云环境的自动化运维部署方法、装置、设备和存储介质 | |
CN113609526A (zh) | 一种操作系统的升级方法、装置及设备 | |
CN111475335B (zh) | 一种数据库快速恢复的方法、系统、终端及存储介质 | |
CN115145596A (zh) | 一种机器人升级包ota升级方法及设备 | |
CN114490196A (zh) | 数据库切换方法、系统、设备及介质 | |
CN108920480B (zh) | 一种文件系统异常的处理方法及设备、计算机存储介质 | |
CN111338678A (zh) | 一种存储系统升级校验的方法和设备 | |
CN114490544B (zh) | 一种新加入主机下载容器镜像的方法及装置 | |
CN113613182B (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 | ||
CB02 | Change of applicant information |
Address after: Room 238, room 406, No.1, Yichuang street, Huangpu District, Guangzhou, Guangdong 510000 Applicant after: Guangzhou langguo Electronic Technology Co.,Ltd. Address before: 510000 unit a and B, zone 02, 4th floor, No. 136, Gaopu Road, high tech Development Zone, Tianhe District, Guangzhou City, Guangdong Province Applicant before: GUANGZHOU LANGO ELECTRONIC SCIENCE & TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information |