记录--ipc升级模块流程

一、设置fpt服务器

二、查找本地升级包路径并通过ftp服务器链接引用该路径

三、验证客户账号密码,确认客户信息

四、检查并解析升级包数据,确定要升级的模块,生成令牌并将升级数据写入内存

五、创建下载线程,下载升级包到ipc

六、下载完成,析构函数关闭下载线程,系统重启

一、开始升级前,我们会搭建一个ftp服务器用来文本传输本地升级文件,设置定义升级参

数,比如用户名、用户密码、ftp路径、当前版本、新的版本、检查升级、是否在线升级等;

api接口:/API/Maintenance/FtpUpgrade/Range

二、其次,点击path可以打开电脑本地文件夹,在我们本地找到升级包,将文件路径存放到ftp服务器的ftp_path字段中,通过ftp服务器可以链接到本地文件夹的位置,如果是ftp升级,ftp_path的路径是根据用户电脑ip和端口自己定的,本地升级和ftp升级的区别,主要就是ftp_path文件路径不同,ftp升级,相比于本地升级在这一步还多了在ftp服务器查找升级包的步骤,FTP升级是从ftp服务器下载下来升级包,本地升级则是直接链接引用到本地。两者导入升级包实际上都是一个从本地到ftp服务器到ipc的过程。

api接口:/API/Maintenance/FtpUpgrade/Get

三、接着本地升级需要用户输入账号的密码,用来确认客户信息,升级之前需要验证密码,我们ipc通过获取公钥解密的方式验证,保障升级是本人合法操作,

api接口:/API/Maintenance/TransKey/Get

四、action_SystemUpgradeToken接口

然后对升级文件数据包进行解析,这是升级模块中比较主要的点,首先对升级文件进行解密,一般解密是从升级文件头开始的,检查当前主板的系列和类型,为了远程获取数据升级,需要关闭一些进程(主进程)和功能,检查并请求升级所需要的内存,将升级文件的物理地址映射成虚拟地址,然后对升级部件进行日期检验、版本对比,同时检验版本号和包名,将解析后的升级数据保存到对应的结构体中,确定需要升级的模块,如uboot,kernel,rootfs,app,logo,www,985系列的还有FPGA,loader,fdt。确定完成后写入升级文件的包名和大小、解析的文件头数据,生成升级令牌。接着将需要升级的模块数据写入内存,写出升级日志。

api接口:/API/Maintenance/SystemUpgrade/Token

五、最后开始升级,会创建一个升级下载线程将升级文件下载进ipc中,期间web端显示升级百分比、升级状态和最后的升级结果,

六、下载完成后,在web端返回升级状态,对象结束自动运行析构函数关闭下载线程,ipc重启。完成升级

api接口:/API/Maintenance/SystemUpgrade/Upgrade

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值