李廷偉 李夏 宋真祥
(云上貴州大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司 貴州省貴陽(yáng)市 550000)
近年,我國(guó)積極推動(dòng)自主可控的技術(shù),通過(guò)自主研發(fā)基礎(chǔ)軟硬件產(chǎn)品,解決信息安全的核心問(wèn)題[1]。經(jīng)過(guò)多年發(fā)展,目前信創(chuàng)產(chǎn)業(yè)生態(tài)逐步形成和完善,從底層芯片,到操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件等基礎(chǔ)軟件,再到流、版、簽等辦公套件,QQ、微信、釘釘?shù)瘸R?jiàn)通用軟件為代表的企業(yè)應(yīng)用上層應(yīng)用已經(jīng)完成原來(lái)的“不可用”到“可用”的蛻變,正逐步向“好用”發(fā)展。
隨著信創(chuàng)產(chǎn)業(yè)發(fā)展,國(guó)產(chǎn)終端及服務(wù)端設(shè)備也越來(lái)越普及,近年來(lái),黨政、國(guó)企等也做了一些終端及服務(wù)器端軟硬件替代的試點(diǎn);國(guó)產(chǎn)化替代是一個(gè)系統(tǒng)性的工程,由于底層技術(shù)架構(gòu)不一致,很多應(yīng)用,特別是與芯片、操作系統(tǒng)強(qiáng)相關(guān)的應(yīng)用不能在信創(chuàng)環(huán)境直接使用,均需要或多或少的適配改造,特別是基于Intel+Windows 技術(shù)開發(fā)的應(yīng)用系統(tǒng)[2]。但存量應(yīng)用系統(tǒng)的適配改造依賴于芯片廠商、操作系統(tǒng)廠商、數(shù)據(jù)庫(kù)廠商、中間件廠商以及應(yīng)用系統(tǒng)開發(fā)商的緊密配合,若涉及到使用第三方插件、或接口的,還需要第三方廠商配合。由于存量應(yīng)用系統(tǒng)使用的開發(fā)語(yǔ)言、系統(tǒng)架構(gòu)等不同,適配難度、成本差別較大,一般來(lái)說(shuō),使用Java 等跨平臺(tái)語(yǔ)言開發(fā)的B/S 架構(gòu)的系統(tǒng)適配難度及成本相對(duì)較小。
為滿足在信創(chuàng)終端正常訪問(wèn)存量應(yīng)用系統(tǒng)的要求,確保用戶通過(guò)信創(chuàng)終端正常處理業(yè)務(wù),需要對(duì)存量應(yīng)用系統(tǒng)進(jìn)行適配改造,理想情況下,可對(duì)存量應(yīng)用系統(tǒng)進(jìn)行徹底改造,即基于國(guó)產(chǎn)服務(wù)器、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件、安全產(chǎn)品等基礎(chǔ)環(huán)境對(duì)應(yīng)用系統(tǒng)進(jìn)行改造。但適配改造過(guò)程需要各軟硬件廠商密切配合,特別是需要應(yīng)用系統(tǒng)開發(fā)廠商進(jìn)行源碼級(jí)改造。在實(shí)際推進(jìn)過(guò)程中,受技術(shù)可行性、改造周期、改造費(fèi)用、系統(tǒng)廠商配合程度等因素影響,部分系統(tǒng)并不具備徹底改造條件。綜合考慮適配難度、適配時(shí)間成本、資金投入、應(yīng)用系統(tǒng)廠商配合程度、存量應(yīng)用系統(tǒng)功能升級(jí)等因素,本文提出以下幾種適配策略。
所謂終端適配,主要是視圖展示層[3]的適配,是指在應(yīng)用系統(tǒng)的服務(wù)器、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件等均不改變的情況下,對(duì)應(yīng)用系統(tǒng)進(jìn)行適應(yīng)性改造,適配后,通過(guò)信創(chuàng)終端及傳統(tǒng)非信創(chuàng)終端均能正常訪問(wèn)應(yīng)用系統(tǒng)。業(yè)務(wù)應(yīng)用系統(tǒng)的各項(xiàng)功能、性能、穩(wěn)定性、安全性以及易用性在信創(chuàng)終端上均表現(xiàn)正常,滿足用戶日常辦公需求。
根據(jù)應(yīng)用系統(tǒng)技術(shù)實(shí)現(xiàn)不同,終端適配工作側(cè)重點(diǎn)會(huì)有所差異。從系統(tǒng)架構(gòu)上看,B/S 架構(gòu)和C/S 架構(gòu)適配側(cè)重點(diǎn)也不同。B/S 架構(gòu)系統(tǒng)通過(guò)瀏覽器與服務(wù)端進(jìn)行交互,隨著WEB 應(yīng)用技術(shù)發(fā)展,目前大多數(shù)WEB應(yīng)用采用前后端分離架構(gòu)設(shè)計(jì)及實(shí)現(xiàn),此類應(yīng)用終端適配主要涉及前端HTML 標(biāo)簽、CSS 樣式、JavaScript 腳本等常規(guī)Web 技術(shù),以及瀏覽器插件的適配。重點(diǎn)需關(guān)注系統(tǒng)各個(gè)頁(yè)面靜態(tài)頁(yè)面解析、排版、字體、色彩、框線等靜態(tài)元素顯示,動(dòng)態(tài)腳本執(zhí)行,網(wǎng)頁(yè)鏈接點(diǎn)擊、跳轉(zhuǎn)等鼠標(biāo)事件、網(wǎng)頁(yè)上相關(guān)元素鍵盤輸入等人機(jī)交互功能,以及多瀏覽器兼容等。而C/S 架構(gòu)的應(yīng)用的終端適配難度相對(duì)較大,需要基于國(guó)產(chǎn)軟硬件技術(shù)路線,重新開發(fā)和編譯本地應(yīng)用程序。此外,如果應(yīng)用本身又引用了第三方應(yīng)用程序或插件,如地圖類或視頻類插件,同時(shí)還要考慮第三方應(yīng)用程序的國(guó)產(chǎn)化適配[4]。
由于系統(tǒng)運(yùn)行的服務(wù)端未做實(shí)質(zhì)性改變,系統(tǒng)服務(wù)端仍運(yùn)行在原有的環(huán)境,終端適配難度及成本相對(duì)較低,適用于存量應(yīng)用系統(tǒng)多,經(jīng)費(fèi)不足,服務(wù)端在短時(shí)間不具備替代條件,且計(jì)算機(jī)終端已經(jīng)或即將替換為國(guó)產(chǎn)計(jì)算機(jī)終端的場(chǎng)景,主要解決國(guó)產(chǎn)終端訪問(wèn)存量業(yè)務(wù)系統(tǒng)的問(wèn)題,確保終端替代后,通過(guò)國(guó)產(chǎn)終端及非國(guó)產(chǎn)終端均能正常開展業(yè)務(wù)。但由于服務(wù)端仍然部署運(yùn)行在非國(guó)產(chǎn)化環(huán)境,應(yīng)用系統(tǒng)本身并沒(méi)有實(shí)現(xiàn)真正的安全可靠。
所謂改造遷移,是指應(yīng)用系統(tǒng)的服務(wù)器、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件等均替換為國(guó)產(chǎn)化軟硬件產(chǎn)品,應(yīng)用系統(tǒng)基于以上基礎(chǔ)環(huán)境進(jìn)行適應(yīng)性改造和數(shù)據(jù)遷移,確保改造完成后,通過(guò)信創(chuàng)終端及傳統(tǒng)非信創(chuàng)終端均能正常訪問(wèn)應(yīng)用系統(tǒng)[5]。改造遷移主要包括應(yīng)用程序遷移及數(shù)據(jù)遷移。
程序遷移包含業(yè)務(wù)應(yīng)用程序、中間件、數(shù)據(jù)庫(kù)程序等部件程序代碼的遷移。目前多數(shù)中間件、數(shù)據(jù)庫(kù)程序均有國(guó)產(chǎn)化版本,只需做簡(jiǎn)單的安裝部署和調(diào)試工作。對(duì)于業(yè)務(wù)應(yīng)用程序,由于業(yè)務(wù)強(qiáng)相關(guān)性,需要進(jìn)行國(guó)產(chǎn)化移植改造。目前業(yè)界常用的應(yīng)用開發(fā)語(yǔ)言包括PHP、Java、Python 等高級(jí)語(yǔ)言,所幸的是,此類語(yǔ)言通常有ARM 平臺(tái)的解釋器或虛擬機(jī),因此適配開發(fā)量通常在于少量功能點(diǎn)的改造以及性能調(diào)優(yōu)。另外還有部分應(yīng)用直接采用微軟.Net 技術(shù)或相對(duì)低級(jí)語(yǔ)言開發(fā)的應(yīng)用,此類技術(shù)由于沒(méi)有ARM 平臺(tái)的中間層作為支撐,故需對(duì)源代碼進(jìn)行重新開發(fā)或編譯,適配工作量相對(duì)較大。
遷移改造工作中另一重大工作是數(shù)據(jù)庫(kù)遷移,即將原系統(tǒng)中Oracle、SQLServer、MySql 等非國(guó)產(chǎn)數(shù)據(jù)庫(kù)替換為國(guó)產(chǎn)數(shù)據(jù)庫(kù)。具體而言,數(shù)據(jù)庫(kù)遷移工作又包括數(shù)據(jù)本身遷移和語(yǔ)法改造。數(shù)據(jù)遷移將數(shù)據(jù)從舊數(shù)據(jù)庫(kù)導(dǎo)入新數(shù)據(jù)庫(kù),目前達(dá)夢(mèng)、神通、人大金倉(cāng)等國(guó)產(chǎn)數(shù)據(jù)庫(kù)產(chǎn)商通常都提供了相關(guān)工具,從Oracle 等主流非國(guó)產(chǎn)數(shù)據(jù)庫(kù)文件中讀取數(shù)據(jù),并寫入國(guó)產(chǎn)數(shù)據(jù)庫(kù)。雖然各大國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商均聲稱其數(shù)據(jù)庫(kù)在SQL 語(yǔ)法均基本與Oracle 等數(shù)據(jù)庫(kù)兼容,但是,由于開發(fā)人員長(zhǎng)期使用國(guó)外數(shù)據(jù)庫(kù)產(chǎn)生了一定的“粘性”,常常為了編程方便或?qū)崿F(xiàn)特殊功能,使用了一些高級(jí)特性或特殊功能,如在數(shù)據(jù)庫(kù)中定義了索引、存儲(chǔ)過(guò)程、觸發(fā)器等與數(shù)據(jù)庫(kù)語(yǔ)法強(qiáng)相關(guān)的元素。由于各家數(shù)據(jù)庫(kù)支持的語(yǔ)法或底層實(shí)現(xiàn)機(jī)制有差異,需要在數(shù)據(jù)庫(kù)遷移時(shí)進(jìn)行語(yǔ)法適配改造,此項(xiàng)工作通常沒(méi)有現(xiàn)成工具能協(xié)助完成,需要技術(shù)人員預(yù)先做好評(píng)估和設(shè)計(jì),對(duì)原有的業(yè)務(wù)邏輯進(jìn)行國(guó)產(chǎn)化改造。與此同時(shí),國(guó)產(chǎn)數(shù)據(jù)庫(kù)在產(chǎn)品性能、穩(wěn)定性、可擴(kuò)展性、規(guī)模系統(tǒng)運(yùn)維能力等方面與Oracle、Mysql 等存在一定差距[6],為彌補(bǔ)這些差距,常常需要對(duì)應(yīng)用系統(tǒng)進(jìn)行優(yōu)化。
通過(guò)改造遷移的系統(tǒng),部署并運(yùn)行在純國(guó)產(chǎn)化環(huán)境,系統(tǒng)本身的安全可以得到很好的保障,在改造遷移過(guò)程中,亦可對(duì)系統(tǒng)本身功能等進(jìn)行整合、優(yōu)化,使得應(yīng)用更能適應(yīng)業(yè)務(wù)發(fā)展的需要,但此類改造的工作量較大,改造成本也相對(duì)較高,除了應(yīng)用系統(tǒng)改造本身的費(fèi)用。
現(xiàn)實(shí)生活中,存在很多應(yīng)用系統(tǒng)廠商倒閉、找不到支持的應(yīng)用系統(tǒng)廠商(開源第三方軟件或插件)、源代碼缺失的應(yīng)用,對(duì)代碼進(jìn)行改造或移植難度極大。針對(duì)此類應(yīng)用,為確保終端替換后業(yè)務(wù)不中斷,可在不修改目標(biāo)應(yīng)用程序的前提下,通過(guò)指令翻譯、API 翻譯等技術(shù)實(shí)現(xiàn)在新平臺(tái)運(yùn)行現(xiàn)有程序。常用的指令翻譯器包括開源的QEMU、EXAGEAR、BOX86、BOX64 以及l(fā)oongarch 最新推出的LAT、LAX 等,將源體系結(jié)構(gòu)上的二進(jìn)制程序轉(zhuǎn)化為目標(biāo)體系結(jié)構(gòu)上的二進(jìn)制程序,結(jié)合WINE 操作系統(tǒng)API 翻譯軟件,能實(shí)現(xiàn)跨芯片、跨操作系統(tǒng)運(yùn)行應(yīng)用程序,簡(jiǎn)單的說(shuō),就是實(shí)現(xiàn)對(duì)X86 的兼容,在不改變?cè)创a的情況下,實(shí)現(xiàn)在ARM 體系結(jié)構(gòu)或MIPS 體系結(jié)構(gòu)下運(yùn)行原有X86 體系結(jié)構(gòu)下的應(yīng)用程序,實(shí)現(xiàn)在國(guó)產(chǎn)操作系統(tǒng)的信創(chuàng)終端上直接運(yùn)行Windows 原生應(yīng)用。
此方法從技術(shù)上能解決很多適配難題,幫助用戶解決已有Windows 業(yè)務(wù)系統(tǒng)短期內(nèi)不能遷移的問(wèn)題,且不依賴源程序。但此方法有一定的局限性,常常會(huì)帶來(lái)性能、可靠性方面的損失,不適用于高性能應(yīng)用場(chǎng)景[7]。
整合建設(shè)就是基于國(guó)產(chǎn)化基礎(chǔ)軟硬件環(huán)境新建信息系統(tǒng),除了產(chǎn)品選型應(yīng)符合國(guó)產(chǎn)化相關(guān)要求外,建設(shè)流程和傳統(tǒng)信息化項(xiàng)目建設(shè)并無(wú)差異,這里不做過(guò)多贅述,見(jiàn)圖1 所示。但在建設(shè)過(guò)程中,需結(jié)合業(yè)務(wù)實(shí)際,考慮國(guó)產(chǎn)服務(wù)器、國(guó)產(chǎn)操作系統(tǒng)、國(guó)產(chǎn)數(shù)據(jù)庫(kù)等與傳統(tǒng)X86服務(wù)器、數(shù)據(jù)庫(kù)等在性能、穩(wěn)定性、特殊功能特性上的差異,特別是對(duì)成熟的行業(yè)應(yīng)用,有時(shí)不能簡(jiǎn)單的適配部署,需要從業(yè)務(wù)層面進(jìn)行優(yōu)化,從而彌補(bǔ)國(guó)產(chǎn)軟硬件環(huán)境的一些短板。
圖1: 基于信創(chuàng)環(huán)境的選型
在進(jìn)行國(guó)產(chǎn)化替換進(jìn)程中,由于技術(shù)壁壘、應(yīng)用系統(tǒng)廠商不配合或缺失、資金短缺、系統(tǒng)改造時(shí)間周期長(zhǎng)等因素,常常出現(xiàn)計(jì)算機(jī)終端替換后,導(dǎo)致應(yīng)用系統(tǒng)暫時(shí)無(wú)法完成適配改造的情況[8]。如國(guó)外大型打印機(jī)驅(qū)動(dòng)等軟件仍依賴國(guó)外技術(shù),不能在國(guó)產(chǎn)終端上正常運(yùn)行,但特殊業(yè)務(wù)場(chǎng)景下短時(shí)間內(nèi)找不到可完全替代的產(chǎn)品,此時(shí)可通過(guò)虛擬化技術(shù),在國(guó)產(chǎn)化終端與存量應(yīng)用之間部署虛擬化產(chǎn)品的方式過(guò)渡解決,目前常見(jiàn)的虛擬化解決方案有信創(chuàng)云桌面、應(yīng)用虛擬化等。
通過(guò)虛擬化手段能解決短時(shí)間業(yè)務(wù)系統(tǒng)不能適配的問(wèn)題,但建設(shè)云桌面或應(yīng)用虛擬化平臺(tái)本身需要較大成本支出,且對(duì)網(wǎng)絡(luò)條件及服務(wù)器硬件,特別是顯卡等要求較高,否則會(huì)由于卡頓嚴(yán)重影響用戶體驗(yàn),此方案適用于大型用戶單位或通過(guò)統(tǒng)籌方式建設(shè)平臺(tái)后,通過(guò)提供服務(wù)的方式給較多客戶、較多業(yè)務(wù)使用。但次方案中,存量應(yīng)用的服務(wù)端仍運(yùn)行在原環(huán)境,未實(shí)現(xiàn)真正意義的安全可靠,一定程度上不利于信創(chuàng)應(yīng)用生態(tài)發(fā)展,只能作為臨時(shí)過(guò)渡方案,隨著信創(chuàng)生態(tài)不斷完善,以及應(yīng)用系統(tǒng)的不斷適配及兼容,建設(shè)的虛擬化平臺(tái)將逐步失去作用。
不同是適配策略對(duì)適配周期、資金投入、技術(shù)要求、人員投入、相關(guān)方配合等要求各不相同,各有優(yōu)缺點(diǎn)(詳見(jiàn)表1)。無(wú)論應(yīng)用系統(tǒng)采用何種適配策略,最終目的都是為了在國(guó)產(chǎn)化設(shè)備上運(yùn)行相關(guān)應(yīng)用,從而解決核心安全問(wèn)題;理想情況下,服務(wù)端能替盡替,國(guó)產(chǎn)化軟硬件滿足系統(tǒng)功能性能要求,且應(yīng)用系統(tǒng)根據(jù)業(yè)務(wù)發(fā)展需要進(jìn)行升級(jí)優(yōu)化,通過(guò)國(guó)產(chǎn)化終端及非國(guó)產(chǎn)化終端都能正常處理相關(guān)業(yè)務(wù),但在實(shí)際執(zhí)行過(guò)程中,受時(shí)間、資金、技術(shù)等因素影響,針對(duì)應(yīng)用系統(tǒng)需分階段進(jìn)行適配,用戶可根據(jù)自身情況,結(jié)合各類適配策略的優(yōu)缺點(diǎn),選擇當(dāng)下最合適的適配方式,確保業(yè)務(wù)平滑過(guò)渡。
表1: 不同適配策略對(duì)比表
隨著國(guó)內(nèi)軒起信創(chuàng)熱潮,應(yīng)用系統(tǒng)國(guó)產(chǎn)化是必然趨勢(shì),但受資金短缺、技術(shù)壁壘等限制,應(yīng)用系統(tǒng)國(guó)產(chǎn)化進(jìn)程可分批次、分階段實(shí)施。
(1)新建的業(yè)務(wù)系統(tǒng)可基于國(guó)產(chǎn)服務(wù)器、操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件等基礎(chǔ)環(huán)境設(shè)施進(jìn)行建設(shè)及部署;
(2)逐步完成承載本地自建存量業(yè)務(wù)系統(tǒng)的服務(wù)器、操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件的國(guó)產(chǎn)化替換;
(3)在終端替代后,為確保業(yè)務(wù)系統(tǒng)不中斷,不影響用戶日常辦公,可通過(guò)先進(jìn)行終端適配或采用虛擬化等技術(shù)進(jìn)行過(guò)渡,待資金、技術(shù)、生態(tài)等具備條件后,逐步完成服務(wù)端替代。
現(xiàn)階段仍需要政府對(duì)信創(chuàng)市場(chǎng)加以引導(dǎo),繼續(xù)加大政策及資金的扶持,并逐步向黨政軍以外的金融、教育、電力、交通等領(lǐng)域逐步延伸?;诨A(chǔ)軟硬件,不斷豐富上層應(yīng)用,通過(guò)行業(yè)應(yīng)用拉動(dòng)構(gòu)建國(guó)產(chǎn)化信息技術(shù)軟硬件底層架構(gòu)體系,從而帶動(dòng)整個(gè)信創(chuàng)生態(tài)的發(fā)展,同時(shí),各軟硬件廠商、各應(yīng)用系統(tǒng)開發(fā)商也要抓住信創(chuàng)的市場(chǎng)機(jī)遇,提前布局,基于信創(chuàng)環(huán)境不斷優(yōu)化產(chǎn)品,共同促進(jìn)信創(chuàng)生態(tài)發(fā)展。
信息技術(shù)應(yīng)用創(chuàng)新處于起步及快速發(fā)展階段,目前正是信創(chuàng)產(chǎn)業(yè)發(fā)展的黃金期,但是由于起步晚,信創(chuàng)產(chǎn)品目前還僅僅是“可用”,距離產(chǎn)品“好用”,用戶“愛(ài)用”還有很長(zhǎng)的路。用戶使用信創(chuàng)設(shè)備,最終是使用部署在信創(chuàng)環(huán)境的各類軟件,信創(chuàng)適配是解決用戶使信創(chuàng)設(shè)備前提,這是一項(xiàng)系統(tǒng)性工程,涉及到從芯片、整機(jī)、操作系統(tǒng)、數(shù)據(jù)庫(kù)、中間件、各成品應(yīng)用軟件、應(yīng)用系統(tǒng)廠商、用戶等各方的通力配合、相互支撐,是一項(xiàng)長(zhǎng)期的過(guò)程,但也是必須的過(guò)程,只有牢牢將核心技術(shù)掌握在自己手中,才能不受制于人,才能實(shí)現(xiàn)真正意義的安全。