车辆调度方法、服务器及车辆系统与流程

文档序号:16901163发布日期:2019-02-19 18:00阅读:246来源:国知局
车辆调度方法、服务器及车辆系统与流程

本发明涉及车辆技术领域,更具体地,涉及一种车辆调度方法、服务器及车辆系统。



背景技术:

随着车辆制造技术以及互联网技术的飞速发展,通过共享车辆(例如共享自行车、共享汽车、共享电动车等)出行已经逐渐成为新兴的出行方式,可以满足用户多样化的出行需求。而随着共享车辆的用户规模日趋庞大,用车需求量爆发式增长,用车需求量随着交通高峰、季节变换等形成的“潮汐效应”越发明显,因此,需要对共享车辆的投放实施调度,以保证有效满足用户的共享出行需求。

选取车辆调入点进行共享车辆的投放,是实施车辆调度任务的一个关键。而目前,提供共享车辆服务的运营方,在车辆调入点的选择上通常具有较强的主观性,例如倾向于选择在地铁站出入口、住宅区出入口或者热门商圈等人流量较大的区域作为车辆调入点实施车辆投放,但在实际运营中,这种主观性较强的车辆调入点的选择方式往往存在较大的误判概率,导致实际的车辆使用率较低,无法实现预期的车辆调度目的,影响车辆调度效率。



技术实现要素:

本发明的一个目的是提供一种用于车辆调度的新技术方案。

根据本发明的第一方面,提供了一种车辆调度方法,其中,通过服务器实施,包括:

根据在预设的统计时段内车辆调度区域的历史车辆使用记录,获取使用起始地点集合;

其中,所述使用起始地点集合中包括车辆调度区域中每辆车辆每次被使用时的起始地点,每个所述起始地点具有唯一的位置数据;

根据所述使用起始地点集合,获取多个起始地点簇;

其中,每个所述起始地点簇中包括多个所述起始地点;

分别根据每个所述起始地点簇,确定与每个所述起始地点簇对应的一个候选调入子区域,以供用户从多个所述候选调入子区域中选取实施车辆调入的目标调入子区域。

可选地,所述根据所述使用起始地点集合,获取多个起始地点簇的步骤包括:

根据所述使用起始地点集合中包括的每个所述起始地点的位置数据,对所述使用起始地点集合进行划分,得到多个所述起始地点簇;

其中,每个所述起始地点簇中包括至少一个作为核心地点的所述起始地点以及在所述核心地点预设的相邻距离范围内的其他所述起始地点,所述核心地点是在所述预设的相邻距离范围的其他所述起始地点的数目大于预设的密度阈值。

可选地,所述对所述使用起始地点集合进行划分,得到多个所述起始地点簇的步骤包括:

从所述使用起始地点集合中,选取任意一个符合预设的建簇条件的起始地点作为开簇点创建一个起始地点簇,并将所述使用起始地点集合中符合预设的加簇条件的其他所述起始地点划分到所述起始地点簇中,完成一个所述起始地点簇的划分;

其中,所述建簇条件是在起始地点的所述预设的相邻距离范围内的其他所述起始地点的数目大于预设的密度阈值,并且所述起始地点不属于任意一个所述起始地点簇;

所述加簇条件包括所述起始地点在所述开簇点的所述预设的相邻距离范围内并且不属于任意一个所述起始地点簇,或者,所述起始地点在所述起始地点簇中的所述核心地点的所述预设的相邻距离范围内;

重复执行上述起始地点簇的划分步骤,直至所述使用起始地点集合中包括的所有起始地点被划分到多个不同的所述起始地点簇中。

可选地,,所述方法还包括:

获取每个所述起始地点簇的地域面积;

对所述地域面积大于预设的面积阈值的所述起始地点簇进行划分,得到符合分类数目的所述起始地点类,作为新的所述起始地点簇;

其中,所述分类数目根据所述起始地点簇的地域面积以及所述面积阈值设置;每个所述起始地点类具有一个类中心点;每个所述起始地点类中的任意一个所述起始地点与所在的所述起始地点类的类中心点之间的距离,小于与其他任意一个所述起始地点类的类中心点的距离。

