freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于json的異構(gòu)數(shù)據(jù)庫整合研究_畢業(yè)論文-預(yù)覽頁

2025-08-10 16:44 上一頁面

下一頁面
 

【正文】 WHERE 等等) 。 在這種情況下,如果有一個(gè)數(shù)據(jù)庫中間件,對(duì)于開發(fā)者和使用者而言,直接訪問中間件,由數(shù)據(jù)庫中間件完成數(shù)據(jù)的訪問,而數(shù)據(jù)庫是透明的。它是 Microsoft 開發(fā)服務(wù)架構(gòu) (WOSA, Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫的一個(gè)部分。它是一組使用 Java語言編寫的類和接口的集合,為多種關(guān)系型數(shù)據(jù)庫提供統(tǒng)一的訪問。Hibernate 和 MyBatis 的思想類似,只不過 Hibernate 更加的 “面向?qū)ο?”。 第 1 章 緒論 3 4)采用 XML 作為數(shù)據(jù)庫的通信格式的中間件。 1) 只是針對(duì)Windows 平臺(tái)提供了支持, 2) 、 3) 只是基于 Java 平臺(tái)。使用 Badboy + JMeter 組合,對(duì)中間件進(jìn)行了壓力測試,并對(duì)結(jié)果進(jìn)行分析,得出中間件的各方面結(jié)論。 第 4 章 :異構(gòu) 數(shù)據(jù)庫與 JSON 的映射研究,首先 研究 了 JSON 與異構(gòu)數(shù)據(jù)庫整合系統(tǒng)設(shè)計(jì),接著 研究 了 JSON 與異構(gòu)數(shù)據(jù)庫的映射技術(shù),最后 研究了 系型數(shù)據(jù)庫與 JSON 的映射。 第 6 章: 總結(jié),首先對(duì)全文做了一全面的總結(jié),接著就本文需要做的進(jìn)一步的工作做了說明。對(duì)于異構(gòu)數(shù)據(jù)庫的整合要達(dá)到 數(shù)據(jù)透明性 和 操作透明性 ,只有這樣才算是完成了異構(gòu)數(shù)據(jù)庫的整合。 數(shù)據(jù)庫 經(jīng)過了多年的發(fā)展,按 其 種類劃分有很多,本文將根據(jù)實(shí)際的應(yīng)用選擇一種合適的數(shù)據(jù)庫作為研究對(duì)象。 網(wǎng)狀數(shù)據(jù)庫的出現(xiàn)為數(shù)據(jù)庫系統(tǒng)的概念、方法、技術(shù)奠定了基礎(chǔ)。 3)關(guān)系型數(shù)據(jù)庫 。 NoSQL 是 近年 快速成長起來的非關(guān)系松散數(shù)據(jù)存儲(chǔ)類型 數(shù)據(jù)庫。面對(duì)著隨時(shí) 可能出現(xiàn) 大規(guī)模數(shù)據(jù)的讀寫 [4](比如 120306 網(wǎng)站,也就是鐵路客戶服務(wù)中心的網(wǎng)上訂票系統(tǒng),在春節(jié)這種高并發(fā)環(huán)境下就不能滿足廣大用戶的使用需要 ) ,傳統(tǒng)關(guān)系 型數(shù)據(jù)庫在性能上似乎 達(dá)到 了瓶頸,特別是高并發(fā)性的 SNS純 動(dòng)態(tài)網(wǎng)站 和 超大規(guī)模的門戶網(wǎng)站的時(shí)候更 顯得力不從心。當(dāng)今,關(guān)系型數(shù)據(jù)庫仍然牢牢占據(jù)市場頭把交椅,絕大多數(shù)系統(tǒng)都是以關(guān)系型數(shù)據(jù)庫產(chǎn)品作為其數(shù)據(jù)中心。異構(gòu)數(shù)據(jù)庫 系統(tǒng) 的各個(gè) 數(shù)據(jù)庫系統(tǒng) 具有自治性, 它們共享 數(shù)據(jù)的同時(shí),每個(gè)數(shù)據(jù)庫系 統(tǒng)依然 保有自己的完整性控制 、 安全性控制 和 應(yīng)用特性。具體細(xì)分如下: 第 2 章 異構(gòu)數(shù)據(jù)庫整合 7 A)計(jì)算機(jī)硬件異構(gòu)。 C)開發(fā)語言的不同。 2) 數(shù)據(jù)庫 系統(tǒng) 不同 。即數(shù)據(jù)庫 可 能 是同為關(guān)系型 不同廠商的 數(shù)據(jù)庫系統(tǒng)的 如 MySQL、 PostgreSQL、 Oracle、 MS SQL Server、 DB2 等 。比如語義的差異具體體現(xiàn)在相同的數(shù)據(jù)形式表示幾種不同的語義,又或者同一語義由幾種不同形式的數(shù)據(jù)表示 [9]。毫不夸張的講,每個(gè)系統(tǒng)都有至少有一個(gè)或者多個(gè)數(shù)據(jù)庫支持。不僅如此,在同一行業(yè)內(nèi)部的信息也迫切需要集成,比如,國內(nèi)外各大航空公司都研發(fā)自己的航空信息系統(tǒng),而綜合各大航空公司的第 2 章 異構(gòu)數(shù)據(jù)庫整合 8 票務(wù)數(shù)據(jù)信息為廣大用戶提供統(tǒng)一的查詢服務(wù),對(duì)用戶來講將受益匪淺。即使是一個(gè)經(jīng)過嚴(yán)密信息規(guī)劃的企業(yè)或組織,隨著時(shí)間的推移、行業(yè)技術(shù)的變革、認(rèn)識(shí)的變遷、以及數(shù)據(jù)庫技術(shù)和市場的變化,都極有可能形成異構(gòu)數(shù)據(jù)庫的局面。對(duì)于異構(gòu)數(shù)據(jù)庫系統(tǒng)整合以后在功能上需要實(shí)現(xiàn)的兩大具體目標(biāo)是: 1. 數(shù)據(jù)透明性 當(dāng)開發(fā)者需要進(jìn)行數(shù)據(jù)庫讀寫操作時(shí),僅 需要使用整合數(shù)據(jù)庫中的表或者屬性的邏輯名稱即可。具體體現(xiàn)在: 第 2 章 異構(gòu)數(shù)據(jù)庫整合 9 A) 開發(fā)者不需要知道計(jì)算機(jī)網(wǎng)絡(luò)組成及其的使用方法; B) 開發(fā)者不需要知道各節(jié)點(diǎn)上的計(jì)算機(jī)操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng); C) 開發(fā)者不需要關(guān)注全局 SQL 語句的分解; D) 開發(fā)者不需要關(guān)注向局部異構(gòu)數(shù)據(jù)庫的讀寫操作; E) 開發(fā)者不需要關(guān)注局部查詢結(jié)果如何返回給查詢結(jié)點(diǎn)以及如何匯總等。圖 21 形象的展示了這一過程,將原始數(shù)據(jù)取出來,經(jīng)過數(shù)據(jù)轉(zhuǎn)換,然后寫到新的目標(biāo)數(shù)據(jù)庫里面。因此,這種方案只適用于那些確定需要拋棄原有系統(tǒng)的情況,在這種情況下,只需要把原來的數(shù)據(jù)導(dǎo)出來即可。該方法工作于應(yīng)用程序之間和異構(gòu)數(shù)據(jù)庫系統(tǒng)之間 [11],向下訪問可各個(gè)異構(gòu)數(shù)據(jù)庫,向上為應(yīng)用程序提供統(tǒng)一的數(shù)據(jù)表、數(shù)據(jù)項(xiàng)、數(shù)據(jù)類型以及通用數(shù)據(jù)訪問的接口。 圖 22 模板方法示意圖 異構(gòu)數(shù)據(jù)庫整合常用方式 現(xiàn)在,主流的數(shù)據(jù)整合方式有以下幾種:數(shù)據(jù)倉庫(即 Data Warehouse)、聯(lián)邦數(shù)據(jù)庫(即 Federated Database)、中間件(即 Middleware) [12]等。它的定位是為企業(yè)高級(jí)管理人員提供數(shù)據(jù)分析和決策支持 [13]。這樣就會(huì)出現(xiàn)如下的情況:如果需要整合 n 個(gè)異構(gòu)數(shù)據(jù)庫,那么 n 個(gè)數(shù)據(jù)庫中的任何一個(gè)都需要訪問其他的 (n 一 1)個(gè)數(shù)據(jù)庫, 那么這意味開發(fā)者需要編寫 n(n 一 1)段代碼以實(shí)現(xiàn)兩兩之間的相互訪問。中間件位于操作系統(tǒng)之上, 通過計(jì)算機(jī)網(wǎng)絡(luò)通信,實(shí)現(xiàn)數(shù)據(jù)交流 。如圖 25 所示,數(shù)據(jù)庫中間件的工作原理圖。也介紹了異構(gòu)數(shù)據(jù)庫,闡述了異構(gòu)數(shù)據(jù)庫系統(tǒng)的現(xiàn)狀及其形成原因等。本文的 異構(gòu)數(shù)據(jù)庫整合方式 的 數(shù)據(jù) 流向是這樣的 數(shù)據(jù)庫記錄 — POJO 對(duì)象 — JSON 對(duì)象,如圖 31 所示: 圖 31 JSON 對(duì)象、 POJO 對(duì)象和數(shù)據(jù)庫記錄數(shù)據(jù)流向示意圖 數(shù)據(jù)庫的數(shù)據(jù)記錄與 POJO 對(duì)象之間的相互轉(zhuǎn)換由 ORM 模型實(shí)現(xiàn)。 它對(duì)于人類來說可讀性強(qiáng),對(duì)于計(jì)算機(jī)語言來說符合主流計(jì)算機(jī)語言風(fēng)格 。 2)值 的有序列表( An ordered list of values)。 JSON 一般具有如下五種形式: 1)對(duì)象是一個(gè)集合,這個(gè)集合由 “‘ 名稱 /值 ’ 對(duì) ” 無序的組成。一個(gè)數(shù)組以 “ [” (左中括號(hào))作為開始標(biāo)記,以 “ ]” (右中括號(hào))作為結(jié)束標(biāo)記。 第 3 章 JSON 與 POJO 之間的映射研究 15 圖 34 JSON 中值示意圖 4)字符串( string)是一個(gè)集合,它是由雙引號(hào)圍起來的的任意數(shù)量 Unicode字符構(gòu)成的集合,它使用反斜杠 “ \” 表示轉(zhuǎn)義。它去除不常使用的八進(jìn)制與十六進(jìn)制格式。 XML 作為一種標(biāo)準(zhǔn),它在應(yīng)用程序之間 提供 一種確定 的 標(biāo)準(zhǔn) 來描述 與應(yīng)用程序無關(guān) 的 結(jié)構(gòu)化數(shù)據(jù) 。 JSON 與 XML 相比,他們都是基于純文本數(shù)據(jù)交換格式 , XML 使用了開發(fā)人員可以自定義的 DTD,而 JSON 使用了約定俗成的固定的 DTD,也是就是說 JSON的格式是固定,所有的開發(fā)者都知道其格式,而這個(gè)格式正是基于面向?qū)ο蟮腏avaScript 語言。在 Web 應(yīng)用里使用 Ajax 技術(shù)的過程是:首先 Browser 端向 Server 端發(fā)起 Ajax請(qǐng)求;接著 Browser 端收到服務(wù)端發(fā)送的 Ajax 響應(yīng);最后 JavaScript 解釋器使用第 3 章 JSON 與 POJO 之間的映射研究 17 eval 方法來將響應(yīng)中的 JSON 文本轉(zhuǎn)化為 JavaScript 運(yùn)行時(shí)的對(duì)象。但對(duì)于人類來講,在構(gòu)造 JSON 和 XML 的時(shí)候,顯然 JSON 更加清晰明了。同樣 JSON 里包含了主要數(shù)據(jù)類型,且沒有的數(shù)據(jù)類型可以通過轉(zhuǎn)換得到,且 JSON可以任意嵌套。相比之下 XML 的編碼顯然要比 JSON難很多,同樣是用手工編碼的方式去構(gòu)造 JSON 或 XML,即使不借助工具也能寫出 JSON 的文本,但要手工寫出 XML 就比較困難了。在解碼難度上, JSON 較 XML 要容易。在流行程度而言, JSON 具有很大上升空間。而這個(gè) value 又是一個(gè) JOSN 對(duì)象,它的 key 是表的字段名稱, value 是該記錄 在該字段的值。而 POJO 是 Java 語言中數(shù)據(jù)持久層的普通對(duì)象。 把 Java 對(duì)象轉(zhuǎn)換成字節(jié)序列的過程稱為對(duì)象的序列化。 POJO 作為特殊的類,它的對(duì)象與數(shù)據(jù)庫的記錄一一對(duì)應(yīng)。 其代碼實(shí)現(xiàn)過程如下: import .*。 } public void setName(String name) { = name。 try { FileOutputStream fos = new FileOutputStream()。 } catch (Exception exc) { ()。 第 3 章 JSON 與 POJO 之間的映射研究 20 G e t t e r 、 S e t t e r 、t o S t r i n g 方 法r e f l e c t i o nP O J O 對(duì) 象J S O N 對(duì) 象 圖 37 JSON 與 POJO 對(duì)象的相互轉(zhuǎn)化示意圖 將 POJO 轉(zhuǎn)化為 JSON POJO 類的對(duì)象 作為最普通的 JavaBean,它既有屬性也有方法 , 他的屬性都是私有訪問權(quán)限,他的方法都是公共訪問權(quán)限 , 這些方法都是與屬性配套的存和取方法 [21]。 以下 為將 POJO 對(duì)象轉(zhuǎn)化為 JSON 的示例代碼: public class Pojo2Json { public static void main(String[] args) throws JSONException { String json = {\name\:\reiz\}。 String[] str = new String[] { Opera, Chrome, Gecko }。 (bean, 1kg)。 第 3 章 JSON 與 POJO 之間的映射研究 21 (jObj)。 現(xiàn)在企業(yè)級(jí)應(yīng)用開發(fā)中,因其著重業(yè)務(wù)的處理, 面向?qū)ο?模式 的開發(fā)方法 有助于提高軟件產(chǎn)品的開發(fā)周期、質(zhì)量,所以面向?qū)ο蟮拈_發(fā)方法是 主流開發(fā)方法 。 數(shù)據(jù)庫 對(duì)象關(guān)系映射 模型的 (ORM)系統(tǒng)一般以中間件的形式存在, 它 主要實(shí)現(xiàn) JVM 運(yùn)行時(shí)環(huán)境中的 對(duì)象到關(guān)系數(shù)據(jù)庫數(shù)據(jù)的映射 [24]。所以 JSON 與數(shù)據(jù)庫的記錄是一對(duì)一的關(guān)系。最后研究了如何將JSON 融入 JEE 的 ORM 框架。這時(shí)候就需要一個(gè)配置文件來存儲(chǔ)了表結(jié)構(gòu)信息,以方便程序的讀取。 根據(jù)關(guān)系型數(shù)據(jù)庫的表結(jié)構(gòu)之間的 映射關(guān)系, 可以總結(jié)出 兩種數(shù)據(jù)映射的 基 本 方法 : 基于模型的映射方法 與 基于模板的映射方法 [26]。 由于 JSON 可以很方便的作為 Java 語言的輸出數(shù)據(jù),而且 Java 具有跨平臺(tái)的特性, Java 可以運(yùn)行任何支持 Java 虛擬機(jī)的地方 [28]( JVM,即 Java Virtual Machine)。 要使多個(gè)異構(gòu)數(shù)據(jù)庫整合的關(guān)鍵是要建立統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),這個(gè)數(shù) 據(jù)結(jié)構(gòu)的數(shù)據(jù)要能夠映射到關(guān)系型數(shù)據(jù)庫的關(guān)系模型,然后關(guān)系型數(shù)據(jù)的關(guān)系模型能夠映射到這個(gè)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。 JSON 以 key/value 的形式來存儲(chǔ)數(shù)據(jù),其中 key 是關(guān)系型數(shù)據(jù)的數(shù)據(jù)表的名稱,而 value 是該數(shù)據(jù)表的某一記錄的值。所以在任何平臺(tái)對(duì) JSON 進(jìn)行加工處理都是很簡便的。如果應(yīng)用程序是 Web 應(yīng)用的話,中間件可以直接向 Web 應(yīng)用返回JSON。映射方案合理的話不但解決了異構(gòu)數(shù)據(jù)庫的整合問題,也保證的了整合后數(shù)據(jù)庫系統(tǒng)的性能,方案不合理的話就達(dá)不整合的目的了。 ?xml version= ? select id=selectAuthor parameterType=int resultType=hashmap select * from Author where ID = {id} /select insert id=insertAuthor parameterType= insert into Author (id,username,password,bio) values ({id},{username},{password},{},{bio}) /insert update id=updateAuthor parameterType= update Author set 第 4 章 異構(gòu)數(shù)據(jù)庫與 JSON 的映射研究 25 username = {username}, password = {password}, = {}, bio = {bio} where id = {id} /update delete id=deleteAuthor” parameterType=int delete from Author where id = {id} /delete 代碼段 以上代碼段 作為模板的內(nèi)容針對(duì) Author 數(shù)據(jù)表定義了選擇接口selectPerson()、插入接口 insertAuthor()、更新接口 updateAuthor()、刪除接口deleteAuthor()。關(guān)系數(shù)據(jù)庫的數(shù)據(jù)表屬于關(guān)系模型, POJO 對(duì)象屬于對(duì)象模型,這兩種方式都屬于數(shù)據(jù)庫的模型,所以這種方法稱為基于數(shù)據(jù)庫模型的 JSON 映射方法。同樣本文也可以借助 ORM的配置文來獲取信息,用來封裝 JSON。 hibernatemapping class name= table=person id name=primarykey column=key t
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1