基于JSON的异构数据库整合研究毕业论文.docx

上传人:b****8 文档编号:9856129 上传时间:2023-05-21 格式:DOCX 页数:59 大小:394.54KB
下载 相关 举报
基于JSON的异构数据库整合研究毕业论文.docx_第1页
第1页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第2页
第2页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第3页
第3页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第4页
第4页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第5页
第5页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第6页
第6页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第7页
第7页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第8页
第8页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第9页
第9页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第10页
第10页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第11页
第11页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第12页
第12页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第13页
第13页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第14页
第14页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第15页
第15页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第16页
第16页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第17页
第17页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第18页
第18页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第19页
第19页 / 共59页
基于JSON的异构数据库整合研究毕业论文.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于JSON的异构数据库整合研究毕业论文.docx

《基于JSON的异构数据库整合研究毕业论文.docx》由会员分享,可在线阅读,更多相关《基于JSON的异构数据库整合研究毕业论文.docx(59页珍藏版)》请在冰点文库上搜索。

基于JSON的异构数据库整合研究毕业论文.docx

基于JSON的异构数据库整合研究毕业论文

 

基于JSON的异构数据库整合研究

JSONBasedHeterogeneousDatabaseIntegrationResearch

目录

摘要I

AbstractII

第1章绪论1

1.1课题背景1

1.2研究意义2

1.3研究现状2

1.4所做工作及文章结构3

第2章异构数据库整合5

2.1数据库5

2.1.1数据库简介5

2.1.2本文所研究的数据库6

2.2异构数据库6

2.3异构数据库整合的背景和意义7

2.4异构数据库整合的目标8

2.5异构数据库整合的基本方法9

2.5.1异构数据库整合基本方式9

2.5.1异构数据库整合常用方式10

2.6异构数据库数据整合重难点12

2.7本章小结12

第3章JSON与POJO之间的映射研究13

3.1JSON的解码13

3.2JSON与XML的比较16

3.3JSON与POJO的相互转化17

3.3.1POJO的序列化与反序列化18

3.3.2将POJO转化为JSON20

3.3.3将JSON转化为POJO21

3.4将JSON融入ORM21

3.5本章小结22

第4章异构数据库与JSON的映射研究23

4.1JSON与异构数据库整合系统设计23

4.2JSON与异构数据库的映射技术24

4.2.1基于模板的映射方法24

4.2.2基于数据库模型的JSON映射方法25

4.3将关系数据库的数据转化为JSON26

4.4将JSON转化为关系数据库的数据27

4.4.1单表映射27

4.4.2多表一对多映射28

4.4.3多表多对多映射28

4.4.4映射算法总结29

4.5本章小结29

第5章基于JSON的数据库映射中间件的开发、测试及评价31

5.1开发平台简介31

5.2中间件分析31

5.3中间件设计33

5.3.1选取工程33

5.3.2选择框架33

5.3.3框架整合使用33

5.4编码实现中间件33

5.4.1引入Spring和Hibernate34

5.4.2将数据库的表映射为POJO类34

5.4.3定义中间件访问接口34

5.4.4单元测试35

5.5测试环境搭建35

5.5.1系统环境35

5.5.2使用Badboy录制脚本35

5.5.3使用JMeter测试36

5.6数据库映射中间件性能评价37

5.6.1JMeter图形报表38

5.6.2JMeter表格报表38

5.6.3中间件性能分析39

5.7数据库映射中间件功能评价39

5.8本章小结40

第6章总结与展望41

6.1总结41

6.2展望41

参考文献42

摘要

从数据库诞生到现在,经过长期的积累,互联网里有着相当数量的异构数据库系统。

由于现代信息化建设的需要,许多系统需要去访问异构的数据库系统。

对于以数据库为中心的系统的开发者而言,因为异构数据库的存在,他们在开发、维护和升级的成本比常规单一的数据库系统要高的多。

由于JSON是一种独立于任何计算机语言且与平台无关的通用数据交换格式,使用JSON作为数据交换格式,来整合异构数据库系统成为了一种可能。

在此构思的基础上,本文在现有的基于XML的异构数据库系统整合方法的基础上提出了基于JSON的异构数据库系统整合方法,该方法可以大幅度的降低异构数据系统的开发、维护和升级成本,避免异构数据库系统带来的各种弊端,提高了程序开发的效率。

本文主要研究了JSON与异构数据库数据的映射及其算法,具体包含以下内容:

