Nothing Special   »   [go: up one dir, main page]

CN109639827B - Client upgrading method and device - Google Patents

Client upgrading method and device Download PDF

Info

Publication number
CN109639827B
CN109639827B CN201910013411.7A CN201910013411A CN109639827B CN 109639827 B CN109639827 B CN 109639827B CN 201910013411 A CN201910013411 A CN 201910013411A CN 109639827 B CN109639827 B CN 109639827B
Authority
CN
China
Prior art keywords
client
virtual machine
upgraded
upgraded client
upgrade package
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910013411.7A
Other languages
Chinese (zh)
Other versions
CN109639827A (en
Inventor
邓小红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud Technologies Co Ltd
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 New H3C Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201910013411.7A priority Critical patent/CN109639827B/en
Publication of CN109639827A publication Critical patent/CN109639827A/en
Application granted granted Critical
Publication of CN109639827B publication Critical patent/CN109639827B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application provides a client upgrading method and a client upgrading device, which are applied to a server, and the method comprises the following steps: detecting whether the operation control state of the upgraded client to the virtual machine meets a preset transmission condition or not; if the operation control state is detected to meet the preset transmission condition, identifying the upgraded client as being capable of providing an upgrade package; receiving an upgrading request sent by an un-upgraded client; and determining a data provider providing the upgrade package transmission service for the unemplified client from the server and the upgraded clients identified as being capable of providing the upgrade package. In this way, in the virtual desktop system that performs client upgrade using P2P transmission, the server screens the operation control states of the virtual machines according to the upgraded clients, and determines the data provider that provides the upgrade package for the non-upgraded client only among the upgraded clients that are suitable for providing the upgrade package transmission service. Therefore, the influence of the upgrade package transmission service on the service currently used by the upgraded client can be avoided.

Description

Client upgrading method and device
Technical Field
The application relates to the technical field of cloud computing, in particular to a client upgrading method and device.
Background
The virtual Desktop (Desktop Virtualization) technology can be used for virtualizing an interactive Desktop when an operating system and an application program are configured in a virtual machine of a cloud server or a data center, and a user is connected with the virtual Desktop through a client to perform remote control, so that the user can access the virtual Desktop as if accessing a Desktop of a local operating system.
In some modes, in order to relieve the huge pressure on the upgrade server brought by a large number of clients concurrently obtaining the upgrade package from the upgrade server, a BT (BitTorrent, bit stream) technology is adopted, so that after one client finishes upgrading, P2P (Peer to Peer) transmission of the upgrade package can be provided for other clients which are not upgraded.
Disclosure of Invention
In a first aspect, the present application provides a client upgrading method, which is applied to a server, where the server is configured to provide an upgrade package for a client accessing a virtual machine, and the virtual machine provides a virtual desktop service for the client; the method comprises the following steps:
detecting whether the operation control state of the upgraded client to the virtual machine meets a preset transmission condition or not;
if the operation control state is detected to meet the preset transmission condition, identifying the upgraded client as being capable of providing an upgrade package;
receiving an upgrading request sent by an un-upgraded client;
and determining a data providing end for providing the upgrade package transmission service for the unemplified client from the server and the upgraded client identified as being capable of providing the upgrade package, and informing the unemplified client to obtain the upgrade package from the data providing end for upgrading.
Optionally, in the above method, the operation control state includes a connection state of the upgraded client and the virtual machine; the step of detecting whether the operation control state of the upgraded client to the virtual machine meets the preset transmission condition includes:
and if the upgraded client is detected to be unconnected with the virtual machine, determining that the operation control state meets a preset transmission condition.
Optionally, in the above method, the operation control state further includes whether a virtual machine connected to the upgraded client is in a screen lock state; the step of detecting whether the operation control state of the upgraded client to the virtual machine meets the preset transmission condition includes:
if the connection state of the upgraded client and the virtual machine is detected to be connected, detecting whether the virtual machine connected with the upgraded client is in a screen locking state;
and if the virtual machine connected with the upgraded client is detected to be in a screen locking state, determining that the operation control state meets a preset transmission condition.
Optionally, in the above method, the operation control state further includes a no-operation duration of the upgraded client; the step of detecting whether the operation control state of the upgraded client to the virtual machine meets the preset transmission condition includes:
if the connection state of the upgraded client and the virtual machine is detected to be connected, acquiring the no-operation duration of the upgraded client;
and if the fact that the non-operation time length of the upgraded client is larger than a preset time length threshold value is detected, determining that the operation control state meets a preset transmission condition.
Optionally, in the above method, the operation control state further includes a data transmission rate between the upgraded client and the virtual machine; if the operation control state is detected to meet the preset transmission condition, the step of identifying the upgraded client as being capable of providing the upgrade package comprises the following steps:
if the connection state of the upgraded client and the virtual machine is detected to be connected, acquiring the data transmission rate between the upgraded client and the virtual machine;
and if the data transmission rate between the upgraded client and the virtual machine is less than a preset rate threshold value, determining that the operation control state meets a preset transmission condition.
Optionally, in the above method, the upgrade package includes a plurality of data fragments; the method further comprises the following steps:
when detecting that the upgraded client terminal which is providing the upgrade package for the non-upgraded client terminal does not meet the preset transmission condition, informing the upgraded client terminal to stop the transmission of the upgrade package, and re-determining a data providing terminal for the non-upgraded client terminal according to the data fragment which is not transmitted by the upgrade package.
In a second aspect, the present application provides a client upgrading apparatus, which is applied to a server, where the server is configured to provide an upgrade package for a client accessing a virtual machine, and the virtual machine provides a virtual desktop service for the client; the device comprises:
the state judgment module is used for detecting whether the operation control state of the upgraded client to the virtual machine meets a preset transmission condition;
the loading identification module is used for identifying the upgraded client as being capable of providing an upgrade package if the operation control state is detected to meet the preset transmission condition;
the request receiving module is used for receiving an upgrading request sent by an un-upgraded client;
and the notification module is used for determining a data providing end for providing the upgrade package transmission service for the non-upgraded client from the server and the upgraded client identified as capable of providing the upgrade package, and notifying the non-upgraded client to acquire the upgrade package from the data providing end for upgrading.
Optionally, in the above apparatus, the operation control state includes a connection state of the upgraded client and a virtual machine; the state judgment module is specifically configured to determine that the operation control state meets a preset transmission condition if it is detected that the connection state of the upgraded client and the virtual machine is unconnected.
Optionally, in the above apparatus, the operation control state further includes whether a virtual machine connected to the upgraded client is in a screen lock state; the state judgment module is specifically used for detecting whether the virtual machine connected with the upgraded client is in a screen locking state or not if the connection state of the upgraded client and the virtual machine is detected to be connected; and if the virtual machine connected with the upgraded client is detected to be in a screen locking state, determining that the operation control state meets a preset transmission condition.
Optionally, in the above apparatus, the operation control state further includes a no-operation duration of the upgraded client; the state judgment module is specifically used for acquiring the no-operation duration of the upgraded client if the connection state of the upgraded client and the virtual machine is detected to be connected; and if the fact that the non-operation time length of the upgraded client is larger than a preset time length threshold value is detected, determining that the operation control state meets a preset transmission condition.
Optionally, in the above apparatus, the operation control state further includes a data transmission rate between the upgraded client and the virtual machine; the state judgment module is specifically used for acquiring the data transmission rate between the upgraded client and the virtual machine if the connection state of the upgraded client and the virtual machine is detected to be connected; and if the data transmission rate between the upgraded client and the virtual machine is less than a preset rate threshold value, determining that the operation control state meets a preset transmission condition.
Optionally, in the above apparatus, the upgrade package includes a plurality of data fragments; the device further comprises:
and the re-determination module is used for informing the upgraded client to stop the transmission of the upgrade package when detecting that the upgraded client which is providing the upgrade package for the unemployed client does not meet the preset transmission condition, and re-determining a data providing end for the unemployed client according to the data fragment which is not transmitted by the upgrade package.
Compared with the prior art, the method has the following beneficial effects:
according to the client upgrading method and device, in a virtual desktop system for upgrading the client in a P2P transmission mode, the server screens the operation control state of the virtual machine according to the upgraded client, and the data providing end for providing the upgrade package is determined for the non-upgraded client only in the upgraded client suitable for providing the upgrade package transmission service. Therefore, the influence of the upgrade package transmission service on the service currently used by the upgraded client can be avoided.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 is one of interaction diagrams of a virtual desktop scene provided in an embodiment of the present application;
fig. 2 is a second schematic view of interaction of a virtual desktop scene provided in the embodiment of the present application;
fig. 3 is a schematic flowchart of a client upgrading method according to an embodiment of the present application;
fig. 4 is a schematic hardware structure diagram of a server according to an embodiment of the present disclosure;
fig. 5 is one of functional block diagrams of a client upgrading apparatus according to an embodiment of the present disclosure;
fig. 6 is a second functional module schematic diagram of a client upgrading apparatus according to an embodiment of the present disclosure.
Icon: 100-a server; 110-a client upgrade device; 111-state judgment module; 112-a loading identity module; 113-a request receiving module; 114-a notification module; 115-a re-determination module; 120-a machine-readable storage medium; 130-a processor; 140-system bus; 200-a client; 210-upgraded client; 220-not upgraded client; 300-a virtual machine; 400-host machine.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
In the description of the present application, it is further noted that, unless expressly stated or limited otherwise, the terms "disposed," "mounted," "connected," and "connected" are to be construed broadly, e.g., as meaning either a fixed connection, a removable connection, or an integral connection; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meaning of the above terms in the present application can be understood in a specific case by those of ordinary skill in the art.
In the client upgrading scheme adopting the BT technology, the upgraded client may provide the upgrade package transmission service of P2P for the non-upgraded client. In the upgrade package transmission process, the upgraded client needs to read the locally stored upgrade package and send the upgrade package to the non-upgraded client, which may occupy some memory processing resources, disk read-write resources or network transmission resources of the upgraded client. In some scenarios, a user may be using an upgraded client to perform relatively important operation control on a virtual machine, and if the upgraded client performs an action of transmitting an upgrade package to an un-upgraded client, the operation of the upgraded client may be stuck or even dead, which may seriously affect the use experience of the user.
In view of this, the present embodiment provides a scheme for determining whether to select an upgraded client to provide an upgrade package transmission service for an unemplified client according to an operation control state of the upgraded client to a virtual machine, so as to prevent a data transmission service from affecting a normal virtual machine operation of a user on the upgraded client, and the method is described in detail below.
Referring to fig. 1 or fig. 2, a schematic diagram of a Virtual desktop system provided in this embodiment may include a client 200, a server 100, and a Virtual Machine (VM) 300.
In this embodiment, the clients 200 may include an upgraded client 210 and an unequipped client 220, the upgraded client 210 may be the client 200 that has obtained the upgrade package from the server 100 or other clients 200, and the unequipped client 220 may be the client 200 that has not obtained the upgrade package.
The server 100 may be an independent electronic device or a cluster of a plurality of electronic devices. The server 100 may provide the upgrade package to the unemplified client 220 or direct the unemplified client 220 to obtain the upgrade package from the upgraded client 210.
The Client 200 may be an electronic device capable of implementing human-computer interaction and having communication capability, such as a smart phone, a Personal Computer (PC), a tablet PC, a Personal Digital Assistant (PDA), a Mobile Internet Device (MID), a Thin Client, and the like.
The virtual machine 300 may be run with an operating system or application to provide virtual desktop services to a user. The user can access the virtual machine 300 through the client 200, so that the virtual desktop is remotely controlled, and the user can access the virtual desktop as if accessing the desktop provided by a local operating system.
In an implementation manner of the present embodiment, the virtual machine 300 may be configured in the server 100, as shown in fig. 1. The server 100 may perform data interaction directly from the virtual machine 300 or with the client 200 to obtain the operation control state of the client 200 on the virtual machine 300.
In another implementation manner of this embodiment, the virtual machine 300 may also be configured in other hosts 400, as shown in fig. 2. The server 100 may obtain the operation control state of the virtual machine 300 by the client 200 through data interaction with the client 200 or with the host 400.
Referring to fig. 3, fig. 3 is a flowchart of a client upgrading method applied to the server 100 shown in fig. 1, and the method including various steps will be described in detail below.
Step S110, detecting whether the operation control state of the upgraded client 210 on the virtual machine 300 satisfies a preset transmission condition.
In this embodiment, the server 100 may be configured with a Broker component, and using the function of the Broker component, the server 100 may perform data interaction with the client 200 through a special message to obtain the current upgrade status of the client 200. The Broker component is an example of an open source message bus ActiveMQ, by which the server 100 can enable data interaction with the client 200 by allowing access to the client 200 by way of an exposed interface.
After receiving an upgrade completion notification sent by a certain client 200, the server 100 may identify the client 200 as an upgraded client 210, and start to detect whether an operation control state of the upgraded client 210 on the virtual machine 300 meets a preset transmission condition.
In step S120, if it is detected that the operation control state satisfies the preset transmission condition, the upgraded client 210 is identified as being capable of providing the upgrade package.
Compared with some BT transmission scenarios in which it is determined whether the client is suitable for providing the P2P transmission service to the outside only according to the network traffic condition of the client, in this embodiment, the server 100 may obtain the operation control state of the upgraded client 210 for the virtual machine 300, and determine whether the operation control state meets the preset transmission condition, so as to determine whether the upgraded client 210 is suitable for providing the upgrade package transmission service for other non-upgraded clients 220.
Optionally, in some scenarios, if the upgraded client 210 does not establish a connection with the virtual machine 300, which indicates that no user is currently using the upgraded client 210, and it can be considered that the probability that the upgraded client 210 is still in an idle state in a future period of time is relatively high, the task of providing the upgrade package transmission service to the upgraded client 210 will not affect the operation of the user.
Thus, in one implementation of the present embodiment, the operation control state may include a connection state of the upgraded client 210 with the virtual machine 300. In step S110, the server 100 detects the connection state of the upgraded client 210 with the virtual machine 300.
If the server 100 detects that the connection state between the upgraded client 210 and the virtual machine 300 is not connected, it indicates that no user is currently operating the upgraded client 210, and determines that the operation control state of the upgraded client 210 meets the preset transmission condition, which is suitable for providing the upgrade package transmission service to the non-upgraded client 220. The server 100 marks the upgraded client 210 as available to provide the upgrade package in step S120.
Optionally, in some scenarios, if the connection state of the upgraded client 210 already has the virtual machine 300 connected, but the virtual machine 300 connected to the upgraded client 210 is in the screen lock state, it indicates that the user may not currently operate the virtual machine 300 through the upgraded client 210, and it may be considered that the upgraded client 210 is currently in the idle state, and the probability that the upgraded client 210 is still in the idle state in the future is relatively high, and then the task of providing the upgrade package transmission service performed at the upgraded client 210 may not affect the operation of the user.
Thus, in one implementation of this embodiment, the operation control state may include whether the virtual machine 300 connected to the upgraded client 210 is in a lock screen state. In step S110, the server 100 detects the connection state of the upgraded client 210 with the virtual machine 300. If the connection state of the upgraded client 210 and the virtual machine 300 is detected to be connected, whether the virtual machine 300 connected with the upgraded client 210 is in a screen locking state is detected.
If the server 100 detects that the virtual machine 300 connected to the upgraded client 210 is in the screen locking state, it indicates that no user operates on the upgraded client 210 temporarily, and determines that the operation control state of the upgraded client 210 meets the preset transmission condition, so as to provide the upgrade package transmission service for the non-upgraded client 220. The server 100 identifies the upgraded client 210 as being available to provide the upgrade package in step S120.
Optionally, in some scenarios, if the upgraded client 210 is already connected to the virtual machine 300, but the user does not operate the virtual machine 300 through the upgraded client 210 for a long time, it may be considered that the upgraded client 210 is currently in an idle state, and the probability that the upgraded client 210 is still in the idle state for a future period of time is relatively high, and the task of providing the upgrade package transmission service performed on the upgraded client 210 does not affect the operation of the user.
Therefore, in another implementation of the present embodiment, the operation control state further includes a no-operation duration of the upgraded client 210. In step S110, the server 100 detects the connection state of the upgraded client 210 with the virtual machine 300. If the connection state of the upgraded client 210 and the virtual machine 300 is detected to be connected, the no-operation duration of the upgraded client 210 is obtained.
If it is detected that the non-operation time duration of the upgraded client 210 is greater than the preset time duration threshold, it is determined that the operation control state meets the preset transmission condition. In step S120, the server 100 identifies the upgraded client 210 as available to provide the upgrade package.
Alternatively, in some scenarios, if the upgraded client 210 is already connected to the virtual machine 300, but a large amount of data transmission is not performed between the upgraded client 210 and the virtual machine 300, the current load condition of the upgraded client 210 may be considered to be light, and a task of providing the upgrade package transmission service for the non-upgraded client 220 may be increased.
Therefore, in another implementation of the present embodiment, the operation control state further includes a data transfer rate between the upgraded client 210 and the virtual machine 300. In step S110, the server 100 detects the connection state of the upgraded client 210 with the virtual machine 300. If the connection state of the upgraded client 210 and the virtual machine 300 is detected to be connected, the data transmission rate between the upgraded client 210 and the virtual machine 300 is obtained.
If the server 100 detects that the data transmission rate between the upgraded client 210 and the virtual machine 300 is less than the preset rate threshold, it indicates that the load of the upgraded client 210 is small, and the operation control state meets the preset transmission condition, and is suitable for providing the upgrade package transmission service for the non-upgraded client 220. The server 100 identifies the upgraded client 210 as being available to provide the upgrade package in step S120.
If the server 100 detects that the data transmission rate between the upgraded client 210 and the virtual machine 300 is greater than the preset rate threshold, it indicates that the load of the upgraded client 210 is already large, and the operation control state does not satisfy the preset transmission condition, and is not suitable for providing the upgrade package transmission service for the non-upgraded client 220. The server 100 identifies the upgraded client 210 as not being available to provide the upgrade package in step S120.
It should be noted that, in this embodiment, the preset transmission conditions are not limited to the above examples, and in other embodiments of this embodiment, the server 100 may further determine whether the upgraded client 210 is suitable for providing the upgrade package transmission service to the non-upgraded client 220 according to other states obtained from the upgraded client 210 or the virtual machine 300.
Step S130, receiving an upgrade request sent by the un-upgraded client 220.
In this embodiment, when the upgrade is needed, the non-upgraded client 220 may initiate an upgrade request to the server 100, and then the server 100 determines a data provider providing the upgrade package transmission service for the non-upgraded client 220.
In step S140, a data provider providing the upgrade package transmission service is determined for the non-upgraded client 220 from the server 100 and the upgraded client 210 identified as being capable of providing the upgrade package, and the non-upgraded client 220 is notified to obtain the upgrade package from the data provider for upgrading.
In the present embodiment, BT capable technology is adopted, so that the clients 200 can perform P2P transmission with each other. Thus, in step S140, the server 100 may select one or more devices for the unequipped client 220 as the data provider for the unequipped client 220 in the upgraded client 210 identified as being available to provide the upgrade package and the server 100. For example, the server 100 may preferentially determine the data providers for the unemplified clients 220 among the upgraded clients 210 identified as being available to provide the upgrade package; if there are no upgraded clients 210 currently identified as available to provide the upgrade package, the server 100 may determine the server 100 itself as the data provider for the unemployed clients 220.
The server 100 may send the address information of the data provider to the uneupgraded client 220, so that the uneupgraded client 220 initiates a transmission request to the data provider to obtain the upgrade package. In this manner, the task of providing the upgrade package transmission service is distributed to the server 100 and each of the upgraded clients 210, and the data transmission pressure of the server 100 can be reduced when a large number of non-upgraded clients 220 concurrently request upgrades.
Alternatively, in some cases, the upgraded client 210 that is sending the upgrade package to the unemplified client 220 may no longer be suitable for continuing the transmission of the upgrade package due to some circumstances, for example, the upgraded client 210 that was not connected to the virtual machine 300 is in the process of transmitting the upgrade package to the unemplified client 220 because the connection state of the user operation and the virtual machine 300 is connected. In this case, it may be necessary to suspend the upgrade package transmission action of the upgraded client 210 and to re-determine the data provider for the unemployed client 220.
Therefore, in the present embodiment, the upgrade package stored in the upgraded client 210 may include a plurality of data fragments. When the server 100 detects that the upgraded client 210 providing the upgrade package for the unemplified client 220 does not meet the preset transmission condition, the data providing end is determined again for the unemplified client 220 according to the data fragments which are not transmitted in the upgrade package.
For example, a 20M upgrade package may include data fragment 0 through data fragment 19, each of which is 1M in size. The upgraded client 210 in turn transmits the 20 data segments to the unequipped client 220. If the server 100 detects that the upgraded client 210 no longer meets the preset transmission condition when transmitting the data segment 9, the server 100 identifies the upgraded client 210 as being unable to provide the upgrade package, notifies the upgraded client 210 to stop transmission of the upgrade package, and re-determines a data provider for the unemplified client 220 with respect to the data segment 9 to the data segment 19. The unequipped client 220 is then notified to retrieve the data segments 9 through 19 from the newly determined data provider.
Referring to fig. 4, fig. 4 is a schematic diagram of a hardware structure of a server 100 according to the present embodiment. The server 100 may include a processor 130 and a machine-readable storage medium 120. The processor 130 and the machine-readable storage medium 120 may communicate via a system bus 140. Also, the machine-readable storage medium 120 stores machine-executable instructions, and the processor 130 may perform the client upgrade method described above by reading and executing the machine-executable instructions in the machine-readable storage medium 120 corresponding to the client upgrade logic.
The machine-readable storage medium 120 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like. For example, the machine-readable storage medium 120 may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
Referring to fig. 5, the present embodiment further provides a client upgrading apparatus 110 applied to the server 100 shown in fig. 1 or fig. 2, where the client upgrading apparatus 110 includes at least one functional module that can be stored in a machine-readable storage medium 120 in a software form. Functionally divided, the client upgrade apparatus 110 may include a state determination module 111, a priming identification module 112, a request receiving module 113, and a notification module 114.
The state determining module 111 is configured to detect whether an operation control state of the upgraded client 210 on the virtual machine 300 meets a preset transmission condition.
In this embodiment, the state determining module 111 can be used to execute the step S110 shown in fig. 3, and the detailed description about the state determining module 111 can refer to the description about the step S110.
And the loading identification module 112 is configured to identify the upgraded client 210 as being capable of providing the upgrade package if it is detected that the operation control state satisfies the preset transmission condition.
In this embodiment, the loading identification module 112 may be configured to perform step S120 shown in fig. 3, and the detailed description of the loading identification module 112 may refer to the description of step S120.
A request receiving module 113, configured to receive an upgrade request sent by the un-upgraded client 220.
In this embodiment, the request receiving module 113 may be configured to execute step S130 shown in fig. 3, and reference may be made to the description of step S130 for a detailed description of the request receiving module 113.
And a notification module 114, configured to determine, for the non-upgraded client 220, a data provider providing the upgrade package transmission service from the server 100 and the upgraded client 210 identified as being capable of providing the upgrade package, and notify the non-upgraded client 220 to obtain the upgrade package from the data provider for upgrading.
In this embodiment, the notification module 114 may be configured to execute step S140 shown in fig. 3, and reference may be made to the description of step S140 for a detailed description of the notification module 114.
Optionally, in this embodiment, the operation control state includes a connection state of the upgraded client 210 and the virtual machine 300. The state determining module 111 is specifically configured to determine that the operation control state meets the preset transmission condition if it is detected that the connection state between the upgraded client 210 and the virtual machine 300 is not connected.
Optionally, in this embodiment, the operation control state further includes whether the virtual machine 300 connected to the upgraded client 210 is in a screen lock state. The state determining module 111 is specifically configured to detect whether the virtual machine 300 connected to the upgraded client 210 is in a screen lock state if it is detected that the connection state between the upgraded client 210 and the virtual machine 300 is connected. If the virtual machine 300 connected to the upgraded client 210 is detected to be in the screen locking state, it is determined that the operation control state meets the preset transmission condition.
Optionally, in this embodiment, the operation control state further includes a no-operation duration of the upgraded client 210. The state determining module 111 is specifically configured to, if it is detected that the connection state between the upgraded client 210 and the virtual machine 300 is connected, obtain the no-operation duration of the upgraded client 210. If it is detected that the non-operation time duration of the upgraded client 210 is greater than the preset time duration threshold, it is determined that the operation control state meets the preset transmission condition.
Optionally, in this embodiment, the operation control state further includes a data transmission rate between the upgraded client 210 and the virtual machine 300. The state determining module 111 is specifically configured to, if it is detected that the connection state between the upgraded client 210 and the virtual machine 300 is connected, obtain a data transmission rate between the upgraded client 210 and the virtual machine 300. If the data transmission rate between the upgraded client 210 and the virtual machine 300 is less than the predetermined rate threshold, it is determined that the operation control state satisfies the predetermined transmission condition.
Optionally, in this embodiment, the upgrade package includes a plurality of data fragments. Referring to fig. 6, the client upgrading device 110 further includes a re-determining module 115.
The re-determination module 115 is configured to, when detecting that the upgraded client 210 providing the upgrade package for the non-upgraded client 220 does not meet the preset transmission condition, notify the upgraded client 210 to stop transmission of the upgrade package, and re-determine the data provider for the non-upgraded client 220 according to the data fragment of the upgrade package that is not completely transmitted.
To sum up, in the client upgrading method and device provided by the present application, in the virtual desktop system that performs client upgrading by using the P2P transmission manner, the server screens the operation control state of the virtual machine according to the upgraded client, and determines the data providing end that provides the upgrade package for the non-upgraded client only in the upgraded client that is suitable for providing the upgrade package transmission service. Therefore, the influence of the upgrade package transmission service on the service currently used by the upgraded client can be avoided.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is only for various embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the present application, and all such changes or substitutions are included in the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (12)

1. The client side upgrading method is applied to a server, wherein the server is used for providing an upgrading package for a client side accessing a virtual machine, and the virtual machine provides a virtual desktop service for the client side; the method comprises the following steps:
detecting whether the operation control state of the upgraded client to the virtual machine meets a preset transmission condition or not;
if the operation control state is detected to meet the preset transmission condition, identifying the upgraded client as being capable of providing an upgrade package; the operation control state satisfying the preset transmission condition includes: the connection state of the upgraded client and the virtual machine is not connected, or the connection state of the upgraded client and the virtual machine is connected and the virtual machine connected with the upgraded client is in a screen locking state, or the connection state of the upgraded client and the virtual machine is connected and the non-operation time length of the upgraded client is greater than a preset time length threshold value, or the connection state of the upgraded client and the virtual machine is connected and the data transmission rate between the upgraded client and the virtual machine is less than a preset rate threshold value;
receiving an upgrading request sent by an un-upgraded client;
and determining a data providing end for providing the upgrade package transmission service for the unemplified client from the server and the upgraded client identified as being capable of providing the upgrade package, and informing the unemplified client to obtain the upgrade package from the data providing end for upgrading.
2. The method of claim 1, wherein the operational control state comprises a connection state of the upgraded client to a virtual machine; the step of detecting whether the operation control state of the upgraded client to the virtual machine meets the preset transmission condition includes:
and if the upgraded client is detected to be unconnected with the virtual machine, determining that the operation control state meets a preset transmission condition.
3. The method of claim 2, wherein the operational control state further comprises whether a virtual machine connected to the upgraded client is in a lock screen state; the step of detecting whether the operation control state of the upgraded client to the virtual machine meets the preset transmission condition includes:
if the connection state of the upgraded client and the virtual machine is detected to be connected, detecting whether the virtual machine connected with the upgraded client is in a screen locking state;
and if the virtual machine connected with the upgraded client is detected to be in a screen locking state, determining that the operation control state meets a preset transmission condition.
4. The method of claim 2, wherein the operational control state further comprises a no-operation duration of the upgraded client; the step of detecting whether the operation control state of the upgraded client to the virtual machine meets the preset transmission condition includes:
if the connection state of the upgraded client and the virtual machine is detected to be connected, acquiring the no-operation duration of the upgraded client;
and if the fact that the non-operation time length of the upgraded client is larger than a preset time length threshold value is detected, determining that the operation control state meets a preset transmission condition.
5. The method of claim 1, wherein the operational control state further comprises a data transfer rate between the upgraded client and a virtual machine; if the operation control state is detected to meet the preset transmission condition, the step of identifying the upgraded client as being capable of providing the upgrade package comprises the following steps:
if the connection state of the upgraded client and the virtual machine is detected to be connected, acquiring the data transmission rate between the upgraded client and the virtual machine;
and if the data transmission rate between the upgraded client and the virtual machine is less than a preset rate threshold value, determining that the operation control state meets a preset transmission condition.
6. The method of claim 1, wherein the upgrade package comprises a plurality of data fragments; the method further comprises the following steps:
when detecting that the upgraded client terminal which is providing the upgrade package for the non-upgraded client terminal does not meet the preset transmission condition, informing the upgraded client terminal to stop the transmission of the upgrade package, and re-determining a data providing terminal for the non-upgraded client terminal according to the data fragment which is not transmitted by the upgrade package.
7. The client upgrading device is applied to a server, wherein the server is used for providing an upgrading package for a client accessing a virtual machine, and the virtual machine provides a virtual desktop service for the client; the device comprises:
the state judgment module is used for detecting whether the operation control state of the upgraded client to the virtual machine meets a preset transmission condition;
the loading identification module is used for identifying the upgraded client as being capable of providing an upgrade package if the operation control state is detected to meet the preset transmission condition; the operation control state satisfying the preset transmission condition includes: the connection state of the upgraded client and the virtual machine is not connected, or the connection state of the upgraded client and the virtual machine is connected and the virtual machine connected with the upgraded client is in a screen locking state, or the connection state of the upgraded client and the virtual machine is connected and the non-operation time length of the upgraded client is greater than a preset time length threshold value, or the connection state of the upgraded client and the virtual machine is connected and the data transmission rate between the upgraded client and the virtual machine is less than a preset rate threshold value;
the request receiving module is used for receiving an upgrading request sent by an un-upgraded client;
and the notification module is used for determining a data providing end for providing the upgrade package transmission service for the non-upgraded client from the server and the upgraded client identified as capable of providing the upgrade package, and notifying the non-upgraded client to acquire the upgrade package from the data providing end for upgrading.
8. The apparatus of claim 7, wherein the operational control state comprises a connection state of the upgraded client to a virtual machine; the state judgment module is specifically configured to determine that the operation control state meets a preset transmission condition if it is detected that the connection state of the upgraded client and the virtual machine is unconnected.
9. The apparatus of claim 8, wherein the operational control state further comprises whether a virtual machine connected to the upgraded client is in a lock screen state; the state judgment module is specifically used for detecting whether the virtual machine connected with the upgraded client is in a screen locking state or not if the connection state of the upgraded client and the virtual machine is detected to be connected; and if the virtual machine connected with the upgraded client is detected to be in a screen locking state, determining that the operation control state meets a preset transmission condition.
10. The apparatus of claim 8, wherein the operational control state further comprises a no-operation duration of the upgraded client; the state judgment module is specifically used for acquiring the no-operation duration of the upgraded client if the connection state of the upgraded client and the virtual machine is detected to be connected; and if the fact that the non-operation time length of the upgraded client is larger than a preset time length threshold value is detected, determining that the operation control state meets a preset transmission condition.
11. The apparatus of claim 7, wherein the operational control state further comprises a data transfer rate between the upgraded client and a virtual machine; the state judgment module is specifically used for acquiring the data transmission rate between the upgraded client and the virtual machine if the connection state of the upgraded client and the virtual machine is detected to be connected; and if the data transmission rate between the upgraded client and the virtual machine is less than a preset rate threshold value, determining that the operation control state meets a preset transmission condition.
12. The apparatus of claim 7, wherein the upgrade package comprises a plurality of data fragments; the device further comprises:
and the re-determination module is used for informing the upgraded client to stop the transmission of the upgrade package when detecting that the upgraded client which is providing the upgrade package for the unemployed client does not meet the preset transmission condition, and re-determining a data providing end for the unemployed client according to the data fragment which is not transmitted by the upgrade package.
CN201910013411.7A 2019-01-07 2019-01-07 Client upgrading method and device Active CN109639827B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910013411.7A CN109639827B (en) 2019-01-07 2019-01-07 Client upgrading method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910013411.7A CN109639827B (en) 2019-01-07 2019-01-07 Client upgrading method and device

Publications (2)

Publication Number Publication Date
CN109639827A CN109639827A (en) 2019-04-16
CN109639827B true CN109639827B (en) 2021-11-09

Family

ID=66058098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910013411.7A Active CN109639827B (en) 2019-01-07 2019-01-07 Client upgrading method and device

Country Status (1)

Country Link
CN (1) CN109639827B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489151A (en) * 2019-08-27 2019-11-22 深信服科技股份有限公司 A kind of terminal staging method and system
CN111399874A (en) * 2020-03-05 2020-07-10 Tcl移动通信科技(宁波)有限公司 System upgrading method and device, storage medium and intelligent wearable device
CN112134961B (en) * 2020-09-28 2023-08-08 深圳市元征科技股份有限公司 Client use control method, client and computer storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795203A (en) * 2009-02-03 2010-08-04 华为软件技术有限公司 Method and device for downloading software upgrading data packet
CN101997707A (en) * 2009-08-11 2011-03-30 Tcl集团股份有限公司 System and method for upgrading intelligent terminals in batches
CN102164160A (en) * 2010-12-31 2011-08-24 青岛海信传媒网络技术有限公司 Method, device and system for supporting large quantity of concurrent downloading
CN102945175A (en) * 2012-11-09 2013-02-27 杭州易和网络有限公司 Terminal software online upgrading system and method based on cloud computing environment
CN104580442A (en) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 Control method and control equipment for updating servers
CN104811759A (en) * 2015-04-01 2015-07-29 深圳市九洲电器有限公司 Set top box dynamically upgrading method and system
CN108173774A (en) * 2018-02-27 2018-06-15 北京明朝万达科技股份有限公司 The upgrade method and system of a kind of client
CN109032644A (en) * 2018-07-27 2018-12-18 蔚来汽车有限公司 The upgrade method and device, controller and medium of charging pile, the pile group that charges

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9960963B2 (en) * 2013-06-24 2018-05-01 Oracle International Corporation Dynamic client fail-over during a rolling patch installation based on temporal server conditions

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795203A (en) * 2009-02-03 2010-08-04 华为软件技术有限公司 Method and device for downloading software upgrading data packet
CN101997707A (en) * 2009-08-11 2011-03-30 Tcl集团股份有限公司 System and method for upgrading intelligent terminals in batches
CN102164160A (en) * 2010-12-31 2011-08-24 青岛海信传媒网络技术有限公司 Method, device and system for supporting large quantity of concurrent downloading
CN102945175A (en) * 2012-11-09 2013-02-27 杭州易和网络有限公司 Terminal software online upgrading system and method based on cloud computing environment
CN104580442A (en) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 Control method and control equipment for updating servers
CN104811759A (en) * 2015-04-01 2015-07-29 深圳市九洲电器有限公司 Set top box dynamically upgrading method and system
CN108173774A (en) * 2018-02-27 2018-06-15 北京明朝万达科技股份有限公司 The upgrade method and system of a kind of client
CN109032644A (en) * 2018-07-27 2018-12-18 蔚来汽车有限公司 The upgrade method and device, controller and medium of charging pile, the pile group that charges

Also Published As

Publication number Publication date
CN109639827A (en) 2019-04-16

Similar Documents

Publication Publication Date Title
US11729073B2 (en) Dynamic scaling of storage volumes for storage client file systems
EP3029912B1 (en) Remote accessing method and corresponding system
US10521116B2 (en) System and method for managing object store
US9164748B2 (en) Information backup method and apparatus
US9558022B2 (en) Automatic virtual machine termination in a cloud
EP3493059B1 (en) Application data migration method and device
US9614931B2 (en) Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system
US8589862B2 (en) Application loading
US11231919B2 (en) Live updates of stateful components
JP6316978B2 (en) Broadcast management information using fountain codes
CN109639827B (en) Client upgrading method and device
US10187485B1 (en) Systems and methods for sending push notifications that include preferred data center routing information
US8918776B2 (en) Self-adapting software system
WO2012148449A1 (en) Automatically installing device drivers
US20210132860A1 (en) Management of multiple physical function non-volatile memory devices
CN108632354B (en) Physical machine admission management method and device and cloud desktop management platform
CN106599323B (en) Method and device for realizing distributed pipeline in distributed file system
CN107623581B (en) Service list generation method, device and system, and acquisition and reporting method and device
CN109218338B (en) Information processing system, method and device
CA2878759A1 (en) Methods and systems for providing software applications
CN106371873A (en) Application starting request processing method and system and server
CN107209882B (en) Multi-stage de-registration for managed devices
CN111314396B (en) Data processing method and device
CN117827297A (en) Sideband bare engine provisioning
US20150143361A1 (en) Software roaming system, method and computer readable storage medium thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant