李琦琳 張志明 孫威
摘要:隨著信息化進程的不斷推進,各生產(chǎn)單位在信息建設上需要訪問專業(yè)數(shù)據(jù)庫獲取數(shù)據(jù)用于生產(chǎn)分析應用,本文旨在研究數(shù)據(jù)庫接口技術,能夠對接多個數(shù)據(jù)庫,返回相應的數(shù)據(jù)信息,在不同區(qū)域、不同級別的授權用戶可以獲得對應數(shù)據(jù)。
關鍵詞:數(shù)據(jù)庫接口;接口規(guī)范;信息源
1 數(shù)據(jù)庫接口方式
數(shù)據(jù)庫接口的主要功能是實現(xiàn)數(shù)據(jù)庫與外界的數(shù)據(jù)交互,任何一種技術實現(xiàn)都可稱為數(shù)據(jù)庫接口。常見的數(shù)據(jù)庫接口方式有一下幾種:數(shù)據(jù)庫訪問授權、ETL工具獲取、中間服務中轉、程序接口實現(xiàn)。根據(jù)實際需求,從授權可控、用戶可控、訪問可控、擴展可控等四個方面進行對比分析,程序接口實現(xiàn)方式為一個接口對應一個查詢涉及數(shù)據(jù)范圍小可控性高,并將數(shù)據(jù)庫保護在接口服務器之后,可最大限度保護數(shù)據(jù)安全并且程序開發(fā)自由靈活性較高,可以根據(jù)各種實際需求進行定制開發(fā),后期擴展性較高。
2 技術經(jīng)濟考核指標
在確定以程序接口實現(xiàn)為主要研究內(nèi)容后,從接口使用的安全性、擴展性、穩(wěn)定性、準確性等四個方向制定了技術經(jīng)濟考核指標,并展開深入研究。
(1)接口使用的安全性,在實現(xiàn)接口的快速開發(fā)的同時保證接口安全性。
接口使用的安全性主要分為響應安全和調用安全。
響應安全主要是避免SQL注入風險。SQL注入攻擊指的是通過構建特殊的輸入作為參數(shù)傳入Web應用程序,而這些輸入大都是SQL語法里的一些組合,通過執(zhí)行SQL語句進而執(zhí)行攻擊者所要的操作,其主要原因是沒有細致地過濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。在程序接口參數(shù)的響應層和執(zhí)行層進行雙重過濾,避免SQL注入風險。
調用安全主要研究接口調用者身份的驗證。訪問令牌鑒權機制,使用者在對接口的每次調用時,推送必要的請求參數(shù)的同時要附帶自己身份令牌。這就意味著在設計接口時,有一個接口是首先要調用的,讓接口服務器生成唯一的身份令牌,身份令牌具備時效性,在獲取后的一段時內(nèi)容有效。在時效期內(nèi)如果沒有接口調用動作,則令牌時效,令牌時效后需重新獲取。
(2)接口使用的擴展性,滿足日常的數(shù)據(jù)庫操作需求。
微服務架構是近幾年提出的一種程序開發(fā)理念,微服務架構中的模塊之間的數(shù)據(jù)交互就是采用程序接口這一技術來實現(xiàn)的。微服務對接口有著強大管理能力和靈活的管控性,如:接口服務的注冊與發(fā)現(xiàn),接口調用的路由與熔斷。這些機制有效的保證了接口調用過程中的便捷性和可靠性。目前,我們將微服務體系中底層數(shù)據(jù)查詢和服務層進行單獨拆分,用來完成程序接口開發(fā)工作,同時按照微服務的理念進行技術開發(fā)保證以后向微服務的可移植。程序接口開發(fā)采用JAVA語言實現(xiàn),基于Java語言的微服務實現(xiàn)技術為Spring Boot和Spring cloud。通過采用Spring Boot開發(fā)即可以實現(xiàn)接口程序快速開發(fā),滿足擴展需求,又能與Spring cloud緊密結合。Spring cloud是一個基于Spring Boot實現(xiàn)的云應用開發(fā)工具是全局的服務治理框架,開發(fā)中快速配置腳手架,可以基于Spring Boot快速開發(fā)單個微服務也就是接口程序。
(3)接口使用的穩(wěn)定性,在接口大量調用時保證接口響應及時。
當單一接口服務器在大量請求時會產(chǎn)生信息阻塞,為解決這一問題最簡單的方式就是增加服務器數(shù)量,但這樣會導致服務接口對外訪問不唯一的缺點,給管理上帶來問題。我們在多個接口服務前架設負載均衡來解決訪問不唯一的問題。負載均衡意思就是將統(tǒng)一來源的訪問分攤到多個響應服務器上進行執(zhí)行,從而共同完成工作任務。它的應用范圍很廣如Web服務器、FTP服務器、企業(yè)內(nèi)關鍵應用服務器等。實現(xiàn)技術也較多,本課題選擇Nginx作為負載均衡實現(xiàn)技術。
(4)接口使用的準確性,了解各個業(yè)務系統(tǒng)數(shù)據(jù)模型,保證接口提供的數(shù)據(jù)準確無誤。組織A1,A2,A5專業(yè)系統(tǒng)運維人員一同研究數(shù)據(jù)字典定位數(shù)據(jù)源,并進行錄入源跟蹤監(jiān)測保證數(shù)據(jù)的準確性;對于乙方開發(fā)公司,提供查詢服務器,數(shù)據(jù)字典說明,并開發(fā)測試接口供查詢測試使用,來保證數(shù)據(jù)接口的準確性。
3 接口規(guī)范制定
接口又被稱為Webservice,常見的形式為Url地址,普通瀏覽器即可完成調用操作。主要的接口標準有兩種Wsdl、Resful,本文對這兩種接口都進行了技術研究,并制定接口調用規(guī)范。接口規(guī)范包含:接口名稱、接口實現(xiàn)功能介紹、接口地址、調用參數(shù)說明、返回信息格式說明。
4 多種信息源采集入庫
數(shù)據(jù)接口程序是實現(xiàn)數(shù)據(jù)的交互,為建設單位提供接口多為數(shù)據(jù)讀服務,而部門內(nèi)日常工作中經(jīng)常涉及數(shù)據(jù)寫入操作,針對這種情況對接口進行了功能豐富。為解決日常辦公中生產(chǎn)資料提取問題,設計開發(fā)截屏軟件,該軟件具備圖像識別功能,并與數(shù)據(jù)接口對接,這樣就能實現(xiàn)截取圖片中的文字并識別入庫功能。針對本地庫識別率不高的問題,追加開發(fā)了百度圖文API調用功能,可以將圖片進行百度API識別。為解決Excel文檔批量提取問題,設計開發(fā)文檔識別功能完成Excel文檔自動提取工作。該功能包含搜索制定目錄下所有Excel文檔,并針對版本類型分類,根據(jù)文檔所在路徑,文檔名稱,文檔內(nèi)Shell名稱進行多級內(nèi)容細分,將提取結果與數(shù)據(jù)接口對接實現(xiàn)入庫。
5 創(chuàng)新點
研究實現(xiàn)了接口數(shù)據(jù)圖形化展示,數(shù)據(jù)接口在獲得請求后返回的信息為Jason格式,網(wǎng)頁利用JavaScript技術可以實現(xiàn)對這些信息接解析,并能生成圖表等展示樣式。如果想要更好的為用戶服務就必須盡可能的了解用戶的需求數(shù)據(jù),圖表的展現(xiàn)形式就最好的了解方式。通過將接口程序與Tableau軟件進行結合,實現(xiàn)了接口數(shù)據(jù)圖形化的展示。
與Tableau軟件交互可以看出鉆頭進尺接口所返回數(shù)據(jù)的圖形化展示,可分為三部分:鉆進深度的變化,鉆井頭每天的位移變化,鉆井的每天進尺量。通過圖形的顯示使數(shù)據(jù)的管理者更加深入的了解了數(shù)據(jù)應用情景。
6 結束語
本文對生產(chǎn)單位接口技術的研究,最終可以同時對接多個數(shù)據(jù)庫,在邏輯層形成綜合的虛擬數(shù)據(jù)池,這樣一個訪問請求就可以返回多個數(shù)據(jù)源的數(shù)據(jù)信息,有效的減少了數(shù)據(jù)收集環(huán)節(jié)的勞動強度。同一接口可以根據(jù)不同的請求返回不同的數(shù)據(jù)信息,在模型推廣應用階段有效避免數(shù)據(jù)二次收集的工作,降低用戶應用難度,實現(xiàn)快速推廣。
參考文獻
[1]李瑞,計算機軟件數(shù)據(jù)接口的應用分析研究[J].自動化與儀器儀表,2017,6:201-203.
[2]李萍,基于Web Service的數(shù)據(jù)共享交換平臺的設計與實現(xiàn)[J].計算機時代,2016,7:34-41.