CN111078773B - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
CN111078773B
CN111078773B CN201911227083.7A CN201911227083A CN111078773B CN 111078773 B CN111078773 B CN 111078773B CN 201911227083 A CN201911227083 A CN 201911227083A CN 111078773 B CN111078773 B CN 111078773B
Authority
CN
China
Prior art keywords
service
data
tree
abstract syntax
type
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
CN201911227083.7A
Other languages
English (en)
Other versions
CN111078773A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201911227083.7A priority Critical patent/CN111078773B/zh
Publication of CN111078773A publication Critical patent/CN111078773A/zh
Application granted granted Critical
Publication of CN111078773B publication Critical patent/CN111078773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种数据处理方法及装置,客户端可以向服务器发送针对目标数据的请求消息。服务器在接收到客户端发送的请求消息后,向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息。客户端接收到服务器发送的响应消息后,基于业务数据和各类型标识,生成对应的抽象语法树,并基于目标数据的业务类型,遍历抽象语法树,得到抽象语法树的节点中存储的目标数据。基于上述处理,可以在一定程度上避免网络业务中断。

Description

一种数据处理方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据处理方法及装置。
背景技术
随着计算机技术的发展和普及,信息对整个社会的影响逐步提高。用户得到信息的方式也越来越多,例如,用户可以通过网页浏览器、APP(Application,应用程序)等客户端得到需要的信息。用户可以通过客户端向服务器发送获取目标信息的请求消息,并接收服务器根据该请求消息发送的数据,进而,客户端可以对接收到的数据进行处理,得到目标信息对应的目标数据,并在显示页面中显示目标信息,以供用户浏览。
现有技术中,服务器向客户端发送的数据通常具有预设的数据结构,客户端中存储有该数据结构对应的数据处理方法,当客户端接收到服务器发送的数据后,可以根据对应的数据处理方法,对接收到的数据进行解析,获取目标数据。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
当服务器升级时,服务器向客户端发送的数据的数据结构可能会发生变化,在接收到服务器发送的数据后,客户端则无法根据与变化前的数据结构对应的数据处理方法,对数据结构发生变化的数据进行解析,会导致网络业务中断。
发明内容
本发明实施例的目的在于提供一种数据处理方法及装置,可以在一定程度上避免网络业务中断。
第一方面,为了达到上述目的,本发明实施例提供了一种数据处理方法,所述方法应用于客户端,所述方法包括:
向服务器发送针对目标数据的请求消息;
接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
可选的,所述基于所述业务数据和各类型标识,生成对应的抽象语法树,包括:
构建用于表示所述各业务类型之间的所属关系的符号表;
构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;
将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
可选的,所述构建用于表示所述各业务类型之间的所属关系的符号表,包括:
确定所述各业务类型中除第一业务类型以外的第二业务类型,其中,所述第一业务类型为所述各业务类型中范围最大的业务类型;
针对每一第二业务类型,确定所述各业务类型中该第二业务类型所属的第三业务类型;
根据所述第二业务类型和所述第三业务类型之间的所属关系,生成所述符号表。
可选的,所述构建所述业务数据对应的语法分析树,包括:
对所述业务数据进行词法分析,得到对应的词序列;
对所述词序列进行语法分析,得到对应的语法分析树。
可选的,所述基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据,包括:
基于深度优先搜索算法,按照从所述抽象语法树的根节点到叶子节点的顺序,遍历所述抽象语法树,确定所述抽象语法树的目标节点,所述目标节点中存储的数据的业务类型与所述目标数据的业务类型相同;
获取所述目标节点中存储的数据,作为所述目标数据。
可选的,在所述基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据之后,所述方法还包括:
根据预设的显示形式,在显示页面中显示所述目标数据。
第二方面,为了达到上述目的,本发明实施例提供了一种数据处理方法,所述方法应用于服务器,所述方法包括:
接收客户端发送的针对目标数据的请求消息;
根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
第三方面,为了达到上述目的,本发明实施例提供了一种数据处理装置,所述装置应用于客户端,所述装置包括:
发送模块,用于向服务器发送针对目标数据的请求消息;
接收模块,用于接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
生成模块,用于基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
获取模块,用于基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
可选的,所述生成模块,包括:
第一处理子模块,用于构建用于表示所述各业务类型之间的所属关系的符号表;
第二处理子模块,用于构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;
第三处理子模块,用于将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
可选的,所述第一处理子模块,具体用于确定所述各业务类型中除第一业务类型以外的第二业务类型,其中,所述第一业务类型为所述各业务类型中范围最大的业务类型;
针对每一第二业务类型,确定所述各业务类型中该第二业务类型所属的第三业务类型;
根据所述第二业务类型和所述第三业务类型之间的所属关系,生成所述符号表。
可选的,所述第二处理子模块,具体用于对所述业务数据进行词法分析,得到对应的词序列;
对所述词序列进行语法分析,得到对应的语法分析树。
可选的,所述获取模块,具体用于基于深度优先搜索算法,按照从所述抽象语法树的根节点到叶子节点的顺序,遍历所述抽象语法树,确定所述抽象语法树的目标节点,所述目标节点中存储的数据的业务类型与所述目标数据的业务类型相同;
获取所述目标节点中存储的数据,作为所述目标数据。
可选的,所述装置还包括:
显示模块,用于根据预设的显示形式,在显示页面中显示所述目标数据。
第四方面,为了达到上述目的,本发明实施例提供了一种数据处理装置,所述装置应用于服务器,所述装置包括:
接收模块,用于接收客户端发送的针对目标数据的请求消息;
发送模块,用于根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
在本发明实施的另一方面,为了达到上述目的,本发明实施例还提供了一种客户端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的数据处理方法的步骤。
在本发明实施的另一方面,为了达到上述目的,本发明实施例还提供了一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面所述的数据处理方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的数据处理方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第二方面所述的数据处理方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据处理方法的步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的数据处理方法的步骤。
本发明实施例提供的一种数据处理方法,客户端向服务器发送针对目标数据的请求消息。服务器在接收到客户端发送的请求消息后,向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息。客户端接收到服务器发送的响应消息后,基于业务数据和各类型标识,生成对应的抽象语法树,并基于目标数据的业务类型,遍历抽象语法树,得到抽象语法树的节点中存储的目标数据。
基于上述处理,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据,可以在一定程度上避免网络业务中断。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理系统的架构图;
图2为本发明实施例提供的一种数据处理方法的流程图;
图3为本发明实施例提供的一种抽象语法树的示意图;
图4为本发明实施例提供的一种构建抽象语法树的流程图;
图5为本发明实施例提供的一种获取目标数据的流程图;
图6为本发明实施例提供的一种数据处理方法的流程图;
图7为本发明实施例提供的一种数据处理方法示例的流程图;
图8为本发明实施例提供的一种数据处理装置的结构图;
图9为本发明实施例提供的一种数据处理装置的结构图;
图10为本发明实施例提供的一种客户端的结构图;
图11为本发明实施例提供的一种服务器的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例提供的一种数据处理系统的架构图,该数据处理系统可以包括:客户端和服务器。
客户端可以向服务器发送针对目标数据的请求消息。服务器在接收到客户端发送的请求消息后,向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息。客户端接收到服务器发送的响应消息后,基于业务数据和各类型标识,生成对应的抽象语法树,并基于目标数据的业务类型,遍历抽象语法树,得到抽象语法树的节点中存储的目标数据。
可见,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据,可以在一定程度上避免网络业务中断。
下面再通过具体实施例对本发明进行详细介绍。
参见图2,图2为本发明实施例提供的一种数据处理方法的流程图,该方法应用于客户端,该方法包括如下步骤:
S201:向服务器发送针对目标数据的请求消息。
在发明实施例中,用户通过客户端获取互联网提供的信息时,可以向客户端输入显示某一信息的指令,则客户端可以在显示页面中显示该信息,以供用户浏览。
在显示页面中显示该信息之前,客户端可以获取该信息对应的数据(即本发明实施例中的目标数据),则客户端可以向服务器发送针对目标数据的请求消息。
相应的,服务器在接收到客户端发送的针对目标数据的请求消息时,可以根据该请求消息,服务器可以向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息,以使客户端根据接收到的响应消息,进行相应处理。
S202:接收服务器根据请求消息发送的携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息。
其中,业务数据可以包括目标数据。
可以理解的是,业务数据中可以包含多个数据,多个数据可以属于不同的各业务类型。
示例性的,如果用户向客户端输入显示电影A的上映时间的指令,客户端可以向服务器发送针对电影A的上映时间(即目标数据)的请求消息,服务器接收到该请求消息之后,可以向客户端发送携带有电影A的数据(即业务数据)和电影A的数据分别所属的各业务类型的响应消息,电影A的数据可以包括:名称:电影A,上映时间:2019年08月05日,电影类型:内地、战争,姓名:演员B,角色:角色C,演员类型:主演,业务类型可以包括:名称、上映时间、电影类型、演员、姓名、角色、演员类型。
S203:基于业务数据和各类型标识,生成对应的抽象语法树。
其中,抽象语法树中的一个节点用于存储业务数据中属于同一个业务类型的数据。
客户端接收到服务器发送的响应消息之后,可以根据响应消息中携带的业务数据,以及业务数据分别所属的各业务类型的类型标识,构建对应的抽象语法树。
可选的,S203可以包括以下步骤:
步骤一:构建用于表示各业务类型之间的所属关系的符号表。
其中,符号表是一种数据结构。
一种实现方式中,客户端可以确定各业务类型中除第一业务类型(即范围最大的业务类型)外的业务类型(即第二业务类型),并确定各第二业务类型所属的业务类型(即第三业务类型),进而,可以得到各业务类型之间的所属关系。
客户端可以创建一个空的符号表,符号表中的每个符号可以表示为(property(属性),type(类型))形式,property用于表示第二业务类型,则type可以表示第二业务类型所属的第三业务类型。
客户端可以根据确定的各业务类型之间的所属关系,确定符号表中每个符号的属性和类型,进而,可以得到表示各业务类型之间的所属关系的符号表。
示例性的,参见表1,表1为本发明实施例提供的一种符号表。业务类型可以包括:所有电影、电影、名称、上映时间、电影类型、演员、姓名、角色、演员类型。客户端可以创建一个空的符号表,用于存放能够表示各业务类型之间的所属关系的多个符号。
然后,客户端可以确定“所有电影”业务类型为范围最大的业务类型,然后,客户端还可以确定“电影”业务类型所属的业务类型为“所有电影”业务类型;“名称”业务类型、“上映时间”业务类型、“电影类型”业务类型、“演员”业务类型所属的业务类型为“电影”业务类型;“姓名”业务类型、“角色”业务类型、“演员类型”业务类型所属的业务类型为“演员”业务类型。
客户端还可以根据各业务类型之间的所属关系,确定(电影,所有电影)为一个符号,可以表示“电影”业务类型所属的业务类型为“所有电影”业务类型;(名称,电影)为一个符号,可以表示“名称”业务类型所属的业务类型为“电影”业务类型,(上映时间,电影)为一个符号,可以表示“上映时间”业务类型所属的业务类型为“电影”业务类型;以此类推,可以确定表示各业务类型之间的所属关系的多个符号。
表1
属性 类型
电影 所有电影
名称 电影
上映时间 电影
电影类型 电影
演员 电影
姓名 演员
角色 演员
演员类型 演员
进而,将确定的多个符号存放在创建的空符号表中,可以得到表示各业务类型之间所属关系的符号表。
步骤二:构建业务数据对应的语法分析树。
其中,语法分析树中的节点与业务数据所包含的数据一一对应。
客户端可以对业务数据进行词法分析,得到对应的词序列。
一种实现方式中,客户端可以按照从左至右的顺序,对表示业务数据的字符序列(即业务数据对应的源代码)进行词语转换,得到业务数据对应的词序列。
然后,客户端可以对词法分析得到的词序列进行语法分析,得到对应的语法分析树。
一种实现方式中,针对词序列中的每一个单词,客户端可以根据该单词的数据类型,调用该数据类型对应的构造函数,构造该单词对应的节点。例如:如果某一单词的数据类型是Object(对象)类型,客户端可以使用ObjectInit(对象初始化)函数,构造该单词对应的节点。另外,如果该单词对应的节点包含多个属性,则客户端可以采用最左推导(一种数据分析方式)方式对后续的单词进行分析,得到该单词对应的节点的多个的子节点,各子节点的数据格式为MemberExpression(访问字段或属性)格式。
然后,调用PropertyInit(属性初始化)函数,确定每个子节点中存储的数据,以及该节点存储的数据的业务类型。并根据TypeDeclInit(类型定义)函数,将每一节点存储的数据的数据类型定义为基础的数据类型(例如,Number(数值)数据类型,Boolean(布尔逻辑体系)数据类型,String(字符串)类型,Undefined(常量未定义)类型,Null(空指针)类型,Object类型)。进而,可以得到业务数据对应的语法分析树。
步骤三:将语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于符号表中记录的各业务类型之间的所属关系,确定抽象语法树中除最底层节点以外的其他节点对应的业务类型,得到抽象语法树。
其中,抽象语法树的各节点与各业务类型一一对应,抽象语法树的各节点之间的父子关系与符号表中记录的各业务类型之间的所属关系相符。
在客户端构建用于表示各业务类型之间所属关系的符号表,以及业务数据对应的语法分析树之后,客户端可以将语法分析树中的节点,作为对应的抽象语法树的最底层节点,然后,根据object.keys(获取索引)函数,获取最底层节点中存储的数据的业务类型,进而,可以得到对应的业务类型列表。最底层节点中的各节点对应的业务类型不包含子类型,因此,可以将最底层节点对应的业务类型称为底层业务类型。
针对每一底层业务类型,客户端可以根据符号表中记录的各业务类型之间的所属关系,确定该底层业务类型所属的业务类型(可以称为中间层业务类型)。再根据各业务类型之间的所属关系,确定中间层业务类型所属的业务类型。以此类推,直至确定出的业务类型为范围最大的业务类型。
进而,确定抽象语法树的根节点(即范围最大的业务类型对应的节点)和叶子节点,以及各节点的子节点。然后,可以将业务数据中的属于同一业务类型的数据,存储到该业务类型对应的节点中,得到对应的抽象语法树。
示例性的,业务数据可以包括:名称:电影A,上映时间:2019年08月05日,电影类型:内地、战争,姓名:演员B,角色:角色C,演员类型:主演。业务类型可以包括:所有电影、电影、名称、上映时间、电影类型、演员、姓名、角色、演员类型。
客户端可以确定底层业务类型包括:名称、上映时间、电影类型、姓名、角色、演员类型。
然后,客户端可以根据符号表中记录的各业务类型之间的所属关系,确定“姓名”业务类型、“角色”业务类型和“演员类型”业务类型所属的业务类型为演员业务类型;“名称”业务类型、“上映时间”业务类型、“电影类型”业务类型和“演员”业务类型所属的业务类型为“电影”业务类型;“电影”业务类型所属的业务类型为“所有电影”业务类型。
进而,客户端可以根据各业务类型之间的所属关系,确定“所有电影”业务类型对应的节点为抽象语法树的根节点,“电影业务”类型、“名称”业务类型、“上映时间”业务类型、“电影类型”业务类型、“演员”业务类型对应的节点为抽象语法树的叶子节点。且“所有电影”业务类型对应的节点的子节点为“电影”业务类型对应的节点;“电影”业务类型对应的节点的子节点为“名称”业务类型、“上映时间”业务类型、“电影类型”业务类型、“演员”业务类型对应的节点。
然后,客户端可以将“电影A”存储到“名称”业务类型节点中;将“2019年08月05日”存储到“上映时间”业务类型节点中;将“内地、战争”存储到“电影类型”业务类型节点中;将“演员B,角色C,主演”存储到“演员”业务类型节点中,得到对应的抽象语法树。
S204:基于目标数据的业务类型,遍历抽象语法树,得到抽象语法树的节点中存储的目标数据。
在对业务数据和各业务类型进行处理,构建对应的抽象语法树之后,客户端可以根据目标数据的业务类型,基于深度优先搜索算法,按照从根节点到叶子节点的顺序,遍历抽象语法树,确定抽象语法树的目标节点,目标节点中存储的数据与目标数据的业务类型相同,进而,获取目标节点中存储的数据(即目标数据)。
一种实现方式中,客户端可以定义一个输出对象,用于从抽象语法树的节点中导出目标数据,当基于深度优先搜索算法,确定出抽象语法树的目标节点时,可以将目标节点中存储的数据赋值给定义的输出对象,得到目标数据。
示例性,参见图3,图3为本发明实施例提供的一种抽象语法树的示意图。该抽象语法树的节点包括:“所有电影”业务类型对应的节点,“电影”业务类型对应的节点,“名称”业务类型对应的节点,“上映时间”业务类型对应的节点,“电影类型”业务类型对应的节点,“演员”业务类型对应的节点,且“所有电影”业务类型对应的节点为该抽象语法树的根节点,其他的业务类型对应的节点为叶子节点。
如果客户端需要获取的目标数据为角色列表,即,目标数据所属的业务类型为“演员”业务类型。客户端可以定义一个输出对象,用于从抽象语法树的节点中导出目标数据。
然后,客户端可以基于深度优先搜索算法,按照从该抽象语法树的根节点(“所有电影”业务类型对应的节点)到叶子节点(“名称”业务类型对应的节点)的顺序,遍历该抽象语法树的第一分支(所有电影-电影-名称),并判断是否存在存储的数据的业务类型与目标数据的业务类型相同的节点(即目标节点)。
由于第一分支中不存在目标节点,当遍历完第一分支后,客户端可以继续遍历第二分支(电影-上映时间)、第三分支(电影-类型)和第四分支(电影-演员),直至确定出抽象语法树的目标节点。
客户端在遍历该抽象语法树的第四分支时,判定“演员”业务类型对应的节点为目标节点。则客户端可以将“演员”业务类型对应的节点(即目标节点)中存储的数据赋值给定义的输出对象,得到目标数据。
另外,客户端还可以根据预设的显示形式,在显示页面中显示目标数据。
一种实现方式中,目标数据的显示形式可以为预先设置的,客户端获取目标数据之后,可以按照预设的显示形式,在显示页面中显示目标数据,以供用户浏览。
示例性,客户端从抽象语法树的演员业务类型对应的节点(即目标节点)中获取的目标数据为:姓名:演员A,角色:角色B,演员类型:主演。预设的显示形式为:姓名-角色-演员类型,则客户端可以在显示页面中显示:演员A-角色B-主演。
基于上述处理,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据。可以在一定程度上避免网络业务中断。
参见图4,图4为本发明实施例提供的一种构建抽象语法树的流程图,包括以下步骤:
S401:构建用于表示各业务类型之间的所属关系的符号表。
S402:构建业务数据对应的语法分析树。
其中,语法分析树中的节点与业务数据所包含的数据一一对应。
S403:根据获取索引函数,获取抽象语法树的最底层节点对应的底层业务类型。
S404:根据各底层业务类型和符号表中记录的各业务类型之间的所属关系,确定抽象语法树的各节点之间的父子关系。
S405:将业务数据中属于同一业务类型的数据,存储到该业务类型对应的节点中,得到对应的抽象语法树。
参见图5,图5为本发明实施例提供的一种获取目标数据的流程图,包括以下步骤:
S501:定义用于从抽象语法树的节点中导出目标数据的输出对象。
S502:根据目标数据的业务类型,基于深度优先搜索算法,遍历抽象语法树,确定抽象语法树的目标节点。
其中,目标节点中存储的数据的业务类型与目标数据的业务类型相同。
S503:将目标节点中存储的数据赋值给定义的输出对象,得到目标数据。
S504:根据预设的显示形式,从抽象语法树的目标节点中导出目标数据。
参见图6,图6为本发明实施例提供的一种数据处理方法的流程图,该方法应用于服务器,该方法可以包括以下步骤:
S601:接收客户端发送的针对目标数据的请求消息。
在发明实施例中,如果用户需要浏览某一信息,客户端可以在显示页面中显示该信息。客户端在显示页面中显示该信息之前,可以获取该信息对应的数据(即本发明实施例中的目标数据),即客户端可以向服务器发送针对目标数据的请求消息。
S602:根据请求消息向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息,业务数据包括目标数据,以使客户端在接收到响应消息时,基于业务数据和各类型标识,生成对应的抽象语法树,并基于目标数据的业务类型,遍历抽象语法树,得到抽象语法树的节点中存储的目标数据。
服务器在接收到客户端发送的针对目标数据的请求消息之后,可以根据该请求消息,服务器可以向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息。
示例性的,如果服务器接收到客户端发送的针对电影A的上映时间(即目标数据)的请求消息,服务器可以根据该请求消息,向客户端发送携带有电影A的数据(即业务数据),以及电影A的数据分别所属的各业务类型的类型标识的响应消息。
相应的,客户端在接收到响应消息时,可以根据响应消息中携带的业务数据和各类型标识,构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,基于深度优先搜索算法,遍历抽象语法树,获取目标数据。客户端构建抽象语法树,并遍历抽象语法树,获取目标数据的方法,参见上述实施例中的详细介绍,此处不再赘述。
基于上述处理,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据。可以在一定程度上避免网络业务中断。
参见图7,图7为本发明实施例提供的一种数据处理方法示例的流程图,该方法应用于客户端和服务器,该方法可以包括以下步骤:
S701:客户端向服务器发送针对目标数据的请求消息。
S702:服务器根据请求消息向客户端发送携带有业务数据和业务数据分别所属的各业务类型的类型标识的响应消息。
其中,业务数据包括目标数据。
S703:客户端构建用于表示各业务类型之间的所属关系的符号表。
S704:客户端构建业务数据对应的语法分析树。
其中,语法分析树中的节点与业务数据所包含的数据一一对应。
S705:客户端将语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于符号表中记录的各业务类型之间的所属关系,确定抽象语法树中除最底层节点以外的其他节点对应的业务类型,得到抽象语法树。
其中,抽象语法树中的一个节点用于存储业务数据中属于同一个业务类型的数据,抽象语法树的各节点与各业务类型一一对应,抽象语法树的各节点之间的父子关系与符号表中记录的各业务类型之间的所属关系相符。
S706:客户端根据目标数据的业务类型,基于深度优先搜索算法,按照从抽象语法树的根节点到叶子节点的顺序,遍历抽象语法树,确定抽象语法树的目标节点。
其中,目标节点中存储的数据的业务类型与目标数据的业务类型相同。
S707:获取目标节点中存储的数据,作为目标数据。
与图2的方法实施例相对应,参见图8,图8为本发明实施例提供的一种数据处理装置的结构图,所述装置应用于客户端,所述装置包括:
发送模块801,用于向服务器发送针对目标数据的请求消息;
接收模块802,用于接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
生成模块803,用于基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
获取模块804,用于基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
可选的,所述生成模块803,包括:
第一处理子模块,用于构建用于表示所述各业务类型之间的所属关系的符号表;
第二处理子模块,用于构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;
第三处理子模块,用于将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
可选的,所述第一处理子模块,具体用于确定所述各业务类型中除第一业务类型以外的第二业务类型,其中,所述第一业务类型为所述各业务类型中范围最大的业务类型;
针对每一第二业务类型,确定所述各业务类型中该第二业务类型所属的第三业务类型;
根据所述第二业务类型和所述第三业务类型之间的所属关系,生成所述符号表。
可选的,所述第二处理子模块,具体用于对所述业务数据进行词法分析,得到对应的词序列;
对所述词序列进行语法分析,得到对应的语法分析树。
可选的,所述获取模块804,具体用于基于深度优先搜索算法,按照从所述抽象语法树的根节点到叶子节点的顺序,遍历所述抽象语法树,确定所述抽象语法树的目标节点,所述目标节点中存储的数据的业务类型与所述目标数据的业务类型相同;
获取所述目标节点中存储的数据,作为所述目标数据。
可选的,所述装置还包括:
显示模块,用于根据预设的显示形式,在显示页面中显示所述目标数据。
与图6的方法实施例相对应,参见图9,图9为本发明实施例提供的一种数据处理装置的结构图,所述装置应用于服务器,所述装置包括:
接收模块901,用于接收客户端发送的针对目标数据的请求消息;
发送模块902,用于根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
本发明实施例还提供了一种客户端,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
向服务器发送针对目标数据的请求消息;
接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
本发明实施例还提供了一种服务器,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序时,实现如下步骤:
接收客户端发送的针对目标数据的请求消息;
根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
上述客户端、服务器提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述客户端、服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于上述处理,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据。可以在一定程度上避免网络业务中断。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中提供的应用于客户端的数据处理方法的步骤。
具体的,应用于客户端的数据处理方法,包括如下步骤:
向服务器发送针对目标数据的请求消息;
接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中提供的应用于服务器的数据处理方法的步骤。
具体的,应用于服务器的数据处理方法,包括如下步骤:
接收客户端发送的针对目标数据的请求消息;
根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
基于上述处理,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据。可以在一定程度上避免网络业务中断。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中提供的应用于客户端的数据处理方法的步骤。
具体的,应用于客户端的数据处理方法,包括如下步骤:
向服务器发送针对目标数据的请求消息;
接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中提供的应用于服务器的数据处理方法的步骤。
具体的,应用于服务器的数据处理方法,包括如下步骤:
接收客户端发送的针对目标数据的请求消息;
根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据。
基于上述处理,即使服务器向客户端发送的业务数据的数据结构发生变化,客户端可以根据响应消息中携带的业务数据和各类型标识,将业务数据的数据结构转换为客户端可以处理的数据结构,即构建对应的抽象语法树。进而,客户端可以根据目标数据的业务类型,遍历抽象语法树,获取抽象语法树的节点中存储的目标数据。可以在一定程度上避免网络业务中断。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、客户端、服务器、计算机可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种数据处理方法,其特征在于,所述方法应用于客户端,所述方法包括:
向服务器发送针对目标数据的请求消息;
接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据;
所述基于所述业务数据和各类型标识,生成对应的抽象语法树,包括:
构建用于表示所述各业务类型之间的所属关系的符号表;
构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;
将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
2.根据权利要求1所述的方法,其特征在于,所述构建用于表示所述各业务类型之间的所属关系的符号表,包括:
确定所述各业务类型中除第一业务类型以外的第二业务类型,其中,所述第一业务类型为所述各业务类型中范围最大的业务类型;
针对每一第二业务类型,确定所述各业务类型中该第二业务类型所属的第三业务类型;
根据所述第二业务类型和所述第三业务类型之间的所属关系,生成所述符号表。
3.根据权利要求1所述的方法,其特征在于,所述构建所述业务数据对应的语法分析树,包括:
对所述业务数据进行词法分析,得到对应的词序列;
对所述词序列进行语法分析,得到对应的语法分析树。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据,包括:
基于深度优先搜索算法,按照从所述抽象语法树的根节点到叶子节点的顺序,遍历所述抽象语法树,确定所述抽象语法树的目标节点,所述目标节点中存储的数据的业务类型与所述目标数据的业务类型相同;
获取所述目标节点中存储的数据,作为所述目标数据。
5.根据权利要求1所述的方法,其特征在于,在所述基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据之后,所述方法还包括:
根据预设的显示形式,在显示页面中显示所述目标数据。
6.一种数据处理方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收客户端发送的针对目标数据的请求消息;
根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据;所述客户端执行所述基于所述业务数据和各类型标识,生成对应的抽象语法树的步骤包括:构建用于表示所述各业务类型之间的所属关系的符号表;构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
7.一种数据处理装置,其特征在于,所述装置应用于客户端,所述装置包括:
发送模块,用于向服务器发送针对目标数据的请求消息;
接收模块,用于接收所述服务器根据所述请求消息发送的响应消息,其中,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据;
生成模块,用于基于所述业务数据和各类型标识,生成对应的抽象语法树,所述抽象语法树中的一个节点用于存储所述业务数据中属于同一个业务类型的数据;
获取模块,用于基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据;
所述生成模块,包括:
第一处理子模块,用于构建用于表示所述各业务类型之间的所属关系的符号表;
第二处理子模块,用于构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;
第三处理子模块,用于将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
8.一种数据处理装置,其特征在于,所述装置应用于服务器,所述装置包括:
接收模块,用于接收客户端发送的针对目标数据的请求消息;
发送模块,用于根据所述请求消息向所述客户端发送响应消息,所述响应消息中携带有业务数据和所述业务数据分别所属的各业务类型的类型标识,所述业务数据包括所述目标数据,以使所述客户端在接收到所述响应消息时,基于所述业务数据和各类型标识,生成对应的抽象语法树,并基于所述目标数据的业务类型,遍历所述抽象语法树,得到所述抽象语法树的节点中存储的所述目标数据;所述客户端执行所述基于所述业务数据和各类型标识,生成对应的抽象语法树的步骤包括:构建用于表示所述各业务类型之间的所属关系的符号表;构建所述业务数据对应的语法分析树,所述语法分析树中的节点与所述业务数据所包含的数据一一对应;将所述语法分析树中的节点,作为对应的抽象语法树的最底层节点,并基于所述符号表中记录的所述各业务类型之间的所属关系,确定所述抽象语法树中除所述最底层节点以外的其他节点对应的业务类型,得到所述抽象语法树,其中,所述抽象语法树的各节点与所述各业务类型一一对应,所述抽象语法树的各节点之间的父子关系与所述符号表中记录的所述各业务类型之间的所属关系相符。
9.一种客户端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
10.一种服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求6所述的方法步骤。
CN201911227083.7A 2019-12-04 2019-12-04 一种数据处理方法及装置 Active CN111078773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911227083.7A CN111078773B (zh) 2019-12-04 2019-12-04 一种数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911227083.7A CN111078773B (zh) 2019-12-04 2019-12-04 一种数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN111078773A CN111078773A (zh) 2020-04-28
CN111078773B true CN111078773B (zh) 2023-09-05