可选地,所述对所述地域面积大于预设的面积阈值的所述起始地点簇进行划分,得到符合分类数目的所述起始地点类的步骤包括:

在所述起始地点簇中随机选择所述符合分类数目的所述起始地点,以所选择的所述起始地点作为每个所述起始地点类的初始的类中心点;

分别对所述起始地点簇中的每个所述起始地点,获取所述起始地点到每个所述起始地点类的类中心点的距离,将所述起始地点划分到与所述类中心点距离最短的所述起始地点类中,直至将所述起始地点簇中的每个所述起始地点分别均划分到所述起始地点类中;

对每个所述起始地点类,获取所述起始地点类中包括全部起始地点的位置数据的均值,得到与所述位置数据的均值对应的所述起始地点类的新的类中心点;

重复执行所述将所述起始地点加入所述起始地点类、获取所述起始地点类的新的类中心点的步骤,直至所述执行次数大于预设的次数阈值后结束,得到符合分类数目的所述起始地点类。

可选地,所述分别根据每个所述起始地点簇,确定与每个所述起始地点簇对应的一个候选调入子区域的步骤包括:

从所述起始地点簇中选取一个所述起始地点作为边界点;

以所述边界点为起点,选取所述起始地点簇中所述边界点之外的任意一个其他所述起始地点为终点,组成一个连线向量,以此获取多个所述连线向量,根据所述多个连线向量确定下一个所述边界点;

当确定下一个所述边界点后,以所述下一个所述边界点为起点,重复执行所述获取多个所述连线向量、根据所述连线向量确定下一个所述边界点的步骤,直至从所述起始地点簇中获取所有所述边界点;

根据所述起始地点簇中获取所有的边界点,确定与所述起始地点簇对应的所述的候选调入子区域。

可选地,所述起始地点簇中的每个所述起始地点的位置数据包括纵向坐标值以及横向坐标值;

在所述起始地点簇中选取作为所述边界点的所述起始地点,是所述起始地点簇中纵向坐标值最小或最大的所述起始地点;

所述根据所述多个连线向量确定的所述边界点,是与所述连线向量对应的连线与横向参考线的夹角最小的所述连线向量中的作为终点的所述起始地点,或者,所述根据所述多个连线向量确定的所述边界点,是与已确定的所述边界点构成的连线向量的向量夹角最小的所述连线向量中的作为终点的所述起始地点。

可选地,所述起始地点簇中的每个所述起始地点的位置数据包括纵向坐标值以及横向坐标值;

在所述起始地点簇中选取作为所述边界点的所述起始地点,是所述起始地点簇中横向坐标值最小或最大的所述起始地点;

所述根据所述多个连线向量确定的所述边界点,是所述连线向量中、与所述连线向量对应的连线与纵向参考线的夹角最小的所述连线向量中的作为终点的所述起始地点,或者,所述根据所述多个连线向量确定的所述边界点,是与已确定的两个所述边界点构成的连线向量的向量夹角最小的所述连线向量中的作为终点的所述起始地点。

根据本发明的第二方面,提供一种服务器,其中,包括:

存储器,用于存储可执行的指令;

处理器,用于根据所述可执行的指令的控制,运行所述服务器执行如本发明的第一方面提供的任意一项所述的车辆调度方法。

根据本发明的第三方面,提供一种车辆系统,其中,包括:

第二方面提供的服务器;

客户端;

以及车辆。

根据本公开的一个实施例,通过服务器根据在预设的统计时段内车辆调度区域的历史车辆使用记录获取使用起始地点集合,根据使用起始地点集合获取多个起始地点簇,每个起始地点簇中包括实际发生车辆使用的起始地点,根据每个起始地点簇确定一个候选调入区域,可以得到多个候选调入子区域选取实施车辆调入的目标调入子区域,实现结合车辆的实际使用状态,精准确定候选调入子区域,使得用户从候选调入子区域从中选取目标调入子区域实施车辆调入,可以降低对车辆调入点的误判概率,提升车辆调度效率。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是显示可用于实现本发明的实施例的车辆系统的硬件配置的例子的框图。

图2示出了本发明的实施例的车辆调度方法的流程图。

图3示出了本发明的实施例的划分起始地点簇的例子的示意图。

图4示出了本发明的实施例的划分起始地点簇的例子的示意图。

图5示出了本发明的实施例的划分起始地点簇的例子的示意图。

图6示出了本发明的实施例的划分起始地点簇的例子的示意图。

图7示出了本发明的实施例的服务器的示意性框图。

图8示出了本发明的实施例的车辆系统的示意性框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<硬件配置>

如图1所示,车辆系统100包括服务器1000、客户端2000、车辆3000、网络4000。

服务器1000提供处理、数据库、通讯设施的业务点。服务器1000可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。

在一个例子中,服务器1000可以如图1所示,包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600。尽管服务器也可以包括扬声器、麦克风等等,但是,这些部件与本发明无关,故在此省略。

其中,处理器1100例如可以是中央处理器cpu、微处理器mcu等。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、串行接口、红外接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏、led显示屏触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。

在本实施例中,客户端2000是具有通信功能、业务处理功能的电子设备。客户端2000可以是移动终端,例如手机、便携式电脑、平板电脑、掌上电脑等等。在一个例子中,客户端2000是对车辆3000实施管理操作的设备,例如,安装有支持运营、管理车辆的应用程序(app)的手机。

如图1所示,客户端2000可以包括处理器2100、存储器2200、接口装置2300、通信装置2400、显示装置2500、输入装置2600、输出装置2700、摄像装置2800,等等。其中,处理器2100可以是中央处理器cpu、微处理器mcu等。存储器2200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如包括usb接口、耳机接口等。通信装置2400例如能够进行有线或无线通信。显示装置2500例如是液晶显示屏、触摸显示屏等。输入装置2600例如可以包括触摸屏、键盘或者麦克风等。输出装置2700用于输出信息,例如可以是扬声器,用于为用户输出语音信息。摄像装置2800用于拍摄获取信息,例如是摄像头等。

车辆3000是任何可以分时或分地出让使用权供不同用户共享使用的车辆,例如,用于共享的共享自行车、共享助力车、共享电动车、共享车等等。车辆3000可以是自行车、三轮车、电动助力车、摩托车以及四轮乘用车等各种形态。

如图1所示,车辆3000可以包括处理器3100、存储器3200、接口装置3300、通信装置3400、输出装置3500、输入装置3600、定位装置3700、传感器3800,等等。其中,处理器3100可以是中央处理器cpu、微处理器mcu等。存储器3200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3300例如包括usb接口、耳机接口等。通信装置3400例如能够进行有线或无线通信。输出装置3500例如可以是输出信号的装置,可以是显示装置,例如液晶显示屏、触摸显示屏等,也可以是扬声器等输出语音信息等。输入装置3600例如可以包括触摸屏、键盘等,也可以是麦克风输入语音信息。定位装置3700用于提供定位功能,例如可以是gps定位模块、北斗定位模块等。传感器3800用于获取车辆姿态信息,例如可以是加速度计、陀螺仪、或者三轴、六轴、九轴微机电系统(mems)等。

网络4000可以是无线通信网络也可以是有线通信网络,可以是局域网也可以是广域网。在图1所示的物品管理系统中,车辆3000与服务器1000、客户端2000与服务器1000,可以通过网络4000进行通信。此外,车辆3000与服务器1000、客户端2000与服务器1000通信所基于的网络4000可以是同一个,也可以是不同的。

应当理解的是,尽管图1仅示出一个服务器1000、客户端2000、车辆3000,但不意味着限制对应的数目,车辆系统100中可以包含多个服务器1000、客户端2000、车辆3000。

以车辆3000为共享自行车为例,车辆系统100为共享自行车系统。服务器1000用于提供支持共享自行车使用所必需的全部功能。客户端2000可以是安装有支持运营、管理车辆的应用程序(app)的手机。

图1所示的车辆系统100仅是解释性的,并且决不是为了要限制本发明、其应用或用途。

应用于本发明的实施例中,服务器1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的车辆调度方法。

