网络服务器中间件的研究
发布时间:2020-11-22 00:51
随着计算机和网络技术的飞速发展,不同的硬件平台、网络协议异构环境相继出现,为了适应这些硬件平台和环境,应用软件开发者必须面对许多复杂棘手的问题,因此耗费了大量的时间和精力,人们迫切需要一种基于标准的、独立于计算机硬件以及操作系统的开发和运行环境,中间件技术由此应运而生。 针对C/S通信服务器的特点,论文对网络服务器中间件技术进行了研究,并利用套接字、线程池、I/O派发器等技术开发了一种适合Windows平台的网络服务器中间件。 首先分析了国内外研究现状,讨论了与课题有关的技术原理,包括物理层、逻辑层、I/O派发层、内存池及线程池技术等。在对服务器中间件逻辑层和物理层进行分析的基础上,完成了中间层整体框架及核心功能的设计。其中,物理层采用Windows实现完成端口技术实现高效的通讯层,逻辑层采用线程池技术实现高效的处理层,采用I/O派发机制实现物理层与逻辑层之间的衔接,且有效地解决了I/O独占任务及分布不均衡现象。 其次,论文分析并讨论了构成中间件的数据接收和发送、内存Cache处理、内存池管理、用户层编程接口、用户层数据处理以及I/O请求派发器等各模块的关键技术,并根据模块的功能需求给出了如何进行模块划分以及各个模块的衔接方式,在此基础上给出了各功能模块的实现方法。 最后,论文对该服务器中间件的数据吞吐量以及稳定性进行了模拟测试。测试结果表明:该中间件的性能指标达到了系统设计的要求,可以满足开发网络服务器程序以及客户端通讯的需要,并且该中间件具有良好的稳定性能。
【学位单位】:河北联合大学
【学位级别】:硕士
【学位年份】:2014
【中图分类】:TP393.05
【部分图文】:
采用结构化分层设计,将整个网络中间件分成六部分实现。服务器中间件结构图如图2 所示。图 2 中间件组成模块图Fig.2 Diagram of middleware module此中间件由六部分重要的模块组成:1)数据接收和发送完成模块;2)内存 Cache 处理模块;3)内存池管理模块;4)用户层编程接口模块;5)用户层数据处理模块;6) I/O 请求派发器模块。应用程序利用此中间件提供的用户编程接口提交发送数据或连接服务器请求。首先由 Cache 内存池管理模块负责选取内存块,把选取的内存块地址返回给用户编程接口模块。条件满足之后,把“I/O 请求”提交给数据接收和发送完成模块,异步 I/O 请求提交后,用户的调用完成。“异步 I/O 请求”交给底层的数据接收和发
图 4 类的信息图Fig.4 Chart of class info据结构是与某一个套接字句柄密切相关的各参agPER_HANDLE_CONTEXTIoSocket; //通讯套接字句柄LockCount; //投递 IOCP 内核对ET_STATUS SocketStatus; //对象状态SocketIndex;//提供给应用层 ID 值iProtolMark; //协议(TCP 或是 UiReadIoMemSize; //每次读 I/O 的
河北联合大学硕士学YTE *pData,ULONGa();//获取内存块地OL, *PMEMORY_ 4K。_EightK_Pool:publiszBuffeYTE *pData,ULONGa();//获取内存块地OOL, *PMEMORY 8K。内存池管理模
【参考文献】
本文编号:2893857
【学位单位】:河北联合大学
【学位级别】:硕士
【学位年份】:2014
【中图分类】:TP393.05
【部分图文】:
采用结构化分层设计,将整个网络中间件分成六部分实现。服务器中间件结构图如图2 所示。图 2 中间件组成模块图Fig.2 Diagram of middleware module此中间件由六部分重要的模块组成:1)数据接收和发送完成模块;2)内存 Cache 处理模块;3)内存池管理模块;4)用户层编程接口模块;5)用户层数据处理模块;6) I/O 请求派发器模块。应用程序利用此中间件提供的用户编程接口提交发送数据或连接服务器请求。首先由 Cache 内存池管理模块负责选取内存块,把选取的内存块地址返回给用户编程接口模块。条件满足之后,把“I/O 请求”提交给数据接收和发送完成模块,异步 I/O 请求提交后,用户的调用完成。“异步 I/O 请求”交给底层的数据接收和发
图 4 类的信息图Fig.4 Chart of class info据结构是与某一个套接字句柄密切相关的各参agPER_HANDLE_CONTEXTIoSocket; //通讯套接字句柄LockCount; //投递 IOCP 内核对ET_STATUS SocketStatus; //对象状态SocketIndex;//提供给应用层 ID 值iProtolMark; //协议(TCP 或是 UiReadIoMemSize; //每次读 I/O 的
河北联合大学硕士学YTE *pData,ULONGa();//获取内存块地OL, *PMEMORY_ 4K。_EightK_Pool:publiszBuffeYTE *pData,ULONGa();//获取内存块地OOL, *PMEMORY 8K。内存池管理模
【参考文献】
相关期刊论文 前3条
1 张昊;廖建新;朱晓民;;增强型动态反馈随机分发负载均衡算法[J];计算机工程;2007年04期
2 刘健,徐磊,张维明;基于动态反馈的负载均衡算法[J];计算机工程与科学;2003年05期
3 郭成城,晏蒲柳;一种异构Web服务器集群动态负载均衡算法[J];计算机学报;2005年02期
相关博士学位论文 前1条
1 符青云;面向大规模流媒体服务的高性能存储系统研究[D];电子科技大学;2009年
相关硕士学位论文 前2条
1 魏平;一些预测算法的研究与应用[D];浙江大学;2004年
2 柳旭日;基于负载预测和过载迁移的动态负载均衡研究[D];青岛理工大学;2009年
本文编号:2893857
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/2893857.html