原理介绍
Device侧业务包升级的详细实现流程如下图所示。
图1 业务包升级流程
- 客户需要升级业务包时,首先通知Host侧的客户daemon进程进行业务包升级处理。
- Daemon进程接收到升级请求后,首先通过HDC文件传输功能加载业务包到Device侧,然后发消息到Device侧的Client进程,通知Client进程进行业务包升级处理。
- Device侧client进程接收到升级消息后,调用原业务包卸载脚本进行业务包卸载操作,包含:
- Device侧Client进程完成原业务包卸载操作后,进行新业务包安装操作。
首先进行业务包的解密和签名校验(可选,用户根据需要自行实现业务包的解密/签名校验),然后解压业务包,执行安装脚本进行安装,安装成功后执行启动脚本启动业务进程。
- Device侧业务包安装完成后,通知Host侧daemon进程完成业务包的升级操作。
开发步骤
业务包升级流程的实现可参见原理介绍,业务包升级功能仅需要在业务包加载功能的基础上增加以下功能点:
- 客户端daemon进程增加对升级请求的处理,接收到升级请求后:
- 通过HDC加载业务包到Device。
- 并通知Device侧client进程进行业务包升级处理。
- Device侧client进程增加调用业务包卸载脚本的功能。
Host与Device间通过HDC进行消息通信及文件加载的代码示例可参见HDC样例。