CN104717249A - 远程操作应用发布的方法、代理服务器和*** - Google Patents

远程操作应用发布的方法、代理服务器和*** Download PDF

Info

Publication number
CN104717249A
CN104717249A CN201310683220.4A CN201310683220A CN104717249A CN 104717249 A CN104717249 A CN 104717249A CN 201310683220 A CN201310683220 A CN 201310683220A CN 104717249 A CN104717249 A CN 104717249A
Authority
CN
China
Prior art keywords
application
remote operation
citrix
server
proxy server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310683220.4A
Other languages
English (en)
Other versions
CN104717249B (zh
Inventor
鄂鹏
王秀娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN201310683220.4A priority Critical patent/CN104717249B/zh
Publication of CN104717249A publication Critical patent/CN104717249A/zh
Application granted granted Critical
Publication of CN104717249B publication Critical patent/CN104717249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种远程操作应用发布的方法、代理服务器和***,涉及计算机软件技术领域。所述方法包括:在外部应用***和Citrix应用发布服务器之间设置代理服务器,所述代理服务器接收外部应用***发来的远程操作指令;通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作;所述代理服务器将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。能够通过Citrix通讯代理的配置,实现不同编译语言平台服务之间的通讯,从而实现了基于异构类平台的外部***远程控制Citrix服务器上应用的发布及变更,而无需关心平台底层操作***的差异。

Description

远程操作应用发布的方法、代理服务器和***
技术领域
本发明涉及计算机软件技术领域,特别涉及一种远程操作应用发布的方法、代理服务器和***。
背景技术
Citrix应用发布服务器以一种虚拟化技术将应用的发布及变更与底层操作***进行隔离,由于Citrix应用发布服务器无法对外提供Java类型接口导致某些依托于异构类操作***的外部应用***不能直接与Citrix应用发布服务器通讯,亟需一种技术来实现外部应用***以远程访问方式控制Citrix应用发布服务器对应用发布及变更操作。
现有的解决方案中在用户访问端和Citrix发布服务器之间设置一获取服务器,仅实现了用户访问端(也即外部应用***)对Citrix发布服务器的远程调用,以获取远程服务发布的应用信息,包含以下几个步骤:
1.获取服务器与用户访问端建立连接,接收用户访问端发送的访问请求;
2.获取服务器执行访问请求的任务,调用虚拟服务器(Citrix发布服务器)中的本地程序接口;
3.获取服务器通过本地程序接口获取虚拟服务器(Citrix发布服务器)中的应用列表,并将应用列表返回到所述用户访问端。
现有的获取服务器可以获取Citrix发布服务器远程发布的各种应用信息,但仅能将远程数据同步至用户访问端,由于受到Citrix发布服务器数据库读取权限限制,以及各异构类操作***的外部应用***与Citrix发布服务器编程语言不同,导致各异构类操作***的外部应用***不能对Citrix服务器上的应用发布操作做处理,比如对应用发布进行增删改等操作,Citrix服务器的这一核心功能还是需要管理员远程登录到Citrix服务器手动维护,效率低下。
发明内容
鉴于上述问题,本发明实施例提供一种远程操作应用发布的方法、代理服务器和***,能够实现各异构类操作***的外部应用***对Citrix服务器上的应用发布进行远程操作。
本发明实施例采用了如下技术方案:
本发明一个实施例提供了一种远程操作应用发布的方法,在外部应用***和Citrix应用发布服务器之间设置代理服务器,所述方法包括:
所述代理服务器接收外部应用***发来的远程操作指令;
通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作;
所述代理服务器将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。
所述方法还包括:
代理服务器为各访问线程建立对应的任务队列,当接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中;
各访问线程按其对应的任务队列中远程操作指令的先后顺序依次执行。
所述方法还包括:
所述代理服务器对与之相连接的多台Citrix应用发布服务器中的数据进行同步缓存;
所述代理服务器接收外部应用***发来的远程操作指令之后还包括:
所述代理服务器在自身缓存中查找是否有与所述远程操作指令相匹配资源;
若有相匹配资源,对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作;
若没有查找到相匹配资源,则执行所述通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
所述通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作包括:
通过内置的JACOB组件在自带的DLL动态链接库中以JNI方式调用COM组件,与所述Citrix应用发布服务器的COM接口进行交互,通过对Farm元素、Folder元素、Server元素和/或Application元素的操作,实现对所述Citrix应用发布服务器中的应用发布的远程操作;所述Farm元素用于实现citrix应用发布服务器的客户端配置,所述Server元素用于实现citrix应用发布服务器的管理配置,所述Folder元素和Application元素用于实现对应用发布的增、删、改和查功能;
所述代理服务器向所述外部应用***提供远程操作指令接口,用于供所述外部应用***选择对Citrix应用发布服务器中的应用发布执行远程获取应用、同步授权、添加应用、删除应用、修改应用、创建ICA文件和/或删除ICA文件。
所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互;
所述方法还包括:所述外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
另外,本发明实施例还提供了一种代理服务器,所述代理服务器设置在外部应用***和Citrix应用发布服务器之间,所述代理服务器包括:
指令接收模块,用于接收外部应用***发来的远程操作指令;
COM组件调用模块,用于通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作;
结果同步模块,用于将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。
所述代理服务器还包括为各访问线程对应创建的任务队列;
所述指令接收模块还包括指令放置单元,用于接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中;
所述代理服务器还包括执行顺序控制模块,用于各访问线程按其对应的任务队列中远程操作指令的先后顺序依次启动所述COM组件调用模块执行对应的远程操作指令。
所述代理服务器还包括缓存模块,用于对与所述代理服务器相连接的多台Citrix应用发布服务器中的数据进行同步缓存;
所述COM组件调用模块具体用于接收外部应用***发来的远程操作指令之后,在自身缓存中查找是否有与所述远程操作指令相匹配资源;若有相匹配资源,对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作;若没有查找到相匹配资源,则通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
另外,本发明实施例还提供了一种远程操作应用发布的***,所述***包括外部应用***、Citrix应用发布服务器、以及在外部应用***和Citrix应用发布服务器之间设置的如权利要求6-8任一项所述代理服务器。
所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互;
所述***还包括加密传输模块,用于在外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
可见,本发明实施例提供一种远程操作应用发布的方法、代理服务器和***,能够通过Citrix通讯代理的配置,实现不同编译语言平台服务之间的通讯,从而实现了基于异构类平台的外部***远程控制Citrix服务器上应用的发布及变更,而无需关心平台底层操作***的差异。
进一步的,本发明实施例中Citrix通讯代理支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。
进一步的,本发明实施例中远程控制应用的发布、变更及授权的通讯过程中采用了3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
进一步的,本发明实施例通过采用JCS构建具有缓冲的分布式构架,负责上层数据的缓存及多台Citrix服务器的缓存数据同步,提高了数据的交互速度,实现了高性能的应用。
附图说明
图1为本发明实施例提供的一种远程操作应用发布的方法流程图;
图2为本发明实施例提供的一种远程操作应用发布的***示意图;
图3为本发明实施例提供的另一种远程操作应用发布的方法流程图;
图4为本发明实施例提供的一种远程获取应用的方法流程图;
图5为本发明实施例提供的一种远程同步授权的方法流程图;
图6为本发明实施例提供的一种远程编辑应用的方法流程图;
图7为本发明实施例提供的一种代理服务器结构框图;
图8为本发明实施例提供的一种远程操作应用发布***结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
需要说明的是,为解决目前各异构类操作***的外部应用***不能对Citrix发布服务器远程发布的各种应用进行远程操作的问题,本发明实施例提供一种远程控制进行应用发布的实现方法:基于Citrix通讯代理(即代理服务器)的设置,实现了用户访问端(即外部应用***)对虚拟服务器(即Citrix发布服务器)的远程调用,通过COM接口的调用方式,在无需开放Citrix***的数据库读取权限的情形下,完远程控制Citrix应用发布服务器对应用发布及变更操作。
参见图1,本发明实施例提供一种远程操作应用发布的方法,在外部应用***和Citrix应用发布服务器之间设置代理服务器,所述方法包括:
S101:代理服务器接收外部应用***发来的远程操作指令。
S102:通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
需要说明的是,利用Java COM互操作技术,COM组件能够实现与其它语言的互操作方式,JACOB技术提供的是一个JVM独立的自动化服务器实现,其核心是基于JNI技术实现的Variant,Dispatch等接口。通过JACOB技术,可以方便地在Java语言中进行COM组件绑定方式的调用,从而实现COM组件能够实现与其它语言的互操作方式。
所述通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作包括:
通过内置的JACOB组件在自带的DLL动态链接库中以JNI方式调用COM组件,与所述Citrix应用发布服务器的COM接口进行交互,通过对Farm元素、Folder元素、Server元素和/或Application元素的操作,实现对所述Citrix应用发布服务器中的应用发布的远程操作。
其中,Farm元素用于整体展现citrix应用发布服务器客户端配置,Server元素用于citrix应用发布服务器管理配置,Folder元素和Application元素用于实现对应用发布的增、删、改、查等操作。
另外,代理服务器向所述外部应用***提供远程操作指令接口,用于供所述外部应用***选择对Citrix应用发布服务器中的应用发布执行远程获取应用、同步授权、添加应用、删除应用、修改应用、创建ICA文件和/或删除ICA文件等操作。其中,ICA文件是citrix应用发布服务器生成的一种扩展名为.ica的文件。
具体的,参见图2所示,Citrix通讯代理(即代理服务器),使用Jacob技术自带的DLL动态链接库,并通过JNI方式实现在Java平台上对Citrix服务器端COM接口程序的调用。Citrix通讯代理实现Citrix服务管理的Farm、Folder、Server、Application四个元素的管理功能,其中Farm元素用于整体展现citrix应用发布服务器客户端配置,Server元素用于citrix应用发布服务器管理配置,Folder和Application用于实现对应用发布的增、删、改、查。另外,Citrix通讯代理向外部应用***提供若干接口,分别实现远程获取应用、同步授权、添加应用、删除应用、修改应用、创建ICA文件和删除ICA文件的功能。
S103:所述代理服务器将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。
需要说明的是,本发明实施例进一步还能够支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。具体方案如下:
代理服务器为各访问线程建立对应的任务队列,当接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中。
各访问线程按其对应的任务队列中远程操作指令的先后顺序依次执行。
优选的,将所述远程操作指令放入到其中一任务队列中可以是,根据任务均衡原则将所述远程操作指令放入到任务少的任务队列中。
作为一个优选实施例,本发明实施例还包括在远程控制应用的发布、变更及授权的通讯过程中采用3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
也就是说,外部应用***与代理服务器之间采用套接字socket协议进行数据交互。
进一步的,所述方法还包括:所述外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
可见,本发明实施例提供一种远程操作应用发布的方法,能够通过Citrix通讯代理的配置,实现不同编译语言平台服务之间的通讯,从而实现了基于异构类平台的外部***远程控制Citrix服务器上应用的发布及变更,而无需关心平台底层操作***的差异。
进一步的,本发明实施例中Citrix通讯代理支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。
进一步的,本发明实施例中远程控制应用的发布、变更及授权的通讯过程中采用了3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
参见图3,本发明实施例提供一种远程操作应用发布的方法,在外部应用***和Citrix应用发布服务器之间设置代理服务器,所述方法包括:
S301:代理服务器接收外部应用***发来的远程操作指令。
S302:代理服务器在自身缓存中查找是否有与所述远程操作指令相匹配资源;若有相匹配资源,执行步骤S303,若没有查找到相匹配资源,则执行步骤S304。
需要说明的是,本发明实施例所述方法还包括:代理服务器对与之相连接的多台Citrix应用发布服务器中的数据进行同步缓存。
也就是说,一种优选实施例,还可以通过采用JCS构建具有缓冲的分布式构架,负责上层数据的缓存及多台Citrix服务器的缓存数据同步,提高了数据的交互速度,实现了高性能的应用。
S303:对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作,结束。
S304:通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
所述通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作包括:
通过内置的JACOB组件在自带的DLL动态链接库中以JNI方式调用COM组件,与所述Citrix应用发布服务器的COM接口进行交互,通过对Farm元素、Folder元素、Server元素和/或Application元素的操作,实现对所述Citrix应用发布服务器中的应用发布的远程操作。
其中,Farm元素用于实现citrix应用发布服务器的客户端配置,所述Server元素用于实现citrix应用发布服务器的管理配置,所述Folder元素和Application元素用于实现对应用发布的增、删、改和查功能。
另外,代理服务器向所述外部应用***提供远程操作指令接口,用于供所述外部应用***选择对Citrix应用发布服务器中的应用发布执行远程获取应用、同步授权、添加应用、删除应用、修改应用、创建ICA文件和/或删除ICA文件等操作。
具体的,参见图2所示,Citrix通讯代理(即代理服务器),使用Jacob技术自带的DLL动态链接库,并通过JNI方式实现在Java平台上对Citrix服务器端COM接口程序的调用。Citrix通讯代理实现Citrix服务管理的Farm、Folder、Server、Application四个元素的管理功能,其中Farm元素用于实现citrix应用发布服务器的客户端配置,所述Server元素用于实现citrix应用发布服务器的管理配置,所述Folder元素和Application元素用于实现对应用发布的增、删、改和查功能。另外,Citrix通讯代理向外部应用***提供若干接口,分别实现远程获取应用、同步授权、添加应用、删除应用、修改应用、创建ICA文件和删除ICA文件的功能。
S305:代理服务器将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。
需要说明的是,本发明实施例进一步还能够支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。具体方案如下:
代理服务器为各访问线程建立对应的任务队列,当接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中。
各访问线程按其对应的任务队列中远程操作指令的先后顺序依次执行。
优选的,将所述远程操作指令放入到其中一任务队列中可以是,根据任务均衡原则将所述远程操作指令放入到任务少的任务队列中。
作为一个优选实施例,本发明实施例还包括在远程控制应用的发布、变更及授权的通讯过程中采用3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
也就是说,外部应用***与代理服务器之间采用套接字socket协议进行数据交互。
进一步的,所述方法还包括:所述外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
可见,本发明实施例提供一种远程操作应用发布的方法,能够通过Citrix通讯代理的配置,实现不同编译语言平台服务之间的通讯,从而实现了基于异构类平台的外部***远程控制Citrix服务器上应用的发布及变更,而无需关心平台底层操作***的差异。
进一步的,本发明实施例中Citrix通讯代理支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。
进一步的,本发明实施例中远程控制应用的发布、变更及授权的通讯过程中采用了3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
进一步的,本发明实施例通过采用JCS构建具有缓冲的分布式构架,负责上层数据的缓存及多台Citrix服务器的缓存数据同步,提高了数据的交互速度,实现了高性能的应用。
参见图4,本发明实施例提供一种远程获取应用的方法。
具体的,获取应用信息:通过用户访问端触发“获取应用”操作,实现外部应用***与Citrix应用发布服务器Communication Agent的交互,也即Citrix通讯代理(即代理服务器)通过Jacob组件接口完成与COM接口的交互,并将Citrix应用发布服务器远程发布的应用软件列表返回给外部应用***。
具体步骤如下:
41:触发获取应用操作。
42:建立socket连接,发送操作指令。
43:将操作指令放置到任务队列。
44:执行任务,调用COM接口获取应用。
45:返回应用列表。
46:通过socket返回应用列表。
47:存储应用列表到缓存LDAP中。
参见图5,本发明实施例提供一种远程同步授权的方法。
同步用户被授权的应用信息:用户登录外部应用***时,外部应用***会自动向部署在某Citrx应用发布服务器的Citrix通讯代理(即代理服务器)建立socket连接并发出请求,请求信息包含当次请求的操作码及登录用户在该Citrix环境中的客户端软件授权列表,Citrix通讯代理在处理该请求时,会根据缓存中的信息来决定是否与COM接口通信以达到更新用户授权,最后通过socket向用户访问端返回操作结果。
一种优选实施例,代理服务器中包括缓存模块,用于实现对与所述代理服务器相连接的多台Citrix应用发布服务器中的数据进行同步缓存。
具体步骤如下:
51:用户通过syn()方法登录外部应用***请求同步授权应用操作。
52:外部应用***检索外部应用***端与Citrix应用发布服务器端授权信息。
53:外部应用***建立socket连接,发送操作指令及检索到的授权信息。
54:将操作指令放置到任务队列。
55:执行同步任务。
56:与缓存中的授权信息相比较,判断是否需要更新授权信息。
57:经判断需要执行更新授权信息操作时,调用COM接口将新的授权信息通过COM接口推送至Citrix应用发布服务器。
58:返回操作结果。
59:更新缓存。
510:返回操作结果给外部应用***。
参见图6,本发明实施例提供一种远程编辑应用的方法。
编辑Citrix应用发布服务器的应用信息:用户通过外部应用***对Citrix服务器发布应用并编辑应用时,包括添加应用、删除应用、修改应用,触发外部应用***与Citrix通讯代理(即代理服务器)的交互,通过Jacob组件接口完成与COM接口的交互,并将操作结果返回给外部应用***。
具体步骤如下:
61:用户登录外部应用***请求远程编辑应用操作,包括增、减、删等操作。
62:外部应用***建立socket连接,发送操作指令。
63:将操作指令放置到任务队列。
64:执行任务,调用COM接口对Citrix应用发布服务器中的应用进行远程编辑操作。
65:返回操作结果。
66:通过socket方式返回操作结果。
67:存储编辑操作后的应用列表到缓存LDAP中。
参见图7,本发明实施例提供一种代理服务器,所述代理服务器设置在外部应用***和Citrix应用发布服务器之间,所述代理服务器包括:
指令接收模块701,用于接收外部应用***发来的远程操作指令。
COM组件调用模块702,用于通过内置的JACOB组件调用COM组件按照所述远程操作指令对Citrix应用发布服务器中的应用发布执行对应的远程操作。
结果同步模块703,用于将Citrix应用发布服务器返回的操作结果发送至外部应用***。
优选的,所述代理服务器还包括为各访问线程对应创建的任务队列。
相应的,所述指令接收模块还包括指令放置单元,用于接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中。
所述代理服务器还包括执行顺序控制模块,用于各访问线程按其对应的任务队列中远程操作指令的先后顺序依次启动所述COM组件调用模块执行对应的远程操作指令。
进一步的,所述代理服务器还包括缓存模块,用于对与所述代理服务器相连接的多台Citrix应用发布服务器中的数据进行同步缓存。
所述COM组件调用模块具体用于接收外部应用***发来的远程操作指令之后,在自身缓存中查找是否有与所述远程操作指令相匹配资源;若有相匹配资源,对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作;若没有查找到相匹配资源,则通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
优选的,所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互。
进一步的,在外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
需要说明的是,本发明***实施例中的各个模块或者单元的工作原理和处理过程可以参见上述图1-图6所示方法实施例中的相关描述,此处不再赘述。
可见,本发明实施例提供一种代理服务器,能够通过Citrix通讯代理的配置,实现不同编译语言平台服务之间的通讯,从而实现了基于异构类平台的外部***远程控制Citrix服务器上应用的发布及变更,而无需关心平台底层操作***的差异。
进一步的,本发明实施例中Citrix通讯代理支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。
进一步的,本发明实施例中远程控制应用的发布、变更及授权的通讯过程中采用了3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
进一步的,本发明实施例通过采用JCS构建具有缓冲的分布式构架,负责上层数据的缓存及多台Citrix服务器的缓存数据同步,提高了数据的交互速度,实现了高性能的应用。
参见图8,本发明实施例提供一种远程操作应用发布的***,所述***包括外部应用***800、Citrix应用发布服务器900、以及在外部应用***和Citrix应用发布服务器之间设置的如上述图7所示代理服务器700。
其中,所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互。
优选的,所述***还包括加密传输模块,用于在外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
其中,代理服务器包括:
指令接收模块701,用于接收外部应用***发来的远程操作指令。
COM组件调用模块702,用于通过内置的JACOB组件调用COM组件按照所述远程操作指令对Citrix应用发布服务器中的应用发布执行对应的远程操作。
结果同步模块703,用于将Citrix应用发布服务器返回的操作结果发送至外部应用***。
优选的,所述代理服务器还包括为各访问线程对应创建的任务队列。
相应的,所述指令接收模块还包括指令放置单元,用于接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中。
所述代理服务器还包括执行顺序控制模块,用于各访问线程按其对应的任务队列中远程操作指令的先后顺序依次启动所述COM组件调用模块执行对应的远程操作指令。
进一步的,所述代理服务器还包括缓存模块,用于对与所述代理服务器相连接的多台Citrix应用发布服务器中的数据进行同步缓存。
所述COM组件调用模块具体用于接收外部应用***发来的远程操作指令之后,在自身缓存中查找是否有与所述远程操作指令相匹配资源;若有相匹配资源,对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作;若没有查找到相匹配资源,则通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
优选的,所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互。
进一步的,在外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
需要说明的是,本发明***实施例中的各个模块或者单元的工作原理和处理过程可以参见上述图1-图6所示方法实施例中的相关描述,此处不再赘述。
可见,本发明实施例提供一种远程操作应用发布的***,能够通过Citrix通讯代理的配置,实现不同编译语言平台服务之间的通讯,从而实现了基于异构类平台的外部***远程控制Citrix服务器上应用的发布及变更,而无需关心平台底层操作***的差异。
进一步的,本发明实施例中Citrix通讯代理支持多线程访问,并为线程建立任务队列,提高了***运行的并发性。
进一步的,本发明实施例中远程控制应用的发布、变更及授权的通讯过程中采用了3DES加密算法,使得远程控制过程中的数据传输具备安全保障。
进一步的,本发明实施例通过采用JCS构建具有缓冲的分布式构架,负责上层数据的缓存及多台Citrix服务器的缓存数据同步,提高了数据的交互速度,实现了高性能的应用。
为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:(方法的步骤),所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种远程操作应用发布的方法,其特征在于,在外部应用***和Citrix应用发布服务器之间设置代理服务器,所述方法包括:
所述代理服务器接收外部应用***发来的远程操作指令;
通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作;
所述代理服务器将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
代理服务器为各访问线程建立对应的任务队列,当接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中;
各访问线程按其对应的任务队列中远程操作指令的先后顺序依次执行。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述代理服务器对与之相连接的多台Citrix应用发布服务器中的数据进行同步缓存;
所述代理服务器接收外部应用***发来的远程操作指令之后还包括:
所述代理服务器在自身缓存中查找是否有与所述远程操作指令相匹配资源;
若有相匹配资源,对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作;
若没有查找到相匹配资源,则执行所述通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
4.根据权利要求1所述的方法,其特征在于,所述通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作包括:
通过内置的JACOB组件在自带的DLL动态链接库中以JNI方式调用COM组件,与所述Citrix应用发布服务器的COM接口进行交互,通过对Farm元素、Folder元素、Server元素和/或Application元素的操作,实现对所述Citrix应用发布服务器中的应用发布的远程操作;所述Farm元素用于实现citrix应用发布服务器的客户端配置,所述Server元素用于实现citrix应用发布服务器的管理配置,所述Folder元素和Application元素用于实现对应用发布的增、删、改和查功能;
所述代理服务器向所述外部应用***提供远程操作指令接口,用于供所述外部应用***选择对Citrix应用发布服务器中的应用发布执行远程获取应用、同步授权、添加应用、删除应用、修改应用、创建ICA文件和/或删除ICA文件。
5.根据权利要求1所述的方法,其特征在于,所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互;
所述方法还包括:所述外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
6.一种代理服务器,其特征在于,所述代理服务器设置在外部应用***和Citrix应用发布服务器之间,所述代理服务器包括:
指令接收模块,用于接收外部应用***发来的远程操作指令;
COM组件调用模块,用于通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作;
结果同步模块,用于将所述Citrix应用发布服务器返回的操作结果发送至所述外部应用***。
7.根据权利要求6所述的代理服务器,其特征在于,所述代理服务器还包括为各访问线程对应创建的任务队列;
所述指令接收模块还包括指令放置单元,用于接收到外部应用***发来的远程操作指令后,将所述远程操作指令放入到其中一任务队列中;
所述代理服务器还包括执行顺序控制模块,用于各访问线程按其对应的任务队列中远程操作指令的先后顺序依次启动所述COM组件调用模块执行对应的远程操作指令。
8.根据权利要求6所述的代理服务器,其特征在于,所述代理服务器还包括缓存模块,用于对与所述代理服务器相连接的多台Citrix应用发布服务器中的数据进行同步缓存;
所述COM组件调用模块具体用于接收外部应用***发来的远程操作指令之后,在自身缓存中查找是否有与所述远程操作指令相匹配资源;若有相匹配资源,对所述相匹配资源执行所述远程操作指令的操作内容,将操作结果返回所述外部应用***;且将操作后内容与对应的Citrix应用发布服务器进行数据同步,完成对应用发布的远程操作;若没有查找到相匹配资源,则通过内置的JACOB组件调用COM组件按照所述远程操作指令对所述Citrix应用发布服务器中的应用发布执行对应的远程操作。
9.一种远程操作应用发布的***,其特征在于,所述***包括外部应用***、Citrix应用发布服务器、以及在外部应用***和Citrix应用发布服务器之间设置的如权利要求6-8任一项所述代理服务器。
10.根据权利要求9所述的***,其特征在于,所述外部应用***与所述代理服务器之间采用套接字socket协议进行数据交互;
所述***还包括加密传输模块,用于在外部应用***与所述代理服务器之间采用3DES加密算法进行加密传输。
CN201310683220.4A 2013-12-12 2013-12-12 远程操作应用发布的方法、代理服务器和*** Active CN104717249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310683220.4A CN104717249B (zh) 2013-12-12 2013-12-12 远程操作应用发布的方法、代理服务器和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310683220.4A CN104717249B (zh) 2013-12-12 2013-12-12 远程操作应用发布的方法、代理服务器和***

Publications (2)

Publication Number Publication Date
CN104717249A true CN104717249A (zh) 2015-06-17
CN104717249B CN104717249B (zh) 2018-04-27

Family

ID=53416209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310683220.4A Active CN104717249B (zh) 2013-12-12 2013-12-12 远程操作应用发布的方法、代理服务器和***

Country Status (1)

Country Link
CN (1) CN104717249B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107795A1 (zh) * 2015-12-22 2017-06-29 阿里巴巴集团控股有限公司 一种网站访问加速方法及装置
CN107454050A (zh) * 2016-06-01 2017-12-08 腾讯科技(深圳)有限公司 一种访问网络资源的方法及装置
CN108279994A (zh) * 2018-01-22 2018-07-13 北京仿真中心 一种连接Citrix已发布应用异常的自动化解决方法
CN114553955A (zh) * 2020-11-24 2022-05-27 中国联合网络通信集团有限公司 基于移动设备的远程发布方法、装置及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020155848A1 (en) * 2001-04-20 2002-10-24 Lalitha Suryanarayana World wide web content synchronization between wireless devices
CN101127619A (zh) * 2007-09-29 2008-02-20 华中科技大学 一种基于超级节点的p2p直播方法
CN102857537A (zh) * 2011-07-01 2013-01-02 ***通信集团辽宁有限公司 一种远程调用方法、装置和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020155848A1 (en) * 2001-04-20 2002-10-24 Lalitha Suryanarayana World wide web content synchronization between wireless devices
CN101127619A (zh) * 2007-09-29 2008-02-20 华中科技大学 一种基于超级节点的p2p直播方法
CN102857537A (zh) * 2011-07-01 2013-01-02 ***通信集团辽宁有限公司 一种远程调用方法、装置和***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107795A1 (zh) * 2015-12-22 2017-06-29 阿里巴巴集团控股有限公司 一种网站访问加速方法及装置
CN106911732A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种网站访问加速方法及装置
CN107454050A (zh) * 2016-06-01 2017-12-08 腾讯科技(深圳)有限公司 一种访问网络资源的方法及装置
CN107454050B (zh) * 2016-06-01 2020-03-03 腾讯科技(深圳)有限公司 一种访问网络资源的方法及装置
CN108279994A (zh) * 2018-01-22 2018-07-13 北京仿真中心 一种连接Citrix已发布应用异常的自动化解决方法
CN114553955A (zh) * 2020-11-24 2022-05-27 中国联合网络通信集团有限公司 基于移动设备的远程发布方法、装置及***
CN114553955B (zh) * 2020-11-24 2023-09-26 中国联合网络通信集团有限公司 基于移动设备的远程发布方法、装置及***

Also Published As

Publication number Publication date
CN104717249B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN102426594B (zh) 对数据库进行操作的方法和***
CN110149382A (zh) 数据同步的方法、***、主服务器、同步客户端及介质
CN103209223B (zh) 分布式应用会话信息共享方法、***和应用服务器
CN101452402B (zh) 软件运行***和软件运行方法
US10225133B2 (en) Management system for a control system, gateway device, server device, management method, gateway method, and management process execution method
JP3730563B2 (ja) セッション管理装置およびセッション管理方法およびプログラムおよび記録媒体
CN102984159B (zh) 基于终端访问行为的安全接入逻辑控制方法及平台服务器
CN102857537B (zh) 一种远程调用方法、装置和***
CN105099706A (zh) 一种数据通信方法、用户设备和服务器
CA2625283A1 (en) Systems and methods for generating and communicating motion data through a distributed network
US9430668B2 (en) Seamless upgrade for network system
CN101916172B (zh) 一种基于虚拟磁盘映像逻辑分割的按需软件分发方法
CN106657314A (zh) 跨数据中心数据同步***及方法
CN111651418B (zh) 一种文档内容下载方法、装置、计算机设备和存储介质
CN112149079A (zh) 基于微服务架构的规划评审管理平台及用户访问授权方法
CN104717249A (zh) 远程操作应用发布的方法、代理服务器和***
CN110248355A (zh) 基于物联网设备eUICC卡的码号管理方法、设备、平台和***
CN108737092A (zh) 移动终端管理服务器、移动终端、业务云平台和应用***
CN106713391A (zh) 一种session信息的共享方法和共享***
CN110389935A (zh) 一种启动小程序的方法、设备和计算机存储介质
CN108037937A (zh) 一种动态更新资源的方法
CN106888264B (zh) 一种数据交换方法和装置
CN102664952B (zh) 一种对嵌入式设备集群管理及监控的方法
CN110267077B (zh) 离线缓存方法、装置、终端及可读存储介质
CN105511273A (zh) 一种客户端运行管理方法及客户端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A Room 601

Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd.