一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于MQTT的通用文件上传方法与流程

2022-08-02 23:54:01 来源:中国专利 TAG:

一种基于mqtt的通用文件上传方法
技术领域
1.本发明涉及智能控制车辆的文件上传技术领域,具体为一种基于mqtt的通用文件上传方法。


背景技术:

2.随着智能网联汽车的发展,汽车电子电器架构由传统的分散式的电子电器架构向大型域控制器架构甚至中央控制器架构演进。电子电器架构的升级迭代,对于很多传统的方案提出了挑战。在文件上传方面,分散式的电子电器架构下,文件通常是存在不同的电子元器件中,非常的分散,不便于管理,也难以统一管理。
3.现有技术中,如cn 112165528 a公开的车辆事件及其事件文件数据的管理方法、系统及存储介质(申请号202011059007 .2 ),其包括:汽车控制器产生的事件信息发送给tbox,tbox网关系统将接收到的can报文解析为文件拉取事件信息,并发送给事件分发中心系统,事件管家系统根据文件拉取策略发送对应的文件拉取指令,tbox网关系统收到文件拉取指令并通知tbox,tbox通知hu到文件云系统获取文件拉取任务,hu到对应的控制器获取文件,hu获取到文件后向文件云系统上传文件,文件云系统收到文件后生成文件上传事件并发送给事件分发中心系统,车辆档案系统监听文件上传事件,并将文件和文件对应的触发事件关联起来;该申请实现了车辆各控制器文件上传到云端,可追溯事件产生了哪些文件数据,可配置哪些事件需要拉取文件。但,该专利申请的技术方案,仍然存在文件管理的分散问题、传输链路复杂问题等。


技术实现要素:

