自动化完全远程控制方法

文档序号:7960025阅读:372来源:国知局
专利名称:自动化完全远程控制方法
技术领域
本发明涉及一种远程控制方法,尤其涉及一种自动化完全远程控制方法。
背景技术
目前,很多软件都可以实现远程控制,其中字元模式(例如Serial OverLine,简称SOL模式)和远程控制台模式(例如Console Redirect,简称Console模式)是两种比较具有代表性的远程控方案。SOL模式是在远程服务器加电却未启动的状态下加以控制,可以控制基本输入输出系统(BIOS)设置,系统的启动等等,即命令行的控制模式;Console(远程控制台)模式是在服务器进入图形界面的时候加以控制。
然而,现有技术的这两种做法仍然存有诸多缺陷,特别是SOL模式在服务器进入Windows系统或者Linux图形系统时会失去控制能力,而Console模式于服务器的非图形环境下也无法掌握,这会导致所谓的远程控其实都是不完整的。
从目前业界的情况看来,SOL模式是一个标准,支持SOL模式的软件有不少,但是没有一个支持SOL控制模式的软件能够同时支持图形控制;类似的,支持图形接口控制远程服务器的软件也有很多,比如著名的虚拟网络运算(Virtual Network Computing,VNC)软件,却也对图形系统外的控制无能为力。
目前市面的远程控软件不能达到真正的从系统的基本输入输出系统设置、开机、进入命令行接口、进入图形接口、从图形接口退出以及重新启动机器这样一个全过程的完全控制,使得目前的远程控软件出现中间衔接上的断层。