尽管在图1中对服务器1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,服务器1000只涉及存储器1200和处理器1100。

在上述描述中,技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。

<第一实施例>

在本实施例中,提供一种车辆调度方法。该车辆是被投放供用户以分时租赁、分地租赁等模式获取使用权的交通设备,该车辆可以是两轮或三轮自行车、助力车、电动车,也可以是四轮以上的机动车辆。

该车辆调度方法通过服务器实施,该服务器可以是各种实体形式。例如,服务器可以是云端服务器,或者还可是如图1所示的服务器1000。一个例子中,服务器是支持提供车辆运营、管理、调度等服务的运营中心。

如图2所示,该车辆调度方法包括步骤s2100至步骤s2300。

步骤s2100,根据在预设的统计时段内车辆调度区域的历史车辆使用记录,获取使用起始地点集合。

预设的统计时段可以根据具体的应用需求或者应用场景设置。例如,可以设置为最近1天、最近1周或最近1个月。

车辆调度区域是提供车辆使用服务的地理区域,在该地理区域中,车辆被允许使用,从该地理区域的一个地点移动到另一个地点,因此,为保证车辆使用服务能满足用户的使用需求,在该地理区域中提供车辆使用服务的服务商或者运营商,会实施将车辆调入或者调出的车辆调度使得车辆调度区域内的车辆能满足用户的使用需求。车辆调度区域可以根据具体的应用场景或者应用需求设置,例如,车辆调度区域可以根据行政区域设置,设置为一个城市、或者一个城市的一个市区等。

历史车辆使用记录包括车辆调度区域中每辆车辆每次被使用的使用记录,使用记录可以包括车辆使用的起始地点和结束地点、车辆使用的起始时刻和结束时刻、车辆使用时的移动距离等。以车辆是共享自行车为例,历史车辆使用记录可以是车辆调度区域中产生的历史订单。例如,预设的统计时段是最近1天,车辆调度区域是a市,历史车辆使用记录是最近1天内产生的骑行订单,每个骑行订单中包括骑行起点、骑行终点、骑行开始时刻、骑行结束时刻、骑行距离等。

根据历史车辆使用记录,可以获取在预设的统计时段内车辆调度区域中每辆车辆每次被使用时的起始地点,构建得到使用起点集合。每个起始地点具有唯一的位置数据。该位置数据是地理位置数据,可以是经纬度信息,或者是预设的地理坐标系下的地理坐标值。

使用起始地点集合中包括预设的统计时段内车辆调度区域的车辆被使用时的全部的起始地点,获取使用起始地点集合后结合后续步骤,可以实现结合车辆的实际使用状态,精准确定候选调入子区域,以供用户从候选调入子区域从中选取目标调入子区域实施车辆调入,降低对车辆调入点的误判概率,提升车辆调度效率。

步骤s2200,根据使用起始地点集合,获取多个起始地点簇。

每个起始地点簇中是包括多个起始地点。起始地点簇中包括的每个起始地点都是从使用起始地点集合中获取。

根据使用起始地点集合获取多个起始地点簇,可以将预设的统计时段内车辆调度区域的车辆被使用时的全部的起始地点划分为多个起始起点簇(例如,如图3所示),实现对车辆的实际使用的起始地点的分类,以便结合后续步骤分别根据每个起始地点簇确定对应的候选调入子区域,可以实现结合车辆的实际使用状态,精准确定候选调入子区域,以供用户从候选调入子区域从中选取目标调入子区域实施车辆调入,降低对车辆调入点的误判概率,提升车辆调度效率。

在一个例子中,步骤s2200可以包括:

根据使用起始地点集合中包括的每个起始地点的位置数据,对使用起始地点集合进行划分,得到多个起始地点簇。

在本例中,划分后得到的每个起始地点簇中包括至少一个作为核心地点的起始地点以及在核心地点预设的相邻距离范围内的其他起始地点。核心地点是在预设的相邻距离范围的其他起始地点的数目大于预设的密度阈值。换言之,每个起始地点簇中包括的起始地点,是符合上述核心地点定义、能作为核心地点的一个或多个起始地点,以及在该起始地点簇中的每个核心地点的预设的相邻距离范围内的其他起始地点。

