摘 要 網(wǎng)絡(luò)管控系統(tǒng)中,當(dāng)設(shè)備在某一時(shí)間內(nèi)同時(shí)收到的多條指令內(nèi)容之間部分矛盾或具有互斥性時(shí),系統(tǒng)將互斥的指令全部成功發(fā)送至目標(biāo)設(shè)備來執(zhí)行,使設(shè)備執(zhí)行指令時(shí)產(chǎn)生混亂,達(dá)不到預(yù)期的效果。本文設(shè)計(jì)了一種利用訪問控制功能來實(shí)現(xiàn)對(duì)指令內(nèi)容沖突的消除方法。通過訪問控制功能來避免內(nèi)容上相互矛盾的指令同時(shí)出現(xiàn)。
【關(guān)鍵詞】網(wǎng)絡(luò)管控系統(tǒng) 指令內(nèi)容 沖突改進(jìn)RBAC
近年來,隨著需求的豐富,網(wǎng)絡(luò)管控系統(tǒng)的容量不斷增加,用戶對(duì)網(wǎng)絡(luò)系統(tǒng)內(nèi)部的控制需求也逐漸增加。其中,對(duì)于設(shè)備的多用戶同時(shí)控制的相關(guān)需求也變得越來越高,網(wǎng)絡(luò)管控系統(tǒng)必須具備接受并執(zhí)行不同的用戶發(fā)出的不同指令的功能。
當(dāng)不同的用戶同時(shí)向同一設(shè)備發(fā)送不同指令時(shí),系統(tǒng)可以通過使用傳統(tǒng)的沖突消除算法,使同時(shí)發(fā)出的不同指令可以依次傳送到目標(biāo)設(shè)備,并且正確執(zhí)行。但是,如果兩個(gè)不同用戶同時(shí)向同一設(shè)備發(fā)出了相互矛盾的指令(如某種功能的開啟和關(guān)閉),設(shè)備就需要分辨究竟最終該執(zhí)行哪一條指令,才能使系統(tǒng)的運(yùn)行狀態(tài)滿足系統(tǒng)用戶的要求,即解決“誰說了算”的問題。此時(shí),普通的沖突消除算法就不太容易做出正確的判斷,需要其他的解決方案來處理該問題。
針對(duì)該問題,本文提出了通過使用網(wǎng)絡(luò)管控系統(tǒng)中同樣被大量使用的功能——訪問控制功能來處理用戶向同一目標(biāo)發(fā)出的指令內(nèi)容矛盾問題。本文設(shè)計(jì)了一種基于RBAC的改進(jìn)模型以及偽會(huì)話式的沖突消除方法,通過區(qū)分用戶權(quán)限的高低,來判斷當(dāng)同時(shí)出現(xiàn)內(nèi)容互斥的指令時(shí),應(yīng)該達(dá)到哪一條指令執(zhí)行后的狀態(tài)。從而解決指令內(nèi)容矛盾問題。
1 訪問控制模型的設(shè)計(jì)
本文使用了基于角色的訪問控制模型(RBAC模型),并在此基礎(chǔ)上做出改進(jìn)。標(biāo)準(zhǔn)RBAC模型中,用戶對(duì)權(quán)限的執(zhí)行必須通過角色聯(lián)系起來,從而提供對(duì)信息資源訪問的更多控制,而會(huì)話則是一個(gè)用戶對(duì)多個(gè)角色的映射。
通過對(duì)以上模型做出以下少量改進(jìn),來實(shí)現(xiàn)對(duì)同時(shí)產(chǎn)生的內(nèi)容沖突指令進(jìn)行消除工作。
1.1 互斥指令集
設(shè)計(jì)模型中,除了對(duì)網(wǎng)絡(luò)管控系統(tǒng)各種指令基本信息的記錄外,也需要統(tǒng)計(jì)各類內(nèi)容上互斥的指令,并建立多個(gè)互斥指令集。每一個(gè)互斥指令集中的各指令均為互斥。系統(tǒng)中以互斥指令集為依據(jù),來判斷指令內(nèi)容沖突是否發(fā)生。如果某一個(gè)較短的間隔時(shí)間內(nèi),出現(xiàn)不同用戶向同意設(shè)備發(fā)送的兩條指令在同一互斥指令集中,則說明指令內(nèi)容沖突發(fā)生,需要進(jìn)行指令內(nèi)容沖突消除工作。
1.2 用戶優(yōu)先級(jí)設(shè)計(jì)
即在設(shè)計(jì)用戶數(shù)據(jù)信息時(shí),對(duì)用戶進(jìn)行分級(jí)。
網(wǎng)絡(luò)管控系統(tǒng)中,各用戶的地位,所處位置以及職責(zé)都有所不同,因而可以此為依據(jù),將各用戶對(duì)網(wǎng)絡(luò)內(nèi)設(shè)備操作的優(yōu)先級(jí)進(jìn)行區(qū)分,為指令內(nèi)容沖突消除提供依據(jù)。在沖突產(chǎn)生時(shí),即可通過判斷指令內(nèi)容互斥的數(shù)個(gè)指令的發(fā)出用戶的優(yōu)先級(jí)來判斷執(zhí)行其中由優(yōu)先級(jí)最高的用戶發(fā)出的指令。同時(shí),當(dāng)級(jí)別的劃分趨于細(xì)致化時(shí),也就能夠處理更多情況下的指令內(nèi)容沖突。
1.3 偽會(huì)話式?jīng)_突消除方法
當(dāng)指令到達(dá)目的設(shè)備或者目的設(shè)備之前的管理節(jié)點(diǎn)時(shí),系統(tǒng)為指令發(fā)送用戶建立一個(gè)很短時(shí)間“有效期”的記錄,表明用戶正在對(duì)目標(biāo)設(shè)備進(jìn)行指令操作,類似于為用戶對(duì)該目標(biāo)設(shè)備建立一個(gè)短時(shí)間的“會(huì)話狀態(tài)”?!坝行凇币贿^,該“會(huì)話狀態(tài)”自動(dòng)清除。在這個(gè)短時(shí)間的有效期內(nèi),如果有另外的指令到達(dá),該條指令將被認(rèn)為是同時(shí)發(fā)出的指令。當(dāng)不同用戶同時(shí)向同一設(shè)備發(fā)出不同指令時(shí),這些不同的指令會(huì)在很短的時(shí)間內(nèi)依次到達(dá),只要第一條指令被記錄的時(shí)間到最后一條指令的到達(dá)時(shí)間小于設(shè)定好的記錄“有效期”,這些指令均會(huì)被認(rèn)為是同時(shí)發(fā)出的指令。如果它們之間存在內(nèi)容互斥,將會(huì)進(jìn)入內(nèi)容互斥沖突消除過程進(jìn)行處理。
2 內(nèi)容互斥沖突消除的方法
當(dāng)系統(tǒng)中不同用戶發(fā)出向同一設(shè)備不同指令時(shí),這些指令依次到達(dá)設(shè)備或者設(shè)備前的管理節(jié)點(diǎn)。此時(shí)按照以下步驟進(jìn)行相關(guān)處理:
(1)查看該設(shè)備目前有無會(huì)話記錄。如沒有,則認(rèn)為該條指令屬于同時(shí)發(fā)出指令中第一條到達(dá)的,將該指令與發(fā)出該指令的用戶記入會(huì)話狀態(tài)表,并直接執(zhí)行該指令,進(jìn)行下一條指令判斷;如有,則該指令是與會(huì)話狀態(tài)表中的指令是同時(shí)發(fā)出的,進(jìn)入步驟2);
(2)查看互斥指令集,判斷該條指令與會(huì)話狀態(tài)表中的指令是否在同一互斥指令集中。如不是,則該條指令與會(huì)話狀態(tài)表中的指令不存在內(nèi)容互斥,將該指令與發(fā)出該指令的用戶記入會(huì)話狀態(tài)表,并直接執(zhí)行該指令,進(jìn)行下一條指令判斷;如是,則該條指令與會(huì)話狀態(tài)表中的指令存在內(nèi)容互斥,進(jìn)入步驟3);
(3)比較執(zhí)行該條指令的用戶與會(huì)話狀態(tài)表中發(fā)出與該條指令之間存在內(nèi)容互斥用戶的優(yōu)先級(jí),如執(zhí)行該條指令用戶的優(yōu)先級(jí)高,則執(zhí)行該條指令,并修改對(duì)應(yīng)會(huì)話狀態(tài)表內(nèi)容,改為該條指令和發(fā)出該條指令的用戶;如執(zhí)行該條指令用戶的優(yōu)先級(jí)低,則丟棄該條指令,不予執(zhí)行。
綜上,同一時(shí)間發(fā)出的內(nèi)容上互斥的指令,通過以上步驟處理后,優(yōu)先級(jí)最高的用戶的指令將在最后有效執(zhí)行,因此經(jīng)過處理后,設(shè)備的狀態(tài)將會(huì)是優(yōu)先級(jí)最高的用戶執(zhí)行該條指令后的狀態(tài)。以此達(dá)到指令內(nèi)容沖突的效果。
3 內(nèi)容沖突消除過程實(shí)現(xiàn)
設(shè)計(jì)方案以某網(wǎng)絡(luò)信息系統(tǒng)為例,通過一組內(nèi)容互斥指令,按照上一節(jié)提出的方法進(jìn)行實(shí)現(xiàn),驗(yàn)證內(nèi)容沖突消除過程。
系統(tǒng)中存在位于不同網(wǎng)絡(luò)節(jié)點(diǎn)的用戶A,B,C,用戶優(yōu)先級(jí)順序?yàn)锽>A>C。三用戶同時(shí)向某一設(shè)備發(fā)送互斥的指令c1,c2,c3,在會(huì)話有效期內(nèi)該設(shè)備沒有受到任何其他指令。根據(jù)設(shè)定的用戶優(yōu)先級(jí)規(guī)則,指令處理結(jié)束后,設(shè)備狀態(tài)應(yīng)為B執(zhí)行的c2后的狀態(tài)。
假設(shè)到達(dá)順序?yàn)閏1,c2,c3,指令到達(dá)設(shè)備后,系統(tǒng)按照到達(dá)先后依次處理該組指令,具體過程如下:
(1)收到c1,查找會(huì)話指令表,沒有c1記錄,執(zhí)行c1,將c1的指令相關(guān)信息記入會(huì)話記錄表;
(2)收到c2,查找會(huì)話指令表,其中有會(huì)話記錄;查看互斥指令集,發(fā)現(xiàn)c1與c2互斥,比較A,B優(yōu)先級(jí),B〉A(chǔ),執(zhí)行c2,此時(shí)c1狀態(tài)失效,c2生效,會(huì)話記錄修改為c2的指令相關(guān)信息;
(3)收到c3,同上一步,比較B,C優(yōu)先級(jí),B〉C,不執(zhí)行c3并丟棄。
執(zhí)行完畢后,用戶優(yōu)先級(jí)最高的B用戶執(zhí)行的c2指令生效,內(nèi)容沖突方法得到驗(yàn)證。
4 結(jié)束語
本文提出了一種在網(wǎng)絡(luò)管控系統(tǒng)中,解決指令內(nèi)容沖突問題的方法,并通過具體示例得以驗(yàn)證。該方案借用了網(wǎng)絡(luò)管控系統(tǒng)中另外一個(gè)被廣泛使用的功能——訪問控制功能,對(duì)訪問控制模型作出較少的修改,且不破壞其原有功能,而較為有效地解決了系統(tǒng)中存在的一個(gè)較為重要的問題——指令內(nèi)容沖突問題,保證了網(wǎng)絡(luò)管控系統(tǒng)的正常運(yùn)行,在滿足網(wǎng)絡(luò)信息系統(tǒng)的多樣化、大型化、復(fù)雜化的需求上,作出了一定的保證。
參考文獻(xiàn)
[1]宋振.基于角色和任務(wù)的權(quán)限管理擴(kuò)展模型研究及應(yīng)用[D].長(zhǎng)沙:長(zhǎng)沙理工大學(xué),2008.
[2]王林.大型自動(dòng)控制設(shè)備通信中沖突檢測(cè)消除方法研究[J].科技通報(bào),2013.29(05):122-125.
[3]楊成.云計(jì)算訪問控制技術(shù)研究[J].通訊世界,2016(09):39.
[4]崔家瑋,李冰,李弼程.基于Dempster組合規(guī)則適用條件的沖突證據(jù)組合[J].信息工程大學(xué)學(xué)報(bào),2015.16(01),59-65.
作者簡(jiǎn)介
張可人(1990-),男,碩士學(xué)位?,F(xiàn)工作于中國(guó)電子科技集團(tuán)公司第二十研究所。
作者單位
中國(guó)電子科技集團(tuán)公司第二十研究所 陜西省西安市 710068