基于单显卡的独立多图形用户人机交互方法、装置和系统转让专利

申请号 : CN202211525165.1

文献号 : CN115543157B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高珑唐源敏赵欣王静马俊丁滟谭郁松

申请人 : 中国人民解放军国防科技大学

摘要 :

本申请涉及基于单显卡的独立多图形用户人机交互方法、装置和系统,该方法包括:获取输入设备的输入事件;在输入事件的核心事件数据中加入对应输入事件的设备标识;将携带设备标识的核心事件数据包装成用户事件;若协议扩展开关设置为开,则向图形应用端转发用户事件;用户事件用于指示图形应用端根据用户事件中携带的设备标识识别来源于输入设备的输入事件并处理。可以支持多个独立用户在单显卡上同一个图形桌面环境下同时进行交互操作,无需再采用传统的MPX方案或多席位方案,达到了大幅降低使用成本的目的。

权利要求 :

1.基于单显卡的独立多图形用户人机交互方法,其特征在于,包括步骤:获取输入设备的输入事件;

在所述输入事件的核心事件数据中加入对应所述输入事件的设备标识;

将携带所述设备标识的所述核心事件数据包装成用户事件;

若协议扩展开关设置为开,则向图形应用端转发所述用户事件;所述用户事件用于指示所述图形应用端根据所述用户事件中携带的设备标识识别来源于所述输入设备的所述输入事件并处理,所述图形应用端为运行图形应用程序的显卡。

2.根据权利要求1所述的基于单显卡的独立多图形用户人机交互方法,其特征在于,所述输入设备包括鼠标,所述方法还包括:在所述鼠标的每次移动后,确定所述鼠标的目的位置是否在设定的显示范围内;

若是,则将所述鼠标的显示标识移动至所述目的位置。

3.根据权利要求2所述的基于单显卡的独立多图形用户人机交互方法,其特征在于,所述方法还包括:若所述鼠标的目的位置不在设定的所述显示范围内,则拒绝移动所述鼠标的显示标识。

4.根据权利要求1至3任一项所述的基于单显卡的独立多图形用户人机交互方法,其特征在于,所述方法还包括:若所述协议扩展开关设置为关,则向所述图形应用端转发所述输入事件。

5.根据权利要求4所述的基于单显卡的独立多图形用户人机交互方法,其特征在于,所述设备标识为所述输入设备的身份标识号。

6.基于单显卡的独立多图形用户人机交互装置,其特征在于,包括:事件获取模块,用于获取输入设备的输入事件;

标识添加模块,用于在所述输入事件的核心事件数据中加入对应所述输入事件的设备标识;

事件包装模块,用于将携带所述设备标识的所述核心事件数据包装成用户事件;

事件转发模块,用于在协议扩展开关设置为开时,向图形应用端转发所述用户事件;所述用户事件用于指示所述图形应用端根据所述用户事件中携带的设备标识识别来源于所述输入设备的所述输入事件并处理。

7.基于单显卡的独立多图形用户人机交互系统,其特征在于,包括服务主机、显示设备和N套输入设备,N为正整数;

所述服务主机分别连接所述显示设备和各所述输入设备,所述服务主机包括处理器和显卡,所述处理器用于获取各所述输入设备的输入事件后,在各所述输入事件的核心事件数据中分别加入对应各所述输入事件的设备标识,将携带所述设备标识的各所述核心事件数据包装成相应用户事件;所述显卡调用协议扩展开关并设置为开时,所述处理器向所述显卡转发各所述用户事件;所述显卡根据各所述用户事件中携带的设备标识分别识别来源于各所述输入设备的所述输入事件并向所述显示设备处理输出。

8.根据权利要求7所述的基于单显卡的独立多图形用户人机交互系统,其特征在于,所述输入设备包括鼠标,所述处理器还用于在所述鼠标的每次移动后,确定所述鼠标的目的位置是否在设定的显示范围内,若是,则将所述鼠标的显示标识移动至所述目的位置。

9.根据权利要求8所述的基于单显卡的独立多图形用户人机交互系统,其特征在于,若所述鼠标的目的位置不在设定的所述显示范围内,所述处理器则拒绝移动所述鼠标的显示标识。

