一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

内部和外部调试的制作方法

2021-10-29 21:30:00 来源:中国专利 TAG:计算机 组件 程序代码 可读 适于


1.本发明涉及跨外部(off

premise)和内部(on

premise)平台的调试。本发明还涉及适于实现这种方法的连接组件(例如交换组件)。
2.本发明还涉及一种包括计算机可读程序代码的计算机程序产品,该计算机可读程序代码使处理系统的处理器能够实现这样的方法。


背景技术:

3.在软件即服务(saas)环境和混合集成系统中需要内部平台和外部平台之间的通信。saas是一种软件许可和交付模式,其中软件以订阅方式获得许可,并由外部平台(例如共享计算资源或可通过互联网访问的云计算资源)集中托管。saas通常由内部平台的用户访问(例如,通过web浏览器使用瘦客户端)。混合集成系统将部分集成部署在外部平台中,将其他部分部署在内部平台中。
4.内部平台被很好地建立并且被认为提供了良好的安全级别,因为数据是在内部存储和处理的,例如在内部专有网络内。外部平台(例如云计算资源)是一个相对较新且不断发展的概念。通常,对外部资源或平台的引用是指通过互联网实现无处不在、方便和按需访问可配置外部(例如位于远程的)计算资源的共享池的概念,例如可通过互联网访问的网络、应用、服务器、存储、应用程序、功能等。相反,对内部资源或平台的引用是指本地或专有计算资源的概念,例如网络、服务器、存储设备、应用等,它们位于本地或虚拟边界之内/之后(通常位于防火墙内)。
5.跨内部和外部平台托管的此类系统的调试和故障分析可能困难且复杂,例如,因为一个集成流程可能有多个部分,既存在于外部(例如在云计算资源中)又存在于内部。跨内部和外部平台调试单独的部分可能需要用户在多个系统之间设置访问权限。其中一些系统可能在公共互联网上可用,因此可能需要保护,而其他系统可能在专用网络上可用,因此可能并非所有人都可以访问。本公开将描述允许在混合环境中以用户所需的最少设置进行端到端调试的机制。


技术实现要素:

