下载
中文
注册

业务包升级

原理介绍

Device侧业务包升级的详细实现流程如下图所示。

图1 业务包升级流程
  1. 客户需要升级业务包时,首先通知Host侧的客户Daemon进程进行业务包升级处理。
  2. Daemon进程接收到升级请求后,首先通过HDC文件传输功能加载业务包到Device侧,然后发消息到Device侧的Client进程,通知Client进程进行业务包升级处理。
  3. Device侧Client进程接收到升级消息后,调用原业务包卸载脚本进行业务包卸载操作,包含:
    • 停止原业务进程。
    • 删除原业务包安装文件。
  4. Device侧Client进程完成原业务包卸载操作后,进行新业务包安装操作。

    首先进行业务包的解密和签名校验(可选,用户根据需要自行实现业务包的解密/签名校验),然后解压业务包,执行安装脚本进行安装,安装成功后执行启动脚本启动业务进程。

  5. Device侧业务包安装完成后,通知Host侧Daemon进程完成业务包的升级操作。

开发步骤

业务包升级流程的实现可参见原理介绍,业务包升级功能仅需要在业务包加载功能的基础上增加以下功能点:

  • 客户端Daemon进程增加对升级请求的处理,接收到升级请求后:
    1. 通过HDC加载业务包到Device。
    2. 并通知Device侧Client进程进行业务包升级处理。
  • Device侧Client进程增加调用业务包卸载脚本的功能。

Host与Device间通过HDC进行消息通信及文件加载的代码示例可参见HDC样例