CN116680444A - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116680444A CN116680444A CN202310970468.2A CN202310970468A CN116680444A CN 116680444 A CN116680444 A CN 116680444A CN 202310970468 A CN202310970468 A CN 202310970468A CN 116680444 A CN116680444 A CN 116680444A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- target node
- data extraction
- semi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000013075 data extraction Methods 0.000 claims abstract description 356
- 238000012797 qualification Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 38
- 239000000470 constituent Substances 0.000 claims abstract description 17
- 230000014509 gene expression Effects 0.000 claims description 118
- 238000012545 processing Methods 0.000 claims description 102
- 238000012216 screening Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 230000004931 aggregating effect Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000000605 extraction Methods 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 10
- 230000002776 aggregation Effects 0.000 description 8
- 238000004220 aggregation Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种数据处理方法、装置、设备及存储介质,该方法包括:获取用于描述实体的半结构化数据,半结构化数据包括多个节点,节点存储了实体的组成元素的属性数据,多个节点中存在至少一个节点被配置了数据提取条件;从半结构化数据包括的多个节点中选取待处理的目标节点,并获取目标节点的上下文信息;其中,目标节点是被配置了数据提取条件的节点;根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格;在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果;可实现对半结构化数据中满足数据提取条件的节点所存储的数据的有效提取。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
半结构化数据是结构化数据的一种形式,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层,因此,它也被称为自描述的结构;一般来说,半结构化数据的结构和内容混在一起,没有明显的区分,这使得对半结构化数据的数据提取较为困难,因此,对半结构化数据的数据提取是当前的研究热点。
发明内容
本申请实施例提供一种数据处理方法、装置、设备及存储介质,可实现对半结构化数据中满足数据提取条件的节点所存储的数据的有效提取。
一方面,本申请实施例提供了一种数据处理方法,包括:
获取用于描述实体的半结构化数据,所述半结构化数据包括多个节点,节点存储了所述实体的组成元素的属性数据;其中,所述多个节点中存在至少一个节点被配置了数据提取条件;
从所述半结构化数据包括的多个节点中选取待处理的目标节点,并获取所述目标节点的上下文信息;其中,所述目标节点是被配置了数据提取条件的节点;
根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格;
在检测到所述目标节点的数据提取资格的情况下,对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果。
一方面,本申请实施例提供了一种数据处理装置,包括:
获取单元,用于获取用于描述实体的半结构化数据,所述半结构化数据包括多个节点,节点存储了所述实体的组成元素的属性数据;其中,所述多个节点中存在至少一个节点被配置了数据提取条件;
处理单元,用于从所述半结构化数据包括的多个节点中选取待处理的目标节点,并获取所述目标节点的上下文信息;其中,所述目标节点是被配置了数据提取条件的节点;
所述处理单元,还用于根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格;
所述处理单元,还用于在检测到所述目标节点的数据提取资格的情况下,对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果。
一方面,本申请实施例提供了一种数据处理设备,所述数据处理设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行上述数据处理方法。
一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行上述数据处理方法。
一方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;数据处理设备的处理器从计算机存储介质中读取该计算机程序,处理器执行该计算机程序,使得数据处理设备执行上述数据处理方法。
本申请实施例中,对于需进行数据提取的半结构化数据,可以从半结构化数据包括的多个节点中选取待处理的目标节点,其中,目标节点是被配置了数据提取条件的节点;进而可以根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格,并在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。支持为半结构化数据中的节点配置数据提取条件,并可以根据配置了数据提取条件的节点的上下文信息和相应的数据提取条件,决策出相应节点是否具备数据提取资格,进一步是否需要对相应节点执行数据提取处理,可以实现对半结构化数据中满足数据提取条件的节点所存储的数据的有效提取,并且,通过对为半结构化数据的不同节点所配置的数据提取条件的判断,可以决策出相应节点是否具备数据提取资格,可以实现半结构化数据中的数据在不同数据提取条件下的复杂筛选以及提取,并且基于节点的数据提取条件进行的数据筛选与提取的粒度更细。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实体的半结构化数据的示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的另一种实体的半结构化数据的示意图;
图4是本申请实施例提供的另一种数据处理方法的流程示意图;
图5a是本申请实施例提供的一种节点的上下文信息的示意图;
图5b是本申请实施例提供的另一种节点的上下文信息的示意图;
图6是本申请实施例提供的一种基于提取脚本对半结构化数据进行数据提取的示意图;
图7是本申请实施例提供的一种数据提取结果的聚合结果的示意图;
图8是本申请实施例提供的一种得到更新后的半结构化数据的示意图;
图9是本申请实施例提供的一种更新实体的示意图;
图10是本申请实施例提供的一种更改落地页的示意图;
图11是本申请实施例提供的一种更新实体的半结构化数据的示意图;
图12是本申请实施例提供的一种数据处理装置的结构示意图;
图13是本申请实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种数据处理方案,可以在获取到用于描述实体的半结构化数据之后,从半结构化数据包括的多个节点中选取待处理的目标节点,其中,半结构化数据包括的节点存储了实体的组成元素的属性数据,多个节点中存在至少一个节点被配置了数据提取条件,目标节点是被配置了数据提取条件的节点;进而可以根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格,并在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。
其中,半结构化数据是结构化数据的一种形式,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层,因此,它也被称为自描述的结构;一般来说,半结构化数据的结构和内容混在一起,没有明显的区分。例如,HTML数据、数据交互格式数据(例如XML数据、JSON数据)等均属于半结构化数据,其中,HTML数据是指基于超文本标记语言(HyperText MarkupLanguage,HTML)记录的数据,XML数据是指基于可扩展标记语言(eXtensible MarkupLanguage,XML)记录的数据,JSON数据是指基于轻量级的数据交互格式(JavaScriptObject Notation,JSON)记录的数据。半结构化数据可以用于描述实体所具有的不同属性,其中,半结构化数据包括多个节点,节点存储了实体的组成元素的属性数据;举例来说,当实体为一个页面时,实体(页面)的组成元素可以包括页面组件,例如可以包括图像组件、文本组件等等,页面的半结构化数据例如可以为基于无代码编辑器生成的数据交互格式数据中的JSON数据,页面的半结构化数据所包括的节点可以用于存储页面组件的属性数据,例如图像组件的宽度为10像素,则指示图像组件宽度的节点所存储的属性数据即为10像素,又如图像组件的高度为5像素,则指示图像组件高度的节点所存储的属性数据即为5像素,再如文本组件中文本的字体为字体1,则指示文本组件中文本的字体的节点所存储的属性数据为字体1。进一步的,半结构化数据基于树状结构进行组织,也就是说,半结构化数据的数据结构为树状结构。上述数据处理方案适用于对各种实体的半结构化数据进行数据提取,例如页面的JSON数据、网页的HTML数据等待。
参见图1,为本申请实施例提供的一种实体的半结构化数据的示意图,图1所示的半结构化数据是基于树状结构来描述的,图1所示的半结构化数据所描述的实体为一个页面(目标页面),该目标页面的组成元素包括页面组件,该目标页面的页面组件包括图像组件1;其中,图1所示的半结构化数据包括:指示实体为目标页面的根节点(content);指示图像组件1的组件内容的节点(mod);指示图像组件1的组件类型的节点(type);指示图像组件1的布局信息的节点(layout);以及指示图像组件1的布局信息中顶部距离的节点(top,即图像组件1的上边界与页面顶部的距离),指示图像组件1的布局信息中左侧距离的节点(left,即图像组件1的左边界与页面左侧的距离),指示图像组件1的布局信息中宽度的节点(width),指示图像组件1的布局信息中高度的节点(height)。还包括:指示图像组件1的组件配置的节点(config);指示为图像组件1所配置的图片的节点(images[index])以及所配置图片的图片列表的节点(images),其中,index为索引,若初始值为0,此处包括配置的图片1:images[0],图片2 :images[1],以及图片3:images[2]。进一步还包括:指示所配置图片的热区配置的节点(hotArea),以及指示所配置图片的图片信息的节点(image);其中,指示所配置图片的图片信息的节点(image)下还包括:指示图片的图片来源的节点(url),指示图片的宽度的节点(width),指示图片的高度的节点(height);其中,图片1节点、图片2节点以及图片3节点的子树的结构相同,只是子树的节点中所存储的数据可能不同,在图1中省略了图片2节点以及图片3节点的子树。
在一个实施例中,上述数据处理方案可以由数据处理设备执行,该数据处理设备可以为终端设备或者服务器;此处的终端设备可包括但不限于:计算机、智能手机、平板电脑、笔记本电脑、智能家电、车载终端、智能可穿戴设备等;此处的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。进一步可选的,上述数据处理方案还可以由任意有计算力的电子设备单独或协同执行,本申请实施例不做限制,在本申请后续实施例中以通过数据处理设备来执行上述数据处理方案为例进行阐述。
本申请书中相关数据(例如实体的半结构化数据、数据提取条件等)收集处理在实例应用时应该严格根据法律法规的要求,获取个人信息主体的知情同意或单独同意,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
基于上述数据处理方案,本申请实施例提供了一种数据处理方法。参见图2,为本申请实施例提供的一种数据处理方法的流程示意图。图2所示的数据处理方法可由数据处理设备执行。图2所示的数据处理方法可包括如下步骤:
S201,获取用于描述实体的半结构化数据,半结构化数据包括多个节点,节点存储了实体的组成元素的属性数据。
其中,半结构化数据的数据结构为树状结构,多个节点中存在至少一个节点被配置了数据提取条件;节点的数据提取条件是指对节点执行数据提取操作所需满足的条件,节点的数据提取条件可以根据具体需求进行配置。
S202,从半结构化数据包括的多个节点中选取待处理的目标节点,并获取目标节点的上下文信息。
其中,目标节点是被配置了数据提取条件的节点;目标节点的上下文信息可以包括目标节点的节点数据,目标节点的节点数据可以包括:目标节点中存储的属性数据,以及目标节点的子树中的各个节点中存储的属性数据;进一步的,若目标节点不存在子树,则目标节点的子树中的各个节点中存储的属性数据为空,此时目标节点的节点数据只包括目标节点中存储的属性数据。以图3所示的半结构化数据为例,该半结构化数据的根节点为节点A1,若目标节点为节点A3,则目标节点的节点数据可以包括:节点A3中存储的属性数据,以及节点A3的子树中的各个节点中存储的属性数据,其中,节点A3的子树可以包括由节点A5、节点A10以及节点A11所构成的子树,以及由节点A6、以及节点A12所构成的子树。
S203,根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格。
在一个实施例中,数据处理设备根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格时,目标节点的上下文信息可以被注入目标节点的数据提取条件中,使得数据处理设备可以根据目标节点的上下文信息中所包括的相应属性数据(例如目标节点的节点数据中所包括的,目标节点中存储的属性数据,或目标节点的子树中的各个节点中存储的属性数据),来判断该实体相应的属性数据是否满足目标节点的数据提取条件,并在满足数据提取条件时确定目标节点具有数据提取资格。
S204,在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。
在一个实施例中,数据处理设备对目标节点执行数据提取操作,得到目标节点的数据提取结果时,可以从目标节点中提取出目标节点所存储的属性数据,作为目标节点的数据提取结果,使得可以从半结构化数据中提取得到满足数据提取条件的属性数据,实现对属性数据的有效筛选并提取。
本申请实施例中,对于需进行数据提取的半结构化数据,可以从半结构化数据包括的多个节点中选取待处理的目标节点,其中,目标节点是被配置了数据提取条件的节点;进而可以根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格,并在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。支持为半结构化数据中的节点配置数据提取条件,并可以根据配置了数据提取条件的节点的上下文信息和相应的数据提取条件,决策出相应节点是否具备数据提取资格,进一步是否需要对相应节点执行数据提取处理,可以实现对半结构化数据中满足数据提取条件的节点所存储的数据的有效提取,并且,通过对为半结构化数据的不同节点所配置的数据提取条件的判断,可以决策出相应节点是否具备数据提取资格,可以实现半结构化数据中的数据在不同数据提取条件下的复杂筛选以及提取,并且基于节点的数据提取条件进行的数据筛选与提取的粒度更细。
基于上述数据处理方法的相关实施例,本申请实施例提供了另一种数据处理方法。参见图4,为本申请实施例提供的另一种数据处理方法的流程示意图。图4所示的数据处理方法可由数据处理设备执行。图4所示的数据处理方法可包括如下步骤:
S401,获取用于描述实体的半结构化数据,半结构化数据包括多个节点,节点存储了实体的组成元素的属性数据。
其中,半结构化数据的数据结构为树状结构,多个节点中存在至少一个节点被配置了数据提取条件;节点的数据提取条件是指对节点执行数据提取操作所需满足的条件,节点的数据提取条件可以根据具体需求进行配置。例如,以图3所示的半结构化数据为例,若节点A3被配置了数据提取条件,节点A5中存储的属性数据为一个数值,节点A6中存储的属性数据为一个数值,该数据提取条件指示:节点A5中存储的属性数据与节点A6中存储的属性数据相加大于一个数值阈值,则数据处理设备在根据节点A5中存储的属性数据(数值)和节点A6中存储的属性数据(数值)确定出这两个数值相加大于该数值阈值的情况下,认为节点A3的数据提取条件被满足,此时节点A3具有数据提取资格,进而可以对节点A3执行数据提取操作。进一步的,节点的数据提取条件可以包括条件表达式,每个数据提取条件均可以是基于脚本语法进行配置的,且每个数据提取条件均可以支持如下至少一种运算:代数运算、条件运算、逻辑运算、循环运算以及函数调用。其中,节点的数据提取条件所采用的脚本语法可以根据具体需求进行设定,例如可以采用javascript语法来配置节点的数据提取条件。代数运算可以根据表达式的个数被分为一元运算、二元运算以及三元运算,一元运算只对一个表达式执行操作,例如将表达式取反为一元运算;二元运算对两个表达式执行操作,例如将表达式1与表达式2相加为二元运算;三元运算对三个表达式执行操作,例如“表达式1表达式2/>表达式3”为三元运算,其表示当表达式1为真时,执行表达式2,否则执行表达式3。条件运算是指包含条件判断的运算,例如由“if-else”所指示的运算,由条件运算符“/>”所指示的运算,其中,由条件运算符“/>”所指示的运算也属于三元运算。逻辑运算是指包含逻辑判断的运算,例如由逻辑运算符所指示的运算,逻辑运算符可以包括:大于、小于、与、或、非等运算符,例如用于判断数值1与数值2相加是否大于数值3的运算为逻辑运算,若数值1与数值2相加大于数值3,则逻辑判断为真,若数值1与数值3相加小于数值3,则逻辑判断为假。
在一种可行的数据提取条件的配置方式中,由于数据提取条件可以是基于脚本语法进行配置的,则对象可以通过向数据处理设备输入节点的数据提取条件的条件表达式的语句来实现对节点的数据提取条件的配置,例如当脚本语法采用javascript语法时,可以输入基于javascript语法编写的语句来实现对数据提取条件的配置。在另一种可行的数据提取条件的配置方式中,可以通过条件配置页面实现节点的数据提取条件的配置;示例性的,条件配置页面可以包括实体的半结构化数据以及条件配置区域,其中,实体的半结构化数据可以基于树状结构进行显示,对象可以选择实体的半结构化数据中需要配置数据提取条件的节点,并在条件配置区域中输入相应节点的数据提取条件的配置信息;进一步可选的,若输入的配置信息不为基于脚本语法编写的数据提取条件的条件表达式的语句,数据处理设备可以将输入的配置信息进行语法转换处理,得到基于脚本语法编写的数据提取条件的条件表达式的语句,以实现对数据提取条件的配置。
S402,对半结构化数据包括的多个节点进行先序遍历。
其中,先序遍历是指从半结构化数据的根节点开始遍历的遍历方式;通过先序遍历(也称先根遍历),从半结构化数据的根节点开始遍历,直到叶子节点结束,能判断出每一节点所存储的属性数据是否需要被提取;如果已经遍历到某个分支的结尾(叶子节点)则这个分支不再继续遍历,转而遍历其他节点,如果遍历到所有叶子节点的结尾,说明完成了半结构化数据的遍历。
S403,若当前遍历的节点被配置了数据提取条件,则选取当前遍历的节点作为待处理的目标节点。
S404,若当前遍历的节点未被配置数据提取条件,则继续遍历半结构化数据中未被遍历的节点。
S405,获取目标节点的上下文信息。
在一个实施例中,目标节点的上下文信息可以包括目标节点的节点数据;或者,目标节点的上下文信息可以包括:目标节点的节点数据以及参考信息;其中:目标节点的节点数据可以包括:目标节点中存储的属性数据,以及目标节点的子树中的各个节点中存储的属性数据;参考信息包括以下至少一项:全局内容以及目标节点的父级链表;全局内容包括至少一个预设数据,目标节点的父级链表用于指向目标节点的父节点。进一步的,若目标节点不存在子树,则目标节点的子树中的各个节点中存储的属性数据为空,此时目标节点的节点数据只包括目标节点中存储的属性数据。全局内容可以根据具体需求进行配置,可选的,全局内容所包括的预设数据可以为配置的数据,也可以是半结构化数据的多个节点中,所配置的指定节点中存储的属性数据;也就是说,可以通过配置,将半结构化数据中某些指定节点中所存储的属性数据作为全局内容,进一步的,半结构化数据的每个节点的上下文信息中所包括的全局内容应该相同。参见图5a,为本申请实施例提供的一种节点的上下文信息的示意图,以图3所示的半结构化数据为例,若目标节点为节点A5,则目标节点的父级链表用于指向目标节点的父节点A3,进而可以获取到目标节点的父节点A3的上下文信息;参见图5b,为本申请实施例提供的另一种节点的上下文信息的示意图,以图1所示的半结构化数据为例,若目标节点为图片列表节点(images),则目标节点的父级链表用于指向目标节点的父节点(即组件配置节点,config),进而可以获取到目标节点的父节点的上下文信息,并且,在图5b所示的上下文信息中,还包括组件数据以及布局数据,其中组件数据包括:指示组件内容的节点(mod)中所存储的属性数据,布局数据包括:指示布局信息的节点(layout)及其子树的节点中所存储的属性数据,组件数据和布局数据可以通过配置为全局内容引入到上下文信息中。进一步的,半结构化数据中任一节点的上下文信息可以包括相应节点的节点数据;或者,任一节点的上下文信息可以包括:相应节点的节点数据以及参考信息。
S406,根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格。
在一个实施例中,目标节点的数据提取条件包括条件表达式;数据处理设备根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格,可以包括:将目标节点的上下文信息注入至目标节点的条件表达式中,得到注入后的条件表达式;将注入后的条件表达式转换为语法树,语法树通过树状的形式表现注入后的条件表达式的语法结构;调用与语法树相匹配的语言解释器,递归执行语法树,得到注入后的条件表达式的执行结果;根据执行结果检测目标节点的数据提取资格。举例来说,以图3所示的半结构化数据为例,若目标节点为节点A3,节点A3被配置了数据提取条件,该数据提取条件指示:节点A5中存储的属性数据与节点A6中存储的属性数据相加大于一个数值阈值,则数据处理设备可以将节点A5中存储的属性数据和节点A6中存储的属性数据,注入节点A3的数据提取条件所包括的条件表达式中,得到注入后的条件表达式,通过执行注入后的条件表达式得到执行结果,若执行结果为真,则表示数据提取条件被满足,确定目标节点具有数据提取资格,若执行结果为假,则表示数据提取条件不被满足,确定目标节点不具有数据提取资格;例如,若节点A5中存储的属性数据为8,节点A6中存储的属性数据为5,该数值阈值为10,由于8与5相加大于10,所以注入后的条件表达式的执行结果为真,确定目标节点具有数据提取资格。
在一个实施例中,数据处理设备可以将注入后的条件表达式转换为语法树,语法树通过树状的形式表现注入后的条件表达式的语法结构;此处的语法树(Syntax tree)指的是抽象语法树(Abstract Syntax Tree,AST),树上的节点可以用于表示注入后的条件表达式中的语法结构,可以用于描述执行方式,节点内容可以包括用于实现变量定义的描述、用于取值的描述、用于实现条件表达式中所涉及的逻辑运算的描述、一元运算的描述、二元运算的描述、三元运算的描述及函数调用的描述等等,其中通过用于取值的描述可获取到目标节点的上下文信息注入条件表达式中的数据,其他描述信息参与条件表达式的运算。语言解释器(Interpreter),又称为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行,也就是说,解释器不会一次把整个程序转译出来,而是一行一行的转译并运行,每次转译并运行是指要先转成另一种语言再作运行,因此,采用语言解释器来递归执行语法树,可以更新语法规范以及实现跨平台执行,方便移植;也就是说,若数据处理设备基于第一种语言实现本申请提出的数据处理方法的处理过程,但目标节点的条件表达式是采用第二种语言编写的,通过语言解释器就可以将采用第二种语言编写的目标节点的条件表达式转译成第一种语言来运行,也就是说,可以实现以第二种语言编写的条件表达式的跨平台执行,使得对象可以通过任意语言来配置目标节点的数据提取条件,支持多种语法规范。
在一个实施例中,目标节点的条件表达式可以包括一个或多个取值路径,一个取值路径用于获取需注入至条件表达式中的一个数据;取值路径是指需注入至条件表达式中的数据的访问路径,进一步可以为需注入至条件表达式中的数据在节点的上下文信息中的访问路径。基于此,数据处理设备将目标节点的上下文信息注入至目标节点的条件表达式中,可以包括:从目标节点的条件表达式包括的各个取值路径中,筛选第一取值路径,第一取值路径指向目标节点或者目标节点的子树中的节点;分别根据筛选出的各个第一取值路径,从目标节点的节点数据中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至目标节点的条件表达式中。举例来说,以图3所示的半结构化数据为例,若目标节点为节点A5,节点A5被配置了数据提取条件,该数据提取条件指示:节点A10中存储的属性数据与节点A11中存储的属性数据相加大于第一数值阈值,节点A3中存储的属性数据大于第二数值阈值,节点A6中存储的属性数据大于第三数值阈值,且节点A2中存储的属性数据小于第四数值阈值,其中,节点A2中存储的属性数据被配置为全局内容;则从目标节点的条件表达式包括的各个取值路径中,筛选得到的第一取值路径包括:指向节点A10的路径以及指向节点A11的路径。
在一个实施例中,当目标节点的上下文信息还包括全局内容时,将目标节点的上下文信息注入至目标节点的条件表达式中,还可以包括:从目标节点的条件表达式包括的各个取值路径中,筛选第二取值路径,第二取值路径指向全局内容中的一个预设数据;若筛选出至少一个第二取值路径,则分别根据筛选出的各个第二取值路径,从全局内容中获取相应的预设数据,并将获取到的各个预设数据注入至目标节点的条件表达式中。举例来说,以图3所示的半结构化数据为例,若目标节点为节点A5,节点A5被配置了数据提取条件,该数据提取条件指示:节点A10中存储的属性数据与节点A11中存储的属性数据相加大于第一数值阈值,节点A3中存储的属性数据大于第二数值阈值,节点A6中存储的属性数据大于第三数值阈值,且节点A2中存储的属性数据小于第四数值阈值,其中,节点A2中存储的属性数据被配置为全局内容;则从目标节点的条件表达式包括的各个取值路径中,筛选得到的第二取值路径包括:指向全局内容中节点A2中存储的属性数据的路径。
在一个实施例中,当目标节点的上下文信息还包括目标节点的父级链表时,将目标节点的上下文信息注入至目标节点的条件表达式中,还可以包括:从目标节点的条件表达式包括的各个取值路径中,筛选第三取值路径,第三取值路径指向目标节点的父节点或目标节点的兄弟节点;若筛选出至少一个第三取值路径,则获取目标节点的父级链表所指向的父节点的上下文信息,并分别根据筛选出的各个第三取值路径,从获取到的上下文信息中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至目标节点的条件表达式中。举例来说,以图3所示的半结构化数据为例,若目标节点为节点A5,节点A5被配置了数据提取条件,该数据提取条件指示:节点A10中存储的属性数据与节点A11中存储的属性数据相加大于第一数值阈值,节点A3中存储的属性数据大于第二数值阈值,节点A6中存储的属性数据大于第三数值阈值,且节点A2中存储的属性数据小于第四数值阈值,其中,节点A2中存储的属性数据被配置为全局内容;则从目标节点的条件表达式包括的各个取值路径中,筛选得到的第三取值路径包括:指向节点A3的路径以及指向节点A6的路径,该第三取值路径下的属性数据可以从节点A5的父节点,即节点A3的上下文信息中获取到,具体可以从节点A3的上下文信息所包括的节点数据中获取到。例如,以图1所示的半结构化数据为例,若目标节点为图片1节点,图片1节点的数据提取条件所包括的条件表达式的语句为:
该数据提取条件指示:布局信息中的宽度大于10像素(即图片的显示宽度大于10像素),布局信息中的高度大于10像素(即图片的显示高度大于10像素),图片的高度大于50像素,则,以及/>为第二取值路径,为第一取值路径,其中,/>表示上下文信息。进一步可选的,若该数据提取条件还指示:图片的热区配置为无热区,则第一取值路径还包括/>,该第一取值路径指向图片的热区配置的节点(hotArea)。
进一步的,当目标节点的上下文信息包括目标节点的父级链表时,可以从目标节点的父节点(为了便于阐述记为父节点1)的上下文信息中获取到,父节点1中所存储的属性数据,以及父节点1的子树中的各个节点中存储的属性数据,基于此,进一步可以通过父节点1的上下文信息中所包括的父节点1的父级链表,从父节点1的父节点(为了便于阐述记为父节点2)的上下文信息中获取到,父节点2中所存储的属性数据,以及父节点2的子树中的各个节点中存储的属性数据,以此类推;对于相应节点中所存储的属性数据的获取方式,与上述基于第三取值路径获取相应取值路径下的节点中所存储的属性数据的方式类似,也就是说,数据处理设备可以通过指向不同节点的取值路径获取到相应取值路径下的节点中所存储的属性数据。节点的数据提取条件可以基于脚本语法(例如javascript语法)配置得到,在将节点的上下文信息注入至相应节点的数据提取条件所包括的条件表达式的过程中,可以对条件表达式中所包括的取值路径进行批量解析并获取属性数据,进而实现条件表达式的执行,通过脚本语法配置数据提取条件,可以减小对数据提取条件的条件表达式语句的编写难度。
S407,在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。
在一个实施例中,数据处理设备若未检测到目标节点的数据提取资格,则停止遍历目标节点的子树中的各个节点,并继续遍历目标节点的兄弟节点;其中,目标节点的兄弟节点是指:与目标节点拥有同一个父节点的节点。举例来说,以图3所示的半结构化数据为例,若目标节点为节点A5,若未检测到节点A5的数据提取资格,则停止遍历节点A5的子树中的各个节点,并继续遍历节点A5的兄弟节点(即节点A6);由于未检测到节点A5的数据提取资格,即节点A5不满足相应的数据提取条件,则认为节点A5的子树中的各个节点也不满足相应的数据提取条件,则不需要继续遍历节点A5的子树中的各个节点,即不需要遍历节点A10以及节点A11,可以加快对于半结构化数据的数据提取效率。
在一个实施例中,数据处理设备在检测到目标节点的数据提取资格后,还可以:查找目标节点的路径变量,路径变量用于指示:目标节点的子树中,需被执行数据提取操作的节点;若未查找到路径变量,则触发执行对目标节点执行数据提取操作,得到目标节点的数据提取结果的步骤;并在得到目标节点的数据提取结果后,继续遍历半结构化数据中未被遍历的节点;若查找到路径变量,则继续遍历目标节点的子树中的各个节点,以在遍历到路径变量指示的节点时,对路径变量指示的节点执行数据提取操作。其中,目标节点的路径变量是根据具体需求进行配置的,进一步的,目标节点的路径变量也可以基于脚本语法进行配置。举例来说,以图3所示的半结构化数据为例,若目标节点为节点A5,若数据处理设备在检测到节点A5的数据提取资格后,查找到了指示节点A11的路径变量,则数据处理设备继续遍历目标节点的子树中的各个节点,先遍历节点A10,再遍历节点A11,在遍历到节点A11时,对节点A11执行数据提取操作。进一步的,数据处理设备在遍历到路径变量指示的节点时,若获取到了为该节点配置的数据提取条件,则可以将该节点作为待处理的目标节点,从而可以在确定该节点具备数据提取资格的情况下,才对该节点执行数据提取操作,也就是说,可以在确定该节点满足为该节点配置的数据提取条件的情况下,才对该节点执行数据提取操作。
在一个实施例中,数据处理设备对目标节点执行数据提取操作,得到目标节点的数据提取结果,可以包括:从目标节点中提取出目标节点所存储的属性数据,以及从半结构化数据中提取出目标节点的节点路径;其中,目标节点的节点路径用于指示:从半结构化数据的根节点到目标节点的路径;对提取出的属性数据以及提取出的节点路径进行聚合,得到目标节点的数据提取结果。进一步可选的,数据处理设备对提取出的属性数据以及提取出的节点路径进行聚合,得到目标节点的数据提取结果,可以包括:获取目标节点的节点标记,目标节点的节点标记用于标记目标节点的用途;对提取出的属性数据、提取出的节点路径以及目标节点的节点标记进行聚合,得到目标节点的数据提取结果;其中,目标节点的节点标记可以是对象输入的。
在一个实施例中,节点的数据提取条件、路径变量等可以被配置在提取脚本中,通过运行提取脚本可以实现对实体的半结构化数据的数据提取,提取脚本可以是基于脚本语法编写得到的。举例来说,参见图6,为申请实施例提出的一种基于提取脚本对半结构化数据进行数据提取的示意图,以图1所示的目标页面的半结构化数据为例,若目标页面的半结构化数据是数据交互格式数据(具体为JSON数据),若每个数据提取条件均是基于脚本语法进行配置的,脚本语法为javascript语法,若提取脚本的脚本语法为javascript语法,该提取脚本所包含的部分语句可以如601标记所示,该提取脚本中如602标记所示语句为数据提取条件所包括的条件表达式的语句,如603标记所示语句为路径变量对应的语句,其中,为路径变量,该路径变量用于指示:图片节点(包括图片1节点、图片2节点、以及图片3节点)的子树中,需被执行数据提取操作的节点为指示图片的图片来源的节点(url),以图片节点为图片1节点为例,若图片1节点满足数据提取条件,即图片1具备数据提取资格,则数据处理设备在遍历到图片1节点下,指示图片的图片来源的节点时,会对该节点执行数据提取操作,即从该节点中提取出该节点所存储的属性数据,以及从半结构化数据中提取出该节点的节点路径,其中,属性数据即为存储的图片1的url链接,节点路径即从半结构化数据的根节点到该节点的路径,为/>。
在一个实施例中,在对半结构化数据中的各个节点遍历完成之后,可以提取得到满足所配置的各种数据提取条件的节点的数据提取结果,即可以提取得到满足所配置的各种数据提取条件的属性数据,以及存储有相应属性数据的节点的节点路径;进一步的可以将提取得到的各个数据提取结果进行聚合,得到聚合结果。由于节点路径是从实体的半结构化数据的根节点到相应节点的路径,因此若将所有的数据提取结果聚合,所得到的聚合结果应该为该实体的半结构化数据中的部分数据,也就是说,在对数据提取过程中并不会改变实体的半结构化数据的数据结构,得到的聚合结果中相应数据所具有的数据结构,和其在原有实体的半结构化数据中所具有的数据结构相同。举例来说,参见图7,为本申请实施例提供的一种数据提取结果的聚合结果的示意图,若实体的半结构化数据如701标记所示,若在对该半结构化数据中的各个节点遍历完成之后,得到了节点A10的数据提取结果,节点A11的数据提取结果,节点A7的数据提取结果以及节点A13的数据提取结果,则聚合结果可以如702标记所示。
在一个实施例中,由于在数据提取过程中会提取满足各种数据提取条件的节点的节点路径,因此可以根据节点的节点路径实现对所存储的属性数据的更改,在该过程中并不改变实体的半结构化数据的数据结构。基于此,数据处理设备可以:获取针对实体的数据更新需求,数据更新需求包括:用于对至少一个节点进行数据更新的属性数据;遍历数据更新需求中的各个属性数据,获取当前遍历的属性数据所对应的节点的数据提取结果;根据获取到的数据提取结果中的节点路径,从实体的半结构化数据中定位出相应的节点,并采用当前遍历的属性数据更新定位出的节点所存储的属性数据;继续遍历,直至数据更新需求中的各个属性数据均被遍历,得到更新后的半结构化数据,并基于更新后的半结构化数据更新实体。举例来说,参见图8,为本申请实施例提供的一种得到更新后的半结构化数据的示意图,若实体的半结构化数据如801标记所示,若在对该半结构化数据中的各个节点遍历完成之后,得到了节点A10的数据提取结果,节点A11的数据提取结果,节点A7的数据提取结果以及节点A13的数据提取结果,若节点A10中存储的属性数据为属性数据a10,节点A11中所存储的属性数据为属性数据a11,节点A7中所存储的属性数据为属性数据a7,节点A13中所存储的属性数据为属性数据a13,若数据更新需求包括:用于对节点A10进行数据更新的属性数据(属性数据b10),以及用于对节点A7进行数据更新的属性数据(属性数据b7),则更新后的半结构化数据可以如802标记所示。举例来说,参见图9,为本申请实施例提供的一种更新实体的示意图,更新前的实体可以如901标记所示,为一个页面,通过对更新前的实体的半结构化数据的数据提取与更新处理,可以实现对某些节点的属性数据的更改,即实现对某些组件元素的属性数据的更改,若对如902标记所示的组件更改了所填充的图片,对如903标记所示的组件更改了所填充文本的字体样式,则更新后的实体可以如904标记所示。
基于上述描述可知,基于对满足数据提取条件的节点的节点路径的提取,可以便捷地对半结构化数据中相应节点的属性数据进行更改,进而可以便捷地对实体所具有的属性进行更改;例如当实体为目标页面(任意页面)时,可以便捷地对目标页面中组件元素所具有的属性进行更改,例如可以便捷地更改目标页面所显示图片的尺寸、更改目标页面所显示文本的字体样式等等;进一步的,可以根据目标页面的不同使用对象的对象特点,来适应性更改目标页面中组件元素所具有的属性,以更改目标页面的显示效果,实现目标页面在不同使用对象中的个性化显示,进而提高用户体验;并且,当目标页面为落地页(也称着陆页或引导页)时,由于落地页是潜在使用对象利用搜索引擎等方式搜索后跳转显示给相应潜在使用对象的页面,对于对象行为转化有着十分重要的影响,因此,可以根据点击进入落地页的不同潜在使用对象的对象特点,来适应性更改落地页中组件元素所具有的属性,以更改落地页的显示效果,实现落地页在不同潜在使用对象中的个性化显示,可以提高对不同潜在使用对象的吸引力,进而提高对象行为转化的效果,例如可以使更多的潜在使用对象转化为使用对象。参见图10,为本申请实施例提供的一种更改落地页的示意图,落地页可以如1001标记所示,落地页的半结构化数据是树嵌套数组的JSON数据,组件类型多,属性路径深,落地页可以包括多个组件元素,例如可以包括图像组件、文本组件等,落地页的半结构化数据中一个图像组件的节点对应子树的结构可以如1002标记所示,可以通过对落地页的半结构化数据包括的多个节点的遍历,对落地页的半结构化数据进行数据提取,即从落地页的半结构化数据中提取得到满足数据提取条件的节点的属性数据以及节点路径,节点路径用于指示从半结构化数据的根节点到相应节点的路径,示例性的可以如1003标记所示,提取指示图片的图片来源的节点的节点路径;在遍历落地页的半结构化数据结束之后,可以用新的属性数据对落地页的半结构化数据中提取得到节点路径的节点的属性数据进行替换,以达到节点属性数据更改的效果,示例性的更改后的落地页可以如1004标记所示。
参见图11,为本申请实施例提供的一种更新实体的半结构化数据的示意图;数据提取设备可以获取用于描述实体的半结构化数据,其中,半结构化数据包括多个节点,节点存储了实体的组成元素的属性数据,多个节点中存在至少一个节点被配置了数据提取条件;运行提取脚本;对半结构化数据包括的多个节点进行先序遍历;检测对半结构化数据包括的多个节点是否遍历结束;在未遍历结束的情况下,选取待处理的目标节点,即若当前遍历的节点被配置了数据提取条件,则选取当前遍历的节点作为待处理的目标节点,若当前遍历的节点未被配置数据提取条件,则继续遍历半结构化数据中未被遍历的节点。获取目标节点的上下文信息;将目标节点的上下文信息注入至目标节点的数据提取条件所包括的条件表达式中,得到注入后的条件表达式;并执行注入后的条件表达式,得到注入后的条件表达式的执行结果。在该过程中,数据处理设备可以将注入后的条件表达式转换为语法树,调用与语法树相匹配的语言解释器,递归执行语法树,得到注入后的条件表达式的执行结果。进一步的,数据处理设备可以根据执行结果检测目标节点的数据提取资格(即根据执行结果检测目标节点是否具有数据提取资格),在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果,并在得到目标节点的数据提取结果之后,继续遍历半结构化数据中未被遍历的节点;若未检测到目标节点的数据提取资格,则继续遍历半结构化数据中未被遍历的节点,在该过程中,将目标节点的兄弟节点作为下一个遍历的节点,也就是说,若未检测到目标节点的数据提取资格,则停止遍历目标节点的子树中的各个节点,并继续遍历目标节点的兄弟节点。
若对半结构化数据包括的多个节点遍历结束,则可以将得到的数据提取结果进行聚合,得到聚合结果;并进一步可以根据聚合结果对实体的半结构化数据进行数据更新,得到更新后的半结构化数据。在该过程中,数据处理设备可以获取针对实体的数据更新需求,数据更新需求包括:用于对至少一个节点进行数据更新的属性数据;遍历数据更新需求中的各个属性数据,获取当前遍历的属性数据所对应的节点的数据提取结果;根据获取到的数据提取结果中的节点路径,从实体的半结构化数据中定位出相应的节点,并采用当前遍历的属性数据更新定位出的节点所存储的属性数据;继续遍历,直至数据更新需求中的各个属性数据均被遍历,得到更新后的半结构化数据,并基于更新后的半结构化数据更新实体。
本申请实施例中,对于需进行数据提取的半结构化数据,可以从半结构化数据包括的多个节点中选取待处理的目标节点,其中,目标节点是被配置了数据提取条件的节点;进而可以根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格,并在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。支持为半结构化数据中的节点配置数据提取条件,并可以根据配置了数据提取条件的节点的上下文信息和相应的数据提取条件,决策出相应节点是否具备数据提取资格,进一步是否需要对相应节点执行数据提取处理,可以实现对半结构化数据中满足数据提取条件的节点所存储的数据的有效提取,并且,通过对为半结构化数据的不同节点所配置的数据提取条件的判断,可以决策出相应节点是否具备数据提取资格,可以实现半结构化数据中的数据在不同数据提取条件下的复杂筛选以及提取,对于嵌套深、节点多的半结构化数据也有较好的数据筛选与提取效果(例如可以通过判断目标节点的兄弟节点、父节点所存储的属性数据,来决策目标节点所存储的属性数据是否能够被提取),并且基于节点的数据提取条件进行的数据筛选与提取的粒度更细。进一步的,在未检测到目标节点的数据提取资格的情况下,可以跳过对目标节点的子树中的各个节点的遍历,转而遍历目标节点的兄弟节点,加快对于半结构化数据的数据提取效率。
在根据目标节点的上下文信息和数据提取条件,检测目标节点的数据提取资格的过程中,可以将目标节点的上下文信息注入至目标节点的数据提取条件所包括的条件表达式中,进而通过将注入后的条件表达式转换为语法树,并调用与语法树相匹配的语言解释器,递归执行语法树,得到注入后的条件表达式的执行结果;该执行结果为真,指示数据提取条件被满足,则确定目标节点具备数据提取资格,反之则确定目标节点不具备数据提取资格。数据提取条件可以支持代数运算、条件运算、逻辑运算、循环运算以及函数调用等处理逻辑,可以实现半结构化数据中的数据在不同处理逻辑下的复杂筛选以及提取;并且,采用语言解释器来递归执行语法树,可以更新语法规范以及实现跨平台执行。
在对目标节点执行数据提取操作的过程中,可以提取目标节点所存储的属性数据以及目标节点的节点路径;其中,目标节点的节点路径用于指示:从半结构化数据的根节点到目标节点的路径;进一步的,在对半结构化数据中的各个节点遍历完成之后,可以将提取得到的满足所配置的各种数据提取条件的属性数据,以及存储有相应属性数据的节点的节点路径进行聚合,得到聚合结果,所得到的聚合结果为半结构化数据中的部分数据,在对数据提取过程中并不会改变半结构化数据的数据结构,这使得可以便捷地对提取得到的数据进行二次处理,包括可以基于提取得到的节点的节点路径,便捷地实现对相应节点的属性数据的更改。
基于上述数据处理方法相关的实施例,本申请实施例提供了一种数据处理装置。参见图12,为本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可包括获取单元1201以及处理单元1202。图12所示的数据处理装置可用于执行如下操作:
获取单元1201,用于获取用于描述实体的半结构化数据,所述半结构化数据包括多个节点,节点存储了所述实体的组成元素的属性数据;其中,所述多个节点中存在至少一个节点被配置了数据提取条件;
处理单元1202,用于从所述半结构化数据包括的多个节点中选取待处理的目标节点,并获取所述目标节点的上下文信息;其中,所述目标节点是被配置了数据提取条件的节点;
所述处理单元1202,还用于根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格;
所述处理单元1202,还用于在检测到所述目标节点的数据提取资格的情况下,对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果。
在一个实施例中,所述半结构化数据的数据结构为树状结构;所述处理单元1202从所述半结构化数据包括的多个节点中选取待处理的目标节点,具体执行如下操作:
对所述半结构化数据包括的多个节点进行先序遍历,所述先序遍历是指从所述半结构化数据的根节点开始遍历的遍历方式;
若当前遍历的节点被配置了数据提取条件,则选取当前遍历的节点作为待处理的目标节点;
若当前遍历的节点未被配置数据提取条件,则继续遍历所述半结构化数据中未被遍历的节点。
在一个实施例中,在检测到所述目标节点的数据提取资格后,所述处理单元1202还用于:
查找所述目标节点的路径变量,所述路径变量用于指示:所述目标节点的子树中,需被执行数据提取操作的节点;
若未查找到所述路径变量,则触发执行所述对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果的步骤;并在得到所述目标节点的数据提取结果后,继续遍历所述半结构化数据中未被遍历的节点;
若查找到所述路径变量,则继续遍历所述目标节点的子树中的各个节点,以在遍历到所述路径变量指示的节点时,对所述路径变量指示的节点执行数据提取操作。
在一个实施例中,所述处理单元1202还用于:
若未检测到所述目标节点的数据提取资格,则停止遍历所述目标节点的子树中的各个节点,并继续遍历所述目标节点的兄弟节点;
其中,所述目标节点的兄弟节点是指:与所述目标节点拥有同一个父节点的节点。
在一个实施例中,所述目标节点的数据提取条件包括条件表达式;所述处理单元1202根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格,具体执行如下操作:
将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,得到注入后的条件表达式;
将所述注入后的条件表达式转换为语法树,所述语法树通过树状的形式表现所述注入后的条件表达式的语法结构;
调用与所述语法树相匹配的语言解释器,递归执行所述语法树,得到所述注入后的条件表达式的执行结果;
根据所述执行结果检测所述目标节点的数据提取资格。
在一个实施例中,所述目标节点的上下文信息包括所述目标节点的节点数据;或者,所述目标节点的上下文信息包括:所述目标节点的节点数据以及参考信息;其中:
所述目标节点的节点数据包括:所述目标节点中存储的属性数据,以及所述目标节点的子树中的各个节点中存储的属性数据;
所述参考信息包括以下至少一项:全局内容以及所述目标节点的父级链表;所述全局内容包括至少一个预设数据,所述目标节点的父级链表用于指向所述目标节点的父节点。
在一个实施例中,所述目标节点的条件表达式包括一个或多个取值路径,一个取值路径用于获取需注入至条件表达式中的一个数据;
所述处理单元1202将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,具体执行如下操作:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第一取值路径,所述第一取值路径指向所述目标节点或者所述目标节点的子树中的节点;
分别根据筛选出的各个第一取值路径,从所述目标节点的节点数据中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至所述目标节点的条件表达式中。
在一个实施例中,当所述目标节点的上下文信息还包括所述全局内容时,所述处理单元1202将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,还用于:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第二取值路径,所述第二取值路径指向所述全局内容中的一个预设数据;
若筛选出至少一个第二取值路径,则分别根据筛选出的各个第二取值路径,从所述全局内容中获取相应的预设数据,并将获取到的各个预设数据注入至所述目标节点的条件表达式中。
在一个实施例中,当所述目标节点的上下文信息还包括所述目标节点的父级链表时,所述处理单元1202将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,还用于:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第三取值路径,所述第三取值路径指向所述目标节点的父节点或所述目标节点的兄弟节点;
若筛选出至少一个第三取值路径,则获取所述目标节点的父级链表所指向的父节点的上下文信息,并分别根据筛选出的各个第三取值路径,从获取到的上下文信息中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至所述目标节点的条件表达式中。
在一个实施例中,所述半结构化数据的数据结构为树状结构;所述处理单元1202对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果,具体执行如下操作:
从所述目标节点中提取出所述目标节点所存储的属性数据,以及从所述半结构化数据中提取出所述目标节点的节点路径;其中,所述目标节点的节点路径用于指示:从所述半结构化数据的根节点到所述目标节点的路径;
对提取出的属性数据以及提取出的节点路径进行聚合,得到所述目标节点的数据提取结果。
在一个实施例中,所述处理单元1202对提取出的属性数据以及提取出的节点路径进行聚合,得到所述目标节点的数据提取结果,具体执行如下操作:
获取所述目标节点的节点标记,所述目标节点的节点标记用于标记所述目标节点的用途;
对提取出的属性数据、提取出的节点路径以及所述目标节点的节点标记进行聚合,得到所述目标节点的数据提取结果。
在一个实施例中,所述处理单元1202还用于:
获取针对所述实体的数据更新需求,所述数据更新需求包括:用于对至少一个节点进行数据更新的属性数据;
遍历所述数据更新需求中的各个属性数据,获取当前遍历的属性数据所对应的节点的数据提取结果;
根据获取到的数据提取结果中的节点路径,从所述实体的半结构化数据中定位出相应的节点,并采用所述当前遍历的属性数据更新定位出的节点所存储的属性数据;
继续遍历,直至所述数据更新需求中的各个属性数据均被遍历,得到更新后的半结构化数据,并基于所述更新后的半结构化数据更新所述实体。
在一个实施例中,所述实体为目标页面,所述实体的组成元素包括页面组件;
所述半结构化数据是数据交互格式数据,每个数据提取条件均是基于脚本语法进行配置的;且每个数据提取条件均支持如下至少一种运算:代数运算、条件运算、逻辑运算、循环运算以及函数调用。
根据本申请的一个实施例,图2以及图4所示的数据处理方法所涉及的各个步骤可以是由图12所示的数据处理装置中的各个单元来执行的。例如,图2所示的步骤S201可由图12所示的数据处理装置中的获取单元1201来执行,图2所示的步骤S202至步骤S204可由图12所示的数据处理装置中的处理单元1202来执行。又如,图4所示的步骤S401可由图12所示的数据处理装置中的获取单元1201来执行,图4所示的步骤S402至步骤S407可由图12所示的数据处理装置中的处理单元1202来执行。
根据本申请的另一个实施例,图12所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现,例如上述各个单元所实现的功能可由一个处理单元实现。在本申请的其它实施例中,基于逻辑功能划分的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2以及图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图12中所示的数据处理装置,以及来实现本申请实施例数据处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,对于需进行数据提取的半结构化数据,可以从半结构化数据包括的多个节点中选取待处理的目标节点,其中,目标节点是被配置了数据提取条件的节点;进而可以根据目标节点的上下文信息和目标节点的数据提取条件,检测目标节点的数据提取资格,并在检测到目标节点的数据提取资格的情况下,对目标节点执行数据提取操作,得到目标节点的数据提取结果。支持为半结构化数据中的节点配置数据提取条件,并可以根据配置了数据提取条件的节点的上下文信息和相应的数据提取条件,决策出相应节点是否具备数据提取资格,进一步是否需要对相应节点执行数据提取处理,可以实现对半结构化数据中满足数据提取条件的节点所存储的数据的有效提取,并且,通过对为半结构化数据的不同节点所配置的数据提取条件的判断,可以决策出相应节点是否具备数据提取资格,可以实现半结构化数据中的数据在不同数据提取条件下的复杂筛选以及提取,并且基于节点的数据提取条件进行的数据筛选与提取的粒度更细。
基于上述数据处理方法的相关实施例以及数据处理装置实施例,本申请还提供了一种数据处理设备,该数据处理设备可以用于执行上述数据处理方法。参见图13,为本申请实施例提供的一种数据处理设备的结构示意图。图13所示的数据处理设备可至少包括处理器1301、输入接口1302、输出接口1303以及计算机存储介质1304。其中,处理器1301、输入接口1302、输出接口1303以及计算机存储介质1304可通过总线或其他方式连接。
计算机存储介质1304可以存储在数据处理设备的存储器中,计算机存储介质1304用于存储计算机程序,计算机程序包括程序指令,处理器1301用于执行计算机存储介质1304存储的程序指令。处理器1301(或称CPU(Central Processing Unit,中央处理器))是数据处理设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现上述数据处理方法流程或相应功能。
本申请实施例还提供了一种计算机存储介质(Memory),计算机存储介质是数据处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器1301加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速随机存取存储器(random access memory,RAM)存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1301加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图2以及图4的数据处理方法实施例中的方法的相应步骤,具体实现中,计算机存储介质中的一条或多条指令由处理器1301加载并执行如下步骤:
获取用于描述实体的半结构化数据,所述半结构化数据包括多个节点,节点存储了所述实体的组成元素的属性数据;其中,所述多个节点中存在至少一个节点被配置了数据提取条件;
从所述半结构化数据包括的多个节点中选取待处理的目标节点,并获取所述目标节点的上下文信息;其中,所述目标节点是被配置了数据提取条件的节点;
根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格;
在检测到所述目标节点的数据提取资格的情况下,对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果。
在一个实施例中,所述半结构化数据的数据结构为树状结构;所述处理器1301从所述半结构化数据包括的多个节点中选取待处理的目标节点,具体执行如下操作:
对所述半结构化数据包括的多个节点进行先序遍历,所述先序遍历是指从所述半结构化数据的根节点开始遍历的遍历方式;
若当前遍历的节点被配置了数据提取条件,则选取当前遍历的节点作为待处理的目标节点;
若当前遍历的节点未被配置数据提取条件,则继续遍历所述半结构化数据中未被遍历的节点。
在一个实施例中,在检测到所述目标节点的数据提取资格后,所述处理器1301还用于:
查找所述目标节点的路径变量,所述路径变量用于指示:所述目标节点的子树中,需被执行数据提取操作的节点;
若未查找到所述路径变量,则触发执行所述对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果的步骤;并在得到所述目标节点的数据提取结果后,继续遍历所述半结构化数据中未被遍历的节点;
若查找到所述路径变量,则继续遍历所述目标节点的子树中的各个节点,以在遍历到所述路径变量指示的节点时,对所述路径变量指示的节点执行数据提取操作。
在一个实施例中,所述处理器1301还用于:
若未检测到所述目标节点的数据提取资格,则停止遍历所述目标节点的子树中的各个节点,并继续遍历所述目标节点的兄弟节点;
其中,所述目标节点的兄弟节点是指:与所述目标节点拥有同一个父节点的节点。
在一个实施例中,所述目标节点的数据提取条件包括条件表达式;所述处理器1301根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格,具体执行如下操作:
将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,得到注入后的条件表达式;
将所述注入后的条件表达式转换为语法树,所述语法树通过树状的形式表现所述注入后的条件表达式的语法结构;
调用与所述语法树相匹配的语言解释器,递归执行所述语法树,得到所述注入后的条件表达式的执行结果;
根据所述执行结果检测所述目标节点的数据提取资格。
在一个实施例中,所述目标节点的上下文信息包括所述目标节点的节点数据;或者,所述目标节点的上下文信息包括:所述目标节点的节点数据以及参考信息;其中:
所述目标节点的节点数据包括:所述目标节点中存储的属性数据,以及所述目标节点的子树中的各个节点中存储的属性数据;
所述参考信息包括以下至少一项:全局内容以及所述目标节点的父级链表;所述全局内容包括至少一个预设数据,所述目标节点的父级链表用于指向所述目标节点的父节点。
在一个实施例中,所述目标节点的条件表达式包括一个或多个取值路径,一个取值路径用于获取需注入至条件表达式中的一个数据;
所述处理器1301将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,具体执行如下操作:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第一取值路径,所述第一取值路径指向所述目标节点或者所述目标节点的子树中的节点;
分别根据筛选出的各个第一取值路径,从所述目标节点的节点数据中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至所述目标节点的条件表达式中。
在一个实施例中,当所述目标节点的上下文信息还包括所述全局内容时,所述处理器1301将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,还用于:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第二取值路径,所述第二取值路径指向所述全局内容中的一个预设数据;
若筛选出至少一个第二取值路径,则分别根据筛选出的各个第二取值路径,从所述全局内容中获取相应的预设数据,并将获取到的各个预设数据注入至所述目标节点的条件表达式中。
在一个实施例中,当所述目标节点的上下文信息还包括所述目标节点的父级链表时,所述处理器1301将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,还用于:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第三取值路径,所述第三取值路径指向所述目标节点的父节点或所述目标节点的兄弟节点;
若筛选出至少一个第三取值路径,则获取所述目标节点的父级链表所指向的父节点的上下文信息,并分别根据筛选出的各个第三取值路径,从获取到的上下文信息中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至所述目标节点的条件表达式中。
在一个实施例中,所述半结构化数据的数据结构为树状结构;所述处理器1301对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果,具体执行如下操作:
从所述目标节点中提取出所述目标节点所存储的属性数据,以及从所述半结构化数据中提取出所述目标节点的节点路径;其中,所述目标节点的节点路径用于指示:从所述半结构化数据的根节点到所述目标节点的路径;
对提取出的属性数据以及提取出的节点路径进行聚合,得到所述目标节点的数据提取结果。
在一个实施例中,所述处理器1301对提取出的属性数据以及提取出的节点路径进行聚合,得到所述目标节点的数据提取结果,具体执行如下操作:
获取所述目标节点的节点标记,所述目标节点的节点标记用于标记所述目标节点的用途;
对提取出的属性数据、提取出的节点路径以及所述目标节点的节点标记进行聚合,得到所述目标节点的数据提取结果。
在一个实施例中,所述处理器1301还用于:
获取针对所述实体的数据更新需求,所述数据更新需求包括:用于对至少一个节点进行数据更新的属性数据;
遍历所述数据更新需求中的各个属性数据,获取当前遍历的属性数据所对应的节点的数据提取结果;
根据获取到的数据提取结果中的节点路径,从所述实体的半结构化数据中定位出相应的节点,并采用所述当前遍历的属性数据更新定位出的节点所存储的属性数据;
继续遍历,直至所述数据更新需求中的各个属性数据均被遍历,得到更新后的半结构化数据,并基于所述更新后的半结构化数据更新所述实体。
在一个实施例中,所述实体为目标页面,所述实体的组成元素包括页面组件;
所述半结构化数据是数据交互格式数据,每个数据提取条件均是基于脚本语法进行配置的;且每个数据提取条件均支持如下至少一种运算:代数运算、条件运算、逻辑运算、循环运算以及函数调用。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;数据处理设备的处理器从计算机存储介质中读取该计算机程序,处理器执行该计算机程序,使得数据处理设备执行上述如图2以及图4所示的方法实施例。其中,计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种数据处理方法,其特征在于,包括:
获取用于描述实体的半结构化数据,所述半结构化数据包括多个节点,节点存储了所述实体的组成元素的属性数据;其中,所述多个节点中存在至少一个节点被配置了数据提取条件;
从所述半结构化数据包括的多个节点中选取待处理的目标节点,并获取所述目标节点的上下文信息;其中,所述目标节点是被配置了数据提取条件的节点;
根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格;
在检测到所述目标节点的数据提取资格的情况下,对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果。
2.如权利要求1所述的方法,其特征在于,所述半结构化数据的数据结构为树状结构;所述从所述半结构化数据包括的多个节点中选取待处理的目标节点,包括:
对所述半结构化数据包括的多个节点进行先序遍历,所述先序遍历是指从所述半结构化数据的根节点开始遍历的遍历方式;
若当前遍历的节点被配置了数据提取条件,则选取当前遍历的节点作为待处理的目标节点;
若当前遍历的节点未被配置数据提取条件,则继续遍历所述半结构化数据中未被遍历的节点。
3.如权利要求2所述的方法,其特征在于,在检测到所述目标节点的数据提取资格后,所述方法还包括:
查找所述目标节点的路径变量,所述路径变量用于指示:所述目标节点的子树中,需被执行数据提取操作的节点;
若未查找到所述路径变量,则触发执行所述对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果的步骤;并在得到所述目标节点的数据提取结果后,继续遍历所述半结构化数据中未被遍历的节点;
若查找到所述路径变量,则继续遍历所述目标节点的子树中的各个节点,以在遍历到所述路径变量指示的节点时,对所述路径变量指示的节点执行数据提取操作。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
若未检测到所述目标节点的数据提取资格,则停止遍历所述目标节点的子树中的各个节点,并继续遍历所述目标节点的兄弟节点;
其中,所述目标节点的兄弟节点是指:与所述目标节点拥有同一个父节点的节点。
5.如权利要求1所述的方法,其特征在于,所述目标节点的数据提取条件包括条件表达式;所述根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格,包括:
将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,得到注入后的条件表达式;
将所述注入后的条件表达式转换为语法树,所述语法树通过树状的形式表现所述注入后的条件表达式的语法结构;
调用与所述语法树相匹配的语言解释器,递归执行所述语法树,得到所述注入后的条件表达式的执行结果;
根据所述执行结果检测所述目标节点的数据提取资格。
6.如权利要求5所述的方法,其特征在于,所述目标节点的上下文信息包括所述目标节点的节点数据;或者,所述目标节点的上下文信息包括:所述目标节点的节点数据以及参考信息;其中:
所述目标节点的节点数据包括:所述目标节点中存储的属性数据,以及所述目标节点的子树中的各个节点中存储的属性数据;
所述参考信息包括以下至少一项:全局内容以及所述目标节点的父级链表;所述全局内容包括至少一个预设数据,所述目标节点的父级链表用于指向所述目标节点的父节点。
7.如权利要求6所述的方法,其特征在于,所述目标节点的条件表达式包括一个或多个取值路径,一个取值路径用于获取需注入至条件表达式中的一个数据;
所述将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,包括:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第一取值路径,所述第一取值路径指向所述目标节点或者所述目标节点的子树中的节点;
分别根据筛选出的各个第一取值路径,从所述目标节点的节点数据中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至所述目标节点的条件表达式中。
8.如权利要求7所述的方法,其特征在于,当所述目标节点的上下文信息还包括所述全局内容时,所述将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,还包括:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第二取值路径,所述第二取值路径指向所述全局内容中的一个预设数据;
若筛选出至少一个第二取值路径,则分别根据筛选出的各个第二取值路径,从所述全局内容中获取相应的预设数据,并将获取到的各个预设数据注入至所述目标节点的条件表达式中。
9.如权利要求7所述的方法,其特征在于,当所述目标节点的上下文信息还包括所述目标节点的父级链表时,所述将所述目标节点的上下文信息注入至所述目标节点的条件表达式中,还包括:
从所述目标节点的条件表达式包括的各个取值路径中,筛选第三取值路径,所述第三取值路径指向所述目标节点的父节点或所述目标节点的兄弟节点;
若筛选出至少一个第三取值路径,则获取所述目标节点的父级链表所指向的父节点的上下文信息,并分别根据筛选出的各个第三取值路径,从获取到的上下文信息中获取相应节点所存储的属性数据,并将获取到的各个属性数据注入至所述目标节点的条件表达式中。
10.如权利要求1所述的方法,其特征在于,所述半结构化数据的数据结构为树状结构;所述对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果,包括:
从所述目标节点中提取出所述目标节点所存储的属性数据,以及从所述半结构化数据中提取出所述目标节点的节点路径;其中,所述目标节点的节点路径用于指示:从所述半结构化数据的根节点到所述目标节点的路径;
对提取出的属性数据以及提取出的节点路径进行聚合,得到所述目标节点的数据提取结果。
11.如权利要求10所述的方法,其特征在于,所述对提取出的属性数据以及提取出的节点路径进行聚合,得到所述目标节点的数据提取结果,包括:
获取所述目标节点的节点标记,所述目标节点的节点标记用于标记所述目标节点的用途;
对提取出的属性数据、提取出的节点路径以及所述目标节点的节点标记进行聚合,得到所述目标节点的数据提取结果。
12.如权利要求10所述的方法,其特征在于,所述方法还包括:
获取针对所述实体的数据更新需求,所述数据更新需求包括:用于对至少一个节点进行数据更新的属性数据;
遍历所述数据更新需求中的各个属性数据,获取当前遍历的属性数据所对应的节点的数据提取结果;
根据获取到的数据提取结果中的节点路径,从所述实体的半结构化数据中定位出相应的节点,并采用所述当前遍历的属性数据更新定位出的节点所存储的属性数据;
继续遍历,直至所述数据更新需求中的各个属性数据均被遍历,得到更新后的半结构化数据,并基于所述更新后的半结构化数据更新所述实体。
13.如权利要求12所述的方法,其特征在于,所述实体为目标页面,所述实体的组成元素包括页面组件;
所述半结构化数据是数据交互格式数据,每个数据提取条件均是基于脚本语法进行配置的;且每个数据提取条件均支持如下至少一种运算:代数运算、条件运算、逻辑运算、循环运算以及函数调用。
14.一种数据处理装置,其特征在于,包括:
获取单元,用于获取用于描述实体的半结构化数据,所述半结构化数据包括多个节点,节点存储了所述实体的组成元素的属性数据;其中,所述多个节点中存在至少一个节点被配置了数据提取条件;
处理单元,用于从所述半结构化数据包括的多个节点中选取待处理的目标节点,并获取所述目标节点的上下文信息;其中,所述目标节点是被配置了数据提取条件的节点;
所述处理单元,还用于根据所述目标节点的上下文信息和所述目标节点的数据提取条件,检测所述目标节点的数据提取资格;
所述处理单元,还用于在检测到所述目标节点的数据提取资格的情况下,对所述目标节点执行数据提取操作,得到所述目标节点的数据提取结果。
15.一种数据处理设备,其特征在于,所述数据处理设备包括输入接口和输出接口,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-13任一项所述的数据处理方法。
16.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如权利要求1-13任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310970468.2A CN116680444B (zh) | 2023-08-03 | 2023-08-03 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310970468.2A CN116680444B (zh) | 2023-08-03 | 2023-08-03 | 数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116680444A true CN116680444A (zh) | 2023-09-01 |
CN116680444B CN116680444B (zh) | 2024-01-19 |
Family
ID=87782294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310970468.2A Active CN116680444B (zh) | 2023-08-03 | 2023-08-03 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680444B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605675A (zh) * | 2013-10-30 | 2014-02-26 | 北京京东尚科信息技术有限公司 | 一种xml路径表达式提取方法及装置 |
CN107256217A (zh) * | 2017-04-19 | 2017-10-17 | 江苏师范大学 | 一种xml数据的快速查询方法 |
CN110377291A (zh) * | 2019-06-19 | 2019-10-25 | 深圳壹账通智能科技有限公司 | 结构化数据转换方法、装置、计算机设备和存储介质 |
CN111984674A (zh) * | 2020-09-02 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 结构化查询语言的生成方法及系统 |
CN113254751A (zh) * | 2021-06-24 | 2021-08-13 | 北森云计算有限公司 | 一种复杂网页结构化信息精确提取方法、设备及存储介质 |
CN115062046A (zh) * | 2022-06-24 | 2022-09-16 | 北京小米移动软件有限公司 | 数据库查询方法、装置、电子设备及存储介质 |
KR20220143538A (ko) * | 2021-04-16 | 2022-10-25 | 네이버 주식회사 | 반정형 문서로부터 정보를 추출하는 방법 및 시스템 |
CN115543927A (zh) * | 2022-10-31 | 2022-12-30 | 永道工程咨询有限公司 | 造价文件的字段信息提取方法及装置、设备、存储介质 |
CN115665285A (zh) * | 2022-10-31 | 2023-01-31 | 中国农业银行股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116127960A (zh) * | 2023-04-17 | 2023-05-16 | 广东粤港澳大湾区国家纳米科技创新研究院 | 信息抽取方法、装置、存储介质及计算机设备 |
-
2023
- 2023-08-03 CN CN202310970468.2A patent/CN116680444B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605675A (zh) * | 2013-10-30 | 2014-02-26 | 北京京东尚科信息技术有限公司 | 一种xml路径表达式提取方法及装置 |
CN107256217A (zh) * | 2017-04-19 | 2017-10-17 | 江苏师范大学 | 一种xml数据的快速查询方法 |
CN110377291A (zh) * | 2019-06-19 | 2019-10-25 | 深圳壹账通智能科技有限公司 | 结构化数据转换方法、装置、计算机设备和存储介质 |
CN111984674A (zh) * | 2020-09-02 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 结构化查询语言的生成方法及系统 |
KR20220143538A (ko) * | 2021-04-16 | 2022-10-25 | 네이버 주식회사 | 반정형 문서로부터 정보를 추출하는 방법 및 시스템 |
CN113254751A (zh) * | 2021-06-24 | 2021-08-13 | 北森云计算有限公司 | 一种复杂网页结构化信息精确提取方法、设备及存储介质 |
CN115062046A (zh) * | 2022-06-24 | 2022-09-16 | 北京小米移动软件有限公司 | 数据库查询方法、装置、电子设备及存储介质 |
CN115543927A (zh) * | 2022-10-31 | 2022-12-30 | 永道工程咨询有限公司 | 造价文件的字段信息提取方法及装置、设备、存储介质 |
CN115665285A (zh) * | 2022-10-31 | 2023-01-31 | 中国农业银行股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116127960A (zh) * | 2023-04-17 | 2023-05-16 | 广东粤港澳大湾区国家纳米科技创新研究院 | 信息抽取方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116680444B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824691B2 (en) | Page rendering method, device, and data storage medium | |
US20170091589A1 (en) | Framework for data extraction by examples | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
CN106202066B (zh) | 网站的翻译方法和装置 | |
US20130339840A1 (en) | System and method for logical chunking and restructuring websites | |
CN111241793B (zh) | 解析富文本编辑器内容给原生客户端渲染的方法、系统及介质 | |
CN107015839B (zh) | 一种实现前端事件代理的方法及装置 | |
CN104331438B (zh) | 对小说网页内容选择性抽取方法和装置 | |
CN110222251B (zh) | 一种基于网页分割和搜索算法的服务包装方法 | |
CN110297636A (zh) | 一种基于页面配置文件的页面自动生成和参数管理方法、系统和装置 | |
US11403078B2 (en) | Interface layout interference detection | |
CN111508562A (zh) | 流程描述性语言的可视化显示方法、装置、设备和介质 | |
CN116661789A (zh) | 页面结构转换方法、装置、计算机设备及可读存储介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN115080154A (zh) | 页面显示方法、装置、存储介质及电子设备 | |
CN112825038A (zh) | 基于通用组件语言规范的可视化页面制作方法和相关产品 | |
US20160364491A1 (en) | Search results modulator | |
CN116680444B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN115328353B (zh) | 一种生成iconfont资源的方法、装置以及介质 | |
CN116610558A (zh) | 代码检测方法、装置、电子设备及计算机可读存储介质 | |
US20240037325A1 (en) | Ability to add non-direct ancestor columns in child spreadsheets | |
CN113934959B (zh) | 一种程序预览方法、装置、计算机设备和存储介质 | |
CN114722112A (zh) | 一种可视化列表数据展示方法及其装置 | |
CN112966481B (zh) | 一种数据表格展示方法及装置 | |
US11526336B2 (en) | Community-oriented, cloud-based digital annealing platform |
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 |