法律状态公告日
法律状态信息
法律状态
2023-09-01
授权
发明专利权授予
2023-08-15
实质审查的生效 IPC(主分类):H04L67/75 专利申请号:202310744124X 申请日:20230625
实质审查的生效
2023-07-28
公开
发明专利申请公布
技术领域
本发明涉及应用程序控制的技术领域,特别涉及基于X11协议的应用程序控制方法和系统。
背景技术
智能手机等客户端具有集成化程度高和操作便捷的特点,并且能够兼容安装不同类型的应用程序,通常直接通过客户端即可实现对应用程序的控制。但是在分布式控制体系中,大量客户端均连接至同一服务端,并且每个客户端并不处于用户的实际操作下,只能通过服务端对客户端进行相应的远程控制。由于客户端内部安装的应用程序数量众多,服务端需要逐一对客户端内部的应用程序进行识别认证,才能确保对应用程序的准确控制,这对服务端的数据处理性能提出较高的要求。此外,还需要考虑服务端与客户端连接过程,对应用程序进行可视化操作,提高应用程序的操作可控性。
发明内容
针对现有技术存在的缺陷,本发明提供了一种基于X11协议的应用程序控制方法和系统,从服务端筛选得到处于可用状态的交互设备,并确定每个处于可用状态的交互设备的调用属性,并结合客户端需要进行远程控制的应用程序的后台运行数据,使得服务端对客户端的应用程序进行控制过程中调用适合的交互设备实现可视化控制;还在调用的交互设备生成与应用程序对应的用户界面窗口,并根据对用户界面窗口的窗口操作行为,向客户端发送控制指令以此调整应用程序的工作状态,实现服务端对应用程序的可视化操作和提高应用程序的操作可控性;再基于调整后的应用程序的工作状态和对数据任务的处理进度,调整用户界面窗口的显示状态和改变客户端与服务端之间的连接状态,提高服务端对客户端的控制有序性和可靠性。
本发明提供基于X11协议的应用程序控制方法,包括如下步骤:
步骤S1,基于服务端的设备工作状态,对所述服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定所述服务端对每个处于可用状态的交互设备的调用属性;
步骤S2,基于来自客户端的连接请求,构建所述客户端与所述服务端的通信通道;从所述客户端确定需要进行远程控制的应用程序,并获取所述应用程序的后台运行数据;基于所述后台运行数据和所述调用属性,确定对所述应用程序进行远程控制的处于可用状态的交互设备;
步骤S3,在确定进行远程控制的所述交互设备上生成与所述应用程序对应的用户界面窗口,并获取所述用户界面窗口接收到的窗口操作行为;基于所述窗口操作行为,向所述客户端发送相应的控制指令,从而调整所述应用程序的工作状态;
步骤S4,基于调整后的所述应用程序的工作状态,调整所述交互设备的用户界面窗口的显示状态;基于所述应用程序对数据任务的处理进度,改变所述客户端与所述服务端之间的连接状态。
在本申请公开的一个实施例中,在所述步骤S1中,基于服务端的设备工作状态,对所述服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定所述服务端对每个处于可用状态的交互设备的调用属性,包括:
获取服务端下属连接的所有图形设备和所有输入/输出设备各自的工作任务处理状态;其中,所述工作任务处理状态包括每个图形设备的图形显示任务处理状态和每个输入/输出设备的信息输入/输出任务处理状态;
基于所述工作任务处理状态,判断所述图形设备和所述输入/输出设备是否正在处理或者已经接收到相应的工作任务;若否,则将相应的图形设备和输入/输出设备确定为处于可用状态的交互设备;
从处于可用状态的图形设备和输入/输出设备的历史工作记录中提取历史工作过程中对应连接的应用程序类型和连接持续时间;基于所述应用程序类型和连接持续时间,确定所有处于可用状态的图形设备和输入/输出设备关于相应类型应用程序的调取优先级别,以此作为所述调用属性。
在本申请公开的一个实施例中,在所述步骤S2中,基于来自客户端的连接请求,构建所述客户端与所述服务端的通信通道;从所述客户端确定需要进行远程控制的应用程序,并获取所述应用程序的后台运行数据;基于所述后台运行数据和所述调用属性,确定对所述应用程序进行远程控制的处于可用状态的交互设备,包括:
从来自客户端的连接请求提取所述客户端的身份信息,基于所述身份信息,对所述客户端对所述服务端的连接权限进行鉴权验证;当所述鉴权验证成功后,构建所述客户端与所述服务端的通信通道;
基于所述客户端的应用程序运行日志,从所述客户端确定需要进行远程控制的应用程序,并获取所述应用程序的后台运行数据;其中,所述后台运行数据包括所述应用程序需要处理的数据任务的数据状态;
基于所述后台运行数据,估计所述应用程序需要处理的数据任务的处理耗时;基于所述处理耗时和所述调用属性,确定对所述应用程序进行远程控制的处于可用状态的交互设备。
在本申请公开的一个实施例中,在所述步骤S3中,在确定进行远程控制的所述交互设备上生成与所述应用程序对应的用户界面窗口,并获取所述用户界面窗口接收到的窗口操作行为;基于所述窗口操作行为,向所述客户端发送相应的控制指令,从而调整所述应用程序的工作状态,包括:
在确定进行远程控制的图形设备上生成与所述应用程序对应的用户界面窗口,并基于所述图形设备的显示参数,调整所述用户界面窗口的显示状态;确定进行远程控制的输入/输出设备上获取所述用户界面窗口接收到的窗口操作行为;其中,所述窗口操作行为包括对所述用户界面窗口的菜单的点击行为;
基于所述窗口操作行为对应点击菜单位置和点击动作类型,向所述客户端发送相应的控制指令,从而调整所述应用程序的工作状态。
在本申请公开的一个实施例中,在所述步骤S4中,基于调整后的所述应用程序的工作状态,调整所述交互设备的用户界面窗口的显示状态;基于所述应用程序对数据任务的处理进度,改变所述客户端与所述服务端之间的连接状态,包括:
基于调整后的所述应用程序的数据任务处理阶段,调整所述交互设备对应的图形设备的用户界面窗口所显示的数据内容;
基于所述应用程序对数据任务的处理进度,判断所述应用程序是否已经处理完毕所述数据任务;若是,则中断所述客户端与所述服务端之间的连接状态;若否,则保持所述客户端与所述服务端当前的连接状态不变。
本发明还提供基于X11协议的应用程序控制系统,包括:
交互设备筛选与识别模块,基于服务端的设备工作状态,对所述服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定所述服务端对每个处于可用状态的交互设备的调用属性;
通信通道构建模块,基于来自客户端的连接请求,构建所述客户端与所述服务端的通信通道;
交互设备选择确定模块,从所述客户端确定需要进行远程控制的应用程序,并获取所述应用程序的后台运行数据;基于所述后台运行数据和所述调用属性,确定对所述应用程序进行远程控制的处于可用状态的交互设备;
界面窗口生成与监测模块,在确定进行远程控制的所述交互设备上生成与所述应用程序对应的用户界面窗口,并获取所述用户界面窗口接收到的窗口操作行为;
应用程序控制模块,基于所述窗口操作行为,向所述客户端发送相应的控制指令,从而调整所述应用程序的工作状态;
界面窗口调整模块,基于调整后的所述应用程序的工作状态,调整所述交互设备的用户界面窗口的显示状态;
连接状态变更模块,基于所述应用程序对数据任务的处理进度,改变所述客户端与所述服务端之间的连接状态。
在本申请公开的一个实施例中,交互设备筛选与识别模块基于服务端的设备工作状态,对所述服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定所述服务端对每个处于可用状态的交互设备的调用属性,包括:
获取服务端下属连接的所有图形设备和所有输入/输出设备各自的工作任务处理状态;其中,所述工作任务处理状态包括每个图形设备的图形显示任务处理状态和每个输入/输出设备的信息输入/输出任务处理状态;
基于所述工作任务处理状态,判断所述图形设备和所述输入/输出设备是否正在处理或者已经接收到相应的工作任务;若否,则将相应的图形设备和输入/输出设备确定为处于可用状态的交互设备;
从处于可用状态的图形设备和输入/输出设备的历史工作记录中提取历史工作过程中对应连接的应用程序类型和连接持续时间;基于所述应用程序类型和连接持续时间,确定所有处于可用状态的图形设备和输入/输出设备关于相应类型应用程序的调取优先级别,以此作为所述调用属性。
在本申请公开的一个实施例中,通信通道构建模块基于来自客户端的连接请求,构建所述客户端与所述服务端的通信通道,包括:
从来自客户端的连接请求提取所述客户端的身份信息,基于所述身份信息,对所述客户端对所述服务端的连接权限进行鉴权验证;当所述鉴权验证成功后,构建所述客户端与所述服务端的通信通道;
交互设备选择确定模块从所述客户端确定需要进行远程控制的应用程序,并获取所述应用程序的后台运行数据;基于所述后台运行数据和所述调用属性,确定对所述应用程序进行远程控制的处于可用状态的交互设备,包括:
基于所述客户端的应用程序运行日志,从所述客户端确定需要进行远程控制的应用程序,并获取所述应用程序的后台运行数据;其中,所述后台运行数据包括所述应用程序需要处理的数据任务的数据状态;
基于所述后台运行数据,估计所述应用程序需要处理的数据任务的处理耗时;基于所述处理耗时和所述调用属性,确定对所述应用程序进行远程控制的处于可用状态的交互设备。
在本申请公开的一个实施例中,界面窗口生成与监测模块在确定进行远程控制的所述交互设备上生成与所述应用程序对应的用户界面窗口,并获取所述用户界面窗口接收到的窗口操作行为,包括:
在确定进行远程控制的图形设备上生成与所述应用程序对应的用户界面窗口,并基于所述图形设备的显示参数,调整所述用户界面窗口的显示状态;确定进行远程控制的输入/输出设备上获取所述用户界面窗口接收到的窗口操作行为;其中,所述窗口操作行为包括对所述用户界面窗口的菜单的点击行为;
应用程序控制模块基于所述窗口操作行为,向所述客户端发送相应的控制指令,从而调整所述应用程序的工作状态,包括:
基于所述窗口操作行为对应点击菜单位置和点击动作类型,向所述客户端发送相应的控制指令,从而调整所述应用程序的工作状态。
在本申请公开的一个实施例中,界面窗口调整模块基于调整后的所述应用程序的工作状态,调整所述交互设备的用户界面窗口的显示状态,包括:
基于调整后的所述应用程序的数据任务处理阶段,调整所述交互设备对应的图形设备的用户界面窗口所显示的数据内容;
连接状态变更模块基于所述应用程序对数据任务的处理进度,改变所述客户端与所述服务端之间的连接状态,包括:
基于所述应用程序对数据任务的处理进度,判断所述应用程序是否已经处理完毕所述数据任务;若是,则中断所述客户端与所述服务端之间的连接状态;若否,则保持所述客户端与所述服务端当前的连接状态不变。
相比于现有技术,该基于X11协议的应用程序控制方法和系统从服务端筛选得到处于可用状态的交互设备,并确定每个处于可用状态的交互设备的调用属性,并结合客户端需要进行远程控制的应用程序的后台运行数据,使得服务端对客户端的应用程序进行控制过程中调用适合的交互设备实现可视化控制;还在调用的交互设备生成与应用程序对应的用户界面窗口,并根据对用户界面窗口的窗口操作行为,向客户端发送控制指令以此调整应用程序的工作状态,实现服务端对应用程序的可视化操作和提高应用程序的操作可控性;再基于调整后的应用程序的工作状态和对数据任务的处理进度,调整用户界面窗口的显示状态和改变客户端与服务端之间的连接状态,提高服务端对客户端的控制有序性和可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于X11协议的应用程序控制方法的流程示意图。
图2为本发明提供的基于X11协议的应用程序控制系统的框架示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,为本发明实施例提供的基于X11协议的应用程序控制方法的流程示意图。该基于X11协议的应用程序控制方法包括:
步骤S1,基于服务端的设备工作状态,对服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定服务端对每个处于可用状态的交互设备的调用属性;
步骤S2,基于来自客户端的连接请求,构建客户端与服务端的通信通道;从客户端确定需要进行远程控制的应用程序,并获取应用程序的后台运行数据;基于后台运行数据和调用属性,确定对应用程序进行远程控制的处于可用状态的交互设备;
步骤S3,在确定进行远程控制的交互设备上生成与应用程序对应的用户界面窗口,并获取用户界面窗口接收到的窗口操作行为;基于窗口操作行为,向客户端发送相应的控制指令,从而调整应用程序的工作状态;
步骤S4,基于调整后的应用程序的工作状态,调整交互设备的用户界面窗口的显示状态;基于应用程序对数据任务的处理进度,改变客户端与服务端之间的连接状态。
上述技术方案的有益效果为:该基于X11协议的应用程序控制方法从服务端筛选得到处于可用状态的交互设备,并确定每个处于可用状态的交互设备的调用属性,并结合客户端需要进行远程控制的应用程序的后台运行数据,使得服务端对客户端的应用程序进行控制过程中调用适合的交互设备实现可视化控制;还在调用的交互设备生成与应用程序对应的用户界面窗口,并根据对用户界面窗口的窗口操作行为,向客户端发送控制指令以此调整应用程序的工作状态,实现服务端对应用程序的可视化操作和提高应用程序的操作可控性;再基于调整后的应用程序的工作状态和对数据任务的处理进度,调整用户界面窗口的显示状态和改变客户端与服务端之间的连接状态,提高服务端对客户端的控制有序性和可靠性。
优选地,在步骤S1中,基于服务端的设备工作状态,对服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定服务端对每个处于可用状态的交互设备的调用属性,包括:
获取服务端下属连接的所有图形设备和所有输入/输出设备各自的工作任务处理状态;其中,工作任务处理状态包括每个图形设备的图形显示任务处理状态和每个输入/输出设备的信息输入/输出任务处理状态;
基于工作任务处理状态,判断图形设备和输入/输出设备是否正在处理或者已经接收到相应的工作任务;若否,则将相应的图形设备和输入/输出设备确定为处于可用状态的交互设备;
从处于可用状态的图形设备和输入/输出设备的历史工作记录中提取历史工作过程中对应连接的应用程序类型和连接持续时间;基于应用程序类型和连接持续时间,确定所有处于可用状态的图形设备和输入/输出设备关于相应类型应用程序的调取优先级别,以此作为调用属性。
上述技术方案的有益效果为:服务端作为与多个客户端进行连接的终端,其用于对每个客户端的应用程序进行独立控制,其中服务端与客户端之间可基于X11协议进行连接,这样能够提高客户端与服务端之间的通信连接效率和稳定性,同时服务端属下还连接有多个交互设备,比如图形设备和输入/输出设备,其中图形设备用于在服务端与某一客户端连接并对客户端的应用程序进行远程控制时呈现相应的用户界面窗口,实现对应用程序的可视化控制,输入/输出设备用于在服务端与某一客户端连接并对客户端的应用程序进行远程控制时提供给服务端的操作人员的输入/输出端口,即操作人员可通过输入/输出设备对服务端进行指令输入等。每个交互设备均有可能被服务端调用,以此实现与相应客户端的应用程序的远程控制,获取服务端下属连接的所有图形设备和所有输入/输出设备各自的工作任务处理状态,对获取的工作任务处理状态进行分析,判断图形设备和输入/输出设备是否正在处理对应用程序进行控制的工作任务或者已经接收到对应用程序进行控制的工作任务;若是,表明图形设备和输入/输出设备处于繁忙状态,不能接收对其他客户端的应用程序进行控制的工作任务;若否,表明图形设备和输入/输出设备处于空闲状态,能够接收对其他客户端的应用程序进行控制的工作任务,并将相应的图形设备和输入/输出设备确定为处于可用状态的交互设备。再从处于可用状态的图形设备和输入/输出设备的历史工作记录中提取历史工作过程中对应连接的应用程序类型和连接持续时间,以应用程序类型为基准,确定图形设备和输入/输出设备只能接收匹配类型的应用程序相应的工作任务;当存在多个图形设备或多个输入/输出设备能够接收某一应用程序相应的工作任务时,则以图形设备或输入/输出设备对应的连接持续时间为基准,当连接持续时间越长,其接收工作任务的优先级别越高,即服务端会优先调取对应的图形设备或输入/输出设备接收工作任务,保证交互设备的有序运行。
优选地,在步骤S2中,基于来自客户端的连接请求,构建客户端与服务端的通信通道;从客户端确定需要进行远程控制的应用程序,并获取应用程序的后台运行数据;基于后台运行数据和调用属性,确定对应用程序进行远程控制的处于可用状态的交互设备,包括:
从来自客户端的连接请求提取客户端的身份信息,基于身份信息,对客户端对服务端的连接权限进行鉴权验证;当鉴权验证成功后,构建客户端与服务端的通信通道;
基于客户端的应用程序运行日志,从客户端确定需要进行远程控制的应用程序,并获取应用程序的后台运行数据;其中,后台运行数据包括应用程序需要处理的数据任务的数据状态;
基于后台运行数据,估计应用程序需要处理的数据任务的处理耗时;基于处理耗时和调用属性,确定对应用程序进行远程控制的处于可用状态的交互设备。
上述技术方案的有益效果为:在实际工作中,从来自客户端的连接请求提取客户端的身份信息,将身份信息与预设身份信息白名单进行对比,当身份信息存在于预设身份信息白名单,则表明对客户端的连接权限鉴权验证成功,此时根据客户端和服务端各自的网络地址,构建客户端与服务端之间的通信通道。此外,从客户端的应用程序运行日志中提取需要远程控制的应用程序需要处理的数据任务的数据状态(比如数据量和/或数据结构等),以此估计完成对数据任务的处理所耗费的时间。先根据需要远程控制的应用程序的类型,选择与该应用程序的类型匹配的处于可用状态的交互设备;再根据该估计完成对数据任务的处理所耗费的时间,从上述选择的交互设备中进一步选择连接持续时间大于该所耗费的时间并且连接持续时间为最大值的交互设备,确保经过两次选择确定的交互设备能够与客户端的应用程序的数据处理需求匹配。
优选地,在步骤S3中,在确定进行远程控制的交互设备上生成与应用程序对应的用户界面窗口,并获取用户界面窗口接收到的窗口操作行为;基于窗口操作行为,向客户端发送相应的控制指令,从而调整应用程序的工作状态,包括:
在确定进行远程控制的图形设备上生成与应用程序对应的用户界面窗口,并基于图形设备的显示参数,调整用户界面窗口的显示状态;确定进行远程控制的输入/输出设备上获取用户界面窗口接收到的窗口操作行为;其中,窗口操作行为包括对用户界面窗口的菜单的点击行为;
基于窗口操作行为对应点击菜单位置和点击动作类型,向客户端发送相应的控制指令,从而调整应用程序的工作状态。
上述技术方案的有益效果为:在实际工作中,以应用程序的程序运行记录为基准,在确定进行远程控制的图形设备上生成与应用程序对应的用户界面窗口,使得图形设备直接显示对应用程序进行查看和操作的用户界面窗口,实现对应用程序的可视化控制;还基于图形设备的屏幕显示尺寸和最大允许显示分辨率,调整用户界面窗口的大小和显示分辨率,保证用户界面窗口在图形设备上的显示兼容性。此外,利用确定的输入/输出设备获取用户界面窗口接收到关于菜单的点击行为,比如点击选中的菜单所在位置和点击次数(单击还是双击),从而根据口操作行为对应点击菜单位置和点击动作类型,向客户端发送相应的控制指令,当客户端的应用程序接收控制指令后,能够进行相应的工作状态改变。
优选地,在步骤S4中,基于调整后的应用程序的工作状态,调整交互设备的用户界面窗口的显示状态;基于应用程序对数据任务的处理进度,改变客户端与服务端之间的连接状态,包括:
基于调整后的应用程序的数据任务处理阶段,调整交互设备对应的图形设备的用户界面窗口所显示的数据内容;
基于应用程序对数据任务的处理进度,判断应用程序是否已经处理完毕数据任务;若是,则中断客户端与服务端之间的连接状态;若否,则保持客户端与服务端当前的连接状态不变。
上述技术方案的有益效果为:获取调整后的应用程序的数据任务处理阶段,调整交互设备对应的图形设备的用户界面窗口所显示的数据内容,使得图形设备的用户界面窗口所显示的数据内容与调整后的应用程序的数据任务处理阶段相一致。还有,基于应用程序对数据任务的处理进度,判断应用程序是否已经处理完毕数据任务,并在完成数据任务的处理后,中断客户端与服务端之间的连接状态,避免客户端长时间占用服务端属下的交互设备而降低交互设备的利用效率。
参阅图2,为本发明实施例提供的基于X11协议的应用程序控制系统的框架示意图。该基于X11协议的应用程序控制系统包括:
交互设备筛选与识别模块,基于服务端的设备工作状态,对服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定服务端对每个处于可用状态的交互设备的调用属性;
通信通道构建模块,基于来自客户端的连接请求,构建客户端与服务端的通信通道;
交互设备选择确定模块,从客户端确定需要进行远程控制的应用程序,并获取应用程序的后台运行数据;基于后台运行数据和调用属性,确定对应用程序进行远程控制的处于可用状态的交互设备;
界面窗口生成与监测模块,在确定进行远程控制的交互设备上生成与应用程序对应的用户界面窗口,并获取用户界面窗口接收到的窗口操作行为;
应用程序控制模块,基于窗口操作行为,向客户端发送相应的控制指令,从而调整应用程序的工作状态;
界面窗口调整模块,基于调整后的应用程序的工作状态,调整交互设备的用户界面窗口的显示状态;
连接状态变更模块,基于应用程序对数据任务的处理进度,改变客户端与服务端之间的连接状态。
上述技术方案的有益效果为:该基于X11协议的应用程序控制系统从服务端筛选得到处于可用状态的交互设备,并确定每个处于可用状态的交互设备的调用属性,并结合客户端需要进行远程控制的应用程序的后台运行数据,使得服务端对客户端的应用程序进行控制过程中调用适合的交互设备实现可视化控制;还在调用的交互设备生成与应用程序对应的用户界面窗口,并根据对用户界面窗口的窗口操作行为,向客户端发送控制指令以此调整应用程序的工作状态,实现服务端对应用程序的可视化操作和提高应用程序的操作可控性;再基于调整后的应用程序的工作状态和对数据任务的处理进度,调整用户界面窗口的显示状态和改变客户端与服务端之间的连接状态,提高服务端对客户端的控制有序性和可靠性。
优选地,交互设备筛选与识别模块基于服务端的设备工作状态,对服务端下属的所有交互设备进行筛选,确定所有处于可用状态的交互设备;基于所有处于可用状态的交互设备的历史工作记录,确定服务端对每个处于可用状态的交互设备的调用属性,包括:
获取服务端下属连接的所有图形设备和所有输入/输出设备各自的工作任务处理状态;其中,工作任务处理状态包括每个图形设备的图形显示任务处理状态和每个输入/输出设备的信息输入/输出任务处理状态;
基于工作任务处理状态,判断图形设备和输入/输出设备是否正在处理或者已经接收到相应的工作任务;若否,则将相应的图形设备和输入/输出设备确定为处于可用状态的交互设备;
从处于可用状态的图形设备和输入/输出设备的历史工作记录中提取历史工作过程中对应连接的应用程序类型和连接持续时间;基于应用程序类型和连接持续时间,确定所有处于可用状态的图形设备和输入/输出设备关于相应类型应用程序的调取优先级别,以此作为调用属性。
上述技术方案的有益效果为:服务端作为与多个客户端进行连接的终端,其用于对每个客户端的应用程序进行独立控制,其中服务端与客户端之间可基于X11协议进行连接,这样能够提高客户端与服务端之间的通信连接效率和稳定性,同时服务端属下还连接有多个交互设备,比如图形设备和输入/输出设备,其中图形设备用于在服务端与某一客户端连接并对客户端的应用程序进行远程控制时呈现相应的用户界面窗口,实现对应用程序的可视化控制,输入/输出设备用于在服务端与某一客户端连接并对客户端的应用程序进行远程控制时提供给服务端的操作人员的输入/输出端口,即操作人员可通过输入/输出设备对服务端进行指令输入等。每个交互设备均有可能被服务端调用,以此实现与相应客户端的应用程序的远程控制,获取服务端下属连接的所有图形设备和所有输入/输出设备各自的工作任务处理状态,对获取的工作任务处理状态进行分析,判断图形设备和输入/输出设备是否正在处理对应用程序进行控制的工作任务或者已经接收到对应用程序进行控制的工作任务;若是,表明图形设备和输入/输出设备处于繁忙状态,不能接收对其他客户端的应用程序进行控制的工作任务;若否,表明图形设备和输入/输出设备处于空闲状态,能够接收对其他客户端的应用程序进行控制的工作任务,并将相应的图形设备和输入/输出设备确定为处于可用状态的交互设备。再从处于可用状态的图形设备和输入/输出设备的历史工作记录中提取历史工作过程中对应连接的应用程序类型和连接持续时间,以应用程序类型为基准,确定图形设备和输入/输出设备只能接收匹配类型的应用程序相应的工作任务;当存在多个图形设备或多个输入/输出设备能够接收某一应用程序相应的工作任务时,则以图形设备或输入/输出设备对应的连接持续时间为基准,当连接持续时间越长,其接收工作任务的优先级别越高,即服务端会优先调取对应的图形设备或输入/输出设备接收工作任务,保证交互设备的有序运行。
优选地,通信通道构建模块基于来自客户端的连接请求,构建客户端与服务端的通信通道,包括:
从来自客户端的连接请求提取客户端的身份信息,基于身份信息,对客户端对服务端的连接权限进行鉴权验证;当鉴权验证成功后,构建客户端与服务端的通信通道;
交互设备选择确定模块从客户端确定需要进行远程控制的应用程序,并获取应用程序的后台运行数据;基于后台运行数据和调用属性,确定对应用程序进行远程控制的处于可用状态的交互设备,包括:
基于客户端的应用程序运行日志,从客户端确定需要进行远程控制的应用程序,并获取应用程序的后台运行数据;其中,后台运行数据包括应用程序需要处理的数据任务的数据状态;
基于后台运行数据,估计应用程序需要处理的数据任务的处理耗时;基于处理耗时和调用属性,确定对应用程序进行远程控制的处于可用状态的交互设备。
上述技术方案的有益效果为:在实际工作中,从来自客户端的连接请求提取客户端的身份信息,将身份信息与预设身份信息白名单进行对比,当身份信息存在于预设身份信息白名单,则表明对客户端的连接权限鉴权验证成功,此时根据客户端和服务端各自的网络地址,构建客户端与服务端之间的通信通道。此外,从客户端的应用程序运行日志中提取需要远程控制的应用程序需要处理的数据任务的数据状态(比如数据量和/或数据结构等),以此估计完成对数据任务的处理所耗费的时间。先根据需要远程控制的应用程序的类型,选择与该应用程序的类型匹配的处于可用状态的交互设备;再根据该估计完成对数据任务的处理所耗费的时间,从上述选择的交互设备中进一步选择连接持续时间大于该所耗费的时间并且连接持续时间为最大值的交互设备,确保经过两次选择确定的交互设备能够与客户端的应用程序的数据处理需求匹配。
优选地,界面窗口生成与监测模块在确定进行远程控制的交互设备上生成与应用程序对应的用户界面窗口,并获取用户界面窗口接收到的窗口操作行为,包括:
在确定进行远程控制的图形设备上生成与应用程序对应的用户界面窗口,并基于图形设备的显示参数,调整用户界面窗口的显示状态;确定进行远程控制的输入/输出设备上获取用户界面窗口接收到的窗口操作行为;其中,窗口操作行为包括对用户界面窗口的菜单的点击行为;
应用程序控制模块基于窗口操作行为,向客户端发送相应的控制指令,从而调整应用程序的工作状态,包括:
基于窗口操作行为对应点击菜单位置和点击动作类型,向客户端发送相应的控制指令,从而调整应用程序的工作状态。
上述技术方案的有益效果为:在实际工作中,以应用程序的程序运行记录为基准,在确定进行远程控制的图形设备上生成与应用程序对应的用户界面窗口,使得图形设备直接显示对应用程序进行查看和操作的用户界面窗口,实现对应用程序的可视化控制;还基于图形设备的屏幕显示尺寸和最大允许显示分辨率,调整用户界面窗口的大小和显示分辨率,保证用户界面窗口在图形设备上的显示兼容性。此外,利用确定的输入/输出设备获取用户界面窗口接收到关于菜单的点击行为,比如点击选中的菜单所在位置和点击次数(单击还是双击),从而根据口操作行为对应点击菜单位置和点击动作类型,向客户端发送相应的控制指令,当客户端的应用程序接收控制指令后,能够进行相应的工作状态改变。
优选地,界面窗口调整模块基于调整后的应用程序的工作状态,调整交互设备的用户界面窗口的显示状态,包括:
基于调整后的应用程序的数据任务处理阶段,调整交互设备对应的图形设备的用户界面窗口所显示的数据内容;
连接状态变更模块基于应用程序对数据任务的处理进度,改变客户端与服务端之间的连接状态,包括:
基于应用程序对数据任务的处理进度,判断应用程序是否已经处理完毕数据任务;若是,则中断客户端与服务端之间的连接状态;若否,则保持客户端与服务端当前的连接状态不变。
上述技术方案的有益效果为:获取调整后的应用程序的数据任务处理阶段,调整交互设备对应的图形设备的用户界面窗口所显示的数据内容,使得图形设备的用户界面窗口所显示的数据内容与调整后的应用程序的数据任务处理阶段相一致。还有,基于应用程序对数据任务的处理进度,判断应用程序是否已经处理完毕数据任务,并在完成数据任务的处理后,中断客户端与服务端之间的连接状态,避免客户端长时间占用服务端属下的交互设备而降低交互设备的利用效率。
从上述实施例的内容可知,该基于X11协议的应用程序控制方法和系统从服务端筛选得到处于可用状态的交互设备,并确定每个处于可用状态的交互设备的调用属性,并结合客户端需要进行远程控制的应用程序的后台运行数据,使得服务端对客户端的应用程序进行控制过程中调用适合的交互设备实现可视化控制;还在调用的交互设备生成与应用程序对应的用户界面窗口,并根据对用户界面窗口的窗口操作行为,向客户端发送控制指令以此调整应用程序的工作状态,实现服务端对应用程序的可视化操作和提高应用程序的操作可控性;再基于调整后的应用程序的工作状态和对数据任务的处理进度,调整用户界面窗口的显示状态和改变客户端与服务端之间的连接状态,提高服务端对客户端的控制有序性和可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
机译: 基于UDP的隧道协议在互联网协议安全中的应用及实现该方法的系统
机译: 用于实现基于模型的应用程序控制框架的系统和方法
机译: 一种用于实现基于模型的应用程序控制框架的系统和方法