数据处理方法及装置

文档序号:378695 发布日期:2021-12-10 浏览:18次 >En<

阅读说明:本技术 数据处理方法及装置 (Data processing method and device ) 是由 蔡显志 于 2021-08-03 设计创作,主要内容包括:本公开提供一种数据处理方法、装置、电子设备及存储介质,涉及云桌面领域,能够解决现有技术当有多个USB设备同时重定向时,多个USB设备的数据传输请求会按顺序依次到达数据传输请求队列中,然后依次处理会导致用户体验较差的问题。具体技术方案为:接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息;根据所述标识信息对所述至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求;根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。本发明用于提高用户体验。(The disclosure provides a data processing method and device, electronic equipment and a storage medium, relates to the field of cloud desktops, and can solve the problem that in the prior art, when a plurality of USB devices are simultaneously redirected, data transmission requests of the USB devices sequentially arrive at a data transmission request queue, and then the data transmission requests are sequentially processed to cause poor user experience. The specific technical scheme is as follows: receiving at least one data transmission request sent by a server, wherein the data transmission request comprises identification information of USB equipment to which the data transmission request is to be sent; grouping the at least one data transmission request according to the identification information to obtain at least one data transmission request queue, wherein each data transmission request queue comprises at least one data transmission request; and alternately sending the data transmission request in the at least one data transmission request queue to the USB equipment corresponding to the data transmission request according to a preset mode. The invention is used for improving the user experience.)

数据处理方法及装置

技术领域

本公开涉及云桌面领域,尤其涉及数据处理方法及装置。

背景技术

随着云计算技术应用的发展,近年来云桌面在各行业应用越来越广,通用串行总线(Universal Serial Bus,USB)设备的重定向的使用需求也越来越多。

当有多个USB设备同时重定向时,多个USB设备的数据传输请求会按顺序依次到达数据传输请求队列中,然后依次处理。例如设备1先插入计算机并且完成重定向,并且开始与服务器进行数据交互,数据传输请求队列中将全是设备1的数据传输请求,此时如果将USB设备2插入计算机,则设备2的数据传输请求将在数据传输请求队列中排队,并且排在设备1的数据传输请求后。那么当设备2的数据传输请求得到响应时,已经距离它插入隔了很长的时间,这会使用户感觉设备2的识别时间较长,用户体验较差。

发明内容

本公开实施例提供一种数据传输方法及装置,能够解决现有技术当有多个USB设备同时重定向时,多个USB设备的数据传输请求会按顺序依次到达数据传输请求队列中,然后依次处理会导致用户体验较差的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种数据处理方法,包括:

接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息;

根据所述标识信息对所述至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求;

根据预设方式交替将所述至少一个数据传输请求队列中的每个数据传输请求发送至与该数据传输请求对应的USB设备。

本公开实施例提供的数据处理方法,能够接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息;根据该标识信息对该至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求;根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备,能够避免现有技术当有多个USB设备同时重定向时,多个USB设备的数据传输请求会按顺序依次到达数据传输请求队列中,然后依次处理会导致用户体验较差的问题,提高了用户体验。

在一个实施例中,所述根据所述标识信息对所述至少一个USB设备数据传输请求进行分组包括:

将标识信息一致的至少一个数据传输请求分为一组。

在一个实施例中,所述USB设备的标识信息包括所述USB设备的优先级,所述根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备包括:

根据所述优先级交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

在一个实施例中,所述接收服务器发送的至少一个数据传输请求前,所述方法还包括:

接收服务器发送的准入USB设备列表,所述准入USB设备列表包括至少一个可以连接至服务器的USB设备的标识信息;

在确定目标USB设备插入时,获取所述目标USB设备的标识信息,所述目标USB设备为任意一个USB设备;

在确定准入USB设备列表存在所述目标USB设备的标识信息时,向服务器发送目标USB设备插入的指示消息,所述指示消息包括所述目标USB设备的标识信息。

在一个实施例中,所述向服务器发送目标USB设备插入的指示消息后,所述方法还包括:

接收服务器发送的请求描述符命令,并将所述请求描述符命令发送至所述目标USB设备;

