技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于OpenHarmony系统不中断服务场景下实现设备套件灰度升级方法与流程  >  正文

基于OpenHarmony系统不中断服务场景下实现设备套件灰度升级方法与流程

  • 国知局
  • 2024-11-19 09:54:51

本发明涉及物联网,具体为一种基于openharmony系统不中断服务场景下实现设备套件灰度升级方法。

背景技术:

1、路鸿os是由云南省交通科学研究院有限公司基于openharmony开发的面向公路的全场景分布式操作系统。它是国内交通行业中首个基于鸿蒙系统的发行版,通过了开放原子开源基金会的兼容性测评,并获得了相应的兼容性证书 。路鸿os套件服务为交通摄像机、车道天线等设备提供统一接口,支持云端对路鸿设备进行数据监测及智能协作等业务,对新一代智慧交通产品具有基础性关键支撑作用。路鸿os套件服务为交通摄像机、车道天线等设备提供统一接口,支持云端对路鸿设备进行数据监测及智能协作等业务,对新一代智慧交通产品具有基础性关键支撑作用。

2、考虑到路鸿os套件服务在实际应用中的不断演进,未来面临升级需求,采用传统的ota灰度升级需要重新启动设备,原因在于:ota升级流程中,首先需要制作升级包,然后服务器会配置并存储这些升级包及其相关信息,在内部对版本信息及设备信息进行匹配校验,以确保升级的准确性和适用性。一旦校验通过,客户端将开始下载升级包,然后由专门的包管理模块进行包的解析及校验工作,通过包管理模块会开始烧写镜像到设备的存储空间中,此步骤通常会导致设备的暂时不可用状态。这无疑会对正在进行的业务造成较大影响,甚至可能导致数据丢失或服务中断。

技术实现思路

1、针对路鸿os套件采用传统ota灰度升级需要重新启动设备,导致数据丢失或服务中断的问题,本发明提出一种基于openharmony系统不中断服务场景下实现设备套件灰度升级的方法,有效避免了其他套件业务的中断、服务重启或进程崩溃等严重问题。

2、本发明的基于openharmony系统不中断服务场景下实现设备套件灰度升级方法,其特征在于设备通过以下步骤升级:

3、step1:云端下发套件信息:云端利用sm4国密算法对套件信息进行加密处理,随后通过mqtt协议安全地将加密后的套件升级信息下发给相关设备;

4、step2:套件引擎进行版本校验:协议套件在接收到云端下发的加密消息后,使用sm4算法对消息进行解密,并将解密后的信息转发给套件引擎,套件引擎首先从数据库中拿到当前套件信息,拿到当前套件的版本,再对比解密后信息里的版本,判断当前套件是否需要升级。如果套件引擎拿到的套件版本低于云端下发的套件版本,则进行升级流程;若无需升级,则立即向云端反馈无需升级的结果:

5、step3:下载升级包:在确认需要升级的情况下,套件引擎会通知协议套件通过https协议下载升级包,下载完成后,然后套件引擎会计算出升级包的md5码,并与解密后信息里的md5码来验证文件的完整性和一致性;

6、step4:准备升级:一旦升级包下载并验证成功,协议套件会通知套件引擎做好升级准备,在升级开始前,会再次对升级包中的套件版本进行校验,还是会按step3的步骤拿到当前套件版本,以及计算升级包的md5,并对比先前云端下发的套件版本,及升级包的md5码,确保版本的正确性和适用性:

7、step5:缓存当前套件的后续业务:套件引擎会暂停向当前套件转发来自云端或其他套件的指令。这些被暂停的指令会被安全地缓存在任务队列中,等待当前套件升级成功后再依次释放和执行;

8、step6:等待或停止当前套件正在处理的业务:如果当前套件在升级前正在执行任务,套件引擎会根据该任务的优先级和策略来决定是等待任务完成还是立即停止业务;这一决策过程旨在最小化升级对业务连续性的影响;

9、step7:通过callback回调来通知引擎处理结果:根据任务策略等级的不同,当前套件可能会在完成当前任务后通知套件引擎,或者立即强制停止业务并通知引擎任务中断;在后一种情况下,被中断的任务会被标记为需要再次执行;

10、step8:升级执行:套件引擎在收到处理结果后,如果确定需要强制中断业务,则会将该中断业务插入缓存队列的队头以确保下一次优先处理;完成这些准备工作后,套件引擎将执行当前套件的升级过程;

11、step9:继续运行缓存业务:升级完成后,首先向云平台上报升级结果,然后套件引擎将继续分发当前套件的业务队列,当前套件继续执行业务。

12、进一步的,所述套件引擎依据json文件配置、提供默认设置及远程配置json文件接口、涵盖套件加载、版本控制、周期性运行及卸载选项进行加载或卸载套件,其中:json文件的加载方式为配置常驻、定时拉起或事件驱动。

13、进一步的,所述套件以so库和配置文件的形式存在,每个套件在独立的线程中运行,确保彼此之间互不干扰。

14、本发明的优点如下:

15、1)套件独立性与高度融合:每个套件都具备单独编译、高移植性和低耦合的特点,这意味着单个套件的升级不会干扰到其他套件的正常运行,从而实现了设备与套件之间的完美协同;

16、2)服务零中断升级:得益于套件引擎的智能管理,升级过程中套件所需的资源会被平滑卸载,并在升级成功后重新加载,确保服务在整个升级过程中始终保持在线状态。

17、3)密级安全保障:在升级过程中,数据的安全性得到了极大的增强。通过使用sm4国密算法,云端与设备间的业务消息及升级包均得到加密处理,确保了数据在传输过程中的安全性和隐私性。

技术特征:

1.基于openharmony系统不中断服务场景下实现设备套件灰度升级方法,其特征在于设备通过以下步骤升级:

2.如权利要求1所述的基于openharmony系统不中断服务场景下实现设备套件灰度升级方法,其特征在于套件引擎依据json文件配置、提供默认设置及远程配置json文件接口、涵盖套件加载、版本控制、周期性运行及卸载选项进行加载或卸载套件,其中:json文件的加载方式为配置常驻、定时拉起或事件驱动。

3.如权利要求1所述的基于openharmony系统不中断服务场景下实现设备套件灰度升级方法,其特征在于套件以so库和配置文件的形式存在,每个套件在独立的线程中运行,确保彼此之间互不干扰。

技术总结本发明涉及物联网技术领域,具体未一种基于OpenHarmony系统不中断服务场景下实现设备套件灰度升级方法,每个套件都具备单独编译、高移植性和低耦合的特点,升级过程中套件引擎控制的资源会被平滑卸载,并在升级成功后重新加载,确保服务在整个升级过程中始终保持在线状态,有效避免了其他套件业务的中断、服务重启或进程崩溃等严重问题。技术研发人员:张开文,和永军,孙宏贤,李少荣,刘华,陈瑶,王凌礁,张晓哲,徐荣荣,苏舟,徐兰,李娜,姚俊峰受保护的技术使用者:云南省交通科学研究院有限公司技术研发日:技术公布日:2024/11/14

本文地址:https://www.jishuxx.com/zhuanli/20241118/330630.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。