CN109639827B - 客户端升级方法及装置 - Google Patents

客户端升级方法及装置 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
English (en)
Other versions
CN109639827A (zh
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/zh
Publication of CN109639827A publication Critical patent/CN109639827A/zh
Application granted granted Critical
Publication of CN109639827B publication Critical patent/CN109639827B/zh
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

本申请提供一种客户端升级方法及装置,应用于服务器,方法包括:检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件;若检测到操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包;接收未升级客户端发送的升级请求;从服务器和被标识为可提供升级包的已升级客户端中为未升级客户端确定提供升级包传输服务的数据提供端。如此,在采用P2P传输进行客户端升级的虚拟桌面***中,通过服务器根据已升级客户端对虚拟机的操作控制状态进行筛选,仅在适合提供升级包传输服务的已升级客户端中为未升级客户端确定提供升级包的数据提供端。如此,可以避免升级包传输服务对已升级客户端当前正在使用业务的造成影响。

Description

客户端升级方法及装置
技术领域
本申请涉及云计算技术领域,具体而言,涉及一种客户端升级方法及装置。
背景技术
虚拟桌面(Desktop Virtualization)技术,可以在将操作***及应用程序配置在云端服务器或数据中心的虚拟机中,将交互桌面虚拟化,用户通过客户端与虚拟桌面进行连接,进行远程控制,使用户在访问虚拟桌面时如同访问本地操作***的桌面一样。
虚拟桌面的客户端在需要升级时通常需要从服务获取升级包,在一些方式中,为了缓解大量客户端并发地从升级服务器获取升级包给升级服务器带来的巨大压力,会采用BT(BitTorrent,比特流)技术,使一个客户端升级完成后,可以为其他未升级的客户端提供升级包的P2P(Peerto Peer,点对点)传输。
发明内容
第一方面,本申请提供一种客户端升级方法,应用于服务器,所述服务器用于为访问虚拟机的客户端提供升级包,所述虚拟机为所述客户端提供虚拟桌面服务;所述方法包括:
检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件;
若检测到所述操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包;
接收未升级客户端发送的升级请求;
从所述服务器和被标识为可提供升级包的所述已升级客户端中为所述未升级客户端确定提供升级包传输服务的数据提供端,并通知所述未升级客户端从所述数据提供端获取升级包进行升级。
可选地,在上述方法中,所述操作控制状态包括所述已升级客户端与虚拟机的连接状态;所述检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为未连接,则确定所述操作控制状态满足预设传输条件。
可选地,在上述方法中,所述操作控制状态还包括与所述已升级客户端连接的虚拟机是否处于锁屏状态;所述检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为已连接,则检测与该已升级客户端连接的虚拟机的是否处于锁屏状态;
若检测到与该已升级客户端连接的虚拟机处于锁屏状态,则确定所述操作控制状态满足预设传输条件。
可选地,在上述方法中,所述操作控制状态还包括已升级客户端的无操作时长;所述检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端的无操作时长;
若检测到该已升级客户端的无操作时长大于预设时长阈值,则确定所述操作控制状态满足预设传输条件。
可选地,在上述方法中,所述操作控制状态还包括所述已升级客户端与虚拟机之间的数据传输速率;所述若检测到所述操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端与虚拟机之间的数据传输速率;
若该已升级客户端与虚拟机之间的数据传输速率小于预设速率阈值,则确定所述操作控制状态满足预设传输条件。
可选地,在上述方法中,所述升级包包括多个数据片段;所述方法还包括:
在检测到正在为所述未升级客户端提供升级包的所述已升级客户端不满足所述预设传输条件时,通知所述已升级客户端停止升级包的传输,并针对所述升级包未完成传输的数据片段,为所述未升级客户端重新确定数据提供端。
第二方面,本申请提供一种客户端升级装置,应用于服务器,所述服务器用于为访问虚拟机的客户端提供升级包,所述虚拟机为所述客户端提供虚拟桌面服务;所述装置包括:
状态判断模块,用于检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件;
装填标识模块,用于若检测到所述操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包;
请求接收模块,用于接收未升级客户端发送的升级请求;
通知模块,用于从所述服务器和被标识为可提供升级包的所述已升级客户端中为所述未升级客户端确定提供升级包传输服务的数据提供端,并通知所述未升级客户端从所述数据提供端获取升级包进行升级。
可选地,在上述装置中,所述操作控制状态包括所述已升级客户端与虚拟机的连接状态;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为未连接,则确定所述操作控制状态满足预设传输条件。
可选地,在上述装置中,所述操作控制状态还包括与所述已升级客户端连接的虚拟机是否处于锁屏状态;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为已连接,则检测与该已升级客户端连接的虚拟机的是否处于锁屏状态;若检测到与该已升级客户端连接的虚拟机处于锁屏状态,则确定所述操作控制状态满足预设传输条件。
可选地,在上述装置中,所述操作控制状态还包括已升级客户端的无操作时长;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端的无操作时长;若检测到该已升级客户端的无操作时长大于预设时长阈值,则确定所述操作控制状态满足预设传输条件。
可选地,在上述装置中,所述操作控制状态还包括所述已升级客户端与虚拟机之间的数据传输速率;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端与虚拟机之间的数据传输速率;若该已升级客户端与虚拟机之间的数据传输速率小于预设速率阈值,则确定所述操作控制状态满足预设传输条件。
可选地,在上述装置中,所述升级包包括多个数据片段;所述装置还包括:
重确定模块,用于在检测到正在为所述未升级客户端提供升级包的所述已升级客户端不满足所述预设传输条件时,通知所述已升级客户端停止升级包的传输,并针对所述升级包未完成传输的数据片段,为所述未升级客户端重新确定数据提供端。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供的客户端升级方法及装置,在采用P2P传输方式进行客户端升级的虚拟桌面***中,通过服务器根据已升级客户端对虚拟机的操作控制状态进行筛选,仅在适合提供升级包传输服务的已升级客户端中为未升级客户端确定提供升级包的数据提供端。如此,可以避免升级包传输服务对已升级客户端当前正在使用业务的造成影响。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的虚拟桌面场景交互示意图之一;
图2为本申请实施例提供的虚拟桌面场景交互示意图之二;
图3为本申请实施例提供的客户端升级方法的流程示意图;
图4为本申请实施例提供的服务器的硬件结构示意图;
图5为本申请实施例提供的客户端升级装置的功能模块示意图之一;
图6为本申请实施例提供的客户端升级装置的功能模块示意图之二。
图标:100-服务器;110-客户端升级装置;111-状态判断模块;112-装填标识模块;113-请求接收模块;114-通知模块;115-重确定模块;120-机器可读存储介质;130-处理器;140-***总线;200-客户端;210-已升级客户端;220-未升级客户端;300-虚拟机;400-宿主机。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
采用BT技术的客户端升级方案中,已升级客户端可以为未升级客户端提供P2P的升级包传输服务。在升级包传输过程中,已升级客户端需要将本地存储的升级包读取出来并发送给未升级客户端,这会占用已升级客户端的一些内存处理资源、磁盘读写资源或网络传输资源。在一些场景中,用户可能正在使用已升级客户端对虚拟机进行比较重要的操作控制,这时如果该已升级客户端再执行向未升级客户端传输升级包的动作,有可能导致已升级客户端的操作卡顿甚至卡死,严重影响到用户的使用体验。
有鉴于此,本实施例提供一种根据已升级客户端对虚拟机的操作控制状态判断是否选取该已升级客户端为未升级客户端提供升级包传输服务的方案,从而避免数据传输服务影响已升级客户端上用户正常的虚拟机使用操作,下面对该方法的进行详细描述。
请参照图1或图2,本实施例提供的虚拟桌面***的示意图,该***可以包括客户端200、服务器100及虚拟机(Virtual Machine,简称VM)300。
在本实施例中,客户端200可以包括已升级客户端210及未升级客户端220,已升级客户端210可以是已经从服务器100或其他客户端200获得了升级包的客户端200,未升级客户端220可以是尚未获得升级包的客户端200。
服务器100可以为一个独立的电子设备,也可以为多个电子设备组成的集群。服务器100可以为未升级客户端220提供升级包或引导未升级客户端220从已升级客户端210获取升级包。
客户端200可以为能实现人机交互且具有通信能力的电子设备,如智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(PersonalDigital Assistant,PDA)、移动上网设备(mobile Internet device,MID)、瘦终端(Thin Client)等。
虚拟机300可以运行有操作***或应用程序以为用户提供虚拟桌面服务。用户可以通过客户端200访问虚拟机300,从而对虚拟桌面进行远程操控,使用户在访问虚拟桌面时如同访问本地操作***提供的桌面一样。
在本实施例的一种实施方式中,虚拟机300可以配置于服务器100中,如图1所示。服务器100可以直接从虚拟机300或与客户端200进行数据交互以获得客户端200对虚拟机300的操作控制状态。
在本实施例的另一种实施方式中,虚拟机300也可以配置于其他宿主机400中,如图2所示。服务器100可以通过与客户端200或与宿主机400进行的数据交互以获得客户端200对虚拟机300的操作控制状态。
请参照图3,图3为应用于图1所示的服务器100的一种客户端升级方法的流程图,以下将对该方法包括各个步骤进行详细阐述。
步骤S110,检测已升级客户端210对虚拟机300的操作控制状态是否满足预设传输条件。
在本实施例中,服务器100上可以配置有Broker组件,使用Broker组件的功能,服务器100可以通过专门的报文与客户端200进行数据交互以获取客户端200当前的升级状态。Broker组件是开源消息总线ActiveMQ的一个实例,通过Broker组件,服务器100可以通过暴露接口的方式允许客户端200接入,从而实现与客户端200进行数据交互。
当服务器100在接收到某个客户端200发送的升级完成通知后,可以将该客户端200标识为已升级客户端210,并开始检测该已升级客户端210端对虚拟机300的操作控制状态是否满足预设传输条件。
步骤S120,若检测到操作控制状态满足预设传输条件,则将该已升级客户端210标识为可提供升级包。
相较于一些BT传输场景中仅根据客户端网络流量情况判断该客户端是否适合对外提供P2P传输服务的方案,在本实施例中,服务器100可以获取已升级客户端210对虚拟机300的操作控制状态,并判断该操作控制状态是否满足预设传输条件,从而确定已升级客户端210是否适合为其他未升级客户端220提供升级包传输服务。
可选地,在一些场景中,如果已升级客户端210未与虚拟机300建立连接,表示该已升级客户端210上当前没有用户在使用,并且可以认为未来一段时间内该已升级客户端210仍然处于空闲状态的几率比较大,则在该已升级客户端210上增加提供升级包传输服务的任务也不会影响到用户的操作。
因此,在本实施例的一种实施方式中,操作控制状态可以包括已升级客户端210与虚拟机300的连接状态。在步骤S110中,服务器100检测已升级客户端210与虚拟机300的连接状态。
若服务器100检测到已升级客户端210与虚拟机300的连接状态为未连接,则表示该已升级客户端210当前没有用户在操作,判定该已升级客户端210的操作控制状态满足预设传输条件,适合向未升级客户端220提供升级包传输服务。服务器100在步骤S120中将该已升级客户端210标记为可提供升级包。
可选地,在一些场景中,如果已升级客户端210已经虚拟机300的连接状态为已连接,但是与该已升级客户端210连接的虚拟机300处于锁屏状态,则表示用户当前可能没有通过已升级客户端210操作虚拟机300,可以认为该已升级客户端210当前处于空闲状态,并且未来一段时间内还是处于空闲状态的几率比较大,则在该已升级客户端210执行提供升级包传输服务的任务也不会影响到用户的操作。
因此,在本实施例的一种实施方式中,操作控制状态可以包括与已升级客户端210连接的虚拟机300是否处于锁屏状态。在步骤S110中,服务器100检测已升级客户端210与虚拟机300的连接状态。若检测到已升级客户端210与虚拟机300的连接状态为已连接,则检测与该已升级客户端210连接的虚拟机300的是否处于锁屏状态。
若服务器100检测到与该已升级客户端210连接的虚拟机300处于锁屏状态,则表示该已升级客户端210上暂时不会有用户进行操作,判定该已升级客户端210的操作控制状态满足预设传输条件,可以为未升级客户端220提供升级包传输服务。服务器100在步骤S120中将该已升级客户端210标识为可提供升级包。
可选地,在一些场景中,如果已升级客户端210已经虚拟机300的连接状态为已连接,但是用户在较长时间内都没有通过已升级客户端210对虚拟机300进行操作,可以认为该已升级客户端210当前处于空闲状态,并且未来一段时间内还是处于空闲状态的几率比较大,则在该已升级客户端210执行提供升级包传输服务的任务也不会影响到用户的操作。
因此,在本实施例的另一种实施方式中,操作控制状态还包括已升级客户端210的无操作时长。在步骤S110中,服务器100检测已升级客户端210与虚拟机300的连接状态。若检测到已升级客户端210与虚拟机300的连接状态为已连接,则获取该已升级客户端210的无操作时长。
若检测到该已升级客户端210的无操作时长大于预设时长阈值,则确定操作控制状态满足预设传输条件。在步骤S120中,服务器100将该已升级客户端210标识为可提供升级包。
可选地,在一些场景中,如果已升级客户端210已经与虚拟机300的连接状态为已连接,但是该已升级客户端210与虚拟机300之间没有进行大批量的数据传输,则可以认为该已升级客户端210当前的负载情况较轻,可以增加为未升级客户端220提供升级包传输服务的任务。
因此,在本实施例的另一种实施方式中,操作控制状态还包括已升级客户端210与虚拟机300之间的数据传输速率。在步骤S110中,服务器100检测已升级客户端210与虚拟机300的连接状态。若检测到已升级客户端210与虚拟机300的连接状态为已连接,则获取该已升级客户端210与虚拟机300之间的数据传输速率。
若服务器100检测到该已升级客户端210与虚拟机300之间的数据传输速率小于预设速率阈值,则表示该已升级客户端210的负载较小,操作控制状态满足预设传输条件,适合为未升级客户端220提供升级包传输服务。服务器100在步骤S120中将该已升级客户端210标识为可提供升级包。
若服务器100检测到该已升级客户端210与虚拟机300之间的数据传输速率大于预设速率阈值,则表示该已升级客户端210的负载已经较大,操作控制状态不满足预设传输条件,不适合为未升级客户端220提供升级包传输服务。服务器100在步骤S120中将该已升级客户端210标识为并不可提供升级包。
值得说明的是,在本实施例中,预设传输条件不仅限于上述几个例子,在本实施例的其他实施方式中,服务器100还可以根据从已升级客户端210或虚拟机300获取到的其他状态来判断已升级客户端210是否适合于向未升级客户端220提供升级包传输服务。
步骤S130,接收未升级客户端220发送的升级请求。
在本实施例中,未升级客户端220在需要升级时,可以向服务器100发起升级请求,然后由服务器100为该未升级客户端220确定提供升级包传输服务的数据提供端。
步骤S140,从服务器100和被标识为可提供升级包的已升级客户端210中为未升级客户端220确定提供升级包传输服务的数据提供端,并通知未升级客户端220从数据提供端获取升级包进行升级。
在本实施例中,采用可BT技术,使得客户端200之间可以相互进行P2P传输。因此在步骤S140中,服务器100可以在被标识为可提供升级包的已升级客户端210及该服务器100中为未升级客户端220选择一个或多个设备作为未升级客户端220的数据提供端。例如,服务器100可以优先在被标识为可提供升级包的已升级客户端210中为未升级客户端220确定数据提供端;若当前没有被标识为可提供升级包的已升级客户端210,则服务器100可以将该服务器100自身确定为未升级客户端220的数据提供端。
服务器100可以将数据提供端的地址信息发送给未升级客户端220,使未升级客户端220向数据提供端发起传输请求以获取升级包。如此,将提供升级包传输服务的任务分散到服务器100和各个已升级客户端210,在大量未升级客户端220并发性地请求升级时,可以减少服务器100的数据传输压力。
可选地,在一些情况下,正在为向未升级客户端220发送升级包的已升级客户端210可能会因某种情况不再适合继续进行升级包的传输,例如,原来未与虚拟机300连接的已升级客户端210在向未升级客户端220传输升级包的过程中,因为用户操作与虚拟机300的连接状态为已连接。这种情况下可能有需要中止该已升级客户端210的升级包传输动作,并为未升级客户端220重新确定数据提供端。
因此,在本实施例中,已升级客户端210中存储的升级包可以包括多个数据片段。在服务器100检测到正在为未升级客户端220提供升级包的已升级客户端210不满足预设传输条件时,针对升级包未完成传输的数据片段,为未升级客户端220重新确定数据提供端。
例如,一个20M的升级包可以包括数据片段0到数据片段19,每个数据片段大小为1M。已升级客户端210在依次向未升级客户端220传输这20个数据片段。如果在传输数据片段9时,服务器100检测到该已升级客户端210不再满足预设传输条件时,服务器100将该已升级客户端210标识为不可提供升级包,通知已升级客户端210停止升级包的传输,并针对数据片段9到数据片段19为未升级客户端220重新确定一个数据提供端。然后通知未升级客户端220重新从新确定的数据提供端获取数据片段9到19。
请参照图4,图4为本实施例提供的一种服务器100的硬件结构示意图。该服务器100可包括处理器130及机器可读存储介质120。处理器130与机器可读存储介质120可经由***总线140通信。并且,机器可读存储介质120存储有机器可执行指令,通过读取并执行机器可读存储介质120中与客户端升级逻辑对应的机器可执行指令,处理器130可执行上文描述的客户端升级方法。
本文中提到的机器可读存储介质120可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质120可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
请参照图5,本实施例还提供一种应用于图1或图2所示服务器100的客户端升级装置110,客户端升级装置110包括至少一个可以软件形式存储于机器可读存储介质120中的功能模块。从功能上划分,客户端升级装置110可以包括状态判断模块111、装填标识模块112、请求接收模块113及通知模块114。
状态判断模块111,用于检测已升级客户端210对虚拟机300的操作控制状态是否满足预设传输条件。
本实施例中,状态判断模块111可用于执行图3所示的步骤S110,关于状态判断模块111的具体描述可参对步骤S110的描述。
装填标识模块112,用于若检测到操作控制状态满足预设传输条件,则将该已升级客户端210标识为可提供升级包。
本实施例中,装填标识模块112可用于执行图3所示的步骤S120,关于装填标识模块112的具体描述可参对步骤S120的描述。
请求接收模块113,用于接收未升级客户端220发送的升级请求。
本实施例中,请求接收模块113可用于执行图3所示的步骤S130,关于请求接收模块113的具体描述可参对步骤S130的描述。
通知模块114,用于从服务器100和被标识为可提供升级包的已升级客户端210中为未升级客户端220确定提供升级包传输服务的数据提供端,并通知未升级客户端220从数据提供端获取升级包进行升级。
本实施例中,通知模块114可用于执行图3所示的步骤S140,关于通知模块114的具体描述可参对步骤S140的描述。
可选地,在本实施例中,操作控制状态包括已升级客户端210与虚拟机300的连接状态。状态判断模块111具体用于若检测到已升级客户端210与虚拟机300的连接状态为未连接,则确定操作控制状态满足预设传输条件。
可选地,在本实施例中,操作控制状态还包括与已升级客户端210连接的虚拟机300是否处于锁屏状态。状态判断模块111具体用于若检测到已升级客户端210与虚拟机300的连接状态为已连接,则检测与该已升级客户端210连接的虚拟机300的是否处于锁屏状态。若检测到与该已升级客户端210连接的虚拟机300处于锁屏状态,则确定操作控制状态满足预设传输条件。
可选地,在本实施例中,操作控制状态还包括已升级客户端210的无操作时长。状态判断模块111具体用于若检测到已升级客户端210与虚拟机300的连接状态为已连接,则获取该已升级客户端210的无操作时长。若检测到该已升级客户端210的无操作时长大于预设时长阈值,则确定操作控制状态满足预设传输条件。
可选地,在本实施例中,操作控制状态还包括已升级客户端210与虚拟机300之间的数据传输速率。状态判断模块111具体用于若检测到已升级客户端210与虚拟机300的连接状态为已连接,则获取该已升级客户端210与虚拟机300之间的数据传输速率。若该已升级客户端210与虚拟机300之间的数据传输速率小于预设速率阈值,则确定操作控制状态满足预设传输条件。
可选地,在本实施例中,升级包包括多个数据片段。请参照图6,客户端升级装置110还包括重确定模块115。
重确定模块115用于在检测到在为未升级客户端220提供升级包的已升级客户端210不满足预设传输条件时,通知已升级客户端210停止升级包的传输,并针对升级包未完成传输的数据片段,为未升级客户端220重新确定数据提供端。
综上所述,本申请提供的客户端升级方法及装置,在采用P2P传输方式进行客户端升级的虚拟桌面***中,通过服务器根据已升级客户端对虚拟机的操作控制状态进行筛选,仅在适合提供升级包传输服务的已升级客户端中为未升级客户端确定提供升级包的数据提供端。如此,可以避免升级包传输服务对已升级客户端当前正在使用业务的造成影响。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种客户端升级方法,其特征在于,应用于服务器,所述服务器用于为访问虚拟机的客户端提供升级包,所述虚拟机为所述客户端提供虚拟桌面服务;所述方法包括:
检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件;
若检测到所述操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包;所述操作控制状态满足预设传输条件包括:所述已升级客户端与虚拟机的连接状态为未连接,或所述已升级客户端与虚拟机的连接状态为已连接且与所述已升级客户端连接的虚拟机处于锁屏状态,或所述已升级客户端与虚拟机的连接状态为已连接且所述已升级客户端的无操作时长大于预设时长阈值,或所述已升级客户端与虚拟机的连接状态为已连接且所述已升级客户端与虚拟机之间的数据传输速率小于预设速率阈值;
接收未升级客户端发送的升级请求;
从所述服务器和被标识为可提供升级包的所述已升级客户端中为所述未升级客户端确定提供升级包传输服务的数据提供端,并通知所述未升级客户端从所述数据提供端获取升级包进行升级。
2.根据权利要求1所述的方法,其特征在于,所述操作控制状态包括所述已升级客户端与虚拟机的连接状态;所述检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为未连接,则确定所述操作控制状态满足预设传输条件。
3.根据权利要求2所述的方法,其特征在于,所述操作控制状态还包括与所述已升级客户端连接的虚拟机是否处于锁屏状态;所述检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为已连接,则检测与该已升级客户端连接的虚拟机的是否处于锁屏状态;
若检测到与该已升级客户端连接的虚拟机处于锁屏状态,则确定所述操作控制状态满足预设传输条件。
4.根据权利要求2所述的方法,其特征在于,所述操作控制状态还包括已升级客户端的无操作时长;所述检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端的无操作时长;
若检测到该已升级客户端的无操作时长大于预设时长阈值,则确定所述操作控制状态满足预设传输条件。
5.根据权利要求1所述的方法,其特征在于,所述操作控制状态还包括所述已升级客户端与虚拟机之间的数据传输速率;所述若检测到所述操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包的步骤,包括:
若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端与虚拟机之间的数据传输速率;
若该已升级客户端与虚拟机之间的数据传输速率小于预设速率阈值,则确定所述操作控制状态满足预设传输条件。
6.根据权利要求1所述的方法,其特征在于,所述升级包包括多个数据片段;所述方法还包括:
在检测到正在为所述未升级客户端提供升级包的所述已升级客户端不满足所述预设传输条件时,通知该已升级客户端停止升级包的传输,并针对所述升级包未完成传输的数据片段,为所述未升级客户端重新确定数据提供端。
7.一种客户端升级装置,其特征在于,应用于服务器,所述服务器用于为访问虚拟机的客户端提供升级包,所述虚拟机为所述客户端提供虚拟桌面服务;所述装置包括:
状态判断模块,用于检测已升级客户端对虚拟机的操作控制状态是否满足预设传输条件;
装填标识模块,用于若检测到所述操作控制状态满足预设传输条件,则将该已升级客户端标识为可提供升级包;所述操作控制状态满足预设传输条件包括:所述已升级客户端与虚拟机的连接状态为未连接,或所述已升级客户端与虚拟机的连接状态为已连接且与所述已升级客户端连接的虚拟机处于锁屏状态,或所述已升级客户端与虚拟机的连接状态为已连接且所述已升级客户端的无操作时长大于预设时长阈值,或所述已升级客户端与虚拟机的连接状态为已连接且所述已升级客户端与虚拟机之间的数据传输速率小于预设速率阈值;
请求接收模块,用于接收未升级客户端发送的升级请求;
通知模块,用于从所述服务器和被标识为可提供升级包的所述已升级客户端中为所述未升级客户端确定提供升级包传输服务的数据提供端,并通知所述未升级客户端从所述数据提供端获取升级包进行升级。
8.根据权利要求7所述的装置,其特征在于,所述操作控制状态包括所述已升级客户端与虚拟机的连接状态;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为未连接,则确定所述操作控制状态满足预设传输条件。
9.根据权利要求8所述的装置,其特征在于,所述操作控制状态还包括与所述已升级客户端连接的虚拟机是否处于锁屏状态;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为已连接,则检测与该已升级客户端连接的虚拟机的是否处于锁屏状态;若检测到与该已升级客户端连接的虚拟机处于锁屏状态,则确定所述操作控制状态满足预设传输条件。
10.根据权利要求8所述的装置,其特征在于,所述操作控制状态还包括已升级客户端的无操作时长;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端的无操作时长;若检测到该已升级客户端的无操作时长大于预设时长阈值,则确定所述操作控制状态满足预设传输条件。
11.根据权利要求7所述的装置,其特征在于,所述操作控制状态还包括所述已升级客户端与虚拟机之间的数据传输速率;所述状态判断模块具体用于若检测到所述已升级客户端与虚拟机的连接状态为已连接,则获取该已升级客户端与虚拟机之间的数据传输速率;若该已升级客户端与虚拟机之间的数据传输速率小于预设速率阈值,则确定所述操作控制状态满足预设传输条件。
12.根据权利要求7所述的装置,其特征在于,所述升级包包括多个数据片段;所述装置还包括:
重确定模块,用于在检测到正在为所述未升级客户端提供升级包的所述已升级客户端不满足所述预设传输条件时,通知所述已升级客户端停止升级包的传输,并针对所述升级包未完成传输的数据片段,为所述未升级客户端重新确定数据提供端。
CN201910013411.7A 2019-01-07 2019-01-07 客户端升级方法及装置 Active CN109639827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910013411.7A CN109639827B (zh) 2019-01-07 2019-01-07 客户端升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910013411.7A CN109639827B (zh) 2019-01-07 2019-01-07 客户端升级方法及装置

Publications (2)

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

Family

ID=66058098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910013411.7A Active CN109639827B (zh) 2019-01-07 2019-01-07 客户端升级方法及装置

Country Status (1)

Country Link
CN (1) CN109639827B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489151A (zh) * 2019-08-27 2019-11-22 深信服科技股份有限公司 一种终端升级方法及***
CN111399874A (zh) * 2020-03-05 2020-07-10 Tcl移动通信科技(宁波)有限公司 一种***升级方法、装置、存储介质及智能穿戴设备
CN112134961B (zh) * 2020-09-28 2023-08-08 深圳市元征科技股份有限公司 客户端的使用控制方法、客户端及计算机存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101795203A (zh) * 2009-02-03 2010-08-04 华为软件技术有限公司 软件升级数据包的下载方法和装置
CN101997707A (zh) * 2009-08-11 2011-03-30 Tcl集团股份有限公司 一种智能终端批量升级的***及其方法
CN102164160A (zh) * 2010-12-31 2011-08-24 青岛海信传媒网络技术有限公司 支持大并发量文件下载的方法、装置及***
CN102945175A (zh) * 2012-11-09 2013-02-27 杭州易和网络有限公司 一种基于云计算环境的终端软件在线升级***及其方法
CN104580442A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 升级服务器的控制方法及设备
CN104811759A (zh) * 2015-04-01 2015-07-29 深圳市九洲电器有限公司 机顶盒动态升级方法及***
CN108173774A (zh) * 2018-02-27 2018-06-15 北京明朝万达科技股份有限公司 一种客户端的升级方法及***
CN109032644A (zh) * 2018-07-27 2018-12-18 蔚来汽车有限公司 充电桩、充电桩群的升级方法和装置、控制器及介质

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 (zh) * 2009-02-03 2010-08-04 华为软件技术有限公司 软件升级数据包的下载方法和装置
CN101997707A (zh) * 2009-08-11 2011-03-30 Tcl集团股份有限公司 一种智能终端批量升级的***及其方法
CN102164160A (zh) * 2010-12-31 2011-08-24 青岛海信传媒网络技术有限公司 支持大并发量文件下载的方法、装置及***
CN102945175A (zh) * 2012-11-09 2013-02-27 杭州易和网络有限公司 一种基于云计算环境的终端软件在线升级***及其方法
CN104580442A (zh) * 2014-12-30 2015-04-29 北京奇虎科技有限公司 升级服务器的控制方法及设备
CN104811759A (zh) * 2015-04-01 2015-07-29 深圳市九洲电器有限公司 机顶盒动态升级方法及***
CN108173774A (zh) * 2018-02-27 2018-06-15 北京明朝万达科技股份有限公司 一种客户端的升级方法及***
CN109032644A (zh) * 2018-07-27 2018-12-18 蔚来汽车有限公司 充电桩、充电桩群的升级方法和装置、控制器及介质

Also Published As

Publication number Publication date
CN109639827A (zh) 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
EP3493059B1 (en) Application data migration method and device
CN109639827B (zh) 客户端升级方法及装置
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
JP6316978B2 (ja) ファウンテンコードを用いる管理情報のブロードキャスト
US20210397429A1 (en) Live updates of stateful components
US10187485B1 (en) Systems and methods for sending push notifications that include preferred data center routing information
US20120278796A1 (en) Automatically installing device drivers
US8918776B2 (en) Self-adapting software system
US20210132860A1 (en) Management of multiple physical function non-volatile memory devices
CN108632354B (zh) 物理机纳管方法、装置及云桌面管理平台
CN106599323B (zh) 在分布式文件***中实现分布式管道的方法和装置
CN107623581B (zh) 服务列表生成方法、装置及***,获取、上报方法及装置
CN109218338B (zh) 信息处理***、方法和装置
CN107209882B (zh) 对于处在管理之下的设备的多阶段撤销注册
CN111314396B (zh) 数据处理方法及装置
CN107547751B (zh) 媒体资源保存方法、媒体资源保存装置及终端设备
CN117827297A (zh) 边带裸机置备
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