无码中字av片在线观看,福原遥,中文字幕在线黄,aⅴ在线看

行業(yè)新聞 首頁 > 新聞中心 > 行業(yè)新聞

中國工商銀行軟件開發(fā)中心上線金融業(yè)首例國產(chǎn)編程語言業(yè)務系統(tǒng)

分享到:
2024-07-11 瀏覽:3284

金融科技產(chǎn)業(yè)的基礎服務設施保障是衡量國家金融安全的核心因素。工信部印發(fā)的《“十四五”軟件和信息技術服務業(yè)發(fā)展規(guī)劃》中將提升產(chǎn)業(yè)基礎保障水平作為主要任務之一,程序設計語言是其中的一項重點課題。中國工商銀行軟件開發(fā)中心(以下簡稱“工行軟件開發(fā)中心”)積極探索基于倉頡國產(chǎn)應用編程語言(以下簡稱“倉頡語言”)實現(xiàn)業(yè)務研發(fā)與商業(yè)化落地的可行性。工行軟件開發(fā)中心于2024年3月完成倉頡語言版短信業(yè)務系統(tǒng)正式投產(chǎn)及對客服務,實現(xiàn)國產(chǎn)編程語言在金融行業(yè)的首家商業(yè)落地,完成從芯片、操作系統(tǒng)、中間件、數(shù)據(jù)庫到編程語言的全棧架構(gòu)轉(zhuǎn)型業(yè)務系統(tǒng)建設。 


一、金融領域現(xiàn)狀分析

編程語言的安全性、穩(wěn)定性,以及執(zhí)行性能方面的特性是金融IT領域選擇編程語言的核心考量因素。

首先,金融行業(yè)處理大量的敏感數(shù)據(jù)和資金交易,也受到嚴格的監(jiān)管和法規(guī)約束,需要防止代碼注入、SQL注入、跨站點腳本攻擊等常見的安全漏洞,因此對編程語言的安全性要求非常高。

其次,現(xiàn)階段金融領域中后臺應用服務中開發(fā)語言以Java為主,同時銀行金融系統(tǒng)需要保持長時間的穩(wěn)定運行,須避免“斷鏈”風險,因此需要逐步實現(xiàn)技術棧轉(zhuǎn)型,保證穩(wěn)定性和可靠性。

最后,銀行金融系統(tǒng)通常需要處理大量的交易和數(shù)據(jù),高性能的編程語言能夠提高系統(tǒng)的處理速度和響應性,從而提升用戶體驗并降低系統(tǒng)的負載,提升運行性能,降低時延、資源的占用也是對編程語言的核心訴求之一。 


二、倉頡語言研發(fā)應用

目前,工行軟件開發(fā)中心已經(jīng)建設出包括芯片、操作系統(tǒng)、中間件、數(shù)據(jù)庫等軟硬件的轉(zhuǎn)型架構(gòu)體系,編程語言的轉(zhuǎn)型已納入工行系統(tǒng)全棧架構(gòu)轉(zhuǎn)型目標研究范圍。

倉頡編程語言作為一款面向全場景應用開發(fā)的現(xiàn)代編程語言,通過現(xiàn)代語言特性的集成、全方位的編譯優(yōu)化和運行時實現(xiàn),以及開箱即用的IDE工具鏈支持,為開發(fā)者打造友好開發(fā)體驗和卓越程序性能,具備安全可靠、輕松并發(fā)、卓越性能、高效編程等優(yōu)勢特性,經(jīng)評估倉頡語言已經(jīng)基本具備支撐實現(xiàn)業(yè)務系統(tǒng)研發(fā)的編程語言能力。工行軟件開發(fā)中心選取短信業(yè)務系統(tǒng)實現(xiàn)倉頡語言的商業(yè)化落地,該系統(tǒng)作為直接對客服務渠道之一,承載客戶查詢業(yè)務、辦理業(yè)務及授權(quán)確認等類型服務。倉頡語言版短信系統(tǒng)分別選取部分查詢類及辦理類業(yè)務功能完成重構(gòu),基于倉頡語言、倉頡版微服務開發(fā)框架、倉頡版三方庫與中間件(數(shù)據(jù)庫驅(qū)動、Web容器、日志構(gòu)件、定時任務調(diào)度構(gòu)件等)完成系統(tǒng)的設計研發(fā),并打包應用鏡像,部署在行內(nèi)PaaS云容器平臺。

 1、業(yè)務系統(tǒng)設計實現(xiàn)

