软件跟踪方法及其系统的制作方法

文档序号:6418329阅读:169来源:国知局
专利名称:软件跟踪方法及其系统的制作方法
技术领域
本发明涉及通信或电子领域中的软件管理技术,尤其涉及一种软件跟踪方法及其系统。
背景技术
软件可测试性主要包括可观察性和可控制性,而软件跟踪技术是实现软件可观察性的一种最常用、最基本的方法,它是软件测试、调试及问题定位所必需的一种关键技术。
目前,软件业常用的软件跟踪方式,一般都是基于打印原理实现的。请参照图1,该图是现有技术中基于打印原理实现软件跟踪的示意图,其实现原理如下在被测软件系统中需要进行信息跟踪的地方设置打印语句Print,通过该设置的打印语句Print将相应跟踪信息输出到操作人员可见的地方,如电脑屏幕或程序界面等。
在上述被测软件系统中设置打印语句Print,以对被测软件系统进行信息跟踪的基础之上,还可以对打印语句Print进而设置分级打印的跟踪机制,即将被测软件系统中需要打印输出的跟踪信息,按照不同的分类标准设置不同的打印级别,从而可以实现在被测软件运行过程中静态或动态地调整跟踪信息的打印级别,以决定哪些跟踪信息可以输出,哪些跟踪信息可以不输出。
可以按照下列两种分类标准对跟踪信息进行分类,以分别为每类跟踪信息设置打印级别1)按照被测软件系统中的模块或者功能对跟踪信息进行分类,如按照模块A,模块B......进行分级,或按照功能A,功能B......进行分级等;2)按照被测软件系统中各个跟踪信息的严重程度进行分类,如按照严重级别,一般级别......等等对跟踪信息进行分类。
而分级打印信息跟踪机制输出的跟踪信息支持两种数据格式,如下A.文本格式,目前在分级打印信息跟踪机制的应用过程中多采用文本格式来输出各种跟踪信息;B.二进制方式,即以打印输出不同的二进制数值来分别表示不同的跟踪信息(如可以用1表示“文件打开失败”的跟踪信息)。
上述分级打印信息跟踪机制存在着许多难以克服的缺点,特别是应用在较大的软件系统中时(百万行以上的源代码),表现如下(1)信息跟踪过程缺乏系统化设计,一般在软件开发过程中,仅规定打印语句Print的编程接口和分类标准,而缺乏完整的、系统性的跟踪功能设计,表现在①各个被测软件系统对跟踪信息输出的数据格式、打印语句Print编程接口的调用方式等都没有进行标准统一;②因为打印语句Print一般不会作为一个单独的功能来对待,多是开发人员自己根据需要随意设置,所以设置在什么地方应该打印,输出什么内容,都缺少统一的标准;③输出的跟踪信息只有相关开发人员才能理解,而其它人员理解起来会有困难;④由于输出的跟踪信息数据格式不统一,打印语句Print的设置缺乏标准规范,因此无法进行自动化的数据分析处理,难以实现自动化测试;(2)跟踪信息对系统运行性能影响较大(特别是采用文本格式输出跟踪信息时),表现如下①采用文本格式输出跟踪信息时,一条跟踪信息往往占用几十到上百个字节,对通信带宽的占用较大;②在跟踪点较多的情况下,跟踪信息输出的也会较多,这样对CPU运行空间的占用就会较高;(3)输出的跟踪信息缺乏组织性,即输出的跟踪信息较多且较杂,没有按照一定的方式进行组织;例如跟踪一个用于控制呼叫的软件系统,理想上希望能够将跟踪信息按照不同的呼叫类型进行分类;但是分级打印信息跟踪机制一般不能将相同类的跟踪信息进行归类,而是将各种跟踪信息混合在一起进行打印输出,从而导致对跟踪信息进行统计或趋势图分析等操作比较困难。
综上所述,由于分级打印信息跟踪机制信息跟踪过程缺乏系统化设计,并对系统运行性能影响较大,同时跟踪信息的输出缺乏组织性;所以现有的分级打印信息跟踪技术难以对大型软件系统对跟踪功能的需求进行支持。

