当前位置:问答库>论文摘要

题目:面向组件的WEB应用框架及其服务端优化技术的研究与应用

关键词:Web应用;面向组件;自动组装;交叉cookie;分布式终止检测;二进制优化

  摘要

新一代Web应用的迅猛发展,对Web应用的架构和Web服务器的性能都提出了新的挑战。本文以面向组件的设计思想重新研究了Web客户端的应用架构,并从分布式协议终止检测和二进制优化两方面研究了Web服务端的性能优化问题。在Web客户端我们提出了名称为CompoWeb的面向组件的应用架构和名称为交叉cookie协议的状态持久化方案。在CompoWeb中,一个Web应用被解耦为多个Web组件,每个组件都实现了对内部文档结构和脚本逻辑的封装,并和其他组件在运行环境上隔离开来以保障安全性和可靠性。Web组件之间只能通过基于契约的Web接口通讯。一个Web组件不仅可以实现某个Web接口,还可以主动声明对其他Web接口的需求,从而实现延迟绑定等高级组件装配技术。与普通的脚本调用不同的是,CompoWeb保证对Web组件的功能调用总是在被调用者的环境内运行,这样就保护了调用的两端都不易受恶意代码的攻击。而交叉cookie协议则指出,在限定一项cookie数据的共享范围时,浏览器不仅应考察当前Web组件的来源,而且应考察Web组件在聚合页面中的客户端位置信息。通过交叉cookie协议的支持,从全局化角度看,我们允许一个Web组件将自己记录的状态数据共享给Web应用中的其他组件;从局部化角度看,同一个Web组件的各个实例都可以拥有自己的状态数据。同时交叉cookie协议还支持浏览器用户对第三方cookie进行细粒度的访问权限控制。在Web服务端,针对Web服务端的性能优化,本文提出了基于执行分数向量的分布式操作终止检测算法,以及名为Binco的混合二进制优化框架。本文提出的分布式操作终止检测算法,将执行分数向量这种数据结构引入经典的Mattern算法,从而改善了原有算法的时间和空间效率,并由此提升了Web服务端响应速度的可伸缩性。Binco框架则支持在不依赖Web应用源代码的情况下,将二进制优化分为两个步骤执行:首先是使用动静态混合的剖绘分析得出服务端程序的热点区域所在,以及热点区域的指令结构,然后使用例如软件固件化这样的定制优化模块改变相应区域的代码序列和执行方式,并最终达到提高系统整体执行效率的目标。