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

一种车辆数据采集缓存重发方法及远程监控终端与流程

2021-10-08 21:57:00 来源:中国专利 TAG:终端 数据传输 缓存 数据采集 远程监控


1.本发明属于数据传输技术领域,更具体地,涉及一种车辆数据采集缓存重发方法及远程监控终端。


背景技术:

2.车辆远程监控终端(telematics box,t

box)与后台服务器进行数据交互,在数据发送过程中,存在一些特殊场景(例如没有无线网络服务),此时上行ip通道的消息无法发送到后台服务器,t

box需要把待发送的后台的消息进行缓存。
3.目前,在车辆远程监控终端与后台服务器数据交互发送失败时,会进行重发数据,重发判断原则为重发次数,然而仅以重发次数为判断原则,对所有未发送成功数据全部缓存重发,会浪费缓存空间,且不必要的反复重发损失系统性能。


技术实现要素:

4.针对现有技术的以上缺陷或改进需求,本发明提出了一种车辆数据采集缓存重发方法及远程监控终端,对发送失败数据进行失败原因判断,避免暂用控制器过多内存,减少资源消耗,提高系统性能。
5.为实现上述目的,按照本发明的一个方面,提供了一种车辆数据采集缓存重发方法,包括:
6.车辆上电启动后,采集发送车辆数据,在车辆数据发送失败时,从服务器接收反馈的与发送失败的车辆数据对应的故障码;
7.在故障码为永久性故障码时,不缓存故障码对应的车辆数据,在故障码为非永久性故障码,或者未收到服务器反馈的与发送失败的车辆数据对应的故障码时,将故障码对应的车辆数据进行缓存;
8.在没有正常数据发送时,发送缓存的车辆数据。
9.在一些可选的实施方案中,所述车辆上电启动后,采集发送车辆数据,包括:
10.车辆上电启动后,采集车辆数据,判断t

box时间是否有效,若t

box时间无效,则丢弃当前采集的车辆数据,并继续采集车辆数据,若t

box时间有效,则将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据,并将打包后的车辆数据按照预设周期进行发送。
11.在一些可选的实施方案中,所述将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据包括:
12.判断全局变量中是否存在车辆vin和sim卡信息,若全局变量中存在车辆vin和sim卡信息,则将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据;
13.若全局变量中不存在车辆vin和sim卡信息,则获取车辆vin和sim卡信息,并保存为全局变量,然后将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据。
14.在一些可选的实施方案中,所述永久性故障码为服务器返回的客户端错误和服务器错误的故障码,其余为非永久性故障码。
15.在一些可选的实施方案中,所述在没有正常数据发送时,发送缓存的车辆数据,包括:
16.在没有正常数据发送时,取缓存队列中队头的车辆数据进行发送,若在连续发送预设次数后,均未发送成功则停止发送,否则,表示发送成功,并将发送成功的车辆数据从缓存队列删除。
17.按照本发明的另一方面,提供了一种远程监控终端,包括:
18.正常数据发送模块,用于在车辆上电启动后,采集发送车辆数据;
19.接收模块,用于在车辆数据发送失败时,从服务器接收反馈的与发送失败的车辆数据对应的故障码;
20.数据缓存模块,在故障码为永久性故障码时,不缓存故障码对应的车辆数据,在故障码为非永久性故障码,或者未收到服务器反馈的与发送失败的车辆数据对应的故障码时,将故障码对应的车辆数据进行缓存;
21.缓存数据发送模块,用于在没有正常数据发送时,发送缓存的车辆数据。
22.在一些可选的实施方案中,所述正常数据发送模块,包括:
23.采集数据模块,用于车辆上电启动后,采集车辆数据,判断t

box时间是否有效,若t

box时间无效,则丢弃当前采集的车辆数据,并继续采集车辆数据;
24.数据打包模块,用于在t

box时间有效时,将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据,并将打包后的车辆数据按照预设周期进行发送。
25.在一些可选的实施方案中,所述数据打包模块,用于判断全局变量中是否存在车辆vin和sim卡信息,若全局变量中存在车辆vin和sim卡信息,则将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据;若全局变量中不存在车辆vin和sim卡信息,则获取车辆vin和sim卡信息,并保存为全局变量,然后将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据。
26.在一些可选的实施方案中,所述永久性故障码为服务器返回的客户端错误和服务器错误的故障码,其余为非永久性故障码。
27.按照本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
28.总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
29.(1)本发明数据缓存重发的触发条件为:车辆start

>on、对于正常流程中发送失败的数据,在放入缓存区前根据服务器返回的故障码区分处理,判断是否将该数据放入缓存区尝试缓存重发、t

box未进行正常数据发送三者需要同时满足,本发明通过设置数据重发的触发条件,避免车辆off后进行重发对蓄电池的消耗可能导致的馈电风险;对发送失败数据进行失败原因判断,避免暂用控制器过多内存,减少运行过程中不断重发对内存等资源的消耗。
30.(2)服务器返回的故障码进行区分处理,设置为永久性故障码和临时性故障码。永久性故障码不会缓存重发,临时性故障码会缓存重发;如果没有收到服务器的响应,会缓存重发;通过设置数据缓存的判断条件,对数据发送失败原因进行判断规则制定,避免数据的无效重发。
31.(3)本发明设计数据打包需判断vin和sim卡信息,且上电后一次获取成功后,不需要重复获取。减少多次获取时,可能出现的获取失败等问题,从而使当次获取失败时数据在打包时vin和sim卡信为无效值或空值,容易导致后台数据分析错误等问题。
32.(4)本发明设计重发数据前需对正常发送数据流程进行判断,避免因重发数据导致实时的正常数据上传发生延迟、阻塞现象。
附图说明
33.图1是本发明实施例提供的一种车辆数据采集缓存重发方法的流程示意图;
34.图2是本发明实施例提供的另一种车辆数据采集缓存重发方法的流程示意图;
35.图3是本发明实施例提供的一种远程监控终端的结构示意图。
具体实施方式
36.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
37.实施例一
38.如图1所示是本发明实施例提供的一种车辆数据采集缓存重发方法的流程示意图,包括以下步骤:
39.s1:车辆上电启动后,采集发送车辆数据,在车辆数据发送失败时,从服务器接收反馈的与发送失败的车辆数据对应的故障码;
40.在本实施例中,如图2所示,在步骤s1中,车辆上电启动后,采集发送车辆数据,包括:
41.车辆上电启动后,采集车辆数据,判断t

