CN104468811A - 升级方法及装置 - Google Patents

升级方法及装置 Download PDF

Info

Publication number
CN104468811A
CN104468811A CN201410789446.7A CN201410789446A CN104468811A CN 104468811 A CN104468811 A CN 104468811A CN 201410789446 A CN201410789446 A CN 201410789446A CN 104468811 A CN104468811 A CN 104468811A
Authority
CN
China
Prior art keywords
virtual machine
desktop
user virtual
management unit
agents
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.)
Granted
Application number
CN201410789446.7A
Other languages
English (en)
Other versions
CN104468811B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410789446.7A priority Critical patent/CN104468811B/zh
Publication of CN104468811A publication Critical patent/CN104468811A/zh
Application granted granted Critical
Publication of CN104468811B publication Critical patent/CN104468811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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)
  • Stored Programmes (AREA)

Abstract

本发明实施例涉及一种升级方法及装置,包括:在终端设备上安装第二客户端;创建一组管理虚拟机,在每个管理虚拟机中搭建第二管理组件;将第一管理组件的数据迁移至第二管理组件对应的数据库中;将预先创建的桌面代理升级包推送给每个用户虚拟机,以使用户虚拟机重启时,根据预先创建的桌面代理升级包,将用户虚拟机上安装的第一桌面代理升级为第二桌面代理;更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项包括第二管理组件的地址,以使第二桌面代理运行时,根据第二管理组件的地址,向第二管理组件发送注册请求,由第二管理组件对所述用户虚拟机进行注册。由此,可以实现在不中断业务的情况下,完成对桌面云系统升级。

Description

升级方法及装置
技术领域
本发明涉及桌面云领域,尤其涉及一种升级方法及装置。
背景技术
桌面云(Desktop Cloud)是云计算技术的一种应用形态,它将用户桌面与实际终端设备相分离,将原本运行在终端设备上的桌面和应用程序托管到服务器端运行,并由终端设备通过网络进行远程访问,而终端设备本身仅实现输入输出与界面显示功能。图1为桌面云系统的示意图,图1中,该系统包括:终端设备(如,个人计算机(Personal Computer,PC)、瘦客户机(ThinClient,TC)、平板电脑和手机),接入服务器(也即WEB界面(Web Interface,WI)),虚拟桌面管理服务器和虚拟机(Virtual Machine,VM)中虚拟机桌面代理(Virtual Desktop Agent,VDA),其中虚拟桌面管理服务器包括:桌面传输控制器(Desktop Delivery Controller,DDC)和IT适配器(ITAdapter,ITA),其中,ITA、DDC和WI统称为管理组件,用于建立终端设备与VM之间的连接关系,并对通过用户终端登录VM的用户的身份进行验证。然而,随着云计算技术的发展,往往需要对桌面云系统进行升级。
现有技术中,在对桌面云系统进行升级时,通常先升级终端设备,然后依次对ITA、DDC和WI进行升级,最后对VM(即VDA)进行升级。然而,当VM的数量比较大时,这些VM通常会分散在不同的区域,很难在短时间内一次完成升级,由此,当全部的VM不能一次性全部完成升级时,由于ITA、DDC和WI已经升级到新的版本,未完成升级的VM由于与管理组件的版本不匹配,导致不能与终端设备之间建立正确的连接关系,从而出现业务中断的问题。
发明内容
本发明实施例提供了一种升级方法及装置,可以实现在不中断业务的情况下,完成对桌面云系统的升级。
第一方面,提供了一种升级方法,所述方法适用于将第一桌面云系统升级为第二桌面云系统,其中,第一桌面云系统包括:第一客户端、桌面云管理集群和用户集群,所述桌面云管理集群包括第一管理组件,所述用户集群包括多个用户虚拟机,该方法包括:
在安装有第一客户端的终端设备上安装第二客户端;
在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与所述第二客户端对应的第二管理组件;
将所述第一管理组件对应的数据库中的数据迁移至所述第二管理组件对应的数据库中;
将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理;
更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括所述第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
结合第一方面,在第一方面的第一种实现方式中,所述将所述第一管理组件对应的数据库中的第一数据迁移至所述第二管理组件对应的数据库中包括:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,在执行所述数据迁移的步骤时,只执行读取所述数据的操作。
结合第一方面,在第一方面的第三种实现方式中,所述将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理包括:
将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器;
向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
结合第一方面或第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理包括:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
结合第一方面的第三种实现方式,在第一方面的第五种实现方式中,所述方法还包括:
当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息;
将所述升级结果信息导出为升级报告。
结合第一方面,在第一方面的第六种实现方式中,所述将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机包括:
推送步骤:将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;
重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。
第二方面,提供了一种升级装置,所述装置适用于将第一桌面云系统升级为第二桌面云系统,其中,第一桌面云系统包括:第一客户端、桌面云管理集群和用户集群,所述桌面云管理集群包括第一管理组件,所述用户集群包括多个用户虚拟机,所述装置包括:安装单元、创建单元、迁移单元、推送单元和更新单元;
所述安装单元,用于在安装有第一客户端的终端设备上安装第二客户端;
所述创建单元,用于在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与所述安装单元安装的所述第二客户端对应的第二管理组件;
所述迁移单元,用于将所述第一管理组件对应的数据库中的数据迁移至所述创建单元搭建的所述第二管理组件对应的数据库中;
所述推送单元,用于将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理;
所述更新单元,用于更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括所述第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
结合第二方面,第二方面的第一种实现方式中,所述迁移单元具体用于:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,在所述迁移单元执行所述数据迁移的步骤时,只执行读取所述数据的操作。
结合第二方面,在第二方面的第三种实现方式中,所述推送单元具体用于:
将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器;
向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
结合第二方面或第二方面的第三种实现方式,在第二方面的第四种实现方式中,所述通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理包括:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
结合第二方面的第三种实现方式,在第二方面的第五种实现方式中,所述装置还包括:接收单元和导出单元;
所述接收单元,用于当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息;
所述导出单元,用于将所述接收单元接收的所述升级结果信息导出为升级报告。
结合第二方面,在第二方面的第六种实现方式中,所述推送单元具体用于:
将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;
重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。
本发明实施例提供的升级方法及装置,在对桌面云系统升级的过程中,同时保证升级前的桌面云系统正常运行,由此可以解决现有技术中在对桌面云系统升级时业务中断的问题,并且可以降低桌面云系统升级的风险。
附图说明
图1为桌面云系统的示意图;
图2为本发明实施例一提供的升级方法的流程图;
图3为本发明提供的桌面云系统的示意图;
图4为本发明提供的桌面代理升级方法的信息交互图;
图5为本发明实施例二提供的升级装置的示意图;
图6为本发明实施例三提供的升级装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
本发明实施例提供的升级方法及装置,适用于对桌面云系统的升级,尤其适用于升级前后桌面云系统版本变化较大或者是跨协议的桌面云系统升级,例如,将Ci t irx的桌面云系统XenDesktp升级为桌面云系统Fus ionAccess,其中,桌面云系统包括:客户端、桌面云管理集群和用户集群,客户端运行在终端设备上,终端设备可以是用户使用的PC、瘦客户机、平板电脑和手机等,其基本要求时能够连接网络并至少支持一种远程访问协议。在桌面云系统XenDesktp中,客户端可以为接收器(Receiver),而在桌面云系统FusionAccess中,客户端可以为桌面客户端(AccessClient);集群是指由一组主机和存储器等资源在虚拟化场景下规划成的,也即是一个虚拟化资源池,桌面云管理集群是指管理虚拟机所在集群,其包括多组管理虚拟机,其中,一组管理虚拟机中各管理虚拟机搭建相同版本的管理组件(例如:WI、DDC和ITA),管理组件用于管理用户集群中的多个用户虚拟机,其管理的多个用户虚拟机的信息存储在该管理组件对应的数据库中;用户集群是指用户虚拟机所在集群,其包括多个用户虚拟机,这些用户虚拟机是由一台或多台物理服务器上安装的计算节点代理(Comput ing Node Agent,CNA)从逻辑上划分出来的,这些用户虚拟机上安装有桌面代理(例如,VDA),桌面代理用于代理虚拟机与客户端进行通信,具体地可以向登录到该桌面代理所在用户虚拟机的客户端推送该用户虚拟机能够实现的功能。
图2为本发明实施例一提供的升级方法的流程图。如图2所示,所述方法具体包括:
S210,在安装有第一客户端的终端设备上安装第二客户端。
参见图3所示的本发明提供的桌面云系统的示意图,如图3所示,在桌面云系统为旧版本Vdesktop3.0时,终端设备TC上安装有第一客户端:Receiver,使用TC的用户通过Receiver登录到用户虚拟机。在需要将旧版本Vdesktop3.0升级为新版本FusionAccess5.1时,则通过TCM(TCM是指TC的管理软件,由TC厂商提供)将第二客户端:AccessClient安装到该TC上,从而实现该TC的升级,也即升级后的TC上同时安装有新旧版本的客户端。由于TC上安装的旧版本的客户端不用卸载,所以使用升级后的TC的用户可以继续使用旧版本的客户端登录到用户虚拟机。由此,可以避免在对客户端进行升级时,由于升级不成功导致的旧版本的客户端被损坏的问题。
S220,在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与所述第二客户端对应的第二管理组件。
图3中,桌面云管理集群包括两组管理虚拟机,其中,第一组管理虚拟机是在升级前就已经存在的,并且该第一组管理虚拟机运行旧版本Vdesktop3.0的管理组件,即第一管理组件,包括:WI、DDC和ITA,其中,WI为使用终端设备的用户提供Web登录界面,使上述用户能够通过Web界面登录与该用户绑定的用户虚拟机,DDC用于管理用户虚拟机的注册、用户虚拟机的分组、以及关联或解关联用户和用户虚拟机,ITA为用户管理用户虚拟机提供接口,通过与DDC以及虚拟化软件(例如,Fus ionCompute)的交互,实现用户虚拟机创建与分配、用户虚拟机状态管理、用户虚拟机镜像管理、虚拟桌面系统操作维护功能。图3中,虚拟资源管理器(Virtual ResourceManager,VRM)提供VRM界面,具体地,管理员通过VRM界面下发创建管理组件的指令,桌面云管理集群在接收到上述创建管理组件的指令时,建立第二组管理虚拟机,该创建管理组件的指令包括新版本管理组件的安装包,在创建第二组管理虚拟机之后,将上述安装包挂载到第二组管理组件的每个管理虚拟机的光驱,运行所述安装包从而搭建新版本Fus ionAccess5.1的管理组件,即第二管理组件,包括:WI、HDC和ITA,其中,华为桌面控制器(HuaweiDesktop Controller,HDC)与DDC的功能类似,在此不作赘述。
需要说明的是,第二管理组件是与第二客户端相对应的,也即由所述第二管理组件建立所述第二客户端所在的终端设备与用户虚拟机的连接关系,并对通过所述第二客户端登录用户虚拟机的用户的身份进行验证。
S230,将所述第一管理组件对应的数据库中的数据迁移至所述第二管理组件对应的数据库中。
上述数据迁移的步骤可以通过运行在PC机上的数据迁移工具(如,Migrat ion Tool)执行,具体可以包括:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
在此说明,第一管理组件的第一数据包括:第一管理组件管理的用户虚拟机的信息(例如,用户虚拟机的名称或者网络协议(Internet Protocol,IP)地址等)、用户虚拟机的分组信息、用户虚拟机的桌面分组信息以及用户与用户虚拟机之间的绑定关系等。图3中,第一管理组件(WI、DDC和ITA)对应的数据库可以是SQL Server,标准的数据库语句则可以为标准的SQL语句;而第二管理组件(WI、HDC和ITA)对应的数据库可以是自定义数据库,与第二管理组件的数据格式对应的第二数据则可以为与自定义数据库中数据格式对应的SQL语句。
需要说明的是,在执行所述数据迁移的步骤时,只执行读取所述数据的操作,而不执行写数据的操作,从而保证了数据迁移过程中不影响旧版本桌面云系统的业务,可以在线进行迁移。
此外,虽然图3中是以桌面云管理集群中包括两组管理虚拟机,且每组管理虚拟机中包括两个管理虚拟机为例进行说明的,但并限于两组管理虚拟机,也不限于每组管理虚拟机中只能包括两个管理虚拟机,本领域技术人员通过本发明的方法可以在桌面云管理集群中建立多组管理虚拟机,且每组管理虚拟机可以包括多个管理虚拟机。
S240,将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
在此说明,桌面代理升级包是通过升级工具预先创建好的,可以为ISO格式。在前述例子中,第一桌面代理可以为VDA,而第二桌面代理可以为华为桌面代理(Huawei Desktop Agent,HDA)。
步骤S240可以通过运行在PC机上的升级工具(如,start.vbs)执行,具体可以包括:
A:将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器。
此处,可以推送给服务器上安装的CNA,其中,CNA与用户虚拟机之间是一对多的关系,即可以由一个CNA虚拟出多个用户虚拟机。此处,多个用户虚拟机所在的服务器可以是一个也可以是多个。
具体地,步骤A还可以进一步包括:推送步骤,将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。通过该批量发送预先创建的桌面代理升级包的步骤,可以实现用户虚拟机的批量升级,从而可以达到用户虚拟机自动被新版本的桌面系统纳管的目的。
B:向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
此处,可以由拷贝到用户虚拟机上的桌面代理升级包中的升级脚本在操作系统定时任务列表中创建升级任务。
需要说明的是,S240中通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理具体可以包括:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
可选地,所述方法还可以包括:
当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息;将所述升级结果信息导出为升级报告。通过导出升级报告的步骤,可以方便管理人员对用户虚拟机升级结果信息的查询。
S250,更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
在升级之前,由第一桌面代理代替用户虚拟机与第一客户端进行通信,而用户虚拟机与第一客户端之间的连接关系是由第一管理组件建立的,因此,地址注册表项(listOfHDC)中记录的是第一管理组件的地址。而将用户虚拟机中的第一桌面代理升级为第二桌面代理时,由第二管理组件建立第二客户端与用户虚拟机之间的连接关系,所以需要将地址注册表项中的第一管理组件的地址更新为第二管理组件的地址,从而在第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册,其中,第二管理组件的地址是由管理员在创建好第二组管理虚拟机之后重新规划得到的。
在执行完成本发明中的升级方法之后,终端设备接收修改登录地址指令,所述修改登录地址指令用于指示所述终端设备将登录地址修改为第二管理组件中WI的地址,其中,修改方式包括两种:
A:若登录地址已配置成域名,则需要通过将域名解析系统(Domain NameSystem,DNS)上的登录域名映射到第二管理组件中WI的地址实现上述登录地址的修改。
B:若登录地址未配置成域名,用的是IP地址,则直接修改终端设备上的登录地址,也可以通过TCM批量下发修改后的WI配置列表。
图4为本发明提供的桌面代理升级方法的信息交互图,如图4所示,该桌面代理升级方法可以具体包括如下步骤:
S410,升级工具向多个用户虚拟机所在的服务器推送预先创建的桌面代理升级包。
例如,向服务器上安装的CNA推送预先创建的HDA升级包。
S420,检查上述用户虚拟机是否符合升级条件。
其中,检查用户虚拟机是否符合升级条件包括:检查用户虚拟机磁盘的剩余空间是否大于阈值以及检查用户虚拟机光驱是否可以进行挂载等。在此说明,不符合升级条件的用户虚拟机将不能被升级。
S430,向每个CNA发送升级指令。
S440,CNA将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个符合升级条件的用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务。
具体地,由拷贝到用户虚拟机上的桌面代理升级包中的升级脚本在操作系统定时任务列表中创建升级任务,创建了升级任务的用户虚拟机在重启时,触发所述升级任务。
S450,用户虚拟机接收重启用户虚拟机的指令。
该重启用户虚拟机的指令可以是由管理员通过VRM界面下发的。
S460,卸载所述第一桌面代理。
S470,卸载完成后,安装所述第二桌面代理。
S480,用户虚拟机向CNA返回升级结果信息。
所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理。
S490,升级工具接收CNA转发的升级结果信息,将所述升级结果信息导出为升级报告。
综上,本发明实施例提供的升级方法,在对桌面云系统升级的过程中,同时保证升级前的桌面云系统正常运行,由此可以解决现有技术中在对桌面云系统升级时业务中断的问题,从而可以降低桌面云系统升级的风险。
图5为本发明实施例二提供的升级装置的示意图。所述装置可以用于执行图2所述的方法。该装置适用于将第一桌面云系统升级为第二桌面云系统,其中,第一桌面云系统包括:第一客户端、桌面云管理集群和用户集群,所述桌面云管理集群包括第一管理组件,所述用户集群包括多个用户虚拟机,图5中,该装置包括:安装单元501、创建单元502、迁移单元503、推送单元504和更新单元505。
安装单元501,用于在安装有第一客户端的终端设备上安装第二客户端。
创建单元502,用于在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与安装单元501安装的所述第二客户端对应的第二管理组件。
迁移单元503,用于将所述第一管理组件对应的数据库中的数据迁移至创建单元502搭建的所述第二管理组件对应的数据库中。
迁移单元503具体用于:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
需要说明的是,在迁移单元503执行所述数据迁移的步骤时,只执行读取所述数据的操作。
推送单元504,用于将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
推送单元504具体用于:
将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器;
向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
所述通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理,可以包括:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
更新单元505,用于更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括所述第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
可选地,所述装置还包括:接收单元506和导出单元507。
接收单元506,用于当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息。
导出单元507,用于将接收单元506接收的所述升级结果信息导出为升级报告。
可选地,推送单元504具体用于:
将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;
重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。
本发明实施例二提供的装置植入了本发明实施例一提供的方法,因此,本发明提供的装置的具体工作过程,在此不复赘述。
本发明实施例提供的升级装置,在对桌面云系统升级的过程中,同时保证升级前的桌面云系统正常运行,由此可以解决现有技术中在对桌面云系统升级时业务中断的问题,从而可以降低桌面云系统升级的风险。
图6为本发明实施例三提供的升级装置的示意图。如图6所示,所述装置包括:网络接口601、处理器602和存储器603。系统总线604用于连接网络接口601、处理器602和存储器603。
举例来说,处理器602可以是CPU。
网络接口601用于与其它设备通信。
存储器603可以是永久存储器,例如硬盘驱动器和闪存,存储器603中具有软件模块和设备驱动程序。软件模块能够执行本发明上述方法的各种功能模块;设备驱动程序可以是网络和接口驱动程序。
在启动时,这些软件组件被加载到存储器603中,然后被处理器602访问并执行如下指令:
在安装有第一客户端的终端设备上安装第二客户端;
在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与所述第二客户端对应的第二管理组件;
将所述第一管理组件对应的数据库中的数据迁移至所述第二管理组件对应的数据库中;
将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理;
更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括所述第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
进一步的,所述应用程序还包括可用于使所述处理器602和所述装置执行以下过程的指令:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
可选的,在执行所述数据迁移的步骤时,只执行读取所述数据的操作。
进一步的,所述应用程序还包括可用于使所述处理器602和所述装置执行以下过程的指令:
将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器;
向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
进一步的,所述应用程序还包括可用于使所述处理器602和所述装置执行以下过程的指令:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
进一步的,所述应用程序还包括可用于使所述处理器602和所述装置执行以下过程的指令:
当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息;
将所述升级结果信息导出为升级报告。
进一步的,所述应用程序还包括可用于使所述处理器602和所述装置执行以下过程的指令:
推送步骤:将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;
重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。
本发明实施例提供的升级装置,在对桌面云系统升级的过程中,同时保证升级前的桌面云系统正常运行,由此可以解决现有技术中在对桌面云系统升级时业务中断的问题,从而可以降低桌面云系统升级的风险。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种升级方法,其特征在于,所述方法适用于将第一桌面云系统升级为第二桌面云系统,其中,第一桌面云系统包括:第一客户端、桌面云管理集群和用户集群,所述桌面云管理集群包括第一管理组件,所述用户集群包括多个用户虚拟机,所述方法包括:
在安装有第一客户端的终端设备上安装第二客户端;
在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与所述第二客户端对应的第二管理组件;
将所述第一管理组件对应的数据库中的数据迁移至所述第二管理组件对应的数据库中;
将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理;
更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括所述第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
2.根据权利要求1所述的升级方法,其特征在于,所述将所述第一管理组件对应的数据库中的第一数据迁移至所述第二管理组件对应的数据库中包括:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
3.根据权利要求1或2所述的升级方法,其特征在于,在执行所述数据迁移的步骤时,只执行读取所述数据的操作。
4.根据权利要求1所述的升级方法,其特征在于,所述将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理包括:
将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器;
向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
5.根据权利要求1或4所述的升级方法,其特征在于,所述通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理包括:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
6.根据权利要求4所述的升级方法,其特征在于,所述方法还包括:
当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息;
将所述升级结果信息导出为升级报告。
7.根据权利要求1所述的升级方法,其特征在于,所述将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机包括:
推送步骤:将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;
重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。
8.一种升级装置,其特征在于,所述装置适用于将第一桌面云系统升级为第二桌面云系统,其中,第一桌面云系统包括:第一客户端、桌面云管理集群和用户集群,所述桌面云管理集群包括第一管理组件,所述用户集群包括多个用户虚拟机,所述装置包括:安装单元、创建单元、迁移单元、推送单元和更新单元;
所述安装单元,用于在安装有第一客户端的终端设备上安装第二客户端;
所述创建单元,用于在所述桌面云管理集群中创建一组管理虚拟机,在所述一组管理虚拟机的每个管理虚拟机中搭建与所述安装单元安装的所述第二客户端对应的第二管理组件;
所述迁移单元,用于将所述第一管理组件对应的数据库中的数据迁移至所述创建单元搭建的所述第二管理组件对应的数据库中;
所述推送单元,用于将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中每个用户虚拟机,以使所述用户虚拟机重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理;
所述更新单元,用于更新升级为第二桌面代理的用户虚拟机中的地址注册表项,更新的地址注册表项中包括所述第二管理组件的地址,以使所述第二桌面代理运行时,根据所述第二管理组件的地址,向所述第二管理组件发送注册请求,由所述第二管理组件对所述用户虚拟机进行注册。
9.根据权利要求8所述的升级装置,其特征在于,所述迁移单元具体用于:
从所述第一管理组件对应的数据库中读取所述第一管理组件的第一数据,将所述第一数据导出为标准的数据库语句,并保存到文本文件中;
从所述文本文件中读取所述标准的数据库语句,将所述标准的数据库语句转换为与所述第二管理组件的数据格式对应的第二数据,并向所述第二管理组件对应的数据库中写入所述第二数据。
10.根据权利要求8或9所述的升级装置,其特征在于,在所述迁移单元执行所述数据迁移的步骤时,只执行读取所述数据的操作。
11.根据权利要求8所述的升级装置,其特征在于,所述推送单元具体用于:
将预先创建的桌面代理升级包推送给所述多个用户虚拟机所在的服务器;
向所述服务器发送升级指令,以使所述服务器在接收到所述升级指令时,将所述预先创建的桌面代理升级包挂载到所述多个用户虚拟机中每个用户虚拟机上,拷贝到所述用户虚拟机的升级目录中,并在所述用户虚拟机的操作系统定时任务列表中创建升级任务,从而所述用户虚拟机在重启时,通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理。
12.根据权利要求8或11所述的升级装置,其特征在于,所述通过运行所述预先创建的桌面代理升级包,将所述用户虚拟机上安装的第一桌面代理升级为第二桌面代理包括:
卸载所述第一桌面代理,并在卸载完成后,安装所述第二桌面代理。
13.根据权利要求11所述的升级装置,其特征在于,所述装置还包括:接收单元和导出单元;
所述接收单元,用于当所述服务器接收到所述用户虚拟机返回的升级结果信息时,所述升级结果信息用于表示所述用户虚拟机是否完成将第一桌面代理升级为第二桌面代理,接收所述服务器转发的所述升级结果信息;
所述导出单元,用于将所述接收单元接收的所述升级结果信息导出为升级报告。
14.根据权利要求8所述的升级装置,其特征在于,所述推送单元具体用于:
将所述预先创建的桌面代理升级包推送给所述多个用户虚拟机中指定数目用户虚拟机;
重复执行所述推送步骤,直至所述每个用户虚拟机接收到所述预先创建的桌面代理升级包。
CN201410789446.7A 2014-12-17 2014-12-17 升级方法及装置 Active CN104468811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410789446.7A CN104468811B (zh) 2014-12-17 2014-12-17 升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410789446.7A CN104468811B (zh) 2014-12-17 2014-12-17 升级方法及装置

