国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于《全國(guó)報(bào)刊索引》平臺(tái)的異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換工具

2018-07-24 10:44王靜
科技資訊 2018年5期

王靜

摘 要:針對(duì)目前《全國(guó)報(bào)刊索引》底層異構(gòu)數(shù)據(jù)庫(kù)之間數(shù)據(jù)交換存在的問(wèn)題,提出了異構(gòu)數(shù)據(jù)庫(kù)SQLServer到Oracle之間數(shù)據(jù)交換的設(shè)計(jì)模型,并基于設(shè)計(jì)模型開(kāi)發(fā)實(shí)現(xiàn)了這兩個(gè)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)轉(zhuǎn)換工具,設(shè)計(jì)了Groovy動(dòng)態(tài)語(yǔ)言腳本引擎,支持?jǐn)?shù)據(jù)遷移轉(zhuǎn)換和數(shù)據(jù)合并轉(zhuǎn)換;建立了版本控制模式,便于描述數(shù)據(jù)交換的狀態(tài)和管理數(shù)據(jù)的安全。該工具滿(mǎn)足了《全國(guó)報(bào)刊索引》平臺(tái)數(shù)據(jù)的日益增長(zhǎng)的數(shù)據(jù)交換需求。

關(guān)鍵詞:異構(gòu)數(shù)據(jù)庫(kù) 數(shù)據(jù)轉(zhuǎn)換工具 動(dòng)態(tài)語(yǔ)言腳本引擎

中圖分類(lèi)號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2018)02(b)-0014-03

《全國(guó)報(bào)刊索引》數(shù)據(jù)庫(kù)始建于1993年,涵蓋了多種類(lèi)型的報(bào)紙期刊數(shù)據(jù)庫(kù)產(chǎn)品。如晚清全文數(shù)據(jù)庫(kù)、民國(guó)時(shí)期期刊全文數(shù)據(jù)庫(kù)、各類(lèi)報(bào)紙數(shù)據(jù)庫(kù)、現(xiàn)刊索引數(shù)據(jù)庫(kù)和專(zhuān)題數(shù)據(jù)庫(kù)等?!度珖?guó)報(bào)刊索引》收錄的數(shù)據(jù)最早可回溯至1833年,至今已累計(jì)收錄報(bào)刊20000余種、文獻(xiàn)3000多萬(wàn)篇,年更新數(shù)據(jù)量超過(guò)350萬(wàn)條。

從最早的光盤(pán)版到現(xiàn)今的SQL Server、Access、Oracle等多種的數(shù)據(jù)庫(kù)管理系統(tǒng)被應(yīng)用。這些數(shù)據(jù)庫(kù)管理系統(tǒng)相互之間存在許多物理和邏輯上的差異,盡管其本身都具有數(shù)據(jù)導(dǎo)入和導(dǎo)出功能,但這些功能還不能夠滿(mǎn)足平臺(tái)日益增長(zhǎng)的數(shù)據(jù)交換需求。為了滿(mǎn)足期刊全文檢索上線(xiàn)的需求,提升檢索速度和效率,數(shù)據(jù)庫(kù)管理系統(tǒng)從SQL Server升級(jí)到Oracle。SQL Server到Oracle數(shù)據(jù)轉(zhuǎn)換,不是簡(jiǎn)單字段對(duì)應(yīng)的遷移轉(zhuǎn)換,需要進(jìn)行字段計(jì)算、內(nèi)容合并、日期處理、簡(jiǎn)繁轉(zhuǎn)換等多種轉(zhuǎn)換,這就需要設(shè)計(jì)專(zhuān)門(mén)的工具來(lái)進(jìn)行復(fù)雜的數(shù)據(jù)轉(zhuǎn)換。

1 數(shù)據(jù)轉(zhuǎn)換設(shè)計(jì)

根據(jù)異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換工具的設(shè)計(jì)總體目標(biāo),將該工具分為如下的幾個(gè)部分:數(shù)據(jù)讀取、轉(zhuǎn)換規(guī)則、數(shù)據(jù)寫(xiě)入、操作界面、版本管理。

數(shù)據(jù)讀取負(fù)責(zé)分析源數(shù)據(jù)庫(kù)中鏈接信息,源數(shù)據(jù)表Excel的數(shù)據(jù)框架結(jié)構(gòu)和數(shù)據(jù)的讀取。

