国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

探討基于RBAC的實時通信更新異地數(shù)據(jù)庫

2020-10-21 13:08:47周嘉麗師靚

周嘉麗 師靚

摘 要:本文從闡釋RBAC模型的基本原理入手,針對異地數(shù)據(jù)庫實時通信方案的設(shè)計思路進(jìn)行分析,采用SQL語言分別完成消息規(guī)則格式、刪除記錄、修改記錄、插入記錄的編寫,并基于WinSock程序?qū)崿F(xiàn)通信。檢測結(jié)果表明,基于RBAC模型能夠有效實現(xiàn)異地數(shù)據(jù)庫的實時通信與數(shù)據(jù)更新,具備良好應(yīng)用價值。

關(guān)鍵詞:異地數(shù)據(jù)庫;實時通信;分布式站點(diǎn)

引言

當(dāng)前分布式數(shù)據(jù)庫已基本普及,多數(shù)企事業(yè)單位均通過構(gòu)建異地數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的保存,保障數(shù)據(jù)完整性與安全性。但在數(shù)據(jù)傳輸?shù)倪^程中,如何保障通信的實時性與數(shù)據(jù)精度、實現(xiàn)數(shù)據(jù)庫的同步更新,成為當(dāng)前亟待解決的問題。

1 RBAC模型原理與實時通信方案

1.1 RBAC模型的基本原理

分布式數(shù)據(jù)庫主要通過傳輸網(wǎng)絡(luò)將原數(shù)據(jù)庫中的數(shù)據(jù)分散存儲在相應(yīng)節(jié)點(diǎn)上,擴(kuò)大數(shù)據(jù)庫容量與并發(fā)訪問量,在此模式下催生了一種基于角色的訪問控制模型(RBAC),用于識別訪問信息系統(tǒng)的人員、數(shù)據(jù)等是否具備合法性,以此實現(xiàn)訪問控制與權(quán)限管理。RBAC模型由用戶、角色、權(quán)限三個模塊組成,利用角色實現(xiàn)用戶與權(quán)限間的連接,依據(jù)角色的工作職責(zé)授予其相應(yīng)訪問權(quán)限,再完成角色的分配。該模型實現(xiàn)了系統(tǒng)用戶與訪問權(quán)限間的有效對接,在用戶職責(zé)發(fā)生變動的條件下可通過邏輯分離進(jìn)行角色權(quán)限的修改,減少授權(quán)流程及對系統(tǒng)運(yùn)行狀態(tài)造成的影響,為系統(tǒng)與數(shù)據(jù)安全提供保障[1]。

1.2實時通信方案設(shè)計

在分布式數(shù)據(jù)庫模式下為實現(xiàn)異地數(shù)據(jù)庫不同站點(diǎn)數(shù)據(jù)的實時更新,可利用通信技術(shù)傳送消息,完成異地數(shù)據(jù)庫表的實時修改,由各站點(diǎn)的DBA分別向其余站點(diǎn)發(fā)送消息,當(dāng)其他站點(diǎn)接收到消息后完成消息解碼,將結(jié)合消息內(nèi)容進(jìn)行字段分析與提取,利用數(shù)據(jù)庫功能進(jìn)行數(shù)據(jù)的自動修改與對表操作,結(jié)合操作類別生成相應(yīng)的通訊編碼,完成一輪通信傳輸[2]。

2實時通信模式下數(shù)據(jù)庫更新機(jī)制及一致性檢測

2.1消息規(guī)則約定

2.1.1消息規(guī)則格式

為實現(xiàn)異地數(shù)據(jù)庫的實時通信,需圍繞服務(wù)器與用戶工作站間完成消息規(guī)則的約定,基于統(tǒng)一消息規(guī)則進(jìn)行收發(fā)消息的解碼,并修改表記錄。在數(shù)據(jù)庫更新環(huán)節(jié),將主動生成修改后的表名、列名以及對應(yīng)的參數(shù),基于SQL語言編寫消息規(guī)則格式并進(jìn)行定義,將“#”設(shè)為信息段的分隔號,則消息規(guī)則格式為:

表名#對表操作#所需的表字段信息

2.1.2刪除表記錄

基于SQL語言刪除表記錄,將其表示為:

Delete From 表名 Where 條件

通常在同一數(shù)據(jù)庫表內(nèi)的主關(guān)鍵字是唯一的,因此可通過提取主鍵的字段進(jìn)行刪除表記錄時所需滿足條件的定義,基于“表名#刪除#主鍵”的約定執(zhí)行刪除表的操作。在此過程中僅需提取出刪除表記錄對應(yīng)的主鍵的列名與參數(shù)值,無需考慮其他字段。

2.1.3修改表記錄

基于SQL語言修改表記錄,將其表示為:

Update表名 Set 列名1=值1,列名2=值2,…Where 條件

由于在同一數(shù)據(jù)庫內(nèi)的主鍵是唯一的,因此將主鍵的字段進(jìn)行提取,確定為修改表記錄所需滿足的條件,基于“表名#修改#主鍵#列名1=值1,列名2=值2,…”的約定執(zhí)行修改表的操作。在此過程中通過將修改表記錄對應(yīng)的列名、值進(jìn)行提取,即可實現(xiàn)對各列值的重置。

2.1.4插入表記錄

基于SQL語言插入表記錄,將其表示為:

Insert Into 表名 [列名1,列名2,…]Values(值1,值2,…)

