论文部分内容阅读
SaaS,软件即服务,是近些年来发展起来的一项新的软件开发和部署方式。和传统软件不同,SaaS本身具有对于市场的敏捷反应,开发周期短,运营成本低等特点,并且可以同时给很多企业和个人提供服务,所以非常适合大量中小型企业作为网上办公系统。与此同时,对SaaS软件设计架构和部署提出了更高的要求,如何在满足大量用户同时访问的前提下,保证每个用户的服务质量,也是SaaS要面对的问题。本文通过对SaaS特点的论述,深入到SaaS架构设计,包括SaaS的元数据层,权限管理层和用户数据查询层,并且分别对应用技术和查询性能做了阐述和讨论。1.为了实现高度的可配置和稳定性,提出了元数据架构。元数据,即生成数据架构的数据,保存在SaaS系统运营端。根据元数据查询的普遍性,在元数据层,通过配置了缓存系统,保存所有元数据,提高查询性能。2.为了实现更松耦合的系统,把SaaS系统,权限管理系统,用户数据查询系统进行了分离,通过网络通信,并且承诺了数据安全,让企业更倾向于用SaaS的模式来进行办公。在权限管理层,我们采用了LDAP目录查询的方式来保证查询的速度,因为权限在SaaS系统中一般是不易改变的数据,所以,我们是用读性能要远远好于写性能的LDAP协议来实现SaaS的权限管理系统。3.此外,在用户数据查询层,MIT提出了DaaS的概念,数据库即服务,保存数据的可以是一项网络服务,那么用户数据保存在云端,或者用户数据保存在公司本地,提高了SaaS数据的安全性和对用户的可信性。分离用户数据和SaaS数据带来的一项结果是,SaaS查询必须定位到数据查询节点上面,所以说在我们实现系统的过程中把定位这项操作放到了权限管理系统的范畴内。另外,为了有更好的查询性能,同样的,用户数据查询层面加入了查询缓存,但是由于用户数据繁杂性,查询缓存只能是加载部分数据,而通过命中性和占用空间来判断用户数据的查询价值,本文给出了一项查询的价值的衡量方法,并且在查询缓存的层面提出了一些优化方式。总之,本文对SaaS系统架构进行了剖析,对每一块的实现过程提出了自己的设计和解决方案,并且保证的SaaS的查询和存储性能。采用了一些新技术例如一致性高速缓存来实现查询缓存,LDAP来实现基于目录的权限管理系统等。