System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于通信,尤其涉及一种通信管理方法、装置、设备、存储介质及车辆。
技术介绍
1、通常,以太网状态管理器可以包括offline、wait_trcvlink、wait_online、online、wait_offline等五种子状态。在接收到通信请求之前,以太网状态管理器可以处于offline状态。在接收到通信请求之后,即可以激活网卡,进入等待链路激活wait_trcvlink状态,在链路状态就绪后即可以进入等待协议栈激活wait_online状态,协议栈激活之后即可以进入通信开启online状态。若需要关闭通信,则可以等待协议栈关闭。等待协议栈关闭可以对应wait_offline状态。上述网络状态管理方法通常默认链路不会发生故障。而现实生活中,由于线路老化、车辆颠簸、交通事故等原因均可能导致通信链路出现短暂断连甚至损坏。
2、但是,在现有技术中,即使在通信链路已经断开的情况下,协议栈仍然在收发数据,从而导致数据丢失和资源浪费,进而降低通信效率。
技术实现思路
1、本申请实施例提供了一种通信管理方法、装置、设备、存储介质及车辆,能够提高通信效率。
2、第一方面,本申请实施例提供了一种通信管理方法,该方法包括:
3、接收网络状态管理模块发送的第一指令,所述第一指令由所述网络状态管理模块在通信链路断开的情况下生成;
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、所述处理器执行所述计算机程序指令时实现上述第一方面和第二方面中任一种可能的实现方法中的方法。
42、第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述第一方面和第二方面中任一种可能的实现方法中的方法。
43、第七方面,本申请实施例提供了一种车辆,该车辆包括以下至少一项:
44、如第三方面的任一项实施例中的通信管理装置;
45、如第四方面的任一项实施例中的通信管理装置;
46、如第五方面的任一项实施例中的电子设备;
47、如第六方面的任一项实施例中的计算机可读存储介质。
48、在本申请实施例的通信管理方法、装置、设备、存储介质及车辆中,在通信链路断开的情况下,若协议栈仍然向网卡抽象层发送数据包,则会导致数据包的丢失。因此,通过在通信链路断开的情况下,关闭协议栈与网卡抽象层之间的通信,能够将协议栈中的数据包暂时存储在协议栈中,从而能够减少协议栈与网卡抽象层之间传输的数据包的丢失。由于已经关闭协议栈与网卡抽象层之间的通信,因此,若协议栈与上层应用之间仍存在通信事件,则上层应用传输至协议栈的数据可以暂时存储在协议栈中。如此,通过在协议栈与上层应用之间不存在通信事件的情况下关闭协议栈,能够减少协议栈与上层应用之间传输的数据的丢失。另一方面,若协议栈与上层应用之间已不存在通信事件而仍不关闭协议栈,则会造成资源浪费。因此,通过在协议栈与上层应用之间已不存在通信事件的情况下关闭协议栈,能够在本文档来自技高网...
【技术保护点】
1.一种通信管理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述检测所述协议栈与上层应用之间是否存在通信事件,包括:
3.根据权利要求1所述的方法,其特征在于,所述检测所述协议栈与上层应用之间是否存在通信事件,还包括:
4.根据权利要求1所述的方法,其特征在于,所述在不存在所述通信事件的情况下,关闭所述协议栈,包括:
5.一种通信管理方法,其特征在于,包括:
6.根据权利要求5所述的方法,其特征在于,所述在所述链路状态信息表征通信链路断开的情况下,生成第一指令,包括:
7.根据权利要求6所述的方法,其特征在于,所述向协议栈发送所述第一指令之后,所述方法还包括:
8.根据权利要求6所述的方法,其特征在于,所述向协议栈发送所述第一指令之后,所述方法还包括:
9.一种通信管理装置,其特征在于,所述装置包括:
10.一种通信管理装置,其特征在于,所述装置包括:
11.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-8任意一项所述的通信管理方法。
13.一种车辆,其特征在于,包括至少以下一种:
...【技术特征摘要】
1.一种通信管理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述检测所述协议栈与上层应用之间是否存在通信事件,包括:
3.根据权利要求1所述的方法,其特征在于,所述检测所述协议栈与上层应用之间是否存在通信事件,还包括:
4.根据权利要求1所述的方法,其特征在于,所述在不存在所述通信事件的情况下,关闭所述协议栈,包括:
5.一种通信管理方法,其特征在于,包括:
6.根据权利要求5所述的方法,其特征在于,所述在所述链路状态信息表征通信链路断开的情况下,生成第一指令,包括:
7.根据权利要求6所述的方法,其特征在于,所述向协...
【专利技术属性】
技术研发人员:秦枫,
申请(专利权)人:北京罗克维尔斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。