科研项目及业绩管理系统中异构数据库中间件系统的设计与实现

2019-09-26 02:03刘座铭高长宇夏善磊
产业与科技论坛 2019年16期
关键词:应用层中间件异构

□刘座铭 高长宇 夏善磊 赵 昕

一、引言

目前,随着国内高校、科研等单位科技投入的逐年提高,科研项目在数量和质量上都取得了可喜的成绩。随着科技项目数量越来越多,科研管理工作难度越来越大。科技管理部门、项目负责人及参与人员在科技工作中都面临着项目进程管理重复性繁琐工作、科技信息关联度低、数据之间利用价值低等情况。在一定程度上制约着科技项目信息管理的正规化、精细化发展[1~3]。

实现科研项目的精细化、过程化管理,就必须借助现代化的、先进的信息管理工具,建立规范化、现代化的信息管理系统就是必然趋势。通过本文设计的实现,不仅能为相关单位科研信息管理平台提供一个安全可靠的技术平台,而且还能为一些企业科研的长远谋划和宏观调控提供充分的科学理论依据,有利于相关单位企业的科学技术协调发展;有利于人才培养以及成果转化取得新进展,推动科研-生产-咨询一体化协调发展[4~6]。

但是由于一些单位科研管理系统除了本单位使用外,还有可能让下级部门或相关合作单位使用,但是由于一部分单位存在保密性的要求,可能无法使用互联网进行科研相关信息管理;另外在使用的过程中可能存在科研相关信息输入项的变化等情况。这些情况要求科研相关信息平台应该具备数据库的灵活配置和扩展,就需要能够实现异构数据库的效果。如何集成和整合这些异构数据库,实现数据间的交换和共享,逐步成为当前科研相关信息管理平台建设的迫切需求。本文从上述实际情况处理,提出了科研项目及业绩管理系统中的异构数据库系统的设计和集成。通过该系统的异构数据库系统应用,为后续类似管理系统的异构数据库系统应用提供了范例。

二、基于中间件系统的科研项目及业绩管理系统设计

(一)设计目标。建立异构数据库集成系统,一直是国内外数据库领域中讨论、研究的热点话题,曾有几家大型的数据库厂商提出了各自的方案[7~9],但都是以主流数据库产品同构复制的基础上提出的。因为有很多不同种类的信息源,所以针对异构数据库集成系统而言,它不仅要能够集成信息,还应完成信息间的互操作,并为用户提供各种方式的查询和搜索服务。如何解决异种信息源的集成问题[10~11],关键是数据库集成的智能管理。普通用户的需求是屏蔽掉各种层次异构特性的程序,因为他们不必了解各物理数据库系统的分布,不必掌握各物理数据库的组成结构,也不必自己去进行数据转换和结果汇总,想要得到一个综合结果,只需要通过一个简便的全局查询就可以得到,这就是异构数据库的主要研究内容。这种联合使用技术既与各种数据库间有着紧密的联系,同时在新的研究领域中,又别于已有的数据库。本文在深入了解异构数据库集成的相关理论、中间件技术以及XML技术的基础上,以中间件的技术思想为基础,对异构数据库的查询方式和方法进行了抽象,并专门为使用数据库的用户提供了一个通用的接口,从而实现了这部分软件的复用,提高了数据库开发的效率。

(二)系统架构设计。本文为了简化科研项目及业绩管理系统处理异构数据库,引入中间件系统。根据中间件系统的特点以及异构数据库集成的应用需求,本文将中间件系统设计为三层,分别为数据库控制及数据采集层、数据处理层和应用层。如图1所示。其中数据库控制及数据采集层的功能主要是连接不同数据库,对数据库进行命令控制,读写数据库数据等。数据处理层主要接受数据库控制及数据采集层传递过来的数据,对数据进行条件查询和格式转换,将处理后的数据传递给下一层。应用层主要是接受数据处理层传输过来的数据,通过API接口提交给应用系统;同时应用层也接受应用系统的控制命令,通过消息机制传递给控制层进行数据库操作和数据的读写。

图1 中间件架构图

(三)核心功能模块实现。

1.数据库控制及数据采集层。数据库控制及数据采集层主要作用是连接不同的数据库,利用标准接口屏蔽不同数据库的差异性,调用数据库数据,执行数据库命令,并将其查阅出的数据传递到数据处理层进下一步处理。这一层具备以下功能。

(1)自动检测和连接数据库。中间件系统要集成不同数据库,屏蔽其差异性,需要能够自动检测到数据库,并正确连接数据库,才能进一步操作数据库,从而对数据库的数据进行查询和处理。为了完成上述设计目标可以采用如下自动检测连接设备的实现步骤:

①Step1。应该提供一个不同数据库的管理模块,通过该模块可以在系统中集中注册常见类型的数据库。注册信息包括:读写数据库连接参数、数据库用户信息、数据库地址等。

