基于ASP和Ajax的音像管理系统设计与实现

基于ASP和Ajax的音像管理系统设计与实现


2024年6月21日发(作者:)

图书馆学刊 2011年第6期 

TUSHUCUANXUEKAN N0.6,2Ol l 

基于ASP和Ajax硇音像管理系统设计与实坝 

黄悦深 

(五邑大学图书馆,广东江门529020) 

【摘要】为促进馆藏音像资料的管理和利用,提出了应用ASP构建音像管理系统的思路,分析了系统架构、业务流 

程、框架式用户界面、音像管理模块、基于Ajax的音像查询模块的实现方法。最后探讨了本系统与OPAC的集成应用。 

【关键词】ASP Ajax音像资料管理 系统 

【分类号1G250.71 

图书馆应用信息技术,根据馆藏情况自建数据库,为用 库采用微软Access 2003。服务器和数据库之间的连接采用 

户提供信息服务正是潮流所趋。为了提高本馆音像资料的管 

ADO(ActiveX Data Objects)组件。ADO是微软公司的一个用 

理效率,让用户随时了解馆藏音像情况,笔者设计了一个音 

于存取数据源的COM组件,它提供了编程语言和统一数据访 

像管理系统。该系统以ASP为搭建平台,构建了音像信息编辑 

问方式的一个中间层,允许开发人员编写访问数据的代码而 

器,实现了在线动态发布和音像信息维护,并建立了基于A5ax 不用关心数据库是如何实现的 。ASP、ADO、Access三方协同 

的音像查询功能。 

运作,共同构建起音像管理系统的后台运作体系。ASP负责接 

1 ASP ̄OAiax应用简介 

收客户端请求,处理逻辑代码,发起ADO调用,返回结果页 

面,它是整个业务流程的调度中心。ADO是连接服务器和数 

ASP全称Active Sewer Page,是微软公司开发的基于 

据库的接口,它负责连接数据库以及执行SQL操作。Access是 

Windows NT Se ̄er和IIS的服务器端脚本编写环境。它具有 

数据存储中心。系统的完整架构和运作过程如图l所示。 

无须编译,直接执行;易于编写;与数据库连接简便;源代码 

保密等优点[11。ASP提供了6组内置对象,应用于常见的Web事 

①查询请 

创建并调 SQL查询 

务处理,包括收集浏览器请求信息、响应浏览器以及存储用 

调查墅墨 

户信息等。ASP支持VBScript和JavaScript脚本语言编写。在实 

Window server+lIs}._——— 组件卜.—— Access 

数据序 

际开发中,开发者使用脚本语言结合调用ASP内置对象,编写 

果页面 

具体的逻辑处理过程。ASP简单易用,特别适用于中、小型的 

B/S系统开发,这是本系统选用ASP作为开发环境的原因。 

图1音像管理系统架构及业务流程 

Ajax是Asynchronous JavaScirpt and XML的缩写。它不是 

2.2系统内部模块 

种新技术或者新语言,而是一种用于创建更好更快以及交 

系统遵循模块化设计思想,以功能块为单位进行程序编 

互性更强的Web应用程序的技术,它在浏览器与Web服务器 

写,目的是降低程序复杂度,使程序设计、调试和维护等操作 

之间使用异步数据传输(HrITrP请求),使网页从服务器请求 

简单化。根据功能划分,本系统共有4个子模块,包括用户界 

少量的信息,而不是整个页面。Ajax最为人熟悉的应用是 

面、管理员登录模块、音像管理模块以及音像查找模块。每个 

Google搜索建议、Google ̄图等。Ajax主要包含以下技术:① 

子模块下再划分出具体的功能模块,每个功能模块对应实现 

XHTML+CSS,实现网页界面设计;②DOM(Docuinent oNect 

个业务处理流程。图2描述了系统的模块组成。 

Model,文档对象模型),实现与各种网页元素的动态交互;③ 

使用XML和XSLT进行数据交换;④使用xMLHttpRequest对象 

执行异步数据查询、检索;⑤使J ̄JJavaScript结合调用上述各 

类对象,完成整个逻辑事务处理过程 。 

2系统架构及模块构成 

考虑到系统开发和用户使用的简便性,系统采用B/S架构模 

式,系统内部则按照业务处理流程进行模块化功能设计。 

2.1 系统架构 

图2系统模块构成 

系统采用数据库、服务器、浏览器3层结构模式。服务器 

端选用Windows2000 Server+IIS5.0作为ASP的运行环境。数据 

图书馆学刊 2011年第6期 

’ 

TUSHUGUANXUEKAN No.6,2o1 l 

3功能实现 

3.1数据库结构 

后台系统安全的门户。为了防止非管理员用户恶意破解系 

统,登录模块采用了一系列安全验证措施,包括限定IP段登 

录、输入登录验证码、防SQL注入检验、防未登录用户访问后 

台页面。 

数据库包含Admin、Disc、Bigclass、Smallclass4个表。Ad— 

min表记录了管理员的登录账户和密码。Disc表记录了音像的 

信息。Bigclass和smallclass两个表分别记录了音像的大类和 

程序代码如下: 

UserName=Trim(Session(“UserName”)) 

UserPwd=Trim(Session(“UserPwd”)) 

小类的划分情况。表1列出了Disc表结构。 

表1 Disc表结构 

字段名称 

disc

id 

_

Function HaveUser() ‘HaveUser函数判断输入的账户和 

数据类型 

自动编号 

文本 

e 

说明 

自动递增编号 

音像名称 

密码是否存在 

Set rs:Serve r.CreateObject(“ADODB.Recordset”) 

disc name 

blgeiass

nam

sql=“select¥from admin” ‘读取admin表中保存 

文本 

文本 

音像所属大类 

音像所属小类 

的账户信息 

rs.Open sql,conn,l,l 

sinailclass

name 

_

disc source 

disc

_

文本 

文本 

文本 

出版发行机构 

光盘数量 

光盘类型 

if UserName=is(“use ̄nltalTle”)and UserPwd is(“pass— 

hum 

type 

word”)then 

exist=true 

数返回True 

else 

‘如果账户和密码存在,HaveUser函 

disc

_

disc

note 

_

备注 

文本 

文本 

文本 

音像简介 

影片时长 

录入时间 

音像系列名称 

timelong 

addtime 

SeneS 

exist=false 

函数返回False 

end if 

HaveUser=exist 

‘如果账户和密码不存在,HaveUser 

文本 音像编号 

initial 

years 

文本 

文本 

音像名称首字母 

出版年份 

End Function 

If Not HaveUser0 Then 

response.redirect“login.asp”‘如果账户和密码 

不存在,返回登录页面 

End If 

3.2用户界面设计与实现 

用户界面即系统的前台部分,是用户与后台发生数据交 

互的界面。用户界面按照功能实现的不同划分为3个框架页 

面:搜索入口、结果显示、分类导航。搜索入口和分类导航框 

架页面是用户向服务器提交查询请求的入口(对应图1 

第1步)。相应地,结果显示框负责将结果页面呈现给用户(对 

应图1第6步)。采用框架式设计的优点是,页面各个组成部分 

是独立的,任一框架内的数据更新不需要刷新整个页面。当 

②音像管理模块实现了音像管理的全部功能,包括信息 

录入、音像分类、发布、修改、删除。信息录入模块除了提供基 

本的信息录入框外,还支持图片插入、文件上传、页面再编辑 

等高级功能。为了方便进行页面编辑,模块内嵌了word编辑 

器。用户可以对输入的文本内容进行文档格式设置,包括字 

体、大小、颜色、样式等,还可以插入表格和超链接。音像的添 

加、删除等操作通过服务器调用ADO组件来完成。ADO组件 

用户多次向服务器提交查询请求时,结果显示框需要多次更 

新显示新的结果集,但是页面的其他部分无需刷新,有利于 

减少服务器负荷。框架式页面实现代码如下: 

<frameset rows--"200,}”> 

<frame name="search”sre=“top

asp”frameborder="0”frames— 

通过构建Connection对象进行数据库的连接和执行sOL查询 

操作,完成对Disc表记录的添加、修改、删除操作。 

③音像查找是重要的功能支撑模块,其代码必须具备良 

好的逻辑结构,才能为前台用户检索功能提供充分的支持。 

为了支持多途径检索(提供6种检索途径:按音像大类、小类、 

音像名称、音像简介、出版年份、名称首字母)的需要,代码的 

pacing="0”><!——搜索入口——> 

<frameset cols:“300, ”> 

<frame name=“navigation”src=“left.asp”frameborder=“0” 

scrolling=“auto”><!——分类导航——> 

<frame name=“ esuIts” srlc=“search

asD” frameb0rder=‘‘^’0’ 

逻辑组织采用Switch结构,包括6个分支,每个分支处理一种 

检索途径。检索过程是:服务器通过ADO调用Connection对象 

scrolling="all ><!——结果显示——> 

<]frameset> 

</frameset> 

构建不同查询字段的SOL表达式,再执行数据库查询操作(对 

应图1第3步)。待数据库返回结果后,调用ADO组件的Rec0rdset 

对象读取记录(对应图l第5步)。最后由结果显示模块构建结 

果页面返回用户(对应图1第6步)。 

为了提供更加友好的查找功能,笔 应用Ajax构建了类 

3_3后台管理 

①管理员登录模块既是用户进入后台的入口,也是保护 

图书馆学刊 2011年第6期 

TUSHUGUANXUEKAN No.6,2O1 1 

似Google搜索提示的音像查找提示功能。实现步骤如下:①构 

建XMLHttpRequest对象。在无刷新网页的情况下,通过on— 

的资源整合平台或者是对MARC字段的利用以外,通过利用 

各种Open API,以及各种Web 2.0技术成为流行的集成技术141。 

Keyup事件触发aja】【Function函数。②向服务器发出访问请求。 

ajaxFunction函数首先判断检索词输入框是否有新内容输入, 

如果有,则创建xMLHttpRequest对象,并通过该对象的叩en0 

为了提高音像资源的可发现性,笔者在本馆的OPAC检索页 

面集成了音像查询。构建思路是:当用户在OPAC检索页面输 

入一个主题检索词时,服务器在执行原有馆藏查询的同时, 

方法向服务器发出通信请求。③服务器返I ̄lhtml文本。服务器 

将访问请求 ̄getSuggest-asp页面处理。getSuggest.asp从保存 

有全部音像信息的XML文档中读取音像名称标签的文本内 

容,并1)2html ̄本格式返回。getmessagei ̄数接收返回结果,并 

显示在检索词输入框下方。 

也向音像查找模块发出查询请求,并提供结果显示链接。笔 

者应用JavaScript实现了上述功能,代码如下: 

<div> 

<input type=“checkbox”name=“disc search”checked 

checked”onclick=“if(this.checked)fdocument.showresult.in— 

程序代码如下: 

nerHTML= <a href=http:#202.1 92.240.1 39/disc/disc

search? 

<input name=“text’’type=“text’’id=“text”onKeyUp=“a— 

disc note=keyword>音像查找结果</a> ’> 

iaxFunction()”/> 

</div> 

<!—一text是检索词输入框,onKeyUp是触发ajaxFunction 

上述代码中,checkbox属性表示在页面中增添一个单选 

函数的事件——> 框元素,onclick属性表示当点选单选框时,触发后续代码的 

<script type=“text/javascript”> 

运行。这是整段代码的核心所在,它首先判断单选框是否选 

function ajaxFunction() 

择,如果已选择,则执行后续代码生成指向音像查找结果的 

{ 

超链接。超链接标签<a>中指定了音像查询接口,用户在 

thisLen=document.getElementById(“text”.value.1ength; 

OPAC检索框中输入的检索词将传递至该查询接口。docu— 

if(preEen!=thisLen),/如果有新的内容输入,则向服务器 

ment.showresuh.innerHTML语句表示在ID标志为showresult的 

发出访问请求 

页面元素(一般为<div>元素,它的ID可任意命名)中显示“音 

{ 

像查找结果”超链接。经过以上处理后,用户在点选音像资源 

ajax=new ActiveXObject(“MsXML2.XMLHTYP”);, 0建 

单选框后,系统将执行馆藏资源的检索,同时显示一个“音像 

XMLHttpRequest ̄象 

查找结果”链接,实现了音像查询功能在OPAC的集成应用。 

textLen=doeument.getElementById(“text”).value.1ength 

if(textLen>O) 

5结语 

{ 

通过笔者的开发实践,深入分析了音像管理系统的设计 

6ax.onreadystatechange=getmessage;ajax.open(“GET”, 

与实现过程。本次实践不只是实现了一个具体的应用系统, 

getSuggest.asp?text=”+escape(document.getElementById(“text”). 

而是为日后自建数据库搭建了一个系统原型。从这个意义上 

value)+“&texteen="+textLen+“&num=”+Math.random(),true); 

讲,本系统是日后深入研究的起点。今后,笔者主要研究从3 

//向服务器发出请求 

方面改进系统功能,使其能够作为一个通用平台,为图书馆 

ajax.send(nul1); 

自建各类数据库提供有力支撑。①应用Lucene全文搜索软件 

} 

包增强系统的分词、索引和搜索能力。②应用更多的Web 2.0 

} 

技术扩展系统功能,改善用户体验。③自建数据库与OPAC无 

preLen=thisLen; 

缝整合的实现技术。 

} 

function getmessage() 

参考文献: 

{ 

【l】周峰,徐晓军,李德路.ASP开发技术原理与实践教程[M】. 

北京:电子工业出版社,2007. 

document.getElementById(“showinfo”).innerHTML=ajxa.re— 

【2】陈锋敏.Aja)【原理与系统开发[M】.北京:清华大学出版社, 

sponseText; 

2009. 

} 

[31 Sceppa D著-AD0编程技术【M】.石均等译.北京:清华大学 

</script> 

出版社,2001. 

4音像查询功能在OPAC的集成应用 

【4】王海.基于0PAc的资源整合创新研究与实践lJJ.图书馆 

理论与实践,2010(10):74—76. 

当前,关于馆藏资源、网络资源以及第三方资源在OPAC 

黄悦深男,1984年生,硕士。 

的集成应用正是研究热点。整合手段除了原有的购买软件商 

(收稿日期:2011-01—07;责编:王天泥。) 


发布者:admin,转转请注明出处:http://www.yc00.com/web/1718948923a2753790.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信