2024年5月3日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.2

(22)申请日 2012.10.12

(71)申请人 浪潮电子信息产业股份有限公司

地址 250014 山东省济南市高新区舜雅路1036号

(72)发明人 张世刚

(74)专利代理机构

代理人

(51)

G06F9/44

权利要求说明书 说明书 幅图

(10)申请公布号 CN 102929610 A

(43)申请公布日 2013.02.13

(54)发明名称

一种基于VNC和JNLP协议实现远

程桌面的方法

(57)摘要

本发明提供一种基于VNC和JNLP

协议实现远程桌面的方法,该方法基于

(VNC)jar包、JNLP协议所构成的服务

器端和Flex、JRE1.6(及以上版本)所构

成的客户端,被访问节点需要VNCServer

服务支持。用户在客户端页面只需点击要

查看的目标集群节点,无需输入该节点的

IP地址,即可弹出该节点的远程桌面。通

常情况下,远程桌面访问都是独立存在

的,需要记录被访问节点的IP地址和密

码,由于集群的规模越来越庞大,传统的

方法导致需要记录大量的目标节点IP和密

码数据,所以传统的方法已经不能满足当

前的需求。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1. 一种基于VNC和JNLP协议实现远程桌面的方法,其特征在于,具体步骤如下:

1)在目标节点安装和配置VNCServer,Linux系统,系统自带VNCServer,

Windows需自行安装;客户机需安装JRE1.6或更高版本;

2)Flex页面端: ActionScript调用JavaScript;通过flash ActionScrtip提供的外部

访问接口的call方法,来调用js中的方法;

将js引入到html-template/中,在flex编译的时候,会将js的方

法一起编译;

在js的方法中,访问指定的资源并传递参数:

=””+ tomcatIP +”:”+tomcatPort +”/”+ projectName +”/rmsInt

erface?serverIP=”+remoteIP +”&serverPort=” +remotePort;

在As中用方法来调用js中的方法,同时传递需要的参数;

("toRemoteDesktop",tomcatIP,tomcatPort,projectName,remoteIP, r

emotePort);其中“toRemoteDesktop”为js中的方法

3)Servlet端: 对jnlp的配置,使servlet支持jnlp协议添加:

<mime-mapping>

<extension>jnlp</extension>

<mime-type>application/x-java-jnlp-file</mime-type>

</mime-mapping>;

4)通过rmsInterface在中找到对应的servlet类,该类主要是动态生成jnlp

文件,并返回给客户端;

5)客户端根据返回的jnlp文件,自动加载web服务器中的;

6)弹出VNC密码输入框,输入密码后,即可打开相应节点的远程桌面。

说 明 书

技术领域

本发明涉及高性能集群计算领域, 具体地说是一种基于VNC和JNLP协议实现远程

桌面的方法。

背景技术

随着计算机集群规模的膨胀,传统的对服务器的管理方法越来越不适用,需要一套

集群监控管理软件来对庞大的计算机集群进行管理,以提高管理的效率和降低管理

成本。本发明,就是为集群监控管理软件提供支持的方法。

通常情况下,远程桌面访问都是独立存在的,需要记录被访问节点的IP地址和密

码,由于集群的规模越来越庞大,传统的方法导致需要记录大量的目标节点IP和

密码数据,所以传统的方法已经不能满足当前的需求。

发明内容

本发明的目的是提供一种基于VNC和JNLP协议实现远程桌面的方法。

本发明的目的是按以下方式实现的,具体步骤如下:

1)在目标节点安装和配置VNCServer,Linux系统,系统自带VNCServer,

Windows需自行安装;客户机需安装JRE1.6或更高版本;

2)Flex页面端: ActionScript调用JavaScript;通过flash ActionScrtip提供的外部

访问接口的call方法,来调用js中的方法;

将js引入到html-template/中,在flex编译的时候,会将js的方

法一起编译;

在js的方法中,访问指定的资源并传递参数:

=””+ tomcatIP +”:”+tomcatPort +”/”+ projectName +”/rmsInt

erface?serverIP=”+remoteIP +”&serverPort=” +remotePort;

在As中用方法来调用js中的方法,同时传递需要的参数;

("toRemoteDesktop",tomcatIP,tomcatPort,projectName,remoteIP, r

emotePort);其中“toRemoteDesktop”为js中的方法

3)Servlet端: 对jnlp的配置,使servlet支持jnlp协议添加:

<mime-mapping>

<extension>jnlp</extension>

<mime-type>application/x-java-jnlp-file</mime-type>

</mime-mapping>;

4)通过rmsInterface在中找到对应的servlet类,该类主要是动态生成jnlp

文件,并返回给客户端;

5)客户端根据返回的jnlp文件,自动加载web服务器中的;

6)弹出VNC密码输入框,输入密码后,即可打开相应节点的远程桌面。

本发明的有益效果是:

该方法的被访问节点需要VNCServer服务支持;服务器端由(VNC)jar包、基于

