CN112637085A - 流量录制方法、装置、计算机设备和存储介质 - Google Patents
流量录制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112637085A CN112637085A CN202011446130.XA CN202011446130A CN112637085A CN 112637085 A CN112637085 A CN 112637085A CN 202011446130 A CN202011446130 A CN 202011446130A CN 112637085 A CN112637085 A CN 112637085A
- Authority
- CN
- China
- Prior art keywords
- request
- flow
- service request
- middleware
- recording
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请涉及一种流量录制方法、装置、计算机设备和存储介质,所述方法包括:识别待录制流量的服务请求的服务类型;根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量;识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量;根据请求流量和中间件流量得到服务请求的录制流量。上述方法能够录制服务请求的完整流量以避免服务请求的数据丢失而造成服务请求的流量无法回放。
Description
技术领域
本申请涉及流量处理技术领域,特别是涉及一种流量录制方法、装置、计算机设备和存储介质。
背景技术
现有接口的流量录制技术主要是对接口的服务请求的流量进行录制,录制过程中未对服务请求的中间件的数据进行流量录制。例如,对接口的流量录制过程,未对MySQL数据库中间件、Redis缓存中间件等的数据进行流量录制。然而,这些中间件的流量涉及到服务请求的基础数据和/或业务数据,在对服务请求的流量进行录制时,仅对接口中的服务请求进行流量录制,未对这些中间件进行流量,将造成服务请求中绝大部分对环境敏感的基础数据和/或业务数据的缺失,从而导致服务请求的流量跨环境回放时无法实现完整的流量回放。
发明内容
基于此,有必要针对上述技术问题,提供一种能够录制服务请求的完整流量以避免服务请求的数据丢失而造成服务请求的流量无法回放的流量录制方法、装置、计算机设备和存储介质。
一种流量录制方法,该方法包括:识别待录制流量的服务请求的服务类型;根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量;识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量;根据请求流量和中间件流量得到服务请求的录制流量。
在其中一个实施例中,识别待录制流量的服务请求的服务类型,包括:根据服务请求中的service方法和method方法识别服务请求的服务类型。
在其中一个实施例中,根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量,包括:根据服务类型识别服务请求的请求接口以及响应接口,服务请求接口包括请求接口以及响应接口;从请求接口录制服务请求的第一请求数据流量,请求流量包括第一请求数据流量;从响应接口录制服务请求的第一响应数据流量,请求流量包括第一响应数据流量。
在其中一个实施例中,一种流量录制方法还包括:当通过服务请求接口接收到服务请求时,获取服务请求的链路标识;从中间件的子调用请求接口中录制服务请求的中间件流量,包括:根据链路标识识别中间件中服务请求的中间件流量,从中间件的子调用请求接口录制中间件流量。
优选地,一种流量录制方法还包括:当通过服务请求接口接收到服务请求时,若服务请求中未包含链路标识,生成链路标识。
在其中一个实施例中,一种流量录制方法还包括:根据链路标识记录请求流量,根据链路标识记录中间件流量;根据请求流量和中间件流量得到服务请求的录制流量,包括:根据链路标识分别获取请求流量和中间件流量,录制流量包括请求流量和中间件流量。
在其中一个实施例中,识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量,包括:识别子调用请求的调用参数,从中间件的子调用请求接口中录制调用参数对应的子调用请求的第二请求数据流量;根据调用参数识别子调用请求的返参,从中间件的子调用请求接口中录制返参对应的子调用请求的第二响应数据流量;将第二请求数据流量和第二响应数据流量进行关联记录,得到服务请求的中间件流量,中间件流量包括关联后的第二请求数据流量和第二响应数据流量。
在其中一个实施例中,根据请求流量和中间件流量得到服务请求的录制流量,包括:获取服务请求的录制流量的唯一标识信息;通过唯一标识信息对请求流量进行流量筛选,得到第一有效流量,录制流量包括第一有效流量;通过唯一标识信息对中间件流量进行流量筛选,得到第二有效流量,录制流量包括第二有效流量。
一种流量录制装置,该装置包括:识别模块,用于识别待录制流量的服务请求的服务类型;第一录制模块,用于根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量;第二录制模块,用于识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量;获得模块,用于根据请求流量和中间件流量得到服务请求的录制流量。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
上述流量录制方法、装置、计算机设备和存储介质,当需要对服务请求进行流量录制时,服务器识别待录制流量的服务请求的服务类型,根据服务类型可确定服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量。另外,服务器还识别出服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量。最终根据请求流量和中间件流量得到服务请求的录制流量。因此,服务器在对服务请求进行流量录制时,能够录制服务请求的完整流量以避免服务请求的中间件数据的丢失而造成服务请求的流量无法回放。
附图说明
图1为一个实施例中一种流量录制方法的应用环境图;
图2为一个实施例中一种流量录制方法的流程示意图;
图3为一个实施例中OSP服务请求的请求流量的界面显示图;
图4为一个实施例中中间件为MySQL数据库时得到的中间件流量的界面显示图;
图5为一个实施例中中间件为Mock服务器时得到的中间件流量的界面显示图;
图6为一个具体实现方式中一种流量录制方法的流程图;
图7为一个实施例中一种流量录制装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种流量录制方法,应用于如图1所示的应用环境中。如图1所示,终端100向后台200发送服务请求,后台200向终端100返回请求反馈信息。其中,后台200包括用于处理终端100发送的服务请求的请求处理***202以及多个中间件。请求处理***202在处理服务请求时,通过网络向多个中间件中任意一个或多个中间件发送子调用请求,以从中间件中读取相关信息,进而根据读取到的相关信息对服务请求进行处理,得到请求反馈信息。其中,多个中间件包括中间件1、中间件2……中间件n。任一中间件接收到子调用请求时,向请求处理***202返回子调用反馈信息,子调用反馈信息中包含请求处理***202处理服务请求需要的相关信息。请求处理***202在处理服务请求时,还对与服务请求相关的流量进行录制。其中,请求处理***202中包括多个服务器,各服务器用于处理一个或多个外部发送的服务请求。在服务器中植入录制安装包程序,以使得服务器具备流量录制功能。服务器在处理服务请求时,启动流量录制功能,对服务请求的相关流量进行录制。具体地,服务器识别待录制流量的服务请求的服务类型,根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量,识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量,根据请求流量和中间件流量得到服务请求的录制流量。因此,服务器能够录制服务请求的完整的流量,从而避免录制流量中数据的丢失。
在一个实施例中,如图2所示,提供了一种流量录制方法,以该方法应用于图1中的请求处理***202的服务器为例进行说明,包括以下步骤:
S102,识别待录制流量的服务请求的服务类型。
在本实施例中,终端发送的各服务请求均对应有服务类型。例如,当服务请求用于请求获取订单的查询数据时,服务请求的服务类型为订单查询类型。当服务请求用于请求创建订单数据时,服务请求的服务类型为订单创建类型。服务器确定待录制流量的服务请求时,识别该服务请求的服务类型。可以是,服务器获取服务请求,根据服务请求的请求信息识别服务请求的服务类型。具体地,解析服务请求中的请求参数,根据请求参数识别服务请求的服务类型。如请求参数包括订单号以及查询指示信息,根据订单号和查询指示信息识别出服务请求的服务类型为订单查询类型。还可以是,服务器接收外部的配置信息,配置信息中包含待录制流量的服务请求的服务类型。如,人工输入配置信息,配置信息中指示出待录制流量的服务请求以及待录制流量的服务请求的服务类型。
S104,根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量。
在本实施例中,服务器根据服务类型识别服务请求的服务请求接口。其中,服务请求接口可以是一个或多个。当服务请求接口为一个时,服务请求接口用于接收服务请求以及反馈服务请求的响应数据信息。当服务请求接口为两个时,一个服务请求接口用于接收服务请求,另一个服务请求接口用于反馈服务请求的响应数据信息。当服务请求接口大于两个时,一个服务请求接口用于接收服务请求,其他服务请求接口用于反馈服务请求的响应数据信息。服务请求接口的数量基于服务器的服务架构决定。进一步地,服务器从服务请求接口录制服务请求的请求流量。此处的请求流量可以包括处理服务请求的请求数据流量以及针对服务请求反馈的响应数据流量。如,请求流量包括服务请求接口的服务请求的入参数据和返参数据。
S106,识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量。
在本实施例中,服务器对服务请求接口接收到的服务请求的处理过程中,需要调用中间件的数据信息。可以是,服务器通过子调用请求的方式调用中间件的数据信息。在流量录制过程中,服务器识别服务请求的一个或多个子调用请求的中间件,并从中间件的子调用请求接口中录制服务请求的中间件流量。此处中间件的子调用请求接口指的是服务器中用于调用中间件的接口。中间件可以是MySQL数据库、Redis缓存组件、MemCache 组件、Pallas组件等。中间件流量包括与子调用请求相关的数据信息。其中,识别服务请求的子调用请求的中间件可以是:从配置信息中获取服务请求的子调用请求的中间件的标识信息,根据标识信息识别出中间件。如,人工输入配置信息,配置信息包含有指示出服务请求的子调用请求的中间件的标识信息。服务器可以根据标识信息识别出服务请求的子调用请求的中间件,进而从子调用请求接口录制服务请求的中间件流量。
S108,根据请求流量和中间件流量得到服务请求的录制流量。
在本实施例中,服务器根据请求流量和中间件流量得到服务请求的录制流量。在一实现方式中,录制流量包含请求流量和中间件流量,将录制得到的请求流量和中间件流量作为录制流量。在另一实现方式中,对请求流量和中间件流量进行流量筛选,筛选出的流量作为服务请求的录制流量。
上述流量录制方法,当需要对服务请求进行流量录制时,服务器识别待录制流量的服务请求的服务类型,根据服务类型可确定服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量。另外,服务器还识别出服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量。最终根据请求流量和中间件流量得到服务请求的录制流量。因此,服务器在对服务请求进行流量录制时,能够录制服务请求的完整流量以避免服务请求的中间件数据的丢失而造成服务请求的流量无法回放。
在一实施例中,S102包括:根据服务请求中的service方法和method 方法识别服务请求的服务类型。
在该实施例中,服务请求的请求信息中包含service方法和method方法。其中,调用服务采用service方法,调用具体对象采用method方法。例如,service方法用于指示出服务请求的请求对象,method方法用于指示出请求对象的请求类别。根据请求对象的请求类别能够确定出服务请求的服务类别。如,service方法用于指示出服务请求的请求对象为A订单服务, method方法用于指示出A订单服务的请求类别为查询,因此确定出的服务类别为A订单服务的查询服务。服务器通过服务请求中的service方法和 method方法识别服务请求的服务类型,提高服务请求的服务类型的识别的准确率。
在一实施例中,S104包括:根据服务类型识别服务请求的请求接口以及响应接口,服务请求接口包括请求接口以及响应接口;从请求接口录制服务请求的第一请求数据流量,请求流量包括第一请求数据流量;从响应接口录制服务请求的第一响应数据流量,请求流量包括第一响应数据流量。
在该实施例中,服务请求接口包括请求接口以及响应接口。也即是,接收服务请求的接口与反馈服务请求的响应信息的接口不同,此时需要分别针对不同的接口进行流量录制。如OSP(venus-osp,开放服务平台)服务架构中,根据OSP协议设置服务请求的服务请求接口中请求接口以及响应接口不是同一接口。
服务器从请求接口录制服务请求的第一请求数据流量,从响应接口录制服务请求的第一响应数据流量。其中,请求接口根据服务请求的请求参数确定,响应接口根据服务请求的响应报文确定。拦截录制第一请求数据流量的请求接口的位置信息可以是serviceHelper$method_argsHelper,拦截录制第一响应数据流量的响应接口的位置信息可以是 serviceHelper$method_resultHelper。例如,OSP接口的服务请求 com.vip.wallet.flow.osp.api.UserService/queryUserInfo,其拦截的请求接口的位置为:com.vip.wallet.flow.osp.api.UserServiceHelper$queryUserInfo_argHelper,从该位置中服务器可以录制到包含服务请求的请求参数的第一请求数据流量。 OSP接口的服务请求中,其拦截的响应接口的位置为: com.vip.wallet.flow.osp.api.UserServiceHelper$queryUserInfo_resultHelper。从该位置中服务器可以录制到包含服务请求的响应报文的第一响应数据流量。因此,服务器可以准确地录制到服务请求的第一请求数据流量和第一响应数据流量。
在一实施例中,S106之前,还包括:当通过服务请求接口接收到服务请求时,获取服务请求的链路标识。S106包括:根据链路标识识别中间件中服务请求的中间件流量,录制中间件流量。
优选地,获取服务请求的链路标识之前,还包括:当通过服务请求接口接收服务请求时,若服务请求中未包含链路标识,生成链路标识。
在该实施例中,当通过服务请求接口接收到服务请求时,若服务请求中未包含链路标识,生成服务请求的链路标识之后获取服务请求的链路标识。若服务请求中包含链路标识获取服务请求的链路标识。通过链路标识识别中间件中服务请求的中间件流量。具体可以是,将链路标识与中间件中的流量进行标识匹配,若匹配成功,识别对应的流量为中间件流量,录制中间件流量。因此,可准确且快速录制到服务请求的中间件流量。
在一实施例中,S108之前,还包括:根据链路标识记录请求流量,根据链路标识记录中间件流量。S108包括:根据链路标识分别获取请求流量和中间件流量,录制流量包括请求流量和中间件流量。
在该实施例中,当录制到请求流量时,通过链路标识标记请求流量。当录制到中间件流量时,通过链路标识标记中间件流量。其中,链路标识为接收到服务请求时为服务请求设置的标识或服务请求本身携带的标识,服务器在处理服务请求的整个业务链路过程中,均采用链路标识标记与服务请求相关的流量。服务器根据链路标识获取录制流量。此处获取的录制流量包括请求流量和中间件流量。因此,可快速且准确获取到服务请求的录制流量。
例如:服务请求为OSP服务请求时,录制得到的请求流量如图3所示。 id指的是服务请求设置的识别号,trace_id指的是链路标识,data_type指的是数据类型,domain指录制流量的区域,service_name指的是服务请求中service方法的名称,method_name指的是服务请求中method方法的名称,param_in指的是请求参数,hashcode指的是哈希码,response指的是响应报文,is_deleted指的是删除值,create_time指的是创建该条请求流量的时间,update_time指的是更新该条请求流量的时间。表格中其他的英文字母以及数字表达均为常规***参数。子调用请求的中间件为MySQL 数据库时,录制得到的中间件流量如图4所示。图4表格中英文词的表达意思如图3中的英文表述一样,此处不再详述。其中,中间件流量和请求流量通过链路标识进行关联。
在一实施例中,S106包括:识别子调用请求的调用参数,录制调用参数对应的子调用请求的第二请求数据流量;根据调用参数识别子调用请求的返参,录制返参对应的子调用请求的第二响应数据流量;将第二请求数据流量和第二响应数据流量进行关联记录,得到服务请求的中间件流量,中间件流量包括关联后的第二请求数据流量和第二响应数据流量。
在该实施例中,中间件流量包括子调用请求的调用参数对应的第二请求数据流量和返参对应的第二响应数据流量。具体地,在流量录制过程中,录制包含子调用请求的调用参数的第二请求数据流量,并录制包含子调用请求的返参的第二响应数据流量,将两者关联后得到服务请求的中间件流量。其中,此处的调用参数包括请求参数,返参包括响应报文。在具体的实现过程中,中间件的数量可以为多个,服务器分别录制各中间件的第二请求数据流量和第二响应数据流量。例如,中间件包括外部OSP服务的设备、MemCache***、Redis数据库、MySQL数据库。MemCache***:一套分布式的高速缓存***。Redis数据库:Remote Dictionary Server数据库,即远程字典服务的数据库。MySQL数据库:一种开放源代码的关系型数据库管理***,使用最常用的数据库管理语言--结构化查询语言进行数据库管理。例如,各中间件的第二请求数据流量和第二响应数据流量的录制参照如下所示:
OSP服务的子调用请求:流量录制的接口拦截位置为:
请求参数:com.vip.osp.core.filter.client.send.ClientSendMessageFilter;
响应报文:com.vip.osp.core.filter.client.receive.ClientReceiveMessageFilter;
MySQL数据库的子调用请求:流量录制的接口拦截位置为:
请求参数/响应报文:org.apache.ibatis.binding.MapperMethod;
Redis数据库的子调用请求:流量录制的接口拦截位置为:
请求参数:redis.clients.jedis.Jedis;
响应报文:redis.clients.jedis.BinaryJedis;
MemCache***的子调用请求:流量录制的接口拦截位置为:
请求参数:net.rubyeye.xmemcached.XMemcachedClient;
响应报文:net.spy.memcached.MemcachedClient。
其中,以上的请求参数和响应报文分别指代包含请求参数的第二请求数据流量和包含响应报文的第二响应数据流量。两者对应的拦截位置分别指示服务器从拦截位置处录制对应的流量。服务器从中间件中录制得到的中间件流量的信息可参见图3、图4和图5所示。图5表格中英文词的表达意思如图3中的英文表述一样,此处不再详述。因此,可实现录制服务请求中与环境相关的中间件的数据流量,进一步保证服务请求的流量录制的完整性。
在一实施例中,S108包括:获取服务请求的录制流量的唯一标识信息;通过唯一标识信息对请求流量进行流量筛选,得到第一有效流量,录制流量包括第一有效流量;通过唯一标识信息对中间件流量进行流量筛选,得到第二有效流量,录制流量包括第二有效流量。
在该实施例中,服务请求的流量对应有唯一标识信息,该唯一标识信息用于标识处理服务请求过程中产生的与服务请求处理相关的流量。其中,唯一标识信息可以包括流量类型type、链路标识trace_id、调用服务service、调用方法method、调用参数params、调用结果Respond。服务器通过唯一标识信息对请求流量和中间件流量进行流量筛选,得到有效流量。录制流量中包含有效流量。筛选的方式可以是,通过唯一标识信息与请求流量中各流量内的信息进行匹配,当流量中包含完整的唯一标识信息时,该条流量为第一有效流量。通过唯一标识信息与中间件流量中各流量内的信息进行匹配,当流量中包含完整的唯一标识信息时,该条流量为第二有效流量。当唯一标识信息中包含多个标识信息时,将各标识信息与中间件流量/请求流量中的各流量内的信息进行一一匹配。任一流量内的信息与所有标识信息均匹配时,该条流量为有效流量。因此,可以准确筛选出服务请求的录制流量。
在一实现方式中,一种流量录制方法的流程图参见图6所示。在目标服务器上安装流量录制安装包,安装包中包含流量录制模块。流量录制模块的核心功能在于,提炼服务请求的请求流量和子调用请求的中间件流量的所有调用关键节点。其中,调用关键节点包括各个中间件以及服务请求接收节点、服务请求的响应节点。服务请求可以是OSP服务请求。通过 AOP(Aspect Oriented Programming,面向切面编程)在服务器的OSP服务进程中拦截所有OSP服务请求和其所有子调用请求的流量并进行流量录制。流量录制的具体流程可参见图6所示。在目标服务器的OSP服务进程中注入流量录制切面代码,对所有OSP服务请求、OSP子调用、MySQL 子调用、Redis子调用、Pallas子调用的流量进行录制,录制过程中记录了与环境强相关的中间件数据,使得流量录制更加完整,避免服务请求的数据丢失而造成服务请求的流量无法回放。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请还提供一种流量录制装置,如图7所示,该装置包括识别模块 10、第一录制模块20、第二录制模块30以及获得模块40。识别模块10,用于识别待录制流量的服务请求的服务类型;第一录制模块20,用于根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量;第二录制模块30,用于识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量;获得模块40,用于根据请求流量和中间件流量得到服务请求的录制流量。
在其中一个实施例中,识别模块10具体用于根据服务请求中的service 方法和method方法识别服务请求的服务类型。
在其中一个实施例中,第一录制模块20具体用于根据服务类型识别服务请求的请求接口以及响应接口,服务请求接口包括请求接口以及响应接口;从请求接口录制服务请求的第一请求数据流量,请求流量包括第一请求数据流量;从响应接口录制服务请求的第一响应数据流量,请求流量包括第一响应数据流量。
在其中一个实施例中,一种流量录制装置还包括获取模块,用于当通过服务请求接口接收到服务请求时,获取服务请求的链路标识。第二录制模块30具体用于根据链路标识识别中间件中服务请求的中间件流量,从中间件的子调用请求接口录制中间件流量。
优选地,一种流量录制装置还包括生成模块,用于当通过服务请求接口接收到服务请求时,若服务请求中未包含链路标识,生成链路标识。
在其中一个实施例中,一种流量录制装置还包括记录模块,用于根据链路标识记录请求流量,根据链路标识记录中间件流量。获得模块40具体用于根据链路标识分别获取请求流量和中间件流量,录制流量包括请求流量和中间件流量。
在其中一个实施例中,第二录制模块30具体用于识别子调用请求的调用参数,从中间件的子调用请求接口中录制调用参数对应的子调用请求的第二请求数据流量;根据调用参数识别子调用请求的返参,从中间件的子调用请求接口中录制返参对应的子调用请求的第二响应数据流量;将第二请求数据流量和第二响应数据流量进行关联记录,得到服务请求的中间件流量,中间件流量包括关联后的第二请求数据流量和第二响应数据流量。
在其中一个实施例中,获得模块40具体用于获取服务请求的录制流量的唯一标识信息;通过唯一标识信息对请求流量进行流量筛选,得到第一有效流量,录制流量包括第一有效流量;通过唯一标识信息对中间件流量进行流量筛选,得到第二有效流量,录制流量包括第二有效流量。
关于一种流量录制装置的具体限定可以参见上文中对于一种流量录制方法的限定,在此不再赘述。上述一种流量录制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的中间件连接,以与中间件进行信息通信。该计算机程序被处理器执行时以实现一种流量录制方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:识别待录制流量的服务请求的服务类型;根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量;识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量;根据请求流量和中间件流量得到服务请求的录制流量。
在其中一个实施例中,处理器执行计算机程序实现上述的识别待录制流量的服务请求的服务类型步骤时,具体实现以下步骤:根据服务请求中的service方法和method方法识别服务请求的服务类型。
在其中一个实施例中,处理器执行计算机程序实现上述的根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量步骤时,具体实现以下步骤:根据服务类型识别服务请求的请求接口以及响应接口,服务请求接口包括请求接口以及响应接口;从请求接口录制服务请求的第一请求数据流量,请求流量包括第一请求数据流量;从响应接口录制服务请求的第一响应数据流量,请求流量包括第一响应数据流量。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:当通过服务请求接口接收到服务请求时,获取服务请求的链路标识。处理器执行计算机程序实现上述的从中间件的子调用请求接口中录制服务请求的中间件流量步骤时,具体实现以下步骤:根据链路标识识别中间件中服务请求的中间件流量,从中间件的子调用请求接口录制中间件流量。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:当通过服务请求接口接收到服务请求时,若服务请求中未包含链路标识,生成链路标识。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:根据链路标识记录请求流量,根据链路标识记录中间件流量。处理器执行计算机程序实现上述的根据请求流量和中间件流量得到服务请求的录制流量步骤时,具体实现以下步骤:根据链路标识分别获取请求流量和中间件流量,录制流量包括请求流量和中间件流量。
在其中一个实施例中,处理器执行计算机程序实现上述的识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量步骤时,具体实现以下步骤:识别子调用请求的调用参数,从中间件的子调用请求接口中录制调用参数对应的子调用请求的第二请求数据流量;根据调用参数识别子调用请求的返参,从中间件的子调用请求接口中录制返参对应的子调用请求的第二响应数据流量;将第二请求数据流量和第二响应数据流量进行关联记录,得到服务请求的中间件流量,中间件流量包括关联后的第二请求数据流量和第二响应数据流量。
在其中一个实施例中,处理器执行计算机程序实现上述的根据请求流量和中间件流量得到服务请求的录制流量步骤时,具体实现以下步骤:获取服务请求的录制流量的唯一标识信息;通过唯一标识信息对请求流量进行流量筛选,得到第一有效流量,录制流量包括第一有效流量;通过唯一标识信息对中间件流量进行流量筛选,得到第二有效流量,录制流量包括第二有效流量。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:识别待录制流量的服务请求的服务类型;根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量;识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量;根据请求流量和中间件流量得到服务请求的录制流量。
在其中一个实施例中,计算机程序被处理器执行实现上述的识别待录制流量的服务请求的服务类型步骤时,具体实现以下步骤:根据服务请求中的service方法和method方法识别服务请求的服务类型。
在其中一个实施例中,计算机程序被处理器执行实现上述的根据服务类型识别服务请求的服务请求接口,从服务请求接口中录制服务请求的请求流量步骤时,具体实现以下步骤:根据服务类型识别服务请求的请求接口以及响应接口,服务请求接口包括请求接口以及响应接口;从请求接口录制服务请求的第一请求数据流量,请求流量包括第一请求数据流量;从响应接口录制服务请求的第一响应数据流量,请求流量包括第一响应数据流量。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:当通过服务请求接口接收到服务请求时,获取服务请求的链路标识。计算机程序被处理器执行实现上述的从中间件的子调用请求接口中录制服务请求的中间件流量步骤时,具体实现以下步骤:根据链路标识识别中间件中服务请求的中间件流量,从中间件的子调用请求接口录制中间件流量。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:当通过服务请求接口接收到服务请求时,若服务请求中未包含链路标识,生成链路标识。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:根据链路标识记录请求流量,根据链路标识记录中间件流量。计算机程序被处理器执行实现上述的根据请求流量和中间件流量得到服务请求的录制流量步骤时,具体实现以下步骤:根据链路标识分别获取请求流量和中间件流量,录制流量包括请求流量和中间件流量。
在其中一个实施例中,计算机程序被处理器执行实现上述的识别服务请求的子调用请求的中间件,从中间件的子调用请求接口中录制服务请求的中间件流量步骤时,具体实现以下步骤:识别子调用请求的调用参数,从中间件的子调用请求接口中录制调用参数对应的子调用请求的第二请求数据流量;根据调用参数识别子调用请求的返参,从中间件的子调用请求接口中录制返参对应的子调用请求的第二响应数据流量;将第二请求数据流量和第二响应数据流量进行关联记录,得到服务请求的中间件流量,中间件流量包括关联后的第二请求数据流量和第二响应数据流量。
在其中一个实施例中,计算机程序被处理器执行实现上述的根据请求流量和中间件流量得到服务请求的录制流量步骤时,具体实现以下步骤:获取服务请求的录制流量的唯一标识信息;通过唯一标识信息对请求流量进行流量筛选,得到第一有效流量,录制流量包括第一有效流量;通过唯一标识信息对中间件流量进行流量筛选,得到第二有效流量,录制流量包括第二有效流量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种流量录制方法,所述方法包括:
识别待录制流量的服务请求的服务类型;
根据所述服务类型识别所述服务请求的服务请求接口,从所述服务请求接口中录制所述服务请求的请求流量;
识别所述服务请求的子调用请求的中间件,从所述中间件的子调用请求接口中录制所述服务请求的中间件流量;
根据所述请求流量和所述中间件流量得到所述服务请求的录制流量。
2.根据权利要求1所述的方法,其特征在于,所述识别待录制流量的服务请求的服务类型,包括:
根据所述服务请求中的service方法和method方法识别所述服务请求的服务类型。
3.根据权利要求1所述的方法,其特征在于,所述根据所述服务类型识别所述服务请求的服务请求接口,从所述服务请求接口中录制所述服务请求的请求流量,包括:
根据所述服务类型识别所述服务请求的请求接口以及响应接口,所述服务请求接口包括所述请求接口以及所述响应接口;
从所述请求接口录制所述服务请求的第一请求数据流量,所述请求流量包括所述第一请求数据流量;
从所述响应接口录制所述服务请求的第一响应数据流量,所述请求流量包括所述第一响应数据流量。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当通过所述服务请求接口接收到所述服务请求时,获取所述服务请求的链路标识;
所述从所述中间件的子调用请求接口中录制所述服务请求的中间件流量,包括:
根据所述链路标识识别所述中间件中所述服务请求的中间件流量,从所述中间件的子调用请求接口录制所述中间件流量;
优选地,所述方法还包括:
当通过所述服务请求接口接收到所述服务请求时,若所述服务请求中未包含所述链路标识,生成所述链路标识。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述链路标识记录所述请求流量,根据所述链路标识记录所述中间件流量;
所述根据所述请求流量和所述中间件流量得到所述服务请求的录制流量,包括:
根据链路标识分别获取所述请求流量和所述中间件流量,所述录制流量包括所述请求流量和所述中间件流量。
6.根据权利要求1所述的方法,其特征在于,所述识别所述服务请求的子调用请求的中间件,从所述中间件的子调用请求接口中录制所述服务请求的中间件流量,包括:
识别所述子调用请求的调用参数,从所述中间件的子调用请求接口中录制所述调用参数对应的所述子调用请求的第二请求数据流量;
根据所述调用参数识别所述子调用请求的返参,从所述中间件的子调用请求接口中录制所述返参对应的所述子调用请求的第二响应数据流量;
将所述第二请求数据流量和所述第二响应数据流量进行关联记录,得到所述服务请求的中间件流量,所述中间件流量包括关联后的所述第二请求数据流量和所述第二响应数据流量。
7.根据权利要求1所述的方法,其特征在于,所述根据所述请求流量和所述中间件流量得到所述服务请求的录制流量,包括:
获取所述服务请求的录制流量的唯一标识信息;
通过所述唯一标识信息对所述请求流量进行流量筛选,得到第一有效流量,所述录制流量包括所述第一有效流量;
通过所述唯一标识信息对所述中间件流量进行流量筛选,得到第二有效流量,所述录制流量包括所述第二有效流量。
8.一种流量录制装置,其特征在于,所述装置包括:
识别模块,用于识别待录制流量的服务请求的服务类型;
第一录制模块,用于根据所述服务类型识别所述服务请求的服务请求接口,从所述服务请求接口中录制所述服务请求的请求流量;
第二录制模块,用于识别所述服务请求的子调用请求的中间件,从所述中间件的子调用请求接口中录制所述服务请求的中间件流量;
获得模块,用于根据所述请求流量和所述中间件流量得到所述服务请求的录制流量。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446130.XA CN112637085B (zh) | 2020-12-08 | 2020-12-08 | 流量录制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446130.XA CN112637085B (zh) | 2020-12-08 | 2020-12-08 | 流量录制方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637085A true CN112637085A (zh) | 2021-04-09 |
CN112637085B CN112637085B (zh) | 2023-02-17 |
Family
ID=75310179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011446130.XA Active CN112637085B (zh) | 2020-12-08 | 2020-12-08 | 流量录制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637085B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900445A (zh) * | 2022-04-28 | 2022-08-12 | 北京百度网讯科技有限公司 | 流量录制方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7385924B1 (en) * | 2003-09-30 | 2008-06-10 | Packeteer, Inc. | Enhanced flow data records including traffic type data |
CN102316298A (zh) * | 2010-09-17 | 2012-01-11 | 苏州阔地网络科技有限公司 | 一种实现音视频录制的方法 |
CN104967904A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 终端视频录制回放的方法及装置 |
CN107122289A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | ***回归测试的方法、装置及*** |
CN110149528A (zh) * | 2019-05-21 | 2019-08-20 | 北京字节跳动网络技术有限公司 | 一种过程录制方法、装置、***、电子设备、及存储介质 |
CN110968483A (zh) * | 2019-12-20 | 2020-04-07 | 支付宝实验室(新加坡)有限公司 | 业务数据采集方法、装置及电子设备 |
CN111010316A (zh) * | 2019-12-17 | 2020-04-14 | 广州唯品会信息科技有限公司 | 一种流量回放方法、装置及*** |
CN111522728A (zh) * | 2019-12-31 | 2020-08-11 | 支付宝实验室(新加坡)有限公司 | 自动化测试用例的生成方法、电子设备及可读存储介质 |
CN111625452A (zh) * | 2020-05-22 | 2020-09-04 | 上海哔哩哔哩科技有限公司 | 流量回放方法和*** |
-
2020
- 2020-12-08 CN CN202011446130.XA patent/CN112637085B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7385924B1 (en) * | 2003-09-30 | 2008-06-10 | Packeteer, Inc. | Enhanced flow data records including traffic type data |
CN102316298A (zh) * | 2010-09-17 | 2012-01-11 | 苏州阔地网络科技有限公司 | 一种实现音视频录制的方法 |
CN104967904A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 终端视频录制回放的方法及装置 |
CN107122289A (zh) * | 2016-02-25 | 2017-09-01 | 阿里巴巴集团控股有限公司 | ***回归测试的方法、装置及*** |
CN110149528A (zh) * | 2019-05-21 | 2019-08-20 | 北京字节跳动网络技术有限公司 | 一种过程录制方法、装置、***、电子设备、及存储介质 |
CN111010316A (zh) * | 2019-12-17 | 2020-04-14 | 广州唯品会信息科技有限公司 | 一种流量回放方法、装置及*** |
CN110968483A (zh) * | 2019-12-20 | 2020-04-07 | 支付宝实验室(新加坡)有限公司 | 业务数据采集方法、装置及电子设备 |
CN111522728A (zh) * | 2019-12-31 | 2020-08-11 | 支付宝实验室(新加坡)有限公司 | 自动化测试用例的生成方法、电子设备及可读存储介质 |
CN111625452A (zh) * | 2020-05-22 | 2020-09-04 | 上海哔哩哔哩科技有限公司 | 流量回放方法和*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900445A (zh) * | 2022-04-28 | 2022-08-12 | 北京百度网讯科技有限公司 | 流量录制方法、装置及电子设备 |
CN114900445B (zh) * | 2022-04-28 | 2024-04-16 | 北京百度网讯科技有限公司 | 流量录制方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112637085B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108197200B (zh) | 日志追踪方法、装置、计算机设备和存储介质 | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN110647438A (zh) | 事件监控方法、装置、计算机设备和存储介质 | |
CN110377325B (zh) | 接口配置方法、接口调用方法、装置、设备及存储介质 | |
CN110334126B (zh) | 基于Spring MVC的定时任务处理方法、装置和计算机设备 | |
CN107682361B (zh) | 网站漏洞扫描方法、装置、计算机设备及存储介质 | |
CN110851159B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN111666565A (zh) | 沙箱仿真测试方法、装置、计算机设备和存储介质 | |
CN110597541B (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
US20220377556A1 (en) | Internet-of-things device registration method and apparatus, device, and storage medium | |
CN111159233B (zh) | 分布式缓存方法、***、计算机设备以及存储介质 | |
CN111177776A (zh) | 多租户数据隔离方法与*** | |
US9665732B2 (en) | Secure Download from internet marketplace | |
CN110727935A (zh) | 单点登录方法、***、计算机设备和存储介质 | |
CN111666205A (zh) | 一种数据审计的方法、***、计算机设备和存储介质 | |
US20190220329A1 (en) | Multi-application-oriented user data management method and system | |
CN112306973A (zh) | 一种图片导入***及方法 | |
CN112637085B (zh) | 流量录制方法、装置、计算机设备和存储介质 | |
CN112148699A (zh) | 日志管理方法、装置、设备及介质 | |
CN112699034B (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
CN113742023A (zh) | 权限配置方法、装置、计算机设备和存储介质 | |
CN112559352A (zh) | 接口测试的方法、装置、设备及存储介质 | |
CN115017538A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112383434B (zh) | 网络请求的接口模拟方法、装置、电子设备和存储介质 | |
CN112583606B (zh) | 安全校验方法及服务器、终端、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |