APP下载

基于云计算的Web系统架构设计

2014-05-19王新颖

湖北文理学院学报 2014年2期
关键词:租户数据表日志

王新颖



基于云计算的Web系统架构设计

王新颖

(湖北文理学院 数学与计算机科学学院,湖北 襄阳 441053)

针对传统Web系统架构存在的问题,结合湖北文理学院的云计算平台优势,提出了一个基于云计算的Web系统架构. 该架构具有可伸缩优点,支持一云多屏显示和离线应用机制. 借助多租户思想,该架构可向用户提供个性化和多样化的规模化定制.

云计算;Web系统;多租户

随着网络技术的快速发展,每个企事业单位均建有自己的Web系统,以适应现今的信息化需要. 然而,搭建传统的Web系统架构,企事业单位在购买Web软件产品的同时,还需要购买服务器设备,并且对其维护成本高昂. 这对于中小企事业单位来说,是不可承受的[1]. 首先,在建立Web系统初期,需要一次性的支付软件产品费用和服务器设备费用,对于中小企事业单位来说是个不小的经济压力. 其次,在Web系统运行过程中,要安排一名专职计算机维护人员对系统进行日常维护,增加了企事业单位的信息化成本. 并且对于软件开发者来说,按照图1所示的传统Web系统架构开发软件产品,由于不能批量化生产,开发成本和维护成本巨大,盈利空间越来越小.

图1 传统的Web系统架构

针对上述问题,结合湖北文理学院数学与计算机科学学院建立的云计算平台优势,笔者在本文中探讨设计基于云计算的Web系统架构. 并借助多租户思想为用户提供个性化和多元化的规模化定制.

1 基于云计算的Web系统架构

基于云计算的Web系统架构包括IaaS平台、PaaS平台和SaaS平台三个组成部分,如图2所示. IaaS平台提供存储和计算等硬件资源,PaaS平台提供资源管理、设备管理、监控管理、安全管理以及计费管理等平台服务,SaaS平台对外提供Web应用程序服务. 用户可以利用PC、便携电脑、智能手机和PDA等终端访问SaaS平台的Web系统,从而实现了提供软件产品向提供软件服务的转变. 本文主要基于云计算的SaaS平台的Web系统应用架构设计探讨.

2 基于云计算的SaaS平台的Web系统应用架构

Web系统在SaaS平台上构建,支持多租户模式,只需运行一个应用系统实例,就可以满足不同单位的不同用户,做到一次开发,多次使用,大大节约了开发成本和维护费用,如图3所示. 本架构基于多租户模式[2],可向用户提供个性化和多样化的定制服务[3];随着用户量的动态变化,本架构具备自动伸缩的能力[4];由于多租户共享一个应用实例,安全性显得尤为重要;为了让用户具有好的应用体验,本架构支持离线应用和一云多屏显示. 以下就多租户设计、个性化和多元化定制、可伸缩机制、安全机制、离线应用和一云多屏等方面展开讨论.

2.1 多租户设计

多租户实现有三种模式:“独立数据库”模式、“共享数据库隔离数据架构”模式、“共享数据库共享数据架构”模式. 基于维护和设备购置成本的考虑,本架构采用“共享数据库共享数据架构”模式. 实现多租户的具体方法是:首先建立一个租户表(Tenant),租户数据表如表1所示;再在其它与租户有关的数据表中增加TenantID字段,比如在用户表中添加TenantID字段. 用户数据表如表2所示.

图2 基于云计算的Web系统架构

表1 租户数据表

表2 用户数据表

2.2 个性化和多元化定制

在网络化和服务化背景下,软件生产的目标是满足个性化和多元化的大众需求的规模化定制. 对于Web系统,不同的单位组织在使用过程中,从数据、功能和界面等方面都存在一定的差异. 因此,各个租户可以根据自身的特点,从如下三个方面进行个性化定制:1)数据定制. Web系统在提供Web服务过程中,只运行一个实例,不同的租户共享这个实例. 不同的租户根据自己的工作特点,往往需要保存特有的数据. 本架构采用预分配定制字段方式,允许用户进行数据定制操作,从而实现了不同租户在数据上的个性化定制. 2)功能定制. SaaS软件面对的是大多数租户,功能强大. 不同的租户可以根据自己的实际情况定制不同的功能包,按需定制,按需付费,这正充分体现了网络化软件的特征. 3)界面定制.不同的租户希望界面展现自己单位的风格特点,因此,租户可以在系统上从菜单和页面元素两方面进行个性化定制.

2.3 可伸缩机制

基于云计算的Web系统架构提供了可伸缩能力,随着用户量的动态变化,系统可以自动实现应用服务器的快速扩展. 用户量在5000个以下时,只需要一台应用服务器即可满足访问需求. 如果在某一个时间点用户的访问量急剧增加,负载均衡机制会快速启动更多的应用服务器以满足用户需求. 相反,如果用户的访问量变小,负载均衡机制会关闭部分应用服务器以降低消耗.

2.4 安全机制

身份认证 身份认证是系统安全的基础,是对客户身份的识别和认证. 通过身份认证,能够阻止非法用户使用系统或冒充他人登录系统. 在Web系统中,采用“非集中式认证”方式,实现了用户的“单点登录”,一次登录可以全网漫游,增强了系统的友好性.

权限管理 权限管理就是控制用户是否有权限使用系统的功能,确保有权限的用户正常使用系统,没有权限的用户不能使用系统. 在基于云平台的Web系统架构中的权限管理,要为用户分配权限. 具体方法是管理员为租户授予权限分配能力,租户为用户分配系统的使用权限. 当用户访问Web系统时,系统判断租户是否定制了该功能包,如果租户没有定制该功能包,就无需判断用户是否具有使用权限;如果租户定制了该功能包,再判断用户是否被授予了使用权限.

日志记录 日志记录是记下用户的操作过程,包括行为日志记录和数据日志记录. 行为日志会记下用户访问的页面和访问时间,以及在访问页面执行的操作和操作时间. 数据日志记录用户对数据执行了哪些操作,以及执行操作的时间. 通过日志记录,系统可以提供用户的操作历史,增强了系统的可信性.

数据加密 由于基于云平台的Web系统是基于多租户的,因此,数据的安全性尤为重要,需要采取加密措施来保护用户的数据安全. 对用户来说,密码至关重要. 在本Web系统架构中,采用MD5加密算法对存储密码进行加密[5],以保证信息数据的安全. 由于MD5不可逆,因此,他人即使获得了MD5码,也无法知道用户密码. 比如用户的密码为“zhongyuan”,经MD5加密后得到MD5(129F1B9ED6264093E9BD 4F04A32CE7EF),根据MD5加密算法的不可逆特性,他人无法根据MD5码获得用户的密码. 对于用户的关键数据,租户是需要还原使用的,因此,本系统采用AES加密机制保证其安全性.

2.5 离线应用

为解决网络不稳定给用户带来的影响,在Web系统架构中引入离线应用机制. 当用户在使用本系统时,系统首先检查网络的连接状态,并根据网络的状态来决定采用本地策略还是服务器策略. 在本地应用中,数据在本地存储,在网络连通后本地存储的数据会和服务器执行数据同步操作.

2.6 一云多屏

随着Android/IOS的普及,智能手机、PDA等智能终端大量涌现,人们上网的方式不仅仅局限于电脑上网. 在该系统架构中,采用一云多屏技术,将云计算的结果可以通过多种方法显示出来,比如通过计算机、手机、PDA等.

3 基于云计算的Web系统架构应用

