跨域远程命令的实现方法及系统的制作方法

文档序号:8005701阅读:257来源:国知局
跨域远程命令的实现方法及系统的制作方法
【专利摘要】本发明公开了跨域远程命令的实现方法及系统,其中的方法包括:源域中的客户端向全网管理模块发送远程命令执行申请;全网管理模块判断远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器;客户端根据源域通路服务器的路由信息,通过安全协议链接至源域通路服务器;以及源域通路服务器组建一个数据包发送给目的域通路服务器,目的域通路服务器根据路由信息、通过安全协议与目标服务器建立链接,并将目标服务器返回的数据包返回源域通路服务器,并由源域通路服务器转发给客户端。本发明可有效解决跨域远程命令的问题。
【专利说明】跨域远程命令的实现方法及系统

【技术领域】
[0001]本发明涉及一种互联网【技术领域】,尤其涉及一种信息处理【技术领域】,具体涉及一种跨域远程命令的实现方法及系统。

【背景技术】
[0002]SSH(Secure Shell,安全外壳协议),是一种建立在应用层和传输层基础上的安全协议。SSH协议是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。IDCdnternet Data Center,互联网数据中心),是电信等互联网服务提供商利用已有的互联网通信线路、带宽资源,建立标准化的电信专业级机房环境,为企业、政府提供服务器托管、租用以及相关增值等方面的全方位服务。
[0003]SSH协议只能应用在同一互联网数据中心内(也可称为域内)的可以直接联通的机器(例如服务器)之间,不同数据中心(也可称为跨域)的不能直接联通的机器之间不能应用。但是,一个公司的业务可能会分布在多个地域的多个数据中心中,这使得不同数据中心中的机器之间可能存在应用SSH协议的需求,例如一个数据中心的机器A要检查另一个数据中心的机器B上的某些文件等,因此,如何使一个数据中心的机器能远程命令另一个数据中心中的机器,成为目前需要解决的问题之一。


【发明内容】

[0004]本发明实施例提供一种跨域远程命令的实现方法及系统,可有效解决跨域远程命令的问题。
[0005]本发明实施例提供了一种跨域远程命令的实现方法,可包括:源域中的客户端向全网管理模块发送远程命令执行申请,所述远程命令执行申请中携带有客户端的IP地址以及目标服务器的IP地址;所述全网管理模块根据所述客户端的IP地址以及目标服务器的IP地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器;所述客户端根据所述源域通路服务器的路由信息,通过安全协议链接至源域通路服务器;以及源域通路服务器组建一个包含所述目标服务器路由信息的数据包发送给所述目的域通路服务器,所述目的域通路服务器根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接,并将所述目标服务器返回的数据包返回源域通路服务器,并由所述源域通路服务器转发给所述客户端。
[0006]本发明实施例提供了一种跨域远程命令的实现系统,可包括:源域客户端、全网管理模块、源域通路服务器、目的域通路服务器以及目标服务器。所述源域客户端用于向所述全网管理模块发送远程命令执行申请,所述远程命令执行申请中携带有客户端的IP地址以及目标服务器的IP地址;
[0007]所述全网管理模块用于根据所述客户端的IP地址以及目标服务器的IP地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器;所述客户端还用于根据所述源域通路服务器的路由信息,通过安全协议链接至所述源域通路服务器;所述源域通路服务器用于组建一个包含所述目标服务器路由信息的数据包发送给所述目的域通路服务器;以及所述目的域通路服务器用于根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接,并将所述目标服务器返回的数据包返回源域通路服务器,并由所述源域通路服务器转发给所述客户端。
[0008]本发明实施例,具有如下有益效果:
[0009]本发明实施例通过全网管理模块向发起跨域远程命令执行申请的源域客户端下发路由信息,然后客户端根据路由信息、通过安全协议链接至源域通路服务器,由源域通路服务器向目的域通路服务器发送包含目标服务器路由信息的数据包,目的域通路服务器根据数据包中的路由信息、通过安全协议与目标服务器建立链接,并将目标服务器返回的数据包返回源域通路服务器,并由源域通路服务器转发给客户端,从而在源域与目的域之间建立起远程命令通道,屏蔽了数据中心之间的物理隔离,使一个数据中心中的机器可以远程命令另一个数据中心的机器,也就是实现了跨域远程命令。

【专利附图】

【附图说明】
[0010]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1为本发明实施例提供的跨域远程命令的实现方法的应用环境图;
[0012]图2为本发明第一实施例提供的一种跨域远程命令的实现方法的流程图;
[0013]图3为本发明第一实施例中的不跨域远程命令的时序图;
[0014]图4为图2中向所述客户端返回源域通路服务器与目的域通路服务器的路由信息的步骤具体流程图;
[0015]图5为本发明第一实施例中的跨域远程命令的时序图;
[0016]图6为本发明第二实施例提供的一种跨域远程命令的实现方法的流程图;
[0017]图7为本发明第二实施例提供的跨域远程命令的实现方法中的源域通路服务器与目的域通路服务器的架构图;
[0018]图8为本发明第三实施例提供的一种跨域远程命令的实现系统的结构示意图;
[0019]图9为本发明第四实施例提供的一种跨域远程命令的实现系统的结构示意图。

【具体实施方式】
[0020]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]本发明实施例提供的跨域远程命令的实现方法及系统用于实现不同数据中心的机器之间的远程命令,如果定义发起远程命令的互联网数据中心(IDC)为源域的话,另外一个接收远程命令的互联网数据中心(IDC)就可以被定义为目的域,也就是说,本发明实施例提供的技术方案可以实现跨域的远程命令,达到屏蔽不同互联网数据中心之间的物理隔离的目的,使得不同互联网数据中心内的机器可以互访。
[0022]图1所示为本发明实施例提供的跨域远程命令的实现方法的应用环境,该应用环境包括全网管理模块101以及至少两个互联网数据中心(如图1中的第一互联网数据中心102和第二互联网数据中心103)。每个互联网数据中心中包括多个机器(例如服务器)。
[0023]于本发明实施例中,可以假设第一互联网数据中心102和第二互联网数据中心103中的一个数据中心为发出远程控制命令的数据中心(即发出远程命令的客户端所在的数据中心),也就是源域,另一个数据中心为接收远程控制命令的数据中心(即目标服务器所在的数据中心),也就是目的域。作为源域的数据中心(例如第一互联网数据中心102)中至少包括发出远程命令的客户端1021。作为目的域的数据中心(例如第二互联网数据中心103)中至少包括远程命令的目标服务器1031。于本发明实施例中,作为源域的数据中心(例如第一互联网数据中心102)中还可以包括源域通路服务器1022。作为目的域的数据中心(例如第二互联网数据中心103)中还可以包括远程命令的目标服务器1032。进一步的,作为源域的数据中心(例如第一互联网数据中心102)中还可以包括控制服务器1023,用于转发全网管理模块101与客户端1021之间的消息。当然,图1所示只是本发明实施例的一种应用环境的举例,本发明的【具体实施方式】并不以此为限。
[0024]第一实施例
[0025]图2为本发明第一实施例提供的一种跨域远程命令的实现方法的流程图;请参见图2,该方法可包括:
[0026]步骤S11,源域中的客户端向全网管理模块发送远程命令执行申请。
[0027]远程命令执行申请中可以携带有客户端的IP地址、目标服务器的IP地址以及需要执行的远程命令字符串等信息,以便全网管理模块可以根据这些信息判断该远程命令执行申请是否为跨域远程命令执行申请以及返回相应的路由信息。
[0028]全网管理模块与每个互联网数据中心中的机器通讯,负责路由的管理,包括路由的分配和回收,每个机器都会定时的向全网管理模块上报心跳。
[0029]优选的,在用户调用该客户端发送远程命令执行申请之前,也就是执行步骤Sll之前,可以先在客户端中输入目标服务器的IP地址,向全网管理模块申请远程命令帐号及密码。
[0030]用户在调用客户端发送远程命令执行申请时,客户端会出现安全协议登录提示窗口,以SSH协议为例,用户可以在该提示窗口中按照SSH协议的格式输入帐号和密码,从而可以快速的实现远程命令的操作。
[0031]相应的,客户端向全网管理模块发送的远程命令执行申请中还可以包括用户通过客户端输入的帐号和密码,于步骤Sii之前,所述方法还可以包括:所述全网管理模块对所述帐号以及密码进行验证,如果验证通过,则执行所述判断所述远程命令执行申请是否为跨域远程命令执行申请的步骤,如果验证不通过,则拒绝所述远程命令执行申请。也就是说,全网管理模块还用于对用户的帐号和密码鉴权。
[0032]进一步的,用户在进行远程命令操作时,还可以输入操作人员的名称。
[0033]进一步的,所述全网管理模块接收到所述远程命令执行申请后,还可以将所述命令字符串以及操作人员的名称等信息存储在数据库中,以供日后审计。
[0034]步骤S12,所述全网管理模块根据所述客户端的IP地址以及目标服务器的IP地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器。
[0035]全网管理模块中存储有全网机器列表,全网机器列表中记录有所有机器的相关信息以及每个机器对应的互联网数据中心,包括IP地址等。全网管理模块可以根据客户端的IP地址以及目标服务器的IP地址,在全网机器列表中查找客户端以及目标服务器对应的互联网数据中心,判断所述远程命令执行申请是否为跨域远程命令执行申请。
[0036]如果客户端及目标服务器的IP地址同属于一个互联网数据中心,全网管理模块可以判定所述远程命令执行申请不是跨域远程命令执行申请,全网管理模块可以向所述客户端返回目标服务器的路由信息,所述客户端根据所述目标服务器的路由信息,通过安全协议(例如SSH协议)链接至所述目标服务器,完成不跨域远程命令。进一步的,全网管理模块与客户端之间的消息还可以通过控制服务器来转发,请参照图3,图3为本实施例中的不跨域远程命令的时序图。也就是说,本实施例中的跨域远程命令和不跨域远程命令都可以通过调用同样的源域客户端(例如图1中的客户端1021)来实现,非常方便。
[0037]如果客户端及目标服务器的IP地址不属于同一个的互联网数据中心,例如,客户端的IP地址属于第一互联网数据中心102,目标服务器的IP地址属于第二互联网数据中心103,则全网管理模块可以判定所述远程命令执行申请是跨域远程命令执行申请,全网管理模块向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器。
[0038]具体的,请参照图4,所述向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器以及目标服务器的路由信息下发给所述源域通路服务器的步骤可以包括:
[0039]步骤S121,所述全网管理模块在源域数据中心中选取源域通路服务器、在目的域数据中心中选取目的域通路服务器;
[0040]步骤S122,在选取的所述源域通路服务器中以及所述目的域通路服务器中分别选取一个空闲的端口;
[0041]步骤S123,将选取的源域通路服务器的IP地址和端口作为所述源域通路服务器的路由信息返回所述客户端,将所述目的域通路服务器的IP地址和端口作为所述目的域通路服务器的路由信息下发给所述源域通路服务器。
[0042]具体的,全网管理模块在全网机器列表中查找到客户端以及目标服务器对应的互联网数据中心后,可以确定客户端对应的互联网数据中心为源域数据中心(例如第一互联网数据中心102),目标服务器对应的互联网数据中心是目的域数据中心(例如第二互联网数据中心103)。全网管理模块可以分别在源域数据中心和目的域数据中心选取负载最轻的通路服务器(channel)作为源域通路服务器和目的域通路服务器。假设某公司在深圳和汕头各部署了 8台通路服务器,每个通路服务器上可以有1000个端口提供给远程命令使用,那么就可以同时支持8000个从深圳到汕头的远程命令。全网管理模块可以分别在源域通路服务器和目的域通路服务器中各选一个空闲的端口分配给这次远程命令使用,待远程命令执行完之后,全网管理模块还可以通知源域通路服务器和目的域通路服务器回收相应的端口。
[0043]全网管理模块将所选取的源域通路服务器的IP地址和端口作为所述源域通路服务器的路由信息返回所述客户端,将所述目的域通路服务器的IP地址和端口作为所述目的域通路服务器的路由信息下发给所述源域通路服务器。
[0044]进一步的,所述全网管理模块还向所述源域通路服务器下发所述源域通路服务器的路由信息。
[0045]步骤S13,所述客户端根据所述源域通路服务器的路由信息,通过安全协议链接至源域通路服务器。
[0046]步骤S14,源域通路服务器组建一个包含所述目标服务器路由信息的数据包发送给所述目的域通路服务器,所述目的域通路服务器根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接,并将所述目标服务器返回的数据包返回源域通路服务器,并由所述源域通路服务器转发给所述客户端。
[0047]步骤S13、步骤S14为客户端接收到源域通路服务器的路由信息、目的域通路服务器的路由信息以及目标服务器的路由信息后,跨域远程命令的实现过程,请同时参照图5,图5为本实施例中的跨域远程命令的时序图。具体的,客户端根据接收到的源域通路服务器的路由信息中的IP地址以及端口,通过安全协议(例如SSH协议)与源域通路服务器进行链接。根据SSH协议,源域通路服务器在与客户端进行链接后,需要组建一个包含目标服务器路由信息的数据包并将该数据包发送给目的域通路服务器,目的域通路服务器根据数据包中的路由信息建立到SSH目标服务器的SSH链接,然后将SSH目标服务器返回的第一个数据包原路返回客户端,从而建立起客户端到目标服务器的链接,接下来的远程命令数据流可以按照上述流程进行。
[0048]当远程命令完成后,无论是请求远程命令的源域客户端主动断链接还是远程命令目标服务器主动断链接,都会组建断链接的数据包给对端的通路服务器,让对端通路服务器断内网链接,并释放链接资源。
[0049]具体的,如果由客户端发起断链接请求,所述客户端可以根据所述源域通路服务器的路由信息,通过安全协议向所述源域通路服务器发送断链接请求;所述源域通路服务器组建一个包含所述目标服务器路由信息的断链接数据包发送给所述目的域通路服务器,所述目的域通路服务器根据所述断链接数据包中的路由信息断开与所述目标服务器的链接,并释放链接资源。
[0050]进一步,所述客户端还可以向所述全网管理模块发送路由信息删除申请,所述全网管理模块根据所述路由信息删除申请删除所述源域通路服务器以及所述目的域通路服务器的路由信息。
[0051 ] 如果由目标服务器发起断链接请求,所述目标服务器可以根据所述数据包中的路由信息,通过安全协议向所述目的域通路服务器发送断链接请求;所述目的域通路服务器组建一个断链接数据包发送给所述源域通路服务器,所述源域通路服务器根据所述断链接数据包断开与所述客户端的链接,并释放链接资源。
[0052]本实施例提供的跨域远程命令的实现方法,通过全网管理模块向发起跨域远程命令执行申请的源域客户端下发路由信息,然后客户端根据路由信息、通过安全协议链接至源域通路服务器,由源域通路服务器向目的域通路服务器发送包含目标服务器路由信息的数据包,目的域通路服务器根据数据包中的路由信息、通过安全协议与目标服务器建立链接,并将目标服务器返回的数据包返回源域通路服务器,并由源域通路服务器转发给客户端,从而在源域与目的域之间建立起远程命令通道,屏蔽了数据中心之间的物理隔离,使一个数据中心中的机器可以远程命令另一个数据中心的机器,也就是实现了跨域远程命令。
[0053]第二实施例
[0054]图6为本发明第二实施例提供的一种跨域远程命令的实现方法的流程图;图7为本发明第二实施例提供的跨域远程命令的实现方法的源域通路服务器与目的域通路服务器的架构图。请同时参见图6及图7,该方法可包括:
[0055]步骤S201,源域中的客户端向全网管理模块发送远程命令执行申请,所述远程命令执行申请中携带有客户端的IP地址以及目标服务器的IP地址。
[0056]步骤S202,所述全网管理模块根据所述客户端的IP地址以及目标服务器的IP地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器,并向所述源域通路服务器下发所述源域通路服务器的路由信息。
[0057]步骤S201与步骤S202可以参考上述实施例中的相应步骤,这里不再赘述。
[0058]步骤S203,所述客户端根据所述源域通路服务器的路由信息,通过安全协议链接至源域通路服务器。
[0059]优选的,所述源域通路服务器内安装有第三方代理软件(例如SSH proxy等)。源域通路服务器包括管理线程、TCP内网收包线程以及加解密以及外网收发包线程等。
[0060]步骤S204,所述源域通路服务器的管理线程接收并保存所述源域通路服务器的路由信息、目的域通路服务器的路由信息以及目标服务器的路由信息,根据所述源域通路服务器的路由信息通知TCP内网收包线程起响应监听端口。
[0061]步骤S205,所述源域通路服务器的TCP内网收包线程响应端口收到的来自所述客户端的链接请求,并通过所述端口获取所述目的域通路服务器的路由信息以及目标服务器的路由信息。
[0062]步骤S206,所述TCP内网收包线程根据所述端口获取的路由信息,组建一个以路由信息作为包头的数据包,将所述数据包发送至加解密以及外网收发包线程的缓存队列。
[0063]所述数据包的包头例如可以为:E_TCP_FIRST_ENMSG。
[0064]步骤S207,所述源域服务器的加解密以及外网收发包线程从所述缓存队列中获取所述数据包,加密除所述包头以外的数据,根据所述包头将加密后的数据发送至所述目的域通路服务器。
[0065]步骤S208,所述目的域通路服务器的TCP外网收包线程接收到所述数据包后将所述数据包放入加解密以及内网收发包线程的缓存队列。
[0066]步骤S209,所述目的域通路服务器的加解密以及内网收发包线程从所述缓存队列中获取所述数据包,解密所述数据包,根据所述数据包的包头中的路由信息、通过安全协议与所述目标服务器建立链接。
[0067]步骤S210,所述目标服务器与所述目的域通路服务器建立链接后,所述目标服务器将返回的数据包通过安全协议发送至所述目的域通路服务器的加解密以及内网收发包线程。
[0068]步骤S211,所述加解密以及内网收发包线程对所述数据包进行加密,并加加密后的数据包放入所述目的域通路服务器的TCP外网收包线程的缓存队列中。
[0069]步骤S212,所述TCP外网收包线程从所述缓存队列中获取所述数据包并将所述数据包发送至所述源域通路服务器的加解密以及外网收发包线程。
[0070]步骤S213,所述源域通路服务器的加解密以及外网收发包线程将所述数据包解密后放入所述源域通路服务器的TCP内网收包线程的缓存队列中。
[0071]步骤S214,所述源域通路服务器的TCP内网收包线程从所述缓存队列中读取所述数据包,并将所述数据包发送给所述客户端。
[0072]图7中的fdA和fdB表示不同的客户端与目标服务器的链接。另外,目的域通路服务器也可以包括管理线程,用于与全网管理模块进行通信,接收其发送的路由信息,并建立相应路由。
[0073]本实施例提供的跨域远程命令的实现方法,通过全网管理模块向发起跨域远程命令执行申请的源域客户端下发路由信息,然后客户端根据路由信息、通过安全协议链接至源域通路服务器,由源域通路服务器向目的域通路服务器发送包含目标服务器路由信息的数据包,目的域通路服务器根据数据包中的路由信息、通过安全协议与目标服务器建立链接,并将目标服务器返回的数据包返回源域通路服务器,并由源域通路服务器转发给客户端,从而在源域与目的域之间建立起远程命令通道,屏蔽了数据中心之间的物理隔离,使一个数据中心中的机器可以远程命令另一个数据中心的机器,也就是实现了跨域远程命令。
[0074]第三实施例
[0075]图8为本发明第三实施例提供的一种跨域远程命令的实现系统的结构示意图;请参见图8,该系统可以实现上述实施例中的方法,该系统10可包括:源域客户端11、全网管理模块12、源域通路服务器13、目的域通路服务器14以及目标服务器15,其中,源域通路服务器13以及源域客户端11属于一个互联网数据中心IDC1,目的域通路服务器14属于另一个互联网数据中心IDC2,目标服务器15可能与源域客户端11属于一个互联网数据中心,也可能与目的域通路服务器14属于一个互联网数据中心,图8中以目标服务器15与目的域通路服务器14属于一个互联网数据中心为例。
[0076]所述源域客户端11用于向所述全网管理模块12发送远程命令执行申请,所述远程命令执行申请中携带有客户端11的IP地址以及目标服务器15的IP地址。
[0077]所述全网管理模块12用于根据所述客户端11的IP地址以及目标服务器15的IP地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端11返回源域通路服务器13的路由信息、并将目的域通路服务器14的路由信息以及目标服务器15的路由信息下发给所述源域通路服务器。
[0078]所述客户端11还用于根据所述源域通路服务器13的路由信息,通过安全协议链接至所述源域通路服务器13。
[0079]所述源域通路服务器13用于组建一个包含所述目标服务器15路由信息的数据包发送给所述目的域通路服务器14。
[0080]所述目的域通路服务器14用于根据所述数据包中的路由信息、通过安全协议与所述目标服务器15建立链接,并将所述目标服务器15返回的数据包返回源域通路服务器13,并由所述源域通路服务器13转发给所述客户端11。
[0081]进一步的,所述远程命令执行申请中还携带有用户通过所述客户端11输入的帐号以及密码,所述全网管理模块12还用于对所述帐号以及密码进行验证,如果验证通过,则判断所述远程命令执行申请是否为跨域远程命令执行申请,如果验证不通过,则拒绝所述远程命令执行申请。
[0082]所述全网管理模块12还用于在源域数据中心中选取所述源域通路服务器13、在目的域数据中心中选取所述目的域通路服务器14 ;在选取的所述源域通路服务器13中以及所述目的域通路服务器14中分别选取一个空闲的端口 ;并将选取的源域通路服务器13的IP地址和端口作为所述源域通路服务器13的路由信息返回所述客户端11,将所述目的域通路服务器14的IP地址和端口作为所述目的域通路服务器14的路由信息下发给所述源域通路服务器13。
[0083]所述远程命令执行申请中还携带有命令字符串,所述全网管理模块12还用于在接收到所述远程命令执行申请后,将所述命令字符串及所述帐号存储在数据库中。
[0084]如果所述全网管理模块判断所述远程命令执行申请不是跨域远程命令执行申请,则所述全网管理模块12还用于向所述客户端返回目标服务器15的路由信息,所述客户端11还用于根据所述目标服务器15的路由信息,通过安全协议链接至所述目标服务器15。
[0085]所述全网管理模块12还用于分别向所述源域通路服务器13下发所述路由信息。
[0086]所述客户端11还用于根据所述源域通路服务器13的路由信息,通过安全协议向所述源域通路服务器13发送断链接请求;以及
[0087]所述源域通路服务器13还用于组建一个包含所述目标服务器路由信息的断链接数据包发送给所述目的域通路服务器14,所述目的域通路服务器14根据所述断链接数据包中的路由信息断开与所述目标服务器15的链接,并释放链接资源。
[0088]所述目标服务器15还用于根据所述数据包中的路由信息,通过安全协议向所述目的域通路服务器14发送断链接请求;以及
[0089]所述目的域通路服务器14还用于组建一个断链接数据包发送给所述源域通路服务器13,所述源域通路服务器13根据所述断链接数据包断开与所述客户端11的链接,并释放链接资源。
[0090]所述客户端11还用于向所述全网管理模块12发送路由信息删除申请,所述全网管理模块12还用于根据所述路由信息删除申请删除所述源域通路服务器13以及所述目的域通路服务器14的路由信息。
[0091]进一步的,系统10还可以包括控制服务器16,用于转发源域客户端11与全网管理模块12之间的消息。
[0092]本实施例提供的跨域远程命令的实现装置,通过全网管理模块向发起跨域远程命令执行申请的源域客户端下发路由信息,然后客户端根据路由信息、通过安全协议链接至源域通路服务器,由源域通路服务器向目的域通路服务器发送包含目标服务器路由信息的数据包,目的域通路服务器根据数据包中的路由信息、通过安全协议与目标服务器建立链接,并将目标服务器返回的数据包返回源域通路服务器,并由源域通路服务器转发给客户端,从而在源域与目的域之间建立起远程命令通道,屏蔽了数据中心之间的物理隔离,使一个数据中心中的机器可以远程命令另一个数据中心的机器,也就是实现了跨域远程命令。
[0093]第四实施例
[0094]图9为本发明第四实施例提供的一种跨域远程命令的实现系统的结构示意图;该系统可以实现上述实施例中的方法,该系统20可包括:源域客户端21、全网管理模块22、源域通路服务器23、目的域通路服务器24以及目标服务器25。
[0095]所述源域客户端21用于向所述全网管理模块22发送远程命令执行申请,所述远程命令执行申请中携带有客户端11的IP地址以及目标服务器15的IP地址。
[0096]所述全网管理模块22用于根据所述客户端21的IP地址以及目标服务器25的IP地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端21返回源域通路服务器23的路由信息、并将目的域通路服务器24的路由信息以及目标服务器25的路由信息下发给源域通路服务器23。
[0097]所述客户端21还用于根据所述源域通路服务器23的路由信息,通过安全协议链接至所述源域通路服务器23。
[0098]所述源域通路服务器23用于组建一个包含所述目标服务器25路由信息的数据包发送给所述目的域通路服务器24。
[0099]所述目的域通路服务器24用于根据所述数据包中的路由信息与所述目标服务器25建立链接,并将所述目标服务器25返回的数据包返回源域通路服务器23,并由所述源域通路服务器23转发给所述客户端21。
[0100]进一步的,系统20还可以包括控制服务器26,用于转发源域客户端21与全网管理模块22之间的消息。
[0101]于本实施例中,所述源域通路服务器23包括管理线程231、TCP内网收包线程232以及加解密以及外网收发包线程233。所述目的域通路服务器24包括TCP外网收包线程241以及加解密以及内网收发包线程242。
[0102]所述源域通路服务器23的管理线程231用于接收并保存所述源域通路服务器的路由信息、目的域通路服务器的路由信息以及目标服务器的路由信息,根据所述源域通路服务器的路由信息通知所述TCP内网收包线程232起响应监听端口 ;
[0103]所述TCP内网收包线程232用于响应端口收到的来自所述客户端21的链接请求,并通过所述端口获取所述目的域通路服务器的路由信息以及目标服务器的路由信息;
[0104]所述TCP内网收包线程232还用于根据所述端口获取的路由信息,组建一个以路由信息作为包头的数据包,将所述数据包发送至加解密以及外网收发包线程233的缓存队列;
[0105]所述加解密以及外网收发包线程233用于从所述缓存队列中获取所述数据包,力口密除所述包头以外的数据,根据所述包头将加密后的数据发送至所述目的域通路服务器24。
[0106]所述目的域通路服务器24的TCP外网收包线程241用于接收到所述数据包后将所述数据包放入加解密以及内网收发包线程242的缓存队列;
[0107]所述目的域通路服务器24的加解密以及内网收发包线程242用于从所述缓存队列中获取所述数据包,解密所述数据包,根据所述数据包的包头中的路由信息与所述目标服务器25建立链接。
[0108]所述目标服务器25用于在与所述目的域通路服务器24建立链接后,将所述数据包发送至所述目的域通路服务器24的加解密以及内网收发包线程242 ;所述加解密以及内网收发包线程242用于对所述数据包进行加密,并将加密后的数据包放入所述目的域通路服务器24的TCP外网收包线程241的缓存队列中;所述TCP外网收包线程241用于从所述缓存队列中获取所述数据包并将所述数据包发送至所述源域通路服务器23的加解密以及外网收发包线程233;
[0109]所述源域通路服务器23的加解密以及外网收发包线程233还用于将所述数据包解密后放入所述源域通路服务器23的TCP内网收包线程232的缓存队列中;
[0110]所述源域通路服务器23的TCP内网收包线程232还用于从所述缓存队列中读取所述数据包,并将所述数据包发送给所述客户端21。
[0111]目的域通路服务器24也可以包括管理线程,用于与全网管理模块进行通信,接收其发送的路由信息,并建立相应路由。
[0112]本实施例提供的跨域远程命令的实现系统,通过全网管理模块向发起跨域远程命令执行申请的源域客户端下发路由信息,然后客户端根据路由信息、通过安全协议链接至源域通路服务器,由源域通路服务器向目的域通路服务器发送包含目标服务器路由信息的数据包,目的域通路服务器根据数据包中的路由信息、通过安全协议与目标服务器建立链接,并将目标服务器返回的数据包返回源域通路服务器,并由源域通路服务器转发给客户端,从而在源域与目的域之间建立起远程命令通道,屏蔽了数据中心之间的物理隔离,使一个数据中心中的机器可以远程命令另一个数据中心的机器,也就是实现了跨域远程命令。
[0113]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0114]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0115]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0116]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种跨域远程命令的实现方法,其特征在于,包括: 源域中的客户端向全网管理模块发送远程命令执行申请,所述远程命令执行申请中携带有客户端的I?地址以及目标服务器的I?地址; 所述全网管理模块根据所述客户端的I?地址以及目标服务器的I?地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器; 所述客户端根据所述源域通路服务器的路由信息,通过安全协议链接至源域通路服务器;以及源域通路服务器组建一个包含所述目标服务器路由信息的数据包发送给所述目的域通路服务器,所述目的域通路服务器根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接,并将所述目标服务器返回的数据包返回源域通路服务器,并由所述源域通路服务器转发给所述客户端。
2.如权利要求1所述的方法,其特征在于,所述远程命令执行申请中还携带有用户通过所述客户端输入的帐号以及密码,所述全网管理模块根据所述客户端的I?地址以及目标服务器的I?地址判断所述远程命令执行申请是否为跨域远程命令执行申请之前,还包括: 所述全网管理模块对所述帐号以及密码进行验证,如果验证通过,则执行所述判断所述远程命令执行申请是否为跨域远程命令执行申请的步骤,如果验证不通过,则拒绝所述远程命令执行申请。
3.如权利要求1所述的方法,其特征在于,所述向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器的步骤,包括: 所述全网管理模块在源域数据中心中选取源域通路服务器、在目的域数据中心中选取目的域通路服务器; 在选取的所述源域通路服务器中以及所述目的域通路服务器中分别选取一个空闲的端口 ; 将选取的源域通路服务器的I?地址和端口作为所述源域通路服务器的路由信息返回所述客户端,将所述目的域通路服务器的I?地址和端口作为所述目的域通路服务器的路由信息下发给所述源域通路服务器。
4.如权利要求2所述的方法,其特征在于,所述远程命令执行申请中还携带有命令字符串,所述全网管理模块接收到所述远程命令执行申请后,将所述命令字符串及所述帐号存储在数据库中。
5.如权利要求1所述的方法,其特征在于,如果所述全网管理模块判断所述远程命令执行申请不是跨域远程命令执行申请,则向所述客户端返回目标服务器的路由信息,所述客户端根据所述目标服务器的路由信息,通过安全协议链接至所述目标服务器。
6.如权利要求3所述的方法,其特征在于,所述向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器的步骤,还包括: 向所述源域通路服务器下发所述源域通路服务器的路由信息。
7.如权利要求6所述的方法,其特征在于,所述源域通路服务器组建一个包含所述目标服务器路由信息的数据包发送给所述目的域通路服务器的步骤,包括: 所述源域通路服务器的管理线程接收并保存所述源域通路服务器的路由信息、目的域通路服务器的路由信息以及目标服务器的路由信息,根据所述源域通路服务器的路由信息通知TCP内网收包线程起响应监听端口 ; 所述TCP内网收包线程响应端口收到的来自所述客户端的链接请求,并通过所述端口获取所述目的域通路服务器的路由信息以及目标服务器的路由信息; 所述TCP内网收包线程根据所述端口获取的路由信息,组建一个以路由信息作为包头的数据包,将所述数据包发送至加解密以及外网收发包线程的缓存队列; 所述加解密以及外网收发包线程从所述缓存队列中获取所述数据包,加密除所述包头以外的数据,根据所述包头将加密后的数据发送至所述目的域通路服务器。
8.如权利要求6所述的方法,其特征在于,所述目的域通路服务器根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接的步骤,包括: 所述目的域通路服务器的TCP外网收包线程接收到所述数据包后将所述数据包放入加解密以及内网收发包线程的缓存队列; 所述目的域通路服务器的加解密以及内网收发包线程从所述缓存队列中获取所述数据包,解密所述数据包,根据所述数据包的包头中的路由信息、通过安全协议与所述目标服务器建立链接。
9.如权利要求6所述的方法,其特征在于,将所述目标服务器返回的数据包返回源域通路服务器,并由所述源域通路服务器转发给所述客户端的步骤,包括: 所述目标服务器与所述目的域通路服务器建立链接后,所述目标服务器将返回的数据包通过安全协议发送至所述目的域通路服务器的加解密以及内网收发包线程; 所述加解密以及内网收发包线程对所述数据包进行加密,并加加密后的数据包放入所述目的域通路服务器的TCP外网收包线程的缓存队列中; 所述TCP外网收包线程从所述缓存队列中获取所述数据包并将所述数据包发送至所述源域通路服务器的加解密以及外网收发包线程; 所述源域通路服务器的加解密以及外网收发包线程将所述数据包解密后放入所述源域通路服务器的TCP内网收包线程的缓存队列中; 所述源域通路服务器的TCP内网收包线程从所述缓存队列中读取所述数据包,并将所述数据包发送给所述客户端。
10.如权利要求1所述的方法,其特征在于,所述目的域通路服务器根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接的步骤之后,还包括: 所述客户端根据所述源域通路服务器的路由信息,通过安全协议向所述源域通路服务器发送断链接请求;以及 所述源域通路服务器组建一个包含所述目标服务器路由信息的断链接数据包发送给所述目的域通路服务器,所述目的域通路服务器根据所述断链接数据包中的路由信息断开与所述目标服务器的链接,并释放链接资源。
11.如权利要求1所述的方法,其特征在于,所述目的域通路服务器根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接的步骤之后,还包括: 所述目标服务器根据所述数据包中的路由信息,通过安全协议向所述目的域通路服务器发送断链接请求;以及 所述目的域通路服务器组建一个断链接数据包发送给所述源域通路服务器,所述源域通路服务器根据所述断链接数据包断开与所述客户端的链接,并释放链接资源。
12.如权利要求1所述的方法,其特征在于,所述方法还包括: 所述客户端向所述全网管理模块发送路由信息删除申请,所述全网管理模块根据所述路由信息删除申请删除所述源域通路服务器以及所述目的域通路服务器的路由信息。
13.—种跨域远程命令的实现系统,其特征在于,包括:源域客户端、全网管理模块、源域通路服务器、目的域通路服务器以及目标服务器, 所述源域客户端用于向所述全网管理模块发送远程命令执行申请,所述远程命令执行申请中携带有客户端的I?地址以及目标服务器的I?地址; 所述全网管理模块用于根据所述客户端的I?地址以及目标服务器的I?地址判断所述远程命令执行申请是否为跨域远程命令执行申请,如果是,则向所述客户端返回源域通路服务器的路由信息、并将目的域通路服务器的路由信息以及目标服务器的路由信息下发给所述源域通路服务器; 所述客户端还用于根据所述源域通路服务器的路由信息,通过安全协议链接至所述源域通路服务器; 所述源域通路服务器用于组建一个包含所述目标服务器路由信息的数据包发送给所述目的域通路服务器;以及 所述目的域通路服务器用于根据所述数据包中的路由信息、通过安全协议与所述目标服务器建立链接,并将所述目标服务器返回的数据包返回源域通路服务器,并由所述源域通路服务器转发给所述客户端。
14.如权利要求13所述的系统,其特征在于,所述远程命令执行申请中还携带有用户通过所述客户端输入的帐号以及密码,所述全网管理模块还用于对所述帐号以及密码进行验证,如果验证通过,则判断所述远程命令执行申请是否为跨域远程命令执行申请,如果验证不通过,则拒绝所述远程命令执行申请。
15.如权利要求13所述的系统,其特征在于, 所述全网管理模块还用于在源域数据中心中选取所述源域通路服务器、在目的域数据中心中选取所述目的域通路服务器;在选取的所述源域通路服务器中以及所述目的域通路服务器中分别选取一个空闲的端口 ;并将选取的源域通路服务器的I?地址和端口作为所述源域通路服务器的路由信息返回所述客户端,将所述目的域通路服务器的I?地址和端口作为所述目的域通路服务器的路由信息下发给所述源域通路服务器。
16.如权利要求14所述的系统,其特征在于,所述远程命令执行申请中还携带有命令字符串,所述全网管理模块还用于在接收到所述远程命令执行申请后,将所述命令字符串及所述帐号存储在数据库中。
17.如权利要求13所述的系统,其特征在于,如果所述全网管理模块判断所述远程命令执行申请不是跨域远程命令执行申请,则所述全网管理模块还用于向所述客户端返回目标服务器的路由信息,所述客户端还用于根据所述目标服务器的路由信息,通过安全协议链接至所述目标服务器。
18.如权利要求13所述的系统,其特征在于,所述全网管理模块还用于向所述源域通路服务器下发所述源域通路服务器的路由信息。
19.如权利要求18所述的系统,其特征在于,所述源域通路服务器包括管理线程、TCP内网收包线程以及加解密以及外网收发包线程, 所述源域通路服务器的管理线程用于接收并保存所述源域通路服务器的路由信息、目的域通路服务器的路由信息以及目标服务器的路由信息,根据所述源域通路服务器的路由信息通知所述TCP内网收包线程起响应监听端口 ; 所述TCP内网收包线程用于响应端口收到的来自所述客户端的链接请求,并通过所述端口获取所述目的域通路服务器的路由信息以及目标服务器的路由信息; 所述TCP内网收包线程还用于根据所述端口获取的路由信息,组建一个以路由信息作为包头的数据包,将所述数据包发送至加解密以及外网收发包线程的缓存队列; 所述加解密以及外网收发包线程用于从所述缓存队列中获取所述数据包,加密除所述包头以外的数据,根据所述包头将加密后的数据发送至所述目的域通路服务器。
20.如权利要求19所述的系统,其特征在于,所述目的域通路服务器包括TCP外网收包线程以及加解密以及内网收发包线程, 所述目的域通路服务器的TCP外网收包线程用于接收到所述数据包后将所述数据包放入加解密以及内网收发包线程的缓存队列; 所述目的域通路服务器的加解密以及内网收发包线程用于从所述缓存队列中获取所述数据包,解密所述数据包,根据所述数据包的包头中的路由信息、通过安全协议与所述目标服务器建立链接。
21.如权利要求20所述的系统,其特征在于, 所述目标服务器用于在与所述目的域通路服务器建立链接后,将所述数据包发送至所述目的域通路服务器的加解密以及内网收发包线程;所述加解密以及内网收发包线程用于对所述数据包进行加密,并将加密后的数据包放入所述目的域通路服务器的TCP外网收包线程的缓存队列中;所述TCP外网收包线程用于从所述缓存队列中获取所述数据包并将所述数据包发送至所述源域通路服务器的加解密以及外网收发包线程; 所述源域通路服务器的加解密以及外网收发包线程还用于将所述数据包解密后放入所述源域通路服务器的TCP内网收包线程的缓存队列中; 所述源域通路服务器的TCP内网收包线程还用于从所述缓存队列中读取所述数据包,并将所述数据包发送给所述客户端。
22.如权利要求13所述的系统,其特征在于, 所述客户端还用于根据所述源域通路服务器的路由信息,通过安全协议向所述源域通路服务器发送断链接请求;以及 所述源域通路服务器还用于组建一个包含所述目标服务器路由信息的断链接数据包发送给所述目的域通路服务器,所述目的域通路服务器根据所述断链接数据包中的路由信息断开与所述目标服务器的链接,并释放链接资源。
23.如权利要求13所述的系统,其特征在于, 所述目标服务器还用于根据所述数据包中的路由信息,通过安全协议向所述目的域通路服务器发送断链接请求;以及 所述目的域通路服务器还用于组建一个断链接数据包发送给所述源域通路服务器,所述源域通路服务器根据所述断链接数据包断开与所述客户端的链接,并释放链接资源。
24.如权利要求13所述的系统,其特征在于, 所述客户端还用于向所述全网管理模块发送路由信息删除申请,所述全网管理模块还用于根据所述路由信息删除申请删除所述源域通路服务器以及所述目的域通路服务器的路由信息。
【文档编号】H04L29/06GK104426864SQ201310381703
【公开日】2015年3月18日 申请日期:2013年8月28日 优先权日:2013年8月28日
【发明者】周红昌, 陈杰, 蔡璞, 董晓杰, 尹晟宇 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1