大规模服务的实时诊断流水线的制作方法

xiaoxiao2020-7-22  16

大规模服务的实时诊断流水线的制作方法
【专利摘要】可提供实时诊断。多个数据馈源可聚集自多个节点中的至少一个节点。在确定这些数据馈源中的至少一个数据馈源的至少一个元素满足触发条件后,可执行与该触发条件相关联的动作。
【专利说明】大规模服务的实时诊断流水线
[0001]背景
[0002]实时诊断流水线可允许减少对大规模服务中的服务降级的分辨时间。在某些情况下,执行、监控和诊断数千个服务器以及从多个地理位置与服务进行交互的上百万个用户变得极其具有挑战性。例如,实时地标识出各问题以明确指出问题矢量并实时地对其操作是防止服务降级所必须的。常规的系统依赖于分布式批处理系统,并一般不是合适的、自我丰富到足以实时地明确指出规模和性能瓶颈的在线系统。此外,这些系统并不提供足够丰富取证以明确指出问题在哪里。例如,常规的系统可以标识出CPU使用正在剧增,但却无法提供关于什么处理促使CPU剧增的细节。
[0003]概述
[0004]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。此“
【发明内容】
”并不旨在标识要求保护的主题的关键特征或必要特征。本
【发明内容】
也不旨在用于限制所要求保护的主题的范围。
[0005]可提供实时诊断。多个数据馈源可以聚集自多个节点中的至少一个节点。在确定这些数据馈源中的至少一个数据馈源的至少一个元素满足触发条件后,可执行与该触发条件相关联的动作。
[0006]前面的概括描述和下面的详细描述只提供了示例,并且只是说明性的。因此,前面的概括描述和下面的详细描述不应该被视为限制性的。此外,除这里阐述那些特征外,还可以提供其他特征或变体。例如,各实施例可以涉及【具体实施方式】中所描述的各种特征组合和子组合。
[0007]附图简述
[0008]纳入到本发明中并构成其一部分的附图示出本发明的各实施例。在附图中:
[0009]图1是操作环境的框图;
[0010]图2是用于提供实时诊断的方法的流程图;以及
[0011]图3是包括计算设备的系统的框图。
[0012]详细描述
[0013]下面的详细描述参考各个附图。只要可能,就在附图和下面的描述中使用相同的附图形标记来指示相同或相似的元件。尽管描述了本发明的各实施例,但是,修改、改编、以及其他实现也是可能的。例如,可以对附图中所示出的元件进行置换、添加、或修改,且可以通过对所公开的方法置换、重新排序、或添加阶段来修改这里所描述的方法。因此,下面的详细描述并不限制本发明。相反,本发明的正确范围由所附权利要求书进行定义。
[0014]可提供实时诊断流水线。流水线可包括允许结构化数据源和非结构化数据源被收集和聚集的可扩展模型。例如,来自多个计算机的多个数据馈源可被接收并集成以供实时相关。这可准许用于三角测量数千个服务器和成百万个用户的问题的、可容易地缩放的框架。该模型可以提供对诸如服务使用和滥用、容量利用、以及诸如Fl简档(profile)、盘跟踪、存储器信息转储之类的取证等方面的实时洞察。该数据可以与监控系统集成来实时地触发警告。还可以根据各业务使用情况来分析所收集的数据,业务使用情况为诸如针对数据中心扩张进行计划或者在所服务的顾客基础上进行标识。[0015]图1是用于提供实时诊断流水线的操作环境100的框图。操作环境100可以包括多个服务器节点IlO(A)-(C)、多个网络设备115(A)-(B)、多个用户工作站120 (A)-(C)^P分析服务器130。分析服务器130可包括多个应用和/或服务组件,诸如馈源分析器132和聚集数据存储134。操作环境100还可包括报告门户140。与本发明的各实施例相一致,报告门户140可被实现为在分析服务器120上执行的应用。
[0016]服务器节点IlO(A)-(C)可包括应用服务器,诸如web服务器、邮件服务器、数据库服务器、视频点播服务器等。网络设备115(A)-(B)可包括专门构建的计算设备,诸如负载平衡器和/或路由器。馈源分析器132可用于从服务器节点110(A)-(C)、网络设备115(A)-(B)、和/或用户工作站120 (A)-(C)处接收数据馈源。这样的数据馈源可以经由报告门户140来进行配置。例如,用户可以使用报告门户140来将分析服务器130配置为接收与服务器节点110 (A)的事件日志相关联的数据馈源。数据馈源可根据标准化模式(例如,XML模式)来格式化。馈源分析器132可接收传入数据馈源、将其与已配置的触发准则进行比较、和/或将该数据存储在聚集数据存储134中。
[0017]图2是阐明与本发明用于提供实时诊断的实施例相一致的方法200中涉及的各概略阶段的流程图。方法200可以使用如下面结合图3更详细地描述的计算设备300来实现。下面将更详细地描述实现方法200的各阶段的方式。方法200可开始于起始框205并继续至阶段210,在阶段210,计算设备300可以接收来自多个节点中的每一个节点的多个数据馈源。例如,多个数据馈源中的每一个可以与节点使用条件相关联,节点使用条件为诸如应用状态、事件日志、日志流、处理器负载、存储器状态、错误事件、性能计数器、用户活动监视器、盘状态、和网络状态。用户活动监视器可用于例如处理登录尝试或跟踪应用使用,诸如web浏览历史、电子邮件发送等等。
[0018]方法200随后可前进到阶段215,在阶段215,计算设备300可确定与多个数据馈源中的至少一个数据馈源相关联的至少一个元素是否满足第一触发条件。第一触发条件可以与一次性事件(诸如与事件日志数据馈源相关联的应用崩溃事件)相关联。
[0019]方法200随后可前进到阶段220,在阶段220,计算设备300可执行与第一触发条件相关联的动作。例如,应用崩溃事件可以导致触发给管理者的警告通知和/或重启命令被发布到已崩溃的应用。
[0020]方法200接着可前进到阶段230,在阶段230,计算设备300可聚集多个数据馈源。例如,馈源分析器132可以收集来自用户工作站120 (A) - (C)的事件日志馈源,并合并类似事件,诸如失败的登录尝试。
[0021]方法200接着可前进到阶段235,在阶段235,计算设备300可将经聚集的多个数据馈源存储在数据库中。例如,馈源分析器132可将经合并的事件数据存储在聚集数据存储134中,该聚集数据存储可包括日志文件和/或数据库。
[0022]方法200可随后前进到阶段240,在阶段240处,计算设备300可确定多个数据馈源的聚集是否满足第二触发条件。例如,对用户工作站120(A)的单次失败登录可能满足触发条件,但同一用户ID对多个工作站的多次失败登录可触发警告。
[0023]方法200可接着前进至阶段245,在阶段245,计算机设备300可执行与触发条件相关联的第二动作。例如,在检测到与同一用户ID相关联的失败登录的趋势后,分析服务器130可以封锁该用户ID和/或警告管理者。
[0024]方法200可随后前进到阶段250,在阶段250,计算设备300可接收对多个节点中的至少一个节点的状态请求。例如,报告门户140的用户可以请求有关网络设备115115(A)的状态报告。
[0025]方法200随后可前进到阶段255,在阶段255,计算设备300可根据与多个节点中的至少一个节点相关联的多个数据馈源来提供这些节点中的所述至少一个节点的多个当前状态的报告。例如,分析服务器可以获取与合适的节点(例如,网络设备115 (A))相关联的数据,并提供该节点的各个条件(诸如,正常运行时间、处理器负载、已路由的分组、已登录的用户、存储器状态等)的报告。方法200随后可在阶段260结束。
[0026]与本发明相一致的一实施例可包括用于提供实时诊断的系统。该系统可以包括存储器存储和耦合到该存储器存储的处理单元。该处理单元可用于聚集来自多个节点中的至少一个节点的多个数据馈源,确定这些馈源中的至少一个馈源的至少一个元素是否满足触发条件,以及响应于确定该数据满足触发条件,执行与该触发条件相关联的动作。多个节点中的每一个节点可包括服务器计算机,这些服务器计算机中的至少一个服务器计算机可用于收集与多个用户工作站相关联的数据。处理单元还可用于聚集来自多个节点中的每一个的多个数据馈源,并将经聚集的数据馈源存储在数据库中,并且多个数据馈源各自可与多个节点中的每一个节点的不同特征(诸如应用状态、事件日志、处理器负载、存储器状态、错误事件、性能计数器、用户活动监视器、盘状态、和网络状态)相关联。处理单元还可用于根据业务使用情况(诸如,推断新数据中心的要求)来分析所存储的经聚集的多个数据馈源。触发条件可以与一次性事件和/或跨单个机器和/或多个机器的数据趋势相关联。
[0027]与本发明相一致的另一实施例可包括用于提供实时诊断的系统。该系统可以包括存储器存储和耦合到该存储器存储的处理单元。处理单元可用于接收来自多个节点中的每一个节点的多个数据馈源,确定与多个数据馈源中的至少一个数据馈源相关联的至少一个元素是否满足第一触发条件,以及,如果如此,则执行与该触发条件相关联的动作。处理单元还可用于聚集多个数据馈源,确定多个数据馈源的聚集是否满足第二触发条件,以及,如果如此,则执行与该触发条件相关联的第二动作。触发条件可包括行为签名,该行为签名包括与已知问题相关联的多个数据元素。行为签名可依赖于不同类型的事件来检测问题的发生。例如,失败登录的趋势以及随后处理器活动的剧增且新应用正被执行可以指示安全漏洞。
[0028]处理单元还可用于建立新数据馈源。例如,新应用可被建立在节点上,并且分析服务器130可被配置为接收与该新应用相关联的事件的数据馈源。处理单元可用于将新数据馈源转换成标准模式和/或将新触发条件(及相关联的动作)与该新数据馈源的各元素相关联。
[0029]与本发明相一致的又一实施例可包括用于提供实时诊断的系统。该系统可以包括存储器存储和耦合到该存储器存储的处理单元。处理单元可用于接收来自多个节点中的每一个节点的多个数据馈源,以及确定与多个数据馈源中的至少一个数据馈源相关联的至少一个元素是否满足与一次性事件相关联的第一触发条件。如果如此,则处理单元可用于执行与该触发条件相关联的动作。处理单元还可用于聚集多个数据馈源,将经聚集的多个数据馈源存储在数据库中,确定多个数据馈源的聚集是否满足第二触发条件,以及如果如此,则执行与该触发条件相关联的第二动作。处理单元还可用于接收针对多个节点中的至少一个节点的状态请求,以及作为响应,根据与多个节点中的至少一个节点相关联的多个数据馈源来为这些节点中的至少一个节点提供多个当前状态的报告。
[0030]图3是包括计算设备300的系统的框图。根据本发明的一实施方式,上述存储器存储和处理单元可以在诸如图3的计算设备300等计算设备中实现。可以使用硬件、软件或固件的任何适当的组合来实现该存储器存储和处理单元。例如,存储器存储和处理单元可以用计算设备300或结合计算设备300的其他计算设备318中的任意一个来实现。根据本发明的各实施方式,上述系统、设备和处理器是示例,而其他系统、设备和处理器可以包括上述存储器存储和处理单元。此外,计算设备300可包括如上所述的操作环境100。在本说明书中描述的方法可在其他环境中操作,而不限于计算设备300。
[0031]参考图3,与本发明的一实施例相一致的系统可包括计算设备,诸如计算设备300。在一基本配置中,计算设备300可以包括至少一个处理单元302和系统存储器304。取决于计算设备的配置和类型,系统存储器304可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器304可包括操作系统305、一个或多个编程模块306,并且可包括馈源分析器132。例如,操作系统305可适用于控制计算设备300的操作。在一个实施例中,编程模块306可包括馈源分析器132。此外,本发明的各实施方式可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图3中由虚线308内的这些组件示出。
[0032]计算设备300可以具有附加特征或功能。例如,计算设备300还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些附加存储在图3中由可移动存储309和不可移动存储310示出。计算设备300还可包含可允许设备300诸如通过例如内联网或因特网等分布式计算环境中的网络来与其他计算设备318进行通信的通信连接316。通信连接316是通信介质的一个示例。
[0033]如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器304、可移动存储309和不可移动存储310都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM,ROM,电可擦除只读存储器(EEPR0M)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD )或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且可以由计算设备300访问的任何其他介质。任何这样的计算机存储介质都可以是设备300的一部分。计算设备300还可以具有输入设备312,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备314。上述设备是示例且可以使用其他设备。
[0034]如这里所使用的术语计算机可读介质还包括通信介质。通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
[0035]如上所述,多个程序模块和数据文件可被存储在包括操作系统305在内的系统存储器304中。当在处理单元302上执行时,编程模块306 (例如,馈源分析器132)可执行各过程,包括例如,如上所述的方法200的各阶段中的一个或多个阶段。前述过程是示例,且处理单元302可执行其他过程。根据本发明的各实施方式可以使用的其他编程模块可以包括电子邮件和联系人应用、字处理应用、电子数据表应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
[0036]一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
[0037]此外,本发明的各实施方式可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。本发明的各实施方式还可以使用能够执行诸如,例如,AND (与)、0R (或)和NOT (非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施方式可以在通用计算机或任何其他电路或系统中实现。
[0038]例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算机过程的指令的计算机程序的载体上的传播信号。因此,本发明能以硬件和/或软件(包括固件、常驻软件、微码等)来具体化。换言之,本发明的各实施方式可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
[0039]计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。更具体的计算机可读介质示例(非穷尽列表),计算机可读介质可以包括以下:具有一条或多条导线的电连接、便携式计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、和便携式压缩盘只读存储器(CD-ROM)。注意,计算机可使用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
[0040]以上参考例如根据本发明的各实施方式的方法、系统和计算机程序产品的框图和/或操作图示描述了本发明的各实施方式。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。[0041]尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。此外,虽然本发明的各实施方式被描述为与存储在存储器和其他存储介质中的数据相关联,但数据还可以被存储在或读取自其他类型的计算机可读介质,如辅助存储设备,像硬盘、软盘、或CD-ROM ;来自因特网的载波;或其他形式的RAM或ROM。此外,所公开的方法的各步骤可以任何方式修改,包括通过对各步骤重新排序和/或插入或删除步骤,而不背离本发明。
[0042]包括此处所包括的代码中的版权在内的所有权利都归属于 申请人:并且是本 申请人:的财产。 申请人:保持并保留此处所包括的代码中的所有权利,并授予仅关于所授权的专利的再现且未出于其他目的再现该材料的许可。
[0043]尽管本说明书包括示例,但本发明的范围由所附权利要求书来指示。此外,虽然用对结构特征和/或方法动作专用的语言描述了本说明书,但权利要求书并不限于上文所描述的特征或动作。相反,上述具体特征和动作是作为本发明的各实施方式的示例来公开的。
【权利要求】
1.一种用于提供实时诊断的方法,所述方法包括: 聚集来自多个节点中的至少一个节点的多个数据馈源; 确定所述数据馈源中的至少一个数据馈源的至少一个元素是否满足触发条件;以及 响应于确定该数据满足该触发条件,执行与该触发条件相关联的动作。
2.如权利要求1所述的方法,还包括: 确定所述多个数据馈源的聚集是否满足第二触发条件;以及 响应于确定所述多个数据馈源的聚集满足所述第二触发条件,执行与该触发条件相关联的第二动作。
3.如权利要求2所述的方法,其特征在于,所述多个数据馈源各自与所述多个节点中的每一个节点的不同特征相关联。
4.如权利要求3所述的方法,其特征在于,还包括根据业务使用情况来分析经聚集的多个数据馈源。
5.一种存储一组指令的计算机可读介质,所述一组指令在被执行时执行一种用于提供实时诊断的方法,由所述一组指令执行的所述方法包括: 接收来自多个节点中的每一个节点的多个数据馈源,其中所述多个数据馈源中的每一个数据馈源与节点使用条件相关联; 确定与所述多个数据馈源中的至少一个数据馈源相关联的至少一个元素是否满足第一触发条件; 响应于确定该数据满足该触发条件,执行与该触发条件相关联的动作; 聚集所述多个数据馈源; 确定所述多个数据馈源的聚集是否满足第二触发条件;以及 响应于确定所述多个数据馈源的聚集满足所述第二触发条件,执行与该触发条件相关联的第二动作。
6.如权利要求5所述的计算机可读介质,其特征在于,所述触发条件与跨所述多个节点的至少一个子集跟踪的数据相关联。
7.如权利要求5所述的计算机可读介质,其特征在于,还包括建立新数据馈源。
8.如权利要求7所述的计算机可读介质,其特征在于,还包括将所述新数据馈源转换成标准模式。
9.如权利要求7所述的计算机可 读介质,其特征在于,还包括将所述新数据馈源与新触发条件相关联。
10.一种用于提供基于运动的语音活动检测的系统,所述系统包括: 存储器存储;以及 耦合到所述存储器存储的处理单元,其中,所述处理单元可操作以: 接收来自多个节点中的每一个节点的多个数据馈源,其中所述多个数据馈源中的每一个数据馈源与节点使用条件相关联, 确定与所述多个数据馈源中的至少一个数据馈源相关联的至少一个元素是否满足第一触发条件,其中所述第一触发条件与一次性事件相关联, 响应于确定该数据满足该触发条件,执行与该触发条件相关联的动作, 聚集所述多个数据馈源;将经聚集的多个数据馈源存储在数据库中, 确定所述多个数据馈源的聚集是否满足第二触发条件, 响应于确定所述多个数据馈源的聚集满足所述第二触发条件,执行与该触发条件相关联的第二动作, 接收针对所述多个节点中的至少一个节点的状态请求,以及 响应于接收所述状态请求,根据与所述多个节点中的至少一个节点相关联的多个数据馈源来提供所述节点中的所`述至少一个节点的多个当前状态的报告。
【文档编号】G06F11/30GK103518192SQ201280023090
【公开日】2014年1月15日 申请日期:2012年5月7日 优先权日:2011年5月13日
【发明者】A·R·巴达克, P·M·巴蒂什, V·博克特, O·卡普斯, R·勒那, P·提瓦那 申请人:微软公司

最新回复(0)