借鑒主鍵的唯一性特征提取字段、確定為插入記錄所需滿足的條件,將各列名和對應(yīng)的列值進(jìn)行提取,基于“表名#插入#列名1,列名2,…#值1,值2,…”約定執(zhí)行插入表記錄的操作。在此過程中用戶工作站在接收到服務(wù)器發(fā)送的消息后,僅需依照上述SQL語句將固定語法部分寫入,即可完成SQL語句,無需進(jìn)行消息解析。

2.2通信實現(xiàn)機(jī)制

基于Winsock規(guī)范進(jìn)行通信程序的編寫,通過調(diào)用網(wǎng)絡(luò)編程接口Windows Sockets的下層網(wǎng)絡(luò)通信協(xié)議與API接口即可實現(xiàn)用戶工作站與服務(wù)器間的通信。當(dāng)用戶針對服務(wù)器中的數(shù)據(jù)庫進(jìn)行修改處理后,系統(tǒng)將自動將修改指令發(fā)送至用戶工作站,依據(jù)接收到的消息在異地數(shù)據(jù)庫中完成數(shù)據(jù)的修改,實現(xiàn)同步更新。假設(shè)從服務(wù)器向用戶工作站發(fā)送消息,需獲取到具體的表名、修改行的列名與列值,以此保障異地數(shù)據(jù)庫中表記錄的實時更新。其程序代碼為:

string 1s_colcount

1s_colcount=w_input.dw_1.Describe(“DataWindow.Column.Count”)

……

//獲得表名,修改行的列名與列值

for ncount=1 to count-1

field_name=w_input.dw_1.Describe(“#”+string(ncount)+“.Name”)

field_value=w_input.dw_1.getitemstring(w_+input.dw_1.getrow(),ncount)

totalstring=totalstring+field_name+“—”+field_value+“,”

next

……

//獲得待發(fā)送消息

mle_2.test=xiao_xi+“#”+“修改”+key_name+“=”+key_value+“+”“#”+trim(totalstring)+“#”

服務(wù)器端在運(yùn)行過程中將對用戶工作站端進(jìn)行監(jiān)聽,當(dāng)監(jiān)聽成功后將發(fā)送一個消息,在文本框內(nèi)輸入SQL語句即可將消息發(fā)送至用戶工作站端,由用戶輸入IP地址,針對監(jiān)聽到的信息進(jìn)行解析處理、轉(zhuǎn)換為SQL語句,利用數(shù)據(jù)庫功能實現(xiàn)對用戶工作站數(shù)據(jù)庫的修改。

2.3數(shù)據(jù)一致性檢測

為檢驗該方法的實用性與準(zhǔn)確性,擬針對傳輸數(shù)據(jù)的一致性進(jìn)行檢測。設(shè)服務(wù)器端數(shù)據(jù)塊的摘要值為N(c)、變更后的異地數(shù)據(jù)塊摘要值為N(Δc)、異地數(shù)據(jù)塊摘要值為N(ΔC),當(dāng)出現(xiàn)變更后的異地數(shù)據(jù)時需將數(shù)據(jù)發(fā)送至服務(wù)器端數(shù)據(jù)庫中,利用數(shù)據(jù)服務(wù)中心進(jìn)行摘要值的計算,并將數(shù)據(jù)包序列號設(shè)為Y。假設(shè)在t時刻數(shù)據(jù)包序列號為Yn=Yn-1+1|Yn∈Y∧Yn-1∈N|,且摘要值、累積摘要值的計算結(jié)果分別為N(c)=N(C)c=c和N(C)=N(C)C=C,可判斷異地數(shù)據(jù)庫更新的數(shù)據(jù)與服務(wù)器端數(shù)據(jù)庫保持一致,即通過一致性檢測。將某服務(wù)器端數(shù)據(jù)庫與用戶工作站端數(shù)據(jù)庫在數(shù)據(jù)修改后的具體數(shù)值輸入到該計算模型中,測試結(jié)果表明兩數(shù)據(jù)庫的數(shù)據(jù)相同,符合數(shù)據(jù)一致性標(biāo)準(zhǔn),由此說明基于RBAC模型的實時通信更新異地數(shù)據(jù)庫方法具備良好適用價值。

結(jié)論:本文結(jié)合分布式數(shù)據(jù)庫的站點(diǎn)布設(shè)形式,采用RBAC模型實現(xiàn)對服務(wù)器與用戶工作站端數(shù)據(jù)庫信息的修改,基于SQL語言編碼、發(fā)送消息,實現(xiàn)異地數(shù)據(jù)庫間的實時通信與數(shù)據(jù)庫表名、列名、列值的同步更新,有效提升數(shù)據(jù)庫操作的便捷性與安全性,簡化操作程序,為異地數(shù)據(jù)庫的管理工作提供重要方法。

參考文獻(xiàn)

[1] 余楊奎.基于角色的訪問控制模型(RBAC)研究[J].計算機(jī)技術(shù)與發(fā)展,2019,(01):198-201.

[2] 喻露,羅森林.RBAC模式下數(shù)據(jù)庫內(nèi)部入侵檢測方法研究[J].信息網(wǎng)絡(luò)安全,2020,(2):83-90.

辽宁省| 西乌珠穆沁旗| 汶川县| 西藏| 禄丰县| 咸宁市| 灌南县| 台东县| 鄢陵县| 西盟| 土默特左旗| 凤冈县| 忻州市| 泰顺县| 云霄县| 会同县| 息烽县| 水富县| 保山市| 共和县| 邯郸县| 鹿泉市| 新晃| 湘潭市| 建昌县| 河北区| 宜宾县| 崇义县| 临漳县| 互助| 济南市| 临潭县| 津市市| 葫芦岛市| 普格县| 舒兰市| 祁东县| 贵阳市| 那曲县| 曲靖市| 汕尾市|