CN104050512A - 基于多粒度地图的运输时间估计 - Google Patents
基于多粒度地图的运输时间估计 Download PDFInfo
- Publication number
- CN104050512A CN104050512A CN201310084393.4A CN201310084393A CN104050512A CN 104050512 A CN104050512 A CN 104050512A CN 201310084393 A CN201310084393 A CN 201310084393A CN 104050512 A CN104050512 A CN 104050512A
- Authority
- CN
- China
- Prior art keywords
- route segment
- haulage
- route
- index
- prediction
- 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.)
- Pending
Links
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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0838—Historical data
Abstract
提供了基于多粒度地图的运输时间估计。索引引擎可以接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径,而且索引引擎可以基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别,然后,索引引擎可以基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。然后,索引引擎可以接收新的运输路线的查询,并且使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。
Description
技术领域
本说明书涉及运输时间估计。
背景技术
电子商务的一个重要方面是物体(item)在不同位置间的运输。例如,企业可以把将被装配成用于销售的最终产品的部件从一个位置运输到另一个位置。同样,企业可以在供应链的不同部分之间运输用于销售的货物,例如从工厂到仓库。在其他例子中,企业可能希望将用于销售的货物交付给其消费者。
在这些和其他运输场景中,通常很重要的是确保及时收到运输的货物。例如,企业可以提供这样的时效保证作为与消费者或商业合作伙伴进行交易的一部分。在其他场景中,给定的运输可以是多支路(leg)供应链中的单一支路,从而它们的中断或延迟导致遍及供应链的其余部分中的一些或所有的连锁反应(ripple effect)。
因此,未能以及时、承诺和/或预期的方式运输货物可能具有许多潜在的负面后果中的一个或多个。例如,企业可能面临直接利润损失,诸如在提供退款作为时效保证的一部分的情况下。此外,企业可能面临效率下降以及声誉损失。
发明内容
根据一个总的方面,系统可以包括记录在计算机可读存储介质上并且可由至少一个处理器执行的指令。该系统可以包括索引引擎,其被配置为使所述至少一个处理器接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径,所述索引引擎包括段管理器,其被配置为基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别。索引引擎还可以被配置为使所述至少一个处理器基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。
实施可以包括以下特征中的一个或多个。例如,运输路径可以对应于区域内的运输事件并且相对于地图进行描述,而且所述粒度级别是相对于所述地图定义的。
粒度级别可以对应于相对于所述地图定义的分层布置的网格元素,其中与相对更低、更细的粒度级别相对应的网格元素对应于更短的距离,而且被包含在与相对更高、更粗的粒度级别相对应的网格元素中。相关联的条件可以相对于在沿着所述运输路径的相应运输事件期间存在什么和/或发生什么来表征所述运输路径中的相应的运输路径。
已编制索引的路径段可以被存储在路径段索引内,所述路径段索引能够相对于每个路径段的位置、粒度级别和相关联的条件进行搜索。索引引擎可以包括参数提取器,其被配置为分析所述历史路径数据并相对于每个路径段和相关联的条件来确定用于预测相应路径段的未来运输时间的参数。
系统可以包括查询处理器,其被配置为使所述至少一个处理器接收新的运输路线的查询,并使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。查询可以通过包括相对于地图定义的、用于定义所述路径段的至少开始位置和结束位置来指定所述新的运输路线。
查询处理器可以根据所选择的已编制索引的路径段来迭代地定义所述新的运输路线,包括使用相对更低、更细的粒度级别的路径段的迭代,以及发展到使用相对更高、更粗的粒度级别的路径段的后面的迭代,直到完成所述新的运输路线。可以使用来自所述已编制索引的路径段的匹配路径段,开始于最低粒度级别并且发展到更高粒度级别来构建所述新的运输路线,而且,查询处理器可以确定所述预测的运输时间,所述确定包括确定对于每个匹配的路径段的个别的已预测的运输时间,然后汇集所述个别的已预测的运输时间以便获得所述预测的运输时间。
根据另一总的方面,用于执行存储在计算机可读存储介质上的指令的计算机实施的方法可以包括:接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径;基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别;以及基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。
实施可以包括以下特征中的一个或多个。例如,方法可以包括接收新的运输路线的查询;以及使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。
查询可以通过包括相对于地图定义的、用于定义所述路径段的至少开始位置和结束位置来指定所述新的运输路线。附加地或者可替换地,确定所述预测的运输时间可以包括根据所选择的已编制索引的路径段来迭代地定义所述新的运输路线,包括执行使用相对更低、更细的粒度级别的路径段的迭代,以及发展到使用相对更高、更粗的粒度级别的路径段的后面的迭代,直到完成所述新的运输路线。可以使用来自所述已编制索引的路径段的匹配路径段,开始于最低粒度级别并且发展到更高粒度级别来构建所述新的运输路线,而且,所述预测的运输时间可以通过确定对于每个匹配的路径段的个别的已预测的运输时间、然后汇集所述个别的已预测的运输时间以便获得所述预测的运输时间来确定。
根据另一总的方面,有形地具体实施在计算机可读存储介质上的计算机程序产品可以包括指令,当该指令被运行时,被配置为:接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径;基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别;以及基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。
实施可以包括以下特征中的一个或多个。例如,粒度级别可以对应于相对于所述地图定义的分层布置的网格元素,其中与相对更低、更细的粒度级别相对应的网格元素对应于更短的距离,而且被包含在与相对更高、更粗的粒度级别相对应的网格元素中。
当该指令被运行时还可以被配置为:接收新的运输路线的查询;以及使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。
当该指令被运行时还可以被配置为:确定预测的运输时间,包括根据所选择的已编制索引的路径段来迭代地定义所述新的运输路线,包括执行使用相对更低、更细的粒度级别的路径段的迭代,以及发展到使用相对更高、更粗的粒度级别的路径段的后面的迭代,直到完成所述新的运输路线。可以使用来自所述已编制索引的路径段的匹配路径段,开始于最低粒度级别并且发展到更高粒度级别来构建所述新的运输路线,而且,所述预测的运输时间可以通过确定对于每个匹配的路径段的个别的预测的运输时间、然后汇集所述个别的预测的运输时间以便获得所述预测的运输时间来确定。
在附图和下面的描述中阐述一个或多个实施的细节。其它特征从描述、附图和从权利要求将是显而易见的。
附图说明
图1是基于多粒度(multi-granular)地图的运输时间估计的系统的框图。
图2是图1的系统中利用的地图。
图3是示出图1的系统的示例操作的流程图。
图4A和图4B是用于图1的系统中的数据结构的例子。
图5是图1的系统的更详细的示例实施的框图。
图6是示出图1和图5的系统的示例操作的流程图。
图7是示出图1和图5的系统的附加示例操作的流程图。
具体实施方式
图1是基于多粒度地图的运输时间估计的系统100的框图。在图1的例子中,如下面详细描述的,运输路径数据101描述许多不同的运输路径和相关联的运输事件和条件,并且可以被用于确定不同粒度级别的运输路径段,其中运输路径段被编制索引以用于存储和稍后的访问。随后,系统100可以使用不同粒度级别的运输路径段来构建新的、请求的运输路径,并从而提供新的、请求的运输路径所需的可靠的运输时间的估计。
在图1中,假定为了本说明,一个或多个业务是处于不断地执行各种运输事件的过程中,如上面所提到的。然而,可以理解,提供这样的例子仅仅是为了解释和说明,而不是旨在对于可与这样的运输事件关联的各个实体和物品进行限制,也不是对于运输事件本身的特性进行限制。
例如,除了企业,可以理解的是,这样的运输事件可以由其他各种实体执行,诸如,例如学校、政府部门或慈善机构和其他非营利性实体,以及民间团体或个人。因此,可以进一步理解的是,将被运输的货物可以包括可以从第一位置被重定位到第二位置的几乎任何东西,包括但不限于,用于销售的物品,将被组装、制造或存储为供应链的一部分的物品,需要物理交付而不是电子交付的信函或其他信息,和/或可以从一个位置移动到另一位置的任何其他物品。
此外,同样,相对于机动车辆(例如,汽车或卡车)的模式的运输提供下面的例子。然而,再有,这样的例子并不旨在进行限制。相反,将理解的是,图1的系统也可以考虑任何适当的运输方式。例如,这样的运输模式可以包括通过自行车、步行、飞机或火车的运输。另外,如从下面的描述可以理解的,各种运输方式可以被包含以作为由系统100提供的运输时间估计中的因素。例如,在密集的城市环境中,在可能的情况下,通过自行车而不是汽车提供交付可能是或可能不是优选的。
因此,可以使用各种技术中的一个或多个并且以各种形式和格式接收路径数据101。例如,在物品的当前运输中,参与运输的人(例如,车辆的驾驶人)可以负责发送与运输事件相关联的数据。在附加的或可替换的实施例中,车辆可以配备有用于发送与当前运输事件相关联的相关数据的技术。在另外的其他例子中,外部设备可以用于在运输过程中跟踪物品,诸如,例如全球定位系统(GPS)、使用无线运输塔的三角测量和其它已知的位置跟踪技术。当然,这些和其他跟踪技术的组合也可以以任何期望的方式被使用。
一般而言,路径数据101可以包括表征相关联的运输事件的几乎任何信息。例如,路径数据101可以包括运输事件的开始和结束时间,以及与其相关联的各种条件(condition)。这些条件可以包括,例如,天气信息、人员信息(例如,驾驶员或其他雇员)、交通条件、正在运输的物品的性质或特性、或用于运输的车辆的性质或特性、或在时间上与运输事件重叠的任何事件或事故的性质或特性。
有关每个这样的条件或特性的不同级别的信息也可以被包括在内。例如,除了精确的开始/结束时间,路径数据101还可以包括有关运输事件是否发生在周末或工作日或一周中的任何特定日期的信息。此外,路径数据101可以包括这样的信息的更高级别的特性或类别,诸如,例如运输事件是否发生在被划分为上午、下午、傍晚或夜间的时间,或者天气条件是否落入良好/中性/不利的类别。
当然,路径数据101也可以指定与运输事件相关联的相关位置信息。例如,路径数据101可以包括随后作为运输事件的一部分的、表征运输路径的坐标。例如,路径数据101可以包括用于运输路径的开始位置和结束位置的基于GPS的坐标,以及用于沿着运输路径本身的中间点的类似坐标。当然,如本文提到的,各种公知的技术可以被用于在这方面对运输路径进行分类。
另外,路径数据101中的一些或全部可以被存储在历史路径数据库102中。特别是,如本文详细解释的,历史路径数据102可以以被设计成适合与索引引擎104进行交互的方式被存储、格式化和访问。例如,接收到的路径数据101可以进行过滤以除去索引引擎104不需要的或不希望的部分。另外,路径数据101可以被补充或修改以便包含为随后与索引引擎104进行交互指定的一定类型、内容和/或形式的数据。
特别是,例如,运输路径或其部分可以被分类为关联于与运输路径相关联的多个粒度级别中的特定级别。例如,特定的运输路径或其一部分可以与相对短的距离相关联,有关相对短的距离,相对大量的信息可以是已知的而且被指定在路径数据101的对应部分内。例如,短的地理距离可以与非常精确的位置坐标相关联,和/或可以与关于有关运输条件(例如,交通条件)的非常详细的信息相关联。与这种相对细的粒度级别相反,其他运输路径(或其部分)可以与相对粗的细节级别相关联,并且可能更长和/或可能具有与其相关联的不太精确的位置坐标。
因此,索引引擎104可以被配置为将路径数据101管理并存储为历史路径数据102。例如,从上面的讨论可以理解,索引引擎104可以将路径数据101中的一些或所有存储在历史路径数据102内,包括与已存储的位置信息的相对粒度级别有关的信息。
一般来说,然后,索引引擎104可以被配置为利用历史路径数据102来构建路径段索引106。更具体地,如本文中详细描述的,索引引擎104可以使用历史路径数据102标识不同粒度级别的、而且与从历史路径数据102导出的各种类型和数量的关联信息相关联的许多不同的离散的路径段。在这方面,使用路径段索引106存储并编制索引的路径段可以被理解为代表可以从路径数据101导出的几乎任何地理路径。
当然,这样的路径段可以包括来自路径数据101的实际运输路径。附加地,或可替代地,如在下面详细描述的,特定路径段可以从路径数据101中导出,而不需要本身精确地对应于在路径数据101的收集过程中实际行进的的特定路径101。例如,到两个分离位置的两个分离交付(delivery)可以重叠,而且重叠部分可以由索引引擎104提取并存储为路径段索引106内的路径段。在其他例子中,两个分离的交付路径可能相邻(adjoin)但不重叠,而且单一路径段可以利用两个交付路径的两个相邻部分进行构建。
换言之,相对于路径段索引106引用的路径段不需要一一对应地标识实际端到端的交付、或者历史上已经发生而且被接收和存储在历史路径数据102中的其他运输路径。相反,路径段可以参考两个或更多个这样的历史运行路径中的重叠和/或相邻的部分,其中,如本文所述,索引引擎104选择这样的、对于预测与其相关联的未来的运输时间特别有用的路径段。在特定例子中,路径段可以对应于用于定义原始路径数据101的地图的预先指定的网格元素,或者在用于定义原始路径数据101的地图的预先指定的网格元素方面被定义。
然后,在操作中,查询处理器108可以被配置为接收请求所需的运输路线的查询110,并且作为响应提供与其相关联的预测的、估计的运输时间。例如,用户可能想知道将包裹或其他物品从第一位置运输到第二位置大约需要多长时间。因此,查询处理器108可以继续(proceed)咨询路径段索引106,从而逐段地构建由查询110指定的运输路线。
具体而言,如本文所述,查询处理器108最初可以试图仅使用来自路径段106内的最细(fine)的或最详细的粒度级别的路径段来构建所请求的运输路线。如可以理解的,并且如在下面详细描述的,这样的路径段也可以与用于行进的、最准确的预测运输时间相关联。然而,这样的路径段也可以不可用于所请求的运输路线的整体。在这种情况下,查询处理器108可以继续试图使用对于使用路径段索引106已标识的路径段的下一个最高粒度级别来建立所请求的运输路线的其余部分。查询处理器108可以以这种方式继续进行直到所请求的运输路线的整体被构建,而且其后可以汇集已构建的运输路线的每个路径段的预测的运输时间,从而获得用于运输路线的总的预测的运输时间。
相对于地图112提供索引引擎104的进一步的示例性操作。例如,地图112可以代表城市、城镇或其他位置的地图。当然,地图112代表地图的高度简化的例子,其没有按任何特定的比例绘制,并且其目的只是为了说明和举例。
如图所示,在地图112的例子中,位置114A、114B代表具体位置点。例如,位置114A、114B可以代表个别建筑物或其他街道地址。
同时,位置116A、116B、116C代表以更高粒度级别(即,比更低粒度级别的位置114A、114B更粗的粒度级别)描绘的位置。同样,位置118A、118B和118C代表以更高粒度级别(即,比更低粒度级别的位置116A-116C更粗的粒度级别)代表的位置。
如从上面的描述可以理解,刚才所描述的地图112的不同位置可以以嵌套的方式表示或表征,因此,较低的、更细的粒度级别的位置被包含在一个或多个相对更高更粗的粒度的父级别内。在这样的场景中,在其他的示例性实现方式中,地图112可以被划分为规则的、网格状的位置。在其他的示例性实现方式中,地图112可以以非重叠的方式代表不同粒度级别的位置,和/或可以被划分为一个或多个不同类型或形状的网格。
因此,路径数据101可以相对于地图112生成、发送和存储,即,可以在与地图112相关联的位置方面表示。例如,如所描述的,许多不同的交付或其他运输事件可以发生在由地图112表示的城市内。例如,可能出现的是,大量这样的交付出现在位置116A、116B之间,和/或在位置114A、114B之间,从而在位置118A、118B之间。虽然为了简化图1的例子而未示出,但是可以理解,所有这样的交付可以以图形方式表示在地图112内,而且在刚刚提及的其各个位置的界限内。同时,可能发生的是,相对较少的这样的交付发生的位置116C、118C内。同样,这样的交付可以,但没有,以图形方式表示在位置116C、118C内。
由于大量交付发生在位置118A、118B内的事实,可能出现的是,显著的一组这样的交付具有部分地或完全地遍历位置114A、114B之间的路线的运输路径。也就是说,如上所述,路径数据101之内记录的大量的这样的路径可以至少部分地发生在位置114A、114B之间,从而索引引擎104可以利用将在路径段索引106内编制索引的路径段120。由于路径段120包括来自路径数据101内的、大量的路径的重叠或相邻部分中的部分或全部,而且由于位置114A、114B之间的距离可以相对较小,因此索引引擎104可以以相对细的粒度级别存储路径段120。也就是说,路径段120可以与大量的详细条件或者在预测当遍历位置114A到位置114B的距离的时候可能经历的、未来的运输时间时可能有用的其他数据相关联。
同时,位置118C内交付事件的相对稀少的性质可能不允许以这样相对细的粒度级别详细表征路径段。替代地,路径段122可以与路径段120相比相对较粗地定义,而且可以更长和/或相对于估计跨越位置118C的运输时间具有较少的预测值(predictive value)。
因此,相对于地图112,可以理解的是路径数据101以及因此的历史路径数据102可以代表和/或表征在由地图112所表示的地理区域内已经发生的许多不同的运输路径和关联的运输事件。如以上所提到的,索引引擎104可以被配置为分析所得到的历史路径数据102、标识/定义个别的(individual)路径段并对个别的路径段编制索引,以用于存储在路径段索引106内。
更具体地,索引引擎104可以包括段管理器124,其可以被配置为分析与单独的运输路径相关联的路径数据的类型和程度,以及运输路径或其部分中的任何两个或更多个之间的重叠的性质和程度。
例如,如以上所提到的,段管理器124可以将路径段120标识为包括在大量的运输路径内,并与相应的大量的运输条件相对应,其中所述运输条件与每个这样的运输路径相对应。换句话说,在很宽范围的时间、日期、星期几、交通场景、天气事件、驾驶员和其他人员、以及许多其他潜在相关的运输条件下,路径段120可以出现在这样的多个运输路径内。
因此,段管理器124可以标识在与地图112相关联的最低的、最细的和最详细的粒度级别发生的路径段120。一般来说,处于这个粒度级别的这样的路径段与处于更高、更不详细、更粗粒度级别的路径段相比可以相对较短(即,对应于地图112上的较短距离)。然而,在一些示例性实现方式中,有可能的是或者可以期望的是,在给定的粒度级别允许不同的长度/距离。例如,在给定的粒度级别两个路径段可以彼此相邻,并且出于某些目的在该粒度级别可以被认为是单一路径段。
同样,段管理器124可以标识在更高、更粗、不那么详细的粒度级别发生的路径段122。因此,类似于路径段120,路径段122通常可以比路径段120更长,即,代表更长的距离。例如,在地图112被划分为诸如位置网格118A、118B、118C的规则的网格结构的示例性实现方式中,段管理器124可以自动地或或者默认地将路径段122的长度关联为对应于相应位置网格元素(例如,位置网格元素118C)的宽度。
因此,段管理器124可以使用初始的一组历史路径数据102来确定相应的初始的一组路径段。随着时间的推移,当新的路径数据101被接收时,段管理器124可以相应地更新对应的路径段。例如,对于地图112内的特定路线或距离,历史路径数据102最初可以包含仅仅足够用于单一的高级别路径段的信息。然而,当更多路径数据101被接收时,段管理器124可能能够将更大数量和/或程度的相关条件与路径段的部分相关联,并由此可以标识由此较短、更详细的路径段。相反,随着时间的推移可以发生的是,段管理器124确定更少或更不可靠的信息与特定路径段相关联。例如,随着时间的推移,已存储的交通条件可以变得废弃或过时,或者可以接收与现有数据冲突的新的数据。在这样的情况下,段管理器124可以被配置为相应地将一个或多个路径段的粒度级别从更低/更细的级别调整到更高/更粗的粒度级别。
如以上所提到的,存储这样的路径段并对其编制索引的主要目的是预测未来的运输事件的运输时间或其他相关因素。在这方面,可以理解的是,历史路径数据102中的一些可以具有比历史路径数据102中的其他部分更多的预测值。例如,沿着主要用于早上上班交通的道路发生的运输事件对于在这些时间期间且沿有关路线发生的运输事件而言,一般被高度预测为更慢的运输时间。另一方面,历史路径数据102中的一些可以具有更少或更不可靠的预测值。例如,当估计在星期二或星期三发送的运输事件的未来的运输时间时,在其它条件都相同的情况下,与星期三相比发生在星期二的特定运输事件的信息可能不是特别有价值的或无法预测。此外,历史路径数据102中的一些可能与某些类型的运输事件特别相关,而与其他类型的运输事件无关。例如,交通条件可能与涉及使用汽车交付的运输事件相关,但可能与对使用自行车交付的运输事件基本不那么有预测性(predictive)。
为了考虑这些和相关的问题,许多公知的预测模型或算法中的一个或多个可以被构建以供与由段管理器124确定的路径段一起使用。下面更详细地提到一些这样的模型/算法,但在一般情况下,这样的模型/算法通过分析历史数据的操作来试图找到与所期望的(或不期望的)成果或结果高度相关的信息。一旦这样的因素被标识,则所标识的因素的子集可以与相应的权重相关联,以便如以上所提到的,反映这样的因素与不同的运输交通场景相比,在特定的运输场景中可以具有更多或更少的重要性。
因此,索引引擎104的参数提取器126可以被配置为结合从历史路径数据102的相应部分得到的有关交通条件和其他数据分析由段管理器124构建的路径段。然后,索引引擎104可以将所产生的参数连同相应的路径段和相关的交通条件存储在路径段索引106内。
更具体地,索引引擎104可以被配置为以使路径段索引106非常容易地由查询处理器108搜索这样的方式构建路径段索引106。也就是说,例如,查询处理器108应该能够通过与存储在路径段索引106中的每个路径段记录相关联的多个字段中的一个或多个来搜索路径段索引106。
例如,查询处理器108应该能够基于所请求的路径段的期望的粒度级别来搜索路径段索引106。同样,路径段索引106应该可以通过所期望的路径段的位置搜索,或者基于指定的相关的交通条件和/或预测参数搜索。当然,路径段索引106也应该被编制索引以便能够通过上述因素或其他相关因素的任意组合搜索。
因此,在特定的例子中,当请求对于在地图112的开始位置“A”到结束位置“B”之间进行的运输事件的运输时间预测时,查询110可以由查询处理器108接收,如地图112所示。因此,查询处理器108可以咨询路径段索引106以提供具有所请求的查询结果的地图132。地图132在图1中概念性地示出,并且在图2中详细地提供。
因此,一般而言相对于图1,如以上所提到的,查询处理器108可以包括段选择器128,其被配置为搜索路径段索引106。具体来说,段选择器128可以通过以最低的、最细的、最详细的粒度级别搜索可能与构建所请求的运输路线有关的路径段来开始。一旦所有这样的路径段已经被标识,段选择器128可以继续以下一更高的粒度级别搜索路径段,从而产生的路径段可以被用于填补所请求的运输路线的另外部分。段选择器128因此可以以迭代的方式、通过选择处于每个下一最高粒度级别的路径段继续进行,直到已经构建整个请求的运输路线,和/或直到已经达到最高粒度级别级别。
一旦已经构建请求的运输路线,时间预测器130可以被配置为确定已构建的运输路线的总的估计运输时间。例如,时间预测器130可以估计由段选择器128所选择的每个路径段的运输时间,然后可以汇集所有这样的运输时间以获得总的估计运输时间。
在这方面,时间预测器130可以结合每个单独的路径段利用由参数提取器126存储的各种参数。更具体地,时间预测器130可以利用一个或多个预测模型和相关的算法,以便从选定的参数推断从而确定相应段的预测的运输时间。
如所提到的,存在许多这样的模型/算法,而且这样的模型/算法可以被用在此上下文中。例如,对于每个粒度级别或者对于不同组的粒度级别,时间预测器130可以利用不同的模型/算法。例如,时间预测器130可以对最低的、最细的粒度级别的路径段选择特定的模型/算法,其中所选择的模型/算法可以特别适合于利用可以与这样的路径段相关联的相关数量和类型的历史路径数据。相反,时间预测器130可以对最高的、最粗的粒度级别的路径段选择不同的模型/算法,其中所选择的模型/算法可以被设计为预测运输时间,即使在相对稀少数量和类型的可用运输数据的情况下也如此。当然,也可能发生的是,时间预测器130对于多个粒度级别的所有路径段使用相同的预测模型。
因此,图1的系统100一般可以被理解为利用对于多个实际的运输事件的历史路径数据102从而构建个别的路径段,以将所述路径段编制索引到可搜索的路径段索引106内。以这种方式,新的请求的运输路线可以从路径段索引106构建并且与为完成运输路线所估计的预测运输时间相关联。以这种方式,所请求的运输路线和相关联的预测运输时间可以被迅速确定,并利用最小的计算资源,而同时提供高度精确的运输时间预测。
在图1的例子中,如上所述,以上和其它功能由索引引擎104和查询处理器108提供。在图1的例子,索引引擎104和查询处理器108被示出为使用至少一个计算装置134执行,至少一个计算装置134本身包括至少一个处理器134A和计算机可读存储介质134B。例如,用于执行索引引擎104和查询处理器108的可执行指令可以使用计算机可读存储介质134B存储,并可以由至少一个处理器134A执行。
当然,图1仅仅旨在作为代表性的、简化的和非限制性的(多个)例子。在其他示例性实现方式中,多个计算设备可以被利用。例如,索引引擎104和查询处理器108中的一个或两个可以被执行为远程计算装置,而系统100的用户通过本地计算设备和相关的用户界面来输入查询110并观看地图132。
更一般地,可以理解的是,系统100的任何单一的组件可以被执行为两个或更多个子组件,这可能使用不同的计算设备。相反,可以理解的是,系统100的任何两个或更多个组件可以被组合为单一的组件来执行。
另外,可以理解的是,许多附加的或可替换的组件可以被包括,而在各种示例性实现方式中也可以省略示出的组件中的一个或多个。此外,为了清楚和简明,系统100的许多特征和功能未被明确地示出在图1的例子中。例如,可以理解的是,至少一个计算装置134可以与未被明确地示出的各种硬件和软件元素相关联,例如,各种外围设备、显示器、电源组件以及网络和其它通信接口。
图2是图1的地图132的更详细的视图。在图2的例子中,如以上所提到的,示出了所请求的运输路线的开始点“A”和结束点“B”。在这方面,可以理解的是,开始点“A”和结束点“B”在概念上与图1中的地图112的相应开始点/结束点相同。另外,可以理解的是,用于收集历史路径数据并执行为路径段编制索引的地图112可以与用于运输路线查询处理的地图132(虽然在图1的简化例子中未示出)部分或完全相同。
因此,如图所示,地图132可以包括许多网格元素,其对应于不同粒度级别的位置,如上述相对于元素114A、114B、116A-116C和118A-118C所述的。然而,如可以从图2的地图132观察到的,与以上相对于图1的地图112所讨论的概念性例子相比,图2示出了更详细的和潜在的不同的例子。
具体而言,如图所示,图2的地图132包括最高的、最不详细的、最粗粒度级别的网格元素202。网格元素204代表稍微更细、更详细的粒度级别的位置。最后,在图2的例子中,网格元素206代表相对于特定实施例可用的最细的、最详细的粒度级别的位置。
因此,在操作中,响应于查询110,查询处理器108(特别是,段选择器128)可以选择存在于开始点A和结束点B之间的、与处于级别206的网格元素相关联的路径段。在该示例中,可能发生的是,网格元素208存在并且可用于所请求的运输路线。
然而,也可以观察到,通过利用在网格元素206的粒度级别的路径段和相应网格元素208不能完全完成所请求的运输路线。因此,段选择器128可以继续以下一/最高的粒度级别(即,以网格元素204的粒度级别)在路径段索引106中搜索网格元素和关联的路径段。如图所示,网格元素210对应于这样的路径段,其沿所请求的运输路线并以适当的粒度级别存在。
最后,段选择器124可以确定所请求的运输路线仍不完整,因此可以利用网格元素202的级别(即,最不详细、最粗的粒度)的路径段和关联的网格元素。如图所示,路径段和关联的网格元素212对应于该剩余的粒度级别,从而使网格元素212可以被插入以完成所请求的运输路线。
因此,如上相对于图1所述,时间预测器130可以继续预测通过每一个所包含的网格元素和相关联的路径段的运输时间。然后,通过简单地汇集所有这样的时间预测,时间预测器130可以提供用于讨论中的运输路线的整体的累积或完整的时间估计。
如可以理解的,通常可以被预期的是,这样的运输时间的预测对于网格元素206的级别的路径段和相关联的网格元素更准确,而对于网格元素202的级别的路径段和相关联的网格元素预测较差。然而,在图2的例子中,可以观察到的是,大部分运输路线可以使用网格元素208的级别的路径段构成,而只有相对较少的更高粒度级别(即,210,212)的路径段和相关联的网格元素对完成运输路线是必要的。因此,可以观察到的是,在汇集时,对于所请求的运输路线,由时间预测器所提供的运输时间的总估计可以是准确的并且是预测性的。换言之,对于运输路线的总体运输时间预测,更高粒度级别的网格元素和相关联的路径段的预测值的相对缺乏的影响可以被最小化。
图3是示出图1的系统100的示例操作的流程图300。在图3的例子中,操作302至310被示出为分开的、顺序的操作。然而,在附加的或可替换的实现方式中,操作302至310中的任何两个或更多个可以以部分或完全重叠的或并行的方式,或者以嵌套、迭代或循环的方式发生。此外,附加的或可替换的操作可以被包括,和/或一个或多个操作可以被省略。
在图3的例子中示,可以接收在相关条件方面表征运输路径的历史路径数据(302)。例如,如所述,索引引擎104可以接收路径数据101,用于使用历史路径数据库102进行存储。
基于历史路径数据定义不同粒度级别的路径段,其中,与相对更粗粒度级别的路径段的粒度级别相比,相对更短的路径段具有相对更细的粒度级别(304)。例如,索引引擎104,具体而言,段管理器124可以基于来自历史路径数据库102内的运输路径来标识各种路径段。如图2的例子所示,索引引擎104可以相对于关于相关地图(即,相对于已经捕获和分类历史路径数据的地图)构建的预定义的网格元素来标识和/或定义路径段。
每个路径段可以基于它的相应粒度级别和它的相关联的条件被编制索引(306)。例如,索引引擎104可以将路径段索引106构建为包括各种路径段,其中每个路径段连同它的个别粒度级别以及与其相关联的任何相关的交通条件被存储。
可以接收对于新的运输路线的查询(308)。例如,查询处理器108可以接收用于请求运输路线以及与运输路线相关联的和相对于开始点A/结束点B分类的运输时间的相关联的预测或估计的查询110。
可以使用已编制索引的路径段确定新的运输路线的预测的运输时间(310)。例如,查询处理器108可以利用可搜索的路径段索引106来标识有关的路径段,以及在图2的例子中的相关联的网格元素。如所描述的,新的运输路线因此可以以迭代的方式被构建,开始于最低粒度级别的路径段,以尽可能多构建所请求的运输路线,之后在下一迭代期间移动到下一最高粒度级别的路径段,并继续执行这样的迭代直到运输路线在(例如,匹配到)适当的/可用的路径段被完全定义,和/或达到最高的、最粗的粒度级别方面。如所描述的,产生的运输路线可以被用于以准确、快速和可靠的方式来预测相应的总的运输时间。
图4A是可以被用于存储位置信息的示例数据结构。如所示,数据结构包括标识符(ID)字段402,其包括用于标识位置元素的唯一ID。例如,ID可以指代(refer to)包括在上面对于地图112、132所讨论的网格类型中的特定网格元素,或者可以指代包括在特定运输路线中的路线或路线的一部分。在某些情况下,ID可以指代具体位置,诸如地址、建筑物名称或对应的一组坐标。
在字段404中,可以可选地包括所标识的位置元素的名称。例如,以最低的粒度级别并且如刚才提到的,位置可以指定特定的建筑物或街道地址,在这种情况下,这样的建筑或街道地址可以与特定名称相关联。在其他示例性实现方式中,用户可以被允许将名称关联或分配到对应的唯一标识符。
在字段406,可以存储位置元素的父ID。如可以理解的,这样的父ID可以指代粒度级别的层次结构(hierarchy)内的下一个更高的粒度级别。字段408可以包括特定位置元素的级别,即,可以指定与其相关联的粒度级别。
最后,在字段410中,可以存储位置元素的坐标。例如,如所提到的,坐标可以包括GPS坐标,可能被指定为纬度/经度位置。
在实践中,可以理解的是,图4A的数据结构可以被用于历史路径数据库102中。当然,如以上所提到的,可能发生的是,历史路径数据102和路径段索引106的部分可能部分重叠,和/或单一的数据库被用于存储由索引引擎104和/或查询处理器108访问或使用的、所有的相关数据。
图4B是第二数据结构,其示出用于经预处理的、已编制索引的路径段的示例性数据结构。因此,如所示,字段412可以包括开始ID字段,其包括相关路径段的开始点的唯一ID。可以理解的是,开始ID可以包括与图4A的数据结构的相关联的任何ID。类似地,字段414包括结束ID字段,其中与开始ID类似,路径段的结束点的ID可以对应于图4A的数据结构的任何特定ID。
字段416包括条件字段,其存储与讨论中的路径段相关联的任何和所有相关运输条件。最后,字段418对应参数字段,其存储用于在指定条件(中相关的条件)下预测开始点/结束点之间的运输时间的模型参数。
图5是提供图1的系统100的示例操作的更详细的说明的框图。在图5的例子中,索引编制过程502与随后的匹配过程504分开示出,并且通常分别对应于索引引擎104的操作和查询处理器108的操作。
在图5例子中,如上面提到的,相对于企业的物流规划,并具体而言,相对于与仓库和目的地之间的物品的运输相关联的物流,描述了运输时间估计的技术。在这样的例子中,不正确的时间估计可能导致企业的低效运营,这可能导致问题,该问题超出及时在两点之间运输货物的简单失败的范围。例如,这样的失败的或延迟交付可能导致客户不满,和/或可能降低整个供应链的效率。
相反,准确的运输时间估计可能导致客户满意以及更低成本的存货(inventory)和库存(stock)。然而,如上面详细提到的,以及这里相对于图5的索引编制过程502描述的,很多条件可能影响所期望的运输时间,诸如,例如,交通条件、道路条件、天气、行进的日期/时间(例如,工作日对周末或周五晚上对周一早上,或节日对工作日),其中这样的条件可能超出与两点之间的实际距离和/或两点之间所选择的路线相关联的估计。
因此,在图5的例子中,这样的条件505被示出为包括时间506、天气508、路径510和一般条件512。如图所示,这些和其他条件可以连同历史路径数据502一起被索引引擎514考虑。
在一般情况下,索引引擎514可以被理解为可操作以连同相关联的相关条件505标识历史路径数据502内的模式。换句话说,历史路径数据502可以被用于预测从一个地方行进到另一个地方所需用的时间,即使历史路径数据502可能不包括每对点之间的每条可能路径的个别的记录。相反,如所描述的,任何可用的运输路径的部分——可能连同相应的网格元素——可以被用于定义/表征路径段,如所示出和所描述的。因此,有利的是,可以构建新的运输路线,而且可以预测/估计相关联的运输时间,而不需要存储和/或分析两点之间的所有(或者甚至主要部分的)可用的、可能的路线。
在操作中,索引引擎514可以利用一个或多个有关的地图,每个地图被划分成离散位置元素,如上相对于各种网格元素所述,以及相对于图4的数据结构示出和描述的。因此,相对于讨论中的地图,地图特定路径段可以利用一系列相邻的位置元素来表示。另外,这样的路径段可以被分组成相邻的位置元素的集合,并被映射到相应的更高级别的位置元素。例如,如图2中所示,位置元素206可以被组合以形成单一的位置元素204,其本身可以与处于相同级别的若干个其他位置元素结合,从而导致更大的位置元素202。换言之,在图2的例子中,网格元素可以以分层的(hierarchical)方式布置,以便从而构建多粒度地图。
因此,在图5的例子中,索引引擎514可以执行路径分割516,从而根据相应位置元素定义各种路径段。随后,可以执行模型训练518,以便从而在参数提取处理520过程中提取相应的模型/算法参数。例如,相对于模型训练518和参数提取520,如以上所提到的,可以理解的是,可以使用许多不同的模型和相关算法。例如,可以使用时间序列模型的分支,诸如,例如,ARINA、ARNA和自动相关。通过选择和训练特定的预测模式,并按照用户的偏好,各种条件505和特定存储/已编制索引的路径段的其他方面可以被用于构建用于存储在图4B的数据结构的参数字段418内的参数。这样的预测模型的使用本身通常是公知的,并因此除了在理解图1和图5的系统的操作方面可能是必要的或有帮助的以外没有在本文中更详细地描述。
作为以上提到的操作的结果,索引引擎514可以构建路径段索引522。因此,如相对于图4B所描述的以及本文一般描述的,通过相关地图上的路径可以表示为来自路径段索引内的许多相邻路径段,其中路径段本身被存储为位置元素对,从而在这些例子中,被构建的总体路径也可能被认为是一系列位置元素。
因此,在匹配过程504中,所选择的路径524作为查询处理器526的输入,如对于查询处理器108一般描述的,查询处理器526可以相对于路径段索引522利用分割和匹配过程,以标识相关的路径段并最终确定所选择的运输路线524的总预计的运输时间。
在图5的例子中,可能发生的是,所选择的运输路线524是由用户指定的。然而,在其他示例性实现方式中,可能发生的是,用户仅仅指定开始点和结束点,并且在查询处理器526本身构建相应的运输路线的详细信息。在另一些示例性实现方式中,多个潜在的运输路线可以被指定、构建或以其他方式被考虑。
在图5的例子中,查询处理器526接收所选择的运输路线524,并且将接收到的运输路线524划分成与从路径段索引522选择的适当路径段相对应的多个段。如相对于多个地图粒度级别528所示,查询处理器526可以首先尝试仅利用最低的、最细的粒度级别的路径段来构建运输路线524的整体。然后,查询处理器526可以考虑路径段索引532内的每个这样的路径段。如上面提到的,查询处理器526可以发现,只有一小部分这样的路径段与足够的历史数据相关联,从而使能足够的信心:可能满足指定级别的预测精度。因此,可能发生的是,匹配过程没有将所选择的运输路径524的整体与最低的、最细的粒度级别528的路径段相匹配。
在这样的匹配过程失败的情况下,查询处理器526可以继续尝试以下一更高的级别528寻找匹配段,从而试图填补对于所选择的运输路线524的任何剩余的空隙。如所描述和所示出的,下一更高的级别具有其中指定的更大的网格元素。然而,理论上,查询处理器526就如相对于第一级别528所描述的那样进行;即,查询处理器526标识介入的(intervening)路径段并尝试将这些路径段与路径段索引522内的相应的路径段和相关联的历史数据相匹配。如上所述,这个过程将继续直到所选择的运输路线524完成,和/或直到达到最高的、最粗的级别528。
此外,相对于图5,如以上所提到的,索引引擎514和查询处理器526中的一个或两者可以涉及随着时间的推移维护,例如,更新路径段索引。例如,当接收到新的路径数据时,现有的路径数据和相应的路径段可能变得过时或被废弃。此外,可以接收新的路径数据,其应该被添加到现有的历史路径数据,以便在响应未来对运输路线的查询时提供更准确的运输时间估计。特别是,可能发生的是,与运输路线查询相关联的车辆本身可能主动参与提供新的路径数据,即使它在沿着查询处理器526所提供的运输路径而行时也如此。更新或以其他方式维护路径段索引522的过程的实际细节可以一般对应于已经描述的用于首先创建路径段索引的过程,并因此不在这里单独地详细描述。
图6是示出可以由图1的索引引擎104和/或图5的索引引擎514执行的索引编制过程的更详细的示例性实现方式的流程图600。在图6的例子中,可以定义地图位置元素(例如,网格元素)和相关联的粒度级别(602)。例如,可以相对于地图(诸如图1的地图112)设置这样的位置元素和粒度级别。可以相对于距离定义粒度级别。例如,第一、最低的粒度级别可以与100米的距离相关联,而第二级别可以与750米的距离相关联,而且第三级别可以与2000米的距离相关联。
随着时间的推移,可以接收相对于潜在的大量运输事件的路径数据(604)。当接收到这样的路径数据时,或者在其他方式指定的时间间隔,可以相应地更新历史路径数据(606)。例如,接收到的路径数据可以被处理为如存储在历史路径数据102内所需要的(例如,可以被处理以便与图4A的数据结构的格式相匹配)。
此外,随着时间的推移,例如,连续地或在预先指定的时间间隔,可以确定位置元素对之间的路径段(608)。例如,这样的路径段可以按照图4B的数据结构进行定义。如另外描述的,这样的路径段可以包括交通条件和在多个实际运输路线上已经汇集的其它相关数据,所述多个实际运输路线遍历对应的路径段中的一些或全部。以这种方式,可以确定每个路径段的这样的交通条件(610)。
因此,可以确定每个路径段的预测参数(612),并且再次存储在图4B的数据结构内。例如,如所描述的,这样的参数可以基于所选择的时间序列模型并根据任何附加的、有关用户的喜好来确定。例如,如上所述,在预测讨论中的路径段的未来运输时间的时候,指定的子集或与每个路径段相关联的所存储的交通条件可以具有更多或更少的等待。相对应地,预测参数可以确定任何这样的交通条件是否以及在何种程度上被包括以便在通过时间序列模型的实现方式或其他预测模型/算法来预测未来运输时间的时候使用。
最后,在图6中,路径段可以被存储在相应的路径段索引(例如,路径段索引106和/或路径段索引522)中(614)。具体而言,路径段可以被存储为与相应的、有关的交通条件和关联的预测参数相关联,如相对于图4B的示例性数据结构所描述和示出的。
图6的索引编制进程的示例性伪代码被提供如下:
伪代码1
图7是示出与图1和/或图5的示例性实现方式相关联的示例性查询处理操作的流程图700。即,流程图700的操作可以被理解为由查询处理器108和/或查询处理器526中的一个或两者执行。
在图7的例子中,接收至少指定与所期望的运输路线相关联的源和目的地的查询(702)。如以上相对于图5所提到的,在一些示例性实现方式中,查询可以指定一个或两个所期望的运输路线的整体。在另一个示例性实现方式中,可以只提供源和目的地,从而查询处理器108/526可以负责构建指定的起始/结束点之间的一个或多个特定的运输路线。
无论在哪一种情况下,所请求的运输路线可以首先与对应于有关地图的位置元素(例如,网格元素)的最低可用的粒度级别相关联(704),所述位置元素具有最短长度/距离并且相对于已存储的与之相关联的交通条件的数量和类型,假定或潜在地与细节的最高级别相关联。
然后,再次在上面相对于操作702描述的任一这些情况下,可以在指定的源和目的地之间选择当前粒度级别的路径段(706)。也就是说,在用户仅指定源和目的地的情况下,查询处理器108/526可以负责构建指定的源和目的地之间的实际运输路线,并随后可以确定与实际运输路线的一些部分相对应的路径段。在提供所请求的运输路线的整体的方案中,查询处理器108/526将被限制为选择沿着指定的运输路线的路径段。
如果所请求的运输路径的整体不能完全以当前的粒度级别完成(708),那么可以选择下一更高的粒度级别(710)。也就是说,如果由查询处理器108/526相对于已提供的或已构建的运输路线所标识的路径段被发现在路径段索引106/522内没有相应的路径段,那么查询处理器108/526继续以下一更高的粒度级别选择路径段将是必要的(706)。
再次,处于这个当前粒度级别的路径段将被标识,并被考虑用于与路径段索引106/522内的相应路径段的潜在匹配。再次,只要特定路径段的匹配失败(例如,由于不存在相应的路径段,和/或由于认为是具有不够低的预测值的路径段是唯一可用的匹配)。
只要所请求的运输路径不能在当前的粒度级别完成(708),然后就可以选择下一更高的粒度级别(710),然后过程将继续直到所请求的运输路径实际上完成(708)。例如,所请求的运输路径可以在任何中间粒度级别完成。然而,如果达到了最高粒度级别,那么所请求的运输路径将在该级别完成,即使很少或没有有关行驶条件以及与其相关联的相关预测参数的数据。在一些情况下,可能必要或期望的是,关联与最高粒度级别的路径段或位置元素相关联的默认或标准行进时间,使其被用在很少或没有相关联的交通条件和/或没有预测参数可用的情况。
最后,在图7中,可以汇集每个路径段的运输时间预测以便确定所请求的运输路径的总运输时间预测(712)。如所描述的,单一的时间序列模型可以被用于每个路径段。在其他示例性实现方式中,不同的预测模型和相关联的算法可以在每个粒度级别使用,以便反映已存储的可用数据的相对级别连同处于不同粒度级别的路径段。
图7的查询过程的示例性伪代码被提供如下:
伪代码2
这里描述的各种技术的实现方式可以被实施在数字电子电路中,或者实施在计算机硬件、固件、软件,或者它们的组合中。实现方式可以实施为计算机程序产品,即有形地具体实施在信息载体中的计算机程序,信息载体例如在机器可读存储设备中或者在传播的信号中,以供数据处理装置执行或者控制数据处理装置的操作,所述数据处理装置例如可编程处理装置、计算机或多个计算机。计算机程序,诸如上面描述的计算机程序,可以用任何形式的编程语言编写,包括汇编语言或解释语言,并且,它可以被以任何形式部署,包括作为独立的程序或者作为模块、组件、子程序或其他适于在计算环境中使用的单元。计算机程序可以被部署为在一个计算机上执行或在位于一个地点或跨过多个地点分布并被通信网络互连起来的多个计算机上执行。
方法步骤可以被一个或多个可编程处理器执行,所述可编程处理器执行计算机程序,以便通过对输入数据操作和产生输出来执行功能。方法步骤还可以被专用逻辑电路执行,或者装置可以被实施为专用逻辑电路,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
作为例子,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任意一个或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器接收指令和数据,或者从两者都接收指令和数据。计算机的元件可以包括至少一个用于执行指令的处理器,和用于存储指令和数据的一个或多个存储器设备。一般来说,计算机还可以包括,或者被可操作地连接,以从一个或多个用于存储数据的海量储存设备接收数据,或把数据传送到海量储存设备,或者二者皆有,所述海量储存设备例如:磁盘、磁光盘或光盘。适于具体实施计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,作为例子,包括半导体存储器器件,例如:EPROM、EEPROM和闪存设备、磁盘,例如内置硬盘或可移动磁盘、磁光盘和CD-ROM以及DVD-ROM盘。处理器和存储器可以以专用逻辑电路补充,或者被包含在专用逻辑电路中。
为了提供和用户的交互,实现方式可以在具有显示设备和键盘以及定点设备的计算机上实施,显示设备例如阴极射线管(CRT)或液晶显示器(LCD)监视器,用于向用户显示信息,键盘和指示设备例如鼠标或轨迹球,用户利用它们可以提供到计算机的输入。其他种类的设备也可以被用来提供和用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且,可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
实现方式可以被在包括后端组件或包括中间件组件或包括前端组件的计算系统中实施,或者在这些后端、中间件、前端组件的任意组合中实施,后端组件例如数据服务器,中间件组件例如应用服务器,前端组件例如具有图形用户界面,或Web浏览器的客户端计算机,通过图形用户界面或Web浏览器,用户可以和实现方式进行交互。可以利用数字数据通信的任何形式或介质互连组件,数字数据通信介质例如通信网络。通信网络的例子包括:局域网(LAN)和广域网(WAN),例如因特网。
虽然如这里所描述的那样已经示出了所描述的实现方式的某些特征,但是本领域普通技术人员现在应当想到很多修改、替换、变化或等同物。因此应当理解,所附权利要求旨在覆盖落入实施例的范围内的所有这样的修改和变化。
Claims (20)
1.一种包括记录在计算机可读介质上并且可由至少一个处理器执行的指令的系统,该系统包括:
索引引擎,其被配置为使所述至少一个处理器接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径,所述索引引擎包括:
段管理器,其被配置为基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别,
所述索引引擎还被配置为使所述至少一个处理器基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。
2.如权利要求1所述的系统,其中,所述运输路径对应于区域内的运输事件并且相对于地图进行描述,而且其中所述粒度级别是相对于所述地图定义的。
3.如权利要求2所述的系统,其中,所述粒度级别对应于相对于所述地图定义的分层布置的网格元素,其中与相对更低、更细的粒度级别相对应的网格元素对应于更短的距离,而且被包含在与相对更高、更粗的粒度级别相对应的网格元素中。
4.如权利要求1所述的系统,其中,所述相关联的条件相对于在沿着所述运输路径的相应运输事件期间存在什么和/或发生什么来表征所述运输路径中的相应的运输路径。
5.如权利要求1所述的系统,其中,已编制索引的路径段被存储在路径段索引内,所述路径段索引能够相对于每个路径段的位置、粒度级别和相关联的条件进行搜索。
6.如权利要求1所述的系统,其中,所述索引引擎包括参数提取器,其被配置为分析所述历史路径数据并相对于每个路径段和相关联的条件来确定用于预测相应路径段的未来运输时间的参数。
7.如权利要求1所述的系统,包括:
查询处理器,其被配置为使所述至少一个处理器接收新的运输路线的查询,并使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。
8.如权利要求7所述的系统,其中,所述查询通过包括相对于地图定义的、用于定义所述路径段的至少开始位置和结束位置来指定所述新的运输路线。
9.如权利要求7所述的系统,其中,所述查询处理器根据已编制索引的路径段中所选择的已编制索引的路径段来迭代地定义所述新的运输路线,包括使用相对更低、更细的粒度级别的路径段的迭代,以及发展到使用相对更高、更粗的粒度级别的路径段的后面的迭代,直到完成所述新的运输路线。
10.如权利要求7所述的系统,其中,使用来自所述已编制索引的路径段的匹配路径段,开始于最低粒度级别并且发展到更高粒度级别来构建所述新的运输路线,而且其中,所述查询处理器确定所述预测的运输时间,所述确定包括确定对于每个匹配的路径段的个别的预测的运输时间,然后汇集所述个别的预测的运输时间以便获得所述预测的运输时间。
11.一种用于执行存储在计算机可读存储介质上的指令的计算机实施的方法,该方法包括:
接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径;
基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别;以及
基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。
12.如权利要求11所述的方法,还包括:
接收新的运输路线的查询;以及
使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。
13.如权利要求12所述的方法,其中,所述查询通过包括相对于地图定义的、用于定义所述路径段的至少开始位置和结束位置来指定所述新的运输路线。
14.如权利要求12所述的方法,其中,确定所述预测的运输时间包括根据已编制索引的路径段中所选择的已编制索引的路径段来迭代地定义所述新的运输路线,包括执行使用相对更低、更细的粒度级别的路径段的迭代,以及发展到使用相对更高、更粗的粒度级别的路径段的后面的迭代,直到完成所述新的运输路线。
15.如权利要求12所述的方法,其中,使用来自所述已编制索引的路径段的匹配路径段,开始于最低粒度级别并且发展到更高粒度级别来构建所述新的运输路线,而且其中,所述预测的运输时间通过确定对于每个匹配的路径段的个别的预测的运输时间、然后汇集所述个别的预测的运输时间以便获得所述预测的运输时间来确定。
16.一种计算机程序产品,所述计算机程序产品被有形地具体实施在计算机可读存储介质上并且包括指令,当该指令被运行时被配置为:
接收历史路径数据,所述历史路径数据在相关联的条件方面表征运输路径;
基于所述历史路径数据来定义不同粒度级别的路径段,其中相对更短的路径段与相对更粗粒度级别的路径段相比具有相对更细的粒度级别;以及
基于每个路径段的相应粒度级别和它的相关联的条件来对每个路径段编制索引。
17.如权利要求16所述的计算机程序产品,其中,所述粒度级别对应于相对于地图定义的分层布置的网格元素,其中与相对更低、更细的粒度级别相对应的网格元素对应于更短的距离,而且被包含在与相对更高、更粗的粒度级别相对应的网格元素中。
18.如权利要求16所述的计算机程序产品,其中,当该指令被运行时还被配置为:
接收新的运输路线的查询;以及
使用已编制索引的路径段来确定所述新的运输路线的预测的运输时间。
19.如权利要求18所述的计算机程序产品,其中,当该指令被运行时还被配置为确定所述预测的运输时间,包括根据已编制索引的路径段中所选择的已编制索引的路径段来迭代地定义所述新的运输路线,包括执行使用相对更低、更细的粒度级别的路径段的迭代,以及发展到使用相对更高、更粗的粒度级别的路径段的后面的迭代,直到完成所述新的运输路线。
20.如权利要求18所述的计算机程序产品,其中,使用来自所述已编制索引的路径段的匹配路径段,开始于最低粒度级别并且发展到更高粒度级别来构建所述新的运输路线,而且其中,所述预测的运输时间通过确定对于每个匹配的路径段的个别的预测的运输时间、然后汇集所述个别的预测的运输时间以便获得所述预测的运输时间来确定。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310084393.4A CN104050512A (zh) | 2013-03-15 | 2013-03-15 | 基于多粒度地图的运输时间估计 |
US13/851,690 US20140279662A1 (en) | 2013-03-15 | 2013-03-27 | Transportation time estimation based on multi-granular maps |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310084393.4A CN104050512A (zh) | 2013-03-15 | 2013-03-15 | 基于多粒度地图的运输时间估计 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104050512A true CN104050512A (zh) | 2014-09-17 |
Family
ID=51503323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310084393.4A Pending CN104050512A (zh) | 2013-03-15 | 2013-03-15 | 基于多粒度地图的运输时间估计 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140279662A1 (zh) |
CN (1) | CN104050512A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654260A (zh) * | 2015-12-25 | 2016-06-08 | 芜湖众创物流投资中心(有限合伙) | 一种基于多要素数据的物流运输路线规划系统及其方法 |
CN105806341A (zh) * | 2014-09-24 | 2016-07-27 | 三星Sds株式会社 | 移动体的基准路径计算装置及方法 |
CN107436149A (zh) * | 2016-03-04 | 2017-12-05 | 通用汽车环球科技运作有限责任公司 | 用于渐进式地图维护和通信通道选择的系统和方法 |
CN108256685A (zh) * | 2018-01-22 | 2018-07-06 | 浙江工业大学 | 一种基于多元线性回归模型的医院后勤运送时间预测方法 |
CN110930101A (zh) * | 2020-01-23 | 2020-03-27 | 北京京邦达贸易有限公司 | 确定订单的配送时间的方法、装置、电子设备和可读介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2750087A1 (en) * | 2012-12-28 | 2014-07-02 | Exapaq Sas | Methods and systems for determining estimated package delivery/pick-up times |
US10410150B2 (en) | 2014-11-04 | 2019-09-10 | Sap Se | Efficient computerized calculation of resource reallocation scheduling schemes |
US10347038B1 (en) | 2015-02-20 | 2019-07-09 | Amazon Technologies, Inc. | Determining visibility in virtual environments |
US10803089B1 (en) | 2015-02-20 | 2020-10-13 | Amazon Technologies, Inc. | Grid based pathfinding |
US9476723B1 (en) * | 2015-02-20 | 2016-10-25 | Amazon Technologies, Inc. | Hierarchical processing and caching of path solutions |
US10223649B2 (en) * | 2015-10-16 | 2019-03-05 | Sap Se | System and method of multi-objective optimization for transportation arrangement |
CN107305742A (zh) | 2016-04-18 | 2017-10-31 | 滴滴(中国)科技有限公司 | 用于确定预计到达时间的方法和设备 |
US10637964B2 (en) | 2016-11-23 | 2020-04-28 | Sap Se | Mutual reinforcement of edge devices with dynamic triggering conditions |
US10841020B2 (en) | 2018-01-31 | 2020-11-17 | Sap Se | Online self-correction on multiple data streams in sensor networks |
CN109858685A (zh) * | 2019-01-11 | 2019-06-07 | 杭州匹知共创科技有限公司 | 一种物流运力智能分配方法 |
CN111523723B (zh) * | 2020-04-21 | 2023-04-28 | 北京物资学院 | 一种公共自行车站点车辆优化配置的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589022A (zh) * | 2004-08-26 | 2005-03-02 | 中芯联合(北京)微电子有限公司 | 多模式运动估计中由朝向树决定的宏块分割模式选择方法 |
CN101325004A (zh) * | 2008-08-01 | 2008-12-17 | 北京航空航天大学 | 一种实时交通信息的数据补偿方法 |
CN102612709A (zh) * | 2009-07-09 | 2012-07-25 | 通腾科技股份有限公司 | 导航装置及用于依赖于时间的路线计算的方法 |
WO2013020075A2 (en) * | 2011-08-03 | 2013-02-07 | Google Inc. | Prominence-based generation and rendering of map features |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60239131D1 (de) * | 2001-06-22 | 2011-03-24 | Caliper Corp | Verkehrsdatenverwaltung und simulationssystem |
-
2013
- 2013-03-15 CN CN201310084393.4A patent/CN104050512A/zh active Pending
- 2013-03-27 US US13/851,690 patent/US20140279662A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1589022A (zh) * | 2004-08-26 | 2005-03-02 | 中芯联合(北京)微电子有限公司 | 多模式运动估计中由朝向树决定的宏块分割模式选择方法 |
CN101325004A (zh) * | 2008-08-01 | 2008-12-17 | 北京航空航天大学 | 一种实时交通信息的数据补偿方法 |
CN102612709A (zh) * | 2009-07-09 | 2012-07-25 | 通腾科技股份有限公司 | 导航装置及用于依赖于时间的路线计算的方法 |
WO2013020075A2 (en) * | 2011-08-03 | 2013-02-07 | Google Inc. | Prominence-based generation and rendering of map features |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105806341A (zh) * | 2014-09-24 | 2016-07-27 | 三星Sds株式会社 | 移动体的基准路径计算装置及方法 |
CN105806341B (zh) * | 2014-09-24 | 2018-12-07 | 三星Sds株式会社 | 移动体的基准路径计算装置及方法 |
CN105654260A (zh) * | 2015-12-25 | 2016-06-08 | 芜湖众创物流投资中心(有限合伙) | 一种基于多要素数据的物流运输路线规划系统及其方法 |
CN107436149A (zh) * | 2016-03-04 | 2017-12-05 | 通用汽车环球科技运作有限责任公司 | 用于渐进式地图维护和通信通道选择的系统和方法 |
CN108256685A (zh) * | 2018-01-22 | 2018-07-06 | 浙江工业大学 | 一种基于多元线性回归模型的医院后勤运送时间预测方法 |
CN108256685B (zh) * | 2018-01-22 | 2021-02-26 | 浙江工业大学 | 一种基于多元线性回归模型的医院后勤运送时间预测方法 |
CN110930101A (zh) * | 2020-01-23 | 2020-03-27 | 北京京邦达贸易有限公司 | 确定订单的配送时间的方法、装置、电子设备和可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US20140279662A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050512A (zh) | 基于多粒度地图的运输时间估计 | |
US10639995B2 (en) | Methods, circuits, devices, systems and associated computer executable code for driver decision support | |
Golbabaei et al. | The role of shared autonomous vehicle systems in delivering smart urban mobility: A systematic review of the literature | |
US10956861B2 (en) | Apparatus and method for predictive dispatch for geographically distributed, on-demand services | |
Martins et al. | Optimizing ride-sharing operations in smart sustainable cities: Challenges and the need for agile algorithms | |
EP3318985B1 (en) | Driving route matching method and apparatus and storage medium | |
Zhang et al. | Models, algorithms, and evaluation for autonomous mobility-on-demand systems | |
Miller-Hooks et al. | Least expected time paths in stochastic, time-varying transportation networks | |
Nair et al. | Equilibrium network design of shared-vehicle systems | |
US8738289B2 (en) | Advanced routing of vehicle fleets | |
US11176470B2 (en) | Artificial intelligence based solution generator | |
US20170046653A1 (en) | Planning of transportation requests | |
Ghannadpour et al. | A multi-objective vehicle routing and scheduling problem with uncertainty in customers’ request and priority | |
Zhao et al. | Ridesharing problem with flexible pickup and delivery locations for app-based transportation service: Mathematical modeling and decomposition methods | |
CN105631530A (zh) | 时间可划分资源的多顺序规划和分配 | |
CN104697541A (zh) | 用于提供与出行相关的信息的方法 | |
Khodadadian et al. | Time dependent orienteering problem with time windows and service time dependent profits | |
Zou et al. | A novel taxi dispatch system for smart city | |
Haliem et al. | AdaPool: A diurnal-adaptive fleet management framework using model-free deep reinforcement learning and change point detection | |
Powell | Designing lookahead policies for sequential decision problems in transportation and logistics | |
Ronald et al. | Mobility patterns in shared, autonomous, and connected urban transport | |
Moradi et al. | Last mile delivery routing problem using autonomous electric vehicles | |
Ajani et al. | Dynamic path planning approaches based on artificial intelligence and machine learning | |
KR20230082753A (ko) | 물류를 위한 경로 정보를 제공하는 서버, 방법 및 컴퓨터 프로그램 | |
Karam et al. | A real-time decision support approach for managing disruptions in line-haul freight transport networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: German Waldo Applicant after: SAP AG Address before: German Waldo Applicant before: SAP AG |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140917 |
|
RJ01 | Rejection of invention patent application after publication |