一种基于MQTT协议的车辆OTA任务调度方法技术

技术编号:39406750 阅读:5 留言:0更新日期:2023-11-19 15:58
本申请公开了一种基于MQTT协议的车辆OTA任务调度方法,属于车云通信技术领域,应用于车辆OTA任务调度系统,包括任务管理微服务模块、前端web页面、内存型数据库和关系型数据库;车辆OTA任务调度方法包括:通过前端web页面创建OTA任务,包括基本信息和关联信息;将关联信息缓存至内存型数据库,并将基本信息保存至关系型数据库;基于MQTT协议向各车辆发送OTA任务通知信息;判断是否有车辆基于OTA任务通知信息对OTA任务进行查询;若是,将OTA任务与相应车辆的关联关系插入至关系型数据库中,将基本信息和关联关系聚合得到与相应车辆对应的OTA任务信息并返回至相应车辆。适用于车辆调度领域。辆调度领域。辆调度领域。

【技术实现步骤摘要】
一种基于MQTT协议的车辆OTA任务调度方法


[0001]本申请涉及一种基于MQTT协议的车辆OTA任务调度方法,属于车云通信


技术介绍

[0002]在OTA系统中创建车辆的OTA任务时,需要在数据库中插入对应的记录,包括车辆的vin号、车辆的零件信息、任务有效期、软件升级包信息等等。通常每个OTA任务的每辆车都需要插入三条以上的记录,如果这个任务包含了大量车辆,如百万辆级,传统的方法有:1、在创建任务的同时插入数据库数百万条记录,这就会导致数据库的瞬时压力极大,对系统中其他业务造成严重影响,同时超长事务也可能中途失败回滚。2、使用定时任务,在任务的有效期内,平均每天定时生成部分车辆的升级记录,这样的方法虽然减小了数据库的压力,但是造成了有些车辆在接近任务截止日期时才会收到OTA任务的通知,用户体验不好。对于车辆来说,部署一次OTA升级任务只会针对部分车辆进行升级,OTA车辆占车辆整体的一小部分。但是每辆车都会在上电时或定时轮训云端,判断是否存在升级任务,这对于传统升级方法来说,会造成数据库很大的并发压力。

技术实现思路