4.针对现有技术存在的上述不足,本发明的目的是提供一种基于mqtt的通用文件上传方法,是一种基于linux操作系统的通用的车机端文件管理与上传方法,以解决传统的文件管理里的分散问题、传输链路复杂问题。
5.本发明的技术方案是这样实现的:1、一种基于mqtt的通用文件上传方法,其特征在于包括如下步骤:1)对车辆的域控制器进行编码:车辆的车机端存在一个或多个域控制器,对这些域控制器进行编码,每个域控制器获得一个对应的编码;2)在每个域控制器上提供一个系统服务,该系统服务的主要作用是返回对应的域控制器的编码、ip、名称信息; 3)在每个域控制器上设置一个文件管理应用;该文件管理应用主要提供三个方面的服务:操作系统查询服务、文件检索服务和文件上传服务;操作系统查询服务负责调用操作系统信息查询的系统服务,并返回相应的信息给域控制器;文件检索服务根据该域控制器编码,或ip,或文件名称,或检索深度,返回对应的文件/文件夹列表;文件上传服务负责将文件通过http/https协议上传到云端的远程控制中心或文件云;
4)在车机端的网关节点上设置的数据中心,负责与云端的远程控制中心进行指令交互;数据中心接收接收云端的远程控制中心发出的查询指令和通知指令;5)云端的远程控制中心,负责与车机端的数据中心进行指令交互:下发指令给数据中心和接收数据中心上传的数据。
6.这样,本发明通过车机端的网关节点上设置的数据中心,负责与云端的远程控制中心进行指令交互,远程控制中心通过mqtt协议下发指令给数据中心,数据中心按照指令查询到需要的数据后,再将数据上传远程控制中心,解决传统的文件管理里的分散问题、传输链路复杂问题。
7.进一步的:如果域控制器只有在底层的操作系统,则在底层的操作系统之上提供这个系统服务;如果域控制器在底层的操作系统之上还封装了一层系统抽象层,则在该系统抽象层上提供这个系统服务。
8.进一步的:所述步骤4)中的数据中心接收到云端的远程控制中心发出的查询指令,将指令转为服务,调用步骤2)的系统服务或步骤3)的文件管理应用的服务,并将结果反馈给云端。
9.进一步的:所述步骤4)中的数据中心接收到云端的远程控制中心通知指令,立即将指令接收成功与否返回给云端,并异步调用文件上传服务,无需返回指令执行结果。
10.进一步的:所述步骤5)中的云端的远程控制中心下发指令,下发操作系统列表查询指令,车机端的数据中心接收到该指令,调用每个域控制器上的文件管理应用的操作系统查询服务,该操作系统查询服务内部再调用对应的操作系统上的操作系统查询的系统服务,获取到ip、编码、命名的信息,封装成对应的数据结构,返回给数据中心,数据中心再将该数据返回给云端的远程控制中心。
11.进一步的:云端的远程控制中心获取到操作系统列表信息后,选择其中一个操作系统查看该操作系统下的文件信息;云端的远程控制中心下发文件信息查询指令,传入操作系统编码,或ip,或名称,或文件/文件夹名称,车机端的数据中心接收到该指令后,调用文件管理应用的文件检索服务,该文件检索服务通过系统的文件检索功能,获取到文件列表信息,并返回数据中心。
12.进一步的:云端的远程控制中心根据文件/文件夹名称信息,判断是否找到目标文件,如果没有找到,就根据操作系统和文件夹,进一步查看文件夹内的文件/文件夹名称信息,重复权6的步骤,直至找到目标文件;当找到目标文件后,选择相应的一个或多个文件/文件夹,下发文件拉取指令。
13.进一步的:所述的文件拉取指令包含文件列表参数,文件列表参数中的文件信息包括控制器编码、文件名称、文件所在的全路径。
14.进一步的:车机端数据中心接收到文件拉取指令后,调用文件管理应用的文件上传服务;每个域控制器上的文件管理应用根据控制器编码判断是否需要执行文件上传服务,如果控制器编码与所在的控制器匹配则执行,反之不执行。
15.进一步的:每个域控制器上的文件管理应用根据文件列表参数中的文件所在的全路径找到对应的文件,再根据文件上传的协议将文件上传到云端的远程控制中心或文件云总之,本发明一种基于mqtt的通用文件上传方法,具有如下有益效果:1、本发明针对新的域控制器架构下,将文件统一存储在域控制器上,对文件进行
统一的管理,统一上传。
16.2、本发明通过车机端的网关节点上设置的数据中心,负责与云端的远程控制中心进行指令交互,程控制中心下发指令给数据中心,数据中心按照指令查询到需要的数据后,再通过mqtt协议接收数据中心上传的数据,解决传统的文件管理里的分散问题、传输链路复杂问题。
附图说明
17.图1是本发明组成系统的总体架构图;图2 是本发明文件拉取流程图;图3 是返回的文件列表实例数据。
具体实施方式
18.下面接合附图对本发明做进一步的详细说明:如图1、2、3所示,本发明的一种基于mqtt的通用文件上传方法,涉及一种云端(mqtt云端服务器)与车机端的文件查询与上传方法,文件主要包含应用日志、系统日志、诊断日志、图片、视频、数据包文件等,包括如下步骤:1)对车辆的域控制器进行编码:车辆的车机端通常存在一个或多个域控制器,需要对这些域控制器进行编码,每个域控制器获得一个对应的编码。编码规范示例:c-1,c-2,c-3(c为controller的简称);2)在每个域控制器上提供一个系统服务,该系统服务的主要作用是返回对应的域控制器的编码、ip、名称等信息;因该服务是查询类服务,当该服务被调用的时候,该服务将结果响应给调用方;如果域控制器只有在底层的操作系统,则在底层的操作系统之上提供这个系统服务;如果域控制器在底层的操作系统之上还封装了一层系统抽象层(operating system abstract layer),则在该系统抽象层上提供这个系统服务。
19.在每个域控制器上设置一个文件管理应用;该文件管理应用主要提供三个方面的服务:操作系统查询服务、文件检索服务和文件上传服务。
20.操作系统查询服务负责调用操作系统信息查询的系统服务,并返回相应的信息给域控制器。文件检索服务根据该域控制器编码,或ip,或文件名称(非必填),或检索深度,返回对应的文件/文件夹列表。其中文件/文件夹列表中的文件信息包含:控制器信息、文件名称、文件全路径、文件类型(文件夹/zip/jpg/png/video/txt等)、修改日期(格式:yyyy-mm-dd hh:mm:ss,例如:2022-01-01 15:27:25)。文件上传服务负责将文件通过http/https协议上传到云端的远程控制中心(mqtt云端服务远程控制中心)或文件云。
21.在车机端的网关节点上设置数据中心,负责与云端的远程控制中心(mqtt云端服务远程控制中心)进行指令交互。
22.数据中心接收查询指令:接收云端的远程控制中心发出的查询指令,将指令转为服务,调用步骤2)的系统服务或步骤3)的文件管理应用的服务,并将结果反馈给云端;数据中心接收通知指令:接收到云端的远程控制中心通知指令,立即将指令接收
成功与否返回给云端,并异步调用文件上传服务,无需返回指令执行结果。同步和异步是调用服务的两种方式,同步是调用后一直等待服务响应,异步是调用后无需等待执行完成,就可以继续执行后续的任务,异步调用文件是指车内控制器上存储的文件,远程控制指令需包含文件的基本信息:存储位置、存储路径等。文件上传服务,就是通过http/https将文件通过网络上传。
23.5)云端的远程控制中心,负责与车机端的数据中心进行指令交互:下发指令给数据中心和接收数据中心上传的数据。
24.下发指令:将业务数据的查询服务,转为远程控制指令,通过mqtt协议,将指令下发到车机端的数据中心。接收数据:接收车机端的数据中心上报的数据,并将数据转给相应的应用。该处所述的应用,指的是车内所有的应用程序,包含步骤3中的应用本发明文件拉取流程,如图2所示。其具体流程为:第一步,云端的远程控制中心(mqtt云端服务远程控制中心)下发操作系统列表查询指令,车机端的数据中心接收到该指令,调用每个域控制器上的文件管理应用的操作系统查询服务,该操作系统查询服务内部再调用对应的操作系统上的操作系统查询的系统服务,获取到ip、编码、命名等的信息,封装成对应的数据结构,返回给数据中心,数据中心再将该数据返回给云端的远程控制中心。
25.第二步,云端的远程控制中心获取到操作系统列表信息后,选择其中一个操作系统,可以查看该操作系统下的文件信息。云端的远程控制中心下发文件信息查询指令,传入操作系统编码(也可以是ip、名称)、文件/文件夹名称(非必填,根据文件路径模糊搜索)。车机端的数据中心接收到该指令后,调用文件管理应用的文件检索服务,该文件检索服务通过系统的文件检索功能,获取到文件列表信息,并返回数据中心。示例数据如图3。
26.第三步,云端的远程控制中心根据文件/文件夹名称信息,判断是否找到目标文件,如果没有找到,就根据操作系统和文件夹,进一步查看文件夹内的文件/文件夹名称信息,重复步骤二,直至找到目标文件。当找到目标文件后,选择相应的一个或多个文件/文件夹,下发文件拉取指令。文件拉取指令包含文件操作系统列表参数,文件列表参数中具体的文件信息包括控制器编码、文件名称、文件所在的全路径。车机端数据中心接收到文件拉取指令后,调用文件管理应用的文件上传服务。每个域控制器上的文件管理应用根据控制器编码判断是否需要执行文件上传服务,如果控制器编码与所在的控制器匹配则执行,反之不执行。执行逻辑如下:每个域控制器上的文件管理应用根据文件列表参数中的文件所在的全路径找到对应的文件,再根据文件上传的协议将文件上传到云端的远程控制中心或文件云。文件上传比较通用,可以采用现有技术实现,本发明实例不进一步展开说明。
27.最后需要说明的是,本发明的上述实例仅仅是为说明本发明所作的举例,而并非是对本发明的实施方式的限定。尽管申请人参照较佳实施例对本发明进行了详细说明,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化和变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引申出的显而易见的变化或变动仍处于本发明的保护范围之列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献