CN104583960B - 在线服务的事务级健康监控 - Google Patents

在线服务的事务级健康监控 Download PDF

Info

Publication number
CN104583960B
CN104583960B CN201380044323.4A CN201380044323A CN104583960B CN 104583960 B CN104583960 B CN 104583960B CN 201380044323 A CN201380044323 A CN 201380044323A CN 104583960 B CN104583960 B CN 104583960B
Authority
CN
China
Prior art keywords
online service
workflow
action
computer
execution
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.)
Active
Application number
CN201380044323.4A
Other languages
English (en)
Other versions
CN104583960A (zh
Inventor
M·Q·A·都
D·曹
M·达德吉卡
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN104583960A publication Critical patent/CN104583960A/zh
Application granted granted Critical
Publication of CN104583960B publication Critical patent/CN104583960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

实施例针对确认在线服务的可访问性和功能,并且调度在线服务的自动执行。在一种场景下,计算机系统接收在线服务工作流以及每个工作流的相应的预期结果。每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行指定操作的工作流步骤,所述指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果。计算机系统执行接收到的在线服务工作流中的至少一个,并且若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行。计算机系统还将所述工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较,并且生成包括比较结果的报告。

Description

在线服务的事务级健康监控
背景
计算机已变得高度集成于劳动行业、家庭、移动设备以及许多其他地点。计算机可以快速和有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行各种功能,包括企业应用、学校作业、娱乐等更多。软件应用通常被设计成执行具体任务,诸如用于撰写文档的字处理器应用、或者用于发送、接收和组织电子邮件的电子邮件程序。
在一些情况下,软件应用可以被设计成在云上运行。这些应用被提供给许多不同的用户以及许多不同类型的用户。在一些情况下,这些云提供的应用可能不可信赖或不可用,这可能导致应用的用户的生产力降低。
简要概述
此处描述的实施例针对确认在线服务的可访问性和功能,并且调度在线服务的自动执行。在一实施例中,计算机系统从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的相应预期结果。每个在线服务工作流与一在线服务相关联,每个在线服务工作流包括使在线服务执行指定操作的各个工作流步骤,所述指定操作在在线服务提供商所指定的指定时间量内产生可观察的结果。计算机系统执行接收到的在线服务工作流的至少一个,并且若在指定时间量内未完成在线服务工作流的执行则放弃该执行。计算机系统还将工作流执行的结果与对应于预期在线服务工作流的预期结果相比较,并且生成包括比较结果的报告。
在另一实施例中,计算机系统调度在线服务的自动执行。计算机系统执行以上概述的步骤,包括:接收在线服务工作流以及每个工作流的相应预期结果,执行接收到的在线服务工作流的至少一个并且若在指定时间量内未完成在线服务工作流的执行则放弃该执行,将工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较并且生成包括比较结果的报告。计算机系统还实例化调度器以便将一个或多个在线服务工作流指派给联网计算机中的至少一个,用于根据指定自动执行。在其他实施例中,计算机系统还监控在线服务工作流的正在进行的执行以确定在线服务工作流是否被正确执行。
提供该概要以便以简化形式介绍多个概念的所选概念,多个概念在以下详细描述中进一步详述。该概要不意图标识所要求保护的主题的关键特征或基本特征,也不意图帮助确定所要求保护的主题的范围。
附加的特征和好处将在以下描述中提出,其一部分对于本领域普通技术人员将从描述中显而易见,或者可以通过实现此处的原理来获悉。此处描述的实施例的特征和好处可以通过在所附权利要求中特别指出的装置和组合的手段来实现和获得。从以下描述和所附权利要求中,此处描述的实施例的特征将变得更完全地显而易见。
附图简述
为了进一步阐明此处描述的实施例的以上及其他特征,将参照附图呈现更具体的描述。可以理解,这些附图仅描述了此处描述的实施例的示例,因此不被视为限制其范围。通过使用附图将以附加的具体内容和细节来描述和说明多个实施例,附图中:
图1说明了此处描述的实施例可以在其中操作的计算机体系结构,所述操作包括:确认在线服务的可访问性和功能以及调度在线服务的自动执行。
图2说明了用于确认在线服务的可访问性和功能的示例方法的流程图。
图3说明了用于调度在线服务的自动执行的示例方法的流程图。
详细描述
此处描述的实施例针对确认在线服务的可访问性和功能以及调度在线服务的自动执行。在一实施例中,计算机系统从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的相应预期结果。每个在线服务工作流与一在线服务相关联,每个在线服务工作流包括使在线服务执行指定操作的各个工作流步骤,所述指定操作在在线服务提供商所指定的指定时间量内产生可观察的结果。计算机系统执行接收到的在线服务工作流的至少一个,并且若在指定时间量内未完成在线服务工作流的执行则放弃该执行。计算机系统还将工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较,并且生成包括比较结果的报告。
在另一实施例中,计算机系统调度在线服务的自动执行。计算机系统执行以上概述的步骤,包括:接收在线服务工作流以及每个工作流的相应预期结果,执行接收到的在线服务工作流的至少一个并且若在指定时间量内未完成在线服务工作流的执行则放弃该执行,将工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较并且生成包括比较结果的报告。计算机系统还实例化调度器以便将一个或多个在线服务工作流指派给联网计算机中的至少一个,用于根据指定自动执行。在其他实施例中,计算机系统还监控在线服务工作流的正在进行的执行以确定在线服务工作流是否被正确执行。
以下讨论现在是指可以执行的多个方法和方法动作。应当注意,尽管方法步骤可以以特定次序讨论或者在流程图中图示以特定次序发生,但是除非明确声明,不必需要任何特定的次序,或者由于动作取决于在该动作被执行之前完成的另一动作而需要特定次序。
此处描述的实施例可以包括或使用包括如以下将进一步详细讨论的诸如例如一个或多个处理器和系统存储器的计算机硬件的专用或通用计算机。此处描述的实施例也包括用于传送或存储计算机可执行指令和/或数据结构的物理及其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储以数据形式的计算机可执行指令的计算机可读介质是计算机存储介质。传送计算机可执行指令的计算机可读介质是传输介质。因此,通过示例、但非限制,此处描述的实施例可以包括至少两种完全不同种类的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM、基于RAM的固态驱动器(SSD)、闪存、相变存储器(PCM)或者其他类型的存储器、或者其他光盘存储器、磁盘存储器或其他磁性存储设备、或者任何其他介质,该任何其他介质可用于存储形式为计算机可执行指令、数据或数据结构的期望程序代码装置、并且可由通用或专用计算机存取。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备间进行电子数据的传输的一个或多个数据链路和/或数据交换器。当信息通过网络(或硬线、无线、或是硬线或无线的组合)被传输或提供至计算机时,计算机将该连接适当地视为传输介质。传输介质可以包括可用于传送数据或形式为计算机可执行指令或形式为数据结构的期望程序代码装置的网络,该网络可由通用或专用计算机存取。以上的组合也应被包括于计算机可读介质的范围内。
而且,在达到各个计算机系统组件之际,形式为计算机可执行指令或数据结构的程序代码装置可以从传输介质自动地传输至计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可以在网络接口模块(例如,网络接口卡或“NIC”)内的RAM中被缓冲,然后最终被传输至计算机系统RAM和/或计算机系统处的较不易失的计算机存储介质。因此应当理解,计算机存储介质可以被包括于也(或甚至主要)使用传输介质的计算机系统组件中。
计算机可执行(或计算机可解译)的指令包括例如:使通用计算机、专用计算机或专用处理设备执行一特定功能或一组功能的指令。计算机可执行指令可以是诸如汇编语言这样的例如二进制、中间格式指令,或甚至是源代码。尽管已经用对于结构特征和/或方法动作特定的语言描述了主题,但应当理解,所附权利要求中定义的主题不必要限于所述的特征或者上述的动作。而是所述的特征和动作以实现权利要求的示例形式公开。
本领域技术人员将理解,各个实施例可以在具有许多类型的计算机系统配置的网络计算环境中实现,计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼器、路由器、交换机等等。此处描述的实施例也可以在分布式系统环境中实现,在分布式系统环境中,本地的和远程的计算机系统通过网络相链接(或通过硬线数据链接、无线数据链接或通过硬线和无线数据链接的组合),每个都执行多个任务(例如,云计算、云服务等)。在分布式系统环境中,程序模块可以位于本地的和远程的存储器存储设备中。
另外地或替代地,此处描述的功能可以至少部分由一个或多个硬件逻辑组件执行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括场可编程门阵列(FPGA)、程序专用集成电路(ASIC)、程序专用标准产品(ASSP)、片上芯片系统(SOC)、复杂可编程逻辑器件(CPLD)以及其他类型的可编程硬件。
图1说明了其中可采用至少一个实施例的计算机体系结构100。计算机体系结构100包括计算机系统101。计算机系统101可以是任何类型的本地或分布式计算机系统,包括云计算系统。计算机系统包括用于执行多种不同功能的各个模块。例如,工作流接收模块115可以从在线服务提供商105接收在线服务工作流107。在线服务提供商105可以是提供在线服务(例如106)的任何类型的用户、商业组织或其他实体。在线服务可以是通过因特网提供的任何类型的功能(例如,网站、电子邮件服务、购物功能等)。在线服务可以是单个服务或者可以包括许多其他应用或服务。
在线服务工作流107可由工作流执行模块120执行。通过结果比较模块125,工作流121的结果可以与在线服务提供商105所提供的预期结果108相比较。比较结果可以通过报告生成模块130被编译至报告131中。以下将进一步说明诸如工作流调度器135和监控模块140等其他模块。
在一些情况下,在线服务提供商105所提供的在线服务106可能需要满足特定的可靠性度量并使停机时间最小。对于生产系统中使用的那些在线服务或者对于迎合企业用户的那些服务特别如此。各种工具可用于监控主存该在线服务的计算机系统(在此也称为“机器”)的性能和可用性以确保(相对)高的运行时间。这些工具可以在服务变得不可用时发出警报。然而,在一些情况下,服务可以是可用的或可达到的,但与此同时处于防止服务正确操作的故障状态(即,以向顾客说明的方式)。
计算机系统101可以实现其各个模块以提供云事务监控(CTM)系统。CTM系统可以被配置成监控在线服务并确保它们是可用的或可达到的。CTM系统也可以在事务级上监控每个在线服务的操作。至少在一些实施例中,CTM系统具有灵活的插件模型,该灵活的插件模型允许工程师、质检人员或其他用户设计复杂的测试模块,该复杂的测试模块仿真顾客的真实或模拟工作流(例如107)、以及描述从运行这些工作流得到的预期结果108。插件模型允许测试模块被开发者的(紧密(nightly))构建放置(build drop)直接访问并且需要很少修改或不需要修改而被导入CTM系统。CTM系统会定期或按需运行测试模块,并且若工作流未完全完成或者若未达到预期结果就发出警报。在工作流执行之后,CTM系统可能能够提供什么事件出错的初步诊断,并且辅助用户(例如,开发者恢复服务功能)。
因此,如上所述,CTM系统可以以事务级监控在线服务的健康。由此,CTM系统确认服务可用性以及功能两者。各个请求被发送至在线服务,这些请求一起仿真顾客的工作流(例如,107)并且确认预期结果被观察到。当预期结果未作为运行工作流的结果而达到时,可以通过经由通信系统传播消息而向在线服务提供商自动发出警报。
在一些实施例中,可以使用专用线程来对未决的调度表定期轮询CTM系统,并且决定是否要根据指定的调度算法来获取调度表。为了对工作流执行的调度进行负载平衡,可以使用特定优选项,包括以下:要求CTM工人机器的当前配置中的最少修改对该工人更优选的工作流、以及不要求锁住计算机系统对于所有工人均优选的工作流。至少在一些情况下,获得调度表是先到先服务的。在CTM工人获得调度表之后,该调度表不再被其他工人获得。因此,可以根据调度表的优先性来处理调度表。
工作流可能要求运行该工作流的CTM工人机器具有特定的配置,包括专用操作系统版本、特别配置的系统设置或者附加的定制软件。CTM工人机器可最初部署有标准的公共配置,每个工人然后基于为执行所获取的每个工作流的配置要求来修改该标准的公共配置。另外地或替代地,一些CTM工人机器可最初部署有特定工作流所需的配置。在两种实现方式中,为了将未决的工作流分配给CTM工人池,调度器135会将工作流与具有相同或基本类似配置的CTM工人相匹配。
可以使用多个试探法来确定到每个CTM工人的特定工作流的配置成本。一个试探法是在将CTM工人的配置修改为期望配置时所涉及的多个配置步骤(现有软件的移除、所需软件的安装、应用特殊系统设置或者加载期望系统配置的预配置的图像)。每个配置步骤可以被指派一近似成本值,该近似成本值代表(在一些情况下粗略地)执行该步骤需要多长时间。例如,应用系统设置以打开工人机器上的端口可能花费1个单位,而安装一大块定制软件花费10个单位,加载期望系统配置的图像花费12个单位。将CTM工人机器修改为工作流所需配置所必要的全部配置步骤的总计成本代表了对于该CTM工人的工作流的配置成本。要求对CTM工人的配置作最少修改(即,具有最低配置成本)的工作流对于该工人是优选的。在一种不同的实现方式中,调度器135可以包括以实际时间单位跟踪每个配置步骤的成本、并且相应地分配调度表的子系统。
工作流调度器135可用于控制在线服务工作流执行的调度。每个工作流可以被称为“作业”。因此,工作流调度器可以轮询多个作业以指派给执行。可以实例化作业轮询线程,该作业轮询线程根据工人池来调节,每当获取调度表时从该池中扣除一笔费用,并且在作业被释放时还回。工人池可以在没有费用剩余时阻止该作业轮询线程。为了允许期望独占执行的情况,可以激活独占执行锁,该独占执行锁每当获取独占调度表时阻止该作业轮询线程。该锁会在调度表被释放时被释放。每个调度表在启动时被指派释放信号。当调度表被释放时,信号被激活。当获取独占调度表时,该独占调度表在启动之前等待所有现有的信号被激活。
在一些实施例中,在获取一调度表时可以激活主锁,该调度表要求当前计算机系统配置中的变化。在激活主锁时可能不执行任何调度,并且阻止作业轮询线程获取新的调度表。除了在单独的线程中同时执行每个工作流以外,CTM系统也为每个工作流分配单独的地址空间。这会通过为每个在线服务工作流创建应用域或虚拟沙箱来完成,每个在线服务工作流在完成之际或者在满足一个或多个指定条件的任一时刻被卸载。
在CTM系统在指定重试次数之后不能联系特定在线服务的情况下,工作流执行模块120将进入故障状态。工作流执行模块将在计算机系统101上维持打开连接。如果在线服务不可达,或如果工作流执行模块已进入故障状态,则CTM系统将尝试重启或重新调度该服务。
CTM系统也包括灵活的插件模型,该灵活的插件模型允许按调度表或按需来设计和运行具有复杂逻辑的在线服务。这些服务在可缩放调度器上运行,该可缩放调度器允许在一群计算机系统之间分布工作。一旦已经确定了用于运行特定工作流的期望配置,则计算机系统可被自动提供该配置。以下将参照图2和3进一步说明上述的这些及其他概念。
考虑到以上描述的系统和体系结构,参照图2和3的流程图将更好地理解可按照所公开的主题实现的方法。为说明简洁起见,方法被示出和描述为一系列块。然而应当理解和领会,所要求保护的主题不受多个块的次序所限,因为一些块可以以和此处描绘和描述的次序不同的次序发生以及/或者与其他块同时发生。此外,可能不需要所有图示的块来实现下文描述的方法。
图2说明了用于确认在线服务的可访问性和功能的方法200的流程图。现在将频繁参照环境100的组件和数据来描述方法200。
方法200包括从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使在线服务执行一个或多个指定操作的一个或多个工作流步骤,该一个或多个指定操作在在线服务提供商所指定的指定时间量内产生可观察的结果(动作210)。例如,计算机系统101的工作流接收模块115可以接收在线服务工作流107和预期结果108。预期结果可以指示要通过执行该工作流获得的特定结果、特定状态或特定输出。在线服务提供商105也可以发送指定时间110,在该指定时间110中要执行工作流的步骤109。工作流步骤被设计成在被执行时执行特定的一个功能(或多个功能)。
一旦在线服务工作流107被工作流接收模块115接收,则工作流执行模块120可以执行接收到的在线服务工作流(动作220)。如果在线服务工作流的执行未在在线服务提供商105所指定的时间110内完成,则将放弃在线服务工作流107的执行(动作230)。如果执行在指定时间内完成,则将工作流的结果121发送至结果比较模块121,结果比较模块121将工作流执行的结果与对应于执行的在线服务工作流的预期结果108相比较(动作240)。
然后,报告生成模块130使用比较结果来生成报告131(动作250)。在一些实施例中,所生成的报告可以被存储于以下的任一个或多个上:在线服务提供商105可访问的计算机可读存储介质、信息检索系统和通信系统。如果工作流结果121与预期结果108相同或基本类似,则报告将指示工作流按计划工作(或基本按计划工作)。如果实际结果和预期结果不匹配,则报告将指示工作流未按计划工作。在一些实施例中,可由在线服务提供商提供阈值,该阈值表明比较何时足够类似以保证工作流按计划工作或足够不类似而未按计划工作的指示。
在一些情况下,CTM可以确定所生成的报告包括对于至少一个在线服务工作流,工作流执行的结果与预期结果不匹配的指示(无论通过阈值还是通过某一其他确定)。CTM系统可以向在线服务提供商105指示未达到预期结果108,并且可以通过一个或多个通信系统进一步传播指示工作流的哪个步骤产生错误的消息(例如,警报216)。
如上所述,一个或多个计算机系统可以在准备执行在线服务工作流时(自动)提供。该提供可以包括以下的任一:调节计算机系统设置、安装工作流所使用的定制软件、以及移除与在线服务工作流不兼容的软件。可以使用调度器来将工作流指派给(自动提供的)联网计算机,用于定期或按需的自动执行。如上所述,在调度器中可以实现多个试探法来将工作流指派给多个计算机,使得为工作流执行提供计算机系统的时间成本被最小化。调度器可以将工作流指派给计算机,使得每个工作流的被调度的执行开始时间及其实际执行开始时间之间的时间量被最小化。
由此,在一实施例中,在线服务提供商(例如,105)可以将一个或多个包上载至云存储服务,使得这些包对于CTM系统可访问。用户(或用户组)可以配置工作流以定期执行。每个调度器可能需要在其运行之前应用不同的机器设立配置。CTM系统可允许每个CTM工人角色在多个未决调度表中间选择与其当前配置状态最接近匹配的调度表。中央调度器使用CTM系统来保持且频繁地更新与CTM的总工作负载有关的元信息、以及每个CTM模块的工作负载和当前机器配置(以便使安装和卸载定制软件所需的时间量最小化)。在一些情况下,可以实现去中央化的调度系统,其中每个CTM工人知道其自身的机器配置和工作负载,并且尽力选取调度表。这可以减轻保持元信息的需求。除了跟踪哪个CTM工人目前获得了哪个调度表以外,去中央化的调度系统有效地是无状态的。每个CTM工人角色负责知道其自身的状态并且在适当时获取更多工作。
可以实现插件模型,该插件模型允许多个不同的且任意的工作流类型被计算机系统执行,并且还允许来自构建放置的在线服务工作流指令被计算机系统执行。插件可以取决于要监控哪个服务而变化。CTM系统在插件中实现测试,所述测试允许CTM系统测试在线服务工作流。在一些情况下,在线服务提供商可以在运行时间向在线服务工作流提供一个或多个参数以在运行时间修改工作流的行为。然后,在运行时间修改工作流的行为,而无须重新部署工作流。
在一些情况下,CTM系统可以检测联网计算机群集中的一个计算机已进入故障状态并且已变得不适合工作流执行。为此检测可以采用多种方法,包括使每个联网的计算机在指定的时间间隔发送“心跳”信号。当检测到一机器已发生故障时,CTM系统可以向该机器发送重置命令以将其恢复至有功能状态。若重置命令未能将计算机系统置于有功能状态,则CTM系统可阻止计算机系统在已被修复之前获得进一步的在线服务工作流来执行。
图3说明了用于调度在线服务的自动执行的方法300的流程图。现在将频繁参照环境100的组件和数据来描述方法300。
方法300包括从在线服务提供商接收一个或多个在线服务工作流以及每个流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使在线服务执行一个或多个指定操作的一个或多个工作流步骤,该一个或多个指定操作在在线服务提供商所指定的指定时间量内产生可观察的结果(动作310)。由此,如上所述,在线服务提供商105可以将在线服务工作流107和预期结果108发送至计算机系统101的工作流接收模块115。然后,工作流执行模块120执行接收到的在线服务工作流(动作320)。如果执行未在指定时间量(110)内完成,则放弃在线服务工作流的执行(动作330)。
结果比较模块125将工作流执行(121)的结果与对应于所执行的在线服务工作流的接收到的预期结果(108)相比较(动作340)。然后,如果未达到预期结果中的一个或多个,则结果比较模块125可以向在线服务提供商105发送实时警报126,指示未达到至少一个预期结果(动作350)。警报126也可以指示工作流的哪个步骤产生错误。而且,基于比较,报告生成模块130生成包括比较结果的报告131(动作360)。计算机系统101还实例化工作流调度器135以便将一个或多个在线服务工作流107指派给至少一个联网计算机,用于根据指定(定期或按需)自动执行。各个软件依存关系可预先安装在对其指派在线服务工作流的网络计算机上。在线服务工作流可以根据所指派的调度表来执行。然后,在线服务工作流可用于确认分阶段环境中在线服务的有效,或者可被部署以在生产环境中连续地监控在线服务。
在一些情况下,在线服务在被切换至生产环境之前,可以首先被部署至分阶段或测试环境。在分阶段环境中,在线服务一般对于顾客或公众不可用。质检人员可以执行多个功能和用户界面测试以确保该服务被正确部署,并且可以按预期执行顾客场景及其他任务。仿真顾客场景的在线服务工作流被执行,其结果与预期结果相比较,且生成包括比较结果的报告,该报告向在线服务提供商表明在线服务是否已被成功部署且可以根据设计来执行顾客场景。
在一些实施例中,监控模块140可用于监控在线服务工作流的正在进行的执行,以确定在线服务工作流是否正在被正确执行。监控模块可以确定错误或故障是否发生,或执行是否以其他方式不同于它应有的方式。监控可以是连续的,或者可以在特定指定的或定期的实例处发生。在在线服务已经从分阶段环境切换至生产环境之后,监控模块可以通过仿真端到端的顾客工作流来持续地监控服务的可用性和功能。因此,在线服务若可访问、有功能并且具有可用容量,则该在线服务执行工作流中定义的操作。在线服务工作流可以从单个软件应用或者从多个不同应用被接收。由此,工作流可由共享类似功能的不同应用重复使用。
相应地,提供了定期或按需地确认在线服务的可访问性和功能的方法、系统和计算机程序产品。此外,提供了调度在线服务工作流的自动执行的方法、系统和计算机程序产品。
此处描述的概念和特征可以以其他具体形式体现,而不背离其精神或描述性的特征。所述实施例在所有方面都应被视为仅仅是说明性的而非限制性的。因此,本公开案的范围由所附权利要求书所指示,而不是由以上描述来指示。落在权利要求书等价物的含义和范围内的所有变化都被包括在其范围内。

Claims (9)

1.一种具有一个或多个联网计算机的系统,每个计算机包括以下:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由一个或多个处理器执行时,使计算系统执行一种用于确认在线服务的可访问性和功能的方法,所述方法包括以下动作:
从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行一个或多个指定操作的一个或多个工作流步骤,所述一个或多个指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果;
执行接收到的在线服务工作流中的至少一个的动作;
若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行的动作;
将所述工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较的动作;以及
生成包括比较结果的报告的动作,其中实例化调度器以将一个或多个在线服务工作流指派给所述联网计算机中的至少一个用于定期自动执行,其中所述一个或多个在线服务工作流包括在线服务处的实际的或仿真的顾客场景并被定期或按需地连续执行以在生产环境中连续地监控在线服务。
2.如权利要求1所述的计算机系统,还包括:
确定所生成的报告包括表明所述工作流执行的结果与至少一个在线服务工作流的预期结果不匹配的指示的动作;以及
向所述在线服务提供商指示未达到预期结果的动作,包括通过一个或多个通信系统传播消息。
3.如权利要求1所述的计算机系统,其特征在于,实现插件模型,所述插件模型允许多个不同的且任意的工作流类型被所述计算机系统执行、并且还允许来自构建放置的在线服务工作流指令被所述计算机系统执行。
4.如权利要求1所述的计算机系统,还包括:在运行时间向在线服务工作流提供一个或多个参数以修改所述工作流的行为。
5.如权利要求4所述的计算机系统,其特征在于,所述工作流的行为在运行时间被修改,而无须重新部署所述工作流。
6.如权利要求1所述的计算机系统,还包括:
检测联网计算机的所述系统中的一计算机已变得不适合工作流执行的动作;以及
在所述计算机系统上发起将所述计算机系统重置为有功能状态的重置命令的动作。
7.如权利要求6所述的计算机系统,还包括:
确定所述重置命令未能将所述计算机系统置于有功能状态的动作;以及
阻止所述计算机系统获得在线服务工作流供执行的动作。
8.一种一个或多个联网计算机的系统,每个计算机包括以下:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由一个或多个处理器执行时,使计算系统执行一种用于调度在线服务的自动执行的方法,所述方法包括以下动作:
从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行一个或多个指定操作的一个或多个工作流步骤,所述一个或多个指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果;
执行接收到的在线服务工作流中的至少一个的动作;
若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行的动作;
将所述工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较的动作;
若未达到一个或多个预期结果则通过一个或多个通信系统传播消息以通知所述在线服务提供商的动作;
生成包括比较结果的报告的动作;以及
实例化调度器以将一个或多个在线服务工作流指派给联网计算机中的至少一个用于根据指定自动执行的动作;
其中所述一个或多个在线服务工作流包括在线服务处的实际的或仿真的顾客场景并被定期或按需地连续执行以在生产环境中连续地监控在线服务。
9.一种计算机系统,包括:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由一个或多个处理器执行时,使计算系统执行一种用于确认在线服务的可访问性和功能的方法,所述方法包括以下动作:
从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行一个或多个指定操作的一个或多个工作流步骤,所述一个或多个指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果;
执行接收到的在线服务工作流中的至少一个的动作;
若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行的动作;
将所述工作流执行的结果与对应于所执行的在线服务工作流的接收到的预期结果相比较的动作;
若未达到一个或多个预期结果则通过一个或多个通信系统传播消息以通知所述在线服务提供商的动作;
生成包括比较结果的报告的动作,其中实例化调度器以将一个或多个在线服务工作流指派给联网计算机中的至少一个用于定期自动执行,其中所述一个或多个在线服务工作流包括在线服务处的实际的或仿真的顾客场景并被定期或按需地连续执行以在生产环境中连续地监控在线服务;以及
监控在线服务工作流的正在进行的执行以确定所述在线服务工作流是否正在被正确执行的动作。
CN201380044323.4A 2012-08-21 2013-08-16 在线服务的事务级健康监控 Active CN104583960B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/591,029 US8954579B2 (en) 2012-08-21 2012-08-21 Transaction-level health monitoring of online services
US13/591,029 2012-08-21
PCT/US2013/055228 WO2014031454A2 (en) 2012-08-21 2013-08-16 Transaction-level health monitoring of online services

Publications (2)

Publication Number Publication Date
CN104583960A CN104583960A (zh) 2015-04-29
CN104583960B true CN104583960B (zh) 2018-06-12

Family

ID=49083771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380044323.4A Active CN104583960B (zh) 2012-08-21 2013-08-16 在线服务的事务级健康监控

Country Status (4)

Country Link
US (1) US8954579B2 (zh)
EP (1) EP2888685A4 (zh)
CN (1) CN104583960B (zh)
WO (1) WO2014031454A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954579B2 (en) * 2012-08-21 2015-02-10 Microsoft Corporation Transaction-level health monitoring of online services
US9405605B1 (en) * 2013-01-21 2016-08-02 Amazon Technologies, Inc. Correction of dependency issues in network-based service remedial workflows
US9485263B2 (en) 2014-07-16 2016-11-01 Microsoft Technology Licensing, Llc Volatility-based classifier for security solutions
US9619648B2 (en) 2014-07-16 2017-04-11 Microsoft Technology Licensing, Llc Behavior change detection system for services
US10110622B2 (en) 2015-02-13 2018-10-23 Microsoft Technology Licensing, Llc Security scanner
US10650085B2 (en) 2015-03-26 2020-05-12 Microsoft Technology Licensing, Llc Providing interactive preview of content within communication
US9906542B2 (en) 2015-03-30 2018-02-27 Microsoft Technology Licensing, Llc Testing frequency control using a volatility score
CN105007213B (zh) * 2015-06-02 2019-04-16 贵阳语玩科技有限公司 一种实现网络聊天室的方法及服务器
CN106022726B (zh) * 2016-05-20 2019-10-22 中国农业银行股份有限公司 一种工作流系统的部署仿真方法及装置
US10241848B2 (en) 2016-09-30 2019-03-26 Microsoft Technology Licensing, Llc Personalized diagnostics, troubleshooting, recovery, and notification based on application state
US10476768B2 (en) * 2016-10-03 2019-11-12 Microsoft Technology Licensing, Llc Diagnostic and recovery signals for disconnected applications in hosted service environment
CN106846226A (zh) * 2017-01-19 2017-06-13 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) 一种时空信息组装管理系统
CN111382058B (zh) * 2018-12-29 2024-02-02 北京字节跳动网络技术有限公司 一种服务的测试方法、装置,服务器及存储介质
US10942720B1 (en) 2019-12-03 2021-03-09 Bank Of America Corporation Configurable interface for customized job deployment
US11861402B2 (en) * 2020-06-25 2024-01-02 Vmware, Inc. Methods and apparatus for tenant aware runtime feature toggling in a cloud environment
US11994971B2 (en) * 2021-02-26 2024-05-28 Shopify Inc. System and method for optimizing performance of online services
CN113645153A (zh) * 2021-08-11 2021-11-12 中国银行股份有限公司 一种流量控制方法、装置、设备及介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023979B1 (en) * 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
US20050027566A1 (en) * 2003-07-09 2005-02-03 Haskell Robert Emmons Terminology management system
US20050282141A1 (en) * 2004-06-17 2005-12-22 Falash Mark D Scenario workflow based assessment system and method
US8082169B2 (en) * 2004-06-18 2011-12-20 Canon Kabushiki Kaisha User interface for workflow builder
US20100242048A1 (en) * 2006-04-19 2010-09-23 Farney James C Resource allocation system
US20090006897A1 (en) 2007-06-27 2009-01-01 Microsoft Corporation Automated service testing
CA2691659A1 (en) 2007-06-28 2009-01-08 Neustar, Inc. Monitoring web service transactions
US20090089078A1 (en) * 2007-09-28 2009-04-02 Great-Circle Technologies, Inc. Bundling of automated work flow
US20090307651A1 (en) * 2008-06-05 2009-12-10 Shanmugam Senthil Computing Platform for Structured Data Processing
US20100269164A1 (en) 2009-04-15 2010-10-21 Microsoft Corporation Online service data management
US8275586B2 (en) 2009-07-08 2012-09-25 International Business Machines Corporation Enabling end-to-end testing of applications across networks
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US10264029B2 (en) * 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US9529689B2 (en) 2009-11-30 2016-12-27 Red Hat, Inc. Monitoring cloud computing environments
US9274848B2 (en) 2009-12-03 2016-03-01 International Business Machines Corporation Optimizing cloud service delivery within a cloud computing environment
US9317407B2 (en) * 2010-03-19 2016-04-19 Novell, Inc. Techniques for validating services for deployment in an intelligent workload management system
US8719804B2 (en) 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
US8639791B2 (en) 2010-05-20 2014-01-28 Novell, Inc. Techniques for evaluating and managing cloud networks
US8478845B2 (en) 2010-08-16 2013-07-02 International Business Machines Corporation End-to-end provisioning of storage clouds
US8739126B2 (en) 2010-09-03 2014-05-27 Salesforce.Com, Inc. Web services environment testing framework
US9092561B2 (en) * 2010-10-20 2015-07-28 Microsoft Technology Licensing, Llc Model checking for distributed application validation
US20130013704A1 (en) * 2011-07-07 2013-01-10 Cisco Technology, Inc. System and method for providing a message and an event based video services control plane
US8954579B2 (en) * 2012-08-21 2015-02-10 Microsoft Corporation Transaction-level health monitoring of online services

