免费论文查重: 大雅 万方 维普 turnitin paperpass

简论图书馆电子资源管理系统设计

最后更新时间:2024-01-23 作者:用户投稿原创标记本站原创 点赞:33744 浏览:156839
论文导读:
关键词:图书馆;电子资源;管理系统;MVC框架
摘要:文章阐述了关键技术与电子资源管理系统实现需要的功能,分析了Model层中数据检索、数据更新、数据删除的条件以及实现图书馆电子资源管理系统的基本路径。
1003-1588(2014)04-0112-03
收稿日期:2014-03-12
作者简介:尚超(1979-),中国医科大学图书馆馆员。1关键技术介绍

1.1MVC框架简介

MVC是一个设计模式,它强制性地使应用程序的输入、处理和输出分开,使MVC应用程序被分成三个核心部件:模型、视图、制约器。
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务,如:它可以用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,也就是说模型与数据格式无关,这样,一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面。在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,包括Macromedia Flash和XHTML、XML/XSL、WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC最大的好处是能为应用程序处理很多不同的视图。在视图中,其实没有真正的处理发生,不管这些数据是联机存储的,还是一个雇员列表,作为视图来讲,他只是作为一种输出数据并允许用户操纵的方式[1]。
制约器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,制约器本身不输出任何东西,也不做任何处理,只是接收请求并决定调用某个模型构件去处理请求,然后确定用某个视图来显示模型以及处理返回的数据。

1.2关于ASP.NET MVC2.0

1.2.1ASP.NET MVC2.0基本框架。①通过把项目分成model view和controller,使得复杂的项目更加容易维护。②没有使用view state和服务器表单控件,可以更方便地制约应用程序。③应用程序通过controller来制约程序请求,可以提供丰富的url重写。④对单元测试的支持更加出色。⑤在团队开发模式下表现更加出众。
1.2.2ASP.NET MVC2.0框架web窗体的优点。①采用事件驱动模式来制约应用程序请求,由大量服务器控件支持。②采用页面制约机制,可以为单个页面添加事件处理函数。③使用view state和服务器端页面,使管理页面状态信息更加轻松。④对部分想使用服务器端控件的开发团队,使用起来更加方便。⑤开发起来比MVC模式要轻松简单一些。
2图书馆电子资源管理系统功能设计
图书馆电子资源管理系统功能设计见图1。
图1图书馆电子资源管理系统结构图沈阳理工大学图书馆目前有的中文期刊、英文期刊、电子图书、报纸、网页信息、多媒体及学位论文等电子资源总数据量已达到千万级别,占用存储空间已经达到15TB。因此,其建立的系统要能对大数据量的信息进行存储并要保证其高速的检索,但与此同时,不能占用系统过多的资源。
由于各种电子资源所需的展示方式不同,所以不同类型的资源可以以个性化的方式进行展示。
由于存在管理权限理由,所以系统要为用户提供分级、分权限的管理,同时允许用户上传文件以及对资源的好坏进行评价。
3图书馆电子资源管理系统框架设计
由于系统的整体采用了ASP.NET MVC2.0设计模式,所以将系统分为了三个部分,即 Model层、View层与Control层。其中,Model层为整个系统的心脏;View层中完成了对中文期刊、英文期刊、电子图书、报纸、网页信息、多媒体及学位论文等电子资源的个性化展示,其中融入了较多的web2.0技术;Control层主要完成了系统的权限管理及请求分配的理由[2]。

3.1Model层设计

Model层设计了对数据的基本操作。该层除涉及对数据的增加、删除、更新等简单操作之外,还需要考虑到信息情报学中涉及的比较复杂的检索功能。从数据模型的建立开始,笔者以大家熟知的期刊中论文的数据结构模型为例,来介绍电子资源管理系统中Model层建立的总体构想。
T_EN_Journal类代表了大家熟知的某种期刊。当然期刊又细分为很多的年卷与信息,如:《Science》期刊的某一期暂且用T_EN_Issues类来代表,T_EN_Journal到T_EN_Issues是一种一对多的关系。T_EN_Literary类代表期刊中的文章,具体结构关系见图2。
图2数据库结构图以T_EN_Literary类为代表,图2详细分析了怎样使用Lucene实现数据库的各种操作以及怎样使用Lucene来实现复杂的数据检索并且避开对数据库的访问。
尚超:图书馆电子资源管理系统的设计尚超:图书馆电子资源管理系统的设计3.1.1检索接口。上述提到的每个类都实现了Search这个公共接口,该接口的主要功能是负责执行各种复杂的检索任务,并将检索出来的结果以数据集合的形式返回给Control层。
系统采用ASP.NET MVC2.0框架,虽然可以很便捷的使用LINQ来完成以上的工作,但是其中会存在很大的隐患。当数据量比较大时,LINQ会对整个数据表进行查询,换句话说,就是将数据库的整个表的信息加载到内存中进行查找,调度过程中要占用几乎全部的CPU资源,但返回结果的速度却不尽如人意。
因此,当数据量达到一定程度时,就要考虑更高级的检索策略,Lucene检索框架就是最好的选择。前文提到,在系统初始化过程中已经对整个数据库建立了索引,那么在实现Search接口查询数据时,就可以避开对数据库的访问,直接从已经建立好的索引中查询,然后将查询的结果返回给Control层。这样就避开了内存及CPU的消耗,同时亦保证了检索的速度[3]。论文导读:

3.1.2更新接口。电子资源管理系统中的每种资源都被定义为一个类,这些类同时也实现了update的接口。该接口主要负责数据库的更新及索引的同步。更新数据首先要获取那些需要更新的数据,这些工作由检索接口去实现。当检索接口将数据对象集返回后,再将数据对象集进行拆分,只留大家需要的对象主键ID数据,随后利用主键ID到数据库中查询数据。这一步不会过多地耗费系统的资源,因为数据库中对唯一主键数值的查询耗费资源极小。当数据更新成功之后,再从数据库中取回已经更新的数据集合,根据这部分集合为数据库的lucene索引进行更新,从而完成了索引到数据库两面数据的同步[4]。
3.1.3删除接口。delete的接口负责数据的删除工作。当检索接口将数据对象集返回后,再将数据对象集进行拆分,只留需要的对象主键ID数据,随后利用主键ID到数据库中删除数据。如果删除成功,就对数据库索引进行相关的删除工作,从而完成了索引到数据库两面数据的同步。

3.2View层设计

View层主要负责对图书馆目前现有的中文期刊、英文期刊、电子图书、报纸、网页信息、多媒体及学位论文等电子资源的个性化展示。View中所用到的数据都是Control层提供的。如:期刊列表的展示页面将View层中的数据接收类型设置为期刊的集合对象,就可以将Control层返回过来的数据对象剖析。