摘 要:針對物資管理系統(tǒng)使用過程中所遇到的風險,首先設計3種可靠性策略以保證系統(tǒng)數(shù)據(jù)的安全性。在此基礎上,設計實現(xiàn)了一種基于Browser/Server結(jié)構的高可靠性物資管理系統(tǒng)。通過系統(tǒng)實際運行結(jié)果分析,該系統(tǒng)可以有效實現(xiàn)物資管理以及保證系統(tǒng)數(shù)據(jù)安全可靠。
關鍵詞:物資管理;數(shù)據(jù)安全;可靠性策略;Browser/Server結(jié)構
中圖分類號:TM769
物資管理系統(tǒng)[1]是針對企業(yè)物資的入庫、領用、庫存等情況進行管理,以及使管理者準確及時地掌握相關物資信息從而幫助其做出正確決策的一種工具。目前,物資管理系統(tǒng)使用過程中往往遇到以下兩類風險:一是多用戶條件下隱私數(shù)據(jù)泄露問題;二是多用戶條件下數(shù)據(jù)不一致問題。本文針對上述風險,在現(xiàn)有物資管理信息技術的基礎上,設計并實現(xiàn)了一個高可靠性的物資管理系統(tǒng),基本思想是采用B/S(Browser/Server,瀏覽器/服務器模式)架構實現(xiàn)多用戶管理物資信息,采用事務隔離劃分技術以及用戶權限分發(fā)管理技術實現(xiàn)管理系統(tǒng)的高可靠性。
1 數(shù)據(jù)可靠性技術設計
為保證物資管理系統(tǒng)的高可靠性,我們設計以下3種策略。
策略1:用戶權限分發(fā)管理技術[2-3]
每個用戶可分配一個或多個角色,每個角色賦予一個或多個權限。在用戶進行操作時將驗證這個用戶的角色是否具備該權限,以達到訪問控制的目的。
策略2:事務隔離劃分技術[4]
在多用戶同時訪問數(shù)據(jù)庫相同數(shù)據(jù)時,往往會出現(xiàn)下列數(shù)據(jù)不一致問題。
(1)臟讀取(Dirty Read):一個事務讀取了被其他事務寫入但還未提交的數(shù)據(jù)。
(2)不可重復讀取(Non-repeatable Read):一個事務再次讀取其之前曾經(jīng)讀取過的數(shù)據(jù)時,發(fā)現(xiàn)數(shù)據(jù)已被其他已提交的事務修改或刪除。
(3)不存在讀?。≒hantom Read):事務按照之前的條件重新查詢時,返回的結(jié)果集中包含其他已提交事務插入的滿足條件的新數(shù)據(jù)。
為避免上述現(xiàn)象又必須充分提高用戶并發(fā)處理速度,根據(jù)數(shù)據(jù)局部性原理,我們通過智能監(jiān)控事務沖突的環(huán)境,自適應調(diào)整隔離級別。我們設置以下4種隔離級別:
(1)讀未提交(Read Uncommitted):允許臟讀取,但不允許更新丟失。如果一個事務已經(jīng)開始寫數(shù)據(jù),則另外一個數(shù)據(jù)不允許同時進行寫操作,但允許其他事務讀此行數(shù)據(jù)。
(2)讀提交(Read Committed):允許不可重復讀取,但不允許臟讀取。讀取數(shù)據(jù)的事務允許其他事務繼續(xù)訪問該行數(shù)據(jù),但是未提交的寫事務將會禁止其他事務訪問該行。
(3)可重復讀?。≧epeatable Read):禁止不可重復讀取和臟讀取,但是有時可能出現(xiàn)不存在讀取。讀取數(shù)據(jù)的事務將會禁止寫事務(但允許讀事務),寫事務則禁止任何其他事務。
(4)序列化(Serializable):提供嚴格的事務隔離,要求事務序列化執(zhí)行。
策略3:審批技術
為進一步保證關鍵數(shù)據(jù)的安全,我們將記錄用戶的所有行為,用戶的關鍵事務處理只有通過審批機制才能生效。其具體流程如下圖所示。
如圖所示,權限驗證模塊根據(jù)用戶提交的事務辨別出合法事務,關鍵事務識別模塊將在所有合法事務中挑選出關鍵事務提交給事務審批模塊進行審批,審批結(jié)果回饋給用戶,若通過審批,則此事務生效。
2 系統(tǒng)設計實現(xiàn)
在上述技術基礎上,設計實現(xiàn)了基于B/S結(jié)構的高可靠性物資管理系統(tǒng),該系統(tǒng)具備以下功能:(1)管理物資信息;(2)保證數(shù)據(jù)安全可靠。
2.1 系統(tǒng)體系結(jié)構
該系統(tǒng)采用B/S的3層體系結(jié)構。
(1)第一層,用戶通過瀏覽器提交對數(shù)據(jù)庫操作的請求。
(2)第二層的Web服務器根據(jù)不同用戶的請求進行相應的業(yè)務邏輯處理,并根據(jù)請求與數(shù)據(jù)庫服務器連接進行數(shù)據(jù)的操作,并將結(jié)果返回到第一層。
(3)第三層,數(shù)據(jù)庫服務器負責具體數(shù)據(jù)的存儲和實際的數(shù)據(jù)操作。
基于B/S的3層體系結(jié)構具備良好的拓展性,易于跨域操作,并且由于Web服務器將后臺數(shù)據(jù)庫屏蔽,避免直接操作數(shù)據(jù)庫的可能性,大大增加了系統(tǒng)的安全性。
2.2 系統(tǒng)功能設計
系統(tǒng)功能模塊設計如下圖所示。
系統(tǒng)分為事務響應、關鍵事務判斷,事務審批,權限驗證,數(shù)據(jù)庫管理5個模塊,其中數(shù)據(jù)庫管理模塊又由用戶管理、權限管理、物資管理、角色管理。日志管理等5個子模塊組成,其具體功能如下:
(1)事務響應模塊,根據(jù)用戶對數(shù)據(jù)庫操作的請求,產(chǎn)生響應事務;
(2)權限驗證模塊,根據(jù)用戶角色、部門等基本信息判斷該用戶請求響應事務是否合法;
(3)關鍵事務判斷模塊,根據(jù)一系列合法事務判定出關鍵事務,并將其提交審批模塊審批;
(4)事務隔離設置模塊,根據(jù)事務沖突環(huán)境,自適應調(diào)整隔離級別;
(5)數(shù)據(jù)庫管理模塊,根據(jù)提交的合法事務或關鍵事務對數(shù)據(jù)庫進行管理,包括:
①用戶管理,管理用戶基本信息,對用戶信息進行登記、修改、查看;
②角色管理,管理角色基本信息,對角色信息進行登記、修改、查看。并且管理角色所具備的權限;
③權限管理,管理權限基本信息,對權限信息進行登記、修改、查看。并且管理該權限所允許和禁止的所有操作;
④物資管理,管理物資基本信息,包括性能、位置、指標等等;登記、修過、查看物資出庫、入庫、庫存、使用等情況;同時可根據(jù)用戶需求產(chǎn)生相關報表,以供管理者參考決策;
⑤日志管理,管理日志基本信息,記錄所有用戶事務信息。并且可根據(jù)用戶需求對日志進行備份、還原等操作。
3 結(jié)語
本文首先設計保證系統(tǒng)數(shù)據(jù)安全的3種策略,在此基礎上設計實現(xiàn)了基于B/S結(jié)構的高可靠性物資管理系統(tǒng),能夠規(guī)范、科學地管理物資信息,并有效解決系統(tǒng)在使用過程中遇到的多用戶并發(fā)條件下數(shù)據(jù)不一致和數(shù)據(jù)隱私泄露等安全問題,大大增強了物資管理系統(tǒng)的可靠性。
參考文獻:
[1]BAIDU.物資管理信息化[EB/OL].(2013-05)[2013-11-23].http://baike.baidu.com/link?url=8eKdpUpKGlM3HQjhn2Am0z4M2YXSsozXXEQlJ84Z8BJK9TrUdVRa_5yv_oITJGixuQA6rfv_mDdo63uciAFlAq.
[2]鄧文洋,周洲儀,林思明,劉金剛.開放式環(huán)境下一種基于信任度的RBAC模型[J].計算機工程,2013,2(7):112-118.
[3]RENREN.RBAC綜述[EB/OL].(2013-05)[2013-11-23].http://blog.renren.com/share/240440031/4397912351.
[4]BAIDU.Oracle事務控制、數(shù)據(jù)并發(fā)性和一致性[EB/OL].(2012-10)[2013-11-23].http://wenku.baidu.com/link?url=-DmZR-dHHJxdBooo-rXzVH6iBL7UmbiOEg33CVSVk0wPQCe1rzydKgVHIpKOJJ3qpRZ5zu8gVcS323AOEtH-VhfvnMIPIv2sAcxEF2m9QY7.
作者簡介:何鎵(1989.03-),男,福建三明人,本科,助理工程師,研究方向:網(wǎng)絡信息安全。
作者單位:中國華藝廣播公司華廣網(wǎng),福州 350003