李文寶
(中國鐵路總公司 信息技術(shù)中心,北京 100844)
雜費(fèi)核收系統(tǒng)是貨運(yùn)制票系列軟件中一個子系統(tǒng),在鐵路貨運(yùn)業(yè)務(wù)流程中處于站到站運(yùn)輸末端,貨物到站交付是一批站到站運(yùn)輸?shù)慕Y(jié)束標(biāo)志,在整個運(yùn)輸過程中占有非常重要的地位。本系統(tǒng)主要完成貨物到站后的票貨確認(rèn),是否發(fā)生匿報(bào)、變更作業(yè)等,根據(jù)在到站實(shí)際發(fā)生的貨運(yùn)作業(yè)及票貨核對情況核算到站雜費(fèi),交付完成后對本次運(yùn)輸銷號。對發(fā)現(xiàn)的漏收、多收通過本系統(tǒng)進(jìn)行補(bǔ)退,保障鐵路收入安全的重要手段。按自然日上報(bào)財(cái)收包至鐵路局,各鐵路局匯總至鐵路總公司。雜費(fèi)票據(jù)信息同時是收入部門、資金清算部門、貨運(yùn)運(yùn)輸部門等業(yè)務(wù)處室統(tǒng)計(jì)、分析重要數(shù)據(jù)依據(jù),保障雜費(fèi)數(shù)據(jù)的不被篡改、盜取和有效共享對整個鐵路運(yùn)輸具有非常重要的意義。
貨運(yùn)雜費(fèi)子系統(tǒng)自投入生產(chǎn)以來,為了滿足不同車站的需求,根據(jù)車站實(shí)際情況開發(fā)了單機(jī)與網(wǎng)絡(luò)兩種運(yùn)行模式。
單機(jī)模式不需要安裝數(shù)據(jù)庫軟件,以嵌入式數(shù)據(jù)庫作為系統(tǒng)數(shù)據(jù)存儲介質(zhì),適用于單制票點(diǎn)、硬件和網(wǎng)絡(luò)服務(wù)條件不佳車站部署;或有多制票機(jī)但各制票機(jī)工作物理分離,數(shù)據(jù)共享需求弱的車站。
網(wǎng)絡(luò)模式需要有一臺單獨(dú)的安裝有Oracle數(shù)據(jù)庫的服務(wù)器,各制票機(jī)均連接到該服務(wù)器運(yùn)行。適用于多制票點(diǎn)及硬件和網(wǎng)絡(luò)條件較好,且需要多制票機(jī)間共享數(shù)據(jù)的車站部署。
國際標(biāo)準(zhǔn)化組織(ISO)對計(jì)算機(jī)系統(tǒng)安全的定義:為數(shù)據(jù)處理系統(tǒng)建立和采用的技術(shù)和管理的安全保護(hù),保護(hù)計(jì)算機(jī)硬件、軟件和數(shù)據(jù)不因偶然和惡意的原因遭到破壞、更改和泄露。數(shù)據(jù)安全有對立的3方面的含義 :(1)數(shù)據(jù)本身的安全,主要是指采用現(xiàn)代密碼算法對數(shù)據(jù)進(jìn)行主動保護(hù),如數(shù)據(jù)保密、數(shù)據(jù)完整性、雙向強(qiáng)身份認(rèn)證等。(2)數(shù)據(jù)防護(hù)的安全,主要是采用現(xiàn)代信息存儲手段對數(shù)據(jù)進(jìn)行主動防護(hù),數(shù)據(jù)安全是一種主動的包含措施,數(shù)據(jù)本身的安全必須基于可靠的加密算法與安全體系,主要是有對稱算法與公開密鑰密碼體系兩種。(3)數(shù)據(jù)存儲的安全,主要是指數(shù)據(jù)庫在系統(tǒng)運(yùn)行之外的可讀性,數(shù)據(jù)本身是否進(jìn)行安全設(shè)計(jì),例如:一個標(biāo)準(zhǔn)的ACCESS數(shù)據(jù)庫,懂得一些基本方法的計(jì)算機(jī)人員,都可以打開閱讀或修改。一旦數(shù)據(jù)庫被盜,即使沒有原來的系統(tǒng)程序,照樣可以另外編寫程序?qū)ΡI取的數(shù)據(jù)庫進(jìn)行查看或修改。
(1)保密性:又稱機(jī)密性,是指個人或團(tuán)體的信息不為其他不應(yīng)獲得者獲得。(2)完整性:數(shù)據(jù)完整性是信息安全的3個基本要點(diǎn)之一,指在傳輸、存儲信息或數(shù)據(jù)的過程中,確保信息或數(shù)據(jù)不被未授權(quán)的篡改或在篡改后能夠被迅速發(fā)現(xiàn)。(3)可用性:數(shù)據(jù)可用性是一種以使用者為中心的設(shè)計(jì)概念,易用性設(shè)計(jì)的重點(diǎn)在于讓產(chǎn)品的設(shè)計(jì)能夠符合使用者的習(xí)慣與需求。
本系統(tǒng)為運(yùn)行在車站制票機(jī)上的桌面程序,為適應(yīng)全路不同貨運(yùn)車站開發(fā)設(shè)計(jì)單機(jī)版和網(wǎng)絡(luò)版系統(tǒng)。單機(jī)模式數(shù)據(jù)存儲于本地嵌入式數(shù)據(jù)庫,本系統(tǒng)采用的SQL Lite數(shù)據(jù)庫。網(wǎng)絡(luò)模式存儲于Oracle數(shù)據(jù)庫。
為保障數(shù)據(jù)的安全,同時兼顧系統(tǒng)開發(fā)難度,設(shè)計(jì)數(shù)據(jù)庫中間層負(fù)責(zé)系統(tǒng)與數(shù)據(jù)的交互,保障數(shù)據(jù)的保密性、完整性、可用性。
2.3.1 單機(jī)版系統(tǒng)數(shù)據(jù)安全設(shè)計(jì)實(shí)現(xiàn)
(1)保密性:單機(jī)版系統(tǒng)采用開源嵌入式數(shù)據(jù)庫Sq l Lite。為保障其保密性,在其源碼基礎(chǔ)上增加本系統(tǒng)信息,重新編譯生成本系統(tǒng)能用的版本,使通用Sq l Lite驅(qū)動無法讀取打開而實(shí)現(xiàn)數(shù)據(jù)文件的安全隱蔽。數(shù)據(jù)文件按數(shù)據(jù)屬性隨機(jī)分隔成多個文件,各文件間存在必要的邏輯校驗(yàn),杜絕第三方軟件或黑客盜取數(shù)據(jù)文件后還原數(shù)據(jù)。
(2)完整性、可用性:單機(jī)版系統(tǒng)數(shù)據(jù)庫文件分散存儲后,使數(shù)據(jù)完整、可用變得極為重要,如何還原數(shù)據(jù)、保障數(shù)據(jù)不被篡改,確保數(shù)據(jù)完整正確是系統(tǒng)正常運(yùn)行的保障。數(shù)據(jù)庫中間層的設(shè)計(jì)實(shí)現(xiàn)解決了數(shù)據(jù)的完整、可用。
單機(jī)模式下數(shù)據(jù)庫中間層根據(jù)貨運(yùn)站雜費(fèi)系統(tǒng)本地配置參數(shù),打開對應(yīng)的數(shù)據(jù)庫文件,按照與雜費(fèi)核收系統(tǒng)約定的一組數(shù)據(jù)訪問接口實(shí)現(xiàn)數(shù)據(jù)的讀、寫、查。數(shù)據(jù)庫中間層定義一組可能發(fā)生的返回情況,系統(tǒng)通過調(diào)用接口獲得數(shù)據(jù)和執(zhí)行返回值,通過執(zhí)行返回值獲知操作的成功與否。
單機(jī)版雜費(fèi)核收系統(tǒng)、數(shù)據(jù)庫中間層、邏輯數(shù)據(jù)庫與物理存儲如圖1所示。
圖1 單機(jī)版雜費(fèi)核收系統(tǒng)、數(shù)據(jù)庫中間層、邏輯數(shù)據(jù)庫與物理存儲
2.3.2 網(wǎng)絡(luò)版系統(tǒng)數(shù)據(jù)安全設(shè)計(jì)實(shí)現(xiàn)
(1)保密性:網(wǎng)絡(luò)版系統(tǒng)采用Oracle數(shù)據(jù)庫。為保障其保密性,對數(shù)據(jù)庫中重要數(shù)據(jù)庫表、關(guān)鍵數(shù)據(jù)項(xiàng)進(jìn)行加密處理,保障了數(shù)據(jù)的不可讀、不可篡改。數(shù)據(jù)庫用戶系統(tǒng)設(shè)定規(guī)則,按照貨運(yùn)站創(chuàng)建,避免不同車站用相同用戶名造成的數(shù)據(jù)庫用戶、口令被盜。
(2)完整性、可用性:網(wǎng)絡(luò)版系統(tǒng)對數(shù)據(jù)庫中重要數(shù)據(jù)庫表、關(guān)鍵數(shù)據(jù)項(xiàng)進(jìn)行加密處理,數(shù)據(jù)完整、可用變得極為重要,如何還原數(shù)據(jù)、保障數(shù)據(jù)不被篡改,確保數(shù)據(jù)完整正確是系統(tǒng)正常運(yùn)行的保障。數(shù)據(jù)庫中間層的設(shè)計(jì)實(shí)現(xiàn)解決了數(shù)據(jù)的完整、可用。
網(wǎng)絡(luò)模式下數(shù)據(jù)庫中間層會根據(jù)貨運(yùn)站雜費(fèi)系統(tǒng)本地配置參數(shù),連接到Oracle數(shù)據(jù)庫,按照與雜費(fèi)核收系統(tǒng)約定的一組數(shù)據(jù)訪問接口實(shí)現(xiàn)數(shù)據(jù)的讀、寫、查。數(shù)據(jù)庫中間層定義一組可能發(fā)生的返回情況,系統(tǒng)通過調(diào)用接口獲得數(shù)據(jù)和執(zhí)行返回值,通過執(zhí)行返回值獲知操作的成功與否。
網(wǎng)絡(luò)版雜費(fèi)核收系統(tǒng)、數(shù)據(jù)庫中間層、邏輯數(shù)據(jù)庫與物理存儲如圖2所示。
2.3.3 數(shù)據(jù)安全設(shè)計(jì)實(shí)現(xiàn)總結(jié)
圖2 網(wǎng)絡(luò)版雜費(fèi)核收系統(tǒng)、數(shù)據(jù)庫中間層、邏輯數(shù)據(jù)庫與物理存儲
因雜費(fèi)核收系統(tǒng)的特殊要求與在貨運(yùn)運(yùn)輸中的地位,在數(shù)據(jù)源頭,車站級軟件進(jìn)行的數(shù)據(jù)安全方面的設(shè)計(jì)是必要的。但是同時也為系統(tǒng)軟件設(shè)計(jì)開發(fā)帶了極大困難,數(shù)據(jù)庫中間層的設(shè)計(jì)有效的解決了系統(tǒng)的復(fù)雜性,同時保障了數(shù)據(jù)安全性,但數(shù)據(jù)的加密存儲、分散存儲也為后續(xù)的數(shù)據(jù)應(yīng)用帶來的不便,在下一章節(jié)將介紹數(shù)據(jù)共享。
數(shù)據(jù)共享就是讓在不同地方使用不同計(jì)算機(jī)、不同軟件的用戶能夠讀取他人數(shù)據(jù)并進(jìn)行各種操作運(yùn)算和分析。本系統(tǒng)的數(shù)據(jù)共享是車站級其它貨運(yùn)系統(tǒng)間的數(shù)據(jù)交互。因雜費(fèi)核收系統(tǒng)處于運(yùn)輸?shù)沫h(huán)節(jié)末端,與車站作業(yè)緊密相關(guān),所以本系統(tǒng)的數(shù)據(jù)共享程度將直接影響整個貨運(yùn)系統(tǒng)運(yùn)行。
車站級雜費(fèi)核收系統(tǒng)按運(yùn)行模式分為單機(jī)模式與網(wǎng)絡(luò)模式,因數(shù)據(jù)庫存儲方式的區(qū)別,在設(shè)計(jì)數(shù)據(jù)共享方面也同時考慮到兩種共享模式:文件方式數(shù)據(jù)共享與數(shù)據(jù)庫方式數(shù)據(jù)共享。
本系統(tǒng)在保障數(shù)據(jù)機(jī)密性的前提下結(jié)合其它相關(guān)貨運(yùn)系統(tǒng)對雜費(fèi)核收系統(tǒng)數(shù)據(jù)的需求,制定了相應(yīng)共享等級,不同共享等級獲得的數(shù)據(jù)不同,即:實(shí)現(xiàn)可控的數(shù)據(jù)共享。共享的實(shí)現(xiàn)通過數(shù)據(jù)庫中間層來實(shí)現(xiàn),共享等級與貨運(yùn)站、具體應(yīng)用系統(tǒng)相關(guān)。共享的格式及數(shù)據(jù)項(xiàng)以文電方式發(fā)布通知各應(yīng)用系統(tǒng)。
(1)文件方式數(shù)據(jù)共享,顧名思義該方式是以文件方式進(jìn)行交互,文件的格式是在文電中定義好的,接收共享數(shù)據(jù)的應(yīng)用系統(tǒng)在指定目錄下按照自身共享級別及對應(yīng)的文件格式解析共享數(shù)據(jù)。是否共享的開關(guān)在雜費(fèi)核收系統(tǒng)中設(shè)置。
文件方式數(shù)據(jù)共享示意圖如圖3所示。
圖3 文件方式數(shù)據(jù)共享示意圖
(2)數(shù)據(jù)庫方式數(shù)據(jù)共享,因系統(tǒng)運(yùn)行模式的區(qū)別,該方式只適用于雜費(fèi)核收系統(tǒng)的網(wǎng)絡(luò)模式。該方式共享交互是在數(shù)據(jù)庫中進(jìn)行的,接收共享數(shù)據(jù)的應(yīng)用系統(tǒng)需要到本系統(tǒng)指定的共享數(shù)據(jù)表中讀取數(shù)據(jù)。共享數(shù)據(jù)單向不循環(huán),修改后的數(shù)據(jù)不會寫會雜費(fèi)核收系統(tǒng)。接收共享數(shù)據(jù)的應(yīng)用系統(tǒng)按照自身共享級別及對應(yīng)的共享數(shù)據(jù)項(xiàng)在共享表中讀取數(shù)據(jù)。不同共享級別的共享數(shù)據(jù)項(xiàng)不同。數(shù)據(jù)庫方式數(shù)據(jù)共享示意圖如4所示。
圖4 數(shù)據(jù)庫方式數(shù)據(jù)共享示意圖
(3)數(shù)據(jù)共享設(shè)計(jì)實(shí)現(xiàn)總結(jié),本系統(tǒng)數(shù)據(jù)共享按照事先約定的共享方式、共享程度做到了對數(shù)據(jù)進(jìn)行有效可控的共享,根據(jù)不同貨運(yùn)站、應(yīng)用系統(tǒng)控制共享級別既是數(shù)據(jù)安全的延伸又做到了靈活可控。數(shù)據(jù)共享與否的開關(guān)可以在雜費(fèi)核收系統(tǒng)中設(shè)置,雜費(fèi)核收系統(tǒng)運(yùn)行中對數(shù)據(jù)的操作通過數(shù)據(jù)庫中間層實(shí)時反映到共享數(shù)據(jù)表或數(shù)據(jù)文件中,為其他的貨運(yùn)系統(tǒng)提供及時、便捷、準(zhǔn)確的數(shù)據(jù)支撐。
車站級雜費(fèi)核收系統(tǒng)是整個站到站貨運(yùn)運(yùn)輸末端,一批運(yùn)輸?shù)耐杲Y(jié)標(biāo)志,對貨運(yùn)數(shù)據(jù)統(tǒng)計(jì)分析及組織、生產(chǎn)、運(yùn)輸起著重要的作用,同時又是雜費(fèi)費(fèi)用核收、補(bǔ)退款唯一手段,對保障鐵路貨運(yùn)財(cái)務(wù)安全起著重要的作用。在數(shù)據(jù)源頭車站級設(shè)計(jì)開發(fā)配套數(shù)據(jù)安全與共享機(jī)制是必要的。