10.根据权利要求7至9任一项所述的基于单显卡的独立多图形用户人机交互系统,其特征在于,所述显卡调用协议扩展开关并设置为关时,所述处理器向所述显卡转发各所述输入事件。

说明书 :

基于单显卡的独立多图形用户人机交互方法、装置和系统

技术领域

[0001] 本发明属于人机交互技术领域,涉及基于单显卡的独立多图形用户人机交互方法、装置和系统。

背景技术

[0002] 随着CPU和GPU性能提升,计算机的计算能力和图形处理能力不断提高,具备了在单个图形桌面环境下同时支持多个用户的技术条件。目前在图形桌面环境下已有支持多用户的方案,主要方案有2种:多鼠标键盘(Multi‑PointerX,MPX)和多席位(MultiSeat)。多鼠标键盘通过设计主/从(Master/Slave)输入设备实现支持多输入设备,每个输入设备将由主(Master)设备和从(Slave)设备构成。每个主输入设备对应屏幕上的一个鼠标箭头(主设备,MasterPointer)或键盘光标(主设备,MasterKeyboard);每个从输入设备对应一个实际的物理鼠标(从指示设备,SlavePointer)或物理键盘(从键盘设备,SlaveKeyboard)。
[0003] 而多席位则是在计算机上有多块显卡设备时,可以通过多席位方案实现支持多用户。通过在每一块显卡上运行1个图形显示服务器软件进程来实现支持多用户,此时系统中同时运行多个图形显示服务器软件进程(同时运行多个图形桌面环境),通过进程空间实现相互之间的隔离和并发。此时每个图形显示服务器软件进程绑定1块显卡和1套鼠标键盘,共同构成一个席位(Seat),由1位用户独立操作。每个鼠标箭头之间互相隔离,显示内容也相互隔离,通过不同的显示屏幕输出,彼此互不干扰。然而,在实现本发明的过程中,发明人发现目前传统图形桌面多用户支持技术仍然存在着使用成本较高的技术问题。

发明内容

