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

正文內(nèi)容

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

2025-07-31 16:44 上一頁面

下一頁面
 

【正文】 企業(yè)信息化建設(shè)來說 , 其后期的開發(fā)、維護(hù) 和 升級(jí)成本將非常高。也有免費(fèi)開源的產(chǎn)品比如 MySQL 和 PostgreSQL。 2) 標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言 SQL,在各產(chǎn)品實(shí)現(xiàn)時(shí)也作了一定的修改,比如加入了自己的方言和其他習(xí)慣。這與現(xiàn)在企業(yè)信息化建設(shè)所追求的信息同步、信息共享是背道而馳的。盡管 SQL是由 ANSI(美國國家標(biāo)準(zhǔn)協(xié)會(huì) )制定的標(biāo)準(zhǔn),但不幸的是數(shù)據(jù)庫廠商沒有完全執(zhí)行這一標(biāo)準(zhǔn),所以存在許多不同版本的 SQL 語言?,F(xiàn)在數(shù)據(jù)庫產(chǎn)品就是一個(gè)百花齊放的情形,現(xiàn)在正在應(yīng)用的數(shù)據(jù)庫系統(tǒng)在短期內(nèi)都不會(huì)消失, 而新的計(jì)算機(jī)系統(tǒng)又極可能采用了新的數(shù)據(jù)庫系統(tǒng),差異在不斷的產(chǎn)生形成。為了解決這個(gè)問題,現(xiàn)在主要有以下幾種解決方案: 1)開發(fā)數(shù)據(jù)互連( ODBC, Open Datebase Connectivity)。 2) Java 數(shù)據(jù)庫連接( JDBC, Java Datebase Connectivity)。 Java 語言平臺(tái)有大量優(yōu)秀的開源框架, Hibernate 和 MyBatis 都是非常優(yōu)秀的開源數(shù)據(jù)持久層的框架。Hibernate 和 MyBatis 的本質(zhì)是對 JDBC 的封裝,從而簡化開發(fā)者訪問數(shù)據(jù)庫的工作,因而他們深受廣大開發(fā)者的喜愛。 以上研究中都只是一定程度上解決了某些特定應(yīng)用中的問題。 所做工作及文章結(jié)構(gòu) 本文就基于 JSON 的異構(gòu)數(shù)據(jù)庫整合研究 進(jìn)行了一些研究和探索,在文中主要完成以下幾個(gè)方面的工作: [1] 介紹異構(gòu)數(shù)據(jù)庫,并對異構(gòu)數(shù)據(jù)庫整合的主流方法進(jìn)行介紹 ; [2] 研究了 使用 JSON 作異構(gòu)數(shù)據(jù)庫數(shù)據(jù)交換格式的可行性及 其 優(yōu)勢 ; [3] 研究了 JSON 與 POJO 之間的映射 ; [4] 研究了關(guān)系型數(shù)據(jù)庫與 JSON 之間的映射; [5] 講述了以 SCM、 QMS、 BOM 三系統(tǒng)的為例的進(jìn)行異構(gòu)數(shù)據(jù)庫系統(tǒng)的整合中間件的開發(fā)過程; [6] 中間件測試。 第 3 章 : JSON 與 POJO 之間的映射研究 ,首先介紹了 JSON,講解了 JSON優(yōu)勢 ,接著將 JSON 與 XML 作比較,再接著 研究 了 JSON 與 POJO 的 映射 ,最后研究 了如何將 JSON 融入數(shù)據(jù)庫的 ORM 模型。 在測試和評價(jià)方面,首先 介紹了測試環(huán)境的搭建工作,接著根據(jù)測試結(jié)果對中間件的性能做了分析,最后評價(jià)了中間的件的功能。如果能夠?qū)悩?gòu)數(shù)據(jù)庫系統(tǒng)整合,廣大程序開發(fā)者的效率將大大提高。在整合異構(gòu)數(shù)據(jù)庫的過程中的重難點(diǎn)問題是處理好 JSON 與異構(gòu) 數(shù)據(jù)庫的數(shù)據(jù)相互轉(zhuǎn)化的問題,而且轉(zhuǎn)換過程中不能丟失數(shù)據(jù)庫的約束關(guān)系。歷史上首次 出現(xiàn)的 數(shù)據(jù)庫 是網(wǎng)狀 數(shù)據(jù)庫,Charles Bachman 于 1961 年在通用電氣公司 ( General Electric Co,簡稱 GE)成功地 研制 出 全球首 個(gè)網(wǎng)狀 數(shù)據(jù)庫 。 層次數(shù)庫 的出現(xiàn) 完善了數(shù)據(jù)庫系統(tǒng)的概念,其特點(diǎn)是其結(jié)構(gòu)為有向有序的樹狀結(jié)構(gòu) [2]。 4)非關(guān)系型數(shù)據(jù)庫(簡稱 NoSQL)。隨著互聯(lián)網(wǎng)世界 標(biāo)準(zhǔn) 的興起,第 2 章 異構(gòu)數(shù)據(jù)庫整合 6 它 不僅改變 了 網(wǎng)站的表現(xiàn)形式, 同時(shí)也 對網(wǎng)站的整體性能 提出來更高的要求。 本文所研究的數(shù)據(jù)庫 在現(xiàn)代數(shù)據(jù)庫產(chǎn)品中,網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫都已經(jīng)成為歷史了。 異構(gòu)數(shù)據(jù)庫 異構(gòu)數(shù)據(jù)庫系統(tǒng)是多個(gè)相關(guān)的數(shù)據(jù)庫系統(tǒng)的 一個(gè) 集合, 因?yàn)閷?shí)際業(yè)務(wù)的需要,必須 實(shí)現(xiàn) 異構(gòu)數(shù)據(jù)庫系統(tǒng)之間 數(shù)據(jù)的透明訪問和共享,異構(gòu)數(shù)據(jù)庫系統(tǒng) 中 每個(gè)數(shù)據(jù)庫系統(tǒng)在加入異構(gòu)數(shù)據(jù)庫系統(tǒng)之 初 本身就已存在, 完全獨(dú)立 擁有 屬于 自己的 數(shù)據(jù)庫管理系統(tǒng) [5]。 計(jì)算機(jī)系統(tǒng)指的是計(jì)算機(jī)基礎(chǔ)環(huán)境,包括硬件平臺(tái)、操作系統(tǒng)、訪問控制、并發(fā)控制和通信方式。數(shù)據(jù)庫所在計(jì)算機(jī)的操作系統(tǒng)可能是 Microsoft 的Windows、 WindowsNT、各種版本的 Unix、 Linux、 IBM05/ MacOS 等。比如以太網(wǎng)結(jié)構(gòu)、令牌環(huán)結(jié)構(gòu)等。 B) 數(shù)據(jù)庫產(chǎn)品不同。 邏輯結(jié)構(gòu)不同體現(xiàn)在命名差異、值類型差異、模式不同和語義不同等。而作為信息系統(tǒng)基礎(chǔ)和核心的數(shù)據(jù)庫技術(shù)得到非常廣泛的應(yīng)用。而且企業(yè)內(nèi)各部門或者政府不同部門需要從彼此不同的應(yīng)用系統(tǒng)的數(shù)據(jù)庫中獲取并管理業(yè)務(wù)數(shù)據(jù),以充分利用系統(tǒng)資源。以一個(gè)大型企業(yè)或組織為例,它在國內(nèi)外都有分公司或部門,存在不同的時(shí)期、不同的分公司可能安裝了不同的數(shù)據(jù)庫系統(tǒng)如 MS SQL Server、 Sybase、 DB Oracel 等。 異構(gòu)數(shù)據(jù)庫整合的目標(biāo) 異構(gòu)數(shù)據(jù)庫系統(tǒng)整和的最終目的是實(shí)現(xiàn)終極數(shù)據(jù)資源共享和降低開發(fā)者使用數(shù)據(jù)庫的難度。 2. 操作透明性 操作透明性具體指的是開發(fā)者在進(jìn)行整合后的異構(gòu)數(shù)據(jù)庫系統(tǒng)讀寫時(shí),操作 變得十分簡單,開發(fā)者只需清楚怎么與整合的異構(gòu)系統(tǒng)進(jìn)行交互就行了,而不必去了解怎么與各個(gè)異構(gòu)數(shù)據(jù)庫系統(tǒng)的交互。 1) 數(shù)據(jù)復(fù)制方法是將原來的數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)移到新的數(shù)據(jù)庫系統(tǒng)中,同時(shí)拋棄以前的數(shù)據(jù)庫系統(tǒng),改而使用新的數(shù)據(jù)庫系統(tǒng)。這種方案的缺點(diǎn)是需要拋棄原有的系統(tǒng),使用新開發(fā)的系統(tǒng),成本比較高。 原 始 數(shù) 據(jù) 庫目 標(biāo) 數(shù) 據(jù) 庫數(shù) 據(jù) 轉(zhuǎn) 換 圖 21 數(shù)據(jù)復(fù)制方法示意圖 2) 模板映射方法是使用中間件、中間系統(tǒng)等技術(shù)來整合各種異構(gòu)數(shù)據(jù)庫系統(tǒng),該方法的特點(diǎn)是不會(huì)改變原 來數(shù)據(jù)庫系統(tǒng)的管理方式,也就是保證了異構(gòu)數(shù)據(jù)庫第 2 章 異構(gòu)數(shù)據(jù)庫整合 10 的獨(dú)立性。所以本文研究方法鎖定在模板方法上。與一般普通的數(shù)據(jù)庫系統(tǒng)不同的是:數(shù)據(jù)倉庫中存儲(chǔ)的主要是匯總數(shù)據(jù)和歷史數(shù)據(jù) 。它的實(shí)現(xiàn)方法是將所有組成異構(gòu)數(shù)據(jù)庫做一對一的相互連通,如圖 24 所示。 中間件是種獨(dú)立的 應(yīng)用 服務(wù)程序 和 系統(tǒng)軟件,分布式應(yīng)用 程序 借助這種軟件在 異構(gòu) 的技術(shù)之間 實(shí)現(xiàn) 資源共享。 數(shù)據(jù)庫中間件是中間件的特定一種 ,它分別連接這用戶和數(shù)據(jù)庫,數(shù)據(jù)庫中間件負(fù)責(zé)完成所有的數(shù)據(jù)邏輯處理(比如第 2 章 異構(gòu)數(shù)據(jù)庫整合 12 數(shù)據(jù)統(tǒng)計(jì),數(shù)據(jù)排行,數(shù)據(jù)轉(zhuǎn)換等),為客戶端提供了統(tǒng)一的訪問接口,起著用戶和服務(wù)器機(jī)器之間的橋梁作用,中間件在收到用戶的請求后,它會(huì)根據(jù)請求的內(nèi)容找到不同的數(shù)據(jù)庫并對相應(yīng)的數(shù)據(jù)去請求數(shù)據(jù),中間件在使用 SQL 語句將數(shù)據(jù)庫中的相應(yīng)數(shù)據(jù)取出后,再在中間件層中進(jìn)行各種邏輯操作,在處理完成后再返回給客戶端。 本章小結(jié) 本章介紹了數(shù)據(jù)庫的發(fā)展過程,其過程具有比較強(qiáng)的時(shí)代特征,特定的時(shí)代流行特定的數(shù)據(jù)庫系統(tǒng)。 JSON 在 JavaScript 運(yùn)行時(shí)環(huán)境中指的是 JavaScript 對象 [14],在網(wǎng)絡(luò)上傳輸時(shí)指的 是 JSON 文本序列化后的結(jié)果。它 是種 基于純文本的 輕量級(jí)數(shù)據(jù)交換格式。在不同的編程語言中,它分別被理解為對象( object),結(jié)構(gòu)( struct),紀(jì)錄( record),第 3 章 JSON 與 POJO 之間的映射研究 14 哈希表( hash table),字典( dictionary),有鍵列表( keyed list),或者關(guān)聯(lián)數(shù)組(即Associative Array) [16]?;谶@個(gè)特點(diǎn), JSON 作為一種通用數(shù)據(jù)交換格式在各種現(xiàn)代計(jì)算機(jī)語言之間去交換數(shù)據(jù)成為一種可能。 圖 32 JSON 中對象示意圖 2) 數(shù)組是一個(gè)集合,它是由是值( value)組成有序集合。而且這些結(jié)構(gòu)可以進(jìn)行多層嵌套 。 圖 35 JSON 中字符串示意圖 5) 數(shù)值( number)也與 C 語言或者 Java 語言里的的數(shù)值比較類似。作為 標(biāo)準(zhǔn)通用標(biāo)記語言 ( SGML)的 一個(gè) 子集, XML 特別 適 用于 Web 的數(shù)據(jù)格式交換 。像一把雙刃劍,可以一自定義有好的一面也有不好的一面,這一點(diǎn)既使得 XML 具有很強(qiáng)的通用性,同時(shí)也使得 XML 變得很繁瑣,因?yàn)?在使用到 XML 的地方就要用到相應(yīng)的 DTD。因?yàn)橹灰谋痉?JavaScript 語言的語法規(guī)范(也就是 JSON 的語法規(guī)范),JavaScrip 的解釋器會(huì)隱性的自動(dòng)幫你完成解析,將它轉(zhuǎn)換成 JavaScript 運(yùn)行時(shí)的對象。在實(shí)現(xiàn)了解釋器的前提下,對計(jì)算機(jī)語言而言,它們的可讀性沒有什么差異。 XML 因其自定義功能,所以它與生俱來就有完美的擴(kuò)展性。兩者都有不少成熟的編碼工具, XML 方面有 Dom4j、 JDom 等工具, JSON 方面有 、 等庫。解析 XML 的時(shí)候需要考慮父子節(jié)點(diǎn)之間的層次關(guān)系,而 JSON直接是嵌套層次關(guān)系。就 Ajax 應(yīng)用而言, JSON 相比 XML 具有壓倒性優(yōu)勢。這與 JSON 中的 key/value 不謀而合,我們可以使用 JSON 里面的 key 來表示表名,使用 value 來表示該表的某條記錄。 JSON 與 POJO 的相互轉(zhuǎn)化 JSON 是 JavaScript 語言中對對象的一種文本表示,可以說 JSON 代表著JavaScript 中的對象。在發(fā)送接收過程中,發(fā)送方會(huì)把這個(gè) Java對象( POJO 類的對象)轉(zhuǎn)化為字節(jié)序列,以便于在計(jì)算機(jī)網(wǎng)絡(luò)上傳輸;接收方在收到發(fā)送方的數(shù)據(jù)以后,會(huì)把字節(jié)序列再轉(zhuǎn)換成 Java 對象( POJO 類的對象)。 2)在網(wǎng)絡(luò)上傳輸對象的字節(jié)序列二進(jìn)制數(shù)據(jù)。 Java 序列話過程如下: 1) 創(chuàng)建文件 FileOutputStream 類型的文件 fos; 2) 創(chuàng)建 ObjectOutputStream 類型的對象 oos = new ObjectOutputStream(fos); 3) 獲得對象 obj; 4) 向 oos 里持久化 obj,即 (obj); 5) 關(guān)閉 oos; 其中 4)步驟的過程就是將 POJO 類對象的主要屬性(不包含方法)寫入到文件中。 public void setNumber(int number) { = number。 (MadGecko)。 ()。 那么有沒有可能將 POJO 對象直接轉(zhuǎn)換成 JSON、 JSON 轉(zhuǎn)換成 POJO 對象呢?答案是肯定的。所以將 POJO 直接轉(zhuǎn)化為 JSON 是可行。 (initial, (0, 1).toUpperCase())。 (meat, )。 (map, map)。 將 JSON 融入 ORM 對象關(guān)系映射 模型 ( Object/Relation Mapping,簡稱 ORM),是 跟著 現(xiàn)代 面向?qū)ο蟮?計(jì)算機(jī) 軟件開發(fā)方法 發(fā)展而 誕 生的。而 在關(guān)系型 數(shù)據(jù)庫中,關(guān)系 型 數(shù)據(jù) 庫 無法直接表達(dá)多對多 持有(關(guān)聯(lián)) 和繼承關(guān)系。因?yàn)?JSON 與 POJO 是一對一的映射關(guān)系,而 POJO 作為 ORM 的Object 與數(shù)據(jù)庫的記錄也是一對一的關(guān)系。然后研究了 JSON 與 Java 語言的 POJO 的相互轉(zhuǎn)化,研究了具體實(shí)現(xiàn)。一方面,程序需要知道數(shù)據(jù)表結(jié)構(gòu)才能將數(shù)據(jù)轉(zhuǎn)換為 JSON;另一方面,程序只有在知道表結(jié)構(gòu)的前提下才能將 JSON 轉(zhuǎn)換為 POJO,進(jìn)而將 POJO 與數(shù)據(jù)庫記錄對應(yīng) 。建立 關(guān)系型數(shù)據(jù)庫的表 的記錄 與 JSON 文本 之間 的映射 關(guān)系 是本文成敗的關(guān)鍵,只有建立了完善的映射關(guān)系才算是真正意義上實(shí)現(xiàn)了功能 。 JSON 與異構(gòu)數(shù)據(jù)庫整合系統(tǒng)設(shè)計(jì) JSON 作為與平臺(tái)、語言無關(guān)的數(shù)據(jù)格式,它為異構(gòu)數(shù)據(jù)庫系統(tǒng)的整合提供標(biāo)準(zhǔn)的格式 。思路是建立異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)表與 JSON 之間的映射聯(lián)系,然后異構(gòu)數(shù)據(jù)可以輕松的發(fā)布為 JSON 文本,然后數(shù)據(jù)接收端再按照 JSON 的語法規(guī)則解析,這樣就實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)交換了。 2) 語義明確?,F(xiàn)在幾乎所以的語句都支持 JSON,都有相應(yīng)的 生成和解析工具。 5)易交互。 JSON 與異構(gòu)數(shù)據(jù)庫的映射技術(shù) 以關(guān)系模型為理論基礎(chǔ)的關(guān)系型數(shù)據(jù)庫與結(jié)構(gòu)化的數(shù)據(jù)類型 JSON怎樣關(guān)聯(lián)映射起來是本文要做的重點(diǎn)工作,是關(guān)乎本文的成敗關(guān)鍵。該接口返回的就是該 SQL 語句執(zhí)行完畢后得到的記錄所轉(zhuǎn)換成的SQL。關(guān)系數(shù)據(jù)庫的模型信息主要有兩類: 數(shù)據(jù)表的信息和 POJO 對象的屬性的。 在使用 Hibernate、 MyBatis 這樣的 ORM 框架時(shí),他們都會(huì)使用 ORM 配置文件,用來建立數(shù)據(jù)庫的數(shù)據(jù)表和 POJO 類的詳細(xì)映射。其 person 指的是數(shù)據(jù)表的名字,而 是 POJO 的完整名稱, id 表示的是主鍵, properties 指的是常規(guī)屬性。 ORM 框架如下的配置文件如下,他們說明了數(shù)據(jù)表的主鍵、各個(gè)字段,并其將其與 POJO 的屬性作來對應(yīng),同時(shí)也指出了其數(shù)據(jù)類型。 數(shù)據(jù)庫模型體現(xiàn)在很多方面,如 POJO 對象的反射信息,Hibernate 的 hbm配置文件。這樣外不系統(tǒng)都可以通過這 4 個(gè)統(tǒng)一的接口來實(shí)現(xiàn)對象 Author 數(shù)據(jù)表的 CURD 操作了。 基于模板的映射方法 這種方法的核心思想是定義統(tǒng)一的對外訪問數(shù)據(jù)庫系統(tǒng)的接口。因?yàn)?Web 應(yīng)用需要給瀏覽器端返回的正是 JSON。 4) 跨平臺(tái)。而數(shù)據(jù)庫的數(shù)據(jù)表一般都第 4 章 異構(gòu)數(shù)據(jù)庫與 JSON 的映射研究 24 是有業(yè)務(wù)意義的,所以 JSON 的可讀性很強(qiáng),一目了然。 JSON 有如下優(yōu)點(diǎn): 1) 結(jié)構(gòu)嚴(yán)格。所以采用 Java 平臺(tái)作為中間件的平臺(tái),并采用 JSON 作為數(shù)據(jù)交換格式,在此
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1