亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)適配系統(tǒng)的制作方法

文檔序號:12466150閱讀:267來源:國知局

本發(fā)明涉及計算機技術領域,具體地說是一種實用性強、數(shù)據(jù)適配系統(tǒng)。



背景技術:

隨著計算機技術的飛速發(fā)展,數(shù)據(jù)庫技術的應用領域也日趨擴大和深入,數(shù)據(jù)庫從根本上改變了許多公司和個人的工作方式,它是信息系統(tǒng)的基本框架。在面向服務應用大行其道的今天,協(xié)調(diào)數(shù)據(jù)庫的多樣性是開發(fā)互聯(lián)網(wǎng)應用中不可避免的首要問題,我們常見的數(shù)據(jù)庫包括MySQL、SQL Server、ORACLE、Hive2、Hbase、mongoDB、PostgreSQL、DB2及達夢數(shù)據(jù)庫等,作為數(shù)據(jù)處理的中間層,能夠讓用戶以統(tǒng)一的接口連接不同的數(shù)據(jù)源是一個基本需求。

大數(shù)據(jù)在近些年來越來越火熱,在這個大數(shù)據(jù)的時代對數(shù)據(jù)的存儲和處理提出了更高的要求,Hadoop技術體系中hbase、hive則在大數(shù)據(jù)的時代中應運而生。Hbase是當前noSql數(shù)據(jù)庫的一種,最常見的應用場景就是存儲采集的網(wǎng)頁數(shù)據(jù);而hive主要針對的是OLAP應用,基于一個統(tǒng)一的查詢分析層,支撐OLAP應用中的各種關聯(lián),分組,聚合類SQL語句等;而傳統(tǒng)數(shù)據(jù)庫MySQL或oracle完全不是相同的應用場景,針對的更多的是結構化的數(shù)據(jù),事物一致性要求高,業(yè)務規(guī)則邏輯復雜,數(shù)據(jù)模型復雜?;跀?shù)據(jù)庫之間的差異性,對應用層軟件來說是一個挑戰(zhàn),應用層軟件需要適配各種類型的數(shù)據(jù)庫,這樣不僅增加了開發(fā)成本,而且使業(yè)務應用的可靠性降低,而且不便于產(chǎn)品的維護。

針對這一情況,現(xiàn)提供一種數(shù)據(jù)適配系統(tǒng),來屏蔽掉數(shù)據(jù)庫之間的差異性,使得用戶更加關注于業(yè)務實現(xiàn),便于產(chǎn)品維護,降低了開發(fā)成本,也給數(shù)據(jù)存儲和數(shù)據(jù)處理帶來了方便。



技術實現(xiàn)要素:

本發(fā)明的技術任務是針對以上不足之處,提供一種實用性強、數(shù)據(jù)適配系統(tǒng)。

一種數(shù)據(jù)適配系統(tǒng),配置于數(shù)據(jù)庫應用軟件和數(shù)據(jù)庫平臺之間,向上為數(shù)據(jù)庫應用軟件提供服務,向下使用數(shù)據(jù)庫平臺提供的服務;該系統(tǒng)提供統(tǒng)一調(diào)用接口模塊,當用戶進行操作時,只需在數(shù)據(jù)庫應用軟件上輸入操作的語句,該統(tǒng)一調(diào)用接口模塊即可根據(jù)輸入的語句實現(xiàn)對數(shù)據(jù)庫的操作調(diào)用,并返回操作結果給數(shù)據(jù)庫應用軟件。

統(tǒng)一調(diào)用接口模塊在進行數(shù)據(jù)庫應用軟件和數(shù)據(jù)庫平臺之間的接口服務協(xié)調(diào)時,通過Zookeeper服務實現(xiàn),該統(tǒng)一調(diào)用接口模塊支持的數(shù)據(jù)庫類型包括傳統(tǒng)關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫、國產(chǎn)化數(shù)據(jù)庫和非國產(chǎn)化數(shù)據(jù)庫、結構化數(shù)據(jù)庫和非結構化數(shù)據(jù)庫。

所述統(tǒng)一調(diào)用接口模塊支持的數(shù)據(jù)庫類型具體包括MySQL、SQL Server、ORACLE、Hive2、Hbase、mongoDB、PostgreSQL、DB2及達夢數(shù)據(jù)庫。