接收所述目标USB设备根据所述请求描述符命令返回的设备描述符;

接收服务器发送的请求配置命令,并将所述请求配置命令发送至所述目标USB设备;

接收所述目标USB设备根据所述请求配置命令返回的配置信息;

将所述配置信息和所述设备描述符发送至服务器,以便服务器为所述目标USB设备分配USB设备驱动。

在一个实施例中,所述接收服务器发送的至少一个数据传输请求包括:

接收服务器经过所述USB总线驱动程序发送的至少一个数据传输请求。

根据本公开实施例的第二方面,提供一种数据处理装置,包括:

数据传输请求接收模块,用于接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息;

数据传输请求分组模块,用于根据所述标识信息对所述至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求;

数据传输请求发送模块,用于根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

在一个实施例中,所述数据传输请求分组模块用于:

将标识信息一致的至少一个数据传输请求分为一组。

在一个实施例中,所述USB设备的标识信息包括所述USB设备的优先级,所述数据传输请求发送模块303用于:

根据所述优先级交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

在一个实施例中,所述装置还包括:

指示消息发送模块,用于:

接收服务器发送的准入USB设备列表,所述准入USB设备列表包括至少一个可以连接至服务器的USB设备的标识信息;

在确定目标USB设备插入时,获取所述目标USB设备的标识信息,所述目标USB设备为任意一个USB设备;

在确定准入USB设备列表存在所述目标USB设备的标识信息时,向服务器发送目标USB设备插入的指示消息,所述指示消息包括所述目标USB设备的标识信息。

在一个实施例中,所述装置还包括:

配置信息发送模块,用于

接收服务器发送的请求描述符命令,并将所述请求描述符命令发送至所述目标USB设备;

接收所述目标USB设备根据所述请求描述符命令返回的设备描述符;

接收服务器发送的请求配置命令,并将所述请求配置命令发送至所述目标USB设备;

接收所述目标USB设备根据所述请求配置命令返回的配置信息;

将所述配置信息和所述设备描述符发送至服务器,以便服务器为所述目标USB设备分配USB设备驱动。

在一个实施例中,所述数据传输请求接收模块用于:

接收服务器经过所述USB总线驱动程序发送的至少一个数据传输请求。

根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现第一方面中任一项所述的数据处理方法中所执行的步骤。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现第一方面中任一项所述的数据处理方法中所执行的步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种数据处理方法的流程图;

图2是本公开实施例提供的一种USB重定向的示意图;

图3是本公开实施例提供的一种数据处理装置的结构图一;

图4是本公开实施例提供的一种数据处理装置的结构图二;

图5是本公开实施例提供的一种电子设备的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是本公开实施例提供一种数据处理方法的流程图。如图1所示,该方法包括:

S101、接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息。

在本实施例中,接收服务器发送的至少一个数据传输请求前,还包括:

接收服务器发送的准入USB设备列表,所述准入USB设备列表包括至少一个可以连接至服务器的USB设备的标识信息;在确定目标USB设备插入时,获取所述目标USB设备的标识信息,所述目标USB设备为任意一个USB设备;在确定准入USB设备列表存在所述目标USB设备的标识信息时,向服务器发送目标USB设备插入的指示消息,所述指示消息包括所述目标USB设备的标识信息。

进一步地,服务器发送目标USB设备插入的指示消息后,接收服务器发送的请求描述符命令,并将所述请求描述符命令发送至所述目标USB设备;接收所述目标USB设备根据所述请求描述符命令返回的设备描述符;接收服务器发送的请求配置命令,并将所述请求配置命令发送至所述目标USB设备;接收所述目标USB设备根据所述请求配置命令返回的配置信息;将所述配置信息和所述设备描述符发送至服务器,以便服务器为所述目标USB设备分配USB设备驱动。