预设的相邻距离范围可以根据具体的应用场景或者应用需求设置,例如,预设的相邻距离范围是以起始地点为中心的预设半径的圆圈范围,该预设半径可以根据具体的应用需求,设置为10米。预设的密度阈值可以根据具体的应用场景或者应用需求设置,例如,预设的密度阈值可以设置为5。比如,核心地点就是在周围半径10米内的其他起始地点的数目大于的5个的起始地点。

每个起始地点簇中包括至少一个作为核心地点的起始地点以及与核心地点的距离在相邻的距离范围内的其他起始地点,使得每个起始地点簇对应的地理区域中作为车辆实际发生使用的起始地点的地域分布密度较高,对应的是车辆使用频发的地域,对应提高根据起始地点簇确定的候选调度子区域的精准度。在本例中,对使用起始地点集合进行划分,得到多个起始地点簇的步骤可以包括:步骤s2210-s2220。

步骤s2210,从使用起始地点集合中,选取任意一个符合预设的建簇条件的起始地点作为开簇点创建一个起始地点簇,并将在使用起始地点集合中符合预设的加簇条件的其他起始地点划分到该起始地点簇中,完成一个起始地点簇的划分。

建簇条件是用于判断起始地点是否能作为开簇点创建一个起始地点簇的条件。

在本例中,建簇条件是在起始地点的预设的相邻距离范围内的其他起始地点的数目大于预设的密度阈值,并且该起始地点不属于任意一个起始地点簇。符合建簇条件的开簇点是符合上述核心地点的定义能作为核心地点、并且不属于任意一个起始地点簇的起始地点。

例如,预设的相邻距离范围内是半径10米的圆圈,预设的密度阈值设置为5,对于使用起始地点集中的一个起始地点p,当p的半径10米内的其他起始地点的数目大于5、并且该起始地点p不属于任意一个起始地点时,该起始地点p可以作为开簇点创建一个起始地点簇c。

加簇条件是用于判断开簇点的预设的相邻距离范围内的其他起始地点是否应被划分入一个起始地点簇的条件。

在本例中,加簇条件是起始地点在开簇点的预设的相邻距离范围内并且起始地点不属于任意一个所述起始地点簇,或者,起始地点与在开簇点的预设的相邻距离范围内的目标起始地点的距离在预设的相邻距离范围内,目标起始地点在开簇点的预设的相邻距离范围内并且目标起始地点的相邻距离范围的其他起始地点的数目大于预设的密度阈值。

例如,在上例中,基于开簇点p创建了一个起始地点簇c,p的相邻半径10米的范围包括的起始地点p1、p2、p3、p4、p5、p6均不属于其他的起始地点簇,符合加簇条件,被划分到起始地点簇c中;如果p1的相邻半径10米范围的其他起始地点的数目大于5,属于核心地点,则p1的相邻半径10米的范围包括的起始地点p11、p12、p13、p14、p15、p16均不属于其他的起始地点簇,符合加簇条件,被划分到起始地点簇c中;如果p2的相邻半径10米范围的其他起始地点的数目小于5,则p2的相邻半径10米的范围包括的起始地点不符合加簇条件,不会被划分到起始地点簇c中,以此类推,直至将起始地点簇c中所有核心地点的的相邻半径10米的范围包括的、不属于其他起始地点簇的起始地点全都划分到起始地点簇c中,完成对起始地点簇c的划分。

步骤s2220,重复执行起始地点簇的划分步骤s2210,直至使用起始地点集合中包括的所有起始地点被划分到多个不同的起始地点簇中。

基于上例,在划分起始地点簇c后,对于起始地点簇c之外的使用起始地点集合中包括的起始地点重复执行起始地点簇的划分,得到起始地点簇d、e、f……等,每个起始地点簇中包括的起始地点都不属于其他的起始地点簇,使用起始地点集合中包括的所有起始地点被划分到多个不同的起始地点簇中,例如,如图3所示。