當用戶進行操作時,首先進行統(tǒng)一數(shù)據(jù)庫初始化服務,完成數(shù)據(jù)庫編程環(huán)境的初始化的步驟,由上層應用在初始化時調(diào)用,該步驟具體為:數(shù)據(jù)庫初始化實現(xiàn)數(shù)據(jù)庫的連接初始化,即統(tǒng)一調(diào)用接口模塊在啟動時完成數(shù)據(jù)庫的連接初始化,供上層應用調(diào)用,初始化后的數(shù)據(jù)庫環(huán)境應用可后續(xù)獲取連接進行相應的操作。

用戶進行操作時,統(tǒng)一調(diào)用接口模塊還實現(xiàn)統(tǒng)一數(shù)據(jù)庫環(huán)境釋放服務,完成數(shù)據(jù)庫編程環(huán)境的釋放,由上層應用在推出時調(diào)用,其中數(shù)據(jù)庫環(huán)境釋放實現(xiàn)數(shù)據(jù)庫的連接釋放,上層應用獲得數(shù)據(jù)庫連接后即可對數(shù)據(jù)庫進行相應的操作,在本次連接環(huán)境內(nèi)的操作應用無需重新獲取連接,該連接只在應用推出此次數(shù)據(jù)庫操作的情況下釋放該連接。

用戶進行操作時,統(tǒng)一調(diào)用接口模塊還實現(xiàn)統(tǒng)一數(shù)據(jù)庫操作服務,上層應用有數(shù)據(jù)庫操作服務時直接調(diào)用;該數(shù)據(jù)庫操作服務包括增加、刪除、修改、查詢服務;其中查詢服務具體包括:獲取數(shù)據(jù)庫信息服務、獲取數(shù)據(jù)庫中表信息、獲取數(shù)據(jù)庫中表字段信息、判斷表是否存在服務,最后統(tǒng)一調(diào)用接口模塊將結果數(shù)據(jù)以json格式返回給用戶,返回的結果信息包括成功或失敗編碼、錯誤信息及正確調(diào)用獲取的數(shù)據(jù)。

本發(fā)明的一種數(shù)據(jù)適配系統(tǒng),具有以下優(yōu)點:

本發(fā)明的一種數(shù)據(jù)適配系統(tǒng),基于JDBC技術屏蔽各數(shù)據(jù)庫SQL語句直接的差異性,使得用戶更加關注于業(yè)務實現(xiàn)而無需針對各類數(shù)據(jù)庫進行必要的產(chǎn)品維護;本專利位于數(shù)據(jù)庫應用軟件和具體的數(shù)據(jù)庫平臺的一個中間層,降低了業(yè)務應用與服務調(diào)度的耦合性,降低數(shù)據(jù)服務對業(yè)務應用系統(tǒng)的侵入;消除數(shù)據(jù)儲存和數(shù)據(jù)處理對數(shù)據(jù)庫之間的差異性,使得用戶更加關注于業(yè)務實現(xiàn),降低產(chǎn)品開發(fā)和維護成本,增加了業(yè)務應用的可靠性和業(yè)務分析的能力,為應用層軟件提供可靠性、一致性的數(shù)據(jù)庫接口服務,實用性強,適用范圍廣泛,易于推廣。

附圖說明

為了更清楚的說明本發(fā)明實施例或現(xiàn)有技術的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

附圖1為本發(fā)明的實現(xiàn)示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發(fā)明方案,下面結合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

如附圖1所示,一種數(shù)據(jù)適配系統(tǒng),它屏蔽掉了不同的數(shù)據(jù)庫使用之間的差異,使得用戶可以專注于業(yè)務實現(xiàn)而不需要關心數(shù)據(jù)庫類型。

該系統(tǒng)是位于數(shù)據(jù)庫應用軟件和具體的數(shù)據(jù)庫平臺的一個中間層,向上為數(shù)據(jù)庫應用軟件提供服務,向下使用具體的數(shù)據(jù)庫平臺提供的服務。數(shù)據(jù)庫應用軟件不需要關系數(shù)據(jù)庫操作的每一步驟,不必進行準備、定義、綁定參數(shù)、取結果等操作,用戶只需要將操作的語句交給統(tǒng)一調(diào)用接口模塊,由該模塊實現(xiàn)數(shù)據(jù)庫的操作細節(jié),用戶只需要取回操作結果即可。

接口服務之間的協(xié)調(diào)通過Zookeeper實現(xiàn),涉及到數(shù)據(jù)庫初始化服務、數(shù)據(jù)庫環(huán)境釋放服務和數(shù)據(jù)庫操作服務,其中數(shù)據(jù)庫操作服務包括對數(shù)據(jù)的查詢、修改、刪除和插入操作。其中支持的數(shù)據(jù)庫類型包括傳統(tǒng)關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫、國產(chǎn)化數(shù)據(jù)庫和非國產(chǎn)化數(shù)據(jù)庫、結構化數(shù)據(jù)庫和非結構化數(shù)據(jù)庫。

