本公开总体上涉及车辆数据系统,并且更具体地涉及车辆数据传送排队系统。
背景技术:
诸如汽车的车辆可以配备有在车辆操作时提供数据的各种数字装置,例如传感器、电子控制单元等。例如,装置可以在车辆通信网络(诸如控制器局域网(can)总线等)上提供数据。此类数据可以存储在车辆中的一个或多个计算机存储器中以供以后检索。例如,在车辆操作期间收集的数据可用于诊断故障、执行维护等。然而,可能难以有效地或高效地获得车辆数据。
技术实现要素:
一种系统,其包括计算机,所述计算机包括处理器和存储器,所述存储器存储可由所述处理器执行的指令,以接收来自多个车辆中的每个车辆的交换数据的请求,每个请求包括关于所述请求的元数据;将所述车辆排序到根据所述元数据确定的多个优先级集;确定可用于所述优先级集中的第一优先级集中的车辆的第一数据传送线路集;从所述第一数据传送线路集中为所述第一优先级集中的所述车辆中的第一车辆选择第一最佳数据传送线路;以及将所述第一最佳数据传送线路分配给所述车辆中的所述第一车辆。
可以至少部分地基于确定针对包括所述第一最佳数据传送线路的终端满足条件来选择所述第一最佳数据传送线路。可以通过将用于所述车辆中的所述第一车辆传送数据的线路负载添加到所述第一最佳数据传送线路的当前线路负载来计算所述第一最佳数据传送线路的更新的线路负载;以及在确定所更新的线路负载不超过为包括所述第一最佳数据传送线路的所述终端指定的带宽量时确定满足终端条件。
在确定不满足终端条件时,所述计算机可以包括指令,以:通过从所述第一数据传送线路集中移除所述最佳数据传送线路来修改所述第一数据传送线路集;以及然后从所述第一数据传送线路集中重新选择所述第一最佳数据传送线路。
所述指令还可以包括指令,以:确定可用于所述优先级集中的第二优先级集中的车辆的第二数据传送线路集;从所述第二数据传送线路集中为所述第二优先级集中的所述车辆中的第二车辆选择第二最佳数据传送线路;以及将所述第二最佳数据传送线路分配给所述车辆中的所述第二车辆。
所述指令还可以包括指令,以至少部分地基于以下各项来选择所述第一最佳数据传送线路:确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据交换时间;或者确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据传送的总服务时间;和/或确定所述车辆中的所述第一车辆从当前位置移动到所述第一数据传送线路集中的每个数据传送线路的相应位置的估算时间。
所述指令还可以包括指令,以根据待交换的数据量在每个优先级集中对所述车辆进行排序,其中所述车辆中的所述第一车辆具有待交换的最高数据量。
所述指令还可以包括指令,以调整用于确定可用于所述优先级集中的所述第一优先级集中的车辆的所述第一数据传送线路集的带宽阈值。
所述元数据可以包括优先级等级。每个车辆的所述元数据可以包括以下各项中的一项或多项:(a)所述车辆上次交换数据的时间或下一次计划交换的时间,(b)指定直到所述车辆下一次计划进行服务之前的分钟数的时间,或者(c)车辆计算机存储器中的可用数据存储量。
所述第一最佳数据传送线路可以是有线连接和无线连接中的一者。
所述系统还可以包括所述车辆中的所述第一车辆,其中所述车辆中的所述第一车辆包括第一车辆计算机,所述第一车辆计算机被编程为致动所述第一车辆移动到经由所述最佳数据传送线路交换数据的位置。
一种方法,其可以包括:接收来自多个车辆中的每个车辆的交换数据的请求,每个请求包括关于所述请求的元数据;将所述车辆排序到根据所述元数据确定的多个优先级集;确定可用于所述优先级集中的第一优先级集中的车辆的第一数据传送线路集;从所述第一数据传送线路集中为所述第一优先级集中的所述车辆中的第一车辆选择第一最佳数据传送线路;以及将所述第一最佳数据传送线路分配给所述车辆中的所述第一车辆。
可以至少部分地基于确定针对包括所述第一最佳数据传送线路的终端满足条件来选择所述第一最佳数据传送线路。可以通过将用于所述车辆中的所述第一车辆传送数据的线路负载添加到所述第一最佳数据传送线路的当前线路负载来计算所述第一最佳数据传送线路的更新的线路负载;以及在确定所更新的线路负载不超过为包括所述第一最佳数据传送线路的所述终端指定的带宽量时确定满足终端条件。
所述方法还可以包括:确定不满足终端条件,然后通过从所述第一数据传送线路集中移除所述最佳数据传送线路来修改所述第一数据传送线路集;以及然后从所述第一数据传送线路集中重新选择所述第一最佳数据传送线路。
所述方法还可以包括:确定可用于所述优先级集中的第二优先级集中的车辆的第二数据传送线路集;从所述第二数据传送线路集中为所述第二优先级集中的所述车辆中的第二车辆选择第二最佳数据传送线路;以及将所述第二最佳数据传送线路分配给所述车辆中的所述第二车辆。
所述方法还可以包括至少部分地基于以下各项中的一项或多项来选择所述第一最佳数据传送线路:(a)确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据交换时间;(b)确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据传送的总服务时间;或者(c)确定所述车辆中的所述第一车辆从当前位置移动到所述第一数据传送线路集中的每个数据传送线路的相应位置的估算时间。
附图说明
图1是示出示例数据传送排队系统的图式。
图2是用于将车辆分配给线路的示例性过程的流程图。
图3是用于确定是否满足终端条件的示例性过程的流程图。
具体实施方式
图1是车辆数据传送排队系统100的框图。多个车辆105(例如,通常作为车队的一部分操作、维护和管理)可以各自具有计算机110。当每个车辆105操作时,在其操作期间收集的数据可以存储在计算机100的存储器中。然后,车辆可以到达服务站、车库、维护区域或其他设施101,在该处由车辆105收集的数据可上传到数据存储装置180。设施101在一个或多个交换终端150中包括多个数据传送线路155,每个终端150包括一个或多个数据传送线路155。计算机服务器170处理关于被请求排队进行数据交换的相应车辆105的元数据以及关于设施101中的数据传送条件的实时或近实时数据,包括各种终端150和/或线路155的负载和/或其他参数,以将各个车辆分配到各个线路155。此外,当多个车辆105被分配到同一线路155时,服务器170可以指定车辆105访问线路155的顺序。
数据交换是指通常根据常规联网协议和介质将数字数据从第一计算装置(例如,车辆105计算机110)传送到第二计算装置(例如,服务器170),或反之亦然。为了方便起见,本公开可以涉及数据卸载,因为从车辆105到服务器170的数据卸载是非常常见的预期场景。然而,应当理解,除了或代替上载数据,本公开可以并且意图还适用于车辆105从服务器170下载数据的场景。此外,术语数据“交换”一般地描述任何卸载、上载或卸载/上载场景。
车辆105通常是动力陆地车辆,诸如汽车、卡车、摩托车等。车辆105可包括车辆计算机110、传感器115、用于致动各种车辆部件125的致动器120以及车辆通信模块130。通信模块130允许车辆计算机110与其他计算装置(诸如其他车辆计算机110和服务器170)通信。
车辆计算机110包括诸如已知的处理器和存储器。存储器包括一种或多种形式的计算机可读介质,并且存储可由计算机110执行的用于执行各种操作的指令,所述各种操作包括如本文所公开的操作。
计算机110可以自主、半自主模式操作车辆105,或者在一些示例中,车辆105另外具有以非自主(或手动)模式进行操作的能力。出于本公开的目的,自主模式被限定为其中由计算机110控制车辆105推进、制动和转向中的每一者的模式;在半自主模式下,计算机110控制车辆105推进、制动和转向中的一者或两者;在非自主模式下,人类操作员控制车辆105推进、制动和转向中的每一者。
计算机110可以包括编程以:操作部件125,所述部件包括车辆105制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆中的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者;以及确定计算机110(而不是人类操作员)是否以及何时控制此类操作。另外,计算机110可以被编程为确定人类操作员是否以及何时控制此类操作。
计算机110可以包括或者例如经由如下文进一步描述的诸如通信总线的车辆105网络通信地耦接到多于一个的处理器,所述处理器例如包括在车辆中所包括的电子控制器单元(ecu)等中、用于监测和/或控制各种车辆部件125(例如,动力传动系统控制器、制动控制器、转向控制器等)。计算机110通常被布置用于在车辆通信网络上进行通信,所述车辆通信网络可以包括车辆中的总线(诸如控制器局域网(can)等)和/或其他有线和/或无线机制。
经由车辆105网络,计算机110可以向车辆中的各种装置(例如传感器115、致动器120、人机接口(hmi)等)传输消息和/或从各种装置接收消息(例如,can消息)。可替代地或另外地,在计算机110实际上包括多个装置的情况下,车辆105通信网络可以用于在本公开中表示为计算机110的装置之间的通信。此外,如下所述,各种控制器和/或传感器115可以经由车辆通信网络向计算机110提供数据。
车辆105传感器115可以包括诸如已知的用于向计算机110提供数据的多种装置。例如,传感器115可包括设置在车辆105的顶部上、在车辆105前挡风玻璃后面、在车辆105周围等的光探测和测距(激光雷达)传感器115等,所述激光雷达传感器提供车辆105周围的对象的相对位置、大小和形状。作为另一个示例,固定到车辆105保险杠的一个或多个雷达传感器115可以提供数据来提供物体、第二车辆105等相对于车辆105的位置的位置。可替代地或另外地,传感器115还可以包括例如一个或多个相机传感器115(例如前视、侧视等),所述相机传感器提供来自车辆105周围的区域的图像。在本公开的上下文中,对象是可以通过感测物理现象(例如,光或其他电磁波或声音等)(例如,可由传感器115检测到的现象)来检测的物理(即,材料)物品。
车辆105致动器120经由电路、芯片或可根据如已知的适当控制信号来致动各种车辆子系统的其他电子和/或机械部件来实施。致动器120可用于控制部件125,包括车辆105的制动、加速和转向。
在本公开的上下文中,车辆部件125是一个或多个硬件部件,所述一个或多个硬件部件被适配成执行机械或机电功能或操作,诸如使车辆105移动、使车辆101减慢或停止、使车辆105转向等。部件125的非限制性示例包括:推进部件(包括例如内燃发动机和/或电动马达等)、变速器部件、转向部件(例如,可包括方向盘、转向齿条等中的一个或多个)、制动部件(如下所述)、停车辅助部件、自适应巡航控制部件、自适应转向部件、可移动座椅等。
另外,计算机110可以被配置用于经由车辆对车辆通信模块或接口130与车辆105外部的装置通信,例如,通过到另一车辆、到基础设施元件140(通常经由直接射频通信)和/或(通常经由网络135)服务器170的车辆对车辆(v2v)或车辆对基础设施(v2i)无线通信。模块130可以包括车辆105的计算机110可以通过其进行通信的一种或多种机制,包括无线(例如,蜂窝、无线、卫星、微波和射频)通信机制的任何期望组合以及任何期望的网络拓扑(或当利用多种通信机制时的拓扑)。示例性通信经由提供数据通信服务的模块130
如上所述,设施101可以包括一个或多个终端150,每个终端包括一个或多个数据传送线路155。终端150是或包括计算装置,所述计算装置包括处理器和存储器以及线路155。线路155可以包括用于传送数字数据的任何合适的有线或无线机制。在一个示例中,每个终端150包括多个线路155,其中每个线路155包括常规无线接入点以及与服务器170和/或数据存储装置180的有线连接(例如,以太网等)。
服务器170可以是被编程为提供诸如本文公开的操作的常规计算装置,即,包括一个或多个处理器和一个或多个存储器。
数据存储装置180包括适合于存储数字数据的一个或多个计算机可读介质,并且可以包括在服务器170或一些其他计算装置中和/或可经由其访问。也就是说,例如,数据存储装置180可以提供任何常规数据库访问。可以提供数据存储装置180以收集和/或聚集来自多个车辆105的操作数据。例如,数据存储装置180可以包括多个车辆中的每个车辆的数据,所述数据描述例如在指定时间段内的数据,诸如所覆盖的距离(例如,里程)、平均速度、检测到的故障状况、安全装置的部署、能量效率(例如,汽油里程)、燃料水平、润滑剂和/或其他流体水平,仅列举可以传送到数据存储装置180的车辆105操作数据的一些示例。
数据元素
假设系统100中的设施101包括r个线路155,每个终端150具有一个或多个线路155,并且对n个车辆105进行排队以经由一个线路155将数据上传到数据存储装置180(如应清楚的是,r和n是整数)。定义了以下变量,其中i是指定车辆105的索引(即,1≤i≤n),并且j是指定线路155的索引(即,1≤j≤r):
注意,可以基于线路155和/或终端150的当前状况来动态地确定预留带宽,例如,可以周期性地或基本上实时地确定预留带宽。例如,由于从恶劣天气或驾驶状况(例如,强风、暴雨、道路施工等)生成的数据的涌入,车辆计算机110可能意外地在其存储器中填充磁盘存储器。例如,此类状况可能导致计算机110比在没有此类非典型状况的情况下进行操作时存储更多的传感器数据,例如,激光雷达和雷达数据。当计算机110存储器已满时,可以根据车辆105计算机110卸载数据的迫切需求来减少或消除保留带宽要求。在另一个示例中,服务器170可以确定车辆105紧急需要安全更新,并且可以减少或消除线路155的保留带宽以允许安全更新继续进行。历史或以经验获得的数据可以用于确定何时调整或消除保留带宽要求,例如,数据可以指定当区域中存在天气状况时,安全更新可用等,减少或消除保留带宽要求。可替代地或另外地,车辆105计算机110可以向服务器170指定紧急数据卸载的需求,例如存储器已满。
车辆优先级
车辆105计算机110可以存储并向服务器170提供各种元数据,即,关于将由计算机110卸载的数据和/或卸载过程的参数或约束的数据。该元数据可以包括车辆105的优先级等级pi。可替代地或另外地,提供给服务器170的元数据可以包括服务器170可以根据其确定优先级等级的数据。例如,车辆105可以提供优先级或一些其他标识符,其指定车辆105是具有最高级优先级的紧急车辆。在这种情况下,服务器170可以被编程为向此类车辆105分配最高级优先级,而不考虑可以从中导出优先级的元数据。然而,其他车辆105可以指定较低级优先级和/或可以提供可以根据其确定车辆105优先级的元数据。在一些情况下,服务器170可以被编程为简单地使用由车辆105提供的任何优先级,并且如果没有提供任何优先级,则默认为车辆105具有最低级优先级。在其他情况下,服务器170可以被编程为使用仅由具有最高级优先级的车辆105提供的优先级,并且基于元数据来确定其他车辆105的优先级。在又其他情况下,服务器170可以被编程为基于元数据来确定所有车辆10的优先级。
用于确定优先级的元数据可以包括但不限于车辆105上次卸载数据的时间(即,日期和/或当日时间)和/或下一次计划的卸载的时间(例如,直到下一次计划的卸载之前的分钟数no),指定直到车辆105下一次计划进行服务之前的分钟数ns的时间和/或计算机110存储器中除当前存储在计算机110存储器中并且准备进行卸载的数据量di的剩余可用数据存储量as。基于此类数据,服务器170然后可以例如根据诸如以下等式来确定车辆105的优先级pi等级或值:
pi=w1*as+w2*no+w3*ns(1)
其中w1、w2和w3是针对因素as、no和ns的相应重要性的要控制的权重。
在忽略单位的等式(1)的示例中,可以基于车辆105的相应值pi以升序为车辆105分配优先级,即,在该示例中,pi的最低值意味着最高优先级。此外,权重可以被省略,但是可以用于相对于其他因素强调或弱化某一因素。仅举一个示例,诸如救护车或救援车辆的紧急车辆对于直到车辆105下一次计划进行服务之前的分钟数ns可以具有低值,并且此外可以将权重w3设置为低值(例如,.25)以进一步强调该因素。此外,为了帮助使优先级pi的值标准化,可以将取整函数应用于等式(1)的结果,例如下取整函数或四舍五入到最接近整数函数,以获得整数值。
基于所确定的优先级pi,可以将车辆105分配给多个优先级集中的相应优先级集。也就是说,可以确定优先级pi的可能值的范围,并且每个集可以覆盖子范围。例如,优先级值的范围可以从1到5,由此可以定义五个集:第一集,其中pi=1;第二集,其中1<pi≤2;第三集,其中2<pi≤3;第四集,其中3<pi≤4;以及第五集,其中4<pi≤5。
处理
图2是用于将车辆105分配给线路155的示例性过程200的流程图。例如,过程200可以由服务器170的处理器执行存储在服务器170的存储器中的程序指令来执行。
过程200在框205中开始,其中服务器170识别在设施101处排队进行数据卸载的车辆105。例如,服务器170可以识别在指定时间段(例如,60秒、10分钟、60分钟等)内到达的车辆105,或者过程200可以在两个或更多个车辆105已经到达并且在指定时间段(例如,一分钟、两分钟等)内请求数据上传时开始。通常,服务器170将基于例如经由v2x通信机制等接收到来自车辆105的请求卸载数据和/或通知服务器170车辆105存在或预期在指定时间内到达设施101的消息来识别排队进行数据的车辆105,所述消息包括车辆105标识符,诸如车辆识别号码(vin)或可用于识别和跟踪车辆105的其他基本上唯一的标识符。例如,车辆105可以例如经由诸如上文所讨论的协议向服务器170提供车辆在途中并且预期在指定时间到达的消息和/或可以提供当前位置以及车辆105在前往设施101的途中的通知。因此,在框205中,服务器170可以将存在于设施101处的车辆105和/或预期在指定时间或指定时间内存在于设施101处的车辆105识别为在设施101处排队进行数据卸载的车辆105。
此外,车辆105可以在提供给服务器170的消息中提供被称为车辆105元数据的附加数据,因为它是关于车辆105必须卸载的数据的数据,和/或关于描述车辆105的数据传送能力的值的数据,可能包括但不限于分配给车辆105的优先级等级pi、车辆105必须卸载的数据量、车辆105上次卸载数据的日期和/或时间、车辆105可以支持的一个或多个网络协议(例如以太网、wi-fi、蓝牙等)、以及诸如以上讨论的用于确定车辆的优先级等级的其他元数据。
接下来,在框210中,服务器170确定设施101中的每个线路155的当前负载uj,即,正在处理的当前数据量。例如,可以例如根据常规网络监测技术将负载指定为在当前时间经由线路155发送和/或接收的数据量或在指定时间段内的平均值。负载可以被指定为例如每秒兆位(mbps)。
接下来,在框215中,服务器170识别在框205中识别的车辆105中优先级pi是例如当前优先级集中的当前优先级等级的车辆105。可以确定车辆105的优先级等级优先级pi和/或可以将车辆105分配到如上所述的优先级集。在框215的初始迭代时,即,当过程200被初始化时,当前优先级等级被设置为最高级优先级,例如,当可能的优先级等级范围为从1到5时,优先级等级为1,或者可以为1或0。此外,可以调整优先级等级,例如递增或选择不同的优先级集进行处理,如下面关于框290所述。
接下来,在框220中,服务器170根据每个车辆105必须卸载的数据量di来对在框215中识别的车辆105(即,具有相同和当前优先级等级pi的车辆105)进行排序,通常按照从具有最多要卸载的数据的车辆105开始降序到具有最少要卸载的数据的车辆105的顺序。
接下来,在框225中,服务器170为在框215中识别的车辆构建可用线路155的集l。通常,服务器170遍历设施101中包括在被激活的终端150中的所有线路155。如果线路155的当前负载uj低于阈值,则为该集选择线路155。阈值可以特定于单个线路155。例如,线路155可以具有例如以mbps表示的带宽容量。线路155的阈值可以是小于其被选择为允许线路155处理附加卸载的带宽容量的量,假设车辆105的平均或典型数据量di。此外,线路155的阈值可以从其带宽容量中进一步减去,以考虑到例如用于紧急和/或系统通信的需要保留的带宽量。又此外,阈值可以取决于针对线路155考虑的车辆105的优先级。例如,如果车辆105具有最高优先级pi,则线路155的可允许电流负载uj的阈值可以更高,例如,可以移除如上面讨论的用于紧急或系统带宽消耗的储备,并且然后对于优先级最低的车辆105的阈值可以低于最高优先级pi。
接下来,在框230中,服务器170从在框215中确定的车辆集中选择当前车辆,从在框220中确定的第一车辆开始,并且以在框220中确定的顺序在框230的后续迭代中继续。
接下来,在框240中,对于具有索引i的当前车辆150,服务器170例如如下计算集l中的每个线路155的数据卸载时间(dot)oij:
其中,i和j是各个车辆105和线路155的索引号,如上面所解释的。此外,可以确定预连接时间
接下来,在框245中,对于具有索引i的当前车辆150,服务器170例如基于确定具有索引i的车辆105从当前位置(例如,车辆105从其向服务器170发送指示车辆105在针对数据卸载的指定时间内到达设施101的消息的位置)行进到被分配给具有索引j的线路155的位置(例如,在框205中确定车辆105存在于设施中的位置)的时间来计算集l中的每一线路155的etaeij。可以使用用于确定路线和用于确定穿越路线的时间的已知算法,包括考虑诸如其他车辆105的障碍物和/或此类障碍物何时可能移动,和/或车辆105可以提供到达服务器170的估算时间。
接下来,在框250中,对于具有索引i的当前车辆150,服务器170计算集l中的每个线路155的总服务时间tij,例如,
tij=oij+max(uj,eij)(3)
其中,等式(3)中的uj表示以带宽di卸载数据量uj的时间量。
接下来,在框255中,服务器170识别集l中针对当前车辆105具有最低总服务时间tij的线路155(或者通过在具有相同和最低总服务时间tij的线路155之间随机地选择)。已经被确定为当前车辆105的迄今最佳的所识别线路155可以被称为j*。
接下来,在框260中,服务器170确定是否满足终端条件,即,是否满足终端150的条件,所述终端包括在框255中识别的线路155以便线路155能够向当前车辆105提供数据卸载。下文关于图3描述了用于确定是否满足终端条件的过程。注意,可以从过程200中省略框260和过程300,但这可能导致由于包括线路155的终端150中的条件而将车辆105分配到不能容纳车辆105的线路155,从而延迟车辆105的数据卸载。如果不满足终端条件,则服务器170从集l中移除在框255中识别的线路155,并返回到框255。否则,过程200前进到框265。
在框265中,服务器170将当前车辆105分配到在框255中识别的线路155。框265通常包括服务器170例如在诸如如上所述的无线消息中向当前车辆105提供分配。在接收到分配时,或者在可以在来自服务器170的消息中提供的指定时间,车辆105例如根据计算机110中的编程可以致动部件120将车辆移动到用于将数据卸载到所识别的线路155的位置。
接下来,在框270中,服务器170更新在框265中分配给当前车辆105的线路155的当前带宽uj,即,以考虑例如如在等式(4)中将由当前车辆105消耗的带宽:
接下来,在框275中,服务器170确定是否有任何新车辆105已到达设施101以排队等待线路155。如果是,则过程返回到框205以将新车辆105添加到队列,并且开始过程200的新执行,即,从框205之后的框210开始。否则,过程200前进到框280。
在框280中,服务器170从在框205中被识别为在设施101中排队的车辆集中确定是否有待处理的任何车辆105。如果否,则过程200结束。否则,过程200前进到框285。
在框285中,服务器170从如上文关于框215所述被确定为具有当前优先级的车辆105中确定是否有待处理的任何车辆105。如果是,则过程200返回到框225,以根据将车辆105分配到线路155并更新线路155的带宽来重新确定所述集,如关于框265、270所描述的。
在框290中,服务器170递增或递减或以其他方式识别待处理的下一个优先级或优先级集,并且过程200返回到框215以识别具有该新的当前优先级的车辆105。
图3是用于确定是否满足终端条件的示例性过程300的流程图。过程300可以由服务器170的处理器执行存储在服务器170的存储器中的程序指令来执行。过程300通常是以上所述过程200的子过程,并且假设已经识别出当前车辆105,并且已经识别出针对车辆105的线路155j*。
过程300在框305中开始,其中服务器170例如根据上面的等式(4)确定负载,即,被认为是分配给当前车辆105的线路155j*的预测带宽
接下来,服务器170评估包括线路155j*的终端150,即,确定是否满足终端条件,即,终端150是否可以提供待由线路155j*提供的带宽。例如,服务器170可以评估:
也就是说,服务器170可以确定对于包括线路155j*的终端150中的所有线路155,在当前车辆105被分配到线路155j*之后是否将保留足够的带宽。如果满足终端条件,例如,等式(5)评估为真,则过程300结束,例如,可以返回到过程200。否则,过程300前进到框315。
在框315中,服务器170输出指定由于会违反终端条件而不能将线路155j*分配给当前车辆105的数据。例如,服务器170可以将该信息写入日志文件和/或提供例如呈对设施101中的显示装置的警报的形式的输出。
接下来,在框320中,服务器170从可用线路155的集l中移除线路155j*。
在框320之后,过程300结束。
结论
如本文所使用,副词“基本上”意指形状、结构、测量结果、数量、时间等因为材料、机加工、制造、数据传输、计算速度等的缺陷而可能偏离精确描述的几何形状、距离、测量结果、数量、时间等。
“基于”涵盖“全部基于或部分基于”。
大体来说,所描述的计算系统和/或装置可采用多个计算机操作系统中的任一种,包括但决不限于ford
计算机和计算装置一般包括计算机可执行指令,其中所述指令可由一个或多个计算装置(诸如以上列出的那些)执行。可由使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于javatm、c、c++、matlab、simulink、stateflow、visualbasic、javascript、perl、html等。这些应用程序中的一些可在诸如java虚拟机、dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)接收来自例如存储器、计算机可读介质等的指令,并执行这些指令,从而执行一个或多个过程,包括本文所述过程中的一个或多个。可使用各种计算机可读介质来存储和传输此类指令和其他数据。计算装置中的文件一般是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据集合。
存储器可包括计算机可读介质(也称为处理器可读介质),所述计算机可读介质包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂态(例如,有形)介质。此类介质可采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质可包括例如光盘或磁盘以及其他永久存储器。例如,易失性介质包括通常构成主存储器的动态随机存取存储器(dram)。此类指令可以由一种或多种传输介质传输,所述一种或多种传输介质包括同轴电缆、铜线和光纤,包括构成联接到ecu的处理器的系统总线的电线。计算机可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其他磁性介质、cd-rom、dvd、任何其他光学介质、穿孔卡片、纸带、任何其他具有孔图案的物理介质、ram、prom、eprom、快闪-eeprom、任何其他存储器芯片或盒式磁带,或计算机可从中读取的任何其他介质。
数据库、数据存储库或本文所描述的其他数据存储装置可包括用于存储、访问和检索各种数据的各种机制,包括分层数据库、文件系统中的文件集、呈专用格式的应用数据库、关系型数据库管理系统(rdbms)等。每个此类数据存储装置总体上包括在采用计算机操作系统(诸如以上所提及那些中的一种)的计算装置内,并且经由网络以各种方式中的任一种或多种来访问。文件系统可从计算机操作系统存取,并且可包括以各种格式存储的文件。除了用于创建、存储、编辑和执行存储过程的语言之外,rdbms通常还使用结构化查询语言(sql),诸如上文提及的pl/sql语言。
在一些示例中,系统元件可被实现为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读指令(例如,软件)。计算机程序产品可以包括存储在计算机可读介质上用于执行本文所述的功能的此类指令。
关于本文所描述的介质、过程、系统、方法、启发等,应当理解,虽然此类过程等的步骤已被描述为根据某一有序顺序发生,但此类过程可在以与本文所描述次序不同的次序执行所描述步骤的情况下来实践。还应理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供,而绝不应将其解释为对权利要求进行限制。
因此,应理解,以上描述意图为说明性的而非限制性的。在阅读以上描述时,除了所提供的示例之外的许多实施例和应用对于本领域的技术人员将是明显的。不应参考以上描述来确定本发明的范围,而应该为参考所附权利要求连同此类权利要求所赋予权利的等效物的全部范围来确定本发明的范围。预期并期望本文所讨论的技术未来将有所发展,并且所公开的系统和方法将并入此类未来实施例中。总之,应当理解,本发明能够进行修改和变化,并且仅受所附权利要求限制。
除非本文做出明确的相反指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和一般的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
根据本发明,提供了一种系统,其具有包括处理器和存储器的计算机,所述存储器存储可由所述处理器执行的指令,以:接收来自多个车辆中的每个车辆的交换数据的请求,每个请求包括关于所述请求的元数据;将所述车辆排序到根据所述元数据确定的多个优先级集;确定可用于所述优先级集中的第一优先级集中的车辆的第一数据传送线路集;从所述第一数据传送线路集中为所述第一优先级集中的所述车辆中的第一车辆选择第一最佳数据传送线路;以及将所述第一最佳数据传送线路分配给所述车辆中的所述第一车辆。
根据一个实施例,所述指令还包括指令,以至少部分地基于确定针对包括所述第一最佳数据传送线路的终端满足条件来选择所述第一最佳数据传送线路。
根据一个实施例,所述指令还包括指令,以:通过将用于所述车辆中的所述第一车辆传送数据的线路负载添加到所述第一最佳数据传送线路的当前线路负载来计算所述第一最佳数据传送线路的更新的线路负载;以及在确定所更新的线路负载不超过为包括所述第一最佳数据传送线路的所述终端指定的带宽量时确定满足终端条件。
根据一个实施例,所述指令还包括指令,以在确定不满足终端条件时:通过从所述第一数据传送线路集中移除所述最佳数据传送线路来修改所述第一数据传送线路集;以及然后从所述第一数据传送线路集中重新选择所述第一最佳数据传送线路。
根据一个实施例,所述指令还包括指令,以:确定可用于所述优先级集中的第二优先级集中的车辆的第二数据传送线路集;从所述第二数据传送线路集中为所述第二优先级集中的所述车辆中的第二车辆选择第二最佳数据传送线路;以及将所述第二最佳数据传送线路分配给所述车辆中的所述第二车辆。
根据一个实施例,所述指令还包括指令,以至少部分地基于确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据交换时间来选择所述第一最佳数据传送线路。
根据一个实施例,所述指令还包括指令,以至少部分地基于确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据传送的总服务时间来选择所述第一最佳数据传送线路。
根据一个实施例,所述指令还包括指令,以至少部分地基于确定所述车辆中的所述第一车辆从当前位置移动到所述第一数据传送线路集中的每个数据传送线路的相应位置的估算时间来选择所述第一最佳数据传送线路。
根据一个实施例,所述指令还包括指令,以根据待交换的数据量在每个优先级集中对所述车辆进行排序,其中所述车辆中的所述第一车辆具有待交换的最高数据量。
根据一个实施例,所述指令还包括指令,以调整用于确定可用于所述优先级集中的所述第一优先级集中的车辆的所述第一数据传送线路集的带宽阈值。
根据一个实施例,元数据包括优先级等级。
根据一个实施例,每个车辆的元数据包括以下各项中的一项或多项:(a)所述车辆上次交换数据的时间或下一次计划交换的时间,(b)指定直到所述车辆下一次计划进行服务之前的分钟数的时间,或者(c)车辆计算机存储器中的可用数据存储量。
根据一个实施例,所述第一最佳数据传送线路是有线连接和无线连接中的一者。
根据一个实施例,本发明的特征还在于所述车辆中的所述第一车辆,其中所述车辆中的所述第一车辆包括第一车辆计算机,所述第一车辆计算机被编程为致动所述第一车辆移动到经由所述最佳数据传送线路交换数据的位置。
根据本发明,一种方法包括:接收来自多个车辆中的每个车辆的交换数据的请求,每个请求包括关于所述请求的元数据;将所述车辆排序到根据所述元数据确定的多个优先级集;确定可用于所述优先级集中的第一优先级集中的车辆的第一数据传送线路集;从所述第一数据传送线路集中为所述第一优先级集中的所述车辆中的第一车辆选择第一最佳数据传送线路;以及将所述第一最佳数据传送线路分配给所述车辆中的所述第一车辆。
在本发明的一个方面,所述方法包括至少部分地基于确定针对包括所述第一最佳数据传送线路的终端满足条件来选择所述第一最佳数据传送线路。
在本发明的一个方面,所述方法包括:通过将用于所述车辆中的所述第一车辆传送数据的线路负载添加到所述第一最佳数据传送线路的当前线路负载来计算所述第一最佳数据传送线路的更新的线路负载;以及在确定所更新的线路负载不超过为包括所述第一最佳数据传送线路的所述终端指定的带宽量时确定满足终端条件。
在本发明的一个方面,所述方法包括确定不满足终端条件并且然后:通过从所述第一数据传送线路集中移除所述最佳数据传送线路来修改所述第一数据传送线路集;以及然后从所述第一数据传送线路集中重新选择所述第一最佳数据传送线路。
根据本发明的一个方面,所述方法包括:确定可用于所述优先级集中的第二优先级集中的车辆的第二数据传送线路集;从所述第二数据传送线路集中为所述第二优先级集中的所述车辆中的第二车辆选择第二最佳数据传送线路;以及将所述第二最佳数据传送线路分配给所述车辆中的所述第二车辆。
根据本发明的一个方面,所述方法包括至少部分地基于以下各项中的一项或多项来选择所述第一最佳数据传送线路:(a)确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据交换时间;(b)确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个数据传送线路的数据传送的总服务时间;或者(c)确定所述车辆中的所述第一车辆从当前位置移动到所述第一数据传送线路集中的每个数据传送线路的相应位置的估算时间。
1.一种方法,其包括:
接收来自多个车辆中的每个车辆的交换数据的请求,每个请求包括关于所述请求的元数据;
将所述车辆排序到根据所述元数据确定的多个优先级集;
确定可用于所述优先级集中的第一优先级集中的车辆的第一数据传送线路集;
从所述第一数据传送线路集中为所述第一优先级集中的所述车辆中的第一车辆选择第一最佳数据传送线路;以及
将所述第一最佳数据传送线路分配给所述车辆中的所述第一车辆。
2.如权利要求1所述的方法,其还包括至少部分地基于确定针对包括所述第一最佳数据传送线路的终端满足条件来选择所述第一最佳数据传送线路。
3.如权利要求2所述的方法,其还包括:
通过将用于所述车辆中的所述第一车辆传送数据的线路负载添加到所述第一最佳数据传送线路的当前线路负载来计算所述第一最佳数据传送线路的更新的线路负载;以及
在确定所更新的线路负载不超过为包括所述第一最佳数据传送线路的所述终端指定的带宽量时确定满足终端条件。
4.如权利要求1所述的方法,其还包括在确定不满足终端条件时:
通过从所述第一数据传送线路集中移除所述最佳数据传送线路来修改所述第一数据传送线路集;以及
然后从所述第一数据传送线路集中重新选择所述第一最佳数据传送线路。
5.如权利要求1所述的方法,其还包括:
确定可用于所述优先级集中的第二优先级集中的车辆的第二数据传送线路集;
从所述第二数据传送线路集中为所述第二优先级集中的所述车辆中的第二车辆选择第二最佳数据传送线路;以及
将所述第二最佳数据传送线路分配给所述车辆中的所述第二车辆。
6.如权利要求1所述的方法,其还包括至少部分地基于以下各项来选择所述第一最佳数据传送线路:确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个所述数据传送线路的数据交换时间;或者确定所述车辆中的所述第一车辆的所述第一数据传送线路集中的每个所述数据传送线路的数据传送的总服务时间;或者确定所述车辆中的所述第一车辆从当前位置移动到所述第一数据传送线路集中的每个所述数据传送线路的相应位置的估算时间。
7.如权利要求1所述的方法,其还包括根据待交换的数据量在每个优先级集中对所述车辆进行排序,其中所述车辆中的所述第一车辆具有待交换的最高数据量。
8.如权利要求1所述的方法,其还包括调整用于确定可用于所述优先级集中的所述第一优先级集中的车辆的所述第一数据传送线路集的带宽阈值。
9.如权利要求1所述的方法,其中所述元数据包括优先级等级。
10.如权利要求1所述的方法,其中每个车辆的所述元数据包括以下各项中的一项或多项:(a)所述车辆上次交换数据的时间或下一次计划交换的时间,(b)指定直到所述车辆下一次计划进行服务之前的分钟数的时间,或者(c)车辆计算机存储器中的可用数据存储量。
11.如权利要求1所述的方法,其中所述第一最佳数据传送线路是有线连接和无线连接中的一者。
12.一种计算机,其被编程为执行如权利要求1至11中任一项所述的方法。
13.一种系统,其包括被编程为执行如权利要求1至11中任一项所述的方法的计算机。
14.如权利要求13所述的系统,其还包括所述车辆中的所述第一车辆,其中所述车辆中的所述第一车辆包括第一车辆计算机,所述第一车辆计算机被编程为致动所述第一车辆移动到经由最佳数据传送线路交换数据的位置。
技术总结