CN111221679A - 车辆对车辆分布式数据存储系统的丢失数据恢复 - Google Patents
车辆对车辆分布式数据存储系统的丢失数据恢复 Download PDFInfo
- Publication number
- CN111221679A CN111221679A CN201911172676.8A CN201911172676A CN111221679A CN 111221679 A CN111221679 A CN 111221679A CN 201911172676 A CN201911172676 A CN 201911172676A CN 111221679 A CN111221679 A CN 111221679A
- Authority
- CN
- China
- Prior art keywords
- data
- vehicle
- data set
- segments
- data segments
- 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
- 238000011084 recovery Methods 0.000 title claims abstract description 97
- 238000013500 data storage Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 152
- 230000006854 communication Effects 0.000 claims abstract description 142
- 238000004891 communication Methods 0.000 claims abstract description 142
- 230000006870 function Effects 0.000 claims description 137
- 230000015654 memory Effects 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 25
- 239000000470 constituent Substances 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 description 78
- 238000003860 storage Methods 0.000 description 31
- 238000010801 machine learning Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 15
- 238000013459 approach Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 5
- 230000010267 cellular communication Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 229910002091 carbon monoxide Inorganic materials 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/30—Network data restoration; Network data reliability; Network data fault tolerance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0011—Control or signalling for completing the hand-off for data sessions of end-to-end connection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
Abstract
车辆对车辆分布式数据存储系统的丢失数据恢复。本公开包括用于在车辆微云中恢复丢失数据的实施例。在一些实施例中,用于作为车辆微云的成员的连接车辆的方法包括:检测数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失。在第一数据移交功能之前执行的先前数据移交功能期间将数据集划分为包括一个或更多个数据段的多个数据段。该方法包括修改连接车辆的通信单元的操作,以从在先前数据移交功能期间监听一个或更多个数据段的一组监听车辆收集一个或更多个数据段,以便在连接车辆上恢复数据集。
Description
技术领域
该说明书涉及恢复包括车辆微云的车辆对一切(V2X)数据存储系统的丢失数据。
背景技术
云计算有助于对于连接且自动驾驶车辆的新兴服务,因为期望车辆与远程云服务器交换不断增加数量的数据内容(例如,通过蜂窝网络)。这样的数据内容的示例包括用于自动驾驶的三维道路地图、用于信息娱乐服务的内容等。车辆与云服务器之间的不断增加数量的网络流量可能会对无线电接入网络和底层骨干网络造成巨大负载。
由连接车辆的集群(即,“车辆微云”)进行的分布式数据存储是应对为连接车辆以及由连接车辆生成的不断增加的网络流量的有前途的解决方案。车辆协作地将数据内容存储(或缓存)在其车载数据存储装置中,并且根据其他车辆的请求通过车辆对车辆(V2V)网络来共享数据内容。
发明内容
描述了安装在连接车辆的车载单元中的车辆微云(VMC)维护系统的实施例,该车辆微云(VMC)维护系统能够恢复包括车辆微云的V2X数据存储系统的丢失数据。
在本文中描述的一些实施例中,车辆微云包括以下微云成员中的一个或更多个:源车辆;第一目的地车辆;第二目的地车辆;和一组监听车辆。这些微云成员是各自包括其自己的VMC维护系统实例的连接车辆。VMC维护系统包括可操作以执行以下操作(1)-(12)中的一个或更多个操作的代码和例程。
操作(1):源车辆的VMC维护系统确定源车辆离开存在车辆微云的地理区域。
操作(2):源车辆的VMC维护系统确定源车辆存储了车辆微云的数据集。
操作(3):源车辆的VMC维护系统将数据集划分为多个数据段。数据集中的数据段的数目可以预先配置。可以为每个数据段分配唯一标识符,以便特定数据段可基于其所分配的唯一标识符与另一数据段相区分。唯一标识符可以由存储在数据段的预定义位置中的一个或更多个数据比特来指定,以便该数据段的唯一标识符可以容易地由知道数据段内的一个或更多个数据比特的位置的软件、硬件或其组合来识别。
操作(4):源车辆的VMC维护系统确定对于数据集的第一目的地车辆。第一目的地车辆是可以在源车辆离开存在车辆微云的地理区域之后存储数据集的车辆微云的成员。
操作(5):源车辆的VMC维护系统通过经由诸如专用短距离通信(DSRC)、毫米波(mmWave)、3G、4G、5G、LTE、LTE-V2X、5G-V2X等V2X通信将数据集发送到第一目的地车辆来执行第一数据移交功能。
操作(6):(一组监听车辆中的)每个监听车辆的VMC维护系统侦听V2X发送,并且监听所发送的数据集的一个或更多个数据段。该操作(6)可以在第一数据移交功能的执行期间(即,操作(5))或者当数据集被发送到车辆微云的成员时的任何其他时间进行。
操作(7):(一组监听车辆中的)每个监听车辆的VMC维护系统将其监听的各自数据段的全部或子集存储在其车载存储装置中。
操作(8):第一目的地车辆的VMC维护系统确定第一目的地车辆离开存在车辆微云的地理区域。
操作(9):第一目的地车辆的VMC维护系统确定对于数据集的第二目的地车辆。第二目的地车辆是可以在第一目的地车辆离开存在车辆微云的地理区域之后存储数据集的车辆微云的成员。
操作(10):第一目的地车辆的VMC维护系统通过经由V2X通信将数据集发送到第二目的地车辆来执行第二数据移交功能。
操作(11):任何微云成员的VMC维护系统确定第二数据移交功能失败。例如,第二目的地车辆没有接收在操作(3)创建的每个数据段。
操作(12):根据操作(6)和(7)从一组监听车辆识别并且恢复从第二目的地车辆缺失的数据段。
本文中描述的VMC维护系统可以有益地提供恢复在数据移交功能期间丢失的任何数据内容而无需将相同数据内容的许多副本保持在车辆微云中的能力。VMC维护系统在数据存储资源的可靠性和有效利用之间提供了合理的权衡。VMC维护系统能够通过包括车辆对车辆(V2V)通信的V2X通信来可靠地在车辆微云内的车辆集群中保持数据内容。
一个或更多个计算机的系统可以被配置为通过在系统上安装软件、固件、硬件或其组合来执行特定的操作或动作,所述软件、固件、硬件或其组合在操作中引起或导致系统执行动作。一个或更多个计算机程序可以被配置为通过包括指令来执行特定的操作或动作,所述指令在由数据处理设备执行时使该设备执行动作。
一个总体方面包括一种用于作为车辆微云的成员的连接车辆的方法,所述方法包括:检测第一数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失,其中,在第一数据移交功能之前执行的先前数据移交功能期间将第一数据集划分为包括所述一个或更多个数据段的多个数据段;以及修改所述连接车辆的通信单元的操作以从在先前数据移交功能期间监听所述一个或更多个数据段的一组监听车辆收集所述一个或更多个数据段,以便在所述连接车辆上恢复第一数据集。该方面的其他实施例包括相应的计算机系统、设备和记录在一个或更多个计算机存储装置上的计算机程序,各自被配置为执行所述方法的动作。
实现方式可以包括以下特征中的一个或更多个。在所述方法中,修改所述连接车辆的通信单元的操作包括:修改所述通信单元的一个或更多个操作元素,以便通过所述通信单元从一个或更多个监听车辆检索在第一数据移交功能期间丢失的所述一个或更多个数据段。在所述方法中,所述通信单元的所述一个或更多个操作元素包括以下各项中的一个或更多个:要在所述通信单元上操作的一个或更多个活动V2X信道;要在所述通信单元上操作的一个或更多个活动V2X无线电装置;要在所述通信单元上操作的一个或更多个活动V2X天线;所述一个或更多个活动V2X信道的一个或更多个操作频率;在所述一个或更多个活动V2X天线上执行的一个或更多个波束成形技术;和所述通信单元的带宽分配方案。在所述方法中,检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:在执行第一数据移交功能之后构造第一集群内容列表,第一集群内容列表包括数据集的第一聚合列表和第一聚合列表中的每个数据集的组成数据段;以及至少部分地基于第一集群内容列表来检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失。在所述方法中,在执行第一数据移交功能之后构造第一集群内容列表包括:在执行第一数据移交功能之后,与所述车辆微云的一个或更多个其他成员执行信标消息交换处理,包括:(1)经由V2X网络将包括由所述连接车辆维持的按成员的内容列表的信标消息发送到所述车辆微云的所述一个或更多个其他成员;以及(2)从所述车辆微云的所述一个或更多个其他成员接收包括一个或更多个其他按成员的内容列表的一个或更多个其他信标消息;以及构造第一集群内容列表以包括由所述连接车辆维持的按成员的内容列表和由所述车辆微云的所述一个或更多个其他成员维持的所述一个或更多个其他按成员的内容列表。在所述方法中,由所述车辆微云的对应成员维持的每个按成员的内容列表包括在执行第一数据移交功能之后由所述车辆微云的对应成员维持的数据集的按成员的列表和所述按成员的列表中的每个数据集的数据段。在所述方法中,至少部分地基于第一集群内容列表来检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:将第一集群内容列表与先前集群内容列表进行比较以确定第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失。在所述方法中,所述先前集群内容列表包括数据集的先前聚合列表和所述先前聚合列表中的每个数据集的组成数据段。在所述方法中,将第一集群内容列表与所述先前集群内容列表进行比较以确定第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:响应于确定所述一个或更多个数据段包括在所述先前集群内容列表中而在第一集群内容列表中缺失,确定所述一个或更多个数据段在第一数据移交功能期间丢失。在所述方法中,在执行第一数据移交功能之后构造第一集群内容列表,以及在执行所述先前数据移交功能之后而且在执行第一数据移交功能之前构造所述先前集群内容列表。在所述方法中,在执行第一数据移交功能之后构造第一集群内容列表,以及至少通过以下方式在执行第一数据移交功能之前构造所述先前集群内容列表:从将第一数据集划分为所述多个数据集的源车辆接收V2X无线消息,其中,所述V2X无线消息包括用来识别第一数据集的数据集标识ID数据和用来识别组成第一数据集的所述多个数据段的段ID数据;以及构造所述先前集群内容列表以包括第一数据集的所述数据集ID数据和所述多个数据段的所述段ID数据。在所述方法中,检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:检测对第一数据集的请求失败;以及响应于对第一数据集的请求的失败,确定当执行第一数据移交功能时第一数据集的所述一个或更多个数据段丢失。在所述方法中,使用编码技术将第一数据集编码为Q个编码块,并且将所述Q个编码块中的每个编码块视为数据段,以便提高对于第一数据集的成功数据恢复的概率,其中,Q是正整数。在所述方法中,所述连接车辆充当对于通过V2X网络发送的第二数据集的监听车辆。所述方法还包括:侦听第二数据集通过V2X网络的发送;监听通过V2X网络发送的第二数据集的数据段的数量;以及在所述连接车辆上存储来自所监听的数据段的数量的数据段的数目,其中,所存储的数据段的数目包括所监听的数据段的数量的全部或子集。在所述方法中,被所述连接车辆监听并且存储的第二数据集的数据段的数目包括来自第二数据集的数据段的预定数目。在所述方法中,被所述连接车辆监听并且存储的第二数据集的数据段的数目包括来自第二数据集的数据段的动态数目。在所述方法中,基于所述车辆微云中的成员的总数目、所述连接车辆上的数据存储资源的可用性、第二数据集的大小、所述车辆微云中的数据段损失率和描述第一数据集的恢复结果的反馈数据中的一个或更多个来确定数据段的动态数目。所描述的技术的实现方式可以包括硬件、方法或处理、或计算机可访问介质上的计算机软件。
一个总体方面包括一种系统,该系统包括:车辆微云中的连接车辆的车载车辆计算机系统,包括通信单元、处理器和存储计算机代码的非暂态存储器,所述计算机代码在由处理器执行时使所述处理器:检测第一数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失,其中,在第一数据移交功能之前执行的先前数据移交功能期间将第一数据集划分为包括所述一个或更多个数据段的多个数据段;以及修改所述连接车辆的通信单元的操作以从在先前数据移交功能期间监听所述一个或更多个数据段的一组监听车辆收集所述一个或更多个数据段,以便在所述连接车辆上恢复第一数据集。该方面的其他实施例包括相应的计算机系统、设备和记录在一个或更多个计算机存储装置上的计算机程序,各自被配置为执行所述方法的动作。
实现方式可以包括以下特征中的一个或更多个。在所述系统中,所述连接车辆充当对于通过V2X网络发送的第二数据集的监听车辆,以及其中所述计算机代码在由所述处理器执行时使所述处理器进一步:侦听第二数据集通过V2X网络的发送;监听通过V2X网络发送的第二数据集的数据段的数量;以及在所述连接车辆上存储来自所监听的数据段的数量的数据段的数目,其中,所存储的数据段的数目包括所监听的数据段的数量的全部或子集。所描述的技术的实现方式可以包括硬件、方法或处理、或计算机可访问介质上的计算机软件。
一个总体方面包括一种计算机程序产品,所述计算机程序产品包括存储计算机可执行代码的非暂态存储器,所述计算机可执行代码在由处理器执行时使所述处理器:检测第一数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失,其中,在第一数据移交功能之前执行的先前数据移交功能期间将第一数据集划分为包括所述一个或更多个数据段的多个数据段;以及修改所述连接车辆的通信单元的操作以从在先前数据移交功能期间监听所述一个或更多个数据段的一组监听车辆收集所述一个或更多个数据段,以便在所述连接车辆上恢复第一数据集。该方面的其他实施例包括相应的计算机系统、设备和记录在一个或更多个计算机存储装置上的计算机程序,各自被配置为执行所述方法的动作。
实现方式可以包括以下特征中的一个或更多个。在所述计算机程序产品中,所述计算机可执行代码在由所述处理器执行时使所述处理器进一步:侦听第二数据集通过V2X网络的发送;监听通过V2X网络发送的第二数据集的数据段的数量;以及在所述连接车辆上存储来自所监听的数据段的数量的数据段的数目,其中,所存储的数据段的数目包括所监听的数据段的数量的全部或子集。所描述的技术的实现方式可以包括硬件、方法或处理、或计算机可访问介质上的计算机软件。
附图说明
在附图的各个图中,通过示例而非限制的方式示出了本公开,在附图中,相同的附图标记用来表示相同的元件。
图1A是示出根据一些实施例的示例车辆微云的框图。
图1B是示出根据一些实施例的用于VMC维护系统的操作环境的框图。
图1C是示出根据一些实施例的用于VMC维护系统的操作环境的另一框图。
图1D是示出根据一些实施例的用于在监听车辆中部分地缓存数据段的示例流程处理的框图。
图1E是示出根据一些实施例的用于基于由图1D的监听车辆监听的数据段来恢复丢失数据的示例流程处理的框图。
图2是示出根据一些实施例的包括VMC维护系统的示例计算机系统的框图。
图3描绘根据一些实施例的用于恢复车辆微云的丢失数据的方法。
图4A描绘根据一些实施例的用于使用主动方法来恢复车辆微云的丢失数据的方法。
图4B描绘根据一些实施例的用于使用主动方法来恢复车辆微云的丢失数据的另一方法。
图5A描绘根据一些实施例的用于使用被动方法来恢复车辆微云的丢失数据的方法。
图5B描绘根据一些实施例的用于使用被动方法来恢复车辆微云的丢失数据的另一方法。
图6描绘根据一些实施例的用于执行数据移交功能的方法。
图7A描绘根据一些实施例的用于监听数据集的数据段的方法。
图7B描绘根据一些实施例的用于监听数据集的数据段的另一方法。
图8A和图8B是示出根据一些实施例的示例DSRC数据的图形表示。
图9是示出根据一些实施例的用于执行先前数据移交功能、构造先前集群内容列表、执行第一数据移交功能以及构造第一集群内容列表的示例时间戳的图形表示。
具体实施方式
彼此靠近的连接车辆可以形成车辆微云,并且在本文中被称为“微云成员”或“车辆微云的成员”。连接车辆通过V2X(例如V2V)网络在微云成员之间协作地执行计算、数据存储、感测、通信任务及其任何组合,包括但不限于以下各项:(1)在多个微云成员之间协作地执行资源密集型的计算任务;(2)在多个微云成员之间协作地保持和更新数据内容;(3)通过多个微云成员的车载传感器协作地执行路况感测;以及(4)协作地从云服务器(或边缘服务器)下载数据内容或将数据内容上传到云服务器(或边缘服务器)。
使用车辆微云消除了连接车辆每当其需要访问数据(例如,用于自动驾驶的高清道路地图)时通过车辆对网络(V2N)通信(例如,通过蜂窝网络)访问远程云服务器或边缘服务器的需要。根据车辆微云的移动性,可以通过示例的方式将车辆微云分类为两种类型:静止车辆微云;和移动车载微云。
静止车辆微云可以被绑定到某个地理区域(例如,交叉路口)。当车辆进入静止车辆微云的预定义地理区域时,该车辆加入静止车辆微云,而当该车辆从预定义地理区域离开时,该车辆离开静止车辆微云。当车辆从预定义地理区域离开时,该车辆还将正在进行的静止车辆微云的任务和数据移交到其他微云成员。在一些实施例中,停放的车辆也可以是静止车辆微云的成员。
在移动车辆微云中,成员领导者(例如,充当车辆微云中的领导者的连接车辆)可以邀请其邻近的车辆加入移动车辆微云。与静止车辆微云不同,移动车辆微云随着成员领导者移动而移动。成员领导者将其他微云成员招募到移动车载微云中,并且将子任务分发给其他微云成员以进行协作任务执行。
与在数据存储节点之间的网络链路相对稳定的因特网或计算机集群上的常规分布式数据存储系统相比,由车辆微云提供的数据存储功能在实现上更具挑战性。与传常规分布式存储系统不同,车辆微云中的数据存储节点(即车辆)由于其移动性而可以频繁地加入和离开车辆微云。为了在车辆微云中保持数据内容,离开车辆微云的车辆需要在其离开车辆微云之前执行将其存储的数据集移交到一个或更多个其他车辆的功能,这被称为数据移交功能。
然而,在车辆微云中,并非总是成功地执行数据移交功能。例如,数据移交功能可能由于以下因素中的一个或更多个而失败:(1)无线信道中发生分组冲突;和(2)微云成员之间的网络连接性不足。如果数据移交功能失败,则数据集可能会不可挽回地从车辆微云中丢失。
基于车辆的分布式数据存储服务的现有解决方案可被分类为两类:(1)基于地理广播的解决方案;和(2)基于移交的解决方案。
现有的基于地理广播的解决方案在形成车辆微云的区域中重复地理范围的泛洪,以便全部微云成员可以在其数据存储装置中保持全部数据内容的副本。该方法可以被认为是高度可靠的,因为全部微云成员在其车载数据存储装置中保持相同数据内容的副本。该方法的缺点是由于数据缓存的过度冗余而导致数据存储资源的低效利用。
现有的基于移交的解决方案假设当车辆离开地理区域时在单播的基础上将数据内容移交到另一替选车辆。由于只有单个或少量的微云成员保持相同且完整的数据内容,因此该方法使得能够有效利用数据存储资源。与基于地理广播的解决方案相比,现有的基于移交的解决方案允许有效使用数据存储资源。然而,如果微云成员之间的数据移交功能失败(例如,由于分组丢失、车辆之间的接触时间不足等),则数据内容可能很容易从车辆微云中丢失。
本文中所述的VMC维护系统可以提供用于车辆微云的机制,以可靠地检索在数据移交功能的执行期间丢失的任何数据。现有解决方案均不包括(由本文中所述的VMC维护系统提供的)以下各项的功能:将数据集分为数据段;以有效的方式在车辆微云的一个或更多个成员之间存储数据段,以便并非全部车辆都需要存储数据集的完整副本;检测在执行数据移交功能时数据段已丢失;以及恢复丢失数据段。
在本文中描述的VMC维护系统中,并非全部微云成员都需要存储整个数据集的完整副本;相反,数据集被分为数据段,并且微云成员中的一些(虽然可能不是全部)存储这些数据段中的一些(但不是全部)。VMC维护系统的该方法创建了现有解决方案中不存在的数据冗余效率。相比之下,现有解决方案是不够的,因为现有解决方案只能通过采用非高效的数据恢复方法(例如,将每个数据集的完整副本存储在车辆微云的每个单个成员上)来提供数据恢复。现有解决方案中的该方法效率低下并且不理想。
如本文中所述,丢失数据集(或缺失数据集)可以被称为一个或更多个数据段在负责车辆上丢失的数据集,其中负责车辆是负责在车载微云中维持整个数据集的连接车辆。在负责车辆上丢失的一个或更多个数据段可以被称为一个或更多个丢失数据段或缺失数据段。然而,一个或更多个丢失数据段可能已经被一组监听车辆缓存在车辆微云中,从而负责车辆或车辆微云的任何其他成员可以通过从这一组监听车辆检索一个或更多个丢失数据段来恢复丢失数据集。在一些实施例中,数据集被划分为多个数据段,并且一个或更多个丢失数据段可以组成多个数据段的一部分(例如,2%、5%、10%、50%等)。在一些其他实施例中,多个数据段的全部可能在数据移交功能期间丢失。
如本文中所述,V2X通信的示例包括但不限于以下各项中的一个或更多个:专用短距离通信(DSRC)(包括基本安全消息(BSM)和个人安全消息(PSM))以及其他类型的DSRC通信);长期演进(LTE);毫米波(mmWave)通信;3G;4G;5G;LTE-V2X;5G-V2X;LTE-车辆对车辆(LTE-V2V);LTE-装置对装置(LTE-D2D);LTE语音(VoLTE)等。在一些示例中,V2X通信可以包括V2V通信、车辆对基础设施(V2I)通信、车辆对网络(V2N)通信或其任何组合。
本文中描述的V2X无线消息的示例包括但不限于以下消息:专用短距离通信(DSRC)消息;基本安全信息(BSM);长期演进(LTE)消息;LTE-V2X消息(例如,LTE-车辆对车辆(LTE-V2V)消息、LTE-车辆对基础设施(LTE-V2I)消息、LTE-V2N消息等);5G-V2X消息;和毫米波消息等。
示例概要
参考图1A,描绘了可以包括一个或更多个连接车辆的示例车辆微云102。例如,车辆微云102包括源车辆110、第一目的地车辆130、第二目的地车辆140和一组监听车辆120(例如,第一监听车辆120A、…和第M监听车辆120M,其可以提供类似功能并且在本文中被单独或共同地称为“监听车辆120”,其中M为正整数)。车辆微云102的这些连接车辆可通信地耦合到网络105。可选地,一个或更多个云服务器(图中未示出)可通信地耦合到网络105。可选地,车辆微云102包括一个或更多个路边单元或其他基础设施装置(图中未显示)。
在一些实施例中,车辆微云102是如美国专利申请15/799964中所述的静止车辆微云,其全部内容通过引用合并于此。在一些其他实施例中,车辆微云102是移动车辆微云。
连接车辆中的每个(例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120)是车辆微云102的成员(即,“微云成员”)。这些微云成员是网络105(例如,V2X网络)的端点,并且经由网络105彼此通信地耦合。例如,V2X网络仅可由车辆微云102的成员访问。这些微云成员中的每个包括其自己的VMC维护系统实例。例如,VMC维护系统被存储在对应连接车辆的电子控制单元(ECU)或另一车载单元中并且由对应连接车辆的电子控制单元(ECU)或另一车载单元执行。
尽管在图1A中描绘了一个源车辆、两个目的地车辆和两个监听车辆以及一个网络105,但实际上,车辆微云102可以包括一个或更多个源车辆、一个或更多个目的地车辆、一个或更多个监听车辆以及一个或更多个网络105。
网络105可以是有线或无线的常规类型,并且可以具有许多不同的配置,包括星形配置、令牌环配置或其他配置。此外,网络105可以包括局域网(LAN)、广域网(WAN)(例如,因特网)或多个装置和/或实体可以在其上通信的其他互连数据路径。在一些实施例中,网络105可以包括点对点网络。网络105还可以耦合到或可以包括用于以各种不同的通信协议发送数据的电信网络的一部分。在一些实施例中,网络105包括用于经由以下各项发送和接收数据的蓝牙通信网络或蜂窝通信网络,所述各项包括短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、无线应用协议(WAP)、电子邮件、DSRC、全双工无线通信、毫米波、WiFi(基础结构模式)、WiFi(自组织模式)、可见光通信、电视空白空间通信和卫星通信。网络105还可以包括移动数据网络,该移动数据网络可以包括3G、4G、5G、LTE、LTE-V2V、LTE-V2I、LTE-V2X、LTE-D2D、VoLTE、5G-V2X或任何其他移动数据网络或移动数据网络的组合。此外,网络105可以包括一个或更多个IEEE 802.11无线网络。
在一些实施例中,网络105包括V2X网络(例如,V2X无线网络)。V2X网络是这样的通信网络,该通信网络使得诸如车辆微云102的成员之类的实体能够经由以下各项中的一个或更多个彼此无线地通信:WiFi;蜂窝通信(包括3G、4G、LTE、5G等);专用短距离通信(DSRC);毫米波通信等。
在一些实施例中,一个或更多个连接车辆(例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120)可以是配备有DSRC的车辆。配备有DSRC的车辆是这样的车辆:(1)该车辆包括DSRC无线电装置;(2)该车辆包括符合DSRC的全球定位系统(GPS)单元;以及(3)该车辆可操作以在配备有DSRC的车辆所在的司法管辖区中合法地发送和接收DSRC消息。DSRC无线电装置是包括DSRC接收器和DSRC发送器的硬件。DSRC无线电装置可操作以无线地发送和接收DSRC消息。
符合DSRC的GPS单元可操作以为车辆(或包括符合DSRC的GPS单元的某些其他配备有DSRC的装置)提供具有车道级别准确度的位置信息。在一些实施例中,符合DSRC的GPS单元可操作以在开阔天空下在68%的时间中识别、监视和跟踪在其实际位置的1.5米以内的二维位置。
常规GPS单元提供如下位置信息,该位置信息以常规GPS单元的实际位置的正负10米的准确度来描述常规GPS单元的位置。相比之下,符合DSRC的GPS单元提供如下GPS数据,该GPS数据以符合DSRC的GPS单元的实际位置的正负1.5米的准确度来描述符合DSRC的GPS单元的位置。该程度的准确度被称为“车道级别准确度”,因为例如道路的车道通常大约3米宽,而正负1.5米的准确度足以识别车辆正在道路上的哪个车道中行驶。由现代车辆的高级驾驶员辅助系统(ADAS)提供的一些安全或自主驾驶应用需要以车道级别准确度描述车辆的地理位置的定位信息。另外,当前的DSRC标准要求以车道级别准确度描述车辆的地理位置。
如本文中所使用的,词语“地理位置”、“位置”、“地理定位”和“定位”是指诸如连接车辆之类的对象的纬度和经度(或对象的纬度、经度和海拔高度)。本文中所述的示例实施例提供了如下定位信息,该定位信息以如下各项中的一个或更多个的准确度来描述车辆的地理位置:(1)在包括纬度和经度的2个维度上相对于车辆的实际地理位置至少为正负1.5米;和(2)在海拔高度维度上相对于车辆的实际地理位置至少为正负3米。因此,本文中描述的示例实施例能够以车道级别准确度或更佳准确度描述车辆的地理位置。
除了一些车辆存储数据集113的不同部分之外,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120可以包括相同或相似的元件。源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120可以共享连接或关联。例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120各自包括通信单元,以便这些车辆是“连接车辆”,其中通信单元包括使得对应车辆能够经由网络105彼此或与其他实体进行通信所需要的任何硬件和软件。
源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120可以是任何类型的车辆。源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120可以是相对于彼此的相同类型的车辆或相对于彼此的不同类型的车辆。例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120中的每个可以包括以下类型的车辆之一:汽车;卡车;运动型多用途车;公交车;半挂卡车;无人机或任何其他基于道路的运输工具。
在一些实施例中,一个或更多个连接车辆(例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120)可以包括自主车辆或半自主车辆。例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120中的一个或更多个可以包括一个或更多个ADAS系统。一个或更多个ADAS系统可以提供用来提供自主功能的一些或全部功能。
每个连接车辆(例如,源车辆110、第一目标车辆130、第二目标车辆140和监听车辆120)安装有VMC维护系统199。例如,源车辆110包括VMC维护系统199A,第一目的地车辆130包括VMC维护系统199B,第二目的地车辆140包括VMC维护系统199C,第一监听车辆120A包括VMC维护系统199D,而第M监听车辆120M包括VMC维护系统199E。VMC维护系统199A、199B、199C、199D和199E是VMC维护系统的不同实例,并且在本文中可以被单独地或共同地称为“VMC维护系统199”。
在一些实施例中,连接车辆的VMC维护系统199包括软件,该软件在由连接车辆的处理器执行时可操作以使处理器执行参考图1D-图1E和图3-图7B的流程处理107和109以及方法300、400、450、500、550、600、700和750的一个或更多个步骤。
在一些实施例中,可以使用包括现场可编程门阵列(“FPGA”)或专用集成电路(“ASIC”)的硬件来实现VMC维护系统199。在一些其他实施例中,可以使用硬件和软件的组合来实现VMC维护系统199。VMC维护系统199可以存储在装置(例如,车辆或其他装置)的组合中或者装置之一中。
下面参考图1C-图7B进一步描述VMC维护系统199。
在一些实施例中,源车辆110包括VMC维护系统199、通信单元145A和存储器127A。第一目的地车辆130包括VMC维护系统199、通信单元145B和存储器127B。第二目的地车辆140包括VMC维护系统199、通信单元145C和存储器127C。第一监听车辆120A包括VMC维护系统199、通信单元145D和存储器127D。第M监听车辆120M包括VMC维护系统199、通信单元145E和存储器127E。
通信单元145A、145B、145C、145D和145E可以具有相似的结构并且提供相似的功能,以及被单独地或共同地称为“通信单元145”。
通信单元145向网络105或其他通信信道发送数据并且从网络105或其他通信信道接收数据。在一些实施例中,通信单元145可以包括DSRC收发器、DSRC接收器以及使连接车辆成为DSRC使能的装置所需要的其他硬件或软件。例如,通信单元145包括被配置为经由网络来广播DSRC消息的DSRC天线。DSRC天线还可以以用户可配置的固定间隔(例如,每0.1秒、以对应于从1.6Hz到10Hz的频率范围的时间间隔等)发送BSM消息。
在一些实施例中,通信单元145包括用于直接物理连接到网络105或另一通信信道的端口。例如,通信单元145包括用于与网络105进行有线通信的USB、SD、CAT-5或类似端口。在一些实施例中,通信单元145包括用于使用一个或更多个无线通信方法与网络105或其他通信信道交换数据的无线收发器,所述一个或更多个无线通信方法包括:IEEE 802.11;IEEE 802.16;蓝牙EN ISO14906:2004电子收费–应用接口;EN 11253:2004专用短距离通信–使用5.8GHz微波的物理层(综述);EN 12795:2002专用短距离通信(DSRC)–DSRC数据链路层:媒体访问和逻辑链路控制(综述);EN 12834:2002专用短距离通信–应用层(综述);EN13372:2004专用短距离通信(DSRC)–用于RTTT应用的DSRC配置文件(综述);2014年8月28日提交的名为“全双工协调系统”的美国专利申请14/471387中描述的通信方法;或其他合适的无线通信方法。
在一些实施例中,通信单元145包括用于经由以下各项在蜂窝通信网络上发送和接收数据的蜂窝通信收发器,所述各项包括:短消息服务(SMS)、多媒体消息服务(MMS)、超文本传输协议(HTTP)、直接数据连接、WAP、电子邮件或另一合适类型的电子通信。在一些实施例中,通信单元145包括有线端口和无线收发器。通信单元145还提供与网络105的其他常规连接,以使用包括TCP/IP、HTTP、HTTPS和SMTP、毫米波、DSRC等的标准网络协议来分发文件或媒体对象。
存储器127A、127B、127C、127D和127E可以具有相似的结构并且提供相似的功能,并且被单独地或共同地称为“存储器127”。可以将不同的数据存储在存储器127A、127B、127C、127D和127E中。例如,源车辆110的存储器127A存储数据集113,该数据集113被划分为包括数据段115A、…和数据段115N(其中N是正整数)的多个数据段。第一目的地车辆130的存储器127B存储被划分为多个数据段的数据集113。第二目的地车辆140的存储器127C存储不完整数据集143,该不完整数据集143是数据集113的不完整版本,其中一个或更多个数据段在数据移交功能期间缺失。第一监听车辆120A的存储器127D存储数据集113的一个或更多个数据段,例如,包括数据段115A和另一数据段115B。第M监听车辆120M的存储器127E存储数据集113的一个或更多个数据段,例如,包括数据段115N。
数据集113是由车辆微云102存储并且需要存在于车辆微云102中的数字数据。源车辆110的VMC维护系统199在执行时可操作以使源车辆110的处理器将数据集113划分为一组数据段:数据段115A、...和数据段115N。在一些实施例中,这些数据段中的每个包括相同数目的数据比特,但是它们可以各自描述不同的信息。这一组数据段共同地描述数据集113,从而存储全部数据段的任何车辆也存储数据集113。
在车辆微云102中维持数据集113。例如,假设源车辆110最初负责在车辆微云102中维持数据集113。如果源车辆110离开包括车辆微云102的地理区域,则源车辆110的VMC维护系统199需要将数据集113分发到第一其他微云成员(例如第一目的地车辆130)。该分发是通过V2X通信经由网络105无线地实现的。然后,当第一目的地车辆130离开地理区域时,则第一目的地车辆130的VMC维护系统199需要将数据集113分发到第二其他微云成员(例如第二目的地车辆140)。以此方式,在车辆微云102内保持数据集113。
连接车辆的存储器127存储可以由连接车辆的处理器执行的指令或数据。指令或数据可以包括用于执行本文中描述的技术的代码。存储器127可以是动态随机存取存储器(DRAM)装置、静态随机存取存储器(SRAM)装置、闪速存储器或某些其他存储器装置。在一些实施例中,存储器127还包括非易失性存储器或类似的永久性存储装置和介质,包括硬盘驱动器、软盘驱动器、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、闪速存储器装置或用于在更永久的基础上存储信息的某些其他大容量存储装置。每个连接车辆可包括一个或更多个存储器127。
参考图1B,描绘了用于VMC维护系统199的操作环境101。图1B包括与图1A的元件相似的元件,并且这里不再重复对相似元件的描述。
作为示例,源车辆110包括VMC维护系统199A、通信单元145A、存储器127A、GPS单元150、车载单元152、处理器125和传感器集154。图1B中的其他车辆可具有与源车辆110的结构相似的结构。
在一些实施例中,通信单元145A包括用于进行V2X通信的V2X无线电装置147。例如,V2X无线电装置147包括DSRC无线电装置。在另一示例中,V2X无线电装置147包括用于执行毫米波通信的硬件、软件或其组合。V2X无线电装置147的其他示例是可能的。
存储器127A除了数据集113之外还存储列表数据117。在一些实施例中,列表数据117包括描述数据集的列表和数据集的组成数据段的数字数据。例如,列表数据117包括描述由源车辆110维持的按成员的内容列表的数字数据,其中按成员的内容列表包括由源车辆110维持的数据集的按成员的列表以及按成员的列表中的每个数据集的数据段。在另一示例中,列表数据117包括描述由车辆微云102维持的集群内容列表的数字数据,其中集群内容列表包括数据集的聚合列表以及该聚合列表中的每个数据集的组成数据段。在一些实施例中,通过包括由源车辆110维持的按成员的内容列表以及由车辆微云102的其他成员维持的其他按成员的内容列表来构造集群内容列表。
在一些实施例中,以预定间隔来周期性地更新由车辆微云102的对应成员维持的按成员的内容列表以及车辆微云102中的集群内容列表。
在一些实施例中,GPS单元150是源车辆110的常规GPS单元。例如,GPS单元150可以包括与GPS卫星进行无线通信以检索描述源车辆110的地理位置的数据的硬件。例如,GPS单元150从一个或更多个GPS卫星检索GPS数据。在一些实施例中,GPS单元150是源车辆110的符合DSRC的GPS单元,该符合DSRC的GPS单元可操作以提供以车道级别准确度描述源车辆110的地理位置的GPS数据。
车载单元152可以包括一个或更多个处理器和一个或更多个存储器。例如,车载单元152包括电子控制单元(ECU)。ECU是控制源车辆110中的一个或更多个电气系统或子系统的汽车电子设备中的嵌入式系统。ECU的类型包括但不限于以下各项:引擎控制模块(ECM);动力传动系统控制模块(PCM);变速箱控制模块(TCM);制动控制模块(BCM或EBCM);中央控制模块(CCM);中央计时模块(CTM);通用电子模块(GEM);车身控制模块(BCM);和悬架控制模块(SCM)等。
在一些实施例中,VMC维护系统199安装在车载单元152中。
传感器集154包括可操作以测量源车辆110外部的道路环境的一个或更多个传感器。例如,传感器集154可以包括记录靠近源车辆110的道路环境的一个或更多个物理特性的一个或更多个传感器。存储器127A可以存储描述由传感器集154记录的一个或更多个物理特性的传感器数据。源车辆110外部的道路环境可以包括操作环境101中的其他连接车辆,并且因此,传感器集154中的一个或更多个传感器可以记录描述关于操作环境101中的其他连接车辆的信息的传感器数据。
在一些实施例中,传感器集合154可以包括以下车辆传感器中的一个或更多个:相机;LIDAR传感器;雷达传感器;激光高度计;红外检测器;运动检测器;温控器;声音检测器;一氧化碳传感器;二氧化碳传感器;氧气传感器;质量空气流量传感器;引擎冷却剂温度传感器;节气门位置传感器;曲轴位置传感器;汽车引擎传感器;阀门计时器;空气燃料比率测定仪;盲点仪;路缘探测器(feeler);缺陷检测器;霍尔效应传感器;歧管绝对压力传感器;停车传感器;雷达枪;车速表;速度传感器;轮胎压力监测传感器;扭矩传感器;变速箱流体温度传感器;涡轮速度传感器(TSS);可变磁阻传感器;车辆速度传感器(VSS);水传感器;车轮速度传感器;以及任何其他类型的汽车传感器。
处理器125包括算术逻辑单元、微处理器、通用控制器或某种其他处理器阵列,以执行计算并且将电子显示信号提供给显示装置。处理器125处理数据信号,并且可以包括各种计算架构,包括复杂指令集计算机(CISC)架构、精简指令集计算机(RISC)架构或实现指令集组合的架构。源车辆110可以包括一个或更多个处理器125。其他处理器、操作系统、传感器、显示器和物理配置也是可能的。
参考图1C,示出了根据一些实施例的用于VMC维护系统199的另一操作环境103。可以将存储在车辆微云102中的每个数据集划分为多个数据段。车辆微云102中的一个或更多个微云成员(例如,仅微云成员的子集)负责:(1)存储整个数据集;(2)响应对数据集的数据请求;以及(3)当一个或更多个微云成员离开车辆微云102时,将数据集移交到另一微云成员。一个或更多个微云成员可以被称为数据集的“负责车辆”。同时,一个或更多个其他微云成员各自分别缓存多个数据段的子集(例如,仅较小的子集)。一个或更多个其他微云成员可以称为数据集的“监听车辆”。因此,即使负责存储整个数据集的微云成员移交数据集失败,也可以通过收集由一个或更多个其他微云成员缓存的数据段来恢复数据集。
在图1C中,将数据集113划分为三个数据段(例如,数据段1、数据段2和数据段3)。车辆微云102中的连接车辆123负责存储整个数据集113。第一监听车辆120A侦听数据集113通过V2X网络的发送,并且监听例如数据段1。第一监听车辆120A在其存储装置中缓存数据段1。类似地,第二监听车辆120B还侦听数据集113通过V2X网络的发送,并且监听例如数据段2。第二监听车辆120B在其存储装置中缓存数据段2。第三监听车辆120C还侦听数据集113通过V2X网络的发送,并且监听例如数据段3。第三监听车辆120C在其存储装置中缓存数据段3。
如果连接车辆123在从车辆微云102离开时将数据集113移交到车辆微云102中的另一连接车辆失败,则可以通过从第一监听车辆120A检索数据段1、从第二监听车辆120B检索数据段2以及从第三监听车辆120C检索数据段3来恢复数据集113。
在一些实施例中,第一监听车辆120A、第二监听车辆120B和第三监听车辆120C中的每个可以监听数据集113的一个以上数据段。例如,第一监听车辆120A可以监听数据段1和数据段2,而第二监听车辆120B可以监听数据段2和数据段3,以及第三监听车辆120C可以监听数据段1和数据段3。在这种情况下,如果连接车辆123在从车辆微云102离开时将数据集113移交到车辆微云102中的另一连接车辆失败,则可以通过从第一监听车辆、第二监听车辆和第三监听车辆中的任何两个检索数据段(例如,通过从第一监听车辆120A检索数据段1和数据段2以及从第二监听车辆120B检索数据段3)来恢复数据集113。
参考图1D,示出了根据一些实施例的用于在监听车辆120中部分地缓存数据段的示例流程处理107。例如,当将数据集从源车辆110移交到第一目的地车辆130或第一目的地车辆130请求数据集时,源车辆110将数据集划分为多个数据段。在图1D中所示的示例中,数据集被划分为6个数据段。源车辆110经由V2X网络将多个数据段发送到第一目的地车辆130。同时,在源车辆110的通信范围中的一个或更多个监听车辆120侦听多个数据段经由V2X网络的V2X发送,并且各自监听多个数据段中的一个或更多个。所监听的数据段分别存储在监听车辆120中以为在V2X发送期间的任何数据段的潜在丢失做准备,并且不会再次移交到另一微云成员。在图1D中所示的示例中,第一监听车辆120A监听并且缓存数据集的数据段的第一子集,而第二监听车辆120B监听并且缓存数据集的数据段的第二子集。
参考图1E,示出了根据一些实施例的用于基于由图1D的监听车辆120监听的数据段来恢复丢失数据的示例流程处理109。例如,当已经从源车辆110接收到数据集的多个数据段的图1D的第一目的地车辆130将多个数据段移交到第二目的地车辆140失败时,检测到数据集的移交失败的车辆微云的任何成员可以执行丢失数据恢复处理以恢复数据集。在图1E中,假设第二目的地车辆140检测到数据集在车辆微云中丢失(或者数据集的一些数据段在负责维持整个数据集的第二目的地车辆140中丢失,这被称为丢失数据段或缺失数据段),第二目的地车辆140可以通过以一定量的通信开销为代价收集已经被其他微云成员监听并且存储的丢失数据段来恢复数据集。
例如,第二目的地车辆140可以在车辆微云中广播对数据集的恢复请求。响应于接收到对数据集的恢复请求,第一监听车辆120A将自己监听的数据段的第一子集发送到第二目的地车辆140。类似地,响应于接收到对数据集的恢复请求,第二监听车辆120B将自己监听的数据段的第二子集发送到第二目的地车辆140。在这种情况下,第二目的地车辆140可以通过从第一监听车辆120A收集数据段的第一子集并且从第二监听车辆120B收集数据段的第二子集来恢复数据集。
在另一示例中,仅数据段的第一子集在第二目的地车辆140中丢失(例如,第二目的地车辆140已经在数据移交功能期间成功接收到数据段的第二子集)。第二目的地车辆140可以在车辆微云中广播对数据段的第一子集的恢复请求。响应于接收到对数据段的第一子集的恢复请求,第一监听车辆120A将自己监听的数据段的第一子集发送到第二目的地车辆140。因为第二监听车辆120B没有监听数据段的第一子集中的任何数据段,所以第二监听车辆120B不响应恢复请求。在这种情况下,第二目的地车辆140可以通过从第一监听车辆120A收集数据段的第一子集来恢复数据集。
结合参考上述图1D和图1E,描述了用于应对数据移交功能的潜在失败的丢失数据恢复机制。例如,源车辆110将数据集分割为具有固定比特大小的多个数据段。当(1)在源车辆110与第一目的地车辆130之间执行数据集的数据移交功能或(2)第一目的地车辆130请求数据集时,源车辆110将多个数据段发送到第一目的地车辆130。第一目的地车辆130在其本地数据存储装置(即“存储器”)中保持全部接收到的数据段。源车辆110的通信范围内的其他微云成员(即“监听车辆120”)监听所发送的数据段。每个监听车辆120在其本地数据存储装置中缓存数据段的子集,以为潜在的数据丢失做好准备。即使数据集的数据移交功能失败,也可以通过从监听车辆120收集所缓存的数据段来(例如,概率地)恢复原始数据集。
这里描述了在连接车辆(例如,源车辆110、第一目的地车辆130、第二目的地车辆140和监听车辆120)的VMC维护系统199之间的示例通信处理。在一些实施例中,连接车辆的VMC维护系统在由对应处理器执行时可操作以执行以下操作(1)-(12)中的一个或更多个。
操作(1):源车辆110的VMC维护系统199确定源车辆110从车辆微云102离开(例如,源车辆110离开存在车辆微云102的地理区域)。
操作(2):源车辆110的VMC维护系统199确定源车辆110存储了数据集。
操作(3):源车辆110的VMC维护系统199将数据集划分为多个数据段。数据段的数目可以预先配置。可以为每个数据段分配唯一标识符,以便特定数据段可基于其所分配的唯一标识符与另一数据段相区分。可以通过存储在数据段的预定义位置中的一个或更多个数据比特来指定唯一标识符,以便可以容易地由知道数据段内的数据比特的位置的软件、硬件或其组合来识别数据段的唯一标识符。
操作(4):源车辆110的VMC维护系统199确定对于数据集的第一目的地车辆130。第一目的地车辆130是可以在源车辆110离开存在车辆微云102的地理区域之后存储数据集的车辆微云102的成员。
操作(5):源车辆110的VMC维护系统199通过经由诸如DSRC、毫米波、3G、4G、5G、LTE、LTE-V2X、5G-V2X等V2X通信将数据集发送到第一目的地车辆130来执行第一数据移交功能。
操作(6):在源车辆110的通信范围内的一组监听车辆120中的每个监听车辆120的VMC维护系统199侦听数据集的V2X发送并且监听所发送的一个或更多个数据段(例如,但不是全部数据段),以便每个监听车辆120不存储整个数据集。例如,每个监听车辆120可以监听整个数据集中的数据段的一部分。替选地,每个监听车辆120可以监听数据集中的全部数据段。然而,VMC维护系统199被编程为使得其仅存储全部所监听的数据段中的预定数目的数据段。该预定数目可以是静态的或动态的。静态预定数目是被硬编码到VMC维护系统199的软件或硬件中的数目(例如,三个数据段,或由VMC维护系统199的代码和例程静态地定义的某些其他数目的数据段)。如果预定数目基于例如作为车辆微云的成员的连接车辆的数目而变化,则该预定数目是动态的。
该操作(6)可以在第一数据移交功能的执行(即操作(5))期间或在将数据集发送到车辆微云的成员时的任何其他时间进行。
操作(7):每个监听车辆120的VMC维护系统199在其车载存储装置中存储对应的所监听的数据段的全部或子集。
操作(8):第一目的地车辆130的VMC维护系统199确定第一目的地车辆130从车辆微云102离开(例如,第一目的地车辆130离开存在车辆微云102的地理区域)。
操作(9):第一目的地车辆130的VMC维护系统199确定对于数据集的第二目的地车辆140。第二目的地车辆140是可以在第一目的地车辆130离开存在车辆微云102的地理区域之后存储数据集的车辆微云102的成员。
操作(10):第一目的地车辆130的VMC维护系统199通过经由V2X通信将数据集发送到第二目的地车辆140来执行第二数据移交功能。
操作(11):任何微云成员的VMC维护系统199可以确定第二数据移交功能失败。例如,第二目的地车辆140没有接收在操作(3)创建的每个数据段。
在一些实施例中,微云成员中的一些或全部存储列表数据,该列表数据包括描述集群内容列表的数字数据,其中集群内容列表包括数据集的聚合列表以及该聚合列表中的每个数据集的组成数据段。集群内容列表可用来识别数据移交事件(或某些其他数据发送)何时失败。以此方式,监听数据发送的任何微云成员可以检测发生了失败,并且需要实现操作(12)以便恢复缺失数据集。列表数据还可以描述存储数据段的位置。
在一些实施例中,集群内容列表包括由车辆微云中的一个或更多个微云成员维持的一个或更多个按成员的内容列表,其中由对应微云成员维持的按成员的内容列表包括由对应微云成员维持的数据集的按成员的列表和按成员的列表中的每个数据集的组成数据段。例如,集群内容列表包括车辆微云的全部成员的全部按成员的内容列表,并且集群内容列表是全云范围(cloud-wide)的内容列表。在另一示例中,集群内容列表包括车辆微云的部分成员的按成员的内容列表。
在一些实施例中,可以以预定间隔来周期性地更新车辆微云102中的按成员的内容列表以及集群内容列表。
在一些实施例中,当连接车辆从车辆微云102离开时,连接车辆执行数据移交功能以将存储在连接车辆中的数据集移交到一个或更多个其他目的地车辆。在操作(3),连接车辆还创建其自己的按成员的内容列表,该按成员的内容列表包括由连接车辆自己维持的数据集的列表和每个数据集的组成数据段,以及在其他微云成员之间分发按成员的内容列表。例如,由源车辆110创建的DSRC消息(例如,基本安全消息)可以用来在微云成员之间分发源车辆110的按成员的内容列表。参见例如图8A-图8B,其中经由DSRC消息发送的DSRC数据包括描述数据集的列表和数据集的组成数据段的“列表数据”。因此,在一些实施例中,车辆的存储器存储包括列表数据的DSRC数据。
操作(12):根据操作(6)和(7)从一组监听车辆120识别并且恢复从第二目的地车辆140缺失的数据段。
在一些实施例中,如果全部数据段被任何微云成员缓存,则上述操作(1)-(12)能够恢复丢失数据集。通过将编码技术(例如,擦除编码、网络编码等)合并到数据集的发送中,可以提高数据集的成功数据恢复的概率。例如,当连接车辆发送数据集时,该连接车辆使用编码技术将数据集编码为Q个编码块,从而只要接收到Q个编码块中的P个编码块(P<Q),就可以恢复原始数据集。然后,连接车辆将Q个编码块中的每个编码块视为数据段,并且经由V2X网络以多个数据段的形式发送Q个编码块。这里,P和Q是正整数。
示例计算机系统
现在参考图2,描绘了示出根据一些实施例的包括VMC维护系统199的示例计算机系统200的框图。在一些实施例中,计算机系统200可以包括专用计算机系统,该专用计算机系统被编程为执行下面参考图3-图7B描述的方法300、400、450、500、550、600、700和750的一个或更多个步骤。
在一些实施例中,计算机系统200是连接车辆的车载车辆计算机。在一些实施例中,计算机系统200是连接车辆的车载单元。在一些实施例中,计算机系统200是连接车辆的电子控制单元(ECU)、机头单元或某些其他基于处理器的计算装置。
根据一些示例,计算机系统200可以包括以下元件中的一个或更多个:VMC维护系统199;处理器125;存储器127;通信单元145;GPS单元150;车载单元152;传感器集154和存储装置241。计算机系统200的组件通过总线220通信地耦合。
在所示的实施例中,处理器125经由信号线237通信地耦合到总线220。通信单元145经由信号线246通信地耦合到总线220。GPS单元150经由信号线230通信地耦合到总线220。车载单元152经由信号线231通信地耦合到总线220。传感器集154经由信号线232通信地耦合到总线220。存储装置241经由信号线242通信地耦合到总线220。存储器127经由信号线244通信地耦合到总线220。
上面参考图1A-图1B描述了处理器125、存储器127、通信单元145、GPS单元150、车载单元152和传感器集154,并且因此,这里将不重复类似的描述。存储器127可以存储以上参考图1A-图1E描述的任何数据。存储器127可以存储计算机系统200提供其功能所需要的任何数据。
存储装置241可以是存储用于提供本文中描述的功能的数据的非暂态存储介质。存储装置241可以是动态随机存取存储器(DRAM)装置、静态随机存取存储器(SRAM)装置、闪速存储器或某些其他存储器装置。在一些实施例中,存储装置241还包括非易失性存储器或类似的永久性存储装置和介质,包括硬盘驱动器、软盘驱动器、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、闪速存储器装置或用于在更永久的基础上存储信息的某些其他大容量存储装置。
在图2中所示的示出的实施例中,VMC维护系统199包括:通信模块202;数据移交模块204;接收模块205;监听模块206;数据恢复模块208;和机器学习模块210。VMC维护系统199的这些组件经由总线220彼此通信地耦合。在一些实施例中,VMC维护系统199的组件可以存储在单个装置中。在一些其他实施例中,VMC维护系统199的组件可以跨多个装置分布和存储。例如,VMC维护系统199的一些组件可以跨车辆微云102的成员分布。
通信模块202可以是包括用于处理计算机系统200的其他组件与VMC维护系统199之间的通信的例程的软件。在一些实施例中,通信模块202可以存储在计算机系统200的存储器127中,并且可由处理器125访问和执行。通信模块202可以适于经由信号线222与计算机系统200的处理器125和其他组件进行合作和通信。
通信模块202经由通信单元145向操作环境101或103的一个或更多个元件发送数据并且从操作环境101或103的一个或更多个元件接收数据。例如,通信模块202经由通信单元145接收或发送以下元素中的一个或更多个:数据集(每个都以多个数据段的形式);和列表数据。通信模块202可以经由通信单元145发送或接收以上参考图1A-图1E描述的任何数据或消息。
在一些实施例中,通信模块202从VMC维护系统199的组件接收数据,并且将该数据存储在存储装置241和存储器127中的一个或更多个中。例如,通信模块202从通信单元145(经由网络105、DSRC消息、BSM、DSRC探针、全双工无线消息等)接收以上参考存储器127描述的数据,并且将该数据存储在存储器127中(或临时存储在存储装置241中,该存储装置241可以用作计算机系统200的缓冲器)。
在一些实施例中,通信模块202可以处理VMC维护系统199的组件之间的通信。例如,通信模块202可以处理数据移交模块204、接收模块205、监听模块206、数据恢复模块208和机器学习模块210之间的通信。这些模块中的任何一个可以使通信模块202(经由通信单元145)与操作环境101或103或计算机系统200的其他元件进行通信。
数据移交模块204可以是包括用于执行数据集的数据移交功能的例程的软件。在一些实施例中,数据移交模块204可以存储在计算机系统200的存储器127中,并且可以由处理器125访问和执行。数据移交模块204可以适于经由信号线224与计算机系统200的处理器125和其他组件进行合作和通信。
在一些实施例中,连接车辆负责维持被保持在车辆微云102中的数据集。数据移交模块204确定连接车辆从车辆微云102离开,并且确定将数据集移交到车辆微云中的另一连接车辆。替选地,数据移交模块204确定从其他连接车辆接收到对数据集的请求。响应于确定连接车辆从车辆微云102离开或响应于接收到对数据集的请求,数据移交模块204执行数据移交功能以经由V2X网络将数据集发送到其他连接车辆。数据移交模块204将数据集划分为多个数据段,并且将多个数据段发送到其他连接车辆。当其他连接车辆接收到多个数据段时,其他连接车辆变成负责在车辆微云102中维持数据集。
在一些实施例中,数据集中的数据段的数目可以预先配置。在一些其他实施例中,可以动态地确定数据集中的数据段的数目。例如,可以基于以下因素中的一个或更多个来确定数据集中的数据段的数目:(1)数据集的大小(例如,可以将具有较大的大小的数据集划分为更多的数据段);和(2)在连接车辆的通信范围内的一个或更多个监听车辆120。例如,如果每个监听车辆120监听固定数目的数据段并且在连接车辆的通信范围内存在更大数目的监听车辆120,则可以将数据集划分为更大数目的数据段。结果,数据集可以被更多的监听车辆120监听并且被分发到更多的监听车辆120,这可以减小要在每个监听车辆120中缓存的所监听的数据段的整体大小。
在一些实施例中,数据集中的每个数据段可以具有相同的大小或固定的大小。在一些其他实施例中,数据集中的数据段可以具有不同的大小。
在一些实施例中,可以为每个数据段分配唯一标识符,以便特定数据段可以基于其所分配的唯一标识符与另一数据段相区分。唯一标识符可以由存储在数据段的预定义位置中的一个或更多个数据比特来指定,以便数据段的唯一标识符可以容易地由知道数据段内的一个或更多个数据比特的位置的软件、硬件或其组合来识别。
在一些实施例中,在发送数据集之前,数据移交模块204使用编码技术(例如,擦除编码技术、网络编码技术等)将数据集编码为Q个编码块,然后将Q个编码块中的每个编码块视为数据段,从而在车辆微云102中提高数据集的成功数据恢复的概率,其中Q是正整数。例如,即使在接收器处仅接收到Q个编码块中的P个编码块,也可以在数据集的接收器处恢复原始数据集,其中P是正整数并且P<Q。
接收模块205可以是包括例程的软件,该例程在由处理器125执行时使处理器125接收被发送到连接车辆的数据集。在一些实施例中,接收模块205可以是存储在计算机系统200的存储器127中的一组指令,并且可以由处理器125访问和执行。接收模块205可以适于经由信号线249与计算机系统200的处理器125和其他组件进行合作和通信。
在一些实施例中,连接车辆的接收模块205可操作以经由通信单元145接收目的地是连接车辆的数据集。例如,另一连接车辆执行数据移交功能以将数据集移交到连接车辆。结果,连接车辆的接收模块205从其他连接车辆接收数据集的多个数据段,并且变成负责在车辆微云102中维持数据集。接收模块205可以将数据集的数据集标识符和数据集的组成数据段的段标识符添加到连接车辆的按成员的内容列表中。
在另一示例中,连接车辆已经向其他连接车辆请求了数据集。在这种情况下,其他辆连接车辆确定其是否(i)将维持数据集的责任移交到连接车辆,或者(ii)在将数据集的副本发送到连接车辆的同时自己保持责任。结果,连接车辆的接收模块205从其他连接车辆接收数据集的多个数据段。根据其他连接车辆的决定,连接车辆可能变成或可能不变成负责在车载微云102中维持数据集。例如,如果其他连接车辆已做出决定将维持数据集的责任移交到连接车辆,则连接车辆变成负责在车载微云102中维持数据集。连接车辆的接收模块205可以将数据集的数据集标识符和数据集的组成数据段的段标识符添加到连接车辆的按成员的内容列表中。在另一示例中,如果其他连接车辆已决定在将数据集的副本发送到连接车辆的同时自己保持责任,则连接车辆不负责在车辆微云102中维持数据集。
在一些实施例中,接收模块205确定是否接收到数据集的全部数据段。如果接收到数据集的全部数据段,则接收模块205将数据集的全部数据段存储在相关联的存储装置中。如果一个或更多个数据段丢失,则接收模块205可以指示以下描述的数据恢复模块208从已经监听一个或更多个丢失数据段的一组监听车辆120检索一个或更多个丢失数据段,以便在连接车辆中恢复一个或更多个丢失数据段。
监听模块206可以是包括例程的软件,所述例程在由处理器125执行时使处理器125侦听数据集的V2X发送并且监听数据集的一个或更多个数据段。在一些实施例中,监听模块206可以是存储在计算机系统200的存储器127中的一组指令,并且可以由处理器125访问和执行。监听模块206可以适于经由信号线228与计算机系统200的处理器125和其他组件进行合作和通信。
在一些实施例中,连接车辆充当在第一其他连接车辆的通信范围内的监听车辆,其中第一其他连接车辆将数据集发送到第二其他连接车辆。监听模块206可操作以:侦听数据集通过V2X网络的发送;监听通过V2X网络发送的数据集的数据段的数量;以及在连接车辆上存储来自所监听的数据集的数据段的数量的数据段的数目。例如,监听模块206监听数据集的V2X发送,随机地拾取数据段的子集,并且将数据段的子集缓存在连接车辆的本地数据存储装置中。所监听的数据段在监听车辆中的缓存可以被称为数据集的部分缓存。
在一些实施例中,被连接车辆监听并且存储的数据集的数据段的数目包括来自数据集的数据段的预定数目。例如,接收模块206拾取数据集的所发送的数据段的预定义数目或预定义比例。
替选地,被连接车辆监听并且存储的数据集的数据段的数目包括来自数据集的数据段的动态数目。监听模块206基于以下因素中的一个或更多个来确定数据段的动态数目(例如,监听模块206拾取数据集的数据段的可变数目或可变比例):(1)车辆微云102中的成员的总数目;(2)连接车辆上的数据存储资源的可用性;(3)数据集的大小;(4)车辆微云102中的数据段丢失率;和(5)描述车辆微云102中的数据集的恢复结果的反馈数据。
例如,如果车辆微云102中存在更多的成员,这意味着对于数据集存在更多的候选监听车辆,则每个监听车辆120可以拾取较小数目的数据段。在另一示例中,如果连接车辆具有足够的存储空间,则监听模块206可以拾取数据集的更大数目的数据段。在又一示例中,如果数据集的大小超过第一阈值,这意味着数据集的数据段的数目超过第二阈值(这里假设每个数据段具有固定大小),则监听模块206可以拾取数据集的更大数目的数据段。在又一示例中,如果车辆微云102中的数据段丢失率较高,这意味着数据集的数据段容易在数据移交功能期间丢失,则监听模块206可以拾取数据集的更大数目的数据段,以应对数据集的潜在丢失。
在又一示例中,如果描述车辆微云102中的数据集的恢复结果的反馈数据指示用于在车辆微云102中恢复数据集的平均时间长度超过阈值,这意味着车辆微云102中的数据集的恢复较慢,则监听模块206可以拾取数据集的更大数目的数据段。以此方式,每个监听车辆120监听数据集的更多数据段,并且可以从较少的监听车辆120检索数据段的完整列表,从而减少用于数据恢复的响应时间。例如,如果数据集中的一些数据段丢失,则可以通过从较少的监听车辆120收集丢失数据段来恢复数据集。
如果分配用于部分缓存的数据存储空间已满,则监听模块206可操作以移除一些先前缓存的数据段(即,缓存替换)。基于预定义策略选择要替换的数据段(例如,随机选择、移除最旧的数据段等)。
下面参考图7A-图7B进一步描述监听模块206。
数据恢复模块208可以是包括例程的软件,所述例程在由处理器125执行时使处理器125执行数据集的数据恢复处理。在一些实施例中,数据恢复模块208可以是存储在计算机系统200的存储器127中的一组指令,并且可以由处理器125访问和执行。数据恢复模块208可以适于经由信号线229与计算机系统200的处理器125和其他组件进行合作和通信。
在一些实施例中,连接车辆负责维持数据集,其中数据集的一个或更多个数据段在数据移交功能期间丢失,并且数据集的其他数据段被存储在连接车辆中。连接车辆的数据恢复模块208执行数据恢复处理以恢复由连接车辆维持的数据集。例如,数据恢复模块208从一组监听车辆120恢复数据集的一个或更多个丢失数据段,从而在连接车辆中保持整个数据集。
在一些其他实施例中,数据集由车辆微云102中的另一连接车辆维持,其中数据集的一个或更多个数据段在数据移交功能期间丢失,并且数据集的其他数据段被存储在另一连接车辆中。执行数据集的数据恢复处理的连接车辆从车辆微云102的成员收集数据集的全部数据段。例如,连接车辆的数据恢复模块208从一组侦听车辆120恢复数据集的一个或更多个丢失数据段,并且从负责在车辆微云102中维持数据集的另一连接车辆收集数据集的其他数据段。在另一示例中,数据恢复模块208从一组监听车辆120收集数据集的包括一个或更多个丢失数据段的全部数据段。在收集了数据集的全部数据段之后,连接车辆变成负责在车辆微云102中维持数据集,并且将数据集存储在连接车辆的存储装置中。
例如,数据恢复模块208可操作以检测数据集的一个或更多个数据段在通过V2X网络发送的第一数据移交功能期间丢失,其中在第一数据移交功能之前执行的先前数据移交功能期间将数据集划分为包括一个或更多个数据段的多个数据段。数据恢复模块208可操作以修改连接车辆的通信单元145的操作,以从在先前数据移交功能期间监听一个或更多个数据段的一组监听车辆120收集一个或更多个丢失数据段(例如,下面更详细地描述通信单元145的操作的修改)。结果,在连接车辆上恢复数据集。
在一些实施例中,数据恢复模块208采取主动方法来执行数据集的数据恢复处理。在主动方法中,每个微云成员以预定义间隔重复地发送包括按成员的内容列表的信标消息(例如,按成员的内容列表包括由对应微云成员维持的数据集的按成员的列表和按成员的列表中的每个数据集的组成数据段)。信标消息交换允许全部微云成员知道当前保持在车辆微云102中的集群内容列表(包括数据集的聚合列表和聚合列表中的每个数据集的组成数据段)。以预定义间隔来周期性地更新集群内容列表。如果数据集从车辆微云中丢失(例如,由于数据移交功能失败),则任何微云成员可以通过将当前时间戳处的当前集群内容列表与先前时间戳处的先前集群内容列表进行比较来检测数据集的丢失。当微云成员发现数据集丢失时,该微云成员尝试通过向其他微云成员请求所缓存的数据段来恢复原始数据集。
具体地,在主动方法中,数据恢复模块208至少通过以下方式来检测数据集的一个或更多个数据段在第一数据移交功能期间丢失:(1)在执行第一数据移交功能之后,构造第一集群内容列表,第一集群内容列表包括数据集的第一聚合列表和第一聚合列表中的每个数据集的组成数据段;以及(2)至少部分地基于第一集群内容列表来检测数据集的一个或更多个数据段在第一数据移交功能期间丢失。
例如,在执行第一数据移交功能之后,数据恢复模块208与车辆微云102的一个或更多个其他成员执行信标消息交换处理,包括:(1)经由V2X网络将包括由连接车辆维持的按成员的内容列表的信标消息发送到车辆微云102的一个或更多个其他成员;以及(2)从车辆微云的一个或更多个其他成员接收包括一个或更多个其他按成员的内容列表的一个或更多个其他信标消息。数据恢复模块208构造第一集群内容列表以包括由连接车辆维持的按成员的内容列表和由车辆微云102的一个或更多个其他成员维持的一个或更多个其他按成员的内容列表。在一些实施例中,由车辆微云的对应成员维持的每个按成员的内容列表包括在执行第一数据移交功能之后由车辆微云的对应成员维持的数据集的按成员的列表和按乘员的列表中的每个数据集的数据段。
接下来,数据恢复模块208将第一集群内容列表与先前集群内容列表进行比较,以确定数据集的一个或更多个数据段在第一数据移交功能期间丢失。例如,先前集群内容列表包括数据集的先前聚合列表和先前聚合列表中的每个数据集的组成数据段。数据恢复模块208将第一集群内容列表与先前集群内容列表进行比较,以确定一个或更多个数据段包括在先前集群内容列表中而在第一集群内容列表中缺失。然后,数据恢复模块208确定一个或更多个数据段在第一数据移交功能期间丢失,并且从一组监听车辆120收集一个或更多个丢失数据段以及从车辆微云102的其他成员收集数据集的其他数据段。当然,在一些实施例中,数据恢复模块208还可以从这一组监听车辆120收集其他数据段。
在一些示例中,在执行第一数据移交功能之后构造第一集群内容列表,以及在执行先前数据移交功能之后而且在执行第一数据移交功能之前构造先前集群内容列表。例如,参考图9,在先前数据移交时间戳901处执行先前数据移交功能,以及先前集群内容列表是在第一数据移交时间戳903处执行第一数据移交功能之前的先前时间戳902处构造的车辆微云102的集群内容列表。第一集群内容列表是在执行第一数据移交功能之后的第一时间戳905处构造的车辆微云102的集群内容列表。
在一些示例中,在执行第一数据移交功能之后构造第一集群内容列表。至少通过以下方式在执行第一数据移交功能之前构造先前集群内容列表:(1)从将数据集划分为多个数据集的源车辆110接收V2X无线消息,其中V2X无线消息包括(a)用来识别数据集的数据集标识(ID)数据和(b)用来识别组成数据集的多个数据段的段ID数据;以及(2)构造先前集群内容列表以包括数据集的数据集ID数据和多个数据段的段ID数据。
下面参考图4A-图4B进一步描述执行数据恢复处理的主动方法。
在一些其他实施例中,数据恢复模块208采用被动方法来执行数据集的数据恢复处理。例如,在被动方法中,当对数据集的请求失败时启动数据恢复处理。该方法在与主动方法相比时消除了对频繁信标消息发送的需求。
具体地,在被动方法中,数据恢复模块208至少通过以下方式来检测数据集的一个或更多个数据段在第一数据移交功能期间丢失:(1)检测对数据集的请求失败;以及(2)响应于对数据集的请求的失败,确定在执行第一数据移交功能时数据集的一个或更多个数据段丢失。
下面参考图5A-图5B进一步描述执行数据恢复处理的被动方法。
在一些实施例中,数据恢复模块208修改连接车辆的通信单元145的操作,以执行以下各项中的一个或更多个:(1)从在先前数据移交功能期间监听一个或更多个丢失数据段的一组监听车辆120收集一个或更多个丢失数据段;(2)从一组监听车辆120或从负责维持数据集的负责车辆(而一个或更多个数据段在负责车辆中缺失)收集数据集的剩余数据段。结果,在连接车辆上恢复数据集,并且连接车辆变成数据集的新的负责车辆。
在一些示例中,通信单元145的操作的修改包括:修改通信单元145的一个或更多个操作元素,使得通过通信单元145从一组监听车辆检索在第一数据移交功能期间丢失的一个或更多个数据段。通信单元145的一个或更多个操作元素的示例包括但不限于以下元素中的一个或更多个:(1)要在通信单元145上操作的一个或更多个活动V2X信道;(2)要在通信单元145上操作的一个或更多个活动V2X无线电装置;(3)要在通信单元145上操作的一个或更多个活动V2X天线;(4)一个或更多个活动V2X信道的一个或更多个操作频率;(5)在一个或更多个活动V2X天线上执行的一个或更多个波束成形技术;和(6)通信单元145的带宽分配方案。通信单元145的其他示例操作元素是可能的。
例如,响应于丢失数据段的数量超过第一阈值或V2X网络中的数据丢失率超过第二阈值,数据恢复模块208可以修改通信单元145的以下操作元素中的一个或更多个:(1)增加活动V2X信道的数目,以便更多的V2X信道可用来同时收集丢失数据段;(2)改变V2X天线上应用的波束成形技术,以便可以在通信单元145处以更高的信噪比接收数据段;以及(3)向通信单元145分配更多的带宽,以便可以以更快的速度检索数据段等。以此方式,可以提高车辆微云102中的数据恢复效率。
机器学习模块210可以是包括例程的软件,所述例程在由处理器125执行时使处理器125生成并且分析描述数据集中的丢失数据段的恢复结果的反馈数据。在一些实施例中,机器学习模块210可以是存储在计算机系统200的存储器127中的一组指令,并且可以由处理器125访问和执行。机器学习模块210可以适于经由信号线227与计算机系统200的处理器125和其他组件进行合作和通信。
在一些实施例中,机器学习模块210生成描述丢失数据段的恢复结果的反馈数据,其中恢复结果包括但不限于:(1)数据段丢失率(例如数据集中的丢失数据段的百分比);(2)丢失数据段从其恢复的一个或更多个监听车辆120;和(3)为恢复数据集所需的时间长度等。机器学习模块210可以基于反馈数据来调整:(1)对于每个数据集的一组监听车辆120中的监听车辆120的数目;(2)要由一组监听车辆120中的每个监听车辆120监听的数据段的数目;和(3)要在每个数据集中划分的一个或更多个数据段或数据集中的每个数据段的大小。结果,可以在车辆微云102中提高数据恢复效率。
例如,如果数据段丢失率指示数据集中的丢失数据段的百分比较低(例如,数据集的全部数据段的仅0.5%丢失),并且丢失数据段从其恢复的监听车辆120的数目较小(例如2个监听车辆),则机器学习模块210可以减少对于每个数据集的一组监听车辆120中的监听车辆120的数目(例如,将监听车辆的数目从十(10)个监听车辆减少到五(5)个监听车辆)。
在一些实施例中,机器学习模块210采用一个或更多个机器学习技术(例如,深度学习技术、神经网络等)来分析反馈数据。
在一些实施例中,机器学习模块210采用学习算法将反馈数据构建到学习数据库中,以便随着学习数据库存储不断增加的反馈数据的实例(本文中为“越来越多的反馈数据”),可以提高车辆微云102中的数据恢复效率。例如,机器学习模块210可以构建学习数据库的项目以包括数据集的丢失数据段的数目、用于执行数据集的数据恢复处理的响应时间和其他反馈数据等。随着接收到越来越多的反馈数据,可以构建学习数据库的越来越多的项目。然后,学习数据库中的项目可以用作用于训练用来分析反馈数据的一个或更多个机器学习技术的训练数据。
在一些实施例中,机器学习模块210采用学习算法,并且反馈数据被提供为对学习算法的输入。随着时间的流逝接收到越来越多的反馈数据,学习算法递归地分析反馈数据并且基于反馈数据随着时间的推移改进通信单元145的操作。例如,机器学习模块210基于学习算法对反馈数据的分析(例如,数据段丢失率在不久的将来超过阈值),预测数据集的数据段丢失率在不久的将来较高。然后,机器学习模块210修改通信单元145的操作(例如,增加通信单元145的活动V2X数目比率),以便在不久的将来提高丢失数据检索速度。在这种情况下,提高了通信单元145的操作以及车辆微云102中的数据恢复效率。
示例处理
现在参考图3,描绘了根据一些实施例的用于恢复车辆微云102的丢失数据的示例方法300的流程图。方法300的步骤可以以任何顺序执行,并且不一定是图3中描绘的顺序。这里,假设方法300由连接车辆执行。
在步骤301,数据恢复模块208检测数据集的一个或更多个数据段在通过V2X网络发送的第一数据移交功能期间丢失,其中在第一数据移交功能之前执行的先前数据移交功能期间将数据集划分为包括一个或更多个数据段的多个数据段。
在步骤303,数据恢复模块208修改连接车辆的通信单元145的操作,以从在先前数据移交功能期间监听一个或更多个数据段的一组监听车辆120收集一个或更多个数据段,以便在连接车辆上恢复数据集。
图4A描绘根据一些实施例的用于使用主动方法来恢复车辆微云102的丢失数据的方法400。方法400的步骤可以以任何顺序执行,并且不一定是图4A中描绘的顺序。这里,假设方法400由连接车辆执行。
在步骤401,在执行第一数据移交功能之后,数据恢复模块208与车辆微云102的一个或更多个其他成员执行信标消息交换处理。
在步骤403,数据恢复模块208构造第一集群内容列表以包括由连接车辆维持的按成员的内容列表和由车辆微云102的一个或更多个其他成员维持的一个或更多个其他按成员的内容列表。
在步骤405,数据恢复模块208将第一集群内容列表与先前集群内容列表进行比较,以确定数据集的一个或更多个数据段在第一数据移交功能期间丢失,其中在第一数据移交功能之前执行的先前数据移交功能期间将数据集划分为包括一个或更多个数据段的多个数据段。
在步骤407,数据恢复模块208修改连接车辆的通信单元145的操作以从车辆微云的一个或更多个其他成员收集数据集的多个数据段,以便在连接车辆上恢复数据集。例如,数据恢复模块208修改连接车辆的通信单元145的操作以从一组监听车辆120收集数据集的一个或更多个丢失数据段。
图4B描绘根据一些实施例的用于使用主动方法来恢复车辆微云102的丢失数据的另一方法450。方法450的步骤可以以任何顺序执行,并且不一定是图4B中描绘的顺序。这里,假设方法450由连接车辆执行。
在步骤451,在执行第一数据移交功能之后,数据恢复模块208等待直到下一个时间戳,并且通告在执行第一数据移交功能之后连接车辆负责维持的按成员的内容列表。
在步骤453,数据恢复模块208从车辆微云102的其他成员接收其他按成员的内容列表,并且聚合按成员的内容列表和其他按成员的内容列表以创建第一集群内容列表。
在步骤455,数据恢复模块208确定是否存在数据集的任何数据段包括在先前集群内容列表中但是不包括在第一集群内容列表中。响应于存在数据集的一个或更多个数据段包括在先前集群内容列表中但是不包括在第一集群内容列表中,数据恢复模块208确定数据集在第一数据移交功能期间丢失(例如,一个或更多个数据段丢失)。方法450移至步骤457。否则,方法450移回至步骤451。
在步骤457,数据恢复模块208确定丢失数据集的恢复是否已经由另一连接车辆启动。响应于丢失数据集的恢复已经由另一连接车辆启动,方法450移回至步骤455以确定是否存在有在第一数据移交功能期间丢失的附加数据集。否则,当没有其他连接车辆已启动丢失数据集的恢复时,方法450移至步骤459。
在步骤459,数据恢复模块208确定连接车辆上是否存在可用于容纳数据集的任何数据存储空间。响应于连接车辆具有可用的数据存储空间,方法450移至步骤461。否则,方法450移至步骤457。
在步骤461,数据恢复模块208向车辆微云102的一个或更多个其他成员请求数据集的数据段。例如,数据恢复模块208从一组监听车辆120收集数据集的一个或更多个丢失数据段,并且从数据集的负责车辆(或从这一组监听车辆120)收集数据集的其他数据段。
在步骤463,数据恢复模块208确定是否在连接车辆上收集了数据集的全部数据段。响应于在连接车辆上收集了数据集的全部数据段,方法450移至步骤465。否则,方法450移至步骤461。
在步骤465,数据恢复模块208恢复丢失数据集并且变成负责维持所恢复的数据集。接下来,方法450移回至步骤455,以确定是否存在有在第一数据移交功能期间丢失的附加数据集。可以对于每个丢失数据集执行步骤457-465。
在一些实施例中,当在车辆微云102中恢复了全部丢失数据集时,方法450可以结束。在一些实施例中,以预定义间隔来周期性地执行方法450。
图5A描绘根据一些实施例的用于使用被动方法来恢复车辆微云102的丢失数据的方法500。方法500的步骤可以以任何顺序执行,并且不一定是图5A中描绘的顺序。这里,假设方法500由连接车辆执行。
在步骤501,数据恢复模块208检测对数据集的请求失败,其中将数据集划分为多个数据段。
在步骤503,响应于对数据集的请求的失败,数据恢复模块208确定在执行数据移交功能时数据集的一个或更多个数据段丢失。
在步骤505,数据恢复模块208修改连接车辆的通信单元145的操作以从车辆微云102的一个或更多个其他成员收集数据集的多个数据段,以便在连接车辆上恢复数据集。例如,数据恢复模块208从一组监听车辆120收集数据集的一个或更多个丢失数据段,并且从数据集的负责车辆(或从这一组监听车辆120)收集数据集的其他数据段。
图5B描绘根据一些实施例的用于使用被动方法来恢复车辆微云102的丢失数据的另一方法550。方法550的步骤可以以任何顺序执行,并且不一定是图5B中描绘的顺序。这里,假设方法550由连接车辆执行。
在步骤551,数据恢复模块208确定对数据集的请求是否失败。响应于对数据集的请求的失败,数据恢复模块208确定数据集在数据移交功能期间丢失(例如,数据集的一个或更多个数据段丢失)。方法550移至步骤553。否则,方法550结束。
在步骤553,数据恢复模块208确定丢失数据集的恢复是否已经由另一连接车辆启动。响应于丢失数据集的恢复已经由另一连接车辆启动,方法550结束。否则,当没有其他连接车辆已启动丢失数据集的恢复时,方法550移至步骤555。
在步骤555,数据恢复模块208确定连接车辆上是否存在可用于容纳数据集的任何数据存储空间。响应于连接车辆具有可用的数据存储空间,方法550移至步骤557。否则,方法550移至步骤553。
在步骤557,数据恢复模块208向车辆微云102的一个或更多个其他成员请求数据集的数据段。例如,数据恢复模块208从一组监听车辆120收集数据集的一个或更多个丢失数据段,并且从数据集的负责车辆(或从这一组监听车辆120)收集数据集的其他数据段。
在步骤559,数据恢复模块208确定是否在连接车辆上收集了数据集的全部数据段。响应于在连接车辆上收集了数据集的全部数据段,方法550移至步骤561。否则,方法550移至步骤557。
在步骤561,数据恢复模块208恢复丢失数据集并且变成负责维持所恢复的数据集。
图6描绘根据一些实施例的用于执行数据移交功能的方法600。方法600的步骤可以以任何顺序执行,并且不一定是图6中描绘的顺序。这里,假设方法600由连接车辆执行。
在步骤601,数据移交模块204确定是否数据集被目的地车辆请求或者数据集准备要被移交到目的地车辆。响应于数据集被目的地车辆请求或者数据集准备要被移交到目的地车辆,方法600移至步骤603。否则,方法600结束。
在步骤603,数据移交模块204将数据集划分为多个数据段。
在步骤605,数据移交模块204将多个数据段发送到目的地车辆。
图7A描绘根据一些实施例的用于监听数据集的数据段的方法700。方法700的步骤可以以任何顺序执行,并且不一定是图7A中描绘的顺序。这里,假设方法700由连接车辆执行。
在步骤701,监听模块206侦听数据集通过V2X网络的发送。
在步骤703,监听模块206监听通过V2X网络发送的数据集的数据段的数量。所监听的数据段的数量可以至少是数据集的多个数据段的子集。
在步骤707,监听模块206在连接车辆上存储来自所监听的数据集的数据段的数量的数据段的数目。所存储的数据段的数目可以是所监听的数据段的数量的全部或子集。
图7B描绘根据一些实施例的用于监听数据集的数据段的方法750。方法750的步骤可以以任何顺序执行,并且不一定是图7B中描绘的顺序。这里,假设方法750由连接车辆执行。
在步骤751,监听模块206确定是否监听被划分为多个数据段并且被发送到车辆微云102的另一成员的数据集。响应于监听数据集,方法750移至步骤753。否则,方法750结束。
在步骤753,监听模块206拾取多个数据段的子集。
在步骤755,监听模块206确定是否存在可用于容纳多个数据段的子集的任何数据存储空间。响应于存在可用的数据存储空间,方法750移至步骤759。否则,方法750移至步骤757。
在步骤757,监听模块206基于一个或更多个准则来移除一个或更多个先前监听的数据段。
在步骤759,监听模块206将多个数据段的子集存储在连接车辆中。
图8A和图8B是示出根据一些实施例的示例DSRC数据800和850的图形表示。根据一些实施例,DSRC消息仅仅是可以用来在微云成员之间分发数据的V2X无线通信的一个示例。可以使用任何其他无线通信技术来分发数据。这样,可以使用在任何无线介质上工作的任何路由协议来将数据分发到与给定微云成员相距一跳以上的其他微云成员。
车辆越来越多地配备有DSRC。配备有DSRC的车辆可以以每0.10秒一次的可调节速率来广播DSRC消息。例如,配备有DSRC的车辆可以发送基本安全消息(BSM消息)。这些BSM消息包括DSRC数据。可以使用BSM消息来发送列表数据。图8A描述示出每个BSM消息中包括的一些DSRC数据的框图。
以下是图8B的内容的概要。DSRC消息的第1部分包括核心数据元素,核心数据元素包括车辆位置、行进方向、速度、加速度、方向盘角度和车辆尺寸。以大约每秒10次的可调节速率来发送DSRC消息。
DSRC消息的第2部分包括从大量可选元素列表中提取的可变数据元素集。他们中的一些是基于事件触发器(例如ABS已激活)来选择的。他们被添加到第1部分,并且被作为DSRC消息的一部分发送,但是为了节省带宽,许多被不太频繁地发送。DSRC消息仅包含当前快照(路径数据除外,路径数据本身限于几秒钟的过去历史数据)。
图9是示出根据一些实施例的用于执行先前数据移交功能、构造先前集群内容列表、执行第一数据移交功能以及构造第一集群内容列表的示例时间戳的图形表示900。上面描述了图9,并且这里不重复类似的描述。
在以上描述中,出于解释的目的,阐述了许多具体细节以便提供对说明书的透彻理解。然而,对于本领域的技术人员将明显的是,可以在没有这些具体细节的情况下实践本公开。在一些实例中,以框图形式示出了结构和装置,以便避免使描述不清楚。例如,以上可以主要参考用户接口和特定硬件来描述本实施例。然而,本实施例可以应用于可以接收数据和命令的任何类型的计算机系统以及提供服务的任何外围装置。
在说明书中对“一些实施例”或“一些实例”的引用是指结合实施例或实例描述的特定特征、结构或特性可以被包括在说明书的至少一个实施例中。说明书中各个地方出现的短语“在一些实施例中”不一定全都指相同的实施例。
下面的详细描述的一些部分是根据对计算机存储器内的数据比特的操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域中的技术人员用来最有效地向本领域中的其他技术人员传达其工作内容的手段。这里,算法通常被认为是导致期望结果的步骤的自洽序列。这些步骤是需要对物理量进行物理操纵的步骤。通常,尽管不是必需的,这些量采取能够被存储、传送、组合、比较和以其他方式操纵的电信号或磁信号的形式。主要出于通用的原因,已经证明有时将这些信号称为比特、值、元素、符号、字符、项、数字等是方便的。
然而,应当牢记,所有这些术语和类似术语要与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非从下面的讨论中另外明确地指出,否则应理解,在整个描述中,采用包括“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论是指计算机系统或类似电子计算装置的动作和处理,其将被表示为计算机系统寄存器和存储器中的物理(电子)量的数据操纵并且转换为被类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示装置中的物理量的其他数据。
说明书的当前实施例还可以涉及用于执行本文中的操作的设备。该设备可以被具体地构造用于所需目的,或者该设备可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,包括但不限于任何类型的盘(包括软盘、光盘、CD-ROM和磁盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、包括具有非易失性存储器的USB密钥的闪速存储器或适于存储电子指令的任何类型的介质,各自耦合到计算机系统总线。
说明书可以采取一些完全硬件实施例、一些完全软件实施例或既包含硬件又包含软件元素的一些实施例的形式。在一些优选实施例中,该说明书以软件实现,该软件包括但不限于固件、驻留软件、微代码等。
此外,描述可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,该计算机可用或计算机可读介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。为了该描述的目的,计算机可用或计算机可读介质可以是可以包含、存储、传送、传播或发送程序以供指令执行系统、设备或装置使用或与其结合使用的任何设备。
适于存储或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦合到存储器元件的至少一个处理器。存储器元件可以包括在程序代码的实际执行期间使用的本地存储器、大容量存储装置以及高速缓冲存储器,高速缓冲存储器提供至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储装置中检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点装置等)可以直接地或通过中间I/O控制器耦合到系统。
网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间私有或公共网络耦合到其他数据处理系统或远程打印机或存储装置。调制解调器、电缆调制解调器和以太网卡只是当前可用类型的网络适配器中的一些。
最后,本文中提出的算法和显示与任何特定计算机或其他设备不是固有地相关。各种通用系统可以与根据本文中的教导的程序一起使用,或者可以证明构造更专用的设备以执行所需的方法步骤是方便的。各种这些系统所需的结构将从下面的描述中出现。另外,未参考任何特定编程语言来描述该说明书。应当理解,可以使用各种编程语言来实现如本文中所述的说明书的教导。
为了说明和描述的目的,已经给出了对本说明书的实施例的前述描述。不是旨在穷举或将说明书限制为所公开的精确形式。根据以上教导,许多修改和变型是可能的。意图是,本公开的范围不由该详细描述限制,而是由本申请的权利要求书限制。如本领域技术人员将理解的,说明书可以以其他特定形式来实现而不偏离其精神或基本特征。同样,模块、例程、特征、属性、方法和其他方面的特定命名和划分也不是强制性的或重要的,并且实现说明书或其特征的机制可以具有不同的名称、划分或格式。此外,对于相关领域的普通技术人员将明显的是,本公开的模块、例程、特征、属性、方法和其他方面可以被实现为软件、硬件、固件或这三者的任何组合。此外,无论说明书的哪个组件(其示例为模块)被实现为软件,该组件可都可以被实现为分立程序、较大程序的一部分、多个单独程序、静态或动态链接库、内核可加载的模块、装置驱动程序、或以计算机编程领域的普通技术人员现在或将来已知的任何其他方式。另外,本公开绝不限于任何特定编程语言或任何特定操作系统或环境的实施例。因此,本公开旨在说明而非限制本说明书的范围,本说明书的范围在以下权利要求中阐明。
Claims (18)
1.一种用于作为车辆微云的成员的连接车辆的方法,包括:
检测第一数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失,其中,在第一数据移交功能之前执行的先前数据移交功能期间将第一数据集划分为包括所述一个或更多个数据段的多个数据段;以及
修改所述连接车辆的通信单元的操作以从在先前数据移交功能期间监听所述一个或更多个数据段的一组监听车辆收集所述一个或更多个数据段,以便在所述连接车辆上恢复第一数据集。
2.根据权利要求1所述的方法,其中,修改所述连接车辆的通信单元的操作包括:修改所述通信单元的一个或更多个操作元素,以便通过所述通信单元从一个或更多个监听车辆检索在第一数据移交功能期间丢失的所述一个或更多个数据段。
3.根据权利要求2所述的方法,其中,所述通信单元的所述一个或更多个操作元素包括以下各项中的一个或更多个:要在所述通信单元上操作的一个或更多个活动V2X信道;要在所述通信单元上操作的一个或更多个活动V2X无线电装置;要在所述通信单元上操作的一个或更多个活动V2X天线;所述一个或更多个活动V2X信道的一个或更多个操作频率;在所述一个或更多个活动V2X天线上执行的一个或更多个波束成形技术;和所述通信单元的带宽分配方案。
4.根据权利要求1-3中任一项所述的方法,其中,检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:
在执行第一数据移交功能之后构造第一集群内容列表,第一集群内容列表包括数据集的第一聚合列表和第一聚合列表中的每个数据集的组成数据段;以及
至少部分地基于第一集群内容列表来检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失。
5.根据权利要求4所述的方法,其中,在执行第一数据移交功能之后构造第一集群内容列表包括:
在执行第一数据移交功能之后,与所述车辆微云的一个或更多个其他成员执行信标消息交换处理,包括:
经由V2X网络将包括由所述连接车辆维持的按成员的内容列表的信标消息发送到所述车辆微云的所述一个或更多个其他成员;以及
从所述车辆微云的所述一个或更多个其他成员接收包括一个或更多个其他按成员的内容列表的一个或更多个其他信标消息;以及
构造第一集群内容列表以包括由所述连接车辆维持的按成员的内容列表和由所述车辆微云的所述一个或更多个其他成员维持的所述一个或更多个其他按成员的内容列表。
6.根据权利要求5所述的方法,其中,由所述车辆微云的对应成员维持的每个按成员的内容列表包括在执行第一数据移交功能之后由所述车辆微云的对应成员维持的数据集的按成员的列表和所述按成员的列表中的每个数据集的数据段。
7.根据权利要求4所述的方法,其中,至少部分地基于第一集群内容列表来检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:
将第一集群内容列表与先前集群内容列表进行比较以确定第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失。
8.根据权利要求7所述的方法,其中:
所述先前集群内容列表包括数据集的先前聚合列表和所述先前聚合列表中的每个数据集的组成数据段;以及
将第一集群内容列表与所述先前集群内容列表进行比较以确定第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:
响应于确定所述一个或更多个数据段包括在所述先前集群内容列表中而在第一集群内容列表中缺失,确定所述一个或更多个数据段在第一数据移交功能期间丢失。
9.根据权利要求7所述的方法,其中,在执行第一数据移交功能之后构造第一集群内容列表,以及在执行所述先前数据移交功能之后而且在执行第一数据移交功能之前构造所述先前集群内容列表。
10.根据权利要求7所述的方法,其中,在执行第一数据移交功能之后构造第一集群内容列表,以及至少通过以下方式在执行第一数据移交功能之前构造所述先前集群内容列表:
从将第一数据集划分为所述多个数据集的源车辆接收V2X无线消息,其中,所述V2X无线消息包括用来识别第一数据集的数据集标识ID数据和用来识别组成第一数据集的所述多个数据段的段ID数据;以及
构造所述先前集群内容列表以包括第一数据集的所述数据集ID数据和所述多个数据段的所述段ID数据。
11.根据权利要求1-3中任一项所述的方法,其中,检测第一数据集的所述一个或更多个数据段在第一数据移交功能期间丢失包括:
检测对第一数据集的请求失败;以及
响应于对第一数据集的请求的失败,确定在执行第一数据移交功能时第一数据集的所述一个或更多个数据段丢失。
12.根据权利要求1-3中任一项所述的方法,其中,使用编码技术将第一数据集编码为Q个编码块,并且将所述Q个编码块中的每个编码块视为数据段,以便提高对于第一数据集的成功数据恢复的概率,其中,Q是正整数。
13.根据权利要求1-3中任一项所述的方法,其中,所述连接车辆充当对于通过V2X网络发送的第二数据集的监听车辆,以及所述方法还包括:
侦听第二数据集通过V2X网络的发送;
监听通过V2X网络发送的第二数据集的数据段的数量;以及
在所述连接车辆上存储来自所监听的数据段的数量的数据段的数目,其中,所存储的数据段的数目包括所监听的数据段的数量的全部或子集。
14.如权利要求13所述的方法,其中,被所述连接车辆监听并且存储的第二数据集的数据段的数目包括来自第二数据集的数据段的预定数目。
15.如权利要求13所述的方法,其中,被所述连接车辆监听并且存储的第二数据集的数据段的数目包括来自第二数据集的数据段的动态数目。
16.根据权利要求15所述的方法,其中,基于所述车辆微云中的成员的总数目、所述连接车辆上的数据存储资源的可用性、第二数据集的大小、所述车辆微云中的数据段损失率和描述第一数据集的恢复结果的反馈数据中的一个或更多个来确定数据段的动态数目。
17.一种系统,包括:
车辆微云中的连接车辆的车载车辆计算机系统,包括通信单元、处理器和存储计算机代码的非暂态存储器,所述计算机代码在由处理器执行时使所述处理器:
检测第一数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失,其中,在第一数据移交功能之前执行的先前数据移交功能期间将第一数据集划分为包括所述一个或更多个数据段的多个数据段;以及
修改所述连接车辆的通信单元的操作以从在先前数据移交功能期间监听所述一个或更多个数据段的一组监听车辆收集所述一个或更多个数据段,以便在所述连接车辆上恢复第一数据集。
18.一种包括通信单元的连接车辆的计算机程序产品,所述计算机程序产品包括存储计算机可执行代码的非暂态存储器,所述计算机可执行代码在由处理器执行时使所述处理器:
检测第一数据集的一个或更多个数据段在通过车辆对一切V2X网络发送的第一数据移交功能期间丢失,其中,在第一数据移交功能之前执行的先前数据移交功能期间将第一数据集划分为包括所述一个或更多个数据段的多个数据段;以及
修改所述连接车辆的通信单元的操作以从在先前数据移交功能期间监听所述一个或更多个数据段的一组监听车辆收集所述一个或更多个数据段,以便在所述连接车辆上恢复第一数据集。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/200,574 | 2018-11-26 | ||
US16/200,574 US10769031B2 (en) | 2018-11-26 | 2018-11-26 | Lost data recovery for vehicle-to-vehicle distributed data storage systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221679A true CN111221679A (zh) | 2020-06-02 |
CN111221679B CN111221679B (zh) | 2022-12-06 |
Family
ID=68696297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911172676.8A Active CN111221679B (zh) | 2018-11-26 | 2019-11-26 | 车辆对车辆分布式数据存储系统的丢失数据恢复 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10769031B2 (zh) |
EP (1) | EP3657828B1 (zh) |
JP (1) | JP7092105B2 (zh) |
CN (1) | CN111221679B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11178219B2 (en) * | 2019-03-08 | 2021-11-16 | Toyota Jidosha Kabushiki Kaisha | Resource assurance for vehicle cloudification |
US11631324B2 (en) | 2020-08-19 | 2023-04-18 | Toyota Motor Engineering & Manufacturing North America, Inc. | Systems and methods for collaborative intersection management |
DE102020214254A1 (de) * | 2020-11-12 | 2022-05-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein | Motor-Steuergerät fur einen Verbrennungsmotor mit kollektiver Einstellung fur Motor-Betriebsparameter |
US11379369B1 (en) * | 2021-01-15 | 2022-07-05 | Coupang Corp. | Systems and methods for dynamic in-memory caching of mappings into partitions |
US11074142B1 (en) * | 2021-01-15 | 2021-07-27 | Coupang Corp. | Systems and methods for automatically resolving system failure through force supplying cached API data |
US20230244569A1 (en) * | 2022-01-28 | 2023-08-03 | Pure Storage, Inc. | Recover Corrupted Data Through Speculative Bitflip And Cross-Validation |
JP7462692B2 (ja) * | 2022-03-03 | 2024-04-05 | 本田技研工業株式会社 | 機能管理システム、および機能管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095013A (zh) * | 2015-06-04 | 2015-11-25 | 华为技术有限公司 | 数据存储方法、恢复方法、相关装置以及系统 |
US20160173237A1 (en) * | 2013-07-15 | 2016-06-16 | Alcatel Lucent | Method for a first network node for transmitting or retransmitting data to a second network node and first network node thereof and method for a second network node for receiving data transmitted or retransmitted from a first network node and second network node thereof |
CN108449383A (zh) * | 2018-02-11 | 2018-08-24 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 分布式实时移动微云计算系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188026B2 (en) * | 2003-05-12 | 2007-03-06 | Dash Navigation, Inc. | Hierarchical floating car data network |
US8229663B2 (en) * | 2009-02-03 | 2012-07-24 | GM Global Technology Operations LLC | Combined vehicle-to-vehicle communication and object detection sensing |
US8627073B2 (en) * | 2010-03-24 | 2014-01-07 | GM Global Technology Operations LLC | Adaptive certificate distribution mechanism in vehicular networks using forward error correcting codes |
US8976744B2 (en) * | 2010-11-03 | 2015-03-10 | Broadcom Corporation | Vehicle communication network including wireless communications |
US10554708B2 (en) * | 2015-03-27 | 2020-02-04 | Qualcomm Incorporated | Point-to-multipoint broadcast assisted vehicle-to-X broadcast |
EP3323121A4 (en) * | 2015-07-14 | 2018-07-25 | Samsung Electronics Co., Ltd. | Apparatus and method for providing service in vehicle to everything communication system |
US10531353B2 (en) * | 2015-10-05 | 2020-01-07 | Qualcomm Incorporated | Minimization of resource allocation delay for V2X application |
US20170142187A1 (en) * | 2015-10-18 | 2017-05-18 | Juan R. Pimentel | Method for Uploading All of In-Vehicle Data to the Cloud in an Efficient, Automated, Secure, and Reliable Fashion |
US10992589B2 (en) * | 2016-01-12 | 2021-04-27 | Qualcomm Incorporated | LTE based V2X communication QOS and congestion mitigation |
US10965479B2 (en) * | 2016-04-02 | 2021-03-30 | Comcast Cable Communications, Llc | Bearer modification for V2X communications |
KR20180132036A (ko) * | 2016-04-06 | 2018-12-11 | 샤프 가부시키가이샤 | 차량(v2x) 통신을 위한 자원 선택 |
-
2018
- 2018-11-26 US US16/200,574 patent/US10769031B2/en not_active Expired - Fee Related
-
2019
- 2019-11-26 EP EP19211430.4A patent/EP3657828B1/en active Active
- 2019-11-26 JP JP2019212977A patent/JP7092105B2/ja active Active
- 2019-11-26 CN CN201911172676.8A patent/CN111221679B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160173237A1 (en) * | 2013-07-15 | 2016-06-16 | Alcatel Lucent | Method for a first network node for transmitting or retransmitting data to a second network node and first network node thereof and method for a second network node for receiving data transmitted or retransmitted from a first network node and second network node thereof |
CN105095013A (zh) * | 2015-06-04 | 2015-11-25 | 华为技术有限公司 | 数据存储方法、恢复方法、相关装置以及系统 |
CN108449383A (zh) * | 2018-02-11 | 2018-08-24 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 分布式实时移动微云计算系统 |
Non-Patent Citations (1)
Title |
---|
HIGUCHI TAKAMASA ET AL.: "How to Keep a Vehicular Micro Cloud Intact", 《2018 IEEE 87TH VEHICULAR TECHNOLOGY CONFERENCE》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3657828A1 (en) | 2020-05-27 |
EP3657828B1 (en) | 2021-12-29 |
US10769031B2 (en) | 2020-09-08 |
CN111221679B (zh) | 2022-12-06 |
JP7092105B2 (ja) | 2022-06-28 |
US20200167241A1 (en) | 2020-05-28 |
JP2020129791A (ja) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221679B (zh) | 车辆对车辆分布式数据存储系统的丢失数据恢复 | |
EP3694237B1 (en) | Anomaly mapping by vehicular micro clouds | |
CN111436034B (zh) | 固定交通工具微云的按需形成 | |
US11412360B2 (en) | Vehicle-to-everything data transfer for automated vehicles | |
US10530451B1 (en) | Modifying a millimeter wave radio based on a beam alignment feedback | |
US20190239040A1 (en) | Millimeter wave vehicle-to-vehicle communication system for data sharing | |
US11032370B2 (en) | Wireless communications in a vehicular macro cloud | |
EP3657763B1 (en) | Mobility-oriented data replication in a vehicular micro cloud | |
CN114248799A (zh) | 车辆到一切消息的不当行为检测 | |
US11350257B2 (en) | Proxy environmental perception | |
US11198443B2 (en) | Message content selection based on uncertainty for cooperative vehicular systems | |
US20230247399A1 (en) | Adaptive sensor data sharing for a connected vehicle | |
US20220026566A1 (en) | Location data correction service for connected vehicles | |
US20220035365A1 (en) | Vehicular nano cloud | |
US20220132501A1 (en) | Modifying a vehicular radio based on a schedule of point-to-point vehicular communications | |
US11282378B2 (en) | Vehicular knowledge distribution system | |
JP6904311B2 (ja) | 車車間通信システム、車両用通信装置 | |
US20230007453A1 (en) | Generating subgroups from a vehicular micro cloud |
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 |