為了實現(xiàn)以上目標,本發(fā)明采用的技術方案如下:

1)一種統(tǒng)一數(shù)據(jù)庫接口的數(shù)據(jù)適配系統(tǒng)采用的是JDBC技術執(zhí)行SQL語句,接口服務之間的協(xié)調(diào)通過Zookeeper實現(xiàn),支持的數(shù)據(jù)庫類型包括MySQL、SQL Server、ORACLE、Hive2、Hbase、mongoDB、PostgreSQL、DB2及達夢數(shù)據(jù)庫,為應用層軟件提供可靠性、一致性的數(shù)據(jù)存儲和數(shù)據(jù)處理服務。

2)在完成上述技術方案的基礎上,統(tǒng)一的數(shù)據(jù)庫接口實現(xiàn)了傳統(tǒng)關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫的一致性、結構化數(shù)據(jù)庫和非結構化數(shù)據(jù)庫的一致性、國產(chǎn)化數(shù)據(jù)庫和非國產(chǎn)化數(shù)據(jù)庫的一致性。在此基礎上,用戶無需關心底層數(shù)據(jù)庫類型,只需調(diào)用提供的操作數(shù)據(jù)庫的接口即可滿足用戶需求。

3)在完成以上技術方案的基礎上,統(tǒng)一數(shù)據(jù)庫初始化服務,完成數(shù)據(jù)庫編程環(huán)境的初始化,由上層應用在初始化時調(diào)用。數(shù)據(jù)庫初始化主要實現(xiàn)數(shù)據(jù)庫的連接初始化,統(tǒng)一數(shù)據(jù)庫接口的數(shù)據(jù)適配系統(tǒng)啟動時完成數(shù)據(jù)庫的連接初始化(比如:hbase、hive的連接初始化過程),供上層應用調(diào)用,初始化后的數(shù)據(jù)庫環(huán)境應用可后續(xù)獲取連接進行相應的操作。

4)在完成以上技術方案的基礎上,統(tǒng)一數(shù)據(jù)庫環(huán)境釋放服務,完成數(shù)據(jù)庫編程環(huán)境的釋放,由上層應用在推出時調(diào)用。數(shù)據(jù)庫環(huán)境釋放主要實現(xiàn)數(shù)據(jù)庫的連接釋放,上層應用獲得數(shù)據(jù)庫連接后可對數(shù)據(jù)庫進行相應的操作,在本次連接環(huán)境內(nèi)的操作應用無需重新獲取連接,該連接只在應用推出此次數(shù)據(jù)庫操作的情況下釋放該連接。

5)在完成以上技術方案的基礎上,統(tǒng)一數(shù)據(jù)庫操作服務,上層應用有數(shù)據(jù)庫操作時直接調(diào)用。數(shù)據(jù)庫操作服務包括增(insert)、刪(delete)、改(update)、查(select)服務;其中查詢服務還可進一步分為:獲取數(shù)據(jù)庫信息服務、獲取數(shù)據(jù)庫中表信息、獲取數(shù)據(jù)庫中表字段信息、判斷表是否存在服務等。調(diào)用統(tǒng)一數(shù)據(jù)庫接口需要傳入必要的參數(shù),比如數(shù)據(jù)源的信息、表中字段信息以及是否需要包括數(shù)據(jù)庫存儲過程等,接口將結果數(shù)據(jù)以json格式返回給用戶,返回的結果信息包括成功或失敗編碼、錯誤信息及正確調(diào)用獲取的數(shù)據(jù)。

6)以上步驟完成之后,用戶可使用統(tǒng)一數(shù)據(jù)庫接口的數(shù)據(jù)適配系統(tǒng)完成自己的業(yè)務需要。用戶可根據(jù)接口的json格式的返回結果查看應用調(diào)用接口情況,了解相關業(yè)務功能的運行情況,不會因為調(diào)用接口失敗導致應用出現(xiàn)故障而無法找出其中的緣由,這樣保證了業(yè)務運行的可靠性。

上述具體實施方式僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述具體實施方式,任何符合本發(fā)明的一種數(shù)據(jù)適配系統(tǒng)的權利要求書的且任何所述技術領域的普通技術人員對其所做的適當變化或替換,皆應落入本發(fā)明的專利保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1