本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù),尤其涉及一種通過可視化配置實(shí)現(xiàn)跨數(shù)據(jù)源的數(shù)據(jù)讀取方法。
背景技術(shù):
近幾十年來,科學(xué)技術(shù)的迅猛發(fā)展和信息化的推進(jìn),使得人類社會所積累的數(shù)據(jù)量已經(jīng)超過了過去5000年的總和,數(shù)據(jù)的采集、存儲、處理和傳播的數(shù)量也與日俱增。企業(yè)實(shí)現(xiàn)數(shù)據(jù)共享,可以使更多的人更充分地使用已有數(shù)據(jù)資源,減少資料收集、數(shù)據(jù)采集等重復(fù)勞動和相應(yīng)費(fèi)用。但是,在實(shí)施數(shù)據(jù)共享的過程當(dāng)中,由于不同用戶提供的數(shù)據(jù)可能來自不同的途徑,想要整合這些內(nèi)容需要編寫不同的采集代碼獲取各種途徑的數(shù)據(jù),這要求開發(fā)人員要去學(xué)習(xí)與各種系統(tǒng)的通訊機(jī)制,并編寫相應(yīng)的采集器代碼,這無疑帶來了巨大的工作量。
技術(shù)實(shí)現(xiàn)要素:
為了解決以上技術(shù)問題,本發(fā)明提出了一種通過可視化配置實(shí)現(xiàn)跨數(shù)據(jù)源的數(shù)據(jù)讀取方法。使用可視化配置實(shí)現(xiàn)跨數(shù)據(jù)源的數(shù)據(jù)讀取引擎,通過可視化配置以及內(nèi)置多種常用數(shù)據(jù)源的支持,使得大多數(shù)途徑的數(shù)據(jù)集成變得非常簡單,開發(fā)人員使用起來更加有效和靈活,更有效的降低軟件公司的開發(fā)成本。
本發(fā)明的技術(shù)方案是:
一種通過可視化配置實(shí)現(xiàn)跨數(shù)據(jù)源的數(shù)據(jù)讀取方法
通過數(shù)據(jù)源連接配置、數(shù)據(jù)源配置、數(shù)據(jù)獲取三個(gè)部分實(shí)現(xiàn)跨數(shù)據(jù)源的數(shù)據(jù)讀取。通過可視化配置的方式,即可實(shí)現(xiàn)高效的跨數(shù)據(jù)源的數(shù)據(jù)讀??;通過數(shù)據(jù)源類型動態(tài)生成不同數(shù)據(jù)源的配置信息頁面,根據(jù)配置信息即可與各種數(shù)據(jù)源建立連接進(jìn)行數(shù)據(jù)讀取。具體步驟如下:
1)數(shù)據(jù)源連接配置
引擎根據(jù)數(shù)據(jù)源類型動態(tài)生成數(shù)據(jù)源連接的可視化配置頁面,此頁面包括與目標(biāo)數(shù)據(jù)源建立連接所需的必要參數(shù)。
配置參數(shù)最終以Json字符串的形式持久化。
配置完成,可以測試連接能否連接成功,以驗(yàn)證配置參數(shù)正確性。
2)數(shù)據(jù)源配置
根據(jù)1)中連接配置信息創(chuàng)建連接,獲取數(shù)據(jù)源接口信息,動態(tài)生成的數(shù)據(jù)源配置頁面。
數(shù)據(jù)源配置頁面包含要調(diào)用數(shù)據(jù)源的方法,配置調(diào)用方法傳入的參數(shù)。
選擇方法后,參數(shù)列表根據(jù)接口協(xié)議,自動生成相應(yīng)的傳入?yún)?shù)列表,包括參數(shù)序號、名稱、類型、模式、參數(shù)取值、參數(shù)描述。
參數(shù)取值需要通過幫助配置,以{SYS~動態(tài)參數(shù)名}的方式標(biāo)識運(yùn)行時(shí)參數(shù),運(yùn)行時(shí)參數(shù)在運(yùn)行時(shí)才能動態(tài)獲取到值并傳入。
3)數(shù)據(jù)獲取
數(shù)據(jù)獲取為用戶調(diào)用DataEngine.GetData(datasourceCode)的時(shí)候觸發(fā),其中datasourceCode為配置的數(shù)據(jù)源編號。引擎根據(jù)數(shù)據(jù)源編號找出持久化的連接配置與數(shù)據(jù)源配置,
構(gòu)造數(shù)據(jù)驅(qū)動器上下文,找出要使用的數(shù)據(jù)驅(qū)動器。
根據(jù)參數(shù)配置信息,解析參數(shù)表達(dá)式,獲取運(yùn)行時(shí)參數(shù)值,填充到數(shù)據(jù)驅(qū)動器上下文中。
使用數(shù)據(jù)驅(qū)動器與數(shù)據(jù)源進(jìn)行通訊獲取數(shù)據(jù)。
數(shù)據(jù)驅(qū)動是與數(shù)據(jù)源通訊的裝置。引擎預(yù)置了6個(gè)數(shù)據(jù)驅(qū)動,包括數(shù)據(jù)庫驅(qū)動、webservice驅(qū)動、Rss驅(qū)動、Restful驅(qū)動、exchange驅(qū)動、ftp驅(qū)動。數(shù)據(jù)驅(qū)動支持?jǐn)U展。
本發(fā)明與現(xiàn)有技術(shù)相比有以下優(yōu)點(diǎn):
提供了可視化的配置頁面,所見及所得,簡化復(fù)雜性,便于使用者理解使用。
內(nèi)置多種數(shù)據(jù)驅(qū)動裝置,基本上覆蓋了目前用到的所有數(shù)據(jù)源形式,開發(fā)人員無需再去學(xué)習(xí)理解這些數(shù)據(jù)源的通訊協(xié)議,通過配置頁面配置,直接就可以使用來獲取數(shù)據(jù),大大減少了軟件開發(fā)時(shí)間,降低公司開發(fā)成本。
對于內(nèi)置數(shù)據(jù)驅(qū)動未覆蓋的數(shù)據(jù)源,開發(fā)人員可以開發(fā)自己的數(shù)據(jù)驅(qū)動裝置,擴(kuò)展性強(qiáng)。
具體實(shí)施方式
下面通過實(shí)施例對本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述:
場景:門戶頁面上需要放置一個(gè)天氣預(yù)報(bào)控件,控件需要調(diào)用天氣網(wǎng)的Webservice接口獲取本地天氣數(shù)據(jù)。
新建數(shù)據(jù)源連接,填寫連接編號“001”、連接名稱“天氣預(yù)報(bào)服務(wù)”,選擇連接類型為Webservice,連接下方的連接配置區(qū)域變?yōu)閃ebservice的連接配置信息。此處wsdl類型選擇“鏈接地址”,下方會彈出輸入框要求輸入wsdl鏈接地址,此處輸入中國天氣網(wǎng)的webservice服務(wù)地址,點(diǎn)擊保存即完成數(shù)據(jù)源鏈接配置。
從數(shù)據(jù)源配置界面選擇新建數(shù)據(jù)源,會彈出數(shù)據(jù)連接選擇框,此處選擇新建的編號為“001”的數(shù)據(jù)源連接,點(diǎn)擊確定。
系統(tǒng)會自動進(jìn)入數(shù)據(jù)源配置詳情頁,填寫數(shù)據(jù)源編號“ds001”,數(shù)據(jù)源名稱“獲取城市天氣”。
方法選擇框會根據(jù)數(shù)據(jù)源連接配置信息,自動請求webservice的wsdl描述文件并分析描述文件,得到次webservice接口包含的接口方法,此處選擇getWeatherbyCityName,下方的參數(shù)列表中會自動添加一個(gè)參數(shù)“theCityName”,類型為“string”,模式為傳入,參數(shù)取值框中填寫“濟(jì)南”點(diǎn)擊保存。
從數(shù)據(jù)源配置列表頁面,找到新建的為“獲取城市天氣”數(shù)據(jù)源,點(diǎn)擊右側(cè)的測試按鈕即可發(fā)現(xiàn)已經(jīng)成功獲取到濟(jì)南當(dāng)天的天氣情況。
程序中使用的話,可以通過DataEngine.GetData(“ds001”),獲取到濟(jì)南當(dāng)天的提起情況字符串。