文件數據的下載方法
【專利摘要】本發明公開了一種文件數據的下載方法,屬于文件下載技術,包括:用戶向網站服務器請求下載文件數據,網站服務器從緩存或授權服務器獲取基于所述授權服務器的服務器密鑰生成的所述文件數據的令牌,并利用該令牌向文件服務器請求文件數據,文件服務器根據從緩存或所述授權服務器獲取的所述服務器密鑰對所述令牌進行校驗,根據校驗結果確定是否下發文件數據。根據本發明,在網站服務器或授權服務器中都會緩存令牌,對于經常請求的熱點文件,網站服務器不需要每次都訪問授權服務器獲得令牌,而授權服務器也不需要每次都要重新創建相同令牌,大大減少了授權服務器的處理壓力及其與網站服務器的交互壓力。
【專利說明】文件數據的下載方法
【技術領域】
[0001]本發明涉及文件下載技術,特別是一種文件數據的下載方法。
【背景技術】
[0002]以文件數據共享為目標,將多臺計算機共享的文件存放于一臺計算機中,這臺計算機就被稱為文件服務器。文件服務器具有分時系統文件管理的全部功能,能夠提供網絡用戶訪問文件、目錄的并發控制和安全保密措施。
[0003]在目前的文件服務器下載方法中,用戶通過網站服務器向授權服務器請求文件數據,授權服務器會首先鑒別該用戶是否擁有下載相應文件數據的權限,如果有,則根據請求中攜帶的用戶名及文件信息等以及隨機生成的密鑰創建一個臨時令牌,并下發給用戶;用戶攜帶此令牌想文件服務器請求相應文件數據,則文件服務器向授權服務器請求鑒權,授權服務器再次根據該用戶名及文件信息以及同樣的隨機密鑰對所述令牌進行認證,認證通過,則下發文件數據。
[0004]在該方法中,用戶每次下載文件數據都需要授權服務器的兩次鑒權,極大增加了授權服務器的處理壓力及其與網站服務器和文件服務器間的交互壓力。
【發明內容】
[0005]有鑒于此,本發明的目的在于提供一種文件數據的下載方法,用于減小文件數據下載時服務器的交互和處理壓力。
[0006]本發明的實施例提供了一種文件數據的下載方法,包括:
用戶向網站服務器請求下載文件數據,網站服務器從緩存或授權服務器獲取基于所述授權服務器的服務器密鑰生成的所述文件數據的令牌,并利用該令牌向文件服務器請求文件數據,文件服務器根據從緩存或所述授權服務器獲取的所述服務器密鑰對所述令牌進行校驗,根據校驗結果確定是否下發文件數據。
[0007]根據本發明,在網站服務器或授權服務器中都會緩存令牌,對于經常請求的熱點文件,網站服務器不需要每次都訪問授權服務器獲得令牌,而授權服務器也不需要每次都要重新創建相同令牌,大大減少了授權服務器的處理壓力及其與網站服務器的交互壓力。
[0008]此外,在文件服務器中緩存服務器密鑰,對于同一服務器密鑰生成的令牌,只需要獲取一次密鑰信息后將其保存在緩存中,之后遇到相同服務器密鑰生成的令牌則可以直接使用緩存中的服務器密鑰進行鑒權,無需每次都要到授權服務器請求服務器密鑰,也減小了文件服務器與授權服務器間的交互壓力。
[0009]【專利附圖】
【附圖說明】
圖1為本發明實施例提供的文件數據的下載方法流程圖。
【具體實施方式】
[0010]為使本發明的目的、技術方案和優點更加清楚,下面結合附圖對本發明作進一步的詳細描述。
[0011]如圖1所示,為本發明實施例提供的文件數據的下載方法流程圖,具體包括以下步驟:
步驟101、用戶請求下載文件數據。
[0012]步驟102、網站服務器接收到所述請求,根據所述文件數據的文件索引信息檢索查詢緩存中是否存在所述文件數據的令牌,如果有,則向文件服務器請求文件數據,其中包含該令牌,執行步驟106 ;否則向授權服務器請求所述文件數據的令牌,請求中包含所述文件索引信息以及該文件數據的訪問者身份標識。所述文件索引信息包括兩部分,分別是用戶標識、文件標識。所述用戶標識可以為該用戶的用戶ID。所述訪問者身份標識用于標識可訪問該文件數據的用戶身份信息,在本實施例中可采用IP地址,即只有當用戶的IP地址與訪問者身份標識中的IP地址相一致時,該用戶才有權限訪問該文件數據;當訪問者身份標識為空時,表明該文件數據任何用戶均可訪問。
[0013]在一個較佳實施例中,網站服務器僅僅緩存訪問者身份標識為空的令牌,因為網站服務器的緩存空間有限,為充分利用,可以只保存熱點的文件數據,即訪問者身份標識為空、有很多用戶訪問的文件數據。如果保存全部令牌,則訪問者身份標識不為空的令牌可以緩存相對時間較短,這樣在數據短時間重復訪問時可以提高性能。
[0014]步驟103、授權服務器查詢當前使用的服務器密鑰。授權服務器定期生成服務器密鑰,并維護密鑰的索引信息,隨新密鑰的生成而不斷更新該索引信息,授權服務器標識與密鑰的索引信息在一起,能夠唯一確定和定位該服務器密鑰,稱為令牌密鑰索引。
[0015]步驟104、授權服務器獲取標識所述服務器密鑰的令牌密鑰索引,與所述文件索引信息及訪問者身份標識一起組成一個字符串(如果所述訪問者身份標識為空,則字符串不包含訪問者身份標識),采用MD5散列算法獲取該字符串的散列碼,利用所述服務器密鑰對該散列碼進行加密,并將所述字符串與加密后的散列碼拼接在一起,從而獲得令牌,該令牌包含兩部分,分別是字符串構成的明文部分和加密散列碼后構成的密文部分。在本實施例中,加密算法可采用DES,AES等加密算法。在另一實施例中,可以先對字符串加密再算散列碼,然后拼接獲得令牌。
[0016]進一步地,還可以在所述字符串中增加其他擴展控制信息,比如超時時間,用于標識該服務器密鑰的有效性持續時間,其在服務器密鑰的生成時間基礎上增加一個時間段,如果文件服務器進行校驗的當前時間超過了服務器密鑰的有效性持續時間,則表明該服務器密鑰已失效,拒絕授權。
[0017]步驟105、授權服務器將生成的令牌下發給網站服務器,網站服務器訪問文件服務器,請求文件數據,請求信息中包含所述令牌。
[0018]步驟106、文件服務器獲取令牌后查詢該令牌中的訪問者身份標識是否為空,如果為空,則執行下一步;否則進一步判斷該用戶標識是否與訪問者身份標識相一致,如果是,則執行下一步;否則拒絕下發文件數據。
[0019]步驟107、文件服務器查詢緩存,判斷緩存中是否存在該授權服務器標識與密鑰的索引信息所對應的服務器密鑰,如果有,則執行下一步;否則向授權服務器申請獲取該令牌密鑰索引對應的服務器密鑰,并緩存,執行下一步。如果令牌中包含超時時間,則文件服務器判斷當前時刻是否處在該超時時間范圍內,如果是,則執行下一步;否則,拒絕向用戶下發文件數據,并提示服務器密鑰失效,授權過期。
[0020]步驟108、文件服務器采用MD5散列算法獲取該令牌明文部分的散列碼,然后利用服務器密鑰進行加密得到密文。加密算法采用與授權服務器端相同的DES或AES等加密算法。
[0021]步驟109、文件服務器將所述加密得到的密文與令牌的密文部分進行匹配,如果相同則表明匹配成功,通過對該用戶的權限校驗,向用戶下發文件數據。
[0022]根據本實施例,在網站服務器或授權服務器中都會緩存令牌,對于經常請求的熱點文件,網站服務器不需要每次都訪問授權服務器獲得令牌,而授權服務器也不需要每次都要重新創建相同令牌,大大減少了授權服務器的處理壓力及其與網站服務器的交互壓力。
[0023]此外,在文件服務器中緩存服務器密鑰,對于同一服務器密鑰生成的令牌,只需要獲取一次密鑰信息后將其保存在緩存中,之后遇到相同服務器密鑰生成的令牌則可以直接使用緩存中的服務器密鑰進行鑒權,無需每次都要到授權服務器請求服務器密鑰,也減小了文件服務器與授權服務器間的交互壓力。
[0024]總之,以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。
【權利要求】
1.一種文件數據的下載方法,其特征在于,包括: 用戶向網站服務器請求下載文件數據,網站服務器從緩存或授權服務器獲取基于所述授權服務器的服務器密鑰生成的所述文件數據的令牌,并利用該令牌向文件服務器請求文件數據,文件服務器根據從緩存或所述授權服務器獲取的所述服務器密鑰對所述令牌進行校驗,根據校驗結果確定是否下發文件數據。
2.根據權利要求1所述的文件數據的下載方法,其特征在于,所述網站服務器從授權服務器獲取所述文件數據的令牌具體包括: 網站服務器向授權服務器請求所述文件數據的令牌,請求中包含所述文件索引信息以及該文件數據的訪問者身份標識;該文件索引信息包括用戶標識、文件標識; 授權服務器利用當前使用的服務器密鑰、令牌密鑰索引、所述文件索引信息及訪問者身份標識創建所述文件數據的令牌,下發給網站服務器。
3.根據權利要求2所述的文件數據的下載方法,其特征在于,所述網站服務器的緩存中保存訪問者身份標識為空的令牌或全部令牌。
4.根據權利要求3所述的文件數據的下載方法,其特征在于,所述創建文件數據的令牌具體包括: 授權服務器獲取標識所述服務器密鑰的令牌密鑰索引,與所述文件索引信息,和/或,訪問者身份標識一起組成一字符串,獲取該字符串的散列碼,利用所述服務器密鑰對該散列碼進行加密,并將所述字符串與加密后的散列碼拼接在一起,從而獲得令牌。
5.根據權利要求4所述的文件數據的下載方法,其特征在于,所述字符串中進一步包括擴展控制信息。`
6.根據權利要求5所述的文件數據的下載方法,其特征在于,所述擴展控制信息為超時時間,標識該服務器密鑰的有效性持續時間。
7.根據權利要求6所述的文件數據的下載方法,其特征在于,所述網站服務器利用令牌向文件服務器請求文件數據后還進一步包括: 文件服務器判斷當前時刻是否處在所述超時時間的范圍內,如果是,則從緩存或授權服務器獲取服務器密鑰;否則,拒絕向用戶下發文件數據,并提示服務器密鑰失效。
8.根據權利要求4或7所述的文件數據的下載方法,其特征在于,當文件服務器從緩存或授權服務器獲取服務器密鑰前進一步包括: 文件服務器獲取令牌后查詢該令牌中的訪問者身份標識是否為空,如果為空,則執行獲取服務器密鑰對令牌進行校驗的步驟;否則判斷該用戶標識是否包含在訪問者身份標識中,如果是,則執行獲取服務器密鑰對令牌進行校驗的步驟;否則拒絕下發文件數據。
9.根據權利要求8所述的文件數據的下載方法,其特征在于,所述從緩存或授權服務器獲取服務器密鑰具體包括: 文件服務器查詢緩存,判斷緩存中是否存在該令牌密鑰索引所對應的服務器密鑰,如果有,則獲取該服務器密鑰;否則向授權服務器申請獲取該令牌密鑰索引對應的服務器密鑰,并緩存。
10.根據權利要求9所述的文件數據的下載方法,其特征在于,所述對令牌進行校驗具體包括: 文件服務器獲取令牌中字符串的散列碼,采用與授權服務器生成該令牌時相同的加密算法,利用所述從緩存或授權服務器獲取的服務器密鑰對該散列碼進行加密,并將所述加密得到的密文與令牌中的加密后的散列碼進行匹配,如果相同則匹配成功,通過對該用戶的權限校 驗。
【文檔編號】H04L29/08GK103532989SQ201210223429
【公開日】2014年1月22日 申請日期:2012年7月2日 優先權日:2012年7月2日
【發明者】林兆祥, 郭松柳, 陳飛 申請人:北京興宇中科科技開發股份有限公司