倉頡語言版短信業(yè)務系統(tǒng)按照功能劃分為以下四個模塊:引流模塊、業(yè)務預處理模塊、業(yè)務處理模塊以及數(shù)據(jù)處理模塊,如圖1所示。引流模塊通過識別用戶身份和場景來控制系統(tǒng)流量,實現(xiàn)了基于流量動態(tài)調(diào)整及交易異常自動引流至原系統(tǒng)的高可用機制;業(yè)務預處理模塊對場景進行前置處理,實現(xiàn)服務的精準分發(fā);業(yè)務處理模塊運行核心交易邏輯,同時負責用戶層交互;數(shù)據(jù)處理層提供基礎數(shù)據(jù)層交互服務,倉頡語言版數(shù)據(jù)庫引擎保障了數(shù)據(jù)的準確性與完整性。

截圖-1720661074921.png


圖1 倉頡語言版短信業(yè)務系統(tǒng)功能模塊


金融業(yè)對軟件系統(tǒng)的高可用和穩(wěn)定性有著極高要求,倉頡語言版短信業(yè)務系統(tǒng)設計了以下方案保障高可用性:

(1)微服務架構(gòu)。倉頡語言版短信業(yè)務系統(tǒng)拆分為多個微服務模塊,通過集群化的多點部署有效降低了服務的單點故障風險。單個服務模塊故障或性能下降時,仍能保障業(yè)務的正常運行。同時,微服務架構(gòu)降低了因倉頡語言中間件及三方庫迭代升級帶來的升級適配的研發(fā)運維成本。

(2)高可用的服務間通信模式。微服務模塊在負載均衡模式下進行HTTP協(xié)議通信,基于倉頡語言標準庫網(wǎng)絡通信包實現(xiàn)了超時重試、冪等、連接池管理等高可用通信機制,保障服務間通信的準確性和實時性。

(3)數(shù)據(jù)緩存機制。熱點數(shù)據(jù)實現(xiàn)基于倉頡語言標準庫并發(fā)集合包的緩存處理,有效應對大并發(fā)量請求場景,減少業(yè)務過程負載,提高吞吐量,保證系統(tǒng)的可用性。同時,使用倉頡語言鎖機制實現(xiàn)高并發(fā)場景下數(shù)據(jù)并發(fā)寫入控制,保障了多線程寫入下的線程安全。

 2、業(yè)務系統(tǒng)與工行軟件生態(tài)系統(tǒng)融合

工行軟件開發(fā)中心在倉頡語言落地實踐中,不局限于業(yè)務系統(tǒng)對客功能的實現(xiàn),還積極探索倉頡語言與工行軟件生態(tài)打通融合的可行方案。此外,對客服務系統(tǒng)故障的自動監(jiān)控、運維安全合規(guī)及故障問題排查方案等能力建設也在迭代優(yōu)化提升。工行軟件開發(fā)中心提出并實現(xiàn)了多種倉頡語言與工行軟件生態(tài)系統(tǒng)基礎支撐平臺的融合對接方案,為倉頡語言擴大應用范圍可行性及轉(zhuǎn)型成本評估提供參考依據(jù)。具體包括:中間件服務對接模式與跨語言服務對接模式。


1720661136676663.png


圖2 倉頡語言與工行軟件生態(tài)打通融合方案探索


中間件服務對接模式:工行軟件開發(fā)中心搭建了分布式日志中心、分布式配置中心、監(jiān)控系統(tǒng)等基礎服務平臺,業(yè)務系統(tǒng)通過客戶端中間件與基礎平臺進行交互通信。為實現(xiàn)倉頡語言服務與行內(nèi)基礎平臺對接,工行軟件開發(fā)中心設計了中間件服務對接模式,通過通信協(xié)議重構(gòu)的方式,實現(xiàn)倉頡語言系統(tǒng)和現(xiàn)有系統(tǒng)的無縫集成和數(shù)據(jù)交換,該模式不僅簡化了不同系統(tǒng)間的通信流程,還提升了系統(tǒng)整體的可擴展性和響應速度。

