产学研创新服务平台(全国)
专利申请类型:实用新型专利;专利名称:一种车载容器间的通信方法、装置、车辆和电子设备
专利类型:实用新型专利
专利申请号:CN202211187301.0
专利申请(专利权)人:国科础石(重庆)软件有限公司
权利人地址:重庆市沙坪坝区虎溪街道景阳路37号3幢13-5至13-20
专利发明(设计)人:邓停东,陈永波
专利摘要:本公开涉及一种车载容器间的通信方法、装置、车辆和电子设备,包括:第一代理节点获取至少一个第一容器应用发送的应用信息;所述第一代理节点通过通信中间件与其他代理节点构建管理通道;通过所述管理通道,所述第一代理节点与所述其他代理节点交互各自获取的所述应用信息;所述第一代理节点根据交互获取所述其他代理节点对应的应用信息,确定与所述第一容器应用相匹配的第二容器应用,所述第二容器应用为与第二代理节点相对应的容器应用;所述第一容器应用通过所述通信中间件建立与所述第二容器应用的数据传输通道。本公开能够实现车载容器应用之间的快速且稳定的数据传输,降低对现有组网的侵入,统一传输路径的规则配置,便于管理。
主权利要求:
1.一种车载容器间的通信方法,其特征在于,包括:
第一代理节点获取至少一个第一容器应用发送的应用信息,所述应用信息包括应用参与者信息和应用端点信息;
所述第一代理节点通过通信中间件与其他代理节点构建管理通道;
通过所述管理通道,所述第一代理节点与所述其他代理节点交互各自获取的所述应用信息;
所述第一代理节点根据交互获取所述其他代理节点对应的应用信息,确定与所述第一容器应用相匹配的第二容器应用,所述第二容器应用为与第二代理节点相对应的容器应用;
所述第一容器应用通过所述通信中间件建立与所述第二容器应用的数据传输通道,包括:根据所述第一容器应用的应用信息,配置所述第一容器应用的策略路由;通知所述第一容器应用,所述第一代理节点获取所有所述应用参与者信息,根据所述通信中间件基于所述策略路由建立与所述第二容器应用的数据传输通道,使不同主题在链路层、网络层和应用层拥有一致的优先级和确定调度;
其中,在所述第一代理节点设置对应于所述第一容器应用的心跳监测进程;通过所述心跳监测进程监测所述第一容器应用的心跳状态,根据所述心跳状态判断所述第一容器应用和所述第一代理节点之间的连接状态;在所述第一容器应用的心跳不响应时,认定所述第一容器应用与所述第一代理节点断链,释放所述第一容器应用与所述第一代理节点的连接关系;
在所述数据传输通道建立后,还包括:所述第一容器应用通知所述第一代理节点所述数据传输通道已建立;所述第一代理节点通知时间队列管理模块对待调度数据帧进行优先级配置,确定每个所述待调度数据帧的帧序列,包括:根据所述时间队列管理模块对所述第一容器应用和第二容器应用进行时间同步;配置每个待调度数据帧的时间窗口,通过所述时间窗口对所述待调度数据帧进行时间调度;根据所述第一代理节点配置所述待调度数据帧的抢占策略,所述抢占策略包括抢占和不抢占;在所述待调度数据帧的抢占策略为抢占时,根据所述待调度数据帧优先级的高低进行所述时间调度的抢占;
其中,所述时间调度包括:配置交换机不同延时需求的调度规则集合,采用门循环列表控制每个队列的开关时间窗口;根据每个待调度数据帧的优先级,在所述调度规则集合配置每个待调度数据帧的调度规则和时间窗口,通过所述时间窗口进行对应的调度;
在确定每个所述待调度数据帧的帧序列之后,还包括:所述第一容器应用获取待调度数据帧的帧序列,所述待调度数据帧携带有对应的优先级;所述第一容器应用基于所述帧序列,通过所述数据传输通道将所述待调度数据帧传输至所述第二容器应用;所述第二容器应用基于所述待调度数据帧的优先级,接收所述待调度数据帧。
2.根据权利要求1所述的车载容器间的通信方法,其特征在于,所述第一代理节点获取至少一个第一容器应用发送的应用信息,包括:所述第一容器应用向所述第一代理节点监听的广播地址发送所述应用信息;
通过所述第一代理节点记录所述第一容器应用对应的所述应用信息。
3.根据权利要求1所述的车载容器间的通信方法,其特征在于,所述第一代理节点通过通信中间件与其他代理节点构建管理通道,包括:所述第一代理节点和所述其他代理节点交互节点信息;
根据通信中间件协议,对参与通信的所有代理节点进行发现;
根据所述通信中间件,建立所述第一代理节点和其他代理节点的管理通道。
4.一种车载容器间的通信装置,其特征在于,包括:第一代理节点、第一容器应用、第二代理节点、第二容器应用和时间队列管理模块,所述第一代理节点、所述第二代理节点和所述时间队列管理模块均通信连接;所述第一容器应用与所述第一代理节点通信连接,所述第二容器应用与所述第二代理节点通信连接;
所述第一代理节点用于获取至少一个第一容器应用发送的应用信息,所述应用信息包括应用参与者信息和应用端点信息;
所述第一代理节点还用于通过通信中间件构建与其他代理节点的管理通道;
所述第一代理节点还用于通过所述管理通道,所述第一代理节点与所述其他代理节点交互各自获取的所述应用信息;
所述第一代理节点还用于根据交互获取所述其他代理节点对应的应用信息,确定与所述第一容器应用相匹配的第二容器应用,所述第二容器应用为与所述第二代理节点相对应的容器应用;
所述第一容器应用用于通过所述通信中间件建立与所述第二容器应用的数据传输通道,包括:策略路由配置模块,用于根据所述第一容器应用的应用信息,配置所述第一容器应用的策略路由;数据传输通道建立模块,用于通知所述第一容器应用,所述第一代理节点获取所有应用参与者,根据所述通信中间件基于所述策略路由建立与所述第二容器应用的数据传输通道,使不同主题在链路层、网络层和应用层拥有一致的优先级和确定调度;
该装置还包括:监测进程设置模块,用于在所述第一代理节点设置对应于所述第一容器应用的心跳监测进程;连接状态判断模块,用于通过所述心跳监测进程监测所述第一容器应用的心跳状态,根据所述心跳状态判断所述第一容器应用和所述第一代理节点之间的连接状态;连接关系释放模块,用于在所述第一容器应用的心跳不响应时,认定所述第一容器应用与所述第一代理节点断链,释放所述第一容器应用与所述第一代理节点的连接关系;
通知模块,用于所述第一容器应用通知所述第一代理节点所述数据传输通道已建立;
优先级配置模块,用于所述第一代理节点通知时间队列管理模块对待调度数据帧进行优先级配置,确定每个所述待调度数据帧的帧序列;
时间同步模块,用于根据所述时间队列管理模块对所述第一容器应用和第二容器应用进行时间同步;时间窗口配置模块,用于配置每个待调度数据帧的时间窗口,通过所述时间窗口对所述待调度数据帧进行时间调度;抢占策略配置模块,用于根据所述第一代理节点配置所述待调度数据帧的抢占策略,所述抢占策略包括抢占和不抢占;时间调度抢占模块,用于在所述待调度数据帧的抢占策略为抢占时,根据所述待调度数据帧优先级的高低进行所述时间调度的抢占;其中,所述时间窗口配置模块,具体用于配置交换机不同延时需求的调度规则集合,采用门循环列表控制每个队列的开关时间窗口;根据每个待调度数据帧的优先级,在所述调度规则集合配置每个待调度数据帧的调度规则和时间窗口,通过所述时间窗口进行对应的调度;
帧序列获取模块,用于所述第一容器应用获取待调度数据帧的帧序列,所述待调度数据帧携带有对应的优先级;帧序列传输模块,用于所述第一容器应用基于所述帧序列,通过所述数据传输通道将所述待调度数据帧传输至所述第二容器应用;数据帧接收模块,用于所述第二容器应用基于所述待调度数据帧的优先级,接收所述待调度数据帧。
5.根据权利要求4所述的车载容器间的通信装置,其特征在于,还包括:
信息发送模块,用于所述第一容器应用向所述第一代理节点监听的广播地址发送所述应用信息;
信息记录模块,用于通过所述第一代理节点记录所述第一容器应用对应的所述应用信息。
6.根据权利要求4所述的车载容器间的通信装置,其特征在于,还包括:
信息交互模块,用于所述第一代理节点和所述其他代理节点交互节点信息;
节点发现模块,用于根据通信中间件协议,对参与通信的所有代理节点进行发现;
管理通道建立模块,用于根据所述通信中间件,建立所述第一代理节点和其他代理节点的管理通道。
7.一种车辆,其特征在于,
存储有一组指令集,所述指令集被所述车辆执行,以实现所述权利要求1‑3中任一所述的车载容器间的通信方法。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1‑3中任一所述的车载容器间的通信方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1‑3中任一所述的车载容器间的通信方法的步骤。 说明书 : 一种车载容器间的通信方法、装置、车辆和电子设备技术领域[0001] 本公开涉及通信技术领域,尤其涉及一种车载容器间的通信方法、装置、车辆、电子设备和计算机可读存储介质。背景技术[0002] 相关技术中,车载容器是通过容器的方式,承载各种应用程序,解耦了软件和硬件。随着汽车的智能化、网联化的快速发展,应用程序运行在具有独立的运行环境的车载容器中,使得应用程序级别的迁移更快。[0003] 但是,在现有技术中,只是将容器进行分组,并在分组内的容器内和内部应用进行映射,在数据传输时,容器内的车载应用相互之间发现困难,不能够确保数据传输的稳定性,且数据需要进行传输时需要侵入现有组网,经过的路径较多,没有统一的规则配置,导致数据传输存在延迟。[0004] 因此,亟需一种使得车载应用在采用容器技术时,能够实现车载容器应用之间的快速且稳定的数据传输,降低现有组网侵入,统一传输路径的规则配置的方法。发明内容[0005] 为克服相关技术中存在的问题,本公开提供一种车载容器间的通信方法、装置、车辆、电子设备和计算机可读存储介质。[0006] 根据本公开实施例的第一方面,提供一种车载容器间的通信方法,包括:第一代理节点获取至少一个第一容器应用发送的应用信息;所述第一代理节点通过通信中间件与其他代理节点构建管理通道;通过所述管理通道,所述第一代理节点与所述其他代理节点交互各自获取的所述应用信息;所述第一代理节点根据交互获取所述其他代理节点对应的应用信息,确定与所述第一容器应用相匹配的第二容器应用,所述第二容器应用为与第二代理节点相对应的容器应用;所述第一容器应用通过所述通信中间件建立与所述第二容器应用的数据传输通道。[0007] 在一些实施例中,所述第一代理节点获取至少一个第一容器应用发送的应用信息,包括:所述第一容器应用向所述第一代理节点监听的广播地址发送所述应用信息,所述应用信息包括应用参与者信息和应用端点信息;通过所述第一代理节点记录所述第一容器应用对应的所述应用信息。[0008] 在一些实施例中,所述第一代理节点通过通信中间件与其他代理节点构建管理通道,包括:所述第一代理节点和所述其他代理节点交互节点信息;根据通信中间件协议,对参与通信的所有代理节点进行发现;根据所述通信中间件,建立所述第一代理节点和其他代理节点的管理通道。[0009] 在一些实施例中,所述第一容器应用通过所述通信中间件建立与所述第二容器应用的数据传输通道,包括:根据所述第一容器应用的应用信息,配置所述第一容器应用的策略路由;通知所述第一容器应用,所述第一代理节点获取所有所述应用参与者信息,根据所述通信中间件基于所述策略路由建立与所述第二容器应用的数据传输通道。[0010] 在一些实施例中,所述第一容器应用通过所述通信中间件建立与所述第二容器应用的数据传输通道之后,包括:所述第一容器应用通知所述第一代理节点所述数据传输通道已建立;所述第一代理节点通知时间队列管理模块对待调度数据帧进行优先级配置,确定每个所述待调度数据帧的帧序列。[0011] 在一些实施例中,所述第一代理节点通知时间队列管理模块对待调度消息队列进行优先级配置,确定每个待调度消息队列的帧序列,具体包括:根据所述时间队列管理模块对所述第一容器应用和第二容器应用进行时间同步;配置每个待调度数据帧的时间窗口,通过所述时间窗口对所述待调度数据帧进行时间调度;根据所述第一代理节点配置所述待调度数据帧的抢占策略,所述抢占策略包括抢占和不抢占;在所述待调度数据帧的抢占策略为抢占时,根据所述待调度数据帧优先级的高低进行所述时间调度的抢占。[0012] 根据本公开实施例的第二方面,提供一种车载容器间的通信装置,包括:第一代理节点、第一容器应用、第二代理节点、第二容器应用、时间队列管理模块和交换机,所述第一代理节点、所述第二代理节点和所述时间队列管理模块均通信连接;所述第一容器应用与所述第一代理节点通信连接,所述第二容器应用与所述第二代理节点通信连接;所述第一代理节点用于获取至少一个第一容器应用发送的应用信息;所述第一代理节点还用于通过通信中间件构建与其他代理节点的管理通道;所述第一代理节点还用于通过所述管理通道,所述第一代理节点与所述其他代理节点交互各自获取的所述应用信息;所述第一代理节点还用于根据交互获取所述其他代理节点对应的应用信息,确定与所述第一容器应用相匹配的第二容器应用,所述第二容器应用为与所述第二代理节点相对应的容器应用;所述第一容器应用用于通过所述通信中间件建立与所述第二容器应用的数据传输通道。[0013] 根据本公开实施例的第三方面,提供一种车辆,存储有一组指令集,所述指令集被所述车辆执行,以实现本公开第一方面所提供的车载容器间的通信方法。[0014] 根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的车载容器间的通信方法。[0015] 根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的车载容器间的通信方法的步骤。[0016] 本公开的实施例提供的技术方案可以包括以下有益效果:车载容器应用通过通信中间件构建与其他车载容器应用的专属数据传输通道,统一了数据传输配置,实现与其他车载应用之间快速且稳定的数据传输,且通过特定的数据传输通道,避免了时间延迟和容器网络难以监控的问题;车载应用在使用容器技术时,能够通过通信中间件确保通信节点之间相互发现,且降低了对现有组网的占用情况,便于进行监控管理和后期维护。[0017] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明[0018] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。[0019] 图1是根据一示例性实施例示出的一种车载容器间的通信方法的流程图。[0020] 图2为一示例性实施例示出的获取应用信息的流程图。[0021] 图3为一示例性实施例示出的管理通道建立方法的流程图。[0022] 图4为一示例性实施例示出的数据传输通道建立方法的流程图。[0023] 图5为一示例性实施例示出的监测连接状态方法的流程图。[0024] 图6为一示例性实施例示出的优先级配置方法的流程图。[0025] 图7为一示例性实施例示出的时间同步方法的流程图。[0026] 图8为一示例性实施例示出的帧序列传输方法的流程图。[0027] 图9是根据一示例性实施例示出的一种车载容器间的通信装置的框图。[0028] 图10是根据一示例性实施例示出的一种车辆的框图。[0029] 图11是根据一示例性实施例示出的一种电子设备的框图。具体实施方式[0030] 下面将结合附图详细地对示例性实施例进行描述说明。[0031] 应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。[0032] 应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。[0033] 应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。[0034] 应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。[0035] 应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。[0036] 需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。[0037] 示例性方法[0038] 图1是根据一示例性实施例示出的一种车载容器间的通信方法的流程图,如图1所示,一种车载容器间的通信方法用于车载容器间中,包括以下步骤:[0039] 在步骤S110中,第一代理节点获取至少一个第一容器应用发送的应用信息。[0040] 在一些实施例中,车载应用通过部署在容器内,形成容器应用。第一容器应用需要进行数据传输之前,通过通信中间件构建域,域内包含有多个第一容器应用和第一代理节点。第一代理节点与第一容器应用通信连接,在第一容器应用需要与其他应用进行数据传输时,向第一代理节点发送对应的应用信息,应用信息包括第一容器应用的参与者信息和端点信息,便于根据参与者信息确定需要进行数据传输的容器应用,同时能够通过端点信息确定对应的端点,实现与对应容器应用的连接,第一代理节点可以接收多个容器应用发送的应用信息。[0041] 在步骤S120中,第一代理节点通过通信中间件与其他代理节点构建管理通道。[0042] 在一些实施例中,在第一代理节点接收到容器应用的应用信息后,确定需要进行容器应用之间的数据传输,则第一代理节点与其他接收到应用信息需要进行数据传输的代理节点交互代理节点信息,并基于通信中间件,构建所有需要进行数据传输的代理节点之间的管理通道,代理节点能够通过该管理通道进行进一步的数据交互。[0043] 在步骤S130中,通过管理通道,第一代理节点与其他代理节点交互各自获取的应用信息。[0044] 在一些实施例中,在建立管理通道后,第一代理节点和其他代理节点之间通过管理通道交互各自获取的应用信息,确定需要数据传输的容器应用和对应的用于接收和发送信息的端点,便于后续根据该端点进行通信。[0045] 在步骤S140中,第一代理节点根据交互获取其他代理节点对应的应用信息,确定与第一容器应用相匹配的第二容器应用,第二容器应用为与第二代理节点相对应的容器应用。[0046] 在一些实施例中,第一代理节点通过管理数据进行交互后,得到其他代理节点对应的应用信息,确定需要与第一容器应用进行数据通信的第二容器应用,第二容器应用连接有第二代理节点,同样的,第二容器应用是通过将其应用信息发送至第二代理节点,启动数据传输进程。[0047] 在步骤S150中,第一容器应用通过通信中间件建立与第二容器应用的数据传输通道。[0048] 在一些实施例中,第一容器应用通过第一代理节点,接收到其他容器应用的应用信息,在确定需要传输数据的对象为第二容器应用后,通过通信中间件建立第一容器应用与第二容器应用之间的数据传输通道,从而能够通过该数据传输通道实现第一容器应用和第二容器应用之间的数据直连,实现快速且稳定的数据传输,第一容器应用也可以通过与其他容器应用之间的数据传输通道进行数据传输,统一了数据传输路径的规则配置,便于进行监控管理和后期维护,此外,还降低了对现有组网的侵入,能够独立进行容器应用之间的数据传输。[0049] 在上述实施例中,第一代理节点获取至少一个第一容器应用发送的应用信息,并通过通信中间件与其他代理节点构建管理通道,通过管理通道,第一代理节点和其他代理节点交互各自获取的应用信息,根据交互获取的应用信息,确定与第一容器应用相匹配的第二容器应用,第二容器应用为与第二代理节点相对应的容器应用,第一容器应用通过通信中间件建立与第二容器应用的数据传输通道,通过容器应用之间的专属数据传输通道,统一了数据传输配置,能够实现容器应用之间数据快速且稳定的传输,便于对容器网络进行监控,避免时间延迟,且通过通信中间件能够实现通信节点之间的相互发现,降低对现有组网的侵入情况,便于进行监控管理和后期维护。[0050] 图2为一示例性实施例示出的获取应用信息的流程图。如图2所示,该获取应用信息的方法用于步骤S110中,包括以下步骤:[0051] 步骤S210,第一容器应用向第一代理节点监听的广播地址发送应用信息,应用信息包括应用参与者信息和应用端点信息。[0052] 具体地,在第一容器应用需要进行数据传输时,采用通信中间件协议向第一代理节点监听的广播地址发送应用信息,应用信息为第一容器应用的参与者信息和端点信息,根据参与者信息能够识别第一容器应用,根据端点信息能够实现与第一容器应用的连接。参与者信息包括内部应用ID、容器的组ID和容器的宿主机IP;其中,内部应用ID用于识别容器应用;容器的组ID用于构建通信中间件的域,确保通信能够更好的进行而不受到干扰,所有的通信均发生在域中,一个域中包括有多个容器应用和代理节点;容器的宿主机IP用于实现不同宿主机之间的数据传输。在确定参与者信息后,根据参与者确定对应的端点信息,端点信息为容器应用中进行通信的端点,容器应用通过确定的端点进行数据的发送和接收。[0053] 步骤S220,通过第一代理节点记录第一容器应用对应的应用信息。[0054] 具体地,第一代理节点通过监听的广播地址获取第一容器应用对应的应用信息,并进行记录,确定需要进行数据传输的容器应用。[0055] 在本实施例中,第一容器应用通过向广播地址发送应用信息,通知第一代理节点需要进行数据传输的信息,第一代理节点记录第一容器应用的应用信息,便于后续与其他代理节点进行交互,确定第一容器应用需要进行数据传输的对应容器应用,能够在不占用IP地址的情况下,实现代理节点与容器应用之间的数据传输。[0056] 图3为一示例性实施例示出的管理通道建立方法的流程图。如图3所示,该管理通道建立方法用于步骤S120中,包括以下步骤:[0057] 步骤S310,第一代理节点和其他代理节点交互节点信息。[0058] 具体地,在获取第一容器应用的应用信息后,第一代理节点通过通信中间件协议与域内的其他代理节点进行节点信息的交互,确定需要参与通信的节点信息。[0059] 步骤S320,根据通信中间件协议,对参与通信的所有代理节点进行发现。[0060] 具体地,采用通信中间件协议,对所有参与通信的代理节点进行发现,确保通信的节点之间能够相互发现,便于后续进行节点之间的数据传输。[0061] 步骤S330,根据通信中间件,建立第一代理节点和其他代理节点的管理通道。[0062] 具体地,在获取域内的所有需要参与通信的代理节点之后,通过通信中间件,建立所有代理节点之间的管理通道,第一代理节点和其他任意节点均能够通过该管理通道实现不同代理节点之间的数据传输,便于代理节点间进行数据交互。[0063] 在本实施例中,接收到应用信息后,第一代理节点与其他代理节点交互各自的节点信息,并根据通信中间件协议,发现所有参与通信的代理节点,建立所有代理节点之间的管理通过,从而实现所有代理节点之间的数据传输。[0064] 图4为一示例性实施例示出的数据传输通道建立方法的流程图。如图4所示,该数据传输通道建立方法用于步骤S150中,包括以下步骤:[0065] 步骤S410,根据第一容器应用的应用信息,配置第一容器应用的策略路由。[0066] 具体地,在通过管理通道交互应用信息后,第一代理节点通过交互确定第一容器应用需要进行数据传输的第二容器应用,为了进行第一容器应用和第二容器应用之间的数据传输,根据第一容器应用的应用信息,配置第一容器应用的策略路由,确定第一容器应用的路由配置,根据策略路由和通信中间件协议,确保不同主题从链路层、网络层和应用层拥有一致的优先级和确定调度,确保上层应用消息的低抖动。[0067] 步骤S420,通知第一容器应用,第一代理节点获取所有应用参与者信息,根据通信中间件基于策略路由建立与第二容器应用的数据传输通道。[0068] 具体地,在第一代理节点交互应用信息后,通知第一容器应用,获取所有应用参与者信息,根据通信中间件基于策略路由建立与第二容器应用的数据传输通道,第一容器应用和第二容器应用能够通过该数据传输通道进行数据直连。在获取所有应用参与者信息后,能够根据通信中间件构建所有应用参与者之间的数据传输通道,从而实现所有容器应用之间的数据直连,实现车载容器应用的数据通信,且能够保证数据传输的高带宽和低抖动。[0069] 在通信中间件发现数据传输通道建立时,根据策略路由为容器应用分配IP,而非预先使用桥接模式,预先分配IP,从而降低IP地址的占用情况,提升数据传输速度。[0070] 在本实施例中,通过应用信息为第一容器应用配置策略路由,并在第一代理节点交互应用信息后,通知第一容器应用,第一代理节点获取所有应用参与者信息,基于通信中间件和策略路由建立第一容器应用和第二容器应用的数据传输通道,通过数据传输通道能够实现第一容器应用和第二容器应用之间的数据直连,实现车载容器应用间的数据传输,且能够保证容器应用消息传输的高带宽和低抖动。[0071] 图5为一示例性实施例示出的监测连接状态方法的流程图。如图5所示,该监测连接状态方法用于步骤S150中,包括以下步骤:[0072] 步骤S510,在第一代理节点设置对应于第一容器应用的心跳监测进程。[0073] 具体地,为了监测第一代理节点与第一容器应用之间的联通状态,确保数据传输的正常运行,在第一代理节点设置对应的心跳监测进程,用于监控第一容器应用的心跳状态。[0074] 步骤S520,通过心跳监测进程监测第一容器应用的心跳状态,根据心跳状态判断第一容器应用和第一代理节点之间的连接状态。[0075] 具体地,在数据通道建立后,通过设置的心跳监测进程监测第一容器应用的心跳状态,在监测到第一容器应用心跳响应正常时,即第一容器应用通过端点与第一代理节点之间的连接正常,能够通过端点向第一代理节点传输信息或接收第一代理节点发送的信息。[0076] 步骤S530,在第一容器应用的心跳不响应时,认定第一容器应用与第一代理节点断链,释放第一容器应用与第一代理节点的连接关系。[0077] 具体地,在监测到第一容器应用的心跳不响应时,认定第一容器应用与第一代理节点断链,第一容器应用不能够通过端点向第一代理节点发送信息,或接收第一代理节点的信息,此时,释放第一容器应用分配的IP,降低IP地址的占用情况,从而提升数据传输速度。[0078] 在本实施例中,通过在在第一代理节点设置第一容器应用的心跳监测进程,监测第一容器应用的心跳状态,并根据心跳状态判断第一容器应用与第一代理节点之间的连接关系,在心跳正常时能够保证第一容器应用和第一代理节点的联通状态,实现二者之间的数据传输,在心跳异常时,对心跳异常的容器应用进行IP释放,从而降低IP地址占用量,提升数据传输的速度。[0079] 图6为一示例性实施例示出的优先级配置方法的流程图。如图6所示,该优先级配置方法用于步骤S150中,包括以下步骤:[0080] 步骤S610,第一容器应用通知第一代理节点数据传输通道已建立。[0081] 具体地,在数据传输通道建立后,通过第一容器应用通知代理节点,链路数据传输已建立,便于后续通过第一代理节点通知时间队列管理模块对待调度数据帧进行队列排序。[0082] 步骤S620,第一代理节点通知时间队列管理模块对待调度数据帧进行优先级配置,确定每个待调度数据帧的帧序列。[0083] 具体地,第一代理节点通知时间队列管理模块,通过时间队列管理模块对待调度数据帧进行优先级配置,确定每个待调度数据帧的帧序列,在进行第一容器应用和第二容器应用的数据传输时,根据确定的帧序列依次传输。[0084] 在本实施例中,在数据传输通道建立后,通过第一容器应用通知代理节点,确定第一容器应用和第二容器应用之间的数据传输通道已建立,并通过第一代理节点通知时间队列管理模块,对第一容器应用的待调度数据帧进行优先级配置,确定数据传输的帧序列,第一容器应用在发送待调度数据帧时,携带有配置的优先级,根据优先级进行数据传输,确保重要数据能够进行优先传输。[0085] 图7为一示例性实施例示出的时间同步方法的流程图。如图7所示,该时间同步方法用于步骤S620中,包括以下步骤:[0086] 步骤S710,根据时间队列管理模块对第一容器应用和第二容器应用进行时间同步。[0087] 具体地,在进行优先级配置时,通过时间队列管理模块对第一容器应用和第二容器应用进行高精度时间同步,从而确保容器应用内的数据传输时间。[0088] 步骤S720,配置每个待调度数据帧的时间窗口,通过时间窗口对待调度数据帧进行时间调度。[0089] 具体地,配置交换机不同延时需求的调度规则集合,采用门循环列表控制每个队列的开关时间窗口,实现时间感知整形器的功能,根据每个待调度数据帧的优先级,在调度规则集合配置每个带调度数据帧的调度规则和时间窗口,通过时间窗口进行对应的时间调度,实现不同待调度数据帧的延时需求。[0090] 步骤S730,根据第一代理节点配置待调度数据帧的抢占策略,抢占策略包括抢占和不抢占。[0091] 具体地,根据第一代理节点配置待调度数据帧的抢占策略,定义不同的待调度数据帧是否可抢占,在能够进行抢占时,抢占时间调度进行优先传输,在不能够进行抢占时,根据设定帧序列进行数据传输。[0092] 步骤S740,在待调度数据帧的抢占策略为抢占时,根据待调度数据帧优先级的高低进行时间调度的抢占。[0093] 具体地,在待调度数据帧的抢占策略被定义为抢占时,根据待调度数据帧优先级的高低进行时间调度的抢占,优先级高的数据帧能够抢占优先级低的数据帧的时间调度,从而确保重要数据帧的传输延时确定性和带宽的稳定性。[0094] 在本实施例中,在进行优先级配置时,通过时间队列管理模块对第一容器应用和第二容器应用进行时间同步,确保数据传输时间的一致性,配置每个待调度数据帧的时间窗口,通过时间窗口对待调度数据帧进行时间调度;根据第一代理节点配置待调度数据帧是否可抢占,在能够进行抢占时,根据优先级进行时间调度的抢占,使得重要的待调度数据帧能够进行优先传输,确保重要数据的低延时和高带宽。[0095] 图8为一示例性实施例示出的帧序列传输方法的流程图。如图8所示,该帧序列传输方法用于步骤S620中,包括以下步骤:[0096] 步骤S810,第一容器应用获取待调度数据帧的帧序列,待调度数据帧携带有对应的优先级。[0097] 具体地,在通过数据传输通道进行数据传输时,第一容器应用获取配置的待调度数据的帧序列,帧序列携带有待调度数据帧的优先级,便于进行数据传输和接收。[0098] 步骤S820,第一容器应用基于帧序列,通过数据传输通道将待调度数据帧传输至第二容器应用。[0099] 具体地,根据帧序列确定待调度数据帧的传输顺序,第一容器应用根据该传输顺序,将待调度数据帧通过数据传输通道传输至第二容器应用,实现重要数据帧的优先传输。[0100] 步骤S830,第二容器应用基于待调度数据帧的优先级,接收待调度数据帧。[0101] 具体地,第二容器应用在接收待调度数据帧时,基于待调度数据帧的优先级依次接收,确保重要数据帧能够优先接收,实现重要数据帧的优先传输和接收。[0102] 在本实施例中,第一容器应用获取待调度数据的帧序列,帧序列携带有待调度数据帧的优先级,通过数据传输通道基于帧序列进行待调度数据帧的传输,第二容器应用根据优先级接收待调度数据帧,实现第一容器应用与第二容器应用之间的数据直连,且能够确保重要帧的优先传输和接收。[0103] 示例性装置[0104] 图2是根据一示例性实施例示出的一种车载容器间的通信装置框图。参照图2,该装置200包括第一容器应用210、第一代理节点220、第二容器应用230、第二代理节点240和时间队列管理模块250;第一代理节点220、第二代理节点240和时间队列管理模块250均通信连接;第一容器应用210与第一代理节点220通信连接,第二容器应用230与第二代理节点240通信连接。[0105] 该第一代理节点220,用于获取至少一个第一容器应用发送的应用信息;[0106] 该第一代理节点220,还用于通过通信中间件构建与其他代理节点的管理通道;[0107] 该第一代理节点220,还用于第一代理节点还用于通过管理通道,第一代理节点与其他代理节点交互各自获取的应用信息;[0108] 该第一代理节点220,还用于根据交互获取其他代理节点对应的应用信息,确定与第一容器应用相匹配的第二容器应用,第二容器应用为与第二代理节点相对应的容器应用;[0109] 该第一容器应用210,用于通过通信中间件建立与第二容器应用的数据传输通道。[0110] 在本实施例中,通过第一代理节点220获取至少一个第一容器应用210发送的应用信息,并基于通信中间件构建与其他代理节点的管理通道,通过管理通道进行应用信息交互,确定与第一容器应用210相匹配的第二容器应用230和对应的第二代理节点240,通过通信中间件建立第一容器应用210和第二容器应用230之间的数据传输通道,通过容器应用之间的专属数据传输通道,统一了数据传输配置,且能够实现容器应用之间数据快速且稳定的传输,便于对容器网络进行监控,避免时间延迟,且通过通信中间件能够实现通信节点之间的相互发现,降低对现有组网的侵入情况,便于进行监控管理和后期维护。[0111] 在一些实施例中,还包括:信息发送模块,用于第一容器应用向第一代理节点监听的广播地址发送应用信息,应用信息包括应用参与者信息和应用端点信息;信息记录模块,用于通过第一代理节点记录第一容器应用对应的应用信息。[0112] 在一些实施例中,还包括:监测进程设置模块,用于在第一代理节点设置对应于第一容器应用的心跳监测进程;连接状态判断模块,用于通过心跳监测进程监测根据第一容器应用的心跳状态,根据心跳状态判断第一容器应用和第一代理节点之间的连接状态;连接关系释放模块,用于在第一容器应用的心跳不响应时,认定第一容器应用与第一代理节点断链,释放第一容器应用与第一代理节点的连接关系。[0113] 在一些实施例中,还包括:信息交互模块,用于第一代理节点和其他代理节点交互节点信息;节点发现模块,用于根据通信中间件协议,对参与通信的所有代理节点进行发现;管理通道建立模块,用于根据通信中间件,建立第一代理节点和其他代理节点的管理通道。[0114] 在一些实施例中,还包括:策略路由配置模块,用于根据第一容器应用的应用信息,配置第一容器应用的策略路由;数据传输通道建立模块,用于通知第一容器应用,第一代理节点获取所有应用参与者信息,通信中间件基于策略路由建立与第二容器应用的数据传输通道。[0115] 在一些实施例中,还包括:通知模块,用于第一容器应用通知第一代理节点数据传输通道已建立;优先级配置模块,用于第一代理节点通知时间队列管理模块对待调度数据帧进行优先级配置,确定每个待调度数据帧的帧序列。[0116] 在一些实施例中,还包括:时间同步模块,用于根据时间队列管理模块对第一容器应用和第二容器应用进行时间同步;时间窗口配置模块,用于配置每个待调度数据帧的时间窗口,通过时间窗口对待调度数据帧进行时间调度;抢占策略配置模块,用于根据第一代理节点配置待调度数据帧的抢占策略,抢占策略包括抢占和不抢占;时间调度抢占模块,用于在待调度数据帧的抢占策略为抢占时,根据待调度数据帧优先级的高低进行时间调度的抢占。[0117] 在一些实施例中,还包括:帧序列获取模块,用于所述第一容器应用获取待调度数据帧的帧序列,所述待调度数据帧携带有对应的优先级;帧序列传输模块,用于所述第一容器应用基于所述帧序列,通过所述数据传输通道将所述待调度数据帧传输至所述第二容器应用;数据帧接收模块,用于所述第二容器应用基于所述待调度数据帧的优先级,接收所述待调度数据帧。[0118] 在上述实施例中,通过该装置的运行,实现了基于一种车载容器间的通信方法,确保该装置能够实现车载容器间的通信方法的所有内容。[0119] 示例性车辆[0120] 图10是根据一示例性实施例示出的一种车辆800的框图。该车辆800可以是燃油车辆、混合动力车辆、电动车辆、燃料电池车辆或者其他类型的车辆。[0121] 参照图10,车辆800可包括多个子系统,例如,驱动系统810、控制系统820、感知系统830、通信系统840、信息显示系统850以及计算处理系统860。车辆800还可以包括更多或更少的子系统,且各个子系统还可以包括多个部件,在此不一一赘述。[0122] 该驱动系统810,包括为车辆800提供动力运动的组件。例如,发动机、能量源、传动装置等。[0123] 该控制系统820,包括为车辆800提供控制的组件。例如,车辆控制、座舱设备控制、驾驶辅助控制等。[0124] 该感知系统830,包括为车辆800提供周边环境感知的组件。例如,车辆定位系统、激光传感器、语音传感器、超声波传感器、摄像设备等。[0125] 该通信系统840,包括为车辆800提供通信连接的组件。例如,移动通信网络(如,3G、4G、5G网络等)、WiFi、蓝牙、车联网等。[0126] 该信息显示系统850,包括为车辆800提供各种信息显示的组件。例如,车辆信息显示、导航信息显示、娱乐信息显示等。[0127] 该计算处理系统860,包括为车辆800提供数据计算和处理能力的组件。计算处理系统860可包括至少一个处理器861和存储器862。处理器861可以执行存储在存储器862中的指令。[0128] 处理器861可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(GraphicProcessUnit,GPU),现场可编程门阵列(FieldProgrammableGateArray,FPGA)、片上系统(SystemonChip,SOC)、专用集成芯片(ApplicationSpecificIntegratedCircuit,ASIC)或它们的组合。[0129] 存储器862可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。[0130] 在本公开实施例中,存储器862中存储有一组指令集,处理器861可以执行该指令集,以实现上述示例性实施例中任一所述的车载容器间的通信方法的全部或部分步骤。[0131] 示例性电子设备[0132] 图11是根据一示例性实施例示出的一种电子设备900的框图。该电子设备900可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。[0133] 参照图11,电子设备900,可包括至少一个处理器910和存储器920。处理器910可以执行存储在存储器920中的指令。处理器910通过数据总线与存储器920通信连接。除存储器920外,处理器910还可通过数据总线与输入设备930、输出设备940、通信设备950通信连接。[0134] 处理器910可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(GraphicProcessUnit,GPU),现场可编程门阵列(FieldProgrammableGateArray,FPGA)、片上系统(SystemonChip,SOC)、专用集成芯片(ApplicationSpecificIntegratedCircuit,ASIC)或它们的组合。[0135] 存储器920可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。[0136] 在本公开实施例中,存储器920中存储有可执行指令,处理器910可以从所述存储器920中读取所述可执行指令,并执行所述指令以实现上述示例性实施例中任一所述的车载容器间的通信方法的全部或部分步骤。[0137] 示例性计算机可读存储介质[0138] 除了上述方法和装置以外,本公开的示例性实施例还可以是计算机程序产品或存储有该计算机程序产品的计算机可读存储介质。该计算机产品中包括计算机程序指令,该计算机程序指令可被处理器执行,以实现上述示例性实施例中任一方法中描述的的全部或部分步骤。[0139] 所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言以及脚本语言(例如Python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。[0140] 所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线电连接的静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。[0141] 本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。[0142] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
专利地区:重庆
专利申请日期:2022-09-28
专利公开日期:2024-11-29
专利公告号:CN115665221B