(1)轉(zhuǎn)換規(guī)則控制源數(shù)據(jù)和目的數(shù)據(jù)之間的轉(zhuǎn)換,根據(jù)制定的轉(zhuǎn)換規(guī)則得出需要某些源數(shù)據(jù)字段進(jìn)行日期、簡(jiǎn)繁或格式的轉(zhuǎn)換。

(2)數(shù)據(jù)寫(xiě)入負(fù)責(zé)將進(jìn)行轉(zhuǎn)換后的源數(shù)據(jù)寫(xiě)入目的數(shù)據(jù)庫(kù)。

(3)操作界面為用戶(hù)提供一個(gè)可交互的界面進(jìn)行操作。

(4)版本管理負(fù)責(zé)對(duì)任務(wù)版本進(jìn)行管理。

工具的總體流程圖如圖1所示。

1.1 數(shù)據(jù)讀取

數(shù)據(jù)讀取,先讀取源數(shù)據(jù)庫(kù)的信息:源數(shù)據(jù)庫(kù)的類(lèi)型、數(shù)據(jù)庫(kù)連接的方式、連接的配置、源數(shù)據(jù)庫(kù)地址、源數(shù)據(jù)庫(kù)用戶(hù)名及源數(shù)據(jù)庫(kù)密碼。

通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)讀取數(shù)據(jù)到內(nèi)存中,與源數(shù)據(jù)庫(kù)取得連接。

1.2 轉(zhuǎn)換規(guī)則

轉(zhuǎn)換規(guī)則,轉(zhuǎn)換規(guī)則保存在Excel數(shù)據(jù)框架中。將源SQL SERVER數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)換成符合要求及目的ORACLE數(shù)據(jù)庫(kù)要求的數(shù)據(jù)格式,有以下的幾種轉(zhuǎn)換。

1.2.1 數(shù)據(jù)類(lèi)型的轉(zhuǎn)換

在不同的數(shù)據(jù)庫(kù)中由于數(shù)據(jù)類(lèi)型的不一樣,需要進(jìn)行轉(zhuǎn)換,如SQL SERVER數(shù)據(jù)庫(kù)中有布爾類(lèi)型,而ORACLE數(shù)據(jù)庫(kù)中沒(méi)有布爾類(lèi)型,這就需要在設(shè)置的時(shí)候進(jìn)行定義,在轉(zhuǎn)換的時(shí)候按定義進(jìn)行轉(zhuǎn)換。

1.2.2 日期格式轉(zhuǎn)換

由于兩個(gè)數(shù)據(jù)庫(kù)的日期定義格式不同,在一個(gè)數(shù)據(jù)庫(kù)中定義的日期數(shù)據(jù)格式在另一個(gè)數(shù)據(jù)庫(kù)中需要重新定義。所以,在轉(zhuǎn)換過(guò)程中對(duì)日期字段需要進(jìn)行特殊轉(zhuǎn)換處理。

1.2.3 簡(jiǎn)繁轉(zhuǎn)換

由于《全國(guó)報(bào)刊索引》平臺(tái)包含大量的民國(guó)期刊和報(bào)紙數(shù)據(jù),這些數(shù)據(jù)有一定的特殊性:題名、作者、出版地等字段檢索既需要提供簡(jiǎn)體檢索又需要提供繁體檢索。需對(duì)字段進(jìn)行簡(jiǎn)繁轉(zhuǎn)換處理。

1.3 數(shù)據(jù)寫(xiě)入

數(shù)據(jù)寫(xiě)入是將轉(zhuǎn)換過(guò)的數(shù)據(jù)寫(xiě)入目的數(shù)據(jù)庫(kù),首先讀取目的數(shù)據(jù)庫(kù)的信息,如目的數(shù)據(jù)的類(lèi)型、數(shù)據(jù)連接的方式、數(shù)據(jù)庫(kù)連接的配置、目的數(shù)據(jù)庫(kù)地址、目的數(shù)據(jù)庫(kù)用戶(hù)名及目的數(shù)據(jù)庫(kù)密碼、數(shù)據(jù)來(lái)源類(lèi)型、數(shù)據(jù)字段信息。

