一种基于实时分析的导航方法和系统
技术领域
本发明涉及云服务的智能汽车导航的技术领域,尤其涉及一种基于实时分析的智能导航方法及其系统。
背景技术
目前,汽车导航软件(或设备)无论是在市区内或高速公路上都无法做到有效基于实况通知车辆避免拥堵或是车祸发生路段,另外,实时路况通常需要大数据,成本较高,有些路况不具备可视化,无法证明其是否真的拥堵或是发生了车祸。另外,路况计算算法缺乏有限的输入条件,路况经常性的计算不准确,小量有效数据会在大数据下被淹没,导致结果失真。
例如现有中带实时视频的实时路况监测与展示方法,通过上传每个车辆车载摄像头拍摄车前的路况,并发送至远程服务端,通过远程服务端与通过车辆位置和速度计算的车辆拥堵数据对比,验证是否真正拥堵,通过利用车载摄像头拍摄的视频以及路口处摄像头拍摄的视频验证拥堵状态,通过车载设备真实的反馈道路拥堵状况,数据更真实与更专业,可以看到一些常规办法无法获取的信息,如危险品车导致的事故。
但是上述方案在实施过程中存在以下缺陷:一是车载摄像头在车辆行驶过程中需要不断拍摄车前路况图片并通过用户提供的移动蜂窝网络发送给远程服务端。这会极大浪费汽车用户的数据流量,给汽车用户带来经济损失;所有的拥堵计算和识别全部在远程服务端进行,因此需要多台强劲的服务器进行计算,这会增加服务商的部署和运营成本。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决的一个技术问题是:提供一种基于实时分析的导航方法,能够将路况识别分析计算下沉到客户端,有效缓解远程服务端的计算压力。
为解决上述技术问题,本发明提供如下技术方案:一种基于实时分析的导航方法,包括以下步骤,客户端与服务端建立双向通信连接;所述客户端实时采集路况数据进行路况分析获得有效识别结果;所述服务端接收所述有效识别结果,并根据其他客户端的订阅信息匹配对应的所述有效识别结果;所述其他客户端接收由所述服务端发送与其订阅信息相匹配的所述有效识别结果。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:所述客户端的路况识别还包括以下步骤,采集模块实时采集路况数据;路况识别算法模块接收所述路况数据进行特征的识别和提取;提取的特征与识别模型数据管理模块内的数据对比识别得到有效识别结果。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:所述服务端生成识别模型还包括以下步骤,所述服务端搜集路况拥堵或者车祸的图片的数据;将搜集的路况数据输入到学习算法框架中;进行图像的特征提取和模型训练;训练后的模型作为文件保存生成所述识别模型推送给所述客户端。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:还包括所述客户端的识别模型更新步骤,所述客户端上报当前的识别模型版本号;所述服务端接收并保存当前所述客户端的识别模型版本号;识别模型生成模块周期性的进行大数据训练更新生成识别模型;根据识别模型版本号判断所述客户端的识别模型是否需要更新;所述服务端通知所述客户端识别模型需要更新;所述客户端下载最新的识别模型数据完成更新。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:所述服务端推送所述其他客户端订阅的路况信息还包括以下步骤,所述其他客户端基于导航路线信息发送需要订阅的路况信息请求给服务端;所述服务端保存订阅的路况信息请求;所述客户端上报实时路况信息;订阅匹配模块获取实时路况信息的经纬度数据,并匹配订阅数据中请求的路径经纬度信息;匹配成功后,所述服务端将匹配的实时路况信息发送至有订阅请求的所述其他客户端。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:所述其他客户端订阅的路况信息包括与导航路径关键点相对应的经纬度数据;所述客户端上报实时路况信息包括所述有效识别结果和与所述有效识别结果相对应的经纬度数据,且所述有效识别结果包括拥堵或是车祸;所述关键点的经纬度数据与所述有效识别结果的经纬度数据相匹配。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:所述客户端还包括实时路况信息的展示步骤,数据上报模块将所述客户端的所述有效识别结果上传至网络连接模块;所述网络连接模块上传所述有效识别结果至数据接收模块;所述数据接收模块上传所述有效识别结果至路况信息展示模块;所述路况信息展示模块显示当前接收的路况信息。
作为本发明所述的基于实时分析的导航方法的一种优选方案,其中:建立所述双向通信连接还包括以下步骤,所述客户端启动,基于内建的网络地址向所述服务端发送连接请求;所述服务端识别其身份后与所述服务端建立双向通信的网络连接。
因此,本发明解决的另一个技术问题是:提供一种基于实时分析的导航系统,能够应用上述基于实时分析的导航方法,将路况识别分析计算下沉到客户端,有效缓解远程服务端的计算压力。
为解决上述技术问题,提供如下技术方案:一种基于实时分析的导航系统,包括客户端,所述客户端包括采集模块和路况识别算法模块,所述采集模块用于实时采集路况数据,所述路况识别算法模块用于接收实时采集路况数据进行识别分析获取有效识别结果;服务端,所述服务端包括识别模型生成模块和订阅匹配模块,所述识别模型生成模块用于训练生成识别模型并通过网络上传至所述路况识别算法模块更新,所述订阅匹配模块接收所述有效识别结果后与订阅信息匹配;所述服务端能够根据所述客户端或其他客户端的订阅信息,用于路况信息推送到所述客户端或所述其他客户端。
作为本发明所述的基于实时分析的导航系统的一种优选方案,其中:所述客户端还包括识别模型数据管理模块、数据上报模块、网络连接模块、数据接收模块、路况信息展示模块;所述识别模型数据管理模块与所述路况识别算法模块连接,用于上传和管理识别数据;所述数据上报模块用于所述有效识别结果上传至所述网络连接模块中;且所述网络连接模块用于与所述服务端的双向通信连接;所述数据接收模块与所述网络连接模块连接,用于接收所述服务端发送的路况信息;所述路况信息展示模块接收所述路况信息进行展示并通知用户。
本发明的有益效果:本发明能够最大限度的对突发实时发路况信息进行识别,并将识别后多元化信息发送给目标用户;充分利用边缘计算能力进行高效,低成本的服务部署,在为汽车用户带来便利的同时最大化服务提供商的经济利益。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一种实施例所述基于实时分析的导航方法的客户端和服务器的交互流程示意图;
图2为本发明第一种实施例所述客户端进行路况识别并上报服务端流程示意图;
图3为本发明第二种实施例所述客户端识别模型更新的流程示意图;
图4为本发明第二种实施例所述服务端生成识别模型的流程示意图;
图5为本发明第三种实施例所述服务端推送其他客户端订阅的路况信息的流程示意图;
图6为本发明第三种实施例所述基于实时分析的导航系统的整体结构示意图;
图7为本发明第三种实施例所述基于实时分析的导航系统的整体流程的结构示意图;
图8为本发明所述测试车辆在不同行驶时间下上传流量的测试结果示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~2的示意,示意了客户端100和服务端200的通信连接,以及其他三个主要的可选子流程,包括推送识别模型更新、上传路况信息和相关图片资源、推送路况信息和相关图片资源三个交互子流程。
本实施例中为了解决车载摄像头在车辆行驶过程中需要不断拍摄车前路况图片并通过用户提供的移动蜂窝网络发送给远程服务端,会极大浪费汽车用户的数据流量,给汽车用户带来经济损失的问题,以及所有的拥堵计算和识别全部在远程服务端进行,因此需要多台强劲的服务器进行计算,会增加服务商的部署和运营成本的问题。本实施例中提出一种基于实时分析的导航方法,采用客户端100和服务端200的交互,将路况识别分析计算下沉到客户端100,这样有效缓解了远程的服务端200的计算压力。
具体的,包括以下步骤,
客户端100与服务端200建立双向通信连接,该步骤中客户端100启动后,基于内建的网络地址向服务端200发送连接请求,服务端200识别其身份后和客户端200建立双向通信的网络连接。客户端100和服务端200可以基于此连接进行双向通信交互,且建立双向网络通信的连接例如可以采用http/2或者websocket协议等;
客户端100实时采集路况数据进行路况分析获得有效识别结果,包括采集模块101实时采集路况数据;路况识别算法模块102接收路况数据进行特征的识别和提取;提取的特征与识别模型数据管理模块103内的数据对比识别得到有效识别结果;
服务端200接收有效识别结果,并根据其他客户端300的订阅信息匹配对应的有效识别结果,包括通过识别模型生成模块201生成识别模型,并将生成识别模型推送至客户端100内进行实时路况的分析识别,其为识别模型生成模块201用于训练生成识别模型并通过网络上传至路况识别算法模块102更新。不难发现,服务端200生成的识别模型并不用于路况信息的识别,而是用于路况识别算法模块102的识别模型的更新。订阅匹配模块202接收由客户端100上报的有效识别结果后与其他客户端300的订阅信息进行匹配。
其他客户端300接收由服务端200发送与其订阅信息相匹配的有效识别结果,根据该有效识别结果进行导航。需要理解的是,在本步骤中客户端100和其他客户端300均可以是车载的导航仪,且其他客户端300可以是本实例中客户端100,也可以是非本实施例的客户端100但仅具有网络通信和显示功能的其他导航设备,因此该其他客户端300可以是只需接收服务端200发送路况信息并显示的设备。但同时也可是本实施例中的客户端100,也可以具有采集实时路况信息并分析和服务端200发生交互的设备。需要理解的是,其他客户端300是接收服务端200发送通知的客户端100,例如汽车A的客户端检测到事故,发送分析结果给服务端200,服务端200推送给汽车B的客户端100,汽车B的客户端100就是其他客户端300。
例如客户端100通过内置的高清的摄像头或摄像机实时采集路况数据进行路况分析,计算得出有效分析结果,该有效分析结果是已经识别出来路况类型,例如是拥堵或是车祸以及相关联的图片数据或短视频发送给服务端200,因为是已识别后的数据上传,将不需要的无用图片或者视频去除,所以大大减少了汽车用户上传数据的频率,不会带来无效的流量消耗,且服务端200根据其他客户端300的订阅信息,也避免了服务端200对其他客户端300的无效上传,不仅能够精准推送到其他客户端300,客户端300不会频繁上传原始数据(例如未加分析的视频、图片等)给服务端200。
测试场景:
本实施例采用视频码率1Mbps、每隔20分钟上报计算后的视频数据(视频平均时长10秒)来分别进行测试,测试车辆分别在不同的行驶时间下统计上传的数据流量,传统方法采用的是边缘采集数据的上传方式,与采用本方案云侧计算分析(即边缘计算)的方式,其测试结果如下表1。
表1为测试车辆在不同行驶时间对于视频数据的上传流量:
同时参照图8的对比示意,由表1和图8可以看出,本方案的通过下沉至客户端,服务端起到的只是协同数据的功能,该边缘计算的方式明显相对于传统边缘采集数据的方式具有节省流量的优势,在较短时间内,消耗的流量近似为0。并且图8中将不同行驶时间点连续起来,得到数据流量的走势,还可以看出当测试车辆行驶时间更长时,本方案与传统方案的间隔愈来愈大,即具有节省流量的优势更加的明显。
实施例2
参照图3~4的示意,与上述实施例不同的是,本实施例中示意出客户端100识别模型更新的流程示意图,即路况识别算法模块102的更新。提出的方案是客户端100进行路况识别,那么客户端100识别的输入之一是大数据分析训练的模型数据集。因此,客户端100获取模型数据集首先得包括客户端100出厂时内置模型数据集,当然的,该内置模型数据集可以是服务端200利用网络收集的路况拥堵或者车祸的图片的数据进行训练后得到的模型数据集,也可以是服务端200内识别模型生成模块201不断训练得出的识别模型。具体的,
首先,客户端100出厂时内置模型数据集或初始版本识别模型;
客户端100和服务端200建立双向通行连接后立刻上报当前已存在的识别模型的版本号;
服务端200执行以下操作:保存客户端当前的识别模型版本号;周期性的进行大数据训练更新生成识别模型;通知客户端识别模型需要更新;
最后客户端100收到服务端200推送更新后,下载最新的识别模型数据进行更新,完成识别模型由低版本到高版本的更新。
进一步的,服务端200生成识别模型还包括以下步骤,
服务端200搜集路况拥堵或者车祸的图片的数据;
将搜集的路况数据输入到学习算法框架中;
进行图像的特征提取和模型训练;
训练后的模型作为文件保存生成识别模型推送给客户端100。
因此,服务端200根据实况数据的不断变化进而不断的进行数据的更新和更高版本的生成识别模型,推送至客户端100进行识别更新。
更加具体的,客户端100的识别模型更新步骤,
客户端100上报当前的识别模型版本号;
服务端200接收并保存当前客户端100的识别模型版本号;
识别模型生成模块201周期性的进行大数据训练更新生成识别模型;
根据识别模型版本号判断客户端100的识别模型是否需要更新;
服务端200通知客户端100识别模型需要更新;
客户端100下载最新的识别模型数据完成更新。
需要理解的是,识别模型的载体是文件,因此文件具有版本号,服务端200根据接收的版本号与周期训练生成识别模型的版本号进行比较判断,若接收的版本号低于生成识别模型的版本号,则判断客户端100内的识别模型版本过低需要更新,并推送需要最新版本的识别模型供客户端100下载更新。
客户端100内部的视频流采集模块101实时采集路况视频,并将视频流内容和从服务端200获取的识别模型数据并通过识别模型数据模块103用于管理识别模型数据,作为输入数据输入到路况识别算法模块102。
路况识别算法模块102采用现有的机器学习算法框架,例如tensorflow进行路况识别分析计算,并将路况信息和对应的图片或视频信息输入到数据上报模块104,采用本实施例的服务提供商依据路况识别场景采集图片,例如从互联网搜集路况拥堵或者车祸的图片,将图片输入到现有的机器学习算法框架中,算法框架进行图像的特征提取以及模型训练,服务端200将训练后的模型作为文件保存,生成识别模型并推送给客户端100进行实况数据分析。
客户端100集成和服务端200相同的机器学习算法框架,当采集到的实时数据流后,客户端100使用上述机器学习算法框架进行数据特征提取以及将提取后的特征数据送入数据模型,机器学习算法框架采用数据模型对特征进行识别最后给出结果,生成有效识别结果;最后数据上报模块104通过网络连接模块105将数据上报给服务端200。
机器学习算法框架是一个非常灵活的框架,它能够运行在个人计算机或者服务器的单个或多个CPU和GPU上,甚至是移动设备上。可以从举例的MNIST机器学习来分析TensorFlow的框架。首先,要构建一个计算的过程。MNIST所用到的算法核心就是softmax回归算法,这个算法就是通过对已知训练数据同个标签的像素加权平均,来构建出每个标签在不同像素点上的权值,若是这个像素点具有有利的证据说明这张图片不属于这类,那么相应的权值为负数,相反若是这个像素拥有有利的证据支持这张图片属于这个类,那么权值是正数。因为输入往往会带有一些无关的干扰量,于是加入一个额外的偏置量(bias)。因此对于给定的输入图片x它代表的是数字i的证据,可以表示:
其中Wi,j表示权值的矩阵,xj为给定图片的像素点,bi代表数字i类的偏置量。在这里不给出详细的推导过程,但是可以得到一个计算出一个图片对应每个标签的概率大小的计算方式,可以通过如下的代码来得到一个概率分布:
y=softmax(Wx+b)
建立好一个算法模型之后,算法内输入的所有可操作的交互单元就像式(2)中的图片输入x,为了适应所有的图片输入,将其设置为变量占位符placeholder。而像权重W和偏置值b这两个通过学习不断修改值的单元设置为变量Variable。
TensorFlow在这一步就是在后台给描述计算的那张图里面增添一系列新的计算操作单元用来实现反向传播算法和梯度下降算法。它返回一个单一的操作,当运行这个操作时,可以用梯度下降算法来训练模型,微调变量,不断减少成本,从而建立好一个基本模型。建立好模型之后,创建一个会话(Session),循环1000次,每次批处理100个数据,开始数据训练,代码如下:
sess=tf.InteractiveSession()
foriinrange(1000):
batch_xs,batch_ys=mnist.train.next_batch(100)
sess.run(train_step,feed_dict={x:batch_xs,y_:batch_ys})
TensorFlow
通过数据输入(Feeds)将张量数据输入至模型中,而张量Tensor就像数据流一样流过每个计算节点,微调变量,使得模型更加准确。通过上述,可以管中窥豹了解TensorFlow的框架结构,TensorFlow对于输入的计算过程在后台描述成计算图,计算图建立好之后,创建会话Session来提交计算图,用Feed输入训练的张量数据,TensorFlow通过在后台增加计算操作单元用于训练模型,微调数据,从而完成一个机器的学习任务。
实施例3
参照图5的示意,与上述实施例不同之处在于:示意为服务端200基于其他客户端300的订阅信息,推送有效分析结果,即路况信息和对应的图片资源(或短视频)信息给其他客户端300。
客户端100或其他客户端300内均包括路况信息订阅模块108,用于向服务端200发送本端的订阅信息请求,服务端200接收请求后该端发送实时路况信息。路况信息订阅模块108基于导航路线信息发送需要订阅的路况信息给服务端200(例如导航路径关键点的经纬度信息),服务端200保存该订阅信息;当有客户端100上报了路况信息后,服务端200基于路况信息的经纬度数据匹配订阅数据中的路径经纬度信息并推送路况信息和对应的图片或短视频信息给客户端100。客户端100将路况信息和对应的图片或视频进行展示并通知使用该客户端100的汽车用户。具体的,
服务端200推送其他客户端300订阅的路况信息还包括以下步骤,
其他客户端300基于导航路线信息发送需要订阅的路况信息请求给服务端200;
服务端200保存订阅的路况信息请求;
客户端100上报实时路况信息;
订阅匹配模块202获取实时路况信息的经纬度数据,并匹配订阅数据中请求的路径经纬度信息;
匹配成功后,服务端200将匹配的实时路况信息发送至有订阅请求的其他客户端300。
还需要理解的是,其他客户端300订阅的路况信息包括与导航路径关键点相对应的经纬度数据;客户端100上报实时路况信息包括有效识别结果和与有效识别结果相对应的经纬度数据,且有效识别结果包括拥堵或是车祸;关键点的经纬度数据与有效识别结果的经纬度数据相匹配。
进一步的,客户端100还包括实时路况信息的展示步骤,
数据上报模块104将客户端100的有效识别结果上传至网络连接模块105;
网络连接模块105上传有效识别结果至数据接收模块106;
数据接收模块106上传有效识别结果至路况信息展示模块107;
路况信息展示模块107显示当前接收的路况信息。
本实施例能够最大限度的对突实时发路况信息进行识别,并将识别后多元化信息,包含但不限路况类型并和之对应的图片或视频,发送给目标用户;充分利用边缘计算能力进行高效,低成本的服务部署,在为汽车用户带来便利的同时最大化服务提供商的经济利益。
实施例4
参照图6~7的示意,与上述实施例不同之处在于提出一种基于实时分析的导航系统,上述基于实时分析的导航方法能够应用于该系统,包括客户端100和服务端200以及其他客户端300,参照上述实施例的说明,客户端100、其他客户端300与服务端200之间进行网络通信交互。具体的,客户端100包括采集模块101、路况识别算法模块102、识别模型数据管理模块103、数据上报模块104、网络连接模块105、数据接收模块106、路况信息展示模块107。服务端200包括识别模型生成模块201和订阅匹配模块202。
采集模块101用于实时采集路况数据,路况识别算法模块102用于接收实时采集路况数据进行识别分析获取有效识别结果;识别模型数据管理模块103与路况识别算法模块102连接,用于上传和管理识别数据;数据上报模块104用于有效识别结果上传至网络连接模块105中;且网络连接模块105用于与服务端200的双向通信连接;数据接收模块106与网络连接模块105连接,用于接收服务端200发送的路况信息;路况信息展示模块107接收路况信息进行展示并通知用户。
服务端200,服务端200包括识别模型生成模块201和订阅匹配模块202,识别模型生成模块201用于训练生成识别模型并通过网络上传至路况识别算法模块102更新,订阅匹配模块202接收有效识别结果后与订阅信息匹配;服务端200能够根据客户端100或其他客户端300的订阅信息,用于路况信息推送到客户端100或其他客户端300。
本实施例中提供如下实际应用:
导航服务商通过自建或购买云服务平台进行服务端200的软件部署;
汽车用户a和b从导航服务商处购买客户端100(也可以是其他客户端300)设备并安装到汽车上;
汽车用户a和b开启客户端100,当客户端100启动后,通过内建的网络地址(导航服务商申请的统一域名)和服务端200建立双向通信的网络连接(此处可以采用websocket或http/2等技术);
客户端100提示汽车用户a和b和服务端200的通信建立成功;
汽车用户a使用客户端100进行导航路线规划,希望到达目的地DST,此处即为上述订阅信息请求。客户端100规划路径完成后发送路径信息给服务端200,路径信息中包含了路径中每个关键点的经纬度信息,此处表示汽车用户a客户端100完成了路况信息订阅;
服务端200保存汽车用户a发布的路况订阅信息;
汽车用户b行驶经过地点POINT,POINT是汽车用户a的目的地DST中的一个关键点。此时,客户端100视频或图像采集模块101采集到POINT的实时路况视频流输入到客户端100的识别模型中,识别模型结合模型数据进行机器学习分析,例如可以采用现有的机器学习算法,识别出POINT发生车祸或拥堵;
汽车用户b的客户端100或其他客户端300将POINT的路况信息,即包括了POINT的经纬度以及路况类型信息,例如车祸和车祸对应的图片信息发送到服务端200;
服务端200基于接收到的路况信息中经纬度匹配订阅信息中的路径关键点的经纬度,匹配成功后,服务端200将POINT的路况信息和图片发送给汽车用户a的客户端100;
汽车用户a客户端100收到POINT的路况信息和图片后通过路况展示模块107进行展示并通过语音提示汽车用户a。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。