CN104583960A - 在线服务的事务级健康监控 - Google Patents
在线服务的事务级健康监控 Download PDFInfo
- Publication number
- CN104583960A CN104583960A CN201380044323.4A CN201380044323A CN104583960A CN 104583960 A CN104583960 A CN 104583960A CN 201380044323 A CN201380044323 A CN 201380044323A CN 104583960 A CN104583960 A CN 104583960A
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (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))构建放置(builddrop)直接访问并且需要很少修改或不需要修改而被导入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 (10)
1.一种具有一个或多个联网计算机的***,每个计算机包括以下:
一个或多个处理器;
***存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由一个或多个处理器执行时,使计算***执行一种用于确认在线服务的可访问性和功能的方法,所述方法包括以下动作:
从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行一个或多个指定操作的一个或多个工作流步骤,所述一个或多个指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果;
执行接收到的在线服务工作流中的至少一个的动作;
若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行的动作;
将所述工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较的动作;以及
生成包括比较结果的报告的动作。
2.如权利要求1所述的计算机***,还包括:
确定所生成的报告包括表明所述工作流执行的结果与至少一个在线服务工作流的预期结果不匹配的指示的动作;以及
向所述在线服务提供商指示未达到预期结果的动作,包括通过一个或多个通信***传播消息。
3.如权利要求1所述的计算机***,其特征在于,实现插件模型,所述插件模型允许多个不同的且任意的工作流类型被所述计算机***执行、并且还允许来自构建放置的在线服务工作流指令被所述计算机***执行。
4.如权利要求1所述的计算机***,还包括:在运行时间向在线服务工作流提供一个或多个参数以修改所述工作流的行为。
5.如权利要求4所述的计算机***,其特征在于,所述工作流的行为在运行时间被修改,而无须重新部署所述工作流。
6.如权利要求1所述的计算机***,还包括:
检测联网计算机的所述***中的一计算机已变得不适合工作流执行的动作;以及
在所述计算机***上发起将所述计算机***重置为有功能状态的重置命令的动作。
7.如权利要求6所述的计算机***,还包括:
确定所述重置命令未能将所述计算机***置于有功能状态的动作;以及
阻止所述计算机***获得在线服务工作流供执行的动作。
8.一种一个或多个联网计算机的***,每个计算机包括以下:
一个或多个处理器;
***存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由一个或多个处理器执行时,使计算***执行一种用于调度在线服务的自动执行的方法,所述方法包括以下动作:
从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行一个或多个指定操作的一个或多个工作流步骤,所述一个或多个指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果;
执行接收到的在线服务工作流中的至少一个的动作;
若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行的动作;
将所述工作流执行的结果与对应于所执行的在线服务工作流的预期结果相比较的动作;
若未达到一个或多个预期结果则通过一个或多个通信***传播消息以通知所述在线服务提供商的动作;
生成包括比较结果的报告的动作;以及
实例化调度器以将一个或多个在线服务工作流指派给联网计算机中的至少一个用于根据指定自动执行的动作。
9.如权利要求8所述的计算机***,其特征在于,所述在线服务工作流包括在线服务处的实际的或仿真的顾客场景。
10.一种计算机***,包括:
一个或多个处理器;
***存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由一个或多个处理器执行时,使计算***执行一种用于确认在线服务的可访问性和功能的方法,所述方法包括以下动作:
从在线服务提供商接收一个或多个在线服务工作流以及每个工作流的一个或多个相应的预期结果的动作,每个在线服务工作流与一在线服务相关联,其中每个在线服务工作流包括使所述在线服务执行一个或多个指定操作的一个或多个工作流步骤,所述一个或多个指定操作在所述在线服务提供商所指定的指定时间量内产生可观察的结果;
执行接收到的在线服务工作流中的至少一个的动作;
若在所述指定时间量内未完成所述在线服务工作流的执行则放弃所述执行的动作;
将所述工作流执行的结果与对应于所执行的在线服务工作流的接收到的预期结果相比较的动作;
若未达到一个或多个预期结果则通过一个或多个通信***传播消息以通知所述在线服务提供商的动作;
生成包括比较结果的报告的动作;以及
监控在线服务工作流的正在进行的执行以确定所述在线服务工作流是否正在被正确执行的动作。
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 true CN104583960A (zh) | 2015-04-29 |
CN104583960B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846226A (zh) * | 2017-01-19 | 2017-06-13 | 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) | 一种时空信息组装管理*** |
Families Citing this family (16)
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 |
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 | 中国银行股份有限公司 | 一种流量控制方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006897A1 (en) * | 2007-06-27 | 2009-01-01 | Microsoft Corporation | Automated service testing |
US20090006614A1 (en) * | 2007-06-28 | 2009-01-01 | Neustar, Inc. | Monitoring Web Service Transactions |
US20110010159A1 (en) * | 2009-07-08 | 2011-01-13 | International Business Machines Corporation | Enabling end-to-end testing of applications across networks |
US20110231822A1 (en) * | 2010-03-19 | 2011-09-22 | Jason Allen Sabin | Techniques for validating services for deployment in an intelligent workload management system |
US20110289440A1 (en) * | 2010-05-20 | 2011-11-24 | Carter Stephen R | Techniques for evaluating and managing cloud networks |
Family Cites Families (19)
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 |
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 |
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 |
US8719804B2 (en) | 2010-05-05 | 2014-05-06 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
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 |
CN103782572A (zh) * | 2011-07-07 | 2014-05-07 | 思科技术公司 | 用于提供基于消息和事件的视频服务控制平面的***和方法 |
US8954579B2 (en) * | 2012-08-21 | 2015-02-10 | Microsoft Corporation | Transaction-level health monitoring of online services |
-
2012
- 2012-08-21 US US13/591,029 patent/US8954579B2/en active Active
-
2013
- 2013-08-16 WO PCT/US2013/055228 patent/WO2014031454A2/en active Application Filing
- 2013-08-16 EP EP13753957.3A patent/EP2888685A4/en not_active Ceased
- 2013-08-16 CN CN201380044323.4A patent/CN104583960B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006897A1 (en) * | 2007-06-27 | 2009-01-01 | Microsoft Corporation | Automated service testing |
US20090006614A1 (en) * | 2007-06-28 | 2009-01-01 | Neustar, Inc. | Monitoring Web Service Transactions |
US20110010159A1 (en) * | 2009-07-08 | 2011-01-13 | International Business Machines Corporation | Enabling end-to-end testing of applications across networks |
US20110231822A1 (en) * | 2010-03-19 | 2011-09-22 | Jason Allen Sabin | Techniques for validating services for deployment in an intelligent workload management system |
US20110289440A1 (en) * | 2010-05-20 | 2011-11-24 | Carter Stephen R | Techniques for evaluating and managing cloud networks |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846226A (zh) * | 2017-01-19 | 2017-06-13 | 湖北省基础地理信息中心(湖北省北斗卫星导航应用技术研究院) | 一种时空信息组装管理*** |
Also Published As
Publication number | Publication date |
---|---|
EP2888685A2 (en) | 2015-07-01 |
US20140059199A1 (en) | 2014-02-27 |
US8954579B2 (en) | 2015-02-10 |
CN104583960B (zh) | 2018-06-12 |
WO2014031454A2 (en) | 2014-02-27 |
EP2888685A4 (en) | 2016-05-25 |
WO2014031454A3 (en) | 2014-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583960A (zh) | 在线服务的事务级健康监控 | |
Bakshi | Microservices-based software architecture and approaches | |
US9858060B2 (en) | Automated deployment of a private modular cloud-computing environment | |
CN109471789B (zh) | 用于测试的多设备管理方法、装置、服务器及存储介质 | |
CN108711030A (zh) | 带有人工智能整合的端到端项目管理平台 | |
US9483314B2 (en) | Systems and methods for fault tolerant batch processing in a virtual environment | |
CN104067257A (zh) | 自动化事件管理 | |
CN113569987A (zh) | 模型训练方法和装置 | |
Djemame et al. | PaaS-IaaS inter-layer adaptation in an energy-aware cloud environment | |
CN113312153B (zh) | 一种集群部署方法、装置、电子设备及存储介质 | |
CN112463535A (zh) | 多集群异常处理方法及装置 | |
US20190245745A1 (en) | Automated creation of test tenants for data center technical issue detection | |
CN116917867A (zh) | 无服务器运行时容器分配 | |
Youssef et al. | EOS: enterprise operating systems | |
Preuveneers et al. | Systematic scalability assessment for feature oriented multi-tenant services | |
US10114722B2 (en) | Test of the execution of workloads in a computing system | |
US11675759B2 (en) | Datacenter inventory management | |
US10521272B1 (en) | Testing in grid computing systems | |
US20190188044A1 (en) | Method and device for allocating resources in a system | |
US11733979B2 (en) | System for automatically generating customer specific data center application program interfaces | |
US20230021715A1 (en) | Simulated Data Center | |
CN110351104A (zh) | 一种vim选择方法及装置 | |
CN115048158A (zh) | 流程编排及调用方法及其***、计算机设备 | |
US10659326B2 (en) | Cloud computing network inspection techniques | |
Hasanbegović et al. | Optimising vehicular system architectures with real-time requirements: An industrial case study |
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 |