基于CORBA的电子资源集成系统应用研究

来源 :中国教育信息化·高教职教 | 被引量 : 0次 | 上传用户:tomjack110
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文通过分析PDF文档的结构以及CORBA技术的特点,并以PDF文档信息转存至SQL Server中为例,说明了电子图书资源集成系统的实现过程。对系统的体系结构设计以及流程设计进行了说明,以期对电子图书资源的整合起到一定的借鉴作用。
  关键词:异构数据;CORBA技术;电子资源;电子文档
  中图分类号:TP302.1 文献标识码:A文章编号:1673-8454(2010)09-0020-03
  
  一、引言
  随着计算机网络技术的迅猛发展,电子资源的种类越来越多。这些数字信息资源就构成了一个分布式的大型知识库。[1]由于电子资源来源广泛,不可避免地出现了信息源的异构问题。目前图书馆采取了一些措施来实现电子资源的统一管理,但是每种方案都有其局限性,如何合理有效地对各种资源进行组织,把各个异构数据库资源整合起来,实现电子资源的“一站式”查询,为用户提供快捷、方便的数字信息资源检索服务,从而提高图书馆资源的利用率成为当今图书馆建设中的一个新课题。
  二、电子资源集成系统
  从应用方面来说,电子资源的“一站式”查询涉及两个最核心的问题,那就是应用的集成以及数据的集成与交换。应用的集成包括对现有的各种电子查询系统集成以形成统一的查询平台,此项工作因为涉及面广,实现难度较大;而数据的集成与交换涉及面小,相对易于实现,是异构数据集成中最为重要的问题。
  1.电子资源格式分析
  电子资源系统集成涉及到各类文档,不同文档的格式各不相同,为便于说明,本文以PDF格式文档为例,说明将电子资源集成到通用数据库中进行管理的方法,使用户能够很方便地检索使用各种格式的电子资源。
  PDF文件的物理结构组织格式如下:[2]
  ::=
