CN103795749B - 用于诊断运行在云环境中的软件产品的问题的方法和装置 - Google Patents

用于诊断运行在云环境中的软件产品的问题的方法和装置 Download PDF

Info

Publication number
CN103795749B
CN103795749B CN201210424375.1A CN201210424375A CN103795749B CN 103795749 B CN103795749 B CN 103795749B CN 201210424375 A CN201210424375 A CN 201210424375A CN 103795749 B CN103795749 B CN 103795749B
Authority
CN
China
Prior art keywords
software product
cloud environment
node
cloud
configuration data
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.)
Expired - Fee Related
Application number
CN201210424375.1A
Other languages
English (en)
Other versions
CN103795749A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201210424375.1A priority Critical patent/CN103795749B/zh
Priority to US14/059,903 priority patent/US9218231B2/en
Publication of CN103795749A publication Critical patent/CN103795749A/zh
Application granted granted Critical
Publication of CN103795749B publication Critical patent/CN103795749B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Abstract

本发明提供了一种用于诊断运行在云环境中的软件产品的问题的方法和相应装置,该方法包括:接收来自所述云环境中的节点上部署的诊断代理的关于所监视的所述软件产品的运行中的问题;捕获包含该软件产品的所述云环境,并将该云环境部署在诊断云中,且该步骤包括:将所述云环境中的每个节点的映象部署在所述诊断云中;以及使用用于部署在云环境中的集群系统的相关配置数据对所述诊断云中的每个节点进行配置。本发明的方法和装置可以诊断运行在云环境中的软件产品的问题,并重建云环境来便利问题的诊断。

Description

