本發明涉及門診數據控(kong)制(zhi)(zhi),具體為一種安全高效(xiao)的門診數據權限控(kong)制(zhi)(zhi)方案。
背景技術:
1、眾所周(zhou)知,醫療(liao)數據通常包含了患者的(de)敏感信息,隨(sui)著網絡(luo)攻擊手段的(de)不(bu)斷(duan)進(jin)步,醫療(liao)機(ji)構(gou)面臨的(de)數據安(an)全威(wei)脅也在不(bu)斷(duan)增(zeng)加,現有的(de)數據權限控制雖然(ran)可(ke)(ke)以(yi)保護數據隱私和(he)滿(man)足合(he)規性要求,但(dan)在實際操作中可(ke)(ke)能會因為配置錯誤或管理不(bu)善而導致數據泄露或不(bu)合(he)規的(de)風險。
技術實現思路
1、(一)解(jie)決的技(ji)術問題(ti)
2、針對現有技術(shu)的不(bu)足,本發明提供(gong)了一種安全高效(xiao)的門診數據權(quan)限控制方(fang)案。
3、(二)技術方案
4、為實現上(shang)述目的,本(ben)發(fa)明提供如下技術(shu)方案:一種安(an)全高(gao)效的門(men)診數(shu)據權限(xian)控制方案,包括(kuo)以下步驟:
5、步驟一、區塊鏈網(wang)絡搭建,選用(yong)docker?v19.03.8版本的應用(yong)容(rong)器(qi)引擎并搭配docker官(guan)方推薦(jian)的docker-compose?v2.1.1作為(wei)docker引擎容(rong)器(qi)的管理(li)工具,docker容(rong)器(qi)引擎可(ke)以(yi)將內部環境與服務器(qi)環境隔離開,保證應用(yong)容(rong)器(qi)間不會相互影響;
6、步驟二、區塊(kuai)鏈(lian)網絡通過docker-compose引擎容器(qi)管(guan)理工(gong)具(ju)構建區塊(kuai)鏈(lian)網絡服務(wu);
7、步(bu)驟三(san)、智能(neng)合約的(de)(de)(de)信息部署到(dao)區(qu)塊(kuai)(kuai)(kuai)(kuai)鏈(lian)存(cun)儲結構為(wei)merkle樹(shu)的(de)(de)(de)樹(shu)形節點(dian),每個(ge)(ge)節點(dian)為(wei)一(yi)(yi)(yi)(yi)個(ge)(ge)職工(gong)的(de)(de)(de)數(shu)據(ju)訪問權(quan)限(xian)信息,利用(yong)算(suan)(suan)法確保區(qu)塊(kuai)(kuai)(kuai)(kuai)鏈(lian)網絡中所有(you)節點(dian)對合約狀態和執行(xing)結果的(de)(de)(de)一(yi)(yi)(yi)(yi)致性(xing),防止雙花攻擊和分叉等(deng)問題,利用(yong)sha256(sha256(block_header))?<target,其中block_header包含(han)版本、前一(yi)(yi)(yi)(yi)個(ge)(ge)區(qu)塊(kuai)(kuai)(kuai)(kuai)的(de)(de)(de)哈(ha)(ha)希(xi)?、merkle根、時間戳、權(quan)限(xian)等(deng)級等(deng)字(zi)段,target是不(bu)斷調整(zheng)的(de)(de)(de)權(quan)限(xian)目標(biao)值,即獲取上(shang)一(yi)(yi)(yi)(yi)個(ge)(ge)區(qu)塊(kuai)(kuai)(kuai)(kuai)頭的(de)(de)(de)sha哈(ha)(ha)希(xi)計(ji)算(suan)(suan)結果,進行(xing)兩(liang)次(ci)sha哈(ha)(ha)希(xi)函數(shu)計(ji)算(suan)(suan)獲取到(dao)一(yi)(yi)(yi)(yi)個(ge)(ge)32位的(de)(de)(de)唯一(yi)(yi)(yi)(yi)數(shu)字(zi)標(biao)識代表區(qu)塊(kuai)(kuai)(kuai)(kuai)頭的(de)(de)(de)內(nei)容(rong),通(tong)過這(zhe)個(ge)(ge)哈(ha)(ha)希(xi)計(ji)算(suan)(suan)之(zhi)后的(de)(de)(de)區(qu)塊(kuai)(kuai)(kuai)(kuai)頭,可以(yi)驗證數(shu)據(ju)是否在(zai)傳輸(shu)和存(cun)儲過程中被篡改,每個(ge)(ge)區(qu)塊(kuai)(kuai)(kuai)(kuai)的(de)(de)(de)生成(cheng)都小(xiao)于(yu)target,使得每個(ge)(ge)區(qu)塊(kuai)(kuai)(kuai)(kuai)都包含(han)前一(yi)(yi)(yi)(yi)個(ge)(ge)區(qu)塊(kuai)(kuai)(kuai)(kuai)的(de)(de)(de)散列值,以(yi)此形成(cheng)一(yi)(yi)(yi)(yi)個(ge)(ge)不(bu)可被篡改的(de)(de)(de)數(shu)據(ju)鏈(lian);
8、步驟四、將(jiang)所有科室(shi)和(he)醫生的(de)患(huan)者(zhe)(zhe)信息通過(guo)md5對稱加密(mi)存(cun)入數據庫中,加密(mi)使(shi)(shi)用的(de)鹽,由一個固定的(de)系統密(mi)鑰值和(he)患(huan)者(zhe)(zhe)掛號科室(shi)編碼(ma)組合生成,權(quan)限認證通過(guo)時,使(shi)(shi)用相應解(jie)密(mi)密(mi)鑰可以獲取(qu)明文(wen)數據;
9、步(bu)驟五、定義一個accessrole(枚舉類型(xing))來表示操作(zuo)權(quan)限(xian)級別,定義admin(管理員)、reader(只(zhi)(zhi)讀)、write(只(zhi)(zhi)寫)、none(無權(quan)限(xian))作(zuo)為基礎權(quan)限(xian),admin(管理員)可以授予和(he)撤銷權(quan)限(xian);
10、步驟六、區塊頭的(de)(de)數據(ju)結構以映射(she)(mapping)和(he)對象(xiang)數組(array)結構存儲(chu)職工(gong)(gong)(gong)(gong)的(de)(de)權(quan)(quan)限信息,映射(she)中(zhong)存入(ru)職工(gong)(gong)(gong)(gong)的(de)(de)工(gong)(gong)(gong)(gong)號(hao)(hao)信息即(ji)key值(zhi)位職工(gong)(gong)(gong)(gong)工(gong)(gong)(gong)(gong)號(hao)(hao),對應(ying)的(de)(de)value值(zhi)為對象(xiang)數組為職工(gong)(gong)(gong)(gong)所擁(yong)有(you)的(de)(de)訪(fang)問(wen)(wen)權(quan)(quan)限等級(ji)內容(rong),和(he)訪(fang)問(wen)(wen)特殊數據(ju)的(de)(de)唯一id值(zhi),根(gen)據(ju)第1.4點(dian)的(de)(de)枚舉類型構建(jian)一個權(quan)(quan)限訪(fang)問(wen)(wen)控制列表(acl)來檢查(cha)職工(gong)(gong)(gong)(gong)對于不同科室和(he)醫生就診患者數據(ju)的(de)(de)訪(fang)問(wen)(wen)權(quan)(quan)限;
11、步(bu)驟(zou)七、利用(yong)步(bu)驟(zou)五定義的(de)數(shu)(shu)據(ju)結構(gou),通過(guo)智能(neng)合約的(de)初始化(hua)構(gou)造函數(shu)(shu)(constructor)初始每個(ge)職(zhi)工的(de)權(quan)限狀態,分別對(dui)職(zhi)工權(quan)限申請、職(zhi)工權(quan)限審核和職(zhi)工權(quan)限變更進行定義,智能(neng)合約主要用(yong)于職(zhi)工通過(guo)客戶(hu)端設備請求(qiu)訪(fang)問患者(zhe)數(shu)(shu)據(ju)時,對(dui)職(zhi)工的(de)訪(fang)問權(quan)限進行控制,只返回(hui)職(zhi)工權(quan)限范圍內可見的(de)患者(zhe)數(shu)(shu)據(ju),防止(zhi)職(zhi)工越權(quan)查看敏感信息;
12、步驟(zou)八(ba)、當職(zhi)工(gong)訪問(wen)(wen)數據時,智(zhi)能合約首(shou)先會從(cong)請求中獲(huo)取職(zhi)工(gong)工(gong)號(hao)和要訪問(wen)(wen)的(de)(de)科(ke)室(shi)或(huo)醫生信息,在(zai)(zai)區(qu)塊頭中獲(huo)取到(dao)工(gong)號(hao)的(de)(de)訪問(wen)(wen)權(quan)(quan)(quan)限(xian)(xian)信息,并驗證職(zhi)工(gong)身份是(shi)否存在(zai)(zai),根據職(zhi)工(gong)區(qu)塊頭結構中維護的(de)(de)職(zhi)工(gong)的(de)(de)acl權(quan)(quan)(quan)限(xian)(xian)控制(zhi)列表,判斷該職(zhi)工(gong)是(shi)否具有訪問(wen)(wen)指定科(ke)室(shi)或(huo)醫生的(de)(de)就診患(huan)者數據權(quan)(quan)(quan)限(xian)(xian),若無(wu)訪問(wen)(wen)權(quan)(quan)(quan)限(xian)(xian)(reader、admin)拒絕當前請求,返回無(wu)授權(quan)(quan)(quan)錯誤(wu);
13、步(bu)驟九、當職工訪問請求(qiu)通過權限(xian)(xian)驗(yan)證之后,若(ruo)具有訪問權限(xian)(xian)(reader、admin)則(ze)從系(xi)統(tong)中獲(huo)取(qu)md5的(de)解(jie)密(mi)(mi)密(mi)(mi)鑰(yao)返回(hui),外部(bu)數(shu)據源根據密(mi)(mi)鑰(yao)將患者(zhe)密(mi)(mi)文信息解(jie)密(mi)(mi)獲(huo)取(qu)明文內容,若(ruo)需要修改或新(xin)增科室和(he)醫生的(de)患者(zhe)信息時,職工需要具有讀寫權限(xian)(xian)(admin、reader、write),驗(yan)證通過,可(ke)獲(huo)取(qu)到系(xi)統(tong)的(de)密(mi)(mi)鑰(yao)值(zhi),對修改數(shu)據進行解(jie)密(mi)(mi)更新(xin)和(he)加密(mi)(mi)存儲的(de)操作(zuo);
14、步(bu)驟十、通(tong)過更(geng)新步(bu)驟六中(zhong)職工工號對應(ying)的權限(xian)控(kong)制訪(fang)問列(lie)表(acl)中(zhong)每個科(ke)室的訪(fang)問權限(xian)值(zhi)(admin、reader、write、none),并(bing)利用步(bu)驟三區塊(kuai)頭的生成方式,將權限(xian)變更(geng)節點添(tian)加到區塊(kuai)鏈中(zhong),以便(bian)后續審計(ji)和追蹤;
15、步驟十一(yi)、對智能合約(yue)服務的(de)(de)入口(kou)做請(qing)(qing)求(qiu)攔截,通過(guo)自定義(yi)accesspermissions函(han)數對每個操(cao)作(zuo)請(qing)(qing)求(qiu)做權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)判斷,根據(ju)(ju)請(qing)(qing)求(qiu)信(xin)(xin)息(xi)中的(de)(de)職(zhi)工(gong)工(gong)號從區(qu)(qu)塊鏈中獲取(qu)區(qu)(qu)塊頭(tou)(tou)信(xin)(xin)息(xi),若職(zhi)工(gong)工(gong)號區(qu)(qu)塊頭(tou)(tou)信(xin)(xin)息(xi)不(bu)存在(zai)(zai),則(ze)(ze)驗(yan)證(zheng)失敗(bai)“職(zhi)工(gong)信(xin)(xin)息(xi)不(bu)存在(zai)(zai)”,若存在(zai)(zai)職(zhi)工(gong)的(de)(de)區(qu)(qu)塊頭(tou)(tou)信(xin)(xin)息(xi),獲取(qu)區(qu)(qu)塊頭(tou)(tou)中的(de)(de)權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)訪問(wen)控制(zhi)列表(biao)(acl),根據(ju)(ju)請(qing)(qing)求(qiu)信(xin)(xin)息(xi)中的(de)(de)科(ke)室(shi)(shi)醫(yi)生(sheng)(sheng)信(xin)(xin)息(xi),從權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)訪問(wen)控制(zhi)表(biao)(acl)中遍歷(li)尋在(zai)(zai)是否(fou)具有(you)該科(ke)室(shi)(shi)或(huo)(huo)(huo)(huo)醫(yi)生(sheng)(sheng)權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian),若不(bu)存在(zai)(zai)科(ke)室(shi)(shi)或(huo)(huo)(huo)(huo)醫(yi)生(sheng)(sheng)權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)信(xin)(xin)息(xi),則(ze)(ze)返回(hui)驗(yan)證(zheng)失敗(bai)“未分配該科(ke)室(shi)(shi)或(huo)(huo)(huo)(huo)醫(yi)生(sheng)(sheng)權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)”,若存在(zai)(zai),則(ze)(ze)根據(ju)(ju)請(qing)(qing)求(qiu)操(cao)作(zuo)類(lei)型判斷是否(fou)具有(you)相應權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian),訪問(wen)權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)需要用(yong)于reader或(huo)(huo)(huo)(huo)admin權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)級(ji)別(bie)(bie),更新權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)需要reader和write或(huo)(huo)(huo)(huo)admin權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)級(ji)別(bie)(bie),新增權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)需要write或(huo)(huo)(huo)(huo)admin權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)級(ji)別(bie)(bie),操(cao)作(zuo)無對應權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian),則(ze)(ze)驗(yan)證(zheng)失敗(bai)“權(quan)(quan)(quan)限(xian)(xian)(xian)(xian)(xian)(xian)不(bu)足,無法操(cao)作(zuo)”;
16、步驟(zou)十(shi)二、引入requeststatus枚舉來(lai)表示權(quan)(quan)限申(shen)請(qing)的(de)(de)狀態(tai)(pending-待處(chu)理、approved-通過、rejected-拒絕),以及rolerequest結構體來(lai)存儲每(mei)個(ge)(ge)申(shen)請(qing)的(de)(de)具體信息,包含職工(gong)工(gong)號和對應(ying)科室或醫生(sheng)(sheng)的(de)(de)權(quan)(quan)限等級,rolerequestslink映射(she)用于跟蹤(zong)所有的(de)(de)權(quan)(quan)限申(shen)請(qing)的(de)(de)過程,為每(mei)個(ge)(ge)申(shen)請(qing)生(sheng)(sheng)成唯一的(de)(de)申(shen)請(qing)id;
17、步驟十三、定義approverolerequest函(han)數用于(yu)管理(li)(li)員(admin)進行權限申請(qing)的(de)(de)待處(chu)理(li)(li)審批(pi),獲取(qu)步驟十二(er)中rolerequest申請(qing)的(de)(de)具體信息;
18、步(bu)驟(zou)十(shi)(shi)四、步(bu)驟(zou)十(shi)(shi)三(san)中的approverolerequest函數首(shou)先(xian)判斷審(shen)批人是(shi)否為admin(管理員)權限,并(bing)且(qie)該審(shen)批是(shi)否為pending待審(shen)批的狀態,審(shen)批申請通過則(ze)將職工(gong)工(gong)號(hao)和對應(ying)科室或醫生的權限等(deng)級列表,根據(ju)步(bu)驟(zou)六中區塊頭(tou)的定義方式生成(cheng)一個區塊頭(tou)結構(gou),按照(zhao)步(bu)驟(zou)三(san)中的方式維護到(dao)區塊鏈(lian);
19、步(bu)驟十(shi)五、定義rejectrolerequest函數(shu)用于admin(管理員)拒絕(jue)一(yi)個待(dai)處(chu)理的權限(xian)申請,同時記錄拒絕(jue)原因;
20、步驟十(shi)(shi)六、權限申(shen)(shen)請(qing)通過步驟十(shi)(shi)三中(zhong)(zhong)的(de)approverolerequest函數處理(li)和步驟十(shi)(shi)五中(zhong)(zhong)的(de)rejectrolerequest函數處理(li)后(hou)都將rolerequest申(shen)(shen)請(qing)信息和申(shen)(shen)請(qing)結果記(ji)錄到步驟十(shi)(shi)二中(zhong)(zhong)的(de)rolerequestslink映射對象中(zhong)(zhong),便于(yu)后(hou)續對權限申(shen)(shen)請(qing)的(de)跟蹤(zong);
21、步驟十(shi)七、采用(yong)決策(ce)樹模型(xing)作為機器學習模型(xing),既有處(chu)理連(lian)續屬性(xing),又能處(chu)理缺失值,且在選擇屬性(xing)時具有良好的性(xing)能;
22、步驟十八、數據特(te)(te)征(zheng)標(biao)記過程,根據c4.5模型訓練(lian)特(te)(te)征(zheng),獲取區塊(kuai)鏈的所有(you)區塊(kuai)頭節點的職(zhi)工(gong)(gong)權(quan)限信息進行標(biao)注,將用戶角(jiao)色、操作(zuo)(zuo)(zuo)歷史、所在(zai)科室、登錄頻率、訪問資(zi)源(yuan)種類(lei)作(zuo)(zuo)(zuo)為特(te)(te)征(zheng)集,將職(zhi)工(gong)(gong)擁有(you)的權(quan)限作(zuo)(zuo)(zuo)為目標(biao)值,對職(zhi)工(gong)(gong)的操作(zuo)(zuo)(zuo)采用二(er)元標(biao)注“允(yun)許(xu)”與(yu)“禁(jin)止”,預測職(zhi)工(gong)(gong)是否允(yun)許(xu)某個操作(zuo)(zuo)(zuo);
23、步驟(zou)十九、c4.5模型構建決策樹(shu)的(de)分(fen)裂節點,用于獲(huo)取準確的(de)預測結果,獲(huo)取分(fen)裂閾值(zhi),采用交叉驗證(zheng)的(de)方式(shi),將數據集(ji)分(fen)為訓(xun)(xun)練集(ji)和(he)驗證(zheng)集(ji),對于不同(tong)的(de)分(fen)裂閾值(zhi),在訓(xun)(xun)練集(ji)上訓(xun)(xun)練模型,并在驗證(zheng)集(ji)上評估(gu)模型的(de)性能,提高預測的(de)準確度;
24、步驟(zou)二十、在(zai)職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)進行權限(xian)申請(qing)(qing)和變更(geng)操(cao)作訪問c4.5決策(ce)(ce)樹(shu)模型獲取(qu)預測值前,首先職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)需要(yao)通過智(zhi)能合約的(de)身(shen)份認(ren)(ren)證(zheng)(zheng)即區塊鏈(lian)中是否存在(zai)該(gai)職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)的(de)區塊頭信息,經過身(shen)份認(ren)(ren)證(zheng)(zheng)獲取(qu)智(zhi)能合約認(ren)(ren)證(zheng)(zheng)結果的(de)權限(xian)訪問控(kong)制列表(biao)(acl)和職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)信息作為調用c4.5決策(ce)(ce)樹(shu)模的(de)入(ru)參(can),獲取(qu)該(gai)職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)可擴展(zhan)的(de)科室或醫(yi)生(sheng)權限(xian)等級,實現根據職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)所(suo)在(zai)崗位場景(jing),補(bu)充(chong)調整該(gai)職(zhi)(zhi)(zhi)(zhi)工(gong)(gong)(gong)可能需要(yao)使用到的(de)其他科室或醫(yi)生(sheng)的(de)權限(xian)等級,提高權限(xian)申請(qing)(qing)的(de)效率;
25、步驟二(er)十一、當職(zhi)工(gong)通過分(fen)診臺、叫號(hao)終端訪問并操(cao)作患者數據時,向步驟七(qi)中(zhong)定(ding)義的(de)智能(neng)(neng)合(he)(he)(he)約服務(wu)發送請求(qiu)(qiu),智能(neng)(neng)合(he)(he)(he)約服務(wu)首先認證(zheng)職(zhi)工(gong)身(shen)份和(he)(he)請求(qiu)(qiu)的(de)合(he)(he)(he)法(fa)性(xing),從職(zhi)工(gong)請求(qiu)(qiu)中(zhong)提取出相關的(de)特征數據即訪問類型和(he)(he)科(ke)室(shi)、醫(yi)生和(he)(he)工(gong)號(hao)等信息,用(yong)于進行(xing)權限(xian)預測所需的(de)輸入;
26、步驟(zou)二十二、c4.5決(jue)策(ce)樹模型(xing)(xing)預測:通過智能合約的權(quan)限申請和變更(geng)操作后,調用已經部署的c4.5決(jue)策(ce)樹模型(xing)(xing),傳(chuan)入職工(gong)的權(quan)限信(xin)息(xi)即區(qu)塊頭(tou)信(xin)息(xi)步驟(zou)十二中的rolerequest對象信(xin)息(xi)作為相(xiang)關數據特征輸入,獲取c4.5決(jue)策(ce)樹模型(xing)(xing)對職工(gong)權(quan)限的預測結果;
27、步(bu)驟(zou)二(er)十三(san)、智能合(he)約使用提取的職工(gong)(gong)特征數據(ju)(ju)構建https請求(qiu)(qiu),包括設置請求(qiu)(qiu)頭、請求(qiu)(qiu)體發送到(dao)c4.5決策樹(shu)模型(xing)獲取預(yu)測結果,結合(he)預(yu)設的步(bu)驟(zou)五中的權限(xian)控制規(gui)則(ze)(ze),智能合(he)約根(gen)據(ju)(ju)模型(xing)預(yu)測的職工(gong)(gong)權限(xian)級別,結合(he)預(yu)設的權限(xian)控制規(gui)則(ze)(ze),判(pan)斷職工(gong)(gong)是否具(ju)有訪(fang)問(wen)(wen)數據(ju)(ju)的權限(xian),如果職工(gong)(gong)具(ju)有權限(xian),智能合(he)約允許職工(gong)(gong)訪(fang)問(wen)(wen)患(huan)者數據(ju)(ju);否則(ze)(ze),拒(ju)絕訪(fang)問(wen)(wen)請求(qiu)(qiu),并(bing)記(ji)錄相關(guan)信(xin)息到(dao)區塊(kuai)鏈;
28、步(bu)驟二十(shi)四、確(que)保智能合(he)約(yue)服務(wu)與(yu)c4.5決(jue)策模型通信是安全(quan)的(de),使(shi)用協議進行加密通信,保證消息在傳輸的(de)過程中不會被捕獲破解,導(dao)致(zhi)信息泄(xie)露;
29、步驟二十(shi)五、為提高智(zhi)能(neng)(neng)合(he)約服務和(he)c4.5決策(ce)模型(xing)間(jian)消(xiao)息通信的(de)穩定交互,避免權(quan)限(xian)驗證失敗,引入(ru)中間(jian)層,所有權(quan)限(xian)認證請求(qiu)(qiu),經過中間(jian)層作為消(xiao)費消(xiao)息,消(xiao)息丟失重試機制,防止(zhi)智(zhi)能(neng)(neng)合(he)約請求(qiu)(qiu)c4.5決策(ce)模型(xing)的(de)消(xiao)息丟失,獲取(qu)不到c4.5決策(ce)樹模型(xing)預測結果,導致權(quan)限(xian)認證失敗無法訪問患(huan)者(zhe)數據。
30、為(wei)了提(ti)高使用效果,本發明改(gai)進有,所述區塊(kuai)鏈網絡采用hyperledger?fabric2.0版本的(de)開源服務(wu)包。
31、為了提高使用效(xiao)果,本發明改(gai)進有(you),所述步驟三(san)中采用共識算(suan)法確保區塊鏈(lian)網絡中所有(you)節點對合約狀態和執行結果的一(yi)致性。
32、為了提(ti)高使用效果,本發明改進(jin)有,步驟十七(qi)中的決策樹模型采用c4.5型號。
33、為(wei)了提高(gao)使用(yong)(yong)效果,本(ben)發明改進(jin)有,步驟二十四中使用(yong)(yong)https協議進(jin)行加(jia)密通(tong)信。
34、為了提高使用(yong)效果,本發明(ming)改進有,所述步驟二(er)十(shi)五中(zhong)(zhong)的中(zhong)(zhong)間(jian)層采用(yong)rocketmq中(zhong)(zhong)間(jian)層。
35、(三)有益效果
36、與現有技術相比(bi),本發明提供了一(yi)種(zhong)安(an)全高(gao)效的門(men)診數據權限(xian)控制方案(an),具備以下有益效果:
37、該安全(quan)高效(xiao)的(de)(de)(de)(de)(de)門(men)診數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)控制(zhi)方案,本方案中(zhong)(zhong)的(de)(de)(de)(de)(de)智能(neng)合(he)(he)約(yue)(yue)同時(shi)繼(ji)承(cheng)了區(qu)(qu)塊(kuai)鏈(lian)的(de)(de)(de)(de)(de)去中(zhong)(zhong)心化、不(bu)可(ke)篡改的(de)(de)(de)(de)(de)特性(xing)(xing)(xing),所(suo)有權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)請(qing)(qing)求將(jiang)永久記(ji)(ji)(ji)錄(lu)在區(qu)(qu)塊(kuai)鏈(lian),可(ke)以隨(sui)時(shi)查看合(he)(he)約(yue)(yue)的(de)(de)(de)(de)(de)執(zhi)行(xing)情況和修(xiu)改記(ji)(ji)(ji)錄(lu),增強了請(qing)(qing)求的(de)(de)(de)(de)(de)透明(ming)度和數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)安全(quan)性(xing)(xing)(xing),通過(guo)c4.5決策樹(shu)(shu)模(mo)型(xing)(xing)對職工(gong)進(jin)(jin)(jin)行(xing)動態賦權(quan)(quan)(quan)(quan)(quan),可(ke)以有效(xiao)防止(zhi)人工(gong)配置(zhi)錯誤或管理(li)不(bu)善而導(dao)致數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)泄露或不(bu)合(he)(he)規的(de)(de)(de)(de)(de)風險,采(cai)用rocketmq中(zhong)(zhong)間件(jian),提高智能(neng)合(he)(he)約(yue)(yue)服務(wu)與c4.5決策樹(shu)(shu)模(mo)型(xing)(xing)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)交互(hu)(hu)的(de)(de)(de)(de)(de)執(zhi)行(xing)效(xiao)率(lv)和穩定(ding)(ding)性(xing)(xing)(xing),每個職工(gong)配置(zhi)相(xiang)應權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian),權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)信(xin)(xin)(xin)息(xi)維(wei)護(hu)在數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)庫中(zhong)(zhong),訪(fang)(fang)(fang)(fang)問(wen)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)時(shi),從數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)庫中(zhong)(zhong)獲(huo)取職工(gong)對應的(de)(de)(de)(de)(de)權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian),判斷是否能(neng)夠(gou)訪(fang)(fang)(fang)(fang)問(wen)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju),并(bing)將(jiang)請(qing)(qing)求記(ji)(ji)(ji)錄(lu)到數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)庫,智能(neng)合(he)(he)約(yue)(yue)的(de)(de)(de)(de)(de)科室和醫生患者數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)變(bian)更(geng)處(chu)理(li)規則(ze)中(zhong)(zhong)定(ding)(ding)義的(de)(de)(de)(de)(de)審批流程和審批成功(gong)與失(shi)敗處(chu)理(li)方式(shi),記(ji)(ji)(ji)錄(lu)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)訪(fang)(fang)(fang)(fang)問(wen)權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)的(de)(de)(de)(de)(de)變(bian)更(geng)記(ji)(ji)(ji)錄(lu),保證權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)訪(fang)(fang)(fang)(fang)問(wen)信(xin)(xin)(xin)息(xi)的(de)(de)(de)(de)(de)透明(ming)度,能(neng)夠(gou)溯(su)源找(zhao)到進(jin)(jin)(jin)行(xing)訪(fang)(fang)(fang)(fang)問(wen)的(de)(de)(de)(de)(de)職工(gong)信(xin)(xin)(xin)息(xi),c4.5決策樹(shu)(shu)模(mo)型(xing)(xing)將(jiang)智能(neng)合(he)(he)約(yue)(yue)權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)申請(qing)(qing)記(ji)(ji)(ji)錄(lu)鏈(lian)中(zhong)(zhong)的(de)(de)(de)(de)(de)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju),進(jin)(jin)(jin)行(xing)標(biao)注和提取特征集作(zuo)為(wei)(wei)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)采(cai)樣(yang)集進(jin)(jin)(jin)行(xing)訓(xun)(xun)練,采(cai)用交叉驗證的(de)(de)(de)(de)(de)方式(shi),將(jiang)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)集分(fen)為(wei)(wei)訓(xun)(xun)練集和驗證集,提高模(mo)型(xing)(xing)的(de)(de)(de)(de)(de)訓(xun)(xun)練效(xiao)率(lv),降低人工(gong)錄(lu)入數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)的(de)(de)(de)(de)(de)時(shi)間成本,智能(neng)合(he)(he)約(yue)(yue)服務(wu)和c4.5決策樹(shu)(shu)模(mo)型(xing)(xing)引入rocketmq中(zhong)(zhong)間件(jian)作(zuo)為(wei)(wei)交互(hu)(hu)樞紐(niu),保證消(xiao)息(xi)通信(xin)(xin)(xin)的(de)(de)(de)(de)(de)可(ke)靠性(xing)(xing)(xing),避免權(quan)(quan)(quan)(quan)(quan)限(xian)(xian)(xian)訪(fang)(fang)(fang)(fang)問(wen)請(qing)(qing)求信(xin)(xin)(xin)息(xi)丟失(shi),提高系(xi)統的(de)(de)(de)(de)(de)穩定(ding)(ding)性(xing)(xing)(xing)。