CN111352760B - 一种数据处理的方法以及相关装置 - Google Patents

一种数据处理的方法以及相关装置 Download PDF

Info

Publication number
CN111352760B
CN111352760B CN202010123985.2A CN202010123985A CN111352760B CN 111352760 B CN111352760 B CN 111352760B CN 202010123985 A CN202010123985 A CN 202010123985A CN 111352760 B CN111352760 B CN 111352760B
Authority
CN
China
Prior art keywords
client
data
tracking
tracking log
information
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
CN202010123985.2A
Other languages
English (en)
Other versions
CN111352760A (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.)
Shenzhen Tencent Domain Computer Network Co Ltd
Original Assignee
Shenzhen Tencent Domain Computer Network 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 Shenzhen Tencent Domain Computer Network Co Ltd filed Critical Shenzhen Tencent Domain Computer Network Co Ltd
Priority to CN202010123985.2A priority Critical patent/CN111352760B/zh
Publication of CN111352760A publication Critical patent/CN111352760A/zh
Application granted granted Critical
Publication of CN111352760B publication Critical patent/CN111352760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种数据处理的方法以及相关装置,用于避免了以手工的方式判断待校验数据的数据一致性,省时省力,实现了实时比对且覆盖了所有的对局数据。本申请实施例提供的一种数据处理的方法包括:获取目标应用中的待校验数据;在待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志;确定第一追踪日志对应的第一MD5值;接收服务器发送的至少一个第二MD5值,每个第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到;当第一MD5值与每个第二MD5值不相同时,向服务器发送所述第一追踪日志,以使得服务器基于第一追踪日志与每个第二追踪日志确定不一致信息。

Description

一种数据处理的方法以及相关装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种数据处理的方法以及相关装置。
背景技术
数据一致性则是要求在同一个应用中的用户数据的计算结果一致,例如:在某个游戏应用中,要求该游戏应用中的所有参与对局的玩家数据的计算结果一致,倘若出现数据不一致时则很大程度上是由于该游戏的漏洞或者数据被恶意篡改所引起。
传统的判断数据的计算结果是否具备数据一致性的方式,需要开发人员在开发阶段手工查找出某个应用中的数据的所有修改点,然后在数据的修改点处打印追踪信息到日志,使得应用运行时的数据的修改过程可以被记录在日志中。然而,基于同一个应用中的所有参与该应用的玩家在对局结束之后,需要手工收集所有玩家的日志,并且进一步地依赖手工进行日志的比对,费时费力,并且无法做到实时比较,难以覆盖所有的对局数据。
发明内容
本申请实施例提供了一种数据处理的方法以及相关装置,用于避免了以手工的方式判断待校验数据的数据一致性,省时省力,实现了实时比对且覆盖了所有的对局数据。
第一方面,本申请实施例提供了一种数据处理的方法,包括:
第一客户端获取目标应用中的待校验数据;
所述第一客户端在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志;
所述第一客户端确定所述第一追踪日志对应的第一MD5值;
所述第一客户端接收服务器发送的至少一个第二MD5值,每个所述第二MD5值由对应的第二客户端在所述目标应用中基于第二追踪日志得到;
当所述第一MD5值与每个所述第二MD5值不相同时,所述第一客户端向所述服务器发送所述第一追踪日志,以使得所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
第二方面,本申请实施例提供了一种数据处理的方法,包括:
服务器接收至少一个第二客户端分别发送的第二MD5值,每个所述第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到;
所述服务器向第一客户端发送所述至少一个第二MD5值,以使得所述第一客户端在第一MD5值与每个所述第二MD5值不相同时发送第一追踪日志,所述第一MD5值由所述第一客户端在所述目标应用中基于所述第一追踪日志得到;
所述服务器接收所述第一客户端发送的第一追踪日志;
所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
第三方面,本申请实施例提供了一种第一客户端,包括:
获取模块,用于获取目标应用中的待校验数据;
插入模块,用于在所述获取模块得到的所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志;
确定模块,用于确定所述插入模块得到的所述第一追踪日志对应的第一MD5值;
接收模块,用于接收服务器发送的至少一个第二MD5值,每个所述第二MD5值由对应的第二客户端在所述目标应用中基于第二追踪日志得到;
发送模块,用于在所述第一MD5值与每个所述第二MD5值不相同时,向所述服务器发送所述第一追踪日志,以使得所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
可选的,结合上述第三方面,在第一种可能的实现方式中,所述确定模块,包括:
连接单元,用于将预设帧数中的每一帧所对应的第一追踪日志进行首尾连接,以计算所述第一追踪日志对应的第一MD5值。
可选的,结合上述第三方面、第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述第一客户端还包括:
所述确定模块,用于确定所述待校验数据中的至少一个标记信息;
查找模块,用于在预设查找规则下基于所述至少一个标记信息查找所述待校验数据对应的至少一个修改点。
可选的,结合上述第三方面第二种可能的实现方式,在第三种可能的实现方式中,
所述查找模块,还用于在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志之后,查找第一函数,所述第一函数为调用所述至少一个标记信息所对应的待校验数据时的函数;
所述插入模块,用于在所述第一函数的函数头部和函数尾部插入所述追踪信息。
第四方面,本申请实施例提供了一种服务器,包括:
接收单元,用于接收至少一个第二客户端分别发送的第二MD5值,每个所述第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到;
发送单元,用于向第一客户端发送所述至少一个第二MD5值,以使得所述第一客户端在第一MD5值与每个所述第二MD5值均不相同时发送第一追踪日志,所述第一MD5值由所述第一客户端在所述目标应用中基于所述第一追踪日志得到;
所述接收单元,用于接收所述第一客户端发送的所述第一追踪日志;
统计单元,用于基于第一追踪日志与每个所述第二追踪日志确定不一致信息。
第五方面,本申请实施例提供一种第一客户端,包括:处理器和存储器;该存储器用于存储程序指令,当该第一客户端运行时,该处理器执行该存储器存储的该程序指令,以使该第一客户端执行如上述第一方面或第一方面任意一种可能实现方式的数据处理的方法。
第六方面,本申请实施例提供一种服务器,包括:处理器和存储器;该存储器用于存储程序指令,当该服务器运行时,该处理器执行该存储器存储的该程序指令,以使该服务器执行如上述第二方面或第二方面任意一种可能实现方式的数据处理的方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面、第一方面任意一种、第二方面或第二方面任意一种可能实现方式的方法。
第八方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面、第一方面任意一种、第二方面或第二方面任意一种可能实现方式的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,第一客户端在待校验数据对应的至少一个修改点出插入追踪信息后得到第一追踪日志,并且计算出第一追踪日志对应的第一MD5值,然后在确定第一MD5值与至少一个第二客户端在目标应用中基于第二追踪日志得到的至少一个MD5值不相同时,向服务器发送第一追踪日志,使得服务器基于第一追踪日志与每个第二追踪日志来确定不一致信息,避免了以手工的方式判断待校验数据的数据一致性,省时省力,不仅实现了实时比对,而且能够基于不一致情况对漏洞进行定位,覆盖了任意的对局数据。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1a是本申请实施例中数据处理的系统的一个架构示意图;
图1b是本申请实施例中区块链的一个结构示意图;
图1c是本申请实施例提供的区块链中新区块产生的示意图;
图2是本实施例提供的数据处理的方法的一个实施例示意图;
图3是本申请实施例中提供的上报MD5值的流程图;
图4a是本实施例中提供的以不一致发生位置为例的示意图;
图4b是本实施例中提供的以不一致调用堆栈为例的示意图;
图5是本申请实施例中提供的校验追踪日志的流程图;
图6是本申请实施例中提供的不一致信息的显示示意图;
图7是本申请实施例中提供的第一客户端一个实施例示意图;
图8是本申请实施例中提供的服务器一个实施例示意图;
图9是本申请实施例中的通信装置的硬件结构一个示意图。
具体实施方式
本申请实施例提供了一种数据处理的方法以及相关装置,用于避免了以手工的方式判断待校验数据的数据一致性,省时省力,实现了实时比对且覆盖了所有的对局数据。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
一般来说,数据的一致性则是要求在同一个应用中的用户数据的计算结果一致,倘若出现数据不一致时则很大程度上是由于该游戏的漏洞或者数据被恶意篡改所引起。然而,现有的判断数据的计算结果是否具备数据一致性的方式通常均由手工查找某个应用中的数据的所有修改点,并且在该同一个应用中的所有参与该应用的玩家在对局结束之后,需要手工收集所有玩家的日志,并且进一步地依赖手工进行日志的比对。很明显,手工查找、收集并比对的传统方式不仅费时费力,而且也无法做到实时比对,难以覆盖所有的对局数据。
因此,为解决上述的问题,本申请实施例中提供了一种数据处理的方法,该方法可以应用在需要执行相同的计算逻辑且需要确保计算结果一致的应用场景中。具体地,该方法可以应用于图1a所示的数据处理的系统,请参阅图1a,为本申请实施例中数据处理的系统的一个架构示意图。如图1a所示,该架构示意图中包括第一客户端、服务器以及至少一个第二客户端。其中,服务器可以接收至少一个第二客户端发送的由第二客户端在目标应用中基于第二追踪日志得到的第二MD5值,并向该第一客户端发送至少一个第二MD5值。而第一客户端便可以在确定出第一追踪日志对应的第一MD5值后,将第一MD5值与每个第二MD5值进行比对,当第一MD5值与每个第二MD5值均不相同时,则上报第一追踪日志至服务器,使得服务器确定出第一追踪日志与每个第二追踪日志之间的不一致信息,避免了以手工的方式判断待校验数据的数据一致性,省时省力,实现了实时比对且覆盖了所有的对局数据。
应当理解的是,上述所提及的第一客户端、第二客户端可以是运行同一个目标应用的客户端,而且该第一客户端、第二客户端可以安装在平板型电脑、膝上型电脑(LaptopComputer)、笔记本电脑、个人数字助理(personal digital assistant,PDA)电脑、移动终端、智能终端、手持终端等终端设备上,其中,所描述的移动终端包括但不限于平板、智能手机等,在本申请实施例将不做限定说明。
可选的,第一客户端、第二客户端可以分别安装在前述的终端设备上,而前述描述的终端设备为区块链中的区块节点设备;另外,前述的服务器也为区块链中的区块节点设备。
其中,图1a中的数据处理的系统是用于进行节点与节点之间的数据共享系统,该数据共享系统中可以包括多个节点,多个节点可以是指数据共享系统中各个终端设备。每个节点在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意区块节点设备登录第一客户端、第二客户端后,便可以直接获取到各自相应的在目标应用中的待校验数据,使得任意区块节点设备基于追踪信息得到相应的追踪日志并计算出MD5值后,上报至位于区块链中的区块节点设备(服务器),使得任意区块节点设备可以基于其他区块节点设备的MD5值与自身的MD5值判断待校验数据在目标应用下是否存在数据一致性,将该各个MD5值作为共享数据中的数据进行存储,使得数据共享系统中全部区块节点设备上存储的数据均一致。同样的,也可以在每个MD5值均不相同的时候,使得服务器这个区块节点设备能够确定出不一致信息,将该不一致信息作为共享数据中的数据进行存储,使得数据共享系统中全部区块节点设备上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图1c,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
另外,应当理解的是,上述描述的目标应用可以是DNF手游、端游等游戏应用。在实际应用中,前述的目标应用还可以是使用帧同步技术的应用,具体在本申请实施例中将不做具体限定。
本实施例中的数据处理的方法除了可以适用于上述图1a所示的系统架构,还可以适用于其他系统架构,具体此处不作限定。
为便于更好地理解本申请实施例所提出的方案,下面对本实施例中的具体流程进行介绍,请参阅图2,是本实施例提供的数据处理的方法的一个实施例示意图,该方法可以包括:
201、第一客户端获取目标应用中的待校验数据。
本实施例中,待校验数据是指第一客户端需要进行检验的数据,如:玩家在游戏对局中的血量、坐标等。通常,在开发阶段一般会使用不同的变量名称来代替不同的待校验数据,例如:表示血量的变量用hp;表示坐标的变量用position。在实际应用中,还可以是对其他的待校验数据进行变量赋值表示,本实施例中将不做限定。
202、第一客户端在待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志。
本实施例中,修改点,其实就是该待校验数据被执行了赋值操作的位置。需要说明的是,在一个待校验数据中,可以对应有一个或多个被执行了赋值操作的位置,因此待校验数据就会对应的存在着至少一个修改点。
追踪信息包括函数名、变量名称、变量值等,在实际应用中,还可以是其他具备定位功能等信息。在本实施例中,在每个修改点处插入追踪信息,使得第一客户端能够记录该待校验数据中的每个修改记录、以及函数调用的堆栈等,从而得到相应的第一追踪日志。这样,第一追踪日志则记录了该待校验数据中的每个修改记录、以及函数调用的堆栈等信息。
可选地,在一些实施例中,在步骤202得到第一追踪日志之前,还可以包括:第一客户端确定待校验数据中的至少一个标记信息;第一客户端在预设查找规则下基于至少一个标记信息查找待校验数据对应的至少一个修改点。
也就是理解成,在修改点中插入追踪信息之前,必须要了解该待校验数据中的每个修改点所存在的具体位置,即该待校验数据被执行了赋值操作的位置。具体地,开发人员在开发阶段会事先加入特定格式的代码注释来标记信息需要检验的待校验数据,例如,通过特定格式的代码注释“trace”将血量、坐标这两个变量分别进行标记为:
int hp;//[trace]
int position;//[trace]
此时,第一客户端就需要确定待校验数据中的至少一个标记信息,如:前述的[trace]。这样,第一客户端会根据该至少一个标记信息查找出对应的被标记的待检验数据,从而在预设查找规则下基于至少一个标记信息查找出这些被标记的待校验数据所对应的至少一个修改点。另外,可以通过编译工具找到前述标记有标记信息的变量,如:c#可以使用Roslyn来查找,c++可以使用clang进行查找,具体在本申请实施例中将不做限定。需要说明的是,前述的预设查找规则需要满足下列条件:
a)被标记的待校验数据被作为左值引用。
b)操作符为修改操作符,如:=,+=,-=,*=,/=,++,--等。
只有满足a条件且满足b条件时才能够确定被标记的待校验数据被修改了。所以,第一客户端可以在预设查找规则下基于至少一个标记信息查找出这些被标记的待校验数据所对应的至少一个修改点。例如,可以参照血量hp这个变量为例查找被修改点的示例进行理解,如下:
Figure BDA0002393852500000101
因此,第一客户端在查找出每个修改点后,就会在对于的修改点出插入前述的追踪信息,例如:可以参照血量hp这个变量为例在上述的被修改点1处插入追踪信息的示例进行理解,如下:
Figure BDA0002393852500000102
Figure BDA0002393852500000111
需要理解的是,上述所描述的标记信息[trace]仅仅是一个示例,在本申请实施例中将不做具体限定。另外,前述描述的修改操作符除了=,+=,-=,*=,/=,++,--等以外,在实际应用中还可以包括其他的能够修改功能的操作符,具体将不做限定。
可选地,在另一些实施例中,在步骤202得到第一追踪日志之后,本实施例还可以包括:第一客户端查找第一函数;第一客户端在第一函数的函数头部和函数尾部插入追踪信息。
第一函数可以理解成是那些调用了至少一个标记信息所对应被标记的待校验数据时的函数,第一客户端可以进行不同深度的查找,例如:查找深度为三层。在找到的第一函数的函数头部与函数尾部均插入前述的追踪信息,使得所得到的第一追踪日志可以追溯该第一函数的调用堆栈,从而对漏洞进行定位。例如:本申请将以查找深度为三层为例,且以参照血量hp这个变量为例函数头部与函数尾部插入追踪信息的示例进行理解,如下:
Figure BDA0002393852500000112
Figure BDA0002393852500000121
需要理解的是,由于roslyn或clang生成的语法树中的每个函数节点里面均包含了函数体的表达式和函数调用的信息,因此第一客户端可以在roslyn或clang生成的语法树里进行遍历查找;另外,由于roslyn提供了查找函数的引用的应用程序接口(application program interface,API),因此第一客户端也可以通过API来查找第一函数。可以理解的是,在实际应用中还可以包括其他的查找第一函数的方式,具体本申请实施例中将不做限定。
203、第一客户端确定第一追踪日志对应的第一MD5值。
本实施例中,由于追踪日志中记录了该待校验数据中的每个修改记录、以及函数的调用堆栈等信息,而通过比较不同客户端中的追踪日志所对应的消息摘要算法(message--digest algorithm,MD5)值,即可判断出待校验数据和运行路径是否一致。因此,第一客户端需要确定出第一追踪日志对应的第一MD5值。
另外,需要说明的一点是,第一客户端可以将该第一MD5值上报至服务器,使得服务器可以广播至同时运行目标应用的其他客户端,使得其他客户端也能够基于自身的MD5值与除了自身以外的其他MD5值来判断数据一致性,当然,此处的除了自身以外的其他MD5值可以包括前述的第一MD5值。其次,在本申请实施例中,第一客户端向服务器上报第一MD5值而不是上报原始的第一追踪日志,其目的是为了减少数据传输量。当然,在实际应用中,第一客户端也可以直接发送第一追踪日志到服务器,从而使得其他客户端也可以通过比较追踪日志来判断数据一致性。
可选地,第一客户端将预设帧数中的每一帧所对应的第一追踪日志进行首尾连接,以计算所述第一追踪日志对应的第一MD5值。
也就是理解成,将预设帧数内的每一帧所对应的第一追踪日志进行首尾拼接后,如:第一帧所对应的第一追踪日志的尾部与第二帧所对应的第一追踪日志的头部连接,而第二帧所对应的第一追踪日志的尾部与第三帧所对应的第一追踪日志的头部连接,以此类推,从而将最终拼接完成的预设帧数内的第一追踪日志作为一个整体来计算第一MD5值。可选地,在另一些实施例中还可以参照图3进行理解,图3为本申请实施例中提供的上报MD5值的流程图。中可以看出,开发人员标记变量后,可以通过编译工具查找带标记信息的变量,从而查找该带标记信息的变量所对应的修改点,进一步地在修改点处插入追踪日志后,通过查找调用了修改带有标记信息的变量函数的函数,从而在函数的头部和尾部加入追踪日志,以每间隔100帧,计算该追踪日志的MD5值并上报服务器。另外,前述的预设帧数可以是100帧、200帧等,具体在本实施例中将不做具体限定。
204、服务器接收至少一个第二客户端分别发送的第二MD5值,每个第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到。
本实施例中,由于服务器并不包含完整的调用堆栈的相关信息,而一旦出现不一致的情况时就需要还原待校验数据的调用堆栈,而客户端中保存了完整的追踪日志,所以此时通过不同客户端的追踪日志所对应的MD5值来判断数据一致性则需要放在客户端中进行。因此,从第一客户端的角度来看,此时需要服务器提供除了第一客户端以外的其他客户端的MD5值,如:至少一个第二客户端在目标应用中基于第二追踪日志得到的第二MD5值。
需要说明的是,第二客户端与第一客户端在运行相同的目标应用。而第二客户端在目标应用中基于第二追踪日志得到第二MD5值可以参照前述第一客户端在目标应用中基于第一追踪日志得到第一MD5值进行理解,具体此处将不做赘述。
205、服务器向第一客户端发送至少一个第二MD5值。
206、当第一MD5值与每个第二MD5值不相同时,第一客户端向服务器发送第一追踪日志。
本实施例中,第一客户端在接收到至少一个第二MD5值时,便可以将自身的第一MD5值与每个第二MD5值进行比对。若第一MD5值与每个第二MD5值均不相同时,此时第一客户端就能够判定出第一追踪日志与每个第二客户端中对应的第二追踪日志出现了不一致的情况,即该第一客户端与每个第二客户端在同一个目标应用下的待校验数据出现了数据不一致性。
可以理解的是,只有当第一MD5值与每个第二MD5值均相等时,此时第一客户端才能够确定该第一客户端与其他的第二客户端在目标应用下的待校验数据的计算结果存在数据一致性,此时运行目标应用时则不会出现报错等情况。因此,当第一MD5值与每个第二MD5值均不相等时,此时需要第一客户端向服务器发送第一追踪日志,使得服务器确通过对比不同客户端上报的追踪日志之间的差异来确定不一致信息,即确定出具体是哪些位置发生了不一致性。
207、服务器基于第一追踪日志与每个第二追踪日志确定不一致信息。
本实施例中,不一致信息包括但不限于调用堆栈信息、追踪信息对应的行号信息或终端设备的型号信息等,而不一致信息能够用来指示出第一追踪日志与每个第二追踪日志在同一个目标应用下的不一致情况,如:不一致率、不一致发生位置、不一致调用堆栈或终端设备的相关型号等信息,具体在本实施例中将不做限定。因此,服务器在接收第一客户端发送的第一追踪日志后,便可以按照目标应用的版本号来统计出第一追踪日志与每个第二追踪日志之间的差异信息,从而将差异信息确定为不一致信息。请参阅图4a,为本实施例中提供的以不一致发生位置为例的示意图。从图4a可以看出,第一客户端所对应的终端设备的机型为iPad11,1,第二客户端所对应的终端设备的机型为iPhone11.8,并且存在两处不一致发生位置,具体可以参照图4a进行理解。另外,还可以参照图4b,为本实施例中提供的以不一致调用堆栈为例的示意图。从图4b可以看出,机型设备为iPhone11.6发生不一致调用堆栈的概率在57.99%,而且在字段名称中发生不一致调用堆栈排名第一的2955,问题排行第一的是edb92f54e9f061b8e322832eee75aeca,具体可以参照图4b进行理解。另外,在另一些实施例中还可以参照图5进行理解,图5为本申请实施例中提供的校验追踪日志的流程图。从图5可以看出,客户端每间隔100帧,计算该追踪日志的MD5值并上报服务器,使得服务器可以将MD5值广播给游戏房间内的其他玩家,这样客户端便可以把其他玩家的MD5值和自身的MD5值做对比,若MD5不相同时,则客户端上报追踪日志给统计服务器,使得服务器确定出不一致信息,并按照版本统计不一致信息。
可选地,在另一些实施例中,服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息,包括:所述服务器将所述第一追踪日志与每个所述第二追踪日志进行比对,以确定所述第一追踪日志与每个所述第二追踪日志之间的差异信息;所述服务器将所述差异信息确定为不一致信息。
可选地,在另一些实施例中,服务器在确定出不一致信息后可以执行报错处理操作,即向第一客户端或第二客户端发送不一致信息,使得第一客户端或第二客户端显示该不一致信息。请参照图6,为本申请实施例中提供的不一致信息的显示示意图,从图6中可以看出,不一致信息为起始帧,在实际应用中还可以是显示其他的不一致信息,具体在本申请中将不做限定。
本申请实施例中,第一客户端在待校验数据对应的至少一个修改点出插入追踪信息后得到第一追踪日志,并且计算出第一追踪日志对应的第一MD5值,然后在确定第一MD5值与至少一个第二客户端在目标应用中基于第二追踪日志得到的至少一个MD5值不相同时,向服务器发送第一追踪日志,使得服务器基于第一追踪日志与每个第二追踪日志来确定不一致信息,避免了以手工的方式判断待校验数据的数据一致性,省时省力,不仅实现了实时比对,而且能够基于不一致情况对漏洞进行定位,覆盖了任意的对局数据。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是为了实现上述功能,包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请实施例中的第一客户端70进行详细描述,请参阅图7,图7为本申请实施例中提供的第一客户端70一个实施例示意图,该第一客户端70包括:
获取模块701,用于获取目标应用中的待校验数据;
插入模块702,用于在所述获取模块701得到的所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志;
确定模块703,用于确定所述插入模块702得到的所述第一追踪日志对应的第一MD5值;
接收模块704,用于接收服务器发送的至少一个第二MD5值,每个所述第二MD5值由对应的第二客户端在所述目标应用中基于第二追踪日志得到;
发送模块705,用于在所述第一MD5值与每个所述第二MD5值不相同时,向所述服务器发送所述第一追踪日志,以使得所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
可选地,在上述图7以及图7的可选实施例的基础上,本申请实施例提供的第一客户端70的另一实施例中,所述确定模块703,包括:
连接单元,用于将预设帧数中的每一帧所对应的第一追踪日志进行首尾连接,以计算所述第一追踪日志对应的第一MD5值。
可选地,在上述图7以及图7所对应的实施例的基础上,本申请实施例提供的第一客户端70的另一实施例中,所述第一客户端70,还包括:
所述确定模块703,用于确定所述待校验数据中的至少一个标记信息;
查找模块,用于在预设查找规则下基于所述至少一个标记信息查找所述待校验数据对应的至少一个修改点。
可选地,在上述图7所对应的可选实施例的基础上,本申请实施例提供的第一客户端70的另一实施例中,
所述查找模块,还用于在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志之后,查找第一函数,所述第一函数为调用所述至少一个标记信息所对应的待校验数据时的函数;
所述插入模块702,用于在所述第一函数的函数头部和函数尾部插入所述追踪信息。
上述从模块化功能实体的角度对本申请实施例中的第一客户端70进行描述,下面从模块化的角度对本申请实施例中的服务器80进行描述。请参阅图8,图8为本申请实施例中提供的服务器80一个实施例示意图,该服务器80包括:
接收单元801,用于接收至少一个第二客户端分别发送的第二MD5值,每个所述第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到;
发送单元802,用于向第一客户端发送所述至少一个第二MD5值,以使得所述第一客户端在第一MD5值与每个所述第二MD5值均不相同时发送第一追踪日志,所述第一MD5值由所述第一客户端在所述目标应用中基于所述第一追踪日志得到;
所述接收单元801,用于接收所述第一客户端发送的所述第一追踪日志;
统计单元803,用于第一追踪日志与每个所述第二追踪日志确定不一致信息。
上面从模块化功能实体的角度对本申请实施例中的第一客户端70和服务器80进行描述,下面从硬件处理的角度对本申请实施例中的第一客户端70和服务器80进行描述。图9是本申请实施例中的通信装置的硬件结构一个示意图。如图9所示,该通信装置可以包括:
该通信装置包括至少一个处理器901,通信线路907,存储器903以及至少一个通信接口904。
处理器901可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,服务器IC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路907可包括一通路,在上述组件之间传送信息。
通信接口904,使用任何收发器一类的装置,用于与其他装置或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储装置,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储装置,存储器可以是独立存在,通过通信线路907与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器903用于存储执行本申请方案的计算机执行指令,并由处理器901来控制执行。处理器901用于执行存储器903中存储的计算机执行指令,从而实现本申请上述实施例提供的数据处理的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,通信装置可以包括多个处理器,例如图9中的处理器901和处理器902。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个装置、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,通信装置还可以包括输出设备905和输入设备906。输出设备905和处理器901通信,可以以多种方式来显示信息。输入设备906和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备906可以是鼠标、触摸屏装置或传感装置等。
上述的通信装置可以是一个通用装置或者是一个专用装置。在具体实现中,通信装置可以是台式机、便携式电脑、网络服务器、无线终端装置、嵌入式装置或有图9中类似结构的装置。本申请实施例不限定通信装置的类型。
上述获取模块701、接收模块704、接收单元801都可以通过输入设备906来实现,发送模块705、发送单元802都可以通过输出设备905来实现,确定模块703、插入模块702、比较单元、确定子单元、连接单元、查找模块、统计单元803都可以通过处理器901或处理器902来实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种数据处理的方法,其特征在于,包括:
第一客户端获取目标应用中的待校验数据;
所述第一客户端在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志,其中,修改点为待校验数据被执行赋值操作的位置,第一追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
所述第一客户端确定所述第一追踪日志对应的第一MD5值;
所述第一客户端接收服务器发送的至少一个第二MD5值,每个所述第二MD5值由对应的第二客户端在所述目标应用中基于第二追踪日志得到,所述第二追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
当所述第一MD5值与每个所述第二MD5值不相同时,所述第一客户端向所述服务器发送所述第一追踪日志,以使得所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
2.根据权利要求1所述的方法,其特征在于,所述第一客户端确定所述第一追踪日志对应的第一MD5值,包括:
所述第一客户端将预设帧数中的每一帧所对应的第一追踪日志进行首尾连接,以计算所述第一追踪日志对应的第一MD5值。
3.根据权利要求1或2所述的方法,其特征在于,所述第一客户端在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志之前,还包括:
所述第一客户端确定所述待校验数据中的至少一个标记信息;
所述第一客户端在预设查找规则下基于所述至少一个标记信息查找所述待校验数据对应的至少一个修改点。
4.根据权利要求3所述的方法,其特征在于,所述第一客户端在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志之后,还包括:
所述第一客户端查找第一函数,所述第一函数为调用所述至少一个标记信息所对应的待校验数据时的函数;
所述第一客户端在所述第一函数的函数头部和函数尾部插入所述追踪信息。
5.一种数据处理的方法,其特征在于,包括:
服务器接收至少一个第二客户端分别发送的第二MD5值,每个所述第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到,所述第二追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
所述服务器向第一客户端发送所述至少一个第二MD5值,以使得所述第一客户端在第一MD5值与每个所述第二MD5值均不相同时发送第一追踪日志,所述第一MD5值由所述第一客户端在所述目标应用中基于所述第一追踪日志得到,其中,所述第一客户端在待校验数据对应的至少一个修改点处插入追踪信息,以得到所述第一追踪日志,修改点为待校验数据被执行赋值操作的位置,所述第一追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
所述服务器接收所述第一客户端发送的所述第一追踪日志;
所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
6.根据权利要求5所述的方法,其特征在于,所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息,包括:
所述服务器将所述第一追踪日志与每个所述第二追踪日志进行比对,以确定所述第一追踪日志与每个所述第二追踪日志之间的差异信息;
所述服务器将所述差异信息确定为不一致信息。
7.根据权利要求5或6所述的方法,其特征在于,所述不一致信息包括调用堆栈信息、追踪信息对应的行号信息或终端设备的型号信息。
8.一种第一客户端,其特征在于,所述第一客户端包括:
获取模块,用于获取目标应用中的待校验数据;
插入模块,用于在所述获取模块得到的所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志,其中,修改点为待校验数据被执行赋值操作的位置,第一追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
确定模块,用于确定所述插入模块得到的所述第一追踪日志对应的第一MD5值;
接收模块,用于接收服务器发送的至少一个第二MD5值,每个所述第二MD5值由对应的第二客户端在所述目标应用中基于第二追踪日志得到,所述第二追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
发送模块,用于在所述第一MD5值与每个所述第二MD5值不相同时,向所述服务器发送所述第一追踪日志,以使得所述服务器基于所述第一追踪日志与每个所述第二追踪日志确定不一致信息。
9.根据权利要求8所述的第一客户端,其特征在于,所述确定模块,包括:
连接单元,用于将预设帧数中的每一帧所对应的第一追踪日志进行首尾连接,以计算所述第一追踪日志对应的第一MD5值。
10.根据权利要求8或9所述的第一客户端,其特征在于,所述第一客户端还包括:
所述确定模块,用于确定所述待校验数据中的至少一个标记信息;
查找模块,用于在预设查找规则下基于所述至少一个标记信息查找所述待校验数据对应的至少一个修改点。
11.根据权利要求10所述的第一客户端,其特征在于,所述查找模块,还用于在所述待校验数据对应的至少一个修改点处插入追踪信息,以得到第一追踪日志之后,查找第一函数,所述第一函数为调用所述至少一个标记信息所对应的待校验数据时的函数;
所述插入模块,用于在所述第一函数的函数头部和函数尾部插入所述追踪信息。
12.一种服务器,其特征在于,所述服务器包括:
接收单元,用于接收至少一个第二客户端分别发送的第二MD5值,每个所述第二MD5值由对应的第二客户端在目标应用中基于第二追踪日志得到,所述第二追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
发送单元,用于向第一客户端发送所述至少一个第二MD5值,以使得所述第一客户端在第一MD5值与每个所述第二MD5值均不相同时发送第一追踪日志,所述第一MD5值由所述第一客户端在所述目标应用中基于所述第一追踪日志得到,其中,所述第一客户端在待校验数据对应的至少一个修改点处插入追踪信息,以得到所述第一追踪日志,修改点为待校验数据被执行赋值操作的位置,所述第一追踪日志记录待校验数据中的每个修改记录以及函数调用的堆栈;
所述接收单元,用于接收所述第一客户端发送的所述第一追踪日志;
统计单元,用于基于第一追踪日志与每个所述第二追踪日志确定不一致信息。
13.一种第一客户端,其特征在于,所述第一客户端包括:
输入/输出(I/O)接口、处理器和存储器,
所述存储器中存储有程序指令;
所述处理器用于执行存储器中存储的程序指令,执行如权利要求1至4中任一所述的方法。
14.一种服务器,其特征在于,所述服务器包括:
输入/输出(I/O)接口、处理器和存储器,
所述存储器中存储有程序指令;
所述处理器用于执行存储器中存储的程序指令,执行如权利要求5至7中任一所述的方法。
15.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至4或5至7中任一项所述的方法。
CN202010123985.2A 2020-02-27 2020-02-27 一种数据处理的方法以及相关装置 Active CN111352760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010123985.2A CN111352760B (zh) 2020-02-27 2020-02-27 一种数据处理的方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010123985.2A CN111352760B (zh) 2020-02-27 2020-02-27 一种数据处理的方法以及相关装置

