欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于rest架構(gòu)的數(shù)據(jù)訪問方法

文檔序號:6622322閱讀:332來源:國知局
一種基于rest架構(gòu)的數(shù)據(jù)訪問方法
【專利摘要】本發(fā)明涉及計算機應(yīng)用【技術(shù)領(lǐng)域】,特別涉及到一種基于REST架構(gòu)的數(shù)據(jù)訪問方法。本發(fā)明采用RESTful?JDBC協(xié)議與數(shù)據(jù)源進行交互,各個數(shù)據(jù)源通過RESTful?JDBC協(xié)議接入到云數(shù)據(jù)庫中來;所述的RESTful?JDBC協(xié)議將傳統(tǒng)的JDBC接口封裝成RESTful?JDBC接口;RESTful?JDBC提供的接口與JDBC接口基本相同,接口的語義也與JDBC保持一致。本發(fā)明為數(shù)據(jù)源與云數(shù)據(jù)庫之間提供了一種基于REST架構(gòu)的交互方式;可以用于云數(shù)據(jù)庫與異構(gòu)數(shù)據(jù)源的交互上。
【專利說明】一種基于REST架構(gòu)的數(shù)據(jù)訪問方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用【技術(shù)領(lǐng)域】,特別涉及到一種基于REST架構(gòu)的數(shù)據(jù)訪問方法。

【背景技術(shù)】
[0002]在企業(yè)信息化建設(shè)過程中,由于各業(yè)務(wù)系統(tǒng)建設(shè)和實施數(shù)據(jù)管理系統(tǒng)的階段性、技術(shù)性以及其它經(jīng)濟和人為因素的影響,導(dǎo)致企業(yè)在發(fā)展過程中積累了大量采用不同存儲方式的業(yè)務(wù)數(shù)據(jù)。這些數(shù)據(jù)采用的數(shù)據(jù)管理系統(tǒng)大不相同,包括從簡單的文件數(shù)據(jù)庫到復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)庫,構(gòu)成了企業(yè)的異構(gòu)數(shù)據(jù)源。這些分散的不同業(yè)務(wù)的數(shù)據(jù)管理系統(tǒng)雖然能夠滿足業(yè)務(wù)數(shù)據(jù)存儲和管理要求,但在許多情況下,企業(yè)領(lǐng)導(dǎo)要做出一項決策,往往需要查詢多個基于各種異構(gòu)數(shù)據(jù)源的業(yè)務(wù)系統(tǒng)和外部系統(tǒng),進行大量數(shù)據(jù)分析后才能做出決策。
[0003]因此,異構(gòu)數(shù)據(jù)源的整合與集成是企業(yè)信息化建設(shè)過程經(jīng)常遇到的一個現(xiàn)實問題,也是制約企業(yè)各種應(yīng)用信息系統(tǒng)建設(shè)和數(shù)據(jù)共享程度,以及信息化建設(shè)投資重復(fù)或負擔重的一個重要因素。
[0004]云數(shù)據(jù)庫系統(tǒng)是進行異構(gòu)數(shù)據(jù)源的整合與集成的重要方法。然而,如何實現(xiàn)云數(shù)據(jù)庫與異構(gòu)數(shù)據(jù)源的交互至關(guān)重要。


【發(fā)明內(nèi)容】

