CN114090590A - 一种多对象标签数据的抽取方法及系统 - Google Patents
一种多对象标签数据的抽取方法及系统 Download PDFInfo
- Publication number
- CN114090590A CN114090590A CN202210067620.1A CN202210067620A CN114090590A CN 114090590 A CN114090590 A CN 114090590A CN 202210067620 A CN202210067620 A CN 202210067620A CN 114090590 A CN114090590 A CN 114090590A
- Authority
- CN
- China
- Prior art keywords
- label
- temporary
- data
- uid
- sub
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013075 data extraction Methods 0.000 title description 3
- 238000005192 partition Methods 0.000 claims abstract description 44
- 238000000605 extraction Methods 0.000 claims abstract description 33
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 8
- 101100368725 Bacillus subtilis (strain 168) tagF gene Proteins 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007115 recruitment Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种多对象标签数据的抽取方法,包括:基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表;对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区。本发明实施例还公开了一种多对象标签数据的抽取系统。本发明能够实现多个对象的大量标签数据的高效存储问题,并能实现标签数据的低延迟动态更新。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种多对象标签数据的抽取方法及系统。
背景技术
对象的标签数据是用户画像系统的重要数据,来源于不同的数据源。在实际应用中需要将多个对象的标签数据集成在一起以用于查询、分析等处理,这就需要对大量的标签数据进行存储。现有技术中,在进行多个对象的标签数据存储时,会直接将所有的标签直接存储成一个大宽表,在ETL的时候会耗费大量的时间,针对底层数据的存储,常用的技术方案是采用Apache Hive进行存储,但是在更新标签值的时候需要更新Hive表中所有的数据,因为Hive不支持按行进行数据更新,只能通过全量数据覆盖的方式,所以在数据量较大的情况下,比较耗费资源。
发明内容
为解决上述问题,本发明的目的在于提供一种多对象标签数据的抽取方法及系统,能够实现多个对象的大量标签数据的高效存储问题,并能实现标签数据的低延迟动态更新。
本发明实施例提供了一种多对象标签数据的抽取方法,所述方法包括:
基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表,所述临时表包括各个uid和每个uid对应的所有标签的值,其中,每个对象的所有标签的值对应一个uid,所述每个uid对应的所有标签的值是基于当前抽取规则从所述多个对象的标签数据中计算得到的数据;
对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;
基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,其中,所述分表包括当前分类所属对象的uid和当前分类对应的所有标签的值,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区,用于标识不同版本的标签的值。
作为本发明进一步的改进,所述临时表为横向的临时宽表,所述临时宽表中第一列表示各个uid,从第二列起表示各个uid对应的标签的值,或,
所述临时表为纵向的临时窄表,所述临时窄表中第一列表示各个uid,第二列表示各个uid对应的标签的键,第三列表示各个uid对应的标签的值。
作为本发明进一步的改进,所述标签树结构中,一级节点表示业务,二级节点表示业务下的对象,每个二级节点下有多个分类节点,每个分类节点下有多个叶子节点,每个叶子节点表示一个标签的值,
所述基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,包括:
将每个分类节点划分为一张分表,所述分表中第一列表示分类的uid,从第二列开始表示该分类的所有叶子节点对应的标签的值。
作为本发明进一步的改进,所述方法还包括:
比对每个分表中的列和关系数据库中对应的标签数据,在比对出有差异数据时,根据所述差异数据构建新分表或对已有分表进行数据更新,新分表和更新后的分表导入至所述时间戳分区。
作为本发明进一步的改进,所述方法还包括:
根据对象的uid,从所述时间戳分区中获取最新的分表,以基于所述最新的分表获取对象最新的所有标签的值。
本发明实施例还提供了一种多对象标签数据的抽取系统,所述系统包括:
元数据抽取模块,用于基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表,所述临时表包括各个uid和每个uid对应的所有标签的值,其中,每个对象的所有标签的值对应一个uid,所述每个uid对应的所有标签的值是基于当前抽取规则从所述多个对象的标签数据中计算得到的数据;
数据合并模块,用于对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;
分表存储模块,用于基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,其中,所述分表包括当前分类所属对象的uid和当前分类对应的所有标签的值,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区,用于标识不同版本的标签的值。
作为本发明进一步的改进,所述临时表为横向的临时宽表,所述临时宽表中第一列表示各个uid,从第二列起表示各个uid对应的标签的值,或,
所述临时表为纵向的临时窄表,所述临时窄表中第一列表示各个uid,第二列表示各个uid对应的标签的键,第三列表示各个uid对应的标签的值。
作为本发明进一步的改进,所述标签树结构中,一级节点表示业务,二级节点表示业务下的对象,每个二级节点下有多个分类节点,每个分类节点下有多个叶子节点,每个叶子节点表示一个标签的值,所述数据合并模块包括:
将每个分类节点划分为一张分表,所述分表中第一列表示分类的uid,从第二列开始表示该分类的所有叶子节点对应的标签的值。
作为本发明进一步的改进,所述分表存储模块还包括:
比对每个分表中的列和关系数据库中对应的标签数据,在比对出有差异数据时,根据所述差异数据构建新分表或对已有分表进行数据更新,新分表和更新后的分表导入至所述时间戳分区。
作为本发明进一步的改进,所述系统还包括:
分析查询模块,用于根据对象的uid,从所述时间戳分区中获取最新的分表,以基于所述最新的分表获取对象最新的所有标签的值。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现所述的方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现所述的方法。
本发明的有益效果为:
能够解决多个对象的大量标签数据的存储,将大量标签数据的存储过程进行拆解,使多个标签任务能并行执行,缩短执行时间,实现对多个对象标签数据的高效存储,并通过增加分区的方式,将每次需要更新的标签数据放置一个时间戳分区中,能解决标签数据的动态更新问题,实现标签低延迟的动态随机更新。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一示例性实施例所述的一种多对象标签数据的抽取方法的流程示意图;
图2为本发明一示例性实施例所述的临时宽表的示意图;
图3为本发明一示例性实施例所述的临时窄表的示意图;
图4为本发明一示例性实施例所述的一个临时宽表和一个临时窄表合并成一个大宽表的示意图;
图5为本发明一示例性实施例所述的标签树结构的示意图;
图6为本发明一示例性实施例所述的根据标签树结构路由分表的示意图;
图7为本发明一示例性实施例所述的更新分表的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明的描述中,所用术语仅用于说明目的,并非旨在限制本发明的范围。术语“包括”和/或“包含”用于指定所述元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本发明所述实施例的说明。附图仅出于说明的目的用来描绘本发明所述实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本发明所述原理的情况下,可以采用本发明所示结构和方法的替代实施例。
本发明实施例所述的一种多对象标签数据的抽取方法,所述方法包括:
S1,基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表,所述临时表包括各个uid和每个uid对应的所有标签的值,其中,每个对象的所有标签的值对应一个uid,所述每个uid对应的所有标签的值是基于当前抽取规则从所述多个对象的标签数据中计算得到的数据;
S2,对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;
S3,基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,其中,所述分表包括当前分类所属对象的uid和当前分类对应的所有标签的值,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区,用于标识不同版本的标签的值。
本发明所述方法是一种支持多对象标签数据的抽取方法,支持标签数据可以有多个标签任务产出,将整个存储过程进行拆解,使各个标签任务并行进行,然后合并到大宽表中,最后根据标签分表规则将数据路由到不同的分表(hive表)中对外部(例如画像系统)提供服务,并将每次需要更新的hive表的标签数据放置一个时间戳分区中,实现动态更新。
如图1所示,本发明所述方法整个过程分为三个阶段:
1、元数据抽取阶段(以下简称query阶段):
对数据源或标签元数据将业务数据中的多个对象的标签数据,根据抽取规则计算出结果,每个抽取规则抽取出的数据产出一个临时表,例如图1中所示的result1、result2、……。
每个临时表中,uid作为对象的唯一标识,业务下每个对象都对应一种uid,一个对象的标签可以划分为不同的分类,每个分类对应一张分表(hive表),各个分表之间通过uid关联。
2、数据结果合并导入大宽表阶段(以下简称imp阶段):
将临时表合并入大宽表,例如图1中,result1和result2分别表示对象1的两个临时表,table1表示对象1的大宽表,在数据合并时,将对象1的临时表result1和临时表result2合并至对象1对应的大宽表table1中。本发明中的大宽表,可以根据需求动态添加,例如图1中大宽表table2,以解决数据动态添加的问题。
3、将数据根据分表规则路由分表存储阶段(以下简称dump阶段):
将大宽表中的数据路由至不同的分表中,例如图1中,对象1的大宽表table1中的数据路由至分表table1和分表table2中,分表table1和分表table2分别表示对象1的分类1和分类2的分表,最终的分表table1、table2、……用于后续的数据查询分析等。
上述三个阶段分别对应上述S1、S2和S3的流程。在整个运算过程中使用到的存储为mysql(关系数据库)和hive(数据仓库工具),mysql负责存储标签以及标签任务的元信息,抽取规则会每天定时执行,所以每个抽取规则会添加成一个标签任务去定时执行,hive表作为标签数据的底层存储,包括对计算过程中产生的中间结果的存储。
本发明预先构建了标签树结构,将多个对象的标签数据划分开,所述标签树结构中,一级节点表示业务,二级节点表示业务下的对象,每个二级节点下有多个分类节点,每个分类节点下有多个叶子节点,每个叶子节点表示一个标签的值。举例说明,例如业务为直播视频、招聘平台等,每个业务中,都会有很多部分组成,例如直播视频业务中视频和观看视频的用户,招聘平台中的职位、公司、招聘者和应聘者,这些组成部分都可以划分为一个对象。这些对象的标签可以被划分为多个分类。
例如图5所示的标签树结构,一级节点为业务一,二级节点为对象一、对象二、……,对象一下有多个分类节点:分类一、分类二、……,分类一的叶子节点包括tag1、tag3、……,分类二的叶子节点包括tag2、tag4、……。
对于query阶段,在定义标签数据的抽取规则时,给每个对象的标签数据都生成了一个唯一的uid(身份代码),每个对象都有一个固定且唯一的uid前缀。对于每个抽取规则,都会产出一张临时表,可以实现多个抽取规则任务之间的数据互不干扰,避免所有的标签数据写到一个规则的ETL(数据处理工具)中导致耗费大量时间的问题。query阶段的结果即临时表,需要有一个唯一的主键uid作为对象的唯一标识,后续会通过该uid查询对象的标签值,该uid还用来关联各分表的数据以及根据当前抽取规则计算出来的对象的标签的值。
一种实施方式中,所述临时表为横向的临时宽表,所述临时宽表中第一列表示各个uid,从第二列起表示各个uid对应的标签的值,或,
所述临时表为纵向的临时窄表,所述临时窄表中第一列表示各个uid,第二列表示各个uid对应的标签的键,第三列表示各个uid对应的标签的值。
本发明中临时表的形式有两种,两种临时表主要是产出的方式不同,支持两种临时表是为了标签系统可以收集到不同来源的数据。在整个数据加工生产的过程中会产生两种类型的表,一种是算法实时计算动态标签无法确定可以产出哪些标签,所以可以使用窄表这种形式来存储数据,另外一种是例行化的ETL即固定加工方式,固定的产出一个固定维度的宽表,其中,ETL(Extract-Transform-Load,抽取-转换-存储),即在数据抽取过程中进行数据的加工转换,然后加载到存储中。
如图2所示,可以是横向的临时宽表,其中,第一列表示各个uid,例如ZP-001、ZP-002、ZP-003、……,第二列表示标签tag1的值,例如篮球、钢琴、足球,分别对应的uid为ZP-001、ZP-002、ZP-003,第三列表示标签tag2的值,例如本科、专科、硕士,分别对应的uid为ZP-001、ZP-002、ZP-003。
如图3所示,也可以是纵向的临时窄表,其中,第一列表示各个uid,例如ZP-001、ZP-002、ZP-001、……,第二列表示各个uid对应的标签的键,例如tag1、tag1、tag3,分别对应的uid为ZP-001、ZP-002、ZP-001,第三列表示各个uid对应的标签的值,例如篮球、足球、硕士,分别对应的uid为ZP-001、ZP-002、ZP-001。
由于在query阶段会产生多个临时表,根据不同抽取规则得到的临时表的数据格式也有差别,例如有的是临时宽表,有的是临时窄表。在ipm阶段,要把多个数据格式不同的临时表合并到一个大宽表中。在进行格式转换时,将产生的临时窄表先进行行列转换,然后将转换后的结果合并至中间的大宽表中。如图4所示,示出了将一个临时宽表和一个临时窄表合并成一个大宽表。
对于dump阶段,为了方便后续的数据查询,合并后的大宽表中的数据需要根据标签元数据的信息将数据路由至不同的分表中,也即是根据预先构建的标签树结构进行分表划分。如前述,本发明中整个标签树结构的一级节点是业务,二级节点是业务下的对象,二级节点下的所有叶子节点的上一级分类节点划分为一张分表,分类节点下的叶子节点表示的标签的值为该分表的列。
一种实施方式中,所述基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,包括:
将每个分类节点划分为一张分表,所述分表中第一列表示分类的uid,从第二列开始表示该分类的所有叶子节点对应的标签的值。
本发明通过构建标签树结构,实现标签的动态分表。如图5和6所示,在dump阶段,分类一和分类二分别对应一张分表(hive表)。根据图5中所示的标签树结构,得到当前分类即分类一的hive表如图6中的表1所示,该表1包括了分类一所属对象的uid(ZP-001、ZP-002、ZP-003),分类一下的所有标签tag1、tag3、……、的值。根据图5中所示的标签树结构,得到当前分类即分类二的hive表如图6中的表2所示,该表2包括了分类二所属对象的uid(ZP-001、ZP-002、ZP-003),分类二下的所有标签tag2、tag4、……、的值。
一种实施方式中,所述方法还包括:
比对每个分表中的列和关系数据库中对应的标签数据,在比对出有差异数据时,根据所述差异数据构建新分表或对已有分表进行数据更新,新分表和更新后的分表导入至所述时间戳分区。
在开启dump阶段时,可以先根据各个分表的元数据刷新各个分表,以获得最新的分表元信息。在数据同步前比对hive表中的列和mysql中的标签数据,按照比对出的元数据的差异来创建hive表,或者对已有的hive表进行字段的新增、修改、删除等操作,更新完的hive表的元信息后,将数据导入至时间戳分区中,该时间戳分区是以标签更新时间为值的分区,用来标志改时间分区内的数据版本。例如图6所示,表1中标签的值更新时间为timestamp。通过存储不同版本的标签的值,可以实现hive表的实时动态更新,以实时拉取最新的标签的值。
一种实施方式中,对于大批量的数据分析计算,可以外接查询引擎,在查询过程中,根据对象的uid,从所述时间戳分区中获取最新的分表,以基于所述最新的分表获取对象最新的所有标签的值。如图7所示,对于一个hive表,对应多个时间戳分区(timestamp1、timestamp2)中,其中,标签的值第一次更新时间为timestamp1,得到的hive表的时间戳分区如图中表1 partition= timestamp1,这个分区中的数据就是标签在当前更新时间timestamp1下被更新的标签的值,标签的值第二次更新时间为timestamp2,得到的hive表的时间戳分区如图中表1 partition= timestamp2,这个分区中的数据就是标签在当前更新时间timestamp2下被更新的标签的值,查询时获取最新的hive表如图中表1所示。例如,tag1只在timestamp1时被更新或者新增,tag3是在timestamp2时新增,那么查询时tag1的值时从timestamp1分区中获取的,tag3是从timestamp2分区中获取的,tag1和tag3的值取值过程中会合并两个分区(timestamp1、timestamp2)的数据,并从合并后的数据中取对应标签(tag1和tag3)最新分区中的值。
hive表为用户分群提供服务,在进行分群计算式,不同对象的数据是分开计算的,并且在单个对象中,一般同一分类下的标签一起作为筛选条件,因此对大宽表进行了分表处理,将大宽表的计算进行划分,针对不同的计算使用小分表进行关联查询,可以加快分群的计算速度。
本发明实施例所述的一种多对象标签数据的抽取系统,所述系统包括:
元数据抽取模块,用于基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表,所述临时表包括各个uid和每个uid对应的所有标签的值,其中,每个对象的所有标签的值对应一个uid,所述每个uid对应的所有标签的值是基于当前抽取规则从所述多个对象的标签数据中计算得到的数据;
数据合并模块,用于对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;
分表存储模块,用于基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,其中,所述分表包括当前分类所属对象的uid和当前分类对应的所有标签的值,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区,用于标识不同版本的标签的值。
一种实施方式中,所述临时表为横向的临时宽表,所述临时宽表中第一列表示各个uid,从第二列起表示各个uid对应的标签的值,或,
所述临时表为纵向的临时窄表,所述临时窄表中第一列表示各个uid,第二列表示各个uid对应的标签的键,第三列表示各个uid对应的标签的值。
一种实施方式中,所述标签树结构中,一级节点表示业务,二级节点表示业务下的对象,每个二级节点下有多个分类节点,每个分类节点下有多个叶子节点,每个叶子节点表示一个标签的值,所述数据合并模块包括:
将每个分类节点划分为一张分表,所述分表中第一列表示分类的uid,从第二列开始表示该分类的所有叶子节点对应的标签的值。
一种实施方式中,所述分表存储模块还包括:
比对每个分表中的列和关系数据库中对应的标签数据,在比对出有差异数据时,根据所述差异数据构建新分表或对已有分表进行数据更新,新分表和更新后的分表导入至所述时间戳分区。
一种实施方式中,所述系统还包括:
分析查询模块,用于根据对象的uid,从所述时间戳分区中获取最新的分表,以基于所述最新的分表获取对象最新的所有标签的值。
本公开还涉及一种电子设备,包括服务器、终端等。该电子设备包括:至少一个处理器;与至少一个处理器通信连接的存储器;以及与存储介质通信连接的通信组件,所述通信组件在处理器的控制下接收和发送数据;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行以实现上述实施例中的方法。
在一种可选的实施方式中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本公开还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本领域技术人员应理解,尽管已经参考示例性实施例描述了本发明,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。
Claims (12)
1.一种多对象标签数据的抽取方法,其特征在于,所述方法包括:
基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表,所述临时表包括各个uid和每个uid对应的所有标签的值,其中,每个对象的所有标签的值对应一个uid,所述每个uid对应的所有标签的值是基于当前抽取规则从所述多个对象的标签数据中计算得到的数据;
对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;
基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,其中,所述分表包括当前分类所属对象的uid和当前分类对应的所有标签的值,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区,用于标识不同版本的标签的值。
2.如权利要求1所述的方法,其中,所述临时表为横向的临时宽表,所述临时宽表中第一列表示各个uid,从第二列起表示各个uid对应的标签的值,或,
所述临时表为纵向的临时窄表,所述临时窄表中第一列表示各个uid,第二列表示各个uid对应的标签的键,第三列表示各个uid对应的标签的值。
3.如权利要求1所述的方法,其中,所述标签树结构中,一级节点表示业务,二级节点表示业务下的对象,每个二级节点下有多个分类节点,每个分类节点下有多个叶子节点,每个叶子节点表示一个标签的值,
所述基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,包括:
将每个分类节点划分为一张分表,所述分表中第一列表示分类的uid,从第二列开始表示该分类的所有叶子节点对应的标签的值。
4.如权利要求1所述的方法,其中,所述方法还包括:
比对每个分表中的列和关系数据库中对应的标签数据,在比对出有差异数据时,根据所述差异数据构建新分表或对已有分表进行数据更新,新分表和更新后的分表导入至所述时间戳分区。
5.如权利要求4所述的方法,其中,所述方法还包括:
根据对象的uid,从所述时间戳分区中获取最新的分表,以基于所述最新的分表获取对象最新的所有标签的值。
6.一种多对象标签数据的抽取系统,其特征在于,所述系统包括:
元数据抽取模块,用于基于抽取规则对多个对象的标签数据进行元数据抽取,每个抽取规则抽取出的数据产生一张临时表,所述临时表包括各个uid和每个uid对应的所有标签的值,其中,每个对象的所有标签的值对应一个uid,所述每个uid对应的所有标签的值是基于当前抽取规则从所述多个对象的标签数据中计算得到的数据;
数据合并模块,用于对多个所述临时表进行格式转换,并将格式转换后的多个所述临时表的结果合并至一个大宽表中;
分表存储模块,用于基于预先构建的标签树结构将所述大宽表中的各个标签的值路由至不同的分表中,其中,所述分表包括当前分类所属对象的uid和当前分类对应的所有标签的值,所述分表存储于时间戳分区中,所述时间戳分区为以标签的值更新时间为值的分区,用于标识不同版本的标签的值。
7.如权利要求6所述的系统,其中,所述临时表为横向的临时宽表,所述临时宽表中第一列表示各个uid,从第二列起表示各个uid对应的标签的值,或,
所述临时表为纵向的临时窄表,所述临时窄表中第一列表示各个uid,第二列表示各个uid对应的标签的键,第三列表示各个uid对应的标签的值。
8.如权利要求6所述的系统,其中,所述标签树结构中,一级节点表示业务,二级节点表示业务下的对象,每个二级节点下有多个分类节点,每个分类节点下有多个叶子节点,每个叶子节点表示一个标签的值,所述数据合并模块包括:
将每个分类节点划分为一张分表,所述分表中第一列表示分类的uid,从第二列开始表示该分类的所有叶子节点对应的标签的值。
9.如权利要求6所述的系统,其中,所述分表存储模块还包括:
比对每个分表中的列和关系数据库中对应的标签数据,在比对出有差异数据时,根据所述差异数据构建新分表或对已有分表进行数据更新,新分表和更新后的分表导入至所述时间戳分区。
10.如权利要求6所述的系统,其中,所述系统还包括:
分析查询模块,用于根据对象的uid,从所述时间戳分区中获取最新的分表,以基于所述最新的分表获取对象最新的所有标签的值。
11.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210067620.1A CN114090590B (zh) | 2022-01-20 | 2022-01-20 | 一种多对象标签数据的抽取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210067620.1A CN114090590B (zh) | 2022-01-20 | 2022-01-20 | 一种多对象标签数据的抽取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114090590A true CN114090590A (zh) | 2022-02-25 |
CN114090590B CN114090590B (zh) | 2022-04-05 |
Family
ID=80308901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210067620.1A Active CN114090590B (zh) | 2022-01-20 | 2022-01-20 | 一种多对象标签数据的抽取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090590B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115600600A (zh) * | 2022-10-26 | 2023-01-13 | 中电金信软件有限公司(Cn) | 多对象标签体系的标签命名方法、装置、电子设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293697A1 (en) * | 2016-04-11 | 2017-10-12 | Oracle International Corporation | Graph processing system that can define a graph view from multiple relational database tables |
CN108874971A (zh) * | 2018-06-07 | 2018-11-23 | 北京赛思信安技术股份有限公司 | 一种应用于海量标签化实体数据存储的工具和方法 |
CN112269805A (zh) * | 2020-11-18 | 2021-01-26 | 杭州米雅信息科技有限公司 | 数据处理方法、装置、设备及介质 |
CN112364021A (zh) * | 2020-11-10 | 2021-02-12 | 中国平安人寿保险股份有限公司 | 业务数据处理方法、装置及存储介质 |
CN112529082A (zh) * | 2020-12-15 | 2021-03-19 | 建信金融科技有限责任公司 | 一种系统画像构建方法、装置和设备 |
CN113570192A (zh) * | 2021-06-21 | 2021-10-29 | 天津大学 | 一种基于大数据的农业社交智能服务系统 |
CN113918532A (zh) * | 2021-09-06 | 2022-01-11 | 北京互金新融科技有限公司 | 画像标签聚合方法、电子设备及存储介质 |
-
2022
- 2022-01-20 CN CN202210067620.1A patent/CN114090590B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293697A1 (en) * | 2016-04-11 | 2017-10-12 | Oracle International Corporation | Graph processing system that can define a graph view from multiple relational database tables |
CN108874971A (zh) * | 2018-06-07 | 2018-11-23 | 北京赛思信安技术股份有限公司 | 一种应用于海量标签化实体数据存储的工具和方法 |
CN112364021A (zh) * | 2020-11-10 | 2021-02-12 | 中国平安人寿保险股份有限公司 | 业务数据处理方法、装置及存储介质 |
CN112269805A (zh) * | 2020-11-18 | 2021-01-26 | 杭州米雅信息科技有限公司 | 数据处理方法、装置、设备及介质 |
CN112529082A (zh) * | 2020-12-15 | 2021-03-19 | 建信金融科技有限责任公司 | 一种系统画像构建方法、装置和设备 |
CN113570192A (zh) * | 2021-06-21 | 2021-10-29 | 天津大学 | 一种基于大数据的农业社交智能服务系统 |
CN113918532A (zh) * | 2021-09-06 | 2022-01-11 | 北京互金新融科技有限公司 | 画像标签聚合方法、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115600600A (zh) * | 2022-10-26 | 2023-01-13 | 中电金信软件有限公司(Cn) | 多对象标签体系的标签命名方法、装置、电子设备及介质 |
CN115600600B (zh) * | 2022-10-26 | 2023-10-17 | 中电金信软件有限公司 | 多对象标签体系的标签命名方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114090590B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
EP3274875B1 (en) | System and method for querying data sources | |
US20150278268A1 (en) | Data encoding and corresponding data structure | |
CN110309264B (zh) | 基于知识图谱获取地理产品数据的方法和装置 | |
CN102254012B (zh) | 一种基于外存的图数据存储方法及子图查询方法 | |
CN111008521B (zh) | 生成宽表的方法、装置及计算机存储介质 | |
US10922299B2 (en) | Correlating multiple tables in a non-relational database environment | |
KR20200121744A (ko) | 사용자 페르소나를 처리하는 방법, 장치, 서버 및 저장 매체 | |
CN114090590B (zh) | 一种多对象标签数据的抽取方法及系统 | |
US9477780B2 (en) | Target tree generation | |
CN113672692B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US20140372408A1 (en) | Sparql query optimization method | |
CN111061733A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN108121712B (zh) | 一种关键词存储方法及装置 | |
CN105589900A (zh) | 基于多维分析的数据挖掘方法 | |
CN107291938A (zh) | 订单查询系统及方法 | |
CN116452123A (zh) | 清单项目特征值的生成方法、装置和计算机设备 | |
KR101256922B1 (ko) | 예측 및 분석을 위한 분산 의사 결정 트리 생성방법 | |
EP3282372A1 (en) | Method and apparatus for storing data | |
CN106844377B (zh) | 多维数据库的处理方法及装置 | |
CN114860806A (zh) | 区块链的数据查询方法、装置、计算机设备和存储介质 | |
CN111737316A (zh) | 一种工程清单查询方法、装置、计算机设备和存储介质 | |
CN108241708B (zh) | 媒体名称的处理方法及装置 | |
CN115983616B (zh) | 一种基于管理系统的业务流程挖掘方法及设备 | |
CN113127549B (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 |