JNLP协议的Java编码构成;客户端由Flex页面编码和相关配置、JRE1.6(及以上

版本)构成。用户在客户端页面只需点击要查看的目标集群节点,无需输入该节点

的IP地址,即可弹出该节点的远程桌面。本发明可以集成到集群监控管理软件中,

通常该软件本身提供集群节点导航树,能够清晰的反应出当前集群的结构和目标节

点所处的位置,而且无需记录集群中所有节点的IP地址。所以本发明集成到传统

的集群管理软件中,能够更好的满足用户远程访问目标节点。

具体实施方式

具体步骤如下:

1)目标节点需安装和配置VNCServer,Linux系统一般自带VNCServer,Windows

需自行安装;客户机需安装JRE1.6或更高版本;

2)Flex页面端: ActionScript调用JavaScript;

通过flash ActionScrtip提供的外部访问接口的call方法,来调用js中的方法;

将js引入到html-template/中,在flex编译的时候,会将js的方

法一起编译;

在js的方法中,访问指定的资源并传递参数:

=””+ tomcatIP +”:”+tomcatPort +”/”+ projectName +”/rmsInt

erface?serverIP=”+remoteIP +”&serverPort=” +remotePort;

B.在As中用方法来调用js中的方法,同时传递需要的参数。

("toRemoteDesktop",tomcatIP,tomcatPort,projectName,remoteIP, r

emotePort);

其中“toRemoteDesktop”为js中的方法

3)Servlet端: 对jnlp的配置,使servlet支持jnlp协议添加:

<mime-mapping>

<extension>jnlp</extension>

<mime-type>application/x-java-jnlp-file</mime-type>

</mime-mapping>

4)通过rmsInterface在中找到对应的servlet类(详见:

),该类主要是动态生成jnlp文件,并返回给客户端;

5)客户端根据返回的jnlp文件,自动加载web服务器中的;

6.弹出VNC密码输入框,输入密码后,即可打开相应节点的远程桌面。

实施例:

1)配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"

xmlns="/xml/ns/j2ee"

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation="/xml/ns/j2ee

/xml/ns/j2ee/web-app_2_">

<servlet>

<servlet-name>RmsInterface</servlet-name>

<servlet-class>MakeJnlpServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>RmsInterface</servlet-name>

<url-pattern>/rmsInterface</url-pattern>

</servlet-mapping>

<mime-mapping>

<extension>jnlp</extension>

<mime-type>application/x-java-jnlp-file</mime-type>

</mime-mapping>

</web-app>

2)java script方法

function remoteDesktop(serverIP,serverPort,serverName,requestIPport)

{

= ""+ serverIP +":"+ serverPort +"/"+ serverName +"/rmsInte

rface?tomcatIP=" + serverIP+"&targetIP=" + requestIPport;

}

3)将下述代码添加进html-template/文件

<script src="./manage/" language="javascript"/>

4)Action Script方法

import teToURL;

public function redirect():void{

var tomcatIP:String = "10.152.11.248";

var tomcatPort:String = "8080";

var projectName:String = "jnlp";

var remoteIP:String = "10.152.11.212:1";

var remotePort:String = "zzzzzz";

("sayHelloWorld",tomcatIP,tomcatPort,

projectName,remoteIP, remotePort);

}

5)JNLP文件生成方法

import ption;

import tream;

import riter;

import tException;

import rvlet;

import rvletRequest;

import rvletResponse;

public class MakeJnlpServlet extends HttpServlet

{

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest paramHttpServletRequest, HttpServletResponse

paramHttpServletResponse)

throws ServletException, IOException

{

String str1 = ameter("serverIP");

String str2 = ameter("serverPort");

n("A---->" + str1 + "B----->" + str2);

String str3 = eme();

String str4 = verName();

int i = verPort();

String str5 = textPath();

n("Scheme: "+str3+"tServerName: "+str4+"tPort: "+i+"tContextPat

h: "+str5);

String str6 = "rmsInterface";

tentType("application/x-java-jnlp-file");

PrintWriter localPrintWriter = ter();

n("<?xml version="1.0" encoding="GBK"?>");

n("<jnlp spec="1.0+" codebase="" + str3 + "://" + str4 + ":"

+ i + str5 + "" href="" + str6 + "">");

n("<information>");

n(" <title>rms</title>");

n(" <vendor>cattsoft</vendor>");

n(" <homepage href=""/>");

n(" <description>Web Start Version</description>");

n(" <description kind="short">Web Start Version</de

scription>");

n("</information>");

n("<security>");

n(" <all-permissions/>");

n("</security>");

n("<resources>");

n(" <j2se version="1.6+"/>");

n(" <jar href=""/>");

//n(" <jar href=""/>");

n("</resources>");

//n("<application-desc main-class="VncViewer">");

n("<application-desc main-

class="wer">");

//n("<application-desc main-

class="com/glavsoft/viewer/Viewer">");

n("<argument>" + str1 + "</argument>");

//n("<argument>" + str2 + "</argument>");

n("</application-desc>");

n("</jnlp>");

();

();

}

}。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。