一种移动设备动态组网分享算力的系统与方法与流程

文档序号:17695473发布日期:2019-05-17 21:28阅读:487来源:国知局
一种移动设备动态组网分享算力的系统与方法与流程

本申请涉及网络通信领域,具体而言,涉及一种移动设备动态组网分享算力的系统与方法。



背景技术:

随着计算机技术在各领域的发展,在一些新的应用场景下对运算能力以及运算的即时性要求越来越高。比如在自动驾驶领域,自动驾驶车辆需要处理大量的视觉图像信息、雷达反馈信息等来构建周围环境的地图并对自身进行定位,同时要需要基于这些大量的信息来确定自身的行驶策略。在诸如此类的应用场景下,对本地运算设备的计算能力的要求越来越高。如果把这些计算任务都放在设备本地来处理,本地的运算设备会面临非常大的计算压力。

与此同时,随着通信技术的发展,网络传输的速度得到大幅的提升,例如在5g网络时代,高带宽低延时的网络环境将使得设备间通过网络共享算力成为可能。因此,需要提供一种分享算力系统和方法,能够通过设备间组建的动态网络分享彼此算力,将运算负担分摊到网络中的各个计算节点中,从而提升网络中所有设备的数据处理能力。



技术实现要素:

本申请正是基于上述问题,提出了一种新的技术方案,可以解决本地算力不足,通过中枢系统进行动态组网分享算力的技术问题。

本申请的第一方面提出了一种移动设备动态组网分享算力的方法,包括:中枢系统统计周边预设范围内的具有剩余算力的一个或多个移动设备信息;以及基于所述一个或多个移动设备信息,中枢系统同所述一个或多个移动设备建立动态网络连接,从而组建以所述一个或多个移动设备为计算节点的动态分布式计算网络。在所述动态分布式计算网络运行时:所述中枢系统接收用户发送的数据处理请求;根据所述数据处理请求,所述中枢系统从所述动态分布式计算网络中选择至少一个移动设备;所述中枢系统向所述至少一个移动设备发送所述数据处理请求;所述中枢系统接收所述至少一个移动设备回传的处理后数据;以及所述中枢系统向所述用户发送所述处理后数据。

在一些实施例中,所述一个或多个移动设备可以包括一辆或多辆车的车载电子设备。

在一些实施例中,所述中枢系统包括基站通信系统,所述用户和所述一辆或多辆车可以位于所述基站通信系统的信号覆盖范围内。

在一些实施例中,所述数据处理请求可以包括最大延迟约束,所述最大延迟约束可以反映所述中枢系统向所述用户发送所述处理后数据的最晚时刻。所述选择至少一个移动设备可以包括:所述中枢系统根据所述最大延迟约束以及所述一辆或多辆车的车载电子设备的算力状态,从所述一辆或多辆车的车载电子设备中选择至少一辆车的车载电子设备。

在一些实施例中,所述中枢系统向所述至少一个移动设备发送所述数据处理请求,可以包括:根据所述至少一辆车中每辆车的车载电子设备的算力状态,为所述至少一辆车中的每辆车分配计算任务;以及所述中枢系统向所述至少一辆车中的每辆车发送其对应的计算任务。

在一些实施例中,所述为至少一辆车中的每辆车分配计算任务可以进一步包括:根据所述每辆的规划行驶轨迹为所述每辆车分配计算任务。

在一些实施例中,所述中枢系统可以包括第二用户的电子设备的通信模块,所述移动设备包括所述第二用户的电子设备的计算模块。

在一些实施例中,所述中枢系统向所述至少一个移动设备发送所述数据处理请求可以包括:所述通信模块将所述数据处理请求通过所述第二用户的电子设备的总线向所述计算模块发送。

在一些实施例中,所述中枢系统统计周边预设范围内的具有剩余算力的一个或多个移动设备信息,可以包括:所述中枢系统周期性地更新处于其信号覆盖范围内的移动设备的算力状态;所述中枢系统根据所述移动设备的算力状态,统计其中具有剩余算力的一个或多个移动设备信息。

在一些实施例中,所述方法可以进一步包括:所述动态分布式计算网络运行时,所述用户直接向所述至少一个移动设备发送待处理数据。

本申请的第二方面提出了一种动态共享算力的移动设备分布式计算网络平台,可以包括:中枢设备,所述中枢设备包括:天线;至少一个存储介质,所述存储介质存储一组指令;以及至少一个处理器,所述处理器与所述至少一个存储介质通讯,当执行所述一组指令时,所述至少一个处理器用于:

同进入到所述中枢设备预定范围内的一个或多个移动设备建立动态网络连接,从而组建以所述一个或多个移动设备为计算节点的动态分布式计算网络,所述动态分布式计算网络执行前文所述的方法。

本申请的第三方面提出了一种计算机可读存储介质,其上存储有计算机程序。所述计算机程序被处理器执行时可以实现如前文所述的组建动态分布式计算网络的方法的步骤。

附图说明

以下附图详细描述了本申请中披露的示例性实施例。其中相同的附图标记在附图的若干视图中表示类似的结构。本领域的一般技术人员将理解这些实施例是非限制性的、示例性的实施例,附图仅用于说明和描述的目的,并不旨在限制本申请的范围,其他方式的实施例也可能同样的完成本申请中的发明意图。其中:

图1为用于移动设备网络管理的无线通信系统的一个实施例的示意图;

图2是根据本公开的一些实施例的具有自主驾驶能力的示例性车辆的框图;

图3是信息处理单元的示例性硬件和软件组件的示意图;

图4是本申请中的一种组建移动设备动态分布式计算网络的的示例性流程图;

图5是本申请中的动态分布式计算网络运行时的一个实施例的示例性流程图;以及

图6是本申请中的一种中枢设备的示意图。

具体实施方式

本申请披露了一种移动设备动态组网分享算力的系统与方法。当用户有运算需求时,可以通过向中枢系统发送请求,然后通过中枢系统安排一定范围内具有剩余算力的其他移动设备来进行分布式运算并返回给用户。在请求的发送,包括待处理数据发送的过程中,由于网络传输存在延时,通过中枢系统安排其他移动设备帮助运算的方式可能会存在一定程度的滞后性。如果这种滞后性大于用户在本地运算时,由于本地算力不足带来的滞后性,则这种动态组网分享算力的方式是没有意义的。得益于无线网络传输技术的发展,在诸如5g等通信技术的推动下,通信的带宽大幅增加,网络延时大幅降低,这使得本申请所述的动态组网分享算力的方案可以实施。

在自动驾驶领域,自动驾驶车辆在行驶过程中需要处理大量的视觉图像数据、雷达数据等,并需要通过快速高效地运算确定其实时的行驶策略。因此自动驾驶领域是典型的可以应用本申请所述的动态组网分享算力技术的领域。本申请以自动驾驶领域为例,对所述动态组网分享算力技术做出说明,但并不意味着对本申请应用领域的限制。本领域普通技术人员应当认识到,任何对计算能力有需求,且具有通信能力的设备均可以通过本申请提出的方案请求所述中枢系统为其分配其他设备的算力。

为了给本领域普通技术人员提供相关披露的透彻理解,在以下详细描述中通过示例阐述了本发明的具体细节。然而本申请披露的内容应该理解为与权利要求的保护范围一致,而不限于该具体发明细节。比如,对于本领域普通技术人员来说,对本申请中披露的实施例进行各种修改是显而易见的;并且在不脱离本申请的精神和范围的情况下,本领域的普通技术人员可以将这里定义的一般原理应用于其他实施例和应用。再比如,这些细节如果没有以下披露,对本领域普通技术人员来说也可以在不知道这些细节的情况下实践本申请。另一方面,为了避免不必要地模糊本申请的内容,本申请对公知的方法,过程,系统,组件和/或电路做了一般性概括而没有详细描述。因此,本申请披露的内容不限于所示的实施例,而是与权利要求的范围一致。

本申请中使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如除非上下文另有明确说明,本申请中如果对某要件使用了单数形式的描述(比如,“一”、“一个”和/或等同性的说明)也可以包括多个该要件。在本申请中使用的术语“包括”和/或“包含”是指开放性的概念。比如a包括/包含b仅仅表示a中有b特征的存在,但并不排除其他要件(比如c)在a中存在或添加的可能性。

应当理解的是,本申请中使用的术语,比如“系统”,“单元”,“模块”和/或“块”,是用于区分不同级别的不同组件,元件,部件,部分或组件的一种方法。但是,如果其他术语可以达到同样的目的,本申请中也可能使用该其他术语来替代上述术语。

本申请中描述的模块(或单元,块,单元)可以实现为软件和/或硬件模块。除非上下文另有明确说明,当某单元或模块被描述为“接通”、“连接到”或“耦合到”另一个单元或模块时,该表达可能是指该单元或模块直接接通、链接或耦合到该另一个单元或模块上,也可能是指该单元或模块间接的以某种形式接通、连接或耦合到该另一个单元或模块上。在本申请中,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。

在本申请中,术语“自动驾驶车辆”可以指能够感知其环境并且在没有人(例如,驾驶员,飞行员等)输入和/或干预的情况下对外界环境自动进行感知、判断并进而做出决策的车辆。术语“自动驾驶车辆”和“车辆”可以互换使用。术语“自动驾驶”可以指没有人(例如,驾驶员,飞行员等)输入的对周边环境进行智能判断并进行导航的能力。

考虑到以下描述,本申请的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本申请的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本申请的范围。应理解,附图未按比例绘制。

本申请中使用的流程图示出了根据本申请中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。

本申请中使用的定位技术可以基于全球定位系统(gps),全球导航卫星系统(glonass),罗盘导航系统(compass),伽利略定位系统,准天顶卫星系统(qzss),无线保真(wifi)定位技术等,或其任何组合。一个或多个上述定位系统可以在本申请中互换使用。

此外,尽管本申请中的系统和方法主要描述了关于自动驾驶领域的动态组网分享算力的系统与方法,但是应该理解,这仅是示例性实施例。本申请的系统或方法可以应用于任何其他类型的网络系统。例如,本申请的系统或方法可以应用于不同环境的网络系统,包括手机网络、个人电脑网络等,或其任何组合。

图1为用于移动设备网络管理的无线通信系统100的一个实施例的示意图。所述移动设备网络管理系统可以作为支持网络应用在本披露所描述的发明中。

无线通信系统100包括远程单元142,144,146,基站110和无线通信链路115,148。图2中描绘了特定数量的远程单元142,144,146,基站110和无线通信链路115,148,但本领域技术人员会认识到,无线通信系统100中可包括任何数量的远程单元142,144,146,基站110和无线通信链路115,148。

所述无线通信系统100可以作为本申请中的移动设备动态组网分享算力的一个实施例的网络架构基础。所述远程单元142,144和146可以位于所述基站110的信号覆盖范围内。所述基站110可以作为所述动态分布式计算网络的中枢系统120(下文也可以称为无线电接入网络)。所述基站110的信号覆盖范围内的远程单元可以作为并行的计算节点,通过所述中枢系统120被纳入到动态分布式网络中以分享算力。

在一些实施例中,远程单元142,144,146可以是移动设备,比如车载计算机(包括人工驾驶车辆和或有自动驾驶能力的自动驾驶车辆的车载计算机)142,144,和其他移动设备146,比如手机、笔记本电脑、个人数字助理(“pda”)、平板计算机、智能手表、健身带、光学头戴式显示器等。远程单元142,144,146也可以包括非移动计算设备,诸如台式计算机,智能电视(例如,连接到因特网的电视机),设置-顶盒,游戏控制台,安全系统(包括安全摄像机),固定式网络设备(例如,路由器,交换机,调制解调器)等。此外,移动远程单元142,144,146可以被称为移动站,移动设备,用户,终端,移动终端,固定终端,用户站,ue,用户终端,设备,或者通过本领域中使用的其他术语。

远程单元142,144,146之间的无线链路为148。远程单元142,144,146之间的无线链路可以为5g通信交互以及其他方式的无线交互,比如蓝牙、wifi等等。基站110形成无线电接入网络(radioaccessnetwork“ran”)120。基站110之间的无线链路为115。ran120可以通过通信的方式耦合到移动核心网络130。移动核心网络130可以是5g网络,也可以是4g、3g、2g或者其他形式的网路。在本披露中以5g网络为例说明本发明。远程单元与基站210通信时可以使用2g~4g的任何一种通讯环境。不过因为所述通讯对网络时延和数据的传输速度要求较高,5g网络环境更适所述车辆之间的通信。4g的数据传输速率是100mbps量级,时延是30-50ms,每平方千米的最大连接数1万量级,移动性350km/h左右,而5g的传输速率是10gbps量级,时延是1ms,每平方千米的最大连接数是百万量级,移动性是500km/h左右。5g具有更高的传输速率,更短的时延,更多的平方千米连接数,以及更高的速度容忍度。5g还有一个变化,就是传输路径的变化。以往我们打电话或者传照片,信号都要通过基站进行中转,但是5g之后,设备和设备之间就可以直接进行传输,不需要再通过基站。因此,本发明虽然也适用于4g环境,但是5g环境下运行会得到更好的技术表现,体现更高的商业价值。

在一些实施例中,所述中枢系统120可以包括单个基站。所述基站的信号覆盖范围可以是以该基站为圆心的一个圆形地理范围。所述基站可以通过天线与处在其信号覆盖范围内的移动设备建立无线网络连接并传输数据。

所述中枢系统120为多个基站时,其信号覆盖范围可以是所述多个基站信号覆盖范围的总和。例如,所述中枢系统120可以包括整个北京市范围内的基站,则所述信号覆盖范围可以为整个北京市的地理范围。北京市内的移动设备都处在所述信号覆盖范围内,可以加入到所述动态分布式计算网络中。

在一些实施例中,所述中枢系统120也可以是包括了所述多个基站的云服务系统。所述云服务系统可以包括所述多个基站和云端服务器。所述多个基站可以作为数据中转单位,沟通所述移动设备到所述云端服务器的网络连接,由所述云端服务器进行所述移动设备的组网。

5g移动核心网络130可以属于单个公共陆地移动网络(singlepubliclandmobilenetwork“plmn”)。例如,移动核心网络130可以提供低延迟和高可靠性要求的服务,比如应用于自动驾驶领域。移动核心网络130也可以针对其他应用要求提供服务。比如移动核心网络130可以提供高数据速率和中等延迟流量的服务,比如对手机等移动设备提供服务。比如移动核心网络130也可以提供低移动性和低数据速率等服务。

基站110可以通过无线通信链路服务于服务区域内的多个远程单元142,144,146,例如,小区或小区扇区。基站110可以经由通信信号直接与一个或多个远程单元142,144,146通信。远程单元142,144,146可以经由上行链路(uplink“ul”)通信信号直接与一个或多个基站110通信。此外,ul通信信号可以通过无线通信链路115,148承载。基站110也可以发送下行链路(downlink“dl”)通信信号以在时域,频域和/或空域中为远程单元142,144,146服务。此外,dl通信信号可以通过无线通信链路115承载。无线通信链路115可以是许可或未许可无线电频谱中的任何合适的载波。无线通信链路115可以与一个或多个远程单元142,144,146和/或一个或多个基站110通信。在一些实施例中,无线通信系统100符合3gpp协议的长期演进(long-termevolution“lte”),其中基站110使用dl上的正交频分复用(orthogonalfrequencydivisionmultiplexing“ofdm”)调制方案进行发送。远程单元142,144,146使用单载波频分多址(single-carrierfrequencydivisionmultipleaccess“sc-fdma”)方案在ul上进行发送。然而,更一般地,无线通信系统100可以实现一些其他开放或专有通信协议,例如,wimax,以及其他协议。本公开不旨在限于任何特定无线通信系统架构或协议的实现。

基站110和远程单元142,144,146可以分布在地理区域上。在某些实施例中,基站110和远程单元142,144,146还可以称为接入点,接入终端或者通过本领域中使用的任何其他术语。通常,两个或更多个地理上相邻的基站110或远程单元142,144,146被组合在一起成为路由区域。在某些实施例中,路由区域还可以称为位置区域,寻呼区域,跟踪区域,或者通过本领域中使用的任何其他术语。每个“路由区域”具有从其服务基站110发送到远程单元142,144,146(或者远程单元142,144,146之间发送的)的标识符。

当移动远程单元142,144,146移动到广播不同“路由区域”的新小区(例如,在新基站110的范围内移动)时,移动远程单元142,144,146检测路由区域的改变。ran120又通过其当前路由区域中的基站110以空闲模式寻呼移动远程单元142,144,146。ran120包含多个路由区域。如本领域中已知的,可以选择路由区域的大小(例如,包括在路由区域中的数量基站)以平衡路由区域更新信令负载与寻呼信令负载。

在一些实施例中,远程单元142,144,146可以附接到核心网络130。当远程单元142,144,146检测到移动设备网络管理事件(例如,路由区域的改变)时,远程单元142,144,146可以向核心网络130(例如,自动驾驶需要的低延迟和高可靠性要求的服务或者手机需要的高数据速率和中等延迟流量的服务)发送移动设备网络管理请求消息。此后,核心网络130将移动设备网络管理请求转发到与远程单元142,144,146连接的一个或多个辅助网络片以提供相应的服务。

在某一时刻,远程单元142,144,146可能不再需要某一网络服务(例如,自动驾驶需要的低延迟和高可靠性要求的服务或者手机需要的高数据速率和中等延迟流量的服务)。在这种情况下,远程单元142,144,146可以发送分离请求消息,例如数据连接释放消息,以从网络分离中分离。

在一些应用场景下,所述远程单元144可以是自动驾驶车辆(下文可以称为自动驾驶车辆144)在道路上行驶,在进入所述中枢系统120的信号覆盖范围时,可以与所述中枢系统120建立通信链路,并进行数据交互。

所述远程单元142可以是第一车辆(下文可以称为第一车辆142),且处于所述信号覆盖范围内。所述第一车辆142也可以是自动驾驶车辆,只要其搭载的车载电子设备有算力的富余,即可作为算力分享网络(或称为“动态分布式计算网络”)的一个计算节点。比如,所述第一车辆142在人工驾驶模式,或者部分自动驾驶模式下,其车载电子设备可能存在算力富余。

远程单元143可以是第二车辆(下文可以称为第二车辆143)停在所述信号覆盖范围内。其搭载的车载电子设备处于空闲状态,因此可以参与到所述算力分享网络中作为一个计算节点。

所述远程设备146(移动设备146)可以包括任何可移动的且具有一定计算能力的设备(例如手机、笔记本电脑、智能手表等)。当所述移动设备146进入所述信号覆盖范围内时,即可以被纳入到所述算力分享网络中作为一个计算节点。

所述移动设备146,包括第一车辆142、第二车辆143由于其可移动性,所以会不特定的位于所述信号覆盖范围中。在一些实施例中,所述中枢系统120可以动态地更新其信号覆盖范围内可以参与到所述算力分享网络的移动设备,并根据各移动设备的算力,和/或各移动设备可能存在于所述信号覆盖范围内的时段来为各移动设备分配计算任务。

图2是根据本公开的一些实施例的具有自主驾驶能力的示例性车辆的框图。所述车辆200可以是图1所示的移动设备网络管理的无线通信系统100中的车辆142、144。例如,具有自动驾驶能力的车辆200可包括控制模块、多个传感器、存储器、指令模块、和控制器区域网络(can)以及执行机构。

所述执行机构可以包括,但不限于,油门、引擎、制动系统和转向系统(包括轮胎的转向和/或转向灯的操作)的驱动执行。

所述多个传感器可以包括向车辆200提供数据的各种内部和外部传感器。比如图2中所示,所述多个传感器可以包括车辆部件传感器和环境传感器。车辆部件传感器连接着车辆200的执行机构,可以检测到所述执行机构各个部件的运行状态和参数。

所述环境传感器允许车辆理解并潜在地响应其环境,以便帮助自动驾驶车辆200进行导航、路径规划以及保障乘客以及周围环境中的人或财产的安全。所述环境传感器还可用于识别,跟踪和预测物体的运动,例如行人和其他车辆。所述环境传感器可以包括位置传感器和外部对象传感器。

所述位置传感器可以包括gps接收器、加速度计和/或陀螺仪,接收器。所述位置传感器可以感知和/或确定自动驾驶车辆200多地理位置和方位。例如,确定车辆的纬度,经度和高度。

所述外部对象传感器可以检测车辆外部的物体,例如其他车辆,道路中的障碍物,交通信号,标志,树木等。外部对象传感器可以包括激光传感器、雷达、照相机、声纳和/或其他检测装置。

激光传感器可以通过在其轴上旋转并改变其间距来测量车辆和面向车辆的物体表面之间的距离。激光传感器还可用于识别表面纹理或反射率的变化。因此,激光传感器可以被配置为通过区分由涂漆的车道线相对于未涂漆的暗路面反射的光量来检测车道线。

雷达传感器可以位于汽车的前部和后部以及前保险杠的任一侧。除了使用雷达来确定外部物体的相对位置之外,其他类型的雷达也可以用于其他目的,例如传统的速度检测器。短波雷达可用于确定道路上的积雪深度并确定路面的位置和状况。

相机可以捕获车辆200周围的视觉图像并从中提取内容。例如,相机可以拍摄道路两边的路牌标识,并通过控制模块识别这些标识的意义。比如利用相机来判断道路的速限。车辆200还可以通过多个相机拍摄的不同图像的视差计算周围物体离车辆200的距离。

声纳可以探测车辆200同周围障碍物到距离。例如,所述声纳可以是超声波测距仪。所述超声波测距仪安装在车辆的两侧和后面,在泊车的时候开启来探测泊车位周围的障碍物以及车辆200同所述障碍物的距离。

所述控制模块接收所述多个传感器感知的信息后,可以处理与车辆驾驶(例如,自动驾驶)有关的信息和/或数据,以执行本公开中描述的一个或多个功能。在一些实施例中,控制模块可以配置成自主地驱动车辆。例如,控制模块可以输出多个控制信号。多个控制信号可以被配置为由一个或者多个电子控制模块(electroniccontrolunits,ecu)接收,以控制车辆的驱动。在一些实施例中,控制模块可基于车辆的环境信息确定参考路径和一个或多个候选路径。

在一些实施例中,控制模块可以包括一个或多个中央处理器(例如,单核处理器或多核处理器)。仅作为示例,控制模块可以包括中央处理单元(centralprocessingunit,cpu),专用集成电路(application-specificintegratedcircuit,asic),专用指令集处理器(application-specificinstruction-setprocessor,asip),图形处理单元(graphicsprocessingunit,gpu),物理处理单元(physicsprocessingunit,ppu),数字信号处理器(digitalsignalprocessor,dsp),场可编程门阵列(fieldprogrammablegatearray,fpga),可编程逻辑器件(programmablelogicdevice,pld),控制器,微控制器单元,精简指令集计算机(reducedinstruction-setcomputer,risc),微处理器(microprocessor)等,或其任何组合。

存储器可以存储数据和/或指令。在一些实施例中,存储器可以存储从自动驾驶车辆传感器获得的数据。在一些实施例中,存储器可以存储控制模块可以执行或使用的数据和/或指令,以执行本公开中描述的示例性方法。在一些实施例中,存储器可以包括大容量存储器,可移动存储器,易失性读写存储器(volatileread-and-writememory),只读存储器(rom)等,或其任何组合。作为示例,比如大容量存储器可以包括磁盘,光盘,固态驱动器等;比如可移动存储器可以包括闪存驱动器,软盘,光盘,存储卡,拉链盘,磁带;比如易失性读写存储器可以包括随机存取存储器(ram);比如ram可以包括动态ram(dram),双倍数据速率同步动态ram(ddrsdram),静态ram(sram),可控硅ram(t-ram)和零电容器ram(z-ram);比如rom可以包括掩模rom(mrom),可编程rom(prom),可擦除可编程rom(eprom),电可擦除可编程rom(eeprom),光盘rom(cd-rom),以及数字通用磁盘rom等。在一些实施例中,存储可以在云平台上实现。仅作为示例,云平台可以包括私有云,公共云,混合云,社区云,分布式云,云间云,多云等,或其任何组合。

在一些实施例中,存储器可以为本地存储器,即存储器可以是自动驾驶车辆200的一部分。在一些实施例中,存储器也可以是远程存储器。所述中央处理器可以通过网络100连接所述远程存储器以与自动驾驶车辆200的一个或多个组件(例如,控制模块,传感器模块)通信。自动驾驶车辆200中的一个或多个组件可以经由网络100访问远程存储在远程存储器中的数据或指令。在一些实施例中,存储器可以直接连接到自动驾驶车辆200中的一个或多个组件或与其通信(例如,控制模块,传感器)。

指令模块接收控制模块传来的信息,并将之转换成驱动执行机构的指令传给控制器区域网络(controllerareanetwork)can总线。比如,控制模块向指令模块发送自动驾驶车辆200的行驶策略(加速、减速、转弯等等),指令模块接收所述行驶策略,并将之转换成对执行机构的驱动指令(对油门、制动机构、转向机构的驱动指令)。同时,指令模块再将所述指令通过can总线下发到所述执行机构去。执行机构对所述指令的执行情况再由车辆部件传感器检测并反馈到控制模块,从而完成对自动驾驶车辆200到闭环控制和驱动。

图3是信息处理单元300的示例性硬件和软件组件的示意图。所述信息处理单元300上可以承载实施所述中枢系统120对所述移动设备进行动态组网并共享算力。例如,所述中枢系统120可以包括至少一个所述信息处理单元300,所述信息处理单元300可以将与所述中枢系统120建立通信的移动设备进行动态组网。

所述信息处理单元300可以是专门设计用于将所述移动设备进行动态组网的专用计算机设备。例如所述基站110上的处理设备可以包括一个或多个所述信息处理单元300

例如,所述信息处理单元300可以包括连接到与其连接的核心网络130以及连接到个远程单元的com端口350,以便于数据通信。所述信息处理单元300还可以包括处理器320,处理器320以一个或多个处理器的形式,用于执行计算机指令。计算机指令可以包括例如执行本文描述的特定功能的例程,程序,对象,组件,数据结构,过程,模块和功能。所述处理器320可以将从用户端接收的数据处理请求分解为多个计算任务并通过i/o组件360向所述移动设备发送。

在一些实施例中,所述处理器320可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(risc),专用集成电路(asic),特定于应用的指令-集处理器(asip),中央处理单元(cpu),图形处理单元(gpu),物理处理单元(ppu),微控制器单元,数字信号处理器(dsp),现场可编程门阵列(fpga),高级risc机器(arm),可编程逻辑器件(pld),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。

所述信息处理单元300可以包括内部通信总线310,程序存储和不同形式的数据存储(例如,磁盘370,只读存储器(rom)330,或随机存取存储器(ram)340)用于由计算机处理和/或发送的各种数据文件。所述信息处理单元300还可以包括存储在rom330,ram340和/或将由处理器320执行的其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或过程可以作为程序指令实现。所述信息处理单元300还包括i/o组件360,支持计算机和其他组件(例如,用户界面元件)之间的输入/输出。所述信息处理单元300还可以通过网络通信接收编程和数据。

