一种按键管理方法和装置转让专利

申请号 : CN201710351987.5

文献号 : CN107545198B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 莫洪强

申请人 : 新华三信息技术有限公司

摘要 :

本申请提供一种按键管理方法和装置,该方法包括:在所述KVM客户端获得焦点后,通过所述监听客户端阻断按键信息与所述应用客户端之间的通信,以使所述应用客户端无法获取到所述按键信息;将所述按键信息提供给所述KVM客户端,以使所述KVM客户端利用所述按键信息操作与所述KVM客户端对应的服务器。通过本申请的技术方案,基于主机的按键信息,KVM客户端可以操作远程的服务器,方便操作远程的服务器,提高用户感受。

权利要求 :

1.一种按键管理方法,其特征在于,应用于包括应用客户端、KVM客户端和监听客户端的主机,所述方法包括:在所述KVM客户端获得焦点后,通过所述监听客户端阻断按键信息与所述应用客户端之间的通信,以使所述应用客户端无法获取到所述按键信息;

将所述按键信息提供给所述KVM客户端,以使所述KVM客户端利用所述按键信息操作与所述KVM客户端对应的服务器。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述KVM客户端获得焦点后,启动所述监听客户端;

在所述KVM客户端失去焦点后,关闭所述监听客户端;

其中,所述监听客户端用于监听按键信息。

3.根据权利要求1所述的方法,其特征在于,

所述将所述按键信息提供给所述KVM客户端的过程,具体包括:通过所述监听客户端将所述按键信息发送给所述KVM客户端;或者,通过所述监听客户端确定与所述按键信息对应的调整参数,并根据所述调整参数修改配置文件;通过所述KVM客户端监听所述配置文件,从所述配置文件中解析出所述调整参数,并确定与所述调整参数对应的按键信息。

4.根据权利要求3所述的方法,其特征在于,

所述配置文件的格式具体为:txt格式、或者xml格式、或者json格式;

所述调整参数具体包括:所述按键信息对应的标识信息、执行次数。

5.根据权利要求1所述的方法,其特征在于,所述通过所述监听客户端阻断按键信息与所述应用客户端之间的通信的过程,具体包括:通过所述监听客户端判断所述应用客户端是否有按键信息的优先使用权;如果是,则通过所述监听客户端阻断按键信息与所述应用客户端之间的通信。

6.一种按键管理装置,其特征在于,应用于包括应用客户端、KVM客户端和监听客户端的主机,所述装置具体包括:处理模块,用于在所述KVM客户端获得焦点后,通过所述监听客户端阻断按键信息与所述应用客户端之间的通信,以使所述应用客户端无法获取到所述按键信息;

发送模块,用于将所述按键信息提供给所述KVM客户端,以使所述KVM客户端利用所述按键信息操作与所述KVM客户端对应的服务器。

7.根据权利要求6所述的装置,其特征在于,

所述处理模块,还用于在所述KVM客户端获得焦点后,启动所述监听客户端;在所述KVM客户端失去焦点后,关闭所述监听客户端;

其中,所述监听客户端用于监听按键信息。

8.根据权利要求6所述的装置,其特征在于,

所述发送模块,具体用于在将所述按键信息提供给所述KVM客户端的过程中,通过所述监听客户端将所述按键信息发送给所述KVM客户端;或者,通过所述监听客户端确定与所述按键信息对应的调整参数,并根据所述调整参数修改配置文件;通过所述KVM客户端监听所述配置文件,从所述配置文件中解析出所述调整参数,并确定与所述调整参数对应的按键信息。

9.根据权利要求8所述的装置,其特征在于,

所述发送模块根据所述调整参数修改的所述配置文件的格式具体为:txt格式、或者xml格式、或者json格式;所述发送模块确定的所述调整参数具体包括:所述按键信息对应的标识信息、执行次数。

10.根据权利要求6所述的装置,其特征在于,所述处理模块,具体用于在通过所述监听客户端阻断按键信息与所述应用客户端之间的通信的过程中,通过所述监听客户端判断所述应用客户端是否有按键信息的优先使用权;如果是,则通过所述监听客户端阻断按键信息与所述应用客户端之间的通信。

说明书 :

一种按键管理方法和装置

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种按键管理方法和装置。

背景技术

[0002] 服务器的有效管理是管理人员不可避免的难题,目前的实现方法是:管理人员通过KVM(Keyboard Video Mouse,键盘、显示终端和鼠标)实现服务器的管理。如图1所示,为管理人员通过KVM客户端对服务器进行管理的示意图,在PC(Personal Computer,个人计算机)上配置有用于对服务器进行管理的KVM客户端,而管理人员可以在PC上通过KVM客户端来操作远程的服务器。

发明内容

[0003] 本申请提供一种按键管理方法,应用于包括应用客户端、KVM客户端和监听客户端的主机,所述方法包括:
[0004] 在所述KVM客户端获得焦点后,通过所述监听客户端阻断按键信息与所述应用客户端之间的通信,以使所述应用客户端无法获取到所述按键信息;
[0005] 将所述按键信息提供给所述KVM客户端,以使所述KVM客户端利用所述按键信息操作与所述KVM客户端对应的服务器。
[0006] 本申请提供一种按键管理装置,应用于包括应用客户端、KVM客户端和监听客户端的主机,所述装置具体包括:
[0007] 处理模块,用于在所述KVM客户端获得焦点后,通过所述监听客户端阻断按键信息与所述应用客户端之间的通信,以使所述应用客户端无法获取到所述按键信息;
[0008] 发送模块,用于将所述按键信息提供给所述KVM客户端,以使所述KVM客户端利用所述按键信息操作与所述KVM客户端对应的服务器。
[0009] 基于上述技术方案,本申请实施例中,在监听到按键信息后,可以阻断按键信息与应用客户端之间的通信,以使应用客户端无法获取到该按键信息,并将该按键信息提供给KVM客户端,以使KVM客户端可以利用该按键信息操作与该KVM客户端对应的服务器。这样,基于主机的按键信息,KVM客户端可以操作远程的服务器,方便操作远程的服务器,提高用户感受。

附图说明

[0010] 为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中所记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
[0011] 图1是通过KVM客户端对服务器进行管理的示意图;
[0012] 图2是本申请一种实施方式中的应用场景示意图;
[0013] 图3是本申请一种实施方式中的按键管理方法的流程图;
[0014] 图4是本申请一种实施方式中的按键管理装置的结构图;
[0015] 图5是本申请一种实施方式中主机的硬件结构图。

具体实施方式

[0016] 在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,在本文中使用的术语“和/或”等,是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0017] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者,“当……时”,或者,“响应于确定”。
[0018] 本申请实施例提出一种按键管理方法,该方法可以应用于包括操作系统、应用客户端、KVM客户端和监听客户端的主机(即PC),参见图2所示,为该按键管理方法的应用场景示意图。其中,操作系统是管理和控制主机的硬件资源与软件资源的计算机程序,是基本的系统软件,其它应用程序均需要在操作系统的支持下才能够运行。KVM客户端是主机上安装的应用程序,用于对服务器进行管理。监听客户端是主机上安装的应用程序,用于对按键信息进行监听,并阻断监听到的按键信息与应用客户端之间的通信,以使应用客户端无法获取到按键信息,并使KVM客户端能够得到按键信息,继而利用按键信息对服务器进行管理。应用客户端是主机本地的KVM客户端之外的其它客户端,用于实现相应的功能,如应用客户端可以是word、pdf、浏览器、QQ等。
[0019] 在一个例子中,通过为KVM客户端配置按键,以使KVM客户端通过按键操作服务器,可以为用户带来很大方便。但是,若为KVM客户端配置的按键与应用客户端的按键相同,则应用客户端可能优先响应按键,KVM客户端也可能优先响应按键,若应用客户端优先响应按键时,则KVM客户端无法响应按键,从而导致KVM客户端无法通过按键操作服务器,影响用户使用感受。
[0020] 针对上述发现,本申请实施例提出的按键管理方法,可以通过监听客户端对按键信息进行监听,并阻断按键信息与应用客户端之间的通信,以使应用客户端无法获取到按键信息,并使KVM客户端能够得到该按键信息。
[0021] 在一个例子中,操作系统可以包括但不限于Windows操作系统、Linux操作系统、iOS操作系统、安卓操作系统等,为方便描述,后续以Windows操作系统为例说明,对于Linux操作系统、iOS操作系统、安卓操作系统等其它操作系统,其处理方式与Windows操作系统的处理方式类似,后续不再赘述。
[0022] 在安装Windows操作系统的主机上,监听客户端可以是通过HOOK(钩子)程序(也可以称为钩子函数)实现的。HOOK程序的本质是一个用于处理消息的函数,通过调用Windows操作系统的API(Application Programming Interface,应用程序编程接口),将HOOK程序挂入Windows操作系统,当特定消息(如携带按键信息的消息)发出时,在特定消息未到达目的窗口(如应用客户端)之前,HOOK程序可以先捕获该特定消息,即HOOK程序先得到控制权。
[0023] 当然,在实际应用中,监听客户端也可以通过其它函数(如阻断函数)实现,该阻断函数可以挂入操作系统(如Windows操作系统、Linux操作系统等),当特定消息(如携带按键信息的消息)发出时,在特定消息未到达目的窗口(如应用客户端)之前,阻断函数可以先捕获该特定消息,即阻断函数先得到控制权。对此监听客户端的实现方式不做限制,只要能够实现上述功能即可。
[0024] 在上述应用场景下,参见图3所示,为该按键管理方法的流程示意图。
[0025] 步骤301,在KVM客户端获得焦点后,通过监听客户端阻断按键信息与应用客户端之间的通信,以使该应用客户端无法获取到该按键信息。
[0026] 在一个例子中,在KVM客户端获得焦点之后,可以通过监听客户端监听按键信息。在监听到按键信息之后,则可以通过监听客户端阻断该按键信息与应用客户端之间的通信,以使该应用客户端无法获取到该按键信息。
[0027] 在一个例子中,在KVM客户端获得焦点之前,监听客户端处于关闭状态,不会通过监听客户端监听按键信息。此外,在KVM客户端获得焦点之后,就可以启动监听客户端,继而通过监听客户端监听按键信息。此外,在KVM客户端失去焦点之后,则可以关闭监听客户端,不再通过监听客户端监听按键信息。其中,该监听客户端是一个用于监听按键信息的客户端。
[0028] 其中,当主机显示窗口为KVM客户端的窗口时,就表示KVM客户端当前已经获得焦点,此时,用户针对主机的操作,就是针对KVM客户端的操作。此外,当主机显示窗口不再是KVM客户端的窗口时,就表示KVM客户端当前已经失去焦点,此时,用户针对主机的操作,不是针对KVM客户端的操作。
[0029] 在一个例子中,监听客户端能够监听到携带按键信息的消息,即监听客户端可以监听到按键信息。具体的,操作系统在监听到携带按键信息的消息后,将携带按键信息的消息发送给监听客户端,监听客户端可以监听到按键信息。
[0030] 在一个例子中,针对监听客户端监听到的按键信息,可以为应用客户端有优先使用权的按键信息、或应用客户端没有优先使用权的按键信息。基于此,在监听到按键信息之后,还可以通过监听客户端判断应用客户端是否有该按键信息的优先使用权;如果是,则可以通过监听客户端阻断该按键信息与应用客户端之间的通信,以使该应用客户端无法获取到该按键信息;如果否,则可以直接将该按键信息提供给已经获得焦点的KVM客户端,不用执行阻断操作。
[0031] 在一个例子中,为了使监听客户端能够获知应用客户端没有优先使用权的按键信息、应用客户端有优先使用权的按键信息,则还可以为该监听客户端配置一个信息表,该信息表用于记录没有优先使用权的按键信息和/或有优先使用权的按键信息。基于此信息表,监听客户端在监听到按键信息后,就可以通过查询该信息表,判断出应用客户端是否有按键信息的优先使用权。
[0032] 例如,若该信息表配置了没有优先使用权的按键信息,则在监听到按键信息后,若该信息表中存在该按键信息,就表示应用客户端没有该按键信息的优先使用权,若该信息表中不存在该按键信息,就表示应用客户端有该按键信息的优先使用权。又例如,若该信息表配置了有优先使用权的按键信息,则在监听到按键信息后,若该信息表中存在该按键信息,就表示应用客户端有该按键信息的优先使用权,若该信息表中不存在该按键信息,就表示应用客户端没有该按键信息的优先使用权。又例如,若该信息表配置了没有优先使用权的按键信息、有优先使用权的按键信息,则在监听到按键信息后,通过查询该信息表就可以直接判断出应用客户端是否有该按键信息的优先使用权。
[0033] 在一个例子中,应用客户端有优先使用权的按键信息是指:操作系统在得到按键信息之后,不会将该按键信息提供给已经获得焦点的KVM客户端,而是将该按键信息提供给应用客户端,以使应用客户端基于该按键信息进行操作,如在得到按键(Alt+Tab)对应的按键信息后,操作系统将该按键信息提供给应用客户端,由应用客户端基于该按键信息进行切屏操作。应用客户端没有优先使用权的按键信息是指:操作系统在得到按键信息之后,将该按键信息提供给已经获得焦点的KVM客户端,并由该KVM客户端基于该按键信息进行操作,如ctrl+c、ctrl+v等就是应用客户端没有优先使用权的按键信息。
[0034] 在一个例子中,可以将用户操作键盘时所产生的信息作为按键信息,而且,按键信息可以为普通键信息(如a、b、c等)和快捷键信息(如ctrl+c、ctrl+v等)。其中,快捷键信息是用户操作快捷键产生的信息,快捷键又可以称为快速键或者热键,通过某些特定按键、按键顺序或者按键组合来完成操作,且利用快捷键可以代替鼠标完成一些工作,例如,ctrl+c表示复制,ctrl+v表示粘贴。
[0035] 步骤302,将按键信息提供给KVM客户端,以使KVM客户端利用该按键信息操作与该KVM客户端对应的服务器。其中,在阻断按键信息与应用客户端之间的通信时,应用客户端无法获取到该按键信息,这样,能够将该按键信息提供给KVM客户端,以使KVM客户端利用按键信息操作服务器。
[0036] 在一个例子中,针对“将按键信息提供给KVM客户端”的过程,可以包括但不限于:方式一、通过监听客户端将该按键信息发送给KVM客户端;或者,方式二、通过监听客户端确定与该按键信息对应的调整参数,并根据该调整参数修改配置文件;然后,通过KVM客户端监听该配置文件,从该配置文件中解析出调整参数,并确定与该调整参数对应的按键信息。
其中,该配置文件的格式具体包括但不限于:txt格式、或者xml格式、或者json格式、或者word格式、或者PDF格式等,对此文件格式不做限制;此外,该调整参数具体包括但不限于:
按键信息对应的标识信息、执行次数。
[0037] 针对方式一,在阻断按键信息与应用客户端之间的通信时,应用客户端无法获取到按键信息,而KVM客户端并不能获取到按键信息。为了使KVM客户端获取到按键信息,还可为监听客户端配置如下功能:将按键信息发送给KVM客户端,基于此,监听客户端可以将按键信息发送给KVM客户端。
[0038] 针对方式二、在阻断按键信息与应用客户端之间的通信时,应用客户端无法获取到按键信息,而KVM客户端并不能获取到按键信息。为了使KVM客户端获取到按键信息,还可以为监听客户端配置如下功能:通过与按键信息对应的调整参数修改配置文件。基于此,监听客户端在监听到按键信息后,确定与按键信息对应的调整参数(如Alt+Tab对应的标识信息、执行次数等),并在配置文件中记录该调整参数。此外,KVM客户端可以周期性监听该配置文件,当该配置文件发生变化时,可以从配置文件中解析出调整参数,并确定与该调整参数对应的按键信息,这样,KVM客户端可以得到按键信息。
[0039] 其中,上述按键信息对应的标识信息可以包括但不限于:按键信息的名称(如Alt+Tab按键)、按键信息对应的唯一字符串(如Alt+Tab按键的字符串123123),对此标识信息不做限制,只要能够区分按键信息即可。
[0040] 其中,由于配置文件中记录有按键信息对应的标识信息和执行次数,因此,KVM客户端可以从配置文件中解析出该标识信息和执行次数,继而得到按键信息。例如,在上一个周期,配置文件中记录Alt+Tab按键和执行次数1,而在当前周期,配置文件中记录Alt+Tab按键和执行次数2,则KVM客户端可以获知按键信息是Alt+Tab按键。又例如,在上一个周期,配置文件中记录ctrl+c按键和执行次数1,而在当前周期,配置文件中记录Alt+Tab按键和执行次数1,则KVM客户端可以获知按键信息是Alt+Tab按键。
[0041] 基于上述技术方案,本申请实施例中,在监听到按键信息后,可以阻断按键信息与应用客户端之间的通信,以使应用客户端无法获取到该按键信息,并将该按键信息提供给KVM客户端,以使KVM客户端可以利用该按键信息操作与该KVM客户端对应的服务器。这样,基于PC的按键信息,KVM客户端可以操作远程的服务器,方便操作远程的服务器,提高用户感受。
[0042] 基于与上述方法同样的申请构思,本申请实施例中还提出一种按键管理装置,应用于包括应用客户端、KVM客户端和监听客户端的主机,如图4所示,为本申请提出的按键管理装置的结构图,所述按键管理装置具体包括:
[0043] 处理模块401,用于在所述KVM客户端获得焦点后,通过所述监听客户端阻断按键信息与所述应用客户端之间的通信,以使所述应用客户端无法获取到所述按键信息;
[0044] 发送模块402,用于将所述按键信息提供给所述KVM客户端,以使所述KVM客户端利用所述按键信息操作与所述KVM客户端对应的服务器。
[0045] 所述处理模块401,还用于在所述KVM客户端获得焦点后,启动所述监听客户端;在所述KVM客户端失去焦点后,关闭所述监听客户端;
[0046] 其中,所述监听客户端用于监听按键信息。
[0047] 所述发送模块402,具体用于在将所述按键信息提供给所述KVM客户端的过程中,通过所述监听客户端将所述按键信息发送给所述KVM客户端;或者,
[0048] 通过所述监听客户端确定与所述按键信息对应的调整参数,并根据所述调整参数修改配置文件;通过所述KVM客户端监听所述配置文件,从所述配置文件中解析出所述调整参数,并确定与所述调整参数对应的按键信息。
[0049] 所述发送模块402根据所述调整参数修改的所述配置文件的格式具体为:txt格式、或者xml格式、或者json格式;所述发送模块402确定的所述调整参数具体包括:所述按键信息对应的标识信息、执行次数。
[0050] 所述处理模块401,具体用于在通过所述监听客户端阻断按键信息与所述应用客户端之间的通信的过程中,通过所述监听客户端判断所述应用客户端是否有按键信息的优先使用权;如果是,则通过所述监听客户端阻断按键信息与所述应用客户端之间的通信。
[0051] 本申请实施例提供的主机,从硬件层面而言,该主机的硬件架构示意图具体可以参见图5所示。包括:机器可读存储介质和处理器,其中:
[0052] 机器可读存储介质:存储指令代码。
[0053] 处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的按键管理操作。
[0054] 这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0055] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0056] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0057] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0058] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0059] 而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0060] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0061] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0062] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。