[0005]本發(fā)明解決的技術(shù)問題在于提供一種基于REST架構(gòu)的數(shù)據(jù)訪問方法,可以有效的解決云數(shù)據(jù)庫與異構(gòu)數(shù)據(jù)源的交互問題。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
[0007]采用RESTful JDBC協(xié)議與數(shù)據(jù)源進行交互,各個數(shù)據(jù)源通過RESTful JDBC協(xié)議接入到云數(shù)據(jù)庫中來;所述的RESTful JDBC協(xié)議將傳統(tǒng)的JDBC接口封裝成RESTful JDBC接口 ;RESTful JDBC提供的接口與JDBC接口基本相同,接口的語義也與JDBC保持一致。
[0008]所述的RESTful JDBC協(xié)議有一實現(xiàn)的關(guān)鍵組件DS Fa?ade;所述的DS Facade
是Wrapper與數(shù)據(jù)庫之間的代理,Wrapper通過DS Fagade與數(shù)據(jù)庫進行交互;對Wrapper來說,DS Fagade是一個服務(wù)端,對數(shù)據(jù)庫而言,DS Faqade是一個客戶端;Wrapper與DS Fagade采用RESTful JDBC協(xié)議,DS Fagade與數(shù)據(jù)庫采用JDBC協(xié)議。
[0009]實現(xiàn)Wrapper支持RESTful JDBC協(xié)議的方法是:
[0010]在Wrapper下面增加一層協(xié)議管理器,用于兩種協(xié)議的選擇、切換;
[0011]或者,
[0012]為Wrapper 增加一個 RESTful JDBC 版本。
[0013]所述的DS Fayade支持專有模式和共享模式兩種部署模式;
[0014]所述的專有模式,一個數(shù)據(jù)庫獨占一個DS Fagade,此時,一個數(shù)據(jù)庫和一個DS Fagade構(gòu)成一個數(shù)據(jù)源;
[0015]所述的共享模式,多個數(shù)據(jù)庫共享一個DS Fagade,此時,多個數(shù)據(jù)庫與一個DS Fagade構(gòu)成一個數(shù)據(jù)源。
[0016]所述的DS Fagade采用Jetty作為REST引擎,用Jetty來發(fā)布RESTful JDBC ;支持對數(shù)據(jù)庫地址及訪問憑據(jù)的管理、對數(shù)據(jù)源地址及訪問憑據(jù)的管理、數(shù)據(jù)源地址與數(shù)據(jù)庫地址的準確映射、數(shù)據(jù)源的訪問憑據(jù)與數(shù)據(jù)庫的訪問憑據(jù)的準確映射;支持線程池、數(shù)據(jù)庫連接池的操作;前述各支持功能由DS2DB Manager負責實現(xiàn)。
[0017]本發(fā)明的方法有效的解決云數(shù)據(jù)庫與異構(gòu)數(shù)據(jù)源的交互問題;支持多種數(shù)據(jù)庫系統(tǒng)(MySQL、Oracle、SQL Server、DB2)以及文件系統(tǒng)(Excel 文件、KV 文件)。

【專利附圖】

【附圖說明】
[0018]下面結(jié)合附圖對本發(fā)明進一步說明:
[0019]圖1是本發(fā)明的邏輯架構(gòu)圖;
[0020]圖2是本發(fā)明的部署模式圖;
[0021]圖3是本發(fā)明的系統(tǒng)實現(xiàn)圖。

