洪 鉑,朱韋橋, 靳源源
(1. 中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081;2. 中國(guó)鐵路總公司 審計(jì)和考核局,北京 100844)
鐵路企業(yè)社會(huì)保障管理主要涵蓋企業(yè)社會(huì)保險(xiǎn)(五險(xiǎn))、企業(yè)年金、補(bǔ)充醫(yī)療保險(xiǎn)等方面業(yè)務(wù)。隨著社會(huì)保障體系深入推廣,鐵路各級(jí)企事業(yè)單位對(duì)員工的福利保障內(nèi)容逐漸從單一趨向復(fù)合;然而社會(huì)保障日常業(yè)務(wù)管理存在政策差異大、內(nèi)容瑣碎、量大、復(fù)雜等問(wèn)題,鐵路企業(yè)又具有點(diǎn)多、線(xiàn)長(zhǎng)、面廣的行業(yè)特征,為實(shí)現(xiàn)社保的“記錄一生、保障一生、服務(wù)一生”的服務(wù)宗旨,建設(shè)統(tǒng)一規(guī)劃的鐵路企業(yè)社會(huì)保障管理信息系統(tǒng)(簡(jiǎn)稱(chēng):社保系統(tǒng))已勢(shì)在必行[1-2]。
社保系統(tǒng)具有政策性強(qiáng)、需求變化頻繁等特點(diǎn),集中式的架構(gòu)在可擴(kuò)展性、可維護(hù)性、靈活性和維護(hù)成本等方面很難滿(mǎn)足業(yè)務(wù)快速變化的需要。在實(shí)踐中,我們采用了分布式架構(gòu),它是一套構(gòu)建系統(tǒng)的準(zhǔn)則,可以把一個(gè)復(fù)雜的系統(tǒng)劃分為一套簡(jiǎn)單系統(tǒng)的計(jì)劃,各自系統(tǒng)之間應(yīng)該保持相互獨(dú)立,但要與整個(gè)系統(tǒng)架構(gòu)保持一致,分布式架構(gòu)對(duì)大量數(shù)據(jù)的快速處理和響應(yīng)也具有極大的優(yōu)勢(shì)[3-4],采用分布式架構(gòu)搭建的系統(tǒng)具有更加經(jīng)濟(jì)、更易擴(kuò)展、數(shù)據(jù)共享性更好、系統(tǒng)運(yùn)行效率更高等特點(diǎn)。
依據(jù)國(guó)發(fā)〔1998〕28號(hào)文的規(guī)定,鐵路企業(yè)的基本養(yǎng)老保險(xiǎn)行業(yè)統(tǒng)籌移交地方管理[5],自中國(guó)鐵路總公司成立以來(lái),包括鐵路總公司在內(nèi),更多的鐵路企業(yè)將醫(yī)療保險(xiǎn)、生育保險(xiǎn)、工傷保險(xiǎn)向地方移交。經(jīng)過(guò)十幾年的改革探索,鐵路企事業(yè)單位逐步建立了社會(huì)保險(xiǎn)、企業(yè)年金和補(bǔ)充醫(yī)療保險(xiǎn)相結(jié)合的社會(huì)保障體系,鐵路企業(yè)的社會(huì)保障工作已由“粗放”轉(zhuǎn)向“精深”。同時(shí)隨著時(shí)間的推移,鐵路職工對(duì)與自身利益相關(guān)的賬戶(hù)信息、辦理情況等基本情況了解的需求也越來(lái)越強(qiáng)烈。
社保系統(tǒng)是在管理要求的基礎(chǔ)上建立一套符合管理需求的體系,應(yīng)包含適應(yīng)不同企業(yè)、不同體系、不同地方的管理要求,在統(tǒng)一規(guī)劃的體系架構(gòu)下,搭建不同適應(yīng)性的組件和硬件平臺(tái),從而滿(mǎn)足建立統(tǒng)一信息化系統(tǒng)的需求。另外社保系統(tǒng)需要對(duì)全路人員的基本信息進(jìn)行存儲(chǔ),建立人員變動(dòng)情況追溯機(jī)制,系統(tǒng)需要支持業(yè)務(wù)辦理人員可快速查詢(xún)變動(dòng)情況,一般職工(在職職工和退休職工)可以在鐵路內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)上方便快捷的查詢(xún)自身權(quán)益信息。
2017年,鐵路總公司在鐵路大數(shù)據(jù)應(yīng)用中,將社保數(shù)據(jù)作為資源管理領(lǐng)域的一部分,從企業(yè)管理的角度對(duì)人員的參保情況、資金使用情況等進(jìn)行分析和風(fēng)險(xiǎn)控制[6-7],這就對(duì)社保業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)提出了更高的要求。隨著鐵路企業(yè)改革的深化,其社保管理需求也在不斷的發(fā)展和變化,因此,系統(tǒng)的可持續(xù)性和擴(kuò)展性也是系統(tǒng)在建立過(guò)程中必須考慮的問(wèn)題。
社保系統(tǒng)在規(guī)劃時(shí),將職工查詢(xún)、業(yè)務(wù)辦理和統(tǒng)計(jì)分析進(jìn)行了分離,依據(jù)3種業(yè)務(wù)的不同特點(diǎn)采用不同的理念和技術(shù)。
(1)職工查詢(xún)業(yè)務(wù)主要是為了適應(yīng)在鐵路內(nèi)部網(wǎng)絡(luò)和互聯(lián)網(wǎng)上均可查詢(xún),除了支持一般的PC外還應(yīng)支持當(dāng)前的各種移動(dòng)設(shè)備。因此,為了適應(yīng)這種需要,應(yīng)采用多級(jí)緩存技術(shù),并將部分頁(yè)面進(jìn)行靜態(tài)化處理,同時(shí)依據(jù)各自查詢(xún)的業(yè)務(wù)需求創(chuàng)建目錄,在提高查詢(xún)和展現(xiàn)效率的同時(shí),對(duì)各自異構(gòu)網(wǎng)絡(luò)進(jìn)行適應(yīng)。
(2)業(yè)務(wù)辦理功能集中在鐵路內(nèi)部網(wǎng)上,應(yīng)重點(diǎn)考慮各單位、各地方,以及企業(yè)未來(lái)業(yè)務(wù)發(fā)展方向,在這部分功能的規(guī)劃中應(yīng)重點(diǎn)對(duì)業(yè)務(wù)和數(shù)據(jù)庫(kù)進(jìn)行拆分,在降低系統(tǒng)耦合度的情況下,盡量做到模塊的舞臺(tái)化。
(3)統(tǒng)計(jì)分析業(yè)務(wù)主要是為管理人員和相關(guān)領(lǐng)導(dǎo)提供決策支持,分為定時(shí)統(tǒng)計(jì)和實(shí)時(shí)統(tǒng)計(jì)兩部分,其中,實(shí)時(shí)統(tǒng)計(jì)應(yīng)限定數(shù)據(jù)范圍,定時(shí)統(tǒng)計(jì)利用系統(tǒng)閑時(shí)進(jìn)行運(yùn)算,形成計(jì)算結(jié)果,并提供較為豐富的展現(xiàn)方式。
鐵路企業(yè)社保系統(tǒng)邏輯架構(gòu),如圖1所示。
圖1 鐵路企業(yè)社保系統(tǒng)邏輯架構(gòu)
(1)客戶(hù)層:支持PC瀏覽器和手機(jī)APP。手機(jī)APP主要提供業(yè)務(wù)查詢(xún)功能,PC瀏覽器支持業(yè)務(wù)辦理和職工查詢(xún)。手機(jī)APP可以通過(guò)反向代理,訪(fǎng)問(wèn)服務(wù)器。
(2)前端層:使用域名解析實(shí)現(xiàn)查詢(xún)和日常業(yè)務(wù)辦理的負(fù)載均衡,內(nèi)容分發(fā)主要為查詢(xún)功能提供本地加速以及反向代理服務(wù)。
(3)應(yīng)用層:在應(yīng)用集群上分別部署相關(guān)業(yè)務(wù)應(yīng)用,主要分為社會(huì)保險(xiǎn)、補(bǔ)充醫(yī)療、年金管理、統(tǒng)計(jì)查詢(xún)等業(yè)務(wù)模塊。
(4)服務(wù)層:將業(yè)務(wù)使用的公共模塊搭建在服務(wù)集群上,主要提供登錄服務(wù)、基本查詢(xún)服務(wù)、權(quán)限管理服務(wù)、會(huì)話(huà)管理服務(wù)、報(bào)表服務(wù)等。
(5)數(shù)據(jù)處理層:這一層作為較為特殊的一層,一方面對(duì)數(shù)據(jù)存儲(chǔ)層中的數(shù)據(jù)進(jìn)行抽取和處理,同時(shí)依據(jù)實(shí)際情況可以直接對(duì)應(yīng)用層提供數(shù)據(jù)分析服務(wù)。提供離線(xiàn)數(shù)據(jù)分析和實(shí)時(shí)數(shù)據(jù)分析兩種方式,如將月報(bào)、季報(bào)、年報(bào)等具有明顯時(shí)間任務(wù)的統(tǒng)計(jì)報(bào)表設(shè)置定時(shí)任務(wù),利用系統(tǒng)閑時(shí)進(jìn)行運(yùn)算后進(jìn)行存儲(chǔ),另一方面為一定范圍內(nèi)的數(shù)據(jù)提供實(shí)時(shí)數(shù)據(jù)分析。
(6)數(shù)據(jù)存儲(chǔ)層:含使用關(guān)系型數(shù)據(jù)庫(kù)集群(支持讀寫(xiě)分離)、NOSQL集群、分布式文件系統(tǒng)集群、分布式Cache等技術(shù),支持應(yīng)用層和服務(wù)層的日志數(shù)據(jù)收集,以及關(guān)系數(shù)據(jù)庫(kù)、NOSQL數(shù)據(jù)庫(kù)的結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)收集,同時(shí)為相關(guān)業(yè)務(wù)數(shù)據(jù)提供存儲(chǔ)支持。
鐵路企業(yè)社保系統(tǒng)應(yīng)橫跨鐵路企業(yè)內(nèi)網(wǎng)和Internet網(wǎng)絡(luò):(1)為鐵路職工和退休職工提供相關(guān)的權(quán)益查詢(xún)功能;(2)面需要與外部相關(guān)機(jī)構(gòu)進(jìn)行數(shù)據(jù)溝通。
外部相關(guān)機(jī)構(gòu)的溝通主要包括地方社保中心以及年金管理機(jī)構(gòu),通過(guò)構(gòu)建統(tǒng)一的數(shù)據(jù)交互平臺(tái),在確保交互安全的情況下,直接與鐵路企業(yè)內(nèi)部網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。因此依據(jù)實(shí)際情況,可以采用ETL工具對(duì)數(shù)據(jù)進(jìn)行清洗后導(dǎo)入系統(tǒng),如圖2所示。
圖2 鐵路企業(yè)社保系統(tǒng)網(wǎng)絡(luò)架構(gòu)
服務(wù)器和集群可以采用云服務(wù)器進(jìn)行彈性控制,在系統(tǒng)實(shí)際運(yùn)行過(guò)程中依據(jù)實(shí)際訪(fǎng)問(wèn)情況,隨時(shí)對(duì)硬件資源進(jìn)行調(diào)整,從而實(shí)現(xiàn)資源更加合理的分配和使用。
社保系統(tǒng)不但要對(duì)全路的職工進(jìn)行管理,而且還要對(duì)職工的變動(dòng)情況、權(quán)益情況等進(jìn)行存儲(chǔ)維護(hù),由于數(shù)據(jù)量大的特點(diǎn),引入了分布式存儲(chǔ)系統(tǒng),達(dá)到構(gòu)建成本低、高性能、可擴(kuò)展和易用的目的[8]。
大集中式的系統(tǒng)架構(gòu)已應(yīng)用多年,業(yè)務(wù)和技術(shù)的發(fā)展受限于數(shù)據(jù)層,業(yè)務(wù)的連續(xù)性也依賴(lài)于底層數(shù)據(jù)的處理,因此,社保系統(tǒng)架構(gòu)基于對(duì)數(shù)據(jù)一致性和可用性原則進(jìn)行設(shè)計(jì)[9],使用數(shù)據(jù)庫(kù)代理路由實(shí)現(xiàn)對(duì)數(shù)據(jù)的分區(qū)分域存儲(chǔ),對(duì)客戶(hù)端屏蔽后端數(shù)據(jù)庫(kù)拆分細(xì)節(jié),增強(qiáng)了拆分規(guī)則的可維護(hù)性,同時(shí),也為程序的適應(yīng)性和擴(kuò)展性提供很大的幫助。
在社保系統(tǒng)進(jìn)行部署時(shí),部署架構(gòu)基于廣義的3層架構(gòu)模型,并參照CSLA.NET框架提出的部分思想進(jìn)行優(yōu)化。在CSLA.NET框架中提出,將一般意義上的業(yè)務(wù)層和數(shù)據(jù)訪(fǎng)問(wèn)層放到同一臺(tái)機(jī)器上可以提高性能和容錯(cuò)性,因此在社保系統(tǒng)的部署時(shí)將這兩層進(jìn)行合并,統(tǒng)稱(chēng)為業(yè)務(wù)層。CSLA.NET框架中的數(shù)據(jù)存儲(chǔ)和管理層未納入3層機(jī)構(gòu),在社保系統(tǒng)中將其作為第3層的數(shù)據(jù)存儲(chǔ)層進(jìn)行統(tǒng)一管理。綜上所述,社保系統(tǒng)從部署角度考慮分為3層:界面層、業(yè)務(wù)層(包含數(shù)據(jù)訪(fǎng)問(wèn)層的業(yè)務(wù)層)、數(shù)據(jù)存儲(chǔ)層。
結(jié)合社保系統(tǒng)的數(shù)據(jù)特點(diǎn)及存儲(chǔ)規(guī)劃,社保系統(tǒng)部署和數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu),如圖3所示。
圖3 鐵路企業(yè)社保系統(tǒng)數(shù)據(jù)規(guī)劃
按年進(jìn)行時(shí)間切分的方式。在實(shí)際應(yīng)用中縱向切分方式可以依據(jù)實(shí)際需要進(jìn)行改進(jìn)。
采用分布式架構(gòu)對(duì)社保系統(tǒng)進(jìn)行搭建,主要是為了解決社保系統(tǒng)面臨大量明細(xì)數(shù)據(jù)的快速、高效查詢(xún)問(wèn)題,解決由于系統(tǒng)過(guò)于復(fù)雜而帶來(lái)的擴(kuò)展性問(wèn)題,全面提高系統(tǒng)的穩(wěn)定性。因此社保系統(tǒng)架構(gòu)主要基于以下3種技術(shù)規(guī)劃和建設(shè)。
在社保系統(tǒng)中NoSQL數(shù)據(jù)庫(kù)集群提供了高效可靠的緩存服務(wù)。數(shù)據(jù)先寫(xiě)入NoSQL數(shù)據(jù)庫(kù),再由NoSQL數(shù)據(jù)庫(kù)寫(xiě)入關(guān)系型數(shù)據(jù)庫(kù);檢索時(shí),系統(tǒng)會(huì)對(duì)NoSQL數(shù)據(jù)庫(kù)進(jìn)行檢索,NoSQL數(shù)據(jù)庫(kù)定時(shí)與關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行同步。另外,社保系統(tǒng)也利用NoSQL數(shù)據(jù)庫(kù)集群搭建了Session共享服務(wù)器,用于解決分布式系統(tǒng)中的Session統(tǒng)一管理問(wèn)題。
域名解析服務(wù)(DNS)和內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)為社保系統(tǒng)在互聯(lián)網(wǎng)中運(yùn)行提供高效、安全、穩(wěn)定的訪(fǎng)問(wèn)機(jī)制。社保系統(tǒng)中職工個(gè)人的社保數(shù)據(jù)提供互聯(lián)網(wǎng)查詢(xún)功能,而個(gè)人的查詢(xún)操作多針對(duì)明細(xì)數(shù)據(jù),智能線(xiàn)路判斷和高效的緩存機(jī)制會(huì)在很大程度上提高系統(tǒng)的響應(yīng)速度。由于CDN的存在,網(wǎng)絡(luò)直接攻擊源IP的可能性降低,對(duì)提高系統(tǒng)的整體安全性也有極大的幫助。
社保系統(tǒng)的數(shù)據(jù)庫(kù)層代理服務(wù)采用基于代理模式的分庫(kù)分表中間件進(jìn)行實(shí)現(xiàn)。分庫(kù)分表中間件的應(yīng)用,屏蔽了關(guān)系型數(shù)據(jù)庫(kù)的物理存儲(chǔ)位置,對(duì)用戶(hù)和開(kāi)發(fā)人員來(lái)說(shuō)面對(duì)的只是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)。執(zhí)行查詢(xún)時(shí)分庫(kù)分表中間件可以對(duì)結(jié)果進(jìn)行過(guò)濾和屏蔽,有效的解決由于網(wǎng)絡(luò)傳輸延遲和服務(wù)器性能差異帶來(lái)的數(shù)據(jù)無(wú)法同一時(shí)間返回的問(wèn)題,同時(shí)分庫(kù)分表中間件一般以關(guān)系型數(shù)據(jù)庫(kù)的原生SQL作為開(kāi)發(fā)語(yǔ)言,支持?jǐn)?shù)據(jù)存儲(chǔ)規(guī)則的統(tǒng)一的配置管理,降低了項(xiàng)目組的學(xué)習(xí)和管理成本,提高了開(kāi)發(fā)效率。
基于分布式架構(gòu)的社保系統(tǒng)已經(jīng)上線(xiàn)運(yùn)行。NOSQL集群和數(shù)據(jù)庫(kù)層代理服務(wù)技術(shù)的全面應(yīng)用,以及內(nèi)容分發(fā)網(wǎng)絡(luò)與域名解析的結(jié)合應(yīng)用,令系統(tǒng)在互聯(lián)網(wǎng)上運(yùn)行的個(gè)人查詢(xún)功能具有較高的安全性和較好的用戶(hù)體驗(yàn)。
例如:在年金模塊的建設(shè)過(guò)程中,不僅僅要滿(mǎn)足當(dāng)前業(yè)務(wù)辦理的需要,也要對(duì)歷年的繳費(fèi)數(shù)據(jù)和各類(lèi)報(bào)表進(jìn)行支持。500萬(wàn)條個(gè)人歷史繳費(fèi)信息在進(jìn)行分布式存儲(chǔ)后,在4 h內(nèi)完成了近10年的各類(lèi)月報(bào)、季報(bào)和年報(bào)的生成。通過(guò)專(zhuān)線(xiàn)的方式,實(shí)現(xiàn)了與外部機(jī)構(gòu)的數(shù)據(jù)交互,規(guī)范和提高了年金業(yè)務(wù)的辦理效率。在系統(tǒng)的推廣過(guò)程中,為了適應(yīng)鐵路企業(yè)不同的內(nèi)部管理要求,必須對(duì)部分程序進(jìn)行修改,同時(shí)由于模塊相對(duì)獨(dú)立,系統(tǒng)的改建范圍較小,極大地降低了改造難度和測(cè)試工作量,提高了系統(tǒng)部署的效率。
社保系統(tǒng)不僅僅是一個(gè)業(yè)務(wù)辦理系統(tǒng),在為領(lǐng)導(dǎo)提供決策支持的同時(shí),更是與鐵路職工利益息息相關(guān),社保系統(tǒng)的建設(shè),能夠做到社保數(shù)據(jù)對(duì)職工公開(kāi)和透明,在一定程度上增加了職工與社保部門(mén)的溝通,降低了總體溝通成本,將會(huì)對(duì)鐵路企業(yè)整體提高社保業(yè)務(wù)的服務(wù)水平起到積極的推動(dòng)作用,也為其他業(yè)務(wù)復(fù)雜、數(shù)據(jù)量較大的系統(tǒng)架構(gòu)規(guī)劃提供了可行的參考方案。