仅仅为了说明问题,在本申请中所述信息处理单元300中仅描述了一个处理器。然而,应当注意,本申请中的所述信息处理单元300还可以包括多个处理器,因此,本申请中披露的操作和/或方法步骤可以如本申请所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本申请中信息处理单元300的处理器320执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由信息处理中的两个不同处理器联合或分开执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一和第二处理器共同执行步骤a和b)。

图4是本申请中的一种组建移动设备动态分布式计算网络的的示例性流程图。该方法主要包括所述中枢系统120与其信号覆盖范围内的移动设备建立网络连接并组成分布式计算网络。所述移动设备可以是任何有数据计算能力的电子设备。比如,所述移动设备可以是自动驾驶汽车以及其上的车载电子计算设备,也可以是非自动驾驶汽车上的车载电子计算设备,比如车载计算机等,也可以是其他具有便携功能的电子设备,比如笔记本电脑、智能手表、智能手机等等,本披露对此不做限制。

在410中,所述中枢系统120可以统计周边预设范围内的具有剩余算力的一个或多个移动设备信息。所述剩余算力是指移动设备在当前状态下,除了完成本地计算任务之外,处于空余状态的那一部分计算资源。比如,当自动驾驶车辆在停车状态的时候或者处于人工驾驶模式的时候,其电子系统处于闲置状态,这时其车载计算机系统便有充足算力空余出来。再比如,一步智能手机在闲置或者通话过程中,其计算系统没有处理占用大量计算资源的任务,则此智能手机也处于有剩余算力的状态。此外,在所述中枢系统120的信号覆盖范围内,可能存在众多具有计算能力的移动设备,但这些具有计算能力的移动设备并不是全部能够被纳入到所述动态分布式计算网络中的。由于有些设备的计算能力较弱,或通信能力较弱,其不适合承担计算节点的任务。再比如有些移动设备本身处在计算负荷较重的工作情况下,也不适合承担计算节点的任务。再比如有些移动设备位于所述信号覆盖范围的边缘,不能够确定其在未来一段时间内能否持续地位于所述信号覆盖范围内,如果让这部分移动设备承担计算任务,可能会不可靠。所以所述中枢系统120需要先统计所述周边预设范围内的移动设备信息。

所述周边预设范围可以包括所述信号覆盖范围。所述周边预设范围也可以是比所述信号覆盖范围更小的可靠区域。比如在图1所示的实施例中,所述信号覆盖范围向内缩进一个可靠距离后对应的区域可以为所述可靠区域。处于所述可靠区域内的移动设备可以认为是能够与所述中枢系统120建立稳定连接,并可以稳定承担一部分计算任务的移动设备。

所述可移动设备在进入所述周边预设范围时,可以将其算力状态发送给所述中枢系统120。所述算力状态可以包括所述可移动设备的剩余算力数据。比如,当一部手机进入所述周边预设范围时,其可以向基站(所述中枢系统120)发送其算力状态。如果该手机此时正在运行某大型游戏,则其可能没有剩余算力,或剩余部分算力。所述中枢系统120在获取所述周边预设范围内移动设备的算力状态后,可以确定所述一个或多个具有剩余算力的移动设备,用于进一步的组建所述动态分布式计算网络。

由于所述移动设备处于所述信号覆盖范围的时间具有不确定性,所述移动设备的算力状态也可能处在变化的过程中,所述中枢系统120可以周期性地对所述信号覆盖范围内的移动设备进行算力状态统计。比如,所述中枢系统120可以每隔5秒向处在其信号覆盖范围中的移动设备发送算力状态请求指令,要求所述移动设备向其报告其算力状态。

在420中,所述中枢系统120可以基于所述一个或多个移动设备信息,同所述一个或多个移动设备建立动态网络连接,从而组建以所述一个或多个移动设备为计算节点的动态分布式计算网络。在一些实施例中,当所述中枢系统120统计出所述具有剩余算力的一个或多个移动设备后,并不意味着这些移动设备就可以被纳入到所述算力分享网络中。所述中枢系统120可以与所述一个或多个移动设备达成通信协议,所述一个或多个移动设备允许所述中枢系统120为其分配计算任务。在一些实施例中,所述动态网络连接可以是指所述一个或多个移动设备实时地或者定时/不定时地与所述中枢系统进行数据交互,报告其算力状态,根据其本地的位置情况以及算力情况动态地接入/脱离所述分布式计算网络。

以图1为例,第一车辆142在驶入所述信号覆盖范围后,可以与所述中枢系统120建立网络连接。若所述第一车辆142为自动驾驶车辆且处于人工驾驶模式时,其车载设备的算力资源丰富。所述第一车辆142向所述中枢系统120发送其算力状态后,中枢系统120可以识别所述第一车辆142具有剩余算力,并将其纳入所述动态分布式计算网络中,作为一个计算节点。所述第一车辆142在行驶过程中可能会切换为自动驾驶模式,此时其本地运算负担增加。所述第一车辆142可以向所述中枢系统120发送其在自动驾驶模式时的算力状态。所述中枢系统120可以识别所述第一车辆142当前的算力没有剩余或算力不足,从而将所述第一车辆142从所述动态分布式计算网络中移除。在一些实施例中,所述移动设备可以向所述中枢系统发送指令要求脱离所述动态分布式计算网络。比如,所述第一车辆142即将驶出所述周边预设范围或所述信号覆盖范围时,可以向所述中枢系统120发送指令,通知所述中枢系统120将所述第一车辆142从所述动态分布式计算网络中移除。

所述移动设备作为所述动态分布式计算网络的节点时可以并行地处理一些计算任务。因此,中枢系统可以将具体的计算任务拆分,将可以并行计算的部分分别发给不同的网络节点分别进行计算,然后再将所述节点反馈回来的计算结果统一合并起来进行下一步处理。比如所述自动驾驶车辆144向所述中枢系统120请求处理一批图像数据,每张图像数据的处理任务都是相互独立的。所述中枢系统120可以将所述图像数据进行拆分,交由多个节点并行计算。

图5是本申请中的动态分布式计算网络运行时的一个实施例的示例性流程图。该流程主要包括所述中枢系统120分别与有数据处理需求的设备,以及与所述计算节点的移动设备进行数据交互的动态过程。

在510中,所述中枢系统120接收用户发送的数据处理请求。所述用户可以是任何与所述中枢系统120可以建立网络连接的可移动设备或不可移动设备。当所述用户为不可移动设备时,其可能与所述中枢系统120建立稳定的网络连接。比如所述用户可以是一台家用个人电脑,执行解码比特币的计算。由于计算量巨大,其在任何时候都可以请求所述中枢系统120为其分配算力。所述用户也可以是可移动设备,如图1所示,所述用户可以是所述自动驾驶车辆144。所述自动驾驶车辆144在驶入所述中枢系统120的信号覆盖范围后,可以向所述中枢系统120发送数据处理请求。

在一些实施例中,所述数据处理请求可以包括需要处理的原始数据。比如所述自动驾驶车辆144的传感器采集的数据可以为所述原始数据。所述自动驾驶车辆144可以将所述原始数据纳入所述数据处理请求中一并向所述中枢系统120发送。

在一些实施例中,所述原始数据也可以不向所述中枢系统120发送。由于数据传输本身需要一定带宽,如果数据量太大,则传输所述原始数据本身会增加数据传输过程的延时。如果所述原始数据可以通过更快捷地方式向所述作为计算节点的移动设备传达,则可以不经由所述中枢系统120进行数据中转。比如在图1所示的实施例中,所述第一车辆142作为所述分布式计算网络中的一个计算节点。在所述自动驾驶车辆144和所述第一车辆142同时在所述道路上行驶时,它们的车载电子设备之间可以建立通信链路进行数据传输(比如,两辆车可以独立建立连接,也可以经由中枢系统选择后制定双方建立数据连接分享算力)。如果这种通信链路的带宽足够大,以至于所述自动驾驶车辆144向所述第一车辆142发送所述原始数据的延时小于经过所述中枢系统120进行中转的延时,则两车直接进行数据交互的通信效率会更高。再比如,所述自动驾驶车辆144需要处理的原始数据可以存储在云端服务器,则所述数据处理请求可以包括从所述云端服务器下载所述原始数据的指令。

在一些实施例中,所述数据处理请求可以进一步包括最大延迟约束。所述最大延迟约束可以表示所述用户能够接受的最晚获取数据处理结果的时刻。比如,数据处理请求本身特性决定的数据处理耗时时间可以决定最大延迟约束;再比如,所述自动驾驶车辆144在行驶过程中遇到前方障碍物(t1时刻),需要尽快确定新的行驶策略以避让所述障碍物,其能够容忍的最晚获取所述行驶策略的时刻为t2。如果不能在t2时刻之前获取所述新的行驶策略,所述自动驾驶车辆144可能会与所述障碍物发生碰撞。此时t2时刻可以为所述的最大延迟约束。所述中枢系统120可以根据所述最大延迟约束来为各计算节点分配计算任务。例如当所述最大延迟约束较小时,表示所述用户需要尽快获取数据处理结果,所述中枢系统120可以尽可能分配多个且算力强的移动设备来进行数据处理。

在一些实施例中,所述动态分布式计算网络也可以是去中心化的。也就是说中枢系统120也可以是动态分布的。比如,所述中枢系统120也可以包括第二用户的电子设备的通信模块。所述第二用户可以是动态接入网络的计算设备,比如智能手机和/或自动驾驶车辆的车载电子设备等等。比如在图1所示的实施例中,所述自动驾驶车辆144和所述第一车辆142直接建立网络连接。所述第一车辆142的车载电子设备的通信模块可以为所述的中枢系统120。

在520中,所述中枢系统120可以根据所述数据处理请求,从所述动态分布式计算网络中选择至少一个移动设备。在一些实施例中,所述中枢系统120可以根据所述最大延迟约束,以及所述一个或多个移动设备的算力状态来选择所述至少一个移动设备。比如在图1所示的场景下,所述自动驾驶车辆144向所述中枢系统120发送的数据处理请求要求在短时间内反馈行驶策略数据。此时,所述动态分布式计算网络中包括的计算节点为所述第一车辆142、所述第二车辆143和所述移动设备146(手机)。对于这种行驶策略的计算,手机的计算能力可能较弱,而车载电子设备的处理能力可能较强。所述中枢系统120可以选择所述第一车辆142和/或所述第二车辆143为所述至少一个移动设备,以保证可以在所述最大延迟约束内向所述自动驾驶车辆144反馈所述行驶策略数据。

在530中,所述中枢系统120可以向所述至少一个移动设备发送所述数据处理请求。如果只有一个移动设备,则所述中枢系统120可以直接向所述一个移动设备发送其接收到的数据处理请求。如果所述数据处理请求中包括所述原始数据,则可以一并向所述一个移动设备发送。如果所述数据处理请求中不包括所述原始数据,则所述数据处理请求可以进一步包括一个原始数据指示信息,用于指示所述移动设备从何处获取所述原始数据(比如前文所述的直接与所述用户建立数据交互连接,以及从所述云端服务器下载所述原始数据等)。

