[go: up one dir, main page]

TWI630551B - 下載程式的方法 - Google Patents

下載程式的方法 Download PDF

Info

Publication number
TWI630551B
TWI630551B TW102119457A TW102119457A TWI630551B TW I630551 B TWI630551 B TW I630551B TW 102119457 A TW102119457 A TW 102119457A TW 102119457 A TW102119457 A TW 102119457A TW I630551 B TWI630551 B TW I630551B
Authority
TW
Taiwan
Prior art keywords
block
file
program
execution
server
Prior art date
Application number
TW102119457A
Other languages
English (en)
Other versions
TW201445444A (zh
Inventor
林冠儒
Original Assignee
博世尼克資訊股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 博世尼克資訊股份有限公司 filed Critical 博世尼克資訊股份有限公司
Priority to TW102119457A priority Critical patent/TWI630551B/zh
Publication of TW201445444A publication Critical patent/TW201445444A/zh
Application granted granted Critical
Publication of TWI630551B publication Critical patent/TWI630551B/zh

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

一種下載一程式的方法,該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊。傳送該第一區塊到該使用端。在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。

Description

下載程式的方法
本發明是關於一種下載程式的方法,特別是從服務端下載程式到使用端的方法。
雲端儲存是指網路線上資料儲存的模式,即把資料存放在通常由第三方代管的多台虛擬伺服器,而非專屬的伺服器上。資料中心營運商根據客戶的需求,在後端準備儲存虛擬化的資源,並將其以儲存資源池(storage pool)的方式提供,客戶便可自行使用此儲存資源池來存放檔案或物件。雲端運算是一種基於網際網路的運算方式,透過這種方式,共享的軟硬體資源和訊息可以按需提供給電腦和其他裝置。雲端運算描述了一種基於網際網路的新的資訊科技(IT)服務增加、使用和交付模式,通常涉及透過網際網路來提供動態易擴充功能而且經常是虛擬化的資源,使用者能夠存取服務軟體及資料,服務提供者則維護基礎設施及平臺以維持服務正常運作,服務提供者所提供的服務或軟體常被稱為「隨選軟體」,並且通常是基於使用時數來收費,使用者只需具備低複雜度的軟硬體設備即可使用這些服務,這樣可節省企業的成本。由於應用程式是集中供應的,更新可以即時的發佈,無需使用者手動更新或是安裝新的軟體。因此,雲端運算使得企業能夠更迅速的部署應用程式,並降低管理的複雜度及維護成本,及允許IT資源的迅速重新分配以因應企業需求的快速改變。
雲端的概念對於使用者或企業的好處在於其無須購置各類 具有強大處理效能的硬體設備和軟體,這些硬體設備的維護和軟體的更新都交由服務商來進行,使用者或企業則是盡量將硬體設備和軟體「虛擬化」。在通訊網路中,應用程式虛擬化係將使用端的應用程式交由服務端來提供,然而容量較大的應用程式通常從服務端到使用端需花費時間下載,且下載完後才能夠安裝或執行,這種下載完後才安裝的方式適用於慢速或高延遲的網路環境,因為區域網路與廣域網路的頻寬速度與延遲性相差很大,故在混合型的環境中,此方式較不符合企業或使用者對於應用程式隨選即用的需求。
請參閱第一圖,其為習用下載一應用程式的流程的示意圖。步驟S101,用戶端系統接收啟動應用程式指令。步驟S102,用戶端系統判斷程式檔案或快取是否存在;當程式檔案或快取存在時,使該流程進入步驟S103。在步驟S103中,用戶端系統的作業系統啟動應用程式。在步驟S102中,當程式檔案或快取不存在時,使該流程進入步驟S104。在步驟S104中,由伺服器完整傳送應用程式全部檔案至用戶端系統,然後使該流程進入步驟S105。在步驟S105中,用戶端系統將程式檔案寫入檔案系統或快取系統,然後使該流程進入步驟S103。在步驟S103之後,該流程進入步驟S106。在步驟S106中,應用程式讀取程式檔案。為了要讀取程式檔案,提供步驟S107;在步驟S107中,應用程式會發出指令到作業系統,使作業系統到用戶端的檔案系統要求應用程式所需要的檔案,然後檔案系統再到硬碟讀檔案出來,然後傳回給作業系統。步驟S108,作業系統再將程式檔案傳回給應用程式。步驟S109,執行應用程式,然後當還需要繼續執行應用程式時,則重複步驟S106~S108。
請參閱第二圖,其為習用在用戶端系統的應用程式執行的流程示意圖。在第一圖中的步驟S103、S106、S107、S108、S109的具體實施 方式可由第二圖來說明。請同時參閱第一圖與第二圖,步驟S201,用戶端系統的使用者啟動該應用程式。步驟S202,用戶端系統的作業系統準備載入該應用程式。步驟S203,用戶端系統的作業系統接收應用程式的指令而使檔案系統到儲存裝置讀取檔案區塊。步驟S204,用戶端系統的檔案系統讀取檔案區塊中的程式檔案。步驟S205,用戶端系統的作業系統將程式檔案載入到記憶體中。步驟S206,用戶端系統的作業系統交由應用程式接手以執行該程式檔案,當應用程式需要繼續執行不同的程序時,則使流程進入步驟S207。在步驟S207中,作業系統接收應用程式的指令而使檔案系統到儲存裝置讀取檔案區塊,然後使該流程進入步驟S208。在步驟S208中,檔案系統讀取檔案區塊中的程式檔案,再使該流程回到步驟S206。在步驟S206中,當應用程式不繼續執行其他程序時,則使該流程進入步驟S209,以結束應用程式。
在服務端與使用端之間,習用使用應用程式的方式皆是應用程式的所有檔案下載完後才進行安裝或執行應用程式,此種方式在當應用程式的容量很大時需耗費許多下載的時間,對於使用端則需等待,浪費了不必要的時間。因此期望有一種方式可以讓使用端隨選即用想要的應用程式,而無須耗費下載的時間,且高運算能力的硬體設備的建構或程式的提供與維護皆由服務端來提供。
依據上述構想,本發明提出一種下載一程式的方法,該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊。傳送該第一區塊到該使用端。在該服務端尚未傳送該第二區塊至該使用端時, 在該使用端執行該第一區塊。
依據上述構想,本發明提出一種下載一程式的方法,該程式包含複數檔案,並使該複數檔案逐一從一服務端下載至一使用端執行,其中該複數檔案包括至少一第一檔案及一第二檔案,該方法包含下列步驟:自該服務端傳送該第一檔案至該使用端。在該服務端尚未傳送該第二檔案至該使用端時,在該使用端執行該第一檔案。
依據上述構想,本發明提出一種下載一程式的方法,該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:自該服務端傳送該執行檔至該使用端。在該使用端執行該執行檔,而當該執行檔之執行需來自該資源檔之一部分資料之支援,始能繼續執行時,自該服務端取得該部分資料。當已自該服務端取得該部分資料時,繼續執行該執行檔。
依據上述構想,本發明提出一種下載一程式的方法,該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下載至一使用端執行,該方法包含下列步驟:自該服務端傳送該複數執行區塊的一第一執行區塊至該使用端,其中該第一執行區塊之執行需該複數資源區塊的一特定資源區塊之支援。自該服務端傳送該特定資源區塊至該使用端,以完成該第一執行區塊之先期執行。當該服務端已完成傳送該特定資源區塊時,繼續傳送該複數執行區塊的一第二執行區塊至該使用端。
藉由本發明所提下載程式的方法,應用程式從服務端到使用端可節省下載的時間,且無須完全下載完畢後就能夠安裝或執行,達到企業或使用者對於應用程式隨選即用的需求。
第一圖,習用下載一應用程式的流程的示意圖。
第二圖,習用在用戶端系統的應用程式執行的示意圖。
第三圖,本發明應用程式檔案的示意圖。
第四圖,本發明程式檔案的區塊排序的示意圖。
第五圖,本發明第一較佳實施例即時下載程式檔案的流程的示意圖。
第六圖,本發明第二較佳實施例即時下載程式檔案的流程的示意圖。
第七圖,本發明第三較佳實施例下載程式的方法的示意圖。
第八圖,本發明第四較佳實施例的下載程式的方法的示意圖。
第九圖,本發明第五較佳實施例的下載程式的方法的示意圖。
第十圖,本發明第六較佳實施例的下載程式的方法的示意圖。
請參酌本發明的附圖來閱讀下面的詳細說明,其中本發明的附圖是以舉例說明的方式,來介紹本發明各種不同的實施例,並供瞭解如何實現本發明。本發明提供充分的實施例來說明本發明的精神,而各實施例之間並不互斥而可相互任意組合形成新的實施例,意即本發明不限於文中所載之實施例。
請參閱第三圖,其為本發明應用程式檔案的示意圖。在應用程式檔案中可包含a,b,c三類檔案,例如副檔名為exe的執行檔、副檔名為dll的動態連結程式庫檔、以及副檔名為jpg的資源檔。在第三圖中,執行檔a.exe可分成1~4等4個區塊,資源檔b.jpg可分成1~3等3個區塊,動態連結程式庫檔c.dll可分成1~3等3個區塊。
請參閱第四圖,其為本發明程式檔案的區塊排序的示意圖。在從服務端下載到使用端之前,程式檔案可以依照其讀取順序與常用功能所需要的檔案區塊作排序後,依序下載讓應用程式可透過網路來讀取並執行。例如在第四圖中,下載順序為:執行檔a.exe的區塊1、執行檔a.exe的區塊4、動態連結程式庫檔c.dll的區塊2、以及資源檔b.jpg的區塊1...等,以下類推。已經下載到使用端的就可以先執行,例如可先執行執行檔a.exe中的區塊1、再執行執行檔a.exe中的區塊4、然後執行執行檔c.dll中的區塊2、然後讀取資源檔b.jpg中的區塊1,不必等到所有的檔案下載完畢後才執行。該讀取順序亦可依據該程式檔案的被使用的次數而定,當被使用次數相同時利用該些檔案區塊被讀取的先後順序而定,被使用的次數較高的檔案之讀取順序優先於被使用的次數較低的檔案之讀取順序。例如,當有另一執行檔d.exe比執行檔a.exe更常被下載或使用時,則先下載 執行檔d.exe到使用端執行,然後再下載執行檔a.exe到使用端執行。例如當在服務端尚未有使用次數的統計時,則按照應用程式所需使用到的程式檔案的順序來下載。
請參閱第五圖,其為本發明第一較佳實施例即時下載程式檔案的流程的示意圖。步驟S301,用戶端系統接收啟動應用程式指令。在第三圖中與習用方式不同的是在步驟S301後,該流程直接進入到步驟S302。在步驟S302中,啟動應用程式,然後使該流程進入步驟S303。在步驟S303中,讀取程式檔案,使用端的應用程式會發出指令到作業系統,使作業系統到使用端的檔案系統要求應用程式所需要的檔案。步驟S304,用戶端判斷程式檔案是否存在;若不存在,則使該流程進入步驟S305。在步驟S305中,使用端從服務端下載所需要的程式檔案到使用端,然後使該流程進入步驟S306。在步驟S306中,使用端的作業系統將程式檔案寫入檔案系統或是快取系統,然後使該流程進入步驟S307。在步驟S307中,由使用端的作業系統傳回程式檔案給應用程式。在步驟S304中,當使用端判斷程式檔案存在時,則使該流程直接進入步驟S307,如此作業系統將程式檔案傳回給應用程式。接下來該流程進入步驟S308。在步驟S308中,執行應用程式;當還需要執行其他程序時,且用戶端判斷程式檔案不存在時,則重複步驟S303、S304、S305、S306、S307、S308;若用戶端判斷程式檔案存在時,則重複步驟S307、S308。當不需要執行其他的程序時,則使該流程進入步驟S309,以結束應用程式。
在本發明第一較佳實施例中,程式檔案的下載可從距離該使用端接近的至少一服務端,以多管線的方式將該些檔案區塊下載至該使用端以供執行,服務商可在不同的地區設伺服器讓使用端自動選取最接近的 該伺服器來下載程式檔案,其中該服務端包含該伺服器;當然可選取複數個離使用端較近的伺服器同時下載,以增加程式檔案下載的效率。在另一較佳實施例中,該些檔案區塊、執行檔、資源檔、或動態資料庫連結檔,可先在服務端進行壓縮後透過網路傳送,然後再由使用端解壓縮,此可增加傳送資料量。
請參閱第六圖,本發明第二較佳實施例即時下載程式檔案的流程的示意圖。步驟S401,使用端的使用者啟動應用程式。步驟S402,使用端的應用程式通知作業系統準備載入應用程式,但是在實際載入之前,需經過步驟S403。在步驟S403中,服務端檢查使用端的授權狀況;若使用端已經通過授權,則使該流程進入步驟S404。在步驟S404中,服務端將已經通過授權的狀態儲存到使用端的儲存裝置,以確認使用端已經通過授權,並可向服務端要求下載所需要的程式檔案。在步驟S403中,若服務端發現使用者是尚未授權的狀態,則使該流程進入步驟S405。在步驟S405中,要求使用者透過網路付款,當使用者付款成功時,使該流程進入步驟S404。在應用程式載入使用端之前檢查授權可避免應用程式遭到竄改而在執行應用程式時繞過授權的檢查,且應用程式由服務端來提供,使用端無法竄改,此可防止盜版軟體的流竄。同時,服務端亦可檢查在使用端的儲存裝置序號或ID來確認授權,或是使用端的CPU、主機板、或網卡序號,當使用端的序號或ID並非服務端所認證過的,則服務端禁止下載程式檔案到使用端。
在步驟S404中所述的使用端的儲存裝置可以是虛擬硬碟、usb隨身碟、或使用不同種類匯流排連接的硬碟,匯流排種類可包含SATA、SCSI、或IDE等。在另一較佳實施例中,儲存裝置可先包含所有的應用程式集並連接到使用端,因此當使用端的使用者啟動應用程式集之中的某一 應用程式時,便無須從服務端透過網路下載,可直接從使用端所連接的儲存裝置來將程式檔案載入到使用端的快取中執行。當然當應用程式集之中的程式檔案需要更新時,也可使用即時連線到服務端的方式來即時下載程式檔案。在另一實施例中,儲存裝置例如隨身碟,其可以作為快取,當要使用某應用程式時可將快取內不須用到的程式檔案清除,再從服務端下載要用到的程式檔案,在使用者的使用上雖然例如隨身碟只有8GB的儲存空間,但使用起來感覺就像是儲存空間有1000GB。甚至於在另一較佳實施例中,儲存裝置可包含所有的應用程式集以及嵌入式作業系統,並連接到使用端,使用端可直接使用儲存裝置中的嵌入式作業系統和應用程式集,無須在使用端的作業系統與儲存裝置的應用程式集之間做參數改變的設定。在步驟S404之後則可使該流程進入載入程式檔案的程序。
在第六圖的步驟S404中,在使用端確認授權後,使該流程同時進入步驟S406與步驟S407。在步驟S406中,使用端依據程式的讀取順序來要求服務端傳送不完整的檔案區塊。然後,該流程進入步驟S408,其中服務端依序傳送不完整的檔案區塊至使用端。然後,該流程進入步驟S409,其中使用端將這些不完整的檔案區塊寫入快取系統。在步驟S407中,使用端至快取系統讀取檔案區塊。然後該流程進入步驟S410,其中使用端判斷檔案區塊是否存在,當檔案區塊存在時,使該流程進入步驟S411。在步驟S411中,使用端的作業系統將檔案區塊載入記憶體中。在步驟S410中,當檔案區塊不存在時,使該流程進入步驟S412。在步驟S412中,使用端要求服務端傳送需要的部分,例如使用端執行應用程式所需要的檔案區塊或程式檔案,然後使該流程進入步驟S413。在步驟S413中,使用端將所需要的檔案區塊或程式檔案寫入使用端的快取系統,然後使該流程進入步驟S411。在檔案區塊或程式檔案由作業系統載入記憶體後,使該流程進入 步驟S414。步驟S414,作業系統將檔案區塊或程式檔案交由應用程式來執行。
在步驟S414中,應用程式的執行可無需等待檔案區塊或程式檔案完整下載完後再執行,而是當下載完應用程式中的一個檔案區塊後立即可以執行,當還需要後續的檔案區塊時,則使該流程進入後續的步驟S415、S416、S417、S418。步驟S415~S418的程序與步驟S407、S410、S412、S413相同,當執行應用程式所需要的檔案區塊不存在使用端的快取系統中時,則使用端向服務要求所需要的檔案區塊,並由服務端下載而寫使用端的快取系統中,最後由應用程式讀取快取系統中的檔案區塊來執行。在步驟414中,當應用程式毋需執行後續的程序時,則使該流程進入步驟S419,結束應用程式。
請參閱第七圖,其為本發明第三較佳實施例下載程式的方法的示意圖。該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,例如在第三圖中的執行檔a.exe、資源檔b.jpg、動態連結程式庫檔c.dll、或其任意組合。在步驟S501中,將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊,例如在第四圖中,複數區塊包含執行檔a.exe的區塊1、執行檔a.exe的區塊4。步驟S502,傳送該第一區塊到該使用端。步驟S503,在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。例如在執行檔a.exe的區塊4尚未傳送至該使用端時,在該使用端執行執行檔a.exe的區塊1。
在第三較佳實施例中,該方法更包含下列步驟:當該使用端的一記憶體中已儲存該複數區塊時,依照該讀取順序執行該複數區塊。當該使用端的該記憶體中未儲存該複數區塊時,從距離該使用端接近的複數 個服務端,以多管線的方式將該複數區塊下載至該使用端的該記憶體中以供該程式執行。依照該讀取順序執行在該記憶體中的該複數區塊。
請參閱第八圖,其為本發明第四較佳實施例的下載程式的方法的示意圖。該程式包含一執行檔a.exe及一資源檔b.jpg,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:步驟S601,自該服務端傳送該執行檔至該使用端。步驟S602,在該服務端尚未傳送該第二檔案至該使用端時,在該使用端執行該第一檔案。
在第四較佳實施例中可應用於遊戲應用程式或是多媒體應用程式,這些應用程式須使用到大量的影音檔,也就是資源檔,在資源檔尚未下載到使用端之前,已經下載的執行檔可在使用端先執行,例如遊戲應用程式共有數十個關卡,而第一關卡只需要相關於第一關卡的程式檔案即可運作,當所需的資源檔尚未下載時則等待,直到取得資源檔後繼續後續的程序。資源檔容量大多很大,因此若能先對資源檔分割成複數個檔案區塊,再根據程式所需要的來獲取必要的檔案區塊,對於下載是相當有效率的。當然應用程式可包含複數資源檔,複數資源檔中的每個資源檔亦可切割成複數個檔案區塊,然後這些複數個檔案區塊可依照其使用的頻率來排序被下載的順序。用於程式安裝的執行檔的容量也相當大,因此也是可以與資源檔類似的作法來提升下載效率。
在第四較佳實施例中下載程式的方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔。當該使用端的該記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中。執行該執行檔。
在一般狀況下,資源檔本身不會執行,其主要是由執行檔有需求時才會去讀取資源檔,故執行檔會比資源檔先下載執行。請參閱第九 圖,其為本發明第五較佳實施例下載程式的方法的示意圖。該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,例如在第三圖中的執行檔a.exe以及資源檔b.jpg,該方法包含下列步驟:步驟S701,自該服務端傳送該執行檔至該使用端。步驟S702,在該使用端執行該執行檔,而當該執行檔之執行需來自該資源檔之一部分資料之支援,始能繼續執行時,自該服務端取得該部分資料。例如第三圖中執行檔a.exe在使用端執行,而當該執行檔a.exe之執行需要來自該資源檔b.jpg的區塊1之需求始能繼續執行時,自該服務端取的該資源檔b.jpg的區塊1。接著方法流程進入步驟S703,當已自該服務端取得該部分資料時,繼續執行該執行檔。
在本發明第五較佳實施例中,下載程式的方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔。當該使用端的一記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中。執行該執行檔。
用於程式安裝的執行檔通常包含複數子執行檔、複數資源檔、以及複數動態連結程式庫檔,為了要能讓程式即時安裝,使用端可以先從服務端下載某些所需要的子執行檔來執行,而無須等待所有的程式安裝之執行檔案下載完後才開始安裝。請參閱第十圖,其為本發明第六較佳實施例下載程式的方法的示意圖。該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下載至一使用端執行,該方法包含下列步驟:步驟S801,自該服務端傳送該複數執行區塊的一第一執行區塊至該使用端,其中該第一執行區塊之執行需該複數資源區塊的一特定資源區塊之支援。步驟S802,自該服務端傳送該特定 資源區塊至該使用端,以完成該第一執行區塊之先期執行。步驟SS803,當該服務端已完成傳送該特定資源區塊時,繼續傳送該複數執行區塊的一第二執行區塊至該使用端。
在本發明第六較佳實施例中,下載程式的方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一執行區塊時,則在使用端執行該第一執行區塊,當該使用端的該記憶體中已儲存該第二執行區塊時,則在使用端執行該第二執行區塊。當該使用端的該記憶體中未儲存該第一以及該第二執行區塊時,從距離該使用端最接近的服務端下載該第一執行區塊或該第二執行區塊至該使用端的該記憶體中。執行該第一執行區塊或該第二執行區塊。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
實施例
1.一種下載一程式的方法,該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊。傳送該第一區塊到該使用端。在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。
2.如實施例1所述的方法,更包含下列步驟:當該使用端的一記憶體中已儲存該複數區塊時,依照該讀取順序執行該複數區塊。當該使用端的該記憶體中未儲存該複數區塊時,從距離該使用端接近的複數個 服務端,以多管線的方式將該複數區塊下載至該使用端的該記憶體中以供該程式執行。依照該讀取順序執行在該記憶體中的該複數區塊。
3.如實施例1~2所述的方法,其中該讀取順序係依據該複數區塊的被使用的次數而定,當被使用次數相同時利用該複數區塊被讀取的先後順序而定,被使用的次數較高的檔案之讀取順序優先於被使用的次數較低的檔案之讀取順序。
4.如實施例1~3所述的方法,其中該至少一檔案包括一執行檔、一動態連結程式庫檔(DLL)、一資源檔、或其任意組合。該執行檔包括該第一區塊,該資源檔包括該第二區塊或該動態連結程式庫檔包括該第二區塊。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端依照該讀取順序直接執行在該行動硬碟中的該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而依照該讀取順序直接執行在該行動硬碟中的該程式。該至少一檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
5.一種下載一程式的方法,該程式包含複數檔案,並使該複數檔案逐一從一服務端下載至一使用端執行,其中該複數檔案包括至少一第一檔案及一第二檔案,該方法包含下列步驟:自該服務端傳送該第一檔案至該使用端。在該服務端尚未傳送該第二檔案至該使用端時,在該使用端執行該第一檔案。
6.如實施例5所述的方法,其中該第一檔案包括一執行檔,該第二檔案包括一資源檔。該方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一檔案時,則在使用端執行該第一檔案。當該使用端的該記憶體中未儲存該第一檔案時,從距離該使用端最接近的服務端下載至該 使用端的該記憶體中。該複數檔案包括一執行檔、一動態連結程式庫檔(DLL)、以及一資源檔。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
7.一種下載一程式的方法,該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:自該服務端傳送該執行檔至該使用端。在該使用端執行該執行檔,而當該執行檔之執行需來自該資源檔之一部分資料之支援,始能繼續執行時,自該服務端取得該部分資料。當已自該服務端取得該部分資料時,繼續執行該執行檔。
8.如實施例7所述的方法,其中:該方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔。當該使用端的一記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中。執行該執行檔。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
9.一種下載一程式的方法,該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下 載至一使用端執行,該方法包含下列步驟:自該服務端傳送該複數執行區塊的一第一執行區塊至該使用端,其中該第一執行區塊之執行需該複數資源區塊的一特定資源區塊之支援。自該服務端傳送該特定資源區塊至該使用端,以完成該第一執行區塊之先期執行。當該服務端已完成傳送該特定資源區塊時,繼續傳送該複數執行區塊的一第二執行區塊至該使用端。
10.如實施例9所述的方法,其中,該方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一執行區塊時,則在使用端執行該第一執行區塊,當該使用端的該記憶體中已儲存該第二執行區塊時,則在使用端執行該第二執行區塊。當該使用端的該記憶體中未儲存該第一以及該第二執行區塊時,從距離該使用端最接近的服務端下載該第一執行區塊或該第二執行區塊至該使用端的該記憶體中。執行該第一執行區塊或該第二執行區塊。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
綜上所述,本發明的說明與實施例已揭露於上,然其非用來限制本發明,凡習知此技藝者,在不脫離本發明的精神與範圍之下,當可做各種更動與修飾,其仍應屬在本發明專利的涵蓋範圍之內。

Claims (10)

  1. 一種下載一程式的方法,該程式包含一執行檔,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該執行檔作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊;傳送該第一區塊到該使用端;以及在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。
  2. 如申請專利範圍第1項所述的方法,更包含下列步驟:當該使用端的一記憶體中已儲存該複數區塊時,依照該讀取順序執行該複數區塊;當該使用端的該記憶體中未儲存該複數區塊時,從距離該使用端接近的該至少一服務端,以多管線的方式將該複數區塊下載至該使用端的該記憶體中以供該程式執行;以及依照該讀取順序執行在該記憶體中的該複數區塊。
  3. 如申請專利範圍第1項所述的方法,其中該讀取順序係依據該複數區塊的被使用的次數而定,當被使用次數相同時利用該複數區塊被讀取的先後順序而定,被使用的次數較高的執行檔之讀取順序優先於被使用的次數較低的執行檔之讀取順序。
  4. 如申請專利範圍第1項所述的方法,其中:該程式更包括一動態連結程式庫檔(DLL)、一資源檔、或其任意組合; 該使用端的一記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端依照該讀取順序直接執行在該行動硬碟中的該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而依照該讀取順序直接執行在該行動硬碟中的該程式;以及該檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
  5. 一種下載一程式的方法,該程式包含複數檔案,並使該複數檔案逐一從一服務端下載至一使用端執行,其中該複數檔案包括一執行檔及一資源檔,該方法包含下列步驟:將該執行檔作區塊切割成複數區塊,該複數區塊包含一第一區塊以及一第二區塊;自該服務端傳送該第一區塊至該使用端;以及在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。
  6. 如申請專利範圍第5項所述的方法,其中:該方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔案時,則在使用端執行該執行檔案;當該使用端的該記憶體中未儲存該執行檔案時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中;以及 該複數檔案更包括一動態連結程式庫檔(DLL);該記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式;以及該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
  7. 一種下載一程式的方法,該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:將該執行檔與該資源檔分別作區塊切割而成第一複數區塊與一第二複數區塊,其中該第一複數區塊包含一第一執行區塊及一第二執行區塊,該第二複數區塊包含一第一資源區塊;自該服務端傳送該第一執行區塊至該使用端;在該服務端尚未傳送該第二執行區塊至該使用端時,在該使用端執行該第一執行區塊;當該第一執行區塊之執行需來自該資源檔之該第一資源區塊之支援,始能繼續執行時,自該服務端取得該第一資源區塊;以及當已自該服務端取得該第一資源區塊時,繼續執行該第二執行區塊。
  8. 如申請專利範圍第7項所述的方法,其中:該方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔; 當該使用端的一記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中;以及執行該執行檔;該記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式;以及該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
  9. 一種下載一程式的方法,該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下載至一使用端執行,其中該複數執行區塊包含一第一執行區塊及一第二執行區塊,該複數資源區塊包含一特定資源區塊,該方法包含下列步驟:自該服務端傳送該第一執行區塊至該使用端;在該服務端尚未傳送該第二執行區塊至該使用端時,在該使用端執行該第一執行區塊,其中該第一執行區塊之執行需該特定資源區塊之支援;自該服務端傳送該特定資源區塊至該使用端,以完成該第一執行區塊之先期執行;以及當該服務端已完成傳送該特定資源區塊時,繼續傳送該第二執行區塊至該使用端。
  10. 如申請專利範圍第9項所述的方法,其中: 該方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一執行區塊時,則在使用端執行該第一執行區塊,當該使用端的該記憶體中已儲存該第二執行區塊時,則在使用端執行該第二執行區塊;當該使用端的該記憶體中未儲存該第一以及該第二執行區塊時,從距離該使用端最接近的服務端下載該第一執行區塊或該第二執行區塊至該使用端的該記憶體中;以及執行該第一執行區塊或該第二執行區塊;該記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式;以及該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。
TW102119457A 2013-05-31 2013-05-31 下載程式的方法 TWI630551B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102119457A TWI630551B (zh) 2013-05-31 2013-05-31 下載程式的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102119457A TWI630551B (zh) 2013-05-31 2013-05-31 下載程式的方法

Publications (2)

Publication Number Publication Date
TW201445444A TW201445444A (zh) 2014-12-01
TWI630551B true TWI630551B (zh) 2018-07-21

Family

ID=52707095

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102119457A TWI630551B (zh) 2013-05-31 2013-05-31 下載程式的方法

Country Status (1)

Country Link
TW (1) TWI630551B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200928980A (en) * 2007-08-29 2009-07-01 Ibm Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
TW201232403A (en) * 2010-12-21 2012-08-01 Neowiz Games Corp Terminal and method for installing application while downloading package file
WO2013022183A1 (en) * 2011-08-05 2013-02-14 Neowiz Games Corporation Device and method for controlling network for downloading file and network system therefor
TW201308939A (zh) * 2011-08-05 2013-02-16 Neowiz Games Corp 檔案下載網路之分散控制用的元件及其方法
TW201308207A (zh) * 2011-08-05 2013-02-16 Neowiz Games Corp 線上安裝檔案的方法及其控制裝置
TW201319845A (zh) * 2011-08-18 2013-05-16 Apple Inc 基於網路效能管理自以網路為基礎之數位資料儲存庫之下載

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200928980A (en) * 2007-08-29 2009-07-01 Ibm Apparatus, system, and method for cooperation between a browser and a server to package small objects in one or more archives
TW201232403A (en) * 2010-12-21 2012-08-01 Neowiz Games Corp Terminal and method for installing application while downloading package file
WO2013022183A1 (en) * 2011-08-05 2013-02-14 Neowiz Games Corporation Device and method for controlling network for downloading file and network system therefor
TW201308939A (zh) * 2011-08-05 2013-02-16 Neowiz Games Corp 檔案下載網路之分散控制用的元件及其方法
TW201308207A (zh) * 2011-08-05 2013-02-16 Neowiz Games Corp 線上安裝檔案的方法及其控制裝置
TW201319845A (zh) * 2011-08-18 2013-05-16 Apple Inc 基於網路效能管理自以網路為基礎之數位資料儲存庫之下載

Also Published As

Publication number Publication date
TW201445444A (zh) 2014-12-01

Similar Documents

Publication Publication Date Title
CN105763602B (zh) 一种数据请求处理的方法、服务器及系统
JP5816198B2 (ja) 関連コンピューティングシステム間でコンピューティングオペレーションの結果を共有するためのシステムおよび方法
US9354987B2 (en) Systems and methods for out-of-band backup and restore of hardware profile information
US9135032B2 (en) System, method and computer program product for data processing and system deployment in a virtual environment
TWI557572B (zh) 用於在主機與行動裝置間之任務的雙向動態卸載之方法、系統及電腦可讀儲存裝置(一)
TWI496023B (zh) 用於部分保全記憶體處理的軟體修改技術
JP2002244862A (ja) コンピューティングシステム製造およびインストール中の効率的なデータ転送
US20160337437A1 (en) Peer-to-peer network download optimization
CN113934437B (zh) 云手机安装应用的方法、系统和客户端云手机
US10303388B1 (en) Storage filtering using container images
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US8364598B2 (en) Use of software update policies
JP2025036164A (ja) クラスター管理方法、装置、電子機器及び記憶媒体
US10666721B2 (en) Resource management device and method
CN117591247A (zh) 云环境虚拟机的修复方法、装置及电子设备
WO2016195624A1 (en) Transferring an image file over a network
CN102959513B (zh) 虚拟机器合并方法和系统
CN107667343A (zh) 按需加载资源
TWI630551B (zh) 下載程式的方法
US20120260246A1 (en) Software application installation
EP3012735B1 (en) Method for downloading application
US8250262B2 (en) Systems and methods for input/output isolation
CN110968852B (zh) 一种虚拟机密码管理方法、系统、设备及计算机存储介质
JP7015960B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US12498948B2 (en) Method and system for remote terminal access through application of communication module during boot