CN109657879B - 预测路线获取方法、装置、计算机设备及存储介质 - Google Patents
预测路线获取方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109657879B CN109657879B CN201910013101.5A CN201910013101A CN109657879B CN 109657879 B CN109657879 B CN 109657879B CN 201910013101 A CN201910013101 A CN 201910013101A CN 109657879 B CN109657879 B CN 109657879B
- Authority
- CN
- China
- Prior art keywords
- path
- data
- predicted
- linked list
- user
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了预测路线获取方法、装置、计算机设备及存储介质。该方法包括:将用户路径数据转化为链表数据并存储在链表中对应的链表历史数据中;按切割时间间隔值将与每一用户对应的链表历史数据切割成多段路径,统计得到路径统计数据集合;接收待预测用户的当前路径,根据当前路径中得到多条路径以组成路径子集;在路径统计数据集合中搜索包括路径子集中各路径对应的预测路径及对应的概率值;将与各预测路径对应的概率按降序排序,得到排名位于排名阈值之前的预测路径,以组成待推荐预测路径。该方法实现结合用户路径数据的链表历史数据,得到了多种预测路线,并基于大数概率的线路预测,能准确地预测处待预测用户的消失路线。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种预测路线获取方法、装置、计算机设备及存储介质。
背景技术
目前,对道路上行驶的车辆进行监控,一般是通过设置在道路的固定装置上的高清摄像头来采集获取。通过采集的海量的监控视频,能实现对车辆的行程路线进行分析。但是若存在遮挡号牌或是高清摄像头故障等极端情况下,在进行对重点车辆的监控过程中,会出现短时间线路失踪的情况,无法继续通过离线数据对重点车辆的线路预测,从而失去该终点车辆的当前行踪。
发明内容
本发明实施例提供了一种预测路线获取方法、装置、计算机设备及存储介质,旨在解决现有技术中对指定车辆的监控过程中,会出现短时间线路失踪的情况,无法继续通过离线数据对指定车辆的线路预测的问题。
第一方面,本发明实施例提供了一种预测路线获取方法,其包括:
获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
接收待预测用户的当前路径,根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集;
在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值;
将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径。
第二方面,本发明实施例提供了一种预测路线获取装置,其包括:
数据存储单元,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
数据切割单元,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
路径子集获取单元,用于接收待预测用户的当前路径,根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集;
预测路径获取单元,用于在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值;
预测路线获取单元,用于将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的预测路线获取方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的预测路线获取方法。
本发明实施例提供了一种预测路线获取方法、装置、计算机设备及存储介质。该方法包括获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;接收待预测用户的当前路径,根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集;在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值;将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径。该方法实现了结合用户路径数据的链表历史数据,得到了多种预测路线,并基于大数概率的线路预测,能准确地预测处待预测用户的消失路线。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的预测路线获取方法的应用场景示意图;
图2为本发明实施例提供的预测路线获取方法的流程示意图;
图3为本发明实施例提供的预测路线获取方法的子流程示意图;
图4为本发明实施例提供的预测路线获取方法的另一子流程示意图;
图5为本发明实施例提供的预测路线获取方法的另一子流程示意图;
图6为本发明实施例提供的预测路线获取方法的另一子流程示意图;
图7为本发明实施例提供的预测路线获取装置的示意性框图;
图8为本发明实施例提供的预测路线获取装置的子单元示意性框图;
图9为本发明实施例提供的预测路线获取装置的另一子单元示意性框图;
图10为本发明实施例提供的预测路线获取装置的另一子单元示意性框图;
图11为本发明实施例提供的预测路线获取装置的另一子单元示意性框图;
图12为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图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,之后用户A的路径因无法获取(如用户A遮挡号牌),此时为了预测用户A之后的路径,可以先获取当前路径a-b-c中包括的所有结点为a、b、c。结点a、b、c倒序的顺序为c、b、a。对这3个结点进行倒序排列时,得到的路径子集结果为c,b-c,a-b-c,也就是按照最后一个结点的顺序倒推,先是获取最后一个结点作为路径子集其中一条路径,再获取后两个结点的连接路线作为路径子集中另一条路径,以此类推,直至获取当前路径包括的所有结点的连接路线组成路径子集。通过上述方式,能有效且快速的获取待预测用户的当前路径对后续预测路线影响较大的路径子集。
S140、在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值。
在一实施例中,作为步骤S140的第一实施例,如图5所示,步骤S140包括:
S1411、获取所述路径子集中对应的每一类路径,以得到各目标路径;
S1412、获取在所述路径统计数据集合中与各类目标路径分别对应的第一预测路径子集,以组成第一预测路径集;
S1413、获取每一第一预测路径子集的总条数;
S1414、获取每一第一预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第一预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
S1415、获取在每一第一预测路径子集中每一种预测路径的频次与对应第一预测路径子集的总条数之比,得到与每一种预测路径对应的概率值。
在步骤S140的第一实施例中,未考虑时间维度时,例如先在路径统计数据集合中搜索包括目标路径c且未以目标路径c结尾的所有预测路径(例如e-c-f,f-c-e-m等路径中都包括路径c且未以目标路径c结尾),及与包括路径c的预测路径一一对应的概率值;例如包括路径c的预测路径有100条,路径e-c-f出现的频次为20次,该路径e-c-f对应的概率值为20/100=0.2;同样的路径f-c-e-m出现的频次为80次,该路径e-c-f对应的概率值为80/100=0.8。其中,路径c为路径子集中的其中一类路径,可记为第一目标路径;而由路径e-c-f和路径f-c-e-m这两种预测路径组成与第一目标路径对应的第一预测路径子集1(同样的,与第二目标路径对应的第一预测路径子集2,与第三目标路径对应的第一预测路径子集3,……,与第N目标路径对应的第一预测路径子集N,由第一预测路径子集1-第一预测路径子集N组成第一预测路径集);第一预测路径子集1中的总条数为100条,第一预测路径子集1中包括所述目标路径的总类数为2(分别为e-c-f,f-c-e-m),在第一预测路径子集1中的两种预测路径(分别为e-c-f,f-c-e-m)的频次与对应第一预测路径子集1的总条数之比分别为0.2(对应e-c-f)和0.8(对应f-c-e-m)。
按照与路径c同样的方式,获取与路径b-c对应的各预测路径及与各预测路径对应的概率值,以及路径a-b-c对应的各预测路径及与各预测路径对应的概率值。通过上述方式能准确的在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
在一实施例中,作为步骤S140的第二实施例,如图6所示,步骤S140包括:
S1421、获取所述路径子集中对应的每一类路径,以得到各目标路径;
S1422、获取在所述路径统计数据集合中在预设的时间段内、并与各类目标路径分别对应的第二预测路径子集,以组成第二预测路径集;
S1423、获取每一第二预测路径子集的总条数;
S1424、获取每一第二预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第二预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
S1425、获取在每一第二预测路径子集中每一种预测路径的频次与对应第二预测路径子集的总条数之比,得到与每一种预测路径对应的概率值。
在步骤S140的第二实施例中,在考虑了时间维度时,例如先在路径统计数据集合中搜索包括路径c、未以目标路径c结尾且在2018年1月1日18:00-19:00的所有预测路径(例如e-c-f,f-c-e-m等路径中都包括目标路径c且时间都在2018年1月1日18:00-19:00内且未以目标路径c结尾),及与包括路径c的预测路径一一对应的概率值;例如包括路径c且在2018年1月1日18:00-19:00的预测路径有100条,路径e-c-f出现的频次为20次,该路径e-c-f对应的概率值为20/100=0.2;同样的路径f-c-e-m出现的频次为80次,该路径e-c-f对应的概率值为80/100=0.8。其中,路径c为路径子集中的其中一类路径,可记为第一目标路径;而由路径e-c-f和路径f-c-e-m这两种预测路径组成与第一目标路径对应的第二预测路径子集1(同样的,与第二目标路径对应的第二预测路径子集2,与第三目标路径对应的第二预测路径子集3,……,与第N目标路径对应的第二预测路径子集N,由第二预测路径子集1-第二预测路径子集N组成第二预测路径集);第二预测路径子集1中的总条数为100条,第一预测路径子集1中包括所述目标路径的总类数为2(分别为e-c-f,f-c-e-m),在第一预测路径子集1中的两种预测路径(分别为e-c-f,f-c-e-m)的频次与对应第一预测路径子集1的总条数之比分别为0.2(对应e-c-f)和0.8(对应f-c-e-m)。
按照与路径c同样的方式,获取与路径b-c对应的各预测路径及与各预测路径对应的概率值,以及路径a-b-c对应的各预测路径及与各预测路径对应的概率值。通过上述方式能结合时间维度准确的在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
在一实施例中,作为步骤S140的第三实施例,步骤S140包括:
获取所述路径子集中对应的每一类路径,以得到各目标路径;
获取在所述路径统计数据集合中与各类目标路径分别对应的第三预测路径子集,以组成第三预测路径集;
获取每一第三预测路径子集的各路径,删除以目标路径为结尾路径的路径,以组成预测路径集合;
获取所述预测路径集合中每一预测路径,以将每一预测路径在所述路径统计数据集合中的总条数与所述路径统计数据集合的总条数相除,得到与每一预测路径对应的概率值。
步骤S140的第三实施例获取每一预测路径对应的概率值与步骤S140的第一实施例的不同之处在于,统计的是每一预测路径在所述路径统计数据集合中的总条数,然后与与所述路径统计数据集合的总条数相除,得到与每一预测路径对应的概率值。
例如,先在路径统计数据集合中搜索包括目标路径c且未以目标路径c结尾的所有预测路径(例如e-c-f,f-c-e-m等路径中都包括路径c且未以目标路径c结尾),及与包括路径c的预测路径一一对应的概率值;例如包括路径c的预测路径有100条,路径e-c-f出现的频次为20次,路径f-c-e-m出现的频次为80次,而路径统计数据集合中的总条数为10000条。其中,路径c为路径子集中的其中一类路径,可记为第一目标路径;而由路径e-c-f和路径f-c-e-m这两种预测路径组成与第一目标路径对应的第三预测路径子集1(同样的,与第二目标路径对应的第三预测路径子集2,与第三目标路径对应的第三预测路径子集3,……,与第N目标路径对应的第三预测路径子集N,由第三预测路径子集1-第三预测路径子集N组成第一预测路径集);第三预测路径子集1中所包括路径e-c-f和f-c-e-m均为预测路径,在第三预测路径子集1中的两种预测路径(分别为e-c-f,f-c-e-m)的总条数与所述路径统计数据集合中的总条数之比分别为0.0002(对应e-c-f)和0.0008(对应f-c-e-m)。
按照与路径c同样的方式,获取与路径b-c对应的各预测路径及与各预测路径对应的概率值,以及路径a-b-c对应的各预测路径及与各预测路径对应的概率值。通过上述方式能准确的在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
S150、将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径。
在本实施例中,例如按步骤S140的第三实施例得到的与各预测路径对应的概率值,按概率值的降序进行排序,选取排名位于预设的排名阈值(例如设置排名阈值为11)之前的预测路线作为待推荐的预测路径,例如选取排名1-10的概率值对应的预测路径作为待推荐的预测路径。通过上述方式,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
该方法实现了结合用户路径数据的链表历史数据,得到了多种预测路线,并基于大数概率的线路预测,能准确地预测处待预测用户的消失路线。
本发明实施例还提供一种预测路线获取装置,该预测路线获取装置用于执行前述预测路线获取方法的任一实施例。具体地,请参阅图7,图7是本发明实施例提供的预测路线获取装置的示意性框图。该预测路线获取装置100可以配置于服务器中。
如图7所示,所述预测路线获取装置100包括数据存储单元110、数据切割单元120、路径子集获取单元130、预测路径获取单元140、预测路线获取单元150。
数据存储单元110,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中。
在本实施例中,当服务器接收了由前端采集装置采集而转化得到的用户路径数据后,以链表的方式存储个用户对应的用户路径数据,以实现对每一用户的路径进行有效监控。
在一实施例中,如图8所示,数据存储单元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所指向的节点中间增加新增加一个节点,保存当前的数据。
将新增的数据不断更新到与用户唯一识别码对应的链表数据,实现了单一用户链表数据的更新。通过遍历每个用户唯一识别码对应的链表数据,将新增的链表数据补充到用户时序链表数据中,得到最新的链表数据(包含了时间+卡口),并且基于用户的链表数据,得到用户在不同路段(卡口与卡口之间构成路段)上的通行时间,即路段通行时间表。
在一实施例中,如图8所示,数据存储单元110还包括:
链表数据新建单元115,用于若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
在本实施例中,若链表中不存在与所述用户唯一识别码对应的链表历史数据,表示所述用户唯一识别码对应的车辆是首次被监控拍摄,需要在链表中新建初始链表,将该初始链表的标识属性置为用户唯一识别码,再将所述待处理链表数据对应插入初始链表。
在一实施例中,数据存储单元110还包括:
存储容器定位单元,用于根据所述用户唯一识别码定位应用容器引擎,获取所述应用容器引擎中存储的链表历史数据。
在本实施例中,可以在服务器建立多个应用容器引擎(即Docker容器),每一应用容器引擎以用户唯一识别码作为标识属性命名,并对应存储与所述用户唯一识别码对应的链表数据。通过对每个用户启动一个Docker容器,然后通过部署和启动Docker容器的程序,提高大规模用户快速更新链表。
数据切割单元120,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合。
在一实施例中,如图9所示,数据切割单元120包括:
结点数据获取单元121,用于获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
时间差值判断单元122,用于判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
链表数据切割单元123,用于若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
在本实施例中,在链表中包括海量用户的链表历史数据,每一用户的链表历史数据表示该用户的历史路径数据,能准确的反映用户在何时路过何卡口。在每一用户的链表历史数据中每一结点数据均包括data域和next域,data域用于存放结点值的数据域,如用户路径数据中所包括的当前通过的路口名称和通过当前路口的时间。这样,一旦某一用户的链表历史数据中相邻两个结点数据的时间间隔超出预设的切割时间间隔值(如取切割时间间隔值为2小时),则将链表历史数据形成的链式数据中将上述相邻的两个结点之间的链式连接关系切割断开(也就是清除上述两个相邻结点之间指针的指向关系)。通过预设的切割时间间隔值,能将每一用户的链表历史数据切割成多段路径,而多个不同的用户的链表历史数据均经过上述方式的切割,故能得到与各用户对应的链表历史数据切割成多段路径,统计多段路径得到路径统计数据集合。
由于在路径统计数据集合中可获知路径统计数据包括哪些路径,以及与每一路径对应概率值,故在后续步骤中可根据路径统计数据中的路径进行路径预测。
路径子集获取单元130,用于接收待预测用户的当前路径,根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集。
在一实施例中,路径子集获取单元130包括:
结点依序获取单元,用于根据所述当前路径,依序获取所述当前路径包括的所有结点;
倒序排列单元,用于对所述当前路径包括的所有结点进行倒序排列,得到路径子集。
在本实施例中,例如待预测用户(记为用户A)的当前路径为a-b-c,之后用户A的路径因无法获取(如用户A遮挡号牌),此时为了预测用户A之后的路径,可以先获取当前路径a-b-c中包括的所有结点为a、b、c。结点a、b、c倒序的顺序为c、b、a。对这3个结点进行倒序排列时,得到的路径子集结果为c,b-c,a-b-c,也就是按照最后一个结点的顺序倒推,先是获取最后一个结点作为路径子集其中一条路径,再获取后两个结点的连接路线作为路径子集中另一条路径,以此类推,直至获取当前路径包括的所有结点的连接路线组成路径子集。通过上述方式,能有效且快速的获取待预测用户的当前路径对后续预测路线影响较大的路径子集。
预测路径获取单元140,用于在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值。
在一实施例中,作为预测路径获取单元140的第一实施例,如图10所示,预测路径获取单元140包括:
第一目标路径获取单元1411,用于获取所述路径子集中对应的每一类路径,以得到各目标路径;
第一预测路径集获取单元1412,用于获取在所述路径统计数据集合中与各类目标路径分别对应的第一预测路径子集,以组成第一预测路径集;
第一总条数获取单元1413,用于获取每一第一预测路径子集的总条数;
第一总类数获取单元1414,用于获取每一第一预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第一预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
第一概率值获取单元1415,用于获取在每一第一预测路径子集中每一种预测路径的频次与对应第一预测路径子集的总条数之比,得到与每一种预测路径对应的概率值。
在预测路径获取单元140的第一实施例中,未考虑时间维度时,例如先在路径统计数据集合中搜索包括目标路径c且未以目标路径c结尾的所有预测路径(例如e-c-f,f-c-e-m等路径中都包括路径c且未以目标路径c结尾),及与包括路径c的预测路径一一对应的概率值;例如包括路径c的预测路径有100条,路径e-c-f出现的频次为20次,该路径e-c-f对应的概率值为20/100=0.2;同样的路径f-c-e-m出现的频次为80次,该路径e-c-f对应的概率值为80/100=0.8。
按照与路径c同样的方式,获取与路径b-c对应的各预测路径及与各预测路径对应的概率值,以及路径a-b-c对应的各预测路径及与各预测路径对应的概率值。通过上述方式能准确的在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
在一实施例中,作为预测路径获取单元140的第二实施例,如图11所示,预测路径获取单元140包括:
第二目标路径获取单元1421,用于获取所述路径子集中对应的每一类路径,以得到各目标路径;
第二预测路径集获取单元1422,用于获取在所述路径统计数据集合中在预设的时间段内、并与各类目标路径分别对应的第二预测路径子集,以组成第二预测路径集;
第二总条数获取单元1423,用于获取每一第二预测路径子集的总条数;
第二总类数获取单元1424,用于获取每一第二预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第二预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
第二概率值获取单元1425,用于获取在每一第二预测路径子集中每一种预测路径的频次与对应第二预测路径子集的总条数之比,得到与每一种预测路径对应的概率值。
在预测路径获取单元140的第二实施例中,在考虑了时间维度时,例如先在路径统计数据集合中搜索包括路径c、未以目标路径c结尾且在2018年1月1日18:00-19:00的所有预测路径(例如e-c-f,f-c-e-m等路径中都包括目标路径c且时间都在2018年1月1日18:00-19:00内且未以目标路径c结尾),及与包括路径c的预测路径一一对应的概率值;例如包括路径c且在2018年1月1日18:00-19:00的预测路径有100条,路径e-c-f出现的频次为20次,该路径e-c-f对应的概率值为20/100=0.2;同样的路径f-c-e-m出现的频次为80次,该路径e-c-f对应的概率值为80/100=0.8。通过上述方式能结合时间维度准确的在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
在一实施例中,作为预测路径获取单元140的第三实施例,预测路径获取单元140包括:
第三目标路径获取单元,用于获取所述路径子集中对应的每一类路径,以得到各目标路径;
第三预测路径集获取单元,用于获取在所述路径统计数据集合中与各类目标路径分别对应的第三预测路径子集,以组成第三预测路径集;
测路径集合获取单元,用于获取每一第三预测路径子集的各路径,删除以目标路径为结尾路径的路径,以组成预测路径集合;
第三概率值获取单元,用于获取所述预测路径集合中每一预测路径,以将每一预测路径在所述路径统计数据集合中的总条数与所述路径统计数据集合的总条数相除,得到与每一预测路径对应的概率值。
预测路径获取单元140的第三实施例获取每一预测路径对应的概率值与预测路径获取单元140的第一实施例的不同之处在于,统计的是每一预测路径在所述路径统计数据集合中的总条数,然后与与所述路径统计数据集合的总条数相除,得到与每一预测路径对应的概率值。
例如,先在路径统计数据集合中搜索包括目标路径c且未以目标路径c结尾的所有预测路径(例如e-c-f,f-c-e-m等路径中都包括路径c且未以目标路径c结尾),及与包括路径c的预测路径一一对应的概率值;例如包括路径c的预测路径有100条,路径e-c-f出现的频次为20次,路径f-c-e-m出现的频次为80次,而路径统计数据集合中的总条数为10000条。其中,路径c为路径子集中的其中一类路径,可记为第一目标路径;而由路径e-c-f和路径f-c-e-m这两种预测路径组成与第一目标路径对应的第三预测路径子集1(同样的,与第二目标路径对应的第三预测路径子集2,与第三目标路径对应的第三预测路径子集3,……,与第N目标路径对应的第三预测路径子集N,由第三预测路径子集1-第三预测路径子集N组成第一预测路径集);第三预测路径子集1中所包括路径e-c-f和f-c-e-m均为预测路径,在第三预测路径子集1中的两种预测路径(分别为e-c-f,f-c-e-m)的总条数与所述路径统计数据集合中的总条数之比分别为0.0002(对应e-c-f)和0.0008(对应f-c-e-m)。通过上述方式能准确的在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,以作为待预测用户的当前路径后续的预测路线的预测数据依据。
预测路线获取单元150,用于将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径。
在本实施例中,例如按预测路径获取单元140的第三实施例得到的与各预测路径对应的概率值,按概率值的降序进行排序,选取排名位于预设的排名阈值(例如设置排名阈值为11)之前的预测路线作为待推荐的预测路径,例如选取排名1-10的概率值对应的预测路径作为待推荐的预测路径。通过上述方式,基于大数概率的线路预测,能准确地预测待预测用户的消失路线。
该装置实现了结合用户路径数据的链表历史数据,得到了多种预测路线,并基于大数概率的线路预测,能准确地预测处待预测用户的消失路线。
上述预测路线获取装置可以实现为计算机程序的形式,该计算机程序可以在如图12所示的计算机设备上运行。
请参阅图12,图12是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器。其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图12,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行预测路线获取方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行预测路线获取方法。
该网络接口505用于进行网络通信,如提供用户路径数据的传输等。本领域技术人员可以理解,图12中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例的预测路线获取方法。
本领域技术人员可以理解,图12中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图12所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的预测路线获取方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种预测路线获取方法,其特征在于,包括:
获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
接收待预测用户的当前路径,根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集;
在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值;以及
将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径;
所述在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,包括:
获取所述路径子集中对应的每一类路径,以得到各目标路径;
获取在所述路径统计数据集合中与各类目标路径分别对应的第一预测路径子集,以组成第一预测路径集;
获取每一第一预测路径子集的总条数;
获取每一第一预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第一预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
获取在每一第一预测路径子集中每一种预测路径的频次与对应第一预测路径子集的总条数之比,得到与每一种预测路径对应的概率值;
所述按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,包括:
获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径;
所述获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中,包括:
接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;
按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;
遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;
若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
2.根据权利要求1所述的预测路线获取方法,其特征在于,所述根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集,包括:
根据所述当前路径,依序获取所述当前路径包括的所有结点;
对所述当前路径包括的所有结点进行倒序排列,得到路径子集。
3.根据权利要求1所述的预测路线获取方法,其特征在于,所述在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值,包括:
获取所述路径子集中对应的每一类路径,以得到各目标路径;
获取在所述路径统计数据集合中在预设的时间段内、并与各类目标路径分别对应的第二预测路径子集,以组成第二预测路径集;
获取每一第二预测路径子集的总条数;
获取每一第二预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第二预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
获取在每一第二预测路径子集中每一种预测路径的频次与对应第二预测路径子集的总条数之比,得到与每一种预测路径对应的概率值。
4.根据权利要求1所述的预测路线获取方法,其特征在于,所述遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据之后,还包括:
若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据插入至初始链表数据。
5.一种预测路线获取装置,其特征在于,包括:
数据存储单元,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
数据切割单元,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
路径子集获取单元,用于接收待预测用户的当前路径,根据所述当前路径中所包括的结点进行排列得到多条路径,以组成路径子集;
预测路径获取单元,用于在所述路径统计数据集合中搜索包括所述路径子集中各路径对应的预测路径,及与各预测路径对应的概率值;以及
预测路线获取单元,用于将与各预测路径对应的概率值按降序进行排序,得到排名位于预设的排名阈值之前的预测路径,以组成待推荐预测路径;
所述预测路径获取单元,用于:
获取所述路径子集中对应的每一类路径,以得到各目标路径;
获取在所述路径统计数据集合中与各类目标路径分别对应的第一预测路径子集,以组成第一预测路径集;
获取每一第一预测路径子集的总条数;
获取每一第一预测路径子集中包括所述目标路径、且未以所述目标路径为结束路径的数据的总类数;其中,在每一第一预测路径子集中包括所述目标路径中的多类数据中,每一类数据组成一种预测路径;
获取在每一第一预测路径子集中每一种预测路径的频次与对应第一预测路径子集的总条数之比,得到与每一种预测路径对应的概率值;
所述数据切割单元,用于:
获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径;
所述数据存储单元,用于:
接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;
按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;
遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;
若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据插入至所述链表历史数据进行存储。
6.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的预测路线获取方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至4任一项所述的预测路线获取方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910013101.5A CN109657879B (zh) | 2019-01-07 | 2019-01-07 | 预测路线获取方法、装置、计算机设备及存储介质 |
PCT/CN2019/092234 WO2020143170A1 (zh) | 2019-01-07 | 2019-06-21 | 预测路线获取方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910013101.5A CN109657879B (zh) | 2019-01-07 | 2019-01-07 | 预测路线获取方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657879A CN109657879A (zh) | 2019-04-19 |
CN109657879B true CN109657879B (zh) | 2023-06-09 |
Family
ID=66119049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910013101.5A Active CN109657879B (zh) | 2019-01-07 | 2019-01-07 | 预测路线获取方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109657879B (zh) |
WO (1) | WO2020143170A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657879B (zh) * | 2019-01-07 | 2023-06-09 | 平安科技(深圳)有限公司 | 预测路线获取方法、装置、计算机设备及存储介质 |
CN110113579B (zh) * | 2019-05-30 | 2021-04-16 | 浙江大华技术股份有限公司 | 一种跟踪目标对象的方法及装置 |
CN110750603B (zh) * | 2019-09-06 | 2022-08-12 | 日立楼宇技术(广州)有限公司 | 楼宇服务预测方法、装置、系统、计算机设备和存储介质 |
CN111176860A (zh) * | 2019-12-12 | 2020-05-19 | 北京明略软件系统有限公司 | 一种实现轨迹分析的方法、系统、计算机存储介质及终端 |
CN112076478B (zh) * | 2020-09-25 | 2024-06-21 | 网易(杭州)网络有限公司 | 游戏路径的生成方法及装置 |
CN112597351B (zh) * | 2020-12-28 | 2023-11-10 | 凌云光技术股份有限公司 | 一种工业图像处理软件的流程图错误自检方法及装置 |
CN112949912B (zh) * | 2021-02-08 | 2022-07-12 | 浙江非线数联科技股份有限公司 | 一种基于图数据库的车辆路线预测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008241314A (ja) * | 2007-03-26 | 2008-10-09 | Victor Co Of Japan Ltd | 経路誘導装置及び経路誘導方法 |
EP1995562A1 (en) * | 2007-05-22 | 2008-11-26 | Alpine Electronics, Inc. | Method of route searching in a navigation device and corresponding navigation device |
CN105222768A (zh) * | 2014-06-30 | 2016-01-06 | 奇点新源国际技术开发(北京)有限公司 | 一种定位轨迹预测方法及装置 |
CN107643085A (zh) * | 2017-09-18 | 2018-01-30 | 苏州大学 | 一种路径推荐方法与装置 |
CN107976705A (zh) * | 2017-08-10 | 2018-05-01 | 深圳市悦动天下科技有限公司 | 一种基于云端的轨迹计算方法、系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9200910B2 (en) * | 2013-12-11 | 2015-12-01 | Here Global B.V. | Ranking of path segments based on incident probability |
CN103680143B (zh) * | 2013-12-30 | 2015-09-23 | 北京世纪高通科技有限公司 | 一种交通信息处理方法和装置 |
JP2016224856A (ja) * | 2015-06-03 | 2016-12-28 | 株式会社東芝 | データベース装置、検索装置、部分グラフ構築方法、検索方法 |
CN107766377B (zh) * | 2016-08-19 | 2021-08-03 | 华为技术有限公司 | 一种监控数据查询方法及装置 |
CN108536704B (zh) * | 2017-03-02 | 2022-02-08 | 华为技术有限公司 | 一种轨迹查询方法、系统及装置 |
CN109657879B (zh) * | 2019-01-07 | 2023-06-09 | 平安科技(深圳)有限公司 | 预测路线获取方法、装置、计算机设备及存储介质 |
-
2019
- 2019-01-07 CN CN201910013101.5A patent/CN109657879B/zh active Active
- 2019-06-21 WO PCT/CN2019/092234 patent/WO2020143170A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008241314A (ja) * | 2007-03-26 | 2008-10-09 | Victor Co Of Japan Ltd | 経路誘導装置及び経路誘導方法 |
EP1995562A1 (en) * | 2007-05-22 | 2008-11-26 | Alpine Electronics, Inc. | Method of route searching in a navigation device and corresponding navigation device |
CN105222768A (zh) * | 2014-06-30 | 2016-01-06 | 奇点新源国际技术开发(北京)有限公司 | 一种定位轨迹预测方法及装置 |
CN107976705A (zh) * | 2017-08-10 | 2018-05-01 | 深圳市悦动天下科技有限公司 | 一种基于云端的轨迹计算方法、系统 |
CN107643085A (zh) * | 2017-09-18 | 2018-01-30 | 苏州大学 | 一种路径推荐方法与装置 |
Non-Patent Citations (1)
Title |
---|
路网环境下的移动对象查询技术研究综述;冯钧;张立霞;陆佳民;王冲;;软件学报(第06期);第284-306页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020143170A1 (zh) | 2020-07-16 |
CN109657879A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657879B (zh) | 预测路线获取方法、装置、计算机设备及存储介质 | |
CN110417901B (zh) | 数据处理方法、装置及网关服务器 | |
CN111966729B (zh) | 一种车辆轨迹数据处理方法、装置、设备及存储介质 | |
AU2017202818B2 (en) | Volumetric event forecasting system | |
EP2981095A1 (en) | Data collection and management system, data collection and management method, terminal, and management device | |
CN112818173B (zh) | 关联对象的识别方法、装置及计算机可读存储介质 | |
JP6797944B2 (ja) | 注文振り分け装置及び方法 | |
CN110995482A (zh) | 告警分析方法、装置、计算机设备及计算机可读存储介质 | |
CN102811163B (zh) | 用于流式传输网络流数据分析的方法和装置 | |
WO2020143181A1 (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN114973741B (zh) | 异常数据的处理方法、装置、存储介质及电子装置 | |
CN113205227A (zh) | 一种车辆线路优化方法及装置 | |
CN109858682B (zh) | 消失路线预测方法、装置、计算机设备及存储介质 | |
CN116610701A (zh) | 一种时间切片方法、装置及电子设备 | |
CN111815941B (zh) | 一种基于历史路况的常发拥堵瓶颈识别方法及装置 | |
CN109657018B (zh) | 一种分布式车辆行驶数据查询方法及终端设备 | |
CN109886532B (zh) | 驾驶线路规划方法、装置、计算机设备及存储介质 | |
CN111368207B (zh) | 数据处理方法及系统、候选数据池、电子设备、计算机可读存储介质 | |
CN105874488B (zh) | 用于被动分布式定量集群知识的平台设备 | |
US20190004885A1 (en) | Method and system for aiding maintenance and optimization of a supercomputer | |
CN109143878B (zh) | 多路采集通道的遥信消息和soe消息处理方法 | |
CN112632154A (zh) | 基于时间数据确定并行业务数量及时间区间的方法及装置 | |
CN113505788B (zh) | 获取路网信息的方法、装置及存储介质 | |
CN114513802B (zh) | 一种基于事件流的承载网故障分析方法及装置 | |
CN113326292B (zh) | 一种数据流合并方法、装置、设备和计算机存储介质 |
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 |