一种高性能的ssl代理装置及其方法_3

文档序号:8415567阅读:来源:国知局
事件监听队列。
[0079]所述后台处理步骤还包括:操作处理步骤,线程的epoll事件触发后根据用户的资源操作请求,进行用户端和后台资源服务器的读写数据操作。
[0080]所述操作处理步骤完成用户端和后台资源服务器的读写数据操作后返回epoll等待步骤。
[0081]综上所述,通过给每个进程多创建一个线程,分摊和用户端以及和后台资源服务器的双向SSL协商过程,双epoll模型事件处理,减少SSL协商过程与用户数据读写处理的相互影响。针对加密卡多核心的特点,开启更多的进程或者添加线程都可以达到一样的效果。在实际测试过程中,开启24个进程(服务器CPU核心数为8)情况下:吞吐量860Mbps;并发性能10000,相比原有方案新能有很大提升。本发明在同样的CPU资源消耗下,充分利用了 SSL加密卡多个加解密核心的处理特点,提升了处理性能。本发明程序结构更合理,使SSL代理程序在高压力测试下运行稳定。
[0082]另外,优选的实施例采用的是非阻塞epoll结构,再支持SSL加密卡非阻塞加解密功能,性能在此基础上还能大大提升。采用非阻塞epoll结构和本实施例的区别主要在于epoll事件触发后,处理套接字读写buffer非阻塞比阻塞状况多一点处理,由于这属于非阻塞印oil结构和阻塞印oil结构本身的差异,故在此不再赘述。无论非阻塞epoll结构和阻塞epoll结构,只要其采用通过添加线程处理,使新建用户端SSL连接和新建后台资源服务器SSL连接异步化,并针对所述两个SSL连接采用双重epoll模型分别进行处理就可以达到。
[0083]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种高性能的SSL代理装置,其作为WEB服务软件应用于服务器,其特征在于,包括: 用户端连接模块,用于接收用户访问并同用户端进行协商,建立用户端SSL连接; 后台处理模块,用于接收用户的资源操作请求并同后台资源服务器进行协商,建立后台资源服务器连接,并根据用户的资源操作请求,进行用户端和后台资源服务器的读写数据操作; 所述用户端连接模块和所述后台处理模块分别位于同一进程的两个线程中。
2.如权利要求1所述的高性能的SSL代理装置,其特征在于,所述后台处理模块建立和后台资源服务器连接为建立和后台资源服务器SSL连接。
3.如权利要求2所述的高性能的SSL代理装置,其特征在于,所述用户端连接模块和所述后台处理模块分别采用各自的epoll模型。
4.如权利要求3所述的高性能的SSL代理装置,其特征在于,所述epoll模型可以为阻塞的epoll结构或者非阻塞的epoll结构。
5.如权利要求3所述的高性能的SSL代理装置,其特征在于,所述用户端连接模块包括:初始化单元,用于进行epoll初始化;套接字返回单元,用于在用户访问触发epoll事件时,返回用户套接字;SSL协商单元,用于和用户端进行SSL协商,建立SSL连接;线程处理单元一,用于将用户的套接字和SSL结构体添加到线程处理块结构体数组中并初始化线程处理块结构体数组中的相关值;监听队列加入单元一,将用户的套接字加入线程中的epoll事件监听队列。
6.如权利要求5所述的高性能的SSL代理装置,其特征在于,所述后台处理模块包括:epoll等待单元,用于在接收到用户的资源操作请求后,线程等待事件的触发;SSL连接单元,用于根据与后台资源服务器建立连接的状态值与后台资源服务器协商,建立SSL连接;线程处理单元二,用于将与后台资源服务器连接的套接字和SSL结构体加入线程处理块结构体数组中并初始化线程处理块结构体数组中的相关值;监听队列加入单元二,将后台资源服务器的套接字加入线程中的epoll事件监听队列。
7.如权利要求6所述的高性能的SSL代理装置,其特征在于,所述后台处理模块还包括:操作处理单元,用于线程的epoll事件触发后根据用户的资源操作请求,进行用户端和后台资源服务器的读写数据操作。
8.如权利要求7所述的高性能的SSL代理装置,其特征在于,所述操作处理单元完成用户端和后台资源服务器的读写数据操作后返回epoll等待单元。
9.一种高性能的SSL代理方法,其作为WEB服务软件应用于服务器,其特征在于,包括如下步骤: 用户端连接步骤,接收用户访问并同用户端进行协商,建立用户端SSL连接; 后台处理步骤,接收用户的资源操作请求并同后台资源服务器进行协商,建立后台资源服务器连接,并根据用户的资源操作请求,进行用户端和后台资源服务器的读写数据操作; 所述用户端连接步骤和所述后台处理步骤分别位于同一进程的两个线程中。
10.如权利要求9所述的高性能的SSL代理方法,其特征在于,所述后台处理步骤中建立和后台资源服务器连接为建立和后台资源服务器SSL连接。
11.如权利要求10所述的高性能的SSL代理方法,其特征在于,所述用户端连接步骤和所述后台处理步骤分别采用各自的epoll模型。
12.如权利要求11所述的高性能的SSL代理方法,其特征在于,所述epoll模型可以为阻塞的epoll结构或者非阻塞的epoll结构。
13.如权利要求11所述的高性能的SSL代理方法,其特征在于,所述用户端连接步骤包括:初始化步骤,进行epoll初始化;套接字返回步骤,在用户访问触发epoll事件时,返回用户套接字;SSL协商步骤,和用户端进行SSL协商,建立SSL连接;线程处理步骤一,将用户的套接字和SSL结构体添加到线程处理块结构体数组中并初始化线程处理块结构体数组中的相关值;监听队列加入步骤一,将用户的套接字加入线程中的epoll事件监听队列。
14.如权利要求13所述的高性能的SSL代理方法,其特征在于,所述后台处理步骤包括:epoll等待步骤,在接收到用户的资源操作请求后,线程等待事件的触发;SSL连接步骤,根据与后台资源服务器建立连接的状态值与后台资源服务器协商,建立SSL连接;线程处理步骤二,将与后台资源服务器连接的套接字和SSL结构体加入线程处理块结构体数组中并初始化线程处理块结构体数组中的相关值;监听队列加入步骤二,将后台资源服务器的套接字加入线程中的epoll事件监听队列。
15.如权利要求14所述的高性能的SSL代理方法,其特征在于,所述后台处理步骤还包括:操作处理步骤,线程的epoll事件触发后根据用户的资源操作请求,进行用户端和后台资源服务器的读写数据操作。
16.如权利要求15所述的高性能的SSL代理方法,其特征在于,所述操作处理步骤完成用户端和后台资源服务器的读写数据操作后返回epoll等待步骤。
【专利摘要】本发明提供一种高性能的SSL代理装置,其作为WEB服务软件应用于服务器。用户端连接模块,用于接收用户访问并同用户端进行协商,建立用户端SSL连接。后台处理模块,用于接收用户的资源操作请求并同后台资源服务器进行协商,建立后台资源服务器连接,并根据用户的资源操作请求,进行用户端和后台资源服务器的读写数据操作。所述用户端连接模块和所述后台处理模块分别位于同一进程的两个线程中。本发明可以充分利用SSL加密卡处理芯片的特性来提高数据处理的性能,使其能够在高压力工作时更加稳定。
【IPC分类】H04L29-06, G06F9-46
【公开号】CN104735023
【申请号】CN201310700265
【发明人】云晓春, 朱海龙, 王东安, 王博, 吴震, 韩冰, 何瑞普
【申请人】国家计算机网络与信息安全管理中心, 杭州迪普科技有限公司
【公开日】2015年6月24日
【申请日】2013年12月18日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1