Family

ID=70312722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911227083.7A Active CN111078773B (zh) 2019-12-04 2019-12-04 一种数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN111078773B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897523B (zh) * 2020-06-29 2024-03-15 北京金茂绿建科技有限公司 一种信息显示方法和装置
CN111800520B (zh) * 2020-09-08 2021-06-15 北京维数统计事务所有限公司 业务处理方法、装置、电子设备和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776639A (zh) * 2015-11-24 2017-05-31 腾讯科技(深圳)有限公司 基于结构化查询语言的数据处理方法及数据处理装置
CN109766354A (zh) * 2018-12-04 2019-05-17 北京辰森世纪科技股份有限公司 业务数据查询的优化方法、装置及设备
CN110096513A (zh) * 2019-04-10 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询、资金核对方法及装置
CN110399388A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 数据查询方法、系统和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8359305B1 (en) * 2011-10-18 2013-01-22 International Business Machines Corporation Query metadata engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776639A (zh) * 2015-11-24 2017-05-31 腾讯科技(深圳)有限公司 基于结构化查询语言的数据处理方法及数据处理装置
CN109766354A (zh) * 2018-12-04 2019-05-17 北京辰森世纪科技股份有限公司 业务数据查询的优化方法、装置及设备
CN110096513A (zh) * 2019-04-10 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询、资金核对方法及装置
CN110399388A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 数据查询方法、系统和设备

