CN110119322B - 数据获取方法、装置、计算机设备及可读存储介质 - Google Patents

数据获取方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN110119322B
CN110119322B CN201910381001.8A CN201910381001A CN110119322B CN 110119322 B CN110119322 B CN 110119322B CN 201910381001 A CN201910381001 A CN 201910381001A CN 110119322 B CN110119322 B CN 110119322B
Authority
CN
China
Prior art keywords
service
target
data
target service
code
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.)
Active
Application number
CN201910381001.8A
Other languages
English (en)
Other versions
CN110119322A (zh
Inventor
李�灿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201910381001.8A priority Critical patent/CN110119322B/zh
Publication of CN110119322A publication Critical patent/CN110119322A/zh
Application granted granted Critical
Publication of CN110119322B publication Critical patent/CN110119322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据获取方法、装置、计算机设备及可读存储介质,属于数据管理技术领域。所述方法通过目标设备执行目标业务,并获取执行该目标业务的业务数据,将业务数据发放至数据中心,从而可以使得第一设备可以在数据中心中获取目标业务的目标数据,由于获取的业务数据为目标设备执行目标业务过程中的业务数据,从而可以使得第一设备获取的业务数据较为全面。

Description

数据获取方法、装置、计算机设备及可读存储介质
技术领域
本发明涉及数据管理技术领域,特别涉及一种数据获取方法、装置、计算机设备及可读存储介质。
背景技术
随着人们需求的增多,互联网业务涉及的方面越来广泛,从而导致互联网业务越来越复杂,由于微服务等新架构的引入,多个应用服务器通过微服务可以实现一个复杂的互联网业务,为了维护互联网业务的正常运行,当该互联网业务在运行中出现错误时,可以通过获取与该业务相关的数据,确定错误所在。
目前,数据获取可以是如下过程:一个互联网业务可以通过多个RPC(remoteprocedure call,远程过程调用)请求来实现,每个RPC请求可以调用多个应用服务器上来实现,当任一应用服务器被任一RPC请求调用时,该应用服务器会记录实现该RPC请求的日志数据,日志数据中包括互联网业务的全局唯一标识、请求参数和返回结果,进而根据全局唯一标识,将业务***中各个应用服务器上的日志数据存储在数据中心,数据中心在存储日志数据时,可以采用不同的颜色标识不同的返回结果,例如,若返回结果成功,则将日志数据中的该返回结果标记为黑色,若返回结果失败,则将日志数据中的该返回结果标记为红色,计算机设备在数据中心中获取与该全局唯一标识对应的日志数据后,用户可以根据这些日志数据中返回结果的颜色,确定出现问题的调用。
在上述数据获取过程中,根据该RPC请求的返回结果的颜色,可以确定造成出现运行错误的调用,但是无法确定该调用过程中具体出现错误的数据,所以导致获取数据不全面。
发明内容
本发明实施例提供了一种数据获取方法、装置、计算机设备及可读存储介质,能够解决数据获取过程中数据获取不全面的问题。所述技术方案如下:
第一方面,提供了一种数据获取方法,所述方法包括:
根据针对目标业务的问题排查指令,获取所述目标业务的网页地址和业务标识;
根据所述业务标识和网页地址,生成第一数据获取请求,所述第一数据获取请求用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
向所述目标设备发送所述第一数据获取请求,所述业务数据包括携带所述业务标识的多个远程过程调用RPC请求的输入参数和返回结果;
通过所述数据中心,获取所述业务数据。
第二方面,提供了一种数据获取方法,所述方法包括:
接收第一数据获取请求,所述第一数据获取请求用于指示目标设备基于网页地址执行目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
基于所述第一数据获取请求,执行所述目标业务,得到所述目标业务执行过程中的业务数据,所述业务数据包括携带所述目标业务的业务标识的多个RPC请求的输入参数和返回结果;
将所述业务数据以及所述业务标识发送至数据中心。
第三方面,提供了一种数据获取装置,所述装置包括:
第一获取模块,用于根据针对目标业务的问题排查指令,获取所述目标业务的网页地址和业务标识;
生成模块,用于根据所述业务标识和网页地址,生成第一数据获取请求,所述第一数据获取请求用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
发送模块,用于向所述目标设备发送所述第一数据获取请求,所述业务数据包括携带所述业务标识的多个远程过程调用RPC请求的输入参数和返回结果;
第二获取模块,用于通过所述数据中心,获取所述业务数据。
在一种可能的实现方式中,所述第一获取模块,用于:
从所述针对目标业务的问题排查指令中,提取所述目标业务的网页地址;
基于所述网页地址,生成业务标识。
在一种可能的实现方式中,所述第一数据获取请求包括所述业务标识、所述网页地址以及参数标识,所述参数标识用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心。
在一种可能的实现方式中,所述第二获取模块,用于接收所述数据中心发送的所述业务数据。
在一种可能的实现方式中,所述第二获取模块,还用于向所述数据中心发送第二数据获取请求,所述第二数据获取请求携带所述业务标识。
在一种可能的实现方式中,该装置还包括显示模块,用于对于每一个RPC请求,将所述RPC请求的输入参数和返回结果显示在一行上。
第四方面,提供了一种数据获取装置,所述装置包括:
接收模块,用于接收第一数据获取请求,所述第一数据获取请求用于指示目标设备基于网页地址执行目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
执行模块,用于基于所述第一数据获取请求,执行所述目标业务,得到所述目标业务执行过程中的业务数据,所述业务数据包括携带所述目标业务的业务标识的多个RPC请求的输入参数和返回结果;
发送模块,用于将所述业务数据以及所述业务标识发送至数据中心。
在一种可能的实现方式中,所述执行模块,包括:
生成单元,用于基于所述第一数据获取请求中的目标业务的网页地址以及业务标识,生成代理程序,所述代理程序用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
获取单元,用于基于所述代理程序,获取所述目标业务执行过程中的业务数据;
相应地,所述发送模块,用于基于所述代理程序,将所述业务数据以及所述业务标识发送至数据中心。
在一种可能的实现方式中,所述生成单元,包括:
确定子单元,用于基于所述数据获取请求中的目标业务的网页地址,确定第一代码,所述第一代码为实现原始RPC请求的方法代码;
第一生成子单元,用于基于所述第一代码以及所述参数标识,生成第一目标字节码,所述第一目标字节码用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
实现子单元,用于基于第一目标类,实现动态插桩,所述第一目标类用于实现修改字节码;
第二生成子单元,用于基于所述第一目标字节码以及所述插桩,生成代理程序。
在一种可能的实现方式中,所述第一生成子单元,用于:
基于所述第一代码,生成第一字节码;
当检测到所述第一数据获取请求携带有参数标识时,根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,所述目标代码用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
基于所述第二代码,生成第二字节码;
在所述第一字节码中添加第二目标字节码,得到第一目标字节码,所述第二目标字节码为所述第二字节码中与所述第一字节码不同的字节码。
在一种可能的实现方式中,所述根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,包括:
当所述第一代码内的调用方式为异步调用时,定义一个回调类以实现异步方法回调接口,得到第一回调类,重写请求完成时执行的回调函数以及处理错误的函数,以实现基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
在所述第一代码中增加目标代码,得到第二代码;
将原来的回调类替换为所述第一回调类。
在一种可能的实现方式中,所述根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,包括:
当所述第一代码内的调用方式为同步调用时,在所述第一代码中增加目标代码,得到第二代码。
第五方面,提供了一种计算机设备,该计算机设备包括:处理器;用于存放计算机程序的存储器;其中,该处理器用于执行存储器上所存放的计算机程序,实现上述数据获取方法所执行的操作。
第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述数据获取方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
通过目标设备执行目标业务,并获取执行该目标业务的业务数据,将业务数据发放至数据中心,从而可以使得第一设备可以在数据中心中获取目标业务的目标数据,由于获取的业务数据为目标设备执行目标业务过程中的业务数据,从而可以使得第一设备获取的业务数据较为全面。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种数据获取***的结构示意图;
图3是本发明实施例提供的一种计算机设备的结构示意图;
图4是本申请实施例提供的一种数据获取方法的流程图;
图5是本发明实施例提供的一种代理程序生成方法的流程图;
图6是本发明实施例提供的一种数据获取装置结构示意图;
图7是本发明实施例提供的一种数据获取装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种实施环境的示意图。参见图1,该实施环境包括第一设备、目标设备以及数据中心,其中,第一设备用于接收目标业务的问题排查指令以及展示目标业务的业务数据,以便技术人员根据第一设备展示的业务数据,排查目标业务执行过程中出现的问题。第一设备可以是具有以上功能的任一个计算机备,第一设备也可以是专门用于对目标业务进行问题排查时,所使用的专用设备。本发明实施例对该第一设备不做具体限定。
目标设备,用于生成代理程序,并基于代理程序获取执行目标业务过程中的业务数据,将业务数据上传至数据中心,以便数据中心存储业务数据并向第一设备返回业务数据,该目标设备可以是执行目标业务的任一应用服务器,该应用服务器在执行该目标业务过程中,可以通过RPC请求调用其他应用服务器,以完成该目标业务。
数据中心,用于接收并存储目标设备发送的业务数据,并将业务数据发送至第一设备,以便第一设备可以展示业务数据。
在一些实施例中,第一设备以及目标设备功能可以在数据获取***上体现,参见图2,图2是本发明实施例提供的一种数据获取***的结构示意图,该数据获取***可以包括发送请求模块、执行代理程序模块、字节码修改及数据收集上报模块以及数据展示模块。
其中,发送请求模块用于完成第一设备向目标设备发送请求的功能,执行代理程序模块用于完成目标设备上执行代理程序的功能,字节码修改及数据收集上报模块用于完成生成代理程序、收集数据以及上报数据的功能,数据展示模块用于完成第一设备展示目标业务的业务数据的功能。
第一设备可以是计算机设备,为了进一步体现计算机设备的硬件结构,参见图3,图3是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)301和一个或一个以上的存储器302,其中,所述存储器302中存储有至少一条指令,所述至少一条指令由所述处理器301加载并执行以实现下述各个方法实施例提供的方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成下述实施例中数据获取方法。例如,例如,该计算机可读存储介质可以是只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、只读光盘(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
以上是对本发明实施环境描述,进一步地,为了体现第一设备获取数据的过程,在此用一个具体的实施例来描述,参见图4,图4是本申请实施例提供的一种数据获取方法的流程图,本发明实施例提供的方法流程包括:
401、第一设备根据针对目标业务的问题排查指令,获取该目标业务的网页地址和业务标识。
目标业务可以是任一网页所提供的业务,该网页的网页地址,也即是,目标业务的网页地址,也可以理解为,该网页地址所指示的网页用于提供目标业务,该网页上可以显示与该目标业务相关的信息,例如,该网页为网络店铺的网页,该网页所提供的目标业务也即是售卖店铺内的商品,该网页还可以显示店铺的促销信息、商品种类等。那么,消费者可以在客户端上显示该网页,并可以在该网页上购买店铺内的商品。
业务标识用于指示该业务,业务标识可以用字符串来表示,不同的字符串所指示的业务不同,例如,该业务标识可以是(universally unique identifier,UUID),本发明实施例对该业务标识不做具体限定。
问题排查指令可以包括目标业务的网页地址,用于指示获取该目标业务执行过程中的业务数据,以便技术人员可以根据第一设备获取的业务数据,排查网页上展示的错误信息的原因。该问题排查指令可以是超文本传输协议(hyper text transfer protocol,HTTP)请求,还可以是RPC请求。本发明实施例对该问题排查指令不做具体限定。
第一设备在执行本步骤401之前需要获取到问题排查指令,第一设备获取该问题排查指令可以由用户的操作来触发,在一种可能的实现方式中,当用户发现目标业务的网页上的信息显示有误时,用户可以在该第一设备的查询界面上输入目标业务的网页地址,并点击查询,即可触发第一设备接收到问题排查指令,该问题排查指令携带该目标业务的网页地址。
第一设备可以通过提取问题排查指令中的内容,以完成本步骤401,在一种可能的实现方式中,该第一设备可以通过下述步骤401A-401B所示的过程来完成本步骤401。
步骤401A、该第一设备从该针对目标业务的问题排查指令中,提取该目标业务的网页地址。
当第一设备接收到问题排查指令后,可以从该问题排查指令的目标字段中提取该目标业务的网页地址,该目标字段用于存储目标业务的网页地址。
步骤401B、该第一设备基于该网页地址,生成业务标识。
第一设备可以根据预设的业务标识生成算法,生成该目标业务的业务标识,其中,业务标识生成算法用于生成业务标识,例如,网页地址为http://aaa.bbb.com,根据该网页地址以及用于生成UUID的算法,第一设备生成的uuid=28B35FC5548DDCDA15E,即为目标业务的业务标识。需要说明的是,本发明实施例对该业务标识生成算法不做具体限定。
402、第一设备根据该业务标识和网页地址,生成第一数据获取请求,该第一数据获取请求用于指示目标设备基于该网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。
该第一数据获取请求包括该业务标识、该网页地址以及参数标识,该参数标识用于指示目标设备基于该网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。该参数标识可以用字符串来表示,例如,参数标识为dataMark=true,本发明实施例对该参数标识不做具体限定。
第一设备根据将业务标识、网页地址以及参数标识,来完成本步骤402,在一种可能的实现方式中,当第一设备根据网页地址生成业务标识后,按照组合规则,第一设备将业务标识、网页地址以及参数标识进行组合,得到第一数据请求,该组合规则用于生成第一数据请求,本发明实施例对该组合规则不做具体限定。
在一种可能的实现方式中,当第一设备接收到问题排查指令,且生成业务标识后,该第一设备将业务标识以及参数标识,添加在该问题排查指令中,得到第一数据获取请求。
例如,当第一设备生成业务标识uuid=28B35FC5548DDCDA15E后,将业务标识uuid=28B35FC5548DDCDA15E以及参数标识dataMark=true添加至问题排查指令http://aaa.bbb.com中,得到的第一数据获取请求为:
http://aaa.bbb.com?uuid=28B35FC5548DDCDA15E&dataMark=true。
403、第一设备向该目标设备发送该第一数据获取请求,该业务数据包括携带该业务标识的多个远程过程调用RPC请求的输入参数和返回结果。
该目标设备可以通过执行RPC请求,来完成该目标业务,该目标设备在执行该RPC请求过程中,还可以通过其他多个RPC请求来调用其他的目标设备,来完成该目标业务,那么,在完成该目标业务过程中就会出现多个RPC请求,每个RPC请求携带输入参数和返回结果,输入参数为任一目标设备在执行RPC请求时所输入的参数,返回结果为任一目标设备在执行RPC请求后所返回的结果。
需要说明的是,该业务数据中还可以包括多个远程过程调用RPC请求的方法名称,每个RPC请求的方法名称用于指示该RPC请求。
404、目标设备接收第一数据获取请求,该第一数据获取请求用于指示目标设备基于网页地址执行目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。
405、该目标设备基于该第一数据获取请求,执行该目标业务,得到该目标业务执行过程中的业务数据,该业务数据包括携带该目标业务的业务标识的多个RPC请求的输入参数和返回结果。
该目标设备可以通过代理程序来实现本步骤405,代理程序是独立于应用程序的程序,主要用于执行目标业务,收集目标业务的业务数据以及上传业务数据,而代理程序在通过PRC请求执行目标业务时,可以将第一数据获取请求中的业务标识添加至与该目标业务相关的PRC请求中,从而目标设备可以通过代理程序收集目标业务的业务数据。
在一种可能的实现方式中,本步骤405可以通过下述步骤405A-405B所示的过程来实现。
步骤405A、该目标设备基于该第一数据获取请求中的目标业务的网页地址以及业务标识,生成代理程序,该代理程序用于基于目标业务的网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。
该目标设备可以基于该第一数据获取请求中的目标业务的网页地址以及业务标识,来动态修改目标设备在执行目标业务时实现原始RPC请求的方法的字节码,进而生成代理程序。其中,实现原始RPC请求的方法为目标设备在执行目标业务之前,通过RPC框架发起RPC请求的方法。
在一种可能的实现方式中,参见图5,图5是本发明实施例提供的一种代理程序生成方法的流程图,该方法流程可以包括下述步骤501-504。
步骤501、目标设备基于该数据获取请求中的目标业务的网页地址,确定第一代码,该第一代码为实现原始RPC请求的方法代码。
目标设备在执行目标业务时,可以通过RPC请求调用其他目标设备,来完成RPC请求所指示的任务,当调用依赖服务的方法时,目标设备上的RPC请求都可以通过RPC框架发起,其中,服务的方法是指RPC框架所提供的服务中的调用方法,那么,目标设备可以根据该数据获取请求中的目标业务的网页地址,来确定目标设备之前执行该目标业务时的RPC请求,进而通过该RPC请求,可以在RPC框架中确定第一代码。
步骤502、该目标设备基于该第一代码以及该参数标识,生成第一目标字节码,该第一目标字节码用于基于目标业务的网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。
为了实现问题排查,目标设备需要根据代理程序执行一次目标业务,进而可以收集到该目标业务的业务数据,并将业务数据上传至数据中心,为了使得代理程序可以收集以及上传业务数据,则可以通过修改第一代码的字节码来实现。
在一种可能的实现方式中,本步骤502A可以通过下述步骤21-24所示的过程实现。
步骤21、该目标设备基于该第一代码,生成第一字节码。
该目标设备可以利用Java字节码操控框架-字节码(assembly-bytecode,ASM-Bytecode)插件,将该第一代码生成第一字节码,其中,第一字节码为基于ASM生成的字节码,也即是,ASM字节码,ASM-Bytecode插件为Eclipse(开放源代码且基于Java的可扩展开发平台)插件。具体地,该目标设备上安装有ASM-Bytecode插件,用户可以在Eclipse中打开第一代码,并点击Bytecode视图右上角的“ASM”按钮,以触发ASM生成第一字节码。
Java字节码操控框架(ASM)是指ObjectWeb ASM,即轻量级的Java字节码处理框架,可以动态生成二进制格式的存根(stub)类或其他代理类,也可以在类被JAVA虚拟机装入内存之前,动态修改类。
步骤22、当检测到该第一数据获取请求携带有参数标识时,该目标设备根据该第一代码中的调用方式,在该第一代码中增加目标代码,得到第二代码,该目标代码用于基于目标业务的网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。
第一代码中的调用方式可以包括同步调用和异步调用中的任一种调用方式,第一代码中的调用方式不同,该目标设备在第一代码中添加目标代码的过程不同。该目标代码可以是技术人员预先编写的代码,以便目标设备在生成代理程序时,可以直接在第一代码中增加该目标代码。
在一种可能的实现方式中,本步骤22可以通过步骤2201-2204所示的过程来实现。
步骤2201、当该第一代码内的调用方式为同步调用时,该目标设备在该第一代码中增加目标代码,得到第二代码。
当第一代码内的调用方式为同步调用时,若RPC请求发出后,目标设备需要等待返回结果,当目标设备获取到返回结果后,目标设备才能发出一下RPC请求,虽然目标设备基于第一代码可以实现直接获取RPC请求的返回结果,但是,确无法获取RPC请求的输入参数以及方法名称,也就无法将RPC请求的请求参数、返回结果以及方法名称上报至数据中心。所以,当第一代码内的调用方式为同步调用时,可以在第一代码内直接继续增加目标代码,以实现基于目标业务的网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心,具体地,在执行目标业务过程中,该目标设备可以获取各个RPC请求的输入参数、返回结果以及方法名称,并上传至数据中心。
目标设备可以按照预设规则,在第一代码中直接增加目标代码,进而得到第二代码,该预设规则用于在第一代码中增加目标代码,本发明实施例对该预设规则不做具体限定。
步骤2202、当该第一代码内的调用方式为异步调用时,该目标设备定义一个回调类以实现异步方法回调接口,得到第一回调类,重写请求完成时执行的回调函数以及处理错误的函数,以实现基于目标业务的网页地址执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心。
当第一代码内的调用方式为异步调用时,若RPC请求发出后,目标设备不需要等待返回结果,即可进行下一个RPC请求,所以在异步调用的情况下,目标设备在发出RPC请求后,不会立即获取该RPC请求返回结果,为了实现代理程序的功能,该目标设备可以重新定义异步方法回调(AsynchronousMethod Callback)接口,也即是本步骤2202所示的过程。
由于第一回调类用于实现异步调用时,执行该目标业务,并将该目标业务执行过程中的业务数据发送至数据中心的功能,因此,在重新定义异步方法回调接口时,还需要重写异步方法回调接口内的RPC请求完成时执行的方法(onComplete方法)和出现错误时使用的方法(onError方法),以实现上述功能。其中,onComplete方法用于处理RPC请求的返回结果,onError方法用于处理调用服务过程中出现的异常。
步骤2203、该目标设备在该第一代码中增加目标代码,得到第二代码。
步骤2204、该目标设备将原来的回调类替换为该第一回调类。
原来的回调类为第一代码中的回调类。该目标设备可以删除第一代码中原来的回调类,并在第一代码中增加该第一回调类,以实现本步骤2204。
需要说明的是,步骤2201为同步调用时,该目标设备在第一代码中增加目标代码的过程。步骤2202-2204为异步调用时,该目标设备在第一代码中增加目标代码的过程。
步骤23、该目标设备基于该第二代码,生成第二字节码。
该目标设备可以利用ASM-Bytecode插件,将该第一代码生成第一字节码,其中,第二字节码为ASM字节码。
步骤24、该目标设备在该第一字节码中添加第二目标字节码,得到第一目标字节码,该第二目标字节码为该第二字节码中与该第一字节码不同的字节码。
由于第二目标字节码为该第二字节码中与该第一字节码不同的字节码,可以理解的是,第二目标字节码可以实现执行目标业务,并将目标业务的业务数据发送至数据中心,进而第一目标字节码所实现的功能中包括第二目标字节码的功能。
步骤503、该目标设备基于第一目标类,实现动态插桩,该第一目标类用于实现修改字节码。
该第一目标类为访问(ClassVisitor)类的子类,第一目标类用于向已编译的类中第一字节码添加第二目标字节码,得到第一目标字节码,以实现对第一字节码的修改。其中,ClassVisitor类是ASM框架中较为重要的类,用于访问Java类的所有元素,是一个抽象类,其子类实现其方法后可以完成对已编译类的读写。ClassVisitor为Java字节码引擎库(ASM3.0)中的一个接口,ClassVisitor类也即是一种接口类。
动态插桩为动态Instrumentation,在一种可能的实现方式中,本步骤503可以通过下述步骤31-33所示的过程来实现。
步骤31、该目标设备定义第二目标类,该第二目标类用于实现代理主函数。
代理主函数为agentmain函数,技术人员可以提前编写好第二目标类的代码,该目标设备对该第二目标类的代码进行编译,生成该第二目标类的文件,第二目标类的文件内的程序用于实现agentmain函数。
步骤32、该目标设备基于该第一目标字节码,实现类文件转换(Class FileTransformer)接口,重写转换(transform)函数。
该目标设备可以通过ASM中的写类(ClassReader)以及读类(ClassWriter),来实现本步骤32。在一种可能的实现方式中,本步骤32可以通过步骤3201-3205所示的过程来实现。
步骤3201、该目标设备通过ClassReader类,读取包含第一代码的类的class文件。
由于动态Instrumentation是为了实现字节码的修改,因此,在实现动态Instrumentation时,目标设备需要先读取到包含第一代码的类的class文件,才能在class文件中对第一字节码进行修改。
步骤3202、第一目标类通过继承ClassVisitor类,重写ClassVisitor类的访问方法(visitMethod),以将第二目标字节码添加到第一字节码中,从而实现对第一字节码的修改。
步骤3203、该目标设备设置ClassWriter,以使ClassWriter具有第一目标类的功能。
也即是,设置后的ClassWriter可以向已编译的类中的第一字节码添加第二目标字节码,得到第一目标字节码,以实现对第一字节码的修改。
步骤3204、ClassReader通过调用ClassReader的accept(接收)方法,接收第一目标类的实例作为参数,使得ClassReader在遍历类(class)结构中的不同节点时,会调用第一目标类的重写的visitMethod方法。
步骤3205、该目标设备返回ClassWriter的字节流,实现修改后的第一字节码的输出工作。
该字节流也即是最终目标设备所得到的第一目标字节码,也即是,修改后的第一字节码。
步骤33、该目标设备将应用程序Java包(manifest)文件中的代理类(Agent-Class)设置为指定包含该第二目标类。
具体地,目标设备打开manifest文件,并在manifest中添加代码:“Agent-Class:第二目标类的名称”,以实现将manifest文件中的Agent-Class设置为指定包含该第二目标类。
步骤504、该目标设备基于该第一目标字节码以及该插桩,生成代理程序。
该目标设备可以将步骤503中的所有相关程序打包成jar包,该jar包中的内容即为代理程序。该相关程序包括第一目标字节码以及实现动态插桩的程序。
步骤405B、该目标设备基于该代理程序,获取该目标业务执行过程中的业务数据。
该目标设备在生成代理程序后,运行该代理程序,该代理程序在运行过程中重新执行目标业务,从而该目标设备可以获取到目标业务执行过程中的业务数据。
406、该目标设备将该业务数据以及该业务标识发送至数据中心。
该目标设备可以基于代理程序,将该业务数据以及该业务标识发送至数据中心。在一种可能的实现方式中,该目标设备在运行代理程序中,可以得到携带该目标业务的业务数据,从而可以实现业务数据的收集,该目标设备在继续运行该代理程序时,可以将目标业务的业务数据以及业务标识发送至数据中心。
目标设备只有在接收到第一数据请求时,才会生成代理程序,并基于代理程序收集目标业务的业务数据以及将业务数据上传至数据中心,进而使得目标设备在执行目标业务时,无需一直收集业务数据,也无需一直向数据中心发送业务数据,从而降低了目标设备和数据中心的业务压力。
需要说明的是,该目标设备也可以将业务数据、该业务标识以及第一设备的设备标识,发送给数据中心,以便数据中心可以根据设备标识,直接向该设备标识所指示的第一设备发送该业务数据。其中,设备标识用于指示第一设备,可以是第一设备的地址。本发明实施例对该设备标识不做具体限定。
407、当该数据中心接收到该业务数据和业务标识时,该数据中心将该业务数据与该业务标识进行关联存储。
该数据中心可以将该业务标识作为该业务数据的索引,将业务数据与该业务标识进行关联存储。
408、第一设备通过该数据中心,获取该业务数据。
该第一设备可以直接获取该业务数据,也可以通过请求来获取业务数据,参见下述方式1-2。
方式1、第一设备接收该数据中心发送的该业务数据。
当目标设备将第一设备的设备标识、业务数据、业务标识一起发送至数据中心时,数据中心在接收到该设备标识后,向该设备标识所指示的第一设备发送该业务数据,那么,该第一设备可以接收到该业务数据。
方式2、第一设备通过向数据中心请求业务数据,获取业务数据。
该第一设备可以通过下述步骤408A-408C所示的过程,来实现方式2。
步骤408A、第一设备向该数据中心发送第二数据获取请求,该第二数据获取请求携带该业务标识。
其中,该第二数据获取请求用于请求获取与该业务标识对应的业务数据。
步骤408B、该数据中心基于该第二数据获取请求中的业务标识,向该第一设备发送与该业务标识对应的业务数据。
该数据中心可以以该业务标识为索引,查询该数据中心内存储的与该业务标识对应的业务数据,当查询到该业务数据后,该数据中心向该第一设备发送该业务数据。
步骤408C、该第一设备接收该业务数据。
409、对于每一个RPC请求,该第一设备将该RPC请求的输入参数和返回结果显示在一行上。
由于返回的业务数据为多个RPC请求的数据输入参数和返回结果,当然,该业务数据中还可以包括了每个RPC请求的方法名称,该第一设备可以通过本步骤409,实现对每一条RPC请求中的数据进行分条显示,从而可以使得,技术人员根据每条显示的内容进行问题排查,从而可以提高排查效率。
例如,目标业务的网址上的促销信息应该是“新客立减15元”单,但在客户端上显示的促销信息为“新客立减12元”,所以,促销信息有误,可以通过步骤401-409所示的过程,第一设备可以在获取到该目标业务的业务数据后,在第一设备可以将业务数据做如下分条显示:
{NewOrOldUser.getUser TypeById:{{request:{id:1234}},{response:{type:‘newUser’}}};
{Promotion.GetPromotionById:{{request:{id:2345}},{response:[{PromotionPrice:45,user Type:‘oldUser’},{PromotionPrice:48,userType:‘newUser’}]}};
{Price.GetPriceById:{{request:{id:2345}},{response:{price:60}}}。
技术人员根据上面的显示结果,可以看出:商品原价是60元,用户若是新用户,新用户的促销价是48元、老用户的促销价是45元。根据这些业务数据进行逻辑拼接,即新用户可立减60-48=12元,而实际应该展示“新客立减15元”,从而判断出是促销服务数据有问题,颠倒了新用户和老用户的促销价格。
这样的显示比较方便技术人员阅读,从而可以提高技术人员的排查效率。需要说明的是,由于返回结果为目标业务执行过程中实际的返回数据,当人员根据第一设备显示的业务数据进行问题排查时,技术人员根据业务数据之间的逻辑关系,确定错误的返回结果,进而可以确定有问题的RPC请求,进而可以精确定位有问题的调用。
本发明实施例提供的方法,通过目标设备执行目标业务,并获取执行该目标业务的业务数据,将业务数据发放至数据中心,从而可以使得第一设备可以在数据中心中获取目标业务的目标数据,由于获取的业务数据为目标设备执行目标业务过程中的业务数据,从而可以使得第一设备获取的业务数据较为全面。并且,由于目标设备只有在接收到第一数据请求时,才会生成代理程序,并基于代理程序收集目标业务的业务数据以及将业务数据上传至数据中心,进而使得目标设备在执行目标业务时,无需一直收集业务数据,也无需一直向数据中心发送业务数据,从而降低了目标设备和数据中心的业务压力。并且,该第一设备可以实现对每一条RPC请求的数据进行分条显示,从而可以使得,技术人员根据每条显示的内容进行问题排查,从而可以提高排查效率。并且,由于返回结果为目标业务执行过程中实际的返回数据,当人员根据第一设备显示的业务数据进行问题排查时,技术人员根据业务数据之间的逻辑关系,确定错误的返回结果,进而可以确定有问题的RPC请求,进而可以精确定位有问题的调用。并且第一设备在显示之前技术人员只需向第一设备发送问题排查指令后即可,节省了技术人员定位问题的时间。
图6是本发明实施例提供的一种数据获取装置结构示意图,该装置包括:
第一获取模块601,用于根据针对目标业务的问题排查指令,获取所述目标业务的网页地址和业务标识;
生成模块602,用于根据所述业务标识和网页地址,生成第一数据获取请求,所述第一数据获取请求用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
发送模块603,用于向所述目标设备发送所述第一数据获取请求,所述业务数据包括携带所述业务标识的多个远程过程调用RPC请求的输入参数和返回结果;
第二获取模块604,用于通过所述数据中心,获取所述业务数据。
可选地,所述第一获取模块601,用于:
从所述针对目标业务的问题排查指令中,提取所述目标业务的网页地址;
基于所述网页地址,生成业务标识。
可选地,所述第一数据获取请求包括所述业务标识、所述网页地址以及参数标识,所述参数标识用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心。
可选地,所述第二获取模块604,用于接收所述数据中心发送的所述业务数据。
可选地,所述第二获取模块604,还用于向所述数据中心发送第二数据获取请求,所述第二数据获取请求携带所述业务标识。
可选地,该装置还包括显示模块,用于对于每一个RPC请求,将所述RPC请求的输入参数和返回结果显示在一行上。
图7是本发明实施例提供的一种数据获取装置结构示意图,该装置包括:
接收模块701,用于接收第一数据获取请求,所述第一数据获取请求用于指示目标设备基于网页地址执行目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
执行模块702,用于基于所述第一数据获取请求,执行所述目标业务,得到所述目标业务执行过程中的业务数据,所述业务数据包括携带所述目标业务的业务标识的多个RPC请求的输入参数和返回结果;
发送模块703,用于将所述业务数据以及所述业务标识发送至数据中心。
可选地,所述执行模块702,包括:
生成单元,用于基于所述第一数据获取请求中的目标业务的网页地址以及业务标识,生成代理程序,所述代理程序用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
获取单元,用于基于所述代理程序,获取所述目标业务执行过程中的业务数据;
相应地,所述发送模块703,用于基于所述代理程序,将所述业务数据以及所述业务标识发送至数据中心。
可选地,所述生成单元,包括:
确定子单元,用于基于所述数据获取请求中的目标业务的网页地址,确定第一代码,所述第一代码为实现原始RPC请求的方法代码;
第一生成子单元,用于基于所述第一代码以及所述参数标识,生成第一目标字节码,所述第一目标字节码用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
实现子单元,用于基于第一目标类,实现动态插桩,所述第一目标类用于实现修改字节码;
第二生成子单元,用于基于所述第一目标字节码以及所述插桩,生成代理程序。
可选地,所述第一生成子单元,用于:
基于所述第一代码,生成第一字节码;
当检测到所述第一数据获取请求携带有参数标识时,根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,所述目标代码用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
基于所述第二代码,生成第二字节码;
在所述第一字节码中添加第二目标字节码,得到第一目标字节码,所述第二目标字节码为所述第二字节码中与所述第一字节码不同的字节码。
可选地,所述根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,包括:
当所述第一代码内的调用方式为异步调用时,定义一个回调类以实现异步方法回调接口,得到第一回调类,重写请求完成时执行的回调函数以及处理错误的函数,以实现基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
在所述第一代码中增加目标代码,得到第二代码;
将原来的回调类替换为所述第一回调类。
可选地,所述根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,包括:
当所述第一代码内的调用方式为同步调用时,在所述第一代码中增加目标代码,得到第二代码。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的数据获取装置在获取数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据获取装置与数据获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种数据获取方法,其特征在于,应用于第一设备,所述方法包括:
根据针对目标业务的问题排查指令,获取所述目标业务的网页地址和业务标识,所述问题排查指令用于指示获取所述目标业务执行过程中的业务数据,所述目标业务为出售所述网页地址所指示的网页内展示的商品;
根据所述业务标识和网页地址,生成第一数据获取请求,所述第一数据获取请求用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
向所述目标设备发送所述第一数据获取请求,由所述目标设备基于所述第一数据获取请求中的所述目标业务的网页地址以及业务标识,生成代理程序,运行所述代理程序,所述代理程序是独立于应用程序的程序,所述代理程序在运行过程中重新执行所述目标业务,所述代理程序在重新执行所述目标业务时,将所述业务标识添加至与所述目标业务相关的多个远程过程调用RPC请求中,通过所述多个RPC请求调用其他的目标设备来完成所述目标业务,并将所述代理程序重新执行所述目标业务时所得到的所述业务数据发送至所述数据中心,所述业务数据包括携带所述业务标识的所述多个RPC请求的输入参数和返回结果;
通过所述数据中心,获取所述业务数据。
2.根据权利要求1所述的方法,其特征在于,所述根据针对目标业务的问题排查指令,获取所述目标业务的网页地址和业务标识,包括:
从所述针对目标业务的问题排查指令中,提取所述目标业务的网页地址;
基于所述网页地址,生成业务标识。
3.根据权利要求1所述的方法,其特征在于,所述第一数据获取请求包括所述业务标识、所述网页地址以及参数标识,所述参数标识用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述数据中心发送第二数据获取请求,所述第二数据获取请求携带所述业务标识。
5.一种数据获取方法,其特征在于,应用于目标设备,所述方法包括:
接收第一数据获取请求,所述第一数据获取请求用于指示所述目标设备基于网页地址执行目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心,所述第一数据获取请求由第一设备根据针对所述目标业务的问题排查指令获取的所述目标业务的网页地址和业务标识所生成,所述问题排查指令用于指示获取所述目标业务执行过程中的业务数据,所述目标业务为出售所述网页地址所指示的网页内展示的商品;
基于所述第一数据获取请求中的所述目标业务的网页地址以及业务标识,生成代理程序,所述代理程序是独立于应用程序的程序,所述代理程序用于基于所述目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
运行所述代理程序,所述代理程序在运行过程中重新执行所述目标业务,所述代理程序在重新执行所述目标业务时,将所述业务标识添加至与所述目标业务相关的多个RPC请求中,通过所述多个RPC请求调用其他的目标设备来完成所述目标业务,得到所述目标业务执行过程中的业务数据,所述业务数据包括携带所述业务标识的所述多个RPC请求的输入参数和返回结果;
将所述业务数据以及所述业务标识发送至数据中心。
6.根据权利要求5所述的方法,其特征在于,所述将所述业务数据以及所述业务标识发送至数据中心,包括:
基于所述代理程序,将所述业务数据以及所述业务标识发送至数据中心。
7.根据权利要求6所述的方法,其特征在于,所述第一数据获取请求包括参数标识,所述参数标识用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
所述基于所述第一数据获取请求中的所述目标业务的网页地址以及业务标识,生成代理程序,包括:
基于所述数据获取请求中的目标业务的网页地址,确定第一代码,所述第一代码为实现原始RPC请求的方法代码;
基于所述第一代码以及所述参数标识,生成第一目标字节码,所述第一目标字节码用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
基于第一目标类,实现动态插桩,所述第一目标类用于实现修改字节码;
基于所述第一目标字节码以及所述插桩,生成代理程序。
8.根据权利要求7所述的方法,其特征在于,所述基于所述第一代码以及所述参数标识,生成第一目标字节码,包括:
基于所述第一代码,生成第一字节码;
当检测到所述第一数据获取请求携带有参数标识时,根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,所述目标代码用于基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
基于所述第二代码,生成第二字节码;
在所述第一字节码中添加第二目标字节码,得到第一目标字节码,所述第二目标字节码为所述第二字节码中与所述第一字节码不同的字节码。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,包括:
当所述第一代码内的调用方式为异步调用时,定义一个回调类以实现异步方法回调接口,得到第一回调类,重写请求完成时执行的回调函数以及处理错误的函数,以实现基于目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
在所述第一代码中增加目标代码,得到第二代码;
将原来的回调类替换为所述第一回调类。
10.根据权利要求8所述的方法,其特征在于,所述根据所述第一代码中的调用方式,在所述第一代码中增加目标代码,得到第二代码,包括:
当所述第一代码内的调用方式为同步调用时,在所述第一代码中增加目标代码,得到第二代码。
11.一种数据获取装置,其特征在于,所述装置包括:
第一获取模块,用于根据针对目标业务的问题排查指令,获取所述目标业务的网页地址和业务标识,所述问题排查指令用于指示获取所述目标业务执行过程中的业务数据,所述目标业务为出售所述网页地址所指示的网页内展示的商品;
生成模块,用于根据所述业务标识和网页地址,生成第一数据获取请求,所述第一数据获取请求用于指示目标设备基于所述网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
发送模块,用于向所述目标设备发送所述第一数据获取请求,由所述目标设备基于所述第一数据获取请求中的所述目标业务的网页地址以及业务标识,生成代理程序,运行所述代理程序,所述代理程序是独立于应用程序的程序,所述代理程序在运行过程中重新执行所述目标业务,所述代理程序在重新执行所述目标业务时,将所述业务标识添加至与所述目标业务相关的多个远程过程调用RPC请求中,通过所述多个RPC请求调用其他的目标设备来完成所述目标业务,并将所述代理程序重新执行所述目标业务时所得到的所述业务数据发送至所述数据中心,所述业务数据包括携带所述业务标识的多个远程过程调用RPC请求的输入参数和返回结果;
第二获取模块,用于通过所述数据中心,获取所述业务数据。
12.一种数据获取装置,其特征在于,所述装置包括:
接收模块,用于接收第一数据获取请求,所述第一数据获取请求用于指示目标设备基于网页地址执行目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心,所述第一数据获取请求由第一设备根据针对所述目标业务的问题排查指令获取的所述目标业务的网页地址和业务标识所生成,所述问题排查指令用于指示获取所述目标业务执行过程中的业务数据,所述目标业务为出售所述网页地址所指示的网页内展示的商品;
执行模块,用于基于所述第一数据获取请求中的所述目标业务的网页地址以及业务标识,生成代理程序,所述代理程序是独立于应用程序的程序,所述代理程序用于基于所述目标业务的网页地址执行所述目标业务,并将所述目标业务执行过程中的业务数据发送至数据中心;
运行所述代理程序,所述代理程序在运行过程中重新执行所述目标业务,所述代理程序在重新执行所述目标业务时,将所述业务标识添加至与所述目标业务相关的多个RPC请求中,通过所述多个RPC请求调用其他的目标设备来完成所述目标业务,得到所述目标业务执行过程中的业务数据,所述业务数据包括携带所述业务标识的所述多个RPC请求的输入参数和返回结果;
发送模块,用于将所述业务数据以及所述业务标识发送至数据中心。
13.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述指令由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求10任一项所述的数据获取方法所执行的操作。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求10任一项所述的数据获取方法所执行的操作。
CN201910381001.8A 2019-05-08 2019-05-08 数据获取方法、装置、计算机设备及可读存储介质 Active CN110119322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910381001.8A CN110119322B (zh) 2019-05-08 2019-05-08 数据获取方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910381001.8A CN110119322B (zh) 2019-05-08 2019-05-08 数据获取方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110119322A CN110119322A (zh) 2019-08-13
CN110119322B true CN110119322B (zh) 2022-05-10

Family

ID=67521913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910381001.8A Active CN110119322B (zh) 2019-05-08 2019-05-08 数据获取方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110119322B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933075B (zh) * 2019-11-28 2022-01-11 腾讯音乐娱乐科技(深圳)有限公司 服务调用方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462943A (zh) * 2014-11-21 2015-03-25 用友软件股份有限公司 业务***中非侵入式性能监控装置和方法
US9465684B1 (en) * 2013-03-15 2016-10-11 Emc Corporation Managing logs of storage systems
CN108228461A (zh) * 2018-01-08 2018-06-29 平安科技(深圳)有限公司 一种日志生成方法、装置、计算机设备及存储介质
CN108228147A (zh) * 2016-12-15 2018-06-29 ***通信集团公司 一种性能数据日志获取方法及装置
CN109471845A (zh) * 2018-10-25 2019-03-15 深圳壹账通智能科技有限公司 日志管理方法、服务器及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100361456C (zh) * 2005-10-13 2008-01-09 华为技术有限公司 终端设备的管理方法及其终端设备
WO2008103324A1 (en) * 2007-02-19 2008-08-28 Wms Gaming Inc. Network diagnostics in a wagering game system
CN101888318B (zh) * 2010-06-30 2015-09-16 中兴通讯股份有限公司 一种通信***性能指标测试的***和方法
US10216621B1 (en) * 2017-11-16 2019-02-26 Servicenow, Inc. Automated diagnostic testing of databases and configurations for performance analytics visualization software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465684B1 (en) * 2013-03-15 2016-10-11 Emc Corporation Managing logs of storage systems
CN104462943A (zh) * 2014-11-21 2015-03-25 用友软件股份有限公司 业务***中非侵入式性能监控装置和方法
CN108228147A (zh) * 2016-12-15 2018-06-29 ***通信集团公司 一种性能数据日志获取方法及装置
CN108228461A (zh) * 2018-01-08 2018-06-29 平安科技(深圳)有限公司 一种日志生成方法、装置、计算机设备及存储介质
CN109471845A (zh) * 2018-10-25 2019-03-15 深圳壹账通智能科技有限公司 日志管理方法、服务器及计算机可读存储介质

Also Published As

Publication number Publication date
CN110119322A (zh) 2019-08-13

Similar Documents

Publication Publication Date Title
JP6755954B2 (ja) インターフェースデータの提示方法及び装置
WO2021088724A1 (zh) 一种测试方法及装置
US7509536B1 (en) Method and system for error handling
US11741002B2 (en) Test automation systems and methods using logical identifiers
CN113868126A (zh) 应用调试方法、装置、设备的存储介质
CN110263070A (zh) 事件上报方法及装置
CN109814863A (zh) 一种请求返回数据的处理方法、装置、计算机设备及计算机存储介质
CN107515866B (zh) 一种数据操作方法、装置和***
CN115576974B (zh) 数据处理方法、装置、设备和介质
CN113703785A (zh) 基于组件的平台部署方法、装置、设备及存储介质
CN114201615B (zh) 基于数据快照的科研数据变动回顾方法及服务器
CN112187933A (zh) 一种多架构云平台中服务的监控方法和***
CN110119322B (zh) 数据获取方法、装置、计算机设备及可读存储介质
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN111078529B (zh) 客户端写入模块测试方法、装置、电子设备
CN112187509A (zh) 多架构云平台执行日志管理方法、***、终端及存储介质
JP4681673B1 (ja) 動作検証装置、動作検証方法および動作検証プログラム
CN111488144A (zh) 一种数据处理方法以及设备
CN116069649A (zh) 页面测试方法、装置、设备及介质
CN107908629B (zh) 一种信息查询方法、终端以及设备
CN115599361A (zh) 一种软件的开发方法、装置、设备及介质
CN108153655A (zh) 虚拟现实软件的绘制调用数量的检测方法及存储介质
CN113704664A (zh) 生成用于访问页面的路由地址的方法和装置
CN107506299B (zh) 一种代码分析方法及终端设备
CN111638903B (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