TW202409824A - Software deployment method and system - Google Patents
Software deployment method and system Download PDFInfo
- Publication number
- TW202409824A TW202409824A TW111132102A TW111132102A TW202409824A TW 202409824 A TW202409824 A TW 202409824A TW 111132102 A TW111132102 A TW 111132102A TW 111132102 A TW111132102 A TW 111132102A TW 202409824 A TW202409824 A TW 202409824A
- Authority
- TW
- Taiwan
- Prior art keywords
- user device
- software
- group
- server
- target
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 20
- 238000004891 communication Methods 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Abstract
一種軟體部署系統,包含多個使用者裝置及一伺服器。該伺服器的一處理模組根據一儲存模組儲存的多筆位址資訊將該等使用者裝置進行分群。該使用者裝置的一目標使用者裝置產生並傳送一軟體下載請求至該伺服器,該處理模組判定一包括該目標使用者裝置的目標群組之一相關於該軟體的下載總次數是否大於一預設值,當判定結果為肯定時,該處理模組經由一通訊模組傳送一第i下載資料至該目標使用者裝置,以致該目標使用者裝置根據該第i下載資料下載該軟體;當判定結果為否定時,該處理模組經由該通訊模組傳送該軟體至該目標使用者裝置。A software deployment system includes a plurality of user devices and a server. A processing module of the server groups the user devices according to a plurality of address information stored in a storage module. A target user device of the user device generates and transmits a software download request to the server. The processing module determines whether the total number of downloads of the software in a target group including the target user device is greater than a preset value. When the determination result is positive, the processing module transmits an i-th download data to the target user device via a communication module, so that the target user device downloads the software according to the i-th download data; when the determination result is negative, the processing module transmits the software to the target user device via the communication module.
Description
本發明是有關於一種部署方法,特別是指一種軟體部署方法及其系統。The present invention relates to a deployment method, and more particularly to a software deployment method and system thereof.
當大量的用戶端需要從伺服端下載需要更新或升級的軟體時,將會非常複雜,因此需要軟體部署(Software deployment) 在用戶端上批次下載安裝軟體。軟體部署是指將軟體項目本身,包括配置檔案、用戶手冊、幫助文件等進行收集、打包、安裝、配置、發布的過程。When a large number of clients need to download software that needs to be updated or upgraded from the server, it will be very complicated, so software deployment is needed to batch download and install software on the client. Software deployment refers to the process of collecting, packaging, installing, configuring, and publishing the software project itself, including configuration files, user manuals, help files, etc.
然而,每一用戶端都必須從伺服端下載軟體,使得伺服端的頻寬被占用,造成網路塞車,用戶端無法快速從伺服端下載軟體。However, each client must download the software from the server, which consumes the bandwidth of the server and causes network traffic jam. The client cannot quickly download the software from the server.
因此,本發明的目的,即在提供一種能避免網路塞車以快速下載軟體的軟體部署方法。Therefore, the purpose of the present invention is to provide a software deployment method that can avoid network congestion and quickly download software.
於是,本發明軟體部署方法,適用於部署一軟體,由一部署系統執行,該部署系統包括一伺服器及多個經由一通訊網路與該伺服器連接的使用者裝置,該伺服器儲存多筆分別相關於該等使用者裝置的位址資訊,及該軟體,該方法包含一步驟(A)、一步驟(B)、一步驟(C),及一步驟(D)。Therefore, the software deployment method of the present invention is applicable to deploying a software and is executed by a deployment system. The deployment system includes a server and multiple user devices connected to the server via a communication network. The server stores multiple address information related to the user devices and the software. The method includes step (A), step (B), step (C), and step (D).
在該步驟(A)中,該伺服器根據該等位址資訊將該等使用者裝置進行分群,以獲得多個群組。In the step (A), the server groups the user devices according to the address information to obtain a plurality of groups.
在該步驟(B)中,當該伺服器接收到來自該等使用者裝置之一目標使用者裝置的軟體下載請求時,該伺服器判定一包括該目標使用者裝置的目標群組之一相關於該軟體的下載總次數是否大於一預設值。In the step (B), when the server receives a software download request from a target user device among the user devices, the server determines whether a total number of downloads of the software in a target group including the target user device is greater than a preset value.
在該步驟(C)中,當該伺服器判定出該下載總次數大於該預設值時,該伺服器傳送一第i下載資料至該目標使用者裝置,該第i下載資料包括該目標群組中至少一已從該伺服器進行下載該軟體的第i梯次使用者裝置所相關的至少一筆第i梯次下載位址資訊,以致該目標使用者裝置根據該第i下載資料下載該軟體。In the step (C), when the server determines that the total number of downloads is greater than the preset value, the server transmits an i-th download data to the target user device, wherein the i-th download data includes at least one i-th download address information related to at least one i-th user device in the target group that has downloaded the software from the server, so that the target user device downloads the software according to the i-th download data.
在該步驟(D)中,當該伺服器判定出該下載總次數不大於該預設值時,該伺服器傳送該軟體至該目標使用者裝置。In the step (D), when the server determines that the total number of downloads is not greater than the preset value, the server transmits the software to the target user device.
本發明的另一目的,即在提供一種能避免網路塞車以快速下載軟體的軟體部署系統。Another object of the present invention is to provide a software deployment system that can avoid network congestion and quickly download software.
於是,本發明軟體部署系統,適用於部署一軟體,包含多個使用者裝置及一伺服器。Therefore, the software deployment system of the present invention is suitable for deploying a software, including multiple user devices and a server.
該等使用者裝置連接一通訊網路。The user devices are connected to a communication network.
該伺服器包括一儲存模組、一通訊模組,及一處理模組。The server includes a storage module, a communication module, and a processing module.
該儲存模組儲存多筆分別相關於該等使用者裝置的位址資訊,及該軟體。The storage module stores a plurality of address information respectively related to the user devices and the software.
該通訊模組經由一通訊網路與該等使用者裝置連接。The communication module is connected to the user devices via a communication network.
該處理模組電連接該儲存模組及該通訊模組,該處理模組根據該等位址資訊將該等使用者裝置進行分群,以獲得多個群組。The processing module is electrically connected to the storage module and the communication module. The processing module groups the user devices according to the address information to obtain a plurality of groups.
其中,該等使用者裝置之一目標使用者裝置產生並傳送一軟體下載請求至該伺服器,該伺服器的該處理模組判定一包括該目標使用者裝置的目標群組之一相關於該軟體的下載總次數是否大於一預設值,當該處理模組判定出該下載總次數大於該預設值時,該處理模組經由該通訊模組傳送一第i下載資料至該目標使用者裝置,該第i下載資料包括該目標群組中至少一已從該伺服器進行下載該軟體的第i梯次使用者裝置所相關的至少一筆第i梯次下載位址資訊,該目標使用者裝置根據該第i下載資料下載該軟體,當該處理模組判定出該下載總次數不大於該預設值時,該處理模組經由該通訊模組傳送該軟體至該目標使用者裝置。Wherein, one of the target user devices generates and transmits a software download request to the server, and the processing module of the server determines that one of the target groups including the target user device is related to the Whether the total number of downloads of the software is greater than a preset value, when the processing module determines that the total number of downloads is greater than the preset value, the processing module sends an i-th download data to the target user through the communication module device, the i-th download data includes at least one i-th echelon download address information related to at least one i-th echelon user device in the target group that has downloaded the software from the server, and the target user device is based on The i-th download data downloads the software, and when the processing module determines that the total number of downloads is not greater than the preset value, the processing module sends the software to the target user device through the communication module.
本發明的功效在於:藉由該伺服器根據該等位址資訊將該等使用者裝置進行分群,並在該下載總次數大於該預設值時,傳送該第i下載資料至該目標使用者裝置,使得該目標使用者裝置根據該第i下載資料下載該軟體,以降低該伺服器傳輸量,避免網路塞車,加快該等使用者裝置下載該軟體的速度。The effect of the present invention is to use the server to group the user devices according to the address information, and when the total number of downloads is greater than the default value, send the i-th download data to the target user The device enables the target user device to download the software based on the i-th download data, so as to reduce the server transmission volume, avoid network traffic jams, and speed up the downloading speed of the software by the user devices.
在本發明被詳細描述的前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。Before the present invention is described in detail, it should be noted that similar components are represented by the same reference numerals in the following description.
參閱圖1,本發明軟體部署系統1的一實施例,適用於部署一軟體,包含多個連接一通訊網路100的使用者裝置11,及一伺服器12。Referring to FIG. 1 , an embodiment of the software deployment system 1 of the present invention is suitable for deploying a software and includes a plurality of
值得注意的是,在本實施例中,該等使用者裝置11例如為桌上型電腦、筆記型電腦、智慧型裝置,但不以此為限。It should be noted that in this embodiment, the
該伺服器12包括一儲存模組121、一通訊模組122,及一電連接該儲存模組121及該通訊模組122的處理模組123。The
該儲存模組121儲存多筆分別相關於該等使用者裝置11的位址資訊,及該軟體。The
該通訊模組122經由該通訊網路100與該等使用者裝置11連接。The
值得注意的是,在本實施例中,每一位址資訊包括一網際網路協定位址(Internet Protocol Address, IP Address)、一媒體存取控制位址(Media Access Control Address, MAC Address)、一子網路遮罩(subnet mask),及一閘道(getway)值,該通訊網路100例如為網際網路(internet),但不以此為限。It is worth noting that in the present embodiment, each bit of address information includes an Internet Protocol Address (IP Address), a Media Access Control Address (MAC Address), a subnet mask, and a gateway value. The
參閱圖1及圖2,本發明軟體部署方法的一實施例,以下詳述本發明軟體部署系統1實施本發明軟體部署方法的該實施例的各個步驟。Referring to FIG. 1 and FIG. 2 , an embodiment of the software deployment method of the present invention is shown. The following describes in detail the steps of the embodiment of the software deployment method of the present invention implemented by the software deployment system 1 of the present invention.
在步驟21中,該處理模組123根據該等位址資訊將該等使用者裝置11進行分群,以獲得多個群組。In step 21, the
在步驟22中,對於每一群組,該處理模組123經由該通訊模組122傳送多筆分別相關於該群組的多個群組使用者裝置11的群組位址資訊至該等群組使用者裝置11。In step 22 , for each group, the
在步驟23中,對於每一群組,該群組的該等群組使用者裝置11根據該等群組位址資訊相互連線,以產生且傳送多筆分別相關於該等群組使用者裝置11連線到其他群組使用者裝置11情況的連線資訊至該伺服器12。In step 23, for each group, the
值得注意的是,在本實施例中,每一連線資訊包括至少一相關於所連線到的群組使用者裝置11之位址,及至少一相關於連線到其他群組使用者裝置11的連線距離,該至少一連線距離例如為中繼段個數(hop count),但不以此為限。It is worth noting that in this embodiment, each connection information includes at least one address related to the
在步驟24中,該處理模組123根據該等群組的連線資訊及該等位址資訊將該等使用者裝置11重新分群。In step 24, the
要特別注意的是,在本實施例中,為因應特殊情況,例如有些使用者裝置11使用虛擬私人網路(virtual private network, VPN)而被分類到同一群組,然而該等使用者裝置11無法互相連線,或是連線距離過長(中繼段個數過多),故需要執行步驟22~24該處理模組123再根據連線資訊重新分群,在其他實施方式中可不執行步驟22~24,不以此為限。It should be noted that in this embodiment, in order to cope with special circumstances, for example, some
在步驟25中,該等使用者裝置11之一目標使用者裝置11產生並傳送一軟體下載請求至該伺服器12。In step 25 , one of the
在步驟26中,該處理模組123判定一包括該目標使用者裝置11的目標群組之一相關於該軟體的下載總次數是否大於一預設值。當該處理模組123判定出該下載總次數不大於該預設值時,流程進行步驟27;而當該處理模組123判定出該下載總次數不大於該預設值時,則流程進行步驟28。In step 26, the
在步驟27中,該處理模組123經由該通訊模組122傳送該軟體至該目標使用者裝置11。In step 27 , the
在步驟28中,該處理模組123經由該通訊模組122傳送一第i下載資料至該目標使用者裝置11,該第i下載資料包括該目標群組中至少一已從該伺服器12進行下載該軟體的第i梯次使用者裝置11所相關的至少一筆第i梯次下載位址資訊。In step 28, the
在步驟29中,該目標使用者裝置11根據該第i下載資料的該少一第i梯次下載位址資訊之其中一者,傳送該軟體下載請求至該少一第i梯次使用者裝置11之其中一者。In step 29, the
在步驟30中,該第i梯次使用者裝置11判定該第i梯次使用者裝置11所屬群組是否有至少一第i+1梯次使用者裝置11從該第i梯次使用者裝置11下載該軟體。當該第i梯次使用者裝置11判定出該第i梯次使用者裝置11所屬群組有至少一第i+1梯次使用者裝置11從該第i梯次使用者裝置11下載該軟體時,流程進行步驟31;而當該第i梯次使用者裝置11判定出該第i梯次使用者裝置11所屬群組未有至少一第i+1梯次使用者裝置11從該第i梯次使用者裝置11下載該軟體時,則流程進行步驟33。In step 30, the i-th
在步驟31中,該第i梯次使用者裝置11傳送一第i+1下載資料至該目標使用者裝置11,該第i+1下載資料包括該目標群組中至少一已從該第i梯次使用者裝置11進行下載該軟體的第i+1梯次使用者裝置11所相關的至少一筆第i+1梯次下載位址資訊。In step 31, the i-th
在步驟32中,該目標使用者裝置11獲得該第i+1下載資料,亦即將i設為i+1。之後,重複步驟29~32,直到在步驟30中,該第i梯次使用者裝置11判定出該第i梯次使用者裝置11所屬群組未有至少一第i+1梯次使用者裝置11從該第i梯次使用者裝置11下載該軟體。In step 32, the
在步驟33中,該第i梯次使用者裝置11傳送該軟體至該目標使用者裝置11。In step 33, the i-th echelon
參閱圖3,舉例來說,假設在步驟24中,該處理模組123將一使用者裝置A、一使用者裝置B、一使用者裝置C,及一使用者裝置D分成同一群組,該預設值為1。首先,該使用者裝置A傳送該軟體下載請求至該伺服器12,由於該下載總次數為0,該處理模組123經由該通訊模組122傳送該軟體至該使用者裝置A。接著,該使用者裝置B傳送該軟體下載請求至該伺服器12,此時,該下載總次數為1但尚未大於該預設值,因此,該處理模組123經由該通訊模組122傳送該軟體至該使用者裝置B。然後,該使用者裝置C傳送該軟體下載請求至該伺服器12,由於該下載總次數為2大於該預設值,該處理模組123經由該通訊模組122傳送一第一下載資料至該使用者裝置C,該第一下載資料包括一相關於該使用者裝置A的第一梯次下載位址資訊A,及另一相關於該使用者裝置B的第一梯次下載位址資訊B,該使用者裝置C選擇該第一梯次下載位址資訊B,從該使用者裝置B下載該軟體。最後,當該使用者裝置D要下載該軟體時,先從該伺服器12獲得該第一下載資料,該使用者裝置D依然選擇向該第一梯次下載位址資訊B,此時,該使用者裝置B則會傳送一第二下載資料至該使用者裝置D,該第二下載資料包括一相關於該使用者裝置C的第二梯次下載位址資訊C,該使用者裝置D再根據該第二梯次下載位址資訊C從該使用者裝置C下載該軟體。Referring to Figure 3, for example, assuming that in step 24, the
要再注意的是,在本實施例中,該軟體是被拆分成多個封包進行傳送,因此,在該至少一第i梯次使用者裝置11進行下載該軟體時,該目標使用者裝置11依然可從該至少一第i梯次使用者裝置11下載該軟體,也就是說,若該使用者裝置B正在從該伺服器12下載該軟體時,該使用者裝置C可同時從該使用者裝置B下載該軟體,但不以此為限。It should be noted again that in this embodiment, the software is split into multiple packets for transmission. Therefore, when the at least i-th
綜上所述,本發明軟體部署方法及其系統,藉由該伺服器12根據該等位址資訊將該等使用者裝置11進行分群,並在該下載總次數大於該預設值時,傳送該第i下載資料至該目標使用者裝置11,使得該目標使用者裝置11根據該第i下載資料下載該軟體,以降低該伺服器12傳輸量,避免網路塞車,加快該等使用者裝置11下載該軟體的速度,故確實能達成本發明的目的。To sum up, the software deployment method and system of the present invention use the
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。However, the above are only examples of the present invention and should not be used to limit the scope of the present invention. All simple equivalent changes and modifications made based on the patent scope of the present invention and the contents of the patent specification are still within the scope of the present invention. within the scope covered by the patent of this invention.
1:軟體部署系統 11:使用者裝置 12:伺服器 121:儲存模組 122:通訊模組 123:處理模組 100:通訊網路 21~33:步驟 1:Software deployment system 11: User device 12:Server 121:Storage module 122: Communication module 123: Processing module 100:Communication network 21~33: Steps
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明本發明軟體部署系統的一實施例; 圖2是一流程圖,說明本發明軟體部署方法的一實施例;及 圖3是一示意圖,說明該軟體部署系統部署一軟體。 Other features and functions of the present invention will be clearly presented in the implementation method with reference to the drawings, wherein: FIG. 1 is a block diagram illustrating an implementation example of the software deployment system of the present invention; FIG. 2 is a flow chart illustrating an implementation example of the software deployment method of the present invention; and FIG. 3 is a schematic diagram illustrating the software deployment system deploying a software.
21~33:步驟 21~33: Steps
Claims (6)
Publications (2)
Publication Number | Publication Date |
---|---|
TW202409824A true TW202409824A (en) | 2024-03-01 |
TWI834261B TWI834261B (en) | 2024-03-01 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331501B2 (en) | USB device redirection for remote systems | |
CN109688235B (en) | Virtual network method for processing business, device and system, controller, storage medium | |
JP4425277B2 (en) | Method, system and apparatus for dynamic real-time stream aggregation in a network | |
US7395349B1 (en) | Method and system for scaling network traffic managers | |
KR101322947B1 (en) | Distributed caching of files in a network | |
CN101964799B (en) | Solution method of address conflict in point-to-network tunnel mode | |
US10263950B2 (en) | Directing clients based on communication format | |
JP2018521534A (en) | Network device and method for processing a session using a packet signature | |
EP2343867B1 (en) | System and method of reducing intranet traffic on bottleneck links in a telecommunications network | |
CN110838935B (en) | High-availability SDN controller clustering method, system, storage medium and equipment | |
US9743367B2 (en) | Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric | |
US10715635B2 (en) | Node route selection method and system | |
WO2023000940A1 (en) | Data processing method and apparatus, and network element device, storage medium and program product | |
US20050039048A1 (en) | Efficient new e-mail discovery | |
WO2023151264A1 (en) | Load balancing method and apparatus, node, and storage medium | |
JPH0728728A (en) | Computer system | |
WO2007045144A1 (en) | Methods for peer-to-peer application message identifying and operating realization and their corresponding devices | |
WO2016070566A1 (en) | Cloud terminal upgrade method and system, network management server and proxy server | |
US9152639B2 (en) | Method and apparatus to transfer file data to a cloud environment | |
WO2024078208A1 (en) | Domain name query method and apparatus based on ecs protocol, and storage medium and device | |
EP2348686B1 (en) | Information processing device, method and computer program for decide an address | |
TWI834261B (en) | Software deployment method and system | |
WO2012129830A1 (en) | Method and system for accessing web-page-type control interface of data card | |
TW202409824A (en) | Software deployment method and system | |
JP4465497B2 (en) | Dynamic modification of subscriber connections |