Also Published As

Publication number Publication date
US20140059199A1 (en) 2014-02-27
WO2014031454A3 (en) 2014-08-21
WO2014031454A2 (en) 2014-02-27
EP2888685A4 (en) 2016-05-25
CN104583960A (zh) 2015-04-29
US8954579B2 (en) 2015-02-10
EP2888685A2 (en) 2015-07-01

Similar Documents

Publication Publication Date Title
CN104583960B (zh) 在线服务的事务级健康监控
US10878355B2 (en) Systems and methods for incident queue assignment and prioritization
Bakshi Microservices-based software architecture and approaches
US9720709B1 (en) Software container recommendation service
US9311161B2 (en) Automatically configured management service payloads for cloud IT services delivery
US9274843B2 (en) Multi-redundant switchable process pooling for cloud it services delivery
US20140173618A1 (en) System and method for management of big data sets
US8862950B1 (en) Testing the operation of an application programming interface
US20180131583A1 (en) Automatic provisioning of cloud services
CN105027108B (zh) 实例主机配置
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
CN109313564A (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
US8972941B2 (en) Integrated development environment-based workload testing in a networked computing environment
US20190245745A1 (en) Automated creation of test tenants for data center technical issue detection
US9886337B2 (en) Quorum based distributed anomaly detection and repair using distributed computing by stateless processes
CN109558239A (zh) 一种任务调度方法、装置、系统、计算机设备和存储介质
US11099827B2 (en) Networking-device-based hyper-coverged infrastructure edge controller system
WO2016201161A1 (en) Computing resource management system
Mfula et al. Self-healing cloud services in private multi-clouds
US20230195512A1 (en) Monitoring container-implemented software applications
US10659326B2 (en) Cloud computing network inspection techniques
Savitha et al. Auto scaling infrastructure with monitoring tools using linux server on cloud
Pongpaibool et al. Netham-nano: A robust and scalable service-oriented platform for distributed monitoring
CN108920164A (zh) 云计算系统中主机的管理方法和装置
US10977210B2 (en) Methods for implementing an administration and testing tool

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171016

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant