CN117290003A - 云终端的外设重定向方法、云终端、电子设备及介质 - Google Patents

云终端的外设重定向方法、云终端、电子设备及介质 Download PDF

Info

Publication number
CN117290003A
CN117290003A CN202210699916.5A CN202210699916A CN117290003A CN 117290003 A CN117290003 A CN 117290003A CN 202210699916 A CN202210699916 A CN 202210699916A CN 117290003 A CN117290003 A CN 117290003A
Authority
CN
China
Prior art keywords
peripheral
user
application
input
container
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
Application number
CN202210699916.5A
Other languages
English (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202210699916.5A priority Critical patent/CN117290003A/zh
Publication of CN117290003A publication Critical patent/CN117290003A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开提供一种云终端的外设重定向方法、云终端、电子设备以及存储介质,以解决多外设对多应用的情况下,用户外设的重新定向问题,包括:在用户已使用第一应用容器内的应用并选择使用位于第二应用容器上的应用时获取第二应用容器的标识;启动第二应用容器;识别出用户的输入外设;将用户的输入外设的操作指令重定向到第二应用容器;识别出用户的输出外设;将用户的输出外设的设备信息发送至第二应用容器,并将第二应用容器的输出内容发送至用户的输出外设。本公开可以同步将用户的输入和输出外设重定向到将要使用的不同系统的应用。

Description

云终端的外设重定向方法、云终端、电子设备及介质
技术领域
本公开涉及通信技术领域,具体涉及一种云终端的外设重定向方法,一种云终端,一种电子设备以及一种计算机可读存储介质。
背景技术
云终端是一种运行在云端的终端设备,其通过特定的通信协议来连接云端的系统桌面并显示到前端来,然后将本地的输出输入数据重定向到云侧的虚拟终端上。云终端将主要运算资源都集中在云服务器上。从而使得管理集中,部署方便。
“云桌面”是云终端的一种主要表象形式,是指通过客户端或者其他与网络链接的设备来访问云端桌面的一种模式,由桌面虚拟化软件、虚拟桌面传输协议、虚拟桌面连接代理和终端(包括瘦、胖及移动终端等)共同组成。在使用云桌面时,外设都是接在本地瘦终端或者PC上,云桌面通过安装在瘦终端上的云桌面客户端和云端虚拟机进行通信,使云桌面操作系统识别到外设就好像外设是真的接在云端虚拟机上一样。云桌面为了解决外设的兼容性问题设计了两种工作模式,一种是工作在USB驱动层:云桌面通过实现一个底层的虚拟驱动,在瘦终端上由云桌面客户端将底层的设备信息截取到,然后通过云桌面协议传输到云端虚拟机,再由云端虚拟机实现的底层驱动来获取消息进行解析;另外一种就是应用层的,为某一类设备提供从瘦终端到云端虚拟机的映射,并为其提供业务数据传输的专用通道,如摄像头、打印机、扫描类设备、智能卡设备等。
目前绝大多数的外设都是USB接口的,第一种工作在USB驱动层的,就对应于USB端口重定向;第二种工作在应用层的,就对应于设备重定向。现有技术无论“端口重定向”还是“设备重定向”,主要针对的是单独的云桌面系统,解决了外设拉远的问题。而且单独的云桌面系统所有应用都安装在云端的虚拟机上,其与本地的瘦终端或PC属于紧耦合关系,无法使用到未在云端虚拟机上安装的应用。用户在希望使用安装在不同云端虚拟机的应用时,若使用的协议不同就需要更换本地瘦终端或在本地PC开启不同的客户端,操作会十分繁琐,便利性不佳。
发明内容
为了解决现有技术中存在的上述问题,本公开提供一种云终端的外设重定向方法、云终端、电子设备以及计算机可读存储介质可以同步将用户的输入和输出外设重定向到将要使用的不同系统的应用,解决多外设对多容器、多应用的情况下,用户外设的重新定向问题,容器切换时仍保证服务质量。
第一方面,本公开提供一种云终端的外设重定向方法,应用于云终端,所述方法包括:
在用户已使用第一应用容器内的应用并选择使用第二应用容器内的应用时获取第二应用容器的标识,并根据获取的第二应用容器的标识启动第二应用容器;
根据输入外设的设备信息识别出所述用户的输入外设;
将所述用户的输入外设的操作指令重定向到所述第二应用容器;
根据输出外设的设备信息识别出所述用户的输出外设;
将所述用户的输出外设的设备信息发送至所述第二应用容器,并将所述第二应用容器的输出内容发送至所述用户的输出外设。
进一步的,所述方法还包括:
接收输入外设和输出外设的接入注册信息,并记录输入外设和输出外设的设备信息;
在用户使用第一应用容器内的应用之前为所述用户启动需要使用应用所在的第一应用容器,将用户的输入外设的输入操作指令输入至第一应用容器,并将第一应用容器的输出内容发送至所述用户的输出外设。
进一步的,所述根据输入外设的设备信息识别出所述用户的输入外设包括:
获取当前使用的输入外设的设备信息,并根据记录的输入外设的设备信息识别出所述用户的输入外设;
所述根据输出外设的设备信息识别出所述用户的输出外设包括:
获取当前使用的输出外设的设备信息,并根据记录的输出外设的设备信息识别出所述用户的输入外设。
进一步的,所述设备信息包括:
外设类型、外设标识和外设地址。
进一步的,所述方法还包括:
获取各个用户的外设列表,外设列表中包括外设的设备信息及用户标识信息;
在输入外设和输出外设接入注册后根据各个用户的外设列表建立外设与用户之间的对应关系;
所述根据所述用户的输入外设的设备信息识别出所述用户的输入外设包括:
获取当前接入的所有输入外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输入外设,将查询到的与所述用户对应的输入外设作为识别出的所述用户的输入外设;
所述根据所述用户的输出外设的设备信息识别出所述用户的输出外设包括:
获取当前接入的所有输出外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输出外设,将查询到的与所述用户对应的输出外设作为识别出的所述用户的输出外设。
进一步的,所述方法还包括:
建立应用与外设之间的对应关系;
在启动第二应用容器后根据应用与外设之间的对应关系确定第二应用容器内的应用所需的输入外设列表和输出外设列表;
所述将所述用户的输入外设的操作指令重定向到所述第二应用容器包括:
根据第二应用容器内的应用所需的输入外设列表,将处于所述输入外设列表内的所述用户的输入外设的操作指令重定向到所述第二应用容器;
所述将所述用户的输出外设的设备信息发送至所述第二应用容器包括:
根据所述第二应用容器内的应用所需的输出外设列表,将处于所述输出外设列表内的所述用户的输出外设的设备信息发送至第二应用容器。
进一步的,所述获取第二应用容器的标识包括:
接收所述用户通过输入外设传输的应用切换指令,所述应用切换指令中包括所述用户要使用的第二应用容器内的应用的信息,所述应用切换指令由所述用户通过输入外设的专用按键或者特定组合键或者特定按键时序组合生成;
对所述应用切换指令进行识别,确定所述用户要使用的应用所对应的第二应用容器的标识。
进一步的,所述获取第二应用容器的标识包括:
获取各个应用容器的显示界面上显示的其他容器的应用列表;
当所述用户通过输入外设在所述第一应用容器上选择位于所述第二应用容器内的应用时根据所述用户的选择获取所述第二应用容器的标识。
第二方面,本公开提供一种云终端,所述云终端包括:
容器控制模块,其设置为在用户已使用第一应用容器内的应用并选择使用第二应用容器内的应用时获取第二应用容器的标识,并根据获取的第二应用容器的标识启动第二应用容器;
输入外设管理模块,其设置为根据输入外设的设备信息识别出所述用户的输入外设;
所述容器控制模块还设置为将所述用户的输入外设的操作指令重定向到所述第二应用容器;
输出外设管理模块,其设置为根据输出外设的设备信息识别出所述用户的输出外设;
所述容器控制模块还设置为将所述用户的输出外设的设备信息发送至所述第二应用容器,并将所述第二应用容器输出的内容发送至所述用户的输出外设。
第三方面,本公开提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行如第一方面中任一所述的云终端的外设重定向方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的云终端的外设重定向方法。
有益效果:
本公开提供的云终端的外设重定向方法、云终端、电子设备以及计算机可读存储介质,针对为用户将不同系统的应用封装在不同的容器中,用户需要使用不同的应用时会进行容器切换的场景,可以同步将用户的输入和输出外设重定向到将要使用的不同系统的应用,解决多外设对多容器、多应用的情况下,用户外设的重新定向问题,并在容器切换时仍保证服务质量。
附图说明
图1为本公开实施例一提供的一种云终端的外设重定向方法的流程示意图;
图2为本公开实施例一提供的一种云终端的总体架构图;
图3为本公开实施例二提供的一种云终端的外设重定向方法的流程示意图;
图4为本公开实施例三提供的一种云终端的外设重定向方法的流程示意图;
图5为本公开实施例四提供的一种云终端的外设重定向方法的流程示意图;
图6为本公开实施例五提供的一种云终端的外设重定向方法的流程示意图;
图7为本公开实施例六提供的一种云终端的架构图;
图8为本公开实施例七提供的一种电子设备的架构图。
具体实施方式
为使本领域技术人员更好地理解本公开的技术方案,下面结合附图和实施例对本公开作进一步详细描述。应当理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
其中,在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
云终端是把主要运算资源(CPU、内存、硬盘、网络等)都集中在云服务器上,从而使得管理集中,部署方便,使用简单,减轻维护量,降低使用成本。而本地设备硬件配置较低,可以降低购置成本。虚拟化是云计算、也是云终端的基础技术,虚拟化在服务器端提供集中的物理计算资源,这些资源被分解成更小的单位去独立地为不同的用户提供服务,同时保证隔离性和安全性。虚拟化技术总体上可以分为虚拟机和容器两种。虚拟机具有完善的系统环境和良好的独立性在云计算中获得广泛应用,但是虚拟机技术体谅庞大、占用太多资源,在终端数量庞大时遇到瓶颈。相比之下,容器提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。
云桌面作为云终端目前主要的一种表象,对于云桌面设计的两种工作方式,同一个设备要么使用USB端口重定向,要么使用设备重定向,不可能同时使用两种工作模式。USB端口重定向可以想象为将USB电缆延长了,从本地通过网络这根超长的USB电缆接到了云端的虚拟主机上,在瘦终端上不需要安装外设的驱动程序,在云桌面上安装相应的设备驱动即可。端口重定向适应于对时延和带宽不敏感的场景,因为瘦终端上不需要安装驱动,因此兼容性比较好。设备重定向是工作在外设设备的驱动层,在瘦终端及云桌面上都需要安装驱动程序,适应于对时延或带宽敏感的场景,比如高拍仪、扫描仪、摄像头。也因为设备重定向方式要求瘦终端上要安装设备驱动程序,因此安卓及Linux操作系统的瘦终端上可能会因为没有相应的外设驱动程序而无法使用设备重定向模式。
而无论“端口重定向”还是“设备重定向”,主要针对有单独的云桌面系统,而且单独的云桌面系统所有应用都安装在云端的虚拟机上,无法使用到未在云端虚拟机上安装的应用。当用户在希望使用安装在不同云端虚拟机的应用时,可能需要更换本地瘦终端或在本地PC开启不同的客户端,操作便利性不佳。
下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本公开实施例一提供的一种云终端的外设重定向方法的流程示意图,应用于云终端,如图1所示,所述方法包括:
步骤S101:在用户已使用第一应用容器内的应用并选择使用第二应用容器内的应用时获取第二应用容器的标识,并根据获取的第二应用容器的标识启动第二应用容器;
步骤S102:根据输入外设的设备信息识别出所述用户的输入外设;
步骤S103:将所述用户的输入外设的操作指令重定向到所述第二应用容器;
步骤S104:根据输出外设的设备信息识别出所述用户的输出外设;
步骤S105:将所述用户的输出外设的设备信息发送至所述第二应用容器,并将所述第二应用容器的输出内容发送至所述用户的输出外设。
本公开实实施例的云终端的外设重定向方法,应用场景为将不同应用封装在不同的容器中,当用户需要使用不同的应用时会导致容器切换。如在容器1中为基于Linux的绘图软件,容器2内为基于Android的视频播放软件,用户在使用绘图软件完成作品后需要切换到安卓系统下看即使的播放效果,因此通过软件和硬件的设计实现同步将用户的输入和输出外设重定向目前启动的容器。
本公开实施例的总体技术架构如图2所示。在云端的服务器为以x86/ARM等架构的CPU为核心的硬件设备,该设备形态可为一台或多台物理硬件,若为多台物理硬件,需在多台物理硬件之间建立数据通信链路。在服务器上安装基础OS(operating system,操作系统),提供外设驱动、容器运行环境等。不同的应用及应用运行的OS已经以容器化的方式加载于基础OS上,每个容器之间相互独立。用户输入外设(包括键盘、鼠标、摄像头、MIC(microphone,麦克风)等)、输出外设(包括显示器、投影仪等)在应用容器建立时重定向至用户应用所在的容器,并在容器内通过模拟的外设驱动实现与应用的交互。
若用户当前使用的应用位于第一应用容器(简称应用容器1)内,云终端启动应用容器1,并启动容器监听功能,包括正在运行的容器状态、容器启动请求等,并且将外设设备定向到应用容器1内,当用户在此时选择使用位于第二应用容器(简称应用容器2)上的应用程序时,云终端获取应用容器2的标识,应用标识启动该容器2,并需要将用户的外设重定向到应用容器2,为此,云终端根据所有已连接的输入外设的设备信息识别出所述用户的输入外设,当只有单个用户时,直接将应用容器1中的输入外设重定向到应用容器2,或者根据外设接入时上报的所属用户,确认出属于该用户的已接入的输入外设,然后将这些外设输入操作重定向到应用容器2,此时,由应用容器2接收用户的输入外设的操作指令;对于输出外设,按同样方式,确定用户的输出外设,将输出外设信息发送至应用容器2,应用容器2将输出内容发送至这些输出外设,此时用户可通过输入外设对对应用容器2内应用程序进行操作,操作结果通过输出外设显示给用户。
本公开实施例可以同步将用户的输入和输出外设重定向到将要使用的不同系统的应用,解决多外设对多容器、多应用的情况下,用户外设的重新定向问题,并在容器切换时仍保证服务质量。
进一步的,所述方法还包括:
接收输入外设和输出外设的接入注册信息,并记录输入外设和输出外设的设备信息;
在用户使用第一应用容器内的应用之前为所述用户启动需要使用应用所在的第一应用容器,将用户的输入外设的输入操作指令输入至第一应用容器,并将第一应用容器的输出内容发送至所述用户的输出外设。
在接入云终端时,输入和输出外设分别向云终端进行接入注册,云终端接收到注册消息后对外设进行注册并在云端服务器的基础OS上完成对应驱动的加载。并且云终端记录外设信息,以便应用切换时对外设进行识别和调度。
在将外设设备定向到应用容器1内时,输入外设默认将鼠标操作\键盘键值\音视频流等输入操作指令数据指向应用容器1,应用容器1默认将输出的视频\文本等输出结果输出至输出外设。由此,用户可以开始使用应用容器1内的应用。
进一步的,所述根据输入外设的设备信息识别出所述用户的输入外设包括:
获取当前使用的输入外设的设备信息,并根据记录的输入外设的设备信息识别出所述用户的输入外设;
所述根据输出外设的设备信息识别出所述用户的输出外设包括:
获取当前使用的输出外设的设备信息,并根据记录的输出外设的设备信息识别出所述用户的输入外设。
当容器切换时,需要确定哪些外设设备要重定向到切换后的容器,因此需要确定用户的输入外设,通过获取当前使用的输入外设的设备信息,并根据外设在接入时记录的输入外设的设备信息,识别出所述用户的输入外设,从而将用户的输入外设重定向到应用容器2,同样对于输出外设,可按同样方式进行处理,当然,当应用为单一用户的单一外设时,可以直接将容器1的外设全部重定向至容器2。保证外设的无缝切换到要使用的应用,不对用户的使用造成影响。
进一步的,所述设备信息包括:
外设类型、外设标识和外设地址。
输入外设和输出外设的设备信息用户定位和调度外设,外设信息包括外设类型、外设标识和外设地址,外设类型确定外设作用如键盘、鼠标、摄像头、MIC、显示器、投影仪等,外设标识可以唯一确定外设的身份,外设地址可用于连接到外设。通过外设信息可以很好的识别出各个外设,并更好的将输入外设的输入定向到某个容器,或者将容器的输出结果输出到输出外设。
进一步的,所述方法还包括:
获取各个用户的外设列表,外设列表中包括外设的设备信息及用户标识信息;
在输入外设和输出外设接入注册后根据各个用户的外设列表建立外设与用户之间的对应关系;
所述根据所述用户的输入外设的设备信息识别出所述用户的输入外设包括:
获取当前接入的所有输入外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输入外设,将查询到的与所述用户对应的输入外设作为识别出的所述用户的输入外设;
所述根据所述用户的输出外设的设备信息识别出所述用户的输出外设包括:
获取当前接入的所有输出外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输出外设,将查询到的与所述用户对应的输出外设作为识别出的所述用户的输出外设。
在云终端的基础OS中会同时接入多个输入\输出外设的情况。在多个外设同时上线时首先确定外设与用户之间的对应关系,该对应关系可为一个外设对应一个用户,同样可以为多个外设对应一个用户。例如,为简化部署,同样的一种应用会部署在同一个基础OS上,当不同用户使用该应用时为每个用户建立各自的应用容器。当A/B两个用户同时使用位于同一个基础OS上的视频播放应用时,两个用户的输入外设(如键盘)都会在基础OS上出现。而用户A需要切换到其他应用时,需要仅将A用户的键盘切换到新应用。故当A用户切换容器时,需要查询该用户所有外设列表,并将列表内的外设同步切换到新的容器。对于用户B的外设,则不予以处理。因此,需要获取当前用户的外设列表,列表中包括外设的类型、外设标识、外设地址和用户标识等信息,在输入外设和输出外设接入注册后根据各个用户的外设列表建立外设与用户之间的对应关系,此时列表中的外设都为已接入云终端的外设,在识别出所述用户的输入外设时,通过获取当前接入的所有输入外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输入外设,将查询到的与所述用户对应的输入外设作为识别出的所述用户的输入外设;然后将所述用户的输入外设重定向到应用容器2。对于输出外设,可进行同样的处理。
进一步的,所述方法还包括:
建立应用与外设之间的对应关系;
在启动第二应用容器后根据应用与外设之间的对应关系确定第二应用容器内的应用所需的输入外设列表和输出外设列表;
所述将所述用户的输入外设的操作指令重定向到所述第二应用容器包括:
根据第二应用容器内的应用所需的输入外设列表,将处于所述输入外设列表内的所述用户的输入外设的操作指令重定向到所述第二应用容器;
所述将所述用户的输出外设的设备信息发送至所述第二应用容器包括:
根据所述第二应用容器内的应用所需的输出外设列表,将处于所述输出外设列表内的所述用户的输出外设的设备信息发送至第二应用容器。
基于不同的应用对于外设接入设备的类型不一致的情况。在应用切换过程中首先需要确定外设与应用之间的对应关系,该对应关系可为一种外设对应一个应用,同样可以为多个外设对应一个应用。如用的视频会议应用需要使用键盘和摄像头两种输入外设,而网页浏览仅需要键盘一种输入外设。当用户从视频会议应用所在容器切换到网页浏览应用所在的容器时,需要查询该应用所有外设列表,并将列表内的键盘同步切换到网页浏览应用所在的容器。对于非该应用的摄像头,则不与处理。
因此,在外设接入注册时可建立外设与应用之间的对应关系,即应用所需的必要外设的类型、标识(非必须)、地址(非必须)和数量等;在进行外设重定向时,可以预先根据外设与用户的对应关系确定当前接入注册的外设中该用户对应的外设,在该用户对应的外设中,再确定属于应用容器2中应用外设列表(输入外设列表和输出外设列表)内的外设,将这些外设重定向到应用容器2。
进一步的,所述获取第二应用容器的标识包括:
接收所述用户通过输入外设传输的应用切换指令,所述应用切换指令中包括所述用户要使用的第二应用容器内的应用的信息,所述应用切换指令由所述用户通过输入外设的专用按键或者特定组合键或者特定按键时序组合生成;
对所述应用切换指令进行识别,确定所述用户要使用的应用所对应的第二应用容器的标识。
用户在输入外设上进行应用切换时,可以通过输入外设的专用按键、特定组合键、特定按键时序组合等方式进行容器切换。如某个应用对应某个特定按键或者在一个列表内进行选择,如在游戏手柄上增加一个切换键,或将键盘Ctrl+p的组合作为切换键。切换指令发出后由云终端的特定模块进行识别,并进行容器切换操作。该方式在本地没有瘦终端及PC的情况下,实现了通过在硬件上进行操作进行外设重定向的目的。
进一步的,所述获取第二应用容器的标识包括:
获取各个应用容器的显示界面上显示的其他容器的应用列表;
当所述用户通过输入外设在所述第一应用容器上选择位于所述第二应用容器内的应用时根据所述用户的选择获取所述第二应用容器的标识。
用户通过输入外设在应用容器1上选择位于应用容器2上的应用程序。应用容器1将用户需要使用的应用容器2标识等信息发送至云终端。
本公开实施例针对为用户将不同系统的应用封装在不同的容器中,用户需要使用不同的应用时会进行容器切换的场景,可以同步将用户的输入和输出外设重定向到将要使用的不同系统的应用,对于存在多个不同的用户外设均可被检测到的情况,可使非该用户的外设不会被切换到新容器;对于不同应用对应不同外设的情况,可使非该应用的外设不会被切换到新容器;如用户使用外设专用组合键进行重定向时,可与将新开启的应用容器所必须的外设鉴别功能相结合,仅将新应用所需必要外设重定向至新容器;解决多外设对多容器、多应用的情况下,用户外设的重新定向问题,并在容器切换时仍保证服务质量。
为了更加清楚完整的描述本公开的技术方案,针对不同的应用场景,提供以下不同的实施例;以下几种情况同时出现的场景下,可将各实施例不同的重定向方法混合使用。
实施例二
基于单一外设在不同的容器中重定向的场景,采用在云端控制外设指向重定向切换的方式,云终端包括输入外设管理模块、输出外设管理模块、容器控制模块,其流程如图3所示。
S201、输入和输出外设分别向输入和输出外设管理模块进行接入注册,并在云端服务器的基础OS上完成驱动的加载。同时外设管理模块记录外设类型、标识、地址等信息,以便应用切换时进行调度;
S202、用户当前使用的应用位于应用容器1内,容器控制模块启动应用容器1,并启动容器监听功能,包括正在运行的容器状态、容器启动请求等;
S203、输入外设将鼠标操作\键盘键值\音视频流等输入操作指令数据指向应用容器1,应用容器1将输出的视频\文本等输出结果至输出外设;
S204、用户通过输入外设在应用容器1上选择位于应用容器2上的应用程序;
S205、应用容器1将用户需要使用的应用容器2标识等信息发送至容器控制模块;
S206、容器控制模块通过接收到的应用标识启动该容器2;
S207、容器控制模块将应用容器2标识等信息发送至输入外设管理模块;
S208、输入外设管理模块根据外设的类型、标识、地址识别输入外设,并将外设输入操作重定向应用容器2;
S209、容器控制模块向输出模块获取输出外设标识、寻址地址等信息;
S210、输出外设管理模块向容器控制模块发送输出外设的标识、寻址地址等信息;
S211、容器控制模块将输出外设信息发送至应用容器2;
S212、应用容器2将输出内容发送至输出外设。此时用户可通过输入外设对对应用容器2内应用程序进行操作,操作结果通过输出外设显示给用户。
实施例三
本实例与实例二同样采用用户在云端进行应用切换的方式,与实例一的区别在于本实例是基于基础OS中会同时接入多个输入\输出外设的情况。在多个外设同时上线时首先确定外设与用户之间的对应关系,该对应关系可为一个外设对应一个用户,同样可以为多个外设对应一个用户。例如,为简化部署,同样的一种应用会部署在同一个基础OS上,当不同用户使用该应用时为每个用户建立各自的应用容器。当A/B两个用户同时使用位于同一个基础OS上的视频播放应用时,两个用户的键盘都会在基础OS上出现。而用户A需要切换到其他应用时,仅能把A用户的键盘切换到新应用。故当A用户切换容器时,需要查询该用户所有外设列表,并将列表内的外设同步切换到新的容器。对于用户B的外设,则不与处理。为此,需要在实例一的基础上在云终端增加用户管理模块。其流程如图4所示
S301、外设管理模块向用户管理模块获取当前用户的外设列表,列表中包括外设的类型、外设标识、用户标识等信息;
S302、输入和输出外设分别向输入和输出外设管理模块进行接入注册,并在云端服务器的基础OS上完成驱动的加载;同时外设管理模块记录外设类型、标识、地址等信息,以便应用切换时进行调度;
S303、外设管理模块在模块内建立外设与用户之间的对应关系;
S304、用户当前使用的应用位于应用容器1内,容器控制模块启动应用容器1;
S305、容器管理模块启动容器监听功能,包括正在运行的容器状态、容器启动请求等;
S306、输入外设将鼠标操作\键盘键值\音视频流等输入操作指令数据应用容器1,应用容器1默认将输出的视频\文本等输出结果至输出外设;
S307、用户通过输入外设在应用容器1上选择位于应用容器2上的应用程序;
S308、应用容器1将用户需要使用的应用容器2标识等信息发送至容器控制模块;
S309、容器控制模块通过接收到的应用标识启动该容器2;
S310、容器控制模块将应用容器2标识等信息发送至输入外设管理模块;
S311、输入外设管理模块根据外设的类型、标识、地址识别输入外设,并查询用户的输入外设列表,并将列表内的外设输入操作导向应用容器2;
S312、容器控制模块向输出外设管理模块获取输出外设标识、寻址地址等信息;
S313、输出外设管理模块查询用户的输出外设列表,输出外设管理模块向容器控制模块发送输出列表内的外设标识、寻址地址等信息;
S314、容器控制模块将输出外设信息发送至应用容器2;
S315、应用容器2将输出内容发送至输出外设;此时用户可通过输入外设对对应用容器2内的应用进行操作,操作结果通过输出外设显示给用户。
实施例四
本实例与实例二同样采用用户在云端进行应用切换的方式,与实例一的区别在于本实例是基于不同的应用对于外设接入设备的类型不一致的情况。在应用初始化过程中首先确定外设与应用之间的对应关系,该对应关系可为一种外设对应一个应用,同样可以为多个外设对应一个应用。如用的视频会议应用需要使用键盘和摄像头两种输入外设,而网页浏览仅需要键盘一种输入外设。当用户从视频会议应用所在容器切换到网页浏览应用所在的容器时,需要查询该应用所有外设列表,并将列表内的键盘同步切换到网页浏览应用所在的容器。对于非该应用的摄像头,则不与处理。为此,需要在实例一的基础上云终端增加应用管理模块。其流程如图5所示。
S401、外设管理模块向应用管理模块获取当前用户的外设列表,列表中包括外设的类型、外设标识、用户标识等信息(图中未示出);
S402、输入和输出外设分别向输入和输出外设管理模块进行接入注册,并在云端服务器的基础OS上完成驱动的加载;同时外设管理模块记录外设类型、标识、地址等信息,以便应用切换时进行调度;
S403、应用管理模块建立外设与应用之间的对应关系,即应用所需的必要外设的类型、标识、地址、数量等;
S404、用户当前使用的应用位于应用容器1内,容器控制模块启动应用容器1;
S405、容器管理模块启动容器监听功能,包括正在运行的容器状态、容器启动请求等;
S406、输入外设将鼠标操作\键盘键值\音视频流等输入操作指令数据指向应用容器1,应用容器1默认将输出的视频\文本等输出结果至输出外设;
S407、用户通过输入外设在应用容器1上选择位于应用容器2上的应用程序;
S408、应用容器1将用户需要使用的应用容器2标识等信息发送至容器控制模块;
S409、容器控制模块通过接收到的应用标识启动该容器2;
S4010、容器控制模块将应用容器2内的应用信息、容器信息发送至输入应用管理模块;
S411、应用管理模块查询应用容器2内的应用所需输入、输出外设列表;
S412、应用管理模块将输入外设列表和应用容器2的容器信息发送至输入设备管理模块;
S413、输入外设管理模块根据外设的类型、标识、地址识别输入外设,并将列表内的外设输入操作重定向应用容器2;
S414、应用管理模块将用户当前使用的输入外设列表和应用容器2的容器信息发送至输出设备管理模块;
S415、容器控制模块向输出外设管理模块获取输出外设标识、寻址地址等信息;
S416、输出外设管理模块向容器控制模块发送输出列表内的外设标识、寻址地址等信息;
S417、容器控制模块将输出外设信息发送至应用容器2;
S418、应用容器2将输出内容发送至输出外设。此时用户可通过输入外设对对应用容器2内的应用进行操作,操作结果通过输出外设显示给用户。
实施例五
本实例采用用户在输入外设上进行容器切换的方式,即通过输入外设的专用按键、特定组合键、特定按键时序组合等方式进行容器切换。如在游戏手柄上增加一个切换键,或将键盘Ctrl+p的组合作为切换键。切换指令发出后由输入外设管理模块进行识别,并通知容器管理模块进行切换操作。该方式在本地没有瘦终端及PC的情况下,实现了通过在硬件上进行操作进行外设重定向的目的。其流程如图6所示。
S501、输入和输出外设分别向输入和输出外设管理模块进行接入注册,并在云端服务器的基础OS上完成驱动的加载。同时外设管理模块记录外设类型、标识、地址等信息,以便应用切换时进行调度;
S502、用户当前使用的应用位于应用容器1内,容器控制模块启动应用容器1;
S503、容器管理模块启动容器监听功能,包括正在运行的容器状态、容器启动请求等;
S504、输入外设将鼠标操作\键盘键值\音视频流等输入操作指令数据重定向应用容器1,应用容器1将输出的视频\文本等输出结果重定向输出外设;
S505、用户在输入外设上通过输入外设的专用按键、特定组合键、特定按键时序组合等方式进行应用容器切换,切换指令由输入设备管理模块进行识别;
S506、输入设备管理模块将切换应用容器2的指令发送至容器控制模块;
S507、容器控制模块启动应用容器2;
S508、输入外设管理模块将外设输入操作重定向向应用容器2;
S509、容器控制模块向输出外设管理模块获取输出外设标识、寻址地址等信息。
S510、输出外设向容器控制模块发送输出外设标识、寻址地址等信息;
S511、容器控制模块将输出外设信息发送至应用容器2;
S512、应用容器2将输出内容发送至输出外设。此时用户可通过输入外设对对应用容器2内的应用进行操作,操作结果通过输出外设显示给用户。
图7为本公开实施例六提供的一种云终端的架构图,如图7所示,所述云终端包括:
容器控制模块11,其设置为在用户已使用第一应用容器内的应用并选择使用第二应用容器内的应用时获取第二应用容器的标识,并根据获取的第二应用容器的标识启动第二应用容器;
输入外设管理模块12,其设置为根据输入外设的设备信息识别出所述用户的输入外设;
所述容器控制模块11还设置为将所述用户的输入外设的操作指令重定向到所述第二应用容器;
输出外设管理模块13,其设置为根据输出外设的设备信息识别出所述用户的输出外设;
所述容器控制模块11还设置为将所述用户的输出外设的设备信息发送至所述第二应用容器,并将所述第二应用容器输出的内容发送至所述用户的输出外设。
进一步的,所述云终端还包括接收模块14;
所述接收模块14设置为接收输入外设和输出外设的接入注册信息,并记录输入外设和输出外设的设备信息;
所述容器控制模块11还设置为在用户使用第一应用容器内的应用之前为所述用户启动需要使用应用所在的第一应用容器,将用户的输入外设的输入操作指令输入至第一应用容器,并将第一应用容器的输出内容发送至所述用户的输出外设。
进一步的,所述输入外设管理模块12具体设置为:
获取当前使用的输入外设的设备信息,并根据记录的输入外设的设备信息识别出所述用户的输入外设;
所述输出外设管理模块12具体设置为:
获取当前使用的输出外设的设备信息,并根据记录的输出外设的设备信息识别出所述用户的输入外设。
进一步的,所述设备信息包括:
外设类型、外设标识和外设地址。
进一步的,所述云终端还包括用户管理模块15;
所述用户管理模块15设置为获取各个用户的外设列表,外设列表中包括外设的设备信息及用户标识信息;以及,
在所述接收模块14接收输入外设和输出外设接入注册后根据各个用户的外设列表建立外设与用户之间的对应关系;
所述输入外设管理模块12具体设置为:
获取当前接入的所有输入外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输入外设,将查询到的与所述用户对应的输入外设作为识别出的所述用户的输入外设;
所述输出外设管理模块13具体设置为:
获取当前接入的所有输出外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输出外设,将查询到的与所述用户对应的输出外设作为识别出的所述用户的输出外设。
进一步的,所述云终端还包括应用管理模块16;
所述应用管理模块16设置为建立应用与外设之间的对应关系;以及,
在所述容器控制模块11启动第二应用容器后根据应用与外设之间的对应关系确定第二应用容器内的应用所需的输入外设列表和输出外设列表;
所述容器控制模块11具体设置为:
根据所述第二应用容器内的应用所需的输入外设列表,将处于所述输入外设列表内的所述用户的输入外设的操作指令重定向到所述第二应用容器;以及,
根据第二应用容器内的应用所需的输出外设列表,将处于所述输出外设列表内的所述用户的输出外设的设备信息发送至第二应用容器。
进一步的,所述容器控制模块11具体设置为:
通过所述接收模块14接收所述用户通过输入外设传输的应用切换指令,所述应用切换指令中包括所述用户要使用的第二应用容器内的应用的信息,所述应用切换指令由所述用户通过输入外设的专用按键或者特定组合键或者特定按键时序组合生成;以及,
对所述应用切换指令进行识别,确定所述用户要使用的应用所对应的第二应用容器的标识。
进一步的,所述容器控制模块11具体设置为:
获取各个应用容器的显示界面上显示的其他容器的应用列表;
当所述用户通过输入外设在所述第一应用容器上选择位于所述第二应用容器内的应用时根据所述用户的选择获取所述第二应用容器的标识。
本公开实施例的云终端用于实施方法实施例一至实施例五中的云终端的外设重定向方法,所以描述的较为简单,具体可以参见前面方法实施例一至实施例五中的相关描述,此处不再赘述。
此外,如图8所示,本公开实施例七还提供一种电子设备,包括存储器10和处理器20,所述存储器10中存储有计算机程序,当所述处理器20运行所述存储器10存储的计算机程序时,所述处理器20执行上述各种可能的方法。
其中,存储器10与处理器20连接,存储器10可采用闪存或只读存储器或其他存储器,处理器20可采用中央处理器或单片机。
此外,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行上述各种可能的方法。
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically ErasableProgrammable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。

Claims (11)

1.一种云终端的外设重定向方法,其特征在于,应用于云终端,所述方法包括:
在用户已使用第一应用容器内的应用并选择使用第二应用容器内的应用时获取第二应用容器的标识,并根据获取的第二应用容器的标识启动第二应用容器;
根据输入外设的设备信息识别出所述用户的输入外设;
将所述用户的输入外设的操作指令重定向到所述第二应用容器;
根据输出外设的设备信息识别出所述用户的输出外设;
将所述用户的输出外设的设备信息发送至所述第二应用容器,并将所述第二应用容器的输出内容发送至所述用户的输出外设。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收输入外设和输出外设的接入注册信息,并记录输入外设和输出外设的设备信息;
在用户使用第一应用容器内的应用之前为所述用户启动需要使用应用所在的第一应用容器,将用户的输入外设的输入操作指令输入至第一应用容器,并将第一应用容器的输出内容发送至所述用户的输出外设。
3.根据权利要求2所述的方法,其特征在于,
所述根据输入外设的设备信息识别出所述用户的输入外设包括:
获取当前使用的输入外设的设备信息,并根据记录的输入外设的设备信息识别出所述用户的输入外设;
所述根据输出外设的设备信息识别出所述用户的输出外设包括:
获取当前使用的输出外设的设备信息,并根据记录的输出外设的设备信息识别出所述用户的输入外设。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述设备信息包括:
外设类型、外设标识和外设地址。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取各个用户的外设列表,外设列表中包括外设的设备信息及用户标识信息;
在输入外设和输出外设接入注册后根据各个用户的外设列表建立外设与用户之间的对应关系;
所述根据所述用户的输入外设的设备信息识别出所述用户的输入外设包括:
获取当前接入的所有输入外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输入外设,将查询到的与所述用户对应的输入外设作为识别出的所述用户的输入外设;
所述根据所述用户的输出外设的设备信息识别出所述用户的输出外设包括:
获取当前接入的所有输出外设的设备信息,并根据外设与用户之间的对应关系查询其中与所述用户对应的输出外设,将查询到的与所述用户对应的输出外设作为识别出的所述用户的输出外设。
6.根据权利要求2或5所述的方法,其特征在于,所述方法还包括:
建立应用与外设之间的对应关系;
在启动第二应用容器后根据应用与外设之间的对应关系确定第二应用容器内的应用所需的输入外设列表和输出外设列表;
所述将所述用户的输入外设的操作指令重定向到所述第二应用容器包括:
根据第二应用容器内的应用所需的输入外设列表,将处于所述输入外设列表内的所述用户的输入外设的操作指令重定向到所述第二应用容器;
所述将所述用户的输出外设的设备信息发送至所述第二应用容器包括:
根据所述第二应用容器内的应用所需的输出外设列表,将处于所述输出外设列表内的所述用户的输出外设的设备信息发送至第二应用容器。
7.根据权利要求2、3和5中任一所述的方法,其特征在于,所述获取第二应用容器的标识包括:
接收所述用户通过输入外设传输的应用切换指令,所述应用切换指令中包括所述用户要使用的第二应用容器内的应用的信息,所述应用切换指令由所述用户通过输入外设的专用按键或者特定组合键或者特定按键时序组合生成;
对所述应用切换指令进行识别,确定所述用户要使用的应用所对应的第二应用容器的标识。
8.根据权利要求2、3和5中任一所述的方法,其特征在于,所述获取第二应用容器的标识包括:
获取各个应用容器的显示界面上显示的其他容器的应用列表;
当所述用户通过输入外设在所述第一应用容器上选择位于所述第二应用容器内的应用时根据所述用户的选择获取所述第二应用容器的标识。
9.一种云终端,其特征在于,所述云终端包括:
容器控制模块,其设置为在用户已使用第一应用容器内的应用并选择使用第二应用容器内的应用时获取第二应用容器的标识,并根据获取的第二应用容器的标识启动第二应用容器;
输入外设管理模块,其设置为根据输入外设的设备信息识别出所述用户的输入外设;
所述容器控制模块还设置为将所述用户的输入外设的操作指令重定向到所述第二应用容器;
输出外设管理模块,其设置为根据输出外设的设备信息识别出所述用户的输出外设;
所述容器控制模块还设置为将所述用户的输出外设的设备信息发送至所述第二应用容器,并将所述第二应用容器输出的内容发送至所述用户的输出外设。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行如权利要求1-8中任一项所述的云终端的外设重定向方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的云终端的外设重定向方法。
CN202210699916.5A 2022-06-20 2022-06-20 云终端的外设重定向方法、云终端、电子设备及介质 Pending CN117290003A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210699916.5A CN117290003A (zh) 2022-06-20 2022-06-20 云终端的外设重定向方法、云终端、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210699916.5A CN117290003A (zh) 2022-06-20 2022-06-20 云终端的外设重定向方法、云终端、电子设备及介质

Publications (1)

Publication Number Publication Date
CN117290003A true CN117290003A (zh) 2023-12-26

Family

ID=89239613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210699916.5A Pending CN117290003A (zh) 2022-06-20 2022-06-20 云终端的外设重定向方法、云终端、电子设备及介质

Country Status (1)

Country Link
CN (1) CN117290003A (zh)

Similar Documents

Publication Publication Date Title
EP3550784B1 (en) Resource sharing method, device and system
EP3432549B1 (en) Method and apparatus for processing user requests
US5396630A (en) Method and system for object management across process boundries in a data processing system
US11030025B2 (en) Managing inter-process communications in a containerized application environment
CN110998528A (zh) 自动基于工作流的装置切换
WO2017128710A1 (zh) 一种端口重定向的方法、服务器和系统
EP2551770B1 (en) Data share system, data process apparatus, and computer-readable recording medium
CN112860208A (zh) 基于投屏的软件共享方法、装置、设备及存储介质
WO2022048419A1 (zh) 用于usb传输的方法和电子设备
CN109194589B (zh) 一种mdc实现方法及装置
CN113961295A (zh) 设备交互控制方法、装置、电子设备和可读存储介质
KR20050114047A (ko) 원격지에 소재하는 다수의 클라이언트들을 지원하는 방법및 서버
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
CN113973133A (zh) Usb设备重定向方法、装置、电子设备及存储介质
CN105763545A (zh) 一种byod方法及装置
CN117290003A (zh) 云终端的外设重定向方法、云终端、电子设备及介质
CN108874699B (zh) 多系统使用mtp功能的方法、装置及电子设备
CN113973132A (zh) Usb设备共享方法、装置、电子设备及存储介质
CN114168257A (zh) 并口重定向方法、装置、系统和存储介质
KR101326231B1 (ko) 가상화 소프트웨어 서비스 시스템 및 이를 위한 서비스 서버 및 사용자단말
CN112968812A (zh) 一种网络性能测试方法、装置、设备及存储介质
CN112631736A (zh) 云主机的音频数据串流方法、装置、设备及存储介质
US8176138B1 (en) Method and apparatus for system description and provisioning
CN115118719B (zh) 一种云桌面的摄像头设备连接的方法及系统
WO2021184291A1 (zh) 传输数据的方法、装置和系统

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