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>");
();
();
}
}。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。


发布评论