CN111400266B - 数据处理方法和***、操作事件的诊断处理方法和装置 - Google Patents
数据处理方法和***、操作事件的诊断处理方法和装置 Download PDFInfo
- Publication number
- CN111400266B CN111400266B CN201910002370.1A CN201910002370A CN111400266B CN 111400266 B CN111400266 B CN 111400266B CN 201910002370 A CN201910002370 A CN 201910002370A CN 111400266 B CN111400266 B CN 111400266B
- Authority
- CN
- China
- Prior art keywords
- information
- client
- server
- transaction
- identification 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法和***、操作事件的诊断处理方法和装置。其中,该数据处理方法包括:客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;客户端获取操作事件的时间信息;客户端基于标识信息和时间信息,获取本地存储的操作事件的操作信息;客户端将操作信息发送至服务器。本申请解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种数据处理方法和***、操作事件的诊断处理方法和装置。
背景技术
分布式事务***通常包含客户端、资源管理器、事务协调器几个角色。用户经常需要根据分布式事务的唯一标识XID来取得事务执行中所修改的数据在事务执行前后的状态,作为排查业务数据修改的依据。事务特点是数据量特别大,对事务内执行的SQL(结构化查询语言,Structured Query Language)和影响的数据变化信息进行快速检索比较困难。
事务诊断***需要记录客户端SQL执行前后数据变化信息,一个可行的方法是使用集中的数据库存储,便于数据的查询和写入。一个分布式事务由某一个TXC客户端发起,并有多个客户端参与(通常情况下TXC客户端数量会很多,数量多少取决于业务链路长度),并产生很多的事务日志,包括全局日志的创建、状态更新、删除,事务分支日志的创建、状态更新、删除,以及事务分支的SQL,数据前后镜像等信息。如果将事务信息存储到统一数据源,则数据量太大,数据库很容易成为性能瓶颈。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理方法和***、操作事件的诊断处理方法和装置,以至少解决现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
根据本申请实施例的一个方面,提供了一种数据处理方法,包括:客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;客户端获取操作事件的时间信息;客户端基于标识信息和时间信息,获取本地存储的操作事件的操作信息;客户端将操作信息发送至服务器。
根据本申请实施例的另一方面,还提供了一种数据处理方法,包括:服务器接收控制设备发起的查询请求,并将查询请求发送至多个客户端,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;服务器接收多个客户端返回的操作事件的操作信息,其中,多个客户端基于标识信息和获取到的操作事件的时间信息,获取本地存储的操作信息;服务器对操作信息进行处理,得到处理结果;服务器将处理结果发送至控制设备。
根据本申请实施例的另一方面,还提供了一种数据处理***,包括:控制设备,与服务器具有通信关系,用于发送查询请求至服务器,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;服务器,与多个客户端具有通信关系,用于将查询请求发送至多个客户端;多个客户端用于获取操作事件的时间信息,并基于标识信息和时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器;服务器还用于对操作信息进行处理,得到处理结果,并将处理结果发送至控制设备。
根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;客户端基于标识信息,获取本地存储的操作事件的操作信息;客户端将操作信息发送至服务器。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;客户端获取操作事件的时间信息;客户端基于标识信息和时间信息,获取本地存储的操作事件的操作信息;客户端将操作信息发送至服务器。
根据本申请实施例的另一方面,还提供了一种数据处理***,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;客户端获取操作事件的时间信息;客户端基于标识信息和时间信息,获取本地存储的操作事件的操作信息;客户端将操作信息发送至服务器。
根据本申请实施例的另一方面,还提供了一种操作事件的诊断处理方法,包括:服务器接收用于对操作事件进行诊断处理对应的诊断请求,其中,诊断请求包括:操作事件的标识信息,操作事件标识信息用于表征服务器对数据库进行操作对应的事件;服务器基于诊断请求,获取多个客户端本地存储的操作事件的操作信息;服务器对操作信息进行诊断处理,得到诊断结果。
根据本申请实施例的另一方面,还提供了一种操作事件的诊断处理装置,包括:接收模块,用于接收用于对操作事件进行诊断处理对应的诊断请求,其中,诊断请求包含:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;获取模块,用于基于诊断请求,获取多个客户端本地存储的操作事件的操作信息;处理模块,用于对操作信息进行诊断处理,得到诊断结果。
在本申请实施例中,客户端在接收到服务器发起的查询请求之后,可以基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种计算机终端10(或移动设备)作为发送端的示意图;
图3是根据本申请实施例1的一种数据处理方法的流程图;
图4是根据本申请实施例的一种可选的事务诊断***的示意图;
图5是根据本申请实施例的一种可选的事务查询流程的流程图;
图6是根据本申请实施例的一种可选的三级索引目录的示意图;
图7是根据本申请实施例的一种可选的LogAgent读取本地发起的事务的流程图;
图8是根据本申请实施例的一种可选的TXC客户端发起事务的流程图;
图9是根据本申请实施例的一种可选的TXC客户端参与事务的流程图;
图10是根据本申请实施例的一种可选的TXC客户端注册的流程图;
图11是根据本申请实施例2的一种数据处理方法的流程图;
图12是根据本申请实施例3的一种数据处理装置的示意图;
图13是根据本申请实施例4的一种数据处理装置的示意图;
图14是根据本申请实施例的一种数据处理***的示意图;
图15是根据本申请实施例的一种操作事件的诊断处理方法的流程图;
图16是根据本申请实施例的一种操作事件的诊断处理装置的示意图;以及
图17是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
事务:由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
分布式事务:涉及来自两个或多个源的资源的事务。
TXC:TXC(Taobao Transaction Constructor)是一个分布式事务中间件,它提供了多种事务模式,几乎可以满足所有的事务需求。
事务协调器:可以是事务控制模型的核心和枢纽,控制着事务的所有参与者,协调整个事务从开始到完成的所有相关处理流程。
XID:分布式事务唯一标识,由事务协调器分配,并由事务协调器IP+PORT+全局唯一事务编号组成。
TXC客户端:分布式事务的发起者。
事务分支:分布式事务中每个参与者的标识,由事务协调器分配全局唯一。
前后镜像:每个事务参与者执行一个本地事务执行前后的完整数据记录的信息。
事务诊断控制台:提供事务诊断web应用服务,用户可以查询给定分布式事务的完整事务分支及数据修改信息。
事务诊断服务器:接收事务诊断控制台下发的查询命令,与LogAgent交互进行事务数据的采集与处理。
LogAgent:TXC客户端机器上负责与事务诊断服务器进行交互的进程,负责分布式事务诊断数据采集与检索。
JSON:JavaScript Object Notation,JS对象简谱,可以是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。
fork进程:可以将运行着的程序分成两个完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程,类似于用于同时启动了该应用程序的两个副本。
实施例1
根据本申请实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的处理器,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的数据处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
图1示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为上述服务器的示例性框图,一种可选实施例中,图2以框图示出了使用上述图1所示的计算机终端10(或移动设备)作为发送端的一种实施例。如图2所示,计算机终端10(或移动设备)可以经由数据网络连接或电子连接到一个或多个服务器20,例如,TXC服务器、事务诊断服务器等。一种可选实施例中,上述计算机终端10(或移动设备)可以是任意移动计算设备等。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端10(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在上述运行环境下,本申请提供了如图3所示的数据处理方法。图3是根据本申请实施例1的一种数据处理方法的流程图。如图3所示,该方法包括如下步骤:
步骤S302,客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述的客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。
步骤S304,客户端获取操作事件的时间信息。
具体地,上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。
步骤S306,客户端基于标识信息和时间信息,获取本地存储的操作事件的操作信息。
具体地,上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。
步骤S308,客户端将操作信息发送至服务器。
在一种可选的实施例中,用户可以进入事务诊断控制台,输入需要查询的事务XID,此时,事务诊断服务器收到查询请求并进行处理,将事务XID发送给相关的多个TXC客户端,每个TXC客户端可以根据事务XID和事务的起止时间查询到本地磁盘存储的事务信息,并发送给事务诊断服务器,由事务诊断服务器进行汇总分析,得到事务XID的所有的事务信息,事务诊断服务器对返回的事务信息进行JSON解析,并将处理结果返回至事务诊断控制台进行显示,从而用户可以查看到客户端SQL执行前后数据变化信息。
例如,事务诊断***如图4所示,主要由TXC客户端1、TXC服务器2、事务诊断服务器3、事务诊断控制台4、客户端LogAgent 5等五个部分组成。主要查询流程如图5所示,判断事务诊断控制台和事务诊断服务器是否退出,如果均未退出,则用户在事务诊断控制台输入XID查询,并将XID发送给事务诊断服务器,事务诊断服务器接收命令,查看LogAgent会话列表,客户端LogAgent可以打开事务文件,并返回分支ID、SQL、数据前后镜像给事务诊断服务器,事务诊断服务器解析处理返回的JSON数据,并将处理后的数据返回至事务诊断控制台,由事务诊断控制台给用户显示处理后的事务数据列表,并返回判断事务诊断控制台和事务诊断服务器是否退出,如果退出,则结束流程。
基于本申请上述实施例提供的方案,客户端在接收到服务器发起的查询请求之后,可以基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
可选地,本申请上述实施例中,步骤S304,客户端获取操作事件的时间信息,包括:客户端获取本地存储的时间信息;或客户端接收服务器发送的时间信息。
可选地,客户端包括:第一客户端和第二客户端,第一客户端为向服务器发起操作事件的请求的客户端,第二客户端为除第一客户端之外的其他客户端。
具体地,上述的第一客户端可以是事务发起者的TXC客户端,第二客户端可以是事务参与者的TXC客户端,事务发起者的TXC客户端中存储有事务XID、事务的起止时间等,而事务参与者的TXC客户端中并不存储相应的信息。
在一种可选的实施例中,多个TXC客户端在接收到事务诊断服务器发送的事务XID之后,由于事务发起者的TXC客户端本地存储有该事务XID,事务发起者的TXC客户端会进行应答,应答信息包含事务的起止时间,而事务参与者的TXC客户端不会进行应答。事务诊断服务器器在接收到事务的起止时间之后,会向多个TXC客户端进行广播,从而事务参与者的TXC客户端会收到事务的起止时间。多个TXC客户端可以根据事务XID以及事务的起止时间,在本地磁盘中查询到事务信息,并返回给事务诊断服务器。
例如,如图5所示,事务诊断服务器可以进行两轮查询,第一轮命令群发查找发起XID的客户端并等待结果,客户端LogAgent查找XID信息,判断XID是否存在,也即判断本机是否为事务发起者的TXC客户端,如果不存在,则返回空;如果存在,则返回XID起止时间。事务诊断服务器判断返回结果中是否存在XID,如果不存在,则告知事务诊断台XID没有找到,返回报错;如果存在,则第二轮命令群发XID和起止时间,并等待结果,收集分支ID,SQL,数据前后镜像,客户端LogAgent判断本地索引文件是否存在,如果不存在,则返回空;如果存在,则打开事务文件,并返回分支ID,SQL,数据前后镜像。事务诊断服务器解析处理返回JSON数据,并返回处理后的数据至事务诊断台,并由事务诊断台给用户显示处理后的事务数据列表。
可选地,本申请上述实施例中,步骤S306,客户端基于标识信息和时间信息,获取本地存储的操作信息,包括:客户端基于标识信息和时间信息,确定本地存储的第一目标文件夹,其中,第一目标文件夹是通过对多级索引目录进行多级索引得到的;客户端从第一目标文件夹中读取操作信息。
具体地,为了提高查询本地文件***的性能,本申请实施例中可以建立三级索引目录,如图6所示,一级索引目录可以是事务XID中的事务协调器的IP和PORT,二级索引目录可以是事务的起止时间的日期加小时部分,三级索引目录可以是事务XID中的分布式事务唯一ID。上述的第一目标文件夹可以是根据事务XID以及事务的起止时间进行三级索引找到的文件。
在一种可选的实施例中,多个TXC客户端可以根据事务XID和起止时间,得到三级索引信息,通过三级索引找到对应的文件,然后读取文件内分支ID,SQL,数据前后镜像,并返回给事务诊断服务器。
例如,如图5所示,客户端LogAgent可以解析XID获取第一,三级索引信息,根据起止时间日期小时获取第二级索引,并判断本地索引文件是否存在,如果存在,则打开事务文件,并返回分支ID,SQL,数据前后镜像;如果不存在,则返回空。
可选地,本申请上述实施例中,客户端基于标识信息和时间信息,确定本地存储的第一目标文件夹,包括:客户端对标识信息进行解析,得到第一信息和第二信息,其中,第一信息包括:预设地址信息和预设端口信息,第二信息包括:编号;客户端基于第一信息对多级索引目录中的一级索引目录进行索引,确定本地存储的第一文件夹集合;客户端基于时间信息对多级索引目录中的二级索引目录进行索引,确定第一文件夹集合中的第二文件夹集合;客户端基于第二信息对多级索引目录中的三级索引目录进行索引,确定第二文件夹集合中的第一目标文件夹。
具体地,上述的预设地址信息可以是事务协调器的IP,预设端口信息可以是事务协调器的端口PORT,上述的编号可以是分布式事务唯一ID。
在一种可选的实施例中,每个TXC客户端可以根据事务XID解析出IP+PORT,以及分布式事务唯一ID,并将IP+PORT作为第一级索引,将事务起止时间的日期加小时作为第二级索引,将分布式事务唯一ID作为第三级索引,通过第一级索引可以查询到对应的第一文件夹集合,通过第二级索引可以查询到对应的第二文件夹集合,进一步通过第三级索引可以查询到对应的事务文件。
可选地,本申请上述实施例中,客户端获取本地存储的时间信息,包括:客户端基于标识信息,获取目标内存中缓存的时间信息,目标内存为客户端的预设进程对应的内存。
具体地,上述的预设进程可以是TXC客户端中的LogAgent,LogAgent可以缓存本机发起的事务的关键信息(包括事务XID、起止时间和状态信息),减少内存占用,并且可以根据事务诊断服务器发送的事务XID和起止时间检索事务信息并上报。
在一种可选的实施例中,事务诊断服务器可以查看LogAgent会话列表,并向LogAgent列表广播要查询的事务XID,LogAgent查询内存缓存此XID的起止时间并上报。
可选地,本申请上述实施例中,目标内存中还存储有定期从第二目标文件夹中获取到的时间信息和操作事件的状态信息,其中,第二目标文件夹的文件名中包含预设扩展名。
具体地,上述的第二目标文件夹可以是二级索引目录查找到文件夹。对于事务发起者的TXC客户端,该TXC客户端中存储有本机发起的事务信息以及本机参与的事务信息,为了能够对不同的事务信息进行区分,存储事务信息的文件夹的文件名上增加扩展名,上述的预设扩展名可以是“.s”。
在一种可选的实施例中,LogAgent可以每三分钟扫描一次本机所有二级索引目录,并查找出最近三分钟内带有.s扩展名的文件并打开,获取事务XID、起止时间和状态信息,并缓存到LogAgent的内存中。
例如,LogAgent读取本地发起的事务的流程图如图7所示,在LogAgent未退出的情况下,可以获取本机所有二级索引目录,判断是否有二级索引目录没有检索,如果有,则遍历最近三分钟内修改的.s文件,并判断是否还有.s文件没有读取,如果有则读取.s文件内容,获取事务XID及起止时间,加载到LogAgent缓存,并返回判断是否还有.s文件没有读取,如果没有则返回判断是否有二级索引目录没有检索,如果没有,则等待3分钟,然后返回判断LogAgent是否退出,如果退出,则结束流程。
可选地,本申请上述实施例中,在客户端向服务器发起操作事件的请求之后,该方法还可以包括如下步骤:客户端接收服务器发送的操作事件的标识信息;客户端基于标识信息,生成多级文件夹;客户端获取操作事件的操作信息;客户端将操作信息存储至多级文件夹中。
具体地,上述的多级文件夹可以采用三级索引目录结构,其中,第一级文件夹的名称为XID中包含的事务协调器的IP+PORT,第二级文件夹的名称为事务起止时间的日期加小时部分,第三级文件夹的名称为分布式事务唯一ID。通过设置第二级文件夹,可以将每个小时的事务独立存放在一个文件夹中,方便查找。第三级文件夹中的内容可以是按照时间顺序操作的本地事务分支ID、SQL以及数据前后镜像的JSON格式串。
在一种可选的实施例中,TXC客户端发起事务,同时根据事务XID在本地建立三级索引目录结构的文件夹,并将相应的事务信息存储在文件夹中。
可选地,本申请上述实施例中,客户端基于标识信息,生成多级文件夹,包括:客户端基于标识信息和操作事件的起始时间,生成多级文件夹,其中,多级文件夹至少包括:第二目标文件夹,第二目标文件夹的文件名中包含预设扩展名;或客户端基于操作事件和当前时间,生成多级文件夹。
在一种可选的实施例中,TXC客户端发起事务,同时根据事务XID信息在本地建立三级索引目录结构的文件夹,对于事务发起者的TXC客户端,第三级文件夹的文件名上有.s后缀,以方便标识出本机发起的事务。
例如,图8示出了TXC客户端发起事务的流程,图9示出了TXC客户端参与事务的流程。如图8所示,TXC客户端向TXC服务器发起事务,在TXC服务器注册事务并分配XID,TXC客户端可以根据分配的XID,事务起始时间创建三级索引文件,并且文件名中携带有.s后缀。判断本事务是否还有未处理的事务分支,如果有,则执行SQL,读取本地事务影响数据的数据前后镜像,并发起注册分支并带有数据行主键,TXC服务器注册分支并分配分支ID,TXC客户端将分支ID、SQL、数据前后镜像记录到.s文件中,并向TXC服务器上报分支状态,TXC服务器根据上报分支状态判断本地事务执行成功。TXC客户端在上报分支状态之后,继续判断本事务是否还有未处理的事务分支。
如图9所示,TXC客户端接收传入的XID,根据XID和当前时间计算三级索引文件,其中,文件名中不携带.s文件,并判断本地是否已经创建三级索引文件,如果没有,则创建三级索引文件,如果有,则进一步判断本事务是否还有未处理的事务分支,如果有,则执行SQL,读取本地事务影响数据的数据前后镜像,并发起注册分支并带有数据行主键,TXC服务器注册分支并分配分支ID,TXC客户端将分支ID、SQL、数据前后镜像记录到数据文件中,并向TXC服务器上报分支状态,TXC服务器根据上报分支状态判断本地事务执行成功。TXC客户端在上报分支状态之后,继续判断本事务是否还有未处理的事务分支,如果没有,则结束流程。
可选地,本申请上述实施例中,第二目标文件夹还存储有标识信息和操作事件的起始时间。
在一种可选的实施例中,对于事务发起者的TXC客户端,三级索引目录结构的文件夹中不仅仅存储有分支ID、SQL以及数据前后镜像的JSON格式串,还额外存储有事务的起始时间和事务XID。
例如,如图8所示,TXC客户端在判断本事务是否还有未处理的事务分支之前,将XID和事务起始时间记录到.s文件中。
可选地,本申请上述实施例中,第二目标文件夹还存储有操作事件的结束时间和状态信息。
在一种可选的实施例中,对于事务发起者的TXC客户端,三级索引目录结构的文件夹中不仅仅存储有分支ID、SQL以及数据前后镜像的JSON格式串,还额外存储有事务的结束时间与事务状态。
例如,如图8所示,TXC客户端在确定本事务不存在未处理的事务分支的情况下,进一步判断事务状态是否为提交,如果是,则发送提交消息至TXC服务器,确定事务提交;如果否,则发送回滚消息至TXC服务器,确定事务回滚。而且,找到.s文件并记录事务的结束时间以及事务状态。
可选地,本申请上述实施例中,在步骤S302,客户端接收服务器发起的查询请求之前,该方法还可以包括如下步骤:客户端根据第一配置信息,确定是否启动预设进程;在确定启动预设进程之后,预设进程根据第二配置信息获取服务器的地址信息;预设进程基于服务器的地址信息,发送注册信息至服务器,其中,注册信息包括:多个客户端的地址信息和端口信息。
具体地,上述的第一配置信息可以是诊断配置开关,通过该开关可以启动或关闭LogAgent。上述的第二配置信息可以是全局配置信息,记载有事务诊断服务器的位置。
在一种可选的实施例中,TXC客户端启动时,会根据诊断配置开关决定是否启动LogAgent。LogAgent可以根据全局配置信息找到事务诊断服务器位置并发出注册信息,包含有本机的IP地址和端口信息,并建立长连接。事务诊断服务器保存了全量LogAgent实例列表。
例如,如图10所示,TXC客户端可以判断是否支持事务诊断,如果否,则正常运行;如果是,则通过fork进程启动LogAgent,LogAgent读取全局配置获取事务诊断服务器地址并注册,事务诊断服务器建立LogAgent会话。
通过上述方案,可以使用分布式文件***将事务诊断信息分散的记录在每个TXC客户端上,使用写本地文件的方式,解决了使用同一数据源集中存储导致的性能瓶颈和可用性温度。针对分布式事务查询场景的三级索引方式通过两次交互即可高性能查询到所有与此分布事务相关的事务分支信息。同时提出了一种事务诊断服务器和LogAgent间高性能的网络通信协议。
需要说明的是,本申请实施例提供的***支持查询一个月内的事务链路数据,如果需要查询更早数据,可以扩大磁盘容量。
还需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图11是根据本申请实施例2的一种数据处理方法的流程图。如图11所示,该方法包括如下步骤:
步骤S112,服务器接收控制设备发起的查询请求,并将查询请求发送至多个客户端,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述的多个客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。
步骤S114,服务器接收多个客户端返回的操作事件的操作信息,其中,多个客户端基于标识信息和获取到的操作事件的时间信息,获取本地存储的操作信息。
具体地,上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。
步骤S116,服务器对操作信息进行处理,得到处理结果。
具体地,TXC客户端中存储的事务信息是采用JSON格式,事务诊断服务器需要对接收到的事务信息进行解析,得到处理结果。
步骤S118,服务器将处理结果发送至控制设备。
具体地,上述的控制设备可以是事务诊断控制台。
在一种可选的实施例中,当用户需要查询完整事务信息时,用户可以进入事务诊断控制台,输入需要查询的事务XID,此时,事务诊断服务器收到查询请求并进行处理,将事务XID发送给相关的多个TXC客户端,每个TXC客户端可以根据事务XID和事务的起止时间查询到本地磁盘存储的事务信息,并发送给事务诊断服务器,由事务诊断服务器进行汇总分析,得到事务XID的所有的事务信息,事务诊断服务器对返回的事务信息进行JSON解析,并将处理后的数据返回至事务诊断控制台进行显示,从而用户可以查看到客户端SQL执行前后数据变化信息。
基于本申请上述实施例提供的方案,服务器在接收到控制设备发起的查询请求之后,可以将查询请求转发至多个客户端,多个客户端基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,由服务器进行处理,并将处理结果发送至控制设备,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
可选地,本申请上述实施例中,多个客户端包括:第一客户端和第二客户端,第一客户端为向服务器发起操作事件的请求的客户端,第二客户端为除第一客户端之外的其他客户端,其中,在步骤S112,服务器将查询请求发送至多个客户端之后,该方法还包括:服务器发送标识信息至多个客户端,并接收第一客户端返回的操作事件的时间信息,其中,第一客户端基于标识信息,获取本地存储的时间信息;服务器发送标识信息和时间信息至第二客户端。
具体地,上述的第一客户端可以是事务发起者的TXC客户端,第二客户端可以是事务参与者的TXC客户端,事务发起者的TXC客户端中存储有事务XID、事务的起止时间等,而事务参与者的TXC客户端中并不存储相应的信息。上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。
在一种可选的实施例中,多个TXC客户端在接收到事务诊断服务器发送的事务XID之后,由于事务发起者的TXC客户端本地存储有该事务XID,事务发起者的TXC客户端会进行应答,应答信息包含事务的起止时间,而事务参与者的TXC客户端不会进行应答。事务诊断服务器器在接收到事务的起止时间之后,会向多个TXC客户端进行广播,从而事务参与者的TXC客户端会收到事务的起止时间。多个TXC客户端可以根据事务XID以及事务的起止时间,在本地磁盘中查询到事务信息,并返回给事务诊断服务器。
可选地,本申请上述实施例中,服务器在检测到多个客户端中的任意一个客户端处于离线状态或无法访问之后,输出提示信息,其中,提示信息用于提示服务器无法获取到任意一个客户端的数据。
在一种可选的实施例中,如果某个TXC客户端下线或者无法访问,则在事务诊断服务器上提示此客户端的数据可能有损失。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1中的相关描述,在此不在赘述。
实施例3
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,该数据处理装置应用于客户端,如图12所示,该装置1200包括:接收模块1202、第一获取模块1204、第二获取模块1206和发送模块1208。
其中,接收模块1202用于接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;第一获取模块用于获取操作事件的时间信息;第二获取模块1206用于基于标识信息和时间信息,获取本地存储的操作事件的操作信息;发送模块1206用于将操作信息发送至服务器。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述梳理装置应用于客户端,该客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。
此处需要说明的是,上述接收模块1202、第一获取模块1204、第二获取模块1206和发送模块1208对应于实施例1中的步骤S302至步骤S308,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
基于本申请上述实施例提供的方案,客户端在接收到服务器发起的查询请求之后,可以基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
可选地,本申请上述实施例中,第一获取模块包括:获取子模块,用于获取本地存储的时间信息;或接收子模块,用于接收服务器发送的时间信息。
可选地,本申请上述实施例中,第二获取模块包括:确定子模块,用于基于标识信息和时间信息,确定本地存储的第一目标文件夹,其中,第一目标文件夹是通过对多级索引目录进行多级索引得到的;读取子模块,用于从第一目标文件夹中读取操作信息。
可选地,本申请上述实施例中,确定子模块包括:第一解析单元,用于对标识信息进行解析,得到第一信息和第二信息,其中,第一信息包括:预设地址信息和预设端口信息,第二信息包括:编号;第一索引单元,用于基于第一信息对多级索引目录中的一级索引目录进行索引,确定本地存储的第一文件夹集合;第二索引单元,用于基于时间信息对多级索引目录中的二级索引目录进行索引,确定第一文件夹集合中的第二文件夹集合;第三索引单元,用于基于第二信息对多级索引目录中的三级索引目录进行索引,确定第二文件夹集合中的第一目标文件夹。
可选地,本申请上述实施例中,获取子模块还用于基于标识信息,获取目标内存中缓存的时间信息,目标内存为客户端的预设进程对应的内存。
可选地,本申请上述实施例中,目标内存中还存储有定期从第二目标文件夹中获取到的时间信息和操作事件的状态信息,其中,第二目标文件夹的文件名中包含预设扩展名。
可选地,本申请上述实施例中,接收模块还用于在客户端向服务器发起操作事件的请求之后,接收服务器发送的操作事件的标识信息;该装置还包括:生成模块,用于基于标识信息,生成多级文件夹;第三获取模块,用于获取操作事件的操作信息;存储模块,用于将操作信息存储至多级文件夹中。
可选地,本申请上述实施例中,生成模块包括:第一生成子模块,用于基于标识信息和操作事件的起始时间,生成多级文件夹,其中,多级文件夹至少包括:第二目标文件夹,第二目标文件夹的文件名中包含预设扩展名;或第二生成子模块,用于基于操作事件和当前时间,生成多级文件夹。
可选地,本申请上述实施例中,第二目标文件夹还存储有标识信息和操作事件的起始时间。
可选地,本申请上述实施例中,第二目标文件夹还存储有操作事件的结束时间和状态信息。
可选地,本申请上述实施例中,该装置还包括:确定模块,用于根据第一配置信息,确定是否启动预设进程;获取模块还用于在确定启动预设进程之后,通过预设进程根据第二配置信息获取服务器的地址信息;发送模块还用于通过预设进程基于服务器的地址信息,发送注册信息至服务器,其中,注册信息包括:多个客户端的地址信息和端口信息。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1中的相关描述,在此不在赘述。
实施例4
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,该数据处理装置应用于服务器,如图13所示,该装置1300包括:第一接收模块1302,第二接收模块1304,处理模块1306和发送模块1308。
其中,第一接收模块1302用于接收控制设备发起的查询请求,并将查询请求发送至多个客户端,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;第二接收模块1304用于接收多个客户端返回的操作事件的操作信息,其中,多个客户端基于标识信息和获取到的操作事件的时间信息,获取本地存储的操作信息;处理模块1306用于对操作信息进行处理,得到处理结果;发送模块1308用于将处理结果发送至控制设备。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述的多个客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的数据处理装置应用于服务器,该服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。TXC客户端中存储的事务信息是采用JSON格式,事务诊断服务器需要对接收到的事务信息进行解析,得到处理后的数据。上述的控制设备可以是事务诊断控制台。
此处需要说明的是,上述第一接收模块1302,第二接收模块1304,处理模块1306和发送模块1308对应于实施例2中的步骤S112至步骤S118,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
基于本申请上述实施例提供的方案,服务器在接收到控制设备发起的查询请求之后,可以将查询请求转发至多个客户端,多个客户端基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,由服务器进行处理,并将处理结果发送至控制设备,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
可选地,本申请上述实施例中,多个客户端包括:第一客户端和第二客户端,第一客户端为向服务器发起操作事件的请求的客户端,第二客户端为除第一客户端之外的其他客户端,其中,该装置还包括:第三接收模块,用于发送标识信息至多个客户端,并接收第一客户端返回的操作事件的时间信息,其中,第一客户端基于标识信息,获取本地存储的时间信息;发送模块还用于发送标识信息和时间信息至第二客户端。
可选地,本申请上述实施例中,该装置还包括:输出模块,用于在检测到多个客户端中的任意一个客户端处于离线状态或无法访问之后,输出提示信息,其中,提示信息用于提示服务器无法获取到任意一个客户端的数据。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1中的相关描述,在此不在赘述。
实施例5
根据本申请实施例,还提供了一种数据处理***,如图14所示,该***包括:控制设备142、服务器144和多个客户端146。
其中,控制设备142与服务器144具有通信关系,用于发送查询请求至服务器,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;服务器与多个客户端146具有通信关系,用于将查询请求发送至多个客户端;多个客户端用于获取操作事件的时间信息,并基于标识信息和时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器;服务器还用于对操作信息进行处理,得到处理结果,并将处理结果发送至控制设备。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述的多个客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。TXC客户端中存储的事务信息是采用JSON格式,事务诊断服务器需要对接收到的事务信息进行解析,得到处理后的数据。上述的控制设备可以是事务诊断控制台。
在一种可选的实施例中,当用户需要查询完整事务信息时,用户可以进入事务诊断控制台,输入需要查询的事务XID,此时,事务诊断服务器收到查询请求并进行处理,将事务XID发送给相关的多个TXC客户端,每个TXC客户端可以根据事务XID和事务的起止时间查询到本地磁盘存储的事务信息,并发送给事务诊断服务器,由事务诊断服务器进行汇总分析,得到事务XID的所有的事务信息,事务诊断服务器对返回的事务信息进行JSON解析,并将处理后的数据返回至事务诊断控制台进行显示,从而用户可以查看到客户端SQL执行前后数据变化信息。
基于本申请上述实施例提供的方案,服务器在接收到控制设备发起的查询请求之后,可以将查询请求转发至多个客户端,多个客户端基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,由服务器进行处理,并将处理结果发送至控制设备,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
可选地,本申请上述实施例中,多个客户端包括:第一客户端和第二客户端,第一客户端为向服务器发起操作事件的请求的客户端,第二客户端为除第一客户端之外的其他客户端。第一客户端用于获取本地存储的操作事件的时间信息;第二客户端用于接收服务器发送的时间信息。
具体地,上述的第一客户端可以是事务发起者的TXC客户端,第二客户端可以是事务参与者的TXC客户端,事务发起者的TXC客户端中存储有事务XID、事务的起止时间等,而事务参与者的TXC客户端中并不存储相应的信息。上述的时间信息可以是事务的起止时间,包括:开启时间和结束时间。
在一种可选的实施例中,多个TXC客户端在接收到事务诊断服务器发送的事务XID之后,由于事务发起者的TXC客户端本地存储有该事务XID,事务发起者的TXC客户端会进行应答,应答信息包含事务的起止时间,而事务参与者的TXC客户端不会进行应答。事务诊断服务器器在接收到事务的起止时间之后,会向多个TXC客户端进行广播,从而事务参与者的TXC客户端会收到事务的起止时间。多个TXC客户端可以根据事务XID以及事务的起止时间,在本地磁盘中查询到事务信息,并返回给事务诊断服务器。
可选地,本申请上述实施例中,多个客户端还用于基于标识信息和时间信息,确定本地存储的第一目标文件夹,并从第一目标文件夹中读取操作信息,其中,第一目标文件夹是通过对多级索引目录进行多级索引得到的。
可选地,本申请上述实施例中,多个客户端还用于对标识信息进行解析,得到第一信息和第二信息,基于第一信息对多级索引目录中的一级索引目录进行索引,确定本地存储的第一文件夹集合,基于时间信息对多级索引目录中的二级索引目录进行索引,确定第一文件夹集合中的第二文件夹集合,并基于第二信息对多级索引目录中的三级索引目录进行索引,确定第二文件夹集合中的第一目标文件夹,其中,第一信息包括:预设地址信息和预设端口信息,第二信息包括:编号。
可选地,本申请上述实施例中,第一客户端还用于基于标识信息,获取目标内存中缓存的时间信息,目标内存为客户端的预设进程对应的内存。
可选地,本申请上述实施例中,目标内存中还存储有定期从第二目标文件夹中获取到的时间信息和操作事件的状态信息,其中,第二目标文件夹的文件名中包含预设扩展名。
可选地,本申请上述实施例中,多个客户端还用于在客户端向服务器发起操作事件的请求之后,接收服务器发送的操作事件的标识信息,基于标识信息,生成多级文件夹,获取操作事件的操作信息,并将操作信息存储至多级文件夹中。
可选地,本申请上述实施例中,第一客户端还用于基于标识信息和操作事件的起始时间,生成多级文件夹,其中,多级文件夹至少包括:第二目标文件夹,第二目标文件夹的文件名中包含预设扩展名;第二客户端还用于基于操作事件和当前时间,生成多级文件夹。
可选地,本申请上述实施例中,第二目标文件夹还存储有标识信息和操作事件的起始时间。
可选地,本申请上述实施例中,第二目标文件夹还存储有操作事件的结束时间和状态信息。
可选地,本申请上述实施例中,多个客户端还用于根据第一配置信息,确定是否启动预设进程;预设进程还用于在确定启动预设进程之后,根据第二配置信息获取服务器的地址信息,并基于服务器的地址信息,发送注册信息至服务器,其中,注册信息包括:多个客户端的地址信息和端口信息。
可选地,本申请上述实施例中,服务器还用于在检测到多个客户端中的任意一个客户端处于离线状态或无法访问之后,输出提示信息,其中,提示信息用于提示服务器无法获取到任意一个客户端的数据。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1中的相关描述,在此不在赘述。
实施例6
根据本申请实施例,还提供了一种数据处理***,包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:客户端接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;客户端获取操作事件的时间信息;客户端基于标识信息和时间信息,获取本地存储的操作事件的操作信息;客户端将操作信息发送至服务器。
基于本申请上述实施例提供的方案,客户端在接收到服务器发起的查询请求之后,可以基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,但不仅限于实施例1中的相关描述,在此不在赘述。
实施例7
根据本申请实施例,还提供了一种操作事件的诊断处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图15是根据本申请实施例的一种操作事件的诊断处理方法的流程图。如图15所示,该方法包括如下步骤:
步骤S1502,服务器接收用于对操作事件进行诊断处理对应的诊断请求,其中,诊断请求包括:操作事件的标识信息,操作事件标识信息用于表征服务器对数据库进行操作对应的事件。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述的服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。
步骤S1504,服务器基于诊断请求,获取多个客户端本地存储的操作事件的操作信息。
具体地,上述的多个客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。
步骤S1506,服务器对操作信息进行诊断处理,得到诊断结果。
具体地,TXC客户端中存储的事务信息是采用JSON格式,事务诊断服务器需要对接收到的事务信息进行解析,得到诊断结果。
在一种可选的实施例中,当用户需要查询完整事务信息时,用户可以进入事务诊断控制台,输入需要查询的事务XID,此时,事务诊断服务器收到查询请求并进行处理,将事务XID发送给相关的多个TXC客户端,每个TXC客户端可以根据事务XID查询到本地磁盘存储的事务信息,并发送给事务诊断服务器,由事务诊断服务器进行汇总分析,得到事务XID的所有的事务信息,事务诊断服务器对返回的事务信息进行JSON解析,并将处理后的数据返回至事务诊断控制台进行显示,从而用户可以查看到客户端SQL执行前后数据变化信息。
基于本申请上述实施例提供的方案,服务器在接收到用于对操作事件进行诊断处理对应的诊断请求之后,可以基于诊断请求中携带的标识信息,获取多个客户端本地存储的操作事件的操作信息,并对操作信息进行诊断处理,得到相应的诊断结果,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
实施例8
根据本申请实施例,还提供了一种用于实施上述操作事件的诊断处理方法的操作事件的诊断处理装置,如图16所示,该装置1600包括:接收模块1602、获取模块1604和处理模块1606。
其中,接收模块1602用于接收用于对操作事件进行诊断处理对应的诊断请求,其中,诊断请求包含:操作事件的标识信息,标识信息用于表征服务器对数据库进行操作对应的事件;获取模块1604用于基于诊断请求,获取多个客户端本地存储的操作事件的操作信息;处理模块1606用于对操作信息进行诊断处理,得到诊断结果。
具体地,上述的标识信息可以是访问并更新数据库中数据的分布式事务的XID,上述的服务器可以是事务诊断服务器和TXC服务器,用户可以通过事务诊断服务器查询事务信息,TXC客户端通过TXC服务器可以发起事务或参与事务。上述的多个客户端可以是TXC客户端,包括:事务发起者的TXC客户端和事务参与者的TXC客户端;上述的操作信息可以是事务信息,包括事务分支,分支操作时间,SQL,分支前后镜像信息等,所有的事务信息可以采用分布式方式存储在多个客户端本地磁盘中,每个客户端独立记录自己的事务信息到本地文件中。TXC客户端中存储的事务信息是采用JSON格式,事务诊断服务器需要对接收到的事务信息进行解析,得到诊断结果。
此处需要说明的是,上述接收模块1602、获取模块1604和处理模块1606对应于实施例7中的步骤S1502至步骤S1506,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例7所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
基于本申请上述实施例提供的方案,服务器在接收到查询请求之后,可以基于查询请求中携带的标识信息,获取多个客户端本地存储的操作事件的操作信息,并对操作信息进行处理,得到相应的诊断结果,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
实施例9
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行数据处理方法中以下步骤的程序代码:接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,操作事件用于对服务器的数据库进行操作;获取操作时间的时间信息;基于标识信息和时间信息,获取本地存储的操作事件的操作信息;将操作信息发送至服务器。
可选地,图17是根据本申请实施例的一种计算机终端的结构框图。如图17所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1702以及存储器1704。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,操作事件用于对服务器的数据库进行操作;获取操作时间的时间信息;基于标识信息和时间信息,获取本地存储的操作事件的操作信息;将操作信息发送至服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:基于标识信息和时间信息,确定本地存储的第一目标文件夹,其中,第一目标文件夹是通过对多级索引目录进行多级索引得到的;从第一目标文件夹中读取操作信息。
可选的,上述处理器还可以执行如下步骤的程序代码:对标识信息进行解析,得到第一信息和第二信息,其中,第一信息包括:预设地址信息和预设端口信息,第二信息包括:编号;基于第一信息对多级索引目录中的一级索引目录进行索引,确定本地存储的第一文件夹集合;基于时间信息对多级索引目录中的二级索引目录进行索引,确定第一文件夹集合中的第二文件夹集合;基于第二信息对多级索引目录中的三级索引目录进行索引,确定第二文件夹集合中的第一目标文件夹。
可选的,上述处理器还可以执行如下步骤的程序代码:获取本地存储的时间信息;或接收服务器发送的时间信息。
可选的,上述处理器还可以执行如下步骤的程序代码:基于标识信息,获取目标内存中缓存的时间信息,目标内存为客户端的预设进程对应的内存。
可选的,目标内存中还存储有定期从第二目标文件夹中获取到的时间信息和操作事件的状态信息,其中,第二目标文件夹的文件名中包含预设扩展名。
可选的,上述处理器还可以执行如下步骤的程序代码:在客户端向服务器发起操作事件的请求之后,接收服务器发送的操作事件的标识信息;基于标识信息,生成多级文件夹;获取操作事件的操作信息;将操作信息存储至多级文件夹中。
可选的,上述处理器还可以执行如下步骤的程序代码:基于标识信息和操作事件的起始时间,生成多级文件夹,其中,多级文件夹至少包括:第二目标文件夹,第二目标文件夹的文件名中包含预设扩展名;或基于操作事件和当前时间,生成多级文件夹。
可选的,第二目标文件夹还存储有标识信息和操作事件的起始时间。
可选的,第二目标文件夹还存储有操作事件的结束时间和状态信息。
可选的,上述处理器还可以执行如下步骤的程序代码:在接收服务器发起的查询请求之前,根据第一配置信息,确定是否启动预设进程;在确定启动预设进程之后,根据第二配置信息获取服务器的地址信息;基于服务器的地址信息,发送注册信息至服务器,其中,注册信息包括:多个客户端的地址信息和端口信息。
采用本申请实施例,多个客户端在接收到服务器发起的查询请求之后,可以基于标识信息和获取到的时间信息,获取本地存储的操作事件的操作信息,并将操作信息发送至服务器,从而实现分布式事务诊断的目的。与现有技术相比,所有的事务信息存储在多个客户端本地,并且单个客户端出现故障不会影响到所有事务信息的查询,达到了提高查询性能,降低写操作开销,提高***可用性的技术效果,进而解决了现有技术中数据处理方法使用统一数据源集中存储导致性能存在瓶颈且可用性差的技术问题。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收控制设备发起的查询请求,并将查询请求发送至多个客户端,其中,查询请求包括:操作事件的标识信息,操作事件用于对服务器的数据库进行操作;接收多个客户端返回的操作事件的操作信息,其中,多个客户端基于标识信息和获取到的操作事件的时间信息,获取本地存储的操作信息;对操作信息进行处理,得到处理后的数据;将处理后的数据发送至控制设备,其中,处理后的数据由控制设备进行输出。
可选的,多个客户端包括:第一客户端和第二客户端,第一客户端为向服务器发起操作事件的请求的客户端,第二客户端为除第一客户端之外的其他客户端,上述处理器还可以执行如下步骤的程序代码:在将查询请求发送至多个客户端之后,发送标识信息至多个客户端,并接收第一客户端返回的操作事件的时间信息,其中,第一客户端基于标识信息,获取本地存储的时间信息;发送标识信息和时间信息至第二客户端。
可选的,上述处理器还可以执行如下步骤的程序代码:在检测到多个客户端中的任意一个客户端处于离线状态或无法访问之后,输出提示信息,其中,提示信息用于提示服务器无法获取到任意一个客户端的数据。
本领域普通技术人员可以理解,图17所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图17其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图17中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图17所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例10
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收服务器发起的查询请求,其中,查询请求包括:操作事件的标识信息,操作事件用于对服务器的数据库进行操作;获取操作时间的时间信息;基于标识信息和时间信息,获取本地存储的操作事件的操作信息;将操作信息发送至服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收控制设备发起的查询请求,并将查询请求发送至多个客户端,其中,查询请求包括:操作事件的标识信息,操作事件用于对服务器的数据库进行操作;接收多个客户端返回的操作事件的操作信息,其中,多个客户端基于标识信息和获取到的操作事件的时间信息,获取本地存储的操作信息;对操作信息进行处理,得到处理后的数据;将处理后的数据发送至控制设备,其中,处理后的数据由控制设备进行输出。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (20)
1.一种数据处理方法,包括:
客户端接收服务器发起的查询请求,其中,所述查询请求包括:操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;
所述客户端获取所述操作事件的时间信息;
所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作事件的操作信息;
所述客户端将所述操作信息发送至所述服务器;
其中,所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作信息,包括:基于所述标识信息和所述时间信息对多级索引目录进行多级索引,确定本地存储的第一目标文件夹;所述客户端从所述第一目标文件夹中读取所述操作信息。
2.根据权利要求1所述的方法,其中,基于所述标识信息和所述时间信息对所述多级索引目录进行多级索引,确定本地存储的所述第一目标文件夹,包括:
所述客户端对所述标识信息进行解析,得到第一信息和第二信息,其中,所述第一信息包括:预设地址信息和预设端口信息,所述第二信息包括:编号;
所述客户端基于所述第一信息对所述多级索引目录中的一级索引目录进行索引,确定本地存储的第一文件夹集合;
所述客户端基于所述时间信息对所述多级索引目录中的二级索引目录进行索引,确定所述第一文件夹集合中的第二文件夹集合;
所述客户端基于所述第二信息对所述多级索引目录中的三级索引目录进行索引,确定所述第二文件夹集合中的所述第一目标文件夹。
3.根据权利要求1所述的方法,其中,所述客户端获取所述操作事件的时间信息,包括:
所述客户端获取本地存储的所述时间信息;或
所述客户端接收所述服务器发送的时间信息。
4.根据权利要求3所述的方法,其中,所述客户端获取本地存储的所述时间信息,包括:
所述客户端基于所述标识信息,获取目标内存中缓存的所述时间信息,所述目标内存为所述客户端的预设进程对应的内存。
5.根据权利要求4所述的方法,其中,所述目标内存中还存储有定期从第二目标文件夹中获取到的所述时间信息和所述操作事件的状态信息,其中,所述第二目标文件夹的文件名中包含预设扩展名。
6.根据权利要求1所述的方法,其中,在所述客户端向所述服务器发起操作事件的请求之后,所述方法还包括:
所述客户端接收所述服务器发送的所述操作事件的标识信息;
所述客户端基于所述标识信息,生成多级文件夹;
所述客户端获取所述操作事件的操作信息;
所述客户端将所述操作信息存储至所述多级文件夹中。
7.根据权利要求6所述的方法,其中,所述客户端基于所述标识信息,生成多级文件夹,包括:
所述客户端基于所述标识信息和所述操作事件的起始时间,生成所述多级文件夹,其中,所述多级文件夹至少包括:第二目标文件夹,所述第二目标文件夹的文件名中包含预设扩展名;或
所述客户端基于所述操作事件和当前时间,生成所述多级文件夹。
8.根据权利要求7所述的方法,其中,所述第二目标文件夹还存储有所述标识信息和所述操作事件的起始时间。
9.根据权利要求7所述的方法,其中,所述第二目标文件夹还存储有所述操作事件的结束时间和状态信息。
10.根据权利要求1所述的方法,其中,在客户端接收服务器发起的查询请求之前,所述方法还包括:
所述客户端根据第一配置信息,确定是否启动预设进程;
在确定启动所述预设进程之后,所述预设进程根据第二配置信息获取所述服务器的地址信息;
所述预设进程基于所述服务器的地址信息,发送注册信息至所述服务器,其中,所述注册信息包括:所述客户端的地址信息和端口信息。
11.一种数据处理方法,包括:
服务器接收控制设备发起的查询请求,并将所述查询请求发送至多个客户端,其中,所述查询请求包括:操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;
所述服务器接收所述多个客户端分别返回的所述操作事件的操作信息,其中,所述多个客户端基于所述标识信息和获取到的所述操作事件的时间信息,获取本地存储的所述操作信息;
所述服务器对所述操作信息进行处理,得到处理结果;
所述服务器将所述处理结果发送至所述控制设备;
其中,所述多个客户端用于基于所述标识信息和所述时间信息对多级索引目录进行多级索引,确定本地存储的第一目标文件夹,并从所述第一目标文件夹中读取所述操作信息。
12.根据权利要求11所述的方法,其中,所述多个客户端包括:第一客户端和第二客户端,所述第一客户端为向所述服务器发起所述操作事件的请求的客户端,所述第二客户端为除所述第一客户端之外的其他客户端,其中,在所述服务器将所述查询请求发送至多个客户端之后,所述方法还包括:
所述服务器发送所述标识信息至所述多个客户端,并接收所述第一客户端返回的所述操作事件的时间信息,其中,所述第一客户端基于所述标识信息,获取本地存储的所述时间信息;
所述服务器发送所述标识信息和所述时间信息至所述第二客户端。
13.根据权利要求11所述的方法,其中,所述服务器在检测到所述多个客户端中的任意一个客户端处于离线状态或无法访问之后,输出提示信息,其中,所述提示信息用于提示所述服务器无法获取到所述任意一个客户端的数据。
14.一种数据处理***,包括:
控制设备,与服务器具有通信关系,用于发送查询请求至所述服务器,其中,所述查询请求包括:操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;
所述服务器,与多个客户端具有通信关系,用于将所述查询请求发送至所述多个客户端;
所述多个客户端用于获取所述操作事件的时间信息,并基于所述标识信息和所述时间信息,获取本地存储的所述操作事件的操作信息,并将所述操作信息发送至所述服务器;
所述服务器还用于对所述操作信息进行处理,得到处理结果,并将所述处理结果发送至所述控制设备;
其中,所述多个客户端用于基于所述标识信息和所述时间信息对多级索引目录进行多级索引,确定本地存储的第一目标文件夹,并从所述第一目标文件夹中读取所述操作信息。
15.根据权利要求14所述的***,其中,所述多个客户端包括:第一客户端和第二客户端,其中,所述第一客户端用于向所述服务器发起所述操作事件的请求,所述第二客户端为除所述第一客户端之外的其他客户端。
16.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如下步骤:客户端接收服务器发起的查询请求,其中,所述查询请求包括:操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;所述客户端获取所述操作事件的时间信息;所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作事件的操作信息;所述客户端将所述操作信息发送至所述服务器;其中,所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作信息,包括:基于所述标识信息和所述时间信息对多级索引目录进行多级索引,确定本地存储的第一目标文件夹;所述客户端从所述第一目标文件夹中读取所述操作信息。
17.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:客户端接收服务器发起的查询请求,其中,所述查询请求包括:操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;所述客户端获取所述操作事件的时间信息;所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作事件的操作信息;所述客户端将所述操作信息发送至所述服务器;其中,所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作信息,包括:基于所述标识信息和所述时间信息对多级索引目录进行多级索引,确定本地存储的第一目标文件夹;所述客户端从所述第一目标文件夹中读取所述操作信息。
18.一种数据处理***,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:客户端接收服务器发起的查询请求,其中,所述查询请求包括:操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;所述客户端获取所述操作事件的时间信息;所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作事件的操作信息;所述客户端将所述操作信息发送至所述服务器;其中,所述客户端基于所述标识信息和所述时间信息,获取本地存储的所述操作信息,包括:基于所述标识信息和所述时间信息对多级索引目录进行多级索引,确定本地存储的第一目标文件夹;所述客户端从所述第一目标文件夹中读取所述操作信息。
19.一种操作事件的诊断处理方法,包括:
服务器接收用于对操作事件进行诊断处理对应的诊断请求,其中,所述诊断请求包含:所述操作事件的标识信息,所述标识信息用于表征所述服务器对数据库进行操作对应的事件;
所述服务器基于所述诊断请求,获取多个客户端本地存储的所述操作事件的操作信息;
所述服务器对所述操作信息进行诊断处理,得到诊断结果;
其中,所述多个客户端还用于接收所述服务器发送的所述操作事件的标识信息,基于所述标识信息,生成多级文件夹,获取所述操作事件的操作信息,将所述操作信息存储至所述多级文件夹中。
20.一种操作事件的诊断处理装置,包括:
接收模块,用于接收用于对操作事件进行诊断处理对应的诊断请求,其中,所述诊断请求包含:所述操作事件的标识信息,所述标识信息用于表征服务器对数据库进行操作对应的事件;
获取模块,用于基于所述诊断请求,获取多个客户端本地存储的所述操作事件的操作信息;
处理模块,用于对所述操作信息进行诊断处理,得到诊断结果;
其中,所述多个客户端还用于接收所述服务器发送的所述操作事件的标识信息,基于所述标识信息,生成多级文件夹,获取所述操作事件的操作信息,将所述操作信息存储至所述多级文件夹中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910002370.1A CN111400266B (zh) | 2019-01-02 | 2019-01-02 | 数据处理方法和***、操作事件的诊断处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910002370.1A CN111400266B (zh) | 2019-01-02 | 2019-01-02 | 数据处理方法和***、操作事件的诊断处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400266A CN111400266A (zh) | 2020-07-10 |
CN111400266B true CN111400266B (zh) | 2023-05-02 |
Family
ID=71433974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910002370.1A Active CN111400266B (zh) | 2019-01-02 | 2019-01-02 | 数据处理方法和***、操作事件的诊断处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400266B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052226B (zh) * | 2020-09-29 | 2023-10-10 | 北京罗克维尔斯科技有限公司 | 一种车机服务数据的处理方法及装置 |
CN112559467B (zh) * | 2020-12-07 | 2021-08-31 | 掌阅科技股份有限公司 | 分布式***多服务器的请求处理方法及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007006813A1 (en) * | 2005-07-14 | 2007-01-18 | International Business Machines Corporation | Enforcing native access control to indexed documents |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及*** |
CN104881481A (zh) * | 2015-06-03 | 2015-09-02 | 安科智慧城市技术(中国)有限公司 | 一种存取海量时间序列数据的方法及装置 |
CN105930345A (zh) * | 2016-04-05 | 2016-09-07 | 国网浙江省电力公司湖州供电公司 | 基于分布式实时数据库的层次索引方法 |
CN106250287A (zh) * | 2016-07-21 | 2016-12-21 | 柳州龙辉科技有限公司 | 一种日志信息处理装置 |
CN107562757A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于分布式文件***的查询、访问方法、装置及*** |
CN108874947A (zh) * | 2018-06-05 | 2018-11-23 | 亚信科技(中国)有限公司 | 一种数据处理***及数据处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160063021A1 (en) * | 2014-08-28 | 2016-03-03 | Futurewei Technologies, Inc. | Metadata Index Search in a File System |
-
2019
- 2019-01-02 CN CN201910002370.1A patent/CN111400266B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007006813A1 (en) * | 2005-07-14 | 2007-01-18 | International Business Machines Corporation | Enforcing native access control to indexed documents |
CN103853727A (zh) * | 2012-11-29 | 2014-06-11 | 深圳中兴力维技术有限公司 | 提高大数据量查询性能的方法及*** |
CN104881481A (zh) * | 2015-06-03 | 2015-09-02 | 安科智慧城市技术(中国)有限公司 | 一种存取海量时间序列数据的方法及装置 |
CN105930345A (zh) * | 2016-04-05 | 2016-09-07 | 国网浙江省电力公司湖州供电公司 | 基于分布式实时数据库的层次索引方法 |
CN107562757A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于分布式文件***的查询、访问方法、装置及*** |
CN106250287A (zh) * | 2016-07-21 | 2016-12-21 | 柳州龙辉科技有限公司 | 一种日志信息处理装置 |
CN108874947A (zh) * | 2018-06-05 | 2018-11-23 | 亚信科技(中国)有限公司 | 一种数据处理***及数据处理方法 |
Non-Patent Citations (2)
Title |
---|
汤羽 ; 王英杰 ; 范爱华 ; 姚远哲 ; .基于HDFS开源架构与多级索引表的海量数据检索mDHT算法.计算机科学.2013,(第02期),全文. * |
贾冠昕 ; 杨波 ; 彭立志 ; .基于分布式多级目录的NetFlow流数据检索.计算机工程.2008,(第07期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111400266A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109395400B (zh) | 跨游戏的聊天信息处理方法及装置、电子设备、存储介质 | |
US8776043B1 (en) | Service image notifications | |
US20110167114A1 (en) | Automatically synchronizing new contacts across multiple social networking sites | |
CN106933550B (zh) | 全局信息获取、处理及更新方法、装置和*** | |
US20220343398A1 (en) | Order management methods, system, terminal and electronic device based on multi-person ordering | |
CN110753091A (zh) | 一种云平台管理方法和装置 | |
CN111400266B (zh) | 数据处理方法和***、操作事件的诊断处理方法和装置 | |
CN107370809A (zh) | 数据同步方法及数据搜索*** | |
CN110728505A (zh) | 基于多人点单的支付方法、服务器、客户端及*** | |
CN109325056A (zh) | 一种大数据处理方法及装置、通信设备 | |
CN110689334A (zh) | 基于多人点单的支付方法、服务器、客户端及*** | |
US20140108484A1 (en) | Method and system for optimizing distributed transactions | |
CN110311855B (zh) | 用户消息处理方法、装置、电子设备及存储介质 | |
CN105373563B (zh) | 数据库切换方法及装置 | |
CN111756829A (zh) | 账本数据同步方法、装置、设备和存储介质 | |
CN108255955B (zh) | 一种数据处理方法及装置 | |
US8024406B1 (en) | System and method for dispensing e-Care | |
CN110706070A (zh) | 多人点单方法、服务器、客户端及*** | |
CN110928895B (zh) | 一种数据查询、数据表建立方法、装置及设备 | |
CN111488344A (zh) | 基于业务数据区块链的用户操作数据上链方法及*** | |
CN114205354B (zh) | 事件管理***、事件管理方法、服务器及存储介质 | |
CN110659299B (zh) | 数据更新的方法及装置、前端开发客户端 | |
CN104410707B (zh) | 一种用于实现通讯录的方法、装置及*** | |
CN111147568B (zh) | 身份数据的同步方法及装置 | |
CN111258560B (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 |