发明内容
本发明要解决的技术问题是提出一种软件跟踪方法及其系统,以增强软件跟踪过程的系统化,并减小对系统运行性能的影响,及使跟踪信息的输出具有较好的组织性。
为解决上述问题,本发明提出了一种软件跟踪方法,用于对被测软件系统进行跟踪,所述被测软件系统中设置有多个跟踪点,包括步骤(1)设置跟踪信息过滤条件;(2)采集被测软件系统中每个跟踪点信息,得到跟踪信息;(3)根据所述过滤条件对跟踪信息进行过滤;(4)根据跟踪信息的属性对跟踪信息进行归类组装;(5)将归类组装后的跟踪信息进行解析显示。
其中所述步骤(5)之后还包括步骤(51)将归类组装后的跟踪信息进行存储。所述步骤(51)之后还包括步骤(52)根据外界输入的查询条件查询对应存储的跟踪信息;(53)将查询到的跟踪信息进行解析显示。
其中所述步骤(1)中还包括设置若干个跟踪信息分流条件的步骤;所述步骤(5)之后还包括步骤
(5A)根据不同的分流条件对归类组装后的跟踪信息进行分流处理;(5B)将分流处理后的不同部分的跟踪信息分别下发到不同跟踪浏览单元进行解析显示。
其中所述步骤(5B)之后还包括步骤(5B.1)不同跟踪浏览单元分别将自身获取的跟踪信息进行存储;(5B.2)不同跟踪浏览单元分别根据外界输入的查询条件在步骤(5B.1)存储的跟踪信息中或在步骤(51)存储的跟踪信息中查询对应存储的跟踪信息;(5B.3)跟踪浏览单元将查询到的跟踪信息进行解析显示。
其中所述步骤(3)和(4)之间还包括步骤(31)将过滤后的跟踪信息进行缓存;(32)根据后续采集到的跟踪信息,对缓存的跟踪信息进行再次过滤。
其中步骤(4)中所述属性为业务类型;或为业务类型及每个业务类型中每个业务处理被分配到的标识。
其中所述步骤(1)之前还包括为每个跟踪点跟踪的静态信息配置唯一标识的步骤。
所述步骤(2)中采集的每个跟踪点信息包括跟踪点跟踪到的静态信息唯一标识和动态信息;所述步骤(5)进一步包括步骤(5I)根据跟踪信息中包括的静态信息唯一标识索引对应的静态信息;(5II)将索引到的静态信息和跟踪到的动态信息进行解析显示。
其中所述为静态信息配置的唯一标识为二进制数字标识。
相应地,本发明还提出了一种软件跟踪系统,用于对被测软件系统进行跟踪,所述被测软件系统中设置有多个跟踪点,包括过滤条件存储单元,用于存储预先设置的过滤条件;采集单元,用于采集被测软件系统中每个跟踪点信息,得到跟踪信息;过滤单元,分别与所述过滤条件存储单元和采集单元连接,用于根据过滤条件存储单元存储的过滤条件对采集单元采集到的跟踪信息进行过滤;归类组装单元,与所述过滤单元连接,用于根据跟踪信息的属性对过滤处理后的跟踪信息进行归类组装;
主解析显示单元,与所述归类组装单元连接,用于将归类组装后的跟踪信息进行解析显示。
所述系统还包括跟踪信息主存储单元,与所述归类组装单元连接,用于将归类组装后的跟踪信息进行存储。
所述系统还包括主查询单元,分别与所述跟踪信息主存储单元和主解析显示单元连接,用于根据主解析显示单元输入的查询条件查询跟踪信息主存储单元存储的对应跟踪信息,并将查询到的跟踪信息发送到主解析显示单元进行解析显示。
所述系统还包括分流条件存储单元,用于存储预先设置的若干个跟踪信息分流条件;分流单元,分别与所述分流条件存储单元和归类组装单元连接,用于根据不同分流条件对归类组装后的跟踪信息进行分流处理;和多个从解析显示单元,分别与所述分流单元连接,用于分别接收分流处理后的相应部分跟踪信息并进行解析显示。
其中在所述每个从解析显示单元侧还包括跟踪信息从存储单元,用于将所述从解析显示单元接收的跟踪信息进行存储;从查询单元,分别与跟踪信息从存储单元、跟踪信息主存储单元和从解析显示单元连接,用于根据从解析显示单元输入的查询条件到跟踪信息从存储单元或跟踪信息主存储单元中查询存储的对应跟踪信息,并将查询到的跟踪信息发送到从解析显示单元进行解析显示。
所述系统还包括缓存过滤单元,所述过滤单元通过该缓存过滤单元与归类组装单元连接,用于缓存过滤单元过滤后的跟踪信息,并根据后续采集到的跟踪信息对缓存的跟踪信息进行再次过滤。
本发明软件跟踪方法及其系统能够达到下列有益效果1)由于在将跟踪信息解析显示给操作人员前,已经根据操作人员预先设置的过滤条件对跟踪信息进行了过滤处理,使只对符合条件的跟踪信息进行解析显示,所以减小了跟踪信息输出时所占用的通信带宽;同时还会减小对CPU运行空间的占用,因此信息跟踪处理过程可以减小对整个系统运行性能的影响。
2)在将跟踪信息解析显示给操作人员前,对跟踪信息进行了归类组装处理,从而使跟踪信息能够按照不同的类型分别进行显示,这样便于操作人员的查看,也便于后续对跟踪信息进行分析统计,因此使跟踪信息的输出具有较好的组织性。
3)跟踪信息的输出具有较好的组织性是因为对跟踪信息输出的数据格式进行了规定,这样可以实现自动化的数据分析处理和自动化测试;因此增强了跟踪过程的系统化。
4)由于对跟踪点跟踪的静态信息设置了唯一标识,这样就可以直接输出静态信息对应的唯一标识,在解析显示时再根据唯一标识和静态信息的对应关系,将对应的静态信息解析显示即可,由于设置的唯一标识所占用的字节远远小于静态信息占用的字节,所以更进一步减小了跟踪信息输出时所占用的通信带宽,相应也就减小了对整个系统运行性能的影响。