下面结合图2进行说明。图2是本公开实施例提供的一种USB端口重定向的示意图。在本实施中,终端设备为可以插入USB设备的终端设备,例如,PC、台式机等,作为客户端。如图2所示,服务器为终端设备分配的虚拟机内置虚拟USB总线驱动,终端设备内置虚拟USB驱动,实现USB总线驱动的拉远。终端设备上所插入的USB设备的数据通过终端设备的USB总线传输至虚拟机USB驱动,虚拟USB驱动负责在终端设备的USB总线驱动和USB客户端之间双向传输数据,如实传输USB设备的一切数据。USB设备驱动安装并运行在虚拟机中,与虚拟机USB总线驱动进行交互,这样对虚拟机中的USB设备驱动来说,并不会感知到所控制的USB设备实际上在终端设备上,同样应用程序也不会感知到这个差异。USB端口重定向与具体的USB设备和应用无关,可以直接将USB端口重定向到服务器为终端设备分配的虚拟机中,这样,终端设备可以将USB设备的数据传输至该虚拟机。

示例性地,服务器为终端设备分配的虚拟机将准入USB设备列表发送给终端设备,该准入USB设备列表包括至少一个可以连接至服务器即该虚拟机的USB设备的标识信息;终端设备接收该准入USB设备列表后,在确定目标USB设备插入时,获取该目标USB设备的标识信息,该目标USB设备为任意一个USB设备;

终端设备在确定准入USB设备列表存在该目标USB设备的标识信息时,向虚拟机发送目标USB设备插入的指示消息,指示消息包括目标USB设备的标识信息。

进一步地,终端设备向虚拟机发送目标USB设备插入的指示消息后,虚拟机根据该指示消息向终端设备请求描述符命令,终端设备接收该描述符命令后,将请求描述符命令发送至目标USB设备;目标USB设备根据请求描述符命令向终端设备返回的设备描述符,终端设备将设备描述符发送至虚拟机。示例性地,终端设备向虚拟机发送目标USB设备插入的指示消息后虚拟机还向终端设备发送请求配置命令,终端设备接收虚拟机发送的请求配置命令,并将请求配置命令发送至目标USB设备;目标USB设备根据请求配置命令向终端设备返回配置信息;终端设备将配置信息发送至虚拟机,虚拟机根据该配置信息获取该目标USB设备的厂商、产品描述、型号等信息,进而虚拟机根据目标USB设备的厂商、产品描述、型号等信息以及USB设备的设备描述符为目标USB设备分配USB设备驱动。虚拟机为其他USB设备分配USB设备驱动的过程与目标USB设备类似,本实施例此处不再赘述。

示例性地,虚拟机为终端设备上插入的至少一个可以连接至虚拟机的USB设备中的每个USB设备分配USB设备驱动后,可以各个经过USB设备驱动向终端设备发送各个USB设备的数据传输请求,该数据传输请求包括USB设备的标识信息,即终端设备接收服务器为终端设备分配的虚拟机经过USB总线驱动程序发送的至少一个数据传输请求,该至少一个数据传输请求即为虚拟机各个经过USB设备驱动向终端设备发送各个USB设备的数据传输请求。

S102、根据该标识信息对该至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求。

在本实施例中,将标识信息一致的至少一个数据传输请求分为一组。

例如,将数据传输请求中的标识信息都为U盘的至少一个数据传输请求分为一组,即将U盘的所有数据传输请求都在队列1,将数据传输请求中的标识信息都为摄像头的所有数据传输请求分为1组,都在队列2。此处需要说明的是,例如图2所示,U盘的所有数据传输请求都是在虚拟机内由U盘的USB设备驱动传输至USB虚拟总线驱动,再由USB虚拟总线驱动传输至USB服务端,再由USB服务端通过协议通道传输至终端设备的USB客户端,再由USB客户端传输至虚拟USB驱动,再由虚拟USB驱动传输至终端设备的USB总线驱动,进而传输至终端设备的USB总线,再由终端设备的USB总线传输至U盘。摄像头的所有数据传输请求过程与U盘类似,本实施例此处不再赘述。

S103、根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

示例性地,USB设备的标识信息包括USB设备的优先级根据预设方式交替将至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备包括:

根据优先级交替将至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

