李毓堯 丁杰 許久晨
摘要:隨著國產(chǎn)自主可控基礎(chǔ)軟硬件的快速發(fā)展和逐步成熟,基于自主可控平臺的信息系統(tǒng)也逐步在政企單位得到越來越多的應(yīng)用。然而,仍有大量基于非自主可控平臺建設(shè)的信息系統(tǒng)面臨著自主可控適配改造的工作。文章通過對某大型企業(yè)網(wǎng)上報銷系統(tǒng)的自主可控適配改造工作進行分析和研究,總結(jié)信息系統(tǒng)自主可控改造過程中的經(jīng)驗教訓(xùn)和改進分析,為信息系統(tǒng)自主可控改造適配工作提供借鑒和參考。
關(guān)鍵詞:網(wǎng)上報銷系統(tǒng);自主可控;改造實踐
中圖分類號:TP393? ? ? 文獻標識碼:A
文章編號:1009-3044(2024)09-0047-03
開放科學(xué)(資源服務(wù))標識碼(OSID)
0 引言
自主可控是保障網(wǎng)絡(luò)安全、信息安全的前提。從IT基礎(chǔ)設(shè)施、基礎(chǔ)軟件到應(yīng)用軟件的全面自主可控,形成自有開放生態(tài),是解決在信息化關(guān)鍵領(lǐng)域“卡脖子”和保障網(wǎng)絡(luò)信息安全的重要前提?,F(xiàn)有信息系統(tǒng)中大量使用的進口計算機軟硬件產(chǎn)品,都可能存在尚未發(fā)現(xiàn)的內(nèi)置后門和潛在漏洞,從而成為失泄密乃至信息系統(tǒng)正常運行的重大安全隱患[1]。然而,現(xiàn)有系統(tǒng)在自主可控和性能方面存在一定的局限性和不足。通過開展信息系統(tǒng)自主可控改造適配工作,保障企業(yè)報銷業(yè)務(wù)的正常運轉(zhuǎn),增強系統(tǒng)安全性與可靠性迫在眉睫。
1 系統(tǒng)現(xiàn)狀分析
大型企業(yè)網(wǎng)上報銷系統(tǒng)是當(dāng)今企業(yè)財務(wù)管理中必不可少的一部分,它的自主可控性和數(shù)據(jù)安全性對企業(yè)的正常運營至關(guān)重要。對于現(xiàn)有系統(tǒng)的現(xiàn)狀進行分析,識別出可能存在的問題和不足,是實現(xiàn)系統(tǒng)開展自主可控適配改造的基礎(chǔ)和前提。
1.1 系統(tǒng)部署環(huán)境分析
系統(tǒng)由多臺Windows服務(wù)器部署,服務(wù)器采用Intel處理器,應(yīng)用為前后端分離部署,中間件為Tomcat 9.0,數(shù)據(jù)庫為Oracle 19C。根據(jù)自主可控相關(guān)產(chǎn)品調(diào)研,企業(yè)一致決定采購國產(chǎn)化軟硬件,包括服務(wù)器采用鯤鵬920處理器、銀河麒麟V10操作系統(tǒng),中間件為東方通的TongWeb7.0.9,數(shù)據(jù)庫采用企業(yè)統(tǒng)一部署在數(shù)據(jù)中心的達夢DM8數(shù)據(jù)庫集群。
1.2 系統(tǒng)功能分析
網(wǎng)上報銷系統(tǒng)實現(xiàn)出差申請、審核審批、預(yù)訂行程、免票出行、費用報銷、月結(jié)支付全生態(tài)周期管控,總體功能架構(gòu)如圖1所示。
系統(tǒng)達到了費用成本控制的目的,實現(xiàn)了“免墊付、免發(fā)票、易報銷”的一站式消費報銷流程。采用光學(xué)字符識別(OCR) 技術(shù),通過拍照、掃描等光學(xué)輸入方式,能夠自動識別、錄入、存儲發(fā)票信息于企業(yè)發(fā)票信息庫中,并將待驗證的發(fā)票上傳至稅務(wù)系統(tǒng)查驗發(fā)票真?zhèn)?,從而減少了人工參與和手工錄入的差錯。系統(tǒng)還實現(xiàn)了對個人或特定群體的差旅行為分析、財務(wù)分析,可輔助企業(yè)決策,以及對各部門(單位)差旅消費情況的分析,有助于指導(dǎo)次年編制年度差旅預(yù)算,并可有針對性地制定降低成本措施。
1.3 系統(tǒng)技術(shù)架構(gòu)分析
系統(tǒng)總體架構(gòu)說明如圖2所示。
網(wǎng)上報銷系統(tǒng)采用微服務(wù)架構(gòu),系統(tǒng)架構(gòu)采用了Spring Cloud微服務(wù),前端采用了MVVM架構(gòu)設(shè)計模式,后端采用了SpringBoot技術(shù)體系。以基礎(chǔ)和核算服務(wù)為支撐,對外通過網(wǎng)關(guān)以HTTPS協(xié)議暴露接口。系統(tǒng)建設(shè)了商旅業(yè)務(wù)應(yīng)用,包括商旅出行申請、商旅預(yù)定、行程管理、費用報銷、商旅訂單對公月結(jié)、財務(wù)核算、商旅主題分析等模塊。此外,系統(tǒng)支持移動端和PC端多平臺使用,并集成了文件管理系統(tǒng)、稅務(wù)系統(tǒng)、財務(wù)系統(tǒng)、綜合信息門戶、人力資源系統(tǒng)以及iOCR服務(wù)。
系統(tǒng)通過自主可控調(diào)研,在硬件環(huán)境和軟件環(huán)境方面都產(chǎn)生了較大的改變。具體內(nèi)容如表1所示。
在硬件環(huán)境方面,評估系統(tǒng)所需的硬件資源(如服務(wù)器、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備等)與現(xiàn)在硬件環(huán)境的兼容性方面,東方通的產(chǎn)品可以與多種硬件平臺無縫集成,支持多種處理器架構(gòu)和外設(shè)。這些優(yōu)勢可以使得東方通能夠在各種硬件環(huán)境下穩(wěn)定運行,為用戶提供可靠、高效的解決方案。
在軟件環(huán)境方面,中間件和支撐軟件近年來國產(chǎn)中間件也取得了顯著的突破和發(fā)展。提供了豐富的功能和特性以滿足不同用戶的需求。在具體的技術(shù)實現(xiàn)和性能方面,國產(chǎn)中間件更注重性價比和易用性。數(shù)據(jù)庫由Oracle數(shù)據(jù)庫替換為達夢數(shù)據(jù)庫,雖然達夢數(shù)據(jù)庫與Oracle數(shù)據(jù)庫之間的兼容性較高,但存在特有的字段類型和函數(shù)。在遷移之前,須提前優(yōu)化SQL語句及調(diào)整字段類型以滿足達夢數(shù)據(jù)庫的要求。
2 系統(tǒng)改造步驟
改造步驟主要包括功能改造、服務(wù)器部署、中間件替換、數(shù)據(jù)庫遷移、外部接口集成、系統(tǒng)測試及上線切換等工作。
2.1 功能改造
基于平臺整合業(yè)務(wù)完成的補丁包,全部進行自主可控適配,包括應(yīng)用代碼層面及數(shù)據(jù)庫層面,適配完成后在相關(guān)系統(tǒng)原版本基礎(chǔ)上進行更新。
2.1.1 功能代碼調(diào)整
對代碼中的實體部分SQL語法差異進行修正,主要是引用東方通TongWeb、達夢8數(shù)據(jù)庫的相關(guān)依賴,將本地包替換為官方包,并對業(yè)務(wù)程序的實體文件進行同步調(diào)整。
2.1.2 報表適配調(diào)整
由于報表本身支持自主可控改造,只須引入國產(chǎn)數(shù)據(jù)庫Jar包至配置庫中,并修改數(shù)據(jù)庫配置文件,相關(guān)代碼調(diào)整為適配國產(chǎn)數(shù)據(jù)庫路徑。完成后對報表工程文件進行單獨適配,集中替換支持國產(chǎn)數(shù)據(jù)庫的SQL語法,不支持的函數(shù)、存儲過程等內(nèi)容則單獨優(yōu)化、修改寫法,保證報表性能一致。
2.2 服務(wù)器部署
部署內(nèi)容包括麒麟操作系統(tǒng)、TongWeb中間件、達夢數(shù)據(jù)庫等,其中數(shù)據(jù)庫、中間件為壓縮包,需要先進行解壓,然后通過命令行執(zhí)行相關(guān)SH文件,并測試是否安裝成功。
2.3 中間件替換
國產(chǎn)中間件技術(shù)水平也較為成熟,通過屏蔽硬件、操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫,能夠高效地實現(xiàn)客戶機與應(yīng)用層之間通信[2]。根據(jù)評估結(jié)果,選擇一個更加安全可靠的中間件來替代原有的中間件。
中間件替換步驟如下:
1) 評估和選擇中間件:通過對已有中間件的功能、性能、安全性等方面進行評估,確定需要替換的中間件。在選擇替代中間件時,須考慮其與現(xiàn)有系統(tǒng)的兼容性和穩(wěn)定性。
2) 配置更新:在將新的中間件引入系統(tǒng)中之前,需要將原有系統(tǒng)中的數(shù)據(jù)遷移到新的中間件中。這一過程需要保證數(shù)據(jù)的完整性和準確性,并確保遷移過程的安全。
2.4 數(shù)據(jù)庫遷移
數(shù)據(jù)庫使用容器云平臺部署。容器云平臺運用容器、微服務(wù)等技術(shù),基于自主可控服務(wù)器,統(tǒng)一管理底層計算資源,按需開設(shè)多個應(yīng)用容器,提供輕量化的應(yīng)用軟件運行虛擬環(huán)境,實現(xiàn)硬件資源虛擬化、綜合使用和容器的按需擴展、負載均衡能力,提高系統(tǒng)運行效率和可靠性[3]。
數(shù)據(jù)庫遷移步驟如下:
1) 進行數(shù)據(jù)轉(zhuǎn)移和遷移。在遷移過程中,確保數(shù)據(jù)的完整性和一致性。為了確保數(shù)據(jù)的準確性,應(yīng)使用專業(yè)的數(shù)據(jù)遷移工具,例如達夢數(shù)據(jù)庫遷移工具DTS。
2) 在遷移過程中,需要確保系統(tǒng)能夠正常運行,并且對外部用戶的影響要盡量降到最低。可以采用漸進遷移的方式,將數(shù)據(jù)分批次遷移,以減少系統(tǒng)的停機時間和用戶的影響。
3) 進行數(shù)據(jù)遷移后的驗證和測試。在完成數(shù)據(jù)庫遷移后,需要對新的數(shù)據(jù)庫進行驗證和測試。
2.5 外部接口集成
通過與其他相關(guān)系統(tǒng)進行接口集成,實現(xiàn)數(shù)據(jù)的共享和交互,為用戶提供更便捷、高效的報銷服務(wù)。根據(jù)企業(yè)的需求和現(xiàn)有系統(tǒng)的架構(gòu),確定需要集成的外部接口,并定義其數(shù)據(jù)格式、通信方式以及安全要求。在進行接口定義和規(guī)范制定時,需要考慮到系統(tǒng)的可拓展性和兼容性,確保接口的穩(wěn)定和可靠性。外部接口集成涉及多個系統(tǒng)和模塊之間的數(shù)據(jù)流動和通信,存在著一定的風(fēng)險和挑戰(zhàn)。為了確保集成的順利進行,需要進行系統(tǒng)和接口的監(jiān)控和管理,使系統(tǒng)能夠?qū)涌谶M行配置和調(diào)度,根據(jù)實際情況進行接口的啟用和禁用,提高系統(tǒng)的運行效率和靈活性。
2.6 系統(tǒng)測試
在系統(tǒng)測試階段,需要明確測試的目標和范圍,制定相應(yīng)的測試計劃和用例。測試計劃包括測試的時間、地點、人員和資源等安排,而測試用例則定義了每個功能模塊的測試步驟和預(yù)期結(jié)果。在功能測試方面,將對系統(tǒng)的各項功能進行逐一測試。例如,對于報銷申請功能,將驗證用戶能夠正確填寫報銷信息、上傳附件,并能夠提交申請。
除了功能測試,系統(tǒng)測試還包括性能測試和安全測試。性能測試是為了驗證系統(tǒng)在壓力情況下的性能表現(xiàn),例如,多用戶同時訪問系統(tǒng)時系統(tǒng)的響應(yīng)時間和負載能力。安全測試則是驗證安裝在系統(tǒng)內(nèi)的保護機制能否在實際應(yīng)用中對系統(tǒng)進行保護,使之不被非法入侵,不受各種因素的干擾。例如,使用性能測試工具來模擬多用戶同時訪問系統(tǒng)的場景,并監(jiān)測系統(tǒng)的性能指標;使用自動化測試工具來執(zhí)行大量重復(fù)性的測試用例,提高測試效率。
2.7 上線切換
系統(tǒng)完成適配后,根據(jù)系統(tǒng)的差異點輸出上線切換方案,并按照以下運營規(guī)則投運:
1) 第一階段作為應(yīng)急備用環(huán)境投入使用,待正式環(huán)境發(fā)生故障時直接切換,可以支持大部分業(yè)務(wù)場景正常使用。
2) 第二階段作為生產(chǎn)環(huán)境投入使用,可以支持所有業(yè)務(wù)場景正常使用,性能與原生產(chǎn)環(huán)境版本無明顯差距,做到所有業(yè)務(wù)功能與原生產(chǎn)環(huán)境版本對齊,做到切換后用戶無感知。
3 系統(tǒng)應(yīng)用改進分析
在系統(tǒng)自主可控環(huán)境改造過程中,從系統(tǒng)性能和系統(tǒng)安全角度進行改進分析。
3.1 系統(tǒng)性能提升
3.1.1 擴大堆內(nèi)存提升加載速度
中間件運行依賴Java虛擬機(Java Virtual Machine,JVM) ,當(dāng)JVM堆內(nèi)存使用達到一定程度,由JVM提供的垃圾回收線程將啟動執(zhí)行清理操作,該操作主要用于清理緩存中不再使用的Java對象,避免內(nèi)存溢出[4]。經(jīng)分析,JVM的默認內(nèi)存過小,最大值僅為256M,Java進程98%的時間在進行垃圾回收,導(dǎo)致服務(wù)資源過少,時常宕機。因此,對JVM進行設(shè)置,最大內(nèi)存擴至2 048M,可解決加載問題,提高性能。
3.1.2 優(yōu)化SQL加快查詢速度
針對查詢語句進行優(yōu)化。優(yōu)化時,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在Where及Order by涉及的列上建立索引。當(dāng)然,索引并不是越多越好,索引固然可以提高相應(yīng)的Select的效率,但同時也降低了Insert及Update的效率,一個表的索引數(shù)最好不要超過6個,若太多則應(yīng)考慮一些不常使用到的列上建的索引是否有必要。
3.1.3 定期硬件維護防止服務(wù)器宕機
服務(wù)器硬件設(shè)備對于服務(wù)器的性能和穩(wěn)定性是至關(guān)重要的,因此定期維護是必不可少的。定期維護是指每隔一段時間對服務(wù)器的內(nèi)存、硬盤、電源、風(fēng)扇等硬件設(shè)備的檢查和維護,確保它們的工作正常,不會因為硬件故障導(dǎo)致服務(wù)器宕機。
3.2 系統(tǒng)安全提升
3.2.1 IPv4/IPv6雙棧穩(wěn)固內(nèi)網(wǎng)安全
設(shè)備能夠同時支持IPv4和IPv6兩種協(xié)議,它們既可以與只支持IPv4的其他節(jié)點通信,也可以與只支持IPv6的其他節(jié)點通信。這有助于保證網(wǎng)絡(luò)的連續(xù)性和服務(wù)的穩(wěn)定性,直到所有服務(wù)器遷移至IPv6網(wǎng)段。
3.2.2 安裝G01防止外部入侵
政府網(wǎng)站綜合防護系統(tǒng),簡稱“網(wǎng)防G01”,是首款專門針對政府網(wǎng)站及服務(wù)器等關(guān)鍵信息基礎(chǔ)資源進行綜合防護的產(chǎn)品,可對服務(wù)器進行安全防護[5]。服務(wù)器安裝該軟件后,可對操作系統(tǒng)、Web中間件和Web業(yè)務(wù)系統(tǒng)和網(wǎng)站進行多重防護,持續(xù)對應(yīng)用服務(wù)器上的流量與行為進行監(jiān)控。同時可以管理被防護服務(wù)器,進行防護策略配置、安全巡檢、防護目標管理、攻擊監(jiān)測日志查看、系統(tǒng)資源監(jiān)控等操作。
4 總結(jié)
通過對現(xiàn)有系統(tǒng)的現(xiàn)狀進行評估,提出了系統(tǒng)自主可控改造的步驟方法,并對每個步驟進行了闡述。在改造過程中,重點關(guān)注了系統(tǒng)性能和安全性的提升。通過實踐發(fā)現(xiàn),改造后的系統(tǒng)在處理報銷事務(wù)時更加高效,能夠大大減少處理時間并提升用戶體驗。該方法為企業(yè)提供了一個可行的信息系統(tǒng)自主可控改造解決方案。未來的研究可以進一步完善系統(tǒng)的功能和性能,并探索更多的措施來進一步提升系統(tǒng)的性能與安全。
參考文獻:
[1] 萬俊偉,趙輝,鮑忠貴,等.自主可控信息技術(shù)發(fā)展現(xiàn)狀與應(yīng)用分析[J].飛行器測控學(xué)報,2015,34(4):318-324.
[2] 李敏,夏紅霞,趙順東.中間件技術(shù)及其發(fā)展趨勢[J].軟件導(dǎo)刊,2007,6(3):3-5.
[3] 袁忠良.容器云計算平臺關(guān)鍵技術(shù)研究[D].南京:南京大學(xué),2017:34-35.
[4] 孫文俊,黨玲,李祥.基于自主可控平臺的信息系統(tǒng)性能優(yōu)化研究[J].現(xiàn)代計算機,2023,29(4):75-79.
[5] “網(wǎng)防G01”打造政府網(wǎng)站的堅固堡壘:政府網(wǎng)站綜合防護系統(tǒng)技術(shù)研究與實戰(zhàn)應(yīng)用[J].警察技術(shù),2017(2):3.
【通聯(lián)編輯:謝媛媛】