摘要:關(guān)鍵技術(shù)自主和可控是近年來中國信息化建設(shè)和發(fā)展的大趨勢,國產(chǎn)化是保障國家信息安全的有效措施,同時也能刺激中國本土信息技術(shù)產(chǎn)業(yè)的快速發(fā)展。本文介紹了在開發(fā)環(huán)境下筆者將自主開發(fā)的合同管理系統(tǒng)數(shù)據(jù)庫成功遷移到巨杉數(shù)據(jù)庫中的過程及相關(guān)經(jīng)驗(yàn),此次遷移不僅驗(yàn)證了國產(chǎn)數(shù)據(jù)庫的有效性,同時也為類似需求的部門提供了一定的借鑒。
關(guān)鍵詞:數(shù)據(jù)庫;國產(chǎn)化;政務(wù)信息化;應(yīng)用系統(tǒng)
1、應(yīng)用背景
隨著國際形式的日益復(fù)雜以及中西對抗的進(jìn)一步加劇,歐美對中國的高科技封鎖越發(fā)嚴(yán)重,中國對信息技術(shù)自主安全可控的需求十分強(qiáng)烈。2021 年 3 月,國家發(fā)布的《中華人民共和國國民經(jīng)濟(jì)和社會發(fā)展第十四個五年規(guī)劃和2035年遠(yuǎn)景目標(biāo)綱要》中要求把科技自立自強(qiáng)作為國家發(fā)展的戰(zhàn)略支撐。自主可控已經(jīng)成為金融領(lǐng)域最重要、最緊迫的推進(jìn)戰(zhàn)略。人民銀行、銀保監(jiān)會等主管部門密集出臺文件,指導(dǎo)金融行業(yè)核心領(lǐng)域自主可控技術(shù)應(yīng)用。近年來,銀行業(yè)也開始嘗試引入國產(chǎn)分布式數(shù)據(jù)庫技術(shù)替代國外數(shù)據(jù)庫。然而,出于對穩(wěn)定性的高度謹(jǐn)慎,國產(chǎn)分布式數(shù)據(jù)庫還是多被應(yīng)用在互聯(lián)網(wǎng)核心以及相關(guān)外圍系統(tǒng)中,在業(yè)務(wù)種類多、流程復(fù)雜的傳統(tǒng)核心中尚無先例。
2、數(shù)據(jù)庫介紹
巨杉數(shù)據(jù)庫是一款國產(chǎn)金融級分布式數(shù)據(jù)庫,擁有完全自主知識產(chǎn)權(quán)。其具備高可用、高并發(fā)、高性能等特性,業(yè)務(wù)場景包括分布式核心在線交易、分布式內(nèi)容管理以及數(shù)據(jù)中臺、數(shù)據(jù)湖、云數(shù)據(jù)庫平臺等。同時,巨杉數(shù)據(jù)庫還支持金融業(yè)數(shù)據(jù)中心所需要的“雙活”容災(zāi)的能力,在保證數(shù)據(jù)安全的前提下,將數(shù)據(jù)存儲,數(shù)據(jù)處理的高可用性和災(zāi)難恢復(fù)相結(jié)合,這樣數(shù)據(jù)管理可以以更低的成本實(shí)現(xiàn)連續(xù)的可用性。巨杉數(shù)據(jù)庫提供了完全符合國際標(biāo)準(zhǔn)的 SQL 語言及豐富多樣的數(shù)據(jù)訪問接口,并且高度兼容 Oracle、SQLServer、MySQL 等為代表的國際主流數(shù)據(jù)庫產(chǎn)品,為數(shù)據(jù)庫開發(fā)和維護(hù)人員在轉(zhuǎn)型國產(chǎn)數(shù)據(jù)庫時減小了難度和成本。
巨杉數(shù)據(jù)庫已經(jīng)在近百家 500 強(qiáng)級別的銀行、保險、證券等大型金融機(jī)構(gòu)核心生產(chǎn)業(yè)務(wù)上線?;谝陨咸攸c(diǎn),中國人民銀行長沙中支組織湖南全省人民銀行科技人員學(xué)習(xí)巨杉數(shù)據(jù)庫的運(yùn)維及開發(fā)技術(shù),并計(jì)劃逐步完成全省所有自建系統(tǒng)數(shù)據(jù)庫國產(chǎn)化替換。
3、遷移方案
合同管理系統(tǒng)在湖南省人民銀行系統(tǒng)于2016年上線,日均業(yè)務(wù)量50筆左右,日均文件上傳大小100M左右,對數(shù)據(jù)庫負(fù)載要求較低,比較適合作為國產(chǎn)數(shù)據(jù)庫遷移試點(diǎn)。合同管理系統(tǒng)采用dorado7中間件開發(fā),數(shù)據(jù)庫用的美國IBM公司開發(fā)的DB2 v8.1版本。由于巨衫數(shù)據(jù)庫目前沒有支持DB2實(shí)例,所以必須先將DB2轉(zhuǎn)成Mysql等巨衫支持的數(shù)據(jù)庫實(shí)例才能遷移,筆者這里選用了Mysql實(shí)例。
因此總體遷移思路如下:
(1)搭建巨衫數(shù)據(jù)庫并安裝MySQL實(shí)例;
(2)將DB2相關(guān)數(shù)據(jù)導(dǎo)入巨衫數(shù)據(jù)庫Mysql實(shí)例;
(3)修改數(shù)據(jù)庫連接配置及相關(guān)代碼;
(4)測試
一、安裝巨衫數(shù)據(jù)庫和MySQL實(shí)例
我們測試環(huán)境采用的是VMware虛擬機(jī)和優(yōu)麒麟系統(tǒng)(相比于中標(biāo)麒麟和銀河麒麟,優(yōu)麒麟獲取十分方便,其內(nèi)核基于Ubuntu開發(fā),主要用于客戶端,但為測試方便我們還是選用了優(yōu)麒麟進(jìn)行安裝試驗(yàn))。
具體安裝過程可在巨杉數(shù)據(jù)庫官網(wǎng)參考教學(xué)視頻,這里不再介紹。
二、DB2數(shù)據(jù)導(dǎo)入巨衫數(shù)據(jù)庫Mysql實(shí)例
在Mysql實(shí)例中建好同名數(shù)據(jù)庫,借用第三方數(shù)據(jù)庫管理工具Navicat中的ODBC導(dǎo)入功能可把原DB2中的表和數(shù)據(jù)轉(zhuǎn)換成Mysql格式,值得注意的是導(dǎo)入Mysql表的主鍵、自增和外鍵等屬性是缺失的,需要自己逐個核查和添加。
三、修改數(shù)據(jù)庫連接代碼
在系統(tǒng)源碼中修改數(shù)據(jù)庫連接配置表,將數(shù)據(jù)庫驅(qū)動、連接url、連接用戶名和密碼等連接屬性換成巨衫數(shù)據(jù)庫相關(guān);另外修改源碼中jdbc連接的數(shù)據(jù)庫操作語句,根據(jù)DB2和Mysql語法區(qū)別做出相應(yīng)修改。
四、功能模塊測試
測試發(fā)現(xiàn)頁面顯示數(shù)據(jù)庫連接出錯,排查發(fā)現(xiàn)Mysql語句在Windows下不區(qū)分大小寫,但在Linux下是區(qū)分大小寫的,所以需要關(guān)閉大小寫敏感配置。修改Mysql配置,巨衫數(shù)據(jù)中Mysql配置文件名為auto.cnf,在該文件中添加lower_case_table_names = 1這行配置,重啟數(shù)據(jù)庫后系統(tǒng)的各項(xiàng)功能都測試正常,相關(guān)業(yè)務(wù)數(shù)據(jù)讀寫功能和速度也都正常。
4、結(jié)論分析
本文介紹了信息技術(shù)國產(chǎn)化的重要意義和必要性,探索了從DB2數(shù)據(jù)庫遷移到國產(chǎn)巨衫數(shù)據(jù)庫Mysql實(shí)例的具體過程以及遷移過程中需要注意的一些事項(xiàng)。從遷移結(jié)果來看,巨衫數(shù)據(jù)庫可以滿足人民銀行小中型系統(tǒng)的在功能和性能上需求,同時兼容Mysql、Oracle等國外主流數(shù)據(jù)庫也為國產(chǎn)化遷移降低了難度,并且數(shù)據(jù)庫開發(fā)工程師和運(yùn)維工程師可以花費(fèi)較低的成本實(shí)現(xiàn)國產(chǎn)化轉(zhuǎn)型。國產(chǎn)數(shù)據(jù)庫的全面推廣和使用,不僅提高了我國基礎(chǔ)軟件產(chǎn)業(yè)的競爭力,同時也滿足了政府在重要信息系統(tǒng)上對自主可控和安全可靠的強(qiáng)烈需要,這對保障國家信息安全,具有積極而深遠(yuǎn)的意義。
參考文獻(xiàn)
[1] 羅華群.金倉數(shù)據(jù)庫 KingbaseES 在政府電子政務(wù)領(lǐng)域中應(yīng)用[J].電子技術(shù)與軟件工程,2019(06),145-147
[2] 劉玉書.金融關(guān)鍵信息基礎(chǔ)設(shè)施國產(chǎn)化:評估與展望[J].甘肅金融,2020(1):8-12
[3] ?魏振亞,人民銀行信息技術(shù)國產(chǎn)化初探[J]. 金融科技時代,2017(02):49-51
[4] ?周亞潔,數(shù)據(jù)庫國產(chǎn)化替代面臨的問題及對策研究[J], 信息安全研究[J],2018(01):24-30
作者簡介:聶平 ,男(1986.08-)碩士研究生,中級工程師,主要從事網(wǎng)絡(luò)通信工作