box时间是否有效,若t

box时间无效,则丢弃当前采集的车辆数据,并继续采集车辆数据,若t

box时间有效,则将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据,并将打包后的车辆数据按照预设周期进行发送。
42.其中,远程监控终端以周期t进行实车车辆数据采集及发送。
43.其中,设置的采集发送触发条件为:车辆start

on,即发动机启动后仍维持车辆上电。
44.其中,设置的数据打包条件为:t

box时间有效。避免后台收集到无效时间数据,发送数据处理的混乱。
45.在本实施例中,将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据包括:
46.判断全局变量中是否存在车辆vin和sim卡信息,若全局变量中存在车辆vin和sim卡信息,则将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据;
47.若全局变量中不存在车辆vin和sim卡信息,则获取车辆vin和sim卡信息,并保存为全局变量,然后将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据。
48.其中,vin信息和sim卡信息为数据的包头信息,用于后台识别该数据是来自哪台车使用哪张卡的流量。
49.通过上述操作,在数据打包需判断车辆vin和sim卡信息,并将该信息作为全局变
量,当全局变量无该数据时,需要从对应存储区域获取,以供此次程序运行使用。在一次点火后的运行过程中,当全局变量获取一次成功,则保留数据,即全局变量有数据不需重复获取。减少获取过程中可能出现的失败等问题,从而使相关数据在打包时为无效值或空值,容易导致后台数据分析错误等问题。
50.s2:在故障码为永久性故障码时,不缓存故障码对应的车辆数据,在故障码为非永久性故障码,或者未收到服务器反馈的与发送失败的车辆数据对应的故障码时,将故障码对应的车辆数据进行缓存;
51.在本实施例中,永久性故障码为服务器返回的客户端错误和服务器错误的故障码,其余为非永久性故障码。
52.比如,永久性故障码与临时性故障码设定规则:根据http协议对于服务器返回故障码的定义,将4xx(客户端错误)和5xx(服务器错误)设置为永久性故障码,其它为临时性故障码。
53.s3:在没有正常数据发送时,发送缓存的车辆数据。
54.在本实施例中,在一些特殊场景下(例如没有无线网络服务),此时上行ip通道的消息无法发送到tsp服务器,t

box需要把待发送的tsp消息进行缓存。
55.在本实施例中,如图2所示,在没有正常数据发送时,发送缓存的车辆数据,包括:
56.在没有正常数据发送时,取缓存队列中队头的车辆数据进行发送,若在连续发送预设次数后,均未发送成功则停止发送,否则,表示发送成功,并将发送成功的车辆数据从缓存队列删除。
57.在本实施例中,预设次数可以根据需要确定,如图2中的3次,本实施例不做唯一性限定。
58.其中,设置的缓存重发触发条件为:1)车辆start

>on;且2)无正常数据发送,因此在每次发送缓存数据前判断此时是否有正常数据发送。
59.其中,如果服务器返回的故障码为永久性故障码,表示设备后续即使重试也不会发送成功,则不会缓存重发;如果服务器返回的故障码为临时性故障码,表示设备后续重试有可能发送成功,则会缓存重发;如果没有收到服务器的响应,会缓存重发。
60.如图2所示,最大缓存数据包n=200,或者其它数据,本实施例不做唯一性限定。
61.实施例二
62.如图3所示是本发明实施例提供的一种远程监控终端的结构示意图,包括:
63.正常数据发送模块301,用于在车辆上电启动后,采集发送车辆数据;
64.接收模块302,用于在车辆数据发送失败时,从服务器接收反馈的与发送失败的车辆数据对应的故障码;
65.数据缓存模块303,在故障码为永久性故障码时,不缓存故障码对应的车辆数据,在故障码为非永久性故障码,或者未收到服务器反馈的与发送失败的车辆数据对应的故障码时,将故障码对应的车辆数据进行缓存;
66.缓存数据发送模块304,用于在没有正常数据发送时,发送缓存的车辆数据。
67.在本实施例中,正常数据发送模块301,包括:
68.采集数据模块,用于车辆上电启动后,采集车辆数据,判断t

box时间是否有效,若t

box时间无效,则丢弃当前采集的车辆数据,并继续采集车辆数据;
69.数据打包模块,用于在t

box时间有效时,将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据,并将打包后的车辆数据按照预设周期进行发送。
70.在本实施例中,数据打包模块,用于判断全局变量中是否存在车辆vin和sim卡信息,若全局变量中存在车辆vin和sim卡信息,则将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据;若全局变量中不存在车辆vin和sim卡信息,则获取车辆vin和sim卡信息,并保存为全局变量,然后将车辆vin和sim卡信息作为数据的包头信息,打包车辆数据。
71.在本实施例中,永久性故障码为服务器返回的客户端错误和服务器错误的故障码,其余为非永久性故障码。
72.其中,各模块的具体实施方式可以参考上述方法实施例的描述,本实施例将不再复述。
73.需要指出,根据实施的需要,可将本技术中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
74.本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