用于诊断运行在云环境中的软件产品的问题的方法和装置
技术领域
本发明涉及云计算,具体涉及一种用于诊断运行在云环境中的软件产品的问题的方法和装置。
背景技术
在传统的软件开发阶段,测试团队或自动化测试框架运行所有的测试用例,并将软件缺陷报告给开发团队。然后,开发人员开始诊断问题并试图解决问题。对于那些仅能在非常特殊的环境中再现、并且与各种类型的系统配置参数、环境变量和各种上下文运行时信息关联的缺陷来说,开发人员首先需要建立相同的环境来再现这些缺陷。在大多数情况下,建立这种相同的环境需要极大的努力。开发人员需要收集各种类型的用户/测试者环境参数;使用这些参数建立新的环境,包括安装相同版本的操作系统、目标软件产品、补丁包以及所有相关软件;调整用于构建整个环境(包括例如操作系统、JRE等)的运行时参数;持续调整用于任何可能的相关组件的踪迹(trace)级别以逐步地收集期望的踪迹。在上述过程中,任何人为错误或微小疏忽都将造成问题再现的失败,从而阻止问题诊断。这显然成为解决缺陷过程的瓶颈,并增加了无法及时交付产品风险。如果这种情况发生在产品发布后的用户环境中,由于开发人员不得不在现场工作,并指导用户收集所有所需信息,这对双方而言都是耗时和高成本的,且由重建相同环境造成的问题解决延迟将导致用户丧失对产品的信心。
此外,集群系统由于其先进的高可用性特点和巨大的业务吞吐量,正变得越来越普遍,并已被部署在云环境中。然而,由于集群系统的复杂的环境因素、复杂的任务调度或多个节点之间的协调,集群系统更难以被重建来重现问题。而且,云的弹性(elasticity)特征支持伸缩集群系统以动态改变节点的数量,因此很难捕获集群的瞬时状态以重建用于重现问题的集群系统。
可见,本领域中需要一种用于监视在云环境中的软件产品的运行并在云环境中重建用于重现问题的软件产品运行环境以便诊断软件产品的问题的解决方案。
发明内容
在本发明的一个方面,提供了一种用于诊断运行在云环境中的软件产品的问题的方法,包括:接收来自云环境中部署的诊断代理的关于所监视的软件产品的运行中的问题;捕获包含软件产品的整个环境,并将该环境部署在诊断云中,包括:将所述云环境中的每个节点的映象部署在诊断云中;以及使用用于部署在云环境中的集群系统的相关配置数据对诊断云中的每个节点进行配置。
在本发明的另一个方面,提供了一种用于诊断运行在云环境中的软件产品的问题的方法,包括:响应于一节点加入云环境,在该节点上部署诊断代理;诊断代理判断是否监视到软件产品运行中的问题;以及响应于判断监视到软件产品运行中的问题,诊断代理向诊断控制器报告。
在本发明的又一方面,提供了一种用于诊断运行在云环境中的软件产品的问题的装置,包括:接收模块,被配置为接收来自云环境中部署的诊断代理的关于所监视的软件产品的运行中的问题的报告;捕获和部署模块,被配置为根据所述分析的结果,捕获包含软件产品的整个环境,并将该环境部署在诊断云中,且该捕获和部署模块包括:部署模块,被配置为将所述云环境中的每个节点的映象部署在诊断云中;以及配置模块,被配置为使用用于部署在云环境中的集群系统的相关配置数据对诊断云中的每个节点进行配置。
在本发明的再一个方面,提供了一种用于诊断运行在云环境中的软件产品的问题的装置,该装置包括:部署模块,被配置为响应于一节点加入云环境,在该节点上部署诊断代理;判断模块,被配置为判断是否监视到软件产品运行中的问题;以及报告模块,被配置为响应于判断监视到软件产品运行中的问题,向诊断控制器报告。
本发明能够自动获取云环境中软件产品的问题,并在诊断云中重建该云环境,从而便利了问题再现和诊断。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1表示根据本发明一实施例的云计算节点;
图2表示根据本发明一实施例的云计算环境;
图3表示根据本发明一实施例的抽象模型层;
图4示意性地示出了根据本发明的一些实施例的用于诊断运行在云环境中的软件产品的问题的系统的体系结构;
图5示意性地示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的系统的体系结构;
图6示意性地示出了根据本发明的一些优选实施例的捕获集群节点并将其部署在诊断云中的过程;
图7示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的方法的流程图;
图8示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的方法的流程图;
图9示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的装置;以及
图10示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的装置。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理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,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及移动桌面。
图4示意性地示出了根据本发明的一些实施例的用于诊断运行在云环境中的软件产品的问题的系统的体系结构。
如图所示,在云环境中部署有诊断代理401,诊断代理401可实时监视软件产品的运行,判断是否监视到软件产品运行中的问题,以及响应于判断监视到软件产品运行中的问题,诊断代理401向诊断控制器402报告。该诊断控制器402可位于所述云环境之外。所述云环境可包括测试云或用户云。测试云是指在其中进行软件产品的测试的云环境;而用户云是指使用软件产品的用户的用于在其中运行软件产品的云环境。
优选地,诊断代理401可例如从诊断控制器402获取诊断配置数据,诊断配置数据优选是可由用户配置的,并可包括触发条件。所述诊断配置数据可以存储在由诊断控制器402维护的诊断配置储存库403中。诊断代理401可通过判断软件产品运行的输出是否与触发条件匹配来判断是否监视到软件产品运行中的问题。所述软件产品运行的输出可以是软件产品运行中产生的踪迹/日志,或者产生的异常。相应地,所述触发条件也可包括软件产品运行中的异常和/或踪迹模式(trace pattern)。
诊断控制器402接收来自诊断代理401的关于所监视的软件产品的运行中的问题的报告,分析所述报告,并根据所述分析的结果,捕获包含软件产品的整个环境(例如,用户虚拟服务器映象或测试虚拟服务器映象),并将该环境部署在诊断云中,以便在诊断云中再现问题并进行诊断。诊断控制器402可将所捕获的虚拟服务器映象首先存储在一映象储存库404中,再将映象储存库404中存储的虚拟服务器映象部署在诊断云中。
如本领域技术人员所知的,在以上描述中实际上公开了根据本发明的实施例的用于诊断运行在云环境中的软件产品的问题的方法和相应装置,为简明起见,这里不再对此描述。
图5示意性地示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的系统的体系结构。如图所示,软件产品运行在测试云或用户云中的集群系统中。集群的每个节点上部署有一诊断代理401。诊断控制器402与各诊断代理401通信,以向各诊断代理401传送诊断配置信息,并从各诊断代理401接收问题报告,以及用于配置集群系统的相关信息。所有诊断代理401之间可以相互通信以交换监视的诊断信息,以及有关集群系统的配置信息。此外,诊断控制器402负责维护诊断配置数据库中的诊断配置数据,其中包括可由用户设置的用于诊断代理401和诊断控制器402的行为规则(包括触发条件和动作等)。
每个节点中的诊断代理401可以是运行在后台的程序。诊断代理401的行为可由来自诊断控制器402的诊断配置数据定制。诊断配置数据定义了触发条件类型、触发条件以及相应的动作。动作可以是在诊断配置数据库中定义和存储的指令代码或脚本。
在大多数情况下,集群系统中存在多种类型的节点。例如,在典型的企业应用体系结构中,有web服务器节点、应用服务器节点、数据库节点。web服务器节点负责接收请求并将请求转发给应用服务器节点,应用服务器节点运行业务逻辑并从数据库节点获取数据。不同类型的节点承担不同的计算任务和不同级别的工作负荷。因此,在本发明的实施例中,不同节点上的诊断代理401被配置以不同的触发条件和动作。
与具有静态集群拓扑定义的传统集群系统相比,云中的集群具有动态弹性。集群可以随着工作负荷的变化通过添加或去除节点来伸缩(这也被称为动态水平伸缩)。在本发明的实施例中,每个诊断代理401具有p2p协议,且具有与其他节点上的诊断代理401协商的能力。当新节点加入集群时,其他节点可意识到它并与它通信。
在本发明的实施例中,每当一个节点启动时,其诊断代理401可根据其节点类型从诊断控制器402获取相应的诊断配置数据。诊断代理401可将这些诊断配置数据载入节点的存储器中。然后,诊断代理401监视节点的运行时数据和应用系统的日志/踪迹,并实时分析日志/踪迹。同时,诊断代理401将所监视的这些数据,特别是异常数据(例如,经常的存储器不足、关键组件中的空指针异常、特定的踪迹模式、CPU长时间空闲、进程死锁等),与诊断配置数据进行实时比较。特别是对于与踪迹模式相关的数据,诊断代理401可通过正则表达式匹配或其他语法和语义工具进行比较。
诊断配置数据可通过诊断控制器402按节点类型来分类。例如,诊断配置数据可以如下所示:
表一
在上述示例中,行为规则001和002是为“应用服务器”节点类型定义的。应用服务器节点中的诊断代理401持续地监视运行在应用服务器上的业务应用的踪迹。运行在该服务器上的业务应用具有收集其承担的业务事务的数量的能力;如果在几分钟内没有业务逻辑在其上运行,则它将在踪迹中输出一个警告。该警告指示该业务应用已处于空闲状态一段时间,这可能意味着整个集群或应用本身发生了某种错误。一旦诊断代理401发现踪迹匹配了模式“[App]警告:在该服务器中在${period}分钟内没有业务逻辑运行”(“${period}”为可由用户设置的分钟数),则采取该行为规则所指定的动作。上表中的动作可以是可由诊断代理401执行的命令或脚本文件。在该例子中,动作是命令或脚本或两者的组合,即诊断代理401首先与其他节点上的诊断代理401对话以获知其他节点上是否发生同样的事,如果是则向诊断控制器402报告。
行为规则002指定了致命运行时异常,例如NullPointerException(在某些极大的工作负荷中会产生该异常),或某些内部定义的致命异常(可由在复杂环境中触发的编程错误产生)。相应的动作是一个将日志提交给诊断控制器402的命令。
对于web服务器节点类型,行为规则003指定了踪迹模式匹配。每当诊断代理401发现与指定的踪迹模式匹配的踪迹,它就采取向诊断控制器402报告的动作。
在诊断控制器402所维护的诊断配置数据中,还可包括用于配置诊断控制器402本身的诊断配置数据。例如,这种诊断配置数据可以如下所示:
表二
在上述诊断配置数据中,为诊断控制器402定义了三个行为规则。根据行为规则001,当诊断控制器402接收到诊断代理401提交的关于踪迹模式匹配“[App]警告:在该服务器中在${period}分钟内没有业务逻辑运行”的报告时,存在两个可能的原因:一个原因是存在很少的对系统服务的请求,因此大多数节点空闲;另一个原因是大多数其他节点很忙,而特定节点空闲了很大时间,在这种情况下在集群或应用本身中一定存在某种错误。因此,诊断控制器402指示其他节点报告它们是否有这种类型的踪迹模式匹配。
一旦诊断控制器402接收到多个节点(例如,全部或大多数节点)的报告,则它使用行为规则001和002的“多节点踪迹模式匹配”策略。如果已经有超过80%的节点匹配:“[App]警告:在该服务器中在${period}分钟内没有业务逻辑运行”,且报告的节点匹配:“[App]警告:在该服务器中在${period}分钟内没有业务逻辑运行”,这意味着系统处于低工作压力下,因而大多数节点是空闲的。在这种情况下,不需要采取进一步的动作。
然而,如果已经有超过80%的节点匹配:“[App]信息:在${period}分钟内处理了${numbers}个事务”,而当前报告节点匹配:“[App]警告:在该服务器中在${period}分钟内没有业务逻辑运行”,这指示一定存在错误。此时,需要进行集群捕获。
除了以上用于诊断节点和诊断控制器402的诊断配置数据外,还存在用于整个集群的定制的系统模式元数据。系统模式元数据包括用于构建集群系统的任何相关配置数据(例如,集群配置文件中的数据项、或集群数据库中的某些配置表字段)。例如,系统配置元数据可如下表所示。
表三
诊断代理401将为每个节点动态收集这些系统模式元数据,并将其发送到诊断控制器402。诊断控制器402收集并合并所有节点的系统模式元数据,以形成系统模式。与传统的静态系统模式部署不同,云环境中的系统模式随着弹性伸缩性而变化。每当新的节点加入,其上的诊断代理401开始收集其配置,并与其他节点和集群管理器通信。该节点的诊断代理401将其配置发送到诊断控制器402。同时,其他节点的配置数据也可能发生变化(例如,节点管理器将发现该集群成员并相应更改某些集群配置),并且这些变化将被更新到诊断控制器402。
当诊断控制器402根据对来自诊断代理401的报告的分析决定复制集群(如根据表二中的行为规则决定的)时,诊断控制器402发起捕获所有节点的映象。于是,对于每个节点,将存在捕获的映象和相应的配置数据(即系统模式元数据),所述映象和配置数据可用于部署一个与原来一样的新节点。诊断控制器402发起部署每个节点的映象。当每个节点的映象被部署后,在新部署的节点中获取并激活相应的系统模式元数据(节点配置、集群数据库配置、节点关联配置)。这样,节点可采用所有这些配置从而形成新的相同的集群系统。
图6示意性地示出了根据本发明的一些优选实施例的捕获集群节点或将其部署在诊断云中的过程。如图所示,诊断控制器402捕获集群中的节点A和节点B的映象,同时从节点A和节点B上的诊断代理401收集节点配置、数据库配置和关联配置(即系统模式元数据),所述节点映象和系统模式元数据可构成系统模式;然后,将节点映象部署在诊断云中的节点上,并将各节点的系统模式元数据部署在诊断云中的各节点中,从而在诊断云中创建一个相同的集群。
应指出的是,以上仅是对本发明的具体实施例的示例性说明,而不是对本发明的限制。在以上描述中公开了大量的技术细节,在本发明的特定实施例中,可不包括这些技术细节中的一些。此外,如本领域技术人员可知的,以上描述中实际上公开了根据本发明的一些优选实施例的方法和装置。为更清楚起见,现参考附图更具体地描述这些方法和装置。
图7示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的方法的流程图,其中所述软件产品在测试云或用户云中的集群系统中运行。该方法可由在集群系统中的每个节点上部署的诊断代理401执行。如图所示,该方法包括如下步骤:
在步骤701,响应于一节点加入云环境,在该节点上部署诊断代理集群系统。
在步骤703,所述诊断代理401判断是否监视到软件产品运行中的问题。
在步骤704,响应于判断监视到软件产品运行中的问题,诊断代理401将向诊断控制器402报告。如果在步骤703判断未监视到软件产品运行中的问题,则诊断代理401可返回到步骤704继续判断是否监视到软件产品运行中的问题。
根据本发明的一实施例,该方法还包括如下可选步骤:
在可选步骤705,响应于节点上部署了诊断代理,该诊断代理401动态收集用于部署在云环境中的集群系统的相关配置数据。所述相关配置数据可被称为系统模式元数据。该步骤只要在步骤701后,步骤706之前执行即可,与步骤702、703、704没有执行先后顺序的限制。
在可选步骤706,所述诊断代理401将所述用于部署在云环境中的集群系统的相关配置数据发送到诊断控制器402。该步骤只要在步骤705后执行即可,与步骤702、703、704没有执行先后顺序的限制。
根据本发明的一实施例,该方法还包括如下可选步骤:
在可选步骤702,诊断代理401获取诊断配置数据,所述诊断配置数据包括触发条件,且其中,所述诊断代理401判断是否监视到软件产品运行中的问题的步骤703包括:所述诊断代理401判断软件产品运行的输出是否与触发条件匹配。
优选地,所述诊断配置数据是可以由用户定制的。所述诊断配置数据可被存储在由诊断控制器402所维护的一诊断配置储存库403中,从而诊断代理401可以从诊断配置储存库403中获取诊断配置数据。
优选地,所述诊断配置数据可按照节点类型进行分类,这样,不同类型节点中的诊断代理401可以分别获取用于该类型节点的诊断配置数据。
根据本发明的一实施例,所述触发条件包括软件产品运行中的异常和/或踪迹模式。相应地,所述软件产品运行的输出可包括软件产品运行时所产生的异常以及输出的踪迹或日志。
根据本发明的一实施例,所述诊断配置数据还包括对应于触发条件的动作,且所述响应于判断监视到软件产品运行中的问题,诊断代理401向诊断控制器402报告还包括:响应于判断软件产品运行的输出与触发条件匹配,执行与匹配的触发条件相应的动作。也就是说,在诊断配置数据中规定的对应于触发条件的动作是将问题报告给诊断控制器402,所述问题例如为软件产品运行中产生与的触发条件匹配的异常或踪迹模式。
根据本发明的一实施例,所述响应于判断监视到软件产品运行中的问题,诊断代理向诊断控制器报告还包括:与云环境中的其他节点上的诊断代理401通信,来获得所述其他节点上的诊断代理401所监视的软件产品的运行情况。也就是说,在诊断配置数据中规定的对应于触发条件的动作包括与其他节点上的诊断代理401通信,以获得所述诊断代理401所监视的软件产品在其他节点上的运行情况。此外,所述动作还可以进一步包括对软件产品在其他节点上的运行情况进行判断,并根据判断结果向诊断控制器402报告。
根据本发明的一实施例,所述用于部署在云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。当然,这些数据仅为示例,所述用于部署在云环境中的集群系统的相关配置数据可以包括构建集群系统所需的任何配置数据。
图8示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的方法的流程图,其中,所述软件产品在测试云或用户云中的集群系统中运行。该方法可由诊断控制器402执行。如图所示,该方法包括如下步骤:
在步骤801,接收来自云环境中部署的诊断代理401的关于所监视的软件产品的运行中的问题。其中。在集群系统中的每个节点上部署有诊断代理401。
在可选步骤802,通过分析所述报告,判断是否要复制软件产品的整个环境。响应于所述判断为是,捕获包含软件产品的整个环境,并将该环境部署在诊断云中,
根据本发明的一实施例,根据从各节点的收集的数据以及诊断控制器的预定义规则来判断是否要复制软件产品的整个环境;以及响应于所述判断为是,捕获包含软件产品的整个环境,并将该环境部署在诊断云中。也就是说,步骤802可通过用于诊断控制器402的诊断配置数据(如表二中所示)来实现。该诊断配置数据可包括触发条件和相应动作。触发条件可以包括致命异常或特定的踪迹模式。相应动作可以包括判断或启动复制软件产品的整个环境。当来自诊断代理401的报告与这样的触发条件匹配时,执行相应动作,即判断复制软件产品的整个环境。相应动作还可以包括指示其他节点上部署的诊断代理401提交关于相同问题的报告,该相应动作与作为触发条件的特定的踪迹模式对应。
根据本发明的实施例,所述捕获包含软件产品的整个环境,并将该环境部署在诊断云中包括如下步骤:
在可选步骤803,捕获所述软件产品的集群环境中每个节点的映象。
在本发明的一实施例中,诊断控制器402可以将所捕获的每个节点的映象存储在一映象储存库404中。
在可选步骤804,收集来自部署在集群系统中的每个节点上的诊断代理401的用于部署在云环境中的集群系统的相关配置数据。所述相关配置数据也可称为系统模式元数据(例如,如表3中所示的)。所述系统模式元数据可以由诊断代理401在其运行过程中实时地收集。诊断代理401可以将所收集的系统模式元数据实时提供给诊断控制器402以由诊断控制器接收,或者可以将其存储在节点上,并由诊断控制器402在复制集群系统时统一收集。
在步骤805,将所述每个节点的映象部署在诊断云中。在本发明的一实施例中,诊断控制器402可以将每个节点的映象从映象储存库404部署在诊断云中。
根据本发明的实施例,所述用于部署在云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
在步骤806,使用所述用于部署在云环境中的集群系统的相关配置数据对诊断云中的每个节点进行配置,就在诊断云中重建集群系统。这样,在诊断云中重建的集群系统将与原集群系统相同,并可用于问题再现和诊断。
在本发明的一实施例中,响应于步骤802的判断为否,返回步骤801,以指示其他节点上部署的诊断代理401提交关于相同问题的报告。
在本发明的一实施例中,诊断控制器402可以首先将从每个节点上的诊断代理401收集的系统模式元数据合并,以产生系统模式,并可将其存储在诊断配置储存库403或一单独的系统模式储存库中。诊断控制器402可以协调在诊断云中的每个节点上的诊断代理401(因为诊断代理也随着节点映象一起被复制)进行系统恢复。每个诊断代理401可以从诊断配置储存库403或系统模式储存库中获取相应的系统模式数据以恢复节点的配置。当然,诊断控制器402也可以自行进行系统恢复。
如本领域技术人员所知的,在本发明的一些实施例中,以上所述和在图7及图8中分别示出的用于诊断运行在云环境中的软件产品的问题的方法实际上可以合并为单个用于诊断运行在云环境中的软件产品的问题的方法。此外,以上所述和在图7及图8中分别示出的方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含、功能等关系可以与所描述和示出的不同。
图9示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的装置,所述软件产品在测试云或用户云中的集群系统中运行,该装置包括:
部署模块901,被配置为响应于一节点加入云环境,在该节点上部署的诊断代理;
判断模块902,被配置为由诊断代理判断是否监视到软件产品运行中的问题;
报告模块903,被配置为响应于判断监视到软件产品运行中的问题,由诊断代理向诊断控制器402报告。
根据本发明的实施例,该装置还包括可选的收集模块904,被配置为收集用于部署在云环境中的集群系统的相关配置数据,并将所述用于部署在云环境中的集群系统的相关配置数据发送到诊断控制器402。
根据本发明的一实施例,该装置还包括:可选的获取模块905,用于获取诊断配置数据,所述诊断配置数据包括触发条件,且其中,所述被配置为判断是否监视到软件产品运行中的问题的判断模块902进一步被配置为:判断软件产品运行的输出是否与触发条件匹配。
根据本发明的一实施例,所述触发条件包括软件产品运行中的异常和/或踪迹模式。
根据本发明的一实施例,所述用于部署在云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
根据本发明的一实施例,所述诊断配置数据还包括对应于触发条件的动作,且所述被配置为响应于判断监视到软件产品运行中的问题,向诊断控制器402报告的报告模块903还包括:用于响应于判断软件产品运行的输出与触发条件匹配,执行与匹配的触发条件相应的动作的装置。
根据本发明的一实施例,所述被配置为响应于判断监视到软件产品运行中的问题,向诊断控制器报告的报告模块903还包括:用于与集群系统中的其他节点上的诊断代理401通信,来获得所述其他节点上的诊断代理401所监视的软件产品的运行情况的装置。
图10示出了根据本发明的一些优选实施例的用于诊断运行在云环境中的软件产品的问题的装置,该装置可称为诊断控制器402,该装置包括:
接收模块1001,被配置为接收来自测试云或用户云中部署的诊断代理401的关于所监视的软件产品的运行中的问题的报告;
部署模块1005,被配置为将所述云环境中的每个节点的映象部署在诊断云中;以及
配置模块1006,被配置为使用所述用于部署在云环境中的集群系统的相关配置数据对诊断云中的每个节点进行配置,从而在诊断云中重建集群系统。
根据本发明的实施例,该装置还包括如下可选模块:
可选的捕获模块1003,被配置为捕获所述软件产品的集群系统中每个节点的映象;以及
可选的收集模块1004,被配置为收集来自部署在集群系统中的每个节点上的诊断代理401的用于部署在云环境中的集群系统的相关配置数据;
根据本发明的实施例,所述用于部署在云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
根据本发明的实施例,该装置还包括如下可选模块:
判断模块,被配置为根据从各节点的收集的数据以及诊断控制器的预定义规则来判断是否要复制软件产品的整个环境;
且其中,所述捕获和部署模块被配置为响应于所述判断为是,捕获包含软件产品的整个环境,并将该环境部署在诊断云中。
如本领域技术人员所知的,在本发明的一些实施例中,以上所述和在图9及图10中分别示出的用于诊断运行在云环境中的软件产品的问题的装置实际上可以合并为单个用于诊断运行在云环境中的软件产品的问题的系统。此外,以上所述和在图9及图10中分别示出的装置可具有更多、更少或不同的模块,且各模块之间的连接、包含、功能等关系可以与所描述和示出的不同。
应指出的是,本说明书及附后的权利要求书中所述的诊断代理、诊断控制器及装置中的各模块的名称等仅是为叙述方便而起的名称,而不对本发明的技术方案有任何限制。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (20)

