System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件,尤其涉及一种数据通信装置、方法、系统及智能车辆。
技术介绍
1、随着智能车辆的快速发展,智能车辆中的不同功能(如自动驾驶、智能座舱、车路协同等),需要在不同域之间进行高效的通信,比如动力域(引擎、电池)、底盘域(悬挂、制动系统)、车身域(电子电器系统)、智驾域(感知、决策、控制系统)等域之间进行高效的通信。为了实现智能车辆中的不同功能在不同域之间高效的通信(即跨域通信),通常采用基于以太网的面向服务体系结构(英文全称:service-orientedarchitecture,简称为:soa)的架构进行跨域通信。
2、在基于soa进行跨域通信时,通常将传输控制协议(英文全称:transmissioncontrol protocol,简称为:tcp)作为跨域通信过程中的通信协议。
3、基于tcp的soa跨域通信过程中,当智能车辆中属于a域的客户端(client)在向属于b域的服务端(server)发送通信数据时,首先从内存系统中申请存放该通信数据的头部数据(header)的第一内存,并从内存系统中申请存放该通信数据的有效载荷(payload)的第二内存。然后,将header拷贝至第一内存,将payload拷贝至第二内存。接着,从内存系统中申请第三内存,并将第一内存中的数据以及第二内存中的数据拷贝至第三内存。再向server发送第三内存中的数据。
4、因此,在基于tcp的soa跨域通信的发送过程中,存在多次内存分配与多次数据拷贝。而发送过程中的多次内存分配与多次数据拷贝,就会导致通信
技术实现思路
1、本申请提供了一种数据通信装置、方法、系统及智能车辆,用以解决soa跨域通信的发送过程中,存在的多次内存分配与多次数据拷贝所导致的通信耗时长以及通信吞吐量低的问题。具体实现方案如下:
2、第一方面,本申请提供了一种数据通信装置,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
3、基于待发送的通信数据,判断内存池中的第一存储层中空闲的存储空间的总个数是否大于等于所述通信数据所需求的存储空间的个数;其中,所述通信数据包含头部数据与有效载荷;
4、若是,则基于一次内存申请方式,从所述第一存储层中申请n个空闲的存储空间;将所述通信数据存放到n个空闲的存储空间中;向接收端发送n个空闲的存储空间中的数据;其中,n为大于等于1的整数,且n表征所述通信数据所需求的存储空间的个数;
5、若否,则基于所述一次内存申请方式,从所述第一存储层中申请j个空闲的存储空间以及从所述内存池中的第二存储层中申请k个空闲的存储空间;将所述通信数据存放到j个空闲的存储空间与k个空闲的存储空间中;向所述接收端发送j个空闲的存储空间与k个空闲的存储空间中的数据;其中,j与k之和为n。
6、通过上述申请实施例,在基于待发送的通信数据,确定内存池中的第一存储层中空闲的存储空间的总个数大于等于n时,基于一次内存申请方式,直接从第一存储层中申请n个空闲的存储空间,或者在基于待发送的通信数据,确定内存池中的第一存储层中空闲的存储空间的总个数小于n时,基于一次内存申请方式,直接从第一存储层中申请j个空闲的存储空间以及从内存池中的第二存储层中申请k个空闲的存储空间,且j与k之和为n。因此,可以一次性的从内存池中申请足够数量的存储空间,并且所申请的存储空间可以满足待发送的通信数据的需求,从而避免了现有技术中的通信数据的发送过程中需要多次内存分配的问题,使得发送过程中的通信耗时得以减少以及通信吞吐量得以提高。进一步,将待发送的通信数据存放到申请的存储空间中,再向接收端发送该存储空间中的数据。相比于现有技术中的通信数据的发送过程中需要多次数据拷贝,上述申请实施例只需要一次数据拷贝(即将通信数据存放到存储空间中),即可实现通信数据的发送,进一步地减少了soa跨域通信的发送过程中的通信耗时,并提高了通信吞吐量,进而使得智能汽车用户体验得以提高。
7、在一种可能的实施方式中,所述处理器具体被配置为执行:
8、若确定所述第一存储层中空闲的存储空间的总个数小于第一预设阈值,则从内存系统中申请m个存储空间到所述第二存储层中;其中,所述第一预设阈值为大于等于1的整数,m为正整数;
9、若确定所述第二存储层中的存储空间的总个数等于第二预设阈值,则从所述内存系统中申请h个存储空间到所述内存池中的第三存储层中;其中,h为正整数。
10、通过上述申请实施例,在确定第一存储层中空闲的存储空间的总个数小于第一预设阈值后,从内存系统中申请m个存储空间到第二存储层中;在确定第二存储层中存储空间的总个数等于第二预设阈值时,即,在确定第二存储层中的存储空间的个数达到上限时,从内存系统中申请h个存储空间到内存池中的第三存储层中,以确保内存池中一直存在空闲的存储空间可以被使用,同时,以便于更好地对内存池中的存储空间进行管控。
11、在一种可能的实施方式中,所述处理器具体被配置为执行:
12、确定所述有效载荷的长度;
13、基于所述有效载荷的长度与所述内存池中的存储空间的预设容量,计算所述通信数据所需求的存储空间的个数。
14、通过上述申请实施例,根据确定出的有效载荷的长度与内存池中的存储空间的预设容量,确定出了通信数据所需求的存储空间的个数,以便于后续从内存池中实际申请的存储空间的个数即为通信数据所需求的存储空间的个数,避免了申请的存储空间的个数不足时,再次申请存储空间,从而进一步地减少了基于tcp的soa跨域通信的发送过程中的通信耗时;同时避免了申请的存储空间的个数过多导致的内存资源的浪费,从而使得内存资源得以合理利用。
15、在一种可能的实施方式中,所述内存池中的存储空间包括第一类存储空间与第二类存储空间,所述第一类存储空间用于存放所述头部数据,所述第二类存储空间用于存放所述有效载荷,所述处理器具体被配置为执行:
16、从所述第一存储层中申请一个空闲的所述第一类存储空间与l个空闲的所述第二类存储空间;其中,l与1之和为n;或者
17、从所述第一存储层中申请一个空闲的所述第一类存储空间与g个空闲的所述第二类存储空间,以及从所述内存池中的所述第二存储层中申请k个空闲的所述第二类存储空间;或者,从所述第二层存储空间中申请一个空闲的所述第一类存储空间与l个空闲的所述第二类存储空间;其中,g与1之和为j。
18、通过上述申请实施例,将存储空间分为用于存放头部数据的第一类存储空间与用于存放有效载荷的第二类存储空间。由于头部数据所需要的容量通常小于有效载荷所需要的容量。因此,从内存池中分别申请用于存放头部数据的第一类存储空间与用于存放有效载荷的第二类存储空间,可以避免将头部数据单独存放在一个存储空间中时所造成的资源浪费,从而使得资源得以合理利用。
19、在一种可能的实本文档来自技高网...
【技术保护点】
1.一种数据通信装置,其特征在于,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
2.如权利要求1所述的装置,其特征在于,所述处理器具体被配置为执行:
3.如权利要求1所述的装置,其特征在于,所述内存池中的存储空间包括第一类存储空间与第二类存储空间,所述第一类存储空间用于存放所述头部数据,所述第二类存储空间用于存放所述有效载荷,所述处理器具体被配置为执行:
4.如权利要求1所述的装置,其特征在于,所述处理器具体被配置为执行:
5.一种数据通信装置,其特征在于,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
6.一种数据通信方法,其特征在于,包括:
7.如权利要求6所述的方法,其特征在于,在所述基于待发送的通信数据,判断内存池中的第一存储层中空闲的存储空间的总个数是否大于等于所述通信数据所需求的存储空间的个数之前,还包括:
8.如权利要求6所述的方法,其特征在于,所
9.如权利要求6所述的方法,其特征在于,在所述向所述接收端发送J个空闲的存储空间与K个空闲的存储空间中的数据之后,还包括:
10.一种数据通信方法,其特征在于,包括:
11.一种数据通信系统,其特征在于,包括:发送端与接收端;
12.一种智能车辆,其特征在于,所述智能车辆包括如权利要求1-5中任一项所述的装置。
13.一种电子设备,其特征在于,包括:
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求6-10中任一项所述的方法步骤。
...【技术特征摘要】
1.一种数据通信装置,其特征在于,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
2.如权利要求1所述的装置,其特征在于,所述处理器具体被配置为执行:
3.如权利要求1所述的装置,其特征在于,所述内存池中的存储空间包括第一类存储空间与第二类存储空间,所述第一类存储空间用于存放所述头部数据,所述第二类存储空间用于存放所述有效载荷,所述处理器具体被配置为执行:
4.如权利要求1所述的装置,其特征在于,所述处理器具体被配置为执行:
5.一种数据通信装置,其特征在于,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
6.一种数据通信方法,其特征在于,包括:
7.如权利要求6所述的方法,其特征在于,在所述基于待发送的通信数据,判断内存池中的第一存储层中空闲的存储空间的总个数是否大...
【专利技术属性】
技术研发人员:程梦娇,李喆武,
申请(专利权)人:上海集度汽车有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。