
本發明涉及互聯網領域,尤其涉及一種用戶權限驗證方法及裝置。
背景技術:
:數據庫按照數據結構來組織、存儲和管理數據的倉庫,用戶可以對倉庫中的數據進行查看、新增、更新、刪除等操作。而不同的登錄用戶需要設置不同的對數據庫進行操作的權限,一些用戶設置為只有執行查看操作的權限,而一些用戶設置為查看、新增、更新操作的權限。在現有技術中,為了不同用戶對同一數據庫有不同的操作權限,在各個控制器里面判斷權限,比如,在查看控制器中設置權限判斷。具體的,判斷當前執行查看操作的用戶是否有查看權限,又在刪除控制器中設置權限判斷,判斷當前執行新增操作的用戶是否有新增權限。可以看出,現有技術不僅代碼量大,而且很容易遺漏權限判斷。技術實現要素:本發明實施例通過提供一種用戶權限驗證方法及裝置,解決了現有技術中用戶權限驗證代碼量大、容易遺漏權限判斷的技術問題。第一方面,本發明實施例提供了一種用戶權限驗證方法,包括:檢測到當前登錄所述權限驗證系統的操作用戶的操作請求時,獲取與所述操作用戶的用戶ID關聯的M個權限標識,M為正整數,所述操作請求用于請求對所述目標數據庫中的存儲對象進行操作;獲取與所述操作請求對應的路由標識;判斷所述M個權限標識中是否存在與所述路由標識相同的標識;如果所述M個權限標識中存在與所述路由標識相同的標識,進入處理所述操作請求的控制器。優選的,所述獲取與所述操作用戶的用戶ID關聯的M個權限標識,包括:從預設用戶角色關聯表中查詢與所述用戶ID關聯的目標角色ID;如果查詢到至少一個與所述用戶ID關聯的目標角色ID,從預設角色權限關聯表中查詢與所述目標角色ID關聯的目標權限ID,否則權限驗證失敗;如果查詢到至少一個與所述目標角色ID關聯的目標權限ID,從預設權限表中獲取所述目標權限ID的權限標識,否則權限驗證失敗。優選的,所述獲取與所述操作請求對應的路由標識,包括:從所述操作請求中提取請求URL;查詢用于映射所述請求URL到處理所述操作請求的控制器的路由標識。優選的,如果在所述控制器內添加有邏輯與組合的N個預設定權限標識符,N為正整數,在所述進入處理所述操作請求的控制器之后,所述方法還包括:判斷所述操作請求是否滿足第一預設規則;如果所述操作請求滿足所述第一預設規則,判斷所述M個權限標識中是否同時存在所述N個預設定權限標識符,否則處理所述操作請求;如果所述M個權限標識中同時存在所述N個預設定權限標識符,處理所述操作請求,否則權限驗證失敗。優選的,如果在所述控制器內添加有邏輯非組合的K個預設定權限標識符,K為正整數,在所述進入處理所述操作請求的控制器之后,所述方法還包括:判斷所述操作請求是否滿足第二預設規則;如果所述操作請求滿足所述第二預設規則,判斷所述M個權限標識中是否存在所述K個預設定權限標識符中的一個,否則處理所述操作請求;如果所述M個權限標識中存在所述K個預設定權限標識符中的一個,處理所述操作請求,否則權限驗證失敗。第二方面,本發明實施例提供了一種用戶權限驗證裝置,包括:權限標識獲取單元,用于檢測到當前登錄所述權限驗證系統的操作用戶的操作請求時,獲取與所述操作用戶的用戶ID關聯的M個權限標識,M為正整數,所述操作請求用于請求對所述目標數據庫中的存儲對象進行操作;路由標識獲取單元,用于獲取與所述操作請求對應的路由標識;判斷單元,用于判斷所述M個權限標識中是否存在與所述路由標識相同的標識;進入單元,用于如果所述M個權限標識中存在與所述路由標識相同的標識,進入處理所述操作請求的控制器。優選的,所述權限標識獲取單元,包括:角色ID查詢子單元,用于從預設用戶角色關聯表中查詢與所述用戶ID關聯的目標角色ID;權限ID查詢子單元,用于如果查詢到至少一個與所述用戶ID關聯的目標角色ID,從預設角色權限關聯表中查詢與所述目標角色ID關聯的目標權限ID,否則權限驗證失敗;權限標識查詢子單元,如果查詢到至少一個與所述目標角色ID關聯的目標權限ID,從預設權限表中獲取所述目標權限ID的權限標識,否則權限驗證失敗。優選的,所述路由標識獲取單元,包括:URL提取子單元,用于從所述操作請求中提取請求URL;路由標識查詢子單元,用于查詢用于映射所述請求URL到處理所述操作請求的控制器的路由標識。優選的,如果在所述控制器內添加有邏輯與組合的N個預設定權限標識符,N為正整數,所述裝置還包括:第一規則判斷單元,用于判斷所述操作請求是否滿足第一預設規則;第一請求處理單元,用于如果所述操作請求滿足所述第一預設規則,判斷所述M個權限標識中是否同時存在所述N個預設定權限標識符,否則處理所述操作請求;如果所述M個權限標識中同時存在所述N個預設定權限標識符,處理所述操作請求,否則權限驗證失敗。優選的,如果在所述控制器內添加有邏輯非組合的K個預設定權限標識符,K為正整數,所述裝置還包括:第二規則判斷單元,用于判斷所述操作請求是否滿足第二預設規則;第二請求處理單元,用于如果所述操作請求滿足所述第二預設規則,判斷所述M個權限標識中是否存在所述K個預設定權限標識符中的一個,否則處理所述操作請求;如果所述M個權限標識中存在所述K個預設定權限標識符中的一個,處理所述操作請求,否則權限驗證失敗。本發明實施例中提供的一個或多個技術方案,至少具有如下技術效果或優點:由于檢測到當前登錄權限驗證系統的操作用戶的操作請求時,獲取與操作用戶的用戶ID關聯的M個權限標識,以及與操作請求對應的路由標識;判斷M個權限標識中是否存在與路由標識相同的標識;存在則進入處理操作請求的控制器,從而通過路由標識對操作用戶的權限統一進行驗證,而不需要先進入控制器后,才在控制器內進行用戶權限判斷,因此不需要在每個控制器中寫入驗證用戶權限的代碼,以減少了用戶權限判斷的代碼量,也正因不需要在每個控制器內寫入驗證用戶權限的代碼,能夠避免遺漏權限判斷,從而提高了用戶權限驗證的準確性和執行效率。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明提供的用戶權限驗證方法的流程圖;圖2A為本發明提供的一優選用戶權限驗證方法實施例的流程圖;圖2B為本發明提供的另一優選用戶權限驗證方法實施例的流程圖;圖3為本發明實施例提供的用戶權限驗證裝置的功能單元圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。本發明實施例提供了一種用戶權限驗證方法,應用于與目標數據庫關聯的權限驗證系統,管理模塊、目標數據庫和權限驗證系統。管理模塊用于錄入數據到目標數據庫中,以生成存儲對象,比如產品信息、圖書信息。管理模塊還用于錄入用戶表、角色表、建立用戶角色關聯表和建立角色權限關聯表,管理模塊還用于對目標數據庫的存儲對象進行查看、添加、修改、刪除等操作,權限驗證系統用于對當前登錄權限驗證系統的操作用戶的權限進行驗證。參考圖1所示,本發明實施例提供的用戶權限驗證方法包括:S101、檢測到當前登錄權限驗證系統的操作用戶的操作請求時,獲取與操作用戶的用戶ID關聯的M個權限標識,M為正整數,操作請求用于對目標數據庫中的存儲對象進行操作;S102、獲取與操作請求對應的路由標識;S103、判斷M個權限標識中是否存在與路由標識相同的標識;S103、如果M個權限標識中存在與路由標識相同的標識,進入處理操作請求的控制器。在本發明實施例中,目標數據庫中的預設各個數據表包含的字段如下:用戶表:用戶ID,用戶名稱。角色表:角色ID,角色名稱。用戶角色關聯表:用戶ID,角色ID。權限表:權限ID,權限標識,權限名稱。角色權限關聯表:角色ID,權限ID。在預設用戶角色關聯表中,一個用戶ID可以關聯多個角色ID。在預設角色權限關聯表中,一個角色ID可以關聯多個權限ID。目標數據庫中的數據表結構信息在數據管理系統初始化時建立。數據表中的數據可以在系統運行中使用管理模塊隨時添加、修改、刪除。需要說明的是,Laravel框架與MVC(ModelViewController,模型-視圖-控制器)框架結合實現步驟S101~S104。具體的,通過在Laravel框架中加入中間件執行S101~S104,對統一權限進行判斷。Laravel框架為PHPWeb開發框架(PHPWebFramework)。MVC框架分為三個基本部分:模型、視圖和控制器。在本發明實施例中,通過控制器負責轉發操作請求、以及對操作請求進行處理。不同類型的操作請求對應不同的控制器。具體舉例來講,操作請求為編輯請求,對應進入編輯產品的控制器;操作請求為查看請求,對應進入查看產品的控制器;操作請求;操作請求為刪除請求,對應進入刪除產品的控制器。視圖負責處理顯示部分,模型負責處理邏輯部分。下面,結合圖1詳細介紹本發明實施例提供的用戶權限驗證方法的具體實現步驟:S101、檢測當前登錄權限驗證系統的操作用戶的操作請求時,獲取與操作用戶的用戶ID關聯的M個權限標識,M為正整數,操作請求用于請求對目標數據庫中的數據進行操作。具體的,操作用戶包括查看請求、刪除請求、添加請求、修改請求。在一實施例中,S101包括:從預設用戶角色關聯表中查詢與用戶ID關聯的目標角色ID;如果查詢到至少一個與用戶ID關聯的目標角色ID,從預設角色權限關聯表中查詢與目標角色ID關聯的目標權限ID,否則權限驗證失敗;如果查詢到至少一個與目標角色ID關聯的目標權限ID,從預設權限表中獲取目標權限ID的權限標識,否則權限驗證失敗。在具體實施過程中,在從預設用戶角色關聯表中查詢與用戶ID關聯的目標角色ID之前,根據操作用戶的用戶名稱,從預設用戶表中查詢操作用戶的用戶ID。在S101之后,接著執行S102、獲取與操作請求對應的路由標識;具體的,從操作請求中提取請求URL(UniformResoureLocator:統一資源定位符);查詢用于映射請求URL到處理操作請求的控制器的路由標識。在本發明實施例中,路由標識是指將操作請求的請求URL映射到處理操作請求的控制器的標識。路由器是處理路由功能的程序。路由器根據路由規則將請求URL映射到處理操作請求的控制器,路由規則是指將操作請求的請求URL映射到處理操作請求的控制器的規則。在具體實施過程中,使用Laravel框架的$request對象。具體的,通過$request->route()->getActionName()函數獲取Laravel框架下的當前路由標識字符串作為操作請求的路由標識。在S102之后,接著執行S103:判斷M個權限標識中是否存在與路由標識相同的標識。具體的,通過將路由標識分別與M個權限標識一一進行對比,以判斷出M個權限標識中是否存在與路由標識相同的標識。在S103之后,接著執行S104:如果M個權限標識中存在與路由標識相同的標識,進入處理操作請求的控制器。在S103之后,如果M個權限標識中不存在與路由標識相同的標識,返回權限驗證失敗。通過上述技術方案,利用Laravel框架的路由標識對用戶權限進行統一驗證,驗證成功再進入MVC框架對應的控制器,從而避免了在每個控制器中進行判斷用戶權限。實現了減少代碼量,且不會遺漏權限判斷。進一步的,本發明實施例還提供了另一實施例:對用戶權限進行統一驗證同時,根據實際的業務邏輯需求,控制器添加一個或多個預設定權限標識符。比如,使用特定前綴的自定義字符串。具體的,如果添加多個預設定權限標識符,根據不同的業務邏輯需求,多個預設定權限標識符為邏輯非組合,或者多個預設定權限標識符為邏輯與組合。在進入處理操作請求的控制器之后,如果進入的控制器內不存在預設定權限標識符,則處理操作請求。具體的,如果進入的控制器內添加有邏輯與組合的N個預設定權限標識符,N為正整數,在進入處理操作請求的控制器之后,參考圖2A所示,本發明實施例還提供了如下步驟:S105:判斷操作請求是否滿足第一預設規則;S106:如果操作請求滿足第一預設規則,判斷M個權限標識中是否同時存在N個預設定權限標識符,否則處理操作請求;S107:如果M個權限標識中同時存在N個預設定權限標識符,處理操作請求,否則權限驗證失敗。具體的,在進入處理操作請求的控制器之后,如果在控制器內添加有邏輯非組合的K個預設定權限標識符,K為正整數,在進入處理操作請求的控制器之后,參考圖2B所示,本發明實施例還提供了如下步驟:S105’:判斷操作請求是否滿足第二預設規則;S106’如果操作請求滿足第二預設規則,判斷M個權限標識中是否存在K個預設定權限標識符中的一個,否則處理操作請求;S107’如果M個權限標識中存在K個預設定權限標識符中的一個,處理操作請求,否則權限驗證失敗。下面以控制器內添加一個預設定權限標識符,第一預設規則為:產品價格大于預設價格閾值為例,判斷操作請求是否滿足第一預設規則,具體為:判斷操作請求針對產品的產品價格是否大于預設價格閾值。以預設價格下限設置為一萬元為例,判斷刪除請求所針對產品的產品價格是否大于一萬元,如果大于一萬元,判斷M個權限標識中是否存在預設權限字符串,如果小于或等于一萬元,處理操作請求。下面以控制器內添加兩個非組合的預設定權限標識符A、B,預設定權限標識符A用于產品價格大于預設價格閾值時的用戶權限判斷,預設定權限標識符B用于產品成本大于預設成本閾值時的用戶權限判斷。對應的,判斷操作請求是否滿足第二預設規則,具體為:判斷操作請求針對產品的產品價格是否大于預設價格閾值,以及判斷操作請求針對產品的產品成本是否大于預設成本閾值。如果產品價格大于預設價格閾值,判斷M個權限標識中是否存在預設定權限標識符A;如果成本價格大于預設成本閾值,判斷M個權限標識中是否存在預設定權限標識符B,如果M個權限標識中存在預設定權限標識符A或預設定權限標識符B,則權限驗證通過,進而處理操作請求,否則權限驗證失敗。預設定權限標識符C用于產品價格大于預設價格閾值時的用戶權限判斷,預設定權限標識符D用于產品成本大于預設成本閾值時的用戶權限判斷。對應的,判斷操作請求是否滿足第一預設規則,具體為:判斷操作請求針對產品的產品價格是否大于預設價格閾值,以及判斷操作請求針對產品的產品成本是否大于預設成本閾值。如果產品價格大于預設價格閾值,判斷M個權限標識中是否存在預設定權限標識符C;如果成本價格大于預設成本閾值,判斷M個權限標識中是否存在預設定權限標識符D。如果M個權限標識中同時存在預設定權限標識符C和預設定權限標識符D,則權限驗證通過,進而處理操作請求,如果M個權限標識中存在預設定權限標識符A、或者預設定權限標識符B、或者均不存在,則權限驗證失敗。下面,給出多個具體實施例,對本發明提供的一種用戶權限驗證方法進行舉例說明:首先,給出各個數據表的舉例:參考下表1所示,以三組用戶對預設用戶表進行舉例說明,但是不用于限制本發明,預設用戶表中包括用戶名稱和與用戶名稱對應的用戶ID,在具體實施過程中,預設用戶表中可以增加更多組用戶。表1.預設用戶表用戶ID用戶名稱1張三2李四3王五下面,參考下表2,以三組角色對預設角色表進行舉例說明,但是不用于限制本發明,預設角色表中包括角色名稱和與角色名稱對應的角色ID,在具體實施過程中,預設角色表中可以增加更多組角色。表2.預設角色表角色ID角色名稱1老板2經理3員工下面以表1中的用戶ID和表2中的角色ID建立用戶角色關聯表,建立的用戶角色關聯表參考下表3所示,但是不用于限制本發明,在具體實施過程中,用戶角色關聯表中可以增加更多組用戶ID與角色ID的關聯。表3.預設用戶角色關聯表用戶ID角色ID112233下面參考下表4,以四組權限ID對預設權限表進行舉例說明,預設權限表中包括權限ID、與權限ID對應的權限標識、權限名稱,預設權限表中可以增加更多組權限。表4.預設權限表下面,參考下表5,以表4中的權限ID與表3中的角色ID對角色權限關聯表進行舉例說明,但是不用于限制本發明,在具體實施過程中,角色權限關聯表中可以增加更多組角色ID與權限ID關聯。表5.角色權限關聯表角色ID權限ID1112131421222331基于上述舉例的表1~表5,本發明提供多個實施例:實施例一:對于操作請求為查看請求,假設王五已登錄,檢測到王五的查看請求,進入了查看產品的網址,如http://www.example.com/product/view/1,依次進行如下權限判斷步驟:1、獲取到王五用戶ID為3;2、從預設用戶角色關聯表中獲取到與用戶ID為3關聯的角色ID為3;3、從預設角色權限關聯表中獲取到與角色ID為3關聯的權限ID為1;4、從預設權限表中獲取到權限ID為1的權限標識為App\Http\Controllers\ProductController@view;5、獲取查看請求對應的路由標識:App\Http\Controllers\ProductController@view,跟上一步驟獲取的權限標識對比,相同,進入處理查看請求的控制器。用于處理查看請求的控制器里沒有自定義權限判斷單元,驗證流程通過,處理查看請求,以向操作用戶呈現查看的產品。實施例二:對于操作請求為查看請求,假設王五已登錄,進入了編輯產品的網址,如http://www.example.com/product/edit/1,依次進行如下權限判斷步驟:1、獲取到王五用戶ID為3;2、從預設用戶角色關聯表中獲取到與用戶ID為3關聯的角色ID為3;3、從預設角色權限關聯表中獲取到與角色ID為3關聯的權限ID為1;4、從預設權限表中獲取到權限ID為1的權限標識為App\Http\Controllers\ProductController@view;5、獲取編輯請求對應的路由標識:App\Http\Controllers\ProductController@edit,跟上一步驟獲取的權限標識對比,不同則權限認證失敗,不處理編輯請求。實施例三:對于操作請求為刪除請求,在用于刪除產品的操作請求的控制器里面添加自定義權限判斷單元,如果價格大于1萬,則判斷獲取的M個權限標識中是否有custom_high_price_product_delete權限標識。具體的,張三和李四權限判斷步驟如下:假設張三已登錄,進入了刪除產品的網址,如http://www.example.com/product/delete/1,則權限判斷步驟如下:1、獲取到張三用戶ID為1。2、從預設用戶角色關聯表里獲取到用戶ID為1關聯的角色ID為1。3、從預設角色權限關聯表里獲取到角色ID為1關聯的權限ID為1,2,3,4。4、從預設權限表面獲取到權限ID為1,2,3、4的權限標識為:App\Http\Controllers\ProductController@viewApp\Http\Controllers\ProductController@edit,App\Http\Controllers\ProductController@delete,custom_high_price_product_delete。5、獲取刪除請求對應的路由標識:App\Http\Controllers\ProductController@delete,跟上一步驟獲取的權限標識對比,如果存在路由標識App\Http\Controllers\ProductController@delete,繼續進入用于處理刪除請求的控制器。判斷刪除請求針對產品的價格是否大于1萬,如果刪除請求針對產品的價格小于或等于1萬,刪除該產品。如果刪除請求針對產品的價格大于1萬,對比權限標識high_price_product_delete是否包含在獲取的M個權限標識中,包含在獲取的權限標識中,刪除該價格大于1萬的產品。假設李四已登錄,進入了刪除產品的網址,如http://www.example.com/product/delete/1,則權限判斷步驟如下:1、獲取到李四用戶ID為2。2、從預設用戶角色關聯表里獲取到用戶ID為2的角色ID為2。3、從預設角色權限關聯表里獲取到用戶ID為2的權限ID為1,2,3。4、從權限表里面,獲取到權限標識為App\Http\Controllers\ProductController@view,App\Http\Controllers\ProductController@edit,App\Http\Controllers\ProductController@delete。5、獲取刪除請求對應的路由標識:App\Http\Controllers\ProductController@delete,跟上一步的權限標識對比,包含路由標識:App\Http\Controllers\ProductController@delete,進入處理刪除請求的控制器。6、處理刪除請求的控制器有自定義權限判斷單元。如果刪除請求針對產品的價格小于或等于一萬,刪除該產品。如果刪除請求針對產品的價格大于1萬,對比權限標識high_price_product_delete是否包含在獲取的M個權限標識中,沒有包含在獲取的權限標識中,權限驗證失敗。基于同一發明構思,本發明實施例提供了一種用戶權限驗證裝置,參考圖3所示,包括:權限標識獲取單元201,用于檢測到當前登錄所述權限驗證系統的操作用戶的操作請求時,獲取與所述操作用戶的用戶ID關聯的M個權限標識,M為正整數,所述操作請求用于請求對所述目標數據庫中的存儲對象進行操作;路由標識獲取單元202,用于獲取與所述操作請求對應的路由標識;判斷單元203,用于判斷所述M個權限標識中是否存在與所述路由標識相同的標識;進入單元204,用于如果所述M個權限標識中存在與所述路由標識相同的標識,進入處理所述操作請求的控制器。優選的,所述權限標識獲取單元201,包括:角色ID查詢子單元,用于從預設用戶角色關聯表中查詢與所述用戶ID關聯的目標角色ID;權限ID查詢子單元,用于如果查詢到至少一個與所述用戶ID關聯的目標角色ID,從預設角色權限關聯表中查詢與所述目標角色ID關聯的目標權限ID,否則權限驗證失敗;權限標識查詢子單元,如果查詢到至少一個與所述目標角色ID關聯的目標權限ID,從預設權限表中獲取所述目標權限ID的權限標識,否則權限驗證失敗。優選的,所述路由標識獲取單元202,包括:URL提取子單元,用于從所述操作請求中提取請求URL;路由標識查詢子單元,用于查詢用于映射所述請求URL到處理所述操作請求的控制器的路由標識。優選的,如果在所述控制器內添加有邏輯與組合的N個預設定權限標識符,N為正整數,所述裝置還包括:第一規則判斷單元,用于判斷所述操作請求是否滿足第一預設規則;第一請求處理單元,用于如果所述操作請求滿足所述第一預設規則,判斷所述M個權限標識中是否同時存在所述N個預設定權限標識符,否則處理所述操作請求;如果所述M個權限標識中同時存在所述N個預設定權限標識符,處理所述操作請求,否則權限驗證失敗。優選的,如果在所述控制器內添加有邏輯非組合的K個預設定權限標識符,K為正整數,所述裝置還包括:第二規則判斷單元,用于判斷所述操作請求是否滿足第二預設規則;第二請求處理單元,用于如果所述操作請求滿足所述第二預設規則,判斷所述M個權限標識中是否存在所述K個預設定權限標識符中的一個,否則處理所述操作請求;如果所述M個權限標識中存在所述K個預設定權限標識符中的一個,處理所述操作請求,否則權限驗證失敗。本發明實施例中提供的一個或多個技術方案,至少具有如下技術效果或優點:由于檢測到當前登錄與目標數據庫關聯的權限驗證系統的操作用戶的操作請求時,獲取與操作用戶的用戶ID關聯的M個權限標識,以及與操作請求對應的路由標識;判斷M個權限標識中是否存在與路由標識相同的標識;存在則進入處理操作請求的控制器,從而通過路由標識對操作用戶的權限統一進行驗證,而不需要先進入控制器,在控制器內進行用戶權限判斷,因此不需要在每個控制器中寫入驗證用戶權限的代碼,以減少了用戶權限判斷的代碼量,也正因不需要在每個控制器內寫入驗證用戶權限的代碼,能夠避免遺漏權限判斷,從而提高了用戶權限驗證的準確性和執行效率。在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領域的技術人員能夠理解,盡管在此的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的網關、代理服務器、系統中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。當前第1頁1 2 3