CN111385340B - 数据处理方法和系统 - Google Patents
数据处理方法和系统 Download PDFInfo
- Publication number
- CN111385340B CN111385340B CN201811647389.3A CN201811647389A CN111385340B CN 111385340 B CN111385340 B CN 111385340B CN 201811647389 A CN201811647389 A CN 201811647389A CN 111385340 B CN111385340 B CN 111385340B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- server
- autonomous vehicle
- controller
- 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.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0025—Planning or execution of driving tasks specially adapted for specific operations
-
- 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
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/06—Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/042—Public Land Mobile systems, e.g. cellular systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请实施例公开了数据处理系统和方法。所述数据处理方法包括:将轮询请求发送到第一服务器以获取任务,其中所述任务是远程任务请求,并且所述任务与通过移动网络从自动驾驶车辆获得数据相关联,所述数据与一个或以上主题相关;基于所述轮询请求从所述第一服务器接收所述任务;基于所述任务获得所述数据;以及通过所述移动网络将所述数据发送到第二服务器。本申请中的数据处理的系统和方法通过轮询请求获取任务,并且通过自动驾驶车辆中的移动网络将任务中所需数据发送到文件服务器,可以有效且安全地远程发送所需数据。
Description
技术领域
本申请一般涉及数据处理,更具体地,涉及用于有效地发送数据的系统和方法。
背景技术
在一些情况下,有必要和/或希望有效地向远程端发送数据,尤其当用户(例如后端工程师)需要这些数据时。例如,当自动驾驶车辆进行道路测试时,经常会出现问题。这些问题需要迅速并有效地解决。这通常需要远程数据传输。本质上,在后端工程师分析这些问题之前,他们需要自动驾驶车辆中的数据,至少是与这些问题相关的数据,被准确地发送给他们。在自动驾驶车辆运行期间产生的全部数据的数据量通常比较大(例如,全部数据的大小在几分钟内可能达到1G)。但是,自动驾驶车辆之中或周围通常只有移动网络,它很难将与自动驾驶车辆有关的所有数据远程发送给工程师。因此,希望提供能够通过移动网络有效且安全地将所需数据(而非与自动驾驶车辆有关的所有数据)远程传输给工程师的系统和方法。
发明内容
本申请实施例之一提供一种用于自动驾驶车辆的数据处理方法。所述用于自动驾驶车辆的数据处理方法包括:将轮询请求发送到第一服务器以获取任务,其中所述任务是远程任务请求,并且所述任务与通过移动网络从所述自动驾驶车辆获得数据相关联,所述数据与一个或以上主题相关;基于所述轮询请求从所述第一服务器接收所述任务;基于所述任务获得所述数据;以及通过所述移动网络将所述数据发送到第二服务器。
在一些实施例中,所述方法进一步包括:在所述轮询请求被发送到所述第一服务器之前,确定所述自动驾驶车辆处于非自动驾驶模式。
在一些实施例中,所述任务包括所述一个或以上主题和所述数据的持续时间。
在一些实施例中,所述基于所述任务获得所述数据包括:基于所述任务收集与所述一个或以上主题相关的原始数据;以及基于所述任务处理所述收集的数据。
在一些实施例中,所述方法进一步包括:通过所述第一服务器,在预定时间段中将所述任务的状态发送到与用户相关联的用户终端。
在一些实施例中,获取所述数据的持续时间小于或等于持续时间阈值。
在一些实施例中,所述任务在所述第一服务器中等待被所述自动驾驶车辆处理的时间小于或等于时间阈值。
在一些实施例中,所述方法进一步包括:从所述第二服务器接收所述所述数据在第二服务器中的存储位置;以及通过所述第一服务器将所述存储位置发送到与用户相关联的用户终端。
本申请实施例之一提供一种用于自动驾驶车辆的数据处理系统,包括轮询模块、任务接收模块,收集模块和传输模块。所述轮询模块用于将轮询请求发送到第一服务器以获取任务,其中所述任务是远程任务请求,并且所述任务与通过移动网络从所述自动驾驶车辆获得数据相关联,所述数据与一个或以上主题相关;所述任务接收模块用于基于所述轮询请求从所述第一服务器接收所述任务;所述收集模块用于基于所述任务获得所述数据;以及所述传输模块用于通过所述移动网络将所述数据发送到第二服务器。
本申请实施例之一提供一种用于自动驾驶车辆的数据处理装置,包括处理器,所述处理器用于执行用于自动驾驶车辆的数据处理方法。
本申请实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行用于自动驾驶车辆的数据处理方法。
本申请实施例之一提供一种用于自动驾驶车辆的数据处理系统,所述系统包括至少一个存储设备,包括一组指令;以及至少一个处理器与所述至少一个存储设备通信,其中当执行所述指令集时,所述至少一个处理器执行用于自动驾驶车辆的数据处理方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的示例性数据处理系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的自动驾驶车辆的示例性控制器的示意性框图;以及
图5是根据本申请的一些实施例所示的数据处理的示例性过程的流程图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所公开的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
基于以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明基于本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
本申请中的系统和方法可以应用于用户想要及时获得远程数据的不同场景。例如,本申请中的系统和方法可以应用于智能设备。智能设备可以包括智能家居设备(例如,智能照明设备、智能电器的控制器、智能监控设备、智能电视、智能摄像机、对讲机等)、智能可穿戴设备(例如,智能手环、智能脚踏板、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等)、智能移动设备(例如,智能手机、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备等)、机器人、自动驾驶车辆等,或任何组合。自动驾驶车辆可以应用于陆地、海洋、航空航天等,或其任何组合。车辆可包括出租车、私家车、顺风车、公共汽车、火车、动车、高铁、地铁、船只、飞机、宇宙飞船、热气球、无人驾驶车辆、自行车、三轮车、摩托车等,或其任何组合。
为简洁起见,本申请中对数据处理的方法和/或系统的描述可以以自动驾驶车辆为例。应当注意下面描述的数据处理的方法和/或系统仅仅是一些示例或实施方式。对于本领域具有普通技能的人员,本申请中的数据处理的方法和/或系统可以应用于其他类似的情况,例如机器人、智能家居设备、智能可穿戴设备、智能移动设备等。
有效和安全地向用户(例如,后端工程师)发送远程数据以快速解决在自动驾驶车辆运行期间出现的问题是必要和/或期望的。为此,本申请中的用于自动驾驶车辆的数据处理的系统和方法可以将轮询请求发送到第一服务器以获得任务,其中,所述任务是远程任务请求,并且该任务与经由移动网络从自动驾驶车辆获得与一个或以上主题相关的所需数据(不是与自动驾驶车辆相关的全部数据)相关联。所述系统和方法可以基于轮询请求从第一服务器接收任务。所述系统和方法可以基于所述任务获得所需数据。所述系统和方法可以经由移动网络将数据发送到文件服务器。
本申请中的数据处理的系统和方法可以有效且安全地远程发送所需数据,因为所述系统和方法基于轮询请求从第一服务器拉取任务并基于该任务发送所需数据,而不是用户主动访问自动驾驶车辆,通过虚拟专用网络(VPN)获取所需数据,并且因为在将任务发送到第一服务器之后的相对短的时间内,可以通过自动驾驶车辆中的移动网络将所需数据发送到文件服务器,而不是等待超过1周,通过快递获得所需的数据。
图1是根据本申请的一些实施例的示例性数据处理系统的示意图。数据处理系统100可包括服务器110、网络120、一个或以上自动驾驶车辆130、一个或以上用户终端140、定位系统150、数据库服务器160、文件服务器170和存储设备180。
在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在数据库服务器160、文件服务器170和/或存储设备180中的信息和/或数据。又例如,服务器110可以直接连接到数据库服务器160、文件服务器170和/或存储设备180,以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在本申请中的图2描述的包含了一个或以上组件的计算设备200上执行。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理信息和/或数据以执行本申请中描述的一个或以上的功能。例如,处理引擎112可以更新远程任务请求的状态。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,数据处理系统100中的一个或以上组件(例如,服务器110、自动驾驶车辆130、用户终端140、存储设备180、定位系统150、数据库服务器160和文件服务器170)可以经由网络120向/从数据处理系统100中的其他组件发送/获得信息和/或数据。例如,处理引擎112可以经由网络120从用户终端140和/或自动驾驶车辆130获得任务(也称为远程任务或远程任务请求)。又如例,自动驾驶车辆130可以向服务器110发送轮询请求以经由网络120从服务器110拉取任务。作为又一示例,服务器110可以基于经由网络120的轮询请求将任务发送到自动驾驶车辆130。作为另一示例,自动驾驶车辆130可以经由网络120将任务中所需的数据发送到文件服务器170。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通信(NFC)网络等或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,如基站和/或互联网交换点120-1、120-2、……,通过数据处理系统100的一个或以上部件可以连接到网络120以交换数据和/或信息。
在一些实施例中,自动驾驶车辆130可以是能够感测其环境并且在很少或没有人类输入的情况下移动的车辆。自动驾驶车辆130可以组合各种传感器来感知周围环境,例如雷达、计算机视觉、激光雷达、声纳、具有定位技术的设备、里程表和惯性测量单元。在一些实施例中,自动驾驶车辆130可以与其他定位设备(例如,定位系统150)通信以确定自动驾驶车辆130的位置。在一些实施例中,自动驾驶车辆130可以将定位信息发送到服务器110。
在一些实施例中,自动驾驶车辆130可包括控制器132,用于解析传感信息以控制自动驾驶车辆130的速度和行驶方向,并识别适当的导航路径、障碍物和相关标志。在一些实施例中,控制器132还可以处理信息和/或数据以执行本申请中描述的数据处理操作。此外,可以将一个或以上节点(例如,机器人操作系统(ROS)节点)添加到控制器132以处理信息和/或数据以执行本申请中描述的数据处理操作。例如,控制器132可以向服务器110发送轮询请求以从服务器110拉取任务。又例如,控制器132可以从服务器110接收任务并将与自动驾驶车辆130相关并且是任务中需要的数据发送到文件服务器170。在一些实施例中,控制器132可以类似于服务器110。
在一些实施例中,用户终端140可以与数据处理系统100的用户(例如,后端工程师)相关联。用户终端140可以包括移动设备140-1、平板计算机140-2、膝上型计算机140-3、机动车辆内置设备140-4等,或其任何组合。在一些实施例中,移动设备140-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器的控制器、智能监控设备、智能电视、智能摄像机、对讲机等,或其组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、RiftConTM、FragmentsTM、Gear VRTM等。在一些实施例中,机动车辆内置设备140-4可包括车载计算机、车载电视、行进数据记录器等。
在一些实施例中,用户(例如,后端工程师)可以通过用户终端140向服务器110发送任务,所述任务与从自动驾驶车辆130获得与一个或以上主题相关的数据有关。在一些实施例中,用户终端140可以从服务器110接收任务的状态并显示任务状态。
定位系统150可以确定与对象相关联的信息,例如,自动驾驶车辆130和/或用户终端140。在一些实施例中,定位系统150可以是全球定位系统(GPS)、全球导航卫星系统(GLONASS)、罗盘导航系统(COMPASS)、北斗导航卫星系统、伽利略定位系统、准天顶卫星系统(QZSS)等。位置可以是坐标的形式,例如纬度坐标和经度坐标等。定位系统150可以包括一个或以上卫星,例如卫星150-1、卫星150-2和卫星150-3。卫星150-1至150-3可以独立地或共同地确定上述信息。卫星定位系统150可以经由无线连接将上述信息发送到网络120或自动驾驶车辆130和/或用户终端140。
数据库服务器160可以是容纳数据库应用程序的服务器,所述数据库应用程序可以向其他计算机程序或计算机(例如,服务器)提供数据库服务。数据库应用程序可以响应查询语言。数据库应用程序可以将查询语言转换为服务器可读形式,并执行转换后的查询语言以检索结果。示例性数据库应用程序可以包括Oracle、数据库2(DB2)、Informix、结构化查询语言(SQL)服务器、PostgreSQL、Ingres、MySQL等,或其任何组合。在一些实施例中,数据库服务器160可以类似于服务器110。在一些实施例中,数据库服务器160可以从服务器110接收任务的任务状态并存储任务的任务状态。
文件服务器170可以是提供用于共享存储文件(例如,文本、图像、声音、视频)的位置的服务器,其可以由能够经由网络(例如,网络120)到达服务器的设备访问。文件服务器170可以不代表其客户端(例如,使用文件服务器170的存储的设备)执行计算任务或运行程序。文件服务器170可以主要设计成当其客户端执行操作时能够进行存储和检索数据。在一些实施例中,文件服务器170可以类似于服务器110。在一些实施例中,文件服务器170可以存储与一个或以上主题相关的数据,所述数据基于任务从自动驾驶车辆130获得,文件服务器170可以将数据的存储位置发送到服务器110。
存储设备180可以存储数据和/或指令。在一些实施例中,存储设备180可以存储从自动驾驶车辆130、用户终端140、数据库服务器160、文件服务器170和/或服务器110获得的数据。例如,存储设备180可以存储从用户终端130和/或自动驾驶车辆130发送的任务。在一些实施例中,存储设备180可以存储可以被执行或用于执行本申请中描述的示例性方法的数据和/或指令。例如,存储设备180可以存储处理引擎112可以执行以更新任务状态的指令。又例如,存储设备180可以存储控制器132可以执行的指令,以基于任务获得与自动驾驶车辆130相关的数据。在一些实施例中,存储设备180可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、磁盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储设备180可在云端平台上执行。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备180可以连接到网络120以与数据处理系统100中的一个或以上组件(例如,服务器110、自动驾驶车辆130、用户终端140、定位系统150、数据库服务器160、文件服务器170)通信。数据处理系统100中的一个或以上组件可以经由网络120访问存储设备180中存储的数据或指令。在一些实施例中,存储设备180可以直接连接到数据处理系统100中的一个或以上组件(例如,服务器110、自动驾驶车辆130、用户终端140、定位系统150、数据库服务器160、文件服务器170)或与之通信。在一些实施例中,存储设备180可以是服务器110、控制器132、数据库服务器160和/或文件服务器170的一部分。
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图,其中服务器110(例如,处理引擎112)、用户终端140、控制器132、数据库服务器160和/或文件服务器170可以在其计算设备上实现。如图2所示,计算设备200可以包括处理器210、存储器220、输入/输出(I/O)230和通信端口240。
处理器210(例如,逻辑电路)可以执行计算机指令(例如,程序代码)并基于本文描述的技术执行功能。例如,处理器210可以包括接口电路210-a和其中的处理电路210-b。接口电路210-a可以被配置用于接收来自总线(图2中未示出)的电子信号,其中电子信号编码/包括用于处理电路处理的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线从处理电路发出电信号。
所述计算机指令可以包括例如执行在此描述的特定功能的常规、程序、对象、组件、数据结构、过程、模块和功能。例如,控制器132可以在计算设备200上实现。处理器210可以处理一个任务并基于该任务获得与一个或以上主题相关的数据。在一些实施例中,处理器210可以包括一个或以上硬件处理器,诸如微控制器、微处理器、精简指令集计算机(RISC)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高阶RISC机器(ARM)、可编程逻辑设备(PLD)、能够执行一个或以上功能的任何电路或处理器或类似物,或其任何组合。
仅仅为了说明,在计算设备200中仅描述了一个处理器。然而,应该注意的是,本申请中的计算设备200还可以包括多个处理器,由此执行的操作和/或方法步骤如本申请中所描述的一个处理器也可以由多个处理器联合地或单独地执行。例如,如果在本申请中,计算设备200的处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B也可以由计算设备200的两个或以上不同的处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
存储器220可以存储从自动驾驶车辆130、用户终端140、数据库服务器160、文件服务器170、存储设备180和/或数据处理系统100的任何其他组件获得的数据/信息。例如,服务器110可以在计算设备200上实现。存储器220可以存储从用户终端140和/或自动驾驶车辆130接收的任务。又例如,数据库服务器160可以在计算设备200上实现。存储器220可以存储从服务器110接收的任务的状态。作为又一示例,文件服务器170可以在计算设备200上实现。存储器220可以存储从自动驾驶车辆130接收的与一个或以上主题相关的数据。作为另一个示例,控制器132可以在计算设备200上实现。存储器220可以存储自动驾驶车辆130运行期间产生的数据(例如,由自动驾驶车辆130中的传感器收集的传感信息)。在一些实施例中,存储器220可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等或其任意组合。例如,大容量存储器可以包括一磁盘、光盘、固态硬盘等。可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘和磁带等。易失性读取和写入内存可以包括随机存取内存(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容(Z-RAM)等。只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,存储器220可以存储一个或以上程序和/或指令以执行在本申请中描述的示例性方法。例如,控制器132可以在计算设备200上实现。存储器220可以存储用于控制器132的程序,用于处理一个任务并基于该任务获得与一个或以上主题相关的数据。又例如,数据库服务器160可以在计算设备200上实现。存储器220可以存储数据库应用程序。
I/O 230可以输入和/或输出信号、数据、信息等。在一些实施例中,I/O 230可以使用户与处理引擎112交互。在一些实施例中,I/O 230可以包括输入设备和输出设备。示例性的输入设备可以包括键盘、鼠标、触控屏幕、麦克风等,或其任何组合。示例性的输出设备可以包括显示设备、扬声器、打印机、投影仪等,或其任何组合。显示设备的示例可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、弯曲屏幕、电视设备、阴极射线管(CRT)、触摸屏幕等,或其任何组合。
通信端口240可以连接到网络(例如,网络120)以促进数据通信。通信端口240可以在处理引擎112、用户终端140、定位系统150或存储设备180之间建立连接。连接可以是有线连接、无线连接、可以启用数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆、光缆、电话线等,或其任何组合。有线连接可以包括例如电缆、光缆、电话线等或其任意组合。无线连接可以包括例如蓝牙链路、Wi-Fi链路、WiMax链路、WLAN链路、ZigBee链路、移动网络链路(例如3G、4G、5G等)等或其组合。在一些实施例中,通信端口240可以是和/或包括标准化通信端口,诸如RS232、RS485等。
图3是根据本申请的一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图。用户终端140可以在移动设备上实现。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与数据处理系统100有关的信息或来自处理引擎112的其他信息。用户与信息流的交互可以通过I/O 350实现,并通过网络120提供给处理引擎112和/或数据处理系统100的其他组件。仅作为示例,任务的状态可以通过显示器320显示在用户终端140中。又例如,用户可以通过I/O 350输入任务。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。若程控得当,计算机亦可用作服务器。
本领域普通技术人员将理解,当数据处理系统100的元件执行时,该元件可以通过电信号和/或电磁信号执行。例如,当控制器132处理诸如做出确定或识别信息的任务时,控制器132可以在其处理器中操作逻辑电路以处理这样的任务。当控制器132从处理引擎112接收数据(例如,远程任务)时,控制器132的处理器可以接收编码/包括数据的电信号。控制器132的处理器可以通过一个或以上信息交换端口接收电信号。如果处理引擎112经由有线网络与控制器132通信,则信息交换端口可以物理连接到电缆。如果处理引擎112经由无线网络与控制器132通信,则控制器132的信息交换端口可以是一个或以上天线,其可以将电信号转换为电磁信号。在电子设备中,例如控制器132、用户终端140和/或服务器110,当其处理器处理指令时,发出指令和/或执行动作,指令和/或动作通过电信号进行。例如,当处理器从存储介质(例如存储设备180)检索或保存数据时,它可以向存储介质的读/写设备发送电信号,该读/写设备可以在存储介质中读取或写入结构化数据。该结构化数据可以电信号的形式经由电子设备的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或至少两个不连续的电信号。
图4是根据本申请的一些实施例所示的自动驾驶车辆的示例性控制器的示意性框图。控制器132可以包括轮询模块410、任务接收模块420、收集模块430和传输模块440。
轮询模块410可以向服务器110发送轮询请求以从服务器110拉取任务。所述任务可以是远程任务请求。该任务可以与经由移动网络从自动驾驶车辆130获得与一个或以上主题相关的所需数据相关联。
在一些实施例中,在自动驾驶车辆130的运行期间产生的全部数据可能太大而不能通过移动网络传输。为了经由移动网络获得与自动驾驶车辆130相关的数据,可以发起与获得全部数据的一部分(例如,重要和/或所需数据)相关的任务。
在一些实施例中,所述任务可以包括所需数据的一个或以上主题和所需数据的持续时间。在一些实施例中,主题可以包括数据源(例如,自动驾驶车辆130中的哪个传感器收集的数据)、数据的用途(例如,用于检测交通信号灯的数据、表示自动驾驶车辆130的速度的数据)、数据类型(例如,文本、声音、视频、图像等)等,或其任何组合。在一些实施例中,持续时间可以是任何先前时间段或任何未来时间段。例如,所述持续时间的开始时间或结束时间可以是先前时间点,当前时间点(例如,任务被发送到服务器110的时间)或未来时间点。
在一些实施例中,当一个或以上特定条件发生时,传输模块440可以自动将任务发送到服务器110。例如,当控制器132自动报告与自动驾驶车辆130的一个或以上操作问题相关的错误时,传输模块440可以自动地将任务发送到服务器110。仅作为示例,当控制器132自动报告与检测交通信号灯有关的错误时,传输模块440可以自动向服务器110发送一个任务,所述任务可以包括与检测交通灯有关的一个或以上主题和最近三天的持续时间。又例如,当司机或测试工程师通过控制器132手动输入与自动驾驶车辆130的一个或以上操作问题有关的错误时,传输模块440可自动将任务发送到服务器110。仅作为示例,当司机或测试工程师发现自动驾驶车辆130在检测交通信号灯时出错时,司机或测试工程师可通过控制器132(例如,控制器132的I/O 230)手动输入与检测交通信号灯有关的错误信息。传输模块440可以自动向服务器110发送一个任务,所述任务可以包括与检测交通信号灯有关的一个或以上主题和最近三天的持续时间。
在一些实施例中,用户(例如,后端工程师)可以通过用户终端140输入任务。用户终端140可以将任务发送到服务器110。例如,如果用户想要分析最近三天自动驾驶车辆130的交通信号灯的检测,用户可以通过用户终端140输入一个任务,所述任务可以包括与检测交通灯有关的一个或以上主题和最近三天的持续时间。
在一些实施例中,当接收任务时,服务器110可以将任务的任务信息(例如,一个或以上主题和持续时间)存储在数据库服务器160中。
在一些实施例中,轮询模块410可以连续地或间隔地(例如,每10秒、每20秒等)将轮询请求发送到服务器110。在一些实施例中,当控制器132没有在处理任务时,轮询模块410可以将轮询请求发送到服务器110。
在一些实施例中,考虑到自动驾驶车辆130的安全性,基于任务获得所需数据的过程不能影响由控制器132执行的其他操作(例如,用于控制自动驾驶车辆130的移动的操作)。所以,当自动驾驶车辆130处于非自动驾驶模式(例如,手动驾驶模式或非运行模式)时,轮询模块410可以发送轮询请求。
任务接收模块420可以基于轮询请求从服务器110接收任务。
在一些实施例中,在服务器110中,来自自动驾驶车辆130和/或用户终端140的任务可以按照服务器110接收的时间顺序排列在队列中。在一些实施例中,为了安全起见,不允许服务器110对自动驾驶车辆130主动访问。因此,轮询模块410可以向服务器110发送轮询请求。当从控制器132接收到轮询请求时,服务器110可以将队列中的第一个任务发送到任务接收模块420,以响应轮询请求。
在一些实施例中,当从轮询模块410接收到轮询请求时,服务器110可以基于例如任务的状态来确定是否存在正由控制器132处理的任务。响应于确定没有正在由控制器132处理的任务,服务器110可以将队列中的第一个任务发送到任务接收模块420。响应于确定存在正在由控制器132处理的任务,服务器110可以不将任何任务发送到任务接收模块420。
收集模块430可以基于任务获得所需数据。
在一些实施例中,自动驾驶车辆130可以在自动驾驶车辆130的运行期间生成大量原始数据(例如,原始数据的大小可以在几分钟内达到1G)。所述原始数据可以存储在自动驾驶车辆130的存储介质(例如,存储设备180和/或控制器132的存储器220)中。
在自动驾驶车辆130的运行期间产生的原始数据可以用一个或以上主题和时间戳标记。收集模块430可以通过将任务中的主题与原始数据的主题进行比较并将任务中的持续时间与原始数据的时间戳进行比较来收集所需数据。
在一些实施例中,如果任务中的持续时间的结束时间是未来时间点,则收集模块430可以等待至未来时间点以获得所需数据。
在一些实施例中,收集模块430可以进一步处理收集的数据。仅作为示例,收集模块430可以压缩自动驾驶车辆130中的计算机视觉(例如,相机)收集的数据(例如,图像和/或视频)。在一些实施例中,处理指令可以包括在控制器130中。例如,在基于任务收集原始数据之后,收集模块430可以自动执行压缩指令以压缩计算机视觉(例如,相机)收集的数据(例如,图像和/或视频)。在一些实施例中,任务可以包括处理指令。例如,在基于任务收集原始数据之后,收集模块430可以基于任务中的压缩指令来压缩计算机视觉(例如,相机)收集的数据(例如,图像和/或视频)。
传输模块440可以经由移动网络将所需数据发送到文件服务器170。在一些实施例中,在从自动驾驶车辆130接收到所需数据之后,文件服务器170可以将所需数据的存储位置发送到服务器110。或者,在从自动驾驶车辆130接收到所需数据之后,文件服务器170可以将所需数据的存储位置发送到控制器132。控制器132可以将所述存储位置发送至服务器110。服务器110可以将所需数据的存储位置发送到用户终端140,指示用户终端140显示存储位置。
在一些实施例中,文件服务器170可以永久地存储所需数据。在一些实施例中,文件服务器170可以在一段时间(例如,1周、2周、1个月等)之后删除所需数据。
在一些实施例中,服务器110可以基于任务所处的条件来更新任务的状态。任务的状态可以包括等待状态、运行状态、完成状态和错误状态。等待状态表示该任务正在等待被服务器110中的控制器132处理。运行状态表示控制器132正在处理该任务。错误状态表示在处理该任务期间存在一个或以上错误,并且终止处理该任务。完成状态表示该任务已由控制器132处理完成(例如,控制器132已将所需数据发送到文件服务器170)。
在一些实施例中,传输模块440可以在收集数据期间将任务的状态发送到服务器110。例如,因为所需数据是通过移动网络传输的,所以可以对所需数据的大小进行限制。如果所需数据的大小大于数据量阈值(例如,10M、20M、30M、50M等),则传输模块440可以向服务器110发送指示任务处于错误状态的消息。服务器110可以基于该消息将任务状态更新为错误状态。又例如,如果获得所需数据的持续时间长于持续时间阈值(例如,10s、20s、30s等),则传输模块440可以向服务器110发送指示任务处于错误状态的消息。服务器110可以基于该消息将任务状态更新为错误状态。作为又一示例,当传输模块440将所需数据发送到文件服务器170时,传输模块440可以向服务器110发送指示任务处于完成状态的消息。服务器110可以基于该消息将任务状态更新为完成状态。再举一个例子,在获取所需数据期间,如果传输模块440没有在预定时间段(例如,30s、40s、50s等)中向服务器110发送指示任务状态(例如,错误状态或完成状态)的消息,服务器110可以将任务状态更新为错误状态。
在一些实施例中,控制器132可以一次处理一个任务。在一些实施例中,控制器132可以同时处理多于一个任务。
在一些实施例中,可以将一个或以上节点(例如,ROS节点)添加到控制器132。一个或以上节点可以执行本申请中的数据处理过程(例如,图5中描述的过程500)。在一些实施例中,一个节点可以一次处理一个任务。在一些实施例中,如果存在多于一个节点,则所述多于一个节点可以同时工作。在一些实施例中,该节点可以被称为远程任务执行器节点。
本申请中,由于控制器132基于轮询请求从服务器110拉取任务并基于该任务发送所需数据,而不是用户主动访问自动驾驶车辆130通过虚拟专用网络(VPN)获得所需数据,并且由于在将任务发送到服务器110之后的相对短的时间内,可以通过自动驾驶车辆中的移动网络将所需数据发送到文件服务器170,而不是等待超过1周,通过快递获得所需的数据,本申请的数据处理的过程可以有效且安全地远程发送所需数据。
控制器132中的模块可以通过有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一个可以被分成两个或以上单元。例如,轮询模块410和传输模块440可以组合成单个模块,该模块既可以向服务器110发送轮询请求,也可以将收集的数据发送到文件服务器170。又例如,收集模块430可以分为两个单元。第一单元可以基于任务获得数据。第二单元可以处理所获得的数据。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以基于本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,控制器132还可以包括存储模块(图4中未示出)。存储模块可以被配置用于存储在由控制器132中的任何组件执行的任何过程期间生成的数据。又例如,控制器132的每个组件可以分别对应于存储模块。附加地或替代地,控制器132的组件可以共享公共存储模块。
图5是示出根据本申请的一些实施例的数据处理的示例性过程的流程图。在一些实施例中,过程500可以在图1中所示的数据处理系统100中实现。例如,过程500可以作为指令的形式存储在存储介质(例如,存储设备180或控制器132的存储器220)中,并且可以由控制器132(例如,控制器132的处理器210,或图4所示的控制器132中的一个或以上模块)调用和/或执行。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500可以利用未描述的一个或以上附加操作,和/或没有所讨论的一个或以上操作来完成。另外,如图5所示和下面描述的过程500的操作的顺序不是限制性的。
在510中,控制器132(例如,接口电路210-a和/或轮询模块410)可以向服务器110发送轮询请求以从服务器110拉取任务。所述任务可以是远程任务请求。该任务可以与经由移动网络从自动驾驶车辆130获得与一个或以上主题相关的所需数据相关联。
在一些实施例中,在自动驾驶车辆130的运行期间产生的全部数据可能太大而不能通过移动网络传输。为了经由移动网络获得与自动驾驶车辆130相关的数据,可以发起与获得全部数据的一部分(例如,重要和/或所需数据)相关的任务。
在一些实施例中,所述任务可以包括所需数据的一个或以上主题和所需数据的持续时间。在一些实施例中,主题可以包括数据源(例如,自动驾驶车辆130中的哪个传感器收集的数据)、数据的用途(例如,用于检测交通信号灯的数据、表示自动驾驶车辆130的速度的数据)、数据类型(例如,文本、声音、视频、图像等)等,或其任何组合。在一些实施例中,持续时间可以是任何先前时间段或任何未来时间段。例如,所述持续时间的开始时间或结束时间可以是先前时间点,当前时间点(例如,任务被发送到服务器110的时间)或未来时间点。
在一些实施例中,当一个或以上特定条件发生时,控制器132(例如,接口电路210-a和/或传输模块440)可以自动将任务发送到服务器110。例如,当控制器132自动报告与自动驾驶车辆130的一个或以上操作问题相关的错误时,控制器132可以自动地将任务发送到服务器110。仅作为示例,当控制器132自动报告与检测交通信号灯有关的错误时,控制器132可以自动向服务器110发送一个任务,所述任务可以包括与检测交通灯有关的一个或以上主题和最近三天的持续时间。又例如,当司机或测试工程师通过控制器132手动输入与自动驾驶车辆130的一个或以上操作问题有关的错误时,控制器132可自动将任务发送到服务器110。仅作为示例,当司机或测试工程师发现自动驾驶车辆130在检测交通信号灯时出错时,司机或测试工程师可通过控制器132(例如,控制器132的I/O 230)手动输入与检测交通信号灯有关的错误信息。控制器132可以自动向服务器110发送一个任务,所述任务可以包括与检测交通信号灯有关的一个或以上主题和最近三天的持续时间。
在一些实施例中,用户(例如,后端工程师)可以通过用户终端140输入任务。用户终端140可以将任务发送到服务器110。例如,如果用户想要分析最近三天自动驾驶车辆130的交通信号灯的检测,用户可以通过用户终端140输入一个任务,所述任务可以包括与检测交通灯有关的一个或以上主题和最近三天的持续时间。
在一些实施例中,当接收任务时,服务器110可以将任务的任务信息(例如,一个或以上主题和持续时间)存储在数据库服务器160中。
在一些实施例中,控制器132可以连续地或间隔地(例如,每10秒、每20秒等)将轮询请求发送到服务器110。在一些实施例中,当控制器132没有在处理任务时,控制器132可以将轮询请求发送到服务器110。
在一些实施例中,考虑到自动驾驶车辆130的安全性,基于任务获得所需数据的过程不能影响由控制器132执行的其他操作(例如,用于控制自动驾驶车辆130的移动的操作)。所以,当自动驾驶车辆130处于非自动驾驶模式(例如,手动驾驶模式或非运行模式)时,控制器132可以发送轮询请求。
在520中,控制器132(例如,接口电路210-a和/或任务接收模块420)可以基于轮询请求从服务器110接收任务。
在一些实施例中,在服务器110中,来自自动驾驶车辆130和/或用户终端140的任务可以按照服务器110接收的时间顺序排列在队列中。在一些实施例中,为了安全起见,不允许服务器110对自动驾驶车辆130主动访问。因此,控制器132可以向服务器110发送轮询请求。当从控制器132接收到轮询请求时,服务器110可以将队列中的第一个任务发送到控制器132,以响应轮询请求。
在一些实施例中,当从控制器132接收到轮询请求时,服务器110可以基于例如任务的状态来确定是否存在正由控制器132处理的任务。响应于确定没有正在由控制器132处理的任务,服务器110可以将队列中的第一个任务发送到控制器132。响应于确定存在正在由控制器132处理的任务,服务器110可以不将任何任务发送到控制器132。
在530中,控制器132(例如,处理电路210-b和/或收集模块430)可以基于任务获得所需数据。
在一些实施例中,自动驾驶车辆130可以在自动驾驶车辆130的运行期间生成大量原始数据(例如,原始数据的大小可以在几分钟内达到1G)。所述原始数据可以存储在自动驾驶车辆130的存储介质(例如,存储设备180和/或控制器132的存储器220)中。
在自动驾驶车辆130的运行期间产生的原始数据可以用一个或以上主题和时间戳标记。控制器132可以通过将任务中的主题与原始数据的主题进行比较并将任务中的持续时间与原始数据的时间戳进行比较来收集所需数据。
在一些实施例中,如果任务中的持续时间的结束时间是未来时间点,则控制器132可以等待至未来时间点以获得所需数据。
在一些实施例中,控制器132可以进一步处理收集的数据。仅作为示例,控制器132可以压缩自动驾驶车辆130中的计算机视觉(例如,相机)收集的数据(例如,图像和/或视频)。在一些实施例中,处理指令可以包括在控制器130中。例如,在基于任务收集原始数据之后,控制器132可以自动执行压缩指令以压缩计算机视觉(例如,相机)收集的数据(例如,图像和/或视频)。在一些实施例中,任务可以包括处理指令。例如,在基于任务收集原始数据之后,控制器132可以基于任务中的压缩指令来压缩计算机视觉(例如,相机)收集的数据(例如,图像和/或视频)。
在540中,控制器132(例如,处理电路210-b和/或传输模块440)可以经由移动网络将所需数据发送到文件服务器170。在一些实施例中,在从自动驾驶车辆130接收到所需数据之后,文件服务器170可以将所需数据的存储位置发送到服务器110。或者,在从自动驾驶车辆130接收到所需数据之后,文件服务器170可以将所需数据的存储位置发送到控制器132。控制器132可以将所述存储位置发送至服务器110。服务器110可以将所需数据的存储位置发送到用户终端140,指示用户终端140显示存储位置。
在一些实施例中,文件服务器170可以永久地存储所需数据。在一些实施例中,文件服务器170可以在一段时间(例如,1周、2周、1个月等)之后删除所需数据。
在一些实施例中,服务器110可以基于任务所处的条件来更新任务的状态。任务的状态可以包括等待状态、运行状态、完成状态和错误状态。等待状态表示该任务正在等待被服务器110中的控制器132处理。运行状态表示控制器132正在处理该任务。错误状态表示在处理该任务期间存在一个或以上错误,并且终止处理该任务。完成状态表示该任务已由控制器132处理完成(例如,控制器132已将所需数据发送到文件服务器170)。在一些实施例中,当任务在服务器110中排队等待被发送到控制器132时,服务器110可以用等待状态标记该任务。当任务被发送到控制器132时,服务器110可以将任务状态更新为运行状态。如果服务器110中的任务的等待时间长于等待时间阈值(例如,10分钟、20分钟、30分钟等),则服务器110可以将任务状态更新为错误状态。
在一些实施例中,控制器132(例如,接口电路210-a和/或传输模块440)可以在收集数据期间将任务的状态发送到服务器110。例如,因为所需数据是通过移动网络传输的,所以可以对所需数据的大小进行限制。如果所需数据的大小大于数据量阈值(例如,10M、20M、30M、50M等),则控制器132可以向服务器110发送指示任务处于错误状态的消息。服务器110可以基于该消息将任务状态更新为错误状态。又例如,如果获得所需数据的持续时间长于持续时间阈值(例如,10s、20s、30s等),则控制器132可以向服务器110发送指示任务处于错误状态的消息。服务器110可以基于该消息将任务状态更新为错误状态。作为又一示例,当控制器132将所需数据发送到文件服务器170时,控制器132可以向服务器110发送指示任务处于完成状态的消息。服务器110可以基于该消息将任务状态更新为完成状态。再举一个例子,在获取所需数据期间,如果控制器132没有在预定时间段(例如,30s、40s、50s等)中向服务器110发送指示任务状态(例如,错误状态或完成状态)的消息,服务器110可以将任务状态更新为错误状态。
在一些实施例中,在标记和/或更新任务的状态之后,服务器110可以将标记的和/或更新的状态发送到数据库服务器110以存储标记的和/或更新的状态。
在一些实施例中,如果任务处于错误状态或完成状态,则服务器110可以从队列中移除该任务。在一些实施例中,为了安全性,响应来自用户终端140的轮询请求,服务器110可以将用户的最新状态发送到用户终端140,而不是主动访问用户终端140以发送任务的状态。用户终端140(例如,通过显示器320)可以显示任务的最新状态。在一些实施例中,连同最新的任务状态,服务器110可以发送导致任务状态的原因。例如,如果服务器110中的任务的等待时间长于等待时间阈值,服务器110可以将任务状态更新为错误状态。当从用户终端140接收到轮询请求时,服务器110可以向用户终端140发送错误状态和指示服务器110中的该任务的等待时间长于等待时间阈值的消息。以这种方式,用户可以监视任务。在一些实施例中,用户可以通过用户终端140删除或重新发送处于错误状态的任务。在一些实施例中,用户可以通过用户终端140删除处于等待状态的任务。在一些实施例中,如果任务处于运行状态,则服务器110或用户不可以删除任务。
在一些实施例中,在处理任务期间,当控制器132在故障之后再次正常工作时或者当控制器132重新启动时,该任务可以仍然处于运行状态。当控制器132将轮询请求发送到服务器110时,服务器110可以首先将该任务发送到控制器132。
在一些实施例中,用户终端140可以连续地或间隔地(例如,每10秒)将轮询请求发送到服务器110。
在一些实施例中,控制器132可以一次处理一个任务。在一些实施例中,控制器132可以同时处理多于一个任务。
在一些实施例中,可以将一个或以上节点(例如,ROS节点)添加到控制器132。一个或以上节点可以执行数据处理的过程500。在一些实施例中,一个节点可以一次处理一个任务。在一些实施例中,如果存在多于一个节点,则所述多于一个节点可以同时工作。在一些实施例中,该节点可以被称为远程任务执行器节点。
本申请中,由于控制器132基于轮询请求从服务器110拉取任务并基于该任务发送所需数据,而不是用户主动访问自动驾驶车辆130通过虚拟专用网络(VPN)获得所需数据,并且由于在将任务发送到服务器110之后的相对短的时间内,可以通过自动驾驶车辆中的移动网络将所需数据发送到文件服务器170,而不是等待超过1周,通过快递获得所需的数据,本申请的数据处理的过程可以有效且安全地远程发送所需数据。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以基于本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两个或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网使用网络服务提供者),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备执行,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (10)
1.一种数据处理方法,包括:
确定自动驾驶车辆处于非自动驾驶模式;
将轮询请求发送到第一服务器以获取任务,其中所述任务是远程任务请求,并且基于所述任务通过移动网络将所述自动驾驶车辆的数据上传至第二服务器,所述数据用一个或以上主题标记,所述主题包括数据源、数据的用途、数据类型或其任何组合;
基于所述轮询请求从所述第一服务器接收所述任务;
基于所述任务获得所述数据;以及
通过所述移动网络将所述数据发送到所述第二服务器。
2.根据权利要求1所述的方法,其特征在于,所述任务包括所述一个或以上主题和所述数据的持续时间。
3.根据权利要求1所述的方法,其特征在于,所述基于所述任务获得所述数据包括:
基于所述任务收集与所述一个或以上主题相关的原始数据;以及
基于所述任务处理所述收集的数据。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
通过所述第一服务器,在预定时间段中将所述任务的状态发送到与用户相关联的用户终端。
5.根据权利要求1所述的方法,其特征在于,获取所述数据的持续时间小于或等于持续时间阈值。
6.根据权利要求1所述的方法,其特征在于,所述任务在所述第一服务器中等待被所述自动驾驶车辆处理的时间小于或等于时间阈值。
7.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
从所述第二服务器接收所述数据在所述第二服务器中的存储位置;以及
通过所述第一服务器将所述存储位置发送到与用户相关联的用户终端。
8.一种数据处理系统,其特征在于,包括轮询模块、任务接收模块,收集模块和传输模块;
确定自动驾驶车辆处于非自动驾驶模式;
所述轮询模块用于将轮询请求发送到第一服务器以获取任务,其中所述任务是远程任务请求,并且基于所述任务通过移动网络将所述自动驾驶车辆的数据上传至第二服务器,所述数据用一个或以上主题标记,所述主题包括数据源、数据的用途、数据类型或其任何组合;
所述任务接收模块用于基于所述轮询请求从所述第一服务器接收所述任务;
所述收集模块用于基于所述任务获得所述数据;以及
所述传输模块用于通过所述移动网络将所述数据发送到所述第二服务器。
9.一种用于自动驾驶车辆的数据处理装置,包括处理器,其特征在于,所述处理器用于执行权利要求1~7中任一项所述的用于自动驾驶车辆的数据处理方法。
10.一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行如权利要求1~7任一项所述的用于自动驾驶车辆的数据处理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811647389.3A CN111385340B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法和系统 |
PCT/CN2018/125975 WO2020133545A1 (en) | 2018-12-29 | 2018-12-30 | Systems and methods for data management |
US16/905,954 US10899367B2 (en) | 2018-12-29 | 2020-06-19 | Systems and methods for data management |
US17/143,126 US11529974B2 (en) | 2018-12-29 | 2021-01-06 | Systems and methods for data management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811647389.3A CN111385340B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385340A CN111385340A (zh) | 2020-07-07 |
CN111385340B true CN111385340B (zh) | 2021-09-24 |
Family
ID=71127454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811647389.3A Active CN111385340B (zh) | 2018-12-29 | 2018-12-29 | 数据处理方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10899367B2 (zh) |
CN (1) | CN111385340B (zh) |
WO (1) | WO2020133545A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11623657B2 (en) * | 2019-10-16 | 2023-04-11 | Nuro, Inc. | Remote startup of autonomous vehicles |
CN115150422A (zh) * | 2021-03-31 | 2022-10-04 | 北京轻舟智航智能技术有限公司 | 数据处理装置和数据处理方法 |
CN114884996A (zh) * | 2022-05-12 | 2022-08-09 | 重庆川仪自动化股份有限公司 | 一种工业物联网设备的控制方法、系统、介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881409A (zh) * | 2018-05-31 | 2018-11-23 | 北京智行者科技有限公司 | 车辆的监控方法及系统 |
CN108995614A (zh) * | 2018-09-29 | 2018-12-14 | 重庆西部汽车试验场管理有限公司 | 信息传输方法及信息传输装置 |
CN109101330A (zh) * | 2018-08-06 | 2018-12-28 | 百度在线网络技术(北京)有限公司 | 数据获取方法、装置和系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853478A (zh) | 2009-04-01 | 2010-10-06 | 杭州信雅达科技有限公司 | 一种基于本体论及移动网络的汽车故障诊断系统的发明 |
US9348492B1 (en) | 2011-04-22 | 2016-05-24 | Angel A. Penilla | Methods and systems for providing access to specific vehicle controls, functions, environment and applications to guests/passengers via personal mobile devices |
CN102385380A (zh) | 2011-09-23 | 2012-03-21 | 广西三原高新科技有限公司 | 集群汽车诊断信息平台 |
US9062617B2 (en) * | 2013-01-16 | 2015-06-23 | General Motors Llc | Autostarting a vehicle based on user criteria |
EP4216599A1 (en) * | 2013-06-11 | 2023-07-26 | Seven Networks, LLC | Offloading application traffic to a shared communication channel for signal optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
EP3008942B1 (en) * | 2013-06-11 | 2018-10-10 | Seven Networks, LLC | Application and/or server stability in signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
CN106302624A (zh) | 2015-06-26 | 2017-01-04 | 李红喜 | 一种基于4g移动网络的公交车远程控制系统 |
US10749734B2 (en) * | 2015-07-07 | 2020-08-18 | International Business Machines Corporation | Management of events and moving objects |
US9918211B2 (en) * | 2016-06-13 | 2018-03-13 | At&T Mobility Ii Llc | Mobile emergency response network |
DE102016008895A1 (de) * | 2016-07-20 | 2018-01-25 | Audi Ag | Verfahren und Vorrichtung zur Datenerhebung von einer Anzahl Fahrzeuge |
CN106231146B (zh) | 2016-08-30 | 2019-01-29 | 上海瑞言信息科技有限公司 | 自然驾驶数据采集设备远程开启以及定向数据采集系统及机制 |
US10139834B2 (en) * | 2017-01-12 | 2018-11-27 | GM Global Technology Operations LLC | Methods and systems for processing local and cloud data in a vehicle and a cloud server for transmitting cloud data to vehicles |
US10383140B2 (en) * | 2017-06-23 | 2019-08-13 | Nokia Technologies Oy | Identification of colliding UE for grant-free transmission of data and scheduling request based on resource sub-pool assignments for wireless networks |
CN208060999U (zh) | 2017-09-15 | 2018-11-06 | 合肥工业大学智能制造技术研究院 | 基于智能手机的车辆运行状态监控系统 |
CN108765910A (zh) | 2018-06-05 | 2018-11-06 | 深圳市南方蓝禾科技有限公司 | 控制方法和系统 |
US10686649B2 (en) * | 2018-11-16 | 2020-06-16 | At&T Intellectual Property I, L.P. | Method and apparatus for managing a local area network |
US11711718B2 (en) * | 2019-11-01 | 2023-07-25 | Nokia Technologies Oy | Communication efficiency |
-
2018
- 2018-12-29 CN CN201811647389.3A patent/CN111385340B/zh active Active
- 2018-12-30 WO PCT/CN2018/125975 patent/WO2020133545A1/en active Application Filing
-
2020
- 2020-06-19 US US16/905,954 patent/US10899367B2/en active Active
-
2021
- 2021-01-06 US US17/143,126 patent/US11529974B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881409A (zh) * | 2018-05-31 | 2018-11-23 | 北京智行者科技有限公司 | 车辆的监控方法及系统 |
CN109101330A (zh) * | 2018-08-06 | 2018-12-28 | 百度在线网络技术(北京)有限公司 | 数据获取方法、装置和系统 |
CN108995614A (zh) * | 2018-09-29 | 2018-12-14 | 重庆西部汽车试验场管理有限公司 | 信息传输方法及信息传输装置 |
Also Published As
Publication number | Publication date |
---|---|
US10899367B2 (en) | 2021-01-26 |
US11529974B2 (en) | 2022-12-20 |
US20200317226A1 (en) | 2020-10-08 |
WO2020133545A1 (en) | 2020-07-02 |
US20210155265A1 (en) | 2021-05-27 |
CN111385340A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110050300B (zh) | 交通拥堵监控系统和方法 | |
CN113708877B (zh) | 用于车辆的时间同步系统和方法 | |
CN108237918B (zh) | 车辆及其控制方法 | |
US11529974B2 (en) | Systems and methods for data management | |
AU2018102202A4 (en) | Systems and methods for cheat examination | |
CN109416767B (zh) | 用于确定组合服务请求者的系统和方法 | |
CN110149804B (zh) | 用于确定兴趣点的父-子关系的系统和方法 | |
US20200158522A1 (en) | Systems and methods for determining a new route in a map | |
AU2016397269A1 (en) | Systems and methods for predicting service time point | |
AU2016397268A1 (en) | Systems and methods for determining a path of a moving device | |
US11468374B2 (en) | Methods and systems for carpool services | |
CN113228086A (zh) | 拼车系统和方法 | |
US11004335B2 (en) | Systems and methods for speed prediction | |
WO2020000277A1 (en) | Systems and methods for predicting destination in online to offline service | |
WO2019001403A1 (en) | SYSTEMS AND METHODS FOR DATA STORAGE AND DATA INTERROGATION | |
CN110651305B (zh) | 车辆价值评估的系统和方法 | |
CN111223293B (zh) | 分析交通拥堵的系统和方法 | |
CN113074955B (zh) | 控制数据采集的方法、装置、电子设备和介质 | |
CN111989664A (zh) | 用于改善在线平台用户体验的系统和方法 | |
CN111382369B (zh) | 用于确定与地址查询相关的相关兴趣点的系统和方法 | |
TW201939309A (zh) | 用於為大數據添加索引的系統和方法 | |
CN110832811B (zh) | 用于发送空间数据的系统和方法 | |
US20220051115A1 (en) | Control Platform Using Machine Learning for Remote Mobile Device Wake Up | |
CN114333405A (zh) | 用于辅助车辆停车的方法 | |
CN115235487A (zh) | 数据处理方法及装置、设备和介质 |
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 |