1.一种用于诊断运行在云环境中的软件产品的问题的方法,包括:
接收来自所述云环境中的节点上部署的诊断代理的关于所监视的所述软件产品的运行中的问题;
捕获包含该软件产品的所述云环境,并将该云环境部署在诊断云中,且该步骤包括:
将所述云环境中的每个节点的映象部署在所述诊断云中;以及
使用用于部署在云环境中的集群系统的相关配置数据对所述诊断云中的每个节点进行配置。
2.根据权利要求1的方法,其中,所述捕获包含该软件产品的所述云环境,并将该云环境部署在诊断云中的步骤还包括:
捕获所述软件产品的所述云环境中每个节点的映象;以及
收集来自于部署在所述云环境中的每个节点上的诊断代理的用于部署在该云环境中的集群系统的相关配置数据。
3.根据权利要求1的方法,其中,所述用于部署在该云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
4.根据权利要求1至3中任何一个的方法,其中还包括:
根据从各节点收集的数据以及该云环境的诊断控制器的预定义规则来判断是否要复制该软件产品的整个云环境;以及
响应于所述判断为是,捕获包含该软件产品的整个云环境,并将该云环境部署在所述诊断云中。
5.一种用于诊断运行在云环境中的软件产品的问题的方法,该方法包括:
响应于一节点加入所述云环境,在该节点上部署诊断代理;
所述诊断代理判断是否监视到软件产品运行中的问题;以及
响应于判断监视到所述软件产品运行中的问题,所述诊断代理向诊断控制器报告;
响应于所述节点上部署了诊断代理,该诊断代理动态收集用于部署在云环境中的集群系统的相关配置数据,并将所述用于部署在云环境中的集群系统相关配置数据发送到所述诊断控制器。
6.根据权利要求5的方法,其中,所述用于部署在云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
7.根据权利要求5所述的方法,该方法还包括:
所述诊断代理从所述诊断控制器获取诊断配置数据,所述诊断配置数据包括触发条件,且其中,所述诊断代理判断是否监视到所述软件产品运行中的问题包括:所述诊断代理判断所述软件产品运行的输出是否与所述触发条件匹配。
8.根据权利要求7的方法,其中,所述触发条件包括所述软件产品运行中的异常和/或踪迹模式。
9.根据权利要求7的方法,其中,所述诊断配置数据还包括对应于所述触发条件的动作,且所述响应于判断监视到所述软件产品运行中的问题,所述诊断代理向诊断控制器报告还包括:响应于判断软件产品运行的输出与所述触发条件匹配,执行所述对应于所述触发条件的动作。
10.根据权利要求7或9的方法,所述响应于判断监视到所述软件产品运行中的问题,所述诊断代理向诊断控制器报告还包括:与该云环境中的其他节点上的诊断代理通信,来获得所述其他节点上的诊断代理所监视的所述软件产品的运行情况。
11.一种用于诊断运行在云环境中的软件产品的问题的装置,包括:
接收模块,被配置为接收来自所述云环境中的节点上部署的诊断代理的关于所监视的所述软件产品的运行中的问题的报告;
捕获和部署模块,被配置为捕获包含该软件产品的所述云环境,并将该云环境部署在诊断云中,且该捕获和部署模块包括:
部署模块,被配置为将所述云环境中的每个节点的映象部署在所述诊断云中;以及
配置模块,被配置为使用用于部署在云环境中的集群系统的相关配置数据对所述诊断云中的每个节点进行配置。
12.根据权利要求11的装置,其中,所述捕获和部署模块还包括:
捕获模块,被配置为捕获所述软件产品的所述云环境中每个节点的映象;以及
收集模块,被配置为收集来自于部署在所述云环境中的每个节点上的诊断代理的用于部署在该云环境中的集群系统的相关配置数据。
13.根据权利要求11的装置,其中,所述用于部署在该云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
14.根据权利要求11至13中任何一个的装置,其中还包括:
判断模块,被配置为根据从各节点的收集的数据以及该云环境的诊断控制器的预定义规则来判断是否要复制该软件产品的整个云环境;
且其中,所述捕获和部署模块被配置为响应于所述判断为是,捕获包含该软件产品的整个云环境,并将该云环境部署在所述诊断云中。
15.一种用于诊断运行在云环境中的软件产品的问题的装置,该装置包括:
部署模块,被配置为响应于一节点加入所述云环境,在该节点上部署诊断代理;
判断模块,被配置为判断是否监视到软件产品运行中的问题;
报告模块,被配置为响应于判断监视到所述软件产品运行中的问题,向诊断控制器报告;以及
收集模块,被配置为响应于所述节点上部署了诊断代理,由该诊断代理动态收集用于部署在云环境中的集群系统的相关配置数据,并将所述用于部署在云环境中的集群系统的相关配置数据发送到所述诊断控制器。
16.根据权利要求15的装置,其中,所述用于部署在云环境中的集群系统的相关配置数据包括:节点配置数据、集群数据库配置数据以及节点关联配置数据。
17.根据权利要求15的装置,还包括:
获取模块,被配置为由所述诊断代理从所述诊断控制器获取诊断配置数据,所述诊断配置数据包括触发条件,
且其中,所述被配置为判断是否监视到所述软件产品运行中的问题的判断模块进一步被配置为:判断所述软件产品运行的输出是否与所述触发条件匹配。
18.根据权利要求17的装置,其中,所述触发条件包括所述软件产品运行中的异常和/或踪迹模式。
19.根据权利要求17的装置,其中,所述诊断配置数据还包括对应于所述触发条件的动作,且所述被配置为响应于判断监视到所述软件产品运行中的问题,向诊断控制器报告的报告模块还包括:用于响应于判断软件产品运行的输出与所述触发条件匹配,执行所述对应于所述触发条件的动作的装置。
20.根据权利要求17或19的装置,其中,所述被配置为响应于判断监视到所述软件产品运行中的问题,向诊断控制器报告的报告模块还包括:用于与该云环境中的其他节点上的诊断代理通信,来获得所述其他节点上的诊断代理所监视的所述软件产品的运行情况的装置。
CN201210424375.1A 2012-10-30 2012-10-30 用于诊断运行在云环境中的软件产品的问题的方法和装置 Expired - Fee Related CN103795749B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210424375.1A CN103795749B (zh) 2012-10-30 2012-10-30 用于诊断运行在云环境中的软件产品的问题的方法和装置
US14/059,903 US9218231B2 (en) 2012-10-30 2013-10-22 Diagnosing a problem of a software product running in a cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210424375.1A CN103795749B (zh) 2012-10-30 2012-10-30 用于诊断运行在云环境中的软件产品的问题的方法和装置