在实际应用中,步骤s2200中划分的起始地点簇中可能包括较多的起始地点,对应的地域面积较大,会降低车辆调入的精度,影响车辆调入的效率。针对这种情况,在本实施例中,在步骤s2200之后,在实施后续的步骤s2300之前,还包括:步骤s2201-s2202。

步骤s2201,获取每个起始地点簇的地域面积。

对于每个起始地点簇,根据该起始地点簇中包括的所有起始地点的位置数据,选取该起始地点簇的地域边界点,例如,位置数据中包括纵向坐标值以及横向坐标值,可以分别选取纵向坐标值最大、最小以及横向坐标值最大、最小的四个点作为地域边界点;根据起始地点簇的地域边界点可以计算地域面积,例如,地域边界点是纵向坐标值最大、最小以及横向坐标值最大、最小的四个点,可以以这四个点作为四个顶点进行连线得到四边形后,计算四边形的形状得到该起始地点簇的地域面积。

步骤s2202,对地域面积大于预设的面积阈值的起始地点簇进行划分,得到符合分类数目的起始地点类,作为新的起始地点簇。

预设的面积阈值是起始地点簇的地域面积会影响车辆调入的精度的阈值,可以根据具体的应用场景或者应用需求设置,例如,设置为5000平方米。

分类数目根据起始地点簇的地域面积以及预设的面积阈值设置,例如,分类数目为起始地点簇的地域面积除以预设的面积阈值后的上取整值,以起始地点簇的地域面积为6000平方米,预设的面积阈值为5000平方米举例,可以得到设置的分类数目为2。

对地域面积大于预设的面积阈值的起始地点簇继续进行划分,将划分后的每个起始地点类作为新的起始地点簇,实现对较大地域面积的起始地点簇的精细划分,例如,如图4所示,假设对于图3中所示的起始地点簇c大于预设的地域面积阈值,对于起始地点簇中进行划分可以得到起始地点类c1、c2、c3以及c4,作为新的起始地点簇。将对较大地域面积的起始地点簇的精细划分,得到每个起始地点类作为新的起始地点簇,使得起始地点簇的地域面积不会影响降低车辆调入的精度,保障车辆调入效率。

在本例中,每个起始地点类具有一个类中心点。每个起始地点类中的任意一个起始地点与所在的起始地点类的类中心点之间的距离,小于与其他任意一个起始地点类的类中心点的距离。

具体地,步骤s2202可以包括步骤s22021-s22024。

步骤s22021,在起始地点簇中随机选择符合分类数目的起始地点,以所选择的起始地点作为每个起始地点类的初始的类中心点。

例如,分类数目为n_clusters,可以在起始地点簇c中随机选择n_clusters个起始地点p0、p1、……、pn(n=n_clusters-1),其中,每个起始地点作为一个起始地点类的初始的类中心点。

步骤s22022,分别对起始地点簇中的每个所述起始地点,获取起始地点到每个起始地点类的类中心点的距离,将起始地点划分到与类中心点距离最短的起始地点类中,并获取该起始地点类的全部起始地点的位置数据的均值作为新的类中心点。

例如,对于起始地点簇c中,在起始地点p0、p1、……、pn(n=n_clusters-1)之外的一个起始地点pi,根据pi的位置数据以及起始地点p0、p1、……、pn(n=n_clusters-1)的位置数据,分别计算起始地点pi到起始地点p0、p1、……、pn(n=n_clusters-1)的距离,假设起始地点pi到p2的距离最短,将pi加入p2所在的起始地点类,以此类推,直至将起始地点簇c中的所有起始地点都划分到起始地点类中。

步骤s22023,对每个起始地点类,获取起始地点类中包括全部起始地点的位置数据的均值,得到与位置数据的均值对应的起始地点类的新的类中心点。

例如,一个其实地点类中包括n个起始地点,对于这n个起始地点的位置数据求和后除以n得到的均值,该均值作为位置数据对应的地点就是该起始地点类的新的类中心点。

步骤s22024,重复执行将起始地点加入起始地点类的步骤s22022、获取起始地点类的新的类中心点的步骤s22023,直至执行次数大于预设的次数阈值后结束,得到符合分类数目的起始地点类。

预设的次数阈值可以根据预设的应用场景或者应用需求设置,例如,设置为10次。

在本例中,起始地点簇划分后的每个起始地点类中包括的是与自身的类中心点距离最短的所有起始地点,使得以每个起始地点类作为的新的一个起始地点簇中包括的起始地点的地域分布密度较高,在有效缩减起始地点簇的地域面积避免影响车辆调入的精度的同时,保证每个起始地点簇对应的车辆使用频发的地域,保障车辆调入的准确度。

在获取多个起始地点簇,进入:

步骤s2300,分别根据每个起始地点簇,确定与每个起始地点簇对应的一个候选调入子区域,以供用户从多个候选调入子区域中选取实施车辆调入的目标调入子区域。

在本实施例中,每个起始地点簇中包括实际发生车辆使用的起始地点,根据每个起始地点簇确定一个候选调入区域,可以得到多个候选调入子区域选取实施车辆调入的目标调入子区域,实现结合车辆的实际使用状态,精准确定候选调入子区域,使得用户从候选调入子区域从中选取目标调入子区域实施车辆调入,可以降低对车辆调入点的误判概率,提升车辆调度效率。

在一个例子中,步骤s2300中分别根据每个起始地点簇,确定与每个起始地点簇对应的一个候选调入子区域的步骤包括:步骤s2310-s2340。

步骤s2310,从起始地点簇中选取一个起始地点作为边界点。

边界点是用于确定起始地点簇对应的候选调入子区域的区域边界的起始地点。

在本例中,起始地点簇中的每个起始地点的位置数据包括纵向坐标值以及横向坐标值,从起始地点簇中作为边界点的起始地点可以是起始地点簇中纵向坐标值最小或最大的起始地点,或者,从起始地点簇中作为边界点的起始地点可以是起始地点簇中横向坐标值最小或最大的起始地点,具体的选择可以根据具体的应用场景或者应用需求进行。

步骤s2320,以边界点为起点,选取起始地点簇中边界点之外的任意一个其他起始地点为终点,组成一个连线向量,以此获取多个连线向量,根据多个连线向量确定下一个边界点。

在本例中,当在起始地点簇中选取作为边界点的起始地点,是起始地点簇中纵向坐标值最小或最大的起始地点时,根据多个连线向量确定的边界点,是与连线向量对应的连线与横向参考线的夹角最小的连线向量中的作为终点的起始地点,或者,根据多个连线向量确定的边界点,是与已确定的边界点构成的连线向量的向量夹角最小的连线向量中的作为终点的起始地点。

例如,如图5所示,假设横向参考线为水平线,假设从起始地点簇c中选取纵坐标最小的起始地点p0作为边界点开始,以p0为起点,分别与起始地点簇c中的起始地点p0之外的每一个起始地点组成连线向量,获取每个连线向量与水平线的夹角α,假设夹角α最小的连线向量中终点为p1,可以将p1确定为下一个边界点。

在将p1确定为下一个边界点之后,以p1为起点,分别与起始地点簇c中的起始地点p0、p1之外的每一个起始地点组成的连线向量,对每个组成的连线向量,获取该连线向量与起始地点p0、p1组成的连线向量之间的向量夹角β,假设向量夹角β最小的连线向量中终点为p2,可以将p2确定为下一个边界点。

在本例中,当在起始地点簇中选取作为边界点的起始地点,是起始地点簇中横向坐标值最小或最大的起始地点时,根据多个连线向量确定的边界点,是与连线向量对应的连线与纵向参考线的夹角最小的连线向量中的作为终点的起始地点,或者,根据多个连线向量确定的边界点,是与已确定的边界点构成的连线向量的向量夹角最小的连线向量中的作为终点的起始地点。步骤2320的实施与上述图5所示的例子类似,在此不再重复举例。

步骤s2330,当确定下一个边界点后,以下一个所述边界点为起点,重复执行步骤s2320中获取多个连线向量、根据连线向量确定下一个边界点的步骤,直至从起始地点簇中获取所有边界点。