[0003]本申请的目的在于提供一种基于MQTT协议的车辆OTA任务调度方法,在减小数据库压力的同时,让车辆能够第一时间内收到OTA任务通知,显著提升OTA任务的效率。
[0004]为实现上述目的,本申请第一方面提供了一种基于MQTT协议的车辆OTA任务调度方法,应用于车辆OTA任务调度系统,所述车辆OTA任务调度系统包括任务管理微服务模块、以及分别与所述任务管理微服务模块连接的前端web页面、内存型数据库和关系型数据库;所述车辆OTA任务调度方法包括:通过所述前端web页面创建OTA任务,所述OTA任务包括基本信息和关联信息,其中,所述关联信息包括OTA任务与各车辆的关联关系;通过所述任务管理微服务模块将所述关联信息缓存至所述内存型数据库,并将所述基本信息保存至所述关系型数据库;根据所述关联信息,通过所述任务管理微服务模块基于MQTT协议向各车辆发送OTA任务通知信息;通过所述任务管理微服务模块判断是否有车辆基于OTA任务通知信息对所述OTA任务进行查询;若是,通过所述任务管理微服务模块将所述OTA任务与相应车辆的关联关系插入至所述关系型数据库中,将所述基本信息和所述关联关系聚合得到与相应车辆对应的OTA任务信息并返回至相应车辆。
[0005]在一种实施方式中,所述车辆OTA任务调度系统还包括:与所述任务管理微服务模块连接的MQTT服务器;所述通过所述任务管理微服务模块基于MQTT协议向各车辆发送OTA任务通知信息
包括:根据所述关联信息,将OTA任务通知信息通过MQTT协议发送到MQTT服务器;通过所述MQTT服务器向各车辆发送OTA任务通知信息。
[0006]在一种实施方式中,所述车辆OTA任务调度系统还包括:与所述任务管理微服务模块连接的云端网关;所述通过所述任务管理微服务模块判断是否有车辆基于OTA任务通知信息对所述OTA任务进行查询包括:判断是否有车辆在收到OTA任务通知信息后访问云端网关,通过云端网关对所述任务管理微服务模块进行访问并对所述OTA任务进行查询。
[0007]在一种实施方式中,所述车辆OTA任务调度方法还包括:通过所述任务管理微服务模块判断是否有车辆定时轮询云端网关;若是,在所述车辆每次访问云端网关时,通过所述任务管理微服务模块查询所述内存型数据库中是否存在与所述车辆对应的OTA任务,并根据查询得到的结果返回相应信息至所述车辆,其中,返回的相应信息为与所述车辆对应的OTA任务信息或空任务信息。
[0008]在一种实施方式中,所述根据查询得到的结果返回相应信息至所述车辆包括:当查询得到的结果为所述内存型数据库中存在与所述车辆对应的OTA任务时,将所述OTA任务与所述车辆的关联关系插入至所述关系型数据库中,将所述基本信息和所述关联关系聚合得到与所述车辆对应的OTA任务信息并返回至所述车辆;当查询得到的结果为所述内存型数据库中不存在与所述车辆对应的OTA任务时,返回空任务信息至所述车辆。
[0009]在一种实施方式中,基于Springcloud微服务框架编写任务管理微服务,并将所述任务管理微服务部署到kubernetes集群的容器中,得到所述任务管理微服务模块。
[0010]在一种实施方式中,基于redis得到所述内存型数据库,基于mysql得到所述关系型数据库。
[0011]在一种实施方式中,基于VUE前端框架得到所述前端web页面。
[0012]本申请第二方面提供了一种电子设备,包括:存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述第一方面或者上述第一方面的任一实施方式中的步骤。
[0013]本申请第三方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述第一方面或者上述第一方面的任一实施方式中的步骤。
[0014]由上可见,本申请提供了一种基于MQTT协议的车辆OTA任务调度方法,适用于包含大量车辆的OTA任务的通知和调度,通过使用内存型数据库对车辆信息进行缓存,能够让大多数的车辆请求在缓存中获取到任务信息,避免了访问关系型数据库的步骤,极大的减小了关系型数据库的压力;同时,使用懒加载的方式,即只有当车辆访问任务管理微服务模块时,才会将内存型数据库中的缓存的相应信息初始化到关系型数据库中,避免了一次性创建大量的记录到关系型数据库,将关系型数据库的瞬时压力分摊到各个请求中去,通过该种方式,即使一个任务中的车辆数量达到百万数量级,数据库的最大压力也只是取决于车辆的同时在线数,而同时在线数远远低于OTA任务中的车辆,这样就能实现数据库并发压力
很小。同时也能解决定时任务这种方式的问题,即车辆能够即时得到OTA任务的通知并实时获取OTA任务,而不必等待任务有效期的后期才能获取到OTA任务的通知,避免了周期性的调度任务。在车辆调度领域具有现实意义和良好的应用前景。
附图说明
[0015]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本申请实施例提供的一种整体流程图;图2为本申请实施例提供的一种OTA任务调度的整体时序图。
具体实施方式
[0017]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0018]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MQTT协议的车辆OTA任务调度方法,其特征在于,应用于车辆OTA任务调度系统,所述车辆OTA任务调度系统包括任务管理微服务模块、以及分别与所述任务管理微服务模块连接的前端web页面、内存型数据库和关系型数据库;所述车辆OTA任务调度方法包括:通过所述前端web页面创建OTA任务,所述OTA任务包括基本信息和关联信息,其中,所述关联信息包括OTA任务与各车辆的关联关系;通过所述任务管理微服务模块将所述关联信息缓存至所述内存型数据库,并将所述基本信息保存至所述关系型数据库;根据所述关联信息,通过所述任务管理微服务模块基于MQTT协议向各车辆发送OTA任务通知信息;通过所述任务管理微服务模块判断是否有车辆基于OTA任务通知信息对所述OTA任务进行查询;若是,通过所述任务管理微服务模块将所述OTA任务与相应车辆的关联关系插入至所述关系型数据库中,将所述基本信息和所述关联关系聚合得到与相应车辆对应的OTA任务信息并返回至相应车辆。2.如权利要求1所述的车辆OTA任务调度方法,其特征在于,所述车辆OTA任务调度系统还包括:与所述任务管理微服务模块连接的MQTT服务器;所述通过所述任务管理微服务模块基于MQTT协议向各车辆发送OTA任务通知信息包括:根据所述关联信息,将OTA任务通知信息通过MQTT协议发送到MQTT服务器;通过所述MQTT服务器向各车辆发送OTA任务通知信息。3.如权利要求1所述的车辆OTA任务调度方法,其特征在于,所述车辆OTA任务调度系统还包括:与所述任务管理微服务模块连接的云端网关;所述通过所述任务管理微服务模块判断是否有车辆基于OTA任务通知信息对所述OTA任务进行查询包括:判断是否有车辆在收到OTA任务通知信息后访问云端网关,通过云端网关对所述任务管理微服务模块进行访问并对所述OTA任务进行查询。4.如权利要求3所述的车辆OTA任务调度方法,其特征在于,所述车辆OTA任务调度...

【专利技术属性】
技术研发人员:任禹航张亚斌
申请(专利权)人:富钛字节车载软件长春有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1