1)JSON作为异构数据库系统整合的数据交换格式的可行性;

2)将JSON转换为POJO;

3)将POJO转换为JSON;

4)JSON与异构数据库之间的映射算法。

为了验证方法的有效性,选择了三个异构的数据库系统,通过编码实现了基于JSON的异构数据库系统中间件。

为了验证中间的性能,使用BadBoy和JMeter对中间件进行了测试。

关键词:

JOSN;异构数据库;POJO;Java;ORM

Abstract

Bornfromthedatabasetothepresent,long-termaccumulationoftheInternetwithaconsiderablenumberofheterogeneousdatabasesystems.Duetotheneedsoftheconstructionofmoderninformationtechnology,manysystemsneedtoaccessheterogeneousdatabasesystems.Fordevelopers,database-centricsystem,becauseofthepresenceofheterogeneousdatabases,theirdevelopment,maintenanceandupgradecostshigherthantheconventionalsingledatabasesystem.

SinceJSONisauniversaldataexchangeformatthatisindependentofanycomputerlanguageandplatform-independent,usingJSONasadataexchangeformat,tointegrateheterogeneousdatabasesystemhasbecomeapossibility.Onthebasisofthisidea,proposedintheexistingheterogeneousdatabasesystemXML-basedintegrationmethodbasedonJSON-basedheterogeneousdatabasesystemsintegration,theapproachcansignificantlyreducethedevelopmentofheterogeneousdatasystemsmaintenanceandupgradecostsandavoidallthedisadvantagesofheterogeneousdatabasesystems,improvetheefficiencyofprogramdevelopment.

ThispaperstudiestheJSONandheterogeneousdatabasedatamappingalgorithmspecifictoincludethefollowing:

1)theJSONasthedataintegrationofheterogeneousdatabasesystemstoexchangethefeasibilityoftheformat;

2)convertJSONintoPOJO;

3)convertPOJOintoJSON;

4)JSONwithheterogeneousdatabasemappingalgorithm.

Inordertoverifythevalidityofthemethod,selectthethreeheterogeneousdatabasesystem,byencodingtheJSON-basedheterogeneousdatabasesystemmiddleware.Inordertoverifytheperformanceofthemiddle,useBadBoyandJMetertotestthemiddleware.

KeyWords:

JOSN;heterogeneousdatabases;POJO;theJava;ORM

第1章绪论

在互联网还没诞生之前,数据库的应用还只是局限于军方、科研组织、政府机构。

在互联网普及之后,数据库应用以井喷式的速度增长。

比如我们每天使用的通信软件QQ,他需要使用数据库保存每个用户的各种各样的信息。

比如邮件系统,我们草稿、已发送邮件、未阅读邮件、已阅读邮件和垃圾邮件都是保存在数据库里的。

再比如铁道部的12306网上订票系统,火车票信息全部是保存在数据库里面。

我们日常生活的方方面面都已经离不开数据库了。

尽管数据库应用如此之广,但是遗憾的是对于以数据库为核心的系统的开发者而言,不同数据库厂商之间的访问方式之间是存在不少差异的,即使是同一数据库厂商,其不同时期的产品的访问方式也是有差异的。

这意味着同一应用系统更换不同的数据库或者升级数据系统都需要去修改源代码。

同一应用系统同时访问多个异构数据库的情况也比较常见,这意味着开发应用系统时需要考虑不同数据库系统之间的差异。

若多个数据库系统之间一直以异构数据库系统的的形式存在,这对现代企业信息化建设来说,其后期的开发、维护和升级成本将非常高。

针对这种情况,有些研究人员提出各种各样的异构数据库系统整合方案,其中比较有代表性的方案是以XML作为数据交换格式的整合方案。

1.1课题背景

现代计算机应用系统无不以数据为核心,而数据的载体正是数据库,也称做数据仓库。

性能优良、可靠性高、安全性高的数据库现在都被商业公司以产品化的形式推出来,比如IT巨头Oracle推出的11g,Microsoft推出的SQLServer系列,IBM的DB2和informix,Sysbase推出的AdaptiveServerEnterprise12.5。

也有免费开源的产品比如MySQL和PostgreSQL。

数据库产品的现状可谓是百花齐放。

问题随之而来,各个数据库产品之间存在着不小的差异。

差异体现在:

1)不同数据库存储同一信息采用的数据类型可能不同。

2)标准的结构化查询语言SQL,在各产品实现时也作了一定的修改,比如加入了自己的方言和其他习惯。