Publications (2)

Publication Number Publication Date
CN103795749A CN103795749A (zh) 2014-05-14
CN103795749B true CN103795749B (zh) 2017-03-01

Family

ID=50548624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210424375.1A Expired - Fee Related CN103795749B (zh) 2012-10-30 2012-10-30 用于诊断运行在云环境中的软件产品的问题的方法和装置

Country Status (2)

Country Link
US (1) US9218231B2 (zh)
CN (1) CN103795749B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2698680B1 (en) * 2012-08-13 2015-06-10 Uptime Engineering GmbH Method for testing the reliability of complex systems
US9471474B2 (en) * 2013-08-19 2016-10-18 Microsoft Technology Licensing, Llc Cloud deployment infrastructure validation engine
US10237161B2 (en) * 2013-12-11 2019-03-19 Ca, Inc. System and method for dynamically testing networked target systems
US9141364B2 (en) * 2013-12-12 2015-09-22 International Business Machines Corporation Caching and analyzing images for faster and simpler cloud application deployment
CN104331367A (zh) * 2014-11-12 2015-02-04 浪潮(北京)电子信息产业有限公司 Java工程项目开发中异常处理的方法及系统
JP6421600B2 (ja) * 2015-01-05 2018-11-14 富士通株式会社 障害監視装置、障害監視プログラム、障害監視方法
US9606894B2 (en) * 2015-03-04 2017-03-28 International Business Machines Corporation Collaborative collection of diagnostics data of software programs
US10057142B2 (en) * 2015-08-19 2018-08-21 Microsoft Technology Licensing, Llc Diagnostic framework in computing systems
IN2015CH05184A (zh) 2015-09-28 2015-10-16 Wipro Ltd
CN105677503B (zh) * 2016-01-13 2018-10-26 北京光年无限科技有限公司 一种软件异常处理方法及针对软件的异常自保护系统
US10289526B2 (en) 2017-02-06 2019-05-14 Microsoft Technology Licensing, Llc Object oriented data tracking on client and remote server
US20180302486A1 (en) * 2017-04-12 2018-10-18 Futurewei Technologies, Inc. Proxy apparatus and method for data collection
US10379996B2 (en) 2017-07-05 2019-08-13 Juniper Networks, Inc. Software analytics platform
WO2020014633A1 (en) * 2018-07-13 2020-01-16 Schneider Electric USA, Inc. Late stage device configuration and behavior pattern-based validation
CN108984417B (zh) * 2018-08-15 2022-06-03 北京达佳互联信息技术有限公司 软件测试方法、装置、终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110067169A (ko) * 2009-06-04 2011-06-21 유니시스 코포레이션 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처
US8140905B2 (en) * 2010-02-05 2012-03-20 International Business Machines Corporation Incremental problem determination and resolution in cloud environments
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN102546807A (zh) * 2012-01-17 2012-07-04 上海宏舜电子科技有限公司 基于云计算架构的网络服务系统
CN102650964A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 用于监控面向对象的应用的方法、系统和自监控系统
CN102713880A (zh) * 2010-01-04 2012-10-03 微软公司 用于基于云的服务和应用的监视联盟

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165194B2 (en) 2002-12-09 2007-01-16 International Business Machines Corporation Technical support for software products
US7496783B1 (en) * 2006-02-09 2009-02-24 Symantec Operating Corporation Merging cluster nodes during a restore
US20080244325A1 (en) 2006-09-30 2008-10-02 Mikhail Tyulenev Automated software support system with backwards program execution and debugging
US7769864B2 (en) 2007-08-02 2010-08-03 Sap Ag Adaptation of clusters to virtualization technologies
US9703659B2 (en) 2007-12-10 2017-07-11 Dell Products L.P. Customer support using virtual machines
US8762642B2 (en) * 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
US20100332629A1 (en) * 2009-06-04 2010-12-30 Lauren Ann Cotugno Secure custom application cloud computing architecture
US8316125B2 (en) 2009-08-31 2012-11-20 Red Hat, Inc. Methods and systems for automated migration of cloud processes to external clouds
US8769083B2 (en) * 2009-08-31 2014-07-01 Red Hat, Inc. Metering software infrastructure in a cloud computing environment
US8813039B2 (en) 2010-04-14 2014-08-19 International Business Machines Corporation Method and system for software defect reporting
US8924791B2 (en) 2010-08-30 2014-12-30 Hewlett-Packard Development Company, L.P. System including a vendor computer system for testing software products in a cloud network
US8418000B1 (en) * 2012-03-13 2013-04-09 True Metrics LLC System and methods for automated testing of functionally complex systems
EP2859460A4 (en) * 2012-06-08 2016-01-06 Hewlett Packard Development Co TESTING AND MANAGING CLOUD COMPUTING APPLICATIONS
WO2014165538A2 (en) * 2013-04-01 2014-10-09 Nebula, Inc. Update management for a distributed computing system
US9195542B2 (en) * 2013-04-29 2015-11-24 Amazon Technologies, Inc. Selectively persisting application program data from system memory to non-volatile data storage
US9110864B2 (en) * 2013-06-25 2015-08-18 International Business Machines Corporation Fault tolerance solution for stateful applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110067169A (ko) * 2009-06-04 2011-06-21 유니시스 코포레이션 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처
CN102713880A (zh) * 2010-01-04 2012-10-03 微软公司 用于基于云的服务和应用的监视联盟
US8140905B2 (en) * 2010-02-05 2012-03-20 International Business Machines Corporation Incremental problem determination and resolution in cloud environments
CN102650964A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 用于监控面向对象的应用的方法、系统和自监控系统
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN102546807A (zh) * 2012-01-17 2012-07-04 上海宏舜电子科技有限公司 基于云计算架构的网络服务系统

