您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子期刊导航系统的设计与实现
电子期刊导航系统的设计与实现廖文献(浙江工贸职业技术学院,浙江温州325003)摘要:本文通过对电子期刊导航系统研发的总结,总结出一个便于开发实现的系统设计方案,并针对期刊URL数据获取、期刊数据库整合等关键开发问题,提出了一个基于Office软件、VBA等工具软件和程序技术的解决方案。实践证明,该设计与解决方案大大降低了系统开发难度,缩短了开发周期,对电子期刊导航系统的构建有很好的参考价值。关键词:电子期刊导航;期刊URL;期刊数据库整合中图分类号:G250.76文献标识码:A文章编号:1672-0105(2009)04-0035-06DesignandImplementationofE-journalsNavigationSystemLiaoWenxian(ZhejiangIndustry&TradePolytechnic,WenzhouZhejiang,325003)Abstract:ThispapersummarizesthedevelopmentofE-journalsNavigationSystemandputsforwardaneasy-developingdesignofnavigationsystem.TosolvethekeyissuesonJournals-URLacquisitionandJournals-databaseintegration,amethodbasedonMicrosoftOfficeandVBAisintroduced.Practiceprovesthatthedesignreducesthedifficultyandtimeofsoftwaredevelopmentandhasgoodpracticalvalue.Keywords:E-journalsNavigationSystem;journals-URL;journals-databaseintegration随着电子期刊资源的迅速发展,电子期刊已成为图书馆向读者提供信息资源的重要来源,但电子期刊分布分散的特点阻碍了读者快捷地获取目标信息。而电子期刊导航系统能够把类型多样、数量众多、分布分散的电子期刊资源进行有序地整合,为读者提供了使用电子期刊资源的捷径。当前,电子期刊导航系统建设已经引起了国内图书馆的普遍重视,都不同程度地做了电子期刊导航的导引工作。但同时,包括高校图书馆在内的国内图书馆已经建立起电子期刊导航系统却为数不多[1]。其主要原因有以下三点:第一,系统开发涉及数据库技术、网络程序语言和网页开发等技术,要求图书馆技术开发人员具备较高的软件开发能力;第二,在期刊数据库提供商无法提供期刊URL数据的情况下,获取期刊URL数据难度大;第三,整合各期刊数据库时,数据存在冗余性、不一致等情况。针对上述问题,本文通过对电子期刊导航系统实际研发的总结,总结出了一个利用Access、ASP、Dreamweaver等技术实现电子期刊导航系统的设计方案,并同时提出了一个基于Office软件、VBA等工具软件和程序技术的解决方案。收稿日期:2009-9-10作者简介:廖文献(1980-),男,讲师,主要研究方向:信息管理。1系统设计思路从图书馆已购的数据库和免费电子资源出发,依据系统数据库的字段设计收集整理其电子期刊信息到本地数据库中。为电子期刊导航系统设计基本的浏览和检索功能。期刊浏览采用按字母顺序同时,它提供了期刊超链接功能,期刊URL直接指向电子期刊在数据库中的位置。检索方式采用前方一致和包含两种方式,检索内容包含ISSN、CN、期刊名等内容。系统页面表现——根据用户浏览习惯,采用表格形式显示内容,并在系统显示大量内容时,通过分页技术实现分页显示,方便用户浏览。建立电子期刊后台管理系统,实现对期刊数据的维护和管理,后台系统应能够方便地增加、删除及修改电子期刊信息。图1电子期刊导航系统结构图2电子期刊数据获取本系统主要功能为集成来源不同数据库的电子期刊,使其在同一平台下得到信息揭示以便提供服务。电子期刊主要来源于图书馆已购买的全文数据库、期刊集成系统及网上免费开放获取期刊(OpenAccessJournal),电子期刊数据一般以电子期刊列表(tiltelist)的形式提供,外文电子期刊数据库一般直接在其网站上提供各种文件格式的期刊列表下载,而三大中文全文电子期刊数据库则通过数据库供应商间接提供。在电子期刊列表提供的字段数据中,一般包括期刊名、ISSN、收录年限、所属学科、期刊URL等,其中电子期刊URL字段数据在电子期刊导航系统中起着非常重要的作用,用户正是通过点击期刊URL才链接到电子期刊所在数据库中的位置,即电子期刊卷、期页面,并浏览各卷期的期刊全文[3]。但是,有少数期刊数据库并不提供电子期刊URL,在这种情况下,开发人员必须通过技术手段来获取。目前,国内三大中文期刊数据库供应商提供的电子期刊列表就不包含电子期刊URL字段。另外,少数外文期刊数据库也存种情况。正是由于这些电子期刊URL的获取问题,导致了许多图书馆未能实现电子期刊导航,或者实现的电子期刊导航缺少了电子期刊URL浏览这一重要功能。针对此问题相关研究文献也给出了一些解决思路,但实施步骤繁琐[4]。对此,本文以中文期刊数据库为例,提出了一个利用办公软件和VBA编程技术的解决办法。具体执行步骤如下:步骤一:分别利用三大期刊数据库网站上的电子期刊导航,按首字母或者专辑直接成批复制包含期刊URL信息的期刊名到EXCEL列表中。对于包含图片的期刊名,可先复制到WORD中,通过替换功能把图片删除,再复制到EXCEL表中。最终会在EXCEL列表中得到一列包含电子期刊URL的期刊名。步骤二:按Alt+F11,打开VBA编程环境,选择“插入”,“模块”,输入代码[5]:FunctionGetAddress(Hycell)Application.VolatileTureWithHycell.Hyperlinks(1)GetAddress=IIf(.Address=,.SubAddress,.Address)EndWithEndFunction步骤三:回到EXCEL中,选择目标列的一单元,并在公式栏中输入“=GetAddress(数据源列数)”,然后利用EXCEL的填充功能,EXCEL自动抽取源列中期刊名所包含的期刊URL信息,最后把所得期刊URL列对应复制到Access数据表中。3导航系统的设计与实现3.1系统开发平台本系统基于B/S(Browser/Server)结构开发;数据库软件:ACCESS2000;网络编程语言:ASP2.0;脚本语言:VBScript;操作系统:windowsadvancedserver+IIS5.0;3.2系统设计根据系统功能逻辑,系统分为期刊数据库、业务逻辑实现和页面表示等三个部分(如图1所示)。期刊数据库作为本系统的数据源,是系统开发的关键。在本系统中,期刊数据库含有两个表,分别整合了中文电子期刊列表信息和外文电子期刊列表信息。业务逻辑负责实现了期刊字段检索、检索方式和按字母浏览等三大功能。系统页面显示则为用户提供了良好用户浏览界面,通过采用动态表格、分页技术等显示技术,提高用户界面的友好性。图2系统设计结构同时,为了降低系统开发难度、缩短开发周期,系统开发选取了ASP、Dreamweaver、Access等软件工具和程序语言。其中,期刊数据库构建采用MicrosoftAccess数据库技术,业务逻辑处理和系统页面表示则采用Dreamweaver和ASP共同进行实现。3.3数据库的构建3.3.1数据库设计在建立电子期刊导航系统之前,首先要确定期刊数据库中的表字段,尽量避免开发过程中增设字段。电子期刊资源包含中文期刊和外文期刊,在构建数据库时,可以分别予以单独建立。在本系统中,采取在ACCESS数据库中建立两个数据库表,其表字段设计如表1所示。表1数据库字段值得说明的是,目前国内大型的中文期刊数据库有三家,分别是中国期刊全文数据库(CNKI)、万方数字化期刊和重庆维普信息资源系统。本文从三大中文数据库网站提供的期刊导航系统中,提取期刊信息,并就期刊重复情况做了一次统计分析。根该数据统计,CNKI、万方数字化期刊和重庆维普信息资源系统所包含期刊数分别为8178,5850,6509。期刊重复情况如表2所示。表2说明,三大中文期刊数据库收录的期刊重复情况普表2期刊数据库间的期刊收录重复遍。对此,本系统对三大期刊数据库的期刊数据进行整合,并以表1左中所示字段存储显示期刊数据。另外,外文期刊数据库之间也存在着期刊重复收录现象。但由于外文期刊数据库种类繁多,若采取上述方法,必然造成单行显示字段过多。因此,对于外文期刊数据库表字段仍采取表1右边所示设计。3.3.2期刊数据库的整合在本系统中,中文电子期刊数据库和外文电子期刊数据库分别统一整合到一张数据库表中,因此需要对不同数据库期刊数据进行整合。然而,获取的电子期刊列表数据存在数据重复和数据缺失情况:各期刊数据库自身存在期刊记录重复;期刊数据库之间存在期刊收录重复;期刊数据库中存在残缺期刊记录,在不丢失期刊记录的前提下,删除这些残缺记录。对此,开发人员需要对上述问题进行处理,过程可按图3所示操作:图3期刊数据库表的处理过程图其关键SQL语句如下:DELETE*FROMdbnameWHEREIDNOTIN(SELECTMAX(ID)FROMdbnameGROUPBY数据库间的期刊重复数量CNKI、万方5222CNKI、重庆维普3113万方、重庆维普2359CNKI、万方、重庆维普2301TITLE,ISSN,CN);/*查重功能,在执行前,先对表添加自动编号ID字段,选择TITLE,ISSN,CN避免删除同名不同刊的期刊记录*/SELECTtitle,cn,issnFROMdbname1UNIONSELECTtitle,cn,issnFROMdbname2UNION……/*合并处理过的期刊数据表,自动去除重复记录*/DELETE*FROMddWHEREissnisnullandcnisnullanddbname.titlein(SELECTtitleFROMdbGROUPBYTITLEhavingcount(title)1)/*处理问题(3)*/SELECTdbname1.title,db1.CN,dbname1.ISSN,dbname2.URL,dbname2.DBFROMdbname1LEFTJOINCNKIONdbname1.title=dbname2.title/*添加期刊URL等其他字段*/3.4业务逻辑的实现本系统的业务逻辑实现主要是检索方式和按字母浏览两大功能,下面给出它们实现关键方法及代码。根据用户检索习惯,本系统提供了前方一致和包含两种检索方式,关键代码如下:SELECT*FROMdbWHEREtitlelike'%&searchcontent&%'/*包含*/SELECT*FROMdbWHEREtitlelike'&searchcontent&%'/*前方一致*/按字母浏览功能提供了按期刊名首字母顺排列表,用户根据实际需要,可选取26个英文字母中任一个浏览,其中汉字按汉字拼音首字母进行分类。关键代码如下:py(26)={阿,八,擦,搭,俄,发,嘎,哈,I,机,咖,拉,呣,内,哦,帕,七,然,撒,他,U,V,娃,西,压,匝}py1(26)={八,擦,搭,俄,发,嘎,哈,机,I,咖,拉,呣内,哦,帕,七,然,撒,他,U,V,娃西,压,匝,祚}py2(26)={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}SELECT*FROMzwqkwhere(titlebetween'&py(byletter_)&'and'&py1(byletter_)&')ortitlelike'&py2(byletter_)&%'ORDERBYtitledesc3.5电子期刊的显示与浏览本系统的页面表示功能主要包含动态表格显示、分页显示和记录数显示等功
本文标题:电子期刊导航系统的设计与实现
链接地址:https://www.777doc.com/doc-2253679 .html