响应时间的测量装置和方法

文档序号:6411143阅读:321来源:国知局
专利名称:响应时间的测量装置和方法
技术领域
本发明一般涉及在计算机应用中的响应时间的测量,尤其涉及到使用非破入装置(non-intrusive device)测量多层计算机网络中的响应时间。
多层计算机网络(multi-tiered computer networks)被广泛地用于给一个或多个用户提供各种信息和计算机资源。在多层计算机网络中,用户计算机(例如使用者)和服务计算机相互联系,从而实现被划分为一种或几种事务的应用。一种应用是一个有意义的事务组(group),而事务是由用户觉察的有意义的工作单元。事务一般是服务请求的集合,而服务请求一般是服务包的集合。服务包简单地说是在计算机之间通信的一项信息或消息。在完成事务处理的过程中,用户计算机可以请求一个或多个服务计算机以向用户计算机传递含有数据的服务包,或向服务计算机提供含有数据的服务包(servicepacket),从而使服务计算机处理该请求。接着服务计算机可以和来自用户计算机的数据传递请求一起共同的请求其它服务计算机的服务。
为了确定用户事务有效延迟时间和用户效率,网络的性能监视是重要的。性能监视一般搜索测量事务处理或应用的响应时间。响应时间是服务计算机和网络进行事务处理或应用(transaction or application)所需的时间。可以对响应时间进行统计分析,以便帮助分析服务计算机和网络的性能。
通常使用两种方法监视网络性能并提供响应时间。侵入/干涉(intrusive/invasive)的监视技术修改用户计算机上的软件代码,使其包括一个标记指令。标记指令把初始化服务请求包通知发送信息的收听装置,以便初始化该时间测量,并接收最终的结果或认可包,以便终止时间测量。相反,非侵入/非干涉测量技术一般不改变软件代码。而是用一个探头(probe)插入用户和服务计算机之间的通信线路中,用于监视在用户和服务计算机之间各个包的发送之间的延迟时间,从而提供粗略估算的响应时间。
侵入/干涉的和非侵入/非干涉的技术有若干缺点。在侵入/干涉技术的情况下,虽然提供事务处理的响应时间,但总有几个嵌入有标记指令的多层应用被写入代码中。即使应用已被嵌入到标记指令,但是由于嵌入应用的响应时间的统计集中于中心位置,所以也会产生技术问题,尤其是对于移动用户计算机。在非侵入/非干涉技术的情况下,只能对单个的包确定计算机之间的信息传输速率。这种技术一般不能确定事务处理或应用的响应时间。侵入/干涉或非侵入/非干涉监视技术都不能使各个包和相应的事务处理相匹配,以便计算事务处理或相关应用的响应时间,尤其是在多层网络中。如上所述,每个执行应用的服务计算机可以处理关于各种不同用户事务的一系列的单个服务请求。现有的监视技术不能使在各种服务请求中的服务包和特定的事务处理相匹配。
因此,需要一种装置和方法,用于测量事务处理或应用的响应时间,尤其是在多层计算机网络中。同时需要一种装置和方法用于使用非侵入/非干涉技术测量事务处理或应用的响应时间。
还需要一种装置和方法用于测量事务处理或应用的响应时间,即其能够使各个服务包和相应的事务处理或应用相匹配。
本发明提供一种用于识别相应于在源节点和目的节点之间传输的多个服务包的事务的方法,从而满足上述或其它的要求。所述方法包括下列步骤(i)提供包括多个服务包和关于服务包在源节点和目的节点之间的通信线路上传输的顺序的信息的通信数据集,以及(ii)比较通信数据集和模式特征数据集(pattern characterization data set),从而确定是否至少多个服务包中的一部分是事务部分。模式特征数据集包括关于包含事务的服务包预定顺序的信息。该方法可依据非侵入/非干涉测量技术,并且即使对于多层计算机网络,也可以提供几乎是实时的响应时间信息。
本发明部分地根据沿着通信线路传输的服务包这些服务包构成了重复发生在操作环境中的服务请求的模式识别。这些服务请求模式相应于不同的事务类型。已经发现,这些服务请求模式可以使用信号处理技术确定。一旦识别之后,模式的开始和停止时间便可以被确定,从而提供事务处理的响应时间。
可以使用探头从通信线路中实时地读出信息包,同时信息包是和接收时间(例如由探头读取信息包的时间)一道记录在通信数据集中的。
信息包可根据节点地址与/或端口数被滤波。在本发明的最佳实施例中,服务包相应于多个线索,并且信息包按线索(thread)分类。
服务请求包可按其内容和目的进行识别。然后服务结果包可和相应的服务请求包相关。然后可以确定服务请求的开始和停止时间。
在识别相应于事务处理的服务请求之后,可以使用服务请求的各种开始和停止时间确定事务处理的响应时间。
在本发明的另一方面,提供一种非破入系统,用于识别包括在源(source)节点和目的(destination)节点之间传输的多个服务包的事务。该系统包括(i)用于记录在通信线路上传输的多个服务包的装置,以及(ii)在与记录装置进行通信时,用于识别包括至少多个包的一部分的事务的装置。
在本发明的另一方面,提供一种方法,用于识别包括在源节点和目的节点之间传输的多个服务包的事务,该方法包括以下步骤(i)提供通信数据集,其中包括(a)相应于多个服务请求的多个服务包,以及(b)每个服务请求的开始和停止时间,以及(ii)将第一服务请求的停止和第二服务请求的开始之间的时间间隔和预定值的时间间隔比较,借以识别包括事务的服务请求的顺序。
在几种制约下比较步骤可以执行,其中改变时间间隔,以便选择服务请求之间时间间隔的最佳的预定值,以产生一个实质上最佳的服务请求顺序表作为可能的事务。然后,使用得到的事务服务请求模式数确定预定时间间隔的最佳值。在时间间隔的一个范围内,事务服务请求模式数保持常数。预定时间的最佳值是这一范围的中点值。例如,在使用预定值识别服务请求序列之后,该方法可以进一步包括选择第二预定值,比较服务请求之间的时间间隔和第二预定值,从而识别相应于第二事务的第二服务请求序列,并在第二数据集中记录服务请求的第二序列和每个第二序列发生的次数。接着,该方法根据(i)服务请求序列数和预定值和(ii)服务请求的第二序列数和第二预定值之间的关系,选择第三预定值(它是最佳的预定值)。这样该方法如前所述比较服务请求之间的时间间隔和时间间隔的第三预定值,以便识别相应于第三事务的服务请求的第三序列。第三事务的服务请求序列被认为是最佳的序列。然后第三序列和通信数据集比较,以确定是否至少多个服务请求的一部分相应于一个或几个事务。
该方法产生上述的模式特征数据集。模式特征数据集列出多个服务请求序列用于和来自比较步骤的服务请求比较。该附加的比较步骤用于确定在模式特征数据集中是否包含按时间排序的服务请求。
在最后一方面,本发明包括了用于确定在源节点和目的节点之间的事务活动程度的非破入系统。该系统包括(i)用于记录在通信线路上在源节点和目的节点之间传输的多个服务包的装置,以及(ii)和在与记录装置进行通信时用于确定事务处理数的装置。服务包和事务处理数有关,并且记录装置提供通信数据集。
在一个实施例中,确定装置用于把第一服务请求的停止时间和第二服务请求的开始时间之间的时间间隔和预定值的时间间隔相比较,从而识别在包括事务处理的通信数据集中的服务请求序列。
参考附图详细描述本发明的实施例。


