CN118467078A - 桌面云的应用程序管控方法、电子设备及系统 - Google Patents
桌面云的应用程序管控方法、电子设备及系统 Download PDFInfo
- Publication number
- CN118467078A CN118467078A CN202410520837.2A CN202410520837A CN118467078A CN 118467078 A CN118467078 A CN 118467078A CN 202410520837 A CN202410520837 A CN 202410520837A CN 118467078 A CN118467078 A CN 118467078A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- installation package
- application program
- target application
- installation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000009434 installation Methods 0.000 claims abstract description 216
- 230000005540 biological transmission Effects 0.000 claims abstract description 94
- 238000012795 verification Methods 0.000 claims description 114
- 230000004044 response Effects 0.000 claims description 25
- 238000007726 management method Methods 0.000 description 41
- 235000013599 spices Nutrition 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 6
- 238000002955 isolation Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种桌面云的应用程序管控方法、电子设备及系统,其中的桌面云系统包括:第一设备和第二设备;第一设备上部署有虚拟机,虚拟机被分配给第二设备,第二设备的操作系统与虚拟机之间具有基于远程桌面协议的传输通道;第一设备获得针对目标应用程序的推送操作;响应于推送操作,至少将目标应用程序的安装包通过第一设备与第二设备之间的数据连接发送给第二设备;第二设备响应于针对目标应用程序的安装操作,将安装包保存到第二设备对应的本地缓存;并将本地缓存中的安装包通过传输通道传输给虚拟机,以使得虚拟机通过安装包安装目标应用程序。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种桌面云的应用程序管控方法、电子设备及系统。
背景技术
目前,桌面云主要通过虚拟化技术将服务器端的虚拟机分配至各个办公用户,用户可以使用配置简单的办公电脑即瘦终端通过配置的客户端程序访问相应的虚拟机,无需经常更新办公用户的办公电脑,在服务器端就可以实现虚拟机配置的弹性升级。此时,服务器端与瘦终端之间形成管理网,而虚拟机之间形成业务网,管理网与业务网之间互相隔离,以保证虚拟机数据的安全性。
但是,因为业务网与管理网之间互相隔离,使得服务器端仅可以使能虚拟机或禁用虚拟机,而无法对虚拟机中的应用程序进行管控,如果虚拟机通过其他方式任意安装或卸载应用程序,就存在安全风险。
发明内容
有鉴于此,本申请提供一种桌面云的应用程序管控方法、电子设备及系统,如下:
一种桌面云的应用程序管控方法,应用于第一设备,所述第一设备上部署有虚拟机,所述虚拟机被分配给第二设备,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
所述方法包括:
获得针对目标应用程序的推送操作;
响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
其中,在所述第二设备上响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
上述方法,优选的,所述方法还包括:
通过所述数据连接,接收所述第二设备传输的目标验证码,所述目标验证码由所述虚拟机在接收到所述安装包之后基于所述安装包获得并通过所述传输通道发送给所述第二设备的操作系统;
将所述目标验证码与验证列表中所述目标应用程序对应的程序验证码进行比对,以得到安装验证结果;所述验证列表包含所述第一设备推送给所述第二设备的任一应用程序对应的程序验证码;
响应于所述安装验证结果表征所述目标验证码与所述程序验证码不匹配,禁用所述虚拟机。
一种桌面云的应用程序管控方法,应用于第二设备,所述第二设备被第一设备分配有虚拟机,所述第一设备上部署所述虚拟机,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
所述方法包括:
通过所述第一设备与所述第二设备之间的数据连接,接收所述第一设备响应于针对目标应用程序的推送操作所发送的所述目标应用程序的安装包;
响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;
将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
上述方法,优选的,将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,包括:
触发基于所述远程桌面协议的拖拽事件,以使得所述本地缓存中的所述安装包通过所述传输通道被传输给所述虚拟机。
上述方法,优选的,触发基于所述远程桌面协议的拖拽事件,包括:
在所述传输通道,注册所述安装包对应的保存事件;
响应于所述保存事件,生成下载信号;
响应于所述下载信号,调用基于所述远程桌面协议的拖拽方法,以通过所述拖拽方法将所述本地缓存中的所述安装包传输给所述虚拟机。
上述方法,优选的,所述方法还包括:
通过所述数据连接,接收所述第一设备发送的所述目标应用程序对应的程序验证码;
其中,在将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机之前,所述方法还包括:
获得所述本地缓存中的所述安装包对应的缓存验证码;
将所述缓存验证码与所述程序验证码进行比对,以得到缓存验证结果;
响应于所述缓存验证结果表征所述缓存验证码与所述程序验证码相匹配,执行所述:将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机。
上述方法,优选的,所述方法还包括:
获得所述虚拟机通过所述传输通道发送的目标验证码,所述目标验证码由所述虚拟机在接收到所述安装包之后基于所述安装包获得;
将所述目标验证码通过所述数据连接发送给所述第一设备;
其中,在所述第一设备上将所述目标验证码与验证列表中所述目标应用程序对应的程序验证码进行比对,以得到安装验证结果;所述验证列表包含所述第一设备推送给所述第二设备的任一应用程序对应的验证码;且所述第一设备响应于所述安装验证结果表征所述目标验证码与所述程序验证码不匹配,禁用所述虚拟机。
一种电子设备,所述电子设备作为第一设备,所述第一设备上部署有虚拟机,所述虚拟机被分配给第二设备,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
其中,所述第一设备包括:
处理器,用于获得针对目标应用程序的推送操作;
传输模块,用于响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
其中,在所述第二设备上响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
一种电子设备,所述电子设备作为第二设备,所述第二设备被第一设备分配有虚拟机,所述第一设备上部署所述虚拟机,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
其中,所述第二设备包括:
传输模块,用于通过所述第一设备与所述第二设备之间的数据连接,接收所述第一设备响应于针对目标应用程序的推送操作所发送的所述目标应用程序的安装包;
处理器,用于响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
一种桌面云系统,包括:第一设备和第二设备;所述第一设备上部署有虚拟机,所述虚拟机被分配给所述第二设备,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
其中:
所述第一设备获得针对目标应用程序的推送操作;响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
所述第二设备响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
一种计算机装置/设备/系统,包括:存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述方法的步骤。
一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述方法的步骤。
从上述技术方案可以看出,本申请公开的一种桌面云的应用程序管控方法、电子设备及系统中,在第一设备推送应用程序的安装包给第二设备之后,第二设备通过与虚拟机之间的基于远程桌面协议的传输通道将安装包传输到虚拟机中,由此在管理网(第一设备与第二设备之间的网络)与业务网(虚拟机之间的网络)互相隔离的前提下,第一设备能够实现应用程序的安装管控,能够保证虚拟机数据的安全,提高安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种桌面云的应用程序管控方法的流程图;
图2为桌面云的架构示意图;
图3为本申请实施例一提供的一种桌面云的应用程序管控方法的部分流程图;
图4为本申请实施例二提供的一种桌面云的应用程序管控方法的流程图;
图5为本申请实施例二提供的一种桌面云的应用程序管控方法的另一流程图;
图6为本申请实施例二提供的一种桌面云的应用程序管控方法的另一流程图;
图7为本申请实施例三提供的一种电子设备的结构示意图;
图8为本申请实施例四提供的一种电子设备的结构示意图;
图9为本申请实施例五提供的一种桌面云系统的架构示意图;
图10为现有桌面云中管理网与业务网之间隔离的示意图;
图11为现有桌面云中管理网与业务网间通过网络桥接服务实现虚拟机软件安装的示意图;
图12为本申请中桌面云管理网与业务网之间通过spice实现虚拟机软件安装的架构示意图;
图13为本申请中桌面云管理网与业务网之间通过spice实现虚拟机软件安装的交互示意图;
图14为本申请中桌面云的客户端完整性校验软件安装包的流程示意图;
图15为本申请中桌面云的服务端通过比对MD5值对虚拟机安装软件进行合法性鉴别的示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1所示,为本申请实施例一提供的一种桌面云的应用程序管控方法的实现流程图,该方法可以应用于第一设备,如服务器,第一设备上部署有虚拟机,虚拟机被分配给第二设备,如图2中所示,第二设备可以为硬件资源配置相对简单的设备,如瘦终端等。第一设备与第二设备之间部署有第一网络,使得第一设备与第二设备之间具有数据连接,即管理网,在管理网中,第一设备能够为第二设备部署虚拟机,如使用部署的虚拟机或禁用部署的虚拟机等。每个第二设备所部署的虚拟机之间具有第二网络,即业务网,在业务网中,虚拟机之间能够实现通信。但业务网与管理网之间互相隔离。例如,第二设备的操作系统通过管理网能够连接到第一设备,但第二设备上通过客户端程序访问的虚拟机处于业务网,与第二设备的操作系统之间不互联。第二设备的操作系统上可以安装有能够访问虚拟机的客户端程序,而第二设备的操作系统与其被分配的虚拟机之间具有基于远程桌面协议的传输通道,如基于spice的传输通道。本实施例中的技术方案主要用于在管理网与业务网互相隔离的前提下,实现对应用程序的安装管控,提高安全性。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:获得针对目标应用程序的推送操作。
其中,第一设备的存储区域中存储有至少一个待推送的应用程序,这些待推送的应用程序由第一设备的管理员进行存储。基于此,本实施例中监测是否有待推送的应用程序被管理员选中,被选中的应用程序即为目标应用程序,由此,如果有应用程序被管理员选中,那么在第一设备上生成针对被选中的应用程序的推送操作,即针对目标应用程序的推送操作。
需要说明的是,第一设备的存储区域中的应用程序可以由管理员进行人工鉴别,在鉴别通过后,管理员可以对待推送的应用程序进行选中操作。
步骤102:响应于推送操作,至少将目标应用程序的安装包通过数据连接发送给第二设备。
其中,在第二设备上,响应于针对目标应用程序的安装操作,将安装包保存到第二设备对应的本地缓存;并将本地缓存中的安装包通过传输通道传输给虚拟机,以使得虚拟机通过安装包安装目标应用程序。
具体的,第二设备上在将安装包保存到本地缓存之后,通过触发基于远程桌面协议的拖拽事件,以使得本地缓存中的安装包通过传输通道被传输给虚拟机。例如,在基于远程桌面协议的传输通道,通过注册安装包对应的保存事件,生成下载信号,响应于该下载信号,调用基于远程桌面协议的拖拽方法如spice-vdagent,以通过该拖拽方法将本地缓存中的安装包传输给虚拟机。
需要说明的是,第一设备与第二设备之间的数据连接可以为:基于websocket的数据连接。
另外,在第一设备上除了发送目标应用程序的安装包给第二设备,还可以发送目标应用程序的程序属性给第二设备,如程序名称、安装包大小、程序验证码等,其中的程序验证码可以为对安装包进行加密运算所得到的唯一识别码,如信息摘要算法MD5(Message-Digest Algorithm 5)值。
基于此,在第二设备上在通过数据连接接收第一设备发送的目标应用程序对应的程序验证码之后,在将本地缓存中的安装包通过传输通道传输给虚拟机之前,先获得本地缓存中的安装包对应的缓存验证码,例如,对本地缓存中的安装包进行加密运算,得到MD5值作为缓存验证码,然后将该缓存验证码与第一设备发送来的程序验证码进行比对,以得到缓存验证结果,第二设备上在缓存验证结果表征缓存验证码与程序验证码相匹配的情况下,才将本地缓存中的安装包通过传输通道传输给虚拟机,由此提高安全性的同时,避免非法安装包的传输,也能够节省传输资源。
需要说明的是,第一设备上还将所有待推送的应用程序对应的程序验证码构建成验证列表,由此,验证列表中包含有第一设备推送给第二设备的任一应用程序对应的程序验证码。
基于此,在第一设备上还可以有如下处理,如图3中所示:
步骤103:通过数据连接,接收第二设备传输的目标验证码。
其中,该目标验证码由虚拟机在接收到安装包之后基于安装包获得并通过传输通道发送给第二设备的操作系统。
步骤104:将目标验证码与验证列表中目标应用程序对应的程序验证码进行比对,以得到安装验证结果。进而,第一设备响应于安装验证结果表征目标验证码与程序验证码不匹配,如目标验证码与程序验证码不一致,执行步骤303;如果安装验证结果表征目标验证码与程序验证码相匹配,如目标验证码与程序验证码相一致,那么不做处理,结束当前流程。
步骤105:禁用虚拟机,由此避免安装包非法导致的虚拟机数据可能出现的安全风险,进而提高虚拟机数据的安全性。
例如,以第一设备为服务器而第二设备为瘦终端为例,服务器获得到管理员针对目标应用程序的推送操作之后,响应于该推送操作,将该目标应用程序的安装包和程序验证码等程序属性通过与瘦终端之间的websocket连接发送给瘦终端;瘦终端上响应于用户针对该目标应用程序的安装操作,先将目标应用程序的安装包存储到本地缓存并对本地缓存中的安装包计算MD5值,将计算出的MD5值与服务器发送来的MD5值进行比对,如果相一致,那么再将本地缓存中的安装包通过基于spice的传输通道传输给虚拟机。而虚拟机在接收到瘦终端的操作系统传输来的安装包之后,对安装包进行加密运算,得到MD5值并将该MD5值作为目标验证码通过传输通道传输给瘦终端的操作系统,再由瘦终端发送给服务器;而在服务器上将接收来的MD5值与其验证列表中目标应用程序对应的MD5值进行比对,如果相一致,那么表征虚拟机上所接收到的安装包是合法的,那么不对虚拟机做禁用处理,而如果不一致,那么表征虚拟机上所接收到的安装包是不合法的,此时对虚拟机做禁用处理,以保证虚拟机上应用程序的安全管控,提高虚拟机数据的安全性。
从上述技术方案可以看出,本申请实施例一提供的一种桌面云的应用程序管控方法中,在第一设备推送应用程序的安装包给第二设备之后,第二设备通过与虚拟机之间的基于远程桌面协议的传输通道将安装包传输到虚拟机中,由此在管理网(第一设备与第二设备之间的网络)与业务网(虚拟机之间的网络)互相隔离的前提下,第一设备能够实现应用程序的安装管控,能够保证虚拟机数据的安全,提高安全性。
参考图4,为本申请实施例二提供的一种桌面云的应用程序管控方法的实现流程图,该方法可以应用于图2所示的第二设备。本实施例中的技术方案主要用于在管理网与业务网互相隔离的前提下,实现对应应用程序的安装管控,提高安全性。
具体的,本实施例中的方法可以包括以下步骤:
步骤401:通过第一设备与第二设备之间的数据连接,接收第一设备响应于针对目标应用程序的推送操作所发送的目标应用程序的安装包。
其中,第二设备还可以通过数据连接,接收第一设备发送的目标应用程序对应的程序属性,程序名称、安装包大小、程序验证码等。
步骤402:响应于针对目标应用程序的安装操作,将安装包保存到第二设备对应的本地缓存。
其中,第二设备所接收到的安装包可以提供给第二设备所部署的软件管理模块,也可以称为软件中心,软件中心可以通过显示界面输出安装包所属的目标应用程序的程序属性,如程序名称、安装包大小、程序验证码等。软件中心还可以在显示界面输出目标应用程序的程序标识,如应用图标等,该程序标识作为操作控件,提供给用户进行操作。用户在需要安装该目标应用程序时,点击目标应用程序的程序标识,由此生成针对该目标应用程序的安装操作,第二设备响应于该安装操作,将安装包保存到第二设备对应的本地缓存。
步骤403:将本地缓存中的安装包通过传输通道传输给虚拟机,以使得虚拟机通过安装包安装目标应用程序。
例如,瘦终端的操作系统将本地缓存的安装包通过基于spice的传输通道传输给瘦终端访问的虚拟机,以使得虚拟机执行所接收到的安装包,由此在虚拟机上安装目标应用程序。
在一种实现方式中,步骤403中可以通过触发基于远程桌面协议的拖拽事件,以使得本地缓存中的安装包通过传输通道被传输给虚拟机。
具体实现中,步骤403可以通过以下方式触发基于远程桌面协议的拖拽事件:
在第二设备将安装包保存到本地缓存之后,响应于安装包保存到本地缓存,在传输通道,注册安装包对应的保存事件,例如,在基于spice的传输主通道,注册软件中心下载事件,该软件中心下载事件即为保存事件,也就是安装包从软件中心保存到本地缓存的事件;然后,响应于保存事件,生成下载信号,例如调用g_signal_emit方法生成软件包下载的请求信号;最后,响应于下载信号,调用基于远程桌面协议的拖拽方法如spice-vdagent,以通过拖拽方法将本地缓存中的安装包传输给虚拟机,例如,通过g_signal_connect,关联基于spice的拖拽方法。由此,第二设备上通过软件信号(即前面的请求信号)实现当安装包下载完成时发出一个信号,将安装包通过spice-vdagent拖拽传输至虚拟机中。
从上述技术方案可以看出,本申请实施例一提供的一种桌面云的应用程序管控方法中,在第一设备推送应用程序的安装包给第二设备之后,第二设备通过与虚拟机之间的基于远程桌面协议的传输通道将安装包传输到虚拟机中,由此在管理网(第一设备与第二设备之间的网络)与业务网(虚拟机之间的网络)互相隔离的前提下,第一设备能够实现应用程序的安装管控,能够保证虚拟机数据的安全,提高安全性。
基于以上实现方案,第二设备中还可以有如下处理,如图5中所示:
步骤404:通过数据连接,接收第一设备发送的目标应用程序对应的程序验证码。
基于此,在步骤403之前,第二设备中还可以有如下处理:
步骤405:获得本地缓存中的安装包对应的缓存验证码。
例如,第二设备对本地缓存中的安装包进行加密运算,以得到MD5值,作为缓存验证码。
步骤406:将缓存验证码与程序验证码进行比对,以得到缓存验证结果。响应于缓存验证结果表征缓存验证码与程序验证码相匹配,如缓存验证码与程序验证码相一致,执行步骤403,如果缓存验证结果表征缓存验证码与程序验证码不匹配即不一致,即安装包可能非法,那么不再执行步骤403,执行步骤407;
步骤407:删除本地缓存中的安装包。
由此,实现对虚拟机安装应用程序的安全管控,提高虚拟机数据的安全性。
基于以上方案,在第二设备上还可以有如下处理,如图6中所示:
步骤408:获得虚拟机通过传输通道发送的目标验证码。
其中,目标验证码由虚拟机在接收到安装包之后基于所述安装包获得,例如,虚拟机在接收到安装包之后对安装包进行加密运算,以得到MD5值,作为目标验证码。
步骤409:将目标验证码通过数据连接发送给第一设备。
其中,在第一设备上将目标验证码与验证列表中目标应用程序对应的程序验证码进行比对,以得到安装验证结果;进一步的,第一设备响应于安装验证结果表征目标验证码与程序验证码不匹配,如目标验证码与程序验证码不一致,禁用虚拟机;如果安装验证结果表征目标验证码与程序验证码相匹配,如目标验证码与程序验证码相一致,那么不做处理,结束当前流程。
参考图7,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备作为第一设备,第一设备上部署有虚拟机,虚拟机被分配给第二设备,如图2中所示,第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道。本实施例中的技术方案主要用于在管理网与业务网互相隔离的前提下,实现对应应用程序的安装管控,提高安全性。
具体的,第一设备可以包括以下结构:
处理器701,用于获得针对目标应用程序的推送操作;
传输模块702,用于响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
其中,在所述第二设备上响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
从上述技术方案可以看出,本申请实施例三提供的一种电子设备中,电子设备作为第一设备,在第一设备推送应用程序的安装包给第二设备之后,第二设备通过与虚拟机之间的基于远程桌面协议的传输通道将安装包传输到虚拟机中,由此在管理网(第一设备与第二设备之间的网络)与业务网(虚拟机之间的网络)互相隔离的前提下,第一设备能够实现应用程序的安装管控,能够保证虚拟机数据的安全,提高安全性。
在一种实现方式中,传输模块702还用于:通过所述数据连接,接收所述第二设备传输的目标验证码,所述目标验证码由所述虚拟机在接收到所述安装包之后基于所述安装包获得并通过所述传输通道发送给所述第二设备的操作系统;
处理器701还用于:将所述目标验证码与验证列表中所述目标应用程序对应的程序验证码进行比对,以得到安装验证结果;所述验证列表包含所述第一设备推送给所述第二设备的任一应用程序对应的程序验证码;响应于所述安装验证结果表征所述目标验证码与所述程序验证码不匹配,禁用所述虚拟机。
需要说明的是,本实施例中第一设备各模块的具体实现可以参考前文中的相应内容,此处不再详述。
参考图8,为本申请实施例四提供的一种电子设备的结构示意图,电子设备作为第二设备,第二设备被第一设备分配有虚拟机,第一设备上部署虚拟机,第二设备的操作系统与虚拟机之间具有基于远程桌面协议的传输通道。本实施例中的技术方案主要用于在管理网与业务网互相隔离的前提下,实现对应应用程序的安装管控,提高安全性。
具体的,第二设备可以包括以下结构:
传输模块801,用于通过所述第一设备与所述第二设备之间的数据连接,接收所述第一设备响应于针对目标应用程序的推送操作所发送的所述目标应用程序的安装包;
处理器802,用于响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
从上述技术方案可以看出,本申请实施例四提供的一种电子设备中,电子设备作为第二设备,在第一设备推送应用程序的安装包给第二设备之后,第二设备通过与虚拟机之间的基于远程桌面协议的传输通道将安装包传输到虚拟机中,由此在管理网(第一设备与第二设备之间的网络)与业务网(虚拟机之间的网络)互相隔离的前提下,第一设备能够实现应用程序的安装管控,能够保证虚拟机数据的安全,提高安全性。
在一种实现方式中,处理器802在将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机时,具体用于:触发基于所述远程桌面协议的拖拽事件,以使得所述本地缓存中的所述安装包通过所述传输通道被传输给所述虚拟机。例如,在所述传输通道,注册所述安装包对应的保存事件;响应于所述保存事件,生成下载信号;响应于所述下载信号,调用基于所述远程桌面协议的拖拽方法,以通过所述拖拽方法将所述本地缓存中的所述安装包传输给所述虚拟机。
在一种实现方式中,传输模块801还用于通过所述数据连接,接收所述第一设备发送的所述目标应用程序对应的程序验证码;
其中,处理器802在将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机之前,还用于:获得所述本地缓存中的所述安装包对应的缓存验证码;将所述缓存验证码与所述程序验证码进行比对,以得到缓存验证结果;响应于所述缓存验证结果表征所述缓存验证码与所述程序验证码相匹配,执行所述:将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机。
另外,处理器802在传输模块801接收所述第一设备发送的目标应用程序的安装包之后,还用于:将所述目标应用程序的应用标识输出在安装界面;所述安装界面至少用于输出待安装的应用程序的应用标识;其中,所述安装操作为针对所述安装界面中的所述应用标识的选中操作。
在一种实现方式中,传输模块801还用于:获得所述虚拟机通过所述传输通道发送的目标验证码,所述目标验证码由所述虚拟机在接收到所述安装包之后基于所述安装包获得;将所述目标验证码通过所述数据连接发送给所述第一设备;其中,在所述第一设备上将所述目标验证码与验证列表中所述目标应用程序对应的程序验证码进行比对,以得到安装验证结果;所述验证列表包含所述第一设备推送给所述第二设备的任一应用程序对应的验证码;且所述第一设备响应于所述安装验证结果表征所述目标验证码与所述程序验证码不匹配,禁用所述虚拟机。
需要说明的是,本实施例中第二设备各模块的具体实现可以参考前文中的相应内容,此处不再详述。
参考图9,为本申请实施例五提供的一种桌面云系统的架构示意图,该系统可以包括:第一设备901和第二设备902;所述第一设备901上部署有虚拟机903,所述虚拟机903被分配给所述第二设备902,所述第二设备902的操作系统与所述虚拟机903之间具有基于远程桌面协议的传输通道;
其中:
所述第一设备901获得针对目标应用程序的推送操作;响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备901与所述第二设备902之间的数据连接发送给所述第二设备902;
所述第二设备901响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备902对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机903,以使得所述虚拟机903通过所述安装包安装所述目标应用程序。
从上述技术方案可以看出,本申请实施例五提供的一种桌面云系统中,在第一设备推送应用程序的安装包给第二设备之后,第二设备通过与虚拟机之间的基于远程桌面协议的传输通道将安装包传输到虚拟机中,由此在管理网(第一设备与第二设备之间的网络)与业务网(虚拟机之间的网络)互相隔离的前提下,第一设备能够实现应用程序的安装管控,能够保证虚拟机数据的安全,提高安全性。
以第一设备为服务器(即服务端)且第二设备为瘦终端(即客户端)为例,以下对本申请中为虚拟机安装软件(即应用程序)的实现方案进行详细说明:
首先,虚拟机中由于使用场景的不同,可安装的软件差别较大,如果放任随意安装软件,对虚拟机的安全性造成隐患,影响整个虚拟机集群。需要一个受控的软件中心统一下发部署维护。如图10所示,管理网中服务端与客户端之间可以相互访问,但管理网与业务网是隔离条件下,服务端的软件即使下载到客户端的软件中心,也无法通过网络直接下发到虚拟机中。而虚拟机操作系统也可以通过其他方式任意安装软件,脱离服务端管控,易造成安全风险。
目前多采用图11所示的架构方案,在管理网与业务网间做网络桥接服务,客户端(即瘦终端上能够访问虚拟机的客户端程序)的软件中心与虚拟机之间通过桥接服务进行网络连接,可以实现通过软件中心对虚拟机内部软件使用的管控,该实现技术有一个弊端,相当于虚拟机内部网络通过桥接服务暴露给外部网络,内外网隔离设计被打破,对虚拟机内部网络安全存在相当大的隐患。
有鉴于此,本申请提出:在双网隔离条件下,桌面云在服务端控制对虚拟机安装软件,采取跨网络传输的方式,批量将桌面云虚拟机可使用的软件推送到虚拟机的方法。具体的,如图12中所示,本申请实现的虚拟机软件中心,不通过内外网的网络桥接方法进行软件的下发,软件中心在下载安装包到终端缓存(即瘦终端的本地缓存)中后先对安装的软件安装包进行完整性的鉴别,确认软件完整后,触发spice传输软件安装包,进入到虚拟机内部。同时,服务端的安全服务也通过spice对虚拟机操作系统的软件包进行扫描,确保虚拟机中的软件受控。
本申请中,由服务端进行桌面云用户的软件管理,当服务端的管理员确认了某软件的分组使用权限及用户使用权限后,其按照分组的虚拟机或用户个人进行软件安装包的下发(给客户端),由于客户端与服务端是相同网段,因此客户端容易将软件安装包从服务端下载后缓存。当客户端获取虚拟机启动的状态后,由于双网隔离状态,软件的安装包不能通过网络传输。本申请中,在客户端确认后,将软件的安装包通过基于spice的传输通道传输拖拽进入虚拟机的固定位置中,由虚拟机用户手动安装或者虚拟机自动安装。安装包的文件被拖拽成功后,客户端可通过配置删除安装包,保护客户端的存储空间。本申请还设计了监控虚拟机软件的服务,通过安装包的md5的比较,确保集群中的虚拟机中的软件都符合安全要求。
本申请采用的基于spice协议的方法是通过安装在虚拟机中的拖拽方法spice-vdagent与基于spice的传输通道之间建立的传输机制。这种方法不借助于外网,且受到服务端的管控,因此可保证桌面云虚拟机的数据安全性。
如图13中所示,为本申请所实现的流程图:
首先,服务端将待推送的软件安装包存储在服务端缓存中,在缓存中的软件对管理员是可视的,可以进行人工鉴别。管理员鉴别通过后,管理员将该软件安装包通过websocket推送至客户端。传输的安装包具有如下程序属性:软件名称(即前文中的程序名称)、安装包大小,及程序MD5值。服务端同时将鉴别安全的软件排列成MD5的软件安全列表(即前文中的验证列表),供自动判断查询使用。
其次,客户端接收到服务端的软件安装包的程序属性推送后,将软件包摆放到客户端的软件中心,软件中心可显示软件的程序属性,并提供下载按钮供用户下载。软件中心展示软件的基本属性,并保存软件安装包的MD5。软件包上架软件中心后,在软件中心图标位置处提供下载按钮供客户端用户点击。
另外,当软件中心出现软件图标时,客户端的用户可下载该软件至客户端对应的本地缓存。计算软件安装包的MD5值,再比对本地缓存中软件安装包的MD5值与客户端从服务端接收并保存的MD5值,比对一致后,确认软件安装包下载成功。如比对不一致,将本地缓存中的软件安装包删除。软件完整性校验过程如图14所示。
基于此,由于桌面云使用业务网和管理网双网隔离的原因,虚拟机与客户端之间没有可用的网络相通。本申请中基于spice传输协议,运用客户端的本地缓存与虚拟机之间基于spice的传输通道进行软件安装包的传输。当客户端在确认软件安装包下载成功后,将触发spice的拖拽事件,软件安装包通过spice-vdagent(即拖拽事件配套的拖拽方法)拖拽进入虚拟机,供用户使用。
具体流程如下:
(1)注册下载事件:
在基于spice的传输通道中,注册软件中心下载事件,例如,将SPICE_MAIN_SOFTWAREDOWNLOAD_REQUEST注册到gobject中,作为一个开关信号控制软件包文件传输。
注册方法为:
signals[SPICE_MAIN_SOFTWAREDOWNLOAD_REQUEST]=
g_signal_new("software-download-request",
G_OBJECT_CLASS_TYPE(gobject_class),
G_SIGNAL_RUN_LAST,
0,
NULL,NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE,
1,
G_TYPE_OBJECT);
(2)关联拖拽方法:
当客户端校验MD5完成后,使用注册的SPICE_MAIN_SOFTWAREDOW NLOAD_REQUEST消息,调用g_signal_emit方法发送软件安装包下载的信号请求,并通过g_signal_connect,关联spice的拖拽方法。由此,本申请可以通过软件信号(即信号请求)实现当软件安装包下载完成时发出的一个信号,将软件通过spice-vdagent,将软件安装包拖拽传输至虚拟机中。
最后,在虚拟机软件校验及安装:
1、传输成功:
安装包传输完成后,使用notify-send返回用户(即客户端)一个弹窗的消息,告知传输成功,用户可以在虚拟机里手动安装软件包。
2、“非法”软件校验:
桌面云用户使用的虚拟机是批量创建,除虚拟机模板的预装软件外,其他不经过软件中心的软件均视为“非法”软件。由于双网隔离的原因,虚拟机外部无法直接监控虚拟机内部的软件安装情况。本申请在虚拟机内部设计一个监控服务software-monitor-service(即安全服务),根据虚拟机系统监控虚拟机中的软件安装包的MD5值,通过spice-port(即基于spice的传输通道)导出至客户端,由客户端上传服务端,在服务端上通过比对服务端的软件安全列表的MD5值进行“合法”鉴别,如果有“非法”情况即MD5不一致,暂停虚拟机使用,比对MD5值的过程如图15所示。
其中,虚拟机中具有虚拟机MD5值的列表,列表中包含各软件的安装包的MD5值。虚拟机通过软件监控服务(software-monitor-service)扫描虚拟机系统的软件安装包得到每个软件的安装包的MD5值。虚拟机系统的软件可以包括有虚拟机模板自带的安全软件以及外来软件1-n。
可见,本申请中基于spice传输协议,在桌面云瘦终端使用中,解决了双网隔离环境下的软件管控,在外部网络中管理内部网络软件,对桌面云的使用安全性有很大的提升。而且,虚拟机内部的软件监控服务与服务端的软件安全列表校验,增强了桌面云服务端的管控能力。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种桌面云的应用程序管控方法,其特征在于,应用于第一设备,所述第一设备上部署有虚拟机,所述虚拟机被分配给第二设备,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
所述方法包括:
获得针对目标应用程序的推送操作;
响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
其中,在所述第二设备上响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述数据连接,接收所述第二设备传输的目标验证码,所述目标验证码由所述虚拟机在接收到所述安装包之后基于所述安装包获得并通过所述传输通道发送给所述第二设备的操作系统;
将所述目标验证码与验证列表中所述目标应用程序对应的程序验证码进行比对,以得到安装验证结果;所述验证列表包含所述第一设备推送给所述第二设备的任一应用程序对应的程序验证码;
响应于所述安装验证结果表征所述目标验证码与所述程序验证码不匹配,禁用所述虚拟机。
3.一种桌面云的应用程序管控方法,其特征在于,应用于第二设备,所述第二设备被第一设备分配有虚拟机,所述第一设备上部署所述虚拟机,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
所述方法包括:
通过所述第一设备与所述第二设备之间的数据连接,接收所述第一设备响应于针对目标应用程序的推送操作所发送的所述目标应用程序的安装包;
响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;
将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
4.根据权利要求3所述的方法,其特征在于,将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,包括:
触发基于所述远程桌面协议的拖拽事件,以使得所述本地缓存中的所述安装包通过所述传输通道被传输给所述虚拟机。
5.根据权利要求4所述的方法,其特征在于,触发基于所述远程桌面协议的拖拽事件,包括:
在所述传输通道,注册所述安装包对应的保存事件;
响应于所述保存事件,生成下载信号;
响应于所述下载信号,调用基于所述远程桌面协议的拖拽方法,以通过所述拖拽方法将所述本地缓存中的所述安装包传输给所述虚拟机。
6.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
通过所述数据连接,接收所述第一设备发送的所述目标应用程序对应的程序验证码;
其中,在将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机之前,所述方法还包括:
获得所述本地缓存中的所述安装包对应的缓存验证码;
将所述缓存验证码与所述程序验证码进行比对,以得到缓存验证结果;
响应于所述缓存验证结果表征所述缓存验证码与所述程序验证码相匹配,执行所述:将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机。
7.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
获得所述虚拟机通过所述传输通道发送的目标验证码,所述目标验证码由所述虚拟机在接收到所述安装包之后基于所述安装包获得;
将所述目标验证码通过所述数据连接发送给所述第一设备;
其中,在所述第一设备上将所述目标验证码与验证列表中所述目标应用程序对应的程序验证码进行比对,以得到安装验证结果;所述验证列表包含所述第一设备推送给所述第二设备的任一应用程序对应的验证码;且所述第一设备响应于所述安装验证结果表征所述目标验证码与所述程序验证码不匹配,禁用所述虚拟机。
8.一种电子设备,其特征在于,所述电子设备作为第一设备,所述第一设备上部署有虚拟机,所述虚拟机被分配给第二设备,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
其中,所述第一设备包括:
处理器,用于获得针对目标应用程序的推送操作;
传输模块,用于响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
其中,在所述第二设备上响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
9.一种电子设备,其特征在于,所述电子设备作为第二设备,所述第二设备被第一设备分配有虚拟机,所述第一设备上部署所述虚拟机,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
其中,所述第二设备包括:
传输模块,用于通过所述第一设备与所述第二设备之间的数据连接,接收所述第一设备响应于针对目标应用程序的推送操作所发送的所述目标应用程序的安装包;
处理器,用于响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
10.一种桌面云系统,其特征在于,包括:第一设备和第二设备;所述第一设备上部署有虚拟机,所述虚拟机被分配给所述第二设备,所述第二设备的操作系统与所述虚拟机之间具有基于远程桌面协议的传输通道;
其中:
所述第一设备获得针对目标应用程序的推送操作;响应于所述推送操作,至少将所述目标应用程序的安装包通过所述第一设备与所述第二设备之间的数据连接发送给所述第二设备;
所述第二设备响应于针对所述目标应用程序的安装操作,将所述安装包保存到所述第二设备对应的本地缓存;并将所述本地缓存中的所述安装包通过所述传输通道传输给所述虚拟机,以使得所述虚拟机通过所述安装包安装所述目标应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410520837.2A CN118467078A (zh) | 2024-04-28 | 2024-04-28 | 桌面云的应用程序管控方法、电子设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410520837.2A CN118467078A (zh) | 2024-04-28 | 2024-04-28 | 桌面云的应用程序管控方法、电子设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118467078A true CN118467078A (zh) | 2024-08-09 |
Family
ID=92162471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410520837.2A Pending CN118467078A (zh) | 2024-04-28 | 2024-04-28 | 桌面云的应用程序管控方法、电子设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118467078A (zh) |
-
2024
- 2024-04-28 CN CN202410520837.2A patent/CN118467078A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105955782B (zh) | 应用程序运行控制的方法及装置 | |
KR102104899B1 (ko) | 무선 통신 시스템에서 접근 권한 인증을 위한 방법 및 장치 | |
KR102245367B1 (ko) | 무선 통신 시스템에서 특정 리소스에 대한 접근 권한을 인증하기 위한 방법 및 장치 | |
JP4856246B2 (ja) | 通信端末によりマネジメント動作を実行する方法、端末、およびこれらのシステム | |
WO2023093429A1 (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN104850779A (zh) | 应用程序安全安装方法及其装置 | |
CN101557584A (zh) | 一种实现移动终端应用权限控制的方法及装置 | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN109391673A (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN115174551B (zh) | 程序部署方法及装置、存储介质及电子设备 | |
KR20140099873A (ko) | 가상 머신 관리 방법 및 이를 위한 장치 | |
CN112688983A (zh) | 代理权限管理装置、终端设备及存储介质 | |
CN110865819B (zh) | 一种os的安装方法、服务器和系统 | |
CN111371615B (zh) | 在线服务器、运维工具的更新方法及系统和可读存储介质 | |
WO2022257927A1 (zh) | 密钥烧录方法、装置、电子设备板卡及存储介质 | |
WO2023116150A1 (zh) | 软件升级方法、装置及电子设备 | |
CN110166547B (zh) | 终端远程访问控制方法 | |
WO2014038820A1 (ko) | 무선 통신 시스템에서 서버의 단말의 리소스에 대한 접근 권한을 관리하기 위한 방법 및 이를 위한 장치 | |
CN103810420A (zh) | 一种应用防卸载方法和系统 | |
CN112966257B (zh) | 一种应用程序的授权方法及装置 | |
CN111008023B (zh) | 一种实例部署方法及系统 | |
EP3416351B1 (en) | Implementation method, apparatus and system for remote access | |
CN113396600B (zh) | 信息验证方法、装置、设备及存储介质 | |
CN118467078A (zh) | 桌面云的应用程序管控方法、电子设备及系统 | |
US7350065B2 (en) | Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection |
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 |