实时性能监控的制造方法与工艺

文档序号:11557750阅读:198来源:国知局
本发明涉及性能监控,特别(但不仅仅)涉及在计算装置上执行的应用(application)的性能的实时监控。

背景技术:
通常,应用的性能测试可用来检查应用的可靠性、可扩展性和资源利用。应用的性能可以性能指标为基础进行测试。性能指标是测试应用的性能和效率所基于的基准。性能指标可包括中央处理单元(CPU)使用情况、每秒执行的指令等。为了有效测试和监控应用,有关性能指标的数据可被实时监控。这些数据可被称为指标数据。对于实时监控,指标数据的收集与应用测试同时进行,并可被测试应用的使用者获得。但是,由于所收集的指标数据的容量经常非常大,在实时传送指标数据时可能发生数据丢失。指标数据的任何丢失可导致报告出应用的性能测试的不正确结果。而且,实时数据监控常常增加应用所运行的机器的系统开销(overhead),因此降低机器的计算效率。

技术实现要素:


技术实现要素:
仅提供用来介绍与实时性能监控的方法相关的概念,该概念将在以下详细描述中进一步描述。该部分既不用来确定所要求保护主题的必要特征,也不用来确定或限制所要求保护主题的范围。在本发明的一个实施方式中,描述了用于应用的实施性能监控的方法与系统。该方法包括从用户装置中接收与该应用相关的指标收集请求。所述指标是属性,所述应用的性能基于属性而被测试。该方法可进一步包括在接收到指标收集请求后从多个数据存储位置选择一个数据存储位置。在一个实施方式中,数据存储位置的选择可基于与每个所述多个数据存储位置相关的位置状态而进行。而且,该方法可包括将从所选择的数据存储位置收集的指标经由数据存储器(datastore)提供至用户装置。附图说明详细描述将参考附图提供。在附图中,附图标记最左边的数字表示该附图标记第一次出现时所在的图号。在图中,相同数字表示相似的特征和组件。图1示出了根据本发明的一个实施方式的执行实时性能监控系统的网络环境。图2(a)示出了根据本发明的一个实施方式的实时性能监控系统的各种组件。图2(b)示出了根据本发明的一个实施方式的用于实时性能监控的方法流程图。图3示出了根据本发明的一个实施方式的用于执行实时性能监控系统的方法。图4示出了根据本发明的一个实施方式的数据存储位置选择机制。具体实施方式本发明涉及用于实时性能监控的方法。应用的性能监控通常是为了测试应用的效率和性能。应用的性能监控可基于多个性能指标进行。性能指标是应用测试以及判断其整体性能、可靠性和可扩展性所基于的属性。性能指标下文可被称为指标。指标可包括CPU使用情况、存储器使用情况、每秒执行的指令等。任何应用的性能监控可包括收集指标并将收集的指标传输给用户装置。对于实时性能监控,收集到的指标可被在应用测试的同时传输到用户装置。常规的任何应用的实施性能监控技术可包括将收集到的指标通过网络上的固定带宽传输至用户装置。所收集的指标精油网络实时传输至用户装置可通过将专用套接口或智能体(agent)附接至所测试的应用来实现。使用套接口或智能体将收集到的指标直接传输至网络中的用户装置常常增加应用所运行的机器的系统开销。系统开销可能因为智能体的数据加工、应用的执行以及应用的监控在相同机器内同时进行而增加。虽然集中式数据库能够由于智能体的数据加工的原因二使系统开销最小化,但对每个收集到的指标进行数据库更新可能增加机器的系统开销,因为要进行应用和集中式数据库的重复的同步。而且,经由固定带宽实时传输收集的指标可能导致数据丢失,因为收集的指标的容量常常非常大。根据本发明的一个实施方式,本发明描述了一种用于应用的实时性能监控的系统和方法。本发明提供指标的实时的无损和准确传输。在一个实施方式中,当从用户装置中接收到显示收集到的指标的请求时,可触发选择机制。这种机制可被提供用来从多个用于收集指标的数据存储位置选择一个数据存储位置。该选择机制有利于同时读写操作,用于同时收集和转移指标,从而使系统在计算时间和资源方面有效率。在一个例子中,数据存储位置的选择基于数据传输状态进行。数据传输状态对应于收集到的指标是否从在上一个数据传输循环被选择的数据传输装置被成功传输至用户装置。在一个实施方式中,在数据存储装置被选择后,被选择的数据存储装置的位置状态被设定为只读。同时,其他数据存储位置的位置状态可为只写。而且,收集到的指标仅从具有只读的位置状态的数据存储位置被传输至用户装置。在一个例子中,从所选择的数据存储位置收集到的指标可被直接传输至一个或多个用户装置。在另一个例子中,来自所选择的数据存储位置的指标可被转移至数据存储器,并且指标可由用户装置从数据存储器中读取。而且,正在进行测试阶段的指标被同时收集在具有只写位置状态的数据存储位置中。在一个实施方式中,如果收集到的指标在上一个指标收集请求中传输失败,那么选择机制可被绕过,因此对应于前一次指标收集请求所收集的指标被保留在前次指标收集请求时选择的数据存储位置,直到其被成功传输。这种规定报纸的无损数据传输。为解释的目的,而非作为限制,本发明可参考“JAVA™”应用的测试来进行详细描述。要理解的是,本发明也可扩展至以其他语言编写的应用。在一个实施方式中,所测试的应用可作为JAVATM虚拟机(JVM)来运行。可测试该应用的多个指标。在一个实施方式中,所测试的应用以及实时性能监控系统可作为独立的JVM在相同机器上运行。这种布置增加了计算时间方面的效率并且降低应用所运行的JVM的系统开销。图1示出了根据本发明的一个实施方式的执行实时性能监控系统102的计算环境100。该计算环境100包括至少一个实时性能监控系统102,其经网络106连接至一个或多个用户装置104-1、104-2、…、104-M。为解释和清楚之目的,用户装置104-1、104-2、…、104-M下文统称为用户装置104并且各自称作用户装置104。而且,实时性能监控系统102可包括多个数据存储位置108-1、108-2、…、108-N以基于来自用户装置104的请求收集指标。在一个实施方式中,数据存储位置DSL108-1…108-N可为用于收集关于一个指标的指标数据的多个位置。在一个例子中,当系统被配置用来捕获“P”指标时,可能需要DSL108-1...108-NP,其中N和P都为正整数。因此,不同指标的数据可被存储在不同数据存储位置108。网络106可为无线网络、有线网络或其组合。网络106也可为单个网络或许多这样的单个网络的集合,它们彼此互联并以单个的大网络形式发挥作用,例如互联网或内联网。网络106可为不同类型网络中的一种,例如内联网、局域网(LAN)、广域网(WAN)、互联网等。网络106可为专用网络或共享网络,其代表使用多种协议相互通信的不同类型网络的联合,例如超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)等。而且,网络106可包括网络装置,例如网络转接器、集线器和路由器,用于在实时性能监控系统102和用户装置104之间提供链路(link)。网络106内的网络装置可通过通信链路而与实时性能监控系统102和用户装置104相互作用。实时性能监控系统102和用户装置104可为任何一种常规计算装置,包括例如服务器、台式PC、笔记本电脑或便携式计算机、工作站、大型计算机和互联网设备。本文的实时性能监控系统102被称作系统102,除其他组件外,其包括选择模块110和数据收集模块112。在系统102上运行的有关应用的指标的数据可被称作指标数据。指标数据可显示出应用的性能。为了监控应用的性能,可从用户装置104接收指标收集请求。当接收到指标收集请求时,选择模块110可被配置用来启动选择机制以从多个数据存储位置选择一个数据存储位置,用于将有关应用的指标数据传输至用户装置104。选择机制可基于多个数据存储位置的每一个的位置状态来进行。位置状态可表示出数据存储位置是否为只读或只写。位置状态可基于存储位置的默认状态。默认状态可表示在接收到第一个指标数据收集请求之前哪个数据存储位置是可写的,哪个数据存储位置是可读的。因此,默认状态可由例如用户预先设定。在一个实施方式中,当接收到指标收集请求时,可周期性地生成一个或多个数据收集信号以收集有关应用的指标数据。数据收集信号的周期性生成可被称为轮询机制。在一个例子中,如果数据传输装置显示之前的传输是成功的,那么数据收集模块112可被配置用来将指标数据从所选择的数据存储位置传输至数据存储器114。在一个实施方式中,数据存储器114可包括但不限于数据库、平面文件(flatfile)和其他形式的数据仓库。另一方面,如果之前的传输失败,选择机制则被绕过。在这些情况下,数据存储器114则会被来自上次指标收集请求所选择的数据存储位置的指标数据所更新,从而确保关于上次指标收集请求的指标数据在指标数据从系统102到数据存储器114的传输过程中不丢失,因此用户装置104被提供所需要的信息。虽然数据存储器114被图示为位于系统102之外,但要理解的是,在替代的实施方式中,数据存储器114也可位于系统102之内。在一个实施方式中,选择模块110可被配置用来选择出具有只读位置状态的数据存储位置用于传输指标数据。而且,选择模块110利用选择机制同时使得多个数据存储位置中的另一个数据存储位置的位置状态标记为只写。对应于应用的指标数据被写入具有只写位置状态的数据存储位置。因此,读写操作同时进行而不增加系统开销,保证了指标数据的无损传输并为用户装置实时提供应用的指标数据。图2(a)图示了根据本发明的一个实施方式的系统102的各种组件,图2(b)示出了方法流程图200,其显示通过图2(a)的系统实时性能监控应用的流程。图2将参考两个数据存储位置来详细解释,即数据存储位置108-1和数据存储位置108-2。应当理解的是,本文所述的概念也可被扩展至多个数据存储位置。如图所示,系统102包括一个或多个处理器202、一个或多个界面204和连接至处理器202的存储器(例如存储器206)。界面204可包括多种软件和硬件界面,例如外围设备的界面,如键盘、鼠标、外部存储器和打印机。而且,界面204可使系统102与不同计算系统(例如用户装置104)通信。界面204可有利于在各种网络和协议类型内的多种通信,包括有线网络(例如局域网(LAN)、电缆等)和无线网络(例如无线LAN(WLAN)、蜂窝网络或卫星网络)。为此目的,界面204可包括一个或多个用于将用户装置104彼此连接或连接至另外的计算系统或数据库(例如数据存储器114)的端口。处理器202可为单个处理单元或多个处理单元,它们都可包括多个计算单元。处理器202可为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令处理信号的任何装置。除其他功能外,处理器202被配置用来读取和执行存储在存储器206中的计算机可读指令和数据。附图中显示的各种元件的功能,包括标记为“处理器”的任何功能框,可通过使用专用硬件以及能够联合合适软件而执行软件的硬件来提供。当由处理器来提供时,功能可由单个专用处理器提供、由单个共享的处理器提供、或由多个单独处理器提供(它们中的某一些可被共享)。而且,术语“处理器”的明确使用不应当解释为仅指能够执行软件的硬件,还暗示可包括但不限于数字信号处理(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)和非易失性存储器。存储器206可包括本领域已知的任何计算机可读介质,包括例如易失性存储器(例如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM))和/或非易失性存储器(例如只读存储器(ROM)、可擦除可编程ROM、闪存、硬盘、光盘和磁带。存储器206包括模块208和数据210。模块208除其他事物之外包括例行程序、程序、对象、组件、数据结构等,它们进行特定任务或执行特定抽象数据类型。模块208进一步包括例如接收模块214、选择模块110和数据接收模块112及其他模块212。数据210除其他作用外用作用于存储被一个或多个模块208处理、接收和生成的数据的仓库。数据210包括应用216、指标数据218及其他数据219。应用216可包括被测试性能的应用。指标数据218可包括由于数据收集模块112运作而生成的数据。其他数据219可包括由于一个或多个模块208的执行而生成的数据。实施时,接收模块214可从用户装置104接收关于应用的指标收集请求。来自用户装置104的指标收集请求可在应用测试期间获得。该应用可被存储在应用216中,其可包括一个或多个可被系统102执行或监控的应用。要理解的是,应用216也可被提供在外部装置中。如可从图2(b)看出,在步骤220,用户装置104向系统102发送指标收集请求。指标收集请求可以上从用户装置104获得的用于收集指标数据的请求。当收到指标收集请求时,系统102的选择机制被启动,如流程图200的步骤222所示。在一个实施方式中,在选择机制被启动后,系统102可进行检查。该检查可对应于正在进行的测试阶段在指标收集请求从用户装置104获得时是否在运行。而且,进行另一项检查以确保系统102准备好开始收集指标数据。在另一个实施方式中,在选择机制启动时,数据存储位置108-1被标记为只写的默认状态,指标数据被收集在数据存储位置108-1。在此情况下,数据存储位置108-N不使用。而且,向接收模块214发出关于选择机制成功启动的确认。在另一个实施方式中,接收模块214可具有调度器(scheduler,未示出)用来在接收到确认后触发选择模块110进行转换机制。而且,也可向用户装置104发出关于开始指标数据收集的确认。而且,用户装置104也可包括调度器,其可对数据存储器114进行周期性检查以获得有关指标数据的收集的更新。在成功启动选择机制后,接收模块214发送数据收集信号以触发数据收集模块112,如步骤224所示。在接收数据收集信号后,数据接收模块112可触发选择模块110以进行转换机制。在一个实施方式中,数据收集模块112可通过向选择模块110发送位置选择信号来触发选择模块110。这显示在流程图200的步骤226中。在选择模块110接收到位置选择信号后,选择模块110可检查具有只写位置状态的数据存储位置。如前所述,数据存储位置108-1具有只写的默认状态,数据存储位置108-N在选择机制启动时未使用。因此,在进行检查后,选择模块110随后可将数据存储位置108-1的位置状态转换为只读,而同时通过将数据存储位置108-N的位置状态改变为只写而激活数据存储位置108-N。这图示在流程图200的步骤228中。在一个实施方式中,在进行转换机制后,选择模块随后可选择数据存储位置108-1用于更新数据存储器114。在一个例子中,数据收集信号可被周期性地生成,从而收集用户装置104要求的不同指标数据。在一个实施方式中,用于为用户装置104提供指标数据的读取操作在具有只读位置状态的数据存储位置上进行。而且,指标数据不能被写在具有只读位置状态的数据存储位置中。而且,指标数据不能从具有只写位置状态的数据存储位置读取。这种规定保证了指标数据同时被收集在只写数据存储位置中和从只读数据存储位置传输到用户装置104。在成功选择数据存储位置后,选择模块110可发送表示所选择的数据存储位置的确认(此处为数据存储位置108-1)至数据收集模块112,如步骤230所示。数据收集模块112在接收到表示所选择的数据存储位置的确认后可对数据存储器114进行来自所选择的数据存储位置的指标数据的批量更新。在一个实施方式中,批量更新可指以批量的形式将来自所选择的数据存储位置的数据内容更新至数据存储器114。流程图200的步骤232示出了该内容。在将指标数据从所选择的数据存储位置成功传输至数据存储器114后,数据收集模块112可发送表示成功传输指标的确认至接收模块214,如流程图200的步骤234所示。在一个实施方式中,接收模块114可发送表示成功传输指标的最终确认至用户装置。这显示在流程图200的步骤236中。在接收到确认后,用户装置104可在数据存储器114上进行检查,已获得所传输的指标数据。而且,用户装置104可包括图形用户界面(GUI)用于从数据存储器114获得指标数据。用户装置可从数据存储器114获得指标数据,如流程图200的步骤238所示。在一个实施方式中,在系统102的各模块之间的确认的交换降低了指标数据的数据丢失几率,因为所有过程都是彼此同步的。在一个例子中,其他模块212可被用来处理二级功能,例如用户装置104和系统102之间的同步化。而且,发送周期性的确认也可导致指标数据在系统102中的通道化(channelizing),这样每个收集的指标的指标数据都被安全地传输至用户装置104。图3示出了根据本发明的一个实施方式的对应用进行实时性能监控的方法300。图4示出了根据本发明的一个实施方式的数据存储选择机制。这些方法在计算机可执行指令的上下文环境中描述。通常,计算机可执行指定可包括进行特定功能或执行特定抽象数据类型的例行程序、程序、对象、组件、数据结构、过程、模块、功能等。这些方法也可在分布式计算环境中操作,其中功能是通过远程处理装置进行的,这些远程处理装置通过通信网络连接。在分布式计算环境中,计算机可执行指令可位于本地和远程计算机存储介质中,包括存储器存储装置。方法被描述的顺序并不能被解释为限制,任何数量的所描述的方法步骤可以任何顺序组合以执行该方法或替代性的方法。另外,单个步骤可从方法中删除而不脱离本发明的实质和范围。而且,该方法可在任何合适的硬件、软件、固件或其组合中执行。参考图3,在步骤302,从用户装置(例如用户装置104)接收到有关应用的指标收集请求。在一个例子中,指标收集请求可通过系统102的接收模块214接收。该应用例如可被存储在应用216中。在步骤304,当接收到指标收集请求时,从多个数据存储位置(例如数据存储位置108)选择一个数据存储位置(例如数据存储位置108-1)。数据存储位置基于与每个数据存储位置的位置状态而被选择)。与数据存储位置有关的位置状态可基于至少一种默认状态。数据存储位置的选择将在下文结合图4详细解释。在步骤306,对应于指标的数据(即指标数据)被从所选择的数据存储位置传输以更新数据存储器,例如数据存储器114,从而为用户装置104提供指标数据。在一个实施方式中,数据存储器114的更新与其他数据存储位置的写操作同时进行。因此,指标数据在正在进行的测试阶段被实时提供给用户。这样的规定使得应用所运行的系统的计算效率增加。在另一个实施方式中,指标数据在数据存储器114中被批量更新,指标数据从数据存储器114中被提供给用户装置104。这进一步降低了机器的系统开销。在一个实施方式中,指标数据被用户用来基于指标来监控正在运行的应用的性能。在步骤308,一旦成功传输指标数据,所选择的数据存储位置的位置状态被转换至只写,表示所选择的数据存储位置可用于写操作。而且,一旦成功传输数据,前次数据传输循环的数据传输状态可表示该数据传输是成功的。前次数据传输循环可对应于在前次数据收集信号发出时从所选择的数据存储位置到数据存储器的指标数据的传输。在步骤310,要确定是否有对应于该应用的任何其他数据收集信号。在一个例子中,选择模块确定是否有任何其他数据收集信号。如果确定有另外的数据收集信号(步骤310的“是”分支),方法300从步骤304继续,其中再次选择数据存储位置,因此数据存储器被更新以向用户装置104实时提供指标数据。另一方面,如果没有时间收集信号(步骤310的“否”分支),方法300结束,如步骤312所示。参考图4,其显示根据本发明的一个实施方式的用于选择数据存储位置的方法304。根据本发明的一个实施方式,数据存储位置选择机制在从用户装置104获得指标收集请求后触发。在一个实施方式中,方法304通过选择模块110进行。数据存储位置选择机制的进行可确保指标数据的同时读写操作得以实现。这种规定实现了指标数据的无损传输并降低了机器(例如应用运行的系统102)的系统开销。如图所示,在步骤402接收到了数据收集信号。在一个例子中,当接收到指标收集请求时,用于选择数据存储位置的选择机制可被触发,因此数据收集信号可被接收到以保证应用的指标数据被实时提供至用户装置。在一个例子中,数据收集模块112可从接收模块214接收到数据收集信号。在步骤404,在接收到数据收集信号后,要确定第一数据存储位置(例如数据存储位置108-1)的位置状态是否为只写。在一个例子中,选择模块110确定该数据存储位置是否具有只写位置状态。数据存储位置的位置状态可基于默认状态而确定。例如,在接收到第一数据收集信号时,第一时间存储位置的默认状态可表示其为只写,并且指标数据可能已经在接收到第一数据收集信号之前在第一数据存储位置中被更新。在另一个例子中,考虑一个数据传输循环已结束,步骤402接收到的数据收集请求是随后的数据收集请求。在该例子中,指标数据已在第一数据传输循环期间从第一数据存储位置被传输,而新的指标数据要被写入第一数据存储位置,因此第一数据存储位置的位置状态可为只写。因此,具有只写位置状态的数据存储位置被确定。如果在步骤404确定了第一数据存储位置具有只写位置状态(步骤404的“是”分支),那么方法304分支到步骤406。在步骤406,要确定数据传输状态是否是成功的。数据传输状态表示在前次数据传输循环中指标数据是否成功传输至数据存储器。如果时间传输是成功的(步骤406中的“是”分支),那么方法304分支到步骤408。在步骤408,第一数据存储位置的位置状态被转换成只读,并且第二数据存储位置的位置状态被转换成只写。因此,当前数据收集循环的指标数据被写入到具有只写位置状态的第二数据存储位置。在步骤410,第一数据存储位置被选择用于更新数据存储器。在另一个例子中,选择模块110选择确定出的数据存储位置。返回参考步骤406,如果确定出前次数据传输选好的数据传输状态未成功(步骤406的“否”分支),方法304分支到步骤412。在步骤412,选择数据存储位置(其在前次数据传输循环中被选择)再次被选择用于更新数据存储器。在当前情况下,它是第二数据存储位置。这保证了指标数据被保留在所选择的数据存储位置直到被成功传输。返回参考步骤404,如果确定出第一数据存储位置的位置状态不是只写(步骤404的“否”分支),即第二数据存储器的位置状态未只写,方法分支到步骤414。在步骤414,要确定数据传输状态是否成功。数据传输状态表示指标数据在前次数据传输循环中是否成功传输至数据存储器。如果数据传输是成功的(步骤414的“是”分支),方法304分支到步骤416。在步骤416,第二数据存储位置的位置状态被转换至只读,并且第一数据存储位置的位置状态被转换至只写。在步骤418,第二数据存储位置被选择用来更新数据存储器。在一个例子中,选择模块110选择确定出的数据存储位置。返回参考步骤414,如果确定出前次数据传输循环的数据传输状态未成功(步骤414的“否”分支),方法304分支至步骤412。在步骤412,在前次数据传输循环中被选择的数据存储位置被再次选择用来更新数据存储器。在当前情况下,这是第一数据存储位置。这保证了指标数据被保留在所选择的数据存储位置直到被成功转移。虽然已参考具体的结构特征和/方法描述了用于实时性能监控的方法和系统的实施方式,但是要理解的是,本发明并不必然限于该特定的特征或方法。相反,所公开的特定特征和方法仅是实时性能监控的示例性实施方式。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1