处理车辆事件数据以用于行程分析的系统和方法与流程

文档序号:29033920发布日期:2022-02-24 17:48阅读:75来源:国知局
处理车辆事件数据以用于行程分析的系统和方法与流程
处理车辆事件数据以用于行程分析的系统和方法
1.相关申请的交叉参考
2.本技术要求于2020年8月10日提交的美国临时专利申请no.63/063,518的优先权,其全部内容通过引用并入本文。
技术领域
3.本发明涉及处理车辆事件数据以用于行程分析的系统和方法。


背景技术:

4.汽车工业正在经历着不同于之前所见的巨变。整个移动性生态系统正在被扰乱。其结果是车辆更加自动化、连接化、电气化和共享化。这导致了汽车生成数据的爆炸。这一新的数据资产在很大程度上尚未开发。
5.诸如gps数据之类的车辆定位事件数据是极其庞大的,并且可以涉及每秒200,000至600,000个记录。对定位事件数据的处理对常规系统提供了一个挑战,即对数据的基本实时分析,特别是对于个体车辆。此外,个体车辆数据面临着在识别个体车辆数据以在此规模下进行分析的同时对其进行适当匿名化的挑战。所需要的是系统平台以及数据处理算法和处理,它们被配置为以低时延进行处理并存储大量数据,同时仍然使得该大量数据可用于分析和重新处理。
6.虽然存在用于跟踪车辆的系统,但是所需要的是来自大量车辆数据的接近实时且准确的行程数据。所需要的是被配置为根据车辆移动和路线分析来准确识别行程和行程目的地的系统和算法。


技术实现要素:

