靜態網站的托管方法和托管系統的制作方法
【專利摘要】本公開提供的靜態網站的托管方法,從客戶端的請求中獲取存儲空間標識符和第一對象的名稱,查找到對應的存儲空間和第一對象,將該存儲空間設置為托管網站,其中,托管網站的訪問URL和頁面索引目錄根據存儲空間標識符確定,將第一對象設置為托管網站的首頁。通過該托管方法,使托管網站的首頁可以配置,不受索引文件命名(必須為index.html)限制。
【專利說明】
靜態網站的托管方法和托管系統
技術領域
[0001 ]本公開涉及云存儲領域,具體涉及靜態網站的托管方法和托管系統。
【背景技術】
[0002]對象存儲在互聯網的大潮中受到了廣發關注,并得到了迅速的發展。對象存儲與文件存儲不同,對象不以目錄分層的結構進行組織。每個對象都位于被稱為存儲池的扁平的空間的相同層級,每一級的每個元素在存儲系統中都有唯一的標識,用戶通過這個標識來訪問容器或者對象。采用扁平的數據組織結構拋棄了嵌套的文件夾,避免維護龐大的目錄樹。在大數據和互聯網時代,存儲的文件/對象超過上百萬個,單位時間內的訪問次數和并發訪問量也達到了前所未有的量級,在這種情況下,目錄樹會給存儲系統帶來很大的開銷和諸多問題,成為系統的瓶頸。另外一個讓對象存儲煥發生命力的因素是,對象存儲不再提供POSIX兼容的接口(如open,close,read ,write等),而是可以非常方便地通過HTTPRestful API接口和對象進行交互:通過HJT和GET進行上傳下載,通過DELETE進行刪除。
[0003]在進行對象存儲時,用戶首先需要為對象申請一個存儲空間(bucket),然后將對象上載到一個存儲空間(bucket)中,供后續下載使用。靜態網站托管是指用戶在對象存儲中創建了一個bucket之后,把這個bucket的ACL設置成public-read(任意可讀),并將后續上傳的每一個對象(通常都是html等靜態網頁)都設置成public-read,讓用戶能夠非常方便的訪問到部署于云存儲上的靜態網頁內容,這就是所述的靜態托管網站。
[0004]在這種網站中,為了讓用戶更方便的訪問到頁面內容,通常是用戶方位bucket*+域名,即可訪問到其主頁,比如用戶創建了一個名為web的bucket用于存儲靜態頁面,并設置bucket本身和bucket內的所有對象為public-read狀態,又公有云存儲的主頁為s3.cloud.com,那么用戶訪問web.s3.cloud.com時,則給用戶返回302,使得該請求被跳轉到一個名為web.s3.cloud, com/index.html的頁面上,這個index.html即此靜態托管網站的主頁。
[0005]但上述方案有一個問題,就是在不能夠讓用戶自定義主頁對應的對象名,即用戶必須遵循著index.html這個約束,這對于用戶來說并不方便。
【發明內容】
[0006]有鑒于此,本公開提供一種靜態網站的托管方法和托管系統,以至少解決上述問題之一。
[0007 ]根據本公開的第一方面,本公開提供一種靜態網站的托管方法,包括:
[0008]建立從客戶端到云存儲端的通信連接;
[0009]接收所述客戶端的請求,所述請求中包括存儲空間標識符和第一對象的名稱;
[0010]判斷所述第一對象在所述存儲空間標識符對應的存儲空間中是否存在;
[0011 ]如果所述第一對象在所述存儲空間標識符對應的存儲空間存在,則利用所述云存儲端的WEB服務程序設置托管網站;
[0012]其中,所述托管網站的訪問URL和頁面索引目錄根據所述存儲空間標識符確定,所述第一對象設置為所述托管網站的首頁。
[0013]優選地,還包括:將所述靜態托管網站中的靜態頁面存儲到所述云存儲端。
[0014]優選地,所述第一對象的名稱為任意滿足HTML頁面命名規范的字符串。
[0015]優選地,還包括:根據所述客戶端的請求,將所述托管網站的首頁修改為第二對象。
[0016]優選地,還包括:根據所述客戶端的請求,設置錯誤導航頁面。
[0017]根據本公開的第二方面,本公開提供一種靜態網站的管理系統,包括多個客戶端和云存儲端,
[0018]所述客戶端包括:
[0019]和所述云存儲端建立通信連接;
[0020]向所述云存儲端發送請求,所述請求中包括存儲空間標識符和第一對象的名稱;以及
[0021 ]接受所述云存儲端的返回結果;
[0022]所述云存儲端包括:
[0023]和所述客戶端建立通信連接;
[0024]接收所述客戶端的請求,所述請求中包括存儲空間標識符和第一對象的名稱;
[0025]判斷所述第一對象在所述存儲空間標識符對應的存儲空間中是否存在;
[0026]如果所述第一對象在所述存儲空間標識符對應的存儲空間存在,則利用所述云存儲端的WEB服務程序設置托管網站;
[0027]其中,所述托管網站的訪問URL和頁面索引目錄根據所述存儲空間標識符確定,所述第一對象設置為所述托管網站的首頁。
[0028]優選地,所述云存儲端還包括:接收客戶端的請求,將所述靜態托管網站中的靜態頁面存儲到所述云存儲端。
[0029]優選地,所述第一對象的名稱為任意滿足HTML頁面命名規范的字符串。
[0030]優選地,所述云存儲端還包括:接收客戶端的請求,將所述托管網站的首頁修改為第二對象。
[0031]優選地,所述云存儲端還包括:接收客戶端的請求,設置錯誤導航頁面。
[0032]本公開提供的靜態網站的托管方法,從客戶端的請求中獲取存儲空間標識符和第一對象的名稱,查找到對應的存儲空間和第一對象,將該存儲空間設置為托管網站,其中,托管網站的訪問URL和頁面索引目錄根據存儲空間標識符確定,根據第一對象設置托管網站的首頁。通過該托管方法,使托管網站的首頁可以配置,不受索引文件命名(必須為index.html)限制。
【附圖說明】
[0033]通過參照以下附圖對本公開實施例的描述,本公開的上述以及其它目的、特征和優點將更為清楚,在附圖中:
[0034]圖1是根據本公開實施例的靜態網站的托管系統的示意圖;
[0035]圖2是根據本公開實施例的靜態網站的托管方法的流程圖;
[0036]圖3是根據本公開實施例的客戶端和云存儲端建立通信連接的示意圖。
【具體實施方式】
[0037]以下基于實施例對本公開進行描述,但是本公開并不僅僅限于這些實施例。在下文對本公開的細節描述中,詳盡描述了一些特定的細節部分。對本領域技術人員來說沒有這些細節部分的描述也可以完全理解本公開。為了避免混淆本公開的實質,公知的方法、過程、流程沒有詳細敘述。另外附圖不一定是按比例繪制的。
[0038]在本公開的描述中,需要理解的是,術語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。
[0039]圖1是根據本公開實施例的靜態托管網站的托管系統的示意圖。所述管理系統包括客戶端100和云存儲端101。這里,客戶端可以是一個手機APP,或視頻系統、電商系統的前端或后端程序。云存儲端則可以包括軟硬件結合的云服務系統。
[°04°] 這里,可以把云存儲端10 I的存儲區域看作一個網絡SAN( Storage AreaNetwork),即一個集中式管理的高速存儲網絡,由多供應商存儲系統、存儲管理軟件、應用程序服務器和網絡硬件組成。云存儲端使用存儲空間(bucket)和對象對數據進行存儲。可以將bucket理解為容器,每個對象都存放在一個容器中,如圖1中的102所示,云存儲端將存儲區域分為若干個bucket,每個bucket中存儲有多個對象。bucket使用存儲空間標識符作為唯一標識。
[0041]現有云存儲技術中,可以將云存儲端的一個存儲空間設置為靜態網站托管模式,并通過存儲空間域名訪問該靜態網站。
[0042I參考圖1所示,102的bucket I中靜態托管網站的靜態頁面。靜態頁面沒有交互功能,只用于顯示信息。為了客戶端能夠訪問bucketl中的靜態頁面,需要設置為網站托管形式,即設置訪問URL、索引路徑、訪問首頁和錯誤導航文件等。如,云存儲端設置了索引頁面為 index.html,錯誤頁面為error.html,網站URL 類似為:http://bucketl.xxx.xxx.com。
[0043]具體實現為:在客戶端請求中包含存儲空間標識符和第一對象的名稱。云存儲端接收到該請求后,判斷存儲空間標識符對應的存儲空間和第一對象是否存在,如果存在,利用WEB服務程序設置網站托管,配置WEB服務,根據存儲空間標識符確定托管網站的訪問URL和頁面索引目錄,將第一對象設置為托管網站的首頁。可選地,通過Apache和Tomcat配合設置上述WE胡艮務。
[0044]圖2是根據本公開實施例的對象存儲方法的流程圖。所述對象存儲方法包括步驟202-205。
[0045]在步驟202中,建立從客戶端到云存儲端的通信連接。
[0046]圖3示出了一個手機APP和云存儲端建立安全通信連接的過程。標記30為客戶端,標記31為權限管理服務器,通過客戶端訪問權限管理服務器。當需要進行云端存儲時,客戶端通過步驟301向權限管理服務器發送一個云端授權請求,權限管理服務器接收后,向云存儲端轉發,云存儲端進行校驗后,返回臨時授權ID或訪問令牌(Access token),權限管理服務器接收到該授權ID或訪問令牌,返回給客戶端。客戶端將該授權ID或訪問令牌緩存在本地,并通過該授權ID或訪問令牌和云存儲端進行通信連接。為了保證授權ID或訪問令牌不被濫用或竊取,該類授權ID或訪問令牌一般都設有時間限制,過了預定時間自動失效。
[0047]在步驟203中,接收客戶端的請求。
[0048]在步驟204中,判斷第一對象在對應的存儲空間中是否存在。如果第一對象在對應的存儲空間中存在,執行步驟205。
[0049]在步驟205中,利用云存儲端的WEB服務程序設置托管網站。其中,根據存儲空間標識符確定托管網站的訪問URL和頁面索引目錄,將第一對象設置托管網站的首頁。
[0050]在本公開實施例中,第一對象的名稱從客戶端發送到云存儲端的請求中獲取,如果需要變更托管網站的首頁,客戶端可以提交修改請求,將首頁修改另一個對象(該對象也必須存儲到對應的存儲空間里)。另外,第一對象的名稱不局限于index.html,可以為任意滿足HTML命名規范的字符串。如,修改前Mybucketl.html,而修改后為MyWebSite.html。這些修改都可以通過WEB服務程序的配置文件修改實現。由此,客戶端對托管網站的請求直接被導航到首頁。另外,也可以根據用戶的請求,為托管網站設置任意錯誤導航頁面(對應error.html)。
[0051]本公開提供的靜態網站的托管方法,從客戶端的請求中獲取存儲空間標識符和第一對象的名稱,查找到對應的存儲空間和第一對象,將該存儲空間設置為托管網站,其中,托管網站的訪問URL和頁面索引目錄根據存儲空間標識符確定,托管網站的首頁根據第一對象確定。通過該托管方法,使托管網站的首頁可以配置,不受索引文件命名(必須為index.html)限制。
[0052]附圖中的流程圖、框圖圖示了本公開實施例的系統、方法、裝置的可能的體系框架、功能和操作,流程圖和框圖上的方框可以代表一個、程序段或僅僅是一段代碼,所述、程序段和代碼都是用來實現規定邏輯功能的可執行指令。也應當注意,所述實現規定邏輯功能的可執行指令可以重新組合,從而生成新的和程序段。因此附圖的方框以及方框順序只是用來更好的圖示實施例的過程和步驟,而不應以此作為對發明本身的限制。
[0053]系統的各個或單元可以通過硬件、固件或軟件實現。軟件例如包括采用JAVA、C/C++/C#、SQL等各種編程語言形成的編碼程序。雖然在方法以及方法圖例中給出本公開實施例的步驟以及步驟的順序,但是所述步驟實現規定的邏輯功能的可執行指令可以重新組合,從而生成新的步驟。所述步驟的順序也不應該僅僅局限于所述方法以及方法圖例中的步驟順序,可以根據功能的需要隨時進行調整。例如將其中的某些步驟并行或按照相反順序執行。
[0054]根據本公開的系統和方法可以部署在單個或多個服務器上。例如,可以將不同的分別部署在不同的服務器上,形成專用服務器。或者,可以在多個服務器上分布式部署相同的功能單元、或系統,以減輕負載壓力。所述服務器包括但不限于在同一個局域網以及通過Internet連接的多個PC機、PC服務器、刀片機、超級計算機等。
[0055]以上所述僅為本公開的優選實施例,并不用于限制本公開,對于本領域技術人員而言,本公開可以有各種改動和變化。凡在本公開的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本公開的保護范圍之內。
【主權項】
1.一種靜態網站的托管方法,包括: 建立從客戶端到云存儲端的通信連接; 接收所述客戶端的請求,所述請求中包括存儲空間標識符和第一對象的名稱; 判斷所述第一對象在所述存儲空間標識符對應的存儲空間中是否存在; 如果所述第一對象在所述存儲空間標識符對應的存儲空間存在,則利用所述云存儲端的WEB服務程序設置托管網站; 其中,所述托管網站的訪問URL和頁面索引目錄根據所述存儲空間標識符確定,所述第一對象設置為所述托管網站的首頁。2.根據權利要求1所述的托管方法,還包括:將所述靜態托管網站中的靜態頁面存儲到所述Ζ5Γ存儲?而。3.根據權利要求1或2所述的托管方法,其中,所述第一對象的名稱為任意滿足HTML頁面命名規范的字符串。4.根據權利要求1所述的托管方法,還包括:根據所述客戶端的請求,將所述托管網站的首頁修改為第二對象。5.根據權利要求1所述的托管方法,還包括:根據所述客戶端的請求,設置錯誤導航頁面。6.—種靜態網站的管理系統,包括多個客戶端和云存儲端, 所述客戶端包括: 和所述云存儲端建立通信連接; 向所述云存儲端發送請求,所述請求中包括存儲空間標識符和第一對象的名稱;以及 接受所述云存儲端的返回結果; 所述Ζ5Γ存儲?而包括: 和所述客戶端建立通信連接; 接收所述客戶端的請求,所述請求中包括存儲空間標識符和第一對象的名稱; 判斷所述第一對象在所述存儲空間標識符對應的存儲空間中是否存在; 如果所述第一對象在所述存儲空間標識符對應的存儲空間存在,則利用所述云存儲端的WEB服務程序設置托管網站; 其中,所述托管網站的訪問URL和頁面索引目錄根據所述存儲空間標識符確定,所述第一對象設置為所述托管網站的首頁。7.根據權利要求6所述的托管系統,所述云存儲端還包括:接收客戶端的請求,將所述靜態托管網站中的靜態頁面存儲到所述云存儲端。8.根據權利要求6或7所述的托管系統,其中,所述第一對象的名稱為任意滿足HTML頁面命名規范的字符串。9.根據權利要求6所述的托管方法,所述云存儲端還包括:接收客戶端的請求,將所述托管網站的首頁修改為第二對象。10.根據權利要求6所述的托管系統,所述云存儲端還包括:接收客戶端的請求,設置錯誤導航頁面。
【文檔編號】H04L12/24GK106027295SQ201610323100
【公開日】2016年10月12日
【申請日】2016年5月16日
【發明人】吳興義
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司