一种基于行车电脑数据的实时油耗和智能查询算法制造技术

技术编号:19320497 阅读:23 留言:0更新日期:2018-11-03 10:57
本发明专利技术公开了一种基于行车电脑数据的实时油耗和智能查询算法,本发明专利技术在解决设备上传数据中出现的各种难点问题上,提出时间窗口缓存算法,在用户无感知的情况下修复延时、错乱、重复等数据导致的最终结果的不准确性;采用分段调配的优化算法,油耗计算结果更加精确,且能规避98.5%的异常数据状态,计算方式变得很简便;此外,系统同时具有采用总油耗方式计算的油耗数据以及通过用瞬时油耗对时间积分运算得到车辆的总油耗,使得对外提供的数据更加具有准确性保障。

A real-time fuel consumption and intelligent query algorithm based on driving computer data

The invention discloses a real-time fuel consumption and intelligent query algorithm based on traffic computer data. In order to solve various difficult problems in uploading data from equipment, the invention proposes a time window caching algorithm to repair the inaccuracy of the final results caused by delay, confusion, repetition and other data without the user's perception. By using the optimization algorithm of sectional allocation, the fuel consumption calculation results are more accurate, and can avoid 98.5% abnormal data state, so the calculation method becomes very simple. In addition, the system also has the fuel consumption data calculated by the total fuel consumption mode and the total fuel consumption of the vehicle calculated by the integration of instantaneous fuel consumption with time, so that the total fuel consumption of the vehicle can be obtained by the calculation of instantaneous fuel consumption. The data provided outside are more accurate.

【技术实现步骤摘要】
一种基于行车电脑数据的实时油耗和智能查询算法
本专利技术涉及油耗查询算法
,具体为一种基于行车电脑数据的实时油耗和智能查询算法。
技术介绍
目前对于车辆油耗数据,大部分采用的是司机手工录入,每次记录加油量、行驶的公里数等,虽然有些APP推出过相应的记账本之类的功能,但还是需要人工录入,容易遗忘与漏输入;行车电脑数据量庞大,收集后大部分采用的是定时凌晨批量计算,数据输出存在一定的延时性。
技术实现思路
本专利技术的目的在于提供一种基于行车电脑数据的实时油耗和智能查询算法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于行车电脑数据的实时油耗和智能查询算法,包括以下步骤:A、首先保存一分钟内接收到的每一条总油耗数据,以及对应的数据时间点,然后保存上一个分钟级数据的最后一条总油耗数据,以及对应的数据时间点;B、然后根据油耗大小从小到大排列;C、循环寻找跳变点,其中,跳变点是指,如果两条相邻的数据总油耗差值(绝对值)/时间差大于既定阈值,那么则认为这个时间点的数据为一个跳变点;D、找到一组数据的每一个跳变点后,根据跳变点对改组数据进行拆分,拆分后变成多个数据段;E、对每一个数据段从最后一个值减去第一个值得到每段的油耗;F、累加每段油耗即为分钟总油耗。优选的,所述步骤A中保存方法如下:a、取出数据的时间,转换为秒,然后定义一个设备一分钟的Bit位卡槽;b、将秒数设置到卡槽中,如秒数为1,则将卡槽第一位设置为true;c、当在时间窗口内接收到某一设备的数据时,先转换数据时间为秒数,然后再卡槽中去找对应位置的值是否为true;d、若为true,则代表该数据是重复数据,否则就进行下一步计算。优选的,包括分布式文件系统、高性能消息队列中间件、多个系统参与计算单元、RPC服务单元、同步基础数据单元、基于Lucene的搜索服务器以及API接口,所述分布式文件系统分别连接高性能消息队列中间件和RPC服务单元,所述RPC服务单元连接同步基础数据单元,所述同步基础数据单元和高性能消息队列中间件分别连接基于Lucene的搜索服务器,所述基于Lucene的搜索服务器连接API接口。与现有技术相比,本专利技术的有益效果是:本专利技术在解决设备上传数据中出现的各种难点问题上,提出时间窗口缓存算法,在用户无感知的情况下修复延时、错乱、重复等数据导致的最终结果的不准确性;采用分段调配的优化算法,油耗计算结果更加精确,且能规避98.5%的异常数据状态,计算方式变得很简便;此外,系统同时具有采用总油耗方式计算的油耗数据以及通过用瞬时油耗对时间积分运算得到车辆的总油耗,使得对外提供的数据更加具有准确性保障;系统具有很高的吞吐率以及良好的性能,使得系统能应对并发高,数据量大的情况;系统的计算Job作业运行在Yarn容器中,能非常方便的进行动态扩缩容;数据通过Kafka交换,使得每个Job作业之间互相解耦,一个Job的启动与停止完全不影响其他的Job。附图说明图1为本专利技术算法流程图;图2为本专利技术数据流向图;图3为本专利技术系统框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1-3,本专利技术提供一种技术方案:一种基于行车电脑数据的实时油耗和智能查询算法,包括以下步骤:A、首先保存一分钟内接收到的每一条总油耗数据,以及对应的数据时间点,然后保存上一个分钟级数据的最后一条总油耗数据,以及对应的数据时间点;B、然后根据油耗大小从小到大排列;C、循环寻找跳变点,其中,跳变点是指,如果两条相邻的数据总油耗差值(绝对值)/时间差大于既定阈值,那么则认为这个时间点的数据为一个跳变点;D、找到一组数据的每一个跳变点后,根据跳变点对改组数据进行拆分,拆分后变成多个数据段;F、对每一个数据段从最后一个值减去第一个值得到每段的油耗;F、累加每段油耗即为分钟总油耗。通过分段的方式,规避了上述绝大部分的异常问题的处理,使得计算变得容易,不用再考虑这些异常的数据问题;由于不需要去考虑各种的异常情况,并且通过对数据分段计算后累加,相当于是把一段数据分成了多个不同的子数据,使得计算更加精确。本专利技术中,步骤A中保存方法如下:a、取出数据的时间,转换为秒,然后定义一个设备一分钟的Bit位卡槽;b、将秒数设置到卡槽中,如秒数为1,则将卡槽第一位设置为true;c、当在时间窗口内接收到某一设备的数据时,先转换数据时间为秒数,然后再卡槽中去找对应位置的值是否为true;d、若为true,则代表该数据是重复数据,否则就进行下一步计算。通过Bit位的存储方式,可以大大节省内存空间,如果直接存原始数据然后判断是否重复会造成严重的空间浪费。本专利技术包括分布式文件系统1、高性能消息队列中间件2、多个系统参与计算单元3、RPC服务单元4、同步基础数据单元5、基于Lucene的搜索服务器6以及API接口7,所述分布式文件系统1分别连接高性能消息队列中间件2和RPC服务单元4,所述RPC服务单元4连接同步基础数据单元5,所述同步基础数据单元5和高性能消息队列中间件2分别连接基于Lucene的搜索服务器6,所述基于Lucene的搜索服务器6连接API接口7;其中,分布式文件系统运行在基于Hadoop框架的Yarn分布式容器中;高性能消息队列中间件采用对Kafka多个Topic的数据消费、生产的方式进行流式数据交换;每一个系统参与计算单元处理不同的计算功能,通过Kafka进行数据流动;RPC服务单元对系统中的共用服务进行封装,比如数据库的操作,可以避免在分布式的环境中,每一个使用数据库的Job都需要去建立连接、管理连接,容易造成数据库连接浪费;基于Lucene的搜索服务器提供了一个分布式多用户能力的全文搜索引擎。系统数据存储在搜索服务器中,保证高性能的查询效率。综上所述,本专利技术在解决设备上传数据中出现的各种难点问题上,提出时间窗口缓存算法,在用户无感知的情况下修复延时、错乱、重复等数据导致的最终结果的不准确性;采用分段调配的优化算法,油耗计算结果更加精确,且能规避98.5%的异常数据状态,计算方式变得很简便;此外,系统同时具有采用总油耗方式计算的油耗数据以及通过用瞬时油耗对时间积分运算得到车辆的总油耗,使得对外提供的数据更加具有准确性保障;系统具有很高的吞吐率以及良好的性能,使得系统能应对并发高,数据量大的情况;系统的计算Job作业运行在Yarn容器中,能非常方便的进行动态扩缩容;数据通过Kafka交换,使得每个Job作业之间互相解耦,一个Job的启动与停止完全不影响其他的Job。尽管已经示出和描述了本专利技术的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本专利技术的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本专利技术的范围由所附权利要求及其等同物限定。本文档来自技高网...

【技术保护点】
1.一种基于行车电脑数据的实时油耗和智能查询算法,其特征在于:包括以下步骤:A、首先保存一分钟内接收到的每一条总油耗数据,以及对应的数据时间点,然后保存上一个分钟级数据的最后一条总油耗数据,以及对应的数据时间点;B、然后根据油耗大小从小到大排列;C、循环寻找跳变点,其中,跳变点是指,如果两条相邻的数据总油耗差值(绝对值)/时间差大于既定阈值,那么则认为这个时间点的数据为一个跳变点;D、找到一组数据的每一个跳变点后,根据跳变点对改组数据进行拆分,拆分后变成多个数据段;E、对每一个数据段从最后一个值减去第一个值得到每段的油耗;F、累加每段油耗即为分钟总油耗。

【技术特征摘要】
1.一种基于行车电脑数据的实时油耗和智能查询算法,其特征在于:包括以下步骤:A、首先保存一分钟内接收到的每一条总油耗数据,以及对应的数据时间点,然后保存上一个分钟级数据的最后一条总油耗数据,以及对应的数据时间点;B、然后根据油耗大小从小到大排列;C、循环寻找跳变点,其中,跳变点是指,如果两条相邻的数据总油耗差值(绝对值)/时间差大于既定阈值,那么则认为这个时间点的数据为一个跳变点;D、找到一组数据的每一个跳变点后,根据跳变点对改组数据进行拆分,拆分后变成多个数据段;E、对每一个数据段从最后一个值减去第一个值得到每段的油耗;F、累加每段油耗即为分钟总油耗。2.根据权利要求1所述的一种基于行车电脑数据的实时油耗和智能查询算法,其特征在于:所述步骤A中保存方法如下:a、取出数据的时间,转换为秒,然后定义一个设备一分钟的Bit位卡槽;b、将秒数设置到卡槽中,如秒数...

【专利技术属性】
技术研发人员:吴舟张宫荣陈龙
申请(专利权)人:吉旗成都科技有限公司
类型:发明
国别省市:四川,51

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

1