CN103365716A - 业务操作任务中的数据跟踪方法、装置及主机 - Google Patents
业务操作任务中的数据跟踪方法、装置及主机 Download PDFInfo
- Publication number
- CN103365716A CN103365716A CN2013102570363A CN201310257036A CN103365716A CN 103365716 A CN103365716 A CN 103365716A CN 2013102570363 A CN2013102570363 A CN 2013102570363A CN 201310257036 A CN201310257036 A CN 201310257036A CN 103365716 A CN103365716 A CN 103365716A
- Authority
- CN
- China
- Prior art keywords
- data
- business operation
- time
- task
- subservice
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种业务操作任务中的数据跟踪方法、装置及主机,方法包括:在被插桩函数中插入探针函数;当工作线程通过调用所述被插桩函数,在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;当所述工作线程通过调用所述被插桩函数,从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。本发明实施例提供的方法能够将由工作线程另外处理的子业务操作正确关联到主业务操作任务上。
Description
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种业务操作任务中的数据跟踪方法、装置及主机。
背景技术
随着计算机系统的处理能力越来越强大,应用软件承担了越来越多的工作,大量的应用软件被部署应用到经济生活中的各个领域,随着应用软件系统复杂度的快速上升,应用软件的管理成为一个很大的风险,应用软件系统内部的运作是否正常,业务处理事务是否成功完成,业务处理响应时间是否满足要求,系统的瓶颈在哪里,这些问题都需要依据从应用软件系统内部采集的数据才能解答。
ARM(Application Response Measurement)是一种应用程序响应测量标准,其提供了一个测量代理(Agent),应用程序在执行业务操作的前后分别插入一个对代理的调用,由Agent计算出处理业务操作的度量信息,并提供给相应的管理软件进行分析、处理,另外,ARM还提供了可以标识出关联业务操作的ID机制,为关联的业务操作生成特殊ID序列,其中,ARM收集的业务操作度量信息可以被关联起来,比如,可以显示一个大的业务操作中各个子步骤详细的度量信息,以便分析业务操作里面比较耗时的步骤。
在对应用程序进行数据采集时,一般采用按业务操作调用流程顺序跟踪的方式,也即从需要度量的业务操作入口开始,对业务操作流程中的每个子业务操作以及该子业务操作下的下一级子业务操作进行度量,从而得到被度量业务操作的响应时间,以及该业务操作里面各个步骤的时间占用情况。例如,有一个应用程序涉及A、B、C、D四个业务操作,每个业务操作至少包括两个子操作,通过ARM代理为各个业务操作分别生成关联的ID,生成的ID可以识别出四个业务操作之间的包含关系,从而得出A、B、C、D四个业务操作分别的度量数据以及内部各个子操作的耗时情况。
现有技术主要解决的是一个顺序的业务调用流程的跟踪问题,但是在应用软件系统中,有另外一种常见的业务处理场景,也即异步处理,异步处理通常是将一个业务操作中需要处理的数据放入工作队列中,由独立的工作线程负责处理,而此时采用现有技术中顺序的业务调用流程则无法将独立工作线程上对应的数据处理开销正确关联到原始业务操作中,进而导致业务操作度量不能正确反应出完整的处理时间。
发明内容
有鉴于此,为了如何将独立的工作线程处理的数据,也即异步数据,正确关联到原始业务操作上,第一方面提供了一种业务操作任务中的数据跟踪方法,技术方案如下:
一种业务操作任务中的数据跟踪方法,包括:
在被插桩函数中插入探针函数;
当工作线程通过调用所述被插桩函数,在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
当所述工作线程通过调用所述被插桩函数,从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:
记录处理所述主业务操作的时间开销;
记录处理所述子业务操作的时间开销;
累积所述主业务操作的时间开销以及所述子业务操作的时间开销,得到所述业务操作任务的真实时间开销。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述记录处理所述主业务操作的时间开销,包括:
在所述ID的业务操作启动时,记录启动时间点;
在所述ID的业务操作完成时,记录所述ID的业务操作结束,得到结束时间点;
根据所述启动时间点以及所述结束时间点,得到所述记录处理所述主业务操作的时间开销。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述记录处理所述子业务操作的时间开销,包括:
记录工作线程处理所述子业务操作的时间开销。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,本申请实施例提供的数据跟踪方法,所述为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID之后,还包括:
将所述ID存放至全局ID缓存装置。
本发明第二方面提供了一种业务操作任务中的数据跟踪装置,包括:
插入单元,用于在被插桩函数中插入探针函数;
生成单元,用于当工作线程通过调用所述被插桩函数在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
获取单元,当所述工作线程通过调用所述被插桩函数从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:
第一记录单元,用于记录处理所述主业务操作的时间开销;
第二记录单元,用于记录处理所述子业务操作的时间开销;
累积单元,用于累积所述主业务操作的时间开销以及所述子业务操作的时间开销,得到所述业务操作任务的真实时间开销。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一记录单元,包括:
启动时间点记录模块,用于在所述ID的业务操作启动时,记录启动时间点;
结束时间点记录模块,用于所述ID的业务操作完成时,记录所述ID的业务操作结束,得到结束时间点;
第一时间开销计算模块,用于根据所述启动时间点以及所述结束时间点,得到所述记录处理所述主业务操作的时间开销。
结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二记录单元,包括:
数据处理子模块,用于记录工作线程处理所述子业务操作的时间开销。
结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,本申请实施例提供的装置,还包括:
全局ID缓存装置,用于存放所述ID。
本发明第三方面提供了一种主机,包括处理器,通信接口,存储器和总线:
其中处理器、通信接口、存储器通过总线完成相互间的通信;
所述通信接口,用于接收业务操作任务中的数据;
所述处理器,用于执行程序;
所述存储器,用于存放程序;
其中程序用于:
在被插桩函数中插入探针函数;
当工作线程通过调用所述被插桩函数,在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
当所述工作线程通过调用所述被插桩函数,从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
当一个业务操作任务中存在子业务操作任务放入容器对象,而需由工作线程另外处理的场景时,本发明实施例提供一种业务操作任务中的数据跟踪方法,在被插桩函数中插入探针函数,当工作线程通过调用被插桩函数在容器对象中放入或取出数据时,探针函数拦截该数据,在放入数据时,为该数据生成与业务操作任务的主业务操作关联的ID,在取出该数据时,获取上述ID,并将该ID作为主业务操作的子业务操作ID,使用放入数据时为此数据生成的ID作为主业务操作任务的子业务操作ID,这样就可以和主业务操作任务操作正确实现关联,因此,本发明实施例提供的方法能够将由工作线程另外处理的子业务操作正确关联到主业务操作任务上。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的业务操作任务中的数据跟踪方法的一种流程示意图;
图2为本发明实施例提供的业务操作任务中的数据跟踪方法的另一流程示意图;
图3为本发明实施例提供的与图2中的业务操作任务中的数据跟踪方法相应的示意图;
图4为本发明实施例提供的业务操作任务中的数据跟踪装置的一种结构示意图;
图5为本发明实施例提供的业务操作任务中的数据跟踪装置的一种结构示意图;
图6为本发明实施例提供的第一记录单元的一种结构示意图;
图7为本发明实施例提供的第二记录单元的一种结构示意图;
图8为本发明实施例提供的一种主机的结构示意图;
图9为本发明实施例提供的程序832的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例提供一种业务操作任务中的数据跟踪方法,包括:
S100:在被插桩函数中插入探针函数。
探针函数用于在工作线程于容器对象中放入或取出数据时拦截数据,其中,工作线程通过调用被插桩函数于容器对象中放入或取出数据,被插桩函数包括插入函数和取出函数。
在被插桩函数中插入探针函数,对插入函数和取出函数进行代码插桩,代码插桩指的是在被插桩函数上插入一个探针函数,当被插桩函数被调用执行时,探针函数也会被执行,从而实现对进出容器对象的数据进行拦截处理,也就是说,当工作线程调用容器对象的插入函数将数据放入容器对象时,探针函数会拦截该数据,当工作线程调用容器对象的取出函数将数据取出容器对象时,探针函数也会拦截该数据。其中,容器对象是指数据队列,用于存放任务数据也即待处理数据,当取出函数从容器对象中取出数据后,工作线程负责处理该数据。
S110:当工作线程通过调用被插桩函数,在容器对象中放入数据时,探针函数拦截数据,为上述数据生成与业务操作任务的主业务操作关联的身份标识号码ID(Identity,身份标识号码)。
S120:当工作线程通过调用被插桩函数,从容器对象中取出上述数据时,探针函数拦截上述数据,获取上述ID,并将该ID作为主业务操作的子业务操作ID。
一个业务操作任务A,假设其主业务操作ID为ID1,工作线程调用插入函数,在数据放入容器对象时,探针函数拦截这个数据,为这个数据生成与主业务操作任务关联的ID,如ID1_REF1;当工作线程通过调用取出函数从容器对象中取出数据时,探针函数会拦截这个数据,并查找到关联的ID_REF1。
上述的数据即是异步数据,将上述工作线程对异步数据的处理过程视为主业务操作的一个子业务操作,并使用之前为此数据生成的ID_REF1作为主业务操作任务的子业务操作ID,这样就可以和原始的业务操作任务A操作正确实现关联。
在本发明的其他实施例中,可以将与主业务操作任务关联的ID存放到一个全局ID缓存装置,在工作线程从容器对象中取出数据时,探针函数拦截这个数据,从全局ID缓存装置中查找到关联的ID_REF1。增加一个数据对象引用及对应业务操作ID的全局ID缓存装置,能够实现异步处理数据与主业务操作之间的关联分析。
当一个业务操作任务中存在子业务操作任务放入容器对象,而需由工作线程另外处理的场景时,本发明实施例提供一种业务操作任务中的数据跟踪方法,在被插桩函数中插入探针函数,当工作线程通过调用被插桩函数在容器对象中放入或取出数据时,探针函数拦截该数据,在放入数据时,为该数据生成与业务操作任务的主业务操作关联的ID,在取出该数据时,获取上述ID,并将该ID作为主业务操作的子业务操作ID,使用放入数据时为此数据生成的ID作为主业务操作任务的子业务操作ID,这样就可以和主业务操作任务操作正确实现关联,因此,本发明实施例提供的方法能够将由工作线程另外处理的子业务操作正确关联到主业务操作任务上。
结合图2,本发明实施例公开一种业务操作任务中的数据跟踪方法,假设一个业务操作任务存在两个异步数据处理分支,本方案就如何正确得到业务操作完整的处理时间,实施细节说明如下,包括:
S200:业务操作任务启动。
为当前业务操作任务生成跟踪ID,假设其主业务操作为ID1,并记录ID1业务操作任务启动。Start ID1为主业务操作任务启动的启动时间点。
S210:主业务操作任务执行操作步骤1,操作步骤1包括生成一份待处理数据Data1,并插入数据队列1。
在待处理数据Data1被插入数据队列1的操作被探针函数拦截时,为待处理数据Data1生成一个和ID1关联的子ID,假设为ID1_REF1,将待处理数据Data1对象引用连同ID1_REF1存入全局ID缓存装置Data Map,记录ID1_REF1业务操作进入阻塞状态。
S220:主业务操作任务执行操作步骤2,操作步骤2包括生成另外一份待处理数据Data2,并插入数据队列2。
在待处理数据Data2被插入数据队列2的操作被探针函数拦截时,为待处理数据Data2生成一个和ID1关联的子ID,假设为ID1_REF2;将待处理数据Data2对象引用连同ID1_REF2存入全局ID缓存装置Data Map;记录ID1_REF2业务操作进入阻塞状态。
S230:主业务操作任务结束,记录ID1业务操作结束。Stop ID1为主业务操作任务结束的结束时间点。
Start ID1、Stop ID1这两个点分别记录主业务操作任务ID1的启动和结束时间点,由此可以计算出主业务操作任务的时间开销,记录处理主业务操作任务的时间开销。
S240:工作线程1从数据队列1中取出待处理数据Data1,计算出Data1数据处理任务的时间开销。
此操作被探针函数拦截,在全局ID缓存装置DataMap中查找待处理数据Data1对象引用对应的ID,得到ID1_REF1,记录ID1_REF1业务操作解除阻塞状态,ID1_REF1业务操作启动,当工作线程1完成对待处理数据Data1的处理时,记录ID1_REF1业务操作结束。其中,ID1_REF1Start、ID1_REF1Stop这两个时间戳分别记录待处理数据Data1数据处理任务的启动时间点和结束时间点,由此计算出Data1数据处理任务的时间开销,并记录处理数据的时间开销。
S250:工作线程2从数据队列2中取出待处理数据Data2,计算出Data2数据处理任务的时间开销。
此操作被探针函数拦截,在全局ID缓存装置Data Map中查找待处理数据Data2对象引用对应的ID,得到ID2_REF1,记录ID2_REF1业务操作解除阻塞状态,ID2_REF1业务操作启动,当工作线程2完成对待处理数据Data2的处理时,记录ID2_REF1业务操作结束。ID1_REF2Start、ID1_REF2Stop这两个时间戳分别记录Data2数据处理任务的启动时间点和结束时间点,由此计算出Data2数据处理任务的时间开销。
S260:累积主业务操作任务的时间开销以及子业务操作的时间开销,得到主业务操作任务的真实时间开销。
将主业务操作任务的时间开销以及子业务操作的时间开销累积则得到主业务操作任务的真实时间开销。主业务操作任务的真实时间开销中包含了子业务操作的时间开销,也即异步数据处理任务的开销。在一个处理过程中,如果分出了两个异步处理分支任务,现有的技术计算出的主业务操作任务的时间开销实际上是不准确的,因为现有的技术计算出的主业务操作任务的时间开销没有包含异步数据处理任务的开销。通过本发明的上述方法,可以算出主业务操作任务真实的时间开销,这个操作任务的真实的时间开销是包括了分出去的两个异步处理分支任务的开销的。异步处理分支任务的开销指的是工作线程处理所述数据的时间开销,具体的是分别根据ID1_REF1的ID1_REF1Start与ID1_REF1Stop的两个时间戳;ID1_REF2的ID1_REF2Start与ID1_REF2Stop的两个时间戳分别计算出来的,也就是异步处理数据进入数据队列和从数据队列被取出时都记录了时间戳,两个时间戳相减就得到异步数据在队列中的停留时间。
在一个业务操作任务存在将待处理数据放入工作队列中由独立工作线程另外处理的场景下,本发明提供的实施例能够将该独立工作线程处理相关数据的开销正确关联到原始业务操作任务上,并累积主业务操作的时间开销以及子业务操作的时间开销得到业务操作任务的真实时间开销,进而得到业务操作的正确度量数据,从而对业务操作的实际开销做出正确评估。
参见图4,本发明实施例提供一种业务操作任务中的数据跟踪装置,包括:
插入单元U100,用于在被插桩函数中插入探针函数。
生成单元U110,用于在容器对象中放入数据时,探针函数拦截上述数据,为该数据生成与业务操作任务的主业务操作关联的身份标识号码ID。
获取单元U120,用于在容器对象中取出上述数据时,探针函数拦截该数据,获取ID,并将ID作为主业务操作的子业务操作ID。
在一个业务操作任务存在将待处理数据放入工作队列中由独立工作线程另外处理的场景下,本发明提供的实施例提供的数据跟踪装置能够将该独立工作线程处理相关数据的开销正确关联到原始业务操作任务上。
参见图5,在本发明其他实施例中,在图4装置的基础上,该装置还可以包括:
第一记录单元U130,用于记录处理主业务操作的时间开销。
第二记录单元U140,用于记录处理子业务操作的时间开销。
累积单元U150,用于累积主业务操作的时间开销以及子业务操作的时间开销,得到业务操作任务的真实时间开销。
参见图6,在本发明其他实施例中,上述第一记录单元,包括:
启动时间点记录模块U131,用于在ID的业务操作启动时,记录启动时间点。
结束时间点记录模块U132,用于ID的业务操作完成时,记录所述ID的业务操作结束,得到结束时间点。
第一时间开销计算模块U133,用于根据所述启动时间点以及所述结束时间点,得到处理所述数据的时间开销。
参见图7,在本发明其他实施例中,所述第二记录单元,包括:
数据处理子模块U141,用于记录工作线程处理所述子业务操作的时间开销。
在本发明其他实施例中,还包括:
全局ID缓存装置,用于存放所述ID。
请参考图8,本发明实施例提供了一种主机800的示意图。主机800可能是包含计算能力的主机服务器,或者是个人计算机PC,或者是可携带的便携式计算机或终端等等,本发明具体实施例并不对主机的具体实现做限定。主机800包括:
处理器(processor)810,通信接口(Communications Interface)820,存储器(memory)830,总线840。
处理器810,通信接口820,存储器830通过总线840完成相互间的通信。
通信接口820,用于接收业务操作任务中的数据;
处理器810,用于执行程序832。
具体地,程序832可以包括程序代码,所述程序代码包括计算机操作指令。
处理器810可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器830,用于存放程序832。存储器830可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序832具体可以用于:
在被插桩函数中插入探针函数;
在所述容器对象中放入所述数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
在所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
如图9所示,程序832,可以包括:
插入单元U100,用于在被插桩函数中插入探针函数。
生成单元U110,用于在容器对象中放入数据时,探针函数拦截上述数据,为该数据生成与业务操作任务的主业务操作关联的身份标识号码ID。
获取单元U120,用于在容器对象中取出上述数据时,探针函数拦截该数据,获取ID,并将ID作为主业务操作的子业务操作ID。
程序832中各单元和预控制器的具体实现参见上述实施例中的相应单元,在此不赘述。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种业务操作任务中的数据跟踪方法,其特征在于,包括:
在被插桩函数中插入探针函数;
当工作线程通过调用所述被插桩函数,在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
当所述工作线程通过调用所述被插桩函数,从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
2.根据权利要求1所述的方法,其特征在于,还包括:
记录处理所述主业务操作的时间开销;
记录处理所述子业务操作的时间开销;
累积所述主业务操作的时间开销以及所述子业务操作的时间开销,得到所述业务操作任务的真实时间开销。
3.根据权利要求2所述的方法,其特征在于,所述记录处理所述主业务操作的时间开销,包括:
在所述ID的业务操作启动时,记录启动时间点;
在所述ID的业务操作完成时,记录所述ID的业务操作结束,得到结束时间点;
根据所述启动时间点以及所述结束时间点,得到所述记录处理所述主业务操作的时间开销。
4.根据权利要求2所述的方法,其特征在于,所述记录处理所述子业务操作的时间开销,包括:
记录工作线程处理所述子业务操作的时间开销。
5.根据权利要求1-4所述的任意一项方法,其特征在于,所述为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID之后,还包括:
将所述ID存放至全局ID缓存装置。
6.一种业务操作任务中的数据跟踪装置,其特征在于,包括:
插入单元,用于在被插桩函数中插入探针函数;
生成单元,用于当工作线程通过调用所述被插桩函数,在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
获取单元,用于当所述工作线程通过调用所述被插桩函数,从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
7.根据权利要求6所述的装置,其特征在于,还包括:
第一记录单元,用于记录处理所述主业务操作的时间开销;
第二记录单元,用于记录处理所述子业务操作的时间开销;
累积单元,用于累积所述主业务操作的时间开销以及所述子业务操作的时间开销,得到所述业务操作任务的真实时间开销。
8.根据权利要求7所述的方法,其特征在于,所述第一记录单元,包括:
启动时间点记录模块,用于在所述ID的业务操作启动时,记录启动时间点;
结束时间点记录模块,用于所述ID的业务操作完成时,记录所述ID的业务操作结束,得到结束时间点;
第一时间开销计算模块,用于根据所述启动时间点以及所述结束时间点,得到所述记录处理所述主业务操作的时间开销。
9.根据权利要求7所述的方法,其特征在于,所述第二记录单元,包括:
数据处理子模块,用于记录工作线程处理所述子业务操作的时间开销。
10.根据权利要求6-9所述的任意一项装置,其特征在于,还包括:
全局ID缓存装置,用于存放所述ID。
11.一种主机,其特征在于,包括处理器,通信接口,存储器和总线:
其中处理器、通信接口、存储器通过总线完成相互间的通信;
所述通信接口,用于接收业务操作任务中的数据;
所述处理器,用于执行程序;
所述存储器,用于存放程序;
其中程序用于:
在被插桩函数中插入探针函数;
当工作线程通过调用所述被插桩函数,在容器对象中放入数据时,所述探针函数拦截所述数据,为所述数据生成与业务操作任务的主业务操作关联的身份标识号码ID;
当所述工作线程通过调用所述被插桩函数,从所述容器对象中取出所述数据时,所述探针函数拦截所述数据,获取所述ID,并将所述ID作为所述主业务操作的子业务操作ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102570363A CN103365716A (zh) | 2013-06-25 | 2013-06-25 | 业务操作任务中的数据跟踪方法、装置及主机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102570363A CN103365716A (zh) | 2013-06-25 | 2013-06-25 | 业务操作任务中的数据跟踪方法、装置及主机 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103365716A true CN103365716A (zh) | 2013-10-23 |
Family
ID=49367141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102570363A Pending CN103365716A (zh) | 2013-06-25 | 2013-06-25 | 业务操作任务中的数据跟踪方法、装置及主机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103365716A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160323362A1 (en) * | 2015-04-29 | 2016-11-03 | AppDynamics Inc. | Automatic task tracking |
CN106844169A (zh) * | 2015-12-04 | 2017-06-13 | 大唐移动通信设备有限公司 | 一种信息处理方法和系统 |
CN107844539A (zh) * | 2017-10-19 | 2018-03-27 | 广州阿里巴巴文学信息技术有限公司 | 隔离数据管理方法、装置、系统、计算设备及存储介质 |
CN112099798A (zh) * | 2020-09-16 | 2020-12-18 | 广州虎牙科技有限公司 | 公有函数执行耗时的统计方法、装置、存储介质及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101876938A (zh) * | 2009-11-11 | 2010-11-03 | 北京神州泰岳软件股份有限公司 | 一种基于消息队列的应用软件响应时间测量方法 |
US20110087458A1 (en) * | 2009-10-08 | 2011-04-14 | Ashley Neil Clementi | Processing transaction timestamps |
US20120151488A1 (en) * | 2010-12-10 | 2012-06-14 | International Business Machines Corporation | Measuring Transaction Performance Across Application Asynchronous Flows |
-
2013
- 2013-06-25 CN CN2013102570363A patent/CN103365716A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087458A1 (en) * | 2009-10-08 | 2011-04-14 | Ashley Neil Clementi | Processing transaction timestamps |
CN101876938A (zh) * | 2009-11-11 | 2010-11-03 | 北京神州泰岳软件股份有限公司 | 一种基于消息队列的应用软件响应时间测量方法 |
US20120151488A1 (en) * | 2010-12-10 | 2012-06-14 | International Business Machines Corporation | Measuring Transaction Performance Across Application Asynchronous Flows |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160323362A1 (en) * | 2015-04-29 | 2016-11-03 | AppDynamics Inc. | Automatic task tracking |
WO2016175851A1 (en) * | 2015-04-29 | 2016-11-03 | AppDynamics Inc. | Automatic task tracking |
US9912522B2 (en) * | 2015-04-29 | 2018-03-06 | Cisco Technology, Inc. | Automatic task tracking |
US10084637B2 (en) | 2015-04-29 | 2018-09-25 | Cisco Technology, Inc. | Automatic task tracking |
CN106844169A (zh) * | 2015-12-04 | 2017-06-13 | 大唐移动通信设备有限公司 | 一种信息处理方法和系统 |
CN106844169B (zh) * | 2015-12-04 | 2019-11-29 | 大唐移动通信设备有限公司 | 一种信息处理方法和系统 |
CN107844539A (zh) * | 2017-10-19 | 2018-03-27 | 广州阿里巴巴文学信息技术有限公司 | 隔离数据管理方法、装置、系统、计算设备及存储介质 |
CN112099798A (zh) * | 2020-09-16 | 2020-12-18 | 广州虎牙科技有限公司 | 公有函数执行耗时的统计方法、装置、存储介质及终端 |
CN112099798B (zh) * | 2020-09-16 | 2024-04-19 | 广州虎牙科技有限公司 | 公有函数执行耗时的统计方法、装置、存储介质及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484282B (zh) | 一种内存回收方法和装置 | |
CN103365716A (zh) | 业务操作任务中的数据跟踪方法、装置及主机 | |
CN110096437A (zh) | 微服务架构的测试方法及相关产品 | |
CN108038130A (zh) | 虚假用户的自动清理方法、装置、设备及存储介质 | |
CN106685894B (zh) | 一种风险识别方法、装置及系统 | |
CN108664394A (zh) | 一种内存泄露过程追溯方法及装置 | |
US9104567B2 (en) | Memory-leak identification | |
CN113722276A (zh) | 日志数据处理方法、系统、存储介质及电子设备 | |
CN104219639A (zh) | 一种显示短信记录的方法和装置 | |
CN102929929A (zh) | 一种数据汇总方法和装置 | |
CN109614263B (zh) | 一种容灾数据处理方法、装置及系统 | |
CN101661409A (zh) | 并行程序通信模式的提取方法及系统 | |
CN106156173A (zh) | 一种作弊识别方法、装置及终端 | |
CN107920067B (zh) | 一种主动对象存储系统上的入侵检测方法 | |
CN106201841A (zh) | 一种应用程序运行数据的统计方法和装置 | |
US11409704B2 (en) | Method, device and computer program product for managing storage system | |
CN110221952B (zh) | 业务数据的处理方法及装置、业务数据处理系统 | |
CN107272989A (zh) | 应用启动方法、装置及终端设备 | |
CN114995982A (zh) | 任务处理方法、装置及存储介质 | |
CN108363529A (zh) | 应用程序界面的前台运行时间的确定方法及装置 | |
CN109783580A (zh) | 数据同步方法及装置 | |
CN109542704A (zh) | 一种io请求追踪方法、装置及相关设备 | |
Karahoca et al. | Comparing clustering techniques for telecom churn management | |
CN112070469B (zh) | 业务办理时长优化方法、系统、终端设备及存储介质 | |
CN112732584B (zh) | 一种用于新旧系统数据移植过程的复杂业务逻辑完备性测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131023 |