[0004] 针对上述传统方法中存在的问题,本发明提出了基于单显卡的独立多图形用户人机交互方法、基于单显卡的独立多图形用户人机交互装置以及基于单显卡的独立多图形用户人机交互系统,能够大幅降低使用成本。
[0005] 为了实现上述目的,本发明实施例采用以下技术方案:
[0006] 一方面,提供基于单显卡的独立多图形用户人机交互方法,包括步骤:
[0007] 获取输入设备的输入事件;
[0008] 在输入事件的核心事件数据中加入对应输入事件的设备标识;
[0009] 将携带设备标识的核心事件数据包装成用户事件;
[0010] 若协议扩展开关设置为开,则向图形应用端转发用户事件;用户事件用于指示图形应用端根据用户事件中携带的设备标识识别来源于输入设备的输入事件并处理。
[0011] 在其中一个实施例中,输入设备包括鼠标,上述方法还包括:
[0012] 在鼠标的每次移动后,确定鼠标的目的位置是否在设定的显示范围内;
[0013] 若是,则将鼠标的显示标识移动至目的位置。
[0014] 在其中一个实施例中,上述方法还包括:
[0015] 若鼠标的目的位置不在设定的显示范围内,则拒绝移动鼠标的显示标识。
[0016] 在其中一个实施例中,上述方法还包括:
[0017] 若协议扩展开关设置为关,则向图形应用端转发输入事件。
[0018] 在其中一个实施例中,设备标识为输入设备的身份标识号。
[0019] 另一方面,还提供基于单显卡的独立多图形用户人机交互装置,包括:
[0020] 事件获取模块,用于获取输入设备的输入事件;
[0021] 标识添加模块,用于在输入事件的核心事件数据中加入对应输入事件的设备标识;
[0022] 事件包装模块,用于将携带设备标识的核心事件数据包装成用户事件;
[0023] 事件转发模块,用于在协议扩展开关设置为开时,向图形应用端转发用户事件;用户事件用于指示图形应用端根据用户事件中携带的设备标识识别来源于输入设备的输入事件并处理。
[0024] 又一方面,还提供基于单显卡的独立多图形用户人机交互系统,包括服务主机、显示设备和N套输入设备,N为正整数;
[0025] 服务主机分别连接显示设备和各输入设备,服务主机包括处理器和显卡,处理器用于获取各输入设备的输入事件后,在各输入事件的核心事件数据中分别加入对应各输入事件的设备标识,将携带设备标识的各核心事件数据包装成相应用户事件;显卡调用协议扩展开关并设置为开时,处理器向显卡转发各用户事件;显卡根据各用户事件中携带的设备标识分别识别来源于各输入设备的输入事件并向显示设备处理输出。
[0026] 在其中一个实施例中,输入设备包括鼠标,处理器还用于在鼠标的每次移动后,确定鼠标的目的位置是否在设定的显示范围内,若是,则将鼠标的显示标识移动至目的位置。
[0027] 在其中一个实施例中,若鼠标的目的位置不在设定的显示范围内,处理器则拒绝移动鼠标的显示标识。
[0028] 在其中一个实施例中,显卡调用协议扩展开关并设置为关时,处理器向显卡转发各输入事件。
[0029] 上述技术方案中的一个技术方案具有如下优点和有益效果:
[0030] 上述基于单显卡的独立多图形用户人机交互方法、装置和系统,通过首先获取输入设备的输入事件后,在输入事件的核心事件数据中加入对应输入事件的设备标识,从而支持输入设备的设备标识的核心人机交互事件扩展,再将携带设备标识的核心事件数据包装成用户事件。由于人机交互协议涉及图形应用程序(端)和图形显示服务器(端)之间的关键协议,而支持输入设备的设备标识的核心人机交互事件扩展,扩展了核心事件数据结构格式,可能导致原有图形应用端无法识别扩展后的核心事件数据格式,导致出错。
[0031] 因此,通过设置协议扩展开关来实现图形应用程序的兼容性设计。如此,对于支持多用户并可以识别扩展核心事件的图形应用端,其在运行前将调用并设置协议扩展开关为开,后续图形显示服务器将向图形应用端转发用户事件,图形应用端则可根据用户事件中携带的设备标识识别来源于输入设备的输入事件,并根据应用程序既有的业务逻辑进行不同的相应处理,确保整个软件栈都完整支持多用户使用模式。如此,即可以支持多个独立用户在单显卡上同一个图形桌面环境下同时进行交互操作,无需再采用传统的MPX方案或多席位方案,达到了大幅降低使用成本的目的。

附图说明

[0032] 为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033] 图1为多鼠标键盘示意图;
[0034] 图2为多鼠标键盘用户事件示意图;
[0035] 图3为一个实施例中基于单显卡的独立多图形用户人机交互方法的流程示意图;
[0036] 图4为一个实施例中单显卡独立多用户技术方案示意图,其中,(a)为目前缺省情况下不具备多鼠标键盘(MPX)和不具备多席位(MultiSeat)环境下的交互示意图,(b)为支持同屏幕下的多用户协同模式,(c)为多屏幕下的安全隔离多用户模式;
[0037] 图5为一个实施例中支持输入设备ID的核心人机交互事件扩展的示意图;
[0038] 图6为另一个实施例中基于单显卡的独立多图形用户人机交互方法的流程示意图;
[0039] 图7为一个实施例中人机交互设备区域锁定示意图,其中,(a)为人机交互设备交互区域锁定的处理流程,(b)为鼠标箭头在显示范围内;
[0040] 图8为一个实施例中基于单显卡的独立多图形用户人机交互装置的模块结构示意图;
[0041] 图9为一个实施例中基于单显卡的独立多图形用户人机交互系统的结构示意图。

具体实施方式

