一种基于异构云计算框架的仿真平台构建方法及仿真系统
技术领域
本发明涉及汽车自动驾驶仿真系统的技术领域,尤其涉及一种异构云计算框架和基于异构云计算框架的汽车自动驾驶仿真系统。
背景技术
近年来随着人工智能、机器学习和强化学习等技术的快速发展,智能汽车及自动驾驶技术也成为炙手可热的创业方向。自动驾驶技术需要汽车在道路上进行长时间的训练,但是由于技术的成熟度不高,以及法律法规的限制,创业型公司不可能把尚处于开发阶段的汽车放到现实世界的道路上随意行驶。目前,一些虚拟现实的渲染引擎已经可以模拟出和接近于现实的物理模型,所以在自动驾驶上将汽车结合虚拟仿真平台进行训练成为一个不错的选择。但目前已有的虚拟仿真平台,其部署十分的繁杂的同时可扩展性较弱,因此需要耗费大量的企业成本。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决一个的技术问题是:提供一种基于异构的云计算框架的自动驾驶仿真平台的构建方法,将自动驾驶仿真系统部署在云端,并结合传感器、ECU及自动驾驶算法进行长时间的训练。
为解决上述技术问题,本发明提供如下技术方案:一种基于异构云计算框架的仿真平台构建方法,包括以下步骤,构建云计算框架的软件即服务层,将自动驾驶仿真平台的应用程序以基于Web的方式提供给用户操作;构建平台即服务层,将应用的开发和部署平台作为服务提供给用户,服务包括提供对操作系统和相关服务的访问,以及用户能够使用支持的编程语言和工具把自动驾驶仿真的应用程序部署到云平台;构建基础架构即服务层,所述基础架构即服务层上部署ECU资源池和传感器资源池,并结合底层的计算池、存储资源池和网络资源池作为自动驾驶仿真的虚拟硬件设备服务提供给所述平台即服务层;构建云计算框架的云管理层,对整个云计算框架进行有效管理,完成自动驾驶仿真平台的搭建。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述软件即服务层、所述平台即服务层和所述基础架构即服务层之间互相关系包括,所述软件即服务层的应用和服务需要使用到所述软件即服务层本身的服务,并同时依赖所述平台即服务层提供的开发和部署平台或者直接部署于所述平台即服务层提供的计算资源;且所述平台即服务层的应用和服务也部分构建于所述基础架构即服务层的服务上。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述平台即服务层通过提供用户的开发和部署平台,将自动驾驶算法模型部署于所述软件即服务层上运行操作;所述自动驾驶算法模型、所述ECU资源池和所述传感器资源池的部署均需要提供接口给所述云平台,且所述云平台通过提供的接口管理自动驾驶算法模型,包括自动驾驶算法模型的导入导出、调试和状态监控。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:包括在所述平台即服务层上部署自动驾驶的场景仿真模块,包括以下仿真步骤,所述场景仿真模块运行在虚拟服务器中,模拟出不同的交通场景;所述场景仿真模块输出图像、雷达和GPS数据到传感器,并接收所述ECU资源池及自动驾驶算法模型的反馈并实时调整车辆的参数;所述场景仿真模块输出路面和车辆状态数据到车辆模型仿真模块,并接收所述车辆模型仿真模块的反馈实时调整车辆的姿态。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述车辆模型仿真模块运行在虚拟服务器中,模拟出接近真实车辆的各种数据,从所述场景仿真模块拿到车辆的当前状态和路面数据,并计算出车辆的后续状态并反馈给所述场景仿真模块。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述基础架构即服务层部署的传感器资源池包括部署摄像头、雷达和GPS传感器,传感器资源池提供接口给所述云平台,通过提供的接口控制相应传感器的参数,实时监控其状态。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述摄像头为物理摄像头或者软件模拟的虚拟摄像头,所述物理摄像头通过拍摄场景仿真模型的屏幕画面来获取数据,所述虚拟摄像头可以通过场景仿真模块提供的接口获取数据;雷达和GPS传感器为软件模拟的虚拟设备,通过所述场景仿真模块提供的接口获取传感器数据,经过计算后将数据送给ECU资源池和自动驾驶算法模型并运行后获得反馈数据。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述基础架构即服务层上部署的ECU资源池,所述ECU资源池包括采用ECU物理设备或者软件模拟的虚拟设备通过提供的接口部署于所述基础架构即服务层上,通过从所述场景仿真模块获取传感器资源池上传的数据,通过计算后生成车辆对应的驾驶策略和指令,实时调整车辆的状态参数。
作为本发明所述的基于异构云计算框架的仿真平台构建方法的一种优选方案,其中:所述云管理层包括用户层、机制层和检测层,其中所述用户层包括用户管理、客户支持、服务管理和计费管理;所述机制层包括运维管理、资源管理、安全管理和容灾支持;所述检测层包括监控系统。
本发明解决另一个的技术问题是:提供一种基于异构云计算框架的驾驶仿真系统,实现自动驾驶仿真系统部署在云端。
为解决上述技术问题,本发明提供如下技术方案:一种基于异构云计算框架的驾驶仿真系统,包括异构云计算框架,所述异构云计算框架包括软件即服务层、平台即服务层、基础架构即服务层和云管理层;所述软件即服务层用于部署自动驾驶仿真平台的应用程序并运行,所述应用程序为自动驾驶算法模型,并将所述应用程序以基于Web的方式提供给客户;所述平台即服务层用于将应用程序的开发和部署平台作为云服务提供给用户,所述软件即服务层能够通过所述平台即服务层的部署平台对所述自动驾驶算法模型进行部署;所述基础架构即服务层用于部署ECU资源池和传感器资源池,并结合底层的计算池、存储资源池和网络资源池作为自动驾驶仿真系统的虚拟硬件设备服务提供给所述平台即服务层运行;所述云管理层用于所述自动驾驶仿真系统的管理。
本发明的有益效果:对于初创型企业,在前期算法验证阶段会由于成本原因无法投入大量资金在本地搭建一套自动驾驶仿真系统,本发明通过构建异构云计算框架来对自动驾驶算法进行基本验证,大量节约研发成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一种实施例所述基于异构云计算框架的仿真平台构建方法的整体流程示意图;
图2为本发明第一种实施例所述基于异构云计算框架的仿真平台构建方法的异构云计算框架的示意图;
图3为本发明第一种实施例所述自动驾驶仿真在云平台上运行的逻辑关系结构示意图;
图4为本发明第二种实施例所述基于异构云计算框架的驾驶仿真系统的整体结构示意图;
图5为本发明第二种实施例所述云管理层的整体结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如在本申请所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
实施例1
参照图1~3的示意,为本实施例中提出的一种基于异构云计算框架的仿真平台构建方法的异构云计算框架,云计算实际是通过网络路径来达到信息服务资源的一种新的共享计算模式,云资源的使用者只需要关注自己需要的服务,不必了解云中的基础设施的实现过程。利用虚拟化技术,将计算资源池化,使用者只需要按需使用所分配的资源,不用关心对应服务运行在云中的哪个位置,不知道其运行的位置也不需要知道,只需要在云端部署设备就可以获得云中提供的服务。按照服务的基本模式,本实施例分为软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS),可以避免用户自主管理计算机硬件的麻烦,可以调用底层接口来直接获取计算能力和存储能力,且基本不受逻辑的限制。
基于云计算框架,本实施例将汽车的自动驾驶仿真平台部署在云端中搭建基于异构云计算框架的仿真平台,并结合传感器、ECU及自动驾驶算法进行长时间的训练。因此无法投入大量资金在本地搭建一套自动驾驶仿真系统,在云平台上后端庞大的云计算中心支撑下能为用户提供更方便的体验和更低廉的成本,大量节约研发成本,并且利用云计算虚拟化的优势,可以同时跑多个仿真任务,极大的节约仿真时间。
参照图1示意的整体流程示意图,并结合图2对异构云计算框架的示意,其中图2中位于saas层上的自动驾驶仿真系统为具有自动驾驶算法模型的软件程序。进一步的,更加具体的,本实施例构建方法包括以下步骤,
构建云计算框架的软件即服务层100,将自动驾驶仿真平台的应用程序以基于Web的方式提供给用户操作;
构建平台即服务层200,将应用的开发和部署平台作为服务提供给用户,服务包括提供对操作系统和相关服务的访问,以及用户能够使用支持的编程语言和工具把自动驾驶仿真的应用程序部署到云平台;
构建基础架构即服务层300,基础架构即服务层300上部署ECU资源池和传感器资源池,并结合底层的计算池、存储资源池和网络资源池作为自动驾驶仿真的虚拟硬件设备服务提供给平台即服务层200;
构建云计算框架的云管理层400,对整个云计算框架进行有效管理,完成自动驾驶仿真平台的搭建。
本实施例中软件即服务层100、平台即服务层200和基础架构即服务层300之间互相关系包括,软件即服务层100的应用和服务需要使用到软件即服务层100本身的服务,并同时依赖平台即服务层200提供的开发和部署平台或者直接部署于平台即服务层200提供的计算资源;且平台即服务层200的应用和服务也部分构建于基础架构即服务层300的服务上。
其中软件即服务层100(SaaS),由于SaaS层离普通用户非常接近,所以在SaaS层所使用到的技术,例如下面是其中最主要的几种:HTML、JavaScript、CSS、Flash和Silverlight。其中HTML为标准的Web页面技术,现在主要以HTML4为主,但是即将推出的HTML5会在很多方面推动Web页面的发展,比如视频和本地存储等方面。JavaScript为用于Web页面的动态语言,通过JavaScript能够极大地丰富Web页面的功能,最流行的JS框架有jQuery和Prototype。CSS为主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。Flash为业界最常用的RIA技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验方面,非常不错。而Silverlight为来自业界巨擎微软的RIA技术,虽然其现在市场占有率稍逊于Flash,但由于其可以使用C#来进行编程,所以对开发者非常友好。在SaaS层的技术选型上,首先由于通用性和较低的学习成本,大多数云计算产品都会比较倾向HTML、JavaScript和CSS这对黄金组合,但是在HTML5被大家广泛接受之前,RIA技术在用户体验方面,具有一定的优势。
平台即服务层200(PaaS),通过PaaS这种模式,用户可以在一个提供SDK(软件开发工具包)、文档、测试环境和部署环境等在内的开发平台上非常方便地编写和部署应用,而且不论是在部署,还是在运行的时候,用户都无需为服务器、操作系统、网络和存储等资源的运维而操心,这些繁琐的工作都由PaaS的云供应商负责。PaaS是非常经济的,其主要面对的用户是开发人员。本实施中PaaS层可以采用以下几种:REST、多租户、并行处理、应用服务器以及分布式缓存。其中REST为通过REST(表述性状态转移)技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。多租户为就是能让一个单独的应用实例可以为多个组织服务,而且能保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。并行处理是为了处理海量的数据,需要利用庞大的x86集群进行规模巨大的并行处理。应用服务器为在原有的应用服务器的基础上为云计算做了一定程度的优化。分布式缓存为通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度。对于不同的PaaS平台,比如用于部署Ruby应用的Heroku云平台,应用服务器和分布式缓存都是必备的,同时REST技术也常用于对外的接口,多租户技术则主要用于SaaS应用的后台,而并行处理技术常被作为单独的服务推出。
基础架构即服务层300(IaaS),基础架构或称基础设施是云的基础。它由服务器、网络设备、存储磁盘等物理资产组成。在使用IaaS时,用户并不实际控制底层基础架构,而是控制操作系统、存储和部署应用程序,还在有限的程度上控制网络组件的选择。通过IaaS这种模式,用户可以获得所需要的计算或者存储等资源来装载相关的应用,并只需为其所租用的那部分资源进行付费,而同时这些基础设施繁琐的管理工作则交给IaaS供应商来负责。在IaaS所采用的技术方面,例如以下几种:虚拟化、分布式存储、关系型数据库以及NoSQL,其中虚拟化也可以理解它为基础设施层的“多租户”,因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并且能在这些虚拟机之间能实现全面的隔离,这样不仅能减低服务器的购置成本,而且还能同时降低服务器的运维成本,成熟的x86虚拟化技术有VMware的ESX和开源的Xen。分布式存储:为了承载海量的数据,同时也要保证这些数据的可管理性,所以需要一整套分布式的存储系统,在这方面,Google的GFS是典范之作。关系型数据库为基本是在原有的关系型数据库的基础上做了扩展和管理等方面的优化,使其在云中更适应。NoSQL是为了满足一些关系数据库所无法满足的目标,比如支撑海量的数据等,一些公司特地设计一批不是基于关系模型的数据库。
进一步更加具体的,对于在本实施例中的部署,平台即服务层200通过提供用户的开发和部署平台(即云平台),将自动驾驶算法模型部署于软件即服务层100上运行操作;自动驾驶算法模型、ECU资源池和传感器资源池的部署均需要提供接口给云平台,且云平台通过提供的接口管理自动驾驶算法模型,管理包括自动驾驶算法模型的导入导出、调试和状态监控。
因此平台即服务层200实际为云端服务的云平台,其提供的服务包括互联网中间件服务、访问控制服务、云数据库服务和云监控服务。本实施例在平台即服务层200上部署自动驾驶的场景仿真模块201,且场景仿真模块201包括以下仿真步骤,
场景仿真模块201运行在虚拟服务器中,模拟出不同的交通场景;
场景仿真模块201输出图像、雷达和GPS数据到传感器,并接收ECU资源池及自动驾驶算法模型的反馈并实时调整车辆的参数;
场景仿真模块201输出路面和车辆状态数据到车辆模型仿真模块202,并接收车辆模型仿真模块200的反馈实时调整车辆的姿态。
车辆模型仿真模块202运行在虚拟服务器中,模拟出接近真实车辆的各种数据,从场景仿真模块201拿到车辆的当前状态和路面数据,并计算出车辆的后续状态并反馈给场景仿真模块201。需要说明的是,虚拟服务器为平台即服务层200的主机,也简称为虚拟主机,相对于真实主机而言,虚拟服务器是指采用特殊的软硬件技术把一台完整的服务器主机分成若干个主机。实际上是将真实的硬盘空间分成若干份,然后租给不同用户,每一台被分割的主机都具有独立的域名和IP地址,但共享真实主机的CPU、RAM、操作系统、应用软件等。按照非常简化的定义,虚拟服务器是仅仅利用软件来模拟独立计算机的行为和能力。服务器虚拟化软件栈集的底部是直接安装在服务器硬件上的普通操作系统。
场景仿真模块201和车辆模型仿真模块202为部署于虚拟服务器上的应用程序软件,通过平台即服务层200提供的部署平台,用户能够使用提供商支持的编程语言和工具把场景仿真模块201和车辆模型仿真模块202的应用程序部署到云中,并与软件即服务层100连接,再通过软件即服务层100将应用程序主要以基于Web的方式提供给客户操作。
基础架构即服务层300部署的传感器资源池包括部署摄像头、雷达和GPS传感器,传感器资源池提供接口给云平台,通过提供的接口控制相应传感器的参数,实时监控其状态。本实施例中摄像头为物理摄像头或者软件模拟的虚拟摄像头,物理摄像头通过拍摄场景仿真模型的屏幕画面来获取数据,虚拟摄像头可以通过场景仿真模块提供的接口获取数据;但雷达和GPS传感器本实施例采用为软件模拟的虚拟设备,通过场景仿真模块201提供的接口获取传感器数据,经过计算后将数据送给ECU资源池和自动驾驶算法模型,并运行自动驾驶算法模型后获得反馈数据。
同时在基础架构即服务层300上部署的ECU资源池,ECU资源池包括采用ECU物理设备或者软件模拟的虚拟设备通过提供的接口部署于基础架构即服务层300上,通过从场景仿真模块201获取传感器资源池上传的数据,通过计算后生成车辆对应的驾驶策略和指令,实时调整车辆的状态参数。
参照图3的示意,示意为自动驾驶仿真在云平台上运行的逻辑关系结构示意图,其中自动驾驶仿真系统通过网络用浏览器访问远端的服务器,利用httpapi接入云平台中,并进行仿真平台的运行。
需要说明的是,本实施例中提出的异构云计算框架,异构实际是指将汽车传感器和ECU放入云计算硬件资源池并池化。本实施例对于硬件部分的搭建,传统云计算在硬件这一层,主要包括cpu、硬盘和网络设备,本实施例中把和汽车仿真相关的硬件也放到这一层,体现出异构特性,即传感器硬件和ECU硬件设备,该硬件层与基础架构即服务层300(IaaS)虚拟的传感器和ECU的虚拟设备对应。对于ECU和传感器的部署,需要它们提供API(应用程序编程接口)给云计算框架。
API是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。是用于构建应用程序软件的一组子程序定义、协议和工具。实施例属于集成对接,实现云计算框架和ECU、传感器间的数据对接,在实施过程中可以获取目标API的数据流,根据预设的接口信息和数据流的字段的对应关系,然后将该对应关系存储在服务器中,在目标的数据流中获取API的接口信息。接口信息可以是用于描述API的接口的信息,其中可以包括API的接口协议类型和版本,请求参数和应答参数的数据类型、API的接口路由策略、流控策略等。其执行主体为服务器。其中,服务器可以是IT/CT系统管理侧的服务器,用于获取各个厂家API的接口信息,并辅助技术人员针对每个API开发相应的对接程序。
进一步的,云管理层400包括用户层、机制层和检测层,其中用户层包括用户管理、客户支持、服务管理和计费管理;机制层包括运维管理、资源管理、安全管理和容灾支持;检测层包括监控系统。与过去的数据中心相比,本实施例云最大的优势在于云管理的优越性,云管理层也是前面3层云服务的基础,并为这3层提供多种管理和维护等方面的功能和技术。
采用本实施例的异构云计算框架,与现有搭建的成本比较:传统搭建一套系统包含硬件和人力成本:各100万RMB左右,其构成硬件加软件包括服务器20W、ECU和传感器50万,动力学仿真软件例如carsim 30万,以及人力成本:10个人开发加部署3个月,大概100万左右;而采用本实施例的云端,租用3年仅在价格大概20万左右。明显采用本实施例提出的云端部署,具有不仅成本较低,且部署后立马可用的优势。
本实施例的场景一:
利用搭建的异构云计算框架将驾驶仿真系统在云端的部署,让自动驾驶汽车在仿真场景中训练,利用云计算虚拟化的优势,可以同时跑多个仿真任务,极大的节约仿真时间,下面将自动驾驶汽车位于传统本地搭建的自动驾驶仿真系统中和与本实施例提出的异构云计算框架分别进行多任务仿真的耗时对比,其中传统仿真采用GT-SUITE车辆仿真软件,本次采用的仿真计算任务包括循环行驶仿真、爬坡性能仿真、最高车速仿真、最大加速度仿真、最大牵引力仿真、巡航行驶仿真。上述计算任务通过VehKinemAnalysis及EngineState,VehicleBody等模块中的参数决定。经过多次测试实验得出的仿真时间可参照下表中。
表1为每个仿真任务单独进行的测试时间:
|
循环行驶 |
爬坡性能 |
最高车速 |
最大加速度 |
最大牵引力 |
巡航行驶 |
传统仿真 |
3600秒 |
160秒 |
130秒 |
130秒 |
160秒 |
3600秒 |
异构云 |
3500秒 |
60秒 |
30秒 |
30秒 |
60秒 |
3500秒 |
表2为循环行驶仿真和巡航行驶仿真任务同时进行的测试时间:
|
循环行驶仿真和巡航行驶仿真同时进行 |
传统仿真 |
7200秒 |
异构云 |
3500秒 |
表3为最大加速度仿真和最高车速仿真任务同时进行的测试时间:
|
最大加速度仿真和最高车速仿真同时进行 |
传统仿真 |
260秒 |
异构云 |
30秒 |
表4为爬坡性能仿真和最大牵引力仿真任务同时进行的测试时间:
|
爬坡性能仿真和最大牵引力仿真任务同时进行 |
传统仿真 |
320秒 |
异构云 |
60秒 |
从表1~4的示意,可以看出传统车辆仿真系统与本实施例提出的异构云仿真相比而言,在单独进行的仿真测试时本方法相对于传统仿真具有一定的时间优势,而当对于双任务同时甚至多任务同时进行仿真时本方法在时间优势上十分明显。
实施例2
参照图2的示意,本实施例中提出一种基于异构云计算框架的驾驶仿真系统,本系统应用上述实施例的搭建方法完成驾驶仿真系统在云端的部署。该系统包括能够在计算机上运行的异构云计算框架,并基于该异构云计算框架对自动驾驶仿真进行验证试验,能够大量的减少本地搭建的成本。
具体的,异构云计算框架包括软件即服务层100、平台即服务层200、基础架构即服务层300和云管理层400;其中软件即服务层100用于部署自动驾驶仿真平台的应用程序并运行,应用程序为自动驾驶算法模型,并将应用程序以基于Web的方式提供给客户;平台即服务层200用于将应用程序的开发和部署平台作为云服务提供给用户,软件即服务层100能够通过平台即服务层200的部署平台对自动驾驶算法模型进行部署;基础架构即服务层300用于部署ECU资源池和传感器资源池,并结合底层的计算池、存储资源池和网络资源池作为自动驾驶仿真系统的虚拟硬件设备服务提供给平台即服务层200运行;云管理层400用于自动驾驶仿真系统的管理。
进一步的,云管理层400包括用户层、机制层和检测层,其中用户层包括用户管理、客户支持、服务管理和计费管理;机制层包括运维管理、资源管理、安全管理和容灾支持;检测层包括监控系统。
用户管理包括其一是账号管理,其为对用户身份及其访问权限进行有效地管理和对用户组的管理;其二是单点登录,其意义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,这个机制可以极大地方便用户在云服务之间进行切换;其三是配置管理,对与用户相关的配置信息进行记录、管理和跟踪,配置信息包括虚拟机的部署、配置和应用的设置信息等。
客户支持对好的用户体验对于云而言也是非常关键的,所以帮助用户解决疑难问题的客户支持是必需的,并且需要建设一整套完善的客户支持系统,以确保问题能按照其严重程度或者优先级来依次进行解决,提升客户支持的效率和效果。
计费管理是利用底层监控系统所采集的数据来对每个用户所使用的资源(比如所消耗CPU的时间和网络带宽等)和服务(比如调用某个付费API的次数)进行统计,来准确地向用户索取费用,并提供完善和详细的报表。
服务管理是大多数云都在一定程度上遵守SOA(面向服务的架构)的设计规范。SOA的意思是将应用不同的功能拆分为多个服务,并通过定义良好的接口和契约来将这些服务连接起来,这样做的好处是能使整个系统松耦合,从而使整个系统能够通过不断演化来更好地为客户服务。服务管理例如具有以下功能:管理接口、自定义服务、服务调度和监控服务流程管理。其中管理接口为提供完善的关于服务的Web管理界面和API接口。自定义服务能让用户对服务进行自定义和扩展。服务调度为配备强健的机制来负责服务的调度,以使服务能在合理的时间内被系统调用和处理。监控服务是利用底层的监控系统来观测服务实际的运行情况。流程管理是提供一个工具来让用户将多个服务整合为一个流程,并对它进行管理以提升运行效率。
机制层主要提供各种用于管理云的机制,通过这些机制,能让云计算中心内部的管理更自动化、更安全和更环保,该层也包括4个模块:运维管理、资源管理、安全管理和容灾支持。
其中安全管理是对数据、应用和账号等IT资源采取全面保护,使其免受犯罪分子和恶意程序的侵害,并保证云基础设施及其提供的资源能被合法地访问和使用。主要包括下面这几种机制:访问授权、安全策略、安全审计、物理安全网络隔离和网络隔离数据备份。由于数据完整性对云计算而言是基本要求,所以除了通过上面这些机制来确保数据不会被没有权限的人访问之外,还需要对数据进行备份,以避免由于磁盘损坏或者管理不当导致数据丢失的情况,所以需要完善的备份服务来满足每个用户不同的备份策略。
检测层主要监控这个云计算中心的方方面面,并采集相关数据,以供用户层和机制层使用。包括监控系统,能够全面监控云计算的运行主要涉及3个层面。其一是物理资源层面,主要监控物理资源的运行状况,比如CPU使用率、内存利用率和网络带宽利用率等。其二是虚拟资源层面,主要监控虚拟机的CPU使用率和内存利用率等。其三是应用层面,主要记录应用每次请求的响应时间和吞吐量,以判断它们是否满足预先设定的SLA。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。