Also Published As

Publication number Publication date
US20140122935A1 (en) 2014-05-01
CN103795749A (zh) 2014-05-14
US9218231B2 (en) 2015-12-22

Similar Documents

Publication Publication Date Title
CN103795749B (zh) 用于诊断运行在云环境中的软件产品的问题的方法和装置
US20210311858A1 (en) System and method for providing a test manager for use with a mainframe rehosting platform
Xu et al. Systems approaches to tackling configuration errors: A survey
US7827438B2 (en) Distributed testing system and techniques
TW200404221A (en) Method and apparatus for root cause identification and problem determination in distributed systems
US9507587B2 (en) Application-centric resources and connectivity configuration
Remenska et al. Using model checking to analyze the system behavior of the LHC production grid
Wang et al. Automated test case generation for the Paxos single-decree protocol using a Coloured Petri Net model
Siqueira et al. Testing of adaptive and context‐aware systems: approaches and challenges
Anjos et al. BIGhybrid: a simulator for MapReduce applications in hybrid distributed infrastructures validated with the Grid5000 experimental platform
Rover et al. Software tools for complex distributed systems: Toward integrated tool environments
Endo Model based testing of service oriented applications
Ferreira Reactive Microservices-An Experiment
Wang et al. Cloud service in stock trading game: Service virtualization, integration and financial application
de Gooijer Performance modeling of ASP. Net web service applications: an industrial case study
US11611500B2 (en) Automated network analysis using a sensor
da Costa Ferreira Reactive Microservices-An Experiment
Herrera et al. Check for updates Cloud-Native Architecture for Distributed Systems that Facilitates Integration with AIOps Platforms
Bharde et al. FLEET: Fluid Layout of End to End Topology
Barve Principles and Techniques for Performance Management and Validation of Cloud Hosted Distributed Applications
Nikolaidis et al. Event-Driven Chaos Testing for Containerized Applications
Sebastião The Role of a Microservice Architecture on cybersecurity and operational resilience in critical systems
Sivasubramanian Architecture quality attributes for knowledge management systems
Tran Developing web services with serverless architecture
Miglierina Monitoring modern distributed software applications: challenges and solutions

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: 20170301