[发明专利]基于共享SOCKET的通信处理方法及装置无效
申请号: | 200810116567.X | 申请日: | 2008-07-11 |
公开(公告)号: | CN101321096A | 公开(公告)日: | 2008-12-10 |
发明(设计)人: | 肖保锋;王磊;张跃华;杨锐;周健 | 申请(专利权)人: | 北京立通无限科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/02 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 100022北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 共享 socket 通信 处理 方法 装置 | ||
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于共享SOCKET的通信处理方法及装置。
背景技术
SOCKET通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过SOCKET向网络发出请求或者应答网络请求。SOCKET实质上提供了进程通信的端点,进程通信之前,双方首先必须各自创建一个端点,一个完整的SOCKET有一个本地唯一的SOCKET号,由操作系统分配。
对于高数据量、稳定性的多进程设计模式环境,需要同时开启至少五百个以上的进程操作,因此需要考虑进程间的管理,以及进程对系统的消耗。在多进程环境下需要应用实时性的SOCKET服务器,该服务器针对每一个事务开启一个子进程,所有的子进程由父进程统一管理,在子进程处理事务的时候,父进程返回等待状态,当子进程处理事务完毕后退出。
发明人在对现有技术的研究过程中发现,基于SOCKET的大容量通信,由于每秒中需要处理上千个事务,每个子进程对事务的处理时间小于0.5秒,因此每秒相当于要开启500个子进程,同时开启上百个子进程将对系统资源造成大量消耗,当系统负担过重时,开启子进程需要较长的时间,因此使得系统将大部分的处理能力消耗在开启和销毁进程上;在开启子进程的过程中,当某一个子进程发生了延迟或者异常时,会长期处于等待状态下,由于开启的子进程数量较大,因此父进程难以对这些子进程进行实时的故障检测;在每次开启子进程时,父进程虽然可以判断是否达到了系统设置的最大子进程数,并在到达最大子进程数时等待其它子进程释放后,再开启新的子进程,但是这种被动等待子进程释放的方式缺乏灵活性,使父进程难以自主调节子进程的开启。
发明内容
本发明的目的在于提供一种基于共享SOCKET的通信处理方法及装置,以解决现有技术中基于SOCKE的通信处理方式消耗系统资源,难以控制进程状态和数量的问题。
为解决上述技术问题,本发明提供如下技术方案:
一种基于共享SOCKET的通信处理方法,包括:
主进程在服务器的指定端口建立侦听,获得侦听SOCKET;
建立事务处理进程,并在所述事务处理进程中共享所述侦听SOCEKT;
监控所述事务处理进程的状态,并根据所述状态调整所述事务处理进程的数量。
所述建立事务处理进程具体为:所述主进程通过其子进程产生与预先配置的数量一致的事务处理进程;
所述在事务处理进程中共享侦听SOCKET包括:
子进程将主进程复制的所述侦听SOCKET复制到所述事务处理进程。
所述建立事务处理进程具体为:所述主进程通过调用系统函数产生与预先配置的数量一致的事务处理进程;
所述在事务处理进程中共享侦听SOCKET包括:
主进程将所述侦听SOCKET作为所述系统函数的参数传输给所述事务处理进程。
所述根据事务处理进程的状态调整所述事务处理进程的数量包括:
通过进程间通信方式统计所有事务处理进程的状态;
当空闲状态的事务处理进程数量小于预先设置的最小空闲进程数量时,主进程产生若干新的事务处理进程,使得当前空闲状态的事务处理进程数量大于所述最小空闲进程数量;
当空闲状态的事务处理进程数量大于预先设置的最大空闲进程数量时,主进程删除若干新的事务处理进程,使得当前空闲状态的事务处理进程数量小于所述最大空闲进程数量;
当空闲状态的事务处理进程数量在所述最小空闲进程数量和最大空闲进程数量之间时,返回所述监控事务处理进程状态的步骤。
还包括:
当主进程接收到客户端的连接请求后,从所述事务处理进程中选择一个事务处理进程,将所述连接请求传输给所述选择的事务处理进程;
当主进程接收到系统的退出通知后,将所述退出通知传输给所述事务处理进程,并等待所述事务处理进程退出。
还包括:
事务处理进程获取所述侦听SOCEKT,并启动互斥锁;
当所述选择的事务处理进程接收到客户端的连接请求后,释放所述互斥锁;
判断所述客户端的连接是否可用,若是,则将接收客户端的连接请求的事务处理进程设置为忙状态,将未接收客户端的连接请求的事务处理进程设置为空闲状态;否则,返回所述启动互斥锁的步骤。
将接收客户端的连接请求的事务处理进程设置为忙状态后,还包括:
所述事务处理进程启动并发处理模式处理与所述客户端对应的事件;
处理完毕后将所述事务处理进程设置为空闲状态,并返回所述启动互斥锁的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京立通无限科技有限公司,未经北京立通无限科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810116567.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电视频道查找方法及装置
- 下一篇:光缆交接箱箱板及其成型方法