JAWS:自适配Web服务器架构与神经网络PID控制

需积分: 31 28 下载量 40 浏览量 更新于2024-08-09 收藏 7.11MB PDF 举报
"JAWS自适配Web服务器-神经网络pid" JAWS自适配Web服务器是一种高性能且具有自我适应性的Web服务器,它实现了HTTP协议并作为一个平台无关的应用架构,可用于构建其他类型的通信服务器。JAWS的核心设计理念是允许根据环境因素如操作系统内核级线程、异步I/O支持、CPU数量、Web流量模式和工作负载特性等动态调整服务器策略。 JAWS的架构由多个组件和设计模式构成,如图2-3所示。这个架构被称为“构架的构架”(framework of frameworks),主要包括以下几个部分: 1. **事件分派器(Event Dispatcher)**:负责协调并发策略和I/O策略。它基于接受器模式处理被动连接建立,并使用策略模式动态绑定到特定的并发策略和I/O策略,确保请求被正确分派到协议处理器。 2. **并发策略(Concurrency Strategy)**:提供了多种并发机制,如单线程、线程池或Thread-per-Request,可以根据运行时状态或初始化时的预设选择。服务配置器模式用于在运行时配置特定的并发策略。当涉及到多线程时,并发策略会创建遵循主动对象模式的协议处理器。 3. **I/O策略(I/O Strategy)**:处理I/O操作,可以适应不同的平台和环境,如同步或异步I/O。 4. **协议流水线(Protocol Pipeline)**:处理HTTP协议的多个阶段,可能包含多个处理步骤,允许灵活的协议处理和扩展。 5. **协议处理器(Protocol Handler)**:具体执行HTTP协议解析和响应生成,由I/O策略参数化,可以处理来自事件分派器的请求。 6. **缓存式虚拟文件系统(Cached Virtual Filesystem)**:优化静态内容的访问,通过缓存提高性能。 JAWS的设计充分利用了面向对象和设计模式,如ACE库中的组件,增强了软件的可移植性、质量和效率。由于其自适应性,JAWS能够针对不同工作负载和环境条件进行优化,从而提供高效、可预测的服务。此外,由于其开放源码的性质,开发者可以自由地在不同操作系统平台上使用和移植JAWS,而不用担心被特定平台绑定。 ACE(Adaptive Communication Environment)是JAWS的基础,它是一个面向对象的框架,提供了大量可复用的C++组件,用于跨平台的并发通信软件开发。ACE支持事件多路分离、信号处理、服务初始化等多种通信任务,适用于高性能和实时通信服务的开发者。通过使用ACE,开发者可以获得更好的软件可移植性、质量、效率和可预测性,并且能够方便地过渡到如TAO这样的高级中间件实现,如CORBA标准。