[发明专利]一种基于Linux内核的多点到多点数据发布和订阅方法有效
| 申请号: | 201510197093.6 | 申请日: | 2015-04-23 |
| 公开(公告)号: | CN104778089B | 公开(公告)日: | 2017-12-26 |
| 发明(设计)人: | 李飞;刘俊涛;冀峰;潘景剑;王嘉;孙磊 | 申请(专利权)人: | 河北远东通信系统工程有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54 |
| 代理公司: | 河北东尚律师事务所13124 | 代理人: | 王文庆 |
| 地址: | 050200 河北省石*** | 国省代码: | 河北;13 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种基于Linux内核的多点到多点数据发布和订阅方法,该方法基于Linux操作系统平台,属于数据通信领域。所述的方法是在Linux内核中编写两个内核模块,分别为数据发布(Publisher)模块和数据订阅(Subscriber)模块,将这两个模块安装在Linux内核中,可在操作系统设备目录中生成两个文件,应用程序可通过访问文件的方式实现任务间通信。该方法通过大量的双向链表维护各个任务发布数据和订阅数据信息,通过双向链表临时保存任务间通信数据,通过POLL机制实现应用程序对内核文件的访问,通过PROC文件系统向用户公布运行状态。本发明为上层任务提供了一种资源占用少、实时性强、应用方便、稳定可靠的任务间通信方法。 | ||
| 搜索关键词: | 一种 基于 linux 内核 多点 数据 发布 订阅 方法 | ||
【主权项】:
一种基于Linux内核的多点到多点数据发布和订阅方法,其特征在于包括以下步骤:S1:Linux系统加载内核模块,在其文件系统中生成发布文件和订阅文件,在内核中生成邮箱池;S2:一个或多个发布任务分别进行发布数据准备,一个或多个接收任务分别进行订阅数据准备;S3:一个或多个发布任务分别发送数据并将数据写入Linux内核,Linux内核通知每个接收任务分别接收数据,每个接收任务分别接收并读取数据,所有的接收任务均读取数据之后,Linux内核将数据删除;所述步骤S2中的发布任务进行发布数据准备具体为:S201:发布任务打开发布文件,发布文件在邮箱池中查找与要创建的邮箱名称相同的邮箱,若找到,则将该邮箱的地址返回给发布任务;若未找到,则执行步骤S202;S202:在内核中创建以该名称命名的邮箱,将邮箱插入邮箱池,然后为邮箱创建若干报头和若干报文,在邮箱的预留空间中登记发布任务的个数和接收任务的个数,将创建的邮箱的地址返回给发布任务;所述步骤S2中的接收任务进行订阅数据准备具体为:S211:接收任务打开订阅文件并生成订单,订单中包含内核等待队列;S212:根据订阅文件在邮箱池中查找与要订阅的邮箱名称相同的邮箱,若找到,则将生成的订单保存到该邮箱中;若未找到,则执行步骤S213;S213:在内核中创建以该名称命名的邮箱,将邮箱插入邮箱池,然后为邮箱创建若干报头和若干报文,在邮箱的预留空间中登记发布任务的个数和接收任务的个数,将生成的订单保存到创建的邮箱中;S214:将订单地址返回给接收任务;S215:接收任务通过poll函数等待在订单的内核等待队列上。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北远东通信系统工程有限公司,未经河北远东通信系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510197093.6/,转载请声明来源钻瓜专利网。