在本例中,当确定下一个边界点后,当一个边界点与此前已获取的边界点重复时,可以确定已经从起始地点簇中获取所有边界点。

例如,以图5为例,在确定边界点p2后,以p2为起点,分别与起始地点簇c中的起始地点p0、p1、p2之外的每一个起始地点组成的连线向量,对每个组成的连线向量,获取该连线向量与起始地点p1、p2组成的连线向量之间的向量夹角β,假设向量夹角β最小的连线向量中终点为p3,可以将p3确定为下一个边界点,以此重复,当确定的下一个边界点为p0时,可以确定已经从起始地点簇中获取所有边界点。

步骤s23340,根据起始地点簇中获取所有的边界点,确定与起始地点簇对应的候选调入子区域。

将起始地点簇中获取的所有的边界点进行两两连线,得到的多边形区域就是对应的候选调入子区域。例如,如图3所示起始地点簇中,最终确定的多个候选调入子区域如图6所示。

<服务器>

在本实施例中,还提供一种服务器200,用于实施车辆调度,如图7所示,包括:

存储器210,用于存储可执行的指令;

处理器220,用于根据指令的控制运行服务器200执行本实施例中提供的任意一项所述的车辆调度方法。

在本实施例中,服务器200可以具体各种实体形式。例如,服务器200可以是云端服务器。服务器200还可以是如图1所示的服务器1000。

本领域技术人员应当明白,可以通过各种方式来实现服务器200。例如,可以通过指令配置处理器来实现服务器200。例如,可以将指令存储在rom中,并且当启动设备时,将指令从rom读取到可编程器件中来实现服务器200。例如,可以将服务器200固化到专用器件(例如asic)中。可以将服务器200分成相互独立的单元,或者可以将它们合并在一起实现。服务器200可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

以上已经结合附图说明了本实施例提供的车辆调度方法及服务器,根据本实施例,通过服务器根据在预设的统计时段内车辆调度区域的历史车辆使用记录获取使用起始地点集合,根据使用起始地点集合获取多个起始地点簇,每个起始地点簇中包括实际发生车辆使用的起始地点,根据每个起始地点簇确定一个候选调入区域,可以得到多个候选调入子区域选取实施车辆调入的目标调入子区域,实现结合车辆的实际使用状态,精准确定候选调入子区域,使得用户从候选调入子区域从中选取目标调入子区域实施车辆调入,可以降低对车辆调入点的误判概率,提升车辆调度效率。

<第二实施例>

在本实施例中,还提供一种车辆系统500,如图8所示,包括:

第一实施例中提供的服务器200;

客户端300;

以及车辆400。

客户端300可以是手机、平板电脑、掌上电脑、笔记本电脑等。在一个例子中,客户端300可以是对车辆400实施管理操作的移动终端,例如,安装有支持运营、管理车辆的应用程序(app)的手机。

车辆400是任何可以分时或分地出让使用权供不同用户共享使用的车辆,例如,用于共享的共享自行车、共享助力车、共享电动车、共享车等等。车辆400可以是自行车、三轮车、电动助力车、摩托车以及四轮乘用车等各种形态。例如,可以是如图1所示的车辆3000。

在本实施例的车辆系统500中,服务器200可以与车辆调度区域中的每辆车辆400以及用户使用的客户端300分别进行通信交互,务器200在预设的统计时段内从每辆车辆400获取(通过车辆400上报或者向车辆400主动查询等方式)每次被使用时的起始地点的位置数据,以此获取使用起始地点集合;服务器200根据第一实施例中提供的任意一项车辆调度方法获取的使用起始地点集合,获取多个起始地点簇,再分别根据每个起始地点簇,确定与每个起始地点簇对应的一个候选调入子区域,将多个候选调入子区域通过客户端200指示给用户,供用户从多个所述候选调入子区域中选取实施车辆调入的目标调入子区域。实现结合车辆的实际使用状态,精准确定候选调入子区域,使得用户从候选调入子区域从中选取目标调入子区域实施车辆调入,可以降低对车辆调入点的误判概率,提升车辆调度效率。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1