[发明专利]基于Linux共享内存实现家庭网关数据通信的系统及方法有效

专利信息
申请号: 201410002084.2 申请日: 2014-01-02
公开(公告)号: CN103731328A 公开(公告)日: 2014-04-16
发明(设计)人: 余仁春;祝振东 申请(专利权)人: 烽火通信科技股份有限公司
主分类号: H04L12/28 分类号: H04L12/28;H04L12/66;G06F12/02
代理公司: 北京捷诚信通专利事务所(普通合伙) 11221 代理人: 魏殿绅;庞炳良
地址: 430074 湖北省武*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于Linux共享内存实现家庭网关数据通信的系统及方法,涉及Linux数据通信技术领域。系统包括共享内存互斥访问单元、读共享内存数据单元、写共享内存数据单元和数据同步单元;共享内存互斥访问单元包括顺次连接的临界区互斥初始化子单元、临界区权限获取子单元和死锁重建子单元,临界区权限获取子单元与读共享内存数据单元、写共享内存数据单元连接;数据同步单元包括信号安装子单元、信号监听子单元和信号发送子单元,写共享内存数据单元与信号安装子单元连接,信号安装子单元与信号监听子单元、信号发送子单元连接。本发明能够保证家庭网关系统多进程之间业务配置数据安全,高效的进行共享访问,便于人们使用。
搜索关键词: 基于 linux 共享 内存 实现 家庭 网关 数据通信 系统 方法
【主权项】:
一种基于Linux共享内存实现家庭网关数据通信的系统,其特征在于:包括共享内存互斥访问单元、读共享内存数据单元、写共享内存数据单元和数据更新同步通知单元;共享内存互斥访问单元包括顺次连接的临界区互斥初始化子单元、临界区权限获取子单元和死锁重建子单元,死锁重建子单元与临界区互斥初始化子单元连接,临界区权限获取子单元分别与读共享内存数据单元、写共享内存数据单元连接;数据更新同步通知单元包括信号安装子单元、信号监听子单元和信号发送子单元,写共享内存数据单元与信号安装子单元连接,信号安装子单元分别与信号监听子单元、信号发送子单元连接;临界区互斥初始化子单元,用于:预设业务数据,获取与业务数据对应的互斥信号量名称,发送初始化信号;接收初始化信号后,调用Linux系统函数;根据互斥信号量名称,通过Linux系统函数初始化互斥信号量,生成Linux系统函数的返回值;判定Linux系统函数的返回值为0,Linux内核将互斥信号量资源储存至信号量存储区,向临界区权限获取子单元发送权限获取信号;临界区权限获取子单元,用于:接收临界区互斥初始化子单元发送的权限获取信号后,预设获取互斥信号量的等待时间,预设获取互斥信号量的访问次数;预设Linux内核信号量资源访问函数调用失败的错误码,错误码内包括存在调用超时ETIMEDOUT信息;在信号量存储区中,通过Linux内核信号量资源访问函数,获取互斥信号量资源,生成Linux内核信号量资源访问函数的返回值;判断Linux内核信号量资源访问函数的返回值是否为0,若是,调用Linux系统函数,操作互斥信号量资源锁定共享内存数据存储临界区,生成Linux系统函数调用返回值;判定Linux系统函数调用返回值为0,通过共享内存数据读写单元接口,对共享内存数据存储临界区进行业务数据操作;释放共享内存数据存储临界区的操作权限;否则判定错误码是否为ETIMEDOUT信息,判断获取互斥信号量资源的获取次数是否大于访问次数,若是,向死锁重建子单元发送死锁重建信号,否则将访问次数加1,重新获取信号量资源;死锁重建子单元,用于:接收临界区权限获取子单元发送的死锁重建子单元发送死锁重建信号后,删除共享内存数据存储临界区原有的控制信号量,生成删除结果;读共享内存数据单元,用于:获取共享内存数据存储临界区的访问权限,生成获取共享临界区权限的返回值;判断获取共享临界区权限的返回值是否为0,若是,从共享内存数据存储临界区中读取所需的业务数据,释放共享内存数据存储临界区的操作权限;否则获取并记录共享内存数据存储临界区的访问权限获取失败的异常信息;写共享内存数据单元,用于:获取共享内存数据存储临界区的访问权限,生成获取共享临界区权限的返回值;判断获取共享临界区权限的返回值是否为0,若是,在共享内存数据存储临界区中写入配置业务数据,释放共享内存数据存储临界区的操作权限,通过调用信号发送单元提供的函数发送信号通知业务数据对应的业务功能模块,否则获取并记录共享内存数据存储临界区的访问权限获取失败的异常信息;信号安装子单元,用于:调用Linux系统函数初始化Linux信号,安装Linux信号接收处理程序,生成Linux系统函数的返回值;判断Linux系统函数的返回值是否为0,若是,定义Linux信号接收处理程序安装成功,否则获取并记录Linux信号接收处理程序安装失败的信息;信号监听子单元,用于:预设Linux信号接收的监听时间,预设Linux信号监听的超时时间,创建Linux信号监听线程,生成Linux系统函数的返回值;判断Linux系统函数的返回值是否为0,若不是,获取并记录Linux信号监听线程创建失败信息,否则在监听时间内循环监听Linux信号;判断信号到达全局标识是否为非0,若是,将信号到达全局标识加1,否则在超时时间内,判断信号到达全局标识是否为非0,若不是,继续在监听时间内循环监听Linux信号,否则从内存数据存储临界区内读取业务数据、并发送至相应的业务模块,将信号到达全局标识置为0,继续在监听时间内循环监听Linux信号;信号发送子单元,用于:收到外部调用接口发送的Linux系统命令后,根据与Linux系统命令对应的目标进程名称获取信号发送目标进程号,生成Linux系统函数的返回值;判定Linux系统函数的返回值为0,向目标进程发送Linux信号。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410002084.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top