CN109886532B - 驾驶线路规划方法、装置、计算机设备及存储介质 - Google Patents
驾驶线路规划方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109886532B CN109886532B CN201910013079.4A CN201910013079A CN109886532B CN 109886532 B CN109886532 B CN 109886532B CN 201910013079 A CN201910013079 A CN 201910013079A CN 109886532 B CN109886532 B CN 109886532B
- Authority
- CN
- China
- Prior art keywords
- data
- linked list
- path
- user
- paths
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 9
- 230000001174 ascending effect Effects 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了驾驶线路规划方法、装置、计算机设备及存储介质。该方法包括:获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;以及获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合。该方法以细粒度的维度数据分析各道路的通行频次,有助于构建更加准确的线路规划。
Description
技术领域
本发明涉及数据分析技术领域,尤其涉及一种驾驶线路规划方法、装置、计算机设备及存储介质。
背景技术
目前,在进行城市规划,对城市道路进行线路规划时,一般是根据建筑分布或是其他因素来进行规划,这就导致所规划的道路路线可能因不合理而导致交通拥堵。经常交通拥堵的路线一般是车辆通行频率较高的道路,例如多个车辆的共同路线为a-b-c-d,表示从起点a至终点d的路线是通行频率较高的,若在规划时未考虑到通行频率的影响,可能规划设计的道路路线会无法解决交通拥堵问题。
发明内容
本发明实施例提供了一种驾驶线路规划方法、装置、计算机设备及存储介质,旨在解决现有技术中对城市道路进行线路规划时,一般是根据建筑分布等因素来进行规划,这就导致所规划的道路路线可能因未考虑各道路的实际车流量而导致交通拥堵的问题。
第一方面,本发明实施例提供了一种驾驶线路规划方法,其包括:
获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;以及
获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合。
第二方面,本发明实施例提供了一种驾驶线路规划装置,其包括:
数据存储单元,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
数据切割单元,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;以及
第一路线集合获取单元,用于获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的驾驶线路规划方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的驾驶线路规划方法。
本发明实施例提供了一种驾驶线路规划方法、装置、计算机设备及存储介质。该方法包括获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;以及获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合。该方法以细粒度的维度数据分析各道路的通行频次,有助于构建更加准确的线路规划。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的驾驶线路规划方法的应用场景示意图;
图2为本发明实施例提供的驾驶线路规划方法的流程示意图;
图3为本发明实施例提供的驾驶线路规划方法的另一流程示意图;
图4为本发明实施例提供的驾驶线路规划方法的子流程示意图;
图5为本发明实施例提供的驾驶线路规划方法的另一子流程示意图;
图6为本发明实施例提供的驾驶线路规划装置的示意性框图;
图7为本发明实施例提供的驾驶线路规划装置的另一示意性框图;
图8为本发明实施例提供的驾驶线路规划装置的子单元示意性框图;
图9为本发明实施例提供的驾驶线路规划装置的另一子单元示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1是本发明实施例提供的驾驶线路规划方法的应用场景示意图,图2是本发明实施例提供的驾驶线路规划方法的流程示意图,该驾驶线路规划方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S110~S130。
S110、获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中。
在本实施例中,当服务器接收了由前端采集装置采集而转化得到的用户路径数据后,以链表的方式存储个用户对应的用户路径数据,以实现对每一用户的路径进行有效监控。
在一实施例中,如图4所示,步骤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所指向的节点中间增加新增加一个节点,保存当前的数据。
将新增的数据不断更新到与用户唯一识别码对应的链表数据,实现了单一用户链表数据的更新。通过遍历每个用户唯一识别码对应的链表数据,将新增的链表数据补充到用户时序链表数据中,得到最新的链表数据(包含了时间+卡口),并且基于用户的链表数据,得到用户在不同路段(卡口与卡口之间构成路段)上的通行时间,即路段通行时间表。
在一实施例中,如图4所示,步骤S113之后,还包括:
S115、若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据***至初始链表数据。
在本实施例中,若链表中不存在与所述用户唯一识别码对应的链表历史数据,表示所述用户唯一识别码对应的车辆是首次被监控拍摄,需要在链表中新建初始链表,将该初始链表的标识属性置为用户唯一识别码,再将所述待处理链表数据对应***初始链表。
在一实施例中,步骤S1141之前,还包括:
根据所述用户唯一识别码定位应用容器引擎,获取所述应用容器引擎中存储的链表历史数据。
在本实施例中,可以在服务器建立多个应用容器引擎(即Docker容器),每一应用容器引擎以用户唯一识别码作为标识属性命名,并对应存储与所述用户唯一识别码对应的链表数据。通过对每个用户启动一个Docker容器,然后通过部署和启动Docker容器的程序,提高大规模用户快速更新链表。
S120、根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合。
在一实施例中,如图5所示,步骤S120包括:
S121、获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
S122、判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
S123、若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径。
在本实施例中,在链表中包括海量用户的链表历史数据,每一用户的链表历史数据表示该用户的历史路径数据,能准确的反映用户在何时路过何卡口。在每一用户的链表历史数据中每一结点数据均包括data域和next域,data域用于存放结点值的数据域,如用户路径数据中所包括的当前通过的路口名称和通过当前路口的时间。这样,一旦某一用户的链表历史数据中相邻两个结点数据的时间间隔超出预设的切割时间间隔值(如取切割时间间隔值为2小时),则将链表历史数据形成的链式数据中将上述相邻的两个结点之间的链式连接关系切割断开(也就是清除上述两个相邻结点之间指针的指向关系);若链表历史数据中相邻两个结点数据的时间间隔未超出预设的切割时间间隔值,则保持上述相邻两个结点数据的链式连接关系。通过预设的切割时间间隔值,能将每一用户的链表历史数据切割成多段路径,而多个不同的用户的链表历史数据均经过上述方式的切割,故能得到与各用户对应的链表历史数据切割成多段路径,统计多段路径得到路径统计数据集合。
由于在路径统计数据集合中可获知路径统计数据包括哪些路径,以及与每一路径对应概率值,故在后续步骤中可根据路径统计数据中的路径进行路径预测。
S130、获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合。
在本实施例中,在不考虑时间维度时,可以在路径统计数据集合中获取路径频次较高的一些路径,这些频次较高的路径表示用户经过该路径的概率很高,如该路径的实际路线为a-b-c-d,而为了提高该路径的通行效率,可以建议直接修建一条a-d直连的路径,这样可以极大的提高通行的效率,减少交通拥堵。
例如,在所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径以组成第一路径集时,例如路径a-b-c-d的频次为10000次、d-e-f-g的频次为20000次、路径m-l-n的频次为40000次,且第一排名阈值设置为4,且路径m-l-n、d-e-f-g、a-b-c-d的频次排名在路径统计数据集合中排名前3位(即频次排名位于预设的第一排名阈值之前),故以路径m-l-n、d-e-f-g、a-b-c-d这3条路径组成第一路径集,然后以m-n、d-g、a-d组成第一规划线路集合。通过上述方式,能有效的筛选出车流量极大的路径,以作为修建起点与终点直连道路的依据。
在一实施例中,如图3所示,步骤S130之后还包括:
S140、获取所述路径统计数据集合中在搜索时间段内路径的频次排名位于预设的第二排名阈值之前的路径,以组成第二路径集,将所述第二路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第二规划线路集合。
在本实施例中,在考虑时间维度时,可以在路径统计数据中获取在搜索时间段(如上午7:30-9:00,下午5:30-7:30)路径频次较高的一些路径,这些频次较高的路径表示用户经过该路径的概率很高,如该路径的实际路线为a-b-c-d,而为了提高该路径的通行效率,可以建议直接修建一条a-d直连的路径,这样可以极大的提高通行的效率,减少交通拥堵。
该方法以细粒度的维度数据分析各道路的通行频次,有助于构建更加准确的线路规划。
本发明实施例还提供一种驾驶线路规划装置,该驾驶线路规划装置用于执行前述驾驶线路规划方法的任一实施例。具体地,请参阅图6,图6是本发明实施例提供的驾驶线路规划装置的示意性框图。该驾驶线路规划装置100可以配置于服务器中。
如图6所示,驾驶线路规划装置100包括数据存储单元110、数据切割单元120、第一路线集合获取单元130。
数据存储单元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,用于获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合。
在本实施例中,在不考虑时间维度时,可以在路径统计数据集合中获取路径频次较高的一些路径,这些频次较高的路径表示用户经过该路径的概率很高,如该路径的实际路线为a-b-c-d,而为了提高该路径的通行效率,可以建议直接修建一条a-d直连的路径,这样可以极大的提高通行的效率,减少交通拥堵。
例如,在所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径以组成第一路径集时,例如路径a-b-c-d的频次为10000次、d-e-f-g的频次为20000次、路径m-l-n的频次为40000次,且第一排名阈值设置为4,且路径m-l-n、d-e-f-g、a-b-c-d的频次排名在路径统计数据集合中排名前3位(即频次排名位于预设的第一排名阈值之前),故以路径m-l-n、d-e-f-g、a-b-c-d这3条路径组成第一路径集,然后以m-n、d-g、a-d组成第一规划线路集合。通过上述方式,能有效的筛选出车流量极大的路径,以作为修建起点与终点直连道路的依据。
在一实施例中,如图7所示,驾驶线路规划装置100还包括:
第二路线集合获取单元140,用于获取所述路径统计数据集合中在搜索时间段内路径的频次排名位于预设的第二排名阈值之前的路径,以组成第二路径集,将所述第二路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第二规划线路集合。
在本实施例中,在考虑时间维度时,可以在路径统计数据中获取在搜索时间段(如上午7:30-9:00,下午5:30-7:30)路径频次较高的一些路径,这些频次较高的路径表示用户经过该路径的概率很高,如该路径的实际路线为a-b-c-d,而为了提高该路径的通行效率,可以建议直接修建一条a-d直连的路径,这样可以极大的提高通行的效率,减少交通拥堵。
该装置以细粒度的维度数据分析各道路的通行频次,有助于构建更加准确的线路规划。
上述驾驶线路规划装置可以实现为计算机程序的形式,该计算机程序可以在如图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 (8)
1.一种驾驶线路规划方法,其特征在于,包括:
获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;
以及
获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合;
所述按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,包括:获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径;
所述获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中,包括:接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;
按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;
遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;
若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据***至所述链表历史数据进行存储。
2.根据权利要求1所述的驾驶线路规划方法,其特征在于,所述获取所述路径统计数据集合中路径的频次排名位于预设排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线,以得到第一规划线路集合之后,还包括:获取所述路径统计数据集合中在搜索时间段内路径的频次排名位于预设的第二排名阈值之前的路径,以组成第二路径集,将所述第二路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第二规划线路集合。
3.根据权利要求1所述的驾驶线路规划方法,其特征在于,所述遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据之后,还包括:若所述链表中不存在与所述用户唯一识别码对应的链表历史数据,根据用户唯一识别码在链表对应建立初始链表数据,并将与用户唯一识别码对应的待处理链表数据***至初始链表数据。
4.根据权利要求1所述的驾驶线路规划方法,其特征在于,所述将所述待处理链表数据***至所述链表历史数据进行存储,包括:获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
获取所述待处理链表数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点;
按通过当前路口的时间点升序对获取的所述链表历史数据及获取的所述待处理链表数据进行排序,将所述待处理链表数据中每一链表数据***至所述链表历史数据,并对应调整每一链表数据的指针域。
5.根据权利要求4所述的驾驶线路规划方法,其特征在于,所述获取所述链表历史数据中每一链表数据,及每一链表数据对应的通过当前路口的时间点之前,还包括:根据所述用户唯一识别码定位应用容器引擎,获取所述应用容器引擎中存储的链表历史数据。
6.一种驾驶线路规划装置,其特征在于,包括:
数据存储单元,用于获取所采集的用户路径数据,将所述用户路径数据转化为链表数据,并存储在构建的链表中对应的链表历史数据中;
数据切割单元,用于根据所述链表中与每一用户对应的链表历史数据,按照预设的切割时间间隔值,将与每一用户对应的链表历史数据切割成多段路径,统计多段路径以得到路径统计数据集合;以及第一路线集合获取单元,用于获取所述路径统计数据集合中路径的频次排名位于预设的第一排名阈值之前的路径,以组成第一路径集,将所述第一路径集中每一路径对应的起点与终点形成的直连路线进行统计,以得到第一规划线路集合;
数据切割单元包括:
结点数据获取单元,用于获取所述链表中每一用户对应的链表历史数据包括的各结点数据;
时间差值判断单元,用于判断任意相邻的结点数据对应的时间值之间的差值是否超出所述切割时间间隔值;
链表数据切割单元,用于若存在有相邻的结点数据对应的时间值之间的差值超出所述切割时间间隔值,将对应的相邻的结点数据之间指针关系进行删除,以得到多段路径;
所述数据存储单元包括数据临时存储单元、数据解析单元、链表遍历单元、数据***单元;
数据临时存储单元,用于接收将所采集的车辆图片进行识别得到的用户路径数据,将所述用户路径数据存储至创建的临时数据库中;
数据解析单元,用于按预设的取数周期从所述临时数据库中获取所述用户路径数据,解析获取用户路径数据对应的用户唯一识别码、及与用户唯一识别码对应的待处理链表数据;
链表遍历单元,用于遍历并判断本地已存储的链表中是否存在与所述用户唯一识别码对应的链表历史数据;
数据***单元,用于若链表中存在与所述用户唯一识别码对应的链表历史数据,将所述待处理链表数据***至所述链表历史数据进行存储。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的驾驶线路规划方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的驾驶线路规划方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910013079.4A CN109886532B (zh) | 2019-01-07 | 2019-01-07 | 驾驶线路规划方法、装置、计算机设备及存储介质 |
PCT/CN2019/090222 WO2020143160A1 (zh) | 2019-01-07 | 2019-06-06 | 驾驶线路规划方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910013079.4A CN109886532B (zh) | 2019-01-07 | 2019-01-07 | 驾驶线路规划方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109886532A CN109886532A (zh) | 2019-06-14 |
CN109886532B true CN109886532B (zh) | 2023-10-27 |
Family
ID=66925708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910013079.4A Active CN109886532B (zh) | 2019-01-07 | 2019-01-07 | 驾驶线路规划方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109886532B (zh) |
WO (1) | WO2020143160A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036395A1 (zh) * | 2016-08-23 | 2018-03-01 | 杭州海康威视***技术有限公司 | 一种寻车***及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349800B2 (en) * | 2005-04-12 | 2008-03-25 | International Business Machines Corporation | Adaptable navigation system |
JP2007178126A (ja) * | 2005-12-26 | 2007-07-12 | Aisin Aw Co Ltd | 走行リンク特定システム |
JP2008076192A (ja) * | 2006-09-20 | 2008-04-03 | Clarion Co Ltd | ナビゲーション装置、高速道路検索方法及びコンピュータプログラム |
US8103532B2 (en) * | 2008-10-23 | 2012-01-24 | Raytheon Company | Method and system for fast local search and insertion heuristics for vehicle routing |
CN101937613B (zh) * | 2010-06-29 | 2012-07-04 | 中国科学院软件研究所 | 一种基于公交车网络的数据传输方法 |
CN103217166B (zh) * | 2012-01-21 | 2016-01-27 | 日电(中国)有限公司 | 用于抽取用户路线选择偏好的方法和*** |
US20170006161A9 (en) * | 2013-03-15 | 2017-01-05 | Genesys Telecommunications Laboratories, Inc. | Intelligent automated agent for a contact center |
CN104121908B (zh) * | 2013-04-25 | 2018-05-04 | 北京搜狗信息服务有限公司 | 一种延时路径规划的方法和*** |
US10579062B2 (en) * | 2017-05-31 | 2020-03-03 | Baidu Usa Llc | Scalable smooth reference path generator for autonomous driving vehicles |
-
2019
- 2019-01-07 CN CN201910013079.4A patent/CN109886532B/zh active Active
- 2019-06-06 WO PCT/CN2019/090222 patent/WO2020143160A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036395A1 (zh) * | 2016-08-23 | 2018-03-01 | 杭州海康威视***技术有限公司 | 一种寻车***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109886532A (zh) | 2019-06-14 |
WO2020143160A1 (zh) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657879B (zh) | 预测路线获取方法、装置、计算机设备及存储介质 | |
US7039577B1 (en) | Network traffic analyzer | |
US8332503B2 (en) | Message abnormality automatic detection device, method and program | |
CN104731690B (zh) | 适应性度量收集、存储、和警告阈值 | |
US7562134B1 (en) | Network traffic analyzer | |
CN112434039A (zh) | 数据的存储方法、装置、存储介质以及电子装置 | |
JP5956049B2 (ja) | ストリーミングネットフローデータ解析方法及び装置 | |
CN108282414B (zh) | 一种数据流的引导方法、服务器和*** | |
CN113612749A (zh) | 一种面向入侵行为的溯源数据聚类方法及装置 | |
WO2020143181A1 (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN111815946A (zh) | 一种异常路段的确定方法、装置、存储介质和电子设备 | |
US20150281352A1 (en) | Communication control device, storage device, and communication control method | |
JP2008167305A (ja) | パケット並列処理装置およびパケット並列処理方法 | |
CN110795264A (zh) | 监控管理方法及***、智能管理终端 | |
EP4092989B1 (en) | Measuring metrics of a computer network | |
CN111815941B (zh) | 一种基于历史路况的常发拥堵瓶颈识别方法及装置 | |
CN109858682B (zh) | 消失路线预测方法、装置、计算机设备及存储介质 | |
CN109886532B (zh) | 驾驶线路规划方法、装置、计算机设备及存储介质 | |
CN113127472B (zh) | 一种针对大上报量的司机数量实时去重统计的方法及*** | |
CN110830978B (zh) | 基于区域的用户数据处理方法、装置、设备及介质 | |
CN111193669B (zh) | 路由管理方法和路由管理装置 | |
CN109657018B (zh) | 一种分布式车辆行驶数据查询方法及终端设备 | |
CN109143878B (zh) | 多路采集通道的遥信消息和soe消息处理方法 | |
CN113407577B (zh) | 一种kafka数据的查询方法、装置及计算机可读存储介质 | |
CN111368207B (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 |