一种异步网络环境下的高并发无锁代理转发实现方法技术

技术编号:30688511 阅读:33 留言:0更新日期:2021-11-06 09:21
本发明专利技术公开了一种异步网络环境下的高并发无锁代理转发实现方法,包括步骤:将网络操作和业务逻辑进行隔离,且彼此通过消息队列在工作线程池之间进行消息传递等;本发明专利技术精简了业务流程,适应在异步网络环境下的大规模用户并发访问,能够实现访问过程的业务数据代理转发完全无锁化,有效地提高网络业务并发处理能力和代理转发通信性能等。力和代理转发通信性能等。力和代理转发通信性能等。

【技术实现步骤摘要】
一种异步网络环境下的高并发无锁代理转发实现方法


[0001]本专利技术涉及网络通信领域,更为具体的,涉及一种异步网络环境下的高并发无锁代理转发实现方法。

技术介绍

[0002]SOCKS 5代理是一种通用的代理服务,它遵循标准的SOCKS 5网络代理协议,与具体应用协议无关,其原理是应用客户端要访问应用服务器时,通过SOCKS 5代理客户端与SOCKS 5代理服务器建立网络连接,然后SOCKS 5代理服务器再建立到应用服务器的网络连接,后续应用访问数据就按照“应用客户端<
‑‑‑
>SOCKS 5代理客户端<
‑‑‑
>SOCKS 5代理服务器<
‑‑‑
>应用服务端”流程进行代理转发。
[0003]SOCKS 5代理服务器能够屏蔽内部保护的应用服务器信息,所有访问应用服务器的应用终端实际访问的都是SOCKS 5代理服务器,再通过SOCKS 5代理服务器与应用服务器进行代理转发。应用终端的一个应用访问网络连本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种异步网络环境下的高并发无锁代理转发实现方法,其特征在于,将网络操作和业务逻辑进行隔离,且彼此通过消息队列在工作线程池之间进行消息传递。2.根据权利要求1所述的一种异步网络环境下的高并发无锁代理转发实现方法,其特征在于,代理转发的两个session彼此通过parent_session或者child_session指针管理对端session信息,通过判断对端session指针是否为空确认关联session是否已经关闭;session表示网络会话,parent_session表示父会话,child_session表示子会话;对于服务端连接来说,客户端连接是自己的child_session;相应的,对应的服务端连接为客户端连接的parent_session;任意时刻,一个parent_session对应着唯一的一个child_session;当相应的单边session进行关闭时,同步关闭关联的另一端session。3.根据权利要求1或2任一所述的一种异步网络环境下的高并发无锁代理转发实现方法,其特征在于,通过session的关联标记判断该session是否在进行关联操作,不允许在session获取关联标记失败时进行数据转发,并将当前消息放入队列等待下一次轮询处理;同时,不允许在session的关联操作期间关闭该session。4.根据权利要求3所述的一种异步网络环境下的高并发无锁代理转发实现方法,其特征在于,当需要关闭session时,先通知关联session进行关闭,并在通知后设置关联session指针为空。5.根据权利要求4所述的一种异步网络环境下的高并发无锁代理转发实现方法,其特征在于,包括步骤:S1,parent_session创建child_session时,彼此保存对端session指针;S2,关联标记属性声明,指明session的关联操作状态;如果值为true表示关联操作进行中,如果值为false表示未进行关联操作,默认为fa...

【专利技术属性】
技术研发人员:颜光伟刘扬陈勃翰尚松超
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1