System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及轨道交通车载安全,尤其是涉及一种车载安全计算机的网络通信方法、设备及介质。
技术介绍
1、列车车载安全计算机是列车运行指挥的中枢,它承担着监控列车各个部件、处理列车运行数据、控制列车运行等重要功能,是确保列车安全运行的关键系统之一。列车车载安全计算机网络通信系统承担与列车控制中心和其他列车系统的通信功能,起到车载安全计算机与其他系统通信的桥梁作用,包括接收行车许可命令、传输列车状态数据、接收调度信息等。基于此列车车载安全计算机网络通信系统应满足数据传输的高实时性要求,能够快速响应网络数据。
2、传统的网络通信系统基于阻塞式网络编程,程序流程通常阻塞在读取数据过程上。tcp、udp是个全双工的协议,支持同时读写操作操作,当一个线程/进程阻塞在读取数据上,给这个连接发送数据就必须等待读取数据完成,这就导致了程序效率低下。为解决上述问题,io多路复用技术应运而生,通过select/poll/epoll等操作系统提供的多路选择器,让一个线程可以处理多个连接,从而提高数据收发效率。同时,通过反应堆(reactor)的思想,将网络部分的通用代码提取为公用的框架或库,用户只需要编写业务逻辑代码,并通过事件回调注册到框架中,就可以实现完整的网络服务。
3、如何实现实时性高、并发处理能力强的车载安全计算机网络通信,成为需要解决的技术问题。
技术实现思路
1、本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种车载安全计算机的网络通信方法、设备及介质。
...【技术保护点】
1.一种车载安全计算机的网络通信方法,其特征在于,该方法基于Reactor模型来实现,所述的Reactor模型包括事件源模块、Reactor控制器模块、多路复用管理器模块、事件处理模块和应用层模块,所述方法包括以下步骤:
2.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述多路复用管理器模块分别与Reactor控制器模块和事件源模块通信连接,所述Reactor控制器模块分别与事件处理模块和应用层模块通信连接,所述应用层模块分别与事件源模块、Reactor控制器模块和事件处理模块通信连接。
3.根据权利要求2所述的一种车载安全计算机的网络通信方法,其特征在于,所述的事件源模块包括系统的文件描述符、套接字、定时器和信号源;
4.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的Reactor控制器模块采用一维数组的存储事件,存储的事件带有优先级,一维数组的索引作为事件优先级,数组元素为双向链表结构,用于存储同一优先级的多个事件。
5.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征
6.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的事件包括I/O事件、定时器事件和信号事件,对这三种事件进行融合统一的过程包括I/O事件和定时器事件的融合统一过程以及I/O事件和信号事件的融合统一过程。
7.根据权利要求6所述的一种车载安全计算机的网络通信方法,其特征在于,所述的I/O事件和定时器事件的融合统一过程具体为:使用小根堆数据结构存放已注册进多路复用管理器模块的定时器事件,定时器事件的定时时长作为小根堆数据结构的关键值;在Reactor控制器模块的事件循环中,每次循环获取小根堆数据结构中定时时长最小的关键值作为I/O多路复用select或poll接口的最大超时时长;当系统I/O多路复用返回时,激活所有就绪的定时器事件。
8.根据权利要求6所述的一种车载安全计算机的网络通信方法,其特征在于,所述的I/O事件和信号事件的融合统一过程具体为:利用消息通知机制,创建一个套接字对,当信号事件发生时,在写套接字上发起消息通知,在Reactor控制器的事件循环中调用多路复用模块监听读套接字上的可读I/O事件来侦听到信号事件的发生,其中套接字对包含一个读套接字和一个写套接字。
9.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的Reactor控制器模块借助多路复用管理器模块监听已注册事件是否激活,以及Reactor控制器模块通知事件处理模块指定事件已激活与所述的事件处理模块接收到通知消息后处理已激活事件为异步执行关系。
10.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的处理已激活事件通过事件处理模块执行已激活事件的回调函数和线程池容量动态扩容机制来实现。
11.根据权利要求10所述的一种车载安全计算机的网络通信方法,其特征在于,所述的处理已激活事件的过程包括以下步骤:
12.根据权利要求11所述的一种车载安全计算机的网络通信方法,其特征在于,所述的监控线程基于已激活事件的优先级调度线程池中的工作线程,高优先级的事件被优先调度处理。
13.根据权利要求10所述的一种车载安全计算机的网络通信方法,其特征在于,所述的事件处理模块还包括线程池容量动态减少机制,该线程池容量动态减少机制包括以下步骤:
14.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~13中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~13中任一项所述的方法。
...【技术特征摘要】
1.一种车载安全计算机的网络通信方法,其特征在于,该方法基于reactor模型来实现,所述的reactor模型包括事件源模块、reactor控制器模块、多路复用管理器模块、事件处理模块和应用层模块,所述方法包括以下步骤:
2.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述多路复用管理器模块分别与reactor控制器模块和事件源模块通信连接,所述reactor控制器模块分别与事件处理模块和应用层模块通信连接,所述应用层模块分别与事件源模块、reactor控制器模块和事件处理模块通信连接。
3.根据权利要求2所述的一种车载安全计算机的网络通信方法,其特征在于,所述的事件源模块包括系统的文件描述符、套接字、定时器和信号源;
4.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的reactor控制器模块采用一维数组的存储事件,存储的事件带有优先级,一维数组的索引作为事件优先级,数组元素为双向链表结构,用于存储同一优先级的多个事件。
5.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的注册已创建的事件包括以下步骤:
6.根据权利要求1所述的一种车载安全计算机的网络通信方法,其特征在于,所述的事件包括i/o事件、定时器事件和信号事件,对这三种事件进行融合统一的过程包括i/o事件和定时器事件的融合统一过程以及i/o事件和信号事件的融合统一过程。
7.根据权利要求6所述的一种车载安全计算机的网络通信方法,其特征在于,所述的i/o事件和定时器事件的融合统一过程具体为:使用小根堆数据结构存放已注册进多路复用管理器模块的定时器事件,定时器事件的定时时长作为小根堆数据结构的关键值;在reactor控制器模块的事件循环中,每次循环获取小根堆数据结构中定时时长最小的关键值作为i/o多路复用select或poll接口的最大超时时...
【专利技术属性】
技术研发人员:魏洋,彭宇飞,陈宜航,李长远,周宇恒,郑娟,华晴,
申请(专利权)人:卡斯柯信号有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。