图1是现有技术中基于打印原理实现软件跟踪的原理示意图;图2是本发明软件跟踪方法的主体实现流程图;图3是本发明软件跟踪方法的第一实施例流程图;图4是本发明软件跟踪方法的第二实施例流程图;图5是本发明软件跟踪方法的第三实施例流程图;图6是本发明软件跟踪方法中根据静态信息唯一标识索引相应静态信息的过程示意图;图7是本发明软件跟踪方法中将现有跟踪点的接口形式转换为符合本发明方案的跟踪点的接口形式的示意图;图8是本发明软件跟踪系统的主要结构框图;
图9是本发明软件跟踪系统在基本组成结构基础上增加缓存过滤单元的结构框图;图10是本发明软件跟踪系统在基本组成结构基础上的第一实施例结构框图;图11是本发明软件跟踪系统在基本组成结构基础上的第二实施例结构框图;图12是本发明软件跟踪系统在基本组成结构基础上的第三实施例结构框图;图13是本发明软件跟踪系统和被测软件系统结合在一起的简单工作框架图;图14是在本发明软件跟踪系统中,过滤条件及分流条件的配置过程及对跟踪信息进行过滤和分流的过程示意图。
具体实施例方式
首先对本发明提出的软件跟踪方法进行详细说明,请参照图2,该图是本发明软件跟踪方法的主体实现流程图;图中所示本发明软件跟踪方法的实现过程主要包括如下步骤步骤S1,设置用于对跟踪信息进行条件过滤的跟踪信息过滤条件;如假设设置的跟踪信息过滤条件为跟踪所有业务类型为“呼叫”的信息,则其它跟踪信息,如“短消息”业务的跟踪信息就会在输出前被过滤掉;步骤S2,采集被测软件系统中每个跟踪点的信息,以得到跟踪信息;一般一个被测软件系统预先设置有多个跟踪点,以对相应程序段运行得到的信息进行跟踪,可以采取主动采集各个跟踪点跟踪的信息,以得到跟踪信息;也可以采取被动接收各个跟踪点发来的跟踪信息,以实现被动采集跟踪信息;步骤S3,根据步骤S1中预先设置的跟踪信息过滤条件对步骤S2采集到的跟踪信息进行过滤;如上述预先设置的过滤条件为只跟踪所有业务类型为“呼叫”的信息,则根据该过滤条件对采集到的跟踪信息进行过滤后,只保留有业务类型为“呼叫”的跟踪信息,而其他跟踪信息都会被过滤掉;当然在步骤S3对跟踪到的跟踪信息进行过滤之后还可以进而将过滤后的跟踪信息进行缓存,再根据后续采集到的跟踪信息,对缓存的跟踪信息再次实施过滤处理;因为在有些时候,由于需要将跟踪点跟踪到的跟踪信息缓存起来,到一定阶段后才能判断该跟踪信息是否需要输出。最明显的一个例子就是,仅当某个业务处理过程中间出现一次失败信息才输出跟踪信息,此时需要缓存跟踪信息直到该业务处理失败或者业务完成时再将缓存的跟踪信息输出;步骤S4,根据跟踪信息的属性对跟踪信息进行归类组装;其中这里可以根据跟踪信息的业务类型或者根据跟踪信息的业务类型及每个业务类型中每个业务处理被分配到的标识来将跟踪信息进行归类组装处理。如为了使跟踪信息能够按照各种业务类型或者某个业务类型中的操作过程组织起来,在跟踪信息输出的编程接口中,设计了两个参数1)业务类型2)业务类型中每个业务处理被分配到的标识ID这样,所有输出的跟踪信息中都具有这两个字段(业务类型和业务处理过程中被分配到的标识ID),因此只需要按照业务类型和业务处理过程中被分配的业务ID进行排序即可将同类的跟踪信息组织到一起了。例如业务类型为“呼叫”,而在进行业务呼叫过程中每个呼叫将被分配一个唯一的标识ID,那么与呼叫1,呼叫2相关的所有跟踪信息就可以完全区分开来,其中在呼叫1和呼叫2中“呼叫”为“业务类型”,而“1”或“2”则指在呼叫业务类型中,每次呼叫处理被分配到的标识ID信息。
步骤S5,分别将步骤S4归类组装后的跟踪信息进行解析显示,这里的解析显示指在后台的跟踪服务器上进行显示,这样操作人员就可以对显示的跟踪信息进行分析、统计以及生成报表处理等。
参照图3,该图是本发明软件跟踪方法的第一实施例流程图;在图2所示的本发明软件跟踪方法实现原理的基础之上,在步骤S5将跟踪信息进行解析显示后,该实施例进而包括步骤S6,分别将归类组装后的跟踪信息存储到跟踪服务器的存储器;步骤S7,跟踪服务器后续可以根据外界输入的查询条件(一般操作人员后续会根据需要调用相应跟踪到的信息)查询对应存储的跟踪信息,以进行后续的分析处理;步骤S8,跟踪服务器将步骤S7查询到的跟踪信息进行解析显示处理,以输出给操作人员。
参照图4,该图是本发明软件跟踪方法的第二实施例流程图;在图3所示的第一实施例基础上,在步骤S1中进而设置跟踪信息分流条件,则在步骤S5将跟踪信息进行解析显示后,该第二实施例还可以包括步骤S9,根据预先设置的不同分流条件对归类组装后的跟踪信息进行分流处理,以将跟踪信息分流成几部分;步骤S10,将步骤S9分流处理后的不同部分的跟踪信息分别下发到不同的跟踪浏览单元进行解析显示,一般多个跟踪浏览单元之间是以远程分离方式设置的,则可以根据每个跟踪浏览单元所要求看到的跟踪信息,将每个跟踪浏览单元的分流条件设置到跟踪服务器中,这样跟踪服务器就会根据不同的分流条件将跟踪信息分流成不同的部分,以分别将相应部分的跟踪信息下发给相应的跟踪浏览单元进行解析显示。
例如,假设跟踪浏览单元1上的操作人员只希望看到手机号码为A的呼叫跟踪信息,跟踪浏览单元2上的操作人员只希望看到手机号码为B的呼叫跟踪信息,那么跟踪浏览单元1和跟踪浏览单元2就可以分别将自身的分流条件设置到跟踪服务器中,这样所有呼叫跟踪信息在跟踪服务器向各个跟踪浏览单元发送时将被分流即所有手机号码为A的呼叫跟踪信息将被发送到跟踪浏览单元1,而所有手机号码为B的呼叫跟踪信息将被发送到跟踪浏览单元2,这就是上述的跟踪信息分流处理过程。
参照图5,该图是本发明软件跟踪方法的第三实施例流程图;在图4所示的第二实施例基础上,在步骤S10中每个跟踪浏览单元接收到相应的跟踪信息后,该第三实施例还可以包括步骤S11,每个跟踪浏览单元分别将接收到的跟踪信息进行存储;以备后续调用相应的跟踪信息进行分析处理;步骤S12,后续每个跟踪浏览单元可以分别根据外界输入的查询条件在自身存储的跟踪信息中查询对应的跟踪信息;每个跟踪浏览单元还可以根据外界输入的查询条件通过网络互联方式到跟踪服务器存储的跟踪信息中查询对应的跟踪信息;步骤S13,每个跟踪浏览单元将步骤S12查询到的跟踪信息进行解析显示,以使相应操作人员进行跟踪信息分析处理。
其中各个跟踪浏览单元是跟踪服务器功能的一个子集,其主要目的是提供多人同时观看跟踪服务器所跟踪到的跟踪信息。
当然上述本发明软件跟踪方法所提及的各个实施例还可以进行任意的组合使用,且组合构成的其他实施例情况也都包括在本发明所要求的保护范围之内。
在被测软件系统中,设置的每个跟踪点跟踪到的信息主要包括静态信息和动态信息,其中静态信息 指在编译阶段即可确定的信息,如跟踪点所在文件名、行号、打印字符串等;动态信息 指被测软件系统运行过程中的动态数据,如变量值等;这样,由于静态信息一般在整个测试过程中不会发生任何变化,所以本发明软件跟踪方法提出为被测软件系统中的每个跟踪点跟踪的静态信息配置唯一标识的方式,这里将为每个跟踪点跟踪的静态信息配置的唯一标识定义为“跟踪编码”。因此一个“跟踪编码”就可以代替相应每个跟踪点的所有静态信息,一个跟踪编码可以是一个4字节(也可以是2字节,如果被测软件系统规模较小)的无符号二进制数。这样每一个跟踪点的静态信息都与一个跟踪编码一一对应,这样每个跟踪点的所有静态信息就与相应的跟踪编码一一对应了(其实跟踪编码好比身份证ID,每个跟踪点的静态信息好比此人的年龄、籍贯、出生地等信息,这样通过该身份ID就可以查找到对应人的身份信息)。因此通过相应的跟踪编码,就可查找到对应的静态信息(跟踪点所在的文件名、行号,打印字符串等)。
举例说明如下,以前跟踪点输出是采用如下方式方式一printf(“the para is invalid in%s,%d”,_FILE_,_LINE_);本发明软件跟踪方法可以写成这样方式二printf(TRACE_POINT_0001);TRACE_POINT_0001定义为一个枚举值,如下enum XXX{...,TRACE_POINT_001,//tml exp the para is invalid...,}对上述相应语句的说明1)由于打印字符串现在实际上是一个注释语句,所以不会真正编译到目标代码中;2)//tml exp是用于“源代码扫描工具”识别的标志符,以注释的方式实现;3)_FILE_,_LINE_由“源代码扫描工具”扫描TRACE_POINT_0001时获得。
因此,通过为每个跟踪点的静态信息设置唯一标识(跟踪编码)后,实际上会产生如下的一个等价对应关系TRACE_POINT_0001<=>0001所在跟踪点的文件名、行号、打印字符串;比较上面方式一和方式二的两种输出方式,可以看到方式一输出“25个字符+文件名+行号”,需要占用40个字节左右;
方式二输出4个字节或者2个字节(十万行以内的源代码被测软件系统只需2个字节即可)。
可见在有效静态信息含量不变的情况下,需要处理的跟踪信息量大大减少,则对CPU和通信带宽的占用率也将随之减少。
这样通过上述设置后,采集的每个跟踪点信息就包括跟踪点跟踪到的静态信息唯一标识(跟踪编码)和动态信息;这样在解释显示跟踪信息时,需要根据每个跟踪点跟踪到的静态信息唯一标识索引到对应的静态信息后,再将索引到的静态信息和跟踪到的动态信息进行解析显示。
其中为每个跟踪点的静态信息配置的唯一标识是在编写软件的过程中,为设置的每个跟踪点配置的,在后续测试过程中,根据采集到的每个跟踪点的静态信息唯一标识索引对应跟踪信息的过程可以采用源代码扫描程序来实现,参照图6,该图是本发明软件跟踪方法中根据静态信息唯一标识索引相应静态信息的过程示意图;因为每个跟踪点的静态信息与为每个跟踪点设置的静态信息唯一标识(跟踪编码)具有一一对应关系,依据这个对应关系,根据静态信息唯一标识索引对应静态信息的过程是通过一个源代码扫描工具自动完成的,无需人工干预;如图6所示,在实际应用过程中,源代码扫描工具是集成到编译环境中的,这样每次编译目标代码时,会自动生成测试环境所需的解析文本,无需人工干预。其中根据静态信息唯一标识索引对应的静态信息的过程如下1)源代码扫描工具对源代码进行扫描;2)源代码扫描工具根据扫描代码生成解析文本;3)源代码经过编译,生成被测软件;4)被测软件在运行过程中输出二进制的跟踪信息;5)解析工具读入4)中的二进制跟踪信息;6)解析工具调用解析逻辑部分的代码;7)解析逻辑部分的代码根据解析文本协助解析工具对二进制跟踪信息进行解析;
8)解析后得到二进制跟踪信息的文本跟踪信息。
上述已经叙述了本发明软件跟踪方法的整个实现过程及多个实施例的情况,但是在现有很多软件中,已经设立了相当多的软件跟踪点,如果采用本发明软件跟踪方法所述的新技术方案时,势必需要将这些老的跟踪点转换成符合本发明方案的新编程接口的新的跟踪点实现方式。这种转换工作如果由人工完成,工作量是不可想象的,因为在一个大型软件项目中,跟踪点往往有几万至几百万个之多。
基于字符串查找及替换原理,本发明开发了一个“跟踪点自动转换工具”,它能够按照不同的转换需求,将各种老的函数调用转换成符合本发明方案描述的新的函数调用代码,大大的减少了人工工作量。
参照图7,该图是本发明软件跟踪方法中将现有跟踪点的接口形式转换为符合本发明方案的跟踪点的接口形式的示意图;其实现原理如下一般对现有软件系统中的跟踪点进行自动转换就是修改函数调用语句,它主要完成下述工作1)将原函数名称替换成符合本发明可测试性编程接口要求的函数名称,例如图7中将printf语句改成trace语句;2)在本发明可测试性编程接口要求的函数中增加可测试性编码的名称,如图7中的TRACE_POINT_0001部分就为增加的可测试性编码的名称;3)将增加的所有可测试性编码输出到一个可测试性编码的头文件定义之中。
综合前述内容,本发明软件跟踪方法中对每个跟踪点输出的跟踪信息进行了如下形式的限定trace(跟踪需求,跟踪编码,业务类型,业务ID,动态信息长度,动态信息);即每个跟踪信息输出时都包括这些内容跟踪需求,一个跟踪需求表示一个跟踪点的集合。即这些跟踪点所输出的信息是相关的,它们是一个整体,要么都输出;要么都不输出。一般来说,一个跟踪需求可以由几个到几百个跟踪点组成;其中跟踪需求的技术原理参见本申请人在先申请的专利《一种对软件可测性需求的分析方法》,专利号为02122967;跟踪编码,为跟踪点静态信息配置的唯一标识;业务类型和业务ID,如前所述,是为后续对跟踪信息进行归类组装所使用的信息;动态信息长度和动态信息,是每个跟踪点输出的动态信息及每个动态信息的长度值。
相应地,本发明还提出了一种软件跟踪系统,参照图8,该图是本发明软件跟踪系统的主要结构框图;本发明软件跟踪系统主要包括跟踪代理100,设置在被测软件系统中,以对被测软件系统中的每个被测实现内跟踪点的跟踪信息进行采集并作相应处理;跟踪服务器200,其功能是对跟踪代理100处理后发来的跟踪信息再次进行处理,以显示给操作人员进行分析。其中跟踪代理100中又主要包括采集单元1、过滤单元2、归类组装单元3和过滤条件存储单元4,跟踪服务器200主要包括主解析显示单元5,其中各个单元的作用及逻辑连接关系如下过滤条件存储单元4,用于存储预先设置的过滤条件;采集单元1,用于采集被测软件系统中每个跟踪点的信息,以得到跟踪信息;过滤单元2,分别与过滤条件存储单元4和采集单元1连接,用于根据过滤条件存储单元4预先存储的过滤条件对采集单元1采集到的跟踪信息进行过滤处理;归类组装单元3,与过滤单元2连接,用于根据跟踪信息的属性对过滤处理后的跟踪信息进行归类组装;主解析显示单元5,与归类组装单元3连接,用于将归类组装后的跟踪信息进行解析显示。
参照图9,该图是本发明软件跟踪系统在基本组成结构基础上增加缓存过滤单元的结构框图;在图8所示的本发明基本组成结构的基础上,该结构在跟踪代理100中又进而包括一个缓存过滤单元11,其过滤单元2通过该缓存过滤单元11进而和归类组装单元3连接,该缓存过滤单元11用于将过滤单元2过滤后的跟踪信息进行缓存,再根据后续接收到的跟踪信息来对缓存的跟踪信息进行再次过滤处理。最明显的一个例子就是,仅当业务中间出现一次失败才输出跟踪信息,此时就需要缓存跟踪信息直到业务失败或者业务完成才输出跟踪信息。
参照图10,该图是本发明软件跟踪系统在基本组成结构基础上的第一实施例结构框图;在图8所示的本发明基本组成结构的基础上,该实施例在跟踪服务器200中又进而包括跟踪信息主存储单元6和主查询单元7,这两个单元所能完成的工作是跟踪信息主存储单元6,与归类组装单元3连接,用于将归类组装后的跟踪信息存储到存储器,以备后续查询调用;主查询单元7,分别与跟踪信息主存储单元6和主解析显示单元5连接,用于根据操作人员在主解析显示单元5输入的查询条件信息来查询跟踪信息主存储单元6存储的对应跟踪信息,并将查询到的跟踪信息发送到主解析显示单元5,再由主解析显示单元5将查询到的跟踪信息进行解析显示。
参照图11,该图是本发明软件跟踪系统在基本组成结构基础上的第二实施例结构框图;在图8所示的本发明基本组成结构的基础上,该实施例在跟踪服务器200中又进而包括分流条件存储单元8和分流单元9,同时为了扩展本发明软件跟踪系统的功能,以保证远程的多个操作人员能够观看到跟踪服务器200所跟踪到的跟踪信息,本发明软件跟踪系统还包括多方跟踪浏览单元300,其多方跟踪浏览单元300包括有多个从解析显示单元,如从解析显示单元1、从解析显示单元2......从解析显示单元n等,则在该实施例中新增单元所要完成的工作是分流条件存储单元8,用于存储预先设置的若干个跟踪信息分流条件;分流单元9,分别与分流条件存储单元8和归类组装单元3连接,用于根据分流条件存储单元8存储的不同分流条件对由归类组装单元3归类组装后的跟踪信息进行分流处理,以将跟踪信息分成多个不同的跟踪信息部分;从解析显示单元1~n,其中每个从解析显示单元分别与分流单元9连接,用于接收分流单元9分流处理后发来的相应部分跟踪信息,并将接收到的跟踪信息进行解析显示。多个从解析显示单元的功能基本上是跟踪服务器200功能的一个子集,其主要目的是提供多人同时使用跟踪服务器的功能,有点类似于一个终端。
参照图12,该图是本发明软件跟踪系统在基本组成结构基础上的第三实施例结构框图;在图11所示的第三实施例基础之上,在多方跟踪浏览单元300中每个从解析显示单元侧进而还包括跟踪信息从存储单元10和从查询单元20,这两个单元所能完成的工作如下跟踪信息从存储单元10,用于将从解析显示单元10接收到的跟踪信息进行存储;从查询单元20,分别与跟踪信息从存储单元10和从解析显示单元30连接,还可以进而通过网络互联方式和跟踪服务器200中的跟踪信息主存储单元6连接,用于根据操作人员在从解析显示单元30输入的查询条件信息查询跟踪信息从存储单元10存储的对应跟踪信息或到跟踪服务器200中跟踪信息主存储单元6存储的跟踪信息中查询对应的跟踪信息,并将查询到的跟踪信息发送到从解析显示单元30,该从解析显示单元30再将查询到的跟踪信息进行解析显示。
当然上述所提及的本发明软件跟踪系统的各个实施例还可以进行任意的组合使用,且组合构成的其他实施例情况也都包括在本发明所要求的保护范围之内。
参照图13,该图是本发明软件跟踪系统和被测软件系统结合在一起的简单工作框架图;如该图所示,被测软件系统400中一般包括多个被测实现410,每个被测实现410中都设置有多个跟踪点(图中每个小圆圈都代表一个跟踪点),采集每个跟踪点跟踪到的信息后,将采集到的跟踪信息下发给在被测软件系统400中设置的跟踪代理100,跟踪代理100可以完成对跟踪信息的实时发送、缓存、归类组装、过滤等功能跟踪代理100将过滤和归类组装后的各类跟踪信息下发给跟踪服务器200,跟踪服务器200的主要功能是实现对跟踪信息的存储、解析显示、信息分流和后续查询等;跟踪服务器200将对跟踪信息进行分流处理后的各部分跟踪信息相应发送给多方跟踪浏览单元300中的相应从解析显示单元,以使远程分散的多个操作人员能够同步得到相应的跟踪信息,使跟踪过程更为灵活。
基于上述的跟踪系统框架,能够达到如下的优点1)层次分明被测实现410部分无需关心跟踪信息的输出、过滤等功能,仅负责设置跟踪点,并按照编程接口输出跟踪信息即可;跟踪代理100仅负责过滤跟踪信息、对跟踪信息进行归类组装和下发跟踪信息等功能;而真正对跟踪信息进行存储、分析及查询等复杂处理都放在一个独立的跟踪服务器200上来处理。
2)对被测实现410的性能(包括CPU占用、通信资源、存储时间及内存空间性能)占用小原因是跟踪信息的分析处理、存储及查询等操作与被测软件系统400无关,而是由独立的跟踪服务器200来完成,对被测软件系统400的性能占用较小。
3)对跟踪信息的分析能力增强因为在跟踪服务器200中提供了对跟踪信息进行查询、过滤、排序和统计等各种功能,因此能够更为方便的对跟踪信息进行分析及生成报表等操作。
参照图14,该图是在本发明软件跟踪系统中,过滤条件及分流条件的配置过程及对跟踪信息进行过滤和分流的过程示意图;如上述过滤过程是指在被测实现410输出各个跟踪点跟踪到的跟踪信息给跟踪代理100时,跟踪代理100判断跟踪信息是否需要输出到跟踪服务器200,将不需要输出的跟踪信息过滤掉。
分流过程是指多方跟踪浏览单元300中的不同从解析显示单元需要看到的跟踪信息不一样,跟踪服务器200需要按照不同从解析显示单元发来的跟踪信息分流条件,对跟踪信息进行分流处理,只发送每个从解析显示单元希望看到的跟踪信息给各从解析显示单元。
再举例说明一下过滤条件和分流条件的含义假设在跟踪代理100中设置的过滤条件为跟踪所有业务类型为“呼叫”的信息,则其它信息,如“短消息”业务的跟踪信息就会在跟踪代理100处被过滤掉了,不再送出到跟踪服务器200,这就是在跟踪代理100上实现的过滤;假设从解析显示单元1上的操作人员只希望看到手机号码为A的呼叫跟踪信息,从解析显示单元2上的操作人员只希望看到手机号码为B的呼叫跟踪信息,那么所有呼叫跟踪信息在跟踪服务器200向各个从解析显示单元发送时将被分流即分流后的所有手机号码为A的跟踪信息将被发送到从解析显示单元1,所有手机号码为B的跟踪信息将被发送到从解析显示单元2,这就是在跟踪服务器200上实现的分流。
而过滤条件和分流条件的配置过程是指操作人员根据具体需要将跟踪信息过滤条件设置在跟踪代理100中,而将跟踪信息分流条件设置在跟踪服务器200中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种软件跟踪方法,用于对被测软件系统进行跟踪,所述被测软件系统中设置有多个跟踪点,其特征在于,包括步骤(1)设置跟踪信息过滤条件;(2)采集被测软件系统中每个跟踪点信息,得到跟踪信息;(3)根据所述过滤条件对跟踪信息进行过滤;(4)根据跟踪信息的属性对跟踪信息进行归类组装;(5)将归类组装后的跟踪信息进行解析显示。
2.根据权利要求1所述的软件跟踪方法,其特征在于,所述步骤(5)之后还包括步骤(51)将归类组装后的跟踪信息进行存储。
3.根据权利要求2所述的软件跟踪方法,其特征在于,所述步骤(51)之后还包括步骤(52)根据外界输入的查询条件查询对应存储的跟踪信息;(53)将查询到的跟踪信息进行解析显示。
4.根据权利要求2所述的软件跟踪方法,其特征在于,所述步骤(1)中还包括设置若干个跟踪信息分流条件的步骤;所述步骤(5)之后还包括步骤(5A)根据不同的分流条件对归类组装后的跟踪信息进行分流处理;(5B)将分流处理后的不同部分的跟踪信息分别下发到不同跟踪浏览单元进行解析显示。
5.根据权利要求4所述的软件跟踪方法,其特征在于,所述步骤(5B)之后还包括步骤(5B.1)不同跟踪浏览单元分别将自身获取的跟踪信息进行存储;(5B.2)不同跟踪浏览单元分别根据外界输入的查询条件在步骤(5B.1)存储的跟踪信息中或在步骤(51)存储的跟踪信息中查询对应存储的跟踪信息;(5B.3)跟踪浏览单元将查询到的跟踪信息进行解析显示。
6.根据权利要求1所述的软件跟踪方法,其特征在于,所述步骤(3)和(4)之间还包括步骤(31)将过滤后的跟踪信息进行缓存;(32)根据后续采集到的跟踪信息,对缓存的跟踪信息进行再次过滤。
7.根据权利要求1所述的软件跟踪方法,其特征在于,步骤(4)中所述属性为业务类型;或为业务类型及每个业务类型中每个业务处理被分配到的标识。
8.根据权利要求1所述的软件跟踪方法,其特征在于,所述步骤(1)之前还包括为每个跟踪点跟踪的静态信息配置唯一标识的步骤。
9.根据权利要求8所述的软件跟踪方法,其特征在于,所述步骤(2)中采集的每个跟踪点信息包括跟踪点跟踪到的静态信息唯一标识和动态信息;所述步骤(5)进一步包括步骤(5I)根据跟踪信息中包括的静态信息唯一标识索引对应的静态信息;(5II)将索引到的静态信息和跟踪到的动态信息进行解析显示。
10.根据权利要求9所述的软件跟踪方法,其特征在于,所述为静态信息配置的唯一标识为二进制数字标识。
11.一种软件跟踪系统,用于对被测软件系统进行跟踪,所述被测软件系统中设置有多个跟踪点,其特征在于,包括过滤条件存储单元,用于存储预先设置的过滤条件;采集单元,用于采集被测软件系统中每个跟踪点信息,得到跟踪信息;过滤单元,分别与所述过滤条件存储单元和采集单元连接,用于根据过滤条件存储单元存储的过滤条件对采集单元采集到的跟踪信息进行过滤;归类组装单元,与所述过滤单元连接,用于根据跟踪信息的属性对过滤处理后的跟踪信息进行归类组装;主解析显示单元,与所述归类组装单元连接,用于将归类组装后的跟踪信息进行解析显示。
12.根据权利要求11所述的软件跟踪系统,其特征在于,还包括跟踪信息主存储单元,与所述归类组装单元连接,用于将归类组装后的跟踪信息进行存储。
13.根据权利要求12所述的软件跟踪系统,其特征在于,还包括主查询单元,分别与所述跟踪信息主存储单元和主解析显示单元连接,用于根据主解析显示单元输入的查询条件查询跟踪信息主存储单元存储的对应跟踪信息,并将查询到的跟踪信息发送到主解析显示单元进行解析显示。
14.根据权利要求12所述的软件跟踪系统,其特征在于,还包括分流条件存储单元,用于存储预先设置的若干个跟踪信息分流条件;分流单元,分别与所述分流条件存储单元和归类组装单元连接,用于根据不同分流条件对归类组装后的跟踪信息进行分流处理;和多个从解析显示单元,分别与所述分流单元连接,用于分别接收分流处理后的相应部分跟踪信息并进行解析显示。
15.根据权利要求14所述的软件跟踪系统,其特征在于,在所述每个从解析显示单元侧还包括跟踪信息从存储单元,用于将所述从解析显示单元接收的跟踪信息进行存储;从查询单元,分别与跟踪信息从存储单元、跟踪信息主存储单元和从解析显示单元连接,用于根据从解析显示单元输入的查询条件到跟踪信息从存储单元或跟踪信息主存储单元中查询存储的对应跟踪信息,并将查询到的跟踪信息发送到从解析显示单元进行解析显示。
16.根据权利要求11所述的软件跟踪系统,其特征在于,还包括缓存过滤单元,所述过滤单元通过该缓存过滤单元与归类组装单元连接,用于缓存过滤单元过滤后的跟踪信息,并根据后续采集到的跟踪信息对缓存的跟踪信息进行再次过滤。
全文摘要
本发明提供了一种软件跟踪方法,包括步骤设置跟踪信息过滤条件;采集被测软件系统中每个跟踪点信息,得到跟踪信息;根据所述过滤条件对跟踪信息进行过滤;根据跟踪信息的属性对跟踪信息进行归类组装;将归类组装后的跟踪信息进行解析显示。相应地,本发明还提出了一种软件跟踪系统。本发明可以增强软件跟踪过程的系统化,并减小对系统运行性能的影响,同时使跟踪信息的输出具有较好的组织性。
文档编号G06F11/36GK1731366SQ20041006268
公开日2006年2月8日 申请日期2004年8月6日 优先权日2004年8月6日
发明者龙纲 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1