国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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



      背景技術(shù):

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

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

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



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

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

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

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

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

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

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

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

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

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

      附圖說明

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

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

      具體實施方式

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

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

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

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

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

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

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

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

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

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

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

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

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