專利名稱:一種云端認證方法、系統及裝置的制作方法
技術領域:
本發明涉及互聯網云服務技術領域,特別涉及一種云端認證方法、系統及云端服務器。
背景技術:
目前的云服務平臺,為了保證安全性,在用戶訪問云服務平臺提供的資源時,需要對用戶的訪問請求進行身份認證。現有的云服務權限系統主要包括兩部分:請求者身份認證與請求者對于被請求資源的訪問權限認證。當用戶請求訪問云服務平臺的資源時,需要先后完成用戶身份認證和資源訪問權限認證,二者全部通過后才能繼續訪問。同時,身份認證又分為身份憑據合法性判定和請求者-子系統從屬關系判定兩部分。故而權限系統每次進行用戶對資源的訪問權限認證時,必須進行三次數據庫或存儲機群訪問(分別用來讀取身份憑據數據、請求者-子系統從屬關系數據和資源的權限判定數據),導致單次認證時間大于10ms,認證效率因而受到嚴重影響。現有系統的cache (緩存)從數據存儲位置可分為單機cache和網絡cache, cache中的數據是存儲系統中的鏡像(例如數據庫cache)。現有系統中存在如下缺點:單機cache受操作系統穩定性和硬件資源限制,無法保證高可用性,同時還會帶來多點cache間的數據同步問題。網絡cache可以解決單機cache上述問題,但是單純緩存存儲系統中數據的鏡像會導致cache系統的頻繁訪問,導致網絡性能成為瓶頸。
發明內容
本發明旨在至少在一定程度上解決上述技術問題之一或至少提供一種有用的商業選擇。為此,本發明的目的在于提出一種云端認證方法及裝置,減少數據訪問,提高云端服務器緩存的訪問效率,縮短每次認證的認證時間。為達到上述目的,本發明第一方面的實施例提出了一種云端認證方法,包括以下步驟:云端服務器接收客戶端發送的請求消息,其中,所述請求消息包括認證憑據和被請求的云資源的云資源信息;所述云端服務器根據所述認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果,其中,所述認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關;所述云端服務器根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄;所述云端服務器判斷是否在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄;如果在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄,則所述云端服務器根據所述認證記錄中記錄的認證結果對所述請求消息進行認證。在本發明的一個實施例中,所述云端服務器對所述云資源的訪問權限信息進行監控;當所述云資源的訪問權限信息變化時,所述云端服務器根據所述云資源的云資源信息刪除對應的認證記錄。
在本發明的一個實施例中,所述云端服務器根據所述認證憑據獲得認證憑據所屬用戶的身份信息;所述云端服務器根據所述身份信息對所述請求消息進行身份認證。在本發明的一個實施例中,所述云端服務器根據所述云資源信息獲得所述云資源的屬主信息;所述云端服務器根據所述屬主信息對所述請求消息進行資源權限認證。在本發明的一個實施例中,所述用戶的身份信息和所述屬主信息優先從所述云端服務器緩存的數據中獲取。根據本發明實施例的云端認證方法,通過云端服務器緩存認證記錄,批量接收用戶的請求信息并查詢,減少了數據訪問,顯著地縮短了每次認證的認證時間。本發明第二方面的實施例提出了一種云端認證系統,包括:客戶端和云端服務器,其中,客戶端用于向所述云端服務器發送請求消息,其中,所述請求消息包括認證憑據和被請求的云資源的云資源信息;云端服務器用于接收所述請求消息,根據所述認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果,以及根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄,判斷是否在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄,并在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄時,根據所述認證記錄中記錄的認證結果對所述請求消息進行認證,其中,所述認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關。在本發明的一個實施例中,所述云端服務器還用于對所述云資源的訪問權限信息進行監控,以及當所述云資源的訪問權限信息變化時,根據所述云資源的云資源信息刪除對應的認證記錄。在本發明的一個實施例中,所述云端服務器還用于根據所述認證憑據獲得認證憑據所屬用戶的身份信息,以及根據所述身份信息對所述請求消息進行身份認證。在本發明的一個實施例中,所述云端服務器還用于根據所述云資源信息獲得所述云資源的屬主信息,以及根據所述屬主信息對所述請求消息進行資源權限認證。在本發明的一個實施例中,所述用戶的身份信息和所述屬主信息優先從所述云端服務器緩存的數據中獲取。根據本發明實施例的云端認證系統,通過云端服務器緩存認證記錄,批量接收用戶的請求信息并查詢,減少了數據訪問,顯著地縮短了每次認證的認證時間。本發明第三方面的實施例提出了一種云端服務器,包括:用戶交互模塊,用于接收客戶端發送的請求消息,其中,所述請求消息包括認證憑據和被請求的云資源的云資源信息;存儲模塊,用于存儲認證記錄,其中,所述認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關;查詢模塊,用于根據所述認證憑據查詢所述存儲模塊緩存的認證記錄以獲得第一查詢結果,并根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄,并判斷是否在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄;認證模塊,用于在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄時,根據所述認證記錄中記錄的認證結果對所述請求消息進行認證。在本發明的一個實施例中,所述云端服務器還包括:監控模塊,用于對所述云資源的訪問權限信息進行監控,并且當所述云資源的訪問權限信息變化時,所述存儲模塊根據所述云資源的云資源信息刪除對應的認證記錄。在本發明的一個實施例中,所述認證模塊還用于根據所述認證憑據獲得認證憑據所屬用戶的身份信息,并根據所述身份信息對所述請求消息進行身份認證。在本發明的一個實施例中,所述認證模塊還用于根據所述云資源信息獲得所述云資源的屬主信息,并根據所述屬主信息對所述請求消息進行資源權限認證。在本發明的一個實施例中,所述用戶的身份信息和所述屬主信息優先從所述云端服務器緩存的數據中獲取。根據本發明實施例的云端服務器,通過云端服務器緩存認證記錄,批量接收用戶的請求信息并查詢,減少了數據訪問,顯著地縮短了每次認證的認證時間。本發明的附加方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
本發明的上述和/或附加的方面和優點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:圖1為本發明一個實施例的云端認證方法的流程圖;圖2為本發明一個實施例的資源的訪問權限發生變化時進行處理的流程圖;圖3為本發明另一個實施例的云端認證方法的流程圖;圖4為本發明一個實施例的云端服務器cache批量查詢的數據及算法示意圖;圖5為本發明一個實施例的云端認證系統的示意圖;以及圖6為本發明一個實施例的云端服務器的示意圖。
具體實施例方式下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發明,而不能理解為對本發明的限制。在本發明中,除非另有明確的規定和限定,術語“安裝”、“相連”、“連接”、“固定”等術語應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通。對于本領域的普通技術人員而言,可以根據具體情況理解上述術語在本發明中的具體含義。下面分別參考圖1至圖3對本發明實施例的云端認證方法的流程進行描述。如圖1所示,根據本發明第一方面的實施例的云端認證方法,包括以下步驟:SlOl:云端服務器接收客戶端發送的請求消息,其中,請求消息包括認證憑據和被請求的云資源的云資源信息。具體地,認證憑據包括但并不僅限于以下幾類:1.Access key 對應 secret key、用戶 ID;2.開發平臺token (令牌)對應用戶ID;3.云 token 對應用戶 ID;4.passport (百度外部用戶登錄系統)用戶名、密碼對應用戶ID;5.uuap (百度內網統一登錄系統)用戶名、密碼對應用戶ID。
云資源的云資源信息包括資源名等的信息。S102:云端服務器根據認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果,其中,認證記錄包括主鍵值、副鍵值和認證結果,主鍵值與云資源信息,副鍵值與認證憑據相關。使用資源名作為主key(關鍵字),用戶的認證憑據作為副key,在云端服務器cache中查詢認證記錄,如果在云端服務器cache中查詢到已有的認證記錄,則將該已有的認證記錄的認證結果作為本次認證的認證結果。S103:云端服務器根據云資源信息在第一查詢結果中進一步查詢認證記錄。S104:如果在第一查詢結果中查詢到與請求消息匹配的認證記錄,則云端服務器根據認證記錄中記錄的認證結果對請求消息進行認證。當資源的訪問權限發生變化時,例如用戶購買了某些網站提供的限時有效類的服務,如下載類軟件的付費高速下載、網絡小說站點的付費瀏覽VIP章節等,此時用戶對于這些資源的訪問權限從禁止訪問變為允許訪問,則云端服務器緩存中的認證記錄數據需要更改,如圖3所示,具體包括:S201:云端服務器對云資源的訪問權限信息進行監控。S202:當云資源的訪問權限信息變化時,云端服務器根據云資源的云資源信息刪除對應的認證記錄。資源的訪問權限發生變化時,將該資源的資源名作為關鍵字在云端服務器cache中對認證結果進行篩選查詢,并清除篩選查詢中命中該關鍵字的認證結果數據。清除了相應的認證結果數據后,用戶對已提出過認證請求的資源重新發出認證請求時,將重新進行查詢,獲得正確的認證結果。數據的實時同步問題得到了解決。如圖3所示,當在云端服務器緩存中沒有查詢到與請求消息匹配的認證記錄時,本發明的一個實施例的云端認證方法還包括:S105:云端服務器根據認證憑據獲得認證憑據所屬用戶的身份信息。S106:云端服務器根據身份信息對請求消息進行身份認證。使用用戶的認證憑據作為主key,查詢用戶的身份信息并根據身份信息進行用戶的身份認證。用戶的憑據信息包括但并不僅限于:access_key、secret_key、acess_key狀態、授予時間等。用戶的身份信息包括但并不僅限于:用戶ID、用戶名、email、手機號碼、狀態(status)、該用戶ID有訪問權限的云計算子系統列表等信息。用戶的身份認證信息優先從云端服務器緩存的數據中獲取。如果未在緩存中獲取到身份認證信息,則在本次身份認證通過時,將本次身份認證的結果保存在緩存中。在本發明的一個實施例中,將用戶的憑據信息與用戶的身份信息組織進同一數據結構中存儲,減少一次cache的訪問以提高cache訪問效率。只有請求者通過了用戶身份認證,才能繼續進行資源訪問權限認證,如果用戶身份認證失敗,則直接向客戶端返回認證失敗的提示。資源訪問權限認證包括以下步驟:S107:云端服務器根據云資源信息獲得云資源的屬主信息。在本實施例中,使用資源名作為主key,常量字符串“ownership”作為副key,查詢資源屬主的用戶ID和對應的用戶名等用戶信息,以便檢查當前認證請求是否來自資源屬主。用戶的身份信息優先從云端服務器緩存的數據中獲取。
S108:云端服務器根據屬主信息對請求消息進行資源權限認證。通過了身份認證和資源權限認證后,則請求消息認證通過;身份認證中資源權限認證中有一項認證失敗,則請求消息認證失敗。在本發明的一個實施例中,S102、S105、S107步驟中進行的三次查詢操作,因為三次查詢的關鍵字都在用戶的認證請求中提供,所以可以對這三次查詢操作進行批量處理,如圖4所示,云端服務器cache提供了批量操作接口,一次批量操作中包括了在云端cache中查詢最終認證結果、請求者身份認證、在云端cache中查詢資源屬主信息、訪問權限認證,云端只需要接受一次數據,執行批量操作,就可返回認證結果。與現有技術的身份憑據合法性判定、從屬關系判定、資源訪問權限認證需三次訪問數據庫相比,進行批量處理,減少了對云端cache的訪問次數,減少了網絡帶寬的占用,盡可能地降低了 cache失配情況下的cache訪問的額外時間消耗。本發明一個實施例的云端認證方法還包括:S109:認證完成后,將認證結果儲存到云端服務器緩存的認證記錄中。在每次認證結束后,將這一次認證的認證結果(認證通過或認證失敗)保存在云端服務器cache中。在實際應用中,比如用戶在某個網站瀏覽時,經常在同一網站中的各網頁之間跳轉,此時經常會出現用戶多次訪問同一資源的情形,將認證結果保存在云端服務器緩存中,則以后該用戶再次訪問該資源進行認證時,可以如S102步驟所述,從云端服務器緩存中查詢已有的認證結果,可以顯著地降低認證時間。根據本發明實施例的云端認證方法,通過云端服務器緩存認證記錄,批量接收用戶的請求信息并查詢,減少了數據訪問,并且優化了云端服務器緩存中的數據結構,提高了緩存的訪問效率,顯著地縮短了每次認證的認證時間。如圖5所示,根據本發明第二方面實施例的云端認證系統,包括:客戶端310和云端服務器320。具體地,客戶端310向云端服務器320發送請求消息,其中請求消息包括認證憑據和被請求的云資源的云資源信息。具體地,云資源信息包括資源的資源名等信息,認證憑據包括但并不僅限于以下幾類:1.Access key 對應 secret key、用戶 ID;2.開發平臺token (令牌)對應用戶ID;3.云 token 對應用戶 ID;4.passport (百度外部用戶登錄系統)用戶名、密碼對應用戶ID;5.uuap (百度內網統一登錄系統)用戶名、密碼對應用戶ID。云端服務器320接收該請求消息后,根據認證憑據查詢自身緩存的認證記錄以獲得第一查詢結果,再根據云資源信息在第一查詢結果中進一步查詢認證記錄,并判斷是否在第一查詢結果中查詢到與請求消息匹配的認證記錄,其中,認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關。使用資源名作為主key (關鍵字),用戶的認證憑據作為副key,在云端服務器cache中查詢認證記錄,如果在云端服務器cache中查詢到與該請求消息匹配的認證記錄,則根據認證記錄中記錄的認證結果對請求消息進行認證,即,將該已有的認證記錄的認證結果作為本次認證的認證結果。在本發明的一個實施例中,云端服務器320還用于對云資源的訪問權限信息進行監控,當資源的訪問權限發生變化時,例如用戶購買了某些網站提供的限時有效類的服務,如下載類軟件的付費高速下載、網絡小說站點的付費瀏覽VIP章節等,此時用戶對于這些資源的訪問權限從禁止訪問變為允許訪問,則云端服務器緩存中的認證記錄數據需要更改,具體可通過:根據云資源的云資源信息刪除對應云端服務器緩存中的認證記錄來實現。在本發明的一個實施例中,當在云端服務器320的緩存中未查詢到與請求消息匹配的認證記錄時,云端服務器320根據認證憑據獲得所屬用戶的身份信息,并根據身份信息對請求消息進行身份認證。使用用戶的認證憑據作為主key,查詢用戶的身份信息并根據身份信息進行用戶的身份認證。用戶的身份信息包括但并不僅限于:用戶ID、用戶名、email、手機號碼、狀態(status)、該用戶ID有訪問權限的云計算子系統列表等信息。用戶的身份信息優先從云端服務器緩存的數據中獲取。在本發明的一個實施例中,將用戶的憑據信息與用戶的身份信息組織進同一數據結構中存儲,減少一次cache的訪問以提高cache訪問效率。如果通過身份認證,云端服務器320根據云資源信息獲得云資源的屬主信息,以及根據屬主信息對請求消息進行資源權限認證。使用資源名作為主key,常量字符串“ownership”作為副key,查詢資源屬主的用戶ID和對應的用戶名等用戶信息,以便檢查當前認證請求是否來自資源屬主。用戶的身份信息優先從云端服務器緩存的數據中獲取。根據本發明實施例的云端認證系統,通過云端服務器緩存認證記錄,減少了數據訪問,并且優化了云端服務器緩存中的數據結構,提高了緩存的訪問效率,顯著地縮短了每次認證的認證時間。如圖6所示,根據本發明第三方面的實施例的云端服務器,包括:用戶交互模塊410、存儲模塊420、查詢模塊430、認證模塊440。具體地,用戶交互模塊410接收客戶端發送的請求消息。其中,請求消息包括認證憑據和被請求的云資源的云資源信息。具體地,云資源信息包括資源的資源名等信息,認證憑據包括但并不僅限于以下幾類:1.Access key 對應 secret key、用戶 ID;2.開發平臺token (令牌)對應用戶ID;3.云 token 對應用戶 ID;4.passport (百度外部用戶登錄系統)用戶名、密碼對應用戶ID;5.uuap (百度內網統一登錄系統)用戶名、密碼對應用戶ID。存儲模塊420存儲認證記錄,其中,認證記錄包括主鍵值、副鍵值和認證結果,主鍵值與云資源信息相關,副鍵值與認證憑據相關。本實施例中,存儲模塊420為云端服務器緩存。查詢模塊430根據認證憑據查詢在存儲模塊420中緩存的認證記錄以獲得第一查詢結果,再根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄,判斷是否在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄,如果查詢到與請求消息匹配的認證記錄,則認證模塊440根據該認證記錄中記錄的認證結果對請求消息進行認證。在本發明的一個實施例中,云端服務器還包括:監控模塊450。監控模塊450對云資源的訪問權限信息進行監控,并且當云資源的訪問權限信息變化時,由存儲模塊420根據云資源的云資源信息刪除對應的認證記錄。當資源的訪問權限發生變化時,例如用戶購買了某些網站提供的限時有效類的服務,如下載類軟件的付費高速下載、網絡小說站點的付費瀏覽VIP章節等,此時用戶對于這些資源的訪問權限從禁止訪問變為允許訪問,云端服務器的監控模塊監測到此資源的訪問權限發生變化,將該資源的資源名作為關鍵字在云端服務器緩存中對認證記錄進行篩選查詢;然后,清除篩選查詢中命中該關鍵字的認證記錄數據。清除了相應的認證記錄數據后,用戶對已提出過認證請求的資源重新發出認證請求時,將重新進行查詢,獲得正確的認證結果。數據的實時同步問題得到了解決。當在云端服務器的緩存中沒有查詢到匹配的認證記錄時,認證模塊440根據認證憑據獲得認證憑據所屬用戶的身份信息,并根據身份信息對請求消息進行身份認證。使用用戶的認證憑據作為主key在存儲模塊420中進行查詢,查詢用戶的用戶信息并根據用戶信息進行用戶的身份認證。用戶信息包括但并不僅限于:用戶ID、用戶名、email、手機號碼、狀態(status)、該用戶ID有訪問權限的云計算子系統列表等信息。當通過用戶身份認證后,認證模塊440根據云資源信息獲得云資源的屬主信息,并根據屬主信息對請求消息進行資源權限認證。在本實施例中,使用資源名作為主key,常量字符串“ownership”作為副key,查詢資源屬主的用戶ID和對應的用戶名等用戶信息,以便檢查當前認證請求是否來自資源屬主。如果資源不屬于該用戶,由認證模塊440檢測用戶是否擁有對該資源的訪問權限。在本發明的一個實施例中,將用戶的憑據信息與用戶的身份信息組織進同一數據結構中存儲,減少一次cache的訪問以提高cache訪問效率。在每次認證結束后,將這一次的認證結果保存在存儲模塊420 (即云端服務器緩存)的認證記錄中。在實際應用中,比如用戶在某個網站瀏覽時,經常在同一網站中的各網頁之間跳轉,此時經常會出現用戶多次訪問同一資源的情形,將認證結果保存在云端服務器緩存中,則以后該用戶再次訪問該資源進行認證時,可以從云端服務器緩存中查詢已有的認證結果,可以顯著地降低認證時間。根據本發明實施例的云端服務器,通過云端服務器緩存認證記錄,減少了數據訪問,并且優化了云端服務器緩存中的數據結構,提高了緩存的訪問效率,顯著地縮短了每次認證的認證時間。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,并且本發明的優選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本發明的實施例所屬技術領域的技術人員所理解。在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是用于實現邏輯功能的可執行指令的定序列表,可以具體實現在任何計算機可讀介質中,以供指令執行系統、裝置或設備(如基于計算機的系統、包括處理器的系統或其他可以從指令執行系統、裝置或設備取指令并執行指令的系統)使用,或結合這些指令執行系統、裝置或設備而使用。就本說明書而言,"計算機可讀介質"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執行系統、裝置或設備或結合這些指令執行系統、裝置或設備而使用的裝置。計算機可讀介質的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(⑶ROM)。另外,計算機可讀介質甚至可以是可在其上打印所述程序的紙或其他合適的介質,因為可以例如通過對紙或其他介質進行光學掃描,接著進行編輯、解譯或必要時以其他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。此外,在本發明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。所述集成的模塊如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。盡管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在不脫離本發明的原理和宗旨的情況下在本發明的范圍內可以對上述實施例進行變化、修改、替換和變型。
權利要求
1.一種云端認證方法,其特征在于,包括以下步驟: 云端服務器接收客戶端發送的請求消息,其中,所述請求消息包括認證憑據和被請求的云資源的云資源信息; 所述云端服務器根據所述認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果,其中,所述認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關; 所述云端服務器根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄; 所述云端服務器判斷是否在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄;以及 如果在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄,則所述云端服務器根據所述認證記錄中記錄的認證結果對所述請求消息進行認證。
2.如權利要求1所述的云端認證方法,其特征在于,還包括: 所述云端服務器對所述云資源的訪問權限信息進行監控;以及 當所述云資源的訪問權限信息變化時,所述云端服務器根據所述云資源的云資源信息刪除對應的認證記錄。
3.如權利要求1或2所述的云端認證方法,其特征在于,還包括: 所述云端服務器根據所述認證憑`據獲得認證憑據所屬用戶的身份信息;以及 所述云端服務器根據所述身份信息對所述請求消息進行身份認證。
4.如權利要求1-3任一項所述的云端認證方法,其特征在于,還包括: 所述云端服務器根據所述云資源信息獲得所述云資源的屬主信息;以及 所述云端服務器根據所述屬主信息對所述請求消息進行資源權限認證。
5.如權利要求3或4所述的云端認證方法,其特征在于,所述用戶的身份信息和所述屬主信息優先從所述云端服務器緩存的數據中獲取。
6.如權利要求4所述的云端認證方法,其特征在于,還包括: 認證完成后,將認證結果儲存到所述云端服務器緩存的認證記錄中。
7.—種云端認證系統,其特征在于,包括:客戶端和云端服務器,其中, 客戶端,用于向所述云端服務器發送請求消息,其中,所述請求消息包括認證憑據和被請求的云資源的云資源信息; 云端服務器,用于根據所述認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果,并根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄,并在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄時,根據所述認證記錄中記錄的認證結果對所述請求消息進行認證,其中,所述認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關。
8.如權利要求7所述的云端認證系統,其特征在于,所述云端服務器還用于對所述云資源的訪問權限信息進行監控,以及當所述云資源的訪問權限信息變化時,根據所述云資源的云資源信息刪除對應的認證記錄。
9.如權利要求8所述的云端認證系統,其特征在于,所述云端服務器還用于對所述云資源的訪問權限信息進行監控,以及當所述云資源的訪問權限信息變化時,根據所述云資源的云資源信息刪除對應的認證記錄。
10.如權利要求8或9所述的云端認證系統,其特征在于,所述云端服務器還用于根據所述認證憑據獲得認證憑據所屬用戶的身份信息,以及根據所述身份信息對所述請求消息進行身份認證。
11.如權利要求8或9所述的云端認證系統,其特征在于,所述云端服務器還用于根據所述云資源信息獲得所述云資源的屬主信息,以及根據所述屬主信息對所述請求消息進行資源權限認證。
12.如權利要求11所述的云端認證系統,其特征在于,所述用戶的身份信息和所述屬主信息優先從所述云端服務器緩存的數據中獲取。
13.—種云端服務器,其特征在于,包括: 用戶交互模塊,用于接收客戶端發送的請求消息,其中,所述請求消息包括認證憑據和被請求的云資源的云資源信息; 存儲模塊,用于存儲認證記錄,其中,所述認證記錄包括主鍵值、副鍵值和認證結果,所述主鍵值與云資源信息,所述副鍵值與認證憑據相關; 查詢模塊,用于根據所述認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果,并根據所述云資源信息在所述第一查詢結果中進一步查詢所述認證記錄,并判斷是否在所述第一查詢 結果中查詢到與所述請求消息匹配的認證記錄;以及 認證模塊,用于在所述第一查詢結果中查詢到與所述請求消息匹配的認證記錄時,根據所述認證記錄中記錄的認證結果對所述請求消息進行認證。
14.如權利要求13所述的云端服務器,其特征在于,還包括: 監控模塊,用于對所述云資源的訪問權限信息進行監控,并且當所述云資源的訪問權限信息變化時,所述存儲模塊根據所述云資源的云資源信息刪除對應的認證記錄。
15.如權利要求13所述的云端服務器,其特征在于,所述認證模塊還用于根據所述認證憑據獲得認證憑據所屬用戶的身份信息,并根據所述身份信息對所述請求消息進行身份認證。
16.如權利要求15所述的云端服務器,其特征在于,所述認證模塊還用于根據所述云資源信息獲得所述云資源的屬主信息,并根據所述屬主信息對所述請求消息進行資源權限認證。
17.如權利要求16所述的云端服務器,其特征在于,所述用戶的身份信息和所述屬主信息優先從所述云端服務器緩存的數據中獲取。
全文摘要
本發明提出了一種云端認證方法,包括以下步驟云端服務器接收客戶端發送的請求消息,其中,請求消息包括認證憑據和被請求的云資源的云資源信息;云端服務器根據認證憑據查詢所述云端服務器緩存的認證記錄以獲得第一查詢結果;云端服務器根據云資源信息在第一查詢結果中進一步查詢認證記錄;如果在第一查詢結果中查詢到與請求消息匹配的認證記錄,則云端服務器根據認證記錄中記錄的認證結果對請求消息進行認證。本發明還提出了一種云端認證系統及云端服務器。本發明通過云端服務器緩存認證結果,批量接收用戶的請求信息并查詢,減少了數據訪問,提高了緩存的訪問效率,顯著地縮短了每次認證的認證時間。
文檔編號H04L29/08GK103107985SQ201210515050
公開日2013年5月15日 申請日期2012年12月4日 優先權日2012年12月4日
發明者楊晨 申請人:百度在線網絡技術(北京)有限公司