应用于车辆的通信方法、装置、电子设备及车辆与流程

文档序号:26672238发布日期:2021-09-17 23:05阅读:147来源:国知局
应用于车辆的通信方法、装置、电子设备及车辆与流程

1.本技术涉及基于人工智能的自动驾驶技术,尤其涉及一种应用于车辆的通信方法、装置、电子设备、车辆及计算机可读存储介质。


背景技术:

2.人工智能(ai,artificial intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。
3.自动驾驶是人工智能的重要应用方向,自动驾驶有不同的级别(例如从l1到l5),在不同级别的自动驾驶中,不可避免地涉及到车辆的网络通信,例如车辆可以通过网络通信来从服务器获取用于自动驾驶的数据,从而控制车辆的安全、可靠地到达目的地。
4.在这个过程中,为了实时获取数据需要持续保持与服务器之间的通信,但这会对车辆和服务器的资源造成较大的消耗,对于如何进行高效的通信相关技术尚无有效的解决方案。


技术实现要素:

5.本技术实施例提供一种应用于车辆的通信方法、装置、电子设备、车辆及计算机可读存储介质,能够在节约通信资源的基础上实现车辆的高效网络通信。
6.本技术实施例的技术方案是这样实现的:
7.本技术实施例提供一种应用于车辆的通信方法,包括:
8.建立车辆与服务器之间的通信连接;
9.基于所述通信连接中的第一数据流通道,向所述服务器发送所述车辆的第一网络请求,以接收所述服务器基于所述第一数据流通道返回的第一响应消息;
10.基于所述通信连接中的第二数据流通道,向所述服务器发送所述车辆的第二网络请求,以接收所述服务器基于所述第一数据流通道返回的第二响应消息;
11.关闭所述第二数据流通道;
12.其中;所述第二网络请求是发送时间晚于所述第一网络请求的请求,所述第一响应消息和所述第二响应消息用于生成所述车辆的行驶指令。
13.本技术实施例提供一种应用于车辆的通信装置,包括:
14.连接模块,用于建立车辆与服务器之间的通信连接;
15.通信模块,用于基于所述通信连接中的第一数据流通道,向所述服务器发送所述车辆的第一网络请求,以接收所述服务器基于所述第一数据流通道返回的第一响应消息;
16.所述通信模块,还用于基于所述通信连接中的第二数据流通道,向所述服务器发送所述车辆的第二网络请求,以接收所述服务器基于所述第一数据流通道返回的第二响应消息;
17.管理模块,用于关闭所述第二数据流通道;
18.其中;所述第二网络请求是发送时间晚于所述第一网络请求的请求,所述第一响应消息和所述第二响应消息用于生成所述车辆的行驶指令。
19.在上述方案中,所述通信模块,还用于:响应于所述车辆与所述服务器之间的通信连接的建立,创建承载于所述通信连接中的第一数据流通道;通过所述第一数据流通道向所述服务器发送所述第一网络请求;其中,所述第一数据流通道在空闲时仍然被保持。
20.在上述方案中,所述通信模块,还用于:当确定需要发送向所述服务器发送所述第二网络请求时,创建承载于所述通信连接中的第二数据流通道;通过所述第二数据流通道向所述服务器发送所述第二网络请求;所述管理模块,还用于:当发送完成所述第二网络请求时,关闭所述第二数据流通道。
21.在上述方案中,所述基于所述通信连接中的第二数据流通道,向所述服务器发送所述车辆的第二网络请求之前,所述通信模块,还用于:当满足以下条件至少之一时,确定需要发送所述第二网络请求:所述车辆的位置发生变化;所述车辆偏离已经决策好的行驶路线;所述车辆需要规避前方的拥堵路段。
22.在上述方案中,所述管理模块,还用于:当发送完成所述第二网络请求,且接收到所述服务器针对所述第二网络请求返回的第三响应消息时,响应于所述第三响应消息,关闭所述第二数据流通道;其中,所述第三响应消息用于指示关闭所述第二数据流通道。
23.在上述方案中,所述管理模块,还用于:基于所述车辆的历史网络请求的记录,确定所述第二数据流通道的保持时间;其中,所述历史网络请求是先于所述第一网络请求发送的;从发送完成所述第二网络请求开始计时,在所述保持时间内保持所述第二数据流通道;当计时达到所述保持时间,且所述第二数据流通道仍然为空闲时,关闭所述第二数据流通道。
24.在上述方案中,所述管理模块,还用于:从所述车辆的历史网络请求的记录中,提取所述多个历史网络请求的发送时间,以确定相邻的所述历史网络请求的发送时间间隔;将所述发送时间间隔确定为所述保持时间;其中,所述发送时间间隔的类型包括:最大发送时间间隔,平均发送时间间隔,最小发送时间间隔。
25.在上述方案中,所述管理模块,还用于:获取所述车辆的实时行车环境数据和实时行车状态数据,以提取出所述车辆的实时行车环境特征和实时行车状态特征;调用神经网络模型,以基于所述实时行车环境特征和实时行车状态特征预测发送时间间隔,以作为所述第二数据流通道的保持时间;其中,所述神经网络模型的训练样本包括行车环境数据和行车状态数据,所述训练样本的标注数据包括行车过程中发送的历史网络请求的发送时间间隔,所述历史网络请求的发送时间间隔是从所述车辆的历史网络请求的记录提取得到的。
26.在上述方案中,所述通信模块,还用于:将所述车辆的实时位置写入到所述第一网络请求中;通过所述第一数据流通道向所述服务器发送携带所述实时位置的第一网络请求;其中,所述实时位置用于使所述服务器查询与所述实时位置适配的道路数据,并将所述道路数据写入到所述第一响应消息中。
27.在上述方案中,所述通信模块,还用于:将所述车辆的目标位置以及实时位置写入到所述第一网络请求中;通过所述第一数据流通道向所述服务器发送所述第一网络请求;其中,所述目标位置以及实时位置用于使服务器获取从所述实时位置至所述目标位置的行
驶路线,并将所述行驶路线写入到所述第一响应消息中。
28.在上述方案中,所述通信模块,还用于:接收所述服务器基于所述第一数据流通道依次返回的多个分块编码数据;将所接收到的多个分块编码数据按照接收顺序进行缓存;当接收到结束分块编码数据时,将缓存的分块编码数据进行解码处理,得到所述第一响应消息。
29.在上述方案中,所述接收所述服务器基于所述第一数据流通道返回的第一响应消息之前,所述通信模块,还用于:接收所述服务器通过所述第一数据流通道返回的针对所述第一网络请求的第四响应消息;其中,所述第四响应消息是当所述服务器查询到用于响应所述第一网络请求的目标数据时发送的,用于提示以下信息:所述服务器将通过分块传输编码的方式向所述车辆返回所述目标数据的分块编码数据;针对将要接收的分块编码数据预先分配缓存。
30.在上述方案中,所述通信模块,还用于:获取向所述服务器发送所述车辆的第二网络请求的预置时间间隔;当所述预置时间间隔大于第一时间阈值时,基于所述通信连接中的第二数据流通道,按照所述预置时间间隔向所述服务器发送所述车辆的第二网络请求。
31.在上述方案中,当所述预置时间间隔不大于所述第一时间阈值时,所述通信模块,还用于:在基于所述通信连接中的第二数据流通道,向所述服务器发送所述车辆的第二网络请求的过程中,创建承载于所述通信连接中的第三数据流通道;通过所述第三数据流通道向所述服务器发送第三网络请求。
32.在上述方案中,所述通信模块,还用于:从向所述服务器发送所述车辆的第二网络请求开始计时;当计时时间不超过第二时间阈值时,接收所述服务器基于所述第一数据流通道返回的多个第二响应消息;其中,所述多个第二响应消息为根据所述第二网络请求在所述计时时间内生成的响应消息。
33.在上述方案中,所述连接模块,还用于:获取所述服务器的网络地址;基于所述服务器的网络地址发送通信连接建立请求,以使所述服务器向所述车辆返回对应所述通信连接建立请求的连接响应;其中,所述连接响应用于提示所述服务器已经接受所述车辆的通信连接建立请求。
34.本技术实施例提供一种电子设备,包括:
35.存储器,用于存储可执行指令;
36.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的应用于车辆的通信方法。
37.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的应用于车辆的通信方法。
38.本技术实施例提供一种车辆,设置有本技术实施例提供的应用于车辆的通信装置。
39.本技术实施例具有以下有益效果:
40.复用车辆与服务器之间的通信连接中的第一数据流通道来接收服务器针对车辆的网络请求的响应消息,保证了车辆接收数据的实时性;通过第二数据流通道来发送网络请求并及时关闭,节约了车辆和服务器之间的通信资源;从而实现了同一通信连接中多数据流的传输,有效节约了通信资源消耗,提高了通信资源利用率以及数据传输效率。
附图说明
41.图1a是本技术实施例提供的应用于车辆的通信系统的结构示意图;
42.图1b是本技术实施例提供的应用于车辆的通信系统的流程示意图;
43.图2是本技术实施例提供的电子设备的结构示意图;
44.图3a-3d是本技术实施例提供的应用于车辆的通信方法的流程示意图;
45.图4是本技术实施例提供的应用于车辆的通信方法的系统架构图;
46.图5是本技术实施例提供的应用于车辆的通信方法的数据传输示意图。
具体实施方式
47.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
48.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
49.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
51.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
52.1)v2x网络,是智能汽车和智能交通的支撑技术之一,包括车辆与车辆、车辆与基础设施、车辆与行人、车辆与外部网络等各种应用通信应用场景。
53.2)长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
54.3)短连接,客户端和服务器每进行一次数据传输,就建立一次连接,任务结束就中断连接。
55.4)http/3,是超文本传输协议3.0,属于请求-响应协议,通常运行在udp之上,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
56.相关技术中采取list-watch机制实现数据上传与下发,list-watch机制的实现是基于超文本传输协议(http,hypertext transfer protocol),是k8s(是一个集群管理工具)重要的异步消息通知机制,它通过list功能获取全量数据,通过watch功能监听增量数据,保证消息可靠性,实时性,性能和顺序性,lis t功能负责罗列资源是基于http协议的短连接实现,watch功能监听资源变更事件,是基于http长连接实现,k8s通过informer模块实现list-watch机制,informer模块相当于客户端连接的apiserver,通过list功能要求apiserver罗列资源,然后调用watch功能监听资源变更事件,apiserver将某个资源变更事
件信息发送至informer模块,并由informer模块调用相应函数处理事件,每当apis erver检测到资源产生状态变更,都会将事件及时的推送给informer模块,从而保证了消息的实时性,但是将list-watch机制用于面向智能网联汽车的车路协同信息服务时存在以下问题:(1)云主机资源消耗过快,list-watch机制目前主要依赖http 1.1连接实现监听数据的传输。http 1.1基于传输控制协议(tcp,transmission control protocol)的连接进行工作,而维持tcp连接需要消耗一定数量的云主机资源,例如,中央处理器占用及内存消耗,由于在车路协同业务中,接入云主机的智能网联车辆数据很多,并且会长时间与云主机保持连接,这会导致云主机的资源快速消耗,从而要求在云端部署更多的主机来保证业务正常进行;(2)信息监听开销大,在车路协同业务中,智能网联车辆始终需要从云主机处获得与自身位置相关的道路感知信息。由于车辆处在运动状态时,其实时位置不断变化,因此车辆需不断向云主机上报位置,来保证获取有效的道路感知信息,list-watch机制只支持车辆在某个http 1.1连接中完成一次位置信息上报,为了保证云主机始终能够及时得到车辆的位置信息,车辆必须不断地与云主机建立新的http 1.1连接,这将导致系统中产生大量的开销用于支持新连接的不断建立。
57.本技术实施例提供一种应用于车辆的通信方法、装置、电子设备、车辆和计算机可读存储介质,能够在节约通信资源的基础上实现车辆的高效网络通信,下面说明本技术实施例提供的电子设备的示例性应用,本技术实施例提供的电子设备可以实施为车载设备,例如车控台,也可以是车辆中承载的笔记本电脑、智能手机、平板电脑、笔记本电脑等各种类型的移动终端。下面,将说明电子设备实施为车载设备时的示例性应用。
58.参见图1a,图1a是本技术实施例提供的应用于车辆的通信系统的结构示意图,车载设备400-1安装于车辆500-1中,车载设备400-2安装于车辆500-2中,车载设备400-1中运行车载应用410-1,车载设备400-2中运行车载应用410-2,车载设备400-1和车载设备400-2通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。作为示例,上述的车载应用可以是电子地图客户端、自动驾驶客户端。
59.通过车载设备400-1和车载设备400-2请求与服务器200建立通信连接,即发出通信连接建立请求,服务器200接受通信连接建立请求,从而车载设备400-1和车载设备400-2成功与服务器200分别建立独立通信连接(通信连接a和通信连接b,参见图1b中的步骤101),车载设备400-1在通信连接a中创建数据流通道1(数据流通道中承载有数据流),并通过数据流通道1向服务器200发送第一网络请求,服务器200向车载设备400-1通过通信连接a中的数据流1返回根据第一网络请求的第一响应消息(参见图1b中的步骤102),车载设备400-1在通信连接a中创建数据流2,并通过数据流2向服务器200发送第二网络请求,服务器200向车载设备400-1通过通信连接a中的数据流1返回根据第二网络请求的第二响应消息(参见图1b中的步骤103),车载设备400-1关闭数据流2(参见图1b中的步骤104),车载设备400-2在通信连接b中创建数据流1,并通过数据流1向服务器200发送第一网络请求,服务器200向车载设备400-1通过通信连接b中的数据流1返回根据第一网络请求的第一响应消息,车载设备400-1在通信连接b中创建数据流2,并通过数据流2向服务器200发送第二网络请求,服务器200向车载设备400-1通过通信连接b中的数据流1返回根据第二网络请求的第二响应消息。
60.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器
构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云物联、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。电子设备还可以是与车载设备400-1关联的智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。车载设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
61.云物联(cloud iot)旨在将传统物联网中传感设备感知的信息和接受的指令连入互联网中,真正实现网络化,并通过云计算技术实现海量数据存储和运算,由于物联网的特性是物与物相连接,实时感知各个“物体”当前的运行状态,在这个过程中会产生大量的数据信息,如何将这些信息汇总,如何在海量信息中筛取有用信息为后续发展做决策支持,这些已成为影响物联网发展的关键问题,而基于云计算和云存储技术的物联云也因此成为物联网技术和应用的有力支持。
62.参见图2,图2是本技术实施例提供的电子设备的结构示意图,以电子设备为车载设备为例,图2所示的车载设备400-1包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。车载设备400-1中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
63.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
64.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
65.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
66.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
67.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
68.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
69.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,
universal serial bus)等;
70.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
71.输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
72.在一些实施例中,本技术实施例提供的应用于车辆的通信装置可以采用软件方式实现,图2示出了存储在存储器450中的应用于车辆的通信装置455,其可以是程序和插件等形式的软件,包括以下软件模块:连接模块4551、通信模块4552和管理模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
73.在另一些实施例中,本技术实施例提供的应用于车辆的通信装置可以采用硬件方式实现,作为示例,本技术实施例提供的应用于车辆的通信装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的应用于车辆的通信方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
74.将结合本技术实施例提供的车辆的示例性应用和实施,说明本技术实施例提供的应用于车辆的通信方法。
75.参见图3a,图3a是本技术实施例提供应用于车辆的通信方法的流程示意图,将结合图3a示出的步骤进行说明。
76.下文中的执行主体为车辆,根据对上文的理解,执行主体具体可以是车辆中的移动终端或车载设备,为方便描述,对车辆、移动终端和车载设备不做具体区分。
77.在步骤201中,车辆建立与服务器之间的通信连接。
78.在一些实施例中,参见图3b,图3b是本技术实施例提供应用于车辆的通信方法的流程示意图,步骤201中建立车辆与服务器之间的通信连接,可以通过以下步骤实现。
79.在步骤2011中,车辆获取服务器的网络地址。
80.在步骤2012中,车辆基于服务器的网络地址发送通信连接建立请求。
81.在步骤2013中,服务器向车辆返回对应通信连接建立请求的连接响应。
82.作为示例,连接响应用于提示服务器已经接受车辆的通信连接建立请求。
83.作为示例,车辆从云主机调度服务器获取云主机的网络地址(例如ip地址)及工作端口,车辆按照网络地址向云主机发起通信连接建立请求,通信连接建立请求还携带有通信连接的编号标识,若服务器接受通信连接建立请求,则向车辆返回连接响应,用于提示服务器已经接受车辆的通信连接建立请求,至此完成通信连接建立过程。
84.在步骤202中,基于通信连接中的第一数据流通道,向服务器发送车辆的第一网络请求。
85.在一些实施例中,步骤202中基于通信连接中的第一数据流通道,向服务器发送车辆的第一网络请求,可以通过以下技术方案实现,响应于车辆与服务器之间的通信连接的
建立,创建承载于通信连接中的第一数据流通道;通过第一数据流通道向服务器发送第一网络请求;其中,第一数据流通道在空闲时仍然被保持。
86.作为示例,通信连接成功建立时,车辆创建承载于通信连接中的第一数据流通道,通过第一数据流通道向服务器发送第一网络请求,由于第一数据流通道是后续用于接收服务器下发的数据的长连接数据流通道,因此,第一数据流通道在空闲时仍然被保持,从而随机承载服务器下发至车辆的数据。
87.在一些实施例中,参见图3c,图3c是本技术实施例提供应用于车辆的通信方法的流程示意图,步骤202中基于通信连接中的第一数据流通道,向服务器发送车辆的第一网络请求,可以通过以下步骤实现。
88.在步骤2021中,将车辆的实时位置写入到第一网络请求中。
89.在步骤2022中,车辆通过第一数据流通道向服务器发送携带实时位置的第一网络请求。
90.作为示例,实时位置用于使服务器查询与实时位置适配的道路数据,并将道路数据写入到第一响应消息中。
91.作为示例,车辆与服务器建立通信连接之后,可以将车辆的实时位置写入第一网络请求中,第一网络请求是可以是基于http协议进行传输的请求,车端将第一网络请求写入通信连接中创建的第一数据流通道,车辆通过用户数据报协议(udp,user datagram protocol)端口,基于第一数据流通道向服务器发出第一网络请求,服务器接收到第一网络请求,从中读取到车辆的实时位置,并根据车辆的实时位置查询与实时位置适配的道路数据,例如,实时位置是地点a,表征车辆处于地点a,与实时位置适配的道路数据为地点a的邻近区域内的道路数据,可以通过预设阈值来确定邻近区域,例如,以地点a为中心,以预设阈值为半径的圆形区域即为地点a的邻近区域,该邻近区域的道路数据可以包括该邻近区域的所有对象的数据,例如,红绿灯的数据、行人的数据、道路上其他车辆的数据等等,还可以是第一网络请求中指定对象的数据,例如,仅指定获得道路上其他车辆的数据,第一网络请求是通过第一数据流通道(长连接数据流通道)发送的,发送时机是通信连接建立之后,第一数据流通道是由车辆控制创建,通过第一网络请求来触发获得第一响应消息(例如,携带有道路数据的第一响应消息),从而在后续过程中服务器可以通过第一数据流通道下发响应于第二网络请求的第二响应消息(例如,携带有道路数据的第二响应消息)。
92.在一些实施例中,步骤202中基于通信连接中的第一数据流通道,向服务器发送车辆的第一网络请求,可以通过以下技术方案实现,将车辆的目标位置以及实时位置写入到第一网络请求中;通过第一数据流通道向服务器发送第一网络请求;其中,目标位置以及实时位置用于使服务器获取从实时位置至目标位置的行驶路线,并将行驶路线写入到第一响应消息中。
93.作为示例,车辆与服务器建立通信连接之后,可以将车辆的目标位置以及实时位置写入第一网络请求中,第一网络请求是可以是基于http协议进行传输的请求,车端将第一网络请求写入通信连接中创建的第一数据流通道,车辆通过用户数据报协议(udp,user datagram protocol)端口,基于第一数据流通道向服务器发出第一网络请求,服务器接收到第一网络请求,从中读取到车辆的目标位置以及实时位置,并根据车辆的目标位置以及实时位置查询从实时位置至目标位置的行驶路线,例如,实时位置是地点a,目标位置是地
点b,服务器查询从地点a至地点b的行驶路线,行驶路线有助于生成车辆的行驶指令。
94.作为示例,第一网络请求中还可以携带用于存储在服务器的车辆信息,例如,车辆的行驶速度、车辆的行驶方向等等,从而服务器在响应其他车辆的第一网络请求时,可以以这些车辆信息为参考,生成响应其他车辆的通信连接中第一网络请求的第一响应消息。
95.在步骤203中,服务器根据第一网络请求生成第一响应消息。
96.作为示例中,第一响应消息是根据第一网络请求生成的,携带在对应第一网络请求的第一网络响应中,第一网络请求中可以指定需要获取怎样的响应消息,例如,第一网络请求中携带有实时位置,预设阈值以及指定查询对象,实时位置为地点a,预设阈值为20米,指定查询对象为红绿灯的数据,则第一响应消息中携带有地点a的邻近区域(通过20米来约束)内的实时红绿灯数据。服务器将第一响应消息基于分块编码传输方式封装成分块数据,后续将分块数据写入第一数据流通道进行下发。
97.在一些实施例中,在步骤204中接收服务器基于第一数据流通道返回的第一响应消息之前,还可以执行以下技术方案:接收服务器通过第一数据流通道返回的针对第一网络请求的第四响应消息;其中,第四响应消息是当服务器查询到用于响应第一网络请求的目标数据时发送的,用于提示以下信息:服务器将通过分块传输编码的方式向车辆返回目标数据的分块编码数据;针对将要接收的分块编码数据预先分配缓存。
98.作为示例,服务器接收到第一网络请求后,会查询是否存在用于响应第一网络请求的目标数据,若是查询到目标数据,则将携带目标数据的第一响应消息的数据传输方式设定为分块传输编码,服务器将用于指示数据传输方式的第四响应消息写入通信连接中的第一数据流通道,服务器通过端口,基于第一数据流通道向车辆返回第四响应消息,第四响应消息还用于提示针对将要接收的分块编码数据预先分配缓存,第四响应消息还可以与第一响应消息或者第二响应消息封装为一个消息。通过预先提示车辆针对将要接收的分块编码数据预先分配缓存,可以有效提高后续数据接收效率,从而提高数据传输效率。
99.在步骤204中,车辆接收服务器基于第一数据流通道返回的第一响应消息。
100.在一些实施例中,参见图3d,图3d是本技术实施例提供应用于车辆的通信方法的流程示意图,步骤204中接收服务器基于第一数据流通道返回的第一响应消息,可以通过以下步骤实现。
101.在步骤2041中,车辆接收服务器基于第一数据流通道依次返回的多个分块编码数据。
102.在步骤2042中,车辆将所接收到的多个分块编码数据按照接收顺序进行缓存。
103.在步骤2043中,车辆当接收到结束分块编码数据时,将缓存的分块编码数据进行解码处理,得到第一响应消息。
104.作为示例,由于服务器是通过分块传输编码机制向车端发送事件信息,使用分块传输编码时,待传输数据被分解成一系列数据块,并以一个或多个块顺序发送,这样服务器可以发送数据而不需要预先知道发送数据的总大小,因此车辆接收服务器基于第一数据流通道依次返回的多个分块编码数据,由于预先接收到第四响应信息,从而利用预先分配的缓存,车辆将所接收到的多个分块编码数据按照接收顺序进行缓存,车辆当接收到结束分块编码0数据时,表征分块编码数据传输完毕,则将缓存的分块编码数据进行解码处理,得到第一响应消息。
105.在步骤205中,基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求。
106.作为示例,第一网络请求是通过第一数据流通道(长连接数据流通道)发送的,发送时机是通信连接建立之后,第一数据流通道是由车辆控制创建,通过第一网络请求来触发获得第一响应消息,从而在后续过程中服务器可以通过第一数据流通道下发响应于第二网络请求的第二响应消息,第二网络请求是发送时间晚于第一网络请求的任一请求,即不是一个特定的请求,还可以为第三网络请求或者第四网络请求等等,例如,当确定需要上传车辆的实时位置时,可以通过第二数据流通道(短连接数据流通道)或者其他新创建的数据流通道向服务器发送第二网络请求,第一数据流通道是在发送第一网络请求之前创建的,第二数据流通道是在发送第二网络请求之前创建的。
107.在一些实施例中,步骤205基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求的具体实施方式类似于步骤202的具体实施方式,区别仅在于发送网络请求的数据流通道不一致,步骤202中是通过第一数据流通道(长连接数据流通道)发送的第一网络请求,步骤205中是通过第二数据流通道(短连接数据流通道)发送的第二网络请求,第一网络请求的各种情况适用于第二网络请求,第一数据流通道用于多次下发和首次上传,第二数据流通道主要用于多次上传。
108.在一些实施例中,步骤205中基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求,可以通过以下技术方案实现,当确定需要发送向服务器发送第二网络请求时,创建承载于通信连接中的第二数据流通道;通过第二数据流通道向服务器发送第二网络请求。
109.作为示例,第二数据流通道是短连接数据流通道,即不需要长久保持的数据流通道,上述确定需要发送向服务器发送第二网络请求的条件取决于车辆的具体行驶场景,例如,针对自动驾驶的行驶场景,凡是车辆的位置发生变化的时候需要向服务器发送新的实时位置,以保证车辆可以获取实时有效的第二响应消息,从而确保自动驾驶的安全程度。
110.在一些实施例中,执行步骤205中基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求之前,还可以执行以下技术方案:当满足以下条件至少之一时,确定需要发送第二网络请求:车辆的位置发生变化;车辆偏离已经决策好的行驶路线;车辆需要规避前方的拥堵路段。
111.作为示例,确定车辆的位置发生变化的方式如下:获取车辆上一次向服务器发送车辆的第二网络请求的上一次位置;确定上一次位置与车辆的实时位置之间的距离;当距离超过距离阈值时,确定车辆的位置发生变化。
112.在一些实施例中,步骤205中基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求,可以通过以下技术方案实现:获取向服务器发送车辆的第二网络请求的预置时间间隔;当预置时间间隔大于第一时间阈值时,基于通信连接中的第二数据流通道,按照预置时间间隔向服务器发送车辆的第二网络请求。
113.作为示例,在某种模式下,车辆向服务器发送第二网络请求具有固定时间间隔(预置时间间隔),获取向服务器发送车辆的第二网络请求的预置时间间隔,当预置时间间隔大于第一时间阈值时,第一时间阈值是第二网络请求以及第二响应消息的经验传输时间,即占用第二数据流通道的经验占用时间,例如,当第一时间阈值为5秒时,则默认一次响应过
程中第二数据流通道的占用时间为5秒,若预置时间间隔为7秒,则再次发送第二网络请求时,第二数据流通道已经不被占用,从而可以按照预置时间间隔发送的第二网络请求会保持通过第二数据流通道进行上传,即基于通信连接中的第二数据流通道,按照预置时间间隔向服务器发送车辆的第二网络请求,从而既可以节约数据流通道所占用的虚拟资源,又可以方便数据流通道的管理,避免反复创建数据流通道以及关闭数据流通道。
114.在一些实施例中,当预置时间间隔不大于第一时间阈值时,还可以执行以下技术方案:在基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求的过程中,创建承载于通信连接中的第三数据流通道;通过第三数据流通道向服务器发送第三网络请求。
115.作为示例,承接上述实施例,在某种模式下,车辆向服务器发送第二网络请求具有固定时间间隔(预置时间间隔),获取向服务器发送车辆的第二网络请求的预置时间间隔,当预置时间间隔不大于第一时间阈值时,第一时间阈值是第二网络请求以及第二响应消息的经验传输时间,即占用第二数据流通道的经验占用时间,例如,当第一时间阈值为5秒时,则默认一次响应过程中第二数据流通道的占用时间为5秒,若预置时间间隔为3秒,则再次发送第二网络请求(第三网络请求)时,第二数据流通道已经被占用,从而需要创建第三数据流通道,则创建承载于通信连接中的第三数据流通道,通过第三数据流通道向服务器发送第三网络请求,则相当于第三网络请求和第二网络请求从传输时间上来看是存在重叠的,从而充分利用了通信连接中创建多个数据流的功能,保证了数据传输效率。
116.在步骤206中,服务器根据第二网络请求生成第二响应消息。
117.作为示例,第二响应消息是根据第二网络请求生成的,携带在对应第二网络请求的第二网络响应中,步骤206中服务器根据第二网络请求生成第二响应消息的实施方式可以参考步骤203中服务器根据第一网络请求生成第一响应消息的实施方式。
118.在步骤207中,车辆接收服务器基于第一数据流通道返回的第二响应消息。
119.作为示例,第一响应消息和第二响应消息中携带的数据均是用于生成车辆的行驶指令,例如,第一响应消息和第二响应消息中可以携带有行驶路线,从而在自动驾驶的应用场景中车辆可以根据行驶路线生成硬件控制指令,以控制车辆按照行驶路线行驶。
120.在一些实施例中,步骤207中接收服务器基于第一数据流通道返回的第二响应消息,可以通过以下技术方案实现:从向服务器发送车辆的第二网络请求开始计时;当计时时间不超过第二时间阈值时,接收服务器基于第一数据流通道返回的多个第二响应消息;其中,多个第二响应消息为根据第二网络请求在计时时间内生成的响应消息。
121.作为示例,由于车辆在行驶过程中实时位置在不断变化,但是变化幅度较少时可以默认车辆在某个尺度上位置并未发生根本改变,从向服务器发送车辆的第二网络请求开始计时,当计时时间不超过第二时间阈值时,则认为车辆位置并未发生较大改变,即服务器默认在第二时间阈值内车辆的位置并未发生较大变化,从而服务器在计时时间内会持续获取与车辆发送的第二网络请求适配的第二响应消息,相当于在一个时间段内,车辆可以接收服务器基于第一数据流通道返回的多个第二响应消息,其中,多个第二响应消息为根据第二网络请求在计时时间内生成的响应消息,而不是仅响应于某次第二网络请求,返回一次第二响应消息,通过上述实施方式,可以为车辆提供更加丰富的第二响应消息,且不必频繁上传第二网络请求,从而节约了数据传输的资源消耗以及时间消耗。
122.在步骤208中,关闭第二数据流通道。
123.作为示例,第二数据流通道由车辆控制关闭。
124.在一些实施例中,步骤208中关闭第二数据流通道,可以通过以下技术方案实现:当发送完成第二网络请求时,关闭第二数据流通道。
125.在一些实施例中,上述当发送完成第二网络请求时,关闭第二数据流通道,可以通过以下技术方案实现:当发送完成第二网络请求,且接收到服务器针对第二网络请求返回的第三响应消息时,响应于第三响应消息,关闭第二数据流通道;其中,第三响应消息用于指示关闭第二数据流通道。
126.作为示例,第二数据流通道属于短连接数据流通道,可以在接收到来自服务器的响应消息之后之间关闭,即当发送完成第二网络请求,且接收到服务器针对第二网络请求返回的第三响应消息时,响应于用于指示关闭第二数据流通道的第三响应消息,关闭第二数据流通道,通过上述实施方式可以简化第二数据流通道的管理,提高第二数据流通道的管理效率。
127.在一些实施例中,步骤208中关闭第二数据流通道,可以通过以下技术方案实现:基于车辆的历史网络请求的记录,确定第二数据流通道的保持时间;其中,历史网络请求是先于第一网络请求发送的;从发送完成第二网络请求开始计时,在保持时间内保持第二数据流通道;当计时达到保持时间,且第二数据流通道仍然为空闲时,关闭第二数据流通道。
128.作为示例,第二数据流通道属于短连接数据流通道,短连接数据流通道可以保持一段时间再关闭,基于车辆的历史网络请求的记录,确定第二数据流通道的保持时间,历史网络请求是先于第一网络请求发送的,即具有参考意义的网络请求,可以是来自于其他车辆的其他通信连接中的第一网络请求或者第二网络请求,从发送完成第二网络请求开始计时,在保持时间内保持第二数据流通道,当计时达到保持时间,且第二数据流通道仍然为空闲时,则关闭第二数据流通道,当计时达到保持时间,且第二数据流通道为占用时,则不关闭第二数据流通道,通过上述实施方式可以减少数据流通道的创建次数,尽可能多使用已经创建的数据流通道,从而节约用于创建数据流通道所消耗的虚拟资源以及时间。
129.在一些实施例中,上述基于车辆的历史网络请求的记录,确定第二数据流通道的保持时间,可以通过以下技术方案实现:从车辆的历史网络请求的记录中,提取多个历史网络请求的发送时间,以确定相邻的历史网络请求的发送时间间隔;将发送时间间隔确定为保持时间;其中,发送时间间隔的类型包括:最大发送时间间隔,平均发送时间间隔,最小发送时间间隔。
130.作为示例,保持时间可以基于发送时间间隔进行进一步的修正,例如,针对于宽松的保持方式,则发送时间间隔的修改系数大于修改系数阈值,针对严格的保护方式,则发送时间间隔的修改系数大于修改系数阈值,或者发送时间间隔的修改系数可以基于车辆的通信网络质量(例如,信道上行下行速率)、信号强度来综合决定,其中,通信网络质量越好(信道上行下行速率越快)和/或信号强度越高,则可以采用宽松的保持方式;通信网络质量越差(信道上行下行速率越慢)和/或信号强度越低,则可以采用宽松的保持方式,通常通信网络质量与信号强度的变化趋势相同。
131.在一些实施例中,上述基于车辆的历史网络请求的记录,确定第二数据流通道的保持时间,可以通过以下技术方案实现:获取车辆的实时行车环境数据和实时行车状态数
据,以提取出车辆的实时行车环境特征和实时行车状态特征;调用神经网络模型,以基于实时行车环境特征和实时行车状态特征预测发送时间间隔,以作为第二数据流通道的保持时间;其中,神经网络模型的训练样本包括行车环境数据和行车状态数据,训练样本的标注数据包括行车过程中发送的历史网络请求的发送时间间隔,历史网络请求的发送时间间隔是从车辆的历史网络请求的记录提取得到的。
132.作为示例,还可以通过人工智能的方式预测发送时间间隔,以作为第二数据流通道的保持时间,通过训练样本训练神经网络模型,训练样本包括行车环境数据和行车状态数据,训练样本的标注数据包括行车过程中发送的历史网络请求的发送时间间隔,历史网络请求的发送时间间隔是从车辆的历史网络请求的记录提取得到的,直接通过神经网络模型基于实时行车环境特征和实时行车状态特征预测发送时间间隔,从而可以提高实施例中控制逻辑的智能程度,减少人工干预,通过真实可验的历史数据来确定可靠的保持时间,从而既实现了数据高效传输又有效节约数据流通道创建关闭所消耗的资源。
133.下面,将说明本技术实施例提供的应用于车辆的通信方法在一个基于云技术的应用场景中的示例性应用。
134.本技术实施例提供的应用于车辆的通信方法可应用于面向智能网联车辆的车路协同业务,车路协同业务可进一步增强自动驾驶业务及车联网业务的能力,本技术实施例提供的应用于车辆的通信方法所提供的功能部署在位于v2x网络边缘位置的云主机及智能网联车辆端,使得智能网联车辆可在运动过程中从云主机获取实时有效的道路感知信息。
135.本技术实施例提供的应用于车辆的通信方法可以使智能网联车辆与云主机进行高效的长连接数据交互,从而降低云主机的资源消耗,并简化车辆与云主机之间的交互流程,该系统由智能网联车辆中的车端通信模块(部署于车辆)及云主机(相当于服务器)中的云端通信模块构成,其中车端通信模块负责将车端信息(例如,车辆速度、方向、位置等信息)上报至云主机,并从云主机获取云端信息(例如,周边道路的车辆及行人情况等)。车端通信模块与云端通信模块之间通过http/3协议进行数据交互,车端与云端的quic连接(conne ction)中建立多个数据流通道(stream 0),其中一个数据流以http长连接方式工作,用于云端向车端发送信息,其余的数据流以http短连接工作,用于车端向云端发送信息,云端通信模块将实时生成的道路数据分块传输编码的方式发送至车端,车端通信模块则将网络请求(网络请求可以包括车端信息)通过数据上传的方式发送至云主机,完成上传后,则关闭数据流,当有新数据发送时,则建立一个新数据流通道进行上传。
136.在一些实施例中,云端通信模块将实时生成的道路数据分块传输编码的方式发送至车端可以通过以下方案实现,云端通信模块通过http/1.1中的分块传输编码机制向车端发送事件信息,http分块传输编码允许云端通信模块为动态生成的内容维持http长连接,长连接需要云端通信模块在开始发送消息体前发送content-length消息头字段,但是对于动态生成的内容来说,在内容创建完之前是不可知的,使用分块传输编码时,数据分解成一系列数据块,并以一个或多个块发送,这样云端通信模块可以发送数据而不需要预先知道发送内容的总大小,当车端向云端通信模块发出请求时,云端通信模块在响应消息的http消息的头部中设置传输编码(transfer-encoding)的值为分块(chunked),表示采用分块传输编码,车端收到该信息后,便和云端通信模块长期维持该连接,并等待下一个数据块。
137.参见图4,图4是本技术实施例提供的应用于车辆的通信方法的系统架构图,该系
统架构中包括:车端处理模块(部署于车辆)、云端处理模块(部署于云主机)以及云主机调度服务器,模块之间通过http/3连接完成数据交互,其中车端处理模块包含了道路感知信息接收功能,车辆信息上报功能及连接管理功能,云端处理模块包含了车辆信息接收功能,道路感知信息下发功能及连接管理功能,车端处理模块及云端处理模块之间建立了一条双向数据连接,该数据连接基于http/3协议进行工作,http/3连接的建立依赖于快速用户数据报协议(udp,user datagram protocol)互联网传输连接(quic,quick udp internet connection),即quic协议实际上是基于udp协议实现数据传输。
138.在一些实施例中,车端处理模块首先从云主机调度服务器获取云主机的网际互连协议(ip,internet protocol)地址及工作端口,接着,车端处理模块向云主机发起quic连接请求,并将该连接编号为connection 0,quic连接建立完成后,车端处理模块创建数据流通道stream 0,并通过该数据流向云主机发出http/3请求,该请求可以包含车端当前的位置信息,也可以不包含车端当前的位置信息,例如直接在请求中指示期待获取的某个位置的道路数据等等,云主机从数据流通道stream 0获取http/3请求内容,并从中提取车辆位置信息,云主机确认可以处理该请求后(查询到用于响应该请求的响应消息),产生一个http/3响应,并通过数据流通道stream 0返回至车端处理模块,该响应被封装成quic数据帧,然后以udp数据包的形式通过v2x网络发向车端处理模块,车端处理模块收到云主机返回的http/3响应帧后,即完成了双方之间的基于长连接的数据流建立,云主机返回的http/3响应中指示,云主机将以分块传输编码的方式向车端处理模块发送道路感知信息,因此车端将通过数据流通道stream 0从云主机处不断获得道路感知信息数据。
139.在一些实施例中,车端处理模块与云主机完成基于长连接的数据流建立后,可以固定时间间隔(例如,500ms)向云主机上报实时位置,车端处理模块以独立的数据流向云主机发送位置信息,车端处理模块仍旧保持通过数据流通道stream 0从云主机获取道路感知信息,当需要上报位置信息时,例如,位置信息发生明显改变,或者是距离上一次上报位置信息间隔了一段时间,车端创建一个新的数据流,例如,stream 1或者是stream 2(分别对应不同的http/3数据传输连接),并通过该数据流向云主机发出的新的http/3请求,该请求可以包含车辆位置信息。
140.云主机在新创建的数据流上接收到http/3请求后,提取其中的车辆位置信息,接着通过该数据流向车端处理模块返回http/3响应,该响应提示云主机接收到了车辆位置信息,并告知车端处理模块收到http/3响应后,立即关闭该数据流,云主机获取到车辆最新位置信息后,将通过数据流通道stream 0向车端处理模块发送根据最新位置信息产生的道路感知信息。
141.在一些实施例中,参见图5,图5是本技术实施例提供的应用于车辆的通信方法的数据传输示意图,车辆的车端处理模块向云主机调度服务器请求获取云主机的ip地址,云主机调度服务器向车辆返回云主机ip地址,车辆发起建立quic连接的请求,并将所请求的连接编号设定为0,即通信连接connection0,云主机通过udp端口读取到对应通信连接connection 0中的quic连接请求,云主机返回quic连接响应,以表征接受车端的连接请求,车端将http/3请求写入通信连接connection 0中的某个数据流,并将其编号设定为0,即数据流通道stream 0(对应前文的第一数据流),车端通过udp端口向云主机发出http/3请求(第一网络请求),该请求被封装在数据流通道stream 0中,云主机从数据流通道stream 0
中读取http/3请求,以从http/3请求中读取车辆的实时位置,云主机产生http/3响应(第四响应消息),并将数据传输方式设定为分块传输编码,云主机将http/3响应写入通信连接connection 0中的数据流通道stream 0,云主机通过udp端口,向车端返回数据流通道stream 0,并且云主机根据http/3请求中的车辆位置,生成道路感知信息,并封装成分块数据,云主机将分块数据(携带在第一响应消息中)写入数据流通道stream0,车辆读取云主机返回的数据流通道stream 0,以从中读取http/3响应,且车辆接收到云主机返回的分块数据,并提取其中的道路感知信息,车辆产生新的位置信息,从而车辆产生新http/3请求(第二网络请求),并将新位置信息写入其中,车端通过udp端口,向云主机发出新http/3请求,该请求被封装在数据流通道stream 1(第二数据流通道),云主机通过udp端口,读取到通信连接connection 0中的数据流通道stream 1,云主机从数据流通道stream 1中读取http/3请求,以从http/3请求中读取车辆位置信息,云主机再次产生http/3响应(第三响应消息),并将其写入通信连接connection 0中的数据流通道stream 1,云主机通过udp端口,返回数据流通道stream 1数据流,车辆读取云主机返回的数据流通道stream 1,并从中读取http/3响应,车辆关闭数据流通道stream 1,云主机根据车辆最新位置,生成道路感知信息,并封装成分块数据,云主机将分块数据(携带在第二响应消息)写入connection 0中的数据流通道stream 0,车辆接收到云主机返回的分块数据,并提取其中的道路感知信息。
142.通过本技术实施例提供的应用于车辆的通信方法,可面向智能网联车辆中的车路协同业务提供高效的道路感知信息推送服务,由于采用了基于udp的h ttp/3协议进行数据传输,云主机的资源消耗被大大降低,在同等车辆连接数的情况下,通过车辆与服务器之间的通信连接中的多个数据流,车辆将网络请求上传至服务器,并通过相同通信连接中的固定数据流将对应的响应消息由服务器下发至车辆,从而实现了相同通信连接中基于多数据流的数据传输,有效节约了每次数据传输建立不同通信连接导致的通信资源消耗以及时间消耗,提高了通信资源利用率以及数据传输效率,因此车辆位置实时更新产生的数据传输开销也得到有效控制。
143.下面继续说明本技术实施例提供的应用于车辆的通信装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的应用于车辆的通信装置455中的软件模块可以包括:连接模块4551,用于建立车辆与服务器之间的通信连接;通信模块4552,用于基于通信连接中的第一数据流通道,向服务器发送车辆的第一网络请求,以接收服务器基于第一数据流通道返回的第一响应消息;通信模块4552,还用于基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求,以接收服务器基于第一数据流通道返回的第二响应消息;管理模块4553,用于关闭第二数据流通道;其中;第二网络请求是发送时间晚于第一网络请求的请求,第一响应消息和第二响应消息用于生成车辆的行驶指令。
144.在一些实施例中,通信模块4552,还用于:响应于车辆与服务器之间的通信连接的建立,创建承载于通信连接中的第一数据流通道;通过第一数据流通道向服务器发送第一网络请求;其中,第一数据流通道在空闲时仍然被保持。
145.在一些实施例中,通信模块4552,还用于:当确定需要发送向服务器发送第二网络请求时,创建承载于通信连接中的第二数据流通道;通过第二数据流通道向服务器发送第二网络请求;管理模块4553,还用于:当发送完成第二网络请求时,关闭第二数据流通道。
146.在一些实施例中,基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求之前,通信模块4552,还用于:当满足以下条件至少之一时,确定需要发送第二网络请求:车辆的位置发生变化;车辆偏离已经决策好的行驶路线;车辆需要规避前方的拥堵路段。
147.在一些实施例中,管理模块4553,还用于:当发送完成第二网络请求,且接收到服务器针对第二网络请求返回的第三响应消息时,响应于第三响应消息,关闭第二数据流通道;其中,第三响应消息用于指示关闭第二数据流通道。
148.在一些实施例中,管理模块4553,还用于:基于车辆的历史网络请求的记录,确定第二数据流通道的保持时间;其中,历史网络请求是先于第一网络请求发送的;从发送完成第二网络请求开始计时,在保持时间内保持第二数据流通道;当计时达到保持时间,且第二数据流通道仍然为空闲时,关闭第二数据流通道。
149.在一些实施例中,管理模块4553,还用于:从车辆的历史网络请求的记录中,提取多个历史网络请求的发送时间,以确定相邻的历史网络请求的发送时间间隔;将发送时间间隔确定为保持时间;其中,发送时间间隔的类型包括:最大发送时间间隔,平均发送时间间隔,最小发送时间间隔。
150.在一些实施例中,管理模块4553,还用于:获取车辆的实时行车环境数据和实时行车状态数据,以提取出车辆的实时行车环境特征和实时行车状态特征;调用神经网络模型,以基于实时行车环境特征和实时行车状态特征预测发送时间间隔,以作为第二数据流通道的保持时间;其中,神经网络模型的训练样本包括行车环境数据和行车状态数据,训练样本的标注数据包括行车过程中发送的历史网络请求的发送时间间隔,历史网络请求的发送时间间隔是从车辆的历史网络请求的记录提取得到的。
151.在一些实施例中,通信模块4552,还用于:将车辆的实时位置写入到第一网络请求中;通过第一数据流通道向服务器发送携带实时位置的第一网络请求;其中,实时位置用于使服务器查询与实时位置适配的道路数据,并将道路数据写入到第一响应消息中。
152.在一些实施例中,通信模块4552,还用于:将车辆的目标位置以及实时位置写入到第一网络请求中;通过第一数据流通道向服务器发送第一网络请求;其中,目标位置以及实时位置用于使服务器获取从实时位置至目标位置的行驶路线,并将行驶路线写入到第一响应消息中。
153.在一些实施例中,通信模块4552,还用于:接收服务器基于第一数据流通道依次返回的多个分块编码数据;将所接收到的多个分块编码数据按照接收顺序进行缓存;当接收到结束分块编码数据时,将缓存的分块编码数据进行解码处理,得到第一响应消息。
154.在一些实施例中,接收服务器基于第一数据流通道返回的第一响应消息之前,通信模块4552,还用于:接收服务器通过第一数据流通道返回的针对第一网络请求的第四响应消息;其中,第四响应消息是当服务器查询到用于响应第一网络请求的目标数据时发送的,用于提示以下信息:服务器将通过分块传输编码的方式向车辆返回目标数据的分块编码数据;针对将要接收的分块编码数据预先分配缓存。
155.在一些实施例中,通信模块4552,还用于:获取向服务器发送车辆的第二网络请求的预置时间间隔;当预置时间间隔大于第一时间阈值时,基于通信连接中的第二数据流通道,按照预置时间间隔向服务器发送车辆的第二网络请求。
156.在一些实施例中,当预置时间间隔不大于第一时间阈值时,通信模块4552,还用于:在基于通信连接中的第二数据流通道,向服务器发送车辆的第二网络请求的过程中,创建承载于通信连接中的第三数据流通道;通过第三数据流通道向服务器发送第三网络请求。
157.在一些实施例中,通信模块4552,还用于:从向服务器发送车辆的第二网络请求开始计时;当计时时间不超过第二时间阈值时,接收服务器基于第一数据流通道返回的多个第二响应消息;其中,多个第二响应消息为根据第二网络请求在计时时间内生成的响应消息。
158.在一些实施例中,连接模块4551,还用于:获取服务器的网络地址;基于服务器的网络地址发送通信连接建立请求,以使服务器向车辆返回对应通信连接建立请求的连接响应;其中,连接响应用于提示服务器已经接受车辆的通信连接建立请求。
159.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的应用于车辆的通信方法。
160.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的应用于车辆的通信方法,例如,如图3a-3d示出的应用于车辆的通信方法。
161.本技术实施例提供一种车辆,例如可以是采用电能、燃油以及各种混合动力的车辆,例如电动自动车、电动汽车、燃油汽车等,其中设置有本技术实施例提供的应用于车辆的通信装置,应用于车辆的通信装置可以采用硬件方式实施,例如,可以是采用硬件译码的方式集成了应用于车辆的通信方法的处理器;也可以是采用软件方式实施,例如可以电子地图程序/模块/插件、自动驾驶程序/模块/插件等。
162.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
163.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
164.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
165.综上所述,通过本技术实施例中车辆与服务器之间的通信连接中的多个数据流,车辆将网络请求上传至服务器,并通过相同通信连接中的固定数据流将对应的响应消息由服务器下发至车辆,从而实现了相同通信连接中基于多数据流的数据传输,有效节约了每次数据传输建立不同通信连接导致的通信资源消耗以及时间消耗,提高了通信资源利用率以及数据传输效率。
166.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本申
请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1