根據(jù)數(shù)據(jù)庫(kù)的連接信息連接目的數(shù)據(jù)庫(kù),通過(guò)數(shù)據(jù)庫(kù)驅(qū)動(dòng)寫(xiě)入數(shù)據(jù)到目的數(shù)據(jù)庫(kù)中。寫(xiě)入方式設(shè)計(jì)為兩種選擇:一種是只插入數(shù)據(jù);另一種是跳過(guò)錯(cuò)誤,最終呈現(xiàn)錯(cuò)誤清單。

1.4 操作界面

操作界面為用戶(hù)提供一個(gè)可交互的界面來(lái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換的操作。

1.4.1 源數(shù)據(jù)庫(kù)信息主要是記錄源數(shù)據(jù)庫(kù)的一些配置參數(shù)及數(shù)據(jù)來(lái)源

源數(shù)據(jù)的類(lèi)型、數(shù)據(jù)連接的方式、數(shù)據(jù)庫(kù)連接的配置、源數(shù)據(jù)庫(kù)地址、源數(shù)據(jù)庫(kù)用戶(hù)名及密碼和源數(shù)據(jù)字段信息。

1.4.2 目的數(shù)據(jù)庫(kù)信息主要是記錄目的數(shù)據(jù)庫(kù)的配置參數(shù)

目的數(shù)據(jù)的類(lèi)型、數(shù)據(jù)連接的方式、數(shù)據(jù)庫(kù)連接的配置、目的數(shù)據(jù)庫(kù)地址、目的數(shù)據(jù)庫(kù)用戶(hù)名及密碼、目的數(shù)據(jù)字段信息和寫(xiě)入方式。

1.4.3 數(shù)據(jù)規(guī)則

數(shù)據(jù)規(guī)則是源數(shù)據(jù)和目的數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系和轉(zhuǎn)換規(guī)則。轉(zhuǎn)換設(shè)計(jì)任務(wù)在提取的基礎(chǔ)上讀取Excel數(shù)據(jù)框架,即源數(shù)據(jù)庫(kù)和目的數(shù)據(jù)庫(kù)建立的映射表得到源數(shù)據(jù)字段和目的數(shù)據(jù)字段的轉(zhuǎn)換對(duì)應(yīng)類(lèi)型。

1.5 轉(zhuǎn)換任務(wù)管理

版本管理負(fù)責(zé)轉(zhuǎn)換任務(wù)的管理和保存,轉(zhuǎn)換任務(wù)時(shí),建立版本控制機(jī)制,版本控制機(jī)制包含版本類(lèi)型、版本號(hào)、描述、啟用狀態(tài)、創(chuàng)建時(shí)間、創(chuàng)建人、修改時(shí)間和修改人。兩種版本類(lèi)型,即新版本和修改版本。新版本建立時(shí)要新創(chuàng)建一個(gè)版本號(hào),命名,描述數(shù)據(jù)處理的任務(wù)。修改版本建立時(shí)要選擇你要修改的版本號(hào),在原有命名的基礎(chǔ)上,附加命名,描述數(shù)據(jù)修改的任務(wù)。

2 轉(zhuǎn)換工具的實(shí)現(xiàn)

2.1 數(shù)據(jù)讀取實(shí)現(xiàn)

源數(shù)據(jù)庫(kù)的類(lèi)型是SQL SERVER數(shù)據(jù)庫(kù)。通過(guò)JDBC鏈接SQL SERVER和ORACLE。JDBC數(shù)據(jù)庫(kù)連接參數(shù)使用字符串的形式,其中包含著數(shù)據(jù)庫(kù)地址、用戶(hù)名、密碼、源數(shù)據(jù)的表名等需要的信息,數(shù)據(jù)框架中的SQL查詢(xún)語(yǔ)句。

2.2 轉(zhuǎn)換規(guī)則實(shí)現(xiàn)

源數(shù)據(jù)和目的數(shù)據(jù)的轉(zhuǎn)換對(duì)應(yīng)關(guān)系保存在Excel數(shù)據(jù)框架中,分別是元數(shù)據(jù)表和規(guī)則表Rule。

(1)元數(shù)據(jù)表中記錄源數(shù)據(jù)的字段信息主要有表名、字段名、簡(jiǎn)繁中文名稱(chēng)、字段分類(lèi)、數(shù)據(jù)類(lèi)型和數(shù)據(jù)長(zhǎng)度。

(2)規(guī)則表中記錄源數(shù)據(jù)和目的數(shù)據(jù)的字段對(duì)應(yīng)關(guān)系及表達(dá)式。

2.3 數(shù)據(jù)寫(xiě)入實(shí)現(xiàn)

轉(zhuǎn)換任務(wù)中的源數(shù)據(jù)信息相關(guān)字段定義如下:數(shù)據(jù)庫(kù)的連接類(lèi)型,JDBC連接支持SQL Server和Oracle數(shù)據(jù)庫(kù)之間的連接。目的數(shù)據(jù)庫(kù)的連接字符串,JDBC的數(shù)據(jù)庫(kù)連接參數(shù)使用字符串的形式,其中包含著數(shù)據(jù)庫(kù)地址、用戶(hù)名、密碼、目的數(shù)據(jù)庫(kù)表名等需要的信息。

2.4 操作界面

數(shù)據(jù)操作界面,提供一個(gè)可交互的界面方便用戶(hù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換處理。

(1)填寫(xiě)平臺(tái)URL路徑。

(2)填寫(xiě)用戶(hù)名和密碼。

(3)填寫(xiě)版本說(shuō)明,新版本或者版本修訂。新導(dǎo)入數(shù)據(jù)選擇“新版本”,修改數(shù)據(jù)選擇“版本修訂”。

(4)選取數(shù)據(jù)規(guī)則和建立數(shù)據(jù)任務(wù)。

選擇數(shù)據(jù)源的JDBC鏈接,填寫(xiě)用戶(hù)名和密碼,選擇“連通測(cè)試”。若JDBC鏈接測(cè)試通過(guò),則選取數(shù)據(jù)規(guī)則和轉(zhuǎn)換任務(wù),進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

3 結(jié)語(yǔ)

本研究針對(duì)《全國(guó)報(bào)刊索引》平臺(tái)底層的SQL Server數(shù)據(jù)庫(kù)和Oracle數(shù)據(jù)庫(kù)之間的數(shù)據(jù)轉(zhuǎn)換進(jìn)行探討,設(shè)計(jì)了數(shù)據(jù)轉(zhuǎn)換工具,按照數(shù)據(jù)轉(zhuǎn)換的需求制定了數(shù)據(jù)規(guī)則,數(shù)據(jù)處理人員只需根據(jù)每次要處理數(shù)據(jù)集不同來(lái)設(shè)計(jì)數(shù)據(jù)任務(wù),通過(guò)工具實(shí)現(xiàn)了數(shù)據(jù)導(dǎo)入和轉(zhuǎn)換功能,解決異構(gòu)數(shù)據(jù)庫(kù)間數(shù)據(jù)交換問(wèn)題。

該工具已投入《全國(guó)報(bào)刊索引》平臺(tái)的底層異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)處理中使用,運(yùn)行情況良好,達(dá)到了預(yù)期的效果。運(yùn)行結(jié)果表明,該工具能實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換功能,界面友好,數(shù)據(jù)轉(zhuǎn)換準(zhǔn)確高效。

參考文獻(xiàn)

[1] 王曉雯,孫承愛(ài),周春露.基于元數(shù)據(jù)映射機(jī)制的異構(gòu)數(shù)據(jù)操作[J].軟件導(dǎo)刊,2015(1):146-148.

[2] 余偉,李石君.Web大數(shù)據(jù)環(huán)境下的不一致跨源數(shù)據(jù)發(fā)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2015,52(2):295-308.

[3] 王洪榮,吳寶國(guó).異構(gòu)數(shù)據(jù)庫(kù)中數(shù)據(jù)交換工具的設(shè)計(jì)與實(shí)現(xiàn)[J].北京林業(yè)大學(xué)學(xué)報(bào),2009(11):102-104.

无为县| 海口市| 玛多县| 辽阳市| 涿鹿县| 香格里拉县| 涞源县| 通渭县| 溧阳市| 田阳县| 吕梁市| 眉山市| 左贡县| 南皮县| 攀枝花市| 调兵山市| 福鼎市| 遂平县| 钦州市| 广水市| 陆丰市| 崇义县| 临朐县| 宁德市| 永登县| 武平县| 井陉县| 丹棱县| 临安市| 化隆| 江陵县| 行唐县| 沾化县| 环江| 华安县| 错那县| 石楼县| 宝清县| 临海市| 溧阳市| 潞城市|