實現(xiàn)數(shù)據(jù)資源訪問權限控制的方法及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及計算機領域,特別涉及一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的方法及系統(tǒng)。
【背景技術】
[0002]在大型的計算機網(wǎng)絡系統(tǒng)中,比如線上生產系統(tǒng),往往具有很多的數(shù)據(jù)資源的客戶端,同時或不同時的調用計算機網(wǎng)絡系統(tǒng)中的服務器上的數(shù)據(jù)資源。但是,當調用訪問請求的數(shù)量很大時,就會造成被調用的服務器的異常,最終導致服務器崩潰。為了解決這一問題,可以為計算機網(wǎng)絡系統(tǒng)中的客戶端設置優(yōu)先級,按照優(yōu)先級的高低,由服務器依次服務這些客戶端,為這些客戶端提供數(shù)據(jù)資源,從而保證計算機系統(tǒng)的正常運行。
[0003]在計算機網(wǎng)絡系統(tǒng)中的服務器中,預先設置配置文件,存儲在服務器的系統(tǒng)硬盤上,包括了對數(shù)據(jù)資源訪問權限信息。當服務器處理客戶端的數(shù)據(jù)資源訪問請求時,服務器將系統(tǒng)硬盤上的配置文件讀取到內存中,根據(jù)配置文件中設置的對數(shù)據(jù)資源訪問權限信息確定業(yè)務邏輯,是否為客戶端提供數(shù)據(jù)資源。當對數(shù)據(jù)資源的訪問權限信息進行更新或調整時,如果該信息對應了多個應用實例,則在配置文件中的這多個應用實例下的數(shù)據(jù)資源訪問權限信息都需要進行一一更新或調整,且在更新或調整完成后,需要重啟服務器,以重新加載配置文件中的這些更新或調整了數(shù)據(jù)資源訪問權限信息的應用實例。
[0004]上述服務器對數(shù)據(jù)資源訪問權限的控制方法存在缺點:第一,每次接受到數(shù)據(jù)資源訪問請求時,都需要將系統(tǒng)硬盤上的配置文件加載到內存中,系統(tǒng)硬盤的讀取操作耗時嚴重,影響了服務器處理數(shù)據(jù)資源訪問請求的效率,從而影響了計算機網(wǎng)絡系統(tǒng)中的數(shù)據(jù)資源訪問效率;第二,在更新或調整數(shù)據(jù)資源訪問權限時,需要修改配置文件且需要重新服務器,才能完成配置文件的更新,服務器重啟過程中無法為計算機網(wǎng)絡系統(tǒng)提供數(shù)據(jù)資源的訪問,這在高并發(fā)大訪問量的環(huán)境下,導致大量請求被拒絕或者給計算機網(wǎng)絡系統(tǒng)中的其他服務器帶來更大的流量壓力;第三,配置文件中,與數(shù)據(jù)資源訪問權限信息相關的應用實例都需要逐一修改或更新,改錯或改動不一致風險比較大。
【發(fā)明內容】
[0005]有鑒于此,本發(fā)明實施例提供一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的方法,該方法能夠提高數(shù)據(jù)資源訪問權限的效率。
[0006]本發(fā)明實施例還提供一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的系統(tǒng),該系統(tǒng)能夠提高數(shù)據(jù)資源訪問的效率。
[0007]根據(jù)上述目的,本發(fā)明是這樣實現(xiàn)的:
[0008]—種實現(xiàn)數(shù)據(jù)資源訪問權限控制的方法,該方法包括:
[0009]計算機網(wǎng)絡系統(tǒng)的服務器將每個應用實例所要使用的數(shù)據(jù)資源訪問權限信息所屬的配置文件進行本地緩存;
[0010]接收到計算機網(wǎng)絡系統(tǒng)中的客戶端發(fā)送的對應應用實例的訪問數(shù)據(jù)資源請求后,直接調用本地緩存的該應用實例所要使用的數(shù)據(jù)資源訪問權限信息進行訪問驗證,返回驗證結果。
[0011]所述每一個應用實例所要使用的數(shù)據(jù)資源訪問權限信息所屬的配置文件采用hash表方式緩存。
[0012]該方法還包括:
[0013]在服務器包括一個日志型的鍵值數(shù)據(jù)庫,存儲有每個應用實例所要使用的數(shù)據(jù)資源訪問權限信息,當更新時,更新該數(shù)據(jù)庫中的應用實例所要使用的數(shù)據(jù)資源訪問權限信息并標識更新標志。
[0014]所述日志型的鍵值數(shù)據(jù)庫采用redis組件實現(xiàn),所述該數(shù)據(jù)庫中的應用實例所要使用的數(shù)據(jù)資源訪問權限信息并標識更新標志采用hash表方式存儲。
[0015]該方法還包括:所述本地緩存的每個應用實例定時異步訪問所述數(shù)據(jù)庫,獲取該應用實例所使用的已經更新的數(shù)據(jù)資源訪問權限信息,覆蓋緩存中的該應用實例所使用的數(shù)據(jù)資源訪問權限信息。
[0016]所述應用實例異步定時訪問所述數(shù)據(jù)庫為采用異步定時線程完成。
[0017]—種實現(xiàn)數(shù)據(jù)資源訪問權限控制的系統(tǒng),包括:本地緩存單元、請求響應單元及驗證單元,其中,
[0018]本地緩存單元,用于將每一個應用實例所要使用的數(shù)據(jù)資源訪問權限信息所屬的配置文件進行本地緩存;
[0019]請求響應單元,接收到計算機網(wǎng)絡系統(tǒng)中的客戶端發(fā)送的對應應用實例的訪問數(shù)據(jù)資源請求;
[0020]驗證單元,直接調用本地緩存的該應用實例所要使用的數(shù)據(jù)資源訪問權限信息進行訪問驗證,返回驗證結果。
[0021]還包括日志型的鍵值數(shù)據(jù)庫,用于存儲有每個應用實例所要使用的數(shù)據(jù)資源訪問權限信息,當更新時,直接更新應用實例所要使用的數(shù)據(jù)資源訪問權限信息并標識更新標
V 1、1、O
[0022]所述本地緩存單元,還用于每個應用實例定時異步訪問所述日志型的鍵值數(shù)據(jù)庫,獲取該應用實例所使用的已經更新的數(shù)據(jù)資源訪問權限信息,覆蓋緩存中的該應用實例所使用的數(shù)據(jù)資源訪問權限信息。
[0023]由上述方案可以看出,本發(fā)明實施例的服務器將每一個應用實例所要使用的數(shù)據(jù)資源訪問權限信息所屬的配置文件進行本地緩存,當接收到對應應用實例的訪問數(shù)據(jù)資源請求后,直接調用本地緩存的該應用實例所要使用的數(shù)據(jù)資源訪問權限信息進行訪問驗證。這樣,就不需要像【背景技術】那樣,每次接收到訪問數(shù)據(jù)資源請求后,都到系統(tǒng)硬盤中讀取配置文件進行驗證,提高了數(shù)據(jù)資源訪問效率。進一步地,在服務器還包括一個日志型的鍵值數(shù)據(jù)庫,存儲有每個應用實例所要使用的數(shù)據(jù)資源訪問權限信息,當更新時,直接更新該數(shù)據(jù)庫中的應用實例所要使用的數(shù)據(jù)資源訪問權限信息并標識,本地緩存的應用實例定時訪問該數(shù)據(jù)庫,獲取該應用實例所使用的已經更新的數(shù)據(jù)資源訪問權限信息,覆蓋緩存中的該應用實例所使用的數(shù)據(jù)資源訪問權限信息,從而不需要在更新數(shù)據(jù)資源訪問權限信息時,重新啟動服務器,防止計算機網(wǎng)絡系統(tǒng)中的訪問流量壓力。
【附圖說明】
[0024]圖1為本發(fā)明實施例提供的一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的方法流程圖;
[0025]圖2為本發(fā)明實施例提供的一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的方法具體例子流程圖;
[0026]圖3為本發(fā)明實施例提供的一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的系統(tǒng)結構示意圖;
[0027]圖4為本發(fā)明實施例提供的一種實現(xiàn)數(shù)據(jù)資源訪問權限控制的系統(tǒng)具體例子示意圖。
【具體實施方式】
[0028]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。
[0029]為了提高數(shù)據(jù)資源訪問的效率,本發(fā)明實施例的服務器將每一個應用實例所要使用的數(shù)據(jù)資源訪問權限信息所屬的配置文件進行本地緩存,當接收到對應應用實例的訪問數(shù)據(jù)資源請求后,直接調用本地緩存的該應用實例所要使用的數(shù)據(jù)資源訪問權限信息進行訪問驗證。這樣,就不需要像【背景技術】那樣,每次接收到訪問數(shù)據(jù)資源請求后,都到系統(tǒng)硬盤中讀取配置文件進行驗證,提高了數(shù)據(jù)資源訪問效率。
[0030]在這里,該配置文件為副本配置文件,且保存時采用hash表方式包括,每個hash表對應一個應用實例,從而后續(xù)可以定位日志型的鍵值數(shù)據(jù)庫中的應用實例。
[0031]進一步地,在服務器還包括一個日志型的鍵值數(shù)據(jù)庫,存儲有每個應用實例所要使用的數(shù)據(jù)資源訪問權限信息,當更新時,直接更新該數(shù)據(jù)庫中的應用實例所要使用的數(shù)據(jù)資源訪問權限信息并標識更新標志。
[0032]在這里,該數(shù)據(jù)庫采用redis組件進行開發(fā),redis是一個開源的使用ANSI C語言編寫,支持網(wǎng)絡,可基于系統(tǒng)內存亦可持久化的日志型的鍵值數(shù)據(jù)庫,可以提供各種應用程序編程接口(API)。在該數(shù)據(jù)庫中,應用實例與數(shù)據(jù)資源訪問權限信息是一一對應的結構,將所有具有更新標識的數(shù)據(jù)資源訪問信息對應應用實例設置在一個hash表中。
[0033]本地緩存的每個應用實例定時異步訪問該數(shù)據(jù)庫,獲取該應用實例所使用的已經更新的數(shù)據(jù)資源訪問權限信息,覆蓋緩存中的該應用實例所使用的數(shù)據(jù)資源訪問權限信息,從而不需要在更新數(shù)據(jù)資源訪問權限信息時,重新啟動服務器,防止計算機網(wǎng)絡系統(tǒng)中的訪問流量壓力。進一步