Publications (2)

Publication Number Publication Date
CN111352760A CN111352760A (zh) 2020-06-30
CN111352760B true CN111352760B (zh) 2023-06-13

Family

ID=71195939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010123985.2A Active CN111352760B (zh) 2020-02-27 2020-02-27 一种数据处理的方法以及相关装置

Country Status (1)

Country Link
CN (1) CN111352760B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666222A (zh) * 2020-07-09 2020-09-15 腾讯科技(深圳)有限公司 一种测试方法和相关装置
CN112631916A (zh) * 2020-12-24 2021-04-09 摩拜(北京)信息技术有限公司 数据验证方法、装置及电子设备
CN114328313A (zh) * 2021-12-31 2022-04-12 联想长风科技(北京)有限公司 一种信息传输方法及系统
CN116701337B (zh) * 2023-08-04 2024-01-16 腾讯科技(深圳)有限公司 日志数据处理方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133763A (ja) * 2002-10-11 2004-04-30 Fujitsu Ltd 履歴管理装置及びコンピュータプログラム
US8521843B2 (en) * 2006-05-25 2013-08-27 Qualcomm Incorporated Methods and apparatus for sampling usage information from a pool of terminals in a data network
US20140222758A1 (en) * 2009-08-14 2014-08-07 Ic Manage, Inc. Coherent File State Maintained Among Confederated Repositories By Distributed Workspace Apparatuses Backed Up By a File State Ledgerdemain Store
CN102004883B (zh) * 2010-12-03 2012-06-13 中国软件与技术服务股份有限公司 电子文件的轨迹跟踪方法
JP5542859B2 (ja) * 2012-02-14 2014-07-09 日本電信電話株式会社 ログ管理装置、ログ蓄積方法、ログ検索方法、およびプログラム
CN105955876B (zh) * 2016-05-13 2020-08-14 腾讯科技(深圳)有限公司 一种数据监控处理方法以及装置
US10372466B2 (en) * 2017-06-13 2019-08-06 Western Digital Technologies, Inc. Rule-based monitoring engine with tracing capabilities for multi-threaded logging
CN108038145A (zh) * 2017-11-23 2018-05-15 携程旅游网络技术(上海)有限公司 分布式服务跟踪方法、系统、存储介质和电子设备
CN109086157B (zh) * 2018-08-02 2022-03-25 北京达佳互联信息技术有限公司 日志追踪方法、装置、电子设备及存储介质
CN109672735A (zh) * 2018-12-20 2019-04-23 中国移动通信集团江苏有限公司 一种消息处理的方法、装置及设备
CN110764980A (zh) * 2019-09-06 2020-02-07 华为技术有限公司 日志处理方法和装置

