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