3)不同平台对数据库访问的接口不同。

这些平台主要有Java、PHP和Windows等,这些平台的访问方式各有差异。

由于历史原因,在同一企业内部,往往存在着多平台。

这与现在企业信息化建设所追求的信息同步、信息共享是背道而驰的。

对应计算机应用系统的开发者而言,当需要跨数据库操作时,同样是苦不堪言,处理同一数据在不同数据库之间的差异,是件单调枯燥而费时的事情,非常影响工作效率。

1.2研究意义

基于以上背景,ANSI制定出来SQL,以期望解决不同数据库之间访问差异的问题。

在使用到数据库的的系统中,针对数据库开发往往使用SQL语言。

尽管SQL是由ANSI(美国国家标准协会)制定的标准,但不幸的是数据库厂商没有完全执行这一标准,所以存在许多不同版本的SQL语言。

但是为了与ANSI标准相兼容,不同的数据库必须以相似的方式共同地来支持一些主要的关键词(比如SELECT、UPDATE、DELETE、INSERT、WHERE等等)。

不同数据库的SQL之间也就只是一些主要的关键词是一致的,仅此而已,在其他方面或多或少存在着差异。

仅仅依靠SQL来减少不同数据库之间的差异是远远不够的。

现在数据库产品就是一个百花齐放的情形,现在正在应用的数据库系统在短期内都不会消失,而新的计算机系统又极可能采用了新的数据库系统,差异在不断的产生形成。

在这种情况下,如果有一个数据库中间件,对于开发者和使用者而言,直接访问中间件,由数据库中间件完成数据的访问,而数据库是透明的。

这样就从数据库使用者和开发者角度消除了不同数据库产品之间的差异,从而极大的提高了数据库使用者和开发者的效率。

1.3研究现状

因为不同数据库之间的差异会给数据库的使用者和开发者带来工作上的困扰。

为了解决这个问题,现在主要有以下几种解决方案:

1)开发数据互连(ODBC,OpenDatebaseConnectivity)。

它是Microsoft开发服务架构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个部分。

开发数据互连通过建立规范,提供了一组针对Windows应用程序了访问数据库的编程接口。

这些编程接口主要利用SQL语句来完成其大部分工作。

2)Java数据库连接(JDBC,JavaDatebaseConnectivity)。

它是一组使用Java语言编写的类和接口的集合,为多种关系型数据库提供统一的访问。

其本质是Java程序通过它执行SQL语句,从而访问数据库。

3)Hibernate、MyBatis等基于Java的数据持久层框架。

Java语言平台有大量优秀的开源框架,Hibernate和MyBatis都是非常优秀的开源数据持久层的框架。

Hibernate和MyBatis的思想类似,只不过Hibernate更加的“面向对象”。

他们将数据库中的数据表中的数据项映射为Java语言中的简单Java对象(POJO,PlainOldJavaObjects),然后在Java程序中就可以直接通过操作简单Java对象,从而间接操作数据库。

这种映射关系又叫对象关系映射(ORM,ObjectRelationMapping)。

Hibernate和MyBatis的本质是对JDBC的封装,从而简化开发者访问数据库的工作,因而他们深受广大开发者的喜爱。

4)采用XML作为数据库的通信格式的中间件。

其思想是通过建立中间件,让应用程序直接访问中间件,然后中间件去访问各种异构的数据库。

通过中间件可以屏蔽数据之间的访问差异,开发者只需要知道怎么访问中间件就可以了,通过制定规范可以使任何平台的应用程序访问中间件是一致。

以上研究中都只是一定程度上解决了某些特定应用中的问题。

1)只是针对Windows平台提供了支持,2)、3)只是基于Java平台。

4)的更具有全局性,哪怕以后平台再多,其规范也可以统一。

但是其需要的解决的问题也和多,比如怎样将数据表中的数据项映射为XML格式的文本,XML的格式很繁琐不易于解析,XML格式笨重、性能不佳。

1.4所做工作及文章结构

本文就基于JSON的异构数据库整合研究进行了一些研究和探索,在文中主要完成以下几个方面的工作:

[1]介绍异构数据库,并对异构数据库整合的主流方法进行介绍;

[2]研究了使用JSON作异构数据库数据交换格式的可行性及其优势;

[3]研究了JSON与POJO之间的映射;

[4]研究了关系型数据库与JSON之间的映射;

