技术领域
[0001] 本
发明涉及一种车联网系统,尤其涉及一种基于文件队列存储及传输的车联网系统。
背景技术
[0002]
现有技术中,车联网系统内部的数据交互模
块日趋庞大,但目前缺乏很好的系统对这些庞大的数据进行有效的管理,导致数据在传输过程中处理效率低,容易丢失。
发明内容
[0003] 本发明的目的是提供一种基于文件队列存储及传输的车联网系统,使车联网数据传输效率高,数据更安全,不易丢失,便于管理。
[0004] 本发明的技术方案是一种基于文件队列存储及传输的车联网系统,包括车载设备、通过OBD
接口连接所述车载设备的车辆以及分别连接所述车载设备的FLASH和RAM,所述车载设备与
服务器无线通信;所述车载设备通过CAN线或K线实时从所述OBD接口获取来自车辆的数据,并调用文件队列管理系统对所述来自车辆的数据按照业务类型分为可丢失的数据和不可丢失的数据,对相同业务类型的数据进行组包,可丢失的数据按照优先级别存储进所述RAM,不可丢失的数据按照优先级别存储进所述FLASH;所述文件队列管理系统按照优先级别读取存储在FLASH和RAM中的数据,并将该数据发送到所述服务器中。车载设备上电,车载设备通过CAN线或K线实时获取来自车辆的数据,文件队列管理系统按照要求存储或读取这些数据,并实时的上传这些数据到远端服务器。数据按照业务类型分类,数据的存入和读取都按照优先级别进行,使车联网数据传输效率高,数据更安全,不易丢失,便于管理。
[0005] 进一步地,存储所述不可丢失的数据时,将该不可丢失的数据按照数据类型分类,同一类数据存放在同一队列中,每一个队列根据数据类型的紧急和重要程度对本队列设定优先级别。
[0006] 进一步地,FLASH内有至少1个队列,每一个队列都有独立的编号,每一个队列承担独立的任务,且根据数据的重要性和紧急性,对每一个队列都设有
访问优先级别,队列的一端用于数据的写操作,队列的另外一端用于数据的读操作。
[0007] 进一步地,读取所述FLASH中的数据时,文件队列管理系统遍历所有的队列,并按照队列优先级别的高低依次获取队列中的数据,并将数据发送到远端服务器。
[0008] 进一步地,存储所述可丢失的数据时,将该可丢失的数据按照数据类型分类,同一类数据存放在同一队列中,每一个队列根据数据类型的紧急和重要程度对本队列设定优先级别。
[0009] 进一步地, RAM内有至少1个队列,每一个队列都有独立的编号,每一个队列承担独立的任务,且根据数据的重要性和紧急性,对每一个队列都设有访问优先级别,队列的一端用于数据的写操作,队列的另外一端用于数据的读操作。
[0010] 进一步地,读取所述RAM中的数据时,文件队列管理系统遍历所有的队列,并按照队列优先级别的高低依次获取队列中的数据,并将数据发送到远端服务器。
[0011] 进一步地,如果某一队列被写满,则丢弃最开始写入队列的数据。
[0012] 进一步地,如果车载设备获取到的始终是某一类数据,则文件队列管理系统从队列中读取该类数据,并将数据发送给远端服务器;如果车载设备获取到的是很多类型的数据,则文件队列管理系统遍历这些数据类型所在的队列,按照队列优先级别的高低顺序获取这些数据;文件系统获取到数据之后,将数据以及收到数据之后是否
回执的
请求一并发给远端的服务器,远端的服务器接收到数据以及是否回执的请求之后,若需要回执,则远端的服务器会向车载设备发送一个回执,表示数据已收到,若不需要回执,则远端服务器收到数据之后无需再做任何处理。
[0013] 有益效果:数据按照业务类型分类,分别存储在FLASH和RAM中,数据的存入和读取都按照优先级别进行,使车联网数据传输效率高,数据更安全,不易丢失,便于管理。
附图说明
[0014] 图1是本发明一种
实施例的结构
框图;图2是本发明另一种实施例的系统工作
流程图;
图3是本发明另一种实施例的文件队列数据读写、存储示意图;
图4是本发明另一种实施例的队列式数据存储、读取流程图;
图5是本发明另一种实施例的文件式数据存储、读取流程图;
图6是本发明另一种实施例的文件队列存储流程图;
图7是本发明另一种实施例的文件队列数据读取流程图。
[0015] 图中标记:1-车载设备;2-OBD接口;3-车辆;4-FLASH;5-RAM;6-服务器。
具体实施方式
[0016] 下面结合附图,对本发明的较优的实施例作进一步的详细说明:参见图1和图2,一种基于文件队列存储及传输的车联网系统,包括车载设备1、通过OBD接口2连接所述车载设备1的车辆3以及分别连接所述车载设备1的FLASH4和RAM5,所述车载设备1与服务器6无线通信;所述车载设备1通过CAN线实时从所述OBD接口2获取来自车辆3的数据,并调用文件队列管理系统对所述来自车辆3的数据按照业务类型分为可丢失的数据和不可丢失的数据,对相同业务类型的数据进行组包,可丢失的数据按照优先级别存储进所述RAM5,不可丢失的数据按照优先级别存储进所述FLASH4;所述文件队列管理系统按照优先级别读取存储在FLASH4和RAM5中的数据,并将该数据发送到所述服务器6中。车载设备1上电,车载设备1通过CAN线实时获取来自车辆3的数据,文件队列管理系统按照要求存储或读取这些数据,并实时的上传这些数据到远端服务器6。数据按照业务类型分类,数据的存入和读取都按照优先级别进行,使车联网数据传输效率高,数据更安全,不易丢失,便于管理。
[0017] 优选地,所述车载设备1通过K线实时从所述OBD接口2获取来自车辆3的数据。
[0018] 参见图3,存储所述不可丢失的数据时,将该不可丢失的数据按照数据类型分类,同一类数据存放在同一队列中,每一个队列根据数据类型的紧急和重要程度对本队列设定优先级别。FLASH4内有2个队列,每一个队列都有独立的编号,每一个队列承担独立的任务,且根据数据的重要性和紧急性,对每一个队列都设有访问优先级别,队列的一端用于数据的写操作,队列的另外一端用于数据的读操作。读取所述FLASH4中的数据时,文件队列管理系统遍历所有的队列,并按照队列优先级别的高低依次获取队列中的数据,并将数据发送到远端服务器6。
[0019] 优选地,所述FLASH4内有50个队列。
[0020] 优选地,所述FLASH4内有100个队列。
[0021] 参见图3,存储所述可丢失的数据时,将该可丢失的数据按照数据类型分类,同一类数据存放在同一队列中,每一个队列根据数据类型的紧急和重要程度对本队列设定优先级别。RAM5内有2个队列,每一个队列都有独立的编号,每一个队列承担独立的任务,且根据数据的重要性和紧急性,对每一个队列都设有访问优先级别,队列的一端用于数据的写操作,队列的另外一端用于数据的读操作。读取所述RAM5中的数据时,文件队列管理系统遍历所有的队列,并按照队列优先级别的高低依次获取队列中的数据,并将数据发送到远端服务器6。
[0022] 优选地,所述RAM5内有50个队列。
[0023] 优选地,所述RAM5内有100个队列。
[0024] 优选地,如果某一队列被写满,则丢弃最开始写入队列的数据。
[0025] 参见图7,如果车载设备1获取到的始终是某一类数据,则文件队列管理系统从队列中读取该类数据,并将数据发送给远端服务器6;如果车载设备1获取到的是很多类型的数据,则文件队列管理系统遍历这些数据类型所在的队列,按照队列优先级别的高低顺序获取这些数据;文件系统获取到数据之后,将数据以及收到数据之后是否回执的请求一并发给远端的服务器6,远端的服务器6接收到数据以及是否回执的请求之后,若需要回执,则远端的服务器6会向车载设备1发送一个回执,表示数据已收到,若不需要回执,则远端服务器6在收到数据之后无需再做任何处理。
[0026] 优选地,车载设备1获取到数据包括行车数据、RDM数据、采集命令、LOG、没有时间的数据、告警、告警成功回执、系统参数、注册信息、车辆3特征和数据字典。
[0027] 参见图2,图2是车联网系统工作流程图。车载设备1上电后,车载设备1通过CAN线或K线实时从所述OBD接口2获取来自车辆3的数据,并调用文件队列管理系统,将从OBD接口2获取的数据写入文件队列。文件队列管理系统遍历文件队列,依次选择优先级高的队列进行数据读取,并将数据从文件队列中读取出来,发送到远端的服务器6。
[0028] 参见图4,图4是队列式数据存储、读取流程图。将可丢失的数据存储进ARM是队列式存储。根据业务类型的不同,文件队列管理系统创建多个不同的队列通道,根据业务类型的不同,将队列通道分为带回执的和不带回执的两类,根据业务类型将数据读取模块划分为至少1个模块,根据业务类型,将数据写入模块划分为至少1个模块,为每个队列编号,并给定队列访问的优先级别,文件队列管理系统实施遍历文件队列,按照优先级高低读取各队列数据,发送到远端的服务器6。
[0029] 参见图5,图5是文件式数据存储、读取流程图。将不可丢失的数据存储进FLASH4是文件式存储。在文件式队列中创建读取模块和写入模块,根据数据业务类型的不同将读取模块分为至少1个模块,根据数据业务类型的不同将写入模块分为至少1个模块,给各队列编号,并给定队列的优先级。写入数据时,将数据以文件的形式进行存储或者将数据存储在FLASH4中,读取数据时,从文件或FLASH4中将数据读出。
[0030] 参见图6,图6是文件队列存储流程图。车载设备1通过CAN线或K线获取来自OBD接口2的数据,分析所述数据的业务类型,根据业务类型对数据进行组包,如果数据可以丢失,就采用队列式存储将数据存储进文件队列,如果数据不可以丢失,就采用文件式存储将数据存储进文件队列。如果存储队列满,则丢掉最开始存储的数据,根据业务类型的数据有限程度给队列设定一个优先级别。
[0031] 参见图7,图7 是文件队列数据读取流程图。文件队列管理系统遍历文件队列,按照队列优先级别对队列的数据按照先后顺序读取,看所在业务类型的数据是否需要远端服务器6的回执,如果需要回执,远端的服务器6获取数据之后向车载设备1发送回执,通知车载设备1已获取到数据,然后文件队列管理系统清空队列中已经读取过的数据;如果所在业务类型的数据不需要回执,则文件队列管理系统读取数据后,直接清空已经读取过的数据,不用等待服务器6发送回执。然后进行下一次读取操作。
[0032] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出至少1个简单推演或替换,都应当视为属于本发明的保护范围。