統一資源定位符處理方法、裝置和系統的制作方法
【技術領域】
[0001] 本發(fā)明涉及網絡領域,具體而言,涉及一種統一資源定位符處理方法、裝置和系 統。
【背景技術】
[0002] 網絡應用的架構通常包含應用服務器和客戶端兩個部分,其中客戶端可以是網頁 也可以是客戶端程序(包括移動應用、桌面客戶端等等),客戶端接收用戶輸入,經過簡單的 邏輯處理之后調用應用服務器的接口獲取內容,并將這些內容進行編排后展示給用戶。當 客戶端展示的內容比較復雜時,一般會將圖片、音視頻、文檔等尺寸較大的資源存儲在一個 專門的存儲服務器上,存儲服務器通常使用HTTP協議同時為多個產品提供服務。
[0003]應用使用資源包括上傳和下載兩個階段。圖1為根據現有技術的方法上傳資源的 流程圖,圖2為根據現有技術的方法下載資源的流程圖。上傳階段,客戶端或應用服務器將 資源文件通過上傳接口上傳到存儲服務器,上傳成功后會得到一個資源ID,存儲服務器上 的資源就使用資源ID來標識,資源ID保存在應用服務器的數據庫中。下載階段,客戶端從應 用服務器中獲取資源ID,然后生成訪問資源的URL(也可由應用服務器直接生成帶資源ID的 URL),最后訪問URL從存儲服務器獲取資源的二進制數據。
[0004]通常存儲服務器除了簡單地存儲資源數據之外,還支持對資源數據進行處理。在 獲取資源時,應用服務器和客戶端都可以在URL中加入自定義的參數,如圖片的格式和尺 寸、視頻的清晰度等等,以這樣的URL訪問存儲服務器時,存儲服務器會對資源的原始數據 進行指定的處理,然后返回處理后的數據。在這種情況下,最終構造出來的資源URL包含三 個部分:資源ID、應用服務器指定的資源參數和客戶端指定的資源參數(后兩者可以不存 在)。例如客戶端需要展示一張圖片,應用服務器在URL中指定這張圖片的格式、顏色模式、 壓縮質量,客戶端根據自己的屏幕尺寸在URL中指定圖片的長度和寬度。如果客戶端直接使 用這樣的URL來訪問存儲服務器,會存在一些問題。例如,可能會存在如下問題:
[0005] 1)URL同時包含應用服務器和客戶端指定的參數,過于復雜而且長度較長;
[0006] 2)URL中包含了應用服務器指定的參數,而這些參數有時候不宜直接暴露給用戶;
[0007] 3)如果應用服務器需要改變自己指定的參數列表或參數值,需要更新客戶端代 碼。
[0008] 發(fā)明人發(fā)現,上述問題的出現是由于明文中攜帶資源的參數所導致的。針對上述 的問題,目前尚未提出有效的解決方案。
【發(fā)明內容】
[0009] 本發(fā)明實施例提供了一種統一資源定位符處理方法、裝置和系統,以至少解決背 景技術中所提到的用URL明文攜帶的方式攜帶資源的參數所導致的多個問題中的一個,使 資源參數的傳遞更加合理。
[0010] 根據本發(fā)明實施例的一個方面,提供了一種統一資源定位符處理方法,包括:接收 統一資源定位符URL,其中,所述URL用于請求獲取資源,所述URL至少攜帶有所述資源的資 源ID以及參數模板的標識信息,所述參數模板用于配置所述資源;解析所述URL至少得到所 述資源ID以及所述標識信息;獲取所述標識信息對應的參數模板以及所述資源ID對應的所 述資源;根據所述參數模板對所述資源進行處理,并返回處理后的資源。
[0011] 進一步地,所述URL還攜帶有至少一個參數,解析所述URL至少得到所述資源ID以 及所述標識信息包括:解析所述URL得到所述標識信息和所述至少一個參數;根據所述參數 模板對所述資源進行處理包括:根據所述至少一個參數對所述參數模板進行配置;使用配 置過的所述參數模板對所述資源進行處理。
[0012] 進一步地,所述URL中攜帶的所述參數模板的標識信息是由應用服務器添加到所 述URL中的,所述URL中攜帶的所述至少一個參數是由客戶端添加到所述URL中的。
[0013] 進一步地,解析所述URL至少得到所述資源ID以及所述標識信息之后,在本地沒有 存儲所述標識信息對應的參數模板的情況下,獲取所述標識信息對應的參數模板以及所述 資源ID對應的所述資源包括:向存儲有所述參數模板的服務器發(fā)送消息,其中,所述消息中 攜帶有所述標識信息;接收所述服務器返回的所述標識信息對應的所述參數模板,或者,所 述標識信息對應的所述參數模板中的所述資源的一個或多個屬性的值。
[0014] 進一步地,存儲有所述參數模板的服務器包括應用服務器。
[0015]進一步地,在接收統一資源定位符URL之前,所述方法還包括:接收用于請求分配 存儲空間的申請;根據所述申請向所述申請的請求方分配存儲空間;接收由所述請求方設 置的至少一個參數模板。
[0016] 進一步地,所述方法還包括:接收所述請求方發(fā)送的更改請求,其中,所述更改請 求中至少攜帶有參數模板的標識信息;根據所述更改請求對所述更改請求中攜帶的標識信 息對應的參數模板進行更改。
[0017] 進一步地,所述請求方包括應用服務器。
[0018] 進一步地,所述方法由存儲服務器執(zhí)行,其中,所述存儲服務器用于存儲資源。
[0019] 進一步地,所述參數模板包括以下至少之一:靜態(tài)模板、支持腳本語言的動態(tài)模 板。
[0020] 根據本發(fā)明實施例的又一個方面,還提供了一種統一資源定位符處理裝置,包括: 第一接收單元,用于接收統一資源定位符URL,其中,所述URL用于請求獲取資源,所述URL至 少攜帶有所述資源的資源ID以及參數模板的標識信息,所述參數模板用于配置所述資源; 解析單元,用于解析所述URL至少得到所述資源ID以及所述標識信息;獲取單元,用于獲取 所述標識信息對應的參數模板以及所述資源ID對應的所述資源;處理單元,用于根據所述 參數模板對所述資源進行處理,并返回處理后的資源。
[0021] 進一步地,所述解析單元用于在所述URL還攜帶有至少一個參數的情況下,解析所 述URL得到所述標識信息和所述至少一個參數;所述處理單元用于根據所述至少一個參數 對所述參數模板進行配置,并使用配置過的所述參數模板對所述資源進行處理。
[0022] 進一步地,所述獲取單元用于在本地沒有存儲所述標識信息對應的參數模板的情 況下,向存儲有所述參數模板的服務器發(fā)送消息,其中,所述消息中攜帶有所述標識信息; 所述獲取單元還用于接收所述服務器返回的所述標識信息對應的所述參數模板,或者,所 述標識信息對應的所述參數模板中的所述資源的一個或多個屬性的值。
[0023] 進一步地,所述裝置還包括:第二接收單元,用于接收用于請求分配存儲空間的申 請;分配單元,用于根據所述申請向所述申請的請求方分配存儲空間;第三接收單元,用于 接收由所述請求方設置的至少一個參數模板。
[0024] 進一步地,所述裝置還包括:第四接收單元,用于接收請求方發(fā)送的更改請求,其 中,所述更改請求中至少攜帶有參數模板的標識信息;更改單元,用于根據所述更改請求對 所述更改請求中攜帶的標識信息對應的參數模板進行更改。
[0025]根據本發(fā)明實施例的又一個方面,還提供了一種統一資源定位符處理系統,包括: 存儲服務器,所述存儲服務器包括權利要求11至15中任一項所述的統一資源定位符URL處 理裝置;應用服務器,用于接收來自客戶端的資源請求,并向所述客戶端發(fā)送URL,其中,所 述URL用于請求獲取所述資源,所述URL至少攜帶有所述資源的資源ID以及參數模板的標識 信息,所述參數模板用于配置所述資源;客戶端,用于向所述存儲服務器發(fā)送至少包括所述 資源的資源ID以及所述標識信息的URL。
[0026]進一步地,所述客戶端還用于在至少包括所述資源的資源ID以及所述標識信息的 URL中添加至少一個參數;所述存儲服務器用于根據所述至少一個參數對所述參數模板進 行配置并使用配置過的所述參數模板對所述資源進行處理。
[0027]進一步地,所述應用服務器還用于向所述存儲服務器發(fā)送用于請求分配存儲空間 的申請,并在所述存儲空間被分配之后,設置并向所述存儲服務器發(fā)送所述參數模板;所述 存儲服務器還用于根據所述申請向所述應用服務器分配存儲空間,并在分配所述存儲空間 之后接收由所述應用服務器設置的至少一個參數模板。
[0028]通過本發(fā)明,客戶端訪問存儲服務器時不使用原始的URL,而是經過參數模板轉換 后的URL,這樣的URL中只包含參數模板名稱和客戶端參數值,存儲服務器接收到這樣的URL 之后,通過處理將其轉換為原始的資源URL,最終返回原始URL指向的資源數據。本發(fā)明采用 參數模板的方式來傳遞至少一部分資源的參數,從而至少解決【背景技術】中所提到的用URL 明文攜帶的方式攜帶資源的參數所導致的多個問題中的一個,使資源參數的傳遞更加合 理。
【附圖說明】
[0029] 此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本發(fā)明的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0