[0042] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0043] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
[0044] 需要说明的是,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。
[0045] 本领域技术人员可以理解,本文所描述的实施例可以与其它实施例相结合。在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0046] 在传统的MPX技术中,当创建多个主输入设备并为每一个主输入设备各自绑定一个从输入设备后,将支持在图形桌面环境中使用多套鼠标键盘。在这种方案下,只运行1个图形显示服务器软件进程。使用效果如图1所示,屏幕上每一个鼠标箭头对应一个主设备,所有和该鼠标箭头绑定的物理设备就是该主设备的从设备。
[0047] 发明人在实际应用与研究中发现,目前的多鼠标键盘方案虽然解决了在图形显示服务器内部的多鼠标键盘支持,但在包含输入事件处理的人机交互协议层面并未进行创新,导致与图形应用程序交互过程中存在难于解决的根本性问题。其中最关键的问题在于主从设备的技术方案仅修改了图形显示服务器软件内部细节,对于图形显示服务器软件和图形应用软件之间通讯的人机交互协议并未修改,导致图形应用程序无法判断输入事件具体由哪一个键盘鼠标触发,所以图形应用程序在处理多个不同鼠标键盘动作时将遇到问题。
[0048] 如图2所示,因人机交互协议中未包含区分输入设备的信息,所以图形显示服务器软件发送给图形应用程序的输入事件无法标志事件具体来源于哪个输入设备。输入事件通过图形界面库包装转发图形应用程序后,图形应用程序也无法区分用户事件1和用户事件2分别是由哪个输入设备产生。特别是对于由多个输入事件组合触发的复杂事件,例如完成鼠标拖拽窗口操作,必须先用鼠标点击住窗口标题栏后移动鼠标,如果鼠标点击后的鼠标移动事件来源于其他用户的鼠标,由于无法区分鼠标移动事件的来源,将导致多个鼠标之间产生干扰,结果是其他用户的鼠标移动事件将导致本用户的窗口不受控制的移动。如果要完全区分输入事件来源于哪个具体物理输入设备,须要在人机交互协议层面上进行改进升级并通过图形界面库通知应用程序。
[0049] 此外,在多席位方案下,需要在单台计算机上安装多块显卡,显卡数量须等于席位数量,这对于计算机硬件制造要求较高并且提高了计算机成本。同时,不同的席位之间是完全隔离的,无法交互和协同,无法满足复杂场景下的协同交互需求。因此,本申请提出了新的基于单显卡的独立多图形用户人机交互技术。
[0050] 下面将结合本发明实施例图中的附图,对本发明实施方式进行详细说明。
[0051] 请参阅图3,在一个实施例中,本申请实施例提供了基于单显卡的独立多图形用户人机交互方法,包括如下处理步骤S12至S18:
[0052] S12,获取输入设备的输入事件;
[0053] S14,在输入事件的核心事件数据中加入对应输入事件的设备标识;
[0054] S16,将携带设备标识的核心事件数据包装成用户事件;
[0055] S18,若协议扩展开关设置为开,则向图形应用端转发用户事件;用户事件用于指示图形应用端根据用户事件中携带的设备标识识别来源于输入设备的输入事件并处理。
[0056] 可以理解,上述方法的设计构思是:通过设计单显卡图形桌面环境下支持独立多用户的人机交互方法,完成单显卡图形桌面环境下对于独立多用户的支持。人机交互方法中至少包括两部分技术内容:(1)支持输入设备ID的核心人机交互事件扩展,(2)图形应用程序兼容性设计。通过这2项技术内容,可以支持多个独立用户在单显卡上同一个图形桌面环境下同时进行交互操作。支持效果分别如图4(b)和图4(c)所示,分别支持同屏幕下的多用户协同模式,以及多屏幕下的安全隔离多用户模式,其中,图4(a)为目前缺省情况下不具备多鼠标键盘(MPX)和不具备多席位(MultiSeat)环境下的交互示意图,APP是指应用,可以看出其仅支持多设备,而不支持多用户。当插入多个输入设备时,多个输入设备只能对应屏幕上共享的单个鼠标箭头,任意时刻单个鼠标箭头只能响应某一个用户的操作动作,由所有用户分时共享使用单个鼠标箭头,无法做到支持独立的多用户。
[0057] 上述的输入设备可以是本领域中常用的各类物理输入设备,例如但不限于鼠标、键盘、触摸板、手势感应装置、视觉输入设备或者前述若干种输入设备的组合。设备标识是指用于唯一标识相应输入设备的标识信息,可以但不限于是设备的身份标识、专为设备分配的符号标识、图形标识或者其他专属标识。上述方法可以但不限于在主机上搭载的图形显示服务器软件上运行实现,图形应用端可以是指运行图形应用程序的显卡。为便于说明与理解,下面以图形显示服务器和图形应用程序为交互主体进行具体说明,本领域技术人员可以理解,对于其他运行环境可以同理理解。
[0058] 图4(b)的使用效果类似多鼠标键盘(MPX),不同的地方在于多鼠标键盘方案并未修改人机交互协议,尽管在图形显示服务器中可以看到和使用多个输入设备,但是图形显示服务器软件发给图形应用软件的输入事件中不含区分不同物理输入设备的信息,导致图形应用程序无法区分不同物理输入设备,无法在包括图形应用程序的全软件栈层面支持真正的多用户,其原因如图2所示。
[0059] 而本申请的设计方案通过支持输入设备的设备标识的核心人机交互事件扩展后,将在人机交互协议的核心事件数据结构中,增加区分不同输入设备的设备标识,如图5所示,图形显示服务器根据不同的输入设备来源,将不同输入设备的设备标识加入核心输入事件中,以通过改进的人机交互协议发送并由图形界面库将核心输入事件包装成用户事件转发给图形应用程序,图形应用程序可以通过用户事件中不同的设备标识1和设备标识2等标志,区分来源于不同输入设备的输入事件并根据应用程序业务逻辑进行不同的相应处理,确保整个软件栈都完整支持多用户使用模式。
[0060] 上述基于单显卡的独立多图形用户人机交互方法,通过首先获取输入设备的输入事件后,在输入事件的核心事件数据中加入对应输入事件的设备标识,从而支持输入设备的设备标识的核心人机交互事件扩展,再将携带设备标识的核心事件数据包装成用户事件。由于人机交互协议涉及图形应用程序(端)和图形显示服务器(端)之间的关键协议,而支持输入设备的设备标识的核心人机交互事件扩展,扩展了核心事件数据结构格式,可能导致原有图形应用端无法识别扩展后的核心事件数据格式,导致出错。
[0061] 因此,通过设置协议扩展开关来实现图形应用程序的兼容性设计。如此,对于支持多用户并可以识别扩展核心事件的图形应用端,其在运行前将调用并设置协议扩展开关为开,后续图形显示服务器将向图形应用端转发用户事件,图形应用端则可根据用户事件中携带的设备标识识别来源于输入设备的输入事件,并根据应用程序既有的业务逻辑进行不同的相应处理,确保整个软件栈都完整支持多用户使用模式。如此,即可以支持多个独立用户在单显卡上同一个图形桌面环境下同时进行交互操作,无需再采用传统的MPX方案或多席位方案,达到了大幅降低使用成本的目的。
[0062] 在一个实施例中,设备标识为输入设备的身份标识号。进一步的,如图5所示,优选地采用身份标识号(即ID号)作为输入设备的设备标识,从而以最常用且可靠的设备标识手段实现对各输入设备的准确标识,帮助图形显示服务器高效完成相应数据的添加和图形应用端快速完成输入设备区分。
[0063] 在一个实施例中,如图6所示,输入设备包括鼠标,上述基于单显卡的独立多图形用户人机交互方法还包括如下步骤S20和S22:
[0064] S20,在鼠标的每次移动后,确定鼠标的目的位置是否在设定的显示范围内;
[0065] S22,若是,则将鼠标的显示标识移动至目的位置。
[0066] 可以理解,在本实施例中,还设计了第三部分技术内容:(3)人机交互设备交互区域锁定。图4(c)所示的使用效果类似多席位(MultiSeat),两者主要区别在于多席位必须在多个显卡的计算机上才能实现。而本申请方案是在单显卡多头独立显示功能的基础上,支持单显卡分屏独立显示并通过人机交互设备交互区域锁定技术支持在多头单显卡的机器上实现安全隔离多用户使用模式。
[0067] 本实施例在支持输入设备ID的核心人机交互事件扩展基础上,实现人机交互设备交互区域锁定。如图7所示,在鼠标每次移动后,将判断鼠标目的位置是否在指定的显示范围以内,如果判断结果为在,则将鼠标箭头移动到目的位置,其中,图7(a)为实现人机交互设备交互区域锁定的处理流程,图7(b)为鼠标箭头在显示范围内,seat信息为席位信息。
[0068] 进一步的,上述基于单显卡的独立多图形用户人机交互方法还可以包括如下处理步骤:
[0069] 若鼠标的目的位置不在设定的显示范围内,则拒绝移动鼠标的显示标识。
[0070] 具体的,如果判断结果为不在,则拒绝移动鼠标箭头位置。如此可以实现将鼠标箭头限制在某一区域范围内,既可以将鼠标箭头限制在不同的独立屏幕中,也可以将鼠标箭头限制在不同的独立图形应用程序窗口中,实现类似“锁定”鼠标箭头的功能。反之,如果不锁定鼠标箭头,则在多用户情况下,多个鼠标箭头可以出现在任意位置。在应用程序支持识别并处理不同输入设备ID的条件下,可以支持同屏幕条件下的多用户复杂协同操作。
[0071] 在一个实施例中,上述基于单显卡的独立多图形用户人机交互方法还包括:
[0072] 若协议扩展开关设置为关,则向图形应用端转发输入事件。
[0073] 具体的,对于不支持多用户的旧有图形应用程序,则一切不变,仍旧发送原有格式的输入事件。也即此类旧有的图形应用程序在运行前不会调用并设置协议扩展开关,而是由图形显示服务器直接向图形应用程序发送原有格式的输入事件。如此,也可以直接适用于旧有的交互系统,兼容性较强。
[0074] 本申请方案和现有的多鼠标键盘方案(MPX)及多席位方案(MultiSeat)相比,由于从人机交互协议核心内容进行了创新,为不同输入设备标志了不同的设备标识并可以将不同输入设备锁定在限定范围内,兼具如下优点:1、同时具备多鼠标键盘方案和多席位方案的优点,可以通过简单的软件设置,既支持多鼠标键盘方案效果,也支持多席位方案效果,实现同时支持同屏幕条件下的多用户协同模式和多屏幕条件下的安全隔离多用户模式;2、可以在支持多头显示的单显卡上实现全部多用户操作模式,对于计算机硬件定制要求更低。可以大幅降低人均使用成本,降低特殊受限多用户使用场景下的计算机的体积、重量、功耗和成本;3、便于开发者开发支持多用户操作模式的图形应用程序,支持贯穿整个软件栈实现多用户操作模式。
[0075] 应该理解的是,虽然图3和图6流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图3和图6的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0076] 请参阅图8,在一个实施例中,提供基于单显卡的独立多图形用户人机交互装置100,包括事件获取模块11、标识添加模块12、事件包装模块13和事件转发模块14。其中,事件获取模块11用于获取输入设备的输入事件。标识添加模块12用于在输入事件的核心事件数据中加入对应输入事件的设备标识。事件包装模块13用于将携带设备标识的核心事件数据包装成用户事件。事件转发模块14用于在协议扩展开关设置为开时,向图形应用端转发用户事件;用户事件用于指示图形应用端根据用户事件中携带的设备标识识别来源于输入设备的输入事件并处理。
[0077] 上述基于模型的基于单显卡的独立多图形用户人机交互装置100,通过各模块的协作,首先获取输入设备的输入事件后,在输入事件的核心事件数据中加入对应输入事件的设备标识,从而支持输入设备的设备标识的核心人机交互事件扩展,再将携带设备标识的核心事件数据包装成用户事件。由于人机交互协议涉及图形应用程序(端)和图形显示服务器(端)之间的关键协议,而支持输入设备的设备标识的核心人机交互事件扩展,扩展了核心事件数据结构格式,可能导致原有图形应用端无法识别扩展后的核心事件数据格式,导致出错。
[0078] 因此,通过设置协议扩展开关来实现图形应用程序的兼容性设计。如此,对于支持多用户并可以识别扩展核心事件的图形应用端,其在运行前将调用并设置协议扩展开关为开,后续图形显示服务器将向图形应用端转发用户事件,图形应用端则可根据用户事件中携带的设备标识识别来源于输入设备的输入事件,并根据应用程序既有的业务逻辑进行不同的相应处理,确保整个软件栈都完整支持多用户使用模式。如此,即可以支持多个独立用户在单显卡上同一个图形桌面环境下同时进行交互操作,无需再采用传统的MPX方案或多席位方案,达到了大幅降低使用成本的目的。
[0079] 在一个实施例中,上述基于单显卡的独立多图形用户人机交互装置100还可以用于实现上述基于单显卡的独立多图形用户人机交互方法其他实施例的步骤功能。
[0080] 关于基于单显卡的独立多图形用户人机交互装置100的具体限定,可以参见上文中基于单显卡的独立多图形用户人机交互方法的相应限定,在此不再赘述。上述基于模型的基于单显卡的独立多图形用户人机交互装置100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于具体数据处理功能的设备中,也可以软件形式存储于前述设备的存储器中,以便于处理器调用执行以上各个模块对应的操作,前述设备可以是但不限于本领域已有的各型计算机主机设备。
[0081] 在一个实施例中,还提供计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如下处理步骤:获取输入设备的输入事件;在输入事件的核心事件数据中加入对应输入事件的设备标识;将携带设备标识的核心事件数据包装成用户事件;若协议扩展开关设置为开,则向图形应用端转发用户事件;用户事件用于指示图形应用端根据用户事件中携带的设备标识识别来源于输入设备的输入事件并处理。
[0082] 在一个实施例中,计算机程序被处理器执行时,还可以实现上述基于单显卡的独立多图形用户人机交互方法各实施例中增加的步骤或者子步骤。
[0083] 在一个实施例中,请参阅图9,还提供基于单显卡的独立多图形用户人机交互系统200,包括服务主机201、显示设备202和N套输入设备203,N为正整数。服务主机201分别连接显示设备202和各输入设备203。服务主机包括处理器和显卡,处理器用于获取各输入设备的输入事件后,在各输入事件的核心事件数据中分别加入对应各输入事件的设备标识,将携带设备标识的各核心事件数据包装成相应用户事件;显卡调用协议扩展开关并设置为开时,处理器向显卡转发各用户事件;显卡根据各用户事件中携带的设备标识分别识别来源于各输入设备的输入事件并向显示设备处理输出。
[0084] 上述基于单显卡的独立多图形用户人机交互系统200,通过首先获取输入设备的输入事件后,在输入事件的核心事件数据中加入对应输入事件的设备标识,从而支持输入设备的设备标识的核心人机交互事件扩展,再将携带设备标识的核心事件数据包装成用户事件。由于人机交互协议涉及图形应用程序(端)和图形显示服务器(端)之间的关键协议,而支持输入设备的设备标识的核心人机交互事件扩展,扩展了核心事件数据结构格式,可能导致原有图形应用端无法识别扩展后的核心事件数据格式,导致出错。
[0085] 因此,通过设置协议扩展开关来实现图形应用程序的兼容性设计。如此,对于支持多用户并可以识别扩展核心事件的图形应用端,其在运行前将调用并设置协议扩展开关为开,后续图形显示服务器将向图形应用端转发用户事件,图形应用端则可根据用户事件中携带的设备标识识别来源于输入设备的输入事件,并根据应用程序既有的业务逻辑进行不同的相应处理,确保整个软件栈都完整支持多用户使用模式。如此,即可以支持多个独立用户在单显卡上同一个图形桌面环境下同时进行交互操作,无需再采用传统的MPX方案或多席位方案,达到了大幅降低使用成本的目的。
[0086] 在一个实施例中,输入设备包括鼠标,处理器还用于在鼠标的每次移动后,确定鼠标的目的位置是否在设定的显示范围内,若是,则将鼠标的显示标识移动至目的位置。
[0087] 在一个实施例中,若鼠标的目的位置不在设定的显示范围内,处理器则拒绝移动鼠标的显示标识。
[0088] 在一个实施例中,显卡调用协议扩展开关并设置为关时,处理器向显卡转发各输入事件。
[0089] 可以理解,关于基于单显卡的独立多图形用户人机交互系统200的具体限定,可以参见上文中基于单显卡的独立多图形用户人机交互方法的相应限定,在此不再赘述。
[0090] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线式动态随机存储器(Rambus DRAM,简称RDRAM)以及接口动态随机存储器(DRDRAM)等。
[0091] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0092] 以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可做出若干变形和改进,都属于本申请保护范围。因此本申请专利的保护范围应以所附权利要求为准。