Publications (2)

Publication Number Publication Date
CN104468811A true CN104468811A (zh) 2015-03-25
CN104468811B CN104468811B (zh) 2017-12-15

Family

ID=52914163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410789446.7A Active CN104468811B (zh) 2014-12-17 2014-12-17 升级方法及装置

Country Status (1)

Country Link
CN (1) CN104468811B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222355A (zh) * 2017-07-27 2017-09-29 郑州云海信息技术有限公司 一种服务器升级方法及装置
CN108063679A (zh) * 2016-11-09 2018-05-22 中国移动通信有限公司研究院 一种云管理平台的升级方法及装置
CN109254825A (zh) * 2017-07-12 2019-01-22 中兴通讯股份有限公司 一种纳管虚拟机硬盘的方法及装置
CN109688180A (zh) * 2017-10-19 2019-04-26 阿里巴巴集团控股有限公司 一种基于镜像的云服务软件升级方法和装置
CN110442426A (zh) * 2019-07-25 2019-11-12 腾讯科技(深圳)有限公司 一种密码重置方法、装置及存储介质
CN115688069A (zh) * 2022-11-04 2023-02-03 江西五十铃汽车有限公司 一种系统登入请求响应方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332848B2 (en) * 2009-03-12 2012-12-11 Red Hat Israel, Ltd. Mechanism for staged upgrades of a virtual machine system
CN103150185A (zh) * 2013-03-15 2013-06-12 汉柏科技有限公司 虚拟机Agent自动升级的方法
CN103218248A (zh) * 2013-03-25 2013-07-24 华为技术有限公司 一种虚拟机镜像的更新方法、服务器和桌面云系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332848B2 (en) * 2009-03-12 2012-12-11 Red Hat Israel, Ltd. Mechanism for staged upgrades of a virtual machine system
CN103150185A (zh) * 2013-03-15 2013-06-12 汉柏科技有限公司 虚拟机Agent自动升级的方法
CN103218248A (zh) * 2013-03-25 2013-07-24 华为技术有限公司 一种虚拟机镜像的更新方法、服务器和桌面云系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XUE OUYANG, BO DING, HUAIMIN WANG: "Delayed Switch: Cloud service upgrade with low availability and capacity loss", 《2014 5TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS)》 *
李镇伟: "基于桌面云技术的电子阅览室升级初探", 《图书馆工作与研究》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063679A (zh) * 2016-11-09 2018-05-22 中国移动通信有限公司研究院 一种云管理平台的升级方法及装置
CN108063679B (zh) * 2016-11-09 2020-05-15 中国移动通信有限公司研究院 一种云管理平台的升级方法及装置
CN109254825A (zh) * 2017-07-12 2019-01-22 中兴通讯股份有限公司 一种纳管虚拟机硬盘的方法及装置
CN107222355A (zh) * 2017-07-27 2017-09-29 郑州云海信息技术有限公司 一种服务器升级方法及装置
CN107222355B (zh) * 2017-07-27 2020-12-01 苏州浪潮智能科技有限公司 一种服务器升级方法及装置
CN109688180A (zh) * 2017-10-19 2019-04-26 阿里巴巴集团控股有限公司 一种基于镜像的云服务软件升级方法和装置
CN109688180B (zh) * 2017-10-19 2022-05-10 阿里巴巴集团控股有限公司 一种基于镜像的云服务软件升级方法和装置
CN110442426A (zh) * 2019-07-25 2019-11-12 腾讯科技(深圳)有限公司 一种密码重置方法、装置及存储介质
CN110442426B (zh) * 2019-07-25 2023-09-26 腾讯科技(深圳)有限公司 一种密码重置方法、装置及存储介质
CN115688069A (zh) * 2022-11-04 2023-02-03 江西五十铃汽车有限公司 一种系统登入请求响应方法、装置及设备