[5]讲述了以SCM、QMS、BOM三系统的为例的进行异构数据库系统的整合中间件的开发过程;

[6]中间件测试。

使用Badboy+JMeter组合,对中间件进行了压力测试,并对结果进行分析,得出中间件的各方面结论。

本文的章节安排如下:

第1章:

绪论,首先介异构数据库系统的整合的的背景和意义,研究现状,本文作者所做工作以及本论文的章节安排。

第2章:

异构数据库整合,首先介绍了数据库、异构数据库、异构数据库整合的背景和意义,接着阐述了异构数据库整合的目标、异构数据库整合的基本方法和异构数据库整合的重难点。

第3章:

JSON与POJO之间的映射研究,首先介绍了JSON,讲解了JSON优势,接着将JSON与XML作比较,再接着研究了JSON与POJO的映射,最后研究了如何将JSON融入数据库的ORM模型。

第4章:

异构数据库与JSON的映射研究,首先研究了JSON与异构数据库整合系统设计,接着研究了JSON与异构数据库的映射技术,最后研究了系型数据库与JSON的映射。

第5章:

基于JSON的数据库映射中间件的开发、测试及评价。

在开发方法,首先对开发平台做了简单的介绍,接着对本文的中间件做了分析,再接着对中间的结构设计做了说明,最后介绍了下中间件平台的编码工作。

在测试和评价方面,首先介绍了测试环境的搭建工作,接着根据测试结果对中间件的性能做了分析,最后评价了中间的件的功能。

第6章:

总结,首先对全文做了一全面的总结,接着就本文需要做的进一步的工作做了说明。

第2章异构数据库整合

将异构数据库整合的最终目的的是消除异构数据库带来的种种不便,其不便主要有:

系统访问其他异构数据困难;对于异构数据库的数据需关注其类型转换;系统开发、维护、升级难度大。

这些“难”都是对开发者程序开发者而言,对与最终用户来说是没有任何影响的。

如果能够将异构数据库系统整合,广大程序开发者的效率将大大提高。

对于异构数据库的整合要达到数据透明性和操作透明性,只有这样才算是完成了异构数据库的整合。

异构数据库整合的方法从本质上讲有2种,即数据复制方法和模板映射方法。

异构数据库常用的整合方法有建立数据仓库方法,建立联邦数据库方法和中间件方法,其中前者属于数据复制方法,后两者属于模板映射方法。

在整合异构数据库的过程中的重难点问题是处理好JSON与异构数据库的数据相互转化的问题,而且转换过程中不能丢失数据库的约束关系。

2.1数据库

经过了多年的发展,按其种类划分有很多,本文将根据实际的应用选择一种合适的数据库作为研究对象。

2.1.1数据库简介

数据库又名数据仓库(Datebase),是按照一定数据结构将真实世界中的数据信息组织、存储、管理起来的数据仓库。

数据库按照发展过程大概有如下四类他们分别是:

1)网状数据库(NetworkDatabase)。

历史上首次出现的数据库是网状数据库,CharlesBachman于1961年在通用电气公司(GeneralElectricCo,简称GE)成功地研制出全球首个网状数据库。

网状数据库的出现为数据库系统的概念、方法、技术奠定了基础。

网状数据库的特点是其数据模型是以节点为基本单位构成的网状结构,对应于有向图[1]。

2)层次数据库(HierarchiaclDatabase)。

层次数库的出现完善了数据库系统的概念,其特点是其结构为有向有序的树状结构[2]。

3)关系型数据库。

关系型数据库绝对是当代数据库的主流。

现在在运行的绝大多数系统的数据库都是使用关系型数据库[3]。

4)非关系型数据库(简称NoSQL)。

NoSQL是近年快速成长起来的非关系松散数据存储类型数据库。

它打破了关系型数据库长久以来占主导地位的。

NoSQL存储在使用前不需要事先设计好表结构,它不会出现多表之间的水平分割和连接操作,学术界称NoSQL类型的数据库为结构化存储。

随着互联网世界Web2.0标准的兴起,它不仅改变了网站的表现形式,同时也对网站的整体性能提出来更高的要求。

面对着随时可能出现大规模数据的读写[4](比如120306网站,也就是铁路客户服务中心的网上订票系统,在春节这种高并发环境下就不能满足广大用户的使用需要),传统关系型数据库在性能上似乎达到了瓶颈,特别是高并发性的SNS纯Web2.0动态网站和超大规模的门户网站的时候更显得力不从心。

