国产精品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>

      Http遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)和方法

      文檔序號:9791768閱讀:1075來源:國知局
      Http遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)和方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及跨互聯(lián)網(wǎng)數(shù)據(jù)訪問技術(shù)領(lǐng)域,特別是涉及一種HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)和方法。
      【背景技術(shù)】
      [0002]隨著大數(shù)據(jù)時(shí)代的到來,分布式計(jì)算、分布式服務(wù)器集群、分布式存儲等都已經(jīng)成為一種趨勢。服務(wù)器的急劇擴(kuò)張必然會存在應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器不在同一局域網(wǎng)的情況,對于數(shù)據(jù)庫而言安全性尤為重要,為了防止外網(wǎng)的惡意攻擊,數(shù)據(jù)庫會禁止外網(wǎng)訪問。
      [0003]傳統(tǒng)的HTTP遠(yuǎn)程數(shù)據(jù)訪問方法是基于XML和WebService技術(shù)的異構(gòu)數(shù)據(jù)庫集成方法,使用XML作為數(shù)據(jù)的載體。Web數(shù)據(jù)庫的訪問采用瀏覽器/Web服務(wù)器(B/S)或?yàn)g覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器(B/S/S)結(jié)構(gòu)??蛻敉ㄟ^瀏覽器向服務(wù)器發(fā)送請求和服務(wù)器進(jìn)行連接,從而實(shí)現(xiàn)在Internet/Intranet的環(huán)境下對數(shù)據(jù)庫的訪問操作。
      [0004]以XML數(shù)據(jù)格式傳送數(shù)據(jù),數(shù)據(jù)的冗余度較大,文件格式復(fù)雜,傳輸占帶寬;傳送數(shù)據(jù)過程中服務(wù)器端和客戶端都需要花費(fèi)大量代碼來解析XML,導(dǎo)致服務(wù)器端和客戶端代碼變得異常復(fù)雜且不易維護(hù);客戶端不同瀏覽器之間解析XML的方式不一致,需要重復(fù)編寫很多代碼;由上所致服務(wù)器端和客戶端解析XML花費(fèi)較多的資源和時(shí)間。因此傳統(tǒng)的HTTP遠(yuǎn)程數(shù)據(jù)訪問方法存在數(shù)據(jù)查詢效率低的缺點(diǎn)。

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

      [0005]基于此,有必要針對上述問題,提供一種數(shù)據(jù)查詢效率高的HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)和方法。
      [0006]一種HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng),包括客戶終端、中間層服務(wù)器和數(shù)據(jù)庫服務(wù)器,所述客戶終端與所述中間層服務(wù)器通信連接,所述中間層服務(wù)器連接所述數(shù)據(jù)庫服務(wù)器,
      [0007]所述客戶終端用于發(fā)送HTTP請求至所述中間層服務(wù)器,所述HTTP請求包括JSON格式的訪問數(shù)據(jù);
      [0008]所述中間層服務(wù)器用于根據(jù)所述訪問數(shù)據(jù)從所述數(shù)據(jù)庫服務(wù)器中獲取對應(yīng)的查詢結(jié)果,并將所述查詢結(jié)果轉(zhuǎn)換為JSON格式后發(fā)送至所述客戶終端。
      [0009]一種HTTP遠(yuǎn)程數(shù)據(jù)訪問方法,包括以下步驟:
      [0010]通過客戶終端發(fā)送HTTP請求至中間層服務(wù)器,所述HTTP請求包括JSON格式的訪問數(shù)據(jù);
      [0011]通過所述中間層服務(wù)器根據(jù)所述訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器中獲取對應(yīng)的查詢結(jié)果;
      [0012]通過所述中間層服務(wù)器將所述查詢結(jié)果轉(zhuǎn)換為JSON格式后發(fā)送至所述客戶終端。
      [0013]上述HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)和方法,通過客戶終端發(fā)送HTTP請求至中間層服務(wù)器,HTTP請求包括JSON格式的訪問數(shù)據(jù)。通過中間層服務(wù)器根據(jù)訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器中獲取對應(yīng)的查詢結(jié)果,并將查詢結(jié)果轉(zhuǎn)換為JSON格式后發(fā)送至客戶終端。以JSON為數(shù)據(jù)載體進(jìn)行遠(yuǎn)程訪問,可在不同平臺之間進(jìn)行數(shù)據(jù)交換,不但跨平臺性可以實(shí)施,而且傳輸過程中占用帶寬也相對較小。JSON文件格式?jīng)Q定了在傳送數(shù)據(jù)過程中可以輕松進(jìn)行解析,使得代碼變得簡潔且易于維護(hù),且避免了客戶端重復(fù)編寫相同功能的代碼。與傳統(tǒng)的HTTP遠(yuǎn)程數(shù)據(jù)訪問方法相比,提高了數(shù)據(jù)查詢效率。
      【附圖說明】
      [0014]圖1為一實(shí)施例中HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)的結(jié)構(gòu)圖;
      [0015]圖2為一實(shí)施例中HTTP遠(yuǎn)程數(shù)據(jù)訪問方法的流程圖;
      [0016]圖3為另一實(shí)施例中HTTP遠(yuǎn)程數(shù)據(jù)訪問方法的流程圖。
      【具體實(shí)施方式】
      [0017]一種HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng),如圖1所示,包括客戶終端110、中間層服務(wù)器120和數(shù)據(jù)庫服務(wù)器130,客戶終端110與中間層服務(wù)器120通信連接,中間層服務(wù)器120連接數(shù)據(jù)庫服務(wù)器130。
      [0018]客戶終端110用于發(fā)送HTTP請求至中間層服務(wù)器I 20,HTTP請求包括JSON(JavaScript Object Notat1n)格式的訪問數(shù)據(jù);中間層服務(wù)器120用于根據(jù)訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器130中獲取對應(yīng)的查詢結(jié)果,并將查詢結(jié)果轉(zhuǎn)換為JSON格式后發(fā)送至客戶終端 IlO0
      [0019]訪問數(shù)據(jù)具體可包括查詢數(shù)據(jù),用于對數(shù)據(jù)庫服務(wù)器130中的存儲數(shù)據(jù)進(jìn)行查詢。此外,訪問數(shù)據(jù)還可包括編輯數(shù)據(jù),用于對數(shù)據(jù)庫服務(wù)器130進(jìn)行數(shù)據(jù)編輯,如數(shù)據(jù)增加、刪除和修改等??蛻艚K端110具體可以是臺式電腦、筆記本電腦或觸屏手機(jī)等終端設(shè)備,用戶可通過客戶終端110的網(wǎng)頁輸入相關(guān)指令,客戶終端110根據(jù)接收的指令生成JSON格式訪問數(shù)據(jù),并以HTTP請求的形式發(fā)送至中間層服務(wù)器120以進(jìn)行數(shù)據(jù)查詢操作。
      [0020]鑒于JSON是輕量級的數(shù)據(jù)交換格式,用JSON為載體傳送數(shù)據(jù)使得數(shù)據(jù)較為精簡,可在不同平臺之間進(jìn)行數(shù)據(jù)交換,不但跨平臺性可以實(shí)施,而且傳輸過程中占用帶寬也相對較小。JSON的文件格式?jīng)Q定了在傳送數(shù)據(jù)過程中,無論是服務(wù)器端還是客戶端都可以輕松的解析它,從而使得服務(wù)器端和客戶端代碼變得簡潔且維護(hù);此外,由于客戶端不同瀏覽器之間解析JSON的方式一致,還可避免重復(fù)編寫相同功能的代碼。
      [0021]在其中一個(gè)實(shí)施例中,HTTP請求還包括數(shù)據(jù)簽名??蛻艚K端110在發(fā)送HTTP請求至中間層服務(wù)器120之前,還用于獲取HTTP請求方法、HTTP請求資源路徑及時(shí)間戳生成數(shù)據(jù)簽名,并根據(jù)數(shù)據(jù)簽名和JSON格式的訪問數(shù)據(jù)生成HTTP請求。時(shí)間戳即指客戶終端110發(fā)送HTTP請求的時(shí)間,具體可獲取HTTP請求方法、HTTP請求資源路徑及時(shí)間戳用自由算法生成數(shù)據(jù)簽名,并將數(shù)據(jù)簽名寫入HTTP請求頭,再結(jié)合預(yù)先生成的JSON格式的訪問數(shù)據(jù)生成HTTP請求。
      [0022]在其中一個(gè)實(shí)施例中,中間層服務(wù)器120根據(jù)訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器130中獲取對應(yīng)的查詢結(jié)果之前,還用于對HTTP請求進(jìn)行驗(yàn)證,判斷HTTP請求是否合法;若是,則根據(jù)訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器130中獲取對應(yīng)的查詢結(jié)果。
      [0023]判斷HTTP請求是否合法的標(biāo)準(zhǔn)并不唯一,可根據(jù)實(shí)際情況調(diào)整。本實(shí)施例中與HTTP請求包括數(shù)據(jù)簽名和訪問數(shù)據(jù)對應(yīng),中間層服務(wù)器120對HTTP請求進(jìn)行驗(yàn)證包括身份驗(yàn)證、有效性驗(yàn)證、安全鑒別驗(yàn)證和性能預(yù)測驗(yàn)證中的至少一種。身份驗(yàn)證即指驗(yàn)證HTTP請求的數(shù)字簽名進(jìn)行驗(yàn)證,具體可根據(jù)HTTP請求頭中的HTTP請求方法、HTTP請求資源路徑及時(shí)間戳用自由算法二次生成數(shù)據(jù)簽名,然后與接收的數(shù)據(jù)簽名進(jìn)行比對,如果相同說明請求合法,否則說明請求不合法。有效性驗(yàn)證具體指檢查HTTP請求是否重復(fù)以及是否超時(shí),為了防止業(yè)務(wù)層被惡意攻擊,本實(shí)施例中一個(gè)有效的HTTP請求只能訪問一次,且有效的HTTP請求有效期是10分鐘。具體可與存儲的已經(jīng)響應(yīng)過的HTTP請求進(jìn)行比對判斷是否請求過,以及將請求中的時(shí)間戳與當(dāng)前時(shí)間比對,判定是否在有效期。若是第一次請求且在有效期則是有效請求,否則為無效請求。安全鑒別驗(yàn)證即指檢測HTTP請求的操作權(quán)限,具體可預(yù)先設(shè)置各HTTP請求方法對應(yīng)的權(quán)限,若只有只讀權(quán)限,而HTTP請求包含對數(shù)據(jù)庫增加、刪除、修改的操作,則判定此HTTP請求不合法。性能預(yù)測驗(yàn)證即指判定HTTP請求的操作條數(shù)是否操作預(yù)設(shè)閾值,具體可根據(jù)攜帶的訪問數(shù)據(jù)判定HTTP請求是否含有大量的插入、修改及刪除操作,如果操作條數(shù)大于預(yù)設(shè)閾值,則判定HTTP請求不合法。此外,中間層服務(wù)器120還可用于存儲接收的HTTP請求,以便于進(jìn)行下一 HTTP請求的驗(yàn)證比對。
      [0024]本實(shí)施例中,中間層服務(wù)器120同時(shí)對HTTP請求進(jìn)行身份驗(yàn)證、有效性驗(yàn)證、安全鑒別驗(yàn)證和性能預(yù)測驗(yàn)證,通過對數(shù)據(jù)訪問進(jìn)行多重防護(hù),可以有效保障數(shù)據(jù)庫的安全性,也杜絕了對中間層服務(wù)器120的惡意攻擊。
      [0025]在其中一個(gè)實(shí)施例中,中間層服務(wù)器120包括業(yè)務(wù)層服務(wù)器和數(shù)據(jù)連接層服務(wù)器,業(yè)務(wù)層服務(wù)器連接客戶終端110和數(shù)據(jù)連接層服務(wù)器,數(shù)據(jù)連接層服務(wù)器連接數(shù)據(jù)庫服務(wù)器 130。
      [0026]業(yè)務(wù)層服務(wù)器根據(jù)訪問數(shù)據(jù)獲取對應(yīng)數(shù)據(jù)存放的分片ID,并根據(jù)訪問數(shù)據(jù)和分片ID生成實(shí)體參數(shù)發(fā)送至數(shù)據(jù)連接層服務(wù)器;及接收數(shù)據(jù)連接層服務(wù)器發(fā)送的查詢結(jié)果,并轉(zhuǎn)換為JSON格式后發(fā)送至客戶終端110。
      [0027]具體可將JSON格式的訪問數(shù)據(jù)轉(zhuǎn)換為實(shí)體對象,計(jì)算出HTTP請求的對應(yīng)數(shù)據(jù)存放的分片ID并設(shè)置到實(shí)體對象中,最后將實(shí)體對象作為實(shí)體參數(shù)傳遞給數(shù)據(jù)連接層服務(wù)器。本實(shí)施例中業(yè)務(wù)層服務(wù)器在根據(jù)訪問數(shù)據(jù)獲取對應(yīng)數(shù)據(jù)存放的分片ID之前,對HTTP請求進(jìn)行驗(yàn)證,具體如上文所述,在此不再贅述。
      [0028]數(shù)據(jù)連接層服務(wù)器用于將實(shí)體參數(shù)轉(zhuǎn)化為sql (Structured Query Language,結(jié)構(gòu)化查詢語言)語句,根據(jù)sql語句從數(shù)據(jù)庫服務(wù)器130關(guān)聯(lián)得到查詢結(jié)果并發(fā)送至業(yè)務(wù)層服務(wù)器。將實(shí)體參數(shù)轉(zhuǎn)化為sql語句進(jìn)行查詢操作,提高數(shù)據(jù)查詢便利性。對于涉及到多庫多表的復(fù)雜操作語句,可先將復(fù)雜的語句分解,每條語句均為針對對應(yīng)預(yù)設(shè)數(shù)據(jù)表的sql語句,進(jìn)而查詢數(shù)據(jù)庫。
      [0029]數(shù)據(jù)連接層服務(wù)器在數(shù)據(jù)庫服務(wù)器中關(guān)聯(lián)得到查詢結(jié)果后發(fā)送至業(yè)務(wù)層服務(wù)器,業(yè)務(wù)層服務(wù)器將查詢結(jié)果轉(zhuǎn)換為JSON格式后發(fā)送至客戶終端110。
      [0030]上述HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng),客戶終端110發(fā)送HTTP請求至中間層服務(wù)器120,HTTP請求包括JSON格式的訪問數(shù)據(jù)。中間層服務(wù)器120根據(jù)訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器130中獲取對應(yīng)的查詢結(jié)果,并將查詢結(jié)果轉(zhuǎn)換為JSON格式后發(fā)送至客戶終端110。以JSON為數(shù)據(jù)載體進(jìn)行遠(yuǎn)程訪問,可在不同平臺之間進(jìn)行數(shù)據(jù)交換,不但跨平臺性可以實(shí)施,而且傳輸過程中占用帶寬也相對較小。JSON文件格式?jīng)Q定了在傳送數(shù)據(jù)過程中可以輕松進(jìn)行解析,使得代碼變得簡潔且易于維護(hù),且避免了客戶端重復(fù)編寫相同功能的代碼。與傳統(tǒng)的HTTP遠(yuǎn)程數(shù)據(jù)訪問方法相比,提高了數(shù)據(jù)查詢效率。
      [0031]本發(fā)明還提供了一種HTTP遠(yuǎn)程數(shù)據(jù)訪問方法,基于上述HTTP遠(yuǎn)程數(shù)據(jù)訪問系統(tǒng)實(shí)現(xiàn),如圖2所示,包括以下步驟:
      [0032]步驟SI 20:通過客戶終端發(fā)送HTTP請求至中間層服務(wù)器。HTTP請求包括JSON格式的訪問數(shù)據(jù)。訪問數(shù)據(jù)具體可包括查詢數(shù)據(jù),用于對數(shù)據(jù)庫服務(wù)器中的存儲數(shù)據(jù)進(jìn)行查詢。此外,訪問數(shù)據(jù)還可包括編輯數(shù)據(jù),用于對數(shù)據(jù)庫服務(wù)器進(jìn)行數(shù)據(jù)編輯,如數(shù)據(jù)增加、刪除和修改等。
      [0033]客戶終端具體可以是臺式電腦、筆記本電腦或觸屏手機(jī)等終端設(shè)備,用戶可通過客戶終端的網(wǎng)頁輸入相關(guān)指令,客戶終端根據(jù)接收的指令生成JSON格式訪問數(shù)據(jù),并以HTTP請求的形式發(fā)送至中間層服務(wù)器以進(jìn)行數(shù)據(jù)查詢操作。
      [0034]步驟S140:通過中間層服務(wù)器根據(jù)訪問數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器中獲取對應(yīng)的查詢結(jié)果。在其中一個(gè)實(shí)施例中,中間層服務(wù)器包括業(yè)務(wù)層服務(wù)器和數(shù)據(jù)連接層服務(wù)器。步驟S140具體可包括步驟142和
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1