②Step2。利用程序自动扫描数据库,检测数据库是否连接到中间件系统,如果连接到中间件系统,则自动按照注册的数据库参数连接数据库,如果连接成功,则返回连接成功的消息给中间件系统的数据处理层,如果连接失败则返回数据库连接失败的信息。

③Step3。如果接受到连接成功的反馈,则进入数据读取和数据库命令执行阶段,进行系统所需数据库查询和操作。

(2)统一数据读写接口。由于不同的数据库具有一定差异性,不仅仅是连接参数的差异,也包括数据格式的不同,为了提供数据处理层能够统一数据格式,中间件系统应该采用统一的数据读写接口,在连接设备成功后,通过统一的数据读写接口为数据处理层提供数据。

2.数据处理层。当数据库控制及数据采集层将数据传递给数据处理层,这里的数据属于原始数据,需要在数据出路层进行一些封装,便于应用层进行数据的操作。

(1)数据搜索查询。在数据处理,应该利用应用层的消息参数,得到应用层所需查询条件,在数据库控制及数据采集层将数据传递过来后,对数据进行条件查询,缩小数据范围。

(2)数据格式处理。由于系统所需要数据和数据库数据在格式上有一定的差异性,在数据处理层应该针对数据格式进行转换。一方面是应用层反馈过来的数据,将其转换数据库适用的数据格式,传递给数据库控制及数据采集层,保存到数据库中;另一方面是将数据库控制及数据采集层传递过来数据进行查询缩小范围之后,将数据格式转换为应用层所需的格式,传递到应用层。

3.应用层。应用层在接受到数据处理层处理的数据后,经过标准接口传递到应用系统中,供应用系统使用,应用层主要包括以下功能。

(1)数据消息处理模块。该模块的主要功能是将接受数据,通过消息机制通知应用系统,应用系统收到通知后,利用标准接口接收数据。

(2)命令消息处理模块。该模块的主要功能是应用系统通过消息接口通知应用层,进行数据库的操作命令,例如连接数据库、查询数据表、插入和更新数据等,消息到应用层后,应用层通过消息机制通知.数据库控制及数据采集层,由.数据库控制及数据采集层进行数据库的命令执行。

(四)消息机制实现。消息是中间件系统进行数据库控制、数据查询和处理的核心机制,中间件系统一般采用面向消息的形式来构建;因此需要设计中间件系统的消息处理机制。

消息处理模块一般包括消息编码、消息解码和消息通信三个部分。消息编码和解码一般来说将传递内容,形成层次性对象,利用外部文件或者内存数据序列来存储,编码和解码实际上就是存储和解析的过程。很多文献都有相关介绍,在这里本文就不多作说明,本文在此主要说明一下消息通信的处理过程。一般来说,消息通信的流程如下。

1.Step1:监听。当中间件系统启动后,系统会自动运行配置文件,然后根据配置内容信息,设定连接的参数,并在特定端口进行监听,等待应用系统发来的请求;

2.Step2:连接的建立。在监听过程中,在中间件系统收到应用系统的请求后,如果两者间的连接数没有达到最大限度,那么就开辟一个任务线程来处理该请求,开始消息交换。

图2 消息通信流程

3.Step3:握手。为了双方建立消息通道后,确保消息交换能够顺序进行,也是为了保障安全性,需要遵循一定的规范,因为在实际消息传输之前,需要进行握手操作。第一,连接请求方,给接收方发送握手信息,并表明它的身份,其中包括它的期望消息规范格式;第二,接收方获取握手请求信息后,验证其身份,并针对提交的消息格式和规范,对自己掌握信息进行检查,如果符合对方要求,则响应握手请求;如果不符合对方要求,则反馈握手失败信息。第三,请求方得到接收方的响应,如果握手成功,则进行后续的命令、回复消息的传输;否则关闭连接请求。

4.Step4:收发消息。如果握手成功,则双方开始进行命令消息传输,消息传输包括收取和发送。中间件系统消息通信的流程如图2所示。

三、结语

本文针对科研项目及业绩管理系统针对构建异构数据库的需求,采用中间件系统,从而实现了异构数据库的集成应用设计,同时提出了中间件体系结构,并详细讲解了中间件系统的功能和实现;最后设计了中间件系统的消息通信流程。通过科研项目及业绩管理系统中的异构数据库中间件系统的设计,该中间件系统可以简化科研项目及业绩管理系统对异构数据库技术的集成复杂性,使得异构数据库数据在科研项目及业绩管理容易使用,方便管理,而且具有一定的扩展性。该中间件系统也可以应用于其他应用系统,来实现异构数据库技术的集成。

猜你喜欢
应用层中间件异构
试论同课异构之“同”与“异”
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
异构醇醚在超浓缩洗衣液中的应用探索
基于分级保护的OA系统应用层访问控制研究
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
新一代双向互动电力线通信技术的应用层协议研究
物联网技术在信息机房制冷系统中的应用
中间件在高速公路领域的应用