Also Published As

Publication number Publication date
CN104468811B (zh) 2017-12-15

Similar Documents

Publication Publication Date Title
CN104468811A (zh) 升级方法及装置
CN102427481B (zh) 用于对云计算服务进行管理的系统及云计算管理方法
US8943496B2 (en) Providing a hosted appliance and migrating the appliance to an on-premise environment
US9253265B2 (en) Hot pluggable extensions for access management system
US9032394B1 (en) Deploying drivers for an operating system on a computing device
US9021005B2 (en) System and method to provide remote device management for mobile virtualized platforms
US11249788B2 (en) Cloud management platform, and virtual machine management method and system
CN110196722B (zh) 云主机批量管理方法、系统、设备及存储介质
US9633127B2 (en) Deploying programs in a cluster node
US20090210871A1 (en) System and method for software application migration
US11231919B2 (en) Live updates of stateful components
CN109474467B (zh) 网络自动化管理方法、装置、存储介质及电子设备
US20210072976A1 (en) Software and firmware updates of computing systems
CN111858628A (zh) 基于数据库的管理方法、平台、电子设备及存储介质
US20190129743A1 (en) Method and apparatus for managing virtual machine
US11704105B2 (en) Method, device, and computer program product for managing virtual machine upgrade
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN112764995B (zh) 一种服务器硬件资源监控方法、装置和介质
CN111711713B (zh) 数据访问方法、计算机设备及存储介质
JP2023531701A (ja) 効率的コントローラデータ生成および抽出
CN112559006A (zh) 企业客户端自动升级方法、系统、设备及存储介质
US20190379580A1 (en) Managing server nodes on a management network with modified service discovery protocol messages
CN113055500B (zh) 地址请求方法、装置及计算机可读存储介质
US11972028B2 (en) Method and system for managing data protection feature compatibility
US11061666B1 (en) Distributing computing tasks to individual computer systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220217

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right