本發明涉及一種資料存儲技術,尤其涉及一種為上傳文件推薦云端存儲裝置的方法以及使用該方法的裝置。
背景技術:
::云端存儲是一種資料存儲模型,將數字資料儲存于邏輯存儲區域(logicalpools)。實體存儲空間通常橫跨多個服務器(也可能多個地理位置),并且實體環境一般由一個公司所擁有與管理。云端存儲提供者負責讓資料維持可用以及可存取的狀態,以及讓實體環境受到保護以及持續運作。然而,在上傳文件時,不同云端存儲提供者以不同的資費方案向使用者收取費用。因此,需要一種為上傳文件推薦云端存儲裝置的方法以及使用該方法的裝置,用于節省上傳文件的費用。技術實現要素:本發明提出一種為上傳文件推薦云端存儲裝置的方法,由處理單元執行,包含以下步驟:向多個云端存儲裝置中的每一者查詢剩余空間,以及取得使用者想要上傳的文件;將剩余空間不足以上傳文件的云端存儲裝置移出候選清單,以及產生推薦人機界面。推薦人機界面包含候選清單中的最終云端存儲裝置,使得文件通過推薦人機界面上傳至候選清單中的云端存儲裝置中的一者。本發明還提出一種為上傳文件推薦云端存儲裝置的裝置,包含通信界面及處理單元;處理單元連接于通信界面,通過通信界面向多個云端存儲裝置中的每一者查詢剩余空間;取得候選清單,包含云端存儲裝置;取得使用者想要上傳的文件;將剩余空間不足以上傳文件的云端存儲裝置移出候選清單;以及產生推薦人機界面;推薦人機界面包含候選清單中的最終云端存儲裝置,使得文件通過推薦人機界面通過通信界面上傳至候選清單中的云端存儲裝置中的一者。附圖說明圖1是依據本發明實施例的網絡系統架構的示意圖。圖2是依據本發明實施例的運算裝置的系統架構圖。圖3是依據本發明實施例的系統初始化的方法流程圖。圖4是依據本發明實施例的文件上傳的云端存儲裝置推薦的方法流程圖。附圖標記說明:100~網絡;110、120、130~存儲服務器;150~臺式電腦;210~處理單元;220~顯示單元;230~輸入裝置;240~存儲裝置;250~存儲器;260~通信界面;s310~s350~方法步驟;s410~s493~方法步驟。具體實施方式為使本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖作詳細說明如下。必須了解的是,用于本說明書中的“包含”“包括”等詞,是用于表示存在特定的技術特征、數值、方法步驟、作業處理、元件與/或組件,但并不排除可加上更多的技術特征、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。在權利要求中使用如“第一”“第二”“第三”等詞是用來修飾權利要求中的元件,并非用來表示之間具有優先權順序,先行關系,或者是一個元件先于另一個元件,或者是執行方法步驟時的時間先后順序,僅用來區別具有相同名字的元件。本發明實施例提出一種網絡系統架構,包含由不同云端存儲提供者擁有的多部存儲服務器(servers),以及可將資料分散儲存于這些存儲服務器的客戶端(client)。圖1是依據本發明實施例的網絡系統架構的示意圖。三個不同云端存儲提供者分別擁有存儲服務器110至130,例如谷哥硬盤(google)服務器、一個硬盤服務器以及放置盒服務器等。臺式電腦150(又稱為客戶端)可通過網絡100存取存儲服務器110至130中的資料。網絡100可為互聯網(internet)、有線局域網(wiredlocalareanetwork,lan)、無線局域網,或以上的任意組合。在此須注意的是,臺式電腦150存取存儲服務器110至130中的任一者的資料時,需要先通過安全性檢驗。詳細來說,臺式電腦150需要提供一組帳號(id)及密碼,并且在通過驗證后才能開始存取資料。雖然實施例以臺式電腦150為例,但熟悉此技術的人 也可將客戶端實施于其他具有通信能力的電子裝置,例如,手機、平板電腦、筆記本電腦等。圖2是依據本發明實施例的運算裝置的系統架構圖。此系統架構可實施于臺式電腦150,至少包含處理單元210。處理單元210可使用多種方式實施,例如以專用硬件電路或通用硬件(例如,單一處理器、具有平行處理能力的多處理器、圖形處理器或其他具有運算能力的處理器),并且在執行程序代碼或軟件時,提供之后所描述的功能。系統架構另包含存儲器250用于儲存執行過程中需要的資料,例如,變數、數據表(datatables)等,以及存儲單元240,用于儲存各式各樣的電子文件,例如,云端存儲裝置路徑、各云端存儲裝置的登錄者帳號及密碼、各云端存儲裝置的資費信息(tariffinformation)等。系統架構另包含通信界面260,讓處理單元210可借以跟存儲服務器110、120、130或其他電子裝置進行溝通。通信界面260可以是無線電通信模塊(wirelesstelecommunicationsmodule)、局域網(localareanetwork,lan)通信模塊或無線局域網通信模塊(wlan)。無線電通信模塊(wirelesstelecommunicationsmodule)可包含支持2g、3g、4g或以上技術世代的任意組合的調制解調器(modem)。輸入裝置230可包含鍵盤、鼠標、觸控面板等。使用者可按壓鍵盤上的硬鍵來輸入字母,通過操作鼠標來控制鼠標指針,或者是在觸控面板制造手勢來控制執行中的應用程序。手勢可包含單擊、雙擊、單指拖曳、多指拖曳等,但不限定于此。顯示單元220可包含顯示面板(例如,薄膜液晶顯示面板、有機發光二極管面板或其他具有顯示能力的面板),用于顯示輸入的字母、數字、符號、拖曳鼠標的移動軌跡、繪制的圖案或應用程序所提供的畫面,提供給使用者觀看。本發明實施例提出為上傳文件推薦云端存儲裝置的方法,用于在上傳文件前計算每個云端存儲裝置所需的費用,并且輔助使用者選擇一個云端存儲裝置進行上傳操作。整個流程可包含兩個部分:系統初始化;以及文件上傳的云端存儲裝置推薦。圖3是依據本發明實施例的系統初始化的方法流程圖。此方法由臺式電腦150中的處理單元210在載入并執行相關軟件指令時實施。為了讓后續的云端存儲裝置選擇更有效率,處理單元210搜集必要信息。處理單元210提供云端存儲裝置路徑,以及每一云端存儲裝置的登錄帳號及密碼(步驟s310)。在步驟s310,處理單元210可提供人機界面,幫助使用者輸入云端存儲裝置路徑,以及每一云端存儲裝置的登錄帳號及密碼。例如,人機界面可包含三個輸入框,用于讓使用者分別輸入谷哥硬盤、一個硬盤以及放置盒的路徑。人機界面可另包含可用于輸入三組登錄帳號及密碼的輸入框。當使用者確認輸入資料后,處理單元210可儲存三個云端存儲裝置路徑、及其對應的帳號及密碼至存儲單元240。處理單元210可提供人機界面,幫助使用者刪除及修改上述信息,并據以更新存儲單元240中的記錄。處理單元210 還提供每一云端存儲裝置的資費信息(步驟s330)。在步驟s330,處理單元210可提供人機界面,幫助使用者輸入每一云端存儲裝置的資費信息。例如,人機界面可包含輸入框,用于讓使用者分別輸入谷哥硬盤、一個硬盤以及放置盒的資費信息。資費信息可包含每日/周/月的預設存取流量,超過預設流量后每兆字節(mbytes)的費用,預設存儲空間,超過預設存儲空間后每兆字節的費用等。當使用者確認輸入資料后,處理單元210可儲存三個云端存儲裝置的資費信息至存儲單元240。處理單元210可提供人機界面,幫助使用者刪除及修改上述信息,并據以更新存儲單元240中的記錄。處理單元210另可通過通信界面260向每一云端存儲裝置查詢剩余空間及流量(步驟s350)。在步驟s350,處理單元210可通過每一個云端存儲裝置提供的應用程序界面(api,applicationprogramminginterface)向云端存儲裝置發出請求,用于查詢剩余空間及流量。例如,谷哥硬盤提供的getquotabytestotal()、一個硬盤提供的rest-liveconncetclient.getasync(string)等。圖4是依據本發明實施例的文件上傳的云端存儲裝置推薦的方法流程圖。此方法由臺式電腦150中的處理單元210在載入并執行相關軟件指令時實施。首先,處理單元210取得使用者想要上傳的文件(步驟s410)。在步驟s410,處理單元210可提供包含文件上傳畫面的人機界面。詳細來說,處理單元210可提供文件管理員(windowmanager)的使用者界面控制(uicontrol,userinterfacecontrol),用于幫助使用者選擇存儲裝置240中想要上傳的文件,并且將選擇結果顯示于文件路徑欄位。處理單元210還取得想要上傳文件的長度。接著,處理單元210判斷候選清單中的每一云端存儲裝置是否擁有足夠空間(步驟s431)。如果是,則搜集最新的參考信息(步驟s451至s455);否則,將空間不足的云端存儲裝置移出候選清單(步驟s433),接著再搜集最新的參考信息(步驟s451至s455)。在步驟s431,詳細來說,處理單元210根據存儲裝置240中使用者在步驟s310儲存的信息產生候選清單,其中,包含所有可用的云端存儲裝置,以及,取得存儲裝置240中在步驟s350儲存的剩余空間信息。接著,處理單元210比較每一云端存儲裝置的剩余空間以及想要上傳文件的長度,以及,將剩余空間小于想要上傳文件的長度的云端存儲裝置當作剩余空間不足以上傳文件的云端存儲裝置。提供推薦云端存儲裝置的參考信息可包含云端存儲裝置的回應時間、實際上傳速度、使用者對上傳文件的使用頻率等。處理單元210檢測候選清單中每一云端存儲裝置的回應時間(步驟s451)。處理單元210通過通信界面260發出請求,用于獲得每個云端存儲裝置的服務器數量,以及服務器的回應時間。通常,服務器數量越多,服務器的回應時間就越久。處理單元210可將檢測到的回應時間正規化成0至1間的數值,數值越大代表回應時間越快。接 著,處理單元210檢測候選清單中每一云端存儲裝置的實際上傳時間(步驟s453)。處理單元210可通過通信界面260傳送1m字節的文件至候選清單中的每個云端存儲裝置,并為每個云端存儲裝置計算收到上傳完畢信息所經過的時間。處理單元210可將檢測到的實際上傳時間正規化成0至1間的數值,數值越大代表上傳時間越短。接著,處理單元210計算想要上傳文件的存取頻率(步驟s455)。存儲裝置240可記錄每個文件的歷史存取記錄,使得處理單元210可依據歷史存取記錄計算想要上傳文件的存取頻率。處理單元210可將計算的存取頻率正規化成0至1間的數值,數值越大代表存取頻率越高。處理單元210決定候選清單中的每一云端存儲裝置是否擁有足夠存取流量(步驟s471)。如果是,則計算候選清單中云端存儲裝置的優先順序及產生推薦的人機界面(步驟s491至s493);否則,將存取流量不足的云端存儲裝置移出候選清單(步驟s473),然后再計算候選清單中云端存儲裝置的優先順序及產生推薦人機界面(步驟s491至s493)。在步驟s471,詳細來說,處理單元210取得存儲裝置240中在步驟s350儲存的剩余存取流量信息。接著,處理單元210比較每一云端存儲裝置的剩余存取流量以及想要上傳文件的長度,以及,將剩余存取流量小于想要上傳文件的長度的云端存儲裝置當作剩余存取流量不足以上傳文件的云端存儲裝置。在步驟s491,處理單元210可加權計算云端存儲裝置的回應時間、實際上傳速度以及使用者對上傳文件的使用頻率,據以產生優先順序。在步驟s493,推薦人機界面可顯示候選清單中云端存儲裝置的優先順序,并在使用者確認上傳的云端存儲裝置后,通過通信界面260將文件上傳至指定的云端存儲裝置。以下還舉出三個實例說明以上所述的方法。在第一個實例中,使用者在系統初始化時通過人機界面記錄三個云端存儲裝置的基本資料:谷哥硬盤;一個硬盤;以及放置盒(步驟s310)。使用者在系統初始化時另通過人機界面提供三個云端存儲裝置的資費方案(步驟s330)。谷哥硬盤存儲空間月租500元。一個硬盤存儲空間沒有限制,存取流量不超過1g字節為每日10元,超過限制流量每1g字節加收2元。放置盒存儲空間沒有限制,存取流量不超過2g字節為每日5元,超過限制流量每1g字節加收3元。處理單元210另在系統初始化時,查詢到谷哥硬盤的剩余空間為1g字節(步驟s350)。取得使用者想要上傳的1.5g字節文件后(步驟s410),處理單元210將空間不足的谷哥硬盤移出候選清單(步驟s433),接著針對留下的一個硬盤及放置盒進行回應時間及實際上傳時間的檢測(步驟s451及s453)。之后,處理單元210發現一個硬盤是上傳速度最快的云端存儲裝置但是想要上傳的文件已超過了流量限制(步驟s471中”否”的路徑)。處理單元210另發現想要上傳的文件沒有超過放置盒的流量限制,因 此,驅動顯示單元220產生提示窗口,用于建議使用者上傳文件至放置盒(步驟s493)。在第二個實例中,使用者在系統初始化時通過人機界面記錄三個云端存儲裝置的基本資料:谷哥硬盤;一個硬盤;以及放置盒(步驟s310)。使用者在系統初始化時另通過人機界面提供三個云端存儲裝置的資費方案(步驟s330)。谷哥硬盤存儲空間月租100元。一個硬盤存儲空間沒有限制,存取流量不超過1g字節為每日10元,超過限制流量每1g字節加收2元。放置盒存儲空間沒有限制,存取流量不超過2g字節為每日5元,超過限制流量每1g字節加收3元。處理單元210另在系統初始化時,查詢到谷哥硬盤的剩余空間為1g字節(步驟s350)。取得使用者想要上傳的50m字節文件后(步驟s410),處理單元210發現所有的云端存儲裝置的可用空間都足夠(步驟s431中”是”的路徑),接著針對所有云端存儲裝置進行回應時間及實際上傳時間的檢測(步驟s451及s453),以及計算想要上傳文件的存取頻率(步驟s455)。在步驟s453中,處理單元210發現一個硬盤是上傳速度最快的云端存儲裝置。在步驟s455中,處理單元210發現想要上傳文件本日已經存取三次,屬于存取頻率高的文件。處理單元210另發現想要上傳的文件沒有超過所有云端存儲裝置的流量限制(步驟s471中”是”的路徑),因此,驅動顯示單元220產生提示窗口,用于建議使用者優先上傳文件至放置盒(步驟s493)。在第三個實例中,使用者在系統初始化時通過人機界面記錄三個云端存儲裝置的基本資料:谷哥硬盤;一個硬盤;以及放置盒(步驟s310)。使用者在系統初始化時另通過人機界面提供三個云端存儲裝置的資費方案(步驟s330)。谷哥硬盤存儲空間月租100元。一個硬盤存儲空間沒有限制,存取流量不超過1g字節為每日10元,超過限制流量每1g字節加收2元。放置盒存儲空間沒有限制,存取流量不超過2g字節為每日5元,超過限制流量每1g字節加收3元。處理單元210另在系統初始化時,查詢到谷哥硬盤的剩余空間為1g字節(步驟s350)。取得使用者想要上傳的50m字節文件后(步驟s410),處理單元210發現所有的云端存儲裝置的可用空間都足夠(步驟s431中”是”的路徑),接著針對所有云端存儲裝置進行回應時間及實際上傳時間的檢測(步驟s451及s453),以及計算想要上傳文件的存取頻率(步驟s455)。在步驟s453中,處理單元210發現一個硬盤是上傳速度最快的云端存儲裝置。在步驟s455中,處理單元210發現想要上傳文件本日沒有任何存取,屬于存取頻率低的文件。處理單元210另發現想要上傳的文件沒有超過所有云端存儲裝置的流量限制(步驟s471中”是”的路徑),因此,驅動顯示單元220產生提示窗口,用于建議使用者優先上傳文件至谷哥硬盤(步驟s493)。雖然圖2中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖3與圖4的方法流程圖采用特定的順序來 執行,但是在不違法發明精神的情況下,熟悉此技術的人可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明并不局限于僅使用如上所述的順序。雖然本發明用于上實施例進行說明,但需要注意的是,這些描述并非用于限制本發明。相反地,此發明涵蓋了熟悉此技術的人顯而易見的修改與相似設置。所以,權利要求須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。當前第1頁12當前第1頁12