【具體實施方式】
[0022]數(shù)據(jù)源的REST化本質(zhì)上將數(shù)據(jù)源接入?yún)f(xié)議的REST化,為數(shù)據(jù)源提供一種REST形式的訪問接口。
[0023]目前,常用的數(shù)據(jù)源是各種關(guān)系數(shù)據(jù)庫,提供JDBC的訪問接口,與數(shù)據(jù)源的交互采用的是JDBC協(xié)議。REST化以后,我們將采用“RESTful JDBC協(xié)議”與數(shù)據(jù)源進行交互,各個數(shù)據(jù)源通過RESTful JDBC協(xié)議接入到云數(shù)據(jù)庫中來。
[0024]如附圖所示,RESTful JDBC協(xié)議將傳統(tǒng)的JDBC接口封裝成了 REST API,即"RESTful JDBC接口”。RESTfulJDBC提供的接口與JDBC接口基本相同,接口的語義也與JDBC保持一致。例如,JDBC中提供了查詢接口:
[0025]ResultSet executeQuery(String sql)
[0026]那么在RESTful JDBC中也應(yīng)該有一個相同的接口,具備相同的語義。不過,傳統(tǒng)JDBC中提供的接口數(shù)據(jù)太多,這些接口不必在RESTful JDBC協(xié)議中一一實現(xiàn),僅需要實現(xiàn)部分核心的接口即可。
[0027]DS Fagade是實現(xiàn)RESTful JDBC協(xié)議的關(guān)鍵組件。DS Fagade是Wrapper與數(shù)據(jù)庫之間的代理,Wrapper通過DS Fagade與數(shù)據(jù)庫進行交互。對Wrapper來說,DS Fagade是一個服務(wù)端,對數(shù)據(jù)庫而言,DS Fafade是一個客戶端。Wrapper與DS Facade采用RESTfulJDBC協(xié)議,DS Fagade與數(shù)據(jù)庫采用JDBC協(xié)議。
[0028]有了 RESTful JDBC協(xié)議后,每一種數(shù)據(jù)源都支持兩種方式與云數(shù)據(jù)庫進行交互。系統(tǒng)中現(xiàn)有的Wrapper僅支持JDBC協(xié)議,無法滿足需求。有兩種方案可以解決該問題:
[0029]1.在Wrapper下面增加一層協(xié)議管理器,用于兩種協(xié)議的選擇、切換。目前系統(tǒng)中Wrapper的實現(xiàn)緊稱合JDBC協(xié)議,這種方案可能會造成對現(xiàn)有Wrapper的實現(xiàn)修改的比較大。
[0030]2.為 Wrapper 增加一個 RESTful JDBC 版本,比如,針對 Oracle Wrapper,提供兩個版本JDBC版本和RESTful JDBC版本,JDBC版本通過JDBC協(xié)議與Oracle數(shù)據(jù)庫交互,RESTful JDBC版本通過RESTful JDBC協(xié)議與Oracle數(shù)據(jù)庫交互。這種方案會造成系統(tǒng)中現(xiàn)有Wrapper數(shù)量翻倍,好處是不用對現(xiàn)有的Wrapper的實現(xiàn)進行修改。
[0031]依據(jù)“開閉設(shè)計原則”,綜合考慮開發(fā)成本,采用第二種方案,為Wrapper增加一個RESTful JDBC 版本。
[0032]DS Fagade支持兩種部署模式:
[0033]1.專有模式:一個數(shù)據(jù)庫獨占一個DS Faqade,此時,一個數(shù)據(jù)庫和一個DS Fa?ade構(gòu)成一個數(shù)據(jù)源。這種模式的好處是DS Fagade不會成為性能瓶頸,缺點是可能會造成系統(tǒng)中存在大量的DS Fagade實例,增加部署和管理的成本。
[0034]2.共享模式:多個數(shù)據(jù)庫共享一個DS Fagade,此時,多個數(shù)據(jù)庫與一個DS Fa?ade構(gòu)成一個數(shù)據(jù)源。這種模式的好處是系統(tǒng)中DS Fagade的實例比較少,缺點是DS Fagade可能會成為訪問的性能瓶頸;
[0035]在實踐中具體采用哪種部署模式,需要根據(jù)應(yīng)用的需求,以及部署環(huán)境的約束來綜合考慮。
[0036]DS Facade是實現(xiàn)該數(shù)據(jù)訪問協(xié)議的核心組件,下面詳細給出DS Fagade的【具體實施方式】。
[0037]1.Jetty的實現(xiàn)是一款用Java實現(xiàn)、開源、基于標準的,并且具有豐富功能的Http服務(wù)器和Web容器,DS Fac ade Ii3實現(xiàn)采用Jetty作為REST引擎,用Jetty來發(fā)布RESTfulJDBC。
[0038]2.支持對數(shù)據(jù)庫地址及訪問憑據(jù)的管理,例如:
[0039]a)數(shù)據(jù)庫地址:jdbc:oracle:thin:§192.168.1.100:1521:orcl ;
[0040]b)數(shù)據(jù)庫訪問憑據(jù):訪問Oracle數(shù)據(jù)庫的用戶名和密碼;
[0041]數(shù)據(jù)庫的地址和訪問憑據(jù)由數(shù)據(jù)庫的用戶自行加以配置,數(shù)據(jù)庫的地址和訪問憑據(jù)對云數(shù)據(jù)庫是不可見的。數(shù)據(jù)庫的訪問憑據(jù)需要進行加密存儲,以防止在多個數(shù)據(jù)庫共享一個DS Fagade的模式時,泄露數(shù)據(jù)庫的用戶名和密碼;
[0042]3.支持對數(shù)據(jù)源地址及訪問憑據(jù)的管理,
[0043]a)數(shù)據(jù)源地址:rest: oracleil92.168.1.100:8080/orcl ;
[0044]b)數(shù)據(jù)源的訪問憑據(jù):通過RESTful JDBC協(xié)議訪問數(shù)據(jù)源的用戶名和密碼,與訪問數(shù)據(jù)庫的用戶和密碼不同;
[0045]數(shù)據(jù)源的地址和訪問憑據(jù)由數(shù)據(jù)庫的用戶自行加以配置,數(shù)據(jù)源的地址和訪問憑據(jù)對云數(shù)據(jù)庫不可見的。數(shù)據(jù)源的訪問憑據(jù)需要進行加密存儲,以防止在多個數(shù)據(jù)庫共享一個DS Fagade的模式時,泄露數(shù)據(jù)源的用戶名和密碼;
[0046]4.支持數(shù)據(jù)源地址與數(shù)據(jù)庫地址的準確映射,支持數(shù)據(jù)源的訪問憑據(jù)與數(shù)據(jù)庫的訪問憑據(jù)的準確映射;
[0047]5.支持線程池、數(shù)據(jù)庫連接池的操作,以防止DS Faqade成為性能瓶頸;DS2DBManager主要負責實現(xiàn)上述2、3、4項功能。
【權(quán)利要求】
1.一種基于REST架構(gòu)的數(shù)據(jù)訪問方法,其特征在于:采用RESTful JDBC協(xié)議與數(shù)據(jù)源進行交互,各個數(shù)據(jù)源通過RESTful JDBC協(xié)議接入到云數(shù)據(jù)庫中來;所述的RESTful JDBC協(xié)議將傳統(tǒng)的JDBC接口封裝成RESTful JDBC接口 ;RESTful JDBC提供的接口與JDBC接口基本相同,接口的語義也與JDBC保持一致。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)訪問方法,其特征在于:所述的RESTfulJDBC協(xié)議有一實現(xiàn)的關(guān)鍵組件DS Fagade-,所述的DS Fa?ade是Wrapper與數(shù)據(jù)庫之間的代理,Wrapper通過DS Facade與數(shù)據(jù)庫進行交互;對Wrapper來說,DS Facade是一個服務(wù)端,對數(shù)據(jù)庫而言,DS Fagade是一個客戶端;Wrapper與DS Facade采用RESTful JDBC協(xié)議,DS Fagade與數(shù)據(jù)庫采用JDBC協(xié)議。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)訪問方法,其特征在于:實現(xiàn)Wrapper支持RESTfulJDBC協(xié)議的方法是: 在Wrapper下面增加一層協(xié)議管理器,用于兩種協(xié)議的選擇、切換; 或者, 為 Wrapper 增加一個 RESTful JDBC 版本。
4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)訪問方法,其特征在于:所述的DSFacade支持專有模式和共享模式兩種部署模式;所述的專有模式,一個數(shù)據(jù)庫獨占一個DS Fa?ade,此時,一個數(shù)據(jù)庫和一個DS Fagade構(gòu)成一個數(shù)據(jù)源; 所述的共享模式,多個數(shù)據(jù)庫共享一個DS Fa?ade,此時,多個數(shù)據(jù)庫與一個DS Faqade構(gòu)成一個數(shù)據(jù)源。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)訪問方法,其特征在于:所述的DSFagade支持專有模式和共享模式兩種部署模式; 所述的專有模式,一個數(shù)據(jù)庫獨占一個DS Facade,此時,一個數(shù)據(jù)庫和一個DS Fagade構(gòu)成一個數(shù)據(jù)源; 所述的共享模式,多個數(shù)據(jù)庫共享一個DS Fagade,此時,多個數(shù)據(jù)庫與一個DS Fagade構(gòu)成一個數(shù)據(jù)源。
6.根據(jù)權(quán)利要求2至5任一項所述的數(shù)據(jù)訪問方法,其特征在于:所述的DSFagade采用Jetty作為REST引擎,用Jetty來發(fā)布RESTful JDBC ;支持對數(shù)據(jù)庫地址及訪問憑據(jù)的管理、對數(shù)據(jù)源地址及訪問憑據(jù)的管理、數(shù)據(jù)源地址與數(shù)據(jù)庫地址的準確映射、數(shù)據(jù)源的訪問憑據(jù)與數(shù)據(jù)庫的訪問憑據(jù)的準確映射;支持線程池、數(shù)據(jù)庫連接池的操作;前述各支持功能由DS2DB Manager負責實現(xiàn)。
【文檔編號】G06F17/30GK104166699SQ201410378381
【公開日】2014年11月26日 申請日期:2014年8月3日 優(yōu)先權(quán)日:2014年8月3日
【發(fā)明者】謝毅, 岳強, 袁子牧, 徐志偉 申請人:廣東電子工業(yè)研究院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
枣庄市| 内丘县| 桦川县| 赣州市| 诏安县| 池州市| 平利县| 大港区| 平阴县| 安阳县| 澄迈县| 分宜县| 射阳县| 通河县| 保山市| 阿城市| 邹城市| 海门市| 桂阳县| 正蓝旗| 沙湾县| 余姚市| 本溪市| 浪卡子县| 江都市| 五大连池市| 内丘县| 昌黎县| 丰镇市| 墨竹工卡县| 雷波县| 义马市| 冀州市| 上犹县| 乡城县| 长兴县| 珲春市| 五莲县| 常德市| 全南县| 策勒县|