7.下面简要描述实施方式,以提供对本文描述的创新的一些方面的基本理解。该简要描述并不旨在作为广泛的概述。其不旨在确定关键或重要元素,或者划定或以其他方式缩小范围。其目的仅仅是以简化的形式呈现一些概念,作为稍后呈现的更详细描述的序言。
8.简而言之,本文公开了处理车辆事件数据的系统、方法和计算机程序产品的各种实施方式。
9.至少一个实施方式是一种系统,所述系统包括存储器和处理器,所述存储器包括程序指令,所述处理器被配置为执行用于方法的指令,所述方法包括:摄取定位事件数据;以及从所述事件数据识别车辆的行程,其中,所述行程识别包括识别给定车辆的运动是否为所述行程的行程段。
10.在实施方式中,所述事件数据可以包括时间、位置(纬度/经度)和关注事件。所述关注事件可以包括紧急制动、紧急减速或紧急加速。紧急制动或紧急减速可以被定义为在预定时间段内的减速。紧急加速被定义为在另一预定时间段内的加速。
11.在实施方式中,所述处理器被配置为执行用于所述方法的指令,所述方法还包括将所述事件数据中的定位数据编码为接近度。
12.在实施方式中,将所述事件数据中的所述定位数据编码为接近度可以还包括以下各项中的至少一项:将纬度和经度地理散列化为定义所述接近度的形状;对所述地理散列进行编码以识别状态;对所述地理散列进行编码以识别邮政编码;以及将所述地理散列编码为唯一地识别车辆的精度。
13.在实施方式中,将所述事件数据中的所述定位数据编码为接近度可以还包括以下各项中的至少一项:将地理散列编码为5个字符以识别状态;将地理散列编码为6个字符以识别邮政编码;以及将地理散列编码为9个字符以唯一地识别车辆。在实施方式中,将所述事件数据中的所述定位数据编码为定义所述接近度的形状可以包括:将纬度和经度地理散列化为矩形,所述矩形的边缘与字符串中的字符成比例。
14.在实施方式中,将所述事件数据中的所述定位数据编码为接近度可以还包括将所述地理散列编码为从4个字符到9个字符。
15.在实施方式中,所述处理器被配置为执行用于所述方法的指令,所述方法还包括将所述地理散列映射到地图数据库。所述映射还可以包括将所述地理散列映射到关注点数据库。
16.在实施方式中,所述行程识别包括识别所述车辆的发动机启动或第一车辆运动;识别所述车辆的发动机关闭或停止运动;识别所述车辆的停留时间;识别所述车辆的最小行驶距离;以及识别最小行驶持续时间。
17.在实施方式中,所述处理器被配置有最小行驶持续时间标准,并且所述处理器被配置为执行所述指令,以使用最小行驶持续时间标准来识别所述车辆的最小行驶持续时间。所述最小行驶持续时间标准可以是从约60秒至约90秒。在实施方式中,所述最小行驶持续时间标准为约60秒。
18.在实施方式中,所述处理器被配置有最大停留时间标准,并且所述处理器被配置为执行所述指令,以使用所述最大停留时间标准来识别所述车辆的最大停留时间。所述最大停留时间标准可以是从约20秒至约120秒。在实施方式中,所述最大停留时间标准为约30秒。
19.在实施方式中,所述处理器被配置有最小行驶距离标准,并且所述处理器被配置为执行所述指令,以使用所述最小行驶距离标准来识别所述车辆的最小行驶距离。所述最小行驶距离标准可以是从约100米至约300米。在实施方式中,所述最小行驶距离标准为约200米。
20.在实施方式中,所述行程识别包括确定行程段未形成所述行程的一部分。
21.在实施方式中,所述系统被配置为提供主动车辆检测。所述主动车辆检测可以包括根据时间段内的多个事件来识别车辆路径。在实施方式中,所述主动车辆检测包括根据一天的时间段内的多个事件来识别所述车辆路径,所述识别包括使用连通域算法(connected components algorithm),所述连通域算法包括在有向图中识别所述车辆路径,所述有向图包括所述一天的车辆事件。在所述图中,节点是车辆,并且节点之间的连接是所识别的车辆路径。
22.在实施方式中,所述系统可以包括数据仓库。所述系统将所述事件数据和行程确定数据存储在所述数据仓库中。在实施方式中,可以将至少一个时间列添加到所存储的数据。所述时间列可以包括日期列和小时列。
23.至少一个实施方式描述了一种由计算机实现的方法,所述计算机包括处理器和存储器,所述存储器包括程序存储器,所述程序存储器包括用于执行上述和本文所述方法的指令。
24.至少一个实施方式描述了一种计算机程序产品,所述计算机程序产品包括程序存储器,所述程序存储器包括当由处理器执行时执行上述和本文所述的方法的指令。
25.如本文所用,行程可以包括到目的地的任何旅程、路程(run)或行驶。
26.本文描述的系统和方法的示例性优点是优化的低时延,根据本公开,其能够针对多达1200万辆车辆摄取和处理多达每秒600,000个记录的车辆事件数据。
附图说明
27.参考以下附图描述非限制性且非穷尽性的实施方式。在附图中,除非另有说明,否则贯穿各个附图,相同的附图标记指代相同的部件。
28.为了更好地理解,将参考以下结合附图阅读的具体实施方式,其中:
29.图1是可以实现各种实施方式中的至少一者的环境的系统图。
30.图2示出了根据本公开的各种实施方式中的至少一者的入口服务器系统的逻辑架构和流程图。
31.图3示出了根据各种实施方式中的至少一者的流处理服务器系统的逻辑架构和流程图。
32.图4表示根据各种实施方式中的至少一者的出口服务器系统的逻辑架构和流程图。
33.图5示出了根据各种实施方式中的至少一者的分析服务器系统的逻辑架构和处理的流程图。
34.图6示出了根据各种实施方式中的至少一者的门户服务器系统的逻辑架构和处理的流程图。
35.图7是示出系统的数据处理检查的数据质量管线的流程图。
36.图8示出了根据各种实施方式中的至少一者的云计算架构。
37.图9示出了根据各种实施方式中的至少一者的云计算平台的逻辑架构。
具体实施方式
38.现在将在下文中参考形成本文的一部分的附图来更全面地描述各种实施方式,并且通过说明的方式示出了可以实践本文描述的创新的具体实施方式。然而,实施方式可以以许多不同的形式来实施,并且不应当被解释为限于本文所阐述的实施方式。相反,提供这些实施方式以使本公开将是透彻和完整的,并且将向本领域技术人员充分传达实施方式的范围。此外,各种实施方式可以是方法、系统、介质或设备。因此,以下详细描述不应被视为具有限制意义。
39.在整个说明书和权利要求书中,除非上下文另有明确规定,否则以下术语采用本文中明确相关联的含义。术语“本文”是指与当前申请相关联的说明书、权利要求和附图。本文所使用的短语“在一个实施方式中”或“在实施方式中”不一定指代相同的实施方式或单个实施方式(尽管可以)。此外,本文所使用的短语“在另一实施方式中”不一定指代不同的
实施方式(尽管可以)。因此,如下所述,在不脱离本发明的范围或精神的情况下,可以容易地组合各种实施方式。
40.此外,如本文所用,除非上下文另有明确规定,否则术语“或”是包含性的“或”并且等同于术语“和/或”。除非上下文另有明确规定,否则术语“基于”不是排他性的,并且允许基于未描述的附加因素。此外,在整个说明书中,“一”、“一个”和“所述”的含义包括复数引用。“在
……
中”的含义包括“在
……
中”和“在
……
上”。
41.说明性逻辑系统架构和系统流程
42.图1是根据至少一个实施方式的用于地理定位事件处理和分析的系统10的逻辑架构。在各种实施方式中的至少一者中,入口服务器系统100可以被布置为与流处理服务器系统200和分析服务器系统500通信。流处理服务器系统200可以被布置为与出口服务器系统400和分析服务器系统500通信。
43.出口服务器系统400可以被配置为与数据消费者通信并向数据消费者提供数据输出。出口服务器系统400还可以被配置为与流处理服务器200通信。
44.分析服务器系统500被配置为与入口服务器系统100、流处理服务器系统200和出口服务器系统400通信并从入口服务器系统100、流处理服务器系统200和出口服务器系统400接收数据。分析服务器系统500被配置为与门户服务器系统600通信并将数据输出到门户服务器系统600。
45.在至少一个实施方式中,入口服务器系统100、流处理服务器系统200、出口服务器系统400、分析服务器系统500和门户服务器系统600可以各自是一个或更多个计算机或服务器。在至少一个实施方式中,入口服务器系统100、流处理服务器系统200、出口服务器系统400、分析服务器系统500和门户服务器系统600中的一个或更多个可以被配置为在单个计算机(例如,网络服务器计算机)上或跨多个计算机进行操作。例如,在至少一个实施方式中,系统10可以被配置为在诸如亚马逊网络服务(aws)或微软azure之类的网络服务平台主机上运行。在示例性实施方式中,系统被配置在采用流式计算(spark streaming)服务器的aws平台上,该流式计算服务器可以被配置为执行如本文所述的数据处理。在实施方式中,系统可以被配置为采用高吞吐量消息收发服务器,例如apache kafka。
46.在至少一个实施方式中,入口服务器系统100、流处理服务器系统200、出口服务器系统400、分析服务器系统500和门户服务器系统600可以被布置为使用api的或由服务提供的其他通信接口来集成和/或通信。
47.在至少一个实施方式中,入口服务器系统100、流处理服务器系统200、出口服务器系统400、分析服务器系统500和门户服务器系统600可以托管在托管服务器上。
48.在至少一个实施方式中,入口服务器系统100、流处理服务器系统200、出口服务器系统400、分析服务器系统500和门户服务器系统600可以被布置为使用一个或更多个直接网络路径(包括广域接入网(wan)或本地接入网(lan))通过网络与客户端计算机直接或间接地通信。
49.本领域普通技术人员将理解,系统10的架构是非限制性示例,该非限制性示例说明实施方式的至少一部分。因此,在不脱离本文描述的创新的范围的情况下,可以不同地采用和/或布置更多或更少的组件。然而,系统10足以公开至少本文要求保护的创新。
50.参考图2,示出了根据至少一个实施方式的用于摄取数据和数据吞吐量的入口服
务器系统100的逻辑架构。在至少一个实施方式中,可以确定来自一个或更多个事件源的事件。在实施方式中,如图1所示,事件源可以包括车辆传感器数据源12、oem车辆传感器数据源14、应用数据源16、远程信息处理数据源20、无线基础设施数据源17和第三方数据源15等。在至少一个实施方式中,所确定的事件可以对应于可以由系统的下游组件(诸如流处理服务器系统200和分析服务器系统500)管理的定位数据、车辆传感器数据、各种用户交互、显示操作、观感(impression)等。在至少一个实施方式中,入口服务器系统100可以使比图1至图2中所示更多或更少的事件源进入。
51.在至少一个实施方式中,可以从一个或更多个事件源接收和/或确定的事件包括来自一个或更多个数据源(例如,gps设备)的车辆事件数据或由第三方数据源15(例如,oem车辆传感器数据源14)提供的定位数据表。车辆事件数据可以以数据库格式(例如,json、csv和xml)来摄取。车辆事件数据可以经由api或由服务和/或入口服务器系统100提供的其他通信接口来摄取。例如,入口服务器系统100可以提供与入口服务器api 106集成的api网关102接口,入口服务器api 106使得入口服务器系统100能够确定可以与由车辆事件源14提供的数据库相关联的各种事件。示例性api网关可以包括例如aws api网关。入口服务器系统100系统的示例性托管平台可以包括kubernetes和docker,但是也可以采用其他平台和网络计算机配置。
52.在至少一个实施方式中,入口服务器系统100包括被配置为接受原始数据的服务器104,例如,安全文件传输协议服务器(sftp)、api或可以被配置为接受车辆事件数据的其他数据输入。入口服务器系统100可以被配置为将原始数据存储在数据存储器107中以用于例如由分析服务器系统500执行的进一步分析。事件数据可以包括点火启动、时间戳(t1
……
tn)、点火关闭、关注事件数据、纬度和经度以及车辆信息号(vin)信息。示例性事件数据可以包括来自本领域已知的源的车辆运动数据,例如,来自车辆本身(例如,经由gps、api)或从第三方数据源15提供的定位数据的表。
53.在实施方式中,入口服务器系统100被配置为处理事件数据以得出车辆运动数据,例如速度、持续时间和加速度。例如,在实施方式中,每x秒(例如,3秒)在事件数据库上获取快照(snapshot)。然后可以处理纬度/经度数据和时间数据,以使用车辆位置和时间来得出车辆跟踪数据(例如,速度和加速度)。
54.在实施方式中,入口服务器系统100被配置为接受来自设备和第三方平台的数据。入口服务器api 106可以被配置为向系统10来认证设备或第三方平台和平台主机。
55.因此,在实施方式中,入口服务器系统100被配置为接收原始数据并执行原始数据和模式评估(schema evaluation)的数据质量检查。摄取和验证原始数据是图7中所示的框701处系统的质量检查的数据质量管线的开始。表1示出了可以被接收到系统中的原始数据的示例。
[0056][0057]
表1
[0058]
在另一实施方式中,来自入口源的车辆事件数据可以包括更少的信息。例如,如表2所示,原始车辆事件数据可以包括有限数量的属性,例如定位数据(经度和纬度)和时间数据(时间戳)。
[0059]
[0060]
表2
[0061]
本公开的实施方式的示例性优点在于,不存在的信息可以从如本文所描述的创新算法导出。例如,车辆事件数据可以不包括行程识别,或者可以具有不准确的行程识别。因此,系统可以被配置为当最初进入的数据具有有限的属性时得出附加的车辆事件属性数据。例如,系统可以被配置为识别针对进入的车辆事件数据的特定车辆并附加车辆id。因此,系统可以使仅用例如与车辆id相关联的位置和时间戳数据来跟踪车辆运动,包括开始和停止、速度、航向、加速度和其他属性。例如,在实施方式中,系统可以被配置为使用设备id并且识别与设备id相关联的字段的状态变化。
[0062]
相反地,在进入的数据包括丰富的(enriched)数据字段(诸如燃料水平、新传感器数据(门打开/门关闭)、气囊展开或传感器趋势)的实施方式中,可以采用丰富的数据来增强或修改如本文所述的算法。
[0063]
在实施方式中,在框702处,所接收的数据可以符合外部定义的模式,例如,avro或json。数据可以被转换为内部模式并被验证。在实施方式中,在将事件数据传递到消息收发系统以用于由数据质量管线进行下游处理之前,可以根据商定的模式定义对事件数据进行验证。例如,可以在将经验证的数据传递到apache kafka消息收发系统之前采用apache avro模式定义。在另一实施方式中,原始运动和事件数据还可以由客户端节点集群配置来处理,其中每个客户端是消费者或生产者,并且实例内的集群可以在它们之中复制数据。
[0064]
例如,入口服务器系统100可以配置有连接到pulsar集群的apache pulsar端点的pulsar客户端。在实施方式中,apache pulsar端点跟踪上次读取的数据,从而允许apache pulsar客户端在任何时间连接以从上次读取的数中进行拾取(pick up)。在pulsar中,“标准”消费者接口涉及使用“消费者”客户端来监听主题、处理传入消息、并且在消息已被处理时最终确认那些消息。由于该主题的光标(cursor)是由pulsar broker模块自动管理的,所以每当客户端连接到主题时,客户端会从最早的未确认消息中自动开始读取。然而,客户端的客户端读取器接口使得客户端应用能够以定制(bespoke)方式来管理主题光标。例如,pulsar客户端读取器可以被配置为连接到主题,以指定在读取器连接到主题时开始读取哪个消息。当连接到主题时,读取器接口使得客户端能够以主题中的最早可用消息或主题中的最新可用消息开始。客户端读取器还可以被配置为:例如通过使用消息id从持久性数据存储部或高速缓存获取消息而在最早消息与最新消息之间的某个其他消息处开始。
[0065]
在至少一个实施方式中,入口服务器系统100被配置为清理和验证数据。例如,入口服务器系统100可以被配置为包括入口服务器api 106,入口服务器api 106可以验证所摄取的车辆事件和定位数据,并且将经验证的定位数据传递到服务器队列108,例如apache kafka队列108,然后将其输出到流处理服务器系统200。服务器104还可以被配置为也将经验证的进入的定位数据输出到数据存储部107。入口服务器系统100还可以被配置为将无效数据传递到数据存储部107。例如,无效有效载荷可以存储在数据存储部107中。示例性无效数据可以包括例如具有坏字段或未识别字段的数据或相同事件。入口服务器系统100可以被配置为输出所存储的无效数据或允许将所存储的数据从数据存储部107拉取到分析服务器系统500以供分析,例如以改进系统性能。例如,分析服务器系统500可以被配置有诊断机器学习,该诊断机器学习被配置为对具有未识别字段的无效数据的数据库执行分析,以新识别和标记字段已供验证处理。入口服务器系统100还可以被配置为传递所存储的进入的
定位数据以供分析服务器系统500处理,例如,用于如本文所述的行程分析。
[0066]
如本文中所描述,系统10被配置为在流传输及批处理背景两者下处理数据。在流传输背景下,低时延比完整性更重要,即,不需要处理旧数据,并且实际上,处理旧数据可以产生不利影响,因为它可以阻碍其他更新数据的处理。在批处理背景下,数据的完整性比低延时更重要。因此,为了促进这两个背景下的数据的处理,在实施方式中,系统可以被默认是流式连接,该流式连接在数据可用时使所有该数据很快进入,但也可以被配置为跳过旧数据。批处理器可以被配置为填充流式处理器由于旧数据而留下的任何间隙。
[0067]
图3是根据至少一个实施方式的用于数据吞吐量和分析的流处理服务器系统200的逻辑架构。如本文中所描述的流处理导致系统处理改进,包括每秒至少200k到600k记录的线性缩放中的吞吐量的改进。改进还包括20秒的端到端系统处理,同时对系统延时的进一步改进正在进行。在至少一个实施方式中,系统可以被配置为采用用于微批处理的服务器。例如,如本文所述,在至少一个实施方式中,流处理服务器系统200可以被配置为在诸如采用火花流传输服务器(spark streaming server)的aws和诸如apache kafka的高吞吐量消息收发服务器的web服务平台主机上运行。在一个实施方式中,流处理服务器系统200可以包括设备管理服务器207(例如,aws点火(aws ignite)),其可以被配置为从数据处理服务器输入经处理的数据。设备管理服务器207可以被配置为使用匿名化数据用于单独的车辆数据分析,这可以在外部提供或连接。系统10可以被配置为实时输出数据,以及将数据存储在一个或更多个数据存储器中以用于未来分析。例如,流处理服务器系统200可以被配置为经由接口(例如,apache kafka)向出口服务器系统400输出实时数据。流处理服务器系统200还可以被配置为在数据存储器107中存储实时数据和批数据两者。数据存储器107中的数据可以被访问或提供给洞察服务器系统500以用于进一步分析。
[0068]
在至少一个实施方式中,事件信息可以被存储在一个或更多个数据存储器107中,用于稍后处理和/或分析。同样地,在至少一个实施方式中,事件数据和信息可以在确定或接收时被处理。此外,事件有效载荷和处理信息可以被存储在诸如数据存储器107的数据存储器中,以用作历史信息和/或比较信息并用于进一步处理。
[0069]
在至少一个实施方式中,流处理服务器系统200被配置为执行车辆事件数据处理。
[0070]
图3示出了根据至少一个实施方式的用于流处理服务器系统200的逻辑架构和概览流程图。在框202处,流处理服务器系统200执行对来自进入的位置201的位置事件数据的验证。未被正确格式化、被复制或未被识别出的数据被滤除。示例性无效数据可以包括例如具有坏的字段、未识别出的字段或相同事件(重复)或在相同地点和时间发生的引擎打开/引擎关闭数据点的数据。验证还可以包括延时检查,该延时检查丢弃比预定时间段(例如,7秒)更旧的事件数据。在一个实施方式中,可以采用其他延时过滤器,例如,在4至30秒之间。
[0071]
在一个实施方式中,流处理服务器系统200可以被配置为对具有错误的字段数据执行纠错。例如,系统可以被配置为缓冲进入的车辆事件数据,以在车辆的一系列数据点中识别无序的一组点。然后,系统可以被配置为验证最早的数据点并且丢弃其他数据点,或者系统可以将车辆事件数据点重新布置为正确的时间序列。在一个实施方式中,缓冲时间可以被配置为优化系统的低延时。系统200可以被配置为缓冲最小数量的进入数据点以允许错误识别和验证。例如,对于每3秒提供车辆事件数据的进入数据流,系统可以被配置为缓冲至少3秒以识别错误,对所缓冲的车辆事件数据执行错误检查,并且校正事件数据以用于
向下游转发。缓冲器对于更频繁地(例如,每一秒)提供车辆事件数据的进入流甚至可以更少。
[0072]
在一个实施方式中,流处理服务器系统200可以被配置为缓冲用于有状态流式传输的事件数据。车辆事件数据可以被存储在持久事件日志中并且利用事件分析逻辑进行处理。例如,流处理服务器系统200可以被配置为确定车辆事件数据点是用于新的行程还是与现有的行程相关联。例如,流处理服务器200被配置为识别车辆事件数据中的状态数据,诸如,来自信号丢失(例如,隧道、地下停车场、废弃卫星/小区区域)、点火状态和其他旅程数据的数据间隙。系统然后可以采用缓冲器来将车辆事件数据点识别为由系统处理的行程或开始如下所述的新行程。
[0073]
例如,在一个实现方式中,最初缓冲器是没有数据的。当车辆事件数据到达给定车辆时,检查缓冲器。如果事件数据用于新的车辆,则为该车辆创建新的行程,而不考虑车辆事件数据点内容。每次新数据点到达车辆时,就检查缓冲器。如果数据点的时间戳在为车辆记录的最后时间戳之前,则数据点被标记为无效。如果时间戳晚于可配置的时段(例如,20分钟),则开始新的行程。如果数据点被认为在当前行程内,则缓冲器以最新状态更新,并且数据点被标记为有效。诸如点火开始或关闭的数据点被用作用于行程的开始或结束的强信号,但是如下所述,可以采用位置处的停留时间标准来覆盖新行程的创建,例如,如果停留时间指示停止是短停止(例如,30秒或更短)。
[0074]
为了帮助系统的可扩展性,使用车辆标识符来划分数据。这允许单独的节点处理流数据的子集,但是确保在同一节点上处理给定数据的所有数据。在一个实施方式中,如图7的框703所示,流处理服务器系统200被配置为执行属性边界过滤。属性边界过滤检查以确保事件数据属性在对数据有意义的数据的预定义边界内。例如,航向属性被定义为圆圈(0

359)。squish-vin是9-10字符vin。示例包括由数据供应商预定义或由标准设置的数据。不在这些界限内的数据值指示数据固有地针对属性有故障。可以检查不符合的数据并将其过滤掉。属性边界过滤的示例在表3中给出。
[0075][0076]
表3
[0077]
在实施方式中,在框704处,系统被配置为执行属性值过滤。属性值过滤检查以确保属性值被内部地设置或定制(bespoke)定义的范围。例如,虽然1970的日期可以通过针对事件的日期属性的属性边界过滤器检查,但是日期不是车辆跟踪数据的可感知值。因此,属性值过滤被配置为过滤比预定义时间(例如,6周或更老)更旧的数据,这些数据可以被检查和过滤。表3中给出了示例属性边界过滤。
[0078][0079]
表3
[0080]
在框705处,系统可以对记录中的属性执行进一步验证,以确认记录的数据点的属性之间的关系是一致的。例如,非零旅程开始事件对于如本文所述的行程确定不具有逻辑意义。因此,如表4中所示,系统10可以被配置为过滤关于开始事件的“旅程开始”或行程点火的位置的捕获的时间戳和接收的时间戳的相同属性记录的非零速度事件。
[0081][0082]
表4
[0083]
返回到图2,在框204处,在至少一个实施方式中,流处理服务器200执行位置事件数据的地理散列化(geohashing)。虽然对地理散列化的替代方案是可用的,诸如由uber
tm
所采用的h3算法,或者由google
tm
所采用的s2算法,但是已经发现,地理散列化提供了对系统10的示例性改进,例如对系统延时和吞吐量的改进。还提供了用于系统10的准确度和车辆检测中的数据库改进的地理散列化。例如,采用到9个字符的精度的地理散列可以允许车辆与地理散列唯一地相关联。这样的精度可以在如本文所述的行程确定算法中采用。在至少一个实施方式中,事件数据中的位置数据被编码到接近度,该编码包括将每个事件的纬度和经度地理散列化为每个事件的接近度。事件数据包括时间、位置(纬度/经度)和关注事件数据。关注事件数据可以包括苛刻的制动和苛刻的加速。例如,苛刻的制动器可以被定义为在预定时间段内的减速度(例如,在x秒中的40-0),并且苛刻的加速度被定义为在预定时间段中的加速度(例如,在x秒中的40-80mph)。关注事件数据可以被相关并被处理以用于其他算法。例如,在位置上映射到时空集群的苛刻的制动的集群可以被用作拥塞检测算法。
[0084]
地理散列化算法将来自事件数据的纬度和经度(lat/long)数据编码为n个字符的
短字符串。在一个实施方式中,经地理散列的lat/long数据被地理散列为一形状。例如,在一个实施方式中,lat/long数据可以被地理散列为一矩形,该矩形的边缘与字符串中的字符成比例。在一个实施方式中,地理散列可以被编码为4至9个字符。
[0085]
如本文中所描述的,从采用地理散列事件数据产生多个优点。例如,在数据库中,由地理散列索引的数据将具有连续切片中的给定矩形区域的所有点,其中,切片的数量由编码的地理散列精度确定。这通过允许对单个索引的查询来改进数据库,该单个索引的查询比多个索引查询更容易或更快。地理散列索引结构对于流线型的接近度搜索也是有用的,因为最近的点通常在最近的地理散列之中。
[0086]
在框206处,在至少一个实施方式中,流处理服务器系统200执行位置查找。如上所述,在实施方式中,系统可以被配置为对地理散列进行编码以识别定义的地理区域,例如,国家、州或邮政编码。系统可以将lat/long地理散列为一矩形,该矩形的边缘与字符串中的字符成比例。
[0087]
例如,在实施方式中,地理散列化可以被配置为将地理散列编码为5个字符,并且系统可以被配置为将状态识别为5字符的地理散列位置。例如,编码到5个切片或精度字符的地理散列精确到+/-2.5千米,这足以识别一状态。到6个字符的地理散列可以用于将经地理散列的位置识别为邮政编码,因为它精确到+/-0.61千米。到4个字符的地理散列可以用于识别国家。在一个实施方式中,系统10可以被配置为对地理散列进行编码以唯一地识别具有经地理散列的位置的车辆。在一个实施方式中,系统10可以被配置为将地理散列编码为9个字符,以唯一地标识车辆。
[0088]
在一个实施方式中,系统10还可以被配置为将经地理散列的事件数据映射到地图数据库。地图数据库可以是例如关注点数据库或其他地图数据库,包括公共或专有地图数据库。示例性地图数据库可以包括现有街道地图数据,诸如用于本地街道地图或世界地图数据库的地理结构(geofabric)。采用如本文中所描述的地理散列化的示例性优点是其允许在下游处理时的车辆事件数据的更快、低延时丰富(enrichment)。例如,地理定义、地图数据和其他丰富被容易地映射到经地理散列的位置和车辆id。馈送数据还可以被组合成聚合的数据集,并且使用接口可视化,例如,gis可视化工具(例如,mapbox、carto、arcgis或google地图api)或其他接口以产生界面图形报告或使用经处理的数据向第三方15输出报告,以例如经由出口服务器系统400或门户服务器系统600产生分析洞察。
[0089]
在至少一个实施方式中,在框208处,流处理服务器系统200可以被配置为例如通过从事件数据中的车辆数据的车辆标识号(vin)中移除或模糊个人识别信息来匿名化数据以移除识别信息。在各种实施方式中,事件数据或其他数据可以包括vin号,所述vin号包括表示车辆的产品信息(诸如,品牌、型号和年份)的数字,并且还包括唯一地标识车辆的字符,并且可以用于将其个人地识别为所有者。系统10可以包括例如算法,该算法去除vin中从车辆数据中唯一地识别车辆但留下其他识别序列号(例如,用于品牌、型号和年份)的字符,例如,squish vin算法。在一个实施方式中,系统10可以被配置为将唯一的车辆标签添加到匿名化数据。例如,系统10可以被配置为将唯一数字、字符或其他识别信息添加到匿名化数据,因此可以在已经移除与vin相关联的个人识别信息之后跟踪、处理并分析用于唯一车辆的事件数据。匿名化数据的示例性优点在于,匿名化数据允许在外部提供经处理的事件数据,同时仍然保护来自数据的个人识别信息,例如,如可以合法地要求的或用户可能期
望的。
[0090]
在至少一个实施方式中,如本文所述,到9个字符的地理散列还可以提供车辆的唯一标识,而无需获得或需要个人识别信息,诸如,vin数据。可以通过处理数据库事件数据将地理散列到足够识别唯一的车辆的精度(例如,到9个字符)来识别车辆,并且然后可以识别、跟踪车辆,并如本文所述处理它们的数据。
[0091]
如上所述,对于实时流传输,在框202处,数据验证过滤掉具有过量延时的数据(例如,超过7秒的延时)。然而,批量数据处理可以在没有间隙的情况下运行有完整的数据集,并且因此可以包括未针对延时被过滤的数据。例如,关于图5描述的用于分析的批数据处理可以被配置为接受达6周的数据,而流处理服务器系统200的流传输栈被配置为过滤超过7秒旧的数据,并且因此包括在框202处的延时验证检查并且拒绝具有较高延时的事件。
[0092]
在框209处,在至少一个实施方式中,流处理器服务器系统200执行事件数据的行程分段分析。在一个实施方式中,流处理器服务器系统200被配置为从事件数据识别车辆的行程,包括识别给定车辆的路线或移动是否出于驾驶到行程目的地的目的,其中,行程识别包括:识别车辆的引擎开启或第一移动;识别车辆的引擎关闭或停止移动;识别车辆的停留时间;以及识别行程的最小持续时间。尽管行程分段处理被示出为在装置匿名化208之后开始,行程分段过程209可以在进入数据201之后的任一点处开始。
[0093]
在至少一个实施方式中,行程可以包括从起始点到最终目的地的一个或更多个行程段。行程段包括用于车辆的引擎开启/开始移动和引擎关闭/停止移动事件之间的距离和行进持续时间。
[0094]
然而,当行进到目的地时,真实驾驶员可能具有一次或更多次停车。行程可以具有两个或更多个行程段,诸如当存在具有多次停车的行程时。例如,驾驶员可能需要在从家行进到工作处或在交通灯处停止时停止燃料。因此,车辆事件分析中的问题和挑战包括针对如本文所述的实施方式开发准确的车辆跟踪。虽然在本领域中已经采用了其他行程算法或处理,例如,从所识别的车辆的已知目的地反向设计行程,但是本公开包括已经开发并且有利地实现用于使用本文描述的技术的不可知的车辆跟踪的实施方式和算法,包括数据分析、数据库、接口、数据处理和其他技术产品。
[0095]
在框210处,流处理服务器系统200被配置为执行计算以从事件信证明行程。在一个实施方式中,流处理服务器系统200被配置有行程检测标准,包括持续时间标准、距离标准和停留时间标准。在至少一个实施方式中,持续时间标准包括最小持续时间标准,其中,系统需要最小行程持续时间以在行程中包括行程段。在引擎开启或开始移动之后的最小行进持续时间可以包括行进的持续时间,例如,从约60秒到约90秒。在示例性实施方式中,流处理服务器系统200可以被配置为要求车辆行驶超过60秒,以将其包括作为行程段。例如,如果(1)引擎开启/点火事件或(2)识别到车辆在已知的最后移动(例如,来自先前的旅程或行程)之后的第一移动或(3)针对车辆识别到新识别的车辆’s的第一移动。流处理服务器系统200可以被配置为确定事件是否在小于60秒的短行程持续时间之后,并且如果是,则流处理服务器系统200可以被配置为从行程确定中排除该行程段。流处理服务器系统200被配置为确定车辆的移动的短持续时间不是行程开始或目的地。
[0096]
在一个实施方式中,行程检测标准可以包括行进距离标准(例如,200米)。流处理服务器系统200可以被配置为从行程段排除200米或更少的距离。行进标准的最小距离可以
包括行进的预定持续时间的距离(例如,从约100米到约300米)。最小距离x(例如,200米)可以被定义为包括最小距离x的约50%容差的索引。
[0097]
在一个实施方式中,停留时间标准可以包括车辆的停止时间。例如,停留时间标准可以是从约30秒到约90秒。最大停留时间可以包括同一车辆的在引擎关闭/停止移动与引擎开启/开始移动之间停止的持续时间(例如,从约20秒到约120秒)。例如,如果流处理服务器系统200确定车辆停止或其引擎关闭小于30秒,则系统可以被配置为不包括该停止时段作为行程的结束或在行程对象中。
[0098]
如上所述,在一个实施方式中,流处理服务器系统200被配置为处理车辆事件数据以确定一个或更多个行程段是否包括车辆的行程。例如,引擎开启或开始移动事件之后可以是超过距离标准(例如,超过200米)的距离。因此,系统的持续时间标准确实识别出行程的该段。然而,如果汽车此后停止并且具有引擎关闭事件并且继续保持静止达超过30秒,则流处理服务器系统200可以被配置为不对其进行计数作为行程的段。如果车辆以引擎关闭事件停止并且保持静止小于30秒,并且然后再次以引擎开启事件移动,则停留时间标准得到满足,并且流处理服务器系统200被配置为将该行程段包括在该车辆行进到其最终目的地的行程中。在一个实施方式中,停留时间标准被配置为在点火关闭然后开启的事件上应用。
[0099]
在一个实施方式中,除非针对给定车辆没有接收到另外的数据点,系统被配置为在没有任何点火事件作为同一行程的一部分的情况下识别停留时间。例如,在lat/long中没有变化的车辆事件数据点被识别为同一行程的一部分。除非足够的时间过去使得行程被假定为已经终止,否则没有点火事件的车辆事件数据点中的暂停被视为同一行程的一部分。点火关闭事件被识别为行程的结束,除非系统确定点火关闭太频繁地发生,在这种情况下,确定需要进一步的逻辑来将这样的行程一起缝合为单个行程中。
[0100]
因此,算法可以结合日常实时驾驶到目的地的行程或行程对象的多个行程段,例如,当驾驶员在家中开启汽车(引擎开启/开始移动)时,驾驶10英里(距离标准),在停止信号灯处停止29秒,行进到在工作处(引擎关闭/停止移动)的最终目的地。然而,流处理服务器系统200被配置为忽略不太可能表示行程中的中断的事件,例如,在停止灯处停止29秒(停留标准)或移动小于200米(距离标准)或小于60秒(持续时间标准)。
[0101]
在一个实施方式中,流处理服务器系统200可以例如基于可变数据来包括针对停留标准、距离标准或时间标准中的每一个的多个标准。因此,算法可以结合用于普遍实时驾驶到已知关于车辆和位置的附加数据的目的地的行程的多个行程段。例如,如果车辆被识别为诸如电动汽车的道路合法电动车辆,则停留标准可以包括在被识别为电动充电站的位置处的20分钟的停留时间最大标准。因此,停留时间可以基于例如关于位置的其他数据(例如,指示停车是诸如加油站、休息区或餐厅之类的关注点的数据)来延长到2至20分钟之间。流处理服务器系统200可以被配置为当电动车的驾驶员在家中开启汽车(引擎开启或第一移动)时识别行程,驾驶100英里(距离标准)到充电站以进行充电(引擎关闭/停止移动,12分钟,停留标准,变量,充电站),然后再次启动(引擎开启/开始移动),并且驾驶到销售会议处的最终目的地(引擎关闭/停止移动)。在另一示例中,在丰富的数据由入口源(例如,燃料水平)提供的情况下,燃料消耗可用于标准。例如,停止(-002)处的燃料水平的小变化可以用于识别可以忽略的停留标准(例如,在燃料水平的小幅下降的情况下停止小于60秒)。因
此,如将认识到的,上述标准中的每一个可以被配置成取决于尤其是关于事件车辆数据点得到或获得的知识而变化。
[0102]
在一个实施方式中,在框211处,流处理服务器系统200被配置为将行程段聚合到行程对象。流处理服务器系统200被配置为根据以上描述的标准识别给定设备的旅程段的候选链。此外,复合行程对象可以被实例化,其中,其开始是链的开始,并且其结束是链中的最终段的结束。可以从事件数据提取出单独的行程对象表,并且可以将得到的复合行程生成到另一表中。在一个实施方式中,包括所有引擎开启/引擎关闭或开始移动/停止移动事件的数据集被识别为唯一的车辆id或设备id。例如,可以将用于车辆的引擎开启/引擎关闭或开始移动/停止移动事件中的每一个放置在包括候选行程段的单个行上。然后,可以通过距离标准、持续时间标准和停留标准中的每一个来处理引擎开启/引擎关闭或开始移动/停止移动事件的行,以确定哪些旅程段可以被包括在行程对象的行程确定中或排除在行程对象的行程确定之外。在一个实施方式中,流处理服务器系统200可以生成另一行程表,该另一行程表填充有从满足上述行程标准的车辆的事件确定的行程对象。
[0103]
在一个实施方式中,在框212处,针对时延过滤的经变换的定位数据和被拒绝的时延数据两者被输入到服务器队列,例如apache kafka队列。在框214处,流处理服务器系统200将数据分割成一个数据集(该数据集包括完整数据216
‑‑
针对时延过滤的经变换的定位数据以及被拒绝的时延数据)和经变换的定位数据222的另一数据集。完整数据216被存储在数据存储库107中以用于访问或递送到分析服务器系统500,而过滤后的经变换的定位数据被递送到出口服务器系统400。在另一实施方式中,包括被拒绝的数据的完整数据集或其部分还可以被递送到出口服务器系统400以用于第三方平台用于它们自己的使用和分析。在这样的实施方式中,在框212处,针对时延过滤的经变换的定位数据和被拒绝的时延数据可以被直接提供给出口服务器系统400。
[0104]
在至少一个实施方式中,流处理服务器200可以被配置为将事件数据和行程确定数据存储在数据仓库107中。数据可以以数据库格式被存储。在一个实施方式中,可以将时间列添加到经处理的数据。在另一个实施方式中,由于分析服务器500可以被配置为独立于流处理服务器执行行程确定,所以流处理服务器200的行程确定被输出到出口服务器400并且从流处理服务器删除。
[0105]
图4是用于出口服务器系统400的逻辑架构。在至少一个实施方式中,出口服务器系统400可以是被布置为摄取、吞吐量记录和输出事件数据的一个或多个计算机。出口服务器系统400可以被配置为在推或拉的基础上提供数据。例如,在一个实施方式中,系统10可以被配置为采用来自apache spark集群的推送服务器410。推送服务器可以被配置为处理来自流处理服务器系统200的经变换的定位数据,例如,用于时延过滤411、地理过滤412、事件过滤413、变换414和传输415。如本文所描述的,地理散列化显著地提高了系统10的吞吐量时延,这允许针对非常接近事件(例如在几分钟和甚至几秒内)处理的数据及时推送通知的优点。例如,在一个实施方式中,系统10被配置为在60秒的时延下进行对准。如上所述,流处理服务器系统200被配置为过滤具有小于7秒的时延的事件,也提高了吞吐量。在一个实施方式中,可以经由api网关404提供用于拉取数据的数据存储库406,并且拉取api 405可以跟踪哪些第三部分15用户正在拉取数据以及数据用户正在请求什么。
[0106]
例如,在一个实施方式中,出口服务器系统400可以基于由系统10提供的过滤器来
提供模式数据。例如,系统可以被配置成提供地理围栏滤波器412以过滤针对给定定位或多个定位的事件数据。如将认识到的,地理围栏可以被配置为结合和处理行程和事件数据,如本文针对许多模式和配置所描述的。例如,在一个实施方式中,出口服务器系统400可以被配置为提供“停车”过滤器,该“停车”过滤器被配置为将数据限制为由用户提供或选择的经度/纬度内的行程的开始和结束(点火-钥匙开/关事件)。用于该数据的另外过滤器或例外可以例如通过状态(状态代码或lat/long)被配置。系统10还可以配置有“业务”过滤器,以提供例如具有从过滤器排除的给定状态和lat/长边界框的业务模式数据。
[0107]
图5表示用于数据分析和洞察的分析服务器系统500的逻辑架构。在至少一个实施方式中,分析服务器系统500可以是被布置为分析事件数据的一个或更多个计算机。实时数据和批量数据两者都可以被传递到分析服务器系统500,以用于如本文所描述的那样从其它组件进行处理。在一个实施方式中,可以由分析服务器系统500采用组合批量和流传输数据处理的集群计算框架和批量处理器,诸如apache spark集群。提供给分析服务器系统500的数据可以包括例如来自入口服务器系统100、流处理服务器系统200和出口服务器系统400的数据。
[0108]
在一个实施方式中,分析服务器系统500可以被配置为接受车辆事件有效载荷和处理后的信息,其可以被存储在数据存储库(诸如,数据存储库107)中。如图5所示,存储装置包括来自出口服务器系统400的实时流出数据、来自流处理服务器系统200的经变换的定位数据和拒绝数据、以及来自入口服务器系统100的批量和实时原始数据。如图2所示,可以将存储在数据存储库107中的进入定位输出或拉到分析服务器系统500中。分析服务器系统500可以被配置为以与图2中所示的流处理器服务器系统200相同的方式处理进入的定位数据。如上所述,流处理服务器系统200可以被配置为将数据拆分成完整数据集216(该完整数据集216包括完整数据(针对时延过滤的经变换的定位数据和被拒绝的时延数据)和经变换的定位数据222的数据集。完整数据集216被存储在数据存储库107中以用于访问或递送到分析服务器系统500,而过滤后的经变换的定位数据被递送到出口服务器系统400。如图5中所示,实时过滤后的数据可以被处理用于几乎实时地报告,包括针对性能522、入口对出口524、操作监视526和警报528的报告。
[0109]
因此,在图5的框502处,在至少一个实施方式中,分析处理服务器系统500可以被配置为以与图2中的框202和图7的框701-705所示相同的方式可选地执行对来自进入定位的原始定位事件数据的验证。在一个实施方式中,如图7所示,在框706处,系统10可以采用记录的批量处理,以对多个事件记录的属性执行进一步验证,以确认事件数据点的属性之间的记录内关系是有意义的。例如,如表5中所示,系统10可以被配置为分析被分析的数据点,以确保用于行程的事件的逻辑排序(例如:针对行程的行程事件交替“tripstart

tripend

tripstart”,并且不重复“tripstart-tripstart-tripend-tripend”)。
[0110][0111]
表5
[0112]
参考图5的框504,在至少一个实施方式中,分析服务器系统500可以可选地被配置为执行定位事件数据的地理散列化,如图2中的框204所示。在图5的框506处,分析服务器系统500可以可选地执行定位查找。在图5的框508处,分析服务器系统500可以被配置为可选地执行如图2的框206和208中所示的设备匿名化。
[0113]
在框510处,在至少一个实施方式中,分析服务器系统500可以被配置为执行事件数据的行程段分析,如图2中的框209所示。
[0114]
在示例性实施方式中,系统10还可以被配置为执行车辆跟踪,而不需要预先识别车辆(例如,通过vin号码)。如上所述,地理散列化可以在事件数据的数据库上用于将数据地理散列化化到9个字符的精度,其对应于足以将事件唯一地关联到车辆的形状。在一个实施方式中,主动车辆检测包括在一段时间内从多个事件中识别车辆路径。在一个实施方式中,主动车辆检测可以包括在一天的时间段内从多个事件中识别车辆路径(24小时)。该识别包括使用例如连接组件算法。在一个实施方式中,连接组件算法用于识别包括车辆事件的日期的有向图中的车辆路径,其中在该有向图中,节点是车辆,并且节点之间的连接是所识别的车辆路径。例如,创建行程开始和行程结束的图表,其中,节点表示开始和结束,并且边缘是由车辆进行的行程。在每个边缘处,在时间上对开始和结束进行分类。创建边缘以将结束连接到该节点处的下一个开始,按时间排序。节点是gps坐标的9位地理散列。连接组件算法找到被连接的节点和边缘的集合,并且在一天的开始处生成的设备id沿着所确定的子图传递,以将行程(边缘)唯一地标识为由相同车辆进行的。
[0115]
这种方法的一个示例性优点是消除了对车辆对事件数据的预识别的需要。可以采用如本文所述的来自满足行程标准的车辆路径的行程段来检测行程并且排除如上所述的非合格行程事件。例如,关于彼此的x秒(30秒)内的事件的针对示出车辆具有停止移动/引擎关闭以开始移动/启动引擎的事件数据的被编码为9位(最高分辨率)的地理散列可以被认为是用于行程的相同车辆。对于到达和离开的序列,行程可以被计算为通过该图表的行程段的最短路径。
[0116]
在框512处,分析服务器500被配置为执行计算以从如图2的框210所示的事件信息获得行程。在至少一个实施方式中,在框514处,系统10被配置为通过分析车辆事件数据的数据库和将点的行程总结为具有如在图2的框211中描述的属性的行程对象来提供主动车
辆检测。在名为“system and method for processing vehicle event data for journey analysis(处理车辆事件数据以用于行程分析的系统和方法)”的美国专利申请16/78,755中描述了在分析服务器系统中采用的行程分割算法的描述,其全部内容通过引用并入本文。
[0117]
在至少一个实施方式中,在框515处,系统10可以被配置为将事件数据和行程确定数据存储在数据仓库517中。数据可以以数据库格式被存储。在一个实施方式中,可以将时间列添加到经处理的数据。在一个实施方式中,数据库还可以包括兴趣点(poi)数据。
[0118]
分析服务器系统500可以包括分析服务器组件516,以对存储在数据仓库517(例如,火花分析集群)中的数据执行数据分析。分析服务器系统500可以被配置为执行评估530、聚类531、人口统计分析532和定制分析533。例如,可以将日期列和小时列添加到数据以处理存储在仓库517中的行程数据和定位数据。这可以用于定制分析533,例如,通过日期和时间确定在交叉口x处有多少车辆。系统10还可以被配置为在出口服务器系统400处提供定制分析533,如关于图4所描述的。
[0119]
在一个实施方式中,地理空间索引行可以被添加到所存储的仓库517数据,例如,以对地理散列化的数据执行超本地对准或加速自组织查询。例如,被解析为4位数或字符的定位数据可以对应于20米或更低的分辨率。
[0120]
分析服务器系统500可以被配置有诊断机器学习534,该诊断机器学习534被配置为对具有未识别的字段的无效数据的数据库执行分析,以新标识和标记用于经验证的处理的字段。
[0121]
在实施方式中,系统10可以被配置为执行如在框510处所描述的行程段的批量分析。例如,在图7的框707处,行程分割提取可以包括通过识别用唯一id标记的所有事件来简单地提取行程。行程分割提取和计数的示例在表6中示出。
[0122][0123]
表6
[0124]
系统10还可以被配置为使用针对如在图7的框708处的行程值过滤在框512处所描述的行程标准来执行计算以使来自事件信息的行程有资格。行程值过滤的示例在表7中示出。
[0125][0126]
表7
[0127]
在一个实施方式中,可以针对系统性能报告535处理批量数据。例如,在一个实施方式中,系统10可以被配置为产生针对系统时延的报告。表8中示出针对所捕获和接收的时间戳数据之间的百分位范围的批量分析时延报告的示例。系统10可以被配置为执行潜在数据的间隔分析。表9中示出了针对百分位范围的间隔/捕获率报告的示例。
[0128]
[0129]
表8
[0130][0131]
表9
[0132]
图6是门户服务器系统600的逻辑架构。在至少一个实施方式中,门户服务器系统600可以是被布置为摄取和吞吐量记录和事件数据的一个或更多个计算机。门户服务器系统600可以被配置有用于门户api 608的门户用户界面604和api网关606,以对来自平台的第三方15用户的数据进行对接和接受。在一个实施方式中,门户服务器系统600可以被配置为提供每日静态聚合,并且被配置有搜索引擎和访问门户,以用于对由分析服务器系统500提供的数据的实时访问。在至少一个实施方式中,门户服务器系统600可以被配置为向例如第三方15客户端计算机提供仪表板。在至少一个实施方式中,来自分析服务器系统500的信息可以流到由门户用户界面604提供的报告生成器。在至少一个实施方式中,报告生成器可以被布置为基于性能信息生成一个或更多个报告。在至少一个实施方式中,可以基于一个或更多个报告模板来确定和格式化报告。
[0133]
图7是示出如上所述的数据处理的数据流水线的流程图。如图7所示,在一个实施方式中,事件数据通过数据质量检查的七(7)级流水线。另外,采用流处理和批量处理两者进行数据处理。流传输一次对记录进行操作,并且不保存旅程的任何先前记录的上下文,并且可以用于在属性和记录级别执行的检查。批量处理可以采取数据的更完整视图,并且可以涵盖整个端到端处理。批量处理进行与跨多个记录和行程执行的流传输加检查相同的检查。
[0134]
在至少一个实施方式中,仪表板显示器可以呈现由系统10的其它组件产生的信息的显示。在至少一个实施方式中,仪表板显示器可以呈现在通过网络访问的客户端计算机上。在至少一个实施方式中,在不脱离所要求保护的主题的精神和/或范围的情况下,可以采用用户接口。这样的用户界面可以具有可以以各种方式布置的任何数量的用户界面元素。在一些实施方式中,可以使用网页、移动应用、gis可视化工具、地图界面、电子邮件、文件服务器、pdf文档、文本消息等来生成用户界面。在至少一个实施方式中,入口服务器系统
100、流处理服务器系统200、出口服务器系统400、分析服务器系统500或门户服务器系统600可以包括用于生成用户界面的处理和/或api。
[0135]
如本文所述,系统10、处理和算法的实施方式可以被配置为在诸如amazon web services(aws)或microsoft的web服务平台主机上运行。云计算架构被配置为方便、按需网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池。云计算机平台可以被配置为允许平台提供商在无需与服务提供商进行人类交互的情况下按需自动地提供计算能力,诸如服务器时间和网络存储。此外,云计算在网络上是可用的,并且通过标准机制来访问,该标准机制促进了异构瘦客户端平台或胖客户端平台(例如,移动电话、膝上型计算机和pda)的使用。在云计算架构中,可以使用多租户(multi-tenant)模式汇集平台的计算资源,以服务于多个消费者、合作伙伴或其它第三方用户,其中根据需求动态地分配和再分配不同的物理资源和虚拟资源。云计算架构还被配置为使得平台资源可以被快速地且有弹性地(在一些情况下自动地)提供,以快速地扩大和快速地释放以快速缩小。
[0136]
云计算系统可以被配置有通过利用适于服务类型(例如,存储、处理、带宽和活动用户帐号)的某种抽象程度的计量能力来自动地控制和优化资源效用的系统。可以监测、控制和报告资源使用。如本文所述,在实施方式中,系统10有利地由具有被配置用于低时延的创新算法和数据库结构的平台提供者配置。
[0137]
云计算架构包括多个服务和平台配置。
[0138]
软件即服务(a software as a service,saas)被配置为允许平台提供商使用在云基础架构上运行的提供商的应用。应用可以通过诸如网页浏览器的瘦客户机接口(例如,基于网页的电子邮件)从各种客户端设备访问。除了有限的用户特定应用配置设置之外,消费者通常不管理或控制包括网络、服务器、操作系统、存储装置、甚至单个应用能力的底层云基础架构。
[0139]
平台即服务(a platform as a service,paas)被配置为允许平台提供者部署到云基础架构上,消费者创建或获取的应用使用提供者支持的程序设计语言和工具来创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储装置的底层云基础架构,但是也可以对所部署的应用以及可能的应用托管环境配置具有控制权。
[0140]
基础架构即服务(an infrastructure as a service,iaas)被配置为允许平台提供商提供处理、存储装置、网络和其它基础计算资源,其中,消费者能够部署并运行可以包括操作系统和应用的任意软件。消费者既不管理也不控制底层云基础架构,但是对操作系统、存储装置、所部署的应用具有控制权,并且对选择的网络组件(例如,主机防火墙)可能具有有限的控制权。
[0141]
云计算架构可以被提供为私有云计算架构、社区云计算架构或公共云计算架构。云计算架构还可以被配置为混合云计算架构,其包括两个或更多个云平台(私有云、社区云或公共云),这些云平台保持唯一实体,但是通过使能数据和应用便携性的标准化技术或私有技术(例如,用于云之间的负载平衡的云爆发)绑定在一起。
[0142]
云计算环境是面向服务的,集中在无状态性、低耦合性、模块性和语意互操作性。云计算的核心是包括互连节点的网络的基础架构。
[0143]
现在参考图8,描绘了说明性云计算环境50。如图所示,云计算环境50包括一个或
多个云计算节点30,云消费者使用本地计算设备(例如,个人数字助理(pda)或蜂窝电话23、台式计算机21、膝上型计算机22和诸如oem车辆传感器数据源14、应用数据源16、远程信息处理数据源20、无线基础架构数据源17、以及第三方数据源15的事件、和/或汽车计算机系统(诸如车辆数据源12)。节点30可以彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或更多个网络中,诸如如本文所述的私有云、社区云、公共云或混合云、或其组合。云计算环境50被配置为提供基础架构、平台和/或软件作为云消费者不需要在本地计算设备上维护资源的服务。应当理解,图9中所示的计算设备的类型旨在仅是说明性的,并且计算节点30和云计算环境50可以通过任何类型的网络和/或网络可寻址连接(例如,使用网页浏览器)与任何类型的计算机化设备通信。
[0144]
现在参考图9,示出了由云计算环境50(图8)提供的一组功能抽象层。图9中所示的组件、层和功能是说明性的,并且如本文中所描述的实施方式不限于此。如图所示,提供了下面的层和相应的功能。
[0145]
硬件和软件层60可以包括硬件和软件组件。硬件组件的示例包括例如:主机61;服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施方式中,软件组件包括网络应用服务器软件67和数据库软件68。
[0146]
虚拟化层70提供抽象层,可以从该抽象层提供以下虚拟实体的示例:虚拟服务器71;虚拟存储装置72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
[0147]
在一个示例中,管理层80可以提供下面描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态获取。计量和定价82在云计算环境内使用资源时提供成本跟踪,并且为这些资源的消耗提供计费或发票。在一个示例中,这些资源可以包括应用软件许可。安全性提供针对云消费者和任务的身份认证、以及对数据和其它资源的保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(sla)规划和实现85为根据sla预计未来需求的云计算资源提供预先安排和获得。
[0148]
工作负载层90提供云计算环境可用于的功能的示例。可以从该层提供的工作负载和功能的示例包括地图绘制和导航91;入口处理92、流处理93;门户仪表板递送94-相同数字;数据分析处理95;以及出口和数据递送96。
[0149]
虽然本公开描述了云计算平台上的实施方式,但是如本文中所描述的实施方式的实现不限于云计算环境。
[0150]
关于结合图1至图9描述的系统10、50、100、200、400、500、600和700描述的实施方式可以由单个网络计算机实现和/或在单个网络计算机上执行。在其它实施方式中,这些处理或这些处理的多个部分可以由多个网络计算机实现和/或在多个网络计算机上执行。同样地,在至少一个实施方式中,关于系统10、50、100、200、400、500和600或其部分描述的处理可以在网络计算机、客户端计算机、虚拟机等的一个或多个各种组合上操作。此外,在至少一个实施方式中,结合图1至图9描述的处理可以在具有诸如也结合图1至图9描述的那些逻辑架构之类的逻辑架构的系统中操作。
[0151]
应当理解,流程图的每个框以及流程图中的框的组合可以由计算机程序指令实现。这些程序指令可以被提供给处理器以产生机器,使得在处理器上执行的指令创建用于
实现在一个或多个流程图框中指定的动作的装置。计算机程序指令可以由处理器执行以使得一系列操作步骤由处理器执行以产生计算机实现的处理,使得在处理器上执行的指令提供用于实现在一个或多个流程图框中指定的动作的步骤。计算机程序指令还可以使流程图的框中所示的操作步骤中的至少一些操作步骤并行执行。此外,一些步骤也可以跨多于一个处理器执行,诸如可能出现在多处理器计算机系统或甚至一组多个计算机系统中。此外,在不脱离本公开的范围或精神的情况下,流程图中的一个或多个框或框的组合也可以与其它框或框的组合同时执行,或者甚至以与所示的顺序不同的顺序执行。
[0152]
因此,流程图的框支持用于执行指定动作的组合、用于执行指定动作的步骤的组合以及用于执行指定动作的程序指令装置。还将理解的是,流程图中的每个框以及流程图中的框的组合可以用执行规定动作或步骤的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。前述示例不应当被解释为是限制性的和/或穷举的,而是示出了各种实施方式中的至少一个的实现方式的说明性使用情况。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1