CN103973741A - 用于在云系统中进行远程调试的方法和装置 - Google Patents
用于在云系统中进行远程调试的方法和装置 Download PDFInfo
- Publication number
- CN103973741A CN103973741A CN201310039292.5A CN201310039292A CN103973741A CN 103973741 A CN103973741 A CN 103973741A CN 201310039292 A CN201310039292 A CN 201310039292A CN 103973741 A CN103973741 A CN 103973741A
- Authority
- CN
- China
- Prior art keywords
- debugging
- server node
- request
- remote debugging
- remote
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000002955 isolation Methods 0.000 claims abstract description 66
- 230000000712 assembly Effects 0.000 claims description 56
- 238000000429 assembly Methods 0.000 claims description 56
- 238000004519 manufacturing process Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 27
- 239000003999 initiator Substances 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 abstract description 3
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 22
- 238000003860 storage Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 229940004975 interceptor Drugs 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011031 large-scale manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 150000007513 acids Chemical class 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明的实施方式涉及一种用于在云系统中进行远程调试的方法。该方法包括:在远程调试会话期间,接收远程调试请求;根据远程调试请求的隔离等级确定云系统中将执行调试的服务器节点,其中远程调试请求的隔离等级包括独占等级、共享等级;以及向确定的服务器节点转发远程调试请求。本发明还涉及相应的装置和计算机程序产品。
Description
技术领域
本发明涉及计算系统,更具体地,涉及一种用于在云系统中进行远程调试的方法和装置。
背景技术
在云计算环境中,应用通常跨多个分布式的运行时分布。例如,应用可以具有基于servlet的网络用户接口(Web UI)、基于java的商业逻辑处理组件和数据库映射层。而且,应用的每个组件还可能垂直地散布以被部署在多个不同的节点,例如基于servlet的Web UI可以被部署在一个集群的3tomcat servlet容器。
应用组件的这种分布性使得其非常难于进行调试和问题确定。
现有技术中存在用于在分布式系统中进行调试的方案,例如连接到分布式系统的多个节点的远程调试器,或者用于能够通过调试服务注册表进行定位的分布式系统的调试服务。但是现有的技术方案还具有局限性,使得它们仍然不能被应用于诸如云系统的大规模生产分布式系统。这些现有技术方案难于预测调试请求将会被路由到哪些期望调试的节点,并且不可能将调试器和大规模生产分布式系统中所有节点进行连接。虽然具有注册表定位器的调试服务能够在一定程度上解决该技术问题,但是这种方案仍然难以进行真正意义上的调试。例如,在生产现场环境中,在一个节点上在执行调试时,将会同时存在大量的请求进程。任何端点将会在短时间段中被到达多次,这将挂起这些请求并且使得难于执行调试。
因此,需要提供一种用于在云系统中进行远程调试的方法和装置。
发明内容
为了解决现有技术中存在问题,根据本发明一种或多种实施方式提供了在云系统中进行远程调试的技术方案,以帮助编程者在整个云系统处于生产模式下时能够调试应用。
根据本发明的一个方面,提供了一种用于在云系统中进行远程调试的方法。该方法包括:在远程调试会话期间,接收远程调试请求;根据远程调试请求的隔离等级确定云系统中将执行调试的服务器节点,其中该远程调试请求的隔离等级包括独占等级、共享等级;向确定的服务器节点转发调试请求。
根据本发明的一个方面,提供了一种用于在云系统中进行远程调试的方法。该方法包括:在远程调试会话期间,从云系统的前端组件接收远程调试请求;从生产模式切换为调试模式,其中调试模式具有与调试请求适应的隔离等级,该隔离等级包括独占等级、共享等级;向调试请求的发起方通知服务器节点的信息;建立调试请求的发起方和服务器节点之间的调试连接以执行远程调试的过程;以及响应于确定远程调试过程涉及又一服务器节点,向云系统的前端组件发送关于远程调试的请求。
根据本发明的另一个方面,提供了一种云系统的前端组件。该云系统的前端组件包括:接收单元,被配置为在远程调试会话期间接收远程调试请求;确定单元,被配置为根据远程调试请求的隔离等级据远程调试请求的隔离等级确定云系统中将执行调试的服务器节点,其中该远程调试请求的隔离等级包括独占等级、共享等级;发送单元,被配置为向确定的服务器节点转发调试请求。
根据本发明的另一个方面,提供了一种云系统的服务器节点。该服务器节点包括:接收单元,被配置为在远程调试会话期间、从云系统的前端组件接收远程调试请求;切换单元,被配置为从生产模式切换为调试模式,其中调试模式具有与调试请求适应的隔离等级,该隔离等级包括独占等级、共享等级;第一发送单元,被配置为向调试请求的发起方通知服务器节点的信息;连接建立单元,被配置为建立调试请求的发起方和服务器节点之间的调试连接以执行远程调试的过程;以及第二发送单元,被配置为响应于确定远程调试过程涉及又一服务器节点,向云系统的前端组件发送关于远程调试的请求。
根据本发明的另一个方面,提供了一种用于在云系统中进行远程调试的装置。该装置包括:用于在远程调试会话期间接收远程调试请求的装置;用于根据远程调试请求的隔离等级确定云系统中将执行调试的服务器节点的装置,其中该远程调试请求的隔离等级包括独占等级、共享等级;以及用于向确定的服务器节点转发调试请求的装置。
根据本发明的另一个方面,提供了一种用于在云系统中进行远程调试的装置。该装置包括:用于在远程调试会话期间、从云系统的前端组件接收远程调试请求的装置;用于从生产模式切换为调试模式的装置,其中调试模式具有与调试请求适应的隔离等级,该隔离等级包括独占等级、共享等级;用于向调试请求的发起方通知服务器节点的信息的装置;用于建立调试请求的发起方和服务器节点之间的调试连接以执行远程调试的过程的装置;以及用于响应于确定远程调试过程涉及又一服务器节点,向云系统的前端组件发送关于远程调试的请求的装置。
根据本发明的另一方面,还提供用于执行根据本发明的各个实施方式的用于在云系统中进行远程调试的方法的计算机程序产品。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同组件。
图1表示根据本发明一实施方式可以实现于其中的云计算节点;
图2表示根据本发明一实施方式可以实现于其中的云计算环境;
图3表示根据本发明一实施方式可以实现于其中的抽象模型层;
图4表示根据本发明一实施方式的用于进行远程调试的方法的流程图;
图5表示根据本发明一实施方式的用于进行远程调试的方法的流程图;
图6表示根据本发明一实施方式的云系统前端组件的框图;以及
图7表示根据本发明一实施方式的服务器节点的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施方式不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。管理层64还可以提供根据本发明一个或多个实施方式的用于在云系统中进行远程调试的功能,根据远程调试请求的隔离等级根据所述远程调试请求的隔离等级确定所述云系统中将执行调试的服务器节点,通过将进行调试的服务器节点从生产模式切换为调试模式将进行调试的服务器节点与云系统中的生产环境中的其它服务器节点相隔离,由此在调试回话期间生产环境的可用性以及提供进行调试的清洁的进程。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及移动桌面。
以下将通过参考图4至图7对本发明的各个实施方式进行详细地描述。
图4表示根据本发明一实施方式的用于进行远程调试的方法的流程图。
如图4所示,在步骤S410中,在远程调试会话期间,云系统前端组件接收远程调试请求。云系统前端组件例如可以包括用于处理全部外部请求的负载均衡器,也可以是用于处理云系统内部请求的消息总线组件。
在云系统中,请求是应用逻辑的起始点。请求可以是用于Web应用的HTTP请求或者从系统外部接收的任何JMS消息。根据一个实施方式,为了启动云系统的远程调试,可以使用定制的请求以在其中嵌入调试信息。
使用HTTP请求作为一个示例,当最终用户操作在云系统中运行的Web应用时可以创建浏览器插件。该浏览器插件将自动地为每个用于远程调试的请求插入HTTP请求标头。例如,_DEBUG_M0DE_:true/false,等以及用于调试的其它通用参数。
最终用户可以通过例如集成的开发环境中的客户端等调试工具发起调试会话。调试器可以创建并且向云系统发送带有调试信息的远程调试请求。
在步骤S420中,云系统前端组件根据远程调试请求的隔离等级确定云系统中将执行调试的服务器节点。
远程调试请求的隔离等级表明该远程调试请求所请求的调试过程需要在何种服务器节点的调试模式下执行。例如,所述远程调试请求的隔离等级可以包括独占等级、共享等级。独占等级可以意味着该请求的远程调试过程要求在调试会话期间独占服务器节点,该服务器节点不再响应任何生产模式下的请求,也不再响应其它远程调试请求;共享等级可以意味着该请求的远程调试过程要求在调试会话期间占用该服务器节点,该服务器节点不再响应任何生产模式下的请求,但仍旧可以响应其它远程调试请求。可以通过各种适当的机制和准则来配置远程调试请求的隔离等级。例如,可以依据用户的请求来确定远程调试请求的隔离等级,在远程调试请求中直接指示该隔离等级;也可以根据所调试应用的特性,例如由调试器或者甚至由云系统前端等任何适合的系统组件自动地确定远程调试请求的隔离等级。
在云系统中,诸如负载均衡器和消息总线的云系统前端组件被配置为维护有云系统负载的信息以及云系统中各个服务器节点的注册表。根据本发明的实施方式,云系统前端组件可以根据所接收远程调试请求的隔离等级确定适合执行该调试过程的服务器节点。
根据本发明的一个实施方式,在调试请求的隔离等级为独占等级的情况下,云系统前端组件可以被配置为选择处于生产模式下的服务器节点用于远程调试。云系统前端组件然后可以更新其所维护的注册表,以将选择的服务器节点设置为独占调试模式,其中将调试会话的标识与所述选择的服务器节点的标识一对一关联。
根据本发明的一个实施方式,在调试请求的隔离等级为共享等级的情况下,云系统前端组件可以被配置为优先选择已处于共享调试模式下的现有服务器节点用于远程调试。云系统前端组件然后可以更新其所维护的注册表,以添加所述调试会话与所选择服务器节点的标识的关联。
根据本发明的一个实施方式,在调试请求的隔离等级为共享等级的情况下,响应于确定当前无已处于共享调试模式的服务器节点,云系统前端组件可以被配置为选择处于生产模式下的服务器节点用于远程调试。云系统前端组件然后可以更新注册表,以将选择的服务器节点设置为共享调试模式,并且将所述调试会话的标识与该选择的服务器节点的标识相关联。
在步骤S430中,云系统前端组件向确定的服务器节点转发远程调试请求。
图4描述了根据本发明实施方式的用于在云系统中进行远程调试的方法的示例性流程。该流程包括了根据本发明实施方式实现在云系统中进行远程调试的所有必要步骤,但上述流程并未包括实现在云系统中进行远程调试的所有可能步骤。
例如,在转发远程调试请求的步骤S430之后,已经使得远程调试过程能够在云系统的相应服务器节点中执行,但是在具体实现中,该流程还可以包括在调试会话结束之后的相应处理。例如,在一个实施方式中,响应于远程调试会话结束,云系统前端组件还被配置为取决于所述服务器节点的状态来更新注册表。如果所处理的调试请求的隔离等级是独占等级,则云系统前端组件可以被配置为直接释放处于独占调试模式的服务器节点,并相应地更新注册表。如果所处理的调试请求的隔离等级是共享等级,则云系统前端可以被配置为确定是否还存在调试会话的标识与服务器节点标识相关联。响应于确定无调试会话的标识与所述服务器节点的标识相关联,云系统前端可以释放处于共享调试模式的服务器节点。
又如,在远程调试请求中已经明确绑定特定服务器节点的情况下,云系统前端可以被配置为直接提取远程调试请求中的绑定的服务器节点信息,查询注册表以将该远程调试请求转发到该服务器节点。
因此,本领域的技术人员可以根据实际需要在图4所示的示例性流程的基础上添加步骤或者对流程中的步骤进行适当修改,而不违背本发明的精神。
图5表示根据本发明一实施方式的用于进行远程调试的方法的流程图。
如图5所示,在步骤S510中,在远程调试会话期间,服务器节点从所述云系统的前端组件接收远程调试请求。
云系统中的服务器节点可以例如被配置为维护有请求拦截器,以用于接收调试请求。可以针对每种运行时类型安装请求拦截器,以从进入请求中提取调试信息。例如,针对Web容器JVM,可以安装servlet过滤器作为拦截器以接收所有进入的HTTP请求。对于商业组件,相应的消息代理器可以被配置作为拦截器,以接收进入请求,并从中提取调试信息。
在步骤S520中,若接收到远程调试请求的服务器节点当前处于生产模式,则服务器节点从生产模式切换为调试模式,其中调试模式具有与所述调试请求适应的隔离等级。
例如,在一个实现中,接收到远程调试请求的服务器节点可以被配置为广播一个消息,以表明其接受该新的调试请求,并且例如通过服务器节点重启或者运行时重启等等方式来将自身从生产模式切换到调试模式。
根据本发明的一个实施方式,远程调试请求的隔离等级可以包括独占等级、共享等级。根据一个实施方式,在隔离等级为独占等级的情况下,服务器节点将被切换为独占调试模式,其中仅允许唯一的调试请求的发起方和该服务器节点之间建立调试连接。根据一个实施方式,在隔离等级为共享等级的情况下,服务器节点或者从生产模式切换为共享调试模式或者已经处于共享调试模式,以便允许多个调试请求的发起方和服务器节点之间同时建立多个调试连接。
在步骤S530中,服务器节点向调试请求的发起方通知服务器节点的信息。
一旦服务器节点从生产模式切换到调试模式,则服务器节点一方面可以被配置为广播指示其所处工作模式的消息,另一方面可以被配置为广播其自身的信息,例如当前运行IP地址以及调试监听端口号等,以向调试请求的发起方通知关于其自身的信息。
在步骤S540中,建立所述调试请求的发起方和所述服务器节点之间的调试连接以执行远程调试的过程。
在步骤S550中,响应于确定远程调试过程涉及又一服务器节点,服务器节点向云系统的前端组件发送关于远程调试的请求。
例如,当调试应用中包含远程方法调用时,则该调试请求可能涉及又一服务器节点。当前服务器节点的拦截器可以将调试信息插入到请求中,并且服务器节点向诸如消息总线组件的云系统前端组件发送包含调试信息的远程调试请求。
图6表示根据本发明一实施方式的云系统前端组件600的框图。
如图6所示,云系统前端组件600例如可以是用于处理全部外部请求的负载均衡器,也可以是用于处理云系统内部请求的消息总线组件。
云前端组件600包括接收单元610、确定单元620、发送单元630。
接收单元610例如可以包括一个或多个专用于各个运行时类型的消息拦截器,用于拦截请求消息。在一个示例中,接收单元610可以被配置为用于例如接收具有HTTP请求标头的用于远程调试的请求。接收单元610也可以附加地或者可选地被配置为用于例如接收载有调试信息的JMS消息。本领域技术人员可以理解,根据本发明的各个实施方式的云系统前端组件600的接收单元610在被配置为接收远程调试请求的同时,还可以被配置为接收其它生产请求,以运行正常的生产过程。
确定单元620被配置为根据所接收远程调试请求的隔离等级确定适合执行该调试过程的服务器节点。在云系统中,诸如负载均衡器和消息总线的云系统前端组件被配置为维护有云系统负载的信息以及云系统中各个服务器节点的注册表。确定单元620可以被进一步配置为基于云系统负载的信息和各个服务器节点的工作模式来确定用于进行调试的服务器节点。
根据本发明的一个实施方式,在调试请求的隔离等级为独占等级的情况下,确定单元620可以被配置为选择处于生产模式下的服务器节点用于远程调试。云系统前端组件600进一步可选地包括注册表更新单元(未示出),该注册表更新单元然后可以更新其所维护的注册表,以将选择的服务器节点设置为独占调试模式,其中将调试会话的标识与所述选择的服务器节点的标识一对一关联。
根据本发明的一个实施方式,在调试请求的隔离等级为共享等级的情况下,确定单元620可以被配置为优先选择已处于共享调试模式下的现有服务器节点用于远程调试。云系统前端组件的注册表更新单元(未示出)然后可以更新其所维护的注册表,以添加所述调试会话与所选择服务器节点的标识的关联。
根据本发明的一个实施方式,在调试请求的隔离等级为共享等级的情况下,确定单元620可以被配置为响应于确定当前无已处于共享调试模式的服务器节点,选择处于生产模式下的服务器节点用于远程调试。云系统前端组件的注册表更新单元(未示出)然后可以更新注册表,以将选择的服务器节点设置为共享调试模式,并且将所述调试会话的标识与该选择的服务器节点的标识相关联。
发送单元630被配置为向由确定单元620所确定的服务器节点转发调试请求。
在一个实施方式中,云系统前端组件600的注册表更新单元(未示出)可以被配置为响应于所述远程调试会话结束,取决于所述服务器节点的状态来更新注册表。如果所处理的调试请求的隔离等级是独占等级,则云系统前端组件600的注册表更新单元可以被配置为直接释放处于独占调试模式的服务器节点。如果所处理的调试请求的隔离等级是共享等级,则云系统前端组件600的确定单元620还可以被配置为确定是否还存在调试会话的标识与服务器节点标识相关联。响应于确定无调试会话的标识与所述服务器节点的标识相关联,云系统前端组件600的注册表更新单元可以释放处于共享调试模式的服务器节点。
图7表示根据本发明一实施方式的服务器节点700的框图。
如图7所示,服务器节点700包括接收单元710、切换单元720、第一发送单元730、连接建立单元740、第二发送单元750。
接收单元710被配置用于在远程调试会话期间、从所述云系统的前端组件接收远程调试请求。接收单元710例如是针对每种运行时类型安装请求拦截器,能够从进入请求中提取调试信息。
切换单元720被配置为在服务器节点700当前处于生产模式的情况下,用于控制服务器节点700从生产模式切换为调试模式,其中所述调试模式具有与所述调试请求适应的隔离等级。在一个实现中,切换单元720可以控制服务器节点进行节点重启或者进行运行时重启等重置操作,以将服务器节点700从生产模式切换为调试模式。根据本发明的一个实施方式,远程调试请求的隔离等级可以包括独占等级、共享等级。根据一个实施方式,在隔离等级为独占等级的情况下,服务器节点将被切换为独占调试模式,其中仅允许唯一的调试请求的发起方和该服务器节点之间建立调试连接。根据一个实施方式,在隔离等级为共享等级的情况下,服务器节点或者从生产模式切换为共享调试模式或者已经处于共享调试模式,以便允许多个调试请求的发起方和服务器节点之间同时建立多个调试连接。
第一发送单元730被配置用于向所述调试请求的发起方通知服务器节点的信息。例如,第一发送单元730可以被配置为广播其自身的信息,例如当前运行IP地址以及调试监听端口号等,以向调试请求的发起方通知关于其自身的信息。
连接建立单元740被配置用于建立调试请求的发起方和所述服务器节点之间的调试连接以执行远程调试的过程。
第二发送单元750被配置用于响应于确定所述远程调试过程涉及又一服务器节点,向云系统的前端组件发送关于所述远程调试的请求。例如,当服务器节点700执行的调试应用中包含远程方法调用时,则第二发送单元750可以向诸如消息总线组件的云系统前端组件发送包含调试信息的远程调试请求。
图6和图7示出了根据本发明一个或多个实施方式的装置的框图。但是,本领域技术人员应该理解,这些框图中并未示出这些装置的全部逻辑或功能组件,而是仅示出与本发明的功能性相关联的组件。除了图6和图7中所示组件之外,云系统前端组件600和云系统服务器节点700还可以包括实现其各自任何本领域已知功能性的组件,并且这些组件可以和附图中示出组件发生或者不发生信号或逻辑联系,虽然在本说明书中没有进行列举和说明。
相较于现有技术,本发明的各种实施方式具有以下优点中的一个或多个:
-简化了在云系统进行远程调试的过程,避免了由于在大规模分布式系统中引入动态调试请求所引入的复杂性。
-通过在各种隔离级别上支持调试过程,能够同时允许多个调试会话,由此在云系统中获得更加有效的调试。
-通过将执行调试的服务器节点隔离于生产环境能够将调试过程对于生产环境的影响降到最小。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施方式。
Claims (20)
1.一种用于在云系统中进行远程调试的方法,包括:
在远程调试会话期间,接收远程调试请求;
根据所述远程调试请求的隔离等级确定所述云系统中将执行所述远程调试的服务器节点,其中所述远程调试请求的隔离等级包括独占等级、共享等级;
向确定的服务器节点转发所述远程调试请求。
2.根据权利要求1所述的方法,还包括:
响应于所述远程调试会话结束,取决于所述服务器节点的状态来更新注册表。
3.根据权利要求1所述的方法,其中根据所述远程调试请求的隔离等级确定所述云系统中将执行调试的服务器节点的步骤包括:
在所述调试请求的隔离等级为独占等级的情况下,选择处于生产模式下的服务器节点用于远程调试,以及
更新注册表以将选择的服务器节点设置为独占调试模式,其中将所述调试会话的标识与所述选择的服务器节点的标识一对一关联。
4.根据权利要求1所述的方法,其中根据所述远程调试请求的隔离等级确定所述云系统中将执行调试的服务器节点的步骤包括:
在所述调试请求的隔离等级为共享等级的情况下,优先选择已处于共享调试模式下的现有服务器节点用于远程调试,以及
更新注册表以添加所述调试会话与所选择服务器节点的标识的关联。
5.根据权利要求4所述的方法,其中根据所述远程调试请求的隔离等级确定所述云系统中将执行调试的服务器节点的步骤包括:
在所述调试请求的隔离等级为共享等级的情况下,响应于确定当前无已处于共享调试模式的服务器节点,选择处于生产模式下的服务器节点用于远程调试;以及
更新注册表以将选择的服务器节点设置为共享调试模式,其中将所述调试会话的标识与所述选择的服务器节点的标识相关联。
6.根据权利要求2所述的方法,其中响应于所述远程调试会话结束,取决于所述服务器节点的状态更新注册表的步骤包括:
释放处于独占调试模式的服务器节点。
7.根据权利要求2所述的方法,其中响应于所述远程调试会话结束,取决于所述服务器节点的状态更新注册表的步骤包括:
响应于确定无调试会话的标识与所述服务器节点的标识相关联,释放处于共享调试模式的服务器节点。
8.一种用于在云系统中进行远程调试的方法,包括:
在远程调试会话期间,从所述云系统的前端组件接收远程调试请求;
从生产模式切换为调试模式,其中所述调试模式具有与所述调试请求适应的隔离等级,所述隔离等级包括独占等级、共享等级;
向所述调试请求的发起方通知服务器节点的信息;
建立所述调试请求的发起方和所述服务器节点之间的调试连接以执行远程调试的过程;以及
响应于确定所述远程调试过程涉及又一服务器节点,向所述云系统的前端组件发送关于所述远程调试的请求。
9.根据权利要求8所述的方法,其中在所述隔离等级为独占等级的情况下,允许唯一的调试请求的发起方和所述服务器节点之间建立调试连接。
10.根据权利要求8所述的方法,其中在所述隔离等级为共享等级的情况下,允许多个调试请求的发起方和所述服务器节点之间同时建立多个调试连接。
11.一种云系统的前端组件,包括:
接收单元,被配置为在远程调试会话期间接收远程调试请求;
确定单元,被配置为根据所述远程调试请求的隔离等级确定所述云系统中将执行所述远程调试的服务器节点,其中所述远程调试请求的隔离等级包括独占等级、共享等级;
发送单元,被配置为向确定的服务器节点转发所述远程调试请求。
12.根据权利要求11所述的云系统的前端组件,还包括:
注册表更新单元,被配置为响应于所述远程调试会话结束,取决于所述服务器节点的状态来更新注册表。
13.根据权利要求11所述的云系统的前端组件,其中:
所述确定单元还被配置为在所述调试请求的隔离等级为独占等级的情况下,选择处于生产模式下的服务器节点用于远程调试,并且
所述云系统前端组件还包括注册表更新单元,被配置为更新注册表以将选择的服务器节点设置为独占调试模式,其中将所述调试会话的标识与所述选择的服务器节点的标识一对一关联。
14.根据权利要求11所述的云系统的前端组件,其中:
所述确定单元还被配置为在所述调试请求的隔离等级为共享等级的情况下,优先选择已处于共享调试模式下的现有服务器节点用于远程调试,并且
所述云系统前端组件还包括注册表更新单元,被配置为更新注册表以添加所述调试会话与所选择服务器节点的标识的关联。
15.根据权利要求14所述的云系统的前端组件,其中:
所述确定单元还被配置为在所述调试请求的隔离等级为共享等级的情况下,响应于确定当前无已处于共享调试模式的服务器节点,选择处于生产模式下的服务器节点用于远程调试;以及
所述注册表更新单元被配置为更新注册表以将选择的服务器节点设置为共享调试模式,其中将所述调试会话的标识与所述选择的服务器节点的标识相关联。
16.根据权利要求12所述的云系统的前端组件,其中:
所述注册表更新单元被配置为释放处于独占调试模式的服务器节点。
17.根据权利要求12所述的云系统的前端组件,其中:
所述注册表更新单元被配置为响应于确定无调试会话的标识与所述服务器节点的标识相关联,释放处于共享调试模式的服务器节点。
18.一种云系统的服务器节点,包括:
接收单元,被配置为在远程调试会话期间、从所述云系统的前端组件接收远程调试请求;
切换单元,被配置为从生产模式切换为调试模式,其中所述调试模式具有与所述调试请求适应的隔离等级,所述隔离等级包括独占等级、共享等级;
第一发送单元,被配置为向所述调试请求的发起方通知服务器节点的信息;
连接建立单元,被配置为建立所述调试请求的发起方和所述服务器节点之间的调试连接以执行远程调试的过程;以及
第二发送单元,被配置为响应于确定所述远程调试过程涉及又一服务器节点,向所述云系统的前端组件发送关于所述远程调试的请求。
19.根据权利要求18所述的方法,其中在所述隔离等级为独占等级的情况下,允许唯一的调试请求的发起方和所述服务器节点之间建立调试连接。
20.根据权利要求18所述的方法,其中在所述隔离等级为共享等级的情况下,允许多个调试请求的发起方和所述服务器节点之间同时建立多个调试连接。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310039292.5A CN103973741B (zh) | 2013-01-31 | 2013-01-31 | 用于在云系统中进行远程调试的方法和装置 |
US14/164,400 US9251040B2 (en) | 2013-01-31 | 2014-01-27 | Remote debugging in a cloud computing environment |
US14/472,282 US9244817B2 (en) | 2013-01-31 | 2014-08-28 | Remote debugging in a cloud computing environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310039292.5A CN103973741B (zh) | 2013-01-31 | 2013-01-31 | 用于在云系统中进行远程调试的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973741A true CN103973741A (zh) | 2014-08-06 |
CN103973741B CN103973741B (zh) | 2018-02-09 |
Family
ID=51242784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310039292.5A Expired - Fee Related CN103973741B (zh) | 2013-01-31 | 2013-01-31 | 用于在云系统中进行远程调试的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9251040B2 (zh) |
CN (1) | CN103973741B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450668A (zh) * | 2015-12-30 | 2016-03-30 | 中电长城网际系统应用有限公司 | 云安全服务实现系统和云安全服务实现方法 |
CN105450463A (zh) * | 2014-08-26 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 硬件设备的调试方法、装置和系统 |
CN106254436A (zh) * | 2016-07-28 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种远程调试的方法、相关设备及系统 |
CN104991760B (zh) * | 2014-12-23 | 2018-05-25 | 广州亦云信息技术有限公司 | 基于分布式模块化技术的PaaS平台服务管理系统和实现方法 |
CN109408310A (zh) * | 2018-10-19 | 2019-03-01 | 网易(杭州)网络有限公司 | 服务器的调试方法、服务器及可读存储介质 |
CN109446062A (zh) * | 2018-09-17 | 2019-03-08 | 华为技术有限公司 | 云计算服务中的软件调试的方法和装置 |
CN113434352A (zh) * | 2021-08-02 | 2021-09-24 | 东营安顺电气有限公司 | 一种网络计算机系统行为远程调试方法及其装置 |
CN113485850A (zh) * | 2021-04-25 | 2021-10-08 | 北京思特奇信息技术股份有限公司 | 一种分布式文件系统的服务配置方法和配置系统 |
CN113574845A (zh) * | 2019-04-26 | 2021-10-29 | 国际商业机器公司 | 内部和外部调试 |
CN114297089A (zh) * | 2022-03-02 | 2022-04-08 | 杭州海康威视数字技术股份有限公司 | 基于容器的Python远程动态调试方法及系统 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021436B2 (en) * | 2010-12-08 | 2015-04-28 | Microsoft Technology Licensing Llc | Automatic reconnection of debugger to a reactivated application |
US9104798B2 (en) * | 2013-05-03 | 2015-08-11 | International Business Machines Corporation | Enabling remote debugging of virtual machines running in a cloud environment |
CN104253831B (zh) | 2013-06-26 | 2018-05-11 | 国际商业机器公司 | 一种用于在云计算环境中部署应用的方法和系统 |
CN104852904B (zh) * | 2015-04-16 | 2019-03-12 | 国家电网公司 | 一种基于手机app应用和加密短信息的服务器远程重启方法 |
US9569339B1 (en) * | 2015-07-23 | 2017-02-14 | Amazon Technologies, Inc. | Debugging in an actor-based system |
US9898389B2 (en) | 2016-01-07 | 2018-02-20 | International Business Machines Corporation | Debugging a transaction in a replica execution environment |
CN106126419A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种应用程序的调试方法及装置 |
US10372588B2 (en) | 2016-07-08 | 2019-08-06 | International Business Machines Corporation | Providing debug information on production containers using debug containers |
CN107888437B (zh) * | 2016-09-29 | 2021-11-02 | 阿里巴巴集团控股有限公司 | 云监控方法及设备 |
US20180165177A1 (en) * | 2016-12-08 | 2018-06-14 | Nutanix, Inc. | Debugging distributed web service requests |
CN108270819B (zh) * | 2016-12-30 | 2021-12-21 | 上海擎感智能科技有限公司 | 移动设备的远程调试方法、服务器及系统 |
US10303580B2 (en) | 2017-01-11 | 2019-05-28 | International Business Machines Corporation | Controlling debug processing |
US10613964B2 (en) | 2017-05-04 | 2020-04-07 | Microsoft Technology Licensing, Llc | Conditional debugging of server-side production code |
US10534693B2 (en) | 2017-05-04 | 2020-01-14 | Microsoft Technology Licensing, Llc | Temporary de-optimization of target functions in a cloud debugger |
US10545853B2 (en) * | 2017-11-06 | 2020-01-28 | Oracle International Corporation | Stateless debugging of a script injected into a web application that is located in a mult-node cloud system |
US20190146899A1 (en) | 2017-11-14 | 2019-05-16 | Microsoft Technology Licensing, Llc | Assistive debugging of web applications with port forwarding |
US10938641B1 (en) * | 2018-11-09 | 2021-03-02 | Amazon Technologies, Inc. | On-demand development environment |
WO2021003870A1 (zh) * | 2019-10-14 | 2021-01-14 | 深圳晶泰科技有限公司 | 面向分布式高性能计算集群调试系统 |
US11307966B2 (en) * | 2020-04-06 | 2022-04-19 | Red Hat, Inc. | Shared software debugging service |
US11677574B1 (en) * | 2020-07-02 | 2023-06-13 | Intrado Corporation | Automated conference sessions generated to manage application development |
CN111930472B (zh) * | 2020-08-19 | 2023-03-28 | 曙光信息产业(北京)有限公司 | 一种代码调试方法、装置、电子设备及存储介质 |
CN113407166B (zh) * | 2021-06-29 | 2022-08-19 | 湖南省起航嘉泰网络科技有限公司 | 一种受控网络环境下安全可控的敏捷软件开发方法 |
US11748236B2 (en) | 2021-09-07 | 2023-09-05 | International Business Machines Corporation | Multi-user debugging with user data isolation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113218A1 (en) * | 2005-11-16 | 2007-05-17 | Sun Microsystems, Inc. | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents |
US20110258614A1 (en) * | 2010-04-16 | 2011-10-20 | Salesforce.Com, Inc. | Methods and Systems for Internally Debugging Code In an On-Demand Service Environment |
US20120102465A1 (en) * | 2010-10-21 | 2012-04-26 | International Business Machines Corporation | Collaborative Software Debugging In A Distributed System With Client-Specific Access Control |
US20120131555A1 (en) * | 2010-05-17 | 2012-05-24 | Salesforce.Com, Inc. | Method and system for remote debug protocol proxying for production debugging; selective session and user routing for debugging in multi-tenant cloud computing infrastructure |
CN102594914A (zh) * | 2012-03-15 | 2012-07-18 | 广州亦云信息技术有限公司 | 一种基于云平台的远程调试方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819093A (en) | 1995-03-03 | 1998-10-06 | Sun Microsystems, Inc. | System and method for a distributed debugger for debugging distributed application programs |
US6058393A (en) | 1996-02-23 | 2000-05-02 | International Business Machines Corporation | Dynamic connection to a remote tool in a distributed processing system environment used for debugging |
US7363543B2 (en) * | 2002-04-30 | 2008-04-22 | International Business Machines Corporation | Method and apparatus for generating diagnostic recommendations for enhancing process performance |
US7185319B2 (en) | 2002-07-09 | 2007-02-27 | Microsoft Corporation | Debugging distributed applications |
US7216257B2 (en) * | 2004-01-21 | 2007-05-08 | Sap Ag | Remote debugging |
US7512934B2 (en) | 2004-08-25 | 2009-03-31 | Microsoft Corporation | Parallel debugger |
US7673180B1 (en) | 2005-05-05 | 2010-03-02 | Sun Microsystems, Inc. | Method and apparatus for dispatching a remote debugging agent in a distributed computing environment |
US7992133B1 (en) | 2006-02-14 | 2011-08-02 | Progress Software Corporation | Techniques for debugging distributed applications |
US8230052B2 (en) * | 2007-02-14 | 2012-07-24 | Microsoft Corporation | Module diagnostic toolkit for client-server based protocols |
KR101060181B1 (ko) * | 2009-08-03 | 2011-08-29 | 강원대학교산학협력단 | 원격 디버깅을 위한 웹 기반 소프트웨어 디버깅 장치 및 그 방법 |
US9064049B2 (en) * | 2010-12-14 | 2015-06-23 | Microsoft Technology Licensing, Llc | Remote debugging of server side code without blocking or high-level privileges |
US20130159779A1 (en) * | 2011-12-19 | 2013-06-20 | Microsoft Corporation | Framework for the remote debugging of web applications |
-
2013
- 2013-01-31 CN CN201310039292.5A patent/CN103973741B/zh not_active Expired - Fee Related
-
2014
- 2014-01-27 US US14/164,400 patent/US9251040B2/en not_active Expired - Fee Related
- 2014-08-28 US US14/472,282 patent/US9244817B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113218A1 (en) * | 2005-11-16 | 2007-05-17 | Sun Microsystems, Inc. | Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents |
US20110258614A1 (en) * | 2010-04-16 | 2011-10-20 | Salesforce.Com, Inc. | Methods and Systems for Internally Debugging Code In an On-Demand Service Environment |
US20120131555A1 (en) * | 2010-05-17 | 2012-05-24 | Salesforce.Com, Inc. | Method and system for remote debug protocol proxying for production debugging; selective session and user routing for debugging in multi-tenant cloud computing infrastructure |
US20120102465A1 (en) * | 2010-10-21 | 2012-04-26 | International Business Machines Corporation | Collaborative Software Debugging In A Distributed System With Client-Specific Access Control |
CN102594914A (zh) * | 2012-03-15 | 2012-07-18 | 广州亦云信息技术有限公司 | 一种基于云平台的远程调试方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450463A (zh) * | 2014-08-26 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 硬件设备的调试方法、装置和系统 |
CN105450463B (zh) * | 2014-08-26 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 硬件设备的调试方法、装置和系统 |
CN104991760B (zh) * | 2014-12-23 | 2018-05-25 | 广州亦云信息技术有限公司 | 基于分布式模块化技术的PaaS平台服务管理系统和实现方法 |
CN105450668A (zh) * | 2015-12-30 | 2016-03-30 | 中电长城网际系统应用有限公司 | 云安全服务实现系统和云安全服务实现方法 |
CN106254436A (zh) * | 2016-07-28 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种远程调试的方法、相关设备及系统 |
CN109446062A (zh) * | 2018-09-17 | 2019-03-08 | 华为技术有限公司 | 云计算服务中的软件调试的方法和装置 |
CN109408310A (zh) * | 2018-10-19 | 2019-03-01 | 网易(杭州)网络有限公司 | 服务器的调试方法、服务器及可读存储介质 |
CN109408310B (zh) * | 2018-10-19 | 2022-02-18 | 网易(杭州)网络有限公司 | 服务器的调试方法、服务器及可读存储介质 |
CN113574845A (zh) * | 2019-04-26 | 2021-10-29 | 国际商业机器公司 | 内部和外部调试 |
CN113485850A (zh) * | 2021-04-25 | 2021-10-08 | 北京思特奇信息技术股份有限公司 | 一种分布式文件系统的服务配置方法和配置系统 |
CN113434352A (zh) * | 2021-08-02 | 2021-09-24 | 东营安顺电气有限公司 | 一种网络计算机系统行为远程调试方法及其装置 |
CN114297089A (zh) * | 2022-03-02 | 2022-04-08 | 杭州海康威视数字技术股份有限公司 | 基于容器的Python远程动态调试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US9251040B2 (en) | 2016-02-02 |
US20150058823A1 (en) | 2015-02-26 |
US9244817B2 (en) | 2016-01-26 |
US20140366004A1 (en) | 2014-12-11 |
CN103973741B (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973741A (zh) | 用于在云系统中进行远程调试的方法和装置 | |
CN105446793B (zh) | 迁移虚拟资产的方法和设备 | |
CN105378659B (zh) | 使客户端设备能够访问远程桌面的方法和系统 | |
CN103270492B (zh) | 用于网络使能应用的硬件加速图形的方法和系统 | |
CN102202078B (zh) | 一种用于配置服务器场的多个异类角色的方法和系统 | |
CN103365725B (zh) | 在多个云之间动态分配工作负荷部署单元的方法和系统 | |
US20140280805A1 (en) | Two-Sided Declarative Configuration for Cloud Deployment | |
CN104765620A (zh) | 一种程序模块部署的方法和系统 | |
CN105684357A (zh) | 虚拟机中地址的管理 | |
CN104067265A (zh) | 用于支持在云中的安全应用部署的系统和方法 | |
CN104052789A (zh) | 用于虚拟联网系统的负载平衡 | |
US20170024396A1 (en) | Determining application deployment recommendations | |
CN104601622A (zh) | 一种部署集群的方法和系统 | |
CN103377402A (zh) | 一种多用户分析系统以及相应的装置和方法 | |
US11354152B2 (en) | Self-evolving microservices | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
US10924590B1 (en) | Virtual workspace experience visualization and optimization | |
CN103973641B (zh) | 管理不同网站的会话的方法及装置 | |
CN113485927B (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN105786593A (zh) | 用于重启上下文相关的应用集的方法和系统 | |
CN109923835A (zh) | 本地与场外的通信 | |
CN106603721A (zh) | 一种远程控制的方法及系统、一种远程控制客户端 | |
CN104951238A (zh) | 用于在分布式虚拟环境中管理数据存储的方法和装置 | |
CN114466005A (zh) | 物联网设备编排 | |
WO2022067160A1 (en) | Remote network and cloud infrastructure management |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180209 |