如果所述至少一个移动设备包括多个移动设备,则所述中枢系统120可以将其接收到的数据处理请求拆分成多个计算任务,并向所述多个移动设备中的每一个移动设备派发其对应的计算任务。在一些实施例中,所述中枢系统120可以根据所述多个移动设备的算力状态分配所述计算任务。比如在图1所示的场景下,所述多个移动设备可以包括所述第一车辆142和所述第二车辆143。所述第一车辆142可能处于半自动驾驶状态,其剩余算力可能只有处于停泊状态的第二车辆143剩余算力的一半。所述中枢系统150可以为所述第二车辆143多分配一些计算任务,为所述第一车辆142少分配一些计算任务。

在一些实施例中,所述计算任务分配可能进一步基于所述最大延迟约束,所述第一车辆142或所述第二车辆143中最晚反馈处理后数据的时刻需要满足所述最大延迟约束。此外,所述中枢系统120在分配计算任务时还可以进一步基于其与所述多个移动设备之间的网络延时。比如,所述第一车辆142相较于所述第二车辆143,与所述中枢系统120的通信网络延时更大,则所述中枢系统120可以为所述第一车辆142分配较少的计算任务。所述多个移动设备获取所述原始数据的方式可以与所述一个移动设备时的原始数据获取方式相同(即通过所述中枢系统120中转、从用户端直接获取、或从云端服务器下载等)。

在一些实施例中,所述分配计算任务还可以进一步基于所述所述移动设备的运动状态。比如在图1中,所述第一车辆142在2秒后可能驶出所述信号覆盖范围。所述第一车辆142在加入到所述动态分布式计算网络时,可以将其规划行驶轨迹连同其算力状态一并发送给所述中枢系统120。所述中枢系统120可以根据所述规划行驶轨迹确定所述第一车辆142可以作为计算节点的时间窗口,进而根据该时间窗口及所述第一车辆142的算力状态为其分配计算任务,从而保证所述第一车辆142能够在驶出所述信号覆盖范围前将处理后数据进行反馈。

当所述中枢系统120为所述第二用户的电子设备的通信模块时,所述第二用户的电子设备可以进一步包括计算模块,所述通信模块可以将接收到的数据处理请求通过所述第二用户的电子设备的总线发送给所述计算模块。

在540中,所述中枢系统120可以接收所述至少一个移动设备回传的处理后数据。在550中,所述中枢系统120可以向所述用户发送所述处理后数据。即所述至少一个移动设备在完成其计算任务后,可以将处理后的数据经由所述中枢系统120发送给所述用户。

本领域普通技术人员应当认识到,这种通过中枢系统120作为中转,向所述用户回传所述处理后数据的方法只是本申请中的一种实施例,其他任何可以使得所述用户获取所述处理后数据的方法都不脱离本申请披露的范围。比如,所述至少一个移动设备可以将所述处理后数据直接发送给所述用户。再比如,所述至少一个移动设备可以与所述用户处于第二网络系统中,并分别与第二中枢系统(图中未示出)建立连接。所述至少一个移动设备可以通过所述第二网络,将所述处理后数据经由所述第二中枢系统发送给所述用户。

图6是本申请中的一种中枢设备600的示意图。所述中枢设备600包括统计单元610,组网单元620,数据接收单元630以及数据发送单元640。

所述统计单元610可以用于统计周边预设范围内的具有剩余算力的一个或多个移动设备信息。

所述组网单元620可以基于所述一个或多个移动设备信息,同所述一个或多个移动设备建立动态网络连接,从而组建以所述一个或多个移动设备为计算节点的动态分布式计算网络。

所述数据接收单元630可以接收用户发送的数据处理请求。

所述数据发送单元640可以根据所述数据处理请求,从所述动态分布式计算网络中选择至少一个移动设备并发送所述数据处理请求。

所述数据接收单元630可以进一步接收所述至少一个移动设备回传的处理后数据。

所述数据发送单元640可以进一步向所述用户发送所述处理后数据。

本申请还提出了一种计算机可读存储介质,其上存储有计算机程序。所述计算机程序被处理器执行时可以实现如前文所述的移动设备动态组网分享算力的步骤。

综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本申请意图囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本申请提出,并且在本申请的示例性实施例的精神和范围内。

此外,本申请中的某些术语已被用于描述本申请的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本申请的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本申请的一个或多个实施例中适当地组合。

应当理解,在本申请的实施例的前述描述中,为了帮助理解一个特征,出于简化本申请的目的,本申请有时将各种特征组合在单个实施例、附图或其描述中。或者,本申请又是将各种特征分散在多个本发明的实施例中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本申请的时候完全有可能将其中一部分特征提取出来作为单独的实施例来理解。也就是说,本申请中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。

在一些实施方案中,表达用于描述和要求保护本申请的某些实施方案的数量或性质的数字应理解为在某些情况下通过术语“约”,“近似”或“基本上”修饰。例如,除非另有说明,否则“约”,“近似”或“基本上”可表示其描述的值的±20%变化。因此,在一些实施方案中,书面描述和所附权利要求书中列出的数值参数是近似值,其可以根据特定实施方案试图获得的所需性质而变化。在一些实施方案中,数值参数应根据报告的有效数字的数量并通过应用普通的舍入技术来解释。尽管阐述本申请的一些实施方案列出了广泛范围的数值范围和参数是近似值,但具体实施例中都列出了尽可能精确的数值。

本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。

最后,应理解,本文公开的申请的实施方案是对本申请的实施方案的原理的说明。其他修改后的实施例也在本申请的范围内。因此,本申请披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本申请中的实施例采取替代配置来实现本申请中的发明。因此,本申请的实施例不限于申请中被精确地描述过的哪些实施例。

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