web用户访问行为分析(精选11篇)
Nginx来处理访问控制的方法有多种,实现的效果也有多种,访问IP段,访问内容限制,访问频率限制等。用Nginx+Lua+Redis来做访问限制主要是考虑到高并发环境下快速访问控制的需求。Nginx处理请求的过程一共划分为11个阶段,分别是:
post-read、server-rewrite、find-config、rewrite、post-rewrite、preaccess、access、post-access、try-files、content、log.在openresty中,可以找到:
set_by_lua,access_by_lua,content_by_lua,rewrite_by_lua等方法。那么访问控制应该是,access阶段。
1.解决思路
按照正常的逻辑思维,我们会想到的访问控制方案如下: 1.检测是否被forbidden?
=》是,forbidden是否到期:是,清除记录,返回200,正常访问;否,返回403; =》否,返回200,正常访问
2.每次访问,访问用户的访问频率+1处理
3.检测访问频率是否超过限制,超过即添加forbidden记录,返回403 这是简单地方案,还可以添加点枝枝叶叶,访问禁止时间通过算法导入,每次凹曲线增加。
2.Config 首先为nginx添加vhost配置文件,vhost.conf部分内容如下: 2 3 4 lua_package_path “/usr/local/openresty/lualib/?.lua;;”;#告诉openresty库地址 lua_package_cpath “/usr/local/openresty/lualib/?.so;;”;5 6 7 8 9 10 11 12 13 14 error_log /usr/local/openresty/nginx/logs/openresty.debug.log debug;
server { listen 8080 default;server_namelocalhost;root /的做法,redis存储方案只做简单地string存储就足够了。key分别是: 用户登录记录:user:127.0.0.1:time(unix时间戳)访问限制:block:127.0.0.1 先连接Redis吧:
local red = redis:new()1 2 3 4 5 6 7 8 functionM:redis()red:set_timeout(1000)local ok, err = red:connect(“127.0.0.1”, 6379)if not ok then
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)end end 按照我们的逻辑方案,第二步是,检测是否forbidden,下面我们就检测block:127.0.0.1,如果搜索到数据,检测时间是否过期,未过期返回403,否则直接返回200:
function M:check1()1 2 3 4 5 6 7 8 9 10 11 12 13 local time=os.time()--system time local res, err = red:get(“block:”..ngx.var.remote_addr)if not res then--redis error
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)--redis get data error end
if type(res)== “string” then--if red not null then type(red)==string
iftonumber(res)>= tonumber(time)then--check if forbidden expired
ngx.exit(ngx.HTTP_FORBIDDEN)
--ngx.say(“forbidden”)
end end } 接下来会做检测,是否访问频率过高,如果过高,要拉到黑名单的,实现的方法是,检测user:127.0.0.1:time的值是否超标: 2 3 4 5 6 7 8 9 10 11 12 13 function M:check2()local time=os.time()--system time local res, err = red:get(“user:”..ngx.var.remote_addr..“:”..time)if not res then--redis error
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)--redis get data error end 14 15
if type(res)== “string” then
iftonumber(res)>= 10 then--attack, 10 times request/s
red:del(“block:”..self.ip)
red:set(“block:”..self.ip, tonumber(time)+5*60)--set block time
ngx.exit(ngx.HTTP_FORBIDDEN)
end end end 最后呢,还要记得,把每次访问时间做一个自增长,user:127.0.0.1:time: 2 3 4 5 functionM:add()local time=os.time()--system time 6 7 ok, err = red:incr(“user:”..ngx.var.remote_addr..“:”..time)if not ok then
目前,Web服务中的访问控制大多是基于角色的访问控制 (RBAC) 。RBAC使访问控制中的规则大为减少,也避免了因人员调动而引起的授权变化。然而,RBAC模型应用于web却有很大的局限性。第一,RBAC模型是基于身份的静态授权机制,而Web环境却具有高度的动态性,这使得RBAC难以在Web环境下实施。第二,RBAC最初是应用于企业的模型,只要定义数量较少的角色就可以满足要求,而Web服务却拥有数量巨大的用户,这容易引起RBAC模型中角色扩散。第三,RBAC虽然包含最小权限原则,但在实际中都在一定程度上存在最小权限空置的问题。
针对上述RBAC的局限性,有许多相关的研究。文[-2]提出的扩展模型,在一定程度解决了"最小权限"问题,但都仍然是单纯基于身份的授权机制;文[3]提出的模型具有动态性,但是基于过去交往的行为证据之上,而我们需要的是未来的用户行为是否安全。基于RBAC模型在web环境下的局限性和以上的研究,本文提出了一种Web环境下基于用户行为预测的动态角色
访问控制(User-Behavior Prediction and Dynamic Role-Based Access Control, UBP-DRBAC)模型。
1、基于贝叶斯网络的用户行为预测
1.1用户行为的贝叶斯网络模型
用户行为预测的贝叶斯网络模型如图1所示,是一个有向无环图,父节点是用户行为总体信任T,叶节点是用户行为的性能属性P、可靠性属性R和安全属性S。节点间的有向边代表了节点间的相互关系(由父节点指向其后代节点) ,用条件概率表达关系强度。
1.2用户行为预测的数据结构
用户行为预测的数据结构中,不保留节点的所有值,只保留两类节点值: (1) 节点值在某范围内与该预测用户的历史交往次数,每次交往后,交往的总次数加1,节点值落在的范围对应的交往次数加1,其他不变; (2) 两个和两个以上的不同节点值同时落在的不同范围的次数,用二维数组存储,节点值落在三个和四个不同属性和用户行为范围内的次数分别用三维和四维数组存储。例如二维数组
表示存储节点值既落在根结点T又落在叶节点P的次数。
1.3用户行为信任预测的先验数据的计算
整体用户行为的先验概率、行为特性的先验概率和根节点T在Tj这个范围内的条件下叶节点在Pi范围内的概率P PiTj%可分别用公式 (1) 、 (2) 和 (3) 计算。
其中n表示与所预测用户交往的总次数,mi、ai分别表示与所预测用户的交往历史中T值、P值分别在Ti (1≤i≤l) 、Pi (1≤i≤l) 这几个区间范围内的交往次数。这里T值、P值由用户行为评估得到。TPji表示在与所预测用户的交往历史中根节点T的值在Tj范围内同时叶节点P的值在Pi范围内的交往次数,P Pi, Tj表示TPji的概率。
1.4用户行为的预测
利用贝叶斯公式, 可以预测不同安全和性能组合的用户信任等级概率。例如,用公式 (4) 可计算性能特性“信任” (P1) 并且安全特性也“信任” (S1) 的条件下,用户总体行为“基本信任” (T2) 的概率。
2、UBP-DRBAC模型
基于用户行为预测的动态角色访问控制(User-BehaviorPrediction and Dynamic Role-Based Access Control, UBP-DR-BAC) 模型是在RBAC基础上, 增加了用户行为预测集而建立的一种新的访问控制模型。其结构模型图如图2所示。用户行为预测集合的加入, 使UBP-DRBAC模型的授权不再是纯粹基于身份信任的静态机制, 而成为基于身份信任和行为信任相结合的动态机制。
2.1 UBP-DRBAC模型的形式化描述
UBP-DRBAC模型的授权是一个四元组,即UBP-DRBAC=U, R, PD, P,其中,U是用户,R表示用户的角色,PD表示用户行为预测级别,P表示权限。即:用户U在拥有角色R和用户行为预测级别PD时可以获得权限P。下面详细介绍。
2.1.1基本概念
UBP-DRBAC模型继承了RBAC的所有元素,并做了相应扩展。下面对UBP-DRBAC模型中各元素描述如下:
定义1.用户 (User) :用户是一个访问计算机系统中的资源的主体。用U表示全体用户的集合,即U=user1, user2, …usern。
定义2.预测级别 (Trust Prediction Degree) :预测级别是一定范围的用户行为预测值的集合。用PD表示全体信任预测级别的集合,即PD=pd1, pd2, …pdn。预测级别是根据预测值进行划分的,对应的用户行为预测值越高,预测等级也越高,且任意两个预测等级所对应的预测值集合相交为空集。
定义3.角色(Role):角色对应于某一特定的职位,它代表一种权利、资格和责任。用R表示全体角色的集合,即
这里的角色和RBAC中的角色有较大的区别,RBAC中的角色是静态的,它与具体的权限进行绑定,即在角色激活前,该角色所有的权限就已经被确定了。而这里的提出的角色可以被理解是动态的,它会因为在被激活时,拥有不同的用户行为预测级别而拥有不同的权限,即它所拥有的权限在激活之后被确定。
定义4.权限 (Permission) :权限是对计算机系统中的一个或多个数据对象进行某种方式访问的许可。用P表示全体权限的集合, 即:
2.1.2指派关系
UBP-DRBAC模型包含三种指派关系: (1) 用户指派关系(UA) :
(2) 权限指派关系 (PA) :PA哿R×PD; (3) 预测等级指派:PDA哿PD×R。其中 (1) 和 (2) 与RBAC中的指派相同, (3) 是UBP-DRBAC模型特有的一种指派,它是动态的指派关系。同一角色在不同的情况下可能被指派不同的预测等级,即使是同一用户,其角色也可能由于在不同时间登陆被指派不同的预测等级值。2.1.3角色继承
UBP-DRBAC模型中除了包含RBAC中的角色继承外,还包含着一种特有的角色继承关系:同一角色间的依预测级别向上继承的关系,即同一角色间的高预测等级可以继承低预测等级的权限,如图3所示。
2.2 UBP-DRBAC模型分析
第一,UBP-DRBAC模型的授权具有动态性。如图4a与4b所示,UBP-DRBAC模型与RBAC模型相比,其授权增加了中间动态的预测等级指派环节,使模型的授权成为动态的。第二,UBP-DRBAC模型中的用户行为预测等级在一定程度上反应了用户行为的可信度,它使该模型的授权不仅基于身份信任,而且要基于行为信任,实现了用户身份信任和行为信任的相结合。第三,UBP-DRBAC可使定义的角色数量大大减少,而通过信任预测等级来灵活的实现细粒度的访问控制,这使得即使在Web这样拥有数量巨大而且需求各异的用户环境中,也不会造成角色扩散,而且,角色数量的减少也可以相应的提高访问性能。但是,在实际应用中,UBP-DRBAC中并不能无限制的压缩角色数量,应力求在角色数量和控制粒度之间取得平衡,达到最好的控制效果。
3、结论
本文建立了一种新的Web访问控制模型:UBP-DRBAC模型。该模型实现了基于身份信任和行为信任相结合的动态授权,解决了RBAC在Web中的角色扩散问题,是一种适应Web特点的新的访问控制模型。
参考文献
[1]SHEN Haibo, HONG Fan.A Context-Aware Role-Based AccessControl Model for Web Services[C].Proceedings-ICEBE 2005:IEEEInternational Conference on e-Business Engineering.Piscataway, NJ08855-1331:Institute of Electrical and Electronics Engineers ComputerSociety, 2005:220-223.
[2]Liu Miao, Guo He-Qing, Su Jin-Dian.An attribute and role based ac-cess control model for Web services[C].2005 International Conference onMachine Learning and Cybernetics, ICMLC 2005.Piscataway, NJ 08855-1331:Institute of Electrical and Electronics Engineers Computer Society, 2005:1302-1306.
[3]田立勤, 冀铁果等.一种基于用户行为信任的动态角色访问控制[J].计算机工程与应用, 2008, 44 (19) :12-15.
关键词:音乐工作室网站 界面设计 用户体验
音乐工作室是一个外包服务企业,其网站的建设目的是为了推广企业的品牌形象,以便更多的用户知道它,同时也是为了将提供的服务、公司形象展现给用户,挖掘潜在的隐性客户。实际从网站中获取信息的人数远大于客户的数量,优质的用户体验是将这些“偶尔的浏览者”转化为“实际的客户”的关键因素。任何在用户体验上所做的努力,都体现了以用户为中心的设计思想,这一理念应贯穿于整个WEB用户界面设计的过程中。
萌玛音乐工作室是一家即将在无锡成立的音乐外包服务型公司,该工作室主要提供有关游戏(包括客户端游戏、页游、手游等)配乐以及影视音乐相关的服务,意在以业内专业的游戏及影视配音团队为客户提供优质的外包服务。由于它目前正在创建之中,并不像小旭、绯雨等业内成功的工作室有名气,因此要创建网站推广公司的品牌形象,传递公司的相关信息,重点突出专业优质的外包服务流程。
一、萌玛音乐工作室网站界面设计
1.设计内容
根据人机交互方式进行分类,音乐工作室网站界面设计大体可分为以下四个方面:
数据交互界面设计:指人们通过输入数据的方式与计算机进行交流,属于人机交互的重要形式。
图形界面设计:语言、文字和图像这三个渠道,是人类传递信息主要方式。其中有70%的信息来自于视觉系统,也就是从图像中获得。因此,对图像界面设计的研究和探讨有助于产品设计的创新。
语音界面设计:被公认为最自然流畅、快捷的信息交流方式是语言。研究表明,人类的听觉通道存在很多优势,听觉系统与视觉系统的合理搭配,能够带给人类强烈的存在感与真实感等。
行为交互界面设计:人机行为交互是计算机通过定位识别人类,跟踪人类的肢体活动,从而理解人类的动作和行为,并作出相应的智能反馈。
设计人员从音乐工作室创建者提供的需求中提取出具体的商业目标和用户需求,结合用户体验、用户界面设计相关的理论知识,对同类音乐工作室网站进行可用性测试,针对视觉传达、信息设计、导航系统设计的优缺点,将抽象的需求问题具体细化到功能设计和交互设计、界面设计中,最后根据音乐工作室的特点,设计整体的视觉风格和品牌形象。
2.用户研究
在创建产品的每个步骤中,都要把用户列入考虑范围,以设计出诱人的、高效率的用户体验为目的的方法,称为“以用户为中心的设计(UCD)”。
用户研究是以用户为中心设计流程中的第一步。它是一种理解用户,将用户目标、需求与自身产品的商业宗旨相匹配的理想方法。用户研究的首要目的是产品目标用户群体的确定,产品概念的细化明确,并依据用户使用产品时的具体操作特性、感知特征、认知心理特征等方面,实现以用户实际需求作为产品设计导向,最终设计出更加符合用户习惯、期望的产品。对公司而言,用户研究有助于节约时间、开发成本资源,加快产品的迭代过程。对用户而言,用户研究将用户的需求转化为具体功能,并将其设计得易用且更强大,使得产品更贴近用户的实际需求。
常用的几种用户研究方式,包括问卷调查、情境调查、竞品分析、深度访谈与焦点小组等,都有利于我们更好地了解用户的信息、需求和偏好。在产品设计初期,用户研究帮助设计师细化功能,确定核心功能;在进行需求规格说明阶段,用户研究可以定义目标用户群体与需求分析;之后进入产品设计阶段,包括任务分析、概念设计、原型制作,在每一个设计过程都要贯穿可用性测试,用户研究帮助选择被试制、设定测试方案;之后便是进入开发阶段,从大的层面看,用户研究把产品的概念更加具体化、合理化,更贴近符合用户的真实需求,为功能定义提供依据。
二、同类工作室网站竞品分析
对竞争者的方案进行研究,但使用时不能单纯的去复制对方的内容,或是完全模仿对方的表现形式。在设计萌玛音乐工作室网站的用户界面初始,我对以下四个业内比较成熟的同类服务网站,进行了简单的可用性测试与体验,主要是研究其他同类服务网站的信息分类、导航系统设计、信息呈现的逻辑层次、可用性问题等,并列举出他们的优缺点。
网站一:小旭游戏音乐制作
全局导航
首页、音乐音乐、游戏音效、游戏音乐、游戏主题歌、游戏视频配乐、团队介绍、页游配乐、IOS游戏配乐、动漫配乐、SNS配乐、游戏演唱会、小旭新闻、团队视频、联系我们。
页面信息呈现方式
多采用文字(展示新闻、介绍)、图片(形象具体)、视频(MV、音乐会)、播放器(音乐作品)。
整站布局与色彩搭配
小旭游戏音乐制作网站的布局导航采用顶部的布局结构,根据浏览加载页面由上至下的方式,方便用户观看网站的内容。由于整个网站的内容和信息过多,采用模块式区分各个区域的信息,可是过多的区分模块,会造成信息逻辑紊乱。在色彩搭配上,采用了黄色、玫红等鲜亮色彩,并搭配整个页面背景,渲染出小旭音乐团队的活跃、积极的个性,与游戏、音乐主题相关联。但是过于鲜亮的颜色不利于用户的长期浏览阅读。
体验分析
优点:1)整个网站内容丰富、成熟的作品很多;2)突出了作品、服务流程、团队介绍;3)信息呈现结构显示出层次;4)顶部的导航划分细致;
缺点:1)导航划分过于细致、无主次层次感;2)内容显示过于密集,缺乏条理;3)导航与页面定位不一致,容易使用户迷失;4)网站的整体视觉过于鲜亮,抢夺用户的注意力。
网站二:绯雨音乐
全局导航
?
魏 涛 胡杰民 黄 峰?
(炮兵学院研究生系)??
摘要 ASP是服务器端的脚本环境,可以开发动态的、交互的、功能强大的Web站点,本文利用ASP的ADO技术对WWW上的数据库访问进行了深入研究,并结合学员网络档案信息的实例进行了阐述。?
关键词 ASP ADO Web 数据库 数据查询?
1. ASP技术概述
ASP(Active Server Pages)技术的出现完全摆脱了以往的局限性,它不但可以进行复杂的数据库操作,而且生成的页面具有很强的交互性,允许用户方便地控制和管理数据,使用户可以用ASP技术轻松的建立一个可交互的、高效的Web应用程序。?
2. ASP开发Web数据库应用系统技术?
2.1 ADO访问数据库技术?
ADO(Active Data Object)一个ASP内置服务器对象的数据库访问控件,它是针对当前Microsoft软件所支持的数据进行操作的最有效、最简单、功能最强大的方法。它为动态Web页面开发者提供了轻松存取Internet数据库的崭新技术。ADO可以使客户端的程序通过ODBC存取和操纵数据库中的数据表,为用户提供含有数据库信息的主要内容,通过执行SQL命令让用户在浏览器中访问后台数据库。另外,ADO几乎兼容各种数据库系统,例如Microsoft Access、Foxpro、SQL等ADO都提供相同的处理界面供程序设计人员使用。?
2.2 ADO的重要接口?
1) Connection(连接):表示正在使用的数据源和ADO接口之间的.连接。?
2) Error(错误集):表示一个由数据源返回的错误。?
3) Command(命令):表示一个能被数据提供者处理的命令。?
4) Parameter(参数):表示供给Command的参数。?
5)Recordset(游标):最复杂、功能最强大的接口,在使用ADO的应用程序中完成多种操作。
6)Fields(字段):表示Recordset对象中的某一列数据。?
2.3 用ASP开发Web数据库应用系统的步骤和方法?
1) 设置数据源名,在“控制面板”中通过ODBC创建一个系统DSN。?
2)创建和初始化Connection连接对象创建:?
<%SetmyConnection=Server.CreateObject(“ADODB.Connection”)%>?
初始化:?
<%myConnection.Open“DSN=DSNName”?
3) 通过SQL语句操作数据库,并返回一个结果集。?
<%?
SQL=“Select*From Tablename”?
Set Rs=myConnection.Execute(SQL)
%>?
4) 显示数据库处理结果,利用Recordset对象所提供的属性显示查询结果。?
5) 关闭结果对象集,断开与数据库连接。?
Rs.close?
MyConnection.close?
3. ASP技术在学员档案信息查询网络系统中的应用学员档案信息查询在浏览器上运行,Web服务器是Window NT Server4.0上运行的IIS4.0,支持ASP环境,后台数据库选用Office中的Access。客户端采用WIN95/98平台,浏览器为IE4.0。开发工具采用Visual InterDer或frontPage 等。?
下面以学员档案查询的例子说明ASP技术在系统中的应用:?
学员档案信息数据库Student?-record.mdb中的表Student的字段为:?
姓名、学号、性别、籍贯、专业、单位、毕业学校、出生年月、入学日期、备注。?
解答:这个问题看起来似乎是你正在经历网络拥堵问题,也可能是等待时间过长或名称解析的问题,
你需要花费一些时间来分辨这到底是哪一种问题。你需要解决的问题有:这是否是由于你的网络中的子设备出现了问题,或者用户们是否经常在网络中遇到这个问题? 是否是由于指定的时间出现了问题?例如,是不是每天早上都有大量的用户同时登录? 使用RPCPing工具(在Exchange Server的安装光盘上就有)检查名称解析是否能够正常工作。
改权限在linux中会用到chmod 命令的,chmod----改变一个或多个文件的存取模式(mode)
chmod [options] mode files
只能文件属主或特权用户才能使用该功能来改变文件存取模式,
mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。
vsftp 修改指定ftp用户目录权限的命令:
其实这个很简单,由于用的比较少所以在我的博客里mark一下方便查找:
命令行输入:
代码如下复制代码
chmod 777 /srv/111cn
VOD (V ideo On Demand) 是视频点播技术的简称, 即交互式多媒体视频点播。它是随着计算机技术和网络通讯技术的发展, 综合了计算机技术、通讯技术、电视技术而迅速新兴的一门综合性技术。它利用了网络和视频技术的优势, 彻底改变了过去收看节目的被动方式, 实现了节目的按需收看和任意播放, 集动态影视图像、静态图片、声音、文字等信息为一体, 为用户提供实时、交互、按需点播服务的系统。
1 系统硬件构架
手机视频点播系统在网络环境上显示出自身的特殊性, 但整体物理结构与一般局域网上的点播系统一样:服务器端系统、网络系统和客户端系统。
2 系统软件构架
本系统在手机GPRS网络环境上实现, 主要分为两个部分:服务器和客户端。服务器基于Windows Server 2003系统实现, 包括视频颠簸服务程序及Web界面, 客户端为Dopoda手机, 用户可通过手机狻的Web浏览器浏览点播节目, 交给客户端的播放器进行播放。
本系统的软件主要由视频服务程序、W e b交互界面、客户端节目播放器等组成。VOD服务程序为终端用户提供流畅的视频留传输服务, 同时为系统管理员提供强大的视频流监控服务;Web交互界面主要为用户登陆、浏览、查询、点播节目提供服务, 同时管理员可通过界面实现对节目、用户、服务进行管理;客户端节目播放器负责向视频服务程序发送请求和播放节目。
客户端与服务器间通过http协议和WAP 2.0协议实现数据的交互。这样既有独特性, 又有通用性。手机用户可以通过W A P浏览器或者手机客户端实现同点播服务器端的通信, 而普通用户或者管理员则通过IE浏览器访问服务器端, 实现节目管理和用户管理。
而服务器总共分为三部分, 由于其间功能相对独立, 因此相互间的数据交互, 采用数据库交互方式来实现。这样有利于项目的开发, 降低了沟通成本。
3 用户管理子系统
用户管理子系统提供了用户注册、用户登陆、用户查询等功能。除此之外, 还提供给管理员进行用户管理的功能, 如系统管理员可控制用户权限及角色分配;新增用户、删除用户、查看、修改用户基本信息、查看日志管理等功能。
4 节目管理子系统
节目管理子系统提供给管理员进行节目管理的功能。其主要模块包括:节目类别管理 (可对分类进行添加、删除、修改等操作, 并可对相应分类下进行节目添加、删除、修改等操作) 、节目信息管理 (管理员还可对节目信息的进行添加、删除、修改等操作) 、节目查询 (提供给管理员进行指定信息的节目查询) 、节目信息公告栏 (提供给管理员进行节目信息公告的管理) 。
5 点播服务器端子系统
点播服务器端子系统提供了手机用户通过GPRS进行用户注册、用户登陆, 视频点数充值、用户资料查询以及视频节目查询和点播等的功能。除此之外, 还具有多种可扩展功能, 如用户资料修改、视频点播统计、根据用户的手机类型进行手机客户端适配, 来下载合适手机客户端等等。
6 手机客户端子系统
手机客户端模块通过GPRS上网与点播服务器模块进行交互, 其主要功能模块包括:下载手机客户端 (访问点播服务器端, 下载适合该手机类型的手机客户端到手机) ;用户登陆 (配合点播服务器端验证用户的身份、控制权限和等级限制) ;用户资料查询 (配合点播服务器端实现登陆用户的用户资料的查询, 并呈现查询结果界面给用户查看) ;用户帐户充值 (配合点播服务器端实现登陆用户的视频点数的充值) ;视频节目查询 (配合点播服务器端实现用户的视频节目类别查询, 以及节目大类下各个视频节目的查询, 呈现查询结果界面给用户查看) ;视频在线点播 (配合点播服务器端, 实现用户视频节目的在线播放) 。
7 结语
本文先从手机视频点播的背景出发, 介绍了手机视频点播发展现状和国内外行业动态, 然后从整体上介绍本系统开发的模型, 接下来对本系统的各个功能模块一一用户管理子系统、节目管理子系统、点播服务器端子系统和手机客户端子系统作了简要描述。本系统的服务器采用Microsoft W indows S erver2 003操作系统平台, 后台的数据库系统为Microsoft Wind ows SQL Server 2 00 0。在数据库安全设计方面, 通过使用安全的密码策略和帐号策略, 加强数据库日志的记录管理。扩展存储过程使用协议加密等技术, 确保了数据库的安全性。
摘要:本文先介绍了手机视频点播的发展现状和行业动态, 然后从整体上介绍本系统的硬件及软件构架, 接下来对系统的各个功能模块--用户管理子系统、节目管理子系统、点播服务器端子系统和手机客户端子系统作了简要描述。
关键词:视频点播,用户管理子系统,节目管理子系统
参考文献
[1]卢军.宽带风暴---视频点播与宽带游戏.北京:清华大学出版社, 2007:35-46.
[2]王曙.视频点播.北京:人民邮电大学出版社, 2007.
[3]钟玉琢, 向哲.沈洪流媒体和视频服务器北京:清华大学出版社, 2006:27-29.
[4]傅曦, 齐宇, 徐骏.Windows Mobile手机应用开发.北京:人民邮电出版社, 2005.
[5]李兰.Visual C#.NET程序设计.北京:清华大学出版社, 2008.
免费元素
软的UI工具包:免费的PSD模拟网页设计
一个样机常见的网页元素的设置,由Adrian佩尔蒂埃设计和六个修订提供。
透明玻璃的用户界面:用户界面设计的免费的PSD
这黑暗的UI元素所PixelsDaily创建的,也是由六个修订提供。
免费赠送:现代用户界面包的Photoshop PSD
一个现代化的,与一些简单,基本要素的极简的用户界面工具包。
免费赠送:大量的Web用户界面和按钮设置
这个Web UI工具包包括从MediaLoot色泽鲜艳的按钮,信息箱,面包屑,搜索表单,和许多其他元素。
Web UI的宝物公益金V1.0
该套件包括为您的设计超过100个元素,包括横幅,按钮,工具提示,徽章,以及更多。
Web窗体元素
一个灰色和金色的网页表单元素,包括文本区,按钮和下拉菜单。
Web窗体元素VOL.2
一个灰色的网页表单元素的设置,包括滑杆,下拉菜单,制表符,和更多。
得到了木?UI设计元素
木纹的外观与100多个现代化的UI元素组成的一个工具包。
斯诺的UI工具包
这从MediaLoot的UI工具包具有与暗蓝色,灰色的口音静音的灰色的配色方案。
黑暗神秘的网页元素
是专为与黑暗和高风格的网站使用这一套的设计元素。它包括搜索栏,分隔符,按钮,音频播放器元素,等等。
黑色的UI工具包
黑色的UI工具包中包含有光泽,黑色和蓝色的元素,包括大量的媒体控制。
Moonify用户界面
Moonify是一个UI元素,其中包括一个搜索栏,评级明星,以及一些基本的形式元素。
蓝色和白色的GUI工具包
柔和的蓝色和白色的UI元素,包括形式输入和按钮。
黑UI元素
一个光泽的黑色和鲜艳的蓝色UI元素的设置,包括滑杆,按钮,下拉菜单,和文本输入。
“灰度”的UI工具包
灰度是一套浅灰色的形式UI元素。
固体的UI工具包
固体的UI工具包,给它复古科幻看看,一个金黄色的配色方案。
暗UI元素集
,略带光泽的暗紫色加载栏按钮和UI元素。
电子商务的步骤用户界面
这里的元素是专门设计作为一个电子商务结帐过程的第二步。
“书法”GUI元素
一套UI元素,灵感来自中国书法技巧。
“棕褐色”的用户界面元素
一个与他们的古董,但干净的感觉,棕灰色的表单元素。
布卢姆的UI工具包
绽放的UI工具包包括按钮,输入的形式,滑块,。
苹果风格的用户界面元素
一个苹果灵感元素,包括按钮和表单输入。
纹理警报
一个透明的警报样式的设置,与多变的颜色和一个可移动的纹理覆盖。
页眉和导航包
三个导航/标题样式。
简单的UI元素
一套通用的极简,圆润的UI元素。
漂亮的小搜索字段
这些漂亮的小搜索字段有两种样式(圆形和方形),三种不同的配色方案。
添加到购物车按钮
一个在三个柔和的色彩添加到购物车按钮,
简单的标签导航
一个简单下拉菜单的选项卡式导航屏蔽门。
暗扣导航2
一个黑暗的导航按钮设置水平或垂直菜单。
透明的工具提示
一个在四种颜色的透明度工具提示,从优质像素。
整洁的滑杆 – 免费的PSD
复古滑块与镀铬按钮和黄色口音。
极简水平导航
微妙的着色和真棒状态设计简单的导航元素。
圆润的下拉菜单
一个黑暗的下拉菜单按钮。
花式滑块及切换
一个华丽的多色滑块与镀铬结束。
一个最低限度的日历组件
一个简单的蓝色和灰色的日历部件PSD。
表善套件
表善套件是一套简约,但大胆的表单元素,包括输入域和按钮。
绿色联系表
一个简单的,现代的绿色联系的形式,图标和一个提交按钮。
模式对话框联系表
一个最低限度的模式对话框的联系表格。
登录表单PSD
一个高度风格PSD登录表单。
在表格的快速登录
一个短,简约的符号形式,在蓝色和灰色。
老式通讯表
一个古典风格的新闻注册表格。
一个清洁的登录框
一个白色和静音红色简约的登录框。
所有在一个Web元素套件
一个暗灰色,红色,蓝色,绿色的巨大集合中的元素,这个套件包括按钮,滑动条,以及多种内容样式。
维克多元素
复古风格的UI元素的设置,包括滑杆和按钮。
迷你画廊
PSD图片廊元素。
包裹和丝带包
一套色带和包装效果PSD文件。
设计元素
此包包括搜索的投入,按钮,滑块,下拉菜单,更。
大块UI
大块的用户界面包括一个大胆的元素,包括一个搜索框,滑块,评级星,和一个下拉按钮数量。
免费赠送:现代Web UI设置
这一套黑色和灰色,略带光泽的UI元素,包括导航,按钮,滚动条,板,和面包屑。
轻UI元素
一个浅灰色的元素,包括按钮,媒体播放器控件,和面包屑,与各种丰富多彩的口音。
春天的GUI
一个绿色的元素,包括按钮和下拉菜单,其中包括设置。
网页元素
一个黑暗的,多种颜色的元素,包括滚动,搜索领域,下载按钮,并。
视频播放器
一个灵活的视频播放器铬。
高级要素(收费)
光荣颜色的UI工具包($ 6)
一个颜色鲜艳的UI元素的设置,包括滑杆,转换开关,按钮,以及更多。
灿若繁星的UI工具包(5元)
一个发光的UI元素,包括表单元素,分离器,按钮,以及更多。
简约滑块造物主(400)
包含70多个创建滑块,包括阴影,帧,插图,多元素。
缝合的网页元素($ 5)
套装包括一个登陆框,订阅框,下载按钮,等等,并在四个不同的颜色。
微妙的网页元素II($ 5)
复古风格的元素设置一个微妙的色彩方案,包括明亮的蓝色和橙色的亮点。
白无华网页元素的V3(3元)
干净清爽的白色和浅灰色元素。
网页元素包(5元)
随着互联网的发展, 人们对WEB网页的要求越来越多趋向于动态性、实时性和交互性, 这在很大程度上依赖于WEB数据库。所以, WEB技术与数据库管理系统相互融合领域的研究成为热点方向之一, 数据库厂家和WEB服务器提供商纷纷推出各自的产品支持WEB技术和数据库的互联。下面对当前几种常见的WEB数据库访问技术的特点进行分析和比较。
(二) CGI中访问数据库
CGI (Common Gateway Interface, 公共网关接口) 是实现在服务器端执行程序的一种方法, 运行程序输出的是HTML页面, 然后WEB服务器再把这个静态页面返回给浏览器作为请求的响应。最流行的CGI语言是Perl和shell脚本, 但是也可以使用C、C++以及Java等语言进行编写。CGI是最早普遍使用的WEB数据库访问技术, 可以访问存储在数据库中的数据或者其他系统中的文件, 实现动态生成WEB页面的效果。
CGI的跨平台性能极佳, 几乎可以在任何操作系统上实现, 但其缺点是CGI应用程序都是一个独立的可执行程序, 会与WEB服务器上的其他进程争夺处理器资源, 导致运行速度减慢。而且一个CGI程序只能处理一个用户请求, 一个用户请求就会激活一个CGI进程。当用户请求数量非常多时, 大量的CGI程序就会挤占系统的内存、处理器时间等资源, 造成CGI运行效率低下。另外CGI的功能有限、开发较为复杂, 且不具备事务处理功能, 这在一定程度上也限制了它的应用。
(三) Web API技术
CGI运行效率较低、功能有限、开发复杂, Web服务器软件厂商开发了基于各自服务器的API (Application Program Interface, 应用程序编程接口) 。这种API通常以动态链接库 (Dynamic Linkable Library, 简称DLL) 的形式提供, 是驻留在Web服务器上的程序。它的作用与CGI相似, 也是为了扩展Web服务器的功能。目前最流行的API有Netscape的NSAPI和微软的ISAPI。这2种接口允许以标准方式编写Web服务器交互的应用程序, 其中对数据库访问的功能主要是以IDC (Internet Data Center, 互联网数据中心) 文件形式提供给客户的, 在IDC文件中定义了数据源、返回的模板以及动态的SQL (Structure Query Language, 结构化查询语言) 语句。
API的工作原理和CGI大体上是相同的, 都是通过交互式主页取得用户输入信息, 然后交服务器后台处理, 可实现CGI程序所能提供的全部功能。但是二者在实现机制上大相径庭。在API下建立的应用程序都是以动态链接库的形式存在的, 而CGI的应用程序一般都是可执行程序。在API调用方式中, 被用户激活的DLL和WEB服务器软件处于同一地址空间, 每次调用时是在内存中运行相应的程序段, 而不是像CGI那样需要启动新的进程, 因此运行效率要高于CGI程序。但开发API程序比开发CGI程序要复杂得多, 需要更多编程方面的专门知识, 如多线程、进程同步、直接协议编程以及错误处理等。此外, 各种API之间兼容性很差, 特定的API只能工作在专用WEB服务器上, 如Netscape公司的NSAPI只能在Netscape Server上执行, 而ISAPI只在微软的IIS上有完整的功能。
(四) ODBC和JDBC
API与Web服务器结合紧密, 所以性能较高。但由于利用底层的API开发数据库访问程序仍然很困难, 因此一般使用基于底层API的高层数据库编程接口, 这就是ODBC (Open DataBase Connectivity, 开放式数据库互联) 。ODBC是微软公司开放服务结构 (Windows Open Services Architecture, 简称WOSA) 中有关数据库的一个组成部分, 它建立了一组规范, 并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务。Web服务器通过数据库驱动程序ODBC向数据库服务器发出SQL请求, 数据管理系统执行SQL查询并将查询结果再通过ODBC传回WEB服务器。许多服务器扩展程序使用包含这种ODBC层的系统结构。由此可知, 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS, 不直接与DBMS打交道, 所有的数据库操作均由各个DBMS的ODBC驱动程序完成。也就是说, 不论是FoxPro、Access、MYSQL还是Oracle数据库, 均可用ODBC API进行访问。因此, ODBC一个最大的优点是能以统一的方式处理所有的数据库。
与ODBC类似, JDBC (Java Database Connectivity, Java数据库连接) 为Java数据库开发应用提供了标准的应用程序编程接口。JDBC由一组用Java语言编写的类和接口组成, 是用于执行SQL语句的Java应用程序接口, 它规定了Java如何与数据库进行交互作用。通过使用JDBC, 开发人员可以很方便地将SQL语句发送给几乎任何一种数据库。
与ODBC相比, JDBC技术具有以下几个优势。第一, JDBC是“纯Java”的ODBC解决方案, ODBC发布必须在每台客户机上手工安装, 而JDBC代码在所有Java平台上随运行环境自动安装, 具有平台无关性, 安全性和适用性强, 可以跨平台与各种数据库连接进行访问;第二, ODBC的C API运用了大量的指针, 而Java消除了指针等认为网上运行不安全的因素且面向对象;第三, ODBC难以学习, 而JDBC仅是Java开发环境的一部分。另外, 从功能上看, JDBC也已经逐步得到了广泛的支持, JDBC为访问更多的数据库提供了JDBC-ODBC桥来扩展其功能。
总之, JDBC保留了ODBC的基本功能, 区别在于JDBC充分地利用了Java的风格。因此, 它成为Intranet和Internet环境下访问异构数据库的一种较优方式。目前, JDBC已经得到了许多厂商的支持, 包括Borland、IBM、Oracle和Sybase等公司, 大多数流行的数据库系统都推出了自己的JDBC驱动程序。
(五) ADO和ADO.net
微软提供了各种各样的数据访问技术, 从最初的ODBC到现在最新的ADO.net, 历经了DAO (Data Access Objects) 、RDO (Remote Data Objects) 、OLE DB、ADO (ActiveX Data Object) 等过程。
ADO是在OLE DB标准的基础上定义的一种面向对象、与语言无关的数据库应用编程接口。ADO被设计来继承微软早期的数据访问对象层, 包括RDO和DAO。与RDO、DAO等其它访问对象相比, ADO含有的对象更少, 更易于使用。ADO对象模型总共包括3个主要对象:Connection、Command和Recordset, 还有4个补充对象:Error、Parameter、Field和Property。使用这些对象用户可以很方便的完成连接数据源, 发出命令操作数据源, 以及对数据源返回的记录集的处理。
ADO是ASP (Active Server Pages) 内置的ActiveX服务器组件, 通过在web服务器上设置ODBC和OLEDB可连接多种数据库, 是对目前微软所支持的数据库进行操作的最有效和最简单的方法之一。
ASP.net是微软公司继ASP之后推出的新一代WEB应用程序开发技术。ASP.net中的数据库访问技术是通过ADO.net实现的。ADO.net名称起源于ADO, 但和ADO有着很大的区别。ADO可供数据应用程序作为外部包访问, 后跟与.net完全不兼容的模型——COM接口, 使用其服务的应用程序必须明确包含对它的引用。而.net应用程序被设计为共享单个模型, 把所有的库、方法和类集成为一个框架, 组织成逻辑命名空间, 并声明为公有, 允许希望使用它的任何应用程序来使用。ADO.net中包括两个核心组件:DataSet和.net数据提供程序。前者可用于多种不同的数据源、XML数据以及管理应用程序本地的数据。后者是一组包括Connection、Command、DataAdapter、DataReader对象在内的组件, 提供了对数据操作和对数据快速、只进、只读访问的方法。
ADO.net比ADO拥有更强大的功能, 为用户提供了更灵活的数据访问解决方案。ADO.net最重要的新特性是它能以断开连接的方式工作。这在以Web为中心的环境中显得特别重要, 永久连接很容易耗尽服务器资源, 导致性能瓶颈。ADO.net中的DataSet类是非连接存储和处理关系数据的基础。可以在连接数据存储时填充该对象, 并在断开和数据存储的连接后使用该对象, 然后再次连接数据存储, 根据需要将更改结果刷新到数据存储中。
第二个重要特性就是ADO.net对XML (Extensible Markup Language, 可扩展标记语言) 数据的支持。ADO 1.0和ADO 2.0都不支持XML格式, MSXML技术在ADO 2.1中开始应用, 但功能有限。直到ADO 2.5出现, ADO 2.1中XML的一些限制 (如分层记录集对象的保持) 才被取消, 但也只能读取名为高级数据表图 (Advanced Data TableGram, 简称ADTG) 专用架构的XML文档记录集。ADO.net中的DataSet使用XML来进行数据交换, 即DataSet中的关系数据可以和XML自动实现映射。同时由于ADO.net组件使用XML交换ADO.net数据库, 所以防火墙可以允许数据集通过。
第三, ADO中数据在内存中表示形式为记录集 (RecordSet) , 而在ADO.net中它则为数据集 (Dataset) 。记录集像单个表, 数据集是一个或多个表的集合。数据集内的表称为数据表, 明确地说是DataTable对象。如果数据集包含来自多个数据库表的数据, 它通常将包含多个DataTable对象。在ADO中, 使用MoveNext方法顺序扫描记录集的行。在ADO.net中, 行表示为集合, 因此可以像依次通过任何集合那样依次通过表, 或通过序号索引或主键索引访问特定行。另外, ADO.net不具有固有的游标对象, 而是包含提供传统游标功能的数据类。
ADO.net在ADO的基础上引入了重大的变化和革新, 这使ADO.net具有更好的性能、灵活性和可用性。
(六) PHP中访问数据库
PHP (Professional Hypertext Preprocessor) 是一种用于创建动态WEB页面的服务器端脚本语言, 融合了C、Java以及Perl语言的语法。用户可以混合使用PHP和HTML编写WEB页面, 当访问者浏览到该页面时, 服务器端PHP语言引擎会首先对页面中的PHP命令进行处理, 然后把处理后的结果连同HTML内容一起返回给访问端的浏览器。
使用PHP开发数据库应用程序最重要的特点就是具有十分强大的数据库操作功能, 可直接连接多种数据库, 并完全支持ODBC。PHP含有相当丰富的函数库, 只需借助某一个或某几个函数即可完成上载文件、存取数据库中的二进制图片数据、作图、XML解析等功能。这些功能在其它脚本技术中都需要引入专门的控件才可以实现。第二, PHP是GNU标准的自由软件, 不仅它是免费的, 与其配合使用极佳的Apache Server、Mysql数据库也都是免费的。第三, PHP还具有很好地跨平台性, 代码在Windows98、Windows NT、Linux、Unix和Macintosh等环境下均可以重用运行。
PHP也有其不足之处。PHP的技术体系不符合分布式应用体系, 缺乏多层结构支持。对于大负荷的网站, 只能使用分布式计算来解决问题。此外, PHP提供的数据库接口函数也不统一, 在访问数据库时不如ASP那么方便。
(七) 结束语
随着操作系统、WEB服务器、数据库等技术的迅速发展, WEB数据库访问技术也在不断地发展和完善。以上各种WEB数据库访问技术各有优缺点和适用领域, 开发者可以根据实际环境要求选择合适的方法。
参考文献
[1]刘近勇.Web数据库访问技术探析[J].邮电设计技术, 2006 (8) :43-47.
[2]徐国华.浅议Web数据库访问技术[J].太原大学学报, 2005, 6 (1) :52-54.
[3]朱二喜, 徐敏.ODBC和JDBC技术对比分析[J].中国科技信息, 2007 (2) :125-127.
[4]何山.ADO与ADO.net的比较分析[J].中国科技信息, 2007 (7) :100-102.
Web服务是由不同的Web服务提供商所提供的, 每一个提供者形成一个独立的安全域, 多个Web服务的集成可能来自不同的安全域, 相互之间存在着差异性, 其在一定程度上制约了基于SOA的Web服务的访问控制, 访问控制成为Web服务访问的重要安全措施之一。
1 信任协商的跨域访问控制模型
1.1 多安全域的自动信任协商
一般公开的系统里, 进行访问的每个主体和每个实体基本上都属于各自的归属管理机构。这样一来, 要顺利完全多安全域实现授和及访问, 从前的访问控制模型就无法满足要求。于是, 就有学者基于过去的信任管理研究出了自动信任协商模型。这种模型的主导思想就是:一步步展示自己的数字证书给对方, 这样就与实体建立起信任, 按照此关系进行访问控制的方式, 共同协议规定访问策略, 规定私人资源的访问规则, 此协议只需彼此双方参与, 无需他方介入。
1.2安全域内的信息
任何一个安全域中都有参与访问的实体, 其含有一些的信息有信任证书、访问控制策略、协商策略、协商协议、用在安全通信模块, 是为了建立信任关系和安全访问策略的。这些信息有安全域中所属的信息见图2。访问控制策略是用来规定一部分的操作规范, 可以建立自动信任协商, 能告知可信任的那些证书以及这些可信任证书的先后顺序。主要是为了规范合法用户对资源访问, 防止被请求资源被合法用户非授权访问。定义自动信任协商的消息格式, 有信任证书的请求、请求的应答、协商的开始和终止、证书和访问控制策略消息的内容等, 这就是协商协议。协商策略是在访问控制策略上的具体披露访问控制证书的算法。
敏感信息是指有信任证书、某些私人信息或商业秘密、访问控制策略, 所以通常情况下全是采取参与访问实体的属性进行描述。某些属性描述信任证书的信息是为了建立信任关系。如某些分属性描述访问控制策略, 是为限制两者进行访问过程时对资源的访问权限。另外也有某些属性是用于私人信息或商业秘密, 这些敏感信息要加强保护, 避免出示证书和释放访问控制策略的过程中, 信息透露出去。于是, 自动信任协商模型就是为解决这些而提出的。
2 属性的自动信任协商模型设计
公开的系统里, 实体的属性, 比如时间, 地点, 设备等与信任证书相关。举个例子, 如果只有某个人的名字, 是无法确定其能力;如果知道这个人的学校以及学习的专业, 那么就能够预估他可以干什么。于是, 在彼此不熟悉的实体间要建立信任关系, 是需要交换属性。而任何一个实体都有属于其的敏感信息, 那么两者之间可以通过访问控制策略来保护。
2.1 信任建立过程
彼此间开始得互换有加密属性的信任书, 再频繁的互换密钥慢慢的展示自身属性, 这一过程就是自动信任协商模型建立信任的关键步骤。建立信任关系的流程图见图3。
AB两方互换了信任证书和控制策略以后, 两者间反复进行第五、六步, 这样以达到告知对方信息证书的预期期望。其目的就是为了避免敏感信息被透露。考虑到逐步展示证书的安全性, 两者可采取Diffie-Hellman密钥交换算法的方法以生成会话密钥。采取这样的方式, 可以使得会话中信息得到安全保障。
2.2 会话过程中的安全机制
前面所描述的建立信任关系, 会话密钥的安全是核心问题, 其直接关系到信息透露是否安全。会话密钥的互换是在椭圆曲线加密原理下形成的, 彼此互换的两者是以Diffie-Hellman密钥交换和Hash算法为背景而形成会话密钥。假设, 有限域是F, E是椭圆曲线并归属于有限域上, 而p是E上的点, 并且两者都是开放的。p阶数越大, 就越能满足以p产生的有限循环群上的离散对数问题, 而此问题是非常难以得到解决的。另外, 可设n为p点的阶数。
两者交互同一密钥, 则此密钥用于一次会话。这种算是以大素数相乘容易而因式分解为背景的主导思想。采用此机制是用在信任协商访问控制, 非常有效的保护了信任证书, 使其不易被攻击、破坏, 大大减小了敏感信息可能被透露的可能性, 同时还有较强的保密功能以及数据完整性。
3 结束语
基于属性自动信任协商为跨域资源共享与访问提供安全保障。该方法具有证书交换过程中网络开销小, 单轮回证书交换、较低的证书信息量保存等优点。
参考文献
随着教育体制改革的深入发展,实施学分制教学管理模式已成为我国各高等院校教学改革的发展方向,而选课是学分制教学和管理中的重要一环。目前各大院校园网硬件基础建设已有相当规模,网上选课已成为高校普遍采用的选课方式。经调查,在网上选课时都不约而同地遇到了大并发量访问的问题,出现网络拥堵、服务器响应缓慢,甚至服务器死机等现象。而现在各大高校在本世纪初大规模扩建,多数已形成多校区、学生人数上万的情况,网上选课的上述问题尤为突出,成为学分制管理中丞待解决的难题。
江西财经大学在网上选课上积累了一些经验,形成了一个完整的解决方案,现抛砖引玉,与各高校同仁一起分享,并敬请指教。
1 选课系统模式演变
江西财经财经大学自1994年就开始实施全面学分制管理,目前在校本科生达16000人。教学管理各方面原因要求网上选课周期不能太长,于是采用的是实时在线选课模式,这对选课系统性能要求特别高。自2004年实施网上选课以来,网上选课系统软件不断优化,配套硬件设施相应增加,已经历了10余次大规模选课的考验,选课模型已经历了四种变化,并最终定型。选课系统性能稳定,处理大并发访问能力符合目前规模及要求。
1.1 初级模式
在2000年,江西财经大学就还只有一个校区,校园网还不够普及,选课采取的是班级联络员制度,一个班选一个选课联络员,由他代表本班同学的选课操作。这时期全校并发选课用户数不到200。在这种情况下,系统采用的是j sp+j avaBean+Hi ber nat e技术,系统结构示意图如图一所示。
这个时期选课并发量不大,无论是Web服务器还是数据库都没有很大负载。这种模式只适于小规模选课,由于联络员无法与学生本人进行充分沟通,所选课不能完全符合学生意愿,不能满足学生自主选课的要求。
1.2 Web集群模式
在2004年,随着学校大规模扩建,已初步形成了蛟桥园、麦庐园、枫林园三校区的本科教学格局,学生人数达1万多,这时校园网基础建设已初具规模,学生寝室能上网。在多校区、学生人数多的环境下,学生网上自主选课呼之欲出,初级模式已越来越不能适应发展要求。选课系统模式作出重新部署,采用Web集群模式。系统结构图如图二所示。
学校新增了一些服务器,但如何在选课时真正让各服务器能正常有效地运行起来还是一个值得认真考虑的问题。最初我们在一个web服务器上以链接方式公布了所有服务器地址,但由于学生操作惯性,大多数人喜欢选左边第一个,结果第一个服务器因负载量太大而宕机,第一台机器不行,学生又接着访问第二台,结果第二台宕机,于是产生多米诺骨牌效应,各个服务器不能有效稳定地正常运行。因此,我们想了许多办法来实现均衡负载功能。
第一种,DNS方法。选课系统只公布唯一一个域名(如xk.j xuf e.edu.cn),在DNS服务器上给这个域名配置多个I P。这种方法实现了随机分配选课服务器的功能,只要各服务器不出现故障,它的服务基本是均衡的。但是,如果某台选课服务器出故障,由于学生选课用的计算机本地DNS缓冲原因,使得该学生无法通过这个域名转向到其它服务器。
第二种,WEB指向服务器。在选课WEB服务器群前放一个WEB服务器,并启动一个通过一定算法轮询指向不同选课服务器的服务,将选课服务域名指向这个服务器。这样学生首先访问该服务器,通过该服务器的重定向功能从而实现选课负载均衡的目的。如果一台服务器出现故障,由人工配置选课服务器列表,实现了半自动的负载均衡。
第三种,负载均衡器。在选课web服务器群前放置一个负载均衡器(硬件的比如Juni pt er DX6840、F5,软件的Webl ogi c、Webs pher e),它能够检查服务器的健康状况,智能引导到未出现故障的服务器上。这是一种最理想方法,唯一缺点就是投入成本太高。但具有许多其它优点,在网络安全方面,保护了后面WEB服务器群免受各种攻击。有的还具有ht t p数据压缩技术,减少网络流量,节省带宽等作用。
1.3 中间件服务器
为了进一步加强在大并发量情况下WEB运行的稳定性,扩大其吞吐能力,我们将一些稍复杂的运算放在中间件服务器上,Web服务器与中间件服务进行数据交换,WEB只完成简单的页面显示功能,从而实现分布计算的目的。在部署时可以根据中间的计算负载能力,将几台WEB服务器对应同一台中间件服务器。如图三所示。
这个方案的缺点是在于部署起来复杂些,一旦中间件服务器出现故障,会影响前面几个WEB的正常运行。在实际中,如果WEB选课服务器计算负载允许的话,也可在这台服务器上同时启用中间件服务。
1.4 多Agent式
随着WEB集群服务器的部署,在学生大并发选课时,WEB集群对数据库的操作也明显加大,特别在资源冲突测上,几个中间件服务器同时操作,会因为“脏数据”造成冲突检测失效。于是我们引入选课引擎Agent,由Agent统一处理资源冲突的检测。因此,我们把web及中间件服务器只作选课申请队列数据的操作,让Agent去处理选课计算操作。示意图如图四所示。
由于采用Agent,这种布局使得该选课系统具备相当的灵活性,可执行两种模式:一是实时选课模式。Agent与web同时开启,一旦选课申请队列中有数据,立即进行处理计算,学生通过WEB可以实时了解到所选课是否成功,从而完成实时选课的操作;二是非实时模式,学生先把选课数据输入到选课队列中,事后Agent集中时间对这些数据进行统一处理计算,计算完毕后再公布选课结果。非实时选课优点在于减少大并发访问量的产生,缺点是选课周期较长。江西财经大学由于教学管理要求,周期不宜过长,所以只选用了第一种方式。
图四中选课Agent和删课Agent之间要协调运行,选课Agent要占用资源,删课Agent释放资源,因此删除Agent必须优先运行。在实时选课时,Agent运行效率决定着整个选课系统吞吐能力的上限,在增加WEB服务器时要考虑到Agent的最大吞吐能力,否则达不到“实时选课,实时反馈”的选课目的。
此模式的选课系统日趋成熟,在近几年选课中运行稳定、吞吐量大,一个年级4000人左右的选课一般4小时就基本趋于完成。
2 应用总结
选课系统除了模式上要不断优化,而且在软件实施上还要采取一些优化技术,比如服务器负载人数控制技术。在不同并发量情况下,对单个服务器能处理同时在线人数进行控制。因为服务器处理超负载时,给选课提供的服务质量差,不利于整个选课任务的完成。
(1)Aj ax技术。它可有效减少数据流量,减少服务器的处理工作量,是大并发访问的WEB系统中提倡采用的技术。
(2)防刷屏技术。在大并发量选课情况下,由于学生选课心理急切,连续刷新页面会给服务器带来不应有负载,所以系统要采取措施禁止“刷屏”操作。
(3)数据内存化技术。现在有许多高校都有统一身份认证系统,在大并发选课时,由于并发量太大,统一身份认证平台会出现不能负载的情况,特别主要表现刚开始选课的前5分钟内。我们把认证信息统一加载到web服务器内存,很好的解决了选课时的认证瓶颈问题。对于一些静态数据都可以采用这种方法。
3 应用效果
经过选课模式不断优化演变,江西财经大学在处理大并发量选课已形成一整套成熟选课方案。每次参加学生选课人数多1.2万人,大四学生安排在星期五下午、大三学生安排在星期六、大二学生安排在星期天,两天半的时间就可能完成初选工作。以下各年来,不同模式下的运行效果图如图五所示。
图五是根据各次选课数据进行统计得出的结果。横轴是时间,纵轴是已选课人数。062学期采用了均衡负载,明显比前052学期、061学期效果好,071学期、072学期、081学期分别引进了Aj ax、多Aegent、中间件等优化技术,到了中午12时(即用半天时间),选课就基本结束。
4 结束语
大并发访问在许多其它大型应用中也会经常遇到,在处理大并发访问方面本方案具有一定的参考和推广价值。
摘要:本文讲述了网上选课系统模型的演变历程,描述了在大并发访问时曾经采用的模型和技术,最后提供了一种可靠稳定的模型,为网上在线系统提供了一种参考方案。
关键词:学分制,网上选课,并发访问
参考文献
[1]王素荣.教育信息化理论与方法[M].北京:社会科学文献出版社,2006.
[2]聂小东.基于贪婪算法的排课系统的研究与实现[D].广东:广东工业大学,2006.
[3]李献礼,范会联.基于JSP/Ser vl et技术的网上选课系统的设计及实现[J].涪陵师范学院学报,2005,(5):1-2.
[4]王帮海,李振坤,陈平华等.基于分散校区网上限时选课系统的研究与实现[J].计算机应用研究,2005(12):2-2.
[5]Aj ax程序设计入门[EB/OL].ht t p://www.knowsky.com/345642.ht ml.
【web用户访问行为分析】推荐阅读:
流失用户行为分析09-16
网站用户体验分析报告07-26
地理信息系统用户化分析研究06-11
出国访问报告09-09
台湾高校访问计划05-28
访问学者英文信06-29
访问老党员09-12
紧急通知页面访问升级06-02
美国访问学者申请材料06-29
访问学者研究计划英文07-12