跨語言服務對接模式:工行軟件開發(fā)中心已形成Java語言為主,Python、C語言等為技術補充的多語言生態(tài)體系,倉頡語言系統(tǒng)需要實現(xiàn)跨語言的服務調(diào)用。為了滿足金融軟件數(shù)據(jù)安全性要求,設計并實現(xiàn)了加密服務對接模塊,基于倉頡語言跨語言互操作特性,對接加密服務平臺C語言動態(tài)庫,實現(xiàn)了倉頡語言業(yè)務系統(tǒng)調(diào)用C語言加密服務的場景,保障了跨平臺、跨系統(tǒng)的安全數(shù)據(jù)交換和通信保密性。

 3、倉頡版短信業(yè)務系統(tǒng)集成交付部署

項目研發(fā)的快速迭代離不開快捷、高效的CI(持續(xù)集成)與CD(持續(xù)部署)系統(tǒng)作為支撐,而高度自動化的集成部署系統(tǒng)也是生產(chǎn)運維及故障快速應急的有力抓手。工行軟件開發(fā)中心在持續(xù)集成部署領域,提供了一種多語言生態(tài)下的高度定制化開發(fā)和部署方案,實現(xiàn)了高性能的基礎鏡像以及高度自動化的集成流水線。工行軟件開發(fā)中心基于轉(zhuǎn)型架構(gòu)體系(芯片、操作系統(tǒng)等)構(gòu)建出倉頡語言版基礎鏡像,結(jié)合編排部署、PaaS云等平臺化技術實現(xiàn)了鏡像資源的靈活調(diào)度、自動伸縮等能力。同時,將倉頡語言接入現(xiàn)有持續(xù)交付部署系統(tǒng),提供了從應用鏡像制作,到編譯打包,再到部署管理的全流程自動化流水線,確保了倉頡語言版系統(tǒng)在快速迭代模式下的敏捷發(fā)布與部署。 


三、倉頡語言生態(tài)共建

工行軟件開發(fā)中心除推進倉頡語言在金融業(yè)商業(yè)化落地外,還積極參與倉頡語言生態(tài)共建。首先,通過對倉頡語言社區(qū)開源第三方庫的問題修復和優(yōu)化,提升了開源構(gòu)件的穩(wěn)定性和性能。工行軟件開發(fā)中心已對倉頡社區(qū)現(xiàn)有開源構(gòu)件完成多個優(yōu)化需求的自主研發(fā)及驗證,后續(xù)將持續(xù)推進構(gòu)件的完善,確保其在復雜應用場景下的可靠性和靈活性。此外,工行軟件開發(fā)中心致力于構(gòu)建完善的生態(tài)體系,包括開發(fā)工具鏈、庫和框架的豐富化,通過引入高效的開發(fā)模式和開發(fā)范式,創(chuàng)新研發(fā)了倉頡語言版lombok、雪花算法、分布式批量等開源構(gòu)件。 


四、后續(xù)展望

后續(xù),工行軟件開發(fā)中心將繼續(xù)深入推進架構(gòu)轉(zhuǎn)型工作,持續(xù)關注架構(gòu)轉(zhuǎn)型相關技術棧的發(fā)展動態(tài),積極擁抱技術發(fā)展帶來的挑戰(zhàn),在實踐的基礎上為金融IT領域全棧架構(gòu)轉(zhuǎn)型輸出更多實施案例。此外,工行軟件開發(fā)中心將加強與國內(nèi)領先科技企業(yè)的合作,共同推動以倉頡語言為代表的國產(chǎn)技術創(chuàng)新,探索更多適合架構(gòu)轉(zhuǎn)型和市場需求的先進解決方案,為實現(xiàn)金融IT業(yè)全棧架構(gòu)轉(zhuǎn)型目標添磚加瓦。



本文來源:微信公眾號 BanTech智庫

免責聲明:所載內(nèi)容來源互聯(lián)網(wǎng)、微信公眾號等公開渠道,我們對文中觀點保持中立,僅供參考、交流等非商業(yè)目的。轉(zhuǎn)載的稿件版權(quán)歸原作者和機構(gòu)所有,如有侵權(quán),請聯(lián)系我們刪除。