TWI630551B - Method of downloading program - Google Patents

Method of downloading program 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
Chinese (zh)
Other versions
TW201445444A (en
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/en
Publication of TW201445444A publication Critical patent/TW201445444A/en
Application granted granted Critical
Publication of TWI630551B publication Critical patent/TWI630551B/en

Links

Landscapes

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

Abstract

一種下載一程式的方法,該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊。傳送該第一區塊到該使用端。在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。 A method for downloading a program, the program comprising at least one file, and being downloaded from at least one server to a user, the method comprising the steps of: cutting the at least one file into blocks, and according to the One of the programs reads the plurality of blocks in a sequential order, and the plurality of blocks includes a first block and a second block. Transmitting the first block to the use end. When the second block is not transferred to the user end, the first block is executed at the use end.

Description

下載程式的方法 Method of downloading a program

本發明是關於一種下載程式的方法,特別是從服務端下載程式到使用端的方法。 The present invention relates to a method of downloading a program, in particular, a method of downloading a program from a server to a user.

雲端儲存是指網路線上資料儲存的模式,即把資料存放在通常由第三方代管的多台虛擬伺服器,而非專屬的伺服器上。資料中心營運商根據客戶的需求,在後端準備儲存虛擬化的資源,並將其以儲存資源池(storage pool)的方式提供,客戶便可自行使用此儲存資源池來存放檔案或物件。雲端運算是一種基於網際網路的運算方式,透過這種方式,共享的軟硬體資源和訊息可以按需提供給電腦和其他裝置。雲端運算描述了一種基於網際網路的新的資訊科技(IT)服務增加、使用和交付模式,通常涉及透過網際網路來提供動態易擴充功能而且經常是虛擬化的資源,使用者能夠存取服務軟體及資料,服務提供者則維護基礎設施及平臺以維持服務正常運作,服務提供者所提供的服務或軟體常被稱為「隨選軟體」,並且通常是基於使用時數來收費,使用者只需具備低複雜度的軟硬體設備即可使用這些服務,這樣可節省企業的成本。由於應用程式是集中供應的,更新可以即時的發佈,無需使用者手動更新或是安裝新的軟體。因此,雲端運算使得企業能夠更迅速的部署應用程式,並降低管理的複雜度及維護成本,及允許IT資源的迅速重新分配以因應企業需求的快速改變。 Cloud storage refers to the mode of data storage on the network, that is, the data is stored in multiple virtual servers that are usually hosted by third parties, rather than dedicated servers. According to the customer's needs, the data center operator prepares to store the virtualized resources on the back end and provides them in a storage pool. The storage resources pool can be used by the customer to store files or objects. Cloud computing is an Internet-based computing method in which shared software and hardware resources and messages can be provided to computers and other devices as needed. Cloud computing describes a new Internet-based information technology (IT) service addition, usage, and delivery model that typically involves dynamically expanding functionality over the Internet and is often a virtualized resource that users can access. Service software and information, service providers maintain infrastructure and platforms to maintain normal service operations. Services or software provided by service providers are often referred to as "on-demand software" and are usually charged based on hours of use. These services can be used only with low-complexity hardware and software devices, which saves the cost of the enterprise. Since the application is centrally available, updates can be released instantly, without the need for users to manually update or install new software. As a result, cloud computing enables organizations to deploy applications more quickly, reduce management complexity and maintenance costs, and allow rapid redistribution of IT resources to respond to rapid changes in business needs.

雲端的概念對於使用者或企業的好處在於其無須購置各類 具有強大處理效能的硬體設備和軟體,這些硬體設備的維護和軟體的更新都交由服務商來進行,使用者或企業則是盡量將硬體設備和軟體「虛擬化」。在通訊網路中,應用程式虛擬化係將使用端的應用程式交由服務端來提供,然而容量較大的應用程式通常從服務端到使用端需花費時間下載,且下載完後才能夠安裝或執行,這種下載完後才安裝的方式適用於慢速或高延遲的網路環境,因為區域網路與廣域網路的頻寬速度與延遲性相差很大,故在混合型的環境中,此方式較不符合企業或使用者對於應用程式隨選即用的需求。 The concept of the cloud is good for users or businesses because they don’t have to buy all kinds of Hardware devices and software with powerful processing power. The maintenance and software update of these hardware devices are carried out by the service provider. Users or enterprises try to "virtualize" hardware devices and software. In the communication network, application virtualization provides the application of the terminal to the server, but the larger application usually takes time to download from the server to the user, and can be installed or executed after the download. This method of installation after downloading is suitable for slow or high-latency network environments, because the bandwidth speed and delay of the regional network and the wide area network are very different, so in a hybrid environment, this method Less in line with the needs of the enterprise or user for the application to be on demand.

請參閱第一圖,其為習用下載一應用程式的流程的示意圖。步驟S101,用戶端系統接收啟動應用程式指令。步驟S102,用戶端系統判斷程式檔案或快取是否存在;當程式檔案或快取存在時,使該流程進入步驟S103。在步驟S103中,用戶端系統的作業系統啟動應用程式。在步驟S102中,當程式檔案或快取不存在時,使該流程進入步驟S104。在步驟S104中,由伺服器完整傳送應用程式全部檔案至用戶端系統,然後使該流程進入步驟S105。在步驟S105中,用戶端系統將程式檔案寫入檔案系統或快取系統,然後使該流程進入步驟S103。在步驟S103之後,該流程進入步驟S106。在步驟S106中,應用程式讀取程式檔案。為了要讀取程式檔案,提供步驟S107;在步驟S107中,應用程式會發出指令到作業系統,使作業系統到用戶端的檔案系統要求應用程式所需要的檔案,然後檔案系統再到硬碟讀檔案出來,然後傳回給作業系統。步驟S108,作業系統再將程式檔案傳回給應用程式。步驟S109,執行應用程式,然後當還需要繼續執行應用程式時,則重複步驟S106~S108。 Please refer to the first figure, which is a schematic diagram of the process of downloading an application. In step S101, the client system receives the launch application command. In step S102, the client system determines whether the program file or cache exists; when the program file or cache exists, the process proceeds to step S103. In step S103, the operating system of the client system launches the application. In step S102, when the program file or cache does not exist, the flow is advanced to step S104. In step S104, the entire file of the application is completely transmitted by the server to the client system, and then the flow proceeds to step S105. In step S105, the client system writes the program file to the file system or the cache system, and then the process proceeds to step S103. After step S103, the flow proceeds to step S106. In step S106, the application reads the program file. In order to read the program file, step S107 is provided; in step S107, the application program issues an instruction to the operating system, so that the file system of the operating system to the client requires the file required by the application, and then the file system reads the file to the hard disk. Come out and pass it back to the operating system. In step S108, the operating system returns the program file to the application. In step S109, the application is executed, and then when it is necessary to continue executing the application, steps S106 to S108 are repeated.

請參閱第二圖,其為習用在用戶端系統的應用程式執行的流程示意圖。在第一圖中的步驟S103、S106、S107、S108、S109的具體實施 方式可由第二圖來說明。請同時參閱第一圖與第二圖,步驟S201,用戶端系統的使用者啟動該應用程式。步驟S202,用戶端系統的作業系統準備載入該應用程式。步驟S203,用戶端系統的作業系統接收應用程式的指令而使檔案系統到儲存裝置讀取檔案區塊。步驟S204,用戶端系統的檔案系統讀取檔案區塊中的程式檔案。步驟S205,用戶端系統的作業系統將程式檔案載入到記憶體中。步驟S206,用戶端系統的作業系統交由應用程式接手以執行該程式檔案,當應用程式需要繼續執行不同的程序時,則使流程進入步驟S207。在步驟S207中,作業系統接收應用程式的指令而使檔案系統到儲存裝置讀取檔案區塊,然後使該流程進入步驟S208。在步驟S208中,檔案系統讀取檔案區塊中的程式檔案,再使該流程回到步驟S206。在步驟S206中,當應用程式不繼續執行其他程序時,則使該流程進入步驟S209,以結束應用程式。 Please refer to the second figure, which is a schematic diagram of the process performed by the application that is used in the client system. Specific implementation of steps S103, S106, S107, S108, S109 in the first figure The mode can be explained by the second figure. Please refer to the first figure and the second figure at the same time. In step S201, the user of the client system starts the application. In step S202, the operating system of the client system is ready to load the application. Step S203, the operating system of the client system receives the instruction of the application, and causes the file system to the storage device to read the file block. Step S204, the file system of the client system reads the program file in the file block. In step S205, the operating system of the client system loads the program file into the memory. In step S206, the operating system of the client system is handed over by the application to execute the program file. When the application needs to continue executing different programs, the process proceeds to step S207. In step S207, the operating system receives the instruction of the application program to cause the file system to the storage device to read the file block, and then the process proceeds to step S208. In step S208, the file system reads the program file in the file block, and the process returns to step S206. In step S206, when the application program does not continue to execute other programs, the flow is advanced to step S209 to end the application.

在服務端與使用端之間,習用使用應用程式的方式皆是應用程式的所有檔案下載完後才進行安裝或執行應用程式,此種方式在當應用程式的容量很大時需耗費許多下載的時間,對於使用端則需等待,浪費了不必要的時間。因此期望有一種方式可以讓使用端隨選即用想要的應用程式,而無須耗費下載的時間,且高運算能力的硬體設備的建構或程式的提供與維護皆由服務端來提供。 Between the server and the user, the way to use the application is to install or execute the application after all the files of the application are downloaded. This method requires a lot of downloads when the capacity of the application is large. Time, waiting for the use side, wasting unnecessary time. Therefore, it is desirable to have a way for the user to use the desired application on demand, without the need for downloading time, and the construction or maintenance of the hardware device with high computing power is provided by the server.

依據上述構想,本發明提出一種下載一程式的方法,該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊。傳送該第一區塊到該使用端。在該服務端尚未傳送該第二區塊至該使用端時, 在該使用端執行該第一區塊。 According to the above concept, the present invention provides a method for downloading a program, the program comprising at least one file, and being downloaded from at least one server to a user, the method comprising the steps of: cutting the at least one file into blocks The plurality of blocks are arranged, and the plurality of blocks are arranged in a reading order according to one of the programs, the plurality of blocks comprising a first block and a second block. Transmitting the first block to the use end. When the second block is not transmitted to the use end by the server, The first block is executed at the use end.

依據上述構想,本發明提出一種下載一程式的方法,該程式包含複數檔案,並使該複數檔案逐一從一服務端下載至一使用端執行,其中該複數檔案包括至少一第一檔案及一第二檔案,該方法包含下列步驟:自該服務端傳送該第一檔案至該使用端。在該服務端尚未傳送該第二檔案至該使用端時,在該使用端執行該第一檔案。 According to the above concept, the present invention provides a method for downloading a program, the program includes a plurality of files, and the plurality of files are downloaded one by one from a server to a user, wherein the plurality of files includes at least one first file and one The second file, the method comprising the steps of: transmitting the first file from the server to the user end. When the second file is not transferred to the user end, the first file is executed at the user end.

依據上述構想,本發明提出一種下載一程式的方法,該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:自該服務端傳送該執行檔至該使用端。在該使用端執行該執行檔,而當該執行檔之執行需來自該資源檔之一部分資料之支援,始能繼續執行時,自該服務端取得該部分資料。當已自該服務端取得該部分資料時,繼續執行該執行檔。 According to the above concept, the present invention provides a method for downloading a program, the program comprising an executable file and a resource file for downloading the two files from a server to a user, the method comprising the following steps: The end transmits the execution file to the use end. The execution file is executed at the use end, and when the execution of the execution file requires support from a part of the resource file, the part of the data is obtained from the server when the execution can continue. When the part of the data has been obtained from the server, the execution of the executable file is continued.

依據上述構想,本發明提出一種下載一程式的方法,該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下載至一使用端執行,該方法包含下列步驟:自該服務端傳送該複數執行區塊的一第一執行區塊至該使用端,其中該第一執行區塊之執行需該複數資源區塊的一特定資源區塊之支援。自該服務端傳送該特定資源區塊至該使用端,以完成該第一執行區塊之先期執行。當該服務端已完成傳送該特定資源區塊時,繼續傳送該複數執行區塊的一第二執行區塊至該使用端。 According to the above concept, the present invention provides a method for downloading a program, the program comprising a plurality of executable files and a plurality of resource files, each of the plurality of execution files being divided into a plurality of execution blocks, each resource in the plurality of resource files The file is divided into a plurality of resource blocks, so that the plurality of execution blocks are downloaded from a server to a user, the method comprising the steps of: transmitting, from the server, a first execution block of the plurality of execution blocks Up to the user end, wherein execution of the first execution block requires support of a specific resource block of the plurality of resource blocks. The specific resource block is transmitted from the server to the use end to complete the pre-execution of the first execution block. When the server has completed transmitting the specific resource block, it continues to transmit a second execution block of the complex execution block to the use end.

藉由本發明所提下載程式的方法,應用程式從服務端到使用端可節省下載的時間,且無須完全下載完畢後就能夠安裝或執行,達到企業或使用者對於應用程式隨選即用的需求。 By means of the downloading program provided by the present invention, the application can save download time from the server to the use end, and can be installed or executed without being completely downloaded, so as to meet the needs of the enterprise or the user for the application on demand. .

第一圖,習用下載一應用程式的流程的示意圖。 The first figure is a schematic diagram of the process of downloading an application.

第二圖,習用在用戶端系統的應用程式執行的示意圖。 The second figure is a schematic diagram of the application execution of the client system.

第三圖,本發明應用程式檔案的示意圖。 The third figure is a schematic diagram of the application file of the present invention.

第四圖,本發明程式檔案的區塊排序的示意圖。 The fourth figure is a schematic diagram of the block ordering of the program file of the present invention.

第五圖,本發明第一較佳實施例即時下載程式檔案的流程的示意圖。 FIG. 5 is a schematic diagram showing the flow of downloading a program file in real time according to the first preferred embodiment of the present invention.

第六圖,本發明第二較佳實施例即時下載程式檔案的流程的示意圖。 FIG. 6 is a schematic diagram showing the flow of downloading a program file in real time according to a second preferred embodiment of the present invention.

第七圖,本發明第三較佳實施例下載程式的方法的示意圖。 Figure 7 is a diagram showing a method of downloading a program in accordance with a third preferred embodiment of the present invention.

第八圖,本發明第四較佳實施例的下載程式的方法的示意圖。 Figure 8 is a diagram showing a method of downloading a program in accordance with a fourth preferred embodiment of the present invention.

第九圖,本發明第五較佳實施例的下載程式的方法的示意圖。 Figure 9 is a diagram showing a method of downloading a program according to a fifth preferred embodiment of the present invention.

第十圖,本發明第六較佳實施例的下載程式的方法的示意圖。 Figure 11 is a diagram showing a method of downloading a program in a sixth preferred embodiment of the present invention.

請參酌本發明的附圖來閱讀下面的詳細說明,其中本發明的附圖是以舉例說明的方式,來介紹本發明各種不同的實施例,並供瞭解如何實現本發明。本發明提供充分的實施例來說明本發明的精神,而各實施例之間並不互斥而可相互任意組合形成新的實施例,意即本發明不限於文中所載之實施例。 The detailed description of the present invention is to be understood by the claims The present invention is not limited to the embodiments shown in the accompanying drawings. The present invention is not limited to the embodiments described herein.

請參閱第三圖,其為本發明應用程式檔案的示意圖。在應用程式檔案中可包含a,b,c三類檔案,例如副檔名為exe的執行檔、副檔名為dll的動態連結程式庫檔、以及副檔名為jpg的資源檔。在第三圖中,執行檔a.exe可分成1~4等4個區塊,資源檔b.jpg可分成1~3等3個區塊,動態連結程式庫檔c.dll可分成1~3等3個區塊。 Please refer to the third figure, which is a schematic diagram of the application file of the present invention. The application file can include three types of files: a, b, and c. For example, the executable file named exe, the dynamic link library file named dll, and the resource file named jpg. In the third figure, the execution file a.exe can be divided into 4 blocks of 1~4, etc. The resource file b.jpg can be divided into 3 blocks such as 1~3, and the dynamic link library file c.dll can be divided into 1~ 3 and 3 blocks.

請參閱第四圖,其為本發明程式檔案的區塊排序的示意圖。在從服務端下載到使用端之前,程式檔案可以依照其讀取順序與常用功能所需要的檔案區塊作排序後,依序下載讓應用程式可透過網路來讀取並執行。例如在第四圖中,下載順序為:執行檔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到使用端執行。例如當在服務端尚未有使用次數的統計時,則按照應用程式所需使用到的程式檔案的順序來下載。 Please refer to the fourth figure, which is a schematic diagram of the block ordering of the program file of the present invention. Before downloading from the server to the user, the program file can be sorted according to the order of reading and the file blocks required by the common functions, and then downloaded in order to enable the application to read and execute through the network. For example, in the fourth figure, the download order is: block 1 of the executable file a.exe, block 4 of the executable file a.exe, block 2 of the dynamic link library file c.dll, and resource file b.jpg Block 1...etc, etc., and so on. If it has been downloaded to the user, it can be executed first. For example, block 1 in the executable file a.exe can be executed first, then block 4 in the executable file a.exe, and then block 2 in the executable file c.dll. Then, read block 1 in the resource file b.jpg, and do not have to wait until all the files have been downloaded. The reading order may also be determined according to the number of times the program file is used. When the number of times of use is the same, the order in which the file blocks are read is determined, and the file used for a higher number of times is read. The order takes precedence over the order in which the files that are used less frequently are read. For example, when another executable file d.exe is downloaded or used more often than the executable file a.exe, it is downloaded first. Execute the file d.exe to the user, and then download the executable file a.exe to the user. For example, when there is no statistics on the number of usages on the server, the files are downloaded in the order of the application files used by the application.

請參閱第五圖,其為本發明第一較佳實施例即時下載程式檔案的流程的示意圖。步驟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,以結束應用程式。 Please refer to the fifth figure, which is a schematic diagram of the process of downloading a program file in real time according to the first preferred embodiment of the present invention. In step S301, the client system receives the launch application command. In the third figure, unlike the conventional mode, after step S301, the flow directly proceeds to step S302. In step S302, the application is started, and then the flow proceeds to step S303. In step S303, the program file is read, and the application of the user terminal issues a command to the operating system, so that the file system of the operating system to the use end requires the file required by the application. In step S304, the user terminal determines whether the program file exists; if not, the process proceeds to step S305. In step S305, the user terminal downloads the required program file from the server to the user terminal, and then the process proceeds to step S306. In step S306, the operating system of the user terminal writes the program file to the file system or the cache system, and then the process proceeds to step S307. In step S307, the program file is returned to the application by the operating system of the user terminal. In step S304, when the use terminal determines that the program file exists, the process proceeds directly to step S307, so that the operating system returns the program file to the application. Next, the flow proceeds to step S308. In step S308, the application is executed; when other programs need to be executed, and the client determines that the program file does not exist, steps S303, S304, S305, S306, S307, and S308 are repeated; if the user determines that the program file exists Then, steps S307 and S308 are repeated. When it is not necessary to execute another program, the flow is advanced to step S309 to end the application.

在本發明第一較佳實施例中,程式檔案的下載可從距離該使用端接近的至少一服務端,以多管線的方式將該些檔案區塊下載至該使用端以供執行,服務商可在不同的地區設伺服器讓使用端自動選取最接近的 該伺服器來下載程式檔案,其中該服務端包含該伺服器;當然可選取複數個離使用端較近的伺服器同時下載,以增加程式檔案下載的效率。在另一較佳實施例中,該些檔案區塊、執行檔、資源檔、或動態資料庫連結檔,可先在服務端進行壓縮後透過網路傳送,然後再由使用端解壓縮,此可增加傳送資料量。 In the first preferred embodiment of the present invention, the downloading of the program file may download the file blocks to the user terminal for execution in a multi-pipeline manner from at least one server that is close to the user terminal, and the service provider The server can be set in different areas to let the user automatically select the closest one. The server downloads the program file, wherein the server includes the server; of course, a plurality of servers closer to the user end can be selected and downloaded simultaneously to increase the efficiency of downloading the program file. In another preferred embodiment, the file block, the execution file, the resource file, or the dynamic database link file may be first transmitted on the server and then transmitted through the network, and then decompressed by the use terminal. Can increase the amount of data transferred.

請參閱第六圖,本發明第二較佳實施例即時下載程式檔案的流程的示意圖。步驟S401,使用端的使用者啟動應用程式。步驟S402,使用端的應用程式通知作業系統準備載入應用程式,但是在實際載入之前,需經過步驟S403。在步驟S403中,服務端檢查使用端的授權狀況;若使用端已經通過授權,則使該流程進入步驟S404。在步驟S404中,服務端將已經通過授權的狀態儲存到使用端的儲存裝置,以確認使用端已經通過授權,並可向服務端要求下載所需要的程式檔案。在步驟S403中,若服務端發現使用者是尚未授權的狀態,則使該流程進入步驟S405。在步驟S405中,要求使用者透過網路付款,當使用者付款成功時,使該流程進入步驟S404。在應用程式載入使用端之前檢查授權可避免應用程式遭到竄改而在執行應用程式時繞過授權的檢查,且應用程式由服務端來提供,使用端無法竄改,此可防止盜版軟體的流竄。同時,服務端亦可檢查在使用端的儲存裝置序號或ID來確認授權,或是使用端的CPU、主機板、或網卡序號,當使用端的序號或ID並非服務端所認證過的,則服務端禁止下載程式檔案到使用端。 Please refer to the sixth figure, which is a schematic diagram of the process of downloading a program file in real time according to the second preferred embodiment of the present invention. In step S401, the user of the using terminal launches the application. In step S402, the application of the use end notifies the operating system to prepare to load the application, but before actually loading, it needs to go through step S403. In step S403, the server checks the authorization status of the user end; if the user end has passed the authorization, the process proceeds to step S404. In step S404, the server stores the state that has been authorized to the storage device of the user to confirm that the user has passed the authorization, and can request the server to download the required program file. In step S403, if the server finds that the user is not authorized, the process proceeds to step S405. In step S405, the user is required to make a payment via the network. When the user's payment is successful, the process proceeds to step S404. Checking the authorization before the application loads the application can prevent the application from being tampered with and bypassing the authorization check when the application is executed, and the application is provided by the server, and the user cannot tamper with it, which prevents the pirated software from flowing. . At the same time, the server can also check the storage device serial number or ID at the use end to confirm the authorization, or use the CPU, motherboard, or network card serial number of the terminal. When the serial number or ID of the user terminal is not authenticated by the server, the server is prohibited. Download the program file to the console.

在步驟S404中所述的使用端的儲存裝置可以是虛擬硬碟、usb隨身碟、或使用不同種類匯流排連接的硬碟,匯流排種類可包含SATA、SCSI、或IDE等。在另一較佳實施例中,儲存裝置可先包含所有的應用程式集並連接到使用端,因此當使用端的使用者啟動應用程式集之中的某一 應用程式時,便無須從服務端透過網路下載,可直接從使用端所連接的儲存裝置來將程式檔案載入到使用端的快取中執行。當然當應用程式集之中的程式檔案需要更新時,也可使用即時連線到服務端的方式來即時下載程式檔案。在另一實施例中,儲存裝置例如隨身碟,其可以作為快取,當要使用某應用程式時可將快取內不須用到的程式檔案清除,再從服務端下載要用到的程式檔案,在使用者的使用上雖然例如隨身碟只有8GB的儲存空間,但使用起來感覺就像是儲存空間有1000GB。甚至於在另一較佳實施例中,儲存裝置可包含所有的應用程式集以及嵌入式作業系統,並連接到使用端,使用端可直接使用儲存裝置中的嵌入式作業系統和應用程式集,無須在使用端的作業系統與儲存裝置的應用程式集之間做參數改變的設定。在步驟S404之後則可使該流程進入載入程式檔案的程序。 The storage device at the use end described in step S404 may be a virtual hard disk, a usb flash drive, or a hard disk connected using different types of bus bars, and the bus bar type may include SATA, SCSI, or IDE. In another preferred embodiment, the storage device may first include all the application sets and connect to the use end, so when the user of the use end launches one of the application sets When the application is used, there is no need to download from the server through the network, and the program file can be loaded directly into the cache of the user terminal from the storage device connected to the user terminal. Of course, when the program files in the application set need to be updated, you can also use the instant connection to the server to download the program files instantly. In another embodiment, the storage device, such as a flash drive, can be used as a cache. When an application is to be used, the program file that is not needed in the cache can be cleared, and then the program to be used can be downloaded from the server. Archives, although the user's use, for example, only 8GB of storage space on the pen drive, but it feels like the storage space has 1000GB. In another preferred embodiment, the storage device can include all application sets and embedded operating systems, and is connected to the use end, and the use terminal can directly use the embedded operating system and the application set in the storage device. There is no need to make parameter change settings between the operating system at the use end and the application set of the storage device. After step S404, the process can be entered into the program that loads the program file.

在第六圖的步驟S404中,在使用端確認授權後,使該流程同時進入步驟S406與步驟S407。在步驟S406中,使用端依據程式的讀取順序來要求服務端傳送不完整的檔案區塊。然後,該流程進入步驟S408,其中服務端依序傳送不完整的檔案區塊至使用端。然後,該流程進入步驟S409,其中使用端將這些不完整的檔案區塊寫入快取系統。在步驟S407中,使用端至快取系統讀取檔案區塊。然後該流程進入步驟S410,其中使用端判斷檔案區塊是否存在,當檔案區塊存在時,使該流程進入步驟S411。在步驟S411中,使用端的作業系統將檔案區塊載入記憶體中。在步驟S410中,當檔案區塊不存在時,使該流程進入步驟S412。在步驟S412中,使用端要求服務端傳送需要的部分,例如使用端執行應用程式所需要的檔案區塊或程式檔案,然後使該流程進入步驟S413。在步驟S413中,使用端將所需要的檔案區塊或程式檔案寫入使用端的快取系統,然後使該流程進入步驟S411。在檔案區塊或程式檔案由作業系統載入記憶體後,使該流程進入 步驟S414。步驟S414,作業系統將檔案區塊或程式檔案交由應用程式來執行。 In step S404 of the sixth figure, after the authorization is confirmed by the user terminal, the flow is simultaneously entered into step S406 and step S407. In step S406, the use terminal requests the server to transmit the incomplete file block according to the reading order of the program. Then, the process proceeds to step S408, where the server sequentially transmits the incomplete file block to the user end. Then, the flow proceeds to step S409, where the in-use side writes these incomplete file blocks to the cache system. In step S407, the file block is read using the end-to-cache system. Then the process proceeds to step S410, where the use terminal determines whether the file block exists, and when the file block exists, the process proceeds to step S411. In step S411, the file system is loaded into the memory by the operating system at the end. In step S410, when the file block does not exist, the flow is advanced to step S412. In step S412, the terminal requires the server to transmit the required portion, for example, the file block or program file required by the application to execute the application, and then the process proceeds to step S413. In step S413, the user terminal writes the required file block or program file to the cache system of the use end, and then the process proceeds to step S411. After the file block or program file is loaded into the memory by the operating system, the process is entered. Step S414. In step S414, the operating system transfers the file block or the program file to the application for execution.

在步驟S414中,應用程式的執行可無需等待檔案區塊或程式檔案完整下載完後再執行,而是當下載完應用程式中的一個檔案區塊後立即可以執行,當還需要後續的檔案區塊時,則使該流程進入後續的步驟S415、S416、S417、S418。步驟S415~S418的程序與步驟S407、S410、S412、S413相同,當執行應用程式所需要的檔案區塊不存在使用端的快取系統中時,則使用端向服務要求所需要的檔案區塊,並由服務端下載而寫使用端的快取系統中,最後由應用程式讀取快取系統中的檔案區塊來執行。在步驟414中,當應用程式毋需執行後續的程序時,則使該流程進入步驟S419,結束應用程式。 In step S414, the execution of the application can be executed without waiting for the file block or the program file to be completely downloaded, but can be executed immediately after downloading a file block in the application, and a subsequent file area is needed. In the case of a block, the flow is advanced to subsequent steps S415, S416, S417, and S418. The procedures of steps S415 to S418 are the same as steps S407, S410, S412, and S413. When the file block required to execute the application program does not exist in the cache system of the use end, the file block required by the end service request is used. And the server downloads and writes the use side of the cache system, and finally the application reads the file block in the cache system to execute. In step 414, when the application does not need to execute the subsequent program, the flow is advanced to step S419 to end the application.

請參閱第七圖,其為本發明第三較佳實施例下載程式的方法的示意圖。該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,例如在第三圖中的執行檔a.exe、資源檔b.jpg、動態連結程式庫檔c.dll、或其任意組合。在步驟S501中,將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊,例如在第四圖中,複數區塊包含執行檔a.exe的區塊1、執行檔a.exe的區塊4。步驟S502,傳送該第一區塊到該使用端。步驟S503,在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。例如在執行檔a.exe的區塊4尚未傳送至該使用端時,在該使用端執行執行檔a.exe的區塊1。 Please refer to a seventh figure, which is a schematic diagram of a method for downloading a program according to a third preferred embodiment of the present invention. The program includes at least one file and is downloaded from at least one server to a user, for example, the executable file a.exe in the third figure, the resource file b.jpg, the dynamic link library file c.dll, or random combination. In step S501, the at least one file is sliced into a plurality of blocks, and the plurality of blocks are arranged according to a reading order of the program, the plurality of blocks including a first block and a second block. For example, in the fourth figure, the plurality of blocks include the block 1 of the executable file a.exe, and the block 4 of the executable file a.exe. Step S502, transmitting the first block to the use end. Step S503, when the second block is not transmitted to the user end, the first block is executed at the use end. For example, when the block 4 of the execution file a.exe has not been transferred to the use end, the block 1 of the execution file a.exe is executed at the use end.

在第三較佳實施例中,該方法更包含下列步驟:當該使用端的一記憶體中已儲存該複數區塊時,依照該讀取順序執行該複數區塊。當該使用端的該記憶體中未儲存該複數區塊時,從距離該使用端接近的複數 個服務端,以多管線的方式將該複數區塊下載至該使用端的該記憶體中以供該程式執行。依照該讀取順序執行在該記憶體中的該複數區塊。 In a third preferred embodiment, the method further comprises the step of: executing the complex block in accordance with the read order when the plurality of blocks have been stored in a memory of the user terminal. When the complex block is not stored in the memory of the use end, the complex number is close to the use end The server downloads the plurality of blocks to the memory of the user end in a multi-pipeline manner for execution by the program. The plurality of blocks in the memory are executed in accordance with the read order.

請參閱第八圖,其為本發明第四較佳實施例的下載程式的方法的示意圖。該程式包含一執行檔a.exe及一資源檔b.jpg,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:步驟S601,自該服務端傳送該執行檔至該使用端。步驟S602,在該服務端尚未傳送該第二檔案至該使用端時,在該使用端執行該第一檔案。 Please refer to the eighth figure, which is a schematic diagram of a method for downloading a program according to a fourth preferred embodiment of the present invention. The program includes an executable file a.exe and a resource file b.jpg for downloading the two files from a server to a user. The method includes the following steps: Step S601, transmitting the executable file from the server To the end of the use. Step S602: When the server has not transmitted the second file to the user end, the first file is executed at the user end.

在第四較佳實施例中可應用於遊戲應用程式或是多媒體應用程式,這些應用程式須使用到大量的影音檔,也就是資源檔,在資源檔尚未下載到使用端之前,已經下載的執行檔可在使用端先執行,例如遊戲應用程式共有數十個關卡,而第一關卡只需要相關於第一關卡的程式檔案即可運作,當所需的資源檔尚未下載時則等待,直到取得資源檔後繼續後續的程序。資源檔容量大多很大,因此若能先對資源檔分割成複數個檔案區塊,再根據程式所需要的來獲取必要的檔案區塊,對於下載是相當有效率的。當然應用程式可包含複數資源檔,複數資源檔中的每個資源檔亦可切割成複數個檔案區塊,然後這些複數個檔案區塊可依照其使用的頻率來排序被下載的順序。用於程式安裝的執行檔的容量也相當大,因此也是可以與資源檔類似的作法來提升下載效率。 In the fourth preferred embodiment, the application can be applied to a game application or a multimedia application. The application must use a large number of audio and video files, that is, resource files, and the downloaded program is executed before the resource file has been downloaded to the user terminal. The file can be executed first on the use side. For example, the game application has dozens of levels, and the first level only needs to be related to the program file of the first level to operate. When the required resource file has not been downloaded, it waits until it is obtained. Continue the subsequent procedures after the resource file. The resource file capacity is mostly large, so if you can first split the resource file into multiple file blocks, and then obtain the necessary file blocks according to the program, it is quite efficient for downloading. Of course, the application may include multiple resource files, and each resource file in the multiple resource files may also be cut into a plurality of file blocks, and then the plurality of file blocks may be sorted according to the frequency of use. The executable file for program installation is also quite large, so it can be similar to the resource file to improve download efficiency.

在第四較佳實施例中下載程式的方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔。當該使用端的該記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中。執行該執行檔。 The method for downloading a program in the fourth preferred embodiment further includes the step of: when the execution file has been stored in a memory of the user terminal, executing the execution file at the use end. When the execution file is not stored in the memory of the user terminal, the server closest to the user terminal is downloaded to the memory of the user terminal. Execute the executable file.

在一般狀況下,資源檔本身不會執行,其主要是由執行檔有需求時才會去讀取資源檔,故執行檔會比資源檔先下載執行。請參閱第九 圖,其為本發明第五較佳實施例下載程式的方法的示意圖。該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,例如在第三圖中的執行檔a.exe以及資源檔b.jpg,該方法包含下列步驟:步驟S701,自該服務端傳送該執行檔至該使用端。步驟S702,在該使用端執行該執行檔,而當該執行檔之執行需來自該資源檔之一部分資料之支援,始能繼續執行時,自該服務端取得該部分資料。例如第三圖中執行檔a.exe在使用端執行,而當該執行檔a.exe之執行需要來自該資源檔b.jpg的區塊1之需求始能繼續執行時,自該服務端取的該資源檔b.jpg的區塊1。接著方法流程進入步驟S703,當已自該服務端取得該部分資料時,繼續執行該執行檔。 Under normal circumstances, the resource file itself will not be executed. The resource file will be read only when the execution file has a demand, so the execution file will be downloaded and executed before the resource file. See ninth Figure is a schematic diagram of a method of downloading a program in accordance with a fifth preferred embodiment of the present invention. The program includes an executable file and a resource file for downloading the two files from a server to a user, such as the executable file a.exe and the resource file b.jpg in the third figure, the method includes the following Step: Step S701, the execution file is transmitted from the server to the use end. In step S702, the execution file is executed at the use end, and when the execution of the execution file needs to be supported by a part of the resource file, the part of the data is obtained from the server when the execution can continue. For example, in the third figure, the execution file a.exe is executed at the use end, and when the execution of the execution file a.exe requires the demand from the block 1 of the resource file b.jpg to continue execution, the service is taken from the server. Block 1 of the resource file b.jpg. Then the method flow proceeds to step S703, and when the partial data has been obtained from the server, the execution of the executable file is continued.

在本發明第五較佳實施例中,下載程式的方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔。當該使用端的一記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中。執行該執行檔。 In the fifth preferred embodiment of the present invention, the method for downloading the program further includes the following steps: when the execution file has been stored in a memory of the user terminal, the execution file is executed at the use end. When the execution file is not stored in a memory of the user terminal, the server closest to the user terminal is downloaded to the memory of the user terminal. Execute the executable file.

用於程式安裝的執行檔通常包含複數子執行檔、複數資源檔、以及複數動態連結程式庫檔,為了要能讓程式即時安裝,使用端可以先從服務端下載某些所需要的子執行檔來執行,而無須等待所有的程式安裝之執行檔案下載完後才開始安裝。請參閱第十圖,其為本發明第六較佳實施例下載程式的方法的示意圖。該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下載至一使用端執行,該方法包含下列步驟:步驟S801,自該服務端傳送該複數執行區塊的一第一執行區塊至該使用端,其中該第一執行區塊之執行需該複數資源區塊的一特定資源區塊之支援。步驟S802,自該服務端傳送該特定 資源區塊至該使用端,以完成該第一執行區塊之先期執行。步驟SS803,當該服務端已完成傳送該特定資源區塊時,繼續傳送該複數執行區塊的一第二執行區塊至該使用端。 The executable file for program installation usually includes a plurality of sub-executable files, a plurality of resource files, and a plurality of dynamic link library files. In order to enable the program to be installed immediately, the user can first download some required sub-executable files from the server. To execute, do not wait for all the executable files of the program installation to download before starting the installation. Please refer to the tenth figure, which is a schematic diagram of a method for downloading a program according to a sixth preferred embodiment of the present invention. The program includes a plurality of execution files and a plurality of resource files, each of the plurality of execution files is divided into a plurality of execution blocks, and each resource file in the plurality of resource files is divided into a plurality of resource blocks to enable the plurality of resource blocks to be executed. The block is downloaded from a server to a user. The method includes the following steps: Step S801, transmitting, from the server, a first execution block of the plurality of execution blocks to the use end, wherein the first execution area The execution of the block requires the support of a specific resource block of the complex resource block. Step S802, transmitting the specific from the server. The resource block is to the use end to complete the early execution of the first execution block. Step SS803, when the server has completed transmitting the specific resource block, continue to transmit a second execution block of the plurality of execution blocks to the use end.

在本發明第六較佳實施例中,下載程式的方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一執行區塊時,則在使用端執行該第一執行區塊,當該使用端的該記憶體中已儲存該第二執行區塊時,則在使用端執行該第二執行區塊。當該使用端的該記憶體中未儲存該第一以及該第二執行區塊時,從距離該使用端最接近的服務端下載該第一執行區塊或該第二執行區塊至該使用端的該記憶體中。執行該第一執行區塊或該第二執行區塊。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 In the sixth preferred embodiment of the present invention, the method for downloading a program further includes the following steps: when the first execution block has been stored in a memory of the user end, the first execution block is executed at the use end, When the second execution block has been stored in the memory of the use end, the second execution block is executed at the use end. When the first and the second execution block are not stored in the memory of the user end, the first execution block or the second execution block is downloaded from the server that is closest to the use end to the use end. In this memory. Executing the first execution block or the second execution block. The memory contains a virtual hard disk for storing the program. The user terminal is connected to a mobile hard disk for storing the program, so that the user directly executes the program. The use terminal is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user directly executes the program without using its internal operating system. The plural file is compressed at the server and decompressed at the use end to increase the amount of data transferred.

實施例 Example

1.一種下載一程式的方法,該程式包含至少一檔案,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該至少一檔案作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊。傳送該第一區塊到該使用端。在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。 A method for downloading a program, the program comprising at least one file, and downloading from at least one server to a user, the method comprising the steps of: cutting the at least one file into blocks, and The plurality of blocks are arranged in a reading order according to one of the programs, the plurality of blocks including a first block and a second block. Transmitting the first block to the use end. When the second block is not transferred to the user end, the first block is executed at the use end.

2.如實施例1所述的方法,更包含下列步驟:當該使用端的一記憶體中已儲存該複數區塊時,依照該讀取順序執行該複數區塊。當該使用端的該記憶體中未儲存該複數區塊時,從距離該使用端接近的複數個 服務端,以多管線的方式將該複數區塊下載至該使用端的該記憶體中以供該程式執行。依照該讀取順序執行在該記憶體中的該複數區塊。 2. The method of embodiment 1, further comprising the step of: executing the plurality of blocks in a read order in a memory of the use end. When the plurality of blocks are not stored in the memory at the use end, a plurality of blocks close to the use end The server downloads the plurality of blocks to the memory of the user end in a multi-pipeline manner for execution by the program. The plurality of blocks in the memory are executed in accordance with the read order.

3.如實施例1~2所述的方法,其中該讀取順序係依據該複數區塊的被使用的次數而定,當被使用次數相同時利用該複數區塊被讀取的先後順序而定,被使用的次數較高的檔案之讀取順序優先於被使用的次數較低的檔案之讀取順序。 3. The method according to any one of embodiments 1 to 2, wherein the reading order is determined according to the number of times the plurality of blocks are used, and when the number of times of use is the same, the order in which the plurality of blocks are read is used. The reading order of the files that are used a higher number of times takes precedence over the reading order of the files that are used less frequently.

4.如實施例1~3所述的方法,其中該至少一檔案包括一執行檔、一動態連結程式庫檔(DLL)、一資源檔、或其任意組合。該執行檔包括該第一區塊,該資源檔包括該第二區塊或該動態連結程式庫檔包括該第二區塊。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端依照該讀取順序直接執行在該行動硬碟中的該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而依照該讀取順序直接執行在該行動硬碟中的該程式。該至少一檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 4. The method of embodiment 1-3, wherein the at least one file comprises an executable file, a dynamic link library file (DLL), a resource file, or any combination thereof. The execution file includes the first block, and the resource file includes the second block or the dynamic link library file includes the second block. The memory contains a virtual hard disk for storing the program. The terminal is externally connected to a mobile hard disk for storing the program, so that the user directly executes the program in the mobile hard disk according to the reading order. The user terminal is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user terminal does not need to use its internal operating system, and directly executes the mobile hard disk according to the reading order. Program. The at least one file is compressed at the server and decompressed at the use end to increase the amount of data transferred.

5.一種下載一程式的方法,該程式包含複數檔案,並使該複數檔案逐一從一服務端下載至一使用端執行,其中該複數檔案包括至少一第一檔案及一第二檔案,該方法包含下列步驟:自該服務端傳送該第一檔案至該使用端。在該服務端尚未傳送該第二檔案至該使用端時,在該使用端執行該第一檔案。 A method for downloading a program, the program comprising a plurality of files, and downloading the plurality of files one by one from a server to a user, wherein the plurality of files includes at least a first file and a second file, the method The method includes the following steps: transferring the first file from the server to the user end. When the second file is not transferred to the user end, the first file is executed at the user end.

6.如實施例5所述的方法,其中該第一檔案包括一執行檔,該第二檔案包括一資源檔。該方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一檔案時,則在使用端執行該第一檔案。當該使用端的該記憶體中未儲存該第一檔案時,從距離該使用端最接近的服務端下載至該 使用端的該記憶體中。該複數檔案包括一執行檔、一動態連結程式庫檔(DLL)、以及一資源檔。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 6. The method of embodiment 5 wherein the first file comprises an executable file and the second file comprises a resource file. The method further includes the following steps: when the first file is stored in a memory of the user end, the first file is executed at the use end. When the first file is not stored in the memory of the user, the server is downloaded from the server closest to the user. Use the end of the memory. The plurality of files includes an executable file, a dynamic link library file (DLL), and a resource file. The memory contains a virtual hard disk for storing the program. The user terminal is connected to a mobile hard disk for storing the program, so that the user directly executes the program. The use terminal is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user directly executes the program without using its internal operating system. The plural file is compressed at the server and decompressed at the use end to increase the amount of data transferred.

7.一種下載一程式的方法,該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:自該服務端傳送該執行檔至該使用端。在該使用端執行該執行檔,而當該執行檔之執行需來自該資源檔之一部分資料之支援,始能繼續執行時,自該服務端取得該部分資料。當已自該服務端取得該部分資料時,繼續執行該執行檔。 7. A method of downloading a program, the program comprising an executable file and a resource file for downloading the two files from a server to a user, the method comprising the steps of: transmitting the executable file from the server To the end of the use. The execution file is executed at the use end, and when the execution of the execution file requires support from a part of the resource file, the part of the data is obtained from the server when the execution can continue. When the part of the data has been obtained from the server, the execution of the executable file is continued.

8.如實施例7所述的方法,其中:該方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔。當該使用端的一記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中。執行該執行檔。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 8. The method of embodiment 7, wherein the method further comprises the step of: executing the execution file at the use end when the execution file has been stored in a memory of the usage end. When the execution file is not stored in a memory of the user terminal, the server closest to the user terminal is downloaded to the memory of the user terminal. Execute the executable file. The memory contains a virtual hard disk for storing the program. The user terminal is connected to a mobile hard disk for storing the program, so that the user directly executes the program. The use terminal is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user directly executes the program without using its internal operating system. The plural file is compressed at the server and decompressed at the use end to increase the amount of data transferred.

9.一種下載一程式的方法,該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下 載至一使用端執行,該方法包含下列步驟:自該服務端傳送該複數執行區塊的一第一執行區塊至該使用端,其中該第一執行區塊之執行需該複數資源區塊的一特定資源區塊之支援。自該服務端傳送該特定資源區塊至該使用端,以完成該第一執行區塊之先期執行。當該服務端已完成傳送該特定資源區塊時,繼續傳送該複數執行區塊的一第二執行區塊至該使用端。 9. A method of downloading a program, the program comprising a plurality of executable files and a plurality of resource files, each of the plurality of execution files being divided into a plurality of execution blocks, each resource file in the plurality of resource files being divided into plural numbers Resource block to make the complex execution block from a server Executing to a user, the method includes the following steps: transmitting, from the server, a first execution block of the plurality of execution blocks to the use end, wherein the execution of the first execution block requires the plurality of resource blocks Support for a specific resource block. The specific resource block is transmitted from the server to the use end to complete the pre-execution of the first execution block. When the server has completed transmitting the specific resource block, it continues to transmit a second execution block of the complex execution block to the use end.

10.如實施例9所述的方法,其中,該方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一執行區塊時,則在使用端執行該第一執行區塊,當該使用端的該記憶體中已儲存該第二執行區塊時,則在使用端執行該第二執行區塊。當該使用端的該記憶體中未儲存該第一以及該第二執行區塊時,從距離該使用端最接近的服務端下載該第一執行區塊或該第二執行區塊至該使用端的該記憶體中。執行該第一執行區塊或該第二執行區塊。該記憶體包含一虛擬硬碟,用以儲存該程式。該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式。該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式。該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 10. The method of embodiment 9, wherein the method further comprises the step of: executing the first execution block at the use end when the first execution block has been stored in a memory of the use end, When the second execution block has been stored in the memory of the use end, the second execution block is executed at the use end. When the first and the second execution block are not stored in the memory of the user end, the first execution block or the second execution block is downloaded from the server that is closest to the use end to the use end. In this memory. Executing the first execution block or the second execution block. The memory contains a virtual hard disk for storing the program. The user terminal is connected to a mobile hard disk for storing the program, so that the user directly executes the program. The use terminal is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user directly executes the program without using its internal operating system. The plural file is compressed at the server and decompressed at the use end to increase the amount of data transferred.

綜上所述,本發明的說明與實施例已揭露於上,然其非用來限制本發明,凡習知此技藝者,在不脫離本發明的精神與範圍之下,當可做各種更動與修飾,其仍應屬在本發明專利的涵蓋範圍之內。 In the above, the description and the embodiments of the present invention have been disclosed, and are not intended to limit the present invention, and those skilled in the art can make various changes without departing from the spirit and scope of the present invention. And modifications, which still fall within the scope of the present invention.

Claims (10)

一種下載一程式的方法,該程式包含一執行檔,並從至少一服務端下載至一使用端執行,該方法包含下列步驟:將該執行檔作區塊切割成複數區塊,並依照該程式之一讀取順序排列該複數區塊,該複數區塊包含一第一區塊以及一第二區塊;傳送該第一區塊到該使用端;以及在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。 A method for downloading a program, the program comprising an executable file, and downloading from at least one server to a user, the method comprising the steps of: cutting the executable file into blocks, and following the program Aligning the plurality of blocks in a read order, the plurality of blocks including a first block and a second block; transmitting the first block to the use end; and not transmitting the second area at the server end When the block is to the use end, the first block is executed at the use end. 如申請專利範圍第1項所述的方法,更包含下列步驟:當該使用端的一記憶體中已儲存該複數區塊時,依照該讀取順序執行該複數區塊;當該使用端的該記憶體中未儲存該複數區塊時,從距離該使用端接近的該至少一服務端,以多管線的方式將該複數區塊下載至該使用端的該記憶體中以供該程式執行;以及依照該讀取順序執行在該記憶體中的該複數區塊。 The method of claim 1, further comprising the steps of: when the plurality of blocks are stored in a memory of the user terminal, performing the plurality of blocks according to the reading order; when the memory is used at the user end When the plurality of blocks are not stored in the body, downloading the plurality of blocks from the at least one server that is close to the use end to the memory of the use end in a multi-pipe way for execution by the program; The reading sequence executes the plurality of blocks in the memory. 如申請專利範圍第1項所述的方法,其中該讀取順序係依據該複數區塊的被使用的次數而定,當被使用次數相同時利用該複數區塊被讀取的先後順序而定,被使用的次數較高的執行檔之讀取順序優先於被使用的次數較低的執行檔之讀取順序。 The method of claim 1, wherein the reading order is determined according to the number of times the plurality of blocks are used, and when the number of times of use is the same, the order in which the plurality of blocks are read is determined. The reading order of the executed file having a higher number of times of use is prioritized over the reading order of the executed file having a lower number of times of use. 如申請專利範圍第1項所述的方法,其中:該程式更包括一動態連結程式庫檔(DLL)、一資源檔、或其任意組合; 該使用端的一記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端依照該讀取順序直接執行在該行動硬碟中的該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而依照該讀取順序直接執行在該行動硬碟中的該程式;以及該檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 The method of claim 1, wherein the program further comprises a dynamic link library file (DLL), a resource file, or any combination thereof; A memory of the user terminal includes a virtual hard disk for storing the program; the user terminal is externally connected to a mobile hard disk for storing the program, so that the user terminal directly executes the mobile hard disk according to the reading order. The program is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user terminal does not need to use its internal operating system, but performs the action directly according to the reading order. The program on the hard disk; and the file is compressed on the server side and decompressed at the use end to increase the amount of data transferred. 一種下載一程式的方法,該程式包含複數檔案,並使該複數檔案逐一從一服務端下載至一使用端執行,其中該複數檔案包括一執行檔及一資源檔,該方法包含下列步驟:將該執行檔作區塊切割成複數區塊,該複數區塊包含一第一區塊以及一第二區塊;自該服務端傳送該第一區塊至該使用端;以及在該服務端尚未傳送該第二區塊至該使用端時,在該使用端執行該第一區塊。 A method for downloading a program, the program comprising a plurality of files, and downloading the plurality of files one by one from a server to a user, wherein the plurality of files includes an executable file and a resource file, the method comprising the following steps: The execution block is cut into a plurality of blocks, the plurality of blocks including a first block and a second block; the first block is transmitted from the server to the use end; and the server is not yet When the second block is transmitted to the use end, the first block is executed at the use end. 如申請專利範圍第5項所述的方法,其中:該方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔案時,則在使用端執行該執行檔案;當該使用端的該記憶體中未儲存該執行檔案時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中;以及 該複數檔案更包括一動態連結程式庫檔(DLL);該記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式;以及該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 The method of claim 5, wherein the method further comprises the following steps: when the execution file has been stored in a memory of the user end, the execution file is executed at the use end; When the execution file is not stored in the memory, it is downloaded from the server closest to the usage end to the memory of the usage end; The plurality of files further includes a dynamic link library file (DLL); the memory includes a virtual hard disk for storing the program; the user terminal is externally connected to a mobile hard disk for storing the program, and the user is used to Directly executing the program; the terminal is externally connected to a mobile hard disk for storing the program and an embedded operating system, so that the user directly executes the program without using its internal operating system; and the plurality of files are The server is compressed and decompressed at the use end to increase the amount of data transferred. 一種下載一程式的方法,該程式包含一執行檔及一資源檔,以使該兩檔案從一服務端下載至一使用端執行,該方法包含下列步驟:將該執行檔與該資源檔分別作區塊切割而成第一複數區塊與一第二複數區塊,其中該第一複數區塊包含一第一執行區塊及一第二執行區塊,該第二複數區塊包含一第一資源區塊;自該服務端傳送該第一執行區塊至該使用端;在該服務端尚未傳送該第二執行區塊至該使用端時,在該使用端執行該第一執行區塊;當該第一執行區塊之執行需來自該資源檔之該第一資源區塊之支援,始能繼續執行時,自該服務端取得該第一資源區塊;以及當已自該服務端取得該第一資源區塊時,繼續執行該第二執行區塊。 A method for downloading a program, the program comprising an executable file and a resource file for downloading the two files from a server to a user, the method comprising the steps of: separately performing the executable file and the resource file The block is cut into a first plurality of blocks and a second plurality of blocks, wherein the first plurality of blocks includes a first execution block and a second execution block, and the second plurality block includes a first block a resource block, the first execution block is transmitted from the server to the use end; when the second execution block has not been transferred to the use end, the first execution block is executed at the use end; When the execution of the first execution block needs to be supported by the first resource block of the resource file, the first resource block is obtained from the server when the execution is continued; and when the service is obtained from the server When the first resource block is executed, the second execution block is continued to be executed. 如申請專利範圍第7項所述的方法,其中:該方法更包含下列步驟:當該使用端的一記憶體中已儲存該執行檔時,則在使用端執行該執行檔; 當該使用端的一記憶體中未儲存該執行檔時,從距離該使用端最接近的服務端下載至該使用端的該記憶體中;以及執行該執行檔;該記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式;以及該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 The method of claim 7, wherein the method further comprises the step of: executing the execution file at the use end when the execution file has been stored in a memory of the usage end; When the execution file is not stored in a memory of the usage end, the server is downloaded from the server closest to the usage end to the memory of the usage end; and the execution file is executed; the memory includes a virtual hard disk. For storing the program, the terminal is externally connected to a mobile hard disk for storing the program, so that the user directly executes the program; the user terminal is externally connected with a mobile hard disk for storing the program and an embedded job. The system causes the user to directly execute the program without using its internal operating system; and the plural file is compressed at the server and decompressed at the use end to increase the amount of data transferred. 一種下載一程式的方法,該程式包含複數執行檔及複數資源檔,複數執行檔中的每一執行檔被分割成複數執行區塊,複數資源檔中的每一資源檔被分割成複數資源區塊,以使該複數執行區塊從一服務端下載至一使用端執行,其中該複數執行區塊包含一第一執行區塊及一第二執行區塊,該複數資源區塊包含一特定資源區塊,該方法包含下列步驟:自該服務端傳送該第一執行區塊至該使用端;在該服務端尚未傳送該第二執行區塊至該使用端時,在該使用端執行該第一執行區塊,其中該第一執行區塊之執行需該特定資源區塊之支援;自該服務端傳送該特定資源區塊至該使用端,以完成該第一執行區塊之先期執行;以及當該服務端已完成傳送該特定資源區塊時,繼續傳送該第二執行區塊至該使用端。 A method for downloading a program, the program comprising a plurality of execution files and a plurality of resource files, each of the plurality of execution files being divided into a plurality of execution blocks, each of the plurality of resource files being divided into a plurality of resource regions a block, wherein the plurality of execution blocks are downloaded from a server to a user end, wherein the plurality of execution blocks include a first execution block and a second execution block, the plurality of resource blocks including a specific resource a block, the method comprising the steps of: transmitting the first execution block from the server to the use end; and executing the first end of the service block to the use end when the server has not transmitted the second execution block to the use end An execution block, wherein execution of the first execution block is supported by the specific resource block; the specific resource block is transmitted from the server to the use end to complete pre-execution of the first execution block; And when the server has completed transmitting the specific resource block, continuing to transmit the second execution block to the use end. 如申請專利範圍第9項所述的方法,其中: 該方法更包含下列步驟:當該使用端的一記憶體中已儲存該第一執行區塊時,則在使用端執行該第一執行區塊,當該使用端的該記憶體中已儲存該第二執行區塊時,則在使用端執行該第二執行區塊;當該使用端的該記憶體中未儲存該第一以及該第二執行區塊時,從距離該使用端最接近的服務端下載該第一執行區塊或該第二執行區塊至該使用端的該記憶體中;以及執行該第一執行區塊或該第二執行區塊;該記憶體包含一虛擬硬碟,用以儲存該程式;該使用端外接一行動硬碟,用以儲存該程式,俾使該使用端直接執行該程式;該使用端外接一行動硬碟,用以儲存該程式和一嵌入式作業系統,俾使該使用端無需使用其內部的作業系統,而直接執行該程式;以及該複數檔案在該服務端壓縮,並在該使用端解壓縮以增加傳送資料量。 The method of claim 9, wherein: The method further includes the following steps: when the first execution block is stored in a memory of the use end, the first execution block is executed at the use end, and the second is stored in the memory of the use end When the block is executed, the second execution block is executed at the use end; when the first and the second execution block are not stored in the memory of the use end, the server closest to the use end is downloaded. The first execution block or the second execution block is in the memory of the use end; and executing the first execution block or the second execution block; the memory includes a virtual hard disk for storing The program is externally connected to a mobile hard disk for storing the program, so that the user directly executes the program; the user terminal is externally connected with a mobile hard disk for storing the program and an embedded operating system, The program is directly executed by the user without using its internal operating system; and the complex file is compressed at the server and decompressed at the use end to increase the amount of data transferred.
TW102119457A 2013-05-31 2013-05-31 Method of downloading program TWI630551B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102119457A TWI630551B (en) 2013-05-31 2013-05-31 Method of downloading program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102119457A TWI630551B (en) 2013-05-31 2013-05-31 Method of downloading program

Publications (2)

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

Family

ID=52707095

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102119457A TWI630551B (en) 2013-05-31 2013-05-31 Method of downloading program

Country Status (1)

Country Link
TW (1) TWI630551B (en)

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
TW201308207A (en) * 2011-08-05 2013-02-16 Neowiz Games Corp Method for installing file based on online and device controlling thereof
TW201308939A (en) * 2011-08-05 2013-02-16 Neowiz Games Corp Device and method for distributed control of file downloading network
TW201319845A (en) * 2011-08-18 2013-05-16 Apple Inc Management of downloads from a network-based digital data repository based on network performance

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
TW201308207A (en) * 2011-08-05 2013-02-16 Neowiz Games Corp Method for installing file based on online and device controlling thereof
TW201308939A (en) * 2011-08-05 2013-02-16 Neowiz Games Corp Device and method for distributed control of file downloading network
TW201319845A (en) * 2011-08-18 2013-05-16 Apple Inc Management of downloads from a network-based digital data repository based on network performance

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5816198B2 (en) System and method for sharing the results of computing operations between related computing systems
US9135032B2 (en) System, method and computer program product for data processing and system deployment in a virtual environment
TWI557572B (en) Method, system, and computer readable storage device for bidirectional dynamic offloading of tasks between a host and a mobile device (1)
US10599457B2 (en) Importing and exporting virtual disk images
US20150378844A1 (en) Systems And Methods For Out-Of-Band Backup And Restore of Hardware Profile Information
TWI496023B (en) Software modification for partial secure memory processing
US20160337437A1 (en) Peer-to-peer network download optimization
JP2002244862A (en) Effective data transfer during manufacturing and installing computing system
CN108469986A (en) A kind of data migration method and device
JP2006039888A (en) Method and system for safely organizing hosting environment
CN113544675A (en) Secure execution of client owner environment control symbols
CN103064703A (en) Staged rapid application stream transmission using on-demand
US10303388B1 (en) Storage filtering using container images
US20140082275A1 (en) Server, host and method for reading base image through storage area network
WO2016195624A1 (en) Transferring an image file over a network
US8364598B2 (en) Use of software update policies
US8583837B2 (en) Systems and methods for input/output isolation
WO2023066246A1 (en) Method and system for installing application on cloudphone, and client cloudphone
US10942821B1 (en) Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system
US20120260246A1 (en) Software application installation
TWI630551B (en) Method of downloading program
EP3012735B1 (en) Method for downloading application
CN110968852B (en) Virtual machine password management method, system, equipment and computer storage medium
US10666721B2 (en) Resource management device and method
US20210049025A1 (en) Electronic apparatus and object sharing method thereof