发明内容
为了解决上述现有技术中的问题与缺陷,本发明的目的在于提供一种自动化完全远程控制方法,实现由SOL模式到Console模式,以及由Console模式到SOL模式的智能循环过程,用于弥补业界于远程控上的断层缺憾。
本发明所提供的一种自动化完全远程控制方法包含以下步骤为服务器加电,客户端启动第一远程控制模式(SOL模式),且客户端的主控程序与服务器的状态侦测服务连接;客户端通过第一远程控制模式控制服务器启动操作系统;如果服务器启动至图形接口,则切换至第二远程控制模式(Console模式),如果服务器启动至文本接口,则使用第一远程控制模式;客户端与服务器的状态侦测服务保持通讯;以及客户端重新启动服务器时,如果当前控制模式为第二远程控制模式,则切换至第一远程控制模式,并控制服务器重新启动操作系统。
本发明于服务器未登录图形接口的时候会启动SOL模式来进行控制,当操作系统进入图形接口的时候,则从SOL模式切换至Console模式进行图形接口的控制,对应的,于服务器退出图形系统的时候,则自动地从Console模式跳转至SOL模式。此外,本发明还支持跨平台作业,即无论服务器是Windows系统还是Linux系统,无论是32位还是64位都能达到上述效果。
综上所述,本发明的优点在于1、本发明有效地把两种具有代表性的控制模式结合起来,并能够平滑智能地在两种模式间进行过渡,实现了对服务器的开机、自检、基本输入输出系统设置与操作系统启动的过程以及操作系统重新启动的全程自动远程控制。
2、本发明使用方便,其采用一个具备多种控制模式的软件,令使用者不需要关心服务器的状态,任何时候都可以通过一个软件进行远程控制,避免对服务器的近距离使用,真正意义上实现对远程服务器的无盲区完全控制。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为本发明的一种自动化完全远程控制方法的方法流程图;以及图2为采用本发明的一种自动化完全远程控制方法的服务器在运行各阶段的远程控制模式的示意图。
其中,附图标记步骤101服务器加电,客户端启动第一远程控制模式,主控程序与服务器的状态侦测服务连接步骤102客户端通过第一远程控制模式控制服务器启动操作系统步骤103如果服务器启动至图形接口,则切换至第二远程控制模式,如果服务器启动至文本接口,则使用第一远程控制模式步骤104客户端与服务器的状态侦测服务保持通讯步骤105重新启动服务器时,如果当前控制模式为第二远程控制模式,则切换至第一远程控制模式,并控制服务器重新启动操作系统步骤201服务器加电且启动操作系统步骤202进入Windows系统步骤203进入Linux系统步骤204进入图形接口步骤205进入文本接口步骤206重新启动步骤207调用远程控制台模式(Console模式)以远程控制步骤208调用字元模式(SOL模式)以远程控制步骤209以字元模式(SOL模式)远程控制具体实施方式
以下,将结合附图对本发明的较佳实施方式作详细说明。
请参考图1,图中表示了本发明的一种自动化完全远程控制方法的方法流程图。如图所示,本发明所提供的一种自动化完全远程控制方法包含以下步骤为服务器加电,客户端启动第一远程控制模式,且客户端的主控程序与服务器的状态侦测服务连接(步骤101);客户端通过第一远程控制模式控制服务器启动操作系统(步骤102);如果服务器启动至图形接口,则切换至第二远程控制模式,如果服务器启动至文本接口,则使用第一远程控制模式(步骤103);客户端与服务器的状态侦测服务保持通讯(步骤104);以及重新启动服务器时,如果当前控制模式为第一控制模式,则继续保持,如果当前控制模式为第二远程控制模式,则该主控程序关闭第二远程控制模式,并切换至第一远程控制模式,且控制服务器重新启动操作系统(步骤105)。
另外,客户端重新启动服务器时还包含主控程序与服务器的状态侦测服务中断,并判断服务器是否进入文本接口的步骤,此外,在Linux系统下还包含主控程序判断当前为何种控制模式的步骤。
现在请参考图2,此图为采用本发明的一种自动化完全远程控制方法的服务器在运行各阶段的远程控制模式的示意图。图中表示了服务器从开机、自检、启动操作系统至重新启动全过程各阶段的远程控制模式。在启动过程中,可以通过SOL模式控制启动到Windows或者Linux操作系统。
作为服务器的服务端安装有Windows操作系统或者Linux操作系统,依照操作系统的类型安装相应的软件Console Server及一个服务程序,以监视Console Server的运行状态,并和客户端通讯。
其中服务程序会根据不同的操作系统以不同的模式启动,并根据不同的操作系统发挥不同的作用。
此服务程序之所以采用独立的模式运行,基于以下两点原因一是避免客户端循环向Console Server连接并询问状态时影响Console Server本身的运行,以尽量减少意外错误的发生;二是考虑到Linux系统环境下,此服务程序可起到在X进程启动后再启动Console Server的功能。因为Linux系统不同于Windows系统,其存在图形接口和文本接口两种模式的控制,而且可以在不重新启动机器的情况下自由地相互切换,Console Server会因为在切换过程中无法正确地使用display而关闭,这时服务程序会把当前状态转发给客户端,同时尝试启动Console Server。
总之,于Windows操作系统下,此服务程序一旦进入窗口模式就能够启动。而Linux系统环境下,这个服务程序是在Run Level3和Run Level5下启动的。判断当前是否已经启动X进程,并查找Console Server程序是否运行,从而决定是否启动Console Server。
首先,服务器加电且启动操作系统(步骤201)。客户端的主控程序首先选择要连接的服务器的网际网络协议地址,用户选择结束后,则先尝试连接指定机器的服务程序。如果连接服务程序失败,主控程序则启动SOL模式的页面,用SOL模式控制服务器。
然后主控程序启动一个执行绪,如果进入Windows系统(步骤202),则可以调用应用程序接口(API)CreatThread(或者_beginthread)完成执行绪的创建。如果进入Linux系统(步骤203),则使用应用程序接口pthread_create创建执行绪。创建执行绪的时候,应用程序接口本身的参数会指定一个事件的函数,也就是说一旦程序运行的时候调用创建执行绪的应用程序接口,就会开始执行这个指定的事件函数。本发明的这个函数的主要实现方式是创建一个循环例如While函数,于循环中反复尝试和服务程序进行通讯,询问Console Server的情况,直到客户端主控程序退出,否则将一直运行此循环。
其中Windows系统环境与Linux系统环境会有所不同,Windows环境只存在图形系统,调用远程控制台模式(Console模式)以远程控制(步骤207),而Linux环境可能进入图形接口(步骤204),进入图形系统则调用远程控制台模式(Console模式)以远程控制(步骤207),也可能进入文本接口(步骤205),未进入图形系统则以字元模式(SOL模式)远程控制(步骤209)。无论是Windows环境还是Linux环境,进入图形系统重新启动时,均关闭Console接口,调用字元模式(SOL模式)以远程控制(步骤208)。
其中,因为Linux系统可能存在尚在文本控制状态下,而服务程序已经启动,而X进程没有启动的情况,此时服务程序会返回此时Console Server的状态而未启动给客户端。客户端的主控程序在得知Console Server已经正确启动,而目前尚处于SOL模式控制的状态,则自动关闭SOL模式,同时切换至Console模式,即调用远程控制台模式(Console模式)以远程控制(步骤207)。同样地,当客户端无法与服务程序连接,或者得知Console Server与图形环境都没有启动时,则自动地关闭Console接口,回到SOL模式,即调用字元模式(SOL模式)以远程控制(步骤208)。
因为Windows操作系统不存在文本接口的问题,只要机器重新启动就会关闭所有的服务,而Linux操作系统可以从图形环境退出到文本环境进行操作。所以,Windows系统环境与Linux系统环境会略微有所不同,但是基本处理模式相同。下面依照服务器处于Windows系统环境与Linux系统环境的不同情况举例详细阐述。
服务器处于Windows系统环境的情况如下首先为服务器加电。客户端主控程序启动,依照给定的网际网络协议创建通讯端(socket),尝试与服务器的状态侦测服务连接。连接失败后,启动SOL模式,同时创建一个执行绪(CreateThread),并于执行绪的执行函数中创建一个while循环,重复尝试与服务器上的状态侦测服务连接。
开始使用SOL模式,此时也可以控制服务器设置基本输入输出系统(BIOS)等活动,还可以控制服务器启动操作系统。服务器接收到启动的命令后,开始正式启动操作系统,此时可以根据服务器上面的显示菜单,选择启动Windows操作系统。
当服务器启动到图形接口之时,Console Server服务和状态侦测服务都同时启动。客户端的While循环执行绪已经和侦测服务连接成功,并得知目前已进入图形环境,于是主控程序关闭SOL模式,进入Console模式,即可以实现图形接口下的远程控操作。同时客户端和服务器上的状态侦测服务仍然随时保持通讯状态。
当客户端选择重新启动远程服务器的时候,服务器会先关闭服务程序(这是由Windows系统控制的),此时客户端while循环侦测执行绪就会发现客户端与服务器的状态侦测服务连接中断,此时就确定进入文本接口了,于是关闭Console模式,切换到SOL模式进行控制,继续回到使用上述的SOL模式。
服务器处于Linux系统环境的情况如下首先为服务器加电。客户端主控程序启动,依照给定的网际网络协议创建通讯端,尝试与服务器的状态侦测服务连接。连接失败后,启动SOL模式,同时创建一个执行绪,并于执行绪的执行函数中创建一个while循环,重复尝试与服务器上的状态侦测服务连接。
开始使用SOL模式,此时也可以控制服务器设置基本输入输出系统(BIOS)等活动,还可以控制服务器启动操作系统。服务器接收到启动的命令后,开始正式启动操作系统,此时可以根据服务器上面的显示菜单,选择启动Linux操作系统。用户可以于Linux系统启动的过程中选择启动到文本环境还是图形环境,一旦用户选择后进入对应的环境,则启动状态侦测服务。
如果用户选择文本环境,在这种模式下,状态侦测服务虽然启动,但是因为无法侦测到X进程,并不会启动Console Server,同时给客户端的返回值也是文本模式,因此客户端保持用SOL模式控制。如果用户选择使用远程控制台模式,则状态侦测服务可以判断当前Console Server的运行状态,如果没有启动,则在X进程启动后启动Console Server,确保其具有正确的上下文关系,此时返回给客户端的状态就是远程控制台模式了,于是,主控程序关闭SOL模式,进入Console模式,即可以实现图形接口下的远程控制操作。
如果用户控制服务器从远程控制台模式转换为字元模式,则客户端的while循环侦测执行绪就会从服务器上的状态侦测服务得到此讯息,主控程序将关闭Console模式,切换到SOL模式进行控制。如果用户控制服务器从字元模式转换为远程控制台模式,与用户选择远程控制台模式的方法相同。
当客户端选择重新启动远程服务器的时候,服务器会先关闭服务程序,此时客户端while循环侦测执行绪就会发现客户端与服务器的状态侦测服务连接中断,此时就确定已进入文本接口了,于是,主控程序会判断当前的控制模式,如果不是SOL模式,则关闭Console模式,切换到SOL模式进行控制,且继续回到使用上述的SOL模式。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种自动化完全远程控制方法,用以对一服务器实现全程自动远程控制,其特征在于,该方法包含以下步骤为该服务器加电,一客户端启动一第一远程控制模式,且该客户端的一主控程序与该服务器的一状态侦测服务连接;该客户端通过该第一远程控制模式控制该服务器启动一操作系统;如果该服务器启动至一图形接口,则切换至一第二远程控制模式,如果该服务器启动至一文本接口,则使用该第一远程控制模式;该客户端与该服务器的该状态侦测服务保持通讯;以及重新启动该服务器时,如果当前控制模式为该第一控制模式,则继续保持,如果当前控制模式为该第二远程控制模式,则该主控程序关闭该第二远程控制模式,并切换至该第一远程控制模式,且控制该服务器重新启动该操作系统。
2.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该服务器的该状态侦测服务由一服务程序独立提供。
3.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该操作系统为Windows操作系统。
4.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该操作系统为Linux操作系统。
5.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该客户端重新启动该服务器时还包含该主控程序判断当前为何种控制模式的步骤。
6.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该第一远程控制模式为SOL字元模式。
7.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该第二远程控制模式为Console远程控制台模式。
8.根据权利要求1所述的自动化完全远程控制方法,其特征在于,该客户端重新启动该服务器时还包含该主控程序与该服务器的该状态侦测服务中断,并判断该服务器是否进入该文本接口的步骤。
全文摘要
一种自动化完全远程控制方法,用以对服务器实现全程自动远程控制,包含为服务器加电,客户端启动第一远程控制模式,且客户端的主控程序与服务器的状态侦测服务连接;客户端通过第一远程控制模式控制服务器启动操作系统;如果服务器启动至图形接口,则切换至第二远程控制模式,如果服务器启动至文本接口,则使用第一远程控制模式;客户端与服务器的状态侦测服务保持通讯;以及客户端重新启动服务器时,如果当前控制模式为第二远程控制模式,则切换至第一远程控制模式,并控制服务器重新启动操作系统。
文档编号H04L12/28GK101063941SQ20061007495
公开日2007年10月31日 申请日期2006年4月25日 优先权日2006年4月25日
发明者马春梅, 龙晓宇, 陈玄同, 刘文涵 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1