例如,摄像头的优先级为1级,U盘的优先级为2级,摄像头的优先级高于U盘,在本实施例中,可以先按顺序将队列2中预设数量的数据传输请求发送至摄像头,再按顺序将队列1中预设数量的数据传输请求发送至U盘,如此交替发送队列1和队列2中的数据传输请求。还可以先在预设时长内按顺序将队列2中的数据传输请求发送至摄像头,再在预设时长内按顺序将队列1中的数据传输请求发送至U盘,如此交替发送队列1和队列2中的数据传输请求。这样按照优先级交替处理各个队列里的数据传输请求,避免了U盘先插入一直处理U盘的数据传输请求会导致用户感觉摄像头的识别时间较长的问题,提高了用户体验。

此处需要说明的是,终端设备在发送一条数据传输请求后,不需要等待USB设备根据该数据传输请求返回的数据,即可发送下一条数据传输请求。在接收到USB设备返回的数据时,将该数据发送至虚拟机。此处需要说明的是,例如图2所示,U盘根据数据传输请求返回的数据经由终端设备的USB总线传输至USB总线驱动,再由USB总线驱动传输至USB客户端,再由USB客户端传输至虚拟机的USB服务端,再由USB服务端传输至USB虚拟总线驱动,最后由USB虚拟总线驱动传输至U盘的USB设备驱动。摄像头根据数据传输请求返回的数据的传输过程与U盘类似,本实施例此处不再赘述。

本公开实施例提供的数据处理方法,能够接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息;根据该标识信息对该至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求;根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备,能够避免现有技术当有多个USB设备同时重定向时,多个USB设备的数据传输请求会按顺序依次到达数据传输请求队列中,然后依次处理会导致用户体验较差的问题,提高了用户体验。

基于上述图1对应的实施例中所描述的数据处理方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

图3是本公开实施例提供一种数据处理装置的结构示意图一。如图3所示,该数据传输装置30包括:

数据传输请求接收模块301,用于接收服务器发送的至少一个数据传输请求,所述数据传输请求包括所述数据传输请求待发送至的USB设备的标识信息;

数据传输请求分组模块302,用于根据所述标识信息对所述至少一个数据传输请求进行分组,得到至少一个数据传输请求队列,每个数据传输请求队列包括至少一个数据传输请求;

数据传输请求发送模块303,用于根据预设方式交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

在一个实施例中,所述数据传输请求分组模块302用于:

将标识信息一致的至少一个数据传输请求分为一组。

在一个实施例中,所述USB设备的标识信息包括所述USB设备的优先级,所述数据传输请求发送模块303用于:

根据所述优先级交替将所述至少一个数据传输请求队列中的数据传输请求发送至与该数据传输请求对应的USB设备。

在一个实施例中,所述装置30还包括:

指示消息发送模块304,用于:

接收服务器发送的准入USB设备列表,所述准入USB设备列表包括至少一个可以连接至服务器的USB设备的标识信息;

在确定目标USB设备插入时,获取所述目标USB设备的标识信息,所述目标USB设备为任意一个USB设备;

在确定准入USB设备列表存在所述目标USB设备的标识信息时,向服务器发送目标USB设备插入的指示消息,所述指示消息包括所述目标USB设备的标识信息。

在一个实施例中,所述装置30还包括:

配置信息发送模块305,用于

接收服务器发送的请求描述符命令,并将所述请求描述符命令发送至所述目标USB设备;

接收所述目标USB设备根据所述请求描述符命令返回的设备描述符;

接收服务器发送的请求配置命令,并将所述请求配置命令发送至所述目标USB设备;

接收所述目标USB设备根据所述请求配置命令返回的配置信息;

将所述配置信息和所述设备描述符发送至服务器,以便服务器为所述目标USB设备分配USB设备驱动。

在一个实施例中,所述数据传输请求接收模块301用于:

接收服务器经过所述USB总线驱动程序发送的至少一个数据传输请求。

本公开实施例提供的数据处理装置,其实现过程和技术效果可以参见上述图1实施例,在此不再赘述。

图5为本公开实施例提供的电子设备的结构图,如图5所示,该电子设备50包括:

处理器501和存储器502,所述存储器502中存储有至少一条计算机指令,所述指令由所述处理器501加载并执行以实现上述方法实施例中所描述的数据处理方法。

基于上述图1对应的实施例中所描述的数据处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的数据处理方法,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:USB设备重定向方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!