[发明专利]一种多线程跨层式信息处理平台架构及信息处理方法有效
申请号: | 201911175047.0 | 申请日: | 2019-11-26 |
公开(公告)号: | CN110958143B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 陈惠芳;谢磊;何皓琛 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨舟涛 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 跨层式 信息处理 平台 架构 方法 | ||
1.一种多线程跨层式信息处理平台架构,包括协议模块、核心处理模块和modem驱动模块;其特征在于:
所述的协议模块是基于分层的协议架构,按其功能性分为媒体接入控制层、网络层、传输层和应用层;协议模块中每个协议层中的一个具体协议作为一个协议模块实例;各协议层同时存在一个或多个协议模块实例,协议栈中每个协议模块实例通过UNIX域套接字与核心处理模块相连;
所述的核心处理模块接受来自协议模块和modem驱动模块的客户连接请求,核心处理模块接收来自所有与其相连的协议模块实例的消息,并转发到所要求的协议模块实例或者是modem驱动模块;
核心处理模块存在两种交互的信息流:外部信息流和内部信息流;所述的外部信息流由各协议模块实例产生,包括应用层产生的数据包、其它协议层产生的控制包,根据协议模块实例的连接顺序,外部信息流通过核心处理模块向下层转发,并最终传送到modem驱动模块,发送至其他网络节点;所述的内部信息流包括各协议模块实例产生的控制信息或输出的状态信息,始终在通信节点内部的协议层之间传送,用于实现跨层通信,不会被modem驱动模块发送出去;
所述的modem驱动模块为物理层接口,连接硬件设备,进行数据帧的发送和接收,协议模块与硬件设备通过modem驱动模块分离,使得协议栈运行于不同的硬件之上。
2.如权利要求1所述的一种多线程跨层式信息处理平台架构,其特征在于:所述的平台架构将每个具体的协议模块实例组织成相互独立的进程,使得每个具体的协议模块实例能够相对独立地进行改变或重新启动。
3.如权利要求1所述的一种多线程跨层式信息处理平台架构,其特征在于:所述的平台架构使用Linux操作系统平台进行开发,进程的调度及存储资源环境管理依赖于操作系统实现。
4.一种多线程跨层式信息处理平台架构的信息处理方法,基于权利要求1~3任一所述的一种多线程跨层式信息处理平台架构,包括发送端信息处理方法和接收端信息处理方法,其特征在于:
所述的发送端信息处理方法具体是:
步骤(1).核心处理模块初始化:包括搭建服务器套接字,并侦听各协议模块实例的连接请求;初始化连接表中的状态信息;初始化共享内存区域,各协议模块产生的数据存放在核心处理模块开辟的共享内存区域中,并由核心处理模块进行统一管理;
步骤(2).各协议模块实例与核心处理模块建立连接:各协议模块通过UNIX域套接字的形式与核心处理模块建立连接,高层协议模块实例指定其需要连接的低层协议模块实例,并允许某一层协议模块实例为空;
步骤(3).产生数据包:数据从某个协议模块实例中产生,向核心处理模块申请共享区空间,并将产生的数据放入一个通用的数据包结构体中,数据包结构体中除了需要传送的数据之外还包括- 包控制字段,其中控制字段必须包含“方向”字段和“协议模块ID”字段;最终数据包结构体通过套接字接口将数据发送至核心处理模块等待处理;
步骤(4).核心处理模块从相应的套接字接口接收到数据包结构体,并根据数据包结构体中控制字段中的“方向”字段和“协议模块ID”字段,在连接表中查找数据需要流向的下一个协议模块实例,核心处理模块根据当前状态修改数据包结构体中- 控制字段信息后,将数据包结构体发送至下层协议模块实例:若下层协议模块实例不是modem驱动模块,则进行步骤(5);若下层协议模块实例为modem驱动模块,则进行步骤(6);
步骤(5).下层协议模块实例接收到来自核心处理模块的数据包结构体,根据数据包结构体的控制字段,当前的协议模块实例做出相应的功能性处理,处理完成之后将数据包通过与核心处理模块的套接字接口发送至核心处理模块,并进行步骤(4);
步骤(6).modem驱动模块收到来自核心处理模块的数据包结构体,将数据包结构体中需要传送的数据部分打包封装成帧,送到发送队列中等待发送;
所述的接收端信息处理方法具体是:
步骤(a).核心处理模块初始化:包括搭建服务器套接字,并侦听各协议实例客户的连接请求;初始化连接表中的状态信息;初始化共享内存区域,各协议模块产生的数据存放在核心处理模块开辟的共享内存区域中,并由核心处理模块进行统一管理;
步骤(b).各协议模块实例与核心处理模块建立连接:各协议模块通过UNIX域套接字的形式与核心处理模块建立连接,高层协议模块实例指定其需要连接的低层协议模块实例,并允许某一层协议模块实例为空;
步骤(c).modem驱动模块及其硬件设备从信道接收到数据帧,向核心处理模块申请共享区空间,将数据帧放入通用的数据包结构体中,并设置相应的控制字段,其中控制字段必须包含“方向”字段和“协议模块ID”字段;将数据包结构体通过套接字接口发送至核心处理模块;
步骤(d).核心处理模块通过相应的套接字接口收到数据包结构体,根据数据包结构体的控制字段中的“方向”字段和“协议模块ID”字段,以及连接表中状态信息解析出数据需要流向的下一个协议模块实例,并根据当前状态修改数据包结构体中的控制字段,将数据包结构体发送至解析出来的目的协议模块实例;
步骤(e).目的协议模块实例接收到来自核心处理模块的数据包结构体,根据数据包结构体中的控制字段判断自身是否为此数据包结构体的最终目的协议模块实例:
若数据包结构体的终点为此协议模块实例,并且该协议模块实例属于应用层模块,则表示成功接收到来自发送节点的数据包;
若数据包结构体的终点为此协议模块实例,但该协议模块实例不是应用层模块,则表示成功接收到来自发送节点的属于该协议模块实例协议层的控制包,并根据自身协议具体的功能性对控制包进行处理;
若数据包结构体的终点并非此协议模块实例,则根据控制字段指示的信息以及自身协议模块具体的功能性,进行处理后将数据包结构体通过套接字接口发送至核心处理模块,并跳至步骤(d)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911175047.0/1.html,转载请声明来源钻瓜专利网。