Also Published As

Publication number Publication date
CN111078773A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6612303B2 (ja) ユーザコンタクトエントリのデータ設定
Oussalah et al. A software architecture for Twitter collection, search and geolocation services
CN109977366B (zh) 一种目录生成方法及装置
CN111399756B (zh) 一种数据存储方法、数据下载方法及装置
CN109725980B (zh) 生成镜像标签的方法、设备以及计算机可读介质
CN108958959B (zh) 检测hive数据表的方法和装置
CN106611008B (zh) 一种互联网内容标签的管理方法及装置
CN111382341B (zh) 一种基于大数据的科技信息资源检索查询系统及方法
CN111078773B (zh) 一种数据处理方法及装置
CN107273504A (zh) 一种基于Kudu的数据查询方法和装置
US8396877B2 (en) Method and apparatus for generating a fused view of one or more people
CN111818175A (zh) 企业服务总线配置文件生成方法、装置、设备和存储介质
CN114254389A (zh) 报文脱敏方法、装置、电子设备及介质
US10372760B2 (en) Building queries directed to objects hosted on clouds
CN114327493A (zh) 数据处理方法及装置、电子设备、计算机可读介质
US20240086850A1 (en) Method, apparatus, device and storage medium for data processing
CN113761565B (zh) 数据脱敏方法和装置
US20190213280A1 (en) Knowledge-graph based question correction
CN113055410B (zh) 云资源管理方法、装置、设备、系统及可读存储介质
CN111753238A (zh) 数据映射方法、装置和电子设备
CN115357286B (zh) 一种程序文件对比方法、装置、电子设备及存储介质
CN116361293A (zh) 资源管理方法、装置、电子设备和存储介质
WO2023164294A1 (en) Query splitter for an inverted index datastore
CN107220249B (zh) 基于分类的全文搜索
CN115795187A (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