基于云计算的Web系统架构,设计开发客户关系管理系统,具体设计过程如下:1)在数据库设计过程中,参照表1建立租户数据表,参照表2在其它与租户有关的数据表中增加TenantID字段,实现多租户设计. 2)采用预分配定制字段的方式,实现不同租户在数据上的个性化定制. 设计了订单管理、产品功能、基础管理、客户管理、客服人员管理、记录管理、行程管理等7个功能包,实现功能包定制. 提供了界面定制接口,实现界面定制. 3)参照图3的负载均衡机制实现系统的可伸缩能力. 4)采用“非集中式认证”方式实现系统的身份认证;在传统权限管理的基础上,增加了租户管理;通过日志记录,增强了系统的可信性;采用MD5加密机制实现用户的密码安全,采用AES加密机制实现关键数据的安全性. 5)采用离线应用机制实现本地数据和服务器数据的同步;采用一云多屏技术实现了云计算结果的多重方法显示.

基于多租户模式,该客户关系管理系统在云计算平台上运行一个实例,就可以供多个单位同时使用. 每个单位在使用此系统时,可根据单位自身的实际需求和资金情况,订购不同的功能包. 依据上述论述,湖北文理学院设计开发了客户关系管理系统,已经成功运行5个月时间,现拥有20个租户(即20家单位正在使用),且租户数量正在进一步增长中. 实践表明,基于云计算的Web系统架构可行. 它与基于服务器的Web系统架构相比,可实现个性化和多元化的规模化定制,具有很大优势,如表3所示.

表3 两种Web系统架构比较分析表

4 结语

在湖北文理学院建立的云计算平台的基础上,设计了基于云计算的Web系统架构. 该架构的设计,对企事业单位来说,软件应用实现了从“为我所有”向“我所用”的转变,用户不再购买软件产品本身,而是购买软件提供的服务,大大节约了信息化成本;对软件开发者来说,软件实现了规模化定制的生产方式,可节约开发成本和维护费用.

[1] 马于涛, 何克清, 李 兵, 等. 网络化软件的复杂网络特性实证[J]. 软件学报, 2011, 22(3): 381-407.

[2] 陈 全, 邓倩妮. 云计算及其关键技术[J]. 计算机应用, 2009, 29(9): 2562-2567.

[3] 张建勋, 古志民, 郑 超. 云计算研究进展综述[J]. 计算机应用研究, 2010, 27(2): 429-433.

[4] 谢桂园, 魏文国, 何克晶. 可伸缩并行Web服务器体系结构的设计与研究[J]. 海南大学学报: 自然科学版, 2009, 27(1): 69-72.

[5] 张浩华, 齐维毅, 赵子夫, 等. 基于JAVA技术的MD5加密算法的设计与实现[J]. 沈阳师范大学学报: 自然科学版, 2009, 27(1): 75-77.

Design of Architecture for Web Systems Based on Cloud Computing

WANG Xinying

(School of Mathematical and Computer Sciences, Hubei University of Arts and Science, Xiangyang 441053, China)

Aiming at the problems existing in the architecture of traditional web system, a web system architecture based on cloud computing is proposed, combined with cloud computing platform’s advantages of Hubei University of Arts and Science. This architecture has the advantage of scalable, supports multi screen display of one cloud and offline application mechanism. With the help of a thought on multi-tenant, the architecture can provide users with personalized and diversified large-scale customization.

Cloud computing; Web system; Multi-tenant

2013-10-08;

2013-12-30

湖北省教育厅科学技术研究基金资助项目(B2013102)

王新颖(1976— ), 男, 河南平顶山人, 湖北文理学院数学与计算机科学学院讲师.

TP399

A

2095-4476(2014)02-0016-04

(责任编辑:陈 丹)

猜你喜欢

租户数据表日志
一名老党员的工作日志
扶贫日志
湖北省新冠肺炎疫情数据表
基于多租户隔离的云安全建设
基于列控工程数据表建立线路拓扑关系的研究
游学日志
基于MVC模式的多租户portlet应用研究*
图表
企业多租户云存储平台的设计与实现
基于VSL的动态数据表应用研究