CN109858682A - 消失路线预测方法、装置、计算机设备及存储介质 - Google Patents
消失路线预测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109858682A CN109858682A CN201910012528.3A CN201910012528A CN109858682A CN 109858682 A CN109858682 A CN 109858682A CN 201910012528 A CN201910012528 A CN 201910012528A CN 109858682 A CN109858682 A CN 109858682A
- Authority
- CN
- China
- Prior art keywords
- path
- data
- user
- chained list
- predicted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了消失路线预测方法、装置、计算机设备及存储介质。该方法包括将用户路径数据转化为链表数据并存储在链表中对应的链表历史数据中;按切割时间间隔值将与每一用户对应的链表历史数据切割成多段路径,统计得到路径统计数据集合;根据节点选择个数在待预测用户的当前路径选定对应个数的结点,以组成筛选路径;根据筛选路径,在路径统计数据集合中搜索包括筛选路径的路径统计数据以组成预测路径集;获取各预测路径对应的概率值并按降序排序,得到排名位于排名阈值之前的预测路线,以组成待推荐预测路径。该方法实现根据用户驾驶轨迹的离线记录刻画了不同路段下的预测路线,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种消失路线预测方法、装置、计算机设备及存储介质。
背景技术
目前,对道路上行驶的车辆进行监控,一般是通过设置在道路的固定装置上的高清摄像头来采集获取。通过采集的海量的监控视频,能实现对车辆的行程路线进行分析。但是若存在遮挡号牌或是高清摄像头故障等极端情况下,在进行对重点车辆的监控过程中,会出现短时间线路失踪的情况,无法继续通过离线数据对重点车辆的线路预测,从而失去该终点车辆的当前行踪。例如,重点车辆1在线路失踪前最近路过的3个路口为d-e-f,此时无法通过离线数据对重点车辆1的线路预测,从而失去该终点车辆1的当前行踪。
发明内容
本发明实施例提供了一种消失路线预测方法、装置、计算机设备及存储介质,旨在解决现有技术中在对指定车辆的进行监控过程中,会出现短时间线路失踪的情况,无法继续通过离线数据对指定车辆的线路预测的问题。
第一方面,本发明实施例提供了一种消失路线预测方法,其包括:
获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;
根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;
获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
第二方面,本发明实施例提供了一种消失路线预测装置,其包括:
数据存储单元,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
数据切割单元,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
筛选路径获取单元,用于接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;
预测路径集获取单元,用于根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;
预测路径筛选单元,用于获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的消失路线预测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的消失路线预测方法。
本发明实施例提供了一种消失路线预测方法、装置、计算机设备及存储介质。该方法包括获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。该方法实现了根据用户驾驶轨迹的离线记录刻画了不同路段下的预测路线,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的消失路线预测方法的应用场景示意图;
图2为本发明实施例提供的消失路线预测方法的流程示意图;
图3为本发明实施例提供的消失路线预测方法的子流程示意图;
图4为本发明实施例提供的消失路线预测方法的另一子流程示意图;
图5为本发明实施例提供的消失路线预测方法的另一子流程示意图;
图6为本发明实施例提供的消失路线预测装置的示意性框图;
图7为本发明实施例提供的消失路线预测装置的子单元示意性框图;
图8为本发明实施例提供的消失路线预测装置的另一子单元示意性框图;
图9为本发明实施例提供的消失路线预测装置的另一子单元示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1是本发明实施例提供的消失路线预测方法的应用场景示意图,图2是本发明实施例提供的消失路线预测方法的流程示意图,该消失路线预测方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S110~S150。
S110、获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中。
在本实施例中,当服务器接收了由前端采集装置采集而转化得到的用户路径数据后,以链表的方式存储个用户对应的用户路径数据,以实现对每一用户的路径进行有效监控。
在一实施例中,如图3所示,步骤S110包括步骤S111-步骤S115。
S111、接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中。
在本实施例中,是设置在道路上的前端采集装置(如监控摄像头)采集到多张车辆图片并进行车牌识别后上传至服务器,服务器接收包括车牌号的用户路径数据,然后将所述用户路径数据存储至在服务器中创建的临时数据库中。由于上传服务器的是用户路径数据,无需上传车辆图片,降低了数据传输量。
为了更清楚的理解技术方案的使用场景(例如以监控用户的交通路线轨迹为例),下面对所涉及到的终端进行介绍。其中,在本申请中,是站在服务器的角度来描述技术方案。
一是服务器,服务器中部署有消息中间件和链表。消息中间件用于接收前端采集装置上传的用户路径数据,并将用户路径数据解析并处理成链表数据后发送至链表进行存储。
二是前端采集装置,例如设置在道路上的监控摄像头(这些监控摄像头一般安装在路口、高速路收费站路口、重要道路地段等地方),用于采集用户路径数据并上传至消息中间件,例如监控摄像头所采集的车辆图片本地进行车牌识别后,上传至服务器中可以解析获取的用户路径数据包括车牌号、所通过当前路口名称、通过当前路口的时间点等信息,即监控摄像头所采集的车辆图片至少包括车牌号、所通过当前路口名称、通过当前路口的时间点等信息,其中车牌号即可作为用户唯一识别码,所通过当前路口名称、及通过当前路口的时间点可作为与用户唯一识别码对应的待处理链表数据。例如A路口设置的监控摄像头在A路口拍摄到车辆a的车辆图片,通过A路口设置的监控摄像头进行车牌识别得到车辆a的车牌号,此时根据车辆a的车牌号、路口A的路口名称(即所通过当前路口名称)、及A路口设置的监控摄像头在A路口拍摄到车辆a的车辆图片的时间(即通过当前路口的时间点)即可组成用户路径数据。
在一实施例中,所述步骤S111中接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中,包括:
通过消息中间件接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至在所述消息中间件中创建的临时数据库中;其中,所述消息中间件为分布式发布订阅消息中间件;所述用户路径数据包括车牌号、所通过当前路口名称、通过当前路口的时间点。
在本实施例中,所述消息中间件为分布式发布订阅消息中间件(分布式发布订阅消息中间件即Kafka消息中间件),Kafka消息中间件可形象的理解为一个大的水池,不断的生产、存储、消费着各种类别的消息,即生产者往队列(即形象理解的水池)里写消息,消费者从队列里取消息进行业务逻辑。通过Kafka消息中间件作为用户路径数据的临时存储数据,能有效的对用户路径数据进行对应的数据加工和处理。
S112、按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据。
在本实施例中,对车辆图片识别得到的用户路径数据是先存储在临时数据库中,为了消费临时数据库中的用户路径数据,需按预设的取数周期从所述临时数据库中获取所述用户路径数据,进行数据加工后存储至目标区域。在对从所述临时数据库中获取所述用户路径数据进行数据加工时,是解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;其中所述待处理链表数据包括所通过当前路口名称、通过当前路口的时间点。
即Kafka消息中间件中接收并保存了用户路径数据后,将增量的数据暂时保存在临时数据库中,当临时数据库中沉淀的增量的数据到达一定量,按预设的取数周期从临时数据库中获取增量的用户路径数据,将用户路径数据解析后,更新至链表中,并将临时数据库已经处理过的用户路径数据做删除操作,避免数据重复插入到链表中。
为了更清楚的理解本申请中采用链表存储数据,下面对链表进行介绍。
链表中可以针对每一用户建立一条链表数据,每一条链表数据中仅保存与该链表数据所对应用户的相关数据,多条链表数据即可组成一张链表。
链表的具体存储表示为:
①用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
②链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))。
链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
链表中包括data域(即数据域)和next域(即指针域);链表中每一条链表数据的data域用于存放结点值的数据域,如用户路径数据中所包括的所通过当前路口名称、通过当前路口的时间点;next域用于存放结点的直接后继的地址(位置)的指针域(链域)。
在一实施例中,步骤S112之后还包括:
判断与所述用户唯一识别码对应的待处理链表数据是否为多组链表数据;
若与所述用户唯一识别码对应的待处理链表数据为多组链表数据,将多组链表数据中所包括的链表数据按时间升序的方式进行排序,得到排序后的链表数据;
若与所述用户唯一识别码对应的待处理链表数据不为多组链表数据,获取所述待处理链表数据。
在本实施例中,当从临时数据库所取出多组数据后,每一组数据都对应一个用户唯一识别码,且每一组数据能根据链表数据的格式进行加工,即每组数据从临时数据库中取出时,将该组数据中的待处理链表数据封装至链表数据的数据域,并将该链表数据的指针域初始设置为空值。此时将该链表数据的标识属性置为用户唯一识别码,通过上述过程即可将每组从临时数据库的用户路径数据加工成链表数据。
显然,若有多组数据都对应同一个用户唯一识别码,表示与所述用户唯一识别码对应的待处理链表数据是否为多组链表数据。例如,在Kafka消息中间件中解析到某一用户唯一识别码(例如记为用户A1),其对应有在用户A1在2018年6月1日10:00:00通过卡口a;用户A1在在2018年6月1日09:00:00通过卡口b,这就表示该用户A1此次被解析的的待处理链表数据中包括2组链表数据,需要在该用户对应的链表历史数据中增加2个链表存储单元,以分别存储不同时间点的链表数据。上述两条数据均对应的是用户A1的待处理链表数据,此时按时间先后顺序进排序时,A1在在2018年6月1日09:00:00,通过卡口b排在之前;用户A1在2018年6月1日10:00:00,通过卡口a排在之后,这样将多组链表数据进行时间顺序调整后再插入链表,可实现按时间先后顺序存储用户路径数据。
S113、遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据。
在本实施例中,遍历并判断本地已存储的链表(本地已存储的链表即服务器中已存储的各链表)中是否存在与所述用户唯一识别码对应的链表历史数据,是为了判断链表中是否有该用户唯一识别码对应的历史数据;若链表中不存在与所述用户唯一识别码对应的链表历史数据,需要在链表中新建初始链表,再将所述待处理链表数据对应插入初始链表;若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至对应链表历史数据进行存储即可。
S114、若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
在一实施例中,所述步骤S114包括:
获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
获取所述待处理链表数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
按通过当前路口的时间点升序对获取所述链表历史数据及获取所述待处理链表数据进行排序,将所述待处理链表数据中每一链表数据插入至所述链表历史数据,并对应调整每一链表数据的指针域。
在本实施例中,链表的data域为时间点+卡口;从链表头开始,不断找到next域(即指针域)指定的节点,每次移动都保留两个指针值,其中一个指针t1是停留在当前的节点,另一个指针t2停留在下一个next域的节点;通过比对目标时间是否在t1和t2所指向的节点对应的时间之间,若是的话,则在t1和t2所指向的节点中间增加新增加一个节点,保存当前的数据。
将新增的数据不断更新到与用户唯一识别码对应的链表数据,实现了单一用户链表数据的更新。通过遍历每个用户唯一识别码对应的链表数据,将新增的链表数据补充到用户时序链表数据中,得到最新的链表数据(包含了时间+卡口),并且基于用户的链表数据,得到用户在不同路段(卡口与卡口之间构成路段)上的通行时间,即路段通行时间表。
在一实施例中,如图3所示,步骤S113之后,还包括:
S115、若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
在本实施例中,若链表中不存在与所述用户唯一识别码对应的链表历史数据,表示所述用户唯一识别码对应的车辆是首次被监控拍摄,需要在链表中新建初始链表,将该初始链表的标识属性置为用户唯一识别码,再将所述待处理链表数据对应插入初始链表。
在一实施例中,步骤S1141之前,还包括:
根据所述用户唯一识别码定位应用容器引擎,获取所述应用容器引擎中存储的链表历史数据。
在本实施例中,可以在服务器建立多个应用容器引擎(即Docker容器),每一应用容器引擎以用户唯一识别码作为标识属性命名,并对应存储与所述用户唯一识别码对应的链表数据。通过对每个用户启动一个Docker容器,然后通过部署和启动Docker容器的程序,提高大规模用户快速更新链表。
S120、根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合。
在一实施例中,如图4所示,步骤S120包括:
S121、获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
S122、判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
S123、若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
在本实施例中,在链表中包括海量用户的链表历史数据,每一用户的链表历史数据表示该用户的历史路径数据,能准确的反映用户在何时路过何卡口。在每一用户的链表历史数据中每一结点数据均包括data域和next域,data域用于存放结点值的数据域,如用户路径数据中所包括的当前通过的路口名称和通过当前路口的时间。这样,一旦某一用户的链表历史数据中相邻两个结点数据的时间间隔超出预设的切割时间间隔值(如取切割时间间隔值为2小时),则将链表历史数据形成的链式数据中将上述相邻的两个结点之间的链式连接关系切割断开(也就是清除上述两个相邻结点之间指针的指向关系);若链表历史数据中相邻两个结点数据的时间间隔未超出预设的切割时间间隔值,则保持上述相邻两个结点数据的链式连接关系。通过预设的切割时间间隔值,能将每一用户的链表历史数据切割成多段路径,而多个不同的用户的链表历史数据均经过上述方式的切割,故能得到与各用户对应的链表历史数据切割成多段路径,统计多段路径得到路径统计数据集合。
由于在路径统计数据集合中可获知路径统计数据包括哪些路径,以及与每一路径对应概率值,故在后续步骤中可根据路径统计数据中的路径进行路径预测。
S130、接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径。
在一实施例中,步骤S130包括:
根据所述节点选择个数在所述当前路径按倒序顺序依次选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合。
在本实施例中,例如待预测用户(记为用户A)的当前路径为a-b-c-d-e,之后用户A的路径因无法获取(如用户A遮挡号牌),此时为了预测用户A之后的路径,按倒序获取预设个数的结点,如获取了3个(3个则为预设的节点选择个数)结点分别为e、d、c,由e、d、c组成路径e-d-c以组成筛选路径。通过上述方式,能有效且快速的获取待预测用户的当前路径对后续预测路线影响较大的路径子集。
S140、根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集。
在一实施例中,如图5所示,步骤S140包括:
S141、获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的总条数;
S142、获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数;其中,在所述路径统计数据集合中包括所述筛选路径的路径统计数据中的多类数据中,每一类数据组成一种预测路径;
S143、获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的每一类数据的频次与所述总条数之比,以得到与所述预测路径集中各预测路径对应的概率值。
在本实施例中,先在路径统计数据集合中搜索包括筛选路径e-d-c且未以筛选路径e-d-c为结尾路径的所有预测路径(例如e-d-c-a-m-f,e-d-c-f,f-e-d-c-g-h等路径中都包括筛选路径路径e-d-c,且并未以e-d-c作为最后三个结点),及与包括筛选路径e-d-c的预测路径一一对应的概率值;例如筛选路径e-d-c且未以筛选路径e-d-c为结尾路径的所有预测路径有1000条,预测路径e-d-c-a-m-f出现的频次为100条,预测路径e-d-c-f出现的频次为200条,预测路径f-e-d-c-g-h出现的频次为300条,即获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数为3个;此时预测路径e-d-c-a-m-f对应的概率值为100/1000=0.1,预测路径e-d-c-f对应的概率值为200/1000=0.2,预测路径f-e-d-c-g-h对应的概率值为300/1000=0.3。
通过上述方式能准确的在所述路径统计数据集合中搜索包括筛选路径且未以筛选路径结尾路径的所有预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
S150、获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
在本实施例中,例如按步骤S140得到的与各预测路径对应的概率值,按概率值的降序进行排序,选取排名位于预设的排名阈值(例如设置排名阈值为3)之前的预测路线作为待推荐的预测路径,例如选取排名1-2的概率值对应的预测路径作为待推荐的预测路径。通过上述方式,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
该方法实现了根据用户驾驶轨迹的离线记录刻画了不同路段下的预测路线,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
本发明实施例还提供一种消失路线预测装置,该消失路线预测装置用于执行前述消失路线预测方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的消失路线预测装置的示意性框图。该消失路线预测装置100可以配置于服务器中。
如图6所示,消失路线预测装置100包括数据存储单元110、数据切割单元120、筛选路径获取单元130、预测路径集获取单元140、预测路径筛选单元150。
数据存储单元110,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中。
在本实施例中,当服务器接收了由前端采集装置采集而转化得到的用户路径数据后,以链表的方式存储个用户对应的用户路径数据,以实现对每一用户的路径进行有效监控。
在一实施例中,如图7所示,数据存储单元110包括数据临时存储单元111、数据解析单元112、链表遍历单元113、数据插入单元114。
数据临时存储单元111,用于接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中。
在本实施例中,是设置在道路上的前端采集装置(如监控摄像头)采集到多张车辆图片并进行车牌识别后上传至服务器,服务器接收包括车牌号的用户路径数据,然后将所述用户路径数据存储至在服务器中创建的临时数据库中。由于上传服务器的是用户路径数据,无需上传车辆图片,降低了数据传输量。
例如监控摄像头所采集的车辆图片本地进行车牌识别后,上传至服务器中可以解析获取的用户路径数据包括车牌号、所通过当前路口名称、通过当前路口的时间点等信息,即监控摄像头所采集的车辆图片至少包括车牌号、所通过当前路口名称、通过当前路口的时间点等信息,其中车牌号即可作为用户唯一识别码,所通过当前路口名称、及通过当前路口的时间点可作为与用户唯一识别码对应的待处理链表数据。例如A路口设置的监控摄像头在A路口拍摄到车辆a的车辆图片,通过A路口设置的监控摄像头进行车牌识别得到车辆a的车牌号,此时根据车辆a的车牌号、路口A的路口名称(即所通过当前路口名称)、及A路口设置的监控摄像头在A路口拍摄到车辆a的车辆图片的时间(即通过当前路口的时间点)即可组成用户路径数据。
在一实施例中,所述数据临时存储单元111还用于:
通过消息中间件接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至在所述消息中间件中创建的临时数据库中;其中,所述消息中间件为分布式发布订阅消息中间件;所述用户路径数据包括车牌号、所通过当前路口名称、通过当前路口的时间点。
在本实施例中,所述消息中间件为分布式发布订阅消息中间件(分布式发布订阅消息中间件即Kafka消息中间件),Kafka消息中间件可形象的理解为一个大的水池,不断的生产、存储、消费着各种类别的消息,即生产者往队列(即形象理解的水池)里写消息,消费者从队列里取消息进行业务逻辑。通过Kafka消息中间件作为用户路径数据的临时存储数据,能有效的对用户路径数据进行对应的数据加工和处理。
数据解析单元112,用于按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据。
在本实施例中,对车辆图片识别得到的用户路径数据是先存储在临时数据库中,为了消费临时数据库中的用户路径数据,需按预设的取数周期从所述临时数据库中获取所述用户路径数据,进行数据加工后存储至目标区域。在对从所述临时数据库中获取所述用户路径数据进行数据加工时,是解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;其中所述待处理链表数据包括所通过当前路口名称、通过当前路口的时间点。
即Kafka消息中间件中接收并保存了用户路径数据后,将增量的数据暂时保存在临时数据库中,当临时数据库中沉淀的增量的数据到达一定量,按预设的取数周期从临时数据库中获取增量的用户路径数据,将用户路径数据解析后,更新至链表中,并将临时数据库已经处理过的用户路径数据做删除操作,避免数据重复插入到链表中。
链表中包括data域(即数据域)和next域(即指针域);链表中每一条链表数据的data域用于存放结点值的数据域,如用户路径数据中所包括的所通过当前路口名称、通过当前路口的时间点;next域用于存放结点的直接后继的地址(位置)的指针域(链域)。
在一实施例中,数据存储单元110还包括:
多组链表数据判断单元,用于判断与所述用户唯一识别码对应的待处理链表数据是否为多组链表数据;
数据排序单元,用于若与所述用户唯一识别码对应的待处理链表数据为多组链表数据,将多组链表数据中所包括的链表数据按时间升序的方式进行排序,得到排序后的链表数据;
数据获取单元,用于若与所述用户唯一识别码对应的待处理链表数据不为多组链表数据,获取所述待处理链表数据。
在本实施例中,当从临时数据库所取出多组数据后,每一组数据都对应一个用户唯一识别码,且每一组数据能根据链表数据的格式进行加工,即每组数据从临时数据库中取出时,将该组数据中的待处理链表数据封装至链表数据的数据域,并将该链表数据的指针域初始设置为空值。此时将该链表数据的标识属性置为用户唯一识别码,通过上述过程即可将每组从临时数据库的用户路径数据加工成链表数据。
显然,若有多组数据都对应同一个用户唯一识别码,表示与所述用户唯一识别码对应的待处理链表数据是否为多组链表数据。例如,在Kafka消息中间件中解析到某一用户唯一识别码(例如记为用户A1),其对应有在用户A1在2018年6月1日10:00:00通过卡口a;用户A1在在2018年6月1日09:00:00通过卡口b,这就表示该用户A1此次被解析的的待处理链表数据中包括2组链表数据,需要在该用户对应的链表历史数据中增加2个链表存储单元,以分别存储不同时间点的链表数据。上述两条数据均对应的是用户A1的待处理链表数据,此时按时间先后顺序进排序时,A1在在2018年6月1日09:00:00,通过卡口b排在之前;用户A1在2018年6月1日10:00:00,通过卡口a排在之后,这样将多组链表数据进行时间顺序调整后再插入链表,可实现按时间先后顺序存储用户路径数据。
链表遍历单元113,用于遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据。
在本实施例中,遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据,是为了判断链表中是否有该用户唯一识别码对应的历史数据;若链表中不存在与所述用户唯一识别码对应的链表历史数据,需要在链表中新建初始链表,再将所述待处理链表数据对应插入初始链表;若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至对应链表历史数据进行存储即可。
数据插入单元114,用于若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
在一实施例中,所述数据插入单元114包括:
历史数据获取单元,用于获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
当前数据获取单元,用于获取所述待处理链表数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
依序插入单元,用于按通过当前路口的时间点升序对获取所述链表历史数据及获取所述待处理链表数据进行排序,将所述待处理链表数据中每一链表数据插入至所述链表历史数据,并对应调整每一链表数据的指针域。
在本实施例中,链表的data域为时间点+卡口;从链表头开始,不断找到next域(即指针域)指定的节点,每次移动都保留两个指针值,其中一个指针t1是停留在当前的节点,另一个指针t2停留在下一个next域的节点;通过比对目标时间是否在t1和t2所指向的节点对应的时间之间,若是的话,则在t1和t2所指向的节点中间增加新增加一个节点,保存当前的数据。
将新增的数据不断更新到与用户唯一识别码对应的链表数据,实现了单一用户链表数据的更新。通过遍历每个用户唯一识别码对应的链表数据,将新增的链表数据补充到用户时序链表数据中,得到最新的链表数据(包含了时间+卡口),并且基于用户的链表数据,得到用户在不同路段(卡口与卡口之间构成路段)上的通行时间,即路段通行时间表。
在一实施例中,如图6所示,数据存储单元110还包括:
链表数据新建单元115,用于若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
在本实施例中,若链表中不存在与所述用户唯一识别码对应的链表历史数据,表示所述用户唯一识别码对应的车辆是首次被监控拍摄,需要在链表中新建初始链表,将该初始链表的标识属性置为用户唯一识别码,再将所述待处理链表数据对应插入初始链表。
在一实施例中,数据存储单元110还包括:
存储容器定位单元,用于根据所述用户唯一识别码定位应用容器引擎,获取所述应用容器引擎中存储的链表历史数据。
在本实施例中,可以在服务器建立多个应用容器引擎(即Docker容器),每一应用容器引擎以用户唯一识别码作为标识属性命名,并对应存储与所述用户唯一识别码对应的链表数据。通过对每个用户启动一个Docker容器,然后通过部署和启动Docker容器的程序,提高大规模用户快速更新链表。
数据切割单元120,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合。
在一实施例中,如图8所示,数据切割单元120包括:
结点数据获取单元121,用于获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
时间差值判断单元122,用于判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
链表数据切割单元123,用于若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
在本实施例中,在链表中包括海量用户的链表历史数据,每一用户的链表历史数据表示该用户的历史路径数据,能准确的反映用户在何时路过何卡口。在每一用户的链表历史数据中每一结点数据均包括data域和next域,data域用于存放结点值的数据域,如用户路径数据中所包括的当前通过的路口名称和通过当前路口的时间。这样,一旦某一用户的链表历史数据中相邻两个结点数据的时间间隔超出预设的切割时间间隔值(如取切割时间间隔值为2小时),则将链表历史数据形成的链式数据中将上述相邻的两个结点之间的链式连接关系切割断开(也就是清除上述两个相邻结点之间指针的指向关系);若链表历史数据中相邻两个结点数据的时间间隔未超出预设的切割时间间隔值,则保持上述相邻两个结点数据的链式连接关系。通过预设的切割时间间隔值,能将每一用户的链表历史数据切割成多段路径,而多个不同的用户的链表历史数据均经过上述方式的切割,故能得到与各用户对应的链表历史数据切割成多段路径,统计多段路径得到路径统计数据集合。
由于在路径统计数据集合中可获知路径统计数据包括哪些路径,以及与每一路径对应概率值,故在后续步骤中可根据路径统计数据中的路径进行路径预测。
筛选路径获取单元130,用于接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径。
在一实施例中,筛选路径获取单元130还用于:
根据所述节点选择个数在所述当前路径按倒序顺序依次选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合。
在本实施例中,例如待预测用户(记为用户A)的当前路径为a-b-c-d-e,之后用户A的路径因无法获取(如用户A遮挡号牌),此时为了预测用户A之后的路径,按倒序获取预设个数的结点,如获取了3个(3个则为预设的节点选择个数)结点分别为e、d、c,由e、d、c组成路径e-d-c以组成筛选路径。通过上述方式,能有效且快速的获取待预测用户的当前路径对后续预测路线影响较大的路径子集。
预测路径集获取单元140,用于根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集。
在一实施例中,如图9所示,预测路径集获取单元140包括:
总条数获取单元141,用于获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的总条数;
总类数获取单元142,用于获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数;其中,在所述路径统计数据集合中包括所述筛选路径的路径统计数据中的多类数据中,每一类数据组成一种预测路径;
概率计算单元143,用于获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的每一类数据的频次与所述总条数之比,以得到与所述预测路径集中各预测路径对应的概率值。
在本实施例中,先在路径统计数据集合中搜索包括筛选路径e-d-c且未以筛选路径e-d-c为结尾路径的所有预测路径(例如e-d-c-a-m-f,e-d-c-f,f-e-d-c-g-h等路径中都包括筛选路径路径e-d-c,且并未以e-d-c作为最后三个结点),及与包括筛选路径e-d-c的预测路径一一对应的概率值;例如筛选路径e-d-c且未以筛选路径e-d-c为结尾路径的所有预测路径有1000条,预测路径e-d-c-a-m-f出现的频次为100条,预测路径e-d-c-f出现的频次为200条,预测路径f-e-d-c-g-h出现的频次为300条,即获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数为3个;此时预测路径e-d-c-a-m-f对应的概率值为100/1000=0.1,预测路径e-d-c-f对应的概率值为200/1000=0.2,预测路径f-e-d-c-g-h对应的概率值为300/1000=0.3。
通过上述方式能准确的在所述路径统计数据集合中搜索包括筛选路径且未以筛选路径结尾路径的所有预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
预测路径筛选单元150,用于获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
在本实施例中,例如按在预测路径集获取单元140中得到的与各预测路径对应的概率值,按概率值的降序进行排序,选取排名位于预设的排名阈值(例如设置排名阈值为3)之前的预测路线作为待推荐的预测路径,例如选取排名1-2的概率值对应的预测路径作为待推荐的预测路径。通过上述方式,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
该装置实现了根据用户驾驶轨迹的离线记录刻画了不同路段下的预测路线,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
上述消失路线预测装置可以实现为计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器。其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行消失路线预测方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行消失路线预测方法。
该网络接口505用于进行网络通信,如提供用户路径数据的传输等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;以及获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
在一实施例中,处理器502在执行所述根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合的步骤时,执行如下操作:根据所述节点选择个数在所述当前路径按倒序顺序依次选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合。
在一实施例中,处理器502在执行所述获取与所述预测路径集中各预测路径对应的概率值的步骤时,执行如下操作:获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的总条数;获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数;其中,在所述路径统计数据集合中包括所述筛选路径的路径统计数据中的多类数据中,每一类数据组成一种预测路径;获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的每一类数据的频次与所述总条数之比,以得到与所述预测路径集中各预测路径对应的概率值。
在一实施例中,处理器502在执行所述按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径的步骤时,执行如下操作:获取所述链表中每一用户对应的链表历史数据包括的各结点数据;判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
在一实施例中,处理器502在执行所述获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中的步骤时,执行如下操作:接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
在一实施例中,处理器502在执行所述遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据的步骤之后,还执行如下操作:若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
在一实施例中,处理器502在执行所述将所述待处理链表数据插入至所述链表历史数据进行存储的步骤时,执行如下操作:获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;获取所述待处理链表数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;按通过当前路口的时间点升序对获取的所述链表历史数据及获取的所述待处理链表数据进行排序,将所述待处理链表数据中每一链表数据插入至所述链表历史数据,并对应调整每一链表数据的指针域。
本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;以及获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
在一实施例中,所述根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合,包括:根据所述节点选择个数在所述当前路径按倒序顺序依次选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合。
在一实施例中,所述获取与所述预测路径集中各预测路径对应的概率值,包括:获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的总条数;获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数;其中,在所述路径统计数据集合中包括所述筛选路径的路径统计数据中的多类数据中,每一类数据组成一种预测路径;获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的每一类数据的频次与所述总条数之比,以得到与所述预测路径集中各预测路径对应的概率值。
在一实施例中,所述按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,包括:获取所述链表中每一用户对应的链表历史数据包括的各结点数据;判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
在一实施例中,所述获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中,包括:接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
在一实施例中,所述遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据之后,还包括:若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
在一实施例中,所述将所述待处理链表数据插入至所述链表历史数据进行存储,包括:获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;获取所述待处理链表数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;按通过当前路口的时间点升序对获取的所述链表历史数据及获取的所述待处理链表数据进行排序,将所述待处理链表数据中每一链表数据插入至所述链表历史数据,并对应调整每一链表数据的指针域。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种消失路线预测方法,其特征在于,包括:
获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;
根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;以及
获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
2.根据权利要求1所述的消失路线预测方法,其特征在于,所述根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合,包括:
根据所述节点选择个数在所述当前路径按倒序顺序依次选定对应个数的结点,由所选定的结点组成多个筛选路径,以得到筛选路径集合。
3.根据权利要求1所述的消失路线预测方法,其特征在于,所述获取与所述预测路径集中各预测路径对应的概率值,包括:
获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的总条数;
获取在所述路径统计数据集合中包括所述筛选路径、且未以所述筛选路径为结束路径的路径统计数据的总类数;其中,在所述路径统计数据集合中包括所述筛选路径的路径统计数据中的多类数据中,每一类数据组成一种预测路径;
获取在所述路径统计数据集合中包括所述筛选路径的路径统计数据的每一类数据的频次与所述总条数之比,以得到与所述预测路径集中各预测路径对应的概率值。
4.根据权利要求1所述的消失路线预测方法,其特征在于,所述按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,包括:
获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
5.根据权利要求1所述的消失路线预测方法,其特征在于,所述获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中,包括:
接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;
按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;
遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;
若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
6.根据权利要求5所述的消失路线预测方法,其特征在于,所述遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据之后,还包括:
若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
7.根据权利要求5所述的消失路线预测方法,其特征在于,所述将所述待处理链表数据插入至所述链表历史数据进行存储,包括:
获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
获取所述待处理链表数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
按通过当前路口的时间点升序对获取的所述链表历史数据及获取的所述待处理链表数据进行排序,将所述待处理链表数据中每一链表数据插入至所述链表历史数据,并对应调整每一链表数据的指针域。
8.一种消失路线预测装置,其特征在于,包括:
数据存储单元,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
数据切割单元,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
筛选路径获取单元,用于接收待预测用户的当前路径及预设的节点选择个数,根据所述节点选择个数在所述当前路径选定对应个数的结点,由所选定的结点组成筛选路径;
预测路径集获取单元,用于根据所述筛选路径,在所述路径统计数据集合中搜索包括所述筛选路径的路径统计数据,以组成预测路径集;
预测路径筛选单元,用于获取与所述预测路径集中各预测路径对应的概率值,将所述预测路径集中各预测路径按概率值的降序进行排序,得到排名位于预设的排名阈值之前的预测路线,以组成待推荐预测路径。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的消失路线预测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的消失路线预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012528.3A CN109858682B (zh) | 2019-01-07 | 2019-01-07 | 消失路线预测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910012528.3A CN109858682B (zh) | 2019-01-07 | 2019-01-07 | 消失路线预测方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858682A true CN109858682A (zh) | 2019-06-07 |
CN109858682B CN109858682B (zh) | 2023-06-09 |
Family
ID=66894086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910012528.3A Active CN109858682B (zh) | 2019-01-07 | 2019-01-07 | 消失路线预测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858682B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176860A (zh) * | 2019-12-12 | 2020-05-19 | 北京明略软件系统有限公司 | 一种实现轨迹分析的方法、系统、计算机存储介质及终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6898555B2 (ja) * | 2017-06-06 | 2021-07-07 | 富士通株式会社 | 移動経路検索プログラム、移動経路検索装置、及び移動経路検索方法 |
-
2019
- 2019-01-07 CN CN201910012528.3A patent/CN109858682B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176860A (zh) * | 2019-12-12 | 2020-05-19 | 北京明略软件系统有限公司 | 一种实现轨迹分析的方法、系统、计算机存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109858682B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657879A (zh) | 预测路线获取方法、装置、计算机设备及存储介质 | |
JP6405416B2 (ja) | データ送信システム、及びデータ送信方法 | |
US20100114484A1 (en) | Map matching system, map matching method and program | |
JP5956049B2 (ja) | ストリーミングネットフローデータ解析方法及び装置 | |
CN108090630B (zh) | 多星应急任务规划方法及装置 | |
MXPA06014827A (es) | Dispositivo mejorador para el procesamiento de estadisticas de red. | |
CN111277320B (zh) | 一种蜂窝网联无人机轨迹设计和干扰管理的方法及装置 | |
CN109063121A (zh) | 数据存储方法、装置、计算机设备及计算机存储介质 | |
CN109858682A (zh) | 消失路线预测方法、装置、计算机设备及存储介质 | |
CN112491719A (zh) | 网络节点的选择方法、设备及存储介质 | |
CN109642803A (zh) | 用于压缩高保真运动数据以通过有限带宽网络传输的系统和方法 | |
CN107807853B (zh) | 一种基于机器实时负载和任务状态机的节点筛选方法及装置 | |
CN114073112A (zh) | 认知地控制数据传送 | |
CN109218138B (zh) | 网络节点监测方法及系统 | |
CN104730570A (zh) | 用于将数据下载到地震数据采集系统中的中央单元的方法 | |
CN109800974A (zh) | 城市网格分配方法、装置及电子终端 | |
US9787826B2 (en) | Monitoring apparatus to monitor communication among terminal devices inside group, and storage medium | |
CN114329058B (zh) | 图像聚档方法、装置和电子设备 | |
JP2000357139A (ja) | ネットワーク管理装置およびその方法 | |
CN107612778A (zh) | 一种数据采集传输方法及系统 | |
CN107958303A (zh) | 一种拥堵传播数据生成方法及装置、拥堵传播预测方法及系统 | |
CN109471746A (zh) | 一种集群日志的收集方法与系统 | |
CN114338654A (zh) | 文件传输方法、存储服务分配方法、装置、设备及介质 | |
CN109886532B (zh) | 驾驶线路规划方法、装置、计算机设备及存储介质 | |
Amelia et al. | Detection of potential traffic jam based on traffic characteristic data analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |