1、电子期刊导航系统的设计与实现廖文献 收稿日期:2009-9-10作者简介:廖文献(1980- ),男,讲师,主要研究方向:信息管理。(浙江工贸职业技术学院,浙江 温州325003)摘 要:本文通过对电子期刊导航系统研发的总结,总结出一个便于开发实现的系统设计方案,并针对期刊URL数据获取、期刊数据库整合等关键开发问题,提出了一个基于Office软件、VBA等工具软件和程序技术的解决方案。实践证明,该设计与解决方案大大降低了系统开发难度,缩短了开发周期,对电子期刊导航系统的构建有很好的参考价值。关键词:电子期刊导航; 期刊URL; 期刊数据库整合中图分类号: G250.76 文献标识码: A 文
2、章编号: 16720105(2009)04003506Design and Implementation of E-journals Navigation SystemLiao Wenxian(Zhejiang Industry & Trade Polytechnic, Wenzhou Zhejiang, 325003)Abstract: This paper summarizes the development of E-journals Navigation System and puts forward an easy-developing design of navigation sy
3、stem. To solve the key issues on Journals-URL acquisition and Journals-database integration, a method based on Microsoft Office and VBA is introduced. Practice proves that the design reduces the difficulty and time of software development and has good practical value.Key words: E-journals Navigation
4、 System; journals-URL; journals-database integration随着电子期刊资源的迅速发展,电子期刊已成为图书馆向读者提供信息资源的重要来源,但电子期刊分布分散的特点阻碍了读者快捷地获取目标信息。而电子期刊导航系统能够把类型多样、数量众多、分布分散的电子期刊资源进行有序地整合,为读者提供了使用电子期刊资源的捷径。当前,电子期刊导航系统建设已经引起了国内图书馆的普遍重视,都不同程度地做了电子期刊导航的导引工作。但同时,包括高校图书馆在内的国内图书馆已经建立起电子期刊导航系统却为数不多1。其主要原因有以下三点:第一,系统开发涉及数据库技术、网络程序语言和网页
5、开发等技术,要求图书馆技术开发人员具备较高的软件开发能力;第二,在期刊数据库提供商无法提供期刊URL数据的情况下,获取期刊URL数据难度大;第三,整合各期刊数据库时,数据存在冗余性、不一致等情况。 针对上述问题,本文通过对电子期刊导航系统实际研发的总结,总结出了一个利用Access、ASP、Dreamweaver等技术实现电子期刊导航系统的设计方案,并同时提出了一个基于Office软件、VBA等工具软件和程序技术的解决方案。1 系统设计思路从图书馆已购的数据库和免费电子资源出发,依据系统数据库的字段设计收集整理其电子期刊信息到本地数据库中。为电子期刊导航系统设计基本的浏览和检索功能。期刊浏览采
6、用按字母顺序同时,它提供了期刊超链接功能,期刊URL直接指向电子期刊在数据库中的位置。检索方式采用前方一致和包含两种方式,检索内容包含ISSN、CN、期刊名等内容。系统页面表现根据用户浏览习惯,采用表格形式显示内容,并在系统显示大量内容时,通过分页技术实现分页显示,方便用户浏览。建立电子期刊后台管理系统,实现对期刊数据的维护和管理,后台系统应能够方便地增加、删除及修改电子期刊信息。图1 电子期刊导航系统结构图2 电子期刊数据获取本系统主要功能为集成来源不同数据库的电子期刊,使其在同一平台下得到信息揭示以便提供服务。电子期刊主要来源于图书馆已购买的全文数据库、期刊集成系统及网上免费开放获取期刊(
7、Open Access Journal),电子期刊数据一般以电子期刊列表(tilte list)的形式提供,外文电子期刊数据库一般直接在其网站上提供各种文件格式的期刊列表下载,而三大中文全文电子期刊数据库则通过数据库供应商间接提供。在电子期刊列表提供的字段数据中,一般包括期刊名、ISSN、收录年限、所属学科、期刊URL等,其中电子期刊URL字段数据在电子期刊导航系统中起着非常重要的作用,用户正是通过点击期刊URL才链接到电子期刊所在数据库中的位置,即电子期刊卷、期页面,并浏览各卷期的期刊全文3。但是,有少数期刊数据库并不提供电子期刊URL,在这种情况下,开发人员必须通过技术手段来获取。目前,国
8、内三大中文期刊数据库供应商提供的电子期刊列表就不包含电子期刊URL字段。另外,少数外文期刊数据库也存种情况。正是由于这些电子期刊URL的获取问题,导致了许多图书馆未能实现电子期刊导航,或者实现的电子期刊导航缺少了电子期刊URL浏览这一重要功能。针对此问题相关研究文献也给出了一些解决思路,但实施步骤繁琐4。对此,本文以中文期刊数据库为例,提出了一个利用办公软件和VBA编程技术的解决办法。具体执行步骤如下:步骤一:分别利用三大期刊数据库网站上的电子期刊导航,按首字母或者专辑直接成批复制包含期刊URL信息的期刊名到EXCEL列表中。对于包含图片的期刊名,可先复制到WORD中,通过替换功能把图片删除,
9、再复制到EXCEL表中。最终会在EXCEL列表中得到一列包含电子期刊URL的期刊名。步骤二:按Alt+F11,打开VBA编程环境,选择“插入”,“模块”,输入代码5:Function GetAddress(Hycell)Application.Volatile TureWith Hycell.Hyperlinks(1)GetAddress =IIf(.Address = , .SubAddress, .Address)End WithEnd Function步骤三:回到EXCEL中,选择目标列的一单元,并在公式栏中输入“=GetAddress( 数据源列数)”,然后利用EXCEL的填充功能,E
10、XCEL自动抽取源列中期刊名所包含的期刊URL信息,最后把所得期刊URL列对应复制到Access数据表中。3 导航系统的设计与实现3.1 系统开发平台本系统基于B/S(Browser/Server)结构开发;数据库软件:ACCESS 2000;网络编程语言:ASP2.0;脚本语言:VBScript;操作系统:windows advanced server+IIS5.0;3.2 系统设计根据系统功能逻辑,系统分为期刊数据库、业务逻辑实现和页面表示等三个部分(如图1所示)。期刊数据库作为本系统的数据源,是系统开发的关键。在本系统中,期刊数据库含有两个表,分别整合了中文电子期刊列表信息和外文电子期刊
11、列表信息。业务逻辑负责实现了期刊字段检索、检索方式和按字母浏览等三大功能。系统页面显示则为用户提供了良好用户浏览界面,通过采用动态表格、分页技术等显示技术,提高用户界面的友好性。图2 系统设计结构同时,为了降低系统开发难度、缩短开发周期,系统开发选取了ASP、Dreamweaver、Access等软件工具和程序语言。其中,期刊数据库构建采用Microsoft Access数据库技术,业务逻辑处理和系统页面表示则采用Dreamweaver和ASP共同进行实现。3.3数据库的构建3.3.1数据库设计在建立电子期刊导航系统之前,首先要确定期刊数据库中的表字段,尽量避免开发过程中增设字段。电子期刊资源
12、包含中文期刊和外文期刊,在构建数据库时,可以分别予以单独建立。在本系统中,采取在ACCESS数据库中建立两个数据库表,其表字段设计如表1所示。表1 数据库字段值得说明的是,目前国内大型的中文期刊数据库有三家,分别是中国期刊全文数据库(CNKI)、万方数字化期刊和重庆维普信息资源系统。本文从三大中文数据库网站提供的期刊导航系统中,提取期刊信息,并就期刊重复情况做了一次统计分析。根该数据统计,CNKI、万方数字化期刊和重庆维普信息资源系统所包含期刊数分别为8178,5850,6509。期刊重复情况如表2所示。表2说明,三大中文期刊数据库收录的期刊重复情况普 表2 期刊数据库间的期刊收录重复数据库间
13、的期刊重复数量CNKI、万方5222CNKI、重庆维普3113万方、重庆维普2359CNKI、万方、重庆维普2301遍。对此,本系统对三大期刊数据库的期刊数据进行整合,并以表1左中所示字段存储显示期刊数据。 另外,外文期刊数据库之间也存在着期刊重复收录现象。但由于外文期刊数据库种类繁多,若采取上述方法,必然造成单行显示字段过多。因此,对于外文期刊数据库表字段仍采取表1右边所示设计。3.3.2期刊数据库的整合在本系统中,中文电子期刊数据库和外文电子期刊数据库分别统一整合到一张数据库表中,因此需要对不同数据库期刊数据进行整合。然而,获取的电子期刊列表数据存在数据重复和数据缺失情况:各期刊数据库自身
14、存在期刊记录重复;期刊数据库之间存在期刊收录重复;期刊数据库中存在残缺期刊记录,在不丢失期刊记录的前提下,删除这些残缺记录。对此,开发人员需要对上述问题进行处理,过程可按图3所示操作:图3 期刊数据库表的处理过程图 其关键SQL语句如下:DELETE * FROM dbname WHERE ID NOT IN (SELECT MAX(ID) FROM dbname GROUP BY TITLE,ISSN,CN);/* 查重功能,在执行前,先对表添加自动编号ID字段,选择TITLE,ISSN,CN避免删除同名不同刊的期刊记录*/SELECT title,cn,issn FROM dbname1
15、UNION SELECT title,cn,issn FROM dbname2 UNION /*合并处理过的期刊数据表,自动去除重复记录*/DELETE * FROM dd WHERE issn is null and cn is null and dbname.title in (SELECT title FROM db GROUP BY TITLE having count(title)1) /*处理问题(3)*/SELECT dbname1.title, db1.CN, dbname1.ISSN,dbname2.URL, dbname2.DB FROM dbname1 LEFT JOIN
16、 CNKI ON dbname1.title = dbname2.title /* 添加期刊URL等其他字段*/3.4业务逻辑的实现本系统的业务逻辑实现主要是检索方式和按字母浏览两大功能,下面给出它们实现关键方法及代码。根据用户检索习惯,本系统提供了前方一致和包含两种检索方式,关键代码如下:SELECT * FROM db WHERE title like %&searchcontent&%/*包含*/SELECT * FROM db WHERE title like &searchcontent&%/*前方一致*/按字母浏览功能提供了按期刊名首字母顺排列表,用户根据实际需要,可选取26个英文
17、字母中任一个浏览,其中汉字按汉字拼音首字母进行分类。关键代码如下: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,ZSELECT * FROM zwqk where (title between &py(byletter_)& and &py1(byletter_)&) or title lik
18、e &py2(byletter_)&% ORDER BY title desc3.5 电子期刊的显示与浏览 本系统的页面表示功能主要包含动态表格显示、分页显示和记录数显示等功能。利用Dremaweaver软件所提供的功能便可以轻松实现上述功能。主要实现步骤如下:3.5.1设置记录集,通过“应用程序”面板下的“绑定”标签设置系统需要显示的记录3.5.2插入动态表格,“插入”,“应用程序对象”,“动态数据”,“动态表格”3.5.3设置分页显示,“插入”,“应用程序对象”,“记录集分页”,“记录集导航条”3.5.4设置记录数显示,“插入”,“应用程序对象”,“显示记录计数”,“记录集导航状态” 另外
19、,开发人员在开发平台上可直接对网页对象进行拖动、设置等可视化操作,加快开发速度。3.6后台功能模块 后台功能模块主要功能包括电子期刊记录与数据库来源的添加、修改与删除等。后台管理页面需有统一的入口,管理员必须经过用户名和密码效验后方可进入。后台管理还要包含期刊URL的批量更改页面及数据备份恢复页面,因为很多情况下,当原数据库检索系统升级或服务器地址迁移后,相应的电子期刊的URL 可能有所变化,这种变化通常是有规律可循的,批量替换URL 页面就是为了应对这种情况而设计的6。4 结 语 本系统实现了电子期刊导航系统的基本功能,但仍有许多功能可以扩展,如按学科分类浏览,对被中文核心期刊、SCI、EI
20、等检索的期刊进行标识等等。另外,电子期刊导航系统建立提供给用户使用后,由于期刊数据库经常发生期刊增添、删除、停止等变更,所以维护人员必须及时进行数据更新和维护,以保证其时效性,确保用户能够能方便快捷地查找到所需的电子资源。因此,电子期刊导航系统的更新和维护成为一项需长期坚持的工作。参考文献:1 方宝花.高校图书馆电子期刊导航系统建设存在的问题及其对策J.大学图书馆学报,2006,24(1):74-78.2 李玉波,韩光林,李彦.SQL Server完全自学手册M.北京:机械工业出版社,2007.3 史淑君,董哲.利用JavaScript技术建立馆藏外文电子期刊导航系统J.现代情报.2006(11):77-78.4 周琴.建立和维护电子期刊导航系统经验推介J.图书馆杂志,2003,22(4):40-41.5 Excel Home.Excel实战技巧精粹,北京:人民邮电出版社,2007.6 武海东.利用asp+Access构建馆藏全文电子期刊导航系统J. 图书馆学刊,2009,(5):109-111.【责任编辑:潘银芳】