文件头
   文件体
   交叉引用表
   文件尾
  (1)文件头:用于指明该文件所遵从PDF规范的版本号。
  (2)文件体:由一系列的PDF间接对象组成。
  (3)交叉引用表:依据存放间接对象地址的索引表,PDF文件中的间接对象可以进行随机存取,无须读入整个文件来定位某个特定的间接对象。
  (4)文件尾:文件尾可以让应用程序快速找到交叉引用表以及某些指定的对象。应用程序应该从文件尾读起,根据文件尾提供的信息,PDF的应用程序可以找到交叉引用表和整个PDF文件的根对象,从而控制整个PDF文件。
  2.CORBA技术
  CORBA很好地结合了面向对象技术和分布式处理技术。它使用一种标准的通信模型,使运行在不同的操作系统、网络协议和硬件结构间的客户和服务器可以实现应用层间的交互。
  CORBA技术将面向对象的概念揉合到分布计算中,使得CORBA规范成为开放的、基于客户/服务器模式的、面向对象的分布计算的工业标准。
  电子资源集成系统充分考虑到了CORBA的优势,程序利用符合CORBA的中间件技术实现了电子资源系统的集成。
  3.通用数据库系统
  信息的管理,尤其是有规则的信息管理都是采用数据库系统进行。本系统采用SQL Server 2005作为电子图书资源集成后的数据库系统,将电子资源信息进行归类存放,便于实现“一站式”查询。
  4.体系结构设计
  基于分层以及模块化设计的原则,系统的体系结构如图1所示。
  类型识别模块对接收到的电子文档的类型进行识别,并将电子文档提交给相应的转换模块进行转换。
  转换模块是整个系统的关键模块。其任务是接收用户提交的各类电子文档,并通过自动识别程序,对不同种类的电子资源分别调用不同的处理模块,将电子文档的标题、作者、中文摘要、英文摘要、关键词、正文等信息提取出来后,分别标上特殊的标记,然后存储至指定路径的文本文档中。
  处理模块是为了使系统准确转换而设置的辅助模块,主要功能是将转换模块得到的文本文档进行核查,对信息分类不准确的情况进行更正,方便存储模块的处理。
  存储模块的功能是将由处理模块处理过的文本文档按预定格式存至通用数据库管理系统中,其中,标题、作者、中文摘要、英文摘要、关键词、正文等要分别存放至不同的属性域中,以方便检索、读取。
  阅读模块用来完成读者的“一站式”查询。
  根据体系结构中各功能模块的作用进行的系统设计,其流程如图2所示。
  在实现转换的过程中用到三个库:电子资源文档库(存放电子文档的路径及文件名)、文本文档库(存放将电子文档转换成文本文档后的文本文档的信息)、通用数据库(保存电子信息,以便利用统一的程序对电子资源的信息进行统一化的检索操作)。
  集成系统的实现有两个关键点:一是如何连结PDF格式的文档;二是如何将连接的PDF文档中的文字信息读取出来。系统实现采用符合CORBA三层结构的中间件技术来实现。
  (1)连接PDF文档
  为便于程序控制,Acrobat5.0 SDK提供了几种方法使得能够在外部程序窗口中利用Acrobat显示PDF文档,[3]并且可以通过Adobe公司提供的控件来打开PDF文件,以在编程环境中直接调用。目前读取PDF文档格式的控件主要有PdfBox控件和iText控件等,这些控件都能很好地与Java语言相结合,读取出文本信息。
  (2)数据源
  集成系统主要是提供信息查询的功能,系统的逻辑结构较为简单,需要两个数据源:PDF文档和SQL Server数据库。
  转换之后的信息存放到SQL Server数据库中,对应表的结构如下:
  表名:集成系统,表包含字段title、author、address、abstract、date、content等。
  (3)系统实现
  系统的具体实现步骤:
  1)提取文本:通过对PDF文档结构特点的分析,可以通过以下几步将信息读取出来:
  第一步,从PDF文档的文件尾中找到根对象;
  第二步,通过根节点找到页树节点对象;
  第三步,通过页树子节点找到页对象;
  第四步,在页对象中如果找不到Contents入口,说明此页内容为空,不予处理;如果找到Contents入口,则转入下一步进行处理;
  第五步,从Contents入口处提取Contents后的所有间接对象号,并通过间接对象号,转到相应的间接对象位置,然后提取Filter后的解码名;
  第六步,调用Java的iText软件包的PdfReader类中的Filter解码方法对对象的内容流进行解码,并用指针将所有对象解码后的字符串连接起来,组成该页内容流解码后的字符串,写入文本文件中;
  第七步,重复以上工作,读取所有页面的文字信息。
  2)提取标题:标题位于页对象编号为1的页中,并且为一篇文档的前三行(一般第一行为页眉,第二行为分割线,第三行为标题)中FontSize最大的字符串。
  3)提取作者:在此处我们只限于对第一作者的提取。因为作者都位于标题的下方,所以字符串的Position的y值比已提取出的标题的Position的y小并且值最接近,还要求该字符串的FontSize小于标题的FontSize。
  4)摘要以及关键词的提取类似于作者的提取。
  5)段落的划分:PDF文档并没有段落的划分,但是可以通过以下方法来判断文档的段落划分:段间距增大或者首行缩进。如果两行文本之间的间距大于平均的行距,则认为这两行文本分属两个段落。同样如果行首文本的坐标大于前一行文本的行首坐标,则认为这一行文本是新段落的开始。
  通过以上方法将PDF文档先转换成TXT文档,然后对得到的TXT文档进行必要的处理,以方便程序自动将标题、作者、单位、正文内容、摘要等信息存至数据库中。
  (4)集成系统的特点
  系统基于CORBA技术开发,具有以下优点:
  1)系统集成实现简单。因为CORBA是跨平台的分布式异构解决技术方案,无须考虑系统异构带来的通讯问题,将重点放在了应用逻辑上。
  2)系统效率高。CORBA的语言无关性使得开发系统时可以针对不同数据源采用不同的编程工具,提高编程效率。
  3)系统适用性广。CORBA本身的平台无关性使系统的运行不用考虑系统异构而带来的通讯问题。
  4)即插即用。CORBA提供的“软总线、软插件”机制使系统可以很容易地实现“即插即用”。
  三、结束语
  对于电子图书资源系统的集成,首先考虑电子资源检索的统一性,其次要不影响现有电子资源的完整性。
  本文以将PDF格式正式发表的论文转换到SQL Server中为例,对电子图书资源系统的集成提出了基于CORBA的异构数据解决方案。但因为异构数据集成涉及到多个系统,格式各异,任务繁杂,本系统以后需要重点解决的问题是:
  数据一致性问题。即源数据的改变会自动引起目标数据的改变,如何保持文档数据的一致性需深入研究;
  对文档章节的划分缺乏准确性,如何准确划分是下一步研究的主要内容;
  对文章有多个作者情况的处理及作者的准确识别,需要有效的解决方案。?筅
  
  参考文献:
  [1]高文,刘峰,黄铁军.数字图书馆原理与技术实现[M].北京:清华大学出版社,2000.10.
  [2]Adobe System Incorporated. Portable Document Format Reference Manual Version1.3[M]. March 11,1999.
  [3]Adobe System Incorporated. Acrobat 7.0.5 SDK Guide to SDK Sample[M]. Nov. 8,2005.
  [4]Adobe System Incorporated, PostScript Language Reference,Third Edition.Feb.1999.
  [5]周启生.基于CORBA的SNMP网管中间件设计[J].和田师范专科学校学报,2005(5):138-139.
  [6]薛涛,高岭,孙雅如等.运用Java和CORBA技术实现对象Web[J].小型微型计算机系统,2000(4):419-421.
  (编辑:隗爽)
其他文献
摘 要:随着精品课网络课程建设力度的加大,网络精品课的应用范围也不断扩大,其自身面临的来自网络的安全威胁也随之增多,这些安全问题从不同方面影响着网络精品课的健康运行。本文分析了精品课网络课程服务中各种可能的威胁及影响方式,提出了应对和保障的策略。  关键词:精品课;网络课程;网络安全  中图分类号:TP309文献标识码:A文章编号:1673-8454(2010)07-0028-03    一、引言
随着信息技术的高速发展,高校信息化建设取得了重大突破。而在高校信息化体系建设中,高校电子政务系统的建设又是至关重要的环节。其中,教育电子政务公文与信息交换网络体系建设