Also Published As

Publication number Publication date
CN111352760A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111352760B (zh) 一种数据处理的方法以及相关装置
WO2018000607A1 (zh) 一种识别测试用例失败原因的方法及电子设备
CN110875850B (zh) 一种固件升级方法、系统、可读存储介质及终端设备
CN110389901B (zh) Arm工控机的测试方法、装置、计算机设备及存储介质
CN107819795A (zh) 一种dns主辅服务器数据同步方法、装置及系统
CN111190551B (zh) 一种redis数据的迁移系统、迁移方法、装置及终端
CN111106899B (zh) 物联网中的数据校验方法、装置、计算机设备及存储介质
CN114024884B (zh) 一种测试方法、装置、电子设备及存储介质
CN111813788A (zh) 信息的查询方法和装置、信息的同步方法和装置
CN111369237B (zh) 一种数据处理方法、装置及计算机存储介质
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
CN114610372A (zh) 评审文件的处理方法及装置、存储介质、处理器、终端
CN114153856A (zh) 主机数据双写方法及装置
CN111784516B (zh) 业务路径的确定方法、装置和电子设备
CN110585724B (zh) 游戏客户端中的表格数据更新方法、装置
CN109376064B (zh) 一种接口测试报告的生成方法及设备
CN109446052B (zh) 一种应用程序的校验方法及设备
CN104753659B (zh) 一种多网元数据同步加载的方法、装置及系统
CN110825466A (zh) 一种程序卡顿的处理方法以及卡顿处理装置
EP4210049A1 (en) Audio watermark adding method and device, audio watermark analyzing method and device, and medium
CN113329096B (zh) 消息传输方法、装置、电子设备和存储介质
CN109405174A (zh) 一种故障信息报修方法及装置
CN110347683B (zh) 一种数据表合并处理方法及装置
CN114827967A (zh) 软件更新方法、蓝牙设备及存储介质
CN114598680A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024113

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant