CN114241808A - 共享车位的树形索引的构建、分配方法、设备及存储介质 - Google Patents
共享车位的树形索引的构建、分配方法、设备及存储介质 Download PDFInfo
- Publication number
- CN114241808A CN114241808A CN202210159125.3A CN202210159125A CN114241808A CN 114241808 A CN114241808 A CN 114241808A CN 202210159125 A CN202210159125 A CN 202210159125A CN 114241808 A CN114241808 A CN 114241808A
- Authority
- CN
- China
- Prior art keywords
- parking space
- node
- type
- parking
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/14—Traffic control systems for road vehicles indicating individual free spaces in parking areas
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B15/00—Arrangements or apparatus for collecting fares, tolls or entrance fees at one or more control points
- G07B15/02—Arrangements or apparatus for collecting fares, tolls or entrance fees at one or more control points taking into account a variable factor such as distance or time, e.g. for passenger transport, parking systems or car rental systems
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
Abstract
本申请涉及一种共享车位的树形索引的构建、分配方法、装置及存储介质,树形索引的构建方法包括将目标城市空间中的停车位进行分组,利用叶子节点存储停车位的车位信息,并将一组停车位中的第一最低收费值、第一节点类型以及每个停车位的空闲时间段作为第一约束属性,然后采用由下而上的方式逐层构建非叶子节点,并为每一层非叶子节点设置第二约束属性,直至建立根节点。该树形索引能简化车位分配的复杂性,提高车位分配的效率。
Description
技术领域
本申请涉及车位分配技术领域,尤其涉及一种共享车位的树形索引的构建、分配方法、设备及存储介质。
背景技术
目前城市中车辆的数量越来越庞大,为城市发展带来合理化管理上的难题,其中,停车难、车位利用率低是城市车辆管理中具有挑战性的问题。
发明内容
为了解决上述背景技术提到的技术问题或者至少部分地解决上述技术问题,本申请提供一种共享车位的树形索引的构建、分配方法、设备及存储介质,以简化车位分配的复杂性,提高车位分配的效率。
第一方面,本申请提供了一种共享车位的树形索引的构建方法,其特征在于,包括:
将目标城市的整体空间划分为多个第一目标区域,每一个所述第一目标区域内的停车位的数量均位于第一数量区间内;
将每一个所述第一目标区域构建为一个叶子节点,并为每一个所述叶子节点设置第一节点属性,所述第一节点属性包括第一空间范围属性、第一孩子属性和第一约束属性,其中,所述第一空间范围为所述第一目标区域所覆盖的所述目标城市的空间范围,所述第一孩子属性为所述第一目标区域内的所有停车位的车位信息的第一集合,所述车位信息包括当前车位占据情况、车位收费和车位类型,设置所述第一约束属性具体包括:
根据所述当前车位占据情况确定每一个所述停车位的空闲时间段;
将所述第一集合中所有所述停车位中最低的所述车位收费确定为第一最低收费值;
根据所述第一集合中的所有所述停车位的车位类型确定第一节点类型,所述第一节点类型包括支持充电类和不支持充电类;
将目标城市的整体空间划分为多个第二目标区域,并将每一个所述第二目标区域构建为非叶子节点,其中每一个所述非叶子节点的邻近下一层节点的数量均位于第二数量区间内;所述下一层节点包括所述叶子节点或其他所述非叶子节点;
为每一个所述非叶子节点设置第二节点属性,所述第二节点属性包括第二空间范围属性、第二孩子属性以及第二约束属性,其中,所述第二空间范围为所述第二目标区域所覆盖的所述目标城市的空间范围,所述第二孩子属性为所述非叶子节点的邻近下一层节点的第二集合,设置所述第二约束属性包括:
将所述第二集合中所有所述下一层节点中最低的所述第一最低收费值确定为第二最低收费值;
根据所述第二集合中的所述下一层节点的所述第一节点类型确定第二节点类型;
确定所述整体空间中的所述非叶子节点数位于第三数量区间内,则构建根节点,并为所述根节点设置第三节点属性,所述第三节点属性包括第三空间范围属性和第三孩子属性,其中,所述第三空间范围为所述目标城市的整体空间,所述第三孩子属性为所述根节点的邻近下一层节点的集合。
在此方案中,为目标城市整体空间中的所有停车位构建树形索引,树形结构的索引包括根节点、非叶子节点和叶子节点,在此方案中,将停车位的车位信息存放在叶子节点中,并采用bottom-up的方式构建多因素约束树形索引结构,即将停车位按其所处的区域进行分组,每一组作为一个叶子节点,叶子节点和根节点之间设有若干层非叶子节点,其中以叶子节点邻近的上一层非叶子节点为例(为了便于描述此处记为第一层非叶子节点),第一层非叶子节点的第二节点属性包括第一层非叶子节点所占据的空间范围(即占据目标城市的范围)、第二孩子属性即每一个第一层非叶子节点所包含的叶子节点的集合,并且,该树形索引结构的每一层节点均在空间范围、孩子属性之外设有约束属性,各层节点的约束属性均包括最低收费情况以及是否支持充电,并在叶子节点的约束属性中构建了每个停车位的空闲时间段,通过此技术方案建立的树形索引便于通过查找各层节点的约束属性为车辆快速的查找和匹配最佳停车位,有利于城市停车位的管理以及后续车位的分配。
优选的,在设置所述第一约束属性之前,还包括:获取所述目标城市中的所有所述停车位的所述车位信息,所述车位信息还包括车位编号和车位位置。
优选的,所述第一数量区间、所述第二数量区间和所述第三数量区间相同。
在此方案中,设置第一数量区间、所述第二数量区间和所述第三数量区间相同,使得树形索引中的每一节点的邻近下一层节点的数量相同或者相近,有利于保持树形索引结构的平衡,便于减小树的遍历的复杂度。
优选的,所述根据所述第一集合中的所述停车位的车位类型确定第一节点类型,所述第一节点类型包括支持充电类和不支持充电类,具体包括:
确定所述第一集合中至少有一个所述停车位的车位类型为充电车位,则确定所述第一节点类型为支持充电类;
确定所述第一集合中所有所述停车位的车位类型均为非充电车位,则确定所述第一节点类型为不支持充电类。
在此方案中,车位类型包括安装有充电桩的充电车位以及不支持充电的普通车位。
优选的,所述根据所述第二集合中的所述下一层节点的所述第一节点类型确定第二节点类型,具体包括:
确定所述第二集合中至少有一个所述下一层节点的所述第一节点类型为支持充电类,则确定所述第二节点类型为支持充电类;
确定所述第二集合中所有所述下一层节点的所述第一节点类型均为不支持充电类,则确定所述第二节点类型为不支持充电类。
优选的,在所述根据所述第一集合中的所述停车位的当前车位占据情况确定每一个所述停车位的空闲时间段之后,所述设置所述第一约束属性具体还包括:将所述第一集合中的所述停车位按所述空闲时间段存储到哈希列表中,所述当前车位占据情况包括自当前时刻起所述停车位被占据的时间段。
在此方案中,将停车位的空闲时间段以哈希列表的形式存储在叶子节点中,存储更加方便并有利于树形索引的遍历和检索。
第二方面,本申请还提供了一种车位分配方法,包括:
获取目标时间段内多个车辆发送的多个操作请求,各个所述操作请求均携带有车辆编号和操作类型;
根据所述车辆编号获取所述车辆的车辆信息,所述车辆信息包括历史违约次数;
以所述历史违约次数由高到低为序,依次处理多个所述车辆的所述操作请求;
确定所述操作类型为预约请求,处理所述预约请求的过程,具体包括:获取所述车辆的实时位置、预约停车时间段和目标车位类型;
以距离所述车辆的距离最短为第一级约束条件,以所述目标车位类型为第二级约束条件,从树形索引的根节点开始逐层遍历,确定可用车位集合,其中,所述树形索引为采用如第一方面任一技术方案所述的共享车位的树形索引的构建方法所构建的,所述可用车位集合包括若干个可用车位;
以所述可用车位的车位收费和距离所述车辆的距离为第三级约束条件,计算各个所述可用车位的综合得分,并将所述综合得分最高的车位确定为所述车辆的最佳停车位,所述综合得分的计算公式为:
Q=w×D+(1-w)×p
其中,Q为综合得分,D为所述可用车位距离所述车辆的距离,p为所述可用车位的车位收费,w为权重值,且0<w<1。
在此方案中,在某时间段内接收到多个车辆终端发送的预约或者取消预约请求,以车辆的历史违约次数确定处理先后的优先级,有利于约束用户的随意取消预约的行为,对于车辆的预约请求,以距离最短为第一级约束条件,以车辆预约的车位类型(充电车位或者普通车位)为第二级约束条件,从所述树形索引的根节点开始逐层遍历,找出可用车位集合,并对可用车位集合中的若干个停车位再次综合考虑距离和收费,利用综合得分公式计算出得分最高的车位作为最佳停车位。
优选的,所述以距离所述车辆的距离最短为第一级约束条件,以所述目标车位类型为第二级约束条件,从树形索引的根节点开始逐层遍历,确定可用车位集合,具体包括:
创建优先队列,所述优先队列以所述车辆到所述树形索引的节点间的最短距离为优先级,所述节点包括所述根节点、所述非叶子节点和所述叶子节点;
初始化所述优先队列:初始时所述优先队列中的元素为所述根节点以及所述车辆到所述根节点的第一最短距离;
对所述优先队列中优先级最高的元素执行以下操作:
确定所述优先队列中的元素为非叶子节点且所述目标车位类型为非充电车位,则遍历所述非叶子节点的下一层节点,根据所述实时位置计算所述车辆距离各个下一层节点的第二最短距离,并将每一个下一层节点及其对应的所述第二最短距离作为新的元素存入所述优先队列中;
确定所述优先队列中的元素为非叶子节点且所述目标车位类型为充电车位,则遍历所述非叶子节点的所述第二节点类型为支持充电类的所述下一层节点,根据所述实时位置计算所述车辆距离各个所述支持持充电类的下一层节点的第三最短距离,并将各个所述支持充电类的下一层节点及其对应的所述第三最短距离作为新的元素存入所述优先队列中;
确定所述优先队列中的元素为叶子节点且所述目标车位类型为非充电车位,则将所述空闲时间段能完全覆盖所述预约停车时间段的所述停车位确定为可用车位;
确定所述优先队列中的元素为叶子节点且所述目标车位类型为充电车位,则将所述车位类型为充电车位且所述空闲时间段能完全覆盖所述预约停车时间段的所述停车位确定为可用车位。
在此方案中,采用优先队列的方式实现树形索引的遍历,以得到可用车位的集合。
优选的,确定所述车辆的所述操作请求的所述操作类型为取消预约请求,处理所述取消预约请求的过程,具体包括:获取所述车辆的成功预约信息,所述成功预约信息包括车辆编号、成功预约停车时间段以及成功预约车位的车位编号,遍历所述树形索引找到所述车位编号对应的所述停车位,更新所述停车位在所述成功预约停车时间段内的所述当前车位占据情况并将所述车辆的所述历史违约次数加一。
在此方案中,接收到车辆的取消预约请求后,找到对应的车位,更新该车位对应的车位占据情况,并将车辆的历史违约情况加一。
第三方面,本申请还提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的所述程序指令以实现如第一方面中任一技术方案所述的树形索引的构建方法或如第二方面中任一技术方案所述的车位分配方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,所述程序代码用于实现如第一方面中任一技术方案所述的树形索引的构建方法或如第二方面中任一技术方案所述的车位分配方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
采用本申请提供的树形索引的构建方法,将目标城市空间中的停车位进行分组,并利用叶子节点存储停车位的车位信息,并将一组停车位中的第一最低收费值、第一节点类型(支持充电类和不支持充电类)以及每个停车位的空闲时间段作为第一约束属性,然后采用由下而上的方式逐层构建非叶子节点,并为每一层非叶子节点设置第二约束属性(第二最低收费值和第二节点类型),直至建立根节点,树形索引结构构建完成,该索引结构通过为每一层节点(叶子节点、非叶子节点以及根节点)设置空间范围属性(即叶子节点的第一空间方位属性、非叶子节点的第二空间范围属性以及根节点的第三空间范围属性)、孩子属性(即第一孩子属性、第二孩子属性和第三孩子属性),再结合第一约束属性和第二约束属性,能够提高索引目标城市中的停车位的效率,该索引结构维护简单,具有扩展性,具有广泛的应用价值和现实意义。
本申请提供的基于上述树形索引的车位分配方法,能够基于车辆的历史违约次数确定处理车辆的操作请求的先后顺序,并结合车辆到停车位的距离、预约停车时间、收费情况和实际充电需求为车辆快速准确的分配最佳停车位,有利于提高城市空间中对停车位和车辆的分配效率,降低管理难度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种共享车位的树形索引的构建方法的流程示意图;
图2为本申请实施例提供的一种车位分配方法的流程示意图;
图3为一种城市空间模型及车位模型及车辆模型的可视化示意图;
图4为一种树形索引结构的可视化平面示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,参见图1,下面对本申请实施例提供的一种共享车位的树形索引的构建方法进行详细介绍,包括以下步骤:
步骤S1,将目标城市的整体空间划分为多个第一目标区域,每一个所述第一目标区域内的停车位的数量均位于第一数量区间内;
步骤S2,将每一个所述第一目标区域构建为一个叶子节点,并为每一个所述叶子节点设置第一节点属性,所述第一节点属性包括第一空间范围属性、第一孩子属性和第一约束属性,其中,所述第一空间范围为所述第一目标区域所覆盖的所述目标城市的空间范围,所述第一孩子属性为所述第一目标区域内的所有停车位的车位信息的第一集合,所述车位信息包括当前车位占据情况、车位收费和车位类型,设置所述第一约束属性具体包括:
根据所述当前车位占据情况确定每一个所述停车位的空闲时间段;
将所述第一集合中所有所述停车位中最低的所述车位收费确定为第一最低收费值;
根据所述第一集合中的所有所述停车位的车位类型确定第一节点类型,所述第一节点类型包括支持充电类和不支持充电类;
步骤S3,将目标城市的整体空间划分为多个第二目标区域,并将每一个所述第二目标区域构建为非叶子节点,其中每一个所述非叶子节点的邻近下一层节点的数量均位于第二数量区间内;所述下一层节点包括所述叶子节点或其他所述非叶子节点;
步骤S4,为每一个所述非叶子节点设置第二节点属性,所述第二节点属性包括第二空间范围属性、第二孩子属性以及第二约束属性,其中,所述第二空间范围为所述第二目标区域所覆盖的所述目标城市的空间范围,所述第二孩子属性为所述非叶子节点的邻近下一层节点的第二集合,设置所述第二约束属性包括:
将所述第二集合中所有所述下一层节点中最低的所述第一最低收费值确定为第二最低收费值;
根据所述第二集合中的所述下一层节点的所述第一节点类型确定第二节点类型;
步骤S5,确定所述整体空间中的所述非叶子节点数位于第三数量区间内,则构建根节点,并为所述根节点设置第三节点属性,所述第三节点属性包括第三空间范围属性和第三孩子属性,其中,所述第三空间范围为所述目标城市的整体空间,所述第三孩子属性为所述根节点的邻近下一层节点的集合。
在本申请的一些具体实施例中,为目标城市整体空间中的所有停车位构建树形索引,树形结构的索引包括根节点、非叶子节点和叶子节点,在本申请的一些具体实施例中,将停车位的车位信息存放在叶子节点中,并采用bottom-up的方式构建多因素约束树形索引结构,即将停车位按其所处的区域进行分组,每一组作为一个叶子节点,叶子节点和根节点之间设有若干层非叶子节点,其中以叶子节点邻近的上一层非叶子节点为例(为了便于描述此处记为第一层非叶子节点),第一层非叶子节点的第二节点属性包括第一层非叶子节点所占据的空间范围(即占据目标城市的范围)、第二孩子属性即每一个第一层非叶子节点所包含的叶子节点的集合,并且,该树形索引结构的每一层节点均在空间范围、孩子属性之外设有约束属性,各层节点的约束属性均包括最低收费情况以及是否支持充电,并在叶子节点的约束属性中构建了每个停车位的空闲时间段,通过此技术方案建立的树形索引便于通过查找各层节点的约束属性为车辆快速的查找和匹配最佳停车位,有利于城市停车位的管理以及后续车位的分配。
在本申请的一些具体实施例中,先根据停车位所处的地理位置进行分组(即将目标城市的整体空间划分为多个第一目标区域,每一个所述第一目标区域内的停车位的数量均位于第一数量区间内),将停车位的车位信息作为叶子节点的孩子属性进行存储,再按树结构自叶子往上构造非叶子节点,并根据叶子节点的节点属性确定第一层非叶子节点的节点属性,重复第一层非叶子节点的构造方法进行第二层非叶子节点的构造直至构造出根节点,由下而上递归构造树形索引,从而确定所有节点的节点属性,该树形索引能够减小冗余计算,有利于停车位的快速查找。
在本申请的一些具体实施例中,在设置所述第一约束属性之前,还包括:获取所述目标城市中的所有所述停车位的所述车位信息,所述车位信息还包括车位编号和车位位置。
在本申请的一些具体实施例中,所述第一数量区间、所述第二数量区间和所述第三数量区间相同。
在本申请的一些具体实施例中,设置第一数量区间、所述第二数量区间和所述第三数量区间相同,使得树形索引中的每一节点的邻近下一层节点的数量相同或者相近,有利于保持树形索引结构的平衡,便于减小树的遍历的复杂度。
在本申请的一些具体实施例中,所述根据所述第一集合中的所述停车位的车位类型确定第一节点类型,所述第一节点类型包括支持充电类和不支持充电类,具体包括:
确定所述第一集合中至少有一个所述停车位的车位类型为充电车位,则确定所述第一节点类型为支持充电类;
确定所述第一集合中所有所述停车位的车位类型均为非充电车位,则确定所述第一节点类型为不支持充电类。
在本申请的一些具体实施例中,车位类型包括安装有充电桩的充电车位以及不支持充电的普通车位。
在本申请的一些具体实施例中,所述根据所述第二集合中的所述下一层节点的所述第一节点类型确定第二节点类型,具体包括:
确定所述第二集合中至少有一个所述下一层节点的所述第一节点类型为支持充电类,则确定所述第二节点类型为支持充电类;
确定所述第二集合中所有所述下一层节点的所述第一节点类型均为不支持充电类,则确定所述第二节点类型为不支持充电类。
在本申请的一些具体实施例中,在所述根据所述第一集合中的所述停车位的当前车位占据情况确定每一个所述停车位的空闲时间段之后,所述设置所述第一约束属性具体还包括:将所述第一集合中的所述停车位按所述空闲时间段存储到哈希列表中,所述当前车位占据情况包括自当前时刻起所述停车位被占据的时间段。
在本申请的一些具体实施例中,将停车位的空闲时间段以哈希列表的形式存储在叶子节点中,存储更加方便并,利于树形索引的遍历和检索。
在本申请的又一些具体实施例中,还提供了一种车位分配方法,参见图2,所述车位分配方法包括以下步骤:
步骤S100,获取目标时间段内多个车辆发送的多个操作请求,各个所述操作请求均携带有车辆编号和操作类型;
步骤S200,根据所述车辆编号获取所述车辆的车辆信息,所述车辆信息包括历史违约次数,并以所述历史违约次数由高到低为序,依次处理多个所述车辆的所述操作请求;
步骤S300,确定所述操作类型为预约请求,处理所述预约请求的过程,具体包括:获取所述车辆的实时位置、预约停车时间段和目标车位类型;
步骤S400,以距离所述车辆的距离最短为第一级约束条件,以所述目标车位类型为第二级约束条件,从树形索引的根节点开始逐层遍历,确定可用车位集合,其中,所述树形索引为采用如第一方面任一技术方案所述的共享车位的树形索引的构建方法所构建的,所述可用车位集合包括若干个可用车位;
步骤S500,以所述可用车位的车位收费和距离所述车辆的距离为第三级约束条件,计算各个所述可用车位的综合得分,并将所述综合得分最高的车位确定为所述车辆的最佳停车位,所述综合得分的计算公式为:Q=w×D+(1-w)×p;
其中,Q为综合得分,D为所述可用车位距离所述车辆的距离,p为所述可用车位的车位收费,w为权重值,且0<w<1。
在本申请的一些具体实施例中,在某时间段内接收到多个车辆终端发生的预约或者取消预约请求,以车辆的历史违约次数确定处理先后的优先级,有利于约束用户的随意取消预约的行为,对于车辆的预约请求,以距离最短为第一级约束条件,以车辆预约的车位类型(充电车位或者普通车位)为第二级约束条件,从所述树形索引的根节点开始逐层遍历,找出可用车位集合,并对可用车位集合中的若干个停车位再次综合考虑距离和收费,利用综合得分公式计算出得分最高的车位作为最佳停车位。
在本申请的一些具体实施例中,所述以距离所述车辆的距离最短为第一级约束条件,以所述目标车位类型为第二级约束条件,从树形索引的根节点开始逐层遍历,确定可用车位集合,具体包括:
创建优先队列,所述优先队列以所述车辆到所述树形索引的节点间的最短距离为优先级,所述节点包括所述根节点、所述非叶子节点和所述叶子节点;
初始化所述优先队列:初始时所述优先队列中的元素为所述根节点以及所述车辆到所述根节点的第一最短距离;
对所述优先队列中优先级最高的元素执行以下操作:
确定所述优先队列中的元素为非叶子节点且所述目标车位类型为非充电车位,则遍历所述非叶子节点的下一层节点,根据所述实时位置计算所述车辆距离各个下一层节点的第二最短距离,并将每一个下一层节点及其对应的所述第二最短距离作为新的元素存入所述优先队列中;
确定所述优先队列中的元素为非叶子节点且所述目标车位类型为充电车位,则遍历所述非叶子节点的所述第二节点类型为支持充电类的下一层节点,根据所述实时位置计算所述车辆距离各个所述支持持充电类的下一层节点的第三最短距离,并将各个所述支持充电类的下一层节点及其对应的所述第三最短距离作为新的元素存入所述优先队列中;确定所述优先队列中的元素为叶子节点且所述目标车位类型为非充电车位,则将所述空闲时间段能完全覆盖所述预约停车时间段的所述停车位确定为可用车位;
确定所述优先队列中的元素为叶子节点且所述目标车位类型为充电车位,则将所述车位类型为充电车位且所述空闲时间段能完全覆盖所述预约停车时间段的所述停车位确定为可用车位。
在本申请的一些具体实施例中,采用优先队列的方式实现树形索引的遍历,以得到可用车位的集合。
在本申请的一些具体实施例中,确定所述车辆的所述操作请求的所述操作类型为取消预约请求,处理所述取消预约请求的过程,具体包括:获取所述车辆的成功预约信息,所述成功预约信息包括车辆编号、成功预约停车时间段以及成功预约车位的车位编号,遍历所述树形索引找到所述车位编号对应的所述停车位,更新所述停车位在所述成功预约停车时间段内的所述当前车位占据情况并将所述车辆的所述历史违约次数加一。
在本申请的一些具体实施例中,接收到车辆的取消预约请求后,找到对应的车位,清空以更新该车位对应的车位占据情况,并将车辆的历史违约情况加一。
在本申请的又一些具体实施例中还提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的所述程序指令以实现如上述任一实施例所述的树形索引的构建方法或如上述任一实施例所述的车位分配方法。
在本申请的又一些具体实施例中,所述计算机可读存储介质存储有程序代码,所述程序代码用于实现如上述任一实施例所述的树形索引的构建方法或如上述任一实施例所述的车位分配方法。
采用本申请提供的树形索引的构建方法,将目标城市空间中的停车位进行分组,并利用叶子节点存储停车位的车位信息,并将一组停车位中的第一最低收费值、第一节点类型(支持充电类和不支持充电类)以及每个停车位的空闲时间段作为第一约束属性,然后采用由下而上的方式逐层构建非叶子节点,并为每一层非叶子节点设置第二约束属性(第二最低收费值和第二节点类型),直至建立根节点,树形索引结构构建完成,该索引结构通过为每一层节点(叶子节点、非叶子节点以及根节点)设置空间范围属性(即叶子节点的第一空间方位属性、非叶子节点的第二空间范围属性以及根节点的第三空间范围属性)、孩子属性(即第一孩子属性、第二孩子属性和第三孩子属性),再结合第一约束属性和第二约束属性,能够提高索引目标城市中的停车位的效率,该索引结构维护简单,具有扩展性,具有广泛的应用价值和现实意义。
本申请提供的基于上述树形索引的车位分配方法,能够基于车辆的历史违约次数确定处理车辆的操作请求的先后顺序,并结合车辆到停车位的距离、预约停车时间、收费情况和实际充电需求为车辆快速准确的分配最佳停车位,有利于提高城市空间中对停车位和车辆的分配效率,降低管理难度。
为了便于理解,下面对树形索引的构造以及车位的分配的具体实现进行说明,首先,将整个城市空间(即目标城市的城市空间)建模为一个二维欧氏空间中的一个矩形,如图3所示,该矩形区域用其左下顶点坐标(X0, Y0)和右上顶点坐标(X1, Y1)组成的四元组(X0, Y0, X1, Y1)共同描述。如图3所示,城市空间中的任意停车位和任意车辆都被建模为二维欧氏空间中的点,任意车辆和车位都具有空间属性和文本属性,这些属性帮助我们进行索引的构建和智慧城市中共享车位的动态分配。
在构建树形索引之前,先获取城市的停车位的车位信息和车辆的车辆信息。作为一个示例,利用爬虫技术爬取城市空间中所有停车位的空间位置信息,并做如下处理:
a1、将停车位建模为一个二维欧氏空间中的点记为pi,pi的位置由一个二维欧氏坐标(pi.x, pi.y)描述;
b1、对当前停车位进行属性设置:车位编号(pi.id),车位收费(pi.price,按小时计费),车位类型(pi.type,pi.type=0表示pi为普通停车位,pi.type =1表示pi为电车停车位,即该车位安装有充电桩),车位占据情况(pi.orderSet={(ts1,te1, ci), (ts2, te2,cj),....},该集合中各元素都是车位pi现在或后续被占据的时间段,任意元素(ts, te, cn)表示pi在时间段(ts, te)被车辆cn占据停车,若pi.orderSet ={}表示车位pi当前到后续时间内都没有被车辆占据);
c1、确定所述停车位为爬取的最后一个车位,得到集合P={p1, p2, ..., pn},集合P为城市空间中所有停车位的车位信息的集合。
同样的,结合车辆的车载GPS实时获取城市内某时刻所有车辆的空间位置信息,并处理获取的城市车辆信息,具体包括:
a2、依次获取下一个城市车辆,将此车辆建模为一个二维欧氏空间中的点ci,ci的位置用(ci.x, ci.y)表示;
b2、对当前车辆ci进行属性设置,ci的属性包括:车牌(ci.num),状态(ci.state=0,表示ci为无预约的状态,ci.state=( ts,te,pi.id)表示ci停泊在编号为pi.id的停车位上,ts和te分别为pi停泊的起始和结束时间),预约(ci.order=(ts, te, pi.id)表示将在时间段ts到te内预约pi车位,ci.order=0表示此车没有预约车位),毁约(ci.count表示其过往毁约的次数),类型(ci.type=0表示其为普通油车,ci.type=(1, 0)表示其为电车且无需充电,ci.type=(1, 1)表示其为电车且需充电桩充电);
c2、判断当前是否为最后一个车辆,是则跳转到步骤d2,否则跳转到步骤a2;需要说明的是,判断车辆是不是最后一个车辆是现有技术中通过简单的计算机编程就可以实现的,这里不做赘述,此步骤的判断过程可以理解为计算机程序的代码逻辑,本申请并不是对该类计算机程序的改进。
d2、由此得到处理后的所有城市车辆信息,得到集合C={c1, c2, ..., cm};
获取并处理完城市空间中的车位信息和车辆信息后,下面开始进行树形索引的构建,具体的,采用bottom-up的方式构建多因素约束的树形索引结构,该索引结构同时存储了城市空间中车位的各种约束信息,树形索引的构建具体包括:
a3、将整个城市空间分割为u1个区域,构成一个城市空间区域集合A1={a1, a2,..., au1},其中保证每个区域的停车位数位于两个正整数M和N之间(相当于第一数量区间),任意城市空间区域ai用一个四元组(ai.x0, ai.y0, ai.x1, ai.y1)来描述它的空间覆盖范围,i=1, ..., u1;
b3、首先构建最底层叶子节点,具体是依次获取集合A1={a1, a2, ..., au1}中的任意区域ai;
c3、遍历车位集合P={p1, p2, ..., pn},将位于ai区域内的所有车位{pj, ...,pk}(j≠k且j,k=1, 2, ..., n)找出来构建成底层叶子节点Leafw,w=1, 2, ..., u1,并继续执行步骤d3;
d3、为叶子节点Leafw设置节点属性,空间范围属性Leafw.Range=(ai.x0, ai.y0,ai.x1, ai.y1),即Leafw所覆盖的城市空间范围;孩子属性Leafw.HashList,Leafw.HashList为一个哈希列表,其将车位{pj, ..., pk}按空闲的时间段分类存储到此哈希列表中;收费(Leafw.price=primin,即为{pj, ..., pk}中收费的最低收费primin);能否充电(Leafw.HasBatt=1表示{pj, ..., pk}中存在安装有充电桩的车位,Leafw.HasBatt=0表示{pj, ..., pk}都是普通车位);
e3、判断当前ai是否为A1中的最后一个区域,是则继续执行步骤f3,否则跳转到步骤b3;
f3、A1中所有城市空间区域被处理完毕,得到u1个最底层的叶子节点;
g3、进一步将城市空间分割为u2(u2<u1)个区域,构成一个城市空间区域集合A2={a’1, a’2, ..., a’u2},其中保证每个区域包含的下一层节点数位于两个正整数M和N之间(相当于第二数量区间),任意城市空间区域a’i用一个四元组(a’i.x0, a’i.y0, a’i.x1, a’i.y1)来描述它的空间覆盖范围,i=1, ..., u2;
h3、构建上层非叶子节点,具体是逐个获取集合A2={a’1, a’2, ..., a’u2}中的任意区域a’i;
i3、遍历之前得到的下一层中的所有节点,将位于a’i内的节点构成当前非叶子节点noLeafw,w=1, 2, ..., u2,并继续执行步骤j3;
j3、为非叶子节点noLeafw设置节点属性,空间范围属性noLeafw.Range=( a’i.x0,a’i.y0, a’i.x1, a’i.y1),即noLeafw所覆盖的城市空间范围;孩子属性noLeafw.Children为一个集合,其由位于此a’i区域内的下一层的节点构成;最低收费noLeafw.price=primin,即为集合Children中所有孩子节点收费中的最低收费primin;能否充电(noLeafw.HasBatt=1表示Children集合中存在HasBatt=1的孩子节点,noLeafw.HasBatt=0表示Children集合中的节点的HasBatt值都为0);
k3、判断当前a’i是否为A2中的最后一个区域,是则继续执行步骤l3,否则跳转到步骤h3;
l3、A2中所有城市空间区域被处理完毕,得到u2个非叶子节点;
m3、重复上述非叶子节点的构建过程,直至空间中的非叶子节点数位于M和N之间(相当于第三数量区间),将这些非叶子节点构建成一个根节点root;
n3、为根节点root设置根属性,空间范围属性root.Range=( X0, Y0, X1, Y1),即整个城市空间范围;孩子属性root.Children为一个集合,其由位于此城市空间内邻近根节点的下一层节点构成;
其中,d3步骤中将车位{pj, ..., pk}按空闲的时间段分类存储到哈希列表Leafw.HashList中,具体包括:
d3a、获取当前时间作为起始时间ts,以∆t为时间间隔,得到h个时间段{(ts, ts+∆t), (ts+∆t, ts+2∆t), ..., (ts+h∆t-∆t, ts+h∆t)},以各时间段为键,以空集合{}为值将各元素“(ts+v∆t-∆t, ts+v∆t)→{}”存入哈希列表Leafw.HashList中,v=1, 2,..., h;
d3b、依次获取集合{(ts, ts+∆t), (ts+∆t, ts+2∆t), ..., (ts+h∆t-∆t, ts+h∆t)}中的第v个时间段(ts+v∆t-∆t, ts+v∆t);
d3c、依次获取集合{pj, ..., pk}中的第i(i=j, ..., k)个车位pi,并检测pi.orderSet是否完全覆盖时间段(ts+v∆t-∆t, ts+v∆t),若是继续执行d3d步,否则执行d3e步;
d3d、说明pi车位在第v个时间段内是非空闲的,令i+1并跳转到d3c步;
d3e、将车位pi存入Leafw.HashList中以(ts+v∆t-∆t, ts+v∆t)为键所对应的集合中;
d3f、判断i是否等于k,若等于则继续执行d3g步,否则跳转到d3c步;
d3g、判断v是否等于h,等于则结束,否则令v+1并跳转到d3b步。
至此,由下往上构建树形索引完成。
下面结合具体实施方式对车位分配方法进行详细说明:通过车载GPS收集当前城市空间中车辆执行的车位操作,并按特定顺序处理这些操作的步骤如下:
S4a、收集当前城市空间内车辆的操作队列ActionQue,此列表以一系列如(I, ci)的二元组为元素构成,其中ci代表执行操作的车辆,由ci可以获取如上述预先建立好的城市车辆信息,即可以获取ci 的相应属性;I为一个整型,代表操作类型,I=0表示车辆执行的是预约停车位的操作,I=1表示车辆执行取消预约操作;
S4b、对操作队列ActionQue中的所有元素进行排序,排序规则为ci的违规次数ci.count,ci.count越小ci越靠近队首,当违规次数相同时按收集时间(即发送请求的时间)排序,即(I, ci)操作被收集的时间越早其越靠近队首,最终得到排好序的操作队列ActionQue’;
S4c、每次从ActionQue’的队首的移除一个操作(I, ci),判断I的值,继续执行下述步骤;
S4d、如果I=0,获取ci的预约时间段(ts,te),遍历树结构为ci找到最佳停车位pbest,并将元素(ts,te, ci)存入集合pbest.orderSet中,并修改ci.order为(ts,te, pbest.id);
S4e、如果I=1,获取ci的ci.order=(ts, te, pi.id)属性,遍历树结构找到pi车位并将元素(ts,te, ci)从集合pi.orderSet中移除,并将ci.order的值设置为0,并将ci.count的值加1;
S4f、判断(I, ci)是否为ActionQue’中的最后一个操作,是则结束,否则跳转到步骤S4c;
进一步地,如果I=0,获取ci的预约时间段(ts,te),遍历树结构为ci找到最佳停车位pbest,并将元素(ts,te,ci)存入集合pbest.orderSet中,并修改ci.order为(ts,te,pbest.id)的具体操作步骤如下:
S4d1、创建一个优先队列PrioQue,优先队列以ci到树节点间的最短距离为优先级,最短距离越小优先级越高,初始时PrioQue的元素为(root, Dist(ci, root)),其中Dist(ci, root)为ci到根节点root的最短距离;结合上述实施例所描述的,ci为一个二维欧氏空间中的点,而树的每一个节点均为二维欧氏空间中的一个区域,因此,在计算ci到树节点间的距离时统一以点到面的最短距离为准。
S4d2、每次从PrioQue移除优先级最高的元素node,判断node的类型;
S4d3、若node为一个非叶子节点,且若判断出ci.type=0或ci.type=(1, 0),则遍历孩子集合node.Children中的每个孩子child,计算每个child到ci的最短距离Dist(ci,node),并将元素(node, Dist(ci, node))存入优先队列PrioQue,并跳转到S4d5;若判断ci.type=(1, 1)则从node.Children中找到.HasBatt=1的所有孩子节点,并计算这些孩子节点中的各个孩子节点child到ci的最短距离Dist(ci, node),并将元素(node, Dist(ci,node))存入优先队列PrioQue,并跳转到S4d5;
S4d4、若node为一个叶子节点,若判断出ci.type=0或ci.type=(1, 0),则遍历.HashList中的键并进行判断,将空闲时间段能覆盖时间段ci.order=(ts, te)的键对应的值(即车位)构成一个可用车位集合parkingSet并继续执行S4d5步;若判断ci.type=(1,1),则遍历.HashList中的键,找出空闲时间能完全覆盖时间段ci.order=(ts, te)的键对应的值,进一步从这些值中,即车位中找出那些带有充电桩即.type=1的车位并构成可用车位集合parkingSet并继续执行S4d5;
S4d5、判断优先队列PrioQue是否为空,为空则继续执行步骤S4d6,不为空则跳转到步骤S4d2;需要说明的是,判断队列是否为空,为现有技术,这里不做赘述;
S4d6、判断可用车位集合parkingSet是否为空,为空则没有为ci找到最佳车位,则将(I, ci)与其在ActionQue’中相邻的下一个操作交换位置并跳转到S4c步;若parkingSet不为空则继续执行下述步骤;
S4d7、集合parkingSet中的车位都是空闲时间能覆盖时间段ci.order=(ts, te)且满足是否带有充电桩类型要求的车位,进一步遍历parkingSet中的各个车位pi,计算pi到ci的距离D(pi, ci),获取pi的停车价格pi.price,根据公式w×D(pi, ci)+(1-w)×pi.price为各个可用车位pi计算出一个得分,将得分最高的车位作为最佳停车位pbest分配给ci并进一步将(ts, te, ci)存入pbest.orderSet中,其中,0<w<1为用户指定的一个权重系数。
基于构建的树型索引结构采用逐层逐级的多因素约束机制来为任意预约操作(ts, te, ci)查找并分配最佳停车位。在最佳停车位的查找过程中,即树型索引结构的遍历过程中,具体是从树的根节点逐层遍历,对非叶子节点和叶子节点的筛选以ci到节点的最短距离为第一级约束条件,即每次都从优先队列PrioQue中移除优先级最高的节点元素,并进一步以ci.type为第二级约束,即每次将满足ci.type约束的孩子节点再存入优先队列PrioQue中,如此逐层逐级遍历直至找到可用车位集合parkingSet,并对车位集合中的可用车位进行距离和价格的第三级约束搜索,即为各个可用车位pi按计算公式算出一个得分,并将得分最高的车位作为最佳停车位pbest分配给ci。
其中,S4e步骤中,如果I=1,获取ci的ci.order=(ts, te, pi.id)属性,遍历树结构找到pi车位并将元素(ts,te,ci)从集合pi.orderSet中移除,并将ci.order的值设置为0,并将ci.count的值加1,具体操作步骤如下:
S4e1、构建一个节点集合NodeSet,初始时NodeSet={root};
S4e2、每次从集合NodeSet中移除一个元素node,并执行下述步骤;
S4e3、获取node的空间覆盖范围node.Range并判断车位pi是否被此范围覆盖,若被覆盖则继续判断node的类型;
S4e4、若node为一个非叶子节点,则遍历其孩子节点集合node.Children,并将孩子节点存入NodeSet中;
S4e5、若node为一个叶子节点,则遍历node.HashList中存储的所有孩子,判断pi是否存在于node.HashList中,若存在则将元素(ts,te,ci)从集合pi.orderSet中移除,并将ci.order的值设置为0,并将ci.count的值加1;若不存在则继续执行下一步;
S4e5、判断NodeSet是否为空,空则结束,否则跳转到S4e2步。
至此,基于上述树形索引的车位分配流程完成。
下面对本申请作进一步示例说明,树形索引结构的可视化平面示意图可以参见图4所示,图4中 p1~p15为城市空间中的一组停车位。采用本申请提出的索引构建方法,将这些车位按其所处的区域进行分组得到五组结果,分别将它们构建为叶子节点leaf1~leaf5,由于此时叶子节点数为5大于N=3且M=2,所以需要进一步将这些叶子节点继续按其所在的区域分为2组,并继续将它们构建成非叶子节点noleaf1、noleaf2,,其中,如图4中所示,noleaf1的空间范围属性noleaf1.Range=( X’0, Y’0, X’1, Y’1)。由于此时非叶子节点数为2位于M和N之间,因此进一步将noleaf1和noleaf2构建为一个根节点root。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而要符合与本文所申请的原理和新颖特点相一致的最宽范围。
Claims (10)
1.一种共享车位的树形索引的构建方法,其特征在于,包括:
将目标城市的整体空间划分为多个第一目标区域,每一个所述第一目标区域内的停车位的数量均位于第一数量区间内;
将每一个所述第一目标区域构建为一个叶子节点,并为每一个所述叶子节点设置第一节点属性,所述第一节点属性包括第一空间范围属性、第一孩子属性和第一约束属性,其中,所述第一空间范围为所述第一目标区域所覆盖的所述目标城市的空间范围,所述第一孩子属性为所述第一目标区域内的所有停车位的车位信息的第一集合,所述车位信息包括当前车位占据情况、车位收费和车位类型,设置所述第一约束属性具体包括:
根据所述当前车位占据情况确定每一个所述停车位的空闲时间段;
将所述第一集合中所有所述停车位中最低的所述车位收费确定为第一最低收费值;
根据所述第一集合中的所有所述停车位的车位类型确定第一节点类型,所述第一节点类型包括支持充电类和不支持充电类;
将目标城市的整体空间划分为多个第二目标区域,并将每一个所述第二目标区域构建为非叶子节点,其中每一个所述非叶子节点的邻近下一层节点的数量均位于第二数量区间内;所述下一层节点包括所述叶子节点或其他所述非叶子节点;
为每一个所述非叶子节点设置第二节点属性,所述第二节点属性包括第二空间范围属性、第二孩子属性以及第二约束属性,其中,所述第二空间范围为所述第二目标区域所覆盖的所述目标城市的空间范围,所述第二孩子属性为所述非叶子节点的邻近下一层节点的第二集合,设置所述第二约束属性包括:
将所述第二集合中所有所述下一层节点中最低的所述第一最低收费值确定为第二最低收费值;
根据所述第二集合中的所述下一层节点的所述第一节点类型确定第二节点类型;
确定所述整体空间中的所述非叶子节点数位于第三数量区间内,则构建根节点,并为所述根节点设置第三节点属性,所述第三节点属性包括第三空间范围属性和第三孩子属性,其中,所述第三空间范围为所述目标城市的整体空间,所述第三孩子属性为所述根节点的邻近下一层节点的集合。
2.根据权利要求1所述的共享车位的树形索引的构建方法,其特征在于,在设置所述第一约束属性之前,还包括:获取所述目标城市中的所有所述停车位的所述车位信息,所述车位信息还包括车位编号和车位位置。
3.根据权利要求2所述的共享车位的树形索引的构建方法,其特征在于,所述第一数量区间、所述第二数量区间和所述第三数量区间相同。
4.根据权利要求3所述的共享车位的树形索引的构建方法,其特征在于,所述根据所述第一集合中的所述停车位的车位类型确定第一节点类型,所述第一节点类型包括支持充电类和不支持充电类,具体包括:
确定所述第一集合中至少有一个所述停车位的车位类型为充电车位,则确定所述第一节点类型为支持充电类;
确定所述第一集合中所有所述停车位的车位类型均为非充电车位,则确定所述第一节点类型为不支持充电类。
5.根据权利要求4所述的共享车位的树形索引的构建方法,其特征在于,所述根据所述第二集合中的所述下一层节点的所述第一节点类型确定第二节点类型,具体包括:
确定所述第二集合中至少有一个所述下一层节点的所述第一节点类型为支持充电类,则确定所述第二节点类型为支持充电类;
确定所述第二集合中所有所述下一层节点的所述第一节点类型均为不支持充电类,则确定所述第二节点类型为不支持充电类。
6.一种车位分配方法,其特征在于,包括:
获取目标时间段内多个车辆发送的多个操作请求,各个所述操作请求均携带有车辆编号和操作类型;
根据所述车辆编号获取所述车辆的车辆信息,所述车辆信息包括历史违约次数;
以所述历史违约次数由高到低为序,依次处理多个所述车辆的所述操作请求;
确定所述操作类型为预约请求,处理所述预约请求的过程,具体包括:获取所述车辆的实时位置、预约停车时间段和目标车位类型;
以距离所述车辆的距离最短为第一级约束条件,以所述目标车位类型为第二级约束条件,从树形索引的根节点开始逐层遍历,确定可用车位集合,其中,所述树形索引为采用如权利要求1至5任一所述的共享车位的树形索引的构建方法所构建的,所述可用车位集合包括若干个可用车位;
以所述可用车位的车位收费和距离所述车辆的距离为第三级约束条件,计算各个所述可用车位的综合得分,并将所述综合得分最高的车位确定为所述车辆的最佳停车位,所述综合得分的计算公式为:
Q=w×D+(1-w)×p
其中,Q为综合得分,D为所述可用车位距离所述车辆的距离,p为所述可用车位的车位收费,w为权重值,且0<w<1。
7.根据权利要求6所述的车位分配方法,其特征在于,所述以距离所述车辆的距离最短为第一级约束条件,以所述目标车位类型为第二级约束条件,从树形索引的根节点开始逐层遍历,确定可用车位集合,具体包括:
创建优先队列,所述优先队列以所述车辆到所述树形索引的节点间的最短距离为优先级,所述节点包括所述根节点、所述非叶子节点和所述叶子节点;
初始化所述优先队列:初始时所述优先队列中的元素为所述根节点以及所述车辆到所述根节点的第一最短距离;
对所述优先队列中优先级最高的元素执行以下操作:
确定所述优先队列中的元素为非叶子节点且所述目标车位类型为非充电车位,则遍历所述非叶子节点的邻近下一层节点,并根据所述实时位置计算所述车辆距离各个下一层节点的第二最短距离,并将每一个下一层节点及其对应的所述第二最短距离作为新的元素存入所述优先队列中;
确定所述优先队列中的元素为非叶子节点且所述目标车位类型为充电车位,则遍历所述非叶子节点的所述第二节点类型为支持充电类的下一层节点,根据所述实时位置计算所述车辆距离各个所述支持充电类的下一层节点的第三最短距离,并将各个所述支持充电类的下一层节点及其对应的所述第三最短距离作为新的元素存入所述优先队列中;
确定所述优先队列中的元素为叶子节点且所述目标车位类型为非充电车位,则将所述空闲时间段能完全覆盖所述预约停车时间段的所述停车位确定为可用车位;
确定所述优先队列中的元素为叶子节点且所述目标车位类型为充电车位,则将所述车位类型为充电车位且所述空闲时间段能完全覆盖所述预约停车时间段的所述停车位确定为可用车位。
8.根据权利要求7所述的车位分配方法,其特征在于,确定所述车辆的所述操作请求的所述操作类型为取消预约请求,处理所述取消预约请求的过程,具体包括:
获取所述车辆的成功预约信息,所述成功预约信息包括车辆编号、成功预约停车时间段以及成功预约车位的车位编号,遍历所述树形索引找到所述车位编号对应的所述停车位,更新所述停车位在所述成功预约停车时间段内的所述当前车位占据情况并将所述车辆的所述历史违约次数加一。
9.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的所述程序指令以实现如权利要求1至5中任一项所述的树形索引的构建方法或如权利要求6至8中任一项所述的车位分配方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码用于实现如权利要求1至5中任一项所述的树形索引的构建方法或如权利要求6至8中任一项所述的车位分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210159125.3A CN114241808B (zh) | 2022-02-22 | 2022-02-22 | 共享车位的树形索引的构建、分配方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210159125.3A CN114241808B (zh) | 2022-02-22 | 2022-02-22 | 共享车位的树形索引的构建、分配方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114241808A true CN114241808A (zh) | 2022-03-25 |
CN114241808B CN114241808B (zh) | 2022-05-24 |
Family
ID=80747638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210159125.3A Active CN114241808B (zh) | 2022-02-22 | 2022-02-22 | 共享车位的树形索引的构建、分配方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114241808B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114648259A (zh) * | 2022-05-23 | 2022-06-21 | 科大天工智能装备技术(天津)有限公司 | 一种城市道路井盖管理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915346A (zh) * | 2012-09-26 | 2013-02-06 | 中国科学院软件研究所 | 面向物联网智能感知的数据索引建立与查询方法 |
CN103593998A (zh) * | 2012-08-15 | 2014-02-19 | 深圳市迈岭科技有限公司 | 一种停车诱导的系统及方法 |
US20160140845A1 (en) * | 2014-11-19 | 2016-05-19 | Uber Technologies, Inc. | Parking identification and availability prediction |
CN108615402A (zh) * | 2018-06-14 | 2018-10-02 | 山东交通学院 | 一种基于区块链技术的智能停车和车位共享系统 |
CN110047318A (zh) * | 2019-04-12 | 2019-07-23 | 深圳壹账通智能科技有限公司 | 周边停车位推送方法、装置及计算机可读存储介质 |
CN111985835A (zh) * | 2020-08-31 | 2020-11-24 | 盐城工学院 | 一种居住区共享停车泊位的分配方法 |
CN113112859A (zh) * | 2021-04-07 | 2021-07-13 | 万翼科技有限公司 | 基于建筑信息模型的停车位确定方法与装置、相关设备 |
CN113793507A (zh) * | 2021-11-16 | 2021-12-14 | 湖南工商大学 | 可用车位预测方法、装置、计算机设备及存储介质 |
-
2022
- 2022-02-22 CN CN202210159125.3A patent/CN114241808B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593998A (zh) * | 2012-08-15 | 2014-02-19 | 深圳市迈岭科技有限公司 | 一种停车诱导的系统及方法 |
CN102915346A (zh) * | 2012-09-26 | 2013-02-06 | 中国科学院软件研究所 | 面向物联网智能感知的数据索引建立与查询方法 |
US20160140845A1 (en) * | 2014-11-19 | 2016-05-19 | Uber Technologies, Inc. | Parking identification and availability prediction |
CN108615402A (zh) * | 2018-06-14 | 2018-10-02 | 山东交通学院 | 一种基于区块链技术的智能停车和车位共享系统 |
CN110047318A (zh) * | 2019-04-12 | 2019-07-23 | 深圳壹账通智能科技有限公司 | 周边停车位推送方法、装置及计算机可读存储介质 |
CN111985835A (zh) * | 2020-08-31 | 2020-11-24 | 盐城工学院 | 一种居住区共享停车泊位的分配方法 |
CN113112859A (zh) * | 2021-04-07 | 2021-07-13 | 万翼科技有限公司 | 基于建筑信息模型的停车位确定方法与装置、相关设备 |
CN113793507A (zh) * | 2021-11-16 | 2021-12-14 | 湖南工商大学 | 可用车位预测方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈亚婷: "车联网海量数据实时处理研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114648259A (zh) * | 2022-05-23 | 2022-06-21 | 科大天工智能装备技术(天津)有限公司 | 一种城市道路井盖管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114241808B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zheng et al. | Order dispatch in price-aware ridesharing | |
Jung et al. | Dynamic shared‐taxi dispatch algorithm with hybrid‐simulated annealing | |
CN103413209B (zh) | 多客户多仓库物流配送路径选择方法 | |
CN105938572B (zh) | 一种物流存储系统预防干涉的多自动导引车路径规划方法 | |
Jung et al. | Design and modeling of real-time shared-taxi dispatch algorithms | |
US8504295B2 (en) | Preserving assigned carpools after a cancellation | |
Colorni et al. | Modeling and optimizing dynamic dial‐a‐ride problems | |
CN109214756B (zh) | 整车物流调度方法及装置、存储介质、终端 | |
CN114241808B (zh) | 共享车位的树形索引的构建、分配方法、设备及存储介质 | |
CN112257999B (zh) | 一种面向大规模纯电动公交车辆调度问题的自适应大型邻域搜索方法 | |
CN111126799B (zh) | 基于二分图的共享网络司乘匹配方法 | |
CN110097218B (zh) | 一种时变环境下无人商品配送方法及系统 | |
Zakaria et al. | Car relocation for carsharing service: Comparison of CPLEX and greedy search | |
Jossé et al. | Probabilistic Resource Route Queries with Reappearance. | |
CN114550482A (zh) | 一种基于低碳目标的导航方法及停车场导航方法 | |
CN115713174A (zh) | 一种无人机城市巡检系统及方法 | |
CN108627163B (zh) | 权值表维护方法、装置及导航路线规划方法、装置 | |
JP2021190094A (ja) | 配送計画作成方法、装置、システムおよびコンピュータ読み取り可能な記憶媒体 | |
CN111882092A (zh) | 一种适用于共享出行的出租车车辆搜索方法 | |
JP2012190237A (ja) | 車両の配置方法決定システム | |
Wang et al. | Online Ridesharing with Meeting Points [Technical Report] | |
Greening et al. | Effective heuristics for distributing vehicles in free-floating micromobility systems | |
Hsu et al. | Strategies for green transportation while preserving mobility and accessibility: a case study of Taipei City | |
CN115438868A (zh) | 一种基于需求密度预测的无人驾驶出租车集约化调度方法 | |
CN114625137A (zh) | 一种基于agv的智能停车路径规划方法及系统 |
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 |