一种基于云办公的定时中断与远程唤醒实现方法
技术领域
本发明涉及电子领域,移动互联网领域,云计算领域,尤其涉及一种基于云办公的定时中断与远程唤醒实现方法。
背景技术
云办公是一种基于云计算平台,配合微软的hyper-v虚拟技术提供的远程办公方案。云办公由云服务器将虚拟桌面的画面进行编码,经网络传送给终端,进行解码,使用户观看到办公桌面的画面。云办公的特性包括:
第一,跨平台:编制出精彩绝伦的文档不再是传统办公软件(如Microsoft Office)所独有,网络浏览器中的瘦客户端同样可以编写出符合规格的专业文档,并且这些文档在大部分主流操作系统与智能设备中都可以轻易被打开;
第二,协同性:文档可以多人同时进行编撰修改,配合直观的沟通交流,随时构建网络虚拟知识生产小组,从而极大提高办公效率;
第三,移动化办公:配合强大的云存储能力,办公文档数据可以无处不在,通过移动互联网随时随地同步与访问数据,云办公可以帮助外派人员彻底扔掉繁重的公文包。
而在云办公的具体实施中,通常会采用服务端-客户端的形式:服务端负责了将云办公进行了视频编码,并将该码流发送给客户端;而客户端的主要功能的则是将服务器发来的码流进行解码,我们将完成该功能的模块称为核心线程.在核心线程与服务端持续有效连接的过程中,服务端会不停的进行视频编码运算,无论用户操作与否。则云办公服务器为了将虚拟桌面的画面编码,需要消耗大量的cpu,,显然这对服务器资源的浪费是非常严重的。而本发明主要研究如何通过某种方法降低cpu消耗,节省云办公服务器资源。
发明内容
云办公服务器为了将虚拟桌面的画面编码,需要消耗大量的cpu,本发明提供了让云服务器在用户不使用的时候自动停止编码的方法,以降低cpu消耗。
本发明通过以下方法实现,一种基于云办公的定时中断与远程唤醒实现方法,包括步骤:
1) 在终端/客户端上开启核心线程和鼠键线程,并在终端/客户端上显示云办公正常画面;
所述核心线程,用于接收来自云办公服务器传来的数据并进行解码播放,以及读取和接收来自鼠标和键盘的回传数据,并进行解码和数据处理后向服务器发送鼠标、键盘等控制信息;
所述鼠键线程用于读取鼠键状态,监控鼠键状态及核心线程的状态,关闭或开启核心线程,并持续发出鼠键数据并由核心线程读取和接收;
2) 所述核心线程设有标志位,所述标志位用于标识核心线程的开启和关闭状态;所述核心线程还设有累加器和定时器;当程序保持运行时则检测核心线程标志位状态,若为开启状态,则鼠键线程发送鼠键数据到核心线程,并在终端上显示云办公画面;
3) 当程序无操作时间超过所述定时器所设定时值时,会触发超时信息,则鼠键线程更改核心线程标志位为休眠状态,并且关闭核心线程,保留鼠键线程,则进入休眠状态,实现定时中断;
4) 进入休眠,鼠键线程实时监测鼠键事件,若未获得鼠键事件,则保持休眠状态;
5) 当鼠键线程监测到鼠键事件时,即鼠键线程检测到鼠键数据,则鼠键线程检测标志位状态,如果标志位是关闭状态,则开启核心线程,改变标志位到开启状态,
6) 鼠键线程持续发出鼠键数据,并检测标志位是否为开启状态,如显示开启状态,则将数据发送至核心线程处理,实现唤醒;重复循环上述步骤。
所述鼠键事件包括:鼠标的位移信息,鼠标的按键信息或键盘任意输入信息中的一种或几种组合;所述鼠键状态包括:是否存在鼠标事件的实时监控;所述鼠标数据包括:鼠标的位移信息数据,鼠标的按键信息数据或键盘任意输入信息数据中的一种或几种组合。
所述核心线程的累加器用于累计时值变量。
所述定时器的时值为可修改的时间变量(or可设定时值),可根据需要进行修改。
所述客户端/终端为具有标准计算机系统并具备解码模块的终端。
所述程序持续运行是指在所述定时器所设定时值内,获得鼠键数据;
所述程序无操作是指超过所述定时器所设定时值未获得鼠键数据;
所述核心线程和鼠键线程是两个相对独立但互相通信,连接的线程。
在所述休眠状态下,当接收到鼠标键盘信息时,鼠键线程判断核心线程状态核心线程的累加器重新归零。
在休眠状态下,终端将不再从服务器获取画面数据,服务器也将因此停止编码,降低cpu消耗。
本发明的有益效果在于:
1. 本发明提供了一种让云服务器在用户不使用的时候自动停止编码的方法,即在休眠状态下,终端将不再从服务器获取画面数据,服务器也将因此停止编码,以降低cpu消耗,从而节约服务器资源。
2. 本发明实现了一种基于云办公的自动管理,现有的云办公客户端要想与服务器断开连接的时候需要去关闭电源,而在企业应用中,云办公客户端可能需要锁起来,用户不方便直接控制,而本发明通过一种定时中断和远程唤醒的方法实现了云办公的自动化管理,提高企业办公效率。
附图说明
图1 为本发明的基于云办公的定时中断与远程唤醒实现方法的示意图;
图 2为本发明云办公服务器与客户端之间的关联结构示意图;
图3 为基于云办公的定时中断与远程唤醒实现方法的实施方式示意图。
具体实施方式
下面结合附图对本发明做详细描述:
在云办公的具体实施中,通常会采用服务端-客户端的形式:服务端负责将云办公进行视频编码,并将该码流发送给客户端;而客户端的主要功能则是将服务器发来的码流进行解码,我们将完成该功能的模块称为核心线程.在核心线程与服务端持续有效连接的过程中,服务段会不停的进行视频编码运算,无论用户操作与否。则云办公服务器为了将虚拟桌面的画面编码,需要消耗大量的cpu,显然这对服务器资源的浪费是非常严重的。因而本发明主要研究如何通过某种方法降低cpu消耗,节省云办公服务器资源。图1 为本发明的基于云办公的定时中断与远程唤醒实现方法的示意图;如图所示:
一种基于云办公的定时中断与远程唤醒实现方法,包括步骤:
首先在终端/客户端上开启核心线程和鼠键线程,并在终端上显示云办公正常画面;其中,核心线程用于接收来自云办公服务器传来的数据并进行解码播放,以及读取和接收来自鼠标和键盘的回传数据,并进行解码和数据处理后向服务器发送鼠标、键盘等控制信息;鼠键线程用于读取鼠键状态和监控鼠键状态及核心线程的状态,关闭或开启核心线程,并持续发出鼠键数据并由核心线程读取和接收;
核心线程设有标志位,所述标志位用于标识核心线程的开启和关闭状态;所述核心线程还设有用于累计时值变量的累加器和定时器;当程序保持运行(即在所述定时器所设定时值内,获得鼠键数据)时则检测核心线程标志位状态,若为开启状态,则鼠键线程发送鼠键数据到核心线程,并在终端上显示云办公画面;当程序无操作时间即超过所述定时器所设定时值未获得鼠键数据时,会触发超时信息,则鼠键线程更改核心线程标志位为休眠状态,并且关闭核心线程,保留鼠键线程,则进入休眠状态,实现定时中断;在休眠状态下,终端将不再从服务器获取画面数据,服务器也将因此停止编码,降低cpu消耗。进入休眠状态后,鼠键线程实时监测鼠键事件,若未获得鼠键事件,则保持休眠状态。在休眠状态下,当接收到鼠键信息时,鼠键线程判断核心线程状态核心线程的累加器重新归零;当鼠键线程监测到鼠键事件时,即鼠键线程检测到鼠键数据,则鼠键线程检测标志位状态,如果标志位是关闭状态,则开启核心线程,改变标志位到开启状态;鼠键线程持续发出鼠键数据,并检测标志位是否为开启状态,如显示开启状态,则将数据发送至核心线程处理,实现唤醒;重复循环上述步骤。
其中所述鼠键事件包括:鼠标的位移信息,鼠标的按键信息或键盘任意输入信息中的一种或几种组合;所述鼠键状态包括:是否存在鼠标事件的实时监控;所述鼠标数据包括:鼠标的位移信息数据,鼠标的按键信息数据或键盘任意输入信息数据中的一种或几种组合。定时器的时值为可修改的时间变量(or可设定时值),可根据需要进行修改。
所述终端/客户端为具有标准计算机系统并具备解码模块的终端。
图 2是本发明云办公服务器与客户端之间的关联结构示意图,结合图1,如图所示:本方法的原理为:多个客户端通过互联网与云办公服务器对应的服务节点连通实现远程云办公。云办公服务端负责将云办公进行视频编码,并将该码流发送给对应的客户端;而客户端则通过核心线程将云办公服务器发来的码流进行解码播放,并读取和接收来自鼠标和键盘的回传数据,进行解码和数据处理后向云办公服务器发送鼠标、键盘等控制信息;而设置在终端/客户端的鼠键线程则用于读取鼠键状态和监控鼠键状态及核心线程的状态,关闭或开启核心线程,并持续发出鼠键数据并由核心线程读取和接收。
当程序保持运行时则检测核心线程标志位状态,若为开启状态,则鼠键线程发送鼠键数据到核心线程;核心线程与服务端持续有效连接,并将解码和数据处理后的鼠标键盘等控制信息向云办公服务器发送,服务器持续进行视频编码运算并通过核心线程在终端上显示云办公画面。
而当程序无操作时即超过定时器所设定时值未获得鼠键数据时,会触发超时信息,则鼠键线程更改核心线程标志位为休眠状态,并且关闭核心线程,保留鼠键线程,则进入休眠状态,实现定时中断;在休眠状态下,终端将不再向服务端发送心跳信号,且不再从服务器获取画面数据,服务器也将因此停止编码,降低cpu消耗,实现服务器资源的节约。
当进入休眠状态后,鼠键线程实时监测鼠键事件,若未获得鼠键事件,则保持休眠状态。在休眠状态下,当接收到鼠键信息时,鼠键线程判断核心线程状态核心线程的累加器重新归零;当鼠键线程监测到鼠键事件时,即鼠键线程检测到鼠键数据,则鼠键线程检测标志位状态,如果标志位是关闭状态,则开启核心线程,改变标志位到开启状态;鼠键线程持续发出鼠键数据,并检测标志位是否为开启状态,如显示开启状态,则将数据发送至核心线程处理,核心线程与服务端再次有效连接,并将收到的鼠标和键盘信息等进行解码和数据处理后转换为鼠标键盘等控制信息向云办公服务器发送,服务器进行视频编码运算并通过核心线程在终端上显示云办公画面,实现唤醒。
其中,鼠键线程通过调用终端/客户端的系统本身提供的程序编码关闭或开启核心线程;系统包括但不限于windows,linux,macos等
图3为基于云办公的定时中断与远程唤醒实现方法的实施方式示意图;如图所示,设订定时器的时值默认为600秒;设定核心线程的标志位关闭状态为off标志位,开启状态为on标志位;则本方法的运行过程如下:
在客户端/终端开启核心线程和鼠键线程,终端上显示云办公正常画面。鼠键线程实时读取鼠键状态和监控鼠键状态及核心线程的状态,关闭或开启核心线程,并持续发出鼠键数据并由核心线程读取和接收。鼠键线程在发出鼠键数据时,首先检测核心线程标志位状态,若为on状态,则鼠键线程发送鼠键数据到核心线程;核心线程持续收到鼠键数据;核心线程与服务端持续有效连接,并将解码和数据处理后的鼠标键盘等控制信息向云办公服务器发送,云办公服务端负责将当前的云办公进行视频编码,并将该码流发送给客户端;而客户端则通过核心线程将云办公服务器发来的码流进行解码播放,并读取和接收来自鼠标和键盘的回传数据,进行解码和数据处理后向云办公服务器发送鼠标、键盘等控制信息;而服务器则持续进行视频编码运算并通过核心线程在终端上显示云办公画面。
当程序无操作时间即超过600秒未获得鼠标数据时,则触发超时信息,鼠键线程更改核心线程标志位为off状态,并且关闭核心线程,保留鼠键线程,则进入休眠状态,实现定时中断;在休眠状态下,终端将不再从服务器获取画面数据,服务器也将因此停止编码,降低服务器cpu消耗,实现服务器资源的节约。
当进入休眠状态后,鼠键线程实时监测鼠键事件,若未获得鼠键事件,则保持休眠状态。在休眠状态下,当接收到鼠键信息时,鼠键线程判断核心线程状态核心线程的累加器重新归零;当鼠键线程监测到鼠键事件时,即鼠键线程检测到鼠键数据,则鼠键线程检测标志位状态,如果标志位是off状态,则开启核心线程,改变标志位到on状态。鼠键线程持续发出鼠键数据,并检测标志位是否为on状态,如显示on状态,则将数据发送至核心线程处理,核心线程与服务端再次有效连接,并将收到的鼠标和键盘信息等进行解码和数据处理后转换为鼠标键盘等控制信息向云办公服务器发送,服务器进行视频编码运算并通过核心线程在终端上显示云办公画面,实现唤醒,循环重复上述步骤。
以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。