这时NoSQL应运而生,它抛弃了关系型数据库的许多限制性能提升的部分,因为这些部分在处理表单的存储上是可有可无的东西。

同时,在互联网上的应用更让它声名鹊起,许多大公司在NoSQL的概念下开发出了实际可用的数据库产品,例如:

Amazon的Dynamo、Google的BigTable、Zvents的Hypertable、Apache的Hbase,这些都是很有代表性的产品,并且在实际应用中得到检验。

2.1.2本文所研究的数据库

在现代数据库产品中,网状数据库和层次数据库都已经成为历史了。

当今,关系型数据库仍然牢牢占据市场头把交椅,绝大多数系统都是以关系型数据库产品作为其数据中心。

NoSQL目前虽然炙手可热,但应用比较局限,在高并发、海量数据、高度可扩展的环境中应用比较多,比如SNS网站、云计算等。

所以本文的研究对象是关系型数据库(在以下内容,“数据库”这个词在没有特别强调的情况下都指的是关系型数据库)。

2.2异构数据库

异构数据库系统是多个相关的数据库系统的一个集合,因为实际业务的需要,必须实现异构数据库系统之间数据的透明访问和共享,异构数据库系统中每个数据库系统在加入异构数据库系统之初本身就已存在,完全独立拥有属于自己的数据库管理系统[5]。

异构数据库系统的各个数据库系统具有自治性,它们共享数据的同时,每个数据库系统依然保有自己的完整性控制、安全性控制和应用特性。

异构数据库系统是一个既与各个异构数据库有密切联系,又区别于各个数据库的新的概念,它的研究目标是对物理上分布的一个或多个异构数据库,在尽可能少的影响本地数据库的自治性的基础上,构造出具有开发者所需要的可以接口统一、透明访问的全局数据库管理系统,以支持对内部各个数据库的全局应用和异构数据库之间的数据信息共享和交换[6]。

异构数据库系统的形成原因主要有以下几方面:

1)计算机平台不同。

计算机系统指的是计算机基础环境,包括硬件平台、操作系统、访问控制、并发控制和通信方式。

具体细分如下:

A)计算机硬件异构。

根据计算机CPU的不同,也就是数据库系统可能分别存储在大型机、小型机、工作站、个人电脑或嵌入式系统等中。

B)操作系统的不同。

数据库所在计算机的操作系统可能是Microsoft的Windows、WindowsNT、各种版本的Unix、Linux、IBM05/2、MacOS等。

C)开发语言的不同。

比如C、C++、Java、Delphi等。

D)网络平台的不同。

比如以太网结构、令牌环结构等。

2)数据库系统不同。

A)数据库系统类型不同。

即便计算机平台相同了,在该平台上采用的数据库系统也可以是不同,如网状、层次、关系、非关系型数据库等[7]。

B)数据库产品不同。

即数据库可能是同为关系型不同厂商的数据库系统的如MySQL、PostgreSQL、Oracle、MSSQLServer、DB2等。

也可能是相同厂商不同时期的数据库产品或不同品牌产品[8]。

3)逻辑结构不同。

逻辑结构不同体现在命名差异、值类型差异、模式不同和语义不同等。

比如语义的差异具体体现在相同的数据形式表示几种不同的语义,又或者同一语义由几种不同形式的数据表示[9]。

2.3异构数据库整合的背景和意义

当今时代,信息资源己成为政府企业的每个部门的重要资源和财富。

建立起一个满足各级部门以及跨部门信息处理要求的的信息系统成为一个组织或企业健康生存和持久发展的先决条件。

而作为信息系统基础和核心的数据库技术得到非常广泛的应用。

毫不夸张的讲,每个系统都有至少有一个或者多个数据库支持。

无论是大型信息系统还是小型单项事务处理系统,无论是联机分析处理还是联机事务处理,无论是计算机辅助设计与制造(CAD/CAM)[10]、计算机集成制造系统(CIMS)、办公信息系统(OA)、地理信息系统(GIS)还是一般企业管理到等,几乎每个应用领域都采用数据库处理并存储它们的数据信息资源,达到了无数据库不系统的地步。

然而,随着信息化建设的持续不断深入和计算机科学技术的快速发展,数据库应用技术发展到现在,已经有很多的科研机构和企业积累了大量的数据,这些数据中又有很多是以电子数据的形式存在于数据库中,由于信息建设规划不足、部门差异、系统差异,导致大量的异

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2