[发明专利]一种基于套接字的异步I/O操作的方法和装置有效
申请号: | 202110441476.9 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113162932B | 公开(公告)日: | 2023-01-06 |
发明(设计)人: | 李江卫;吴少勇;朱明星;华峰 | 申请(专利权)人: | 航天新通科技有限公司 |
主分类号: | H04L69/16 | 分类号: | H04L69/16;G06F13/38 |
代理公司: | 重庆强大凯创专利代理事务所(普通合伙) 50217 | 代理人: | 刘嘉 |
地址: | 401331 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 套接 异步 操作 方法 装置 | ||
1.一种基于套接字的异步I/O操作的方法,其特征在于,包括如下步骤:
管理套接字创建步骤:创建管理套接字,将其绑定在本地地址上;
代理线程创建步骤:创建代理线程,将管理套接字添加到I/O复用函数的读操作控制信息中,并调用I/O复用函数;
代理线程运行步骤:
S1、用户线程创建用户套接字,向管理套接字发送异步操作请求;异步操作请求包含用户套接字和针对用户套接字的对象属性;
S2、唤醒代理线程并处理异步操作请求,将用户套接字及已存在的其它用户的套接字加入I/O复用函数的各用户对应操作控制信息中,同时将管理套接字加入I/O复用函数的读操作控制信息中;之后,调用I/O复用函数,若此时用户操作得不到满足,则代理线程进入阻塞状态;
S3、当用户套接字满足操作指定条件时,代理线程依据用户配置的针对用户套接字的对象属性进入操作;当操作完成后,代理线程将操作的结果通知给用户线程;
S4、代理线程将管理套接字加入I/O复用函数的读操作控制信息中,同时将剩余未被处理的其它用户套接字加入I/O复用函数的各用户对应操作控制信息中,之后,代理线程调用I/O复用函数。
2.根据权利要求1所述的基于套接字的异步I/O操作的方法,其特征在于:所述S3中,代理线程以进程间通讯的方式将操作的结果通知给用户线程。
3.根据权利要求1所述的基于套接字的异步I/O操作的方法,其特征在于:所述对象属性包括操作类型、数据存储空间和异步处理方式。
4.根据权利要求1所述的基于套接字的异步I/O操作的方法,其特征在于:所述I/O复用函数为标准套接字接口函数。
5.根据权利要求4所述的基于套接字的异步I/O操作的方法,其特征在于:所述标准套接字接口函数为select、poll或epoll。
6.根据权利要求1所述的基于套接字的异步I/O操作的方法,其特征在于:所述本地地址为设备配置的所有IP地址。
7.一种基于套接字的异步I/O操作的装置,基于权利要求1-6任一项所述的基于套接字的异步I/O操作的方法,其特征在于,还包括接口模块、控制模块和存储模块;
接口模块用于提供调用接口,响应异步操作请求,发送操作的结果;
存储模块用于保存用户配置的相关信息,相关信息包括套接字及其对应的处理模式、存储空间和异步处理方法;
控制模块用于接收所有用户指定的管理套接字和用户套接字的处理请求,完成用户线程间及用户线程和代理线程间的解耦;控制模块还用于将管理套接字绑定在本地地址上,用于实现用户线程和代理线程间的控制通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天新通科技有限公司,未经航天新通科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110441476.9/1.html,转载请声明来源钻瓜专利网。