6.本发明寻求提供一种连接组件,用于管理外部和内部服务器之间的调试,从而使系统的多个异地组件能够通过例如一个本地组件进行调试。
7.本发明还寻求提供一种管理跨外部和内部服务器的调试的计算机实现的方法。本发明进一步寻求提供一种计算机程序产品,包括用于在处理器上执行时实现所提出的概念的计算机程序代码。本发明还进一步寻求提供一种适于执行该计算机程序代码的系统。
8.根据本发明的实施例,提供了一种连接组件,适于管理跨外部和内部服务器的调试。连接组件包括适于从内部服务器接收调试请求的第一通信组件。连接组件还包括路由组件,适于基于接收到的调试端口请求识别外部服务器的调试端口。连接组件的第二通信组件适于将调试请求传送到外部服务器的所识别的调试端口。
9.提出了在外部和内部站点/资源之间传送调试请求的概念。这可以允许外部(例如云)服务器的调试端口通过连接组件暴露,从而使调试端口能够通过现场(例如本地)服务器连接。然后可以使用本地集成服务器调试基于云的服务,就像调试任何其他本地应用一样。
10.例如,提出的实施例可以提供一种概念,该概念有助于经由内部(例如本地)集成服务器暴露混合云集成系统中的所有集成服务器的(包括运行在云中的远程服务器的那些)调试端口。内部集成服务器因此可以获得对一组调试端口的访问,内部图形调试器应用然后可以连接到并用于调试混合系统中的所有集成服务器。
11.提出的用于暴露远程(即外部)调试端口的方法是采用连接组件的端口转发能力。例如,这样的连接组件可以基于服务器的启动和停止来动态地配置自身。
12.实施例可以向用户提供他/她是他/她的本地(即内部)集成服务器的印象,尽管他/她实际上将调试所有启用的服务器(包括外部服务器)。这可以允许调试由多个集成服务器中的流组成并且未并置的集成。
13.因此,提出的实施例可以使用户能够连接到混合集成系统的本地集成服务器,还使用户能够调试整个混合集成系统(包括混合集成系统的外部集成服务器)。
14.可以通过提供具有端口转发能力的连接组件来促进这样的实施例。以这种方式使用连接组件可能需要最少的用户设置并且也可能是安全的。此外,这样的连接组件可以结合促进反向代理和动态注册概念的预先存在的交换技术来实现。
15.因此提出了一种连接组件,例如交换组件,其可以通过接收来自内部服务器的调试请求并且然后基于识别的调试端口数据将请求传送到外部服务器来管理外部和内部系统之间的调试通信。这种调试端口数据可以由连接组件使用数据存储来识别,该数据存储适于存储与外部服务器相关联的调试端口数据。
16.提出的实施例可以避免调试端口暴露于公共网络并且因此可以防止或阻碍敏感、机密或有价值的信息经由公共网络受到损害。例如,可以保护从外部服务器到连接组件和内部服务器的连接(例如使用https),以防止其他应用能够访问端系统。
17.提出的概念可以允许对被配置为在外部(例如云)环境或内部环境中运行的应用/系统进行本地(即内部)调试。例如,应用/系统可以分开,以便需要访问内部系统记录的应用/系统在内部服务器中运行,以及那些将受益于卸载其在外部基础设施中运行的计算密集型处理的人。因此提出了一种连接组件,例如交换组件,其可以通过接收来自内部服务器的调试请求,然后基于识别的调试端口将请求传送到外部服务器来管理外部系统和内部系统之间的调试通信。这样的调试端口可以由连接组件使用数据存储来识别,该数据存储适于存储与外部应用相关联的调试端口数据。
18.提出的概念可以促进外部系统(例如saas环境)和内部系统之间的调试端口的映射。此外,提出的实施例可以避免在外部平台(例如,通过公共网络)暴露调试端口和专有或敏感调试信息。
19.在一些环境中,连接组件的第一通信组件可以适于建立用于接收调试请求的安全隧道。类似地,第二通信组件可以适于建立用于传送调试请求的安全隧道。例如,相互认证的tls隧道连接可以在两个环境之间传输数据。因此可以提供外部和内部平台之间的安全调试通信。
20.例如,调试请求可以包括以下至少之一:应用名称;服务器标识;服务器地址;应用版本标识符;权限信息;入口点数据和校验和信息。然后可以使用此类信息将调试请求与外部服务器匹配。
21.在一个实施例中,连接组件还可以包括注册模块,该注册模块适于从以下至少一个接收调试端口数据:外部服务器的应用;内部服务器的应用;外部服务器模块;和内部服务器模块。注册模块然后可以适于将接收到的调试端口数据存储在数据存储中。因此,实施例可以采用向连接组件注册关于访问或使用外部调试端口的信息的概念,以便连接组件可以识别如何处理(例如,在何处通信)调试请求。通过使用这样的注册概念,可以动态更新或维护调试端口数据的数据存储以反映可用应用或服务器的变化。
22.例如,注册模块可以适于响应于以下至少一项从数据存储中移除调试端口数据:应用;服务器;和调试端口变得不可访问(例如被断开、终止或断电)。因此,提出的概念可以被认为是提供动态更新的调试端口信息存储,这些信息表示可以访问的外部调试端口以及访问方式(例如端口标识、服务器位置/地址、支持的应用等)。因此,实施例可以提供能够适应实施细节并且迎合外部服务器的变化的连接组件,从而提供高度的灵活性和适应性。
23.在一个实施例中,外部服务器可以包括云服务器,调试请求可以由内部服务器的调试服务提供。因此,可以在混合系统或saas环境中采用实施例以例如通过互联网提供基于云的服务。
24.在实施例中,第二通信组件可以适于从外部服务器接收对调试请求的响应。此外,第一通信组件可以适于将接收到的响应传送到内部服务器。以此方式,对调试请求的响应可被传送回调试请求的内部发起者。
25.为进一步的描述和示例,调试请求可以通过端口转发连接(经由连接组件)发送到外部服务器,然后该连接可以保持打开,同时外部服务器的应用正被调试。这样,端口转发连接就可以在不关闭连接(直到调试完成)的情况下双向发送数据。例如,实施例实施的示例性处理步骤包括:(i)使用端口转发和动态注册的调试端口数据(例如,外部服务器详细信息)通过连接组件建立到外部服务器的连接;(ii)将调试请求传送到外部服务器的已识别调试端口,以通过连接设置断点;和(iii)然后,当断点被命中时,外部服务器通过相同的、长期存在的连接将数据发送回调试器。
26.因此,提出的连接组件可以提供对外部和内部平台之间的调试通信的管理,以便适当地传递请求和响应,同时避免通过一个或多个公共网络暴露。
27.可以在交换模块中采用实施例。例如,根据提出的实施例,可以提供包括连接组件的交换模块。此外,实施例可以在服务器设备中实现。这种服务器设备可以是可通过互联网访问的基于云的服务器资源。
28.根据另一方面,提供了一种管理跨外部和内部服务器的调试的计算机实现的方法。该方法包括经由连接组件的第一通信组件从内部服务器接收调试请求。该方法还包括在连接组件处基于接收到的调试端口请求识别外部服务器的调试端口。该方法还包括经由连接组件的第二通信组件将调试请求传送到外部服务器的所识别的调试端口。
29.根据本发明的另一个实施例,提供了一种用于管理跨外部和内部服务器的调试的计算机程序产品,计算机程序产品包括具有程序指令的计算机可读存储介质,当在数据处理系统的至少一个处理器上执行时,处理单元可执行的程序指令使处理单元执行根据一个
或多个提出的实施例的方法。
30.根据又一方面,提供了一种处理系统,包括至少一个处理器和根据一个或多个实施例的计算机程序产品,其中至少一个处理器适于执行计算机程序产品的计算机程序代码。
31.处理系统可以适于充当内部服务器和外部服务器之间的交换或连接组件。处理系统可以适于实现外部平台的一部分,例如基于云的系统或服务器。因此,可以提出一种评估调试请求并基于与应用相关联的存储数据确定将请求传送到何处的系统。采用这种方法可以实现内部和外部平台之间动态和安全的调试访问,从而使外部服务器的调试端口可以通过内部服务器访问。
附图说明
32.现在将参考以下附图仅通过示例的方式描述本发明的优选实施例,其中:
33.图1是传统混合云系统的示例性实现的简化框图;
34.图2是根据实施例的包括连接组件的混合云系统的简化框图;
35.图3描绘了图2的实施例的示例,其中内部图形调试器正在调试内部服务器和外部服务器的集成;
36.图4描绘了根据实施例的用于管理跨外部和内部服务器的调试的方法的流程图;
37.图5图示了一个云系统节点;
38.图6图示了根据实施例的云计算环境;和
39.图7图示了根据实施例的云抽象模式层。
具体实施方式
40.应该理解的是,这些图仅仅是示意性的并且不是按比例绘制的。还应理解,贯穿附图使用相同的附图标记来指示相同或相似的部件。
41.在本技术的上下文中,在本发明的实施例构成方法的情况下应当理解,这样的方法是由计算机执行的过程,即,是计算机可实现的方法。因此,该方法的各个步骤反映了计算机程序的各个部分,例如一种或多种算法的各个部分。
42.此外,在本技术的上下文中,(处理)系统可以是适于执行本发明方法的一个或多个实施例的单个设备或分布式设备的集合。例如,系统可以是个人计算机(pc)、服务器或通过诸如局域网、互联网等网络连接的pc和/或服务器的集合,以协同执行本发明方法的至少一个实施例。
[0043]“应用”可以被理解为可以以结构化或有序的方式提供的处理资源、例程、指令集、数据系统或处理构造。因此,当用于外部和内部资源之间的集成时(例如可以在基于云的软件供应中向内部资源的用户提供软件,或作为saas环境的一部分),应用的一个或多个指令、例程或进程可能会被外部系统访问,因此需要外部和内部资源之间的通信。
[0044]
提出了用于在外部和内部平台之间建立和/或管理调试通信的概念,其中数据处理应用可以被拆分或分离为可以在外部环境或内部环境中实施的应用,并且其中应用可以通过连接组件(例如交换模块)相互调用并交换数据。因此可以实现连接组件以接收调试请求并将这样的请求转发到适当的目的地(例如调试端口),其中,基于调试请求和/或包括关
于外部服务器调试端口的信息的数据存储来确定适当的调试端口。连接组件因此可以使得能够与外部服务器建立端口转发连接,并且该连接然后可以在外部服务器的应用被调试的同时保持打开。
[0045]
因此,实施例可以提出经由连接组件从外部服务器到内部服务器的端口转发的概念。通过这种方式,用户系统中所有集成服务器(包括在云中运行的远程服务器)的所有调试端口都可以通过内部(即本地)集成服务器公开(即可访问)。
[0046]
因此,说明性实施例可以提供用于在外部资源和内部资源之间建立端口转发连接以及用于经由连接在外部资源和内部资源之间安全地传送调试信息的概念。因此,所提出的实施例可以提供经由内部资源的外部资源的安全和动态分布式调试。还可以提出对传统saas实施的修改和附加步骤,这可以提高所提议概念的价值和效用。
[0047]
说明性实施例可用于许多不同类型的分布式处理环境。为了为说明性实施例的元件和功能的描述提供上下文,以下提供附图作为其中可以实现说明性实施例的各方面的示例环境。应当理解,附图仅是示例性的,并不旨在断言或暗示对可以实现本发明的方面或实施例的环境的任何限制。在不脱离本发明的精神和范围的情况下,可以对所描绘的环境进行许多修改。此外,系统可以采用多种不同处理设备中的任一种的形式,包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理(pda)等。在一些说明性示例中,外部设备和内部设备可以包括便携式计算设备,该便携式计算设备配置有闪存以提供用于存储例如操作系统文件和/或用户生成的数据的非易失性存储器。因此,该系统基本上可以是任何已知的或后来开发的处理系统,而没有架构限制。
[0048]
所提出的概念可以通过提供经由本地(即内部)服务器为所有服务器(包括在云中运行的远程服务器)公开调试端口的组件或方法来增强混合云系统。
[0049]
实施例可以使内部服务器能够暴露图形调试器可以连接到的一组调试端口,然后调试混合云系统中的所有服务器。
[0050]
这样的提议可以扩展或改进混合云系统的调试能力、安全性和/或效率。
[0051]
为了帮助理解所提出的概念,现在将参考图1描述调试混合云系统的常规方法。这里,混合云系统包括云72中的外部资源70,可通过互联网通信链路74访问内部资源73。
[0052]
外部资源70包括外部服务器75。外部服务器75是基于云的服务器75并且包括集成引擎77(运行一个或多个集成部件77a)、服务器模块/代理78和网络端口79(由外部服务器75暴露)。这里,注意到网络端79将暴露于公共互联网,因此可能需要保护通过这些端口79的任何通信(例如,使用https)。
[0053]
外部资源70还包括适于管理外部服务器75和内部资源73之间的通信的交换组件(即连接组件)80。交换/连接组件80允许代理从服务器连接并从其他集成发送和接收请求。
[0054]
内部资源73可以包括本地系统或私有云。
[0055]
内部资源包括内部服务器90。内部服务器是用户直接运行和维护的本地服务器90。在此,需要说明的是,本地服务器90也可以运行在自己的私有云中。内部服务器90包括集成引擎92(运行一个或多个集成部分92a)、安全服务器模块/代理94和网络端口95(由内部服务器90暴露)。集成引擎92被配置为运行部分集成。它可以调用本地服务器90内的其他集成,或者可以调用在远程服务器中运行的集成,例如外部服务器75(使用安全服务器模块/代理94)。
[0056]
本地服务器90暴露的网络端口95包括:用于调用集成的http/tcpip服务器端口;用于管理的http服务器端口;以及用于在集成引擎中调试集成的jvm调试端口。这些端口可以使用tls和相互身份验证证书进行保护。
[0057]
内部资源73还包括图形调试器97。图形调试器97连接到在启用调试时从服务器暴露的jvm调试端口。因此,为了调试外部服务器75中的集成,必须暴露基于云的服务器75的jvm端口79,以便调试器97可以对其进行访问。这需要位置详细信息和安全信息(例如证书)。
[0058]
在该传统混合云系统中,通过暴露所有服务器上的jvm调试端口将调试暴露给所有服务器,使其可以被图形调试器97直接访问。因此,图形调试器97访问外部服务器75和内部服务器90的jvm调试端口,如标记为“a”的箭头所示。由于需要使用相互认证来保护外部端口79并因此需要复杂的设置以保持调试通信的安全,因而很困难。一旦系统扩展到包括外部70(例如在云72中)和内部73的众多服务器,也很快变得无法管理。
[0059]
提出的概念通过采用不同的方法来调试和利用安全连接来解决这些问题,安全连接可用于允许集成独立于它们所在的位置相互调用。为了帮助理解这些提出的概念,现在将参考图2描述用于管理跨外部和内部调试的示例性实施例。
[0060]
图2示出了图1的系统的修改版本,其中有一些根本性的变化。特别地,不再需要外部服务器75中的网络端口组件来将外部服务器75暴露给图形调试器75。相反,建议在交换/连接组件80中实现端口转发能力,以便通过内部服务器90暴露调试端口。以这种方式,图形调试器97可以建立和维护到内部服务器90的转发连接,从而有效地同时调试系统中的所有服务器。例如,集成可以在服务器之间或从内部移动到外部(例如云72)而无需对调试器进行任何更改,反之亦然。图形调试器97仍将连接到本地的内部服务器90,但将能够在调试模式下调试所有其他服务器。这可能包括跟踪从一个集成到下一个集成的消息流,即使它们位于不同的位置。
[0061]
现在参考图2,更详细地示出了连接组件80。
[0062]
连接组件80包括:数据存储140;路由组件150;第一通信组件160;以及第二通信组件170。数据存储140包括调试端口数据存储,适于存储与由外部资源70提供的调试端口相关联的调试端口数据。例如,调试端口数据可以包括与端口标识符、端口协议、服务器标识、服务器地址、应用版本标识符、许可信息、认证信息以及校验和信息有关的信息。当服务器或应用由外部资源70使它们可用时,调试端口数据可以由服务器或应用提供给数据存储140。为此,交换组件80包括注册模块175,适于从以下至少一个接收调试端口数据:外部服务器的应用;内部服务器的应用;外部服务器模块;和内部服务器模块。注册模块175可以适于将接收到的调试端口数据存储在数据存储140中,从而实现向连接组件80注册信息的概念,以便可以识别如何处理(例如,在哪里通信)调试请求。此外,注册模块175可以适于响应于应用、服务器、调试端口和/或应用变得不可访问(例如,被断开、终止或断电)而从数据存储140移除信息。因此,注册服务器或应用可以注册信息以识别其提供的应用。然后可以使用此注册信息将应用的调试请求与运行所需应用(例如集成)的服务器的调试端口进行匹配。
[0063]
换句话说,数据存储140可适于动态更新或维护以反映可用应用或资源的变化。
[0064]
因此,数据存储140可以被认为是提供动态更新的调试端口信息的存储,该信息表
示可以访问的调试端口。以此方式,连接组件80可适应实施细节并迎合可用资源(例如应用、服务和/或调试端口)的变化,例如用于向/从数据存储140注册/注销调试端口数据。
[0065]
第一通信组件160适于从内部服务器90(经由代理94)接收调试请求。为此,第一通信组件160适于建立用于接收调试请求的安全隧道。
[0066]
调试请求是访问或调用由外部资源70提供的调试端口的请求。举例来说,本实施例的调试请求包括标识部分和有效载荷部分。标识部分包括与应用(例如应用名称)或服务器(例如服务器标识符或地址)的标识有关的信息。有效载荷部分包括数据有效载荷(例如文件位置信息(例如目录或路径)、调试操作或指令(例如读取、写入、删除、附加、清除、编辑等)和供在/由例如应用或服务器适用的数据)。
[0067]
在接收到调试请求时,第一通信组件160将接收到的请求传递给路由组件150。路由组件150适于结合存储在数据存储140中的数据来处理接收到的请求,以便识别外部服务器的请求调试端口。例如,路由组件150适于分析接收到的调试请求的标识部分以标识所请求的应用或服务器(例如,基于包括在标识部分中的标识符)。此外,基于识别的请求的应用/服务器,路由组件150然后适于查询数据存储140以识别与识别的请求的应用/服务器相关联的调试端口数据。
[0068]
路由组件150将接收的调试请求连同与识别的所请求的应用/服务器相关联的已识别调试端口数据一起传递到第二通信组件170。第二通信组件170适于基于与识别的所请求的应用/服务器相关联的已识别调试端口数据将接收的调试请求传送到外部资源70。为此目的,第二通信组件170适于建立用于传送调试请求的安全隧道。例如,第二通信组件170可以在连接组件80和外部代理78之间建立相互认证的tls隧道连接。
[0069]
以此方式,调试请求通过端口转发连接传送到外部服务器75。然后,在调试外部服务器75的应用的同时,该连接被保持并用于在外部服务器75和图形调试器97之间传送信息。
[0070]
因此,根据以上描述,连接组件80可以被认为具有用于分别与外部和内部服务器模块建立隧道的第一和第二安全组件。连接组件80还可被认为包括注册组件,该注册组件适于(在连接组件80的数据存储中)注册和存储与应用或服务器相关的调试端口数据(例如,端口标识符、服务器id、服务器地址、应用版本标识符、支持的应用、允许的应用、权限信息、非敏感或公开的身份验证信息和校验和信息)联。因此,当应用或服务器连接时和/或当配置改变时,它们可以向连接组件80注册信息。当应用、服务器或调试端口变得不可访问(例如断开连接、断电或以其他方式不可用)时,此类信息也可能被取消注册(例如从数据存储中移除或删除)。接收到的调试外部资源的调用(例如请求)因此可以由连接组件80分析并且用于查询动态维护的数据存储以识别指示在哪里传送调试事件的调试端口数据。
[0071]
作为示例,并参考图3,现在将描述说明图1的内部服务器90的内部图形调试器97的集成92a和外部服务器75的集成77a的示例。
[0072]
如标记为“b”的箭头所示,第一服务器75的图形调试器97与内部服务器90的集成引擎通信。图形调试器还经由内部服务器90的代理94和经由连接组件80与外部服务器75的集成引擎通信。该通信使用:内部服务器90的代理94和连接组件80的第一通信组件160之间的第一安全隧道;以及连接组件80的第二通信组件170和外部服务器75的代理78之间的第二安全隧道来建立。
[0073]
这里,连接组件80基于从图形调试器97接收到的调试端口请求来确定调试端口。基于所确定的调试,第二通信组件170将调试请求传送到外部服务器75的所识别的调试端口。
[0074]
此外,实施例还可以适于实现对来自外部服务器75的调试请求的响应的通信。作为说明,在图3所示的示例中,第二通信组件170可以适于从外部外服务器接收对所传送的调试请求的响应。路由组件150然后可以确定响应的预期目的地(例如,基于响应的分析和/或与先前传送的调试请求相关的存储数据),然后将响应传递到第一通信组件160以用于通信到调试请求的发起者(通过内部服务器)。以此方式,对调试请求/调用的响应可被传送回发起调试请求/调用的图形调试器97。因此,所提出的实施例可以提供对外部和内部平台之间的调试通信的管理,以便通过连接组件安全地传递调试请求和响应(例如避免通过公共网络暴露)。换言之,连接组件80使得能够在外部服务器75和内部服务器90之间建立端口转发连接。然后,在调试外部服务器75的应用时,该连接可以保持打开状态。
[0075]
现在参考图3,描绘了根据实施例的用于管理跨内部和外部服务器的调试的方法300的流程图。图3的方法300被描述为利用根据所提出的实施例的连接组件(例如,交换模块)来实现。
[0076]
方法300开始于步骤310,在该步骤中连接组件从内部服务器接收调试请求。这里,应用请求是通过(之前)建立的安全隧道接收的。此外,该示例的应用请求可以包括调试应用的请求,该应用包括报头或标识部分和有效载荷部分。头部/标识部分可以包括与所请求的应用的标识有关的信息(例如应用名称),并且有效载荷部分可以包括数据有效载荷(例如用于调试应用的数据)。因此,调试请求因此可以包括与应用、要由应用完成的事件(例如读取、写入、删除、附加、清除、编辑等)、请求事件的帐户或用户、要由应用处理的数据、和/或应用中将向其发出请求的入口点有关的信息。在应用请求中包含入口点数据(例如,路径标识信息)可以实现调试请求所针对的应用中入口点的规范。例如,名为“application1”的应用程序可能有两个入口点,分别称为“entry1”和“entry2”。应用请求然后可以包括应用名称和应用内的入口点,例如“application1/path1”。如果没有使用入口点信息,则可以使用默认入口点(例如应用代码的开始)。
[0077]
接下来,在步骤320,结合存储在连接组件的数据存储中的数据来处理接收到的调试请求,以确定所请求的应用。例如,连接组件分析接收到的应用请求的标识部分以标识所请求的应用(例如,基于标识部分中包括的应用名称)。方法然后进行到步骤330,其中,基于所识别的请求应用,连接组件查询数据存储以识别与识别的所请求应用相关联的调试端口数据。换言之,基于识别的所请求应用,连接组件搜索数据存储以找到所请求应用的调试端口,然后提取存储在所请求应用的数据条目/记录中的调试端口数据。
[0078]
在步骤340,连接组件然后基于所识别的调试端口数据将调试请求传送到外部资源。为此,已建立的安全隧道用于将调试请求传送到外部资源的组件(通过调试端口)。
[0079]
在步骤350,调试请求由外部资源的组件接收。
[0080]
因此,从图4的方法的以上描述,将理解接收调试请求然后将修改的请求传送(例如转发)到适当的调试端口的方法。还应当理解,调试请求可能需要也可能不需要提供响应(例如,返回到请求的发起者)。
[0081]
纯粹作为进一步的例子,在混合云系统中实现所提出的概念的可能方法可以包括
以下步骤:
[0082]
(i)转到所有想要处于调试模式的集成服务器并打开(即激活或启用)调试。
[0083]
(ii)从连接组件下载配置文件并运行设置本地(即内部)集成服务器的命令,以公开远程(即外部)服务器的所有调试端口。
[0084]
(iii)启动指向所有本地(即内部)调试端口的调试器。
[0085]
通过图形调试器自动下拉配置文件并为用户执行设置阶段,然后自动连接到所有本地端口,对上述方法的修改可以变得更加流线化。
[0086]
上述实施例仅包括两个集成服务器:一个外部和一个内部。然而,应当理解,所提出的概念可以扩展到外部和内部的多个集成服务器。此外,内部系统的集成服务器甚至不必位于同一网络上。
[0087]
提议的实施例,例如上面参考附图呈现的那些实施例,可以提供以下益处:使调试用户能够逐步通过外部资源(通过内部集成),就像它在本地运行(即在用户的内部资源)。因此,用户体验可能是他/她正在调试本地集成服务器,尽管他们实际上正在调试所有启用的服务器。这可以允许调试包含多个集成服务器中的流且未并置的集成。
[0088]
此外,所提出的实施例还可以减少经由公共网络在外部和内部平台中的应用之间传递的私有或敏感调试信息(例如认证信息或安全证书)的量。
[0089]
从以上描述将显而易见的是,外部资源可以由云计算系统提供。此外,可以在混合云计算系统中提供或实现用于管理外部和内部平台之间的调试通信的连接组件或方法。
[0090]
参考以下关于云计算系统的描述,预先理解的是,虽然本公开包括关于云计算的详细描述,但是本文中叙述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。以下对云计算系统和环境的描述纯粹是为了解释和理解的目的。
[0091]
云计算是一种服务交付模式,用于对共享的可配置计算资源池(例如网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务)进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
[0092]
特征包括:按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。提供者的计算资源被归入资源池并通过多租户(multi

tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0093]
服务模型如下:
[0094]
软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0095]
平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0096]
基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0097]
部署模型如下:
[0098]
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0099]
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0100]
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0101]
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0102]
现在参考图5,其中显示了根据本发明一个实施例的云计算节点的示例的示意图。云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
[0103]
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
[0104]
计算机系统/服务器12可以在由计算机系统执行的计算机系统/服务器可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。在该特定示例中,计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0105]
如图5所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接
不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0106]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0107]
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0108]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质(例如vcr,dvr,raid阵列,usb硬盘驱动器,光盘记录器,闪存设备和/或任何其他用于存储和/或处理数据的数据处理和存储元件)。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(未显示,通常称为“硬盘驱动器”)。尽管未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd

rom,dvd

rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0109]
具有一组(至少一个)程序模块42的程序/实用工具40作为示例(但不限于)可以存储在存储器28中。存储器28还可以包括操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0110]
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan)、广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0111]
现在参考图6,其中显示了根据本发明一个实施例的示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这允许云的消费者无需在本地计算设备上维护资源,云计算环境50就能提供基础架构即服务、平台即服务和/或软件即服务。应当理解,图6显示的各类计算设备54a

n仅仅是示意性的,云计算节点10以及云计算
环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0112]
现在参考图7,其中显示了根据本发明一个实施例的云计算环境50(图6)提供的一组功能抽象层。首先应当理解,图7所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图6所示,提供下列层和对应功能:
[0113]
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,一个示例是系统;基于risc(精简指令集计算机)体系结构的服务器,一个示例是系统;系统;系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,一个示例是ibm应用服务器软件;以及数据库软件,一个示例是数据库软件。(ibm,zseries,pseries,xseries,bladecenter,webshpere以及db2是国际商业机器公司在很多国家和地区祖册的商标)。
[0114]
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
[0115]
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。管理跨外部和内部平台的调试提供根据如上详述的提议概念来管理调试。
[0116]
工作负载层66提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航;软件开发和生命周期管理;虚拟课堂教育交付;数据分析处理;交易处理;和移动桌面。
[0117]
本发明可以是系统、方法和/或计算机程序产品。本发明可以在处理指令流的任何系统、单个或并行系统中有利地实施。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0118]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd

rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0119]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/
处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0120]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0121]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0122]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