图1说明和计算机网络相连的本发明的实施例;图2说明和多层计算机网络相连的本发明的另一个实施例;图3说明服务包;图4说明在服务请求中的服务包的例子;图5说明涉及服务请求数的事务处理的响应时间;图6A-E说明按照本发明方法的第一实施例确定响应时间的步骤;图7说明在模式寻找和匹配步骤中的服务请求的相互作用;图8说明预定的时间值与发现的事务处理数的关系曲线;图9A-B说明按照本发明用于确定响应时间的方法的第二实施例;图10-11说明在模式寻找和匹配步骤中服务请求的相互作用;以及图12是CPU利用率对事务处理响应时间的关系曲线。
本发明涉及一种使用非侵入/非干涉技术用于测量事务处理或应用的响应时间的方法和装置。如上所述,非侵入/非干涉监视技术在测量响应时间时不中断软件代码。而是监视用户计算机和各种服务计算机之间的网络通信。不同于现有的性能监视方法,本发明的方法是使选择的服务包和相关的服务包的开始与停止时间信息与相应的事务处理或应用匹配。在匹配步骤之后,该方法提供事务处理或应用的响应时间。本发明不仅对性能监视有用,而且可用于记帐和监视服务级协议的遵守情况。
按照本发明装置的结构如图1,2所示。参见图1,其中说明了最简单的单个网络部分。在该网络中,记录装置或探头20连接到用户计算机28和服务计算机32之间的通信线路或总线24。记录装置20选择沿通信线路24传输的服务包,并向监视计算机36提供服务包和提供服务包被记录装置20接收的时间以便进行分析。图2说明具有多个网络部分的更复杂的多层结构。记录装置20a,b通过通信装置22,例如调制解调器连接到网络部分26a,b之间的通信线路24a,b。网络部分包括用户计算机28和服务计算机32a,b,c,d以及通信线路24a,b。由图可见,本发明不测量在各种用户和服务计算机内的响应时间,如在侵入/干涉监视技术中那样,而是通过监视用户计算机和各种服务计算机之间在通信线路上的网络通信测量响应时间。
在多层计算机网络中的记录装置20的数量和位置和应用有关。一般地说,记录装置20位于把用户或服务计算机的驱动器连接到通信线路24上的访问点之间的通信线路24的任何部分上。用这种方式,所有的在通信线路24上传输的服务包将由记录装置20读取,并精确地确定涉及多用户与/或服务计算机的事务处理和应用的响应时间。
图3说明在多层计算机网络中计算机之间传输的一般服务包的正文。如图3所示,服务包38一般包括节点(node)地址40,它用于识别服务包的源和目的,端口号44,附加信息48。根据应用,服务包可以具有附加信息,例如数据库请求,文件系统请求,和目标代理人(object broker)请求。
一般有两类服务包,即服务请求和服务结果包。服务请求包请求服务计算机执行特定动作。服务结果包是响应服务请求包而产生的服务包。服务结果包可以包含包括由服务请求包请求的信息的各种信息。
为了说明在服务请求中两类服务包的使用,图4示出了涉及包括多个服务包的服务请求的例子。一个典型的服务请求52通过例如由用户计算机向服务计算机发出的服务请求包56开始(它可以是多个服务包)。然后服务计算机向用户计算机发出服务请求认可包60,并开始处理该请求。当服务计算机完成服务请求的处理时,服务计算机向用户计算机发送服务结果通知包64以准备向用户计算机发出服务请求数据。然后,用户计算机发送用于请求发送数据的服务结果发送包68。服务计算机开始发送服务结果包72。服务结果完成包76通知用户计算机最后的服务结果包已经发送,并且服务结果认可包80通知服务计算机信息已经收到。完成服务请求的响应时间是收到服务请求包56的时间和收到服务完成认可包80的时间之间的差。
为进一步说明一个事务处理的响应时间,将参照图2和图5说明涉及多个服务请求的事务处理例子。在用户计算机28上执行的A类“A”事务产生向服务计算机32a的服务请求1和服务计算机32b的服务请求2。为了完成服务请求1,服务计算机32b产生向服务计算机32c的服务请求3。当服务请求1被完成时,类型“A”事务产生向服务计算机32d的服务请求4,5和向服务计算机32c的服务类型6(例如服务请求6)。从向各种服务计算机请求服务的模式来识别出该事务为“A”类事务。测量“A”类事务的响应时间是从服务请求1和2的开始时间到服务请求5的停止时间进行的。这样,事务处理响应时间被简化为各个服务请求响应时间之和。
图6A-E是说明按照本发明的性能监视方法的第一实施例的流程图。该方法从记录装置中采集选择的服务包,并对选择的服务包进行滤波,从而形成通信数据集。网络通信被滤波,从而只产生和感兴趣的应用相关的那些服务包。可以看出,相同用户计算机的多个应用可以请求来自特定的服务计算机的同样类型的服务。服务提供者也可以从一个服务计算机转移到同一类型的另一个服务计算机。
第一实施例的根据是假定给定事务的包只位于一条线索(thread)上。然而一个给定的线索可以具有来自多于一个事务的包。本发明的第二实施例,说明给定事务发生在多于一条线索上的应用将在之后讨论。
如此处所使用的,一条线索是服务请求者节点和服务提供者节点之间的一个特定的可识别的连接或会话(session)。一条线索最好被这样识别,使得在给定的时刻它可以只具有一个服务请求。可以看出,在某些应用中,节点地址不是每个线索的足够条件的识别符,因为对于给定的节点地址可以有多个会话(session)。在这种情况下,使用连接或会话识别信息来进一步识别要发送到线索的服务包。一条线索可以是用户线索,即对于特定的用户计算机是唯一可识别的线索,或是共用线索,即在多个用户请求当中共用的线索。
参见图6A,在指令框100中一个或几个记录装置20首先从通信线路24中读取一个或几个服务包。根据节点地址或其它的线索识别信息,记录装置20确定服务包是否属于感兴趣的用户计算机与/或服务计算机(如线索)。如果是,则通过记录装置20,服务包被记录,并记录服务包被读出的时间(例如收到时间);否则,则不进行服务包的记录。如果在服务请求的特定的子集中有一个是感兴趣的,则记录装置20可以不仅根据节点地址或其它线索识别信息而且根据端口号进行滤波。如果这样构成应用,即在给定时刻在一个端口上只有一个服务请求,则该端口号对于滤波就是有用的。
在指令框104,服务包通过传送到合适的线索数据集(set)被记录在通信数据集中。通信数据集含有由按线索组织的所有记录装置记录的服务包。每个线索有一个线索数据集。在大多数应用中,在通信数据集中的多个线索数据集在任何时刻都是有效的。
在判定框108,接着检查服务包,确定是否服务请求包。这通过在服务包的正文中检索服务请求包唯一的关键字与/或符号来实现,即在服务结果包中不使用的字与/或符号。用于检索的这些字与/或符号对于给定的事务与/或应用可以是特定的。
如果服务包是一个初始的服务请求包,在指令框112中则读出相继的服务包,以便在判定框116中识别服务完成包。服务完成包是服务请求中的最后一个服务请求包。如上所述,在一个特定的时刻对于在线索上为串行的特定服务请求只有一服务包集。对于给定的服务请求,服务包集包括服务数据子集。因而,服务请求包和相应的服务结果包的匹配是一个相当直观的处理。
有两种方法识别服务完成包。在一种方法中,根据只和一个或多个服务结果包相关的关键字和/或符号检索在每个服务结果包中的正文。在另一种方法中,具有最近接收时间的服务包被假定为服务完成包,换句话说,在紧挨相继的服务请求包之前在线索上的最后的服务包被假定为服务完成包。在线索上的最后的包可通过用户计算机或服务计算机发出。在特定情况下,两种方法中的哪一个最好取决于应用。
在判定框116中识别服务请求包和服务完成包之后,在指令框120,服务请求的开始和停止时间和线索识别信息以及服务请求识别符与可能的记录装置位置一道被记录在通信数据集中。开始时间是服务请求包的收到时间,停止时间是服务完成包的收到时间。服务请求识别符是任何一种合适的符号,用于识别服务请求所属的服务类型。例如服务请求识别符可以是一个指令或一个指令的一部分,尤其是在数据处理应用的情况下。通信数据集(set)可以包括其它信息,包括记录装置在通信线路24上的位置,网络类型和其它记录信息。
在选择的时间间隔内,基于沿着通信线路24的部分传输的服务包一包一包地重复上述处理步骤。时间间隔可以是离散的或连续的。在每种情况下,经过合适的时间间隔之后,通信数据集按下述步骤处理,以便识别响应时间。
对于具有加密或压缩数据的服务包,一般在进行滤波步骤之前需要知道或确定压缩算法。因此,可能要求附加步骤对包解密或解压缩。
在下面详细说明的一系列事务模式寻找步骤中,监视计算机36分析通信数据集,以便识别包括可能的事务模式的服务请求序列。一般地说,监视计算机36通过比较第一服务请求的停止时间和相继的服务请求的开始时间之间的时间间隔与预定值的时间间隔来识别服务请求序列。如果时间间隔小于或等于预定值,则认为服务请求是相同事务的一部分,如果时间间隔大于预定值,则认为服务请求是分离的事务的一部分。因而,对于被认为是相同事务的一部分的两个服务请求,所选择的时间间隔是根据相邻服务请求之间的最大预定时间间隔选择的。
参见图6B说明初始化事务模式寻找步骤,在判定框124,选择的时间间隔可以通过选择的时间增量增加或减少。如果选择的时间间隔处于时间间隔值所需范围的上或下限,则结束处理。下面详细说明选择的时间间隔和增量的增加或减少。如所理解的那样,较小的选择时间间隔相比于较大的选择时间间隔产生较小数量的可能的事务模式。
在选择合适的选择时间间隔之后,在指令框128,监视计算机36在所有选择的时间间隔内打开服务请求文件,以便包含在相继的步骤中产生的信息。如下所述,服务请求文件将包含按线索和选择时间间隔分类的服务请求文件。
参见图6B,在指令框132,监视计算机接着从通信数据集中读出服务请求,并在判定框136,确定在通信数据集中的所有服务请求是否已被读完。如果是,监视计算机则进入判定框124。如果不是,监视计算机则在指令框144向合适的线索发送服务请求,以每个线索当前的一个线索数据集形成线索数据集。在每个选择的时间间隔内,在各个服务请求被从通信数据集中读出并被发送给线索数据集时,在每个线索数据集中可以形成服务请求的集合。在各线索数据子集中的服务请求由其各个开始和结束时间排序。这样,如上所述,在集合中的每个服务请求和相邻的服务请求隔开一个时间间隔。重复指令框132,134,直到在每个选择的时间间隔内,在通信数据集中的所有的服务请求被按线索分类为止。
在计算机在判定框124中确定了所有选择时间间隔都已被分析之后,计算机进入指令框140。在指令框140中,通信数据集中的服务请求都被接收到各个线索数据集中。如所理解的,对于服务请求文件中的每个选择的时间间隔进行图6C中接着发生的步骤。
其次每个线索数据集中的服务请求在判定框148中被检查,确定各个服务请求对线索数据集中的另一个服务请求是否局部的(local)。如果服务请求之间的时间间隔不大于选择的时间间隔,则一个服务请求对另一个服务请求就是局部的。如果该服务请求对另一个服务请求是局部的,则认为该服务请求是相同事务的组成部分。如果该服务请求对另一个服务请求不是局部的,则该服务请求被认为是不同的或分离的事务中的组成部分(component)。
参考图7,其中示出了在服务请求文件中的每个线索数据集中产生的该类的服务请求串或序列。服务请求串或序列能被认为是服务请求的集合,该服务请求相对于序列中的至少一个其它的服务请求而言是局部的或能被认为是单个的服务请求,该服务请求相对于其它服务请求而言不是局部的。如所理解的那样,一种可能的事务模式可以具有一个或几个服务请求。因而,在图7中,隔开服务请求156a-e的时间间隔ΔTa-d不大于选择时间间隔。
如果在线索数据集中的服务请求对线索数据集中的另一个服务请求不是局部的,则在指令框150,服务请求被组合,并作为新的可能的事务模式加到服务请求文件中模式特征数据集中的可能的事务表中。如所理解的,服务请求对另一个是离散的或是多个服务请求的串或序列的一部分,该服务请求可以是局部的,用这种方式,相应于给定的可能的事务的服务请求序列被逐渐扩展,从而包括附加的服务请求。
模式特征数据集可以包括各种信息,其中包括各个选择的时间间隔和相应的线索数据集,每个线索数据集包括用于识别线索的变量,与在服务请求序列中组织的线索有关的各个服务请求,以及每个服务请求序列发生的次数。这个服务请求序列表以后称为可能的事务模式表。
模式特征数据集根据应用也可以包括其它信息。例如,模式特征数据集可以包括和每个服务请求序列有关的事务类型。事务类型可以根据在相应于事务的服务请求序列中的一个或几个服务请求的识别(例如服务请求识别符)。
在指令框140中,通过接收来自记录文件中的线索数据集的服务请求开始产生模式特征数据集。如果主题(subject)服务请求对线索数据集中的前一个服务请求不是局部的,则在时间上直接领先主题(subject)服务请求的服务请求序列,如果有的话,在判定框152中在模式特征数据集中的相关的选择的时间间隔内,便和在先识别的所有线索数据集中的模式进行比较,以确定在选择的时间间隔内,模式是否已被先记录(发现)。
如果前面的服务请求序列不是新的可能的事务模式(possible transactionpattern),则在指令框156中,在选择的时间间隔内,增加可能的事务模式发生的次数。更具体地说,将已记录的具有相同服务请求序列的可能的事务模式发生的次数增加1。
返回判定框152,如果在主题服务请求前面的服务请求序列对于选择的时间间隔而言是新的可能的事务模式,则在指令框160监视计算机会在可能的事务模式表中记录服务请求序列。
在指令框156,160之后的指令框164中,可能的事务模式表被初始化,从而用主题服务请求的开始对选择的时间间隔开始新的服务请求串。根据主题服务请求对于直接在前的服务请求不是局部的这个事实,程序假定其部分直接在前的服务请求的服务请求序列已完成了。因为该服务请求对于在前的服务请求不是局部的,所以监视计算机假定该服务请求是新的服务请求序列的一部分。
在完成指令框164之后,在判定框168中,监视计算机确定,对于在所有选择的时间间隔内的所有服务请求是否已经到达记录文件中线索数据集的结尾。如果是,过程结束,如果不是,计算机则进入指令框172,并从记录文件的线索数据集中接收另一个服务请求。
在指令框150和172完成之后,监视计算机返回到指令框140,并重复前面的步骤,直到在记录文件中的所有服务请求都被读出并处理为止。
在具有多个线索的通信数据集中,监视计算机从不同线索中对服务请求并行地进行事务模式寻找步骤。这样,在多个不同的线索数据集中的服务请求被同时进行分析。因而,在任何时刻,多个线索数据集可以是有效的。
在最佳实施例中,通过在判定框124首先选择一系列的选择时间间隔进行选择时间间隔的最佳值选择。如上所述,可以在判定框124使用预定的增量选择预定值。用于选择时间间隔使用的值通常是小于1秒的间隔范围,例如从大约50到大约500毫秒。
参见图8,在利用各个选择的时间间隔对上述指令框和判定框执行之后,对照相应的选择时间间隔(例如横轴)绘出模式特征数据集的可能的事务模式数(例如竖轴)。在曲线180上平稳部分176的中心部分进行选择时间间隔的最佳值选择。使用判定框124中的最佳值,重复事务模式寻找步骤,从而产生第二模式特征数据集。在第二模式特征数据集中的事务模式被认为基本上是在记录文件中各个服务请求的事务模式的最佳的表。
参见图9A说明本发明的第二实施例。用图9A代替图6C,该第二实施例在其它方面具有和图6A,6B中的第一实施例相同的步骤。图6C基本上和图9A相同,只是判定框200和指令框204与其不同,如上所述和第一实施例有所不同的是第二实施例可适用于具有对超过一条线索的应用与/或事务处理。
一般有三种情况其中应用或事务处理对每个事务具有一条以上的线索。在一种情况中,特定的线索只执行一种服务请求类型。在执行这种服务请求类型之后,应用或事务处理利用其它线索。在另一种情况中,对序列中的多个用户线索执行应用或事务处理。例如,对一个用户线索执行多个服务请求,对另一个用户线索执行多个较后的服务请求。用这种方式,应用或事务处理可在用户线索当中前后移动。在最后的情况下,两个或多个用户计算机使用共用线索执行服务请求。
为了对于一个事务使用一个以上的线索寻址,响应对判定框148否定的回答,判定框200确定在时间上直接在主题服务请求前面的服务请求序列对于其它线索数据集中的服务请求是否局部的。
参见图7和10-11,其中说明在判定框200中进行比较不同线索数据集中的服务请求得出的三种可能的结果。在图7中,在一个线索数据集中的服务请求156d对于在另一个线索数据集中的直接在服务请求序列前面的服务请求(例如服务请求156a-c)是局部的,因为在服务请求序列中服务请求156c和服务请求156d之间的时间间隔ΔTc不大于选择的时间间隔。在图10中,一个线索数据集中的服务请求210对于在另一个线索数据集中的服务请求序列(如服务请求214a-b)不是局部的,因为服务请求和服务请求序列重叠。换句话说,如果该服务请求分别在服务请求序列中的一服务请求的完成或开始之前被开始或未完成,则对于该服务请求序列来说该服务请求就不是局部的。因而,对于离散的服务请求或要被复制到另一个线索数据集中的服务请求序列来说,关键是服务请求或服务请求序列和在其它线索数据集中的服务请求序列的一部分(例如服务请求214a-b)不能重叠。在图11中,在一个线索数据集中的服务请求218对在另一个线索数据集中的服务请求序列(例如服务请求222a-b)不是局部的,因为在该服务请求序列中的服务请求218和服务请求222b之间的时间间隔ΔTe大于选择的时间间隔。
服务请求或服务请求序列可以串行或并行地转移到一个或几个线索数据集中。例如,在一个线索数据集中的服务请求或服务请求序列可以按顺序转移到第二线索数据集中或第三线索数据集中(例如串行地),或基本上同时转移到两个或几个其它线索数据集中(例如并行地)。
如果该服务请求序列对另一个线索中的服务请求是局部的,则将指令框204中服务请求序列转移到其它线索数据集中的可能的事务模式表中。在完成指令框204之后,监视计算机返回指令框140。
如果该服务请求序列对另一个线索中的服务请求不是局部的,则监视计算机继续执行判定框152。
在事务模式匹配步骤中,通信数据集和来自事务模式寻找步骤中的模式特征数据集比较,从而确定是否至少多个服务包中的一部分是一个或几个事务的一部分。相应于服务包的服务请求的开始和停止时间可用于提供事务与/或应用的响应时间。
参见图6D,为了开始事务模式匹配步骤,在指令框250打开服务请求文件,以便接收从通信数据集读出的服务请求。
在指令框254中,服务请求被从通信数据中读出,并在指令框258发送给合适的线索,以便在每个线索现有的一个线索数据集的服务记录文件中形成线索数据集。
在判定框256中,监视计算机确定在通信数据集中的最后服务请求是否已被读完。如果是,监视计算机进入指令框262,如果不是,监视计算机则返回指令框254。用这种方式,在图6E的步骤之前把通信数据集中的所有服务请求按线索数据集分类。
参见图6E,在每个线索数据集中把根据开始和停止时间排序的服务请求序列和模式特征数据集比较,从而确定是否至少服务请求序列的一部分是可能的事务模式中的一部分。
在判定框266中,通过比较线索数据集中的主题(subject)服务请求和从模式特征数据集中的所有线索数据集获得的各个事务模式中的开始服务请求而开始匹配处理。如果服务请求不和所有线索获得的事务模式中的任何开始的服务请求相匹配,则监视计算机在指令框262中接收另一个服务请求,并重复判定框266。如果服务请求和一个开始的服务请求匹配,则在指令框270中接收来自该线索数据集中的另一个服务请求。
在判定框274中,监视计算机确定在指令框270中接收的服务请求对于在指令框266中识别的开始服务请求来说是否局部的。如果不是,则监视计算机返回指令框262,并利用另一个服务请求重复上述步骤。如果是,则在判定框278中监视计算机根据模式特征数据集中的事务模式确定在指令框270中读出的服务请求是否事务模式最后的服务请求。
为了确定服务请求是否可能事务中最后的服务请求,监视计算机确认在线索数据集中事务模式中的服务请求序列。如果服务请求不是可能事务中的最后的服务请求,则监视计算机返回指令框270。如果服务请求是最后的服务请求,则监视计算机在指令框282记录可能的事务模式的开始和停止时间,并进入判定框286。
在判定框282中,如果确定在线索数据集中的所有服务请求都已被标识到服务请求序列中,则程序终止。否则,计算机返回指令框262。最好对于所有线索数据集的该处理步骤被并行地执行。
这些处理步骤产生含有包含各个事务的各个服务请求序列的模式分析数据集、每个事务的响应时间、和记录装置的位置。该模式分析数据集可以包括附加信息,例如用户识别信息和线索识别信息。
参见图9B说明本发明的第二实施例。用图9B代替图6E,换句话说和图6D所示的第一实施例的步骤相同。除去判定框300和指令框304之外,图9B和图6E基本相同。为了对于一个事务使用一个以上的线索寻址,响应判定框274的否定的回答,判定框300确定服务请求序列对于在另一个线索数据集中的服务请求是否局部的。如果对于在一个或几个其它线索数据集中的服务请求来说该服务请求序列是局部的,则在指令框304中将该服务请求序列转移到其它线索数据集中。在完成指令框304之后,监视计算机返回指令框262。如果对于在另一个线索数据集中的服务请求来说该服务请求序列不是局部的,则监视计算机继续执行判定框278。
在完成第一或第二实施例的处理步骤之后,在模式分析数据集中的信息可被用于生产性能统计和事务计数。例如,产生的事务响应数据可被集合而成为一个固定的时间间隔,例如5分钟,以及响应时间统计,例如最大,平均,标准偏差和按照事务类型计算的第70,第80,和第90百分位(percentie)。离散事务响应时间信息可用于通过在事务处理内中断服务请求或利用用户级(class)与其它变量来分析响应时间。对于事务处理的一个分析报告的例子示于图12。这些数据也可以用于确定在一个离散的时间间隔内进行的事务处理数量。
模式特征数据集可以包括由事务模式寻找步骤之外的处理确定的事务模式。例如,对感兴趣的事务可以进行试验,用于识别在事务处理期间产生的服务请求序列。该方法在一些情况下可能是不完整的,因为根据由用户选择的特定的响应,一个事务可以产生多个服务请求序列。
事务模式寻找和匹配步骤可被修改从而除去不完整的服务请求序列。这种服务请求序列一般是在事务处理已经开始之后用于记录服务包最初选择的时间间隔或在事务处理结束之前最后选择的时间间隔而引起的。为了除去不完整的服务请求序列,在没有和前后服务请求隔开一个大于选择的时间间隔的线索数据集中的任何服务请求序列被除去。当然,这种修改假定了由大于选择的时间间隔隔开的任何服务请求不是同一个服务请求序列的一部分。
虽然已经详细说明了本发明的各种实施例,显然,本领域技术人员可以作出各种改变和改型。然而,应该理解,这些改变和改型都将落在本发明权利要求限定的本发明的范围之内。
权利要求
1.一种用于识别事务的方法,该事务相应于在源节点和目的节点之间传输的多个服务包,该方法包括提供通信数据集,它包括多个服务包和关于所述服务包在源节点和目的节点之间的通信线路上传输顺序的信息;以及比较所述通信数据集和模式特征数据集,该模式特征数据集包括关于服务包预定顺序的信息,该服务包相应于一个事务以便确定至少所述多个服务包中的一部分是否相应于所述的事务。
2.如权利要求1所述的方法,其中,所述通信数据集包括相应于每个服务包的收到时间,并且所述提供步骤包括利用探头从所述通信线路读出所述服务包;以及记录所述服务包和所述收到时间,其中所述收到时间基本上相应于由所述探头读出所述包的时间。
3.如权利要求2所述的方法,其中,所述探头位于所述源节点和所述目的节点之间,并且还包括对所收到包的收到时间增加一个传输时间该传输时间基本上相应于把一个服务包从所述探头传输到至少一个所述源节点和目的节点所需时间。
4.如权利要求1所述的方法,其中,多个所述服务包具有至少一个节点地址和端口数,并且所述通信数据集包括相应于每个服务包的收到时间,并且所述提供步骤包括利用探头从所述通信线路上读取所述服务包;根据至少一个节点地址和端口数对所述服务包滤波,从而形成滤波的服务包;以及记录所述滤波的服务包和所述收到时间,其中所述收到时间基本上相应于由所述探头读出所述滤波的服务包的时间。
5.如权利要求1所述的方法,其中,所述服务包相应于多个线索,每个线索相应于线索识别信息,并且所述比较步骤包括把在所述通信数据集中的所述服务包分类成为多个线索数据集,其中在每个线索数据集中的服务包具有相同的线索识别信息。
6.如权利要求1所述的方法,其中,所述服务包包括服务请求包和服务结果包,每个服务请求相应于一个服务请求,并且所述比较步骤包括根据所述服务包的内容识别在所述服务包中的服务请求包。
7.如权利要求1所述的方法,其中,所述服务包包括服务请求包和服务结果包,并且所述比较步骤包括根据所述服务包的内容识别在所述服务包中的服务请求包;使服务结果包和相应的服务请求包相关;以及确定服务请求的开始和终止时间。
8.如权利要求7所述的方法,其中,还包括对所述事务计算响应时间。
9.如权利要求7所述的方法,其中还包括将所述时间间隔的一个预定值和第一服务请求的终止和第二服务请求的开始之间的时间间隔比较,以便识别相应于事务的服务请求序列,其中所述服务包的预定顺序相应于所述服务请求序列。
10.如权利要求1所述的方法,其中,所述服务包相应于多个服务请求,并且所述比较步骤包括首先匹配在所述通信数据集中的第一服务请求和所述服务包的预定顺序中的第一服务请求;接着匹配在所述通信数据集中的第二服务请求和所述服务包的预定顺序中的第二服务请求,其中在所述第一和第二服务请求之间的时间间隔不大于一个预定值。
11.如权利要求1所述的方法,其中,所述服务包相应于多个服务请求,所述服务请求相应于多个线索数据集,并且所述比较步骤包括首先匹配相应于第一线索的第一服务请求和所述服务包的预定顺序中的第一服务请求;第二匹配相应于第二线索的第二服务请求和所述服务包的预定顺序中的第二服务请求,其中在所述第一和第二服务请求之间的时间间隔不大于一个预定值。
12.一种用于识别事务的非破入系统,该事务相应于在源节点和目的节点之间传输的多个服务包,包括用于记录在源节点和目的节点之间的通信线路上传输的多个服务包的装置,所述记录装置和所述通信线路正在进行通信;以及在和所述记录装置进行通信时,用于识别相应于至少所述多个包的一部分的事务的装置。
13.如权利要求12所述的非破入系统,其中,所述识别装置包括用于使所述多个服务包和由所述记录装置接收服务包的顺序来与所述事务有关的服务包的预定顺序进行比较的比较装置。
14.如权利要求12所述的非破入系统,其中,所述记录装置位于所述源节点和所述目的节点之间的所述通信线路的部分上。
15.一种用于识别事务的方法,该事务相应于在源节点和目的节点之间传输的多个服务包,包括提供通信数据集,其包括(i)相应于多个服务请求的多个服务包和(ii)每个服务请求的开始与终止时间;以及使第一服务请求的终止时间和第二服务请求的开始时间之间的时间间隔与所述时间间隔的预定值进行比较,从而识别相应于一个事务的所述服务请求的序列。
16.如权利要求15所述的方法,其中,所述预定值的范围从大约50到大约500毫秒。
17.如权利要求15所述的方法,其中,所述服务请求的一部分相应于一个线索,并且至少两个服务包相应于不同的线索,并且所述服务包包括多个服务请求包和相应于不同服务请求的服务结果包,并且所述比较步骤包括识别所述服务包中的服务请求包;使服务结果包和相应的服务请求包相关,从而形成多个服务数据子集,在每个服务数据子集中的该服务包相应于一个服务请求;以及对所述服务数据子集按线索进行分类,从而形成服务请求的多个线索数据集,在所述线索数据集中的该服务包具有相同的线索地址。
18.如权利要求15所述的方法,其中,多个服务请求序列相应于多个事务,并且所述比较步骤包括记录每个所述的服务请求序列和在模式特征数据集中每个序列发生的次数。
19.如权利要求15所述的方法,其中,还包括选择一个第二预定值;使所述时间间隔和所述第二预定值进行比较,从而识别相应于第二事务的所述服务请求第二序列;以及记录每个所述服务请求的第二序列和在第二数据集中每个所述第二序列发生的次数。
20.如权利要求19所述的方法,其中,还包括根据(i)所述服务请求序列的数量和所述预定值和(ii)所述第二服务请求序列的数量和所述第二预定值之间的关系,选择第三预定值。
21.如权利要求20所述的方法,其中,还包括比较所述时间间隔和所述时间间隔的第三预定值,从而识别相应于第三事务的所述服务请求的第三序列。
22.如权利要求21所述的方法,其中,还包括比较所述第三序列和所述通信数据集,确定是否至少所述多个服务请求的一部分相应于所述事务。
23.如权利要求22所述的方法,其中,还包括对所述事务计算响应时间。
24.如权利要求15所述的方法,其中,所述比较步骤产生一个将多个服务请求序列列表的模式特征数据集,并且还包括第二次比较来自所述比较步骤的所述服务请求和所述模式特征数据集,从而确定所述服务请求是否被包含在所述模式特征数据集内。
25.如权利要求15所述的方法,其中,第一服务请求相应于一个线索,所述第二服务请求相应于第二线索。
26.一种用于在源节点和目的节点之间确定事务值有效性的非破入系统,包括用于记录在源节点和目的节点之间的通信线路上传输的多个服务包的装置,其中所述服务包和若干事务相关,并且所述记录装置处于和所述通信线路通信的状态;以及用于确定和所述记录装置通信的事务的所述数量的装置。
27.如权利要求26所述的非破入系统,其中,所述确定装置包括用于使所述多个服务包和所述服务包由所述记录装置接收的顺序来与和所述事务相关的服务包的预定顺序进行比较的装置。
28.如权利要求26所述的非破入系统,其中,至少所述多个包的一部分和不同的服务请求包相关,所述记录装置提供第一数据集,其包括(i)所述多个包和(ii)每个服务请求的开始和终止时间,并且确定装置包括用于使第一服务请求的终止时间和第二服务请求的开始时间之间的时间间隔与所述时间间隔的预定值进行比较,从而识别相应于一个事务的所述服务请求的序列的装置。
全文摘要
本发明提供了一种用于测量事务响应时间的方法和装置(36)。该方法和装置可以识别相应于一个事务的服务请求序列和事务的开始与终止时间。本发明可以非侵入/非干涉地用于在源节点(32)和目的节点(28)之间传输的服务包(38)。
文档编号G06F21/00GK1197521SQ96197113
公开日1998年10月28日 申请日期1996年7月19日 优先权日1995年8月10日
发明者詹姆斯·M·罗斯伯拉夫 申请人:先进系统技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1