TWI834261B - Software deployment method and system - Google Patents
Software deployment method and system Download PDFInfo
- Publication number
- TWI834261B TWI834261B TW111132102A TW111132102A TWI834261B TW I834261 B TWI834261 B TW I834261B TW 111132102 A TW111132102 A TW 111132102A TW 111132102 A TW111132102 A TW 111132102A TW I834261 B TWI834261 B TW I834261B
- Authority
- TW
- Taiwan
- Prior art keywords
- user device
- software
- echelon
- group
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 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
- 230000000694 effects Effects 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 multiple user devices and a server. A processing module of the server classifies the user devices into groups based on multiple pieces 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, and the processing module determines whether the total number of downloads related to the software in one of the target groups including the target user device is greater than A default value, when the determination result is positive, the processing module sends an i-th download data to the target user device through a communication module, so that the target user device downloads the software based on the i-th download data; When the determination result is negative, the processing module sends the software to the target user device through the communication module.
Description
本發明是有關於一種部署方法,特別是指一種軟體部署方法及其系統。The present invention relates to a deployment method, and in particular, to a software deployment method and its system.
當大量的用戶端需要從伺服端下載需要更新或升級的軟體時,將會非常複雜,因此需要軟體部署(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 required to download and install software in batches on the client. Software deployment refers to the process of collecting, packaging, installing, configuring, and releasing 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, an object of the present invention is to provide a software deployment method that can avoid network traffic jams and quickly download software.
於是,本發明軟體部署方法,適用於部署一軟體,由一部署系統執行,該部署系統包括一伺服器及多個經由一通訊網路與該伺服器連接的使用者裝置,該伺服器儲存多筆分別相關於該等使用者裝置的位址資訊,及該軟體,該方法包含一步驟(A)、一步驟(B)、一步驟(C),及一步驟(D)。Therefore, the software deployment method of the present invention is suitable for deploying a software to be executed by a deployment system. The deployment system includes a server and a plurality of user devices connected to the server through a communication network. The server stores a plurality of Respectively related to the address information of the user devices and the software, the method includes a step (A), a step (B), a step (C), and a step (D).
在該步驟(A)中,該伺服器根據該等位址資訊將該等使用者裝置進行分群,以獲得多個群組。In step (A), the server groups the user devices according to the address information to obtain multiple groups.
在該步驟(B)中,當該伺服器接收到來自該等使用者裝置之一目標使用者裝置的軟體下載請求時,該伺服器判定一包括該目標使用者裝置的目標群組之一相關於該軟體的下載總次數是否大於一預設值。In step (B), when the server receives a software download request from a target user device of one of the user devices, the server determines a related target group including the target user device. Whether the total number of downloads of the software is greater than a preset value.
在該步驟(C)中,當該伺服器判定出該下載總次數大於該預設值時,該伺服器傳送一第i下載資料至該目標使用者裝置,該第i下載資料包括該目標群組中至少一已從該伺服器進行下載該軟體的第i梯次使用者裝置所相關的至少一筆第i梯次下載位址資訊,以致該目標使用者裝置根據該第i下載資料下載該軟體。In step (C), when the server determines that the total number of downloads is greater than the preset value, the server sends an i-th download data to the target user device, and the i-th download data includes the target group At least one i-th echelon download address information related to at least one i-th echelon user device in the group that has downloaded the software from the server, so that the target user device downloads the software based on the i-th download data.
在該步驟(D)中,當該伺服器判定出該下載總次數不大於該預設值時,該伺服器傳送該軟體至該目標使用者裝置。In step (D), when the server determines that the total number of downloads is not greater than the preset value, the server sends the software to the target user device.
本發明的另一目的,即在提供一種能避免網路塞車以快速下載軟體的軟體部署系統。Another object of the present invention is to provide a software deployment system that can avoid network traffic jams 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 communications network.
該伺服器包括一儲存模組、一通訊模組,及一處理模組。The server includes a storage module, a communication module, and a processing module.
該儲存模組儲存多筆分別相關於該等使用者裝置的位址資訊,及該軟體。The storage module stores a plurality of pieces of address information respectively related to the user devices and the software.
該通訊模組經由一通訊網路與該等使用者裝置連接。The communication module is connected to the user devices through a communication network.
該處理模組電連接該儲存模組及該通訊模組,該處理模組根據該等位址資訊將該等使用者裝置進行分群,以獲得多個群組。The processing module is electrically connected to the storage module and the communication module, and the processing module groups the user devices according to the address information to obtain multiple 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 elements are represented by the same numbers in the following description.
參閱圖1,本發明軟體部署系統1的一實施例,適用於部署一軟體,包含多個連接一通訊網路100的使用者裝置11,及一伺服器12。Referring to FIG. 1 , an embodiment of the
值得注意的是,在本實施例中,該等使用者裝置11例如為桌上型電腦、筆記型電腦、智慧型裝置,但不以此為限。It is worth noting 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 this embodiment, each 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. Each step of the
在步驟21中,該處理模組123根據該等位址資訊將該等使用者裝置11進行分群,以獲得多個群組。In
在步驟22中,對於每一群組,該處理模組123經由該通訊模組122傳送多筆分別相關於該群組的多個群組使用者裝置11的群組位址資訊至該等群組使用者裝置11。In
在步驟23中,對於每一群組,該群組的該等群組使用者裝置11根據該等群組位址資訊相互連線,以產生且傳送多筆分別相關於該等群組使用者裝置11連線到其他群組使用者裝置11情況的連線資訊至該伺服器12。In
值得注意的是,在本實施例中,每一連線資訊包括至少一相關於所連線到的群組使用者裝置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
要特別注意的是,在本實施例中,為因應特殊情況,例如有些使用者裝置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
在步驟26中,該處理模組123判定一包括該目標使用者裝置11的目標群組之一相關於該軟體的下載總次數是否大於一預設值。當該處理模組123判定出該下載總次數不大於該預設值時,流程進行步驟27;而當該處理模組123判定出該下載總次數不大於該預設值時,則流程進行步驟28。In
在步驟27中,該處理模組123經由該通訊模組122傳送該軟體至該目標使用者裝置11。In
在步驟28中,該處理模組123經由該通訊模組122傳送一第i下載資料至該目標使用者裝置11,該第i下載資料包括該目標群組中至少一已從該伺服器12進行下載該軟體的第i梯次使用者裝置11所相關的至少一筆第i梯次下載位址資訊。In
在步驟29中,該目標使用者裝置11根據該第i下載資料的該少一第i梯次下載位址資訊之其中一者,傳送該軟體下載請求至該少一第i梯次使用者裝置11之其中一者。In
在步驟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
在步驟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
在步驟33中,該第i梯次使用者裝置11傳送該軟體至該目標使用者裝置11。In
參閱圖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
要再注意的是,在本實施例中,該軟體是被拆分成多個封包進行傳送,因此,在該至少一第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. They cannot 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········
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明本發明軟體部署系統的一實施例; 圖2是一流程圖,說明本發明軟體部署方法的一實施例;及 圖3是一示意圖,說明該軟體部署系統部署一軟體。 Other features and effects of the present invention will be clearly presented in the embodiments with reference to the drawings, in which: Figure 1 is a block diagram illustrating an embodiment of the software deployment system of the present invention; Figure 2 is a flow chart illustrating an embodiment of the software deployment method of the present invention; and Figure 3 is a schematic diagram illustrating the software deployment system deploying software.
21~33·· 步驟21~33·· Steps
Claims (6)
Publications (2)
Publication Number | Publication Date |
---|---|
TWI834261B true TWI834261B (en) | 2024-03-01 |
TW202409824A TW202409824A (en) | 2024-03-01 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080134165A1 (en) | 2006-12-01 | 2008-06-05 | Lori Anderson | Methods and apparatus for software provisioning of a network device |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080134165A1 (en) | 2006-12-01 | 2008-06-05 | Lori Anderson | Methods and apparatus for software provisioning of a network device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688235B (en) | Virtual network method for processing business, device and system, controller, storage medium | |
US10084711B2 (en) | High-performance quality-of-service packet scheduling for multiple packet processing engines | |
US11310108B2 (en) | Secure configuration of cloud computing nodes | |
KR101322947B1 (en) | Distributed caching of files in a network | |
EP4009593A1 (en) | Data transmission method and apparatus, network card and storage medium | |
CN101964799B (en) | Solution method of address conflict in point-to-network tunnel mode | |
US20070274285A1 (en) | System and method for configuring a router | |
CN109561171A (en) | The configuration method and device of virtual private cloud service | |
US20070274230A1 (en) | System and method for modifying router firmware | |
US20070274314A1 (en) | System and method for creating application groups | |
EP1704686B1 (en) | Directed pppoe session initiation over a switched ethernet | |
WO2016111837A1 (en) | Selective routing of network traffic for remote inspection in computer networks | |
CN110266822B (en) | Shared load balancing implementation method based on nginx | |
US11323529B2 (en) | TCP fast open hardware support in proxy devices | |
US20050039048A1 (en) | Efficient new e-mail discovery | |
US11888818B2 (en) | Multi-access interface for internet protocol security | |
WO2023000940A1 (en) | Data processing method and apparatus, and network element device, storage medium and program product | |
WO2023151264A1 (en) | Load balancing method and apparatus, node, and storage medium | |
CN110838935B (en) | High-availability SDN controller clustering method, system, storage medium and equipment | |
JPH0728728A (en) | Computer system | |
CN112929414A (en) | Upgrade package downloading method and device, electronic equipment and storage medium | |
US8416754B2 (en) | Network location based processing of data communication connection requests | |
WO2007045144A1 (en) | Methods for peer-to-peer application message identifying and operating realization and their corresponding devices | |
WO2024078208A1 (en) | Domain name query method and apparatus based on ecs protocol, and storage medium and device | |
TWI834261B (en) | Software deployment method and system |