CN112559514A - 一种信息处理方法及*** - Google Patents

一种信息处理方法及*** Download PDF

Info

Publication number
CN112559514A
CN112559514A CN201910910154.7A CN201910910154A CN112559514A CN 112559514 A CN112559514 A CN 112559514A CN 201910910154 A CN201910910154 A CN 201910910154A CN 112559514 A CN112559514 A CN 112559514A
Authority
CN
China
Prior art keywords
data
inverted index
label
database
target
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
Application number
CN201910910154.7A
Other languages
English (en)
Other versions
CN112559514B (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910910154.7A priority Critical patent/CN112559514B/zh
Publication of CN112559514A publication Critical patent/CN112559514A/zh
Application granted granted Critical
Publication of CN112559514B publication Critical patent/CN112559514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种信息处理方法及***。本申请中,对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引;其中,转换后的数据格式为用于生成倒排索引的索引生成器支持的数据格式,所述倒排索引以所述目标数据为主键并以对象标识列表为主键所对应的数据;响应于所述搜索引擎接收到的查询请求,根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量。

Description

一种信息处理方法及***
技术领域
本申请涉及数据处理技术,尤其涉及一种信息处理方法及***。
背景技术
针对用于存储用户信息的数据库,在创建或编辑人群分组规则时,希望预估与该规则相匹配的用户数量,即预估该规则可以覆盖多少个符合条件的用户,以便评估该规则的合理性或者用于其他用途。
对人群分组规则所覆盖的用户数量的预估,本质上是通过输入一系列规则,对数据库中的用户信息进行匹配,并统计匹配到的用户数量。
数据库中存储有海量用户信息,每个用户下有多种(比如十几种)不同类型的标签,每一种标签下有多个(比如几十到数百个)不同的值,而传统的关系数据库和索引无法支持海量数据的索引。因此,如何针对存储有海量用户信息的数据库建立索引,并基于该索引预估与人群分组规则所匹配的用户数量,是目前需要解决的问题。
发明内容
本申请实施例提供了一种信息处理方法及***,用以通过建立倒排索引并基于该倒排索引进行对象数量统计和查询。
第一方面,提供一种信息处理方法,包括:对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引;其中,转换后的数据格式为用于生成倒排索引的索引生成器支持的数据格式,所述倒排索引以所述目标数据为主键并以对象标识列表为主键所对应的数据;响应于所述搜索引擎接收到的查询请求,根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量。
可选地,所述目标对象的数据包括目标对象的标签,所述标签用于描述对象的特征和/或行为;所述对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引,包括:对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引。
可选地,所述对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引,包括:根据查询请求所请求的指定范围,针对数据库中每个目标对象,确定目标对象中符合所述指定范围的标签;根据目标对象中符合所述指定范围的标签,得到标签倒排索引,所述标签倒排索引包括符合所述指定范围的标签以及对应的对象标识列表,其中,目标标签为主键,对象标识列表为主键对应的数据。
可选地,所述根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量,包括:根据所述查询请求所请求查询的目标标签查询标签倒排索引,得到所述目标标签对应的对象标识列表;根据所述对象标识列表确定对象数量。
可选地,所述目标对象的数据包括目标对象所属的群体分组的分组信息;所述对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引,包括:对数据库中的目标对象所属的分组的分组信息进行格式转换,根据格式转换后的分组信息生成分组倒排索引。
可选地,所述根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量,包括:根据所述查询请求所请求查询的分组规则所对应的至少两个目标分组查询分组倒排索引,得到所述至少两个分组各自对应的对象标识列表;根据所述分组规则对所述至少两个分组各自对应的对象标识列表进行取交集或并集的操作,根据操作结果得到对象数量,其中,所述分组规则用于指示对所述至少两个分组取交集或并集。
可选地,所述目标对象为所述数据库中的所有对象,或者为所述数据库中发生数据更新的对象;若所述目标对象为所述数据库中发生数据更新的对象,则根据格式转换后的数据生成倒排索引后,根据所述倒排索引更新原来的倒排索引。
可选地,所述数据库为Hbase数据库,所述Hbase数据库用于存储用户信息,所述目标对象为目标用户。
第二方面,提供一种信息处理***,包括:
格式转换器,用于对数据库中的目标对象的数据进行格式转换;其中,转换后的数据格式为所述索引生成器支持的数据格式;
索引生成器,用于根据格式转换后的数据生成倒排索引;其中,所述倒排索引以所述目标数据为主键并以对象标识列表为主键所对应的数据;
搜索引擎,用于响应于所述搜索引擎接收到的查询请求,根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量。
可选地,所述目标对象的数据包括目标对象的标签以及目标对象所属的群体分组的分组信息,所述标签用于描述对象的特征和/或行为;所述索引生成器,包括标签索引生成器和分组索引生成器,所述标签索引生成器用于对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引,所述分组索引生成器用于对数据库中的目标对象所属的分组的分组信息进行格式转换,根据格式转换后的分组信息生成分组倒排索引;所述搜索引擎,具体用于:根据所述查询请求所请求查询的目标标签查询标签倒排索引,得到所述目标标签对应的对象标识列表,并根据所述对象标识列表确定对象数量;或者,根据所述查询请求所请求查询的分组规则所对应的至少两个目标分组查询分组倒排索引,得到所述至少两个分组各自对应的对象标识列表,并根据所述分组规则对所述至少两个分组各自对应的对象标识列表进行取交集或并集的操作,根据操作结果得到对象数量,其中,所述分组规则用于指示对所述至少两个分组取交集或并集。
第三方面,提供一种信息处理装置,包括:处理器、存储器;所述处理器,用于读取所述存储器中的计算机指令,执行如上述第一方面中任一项所述的方法。
第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述的方法。
本申请的上述实施例中,通过对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引,使得在需要查询符合某种规则的对象的数量时,可以根据该倒排索引,查询得到符合该规则的对象的数量,从而实现了通过建立倒排索引并基于该倒排索引进行对象数量统计和查询,尤其在应用于存储有海量信息的数据库时,可便捷和高效地进行统计和查询,满足实时查询的需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请实施例中的倒排索引建立的流程示意图;
图2示例性示出了本申请实施例中的查询流程示意图;
图3示例性示出了本申请实施例中的信息处理***的架构示意图;
图4示例性示出了本申请实施例中信息处理示意图;
图5示例性示出了本申请实施例提供的信息处理装置的结构示意图。
具体实施方式
下面首先结合附图对本申请所涉及的概念进行说明。在此需要指出的是,以下对各个概念的说明,仅为了使本申请的内容更加容易理解,并不表示对本申请保护范围的限定。
应当理解,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”“索引生成器”“搜索引擎”“调度器”等,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件和/或软件代码的组合,能够执行与该元件相关的功能。
传统的关系数据库不能满足海量数据的存储需求,不适用于海量数据检索的场景,目前业界使用Hbase存储海量的数据。Hbase是分布式的、面向列的开源数据库。标签(也称为tag)作为海量数据存储在Hbase中,不同类的标签存储在数据库中不同的列(column)下,即数据库中的列与标签相对应。其中,标签用于描述对象的特征和/或行为,如性别、年龄、兴趣、点击记录、观看的视频、关注的上传者等。Hbase只支持对主键进行索引,无法对各列(column)下的值进行索引。
目前,对于需要实时进行的群体分组规则所覆盖对象数量预估需求,可以将数据强行转化为适合传统关系数据库的格式,然后对关系数据库分片并建立索引。但是这种解决方案成本高,需要高性能的数据库服务和硬件支持。并且将数据从NoSQL格式转化成关系数据库的格式以及数据库的人工分片等操作,技术实现复杂,开发维护成本较高。
为解决上述问题,本申请实施例提供了一种信息处理方法及***,通过本申请实施例,可以对海量数据进行存储,并且对数据建立倒排索引,在倒排索引的基础上实时的预估出符合群体分组规则的对象以及对象数量。其中,所述对象可以是用户,即数据库用于存储用户信息。
本申实施例中,用于存储对象的数据的数据库采用Hbase,以存储海量的数据。Hbase中存储的对象数据可包括对象的标签(也称为tag)和对象所属的分组信息,该分组信息具体可以是分组ID。该数据库中,对象的标识(UID)为主键,每一行对应一个对象,每一行由多列组成,每一列存储了一类标签或分组。Hbase数据库中的标签(列),不同标签的格式可能不同,标签具体可以分为两类:范围匹配和数值匹配。
表1示例性示出了一种存储有用户信息的Hbase的数据结构示意。
表1:数据库结构
Figure BDA0002214466200000051
其中,该数据结构中,对于一个用户来说,其信息占用一行,一个用户的信息包括:用户标识(UID)、用户标签和所属分组的分组标识(GIDs)。其中,用户标识用于唯一标识一个用户,比如表中的“100001”,用户标识被设置为主键。用户标签可包含一个或多个,一个标签占用一列,比如表1中的“视频观看记录标签”用于对用户观看视频的行为进行记录。一个用户可能属于一个分组,也可能属于多个分组,表1中的“所属分组”中记录一个用户所属分组的分组标识(GIDs)。
如表1所示,“视频观看记录标签”属于范围匹配类型,其表达式[[“20190501”,[A,B,C]],[“20190502”,[B,C,D]],[“20190503”,[D,E,F]]表示:2019年5月1日观看视频A,B,C;2019年5月2日观看视频B,C,D;2019年5月3日观看视频D,E,F。其中,A,B,C,D,E,F表示视频标识。
下面结合附图对本申请实施例进行详细描述。
图1示例性示出了本申请实施例中的倒排索引建立的流程示意图。
如图1所示,该流程可包括:
S101:获取数据库中的目标对象的数据,该目标对象的数据为待生成倒排索引的数据。
其中,所述数据库可以是用于存储用户信息的数据库,即所述目标对象为目标用户。可选地,所述数据库可以是Hbase数据库。
本申请实施例中,可对数据库中的目标对象的标签和分组信息两者中的至少一者,生成倒排索引,因此相应地,可获取该两者中的至少一者,用于后续生成倒排索引。
可选地,可根据查询条件,获取该查询条件所相关的对象数据,以便后续针对符合该查询条件的对象数据生成倒排索引。
S102:对目标对象的数据进行格式转换。
该步骤中,进行格式转换是为了便于建立倒排索引。HBase中的数据格式无法直接进行索引,因此需要进行相应的格式转换后才能建立索引。具体地,转换后的数据格式为索引生成器所支持的格式,以便后续通过该索引生成器生成倒排索引。
可选地,可将数据库(Hbase)中的数据结构转换为适合建立倒排索引的JSON(JavaScript Object Notation,JS对象简谱)数据。
JSON是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
S103:根据格式转换后的数据生成倒排索引。
其中,所述倒排索引以目标数据为主键并以对象标识列表为主键所对应的数据。举例来说,如果数据库中存储有各用户的ID,以及各用户所属的分组,则生成的倒排索引可以包括:
用户分组A的分组ID,对应的用户ID列表(该列表中的用户均属于分组A);
用户分组B的分组ID,对应的用户ID列表(该列表中的用户均属于分组B)。
S104:保存所述倒排索引。
可选地,该步骤中,可将生成的倒排索引存储到搜索引擎中,以提高搜索效率。
可选地,在一些实施例中,数据库中存储的目标对象的数据,可包括目标对象的标签,所述标签用于描述对象的特征和/或行为。在另一些实施例中,数据库中存储的目标对象的数据,可包括目标对象所属的群体分组的分组信息,比如分组ID。在另一些实施例中,书刊中存储的目标对象的数据,可包括目标对象的标签以及目标对象所属的分组的信息。
相应地,在进行格式转换以及生成倒排索引时,可仅针对标签进行格式转换以及生成标签倒排索引,即,对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引;也可仅针对分组信息进行格式转换以及生成分组倒排索引,即,对数据库中的目标对象所属的分组的信息进行格式转换,根据格式转换后的分组信息生成分组倒排索引;还可以针对标签以及分组信息分别进行格式转换以及生成倒排索引。
可选地,如果在进行对象数量查询或统计时,所进行的查询或统计涉及一指定范围,则在生成倒排索引时,可首先从数据库中筛选出符合该指定范围的数据,并基于该数据生成倒排索引。具体地,可根据查询请求所请求的指定范围,针对数据库中每个目标对象,确定目标对象中符合所述指定范围的标签;然后,根据目标对象中符合所述指定范围的标签,得到标签倒排索引。其中,所述标签倒排索引包括符合所述指定范围的标签以及对应的对象标识列表,其中,目标标签为主键,对象标识列表为主键对应的数据。
举例来说,如果在进行对象数量查询时,查询条件为针对各视频统计春节期间观看过相应视频的用户数量,则针对该时间范围,可首先对数据库中各用户的视频观看记录标签进行筛选,选择出该时间段内的视频观看记录,再根据该时间段内的视频观看记录生成倒排索引,倒排索引的结构可以是:
视频A的ID,对应的用户ID列表(该列表中的用户为春节期间观看过视频A的用户);
视频B的ID,对应的用户ID列表(该列表中的用户为春节期间观看过视频B的用户)。
可选地,本申请实施例中,倒排索引是分布式的,可支持水平扩充,相应地,本申请实施例可支持倒排索引的全量更新和增量更新。
在全量更新时,在S101中,获取的目标对象为数据库中的所有对象,此后通过S102~103,可针对这些数据生成倒排索引。
在增量更新时,在S101中,获取的目标对象为数据库中发生数据更新的对象,此后通过S102~103可针对这些数据生成倒排索引,并在S104中,根据该倒排索引更新原来的倒排索引。比如将本次生成的倒排索引与原来的倒排索引合并。举例来说,如果数据库中新增加一个对象3,该对象属于分组A,则针对该对象可生成如下倒排索引:
分组A的分组ID,{对象3的ID}。
原有的倒排索引中包括以下内容:
分组A的分组ID,{对象1的ID,对象2的ID}
则进行合并后可得到:
分组A的分组ID,{对象1的ID,对象2的ID,对象3的ID}。
每种标签的格式可能都不同,具体可以分为两类:范围匹配和数值匹配。本申请实施例可针对这两类用户标签进行格式转换以及生成倒排索引。
以某个用户(UID=100001)观看的视频标签作为范围查询的例子,该标签在HBase中存储格式如下:
[[“20190501”,[A,B,C]],[“20190502”,[B,C,D]],[“20190503”,[D,E,F]]
该数据表示2019-05-01日观看的视频是A,B,C,2019-05-02日观看的视频是B,C,D,2019-05-03日观看的视频是D,E,F。
如果人群分组规则为“最近N天内观看过视频A,B,C的人群”,则如果一个视频被多次观看,只需保留最近的一次观看记录即可。因此,针对上述用户的观看的视频标签,可将该用户标签转化成倒排索引支持的如下JSON格式:
{"viewed_video":
[{"id":"A","ts":"20190501"},
{"id":"B","ts":"20190502"},
{"id":"C","ts":"20190502"},
{"id":"D","ts":"20190503"},
{"id":"E","ts":"20190503"},
{"id":"F","ts":"20190503"}]}
上述表达式所表示的适配观看记录表示:
视频标识=A,时间戳(ts)=20190501;表示:A最近被观看的日期是2019年5月1日;
视频标识=B,时间戳(ts)=20190503;表示:视频B最近被观看的日期是2019年5月2日;
视频标识=C,时间戳(ts)=20190502;表示:视频C最近被观看的日期是2019年5月2日;
视频标识=D,时间戳(ts)=20190503;表示:视频D最近被观看的日期是2019年5月3日;
视频标识=E,时间戳(ts)=20190503;表示:视频E最近被观看的日期是2019年5月3日;
视频标识=F,时间戳(ts)=20190503;表示:视频F最近被观看的日期是2019年5月3日。
上述JSON格式的数据中,对于多次观看的B,C,D,只保留最近一次观看时间。
对于数值类型的索引,以人群分组规则为基于组合人群的人群分组规则匹配为例,组合人群是指可以根据用户所归属的分组标识进行一系列的分组交集或并集运算,从而进一步筛选出符合规则的人群。
在HBase中,某个用户(UID=100001)所属分组的数据格式如下:
[G1,G2,G3,G4,G5]
其中,G1,G2,G3,G4,G5分别表示各分组的分组标识。
在进行格式转换时,可将上述格式转化成以下倒排索引的JSON格式:
{“groups”:[“G1”,”G2”,”G3”,”G4”,”G5”]}
在图1所示的S103中,可通过调用用于生成倒排索引的应用程序编程接口(Application Programming Interface,API),根据转换后的JSON数据生成倒排索引。
具体地,对于转换后的用户标签,可根据各用户下同一用户标签的JSON数据中的视频标识和时间戳,生成相应的倒排索引。该倒排索引键值(key)是用户标签值(这里是视频标识),每个键值(key)下包含该键值对应的用户标识(UID)列表。针对用户观看的视频标签,表2示出了该用户标签对应的倒排索引。
表2:用户观看的适配标签对应的倒排索引
视频标识(key) 用户标识列表(UIDs)
A 100001,100002,100003
B 100001,100004,100006
C 100001,100003
D 100001,100009
E 100001
F 100001
表2中,A,B,C,D,E,F表示视频标识。
对于转换后的分组标识,可根据各用户的JSON数据中的分组标识生成相应的倒排索引。倒排索引键值(key)是分组标识,每个键值(key)下是包含该键值的用户标识(UID)列表。表3示出了分组信息对应的倒排索引。
表3:用户的分组信息对应的倒排索引
分组标识(key) 用户标识列表(UIDs)
G1 100001,100002,100003,100005
G2 100001,100004,100006
G3 100001,100003,100005
G4 100001,100009
G5 100001,100005
图2示例性示出了本申请实施例中的查询流程示意图。
如图2所示,该流程可包括:
S201:接收输入的查询请求。
该步骤中,用户可通过***提供的用户界面输入查询请求表达式。该查询请求可用于请求查询基于标签的对象数量,比如针对视频A,查询观看过视频A的用户的数量,也可以用于请求基于组合群体的分组规则的对象数量,比如属于分组A但不属于分组B的对象的数量。
S202:根据查询请求查询倒排索引,得到符合该查询请求的对象的数量。
该步骤中,可首先将查询请求的表达式转换为应用于倒排索引的查询表达式。
可选地,如果查询请求用于请求查询基于标签的对象数量,则该步骤中,可根据查询请求所请求查询的目标标签查询标签倒排索引,得到目标标签对应的对象标识列表,并根据所述对象标识列表确定对象数量。
可选地,如果查询请求用于请求基于组合群体的分组规则的对象数量,则该步骤中,可根据查询请求所请求查询的分组规则所对应的至少两个目标分组查询分组倒排索引,得到所述至少两个分组各自对应的对象标识列表;然后,根据分组规则对所述至少两个分组各自对应的对象标识列表进行取交集或并集的操作,根据操作结果得到对象数量。其中,所述分组规则用于指示对所述至少两个分组取交集或并集。
S203:输出查询得到的对象的数量。
该步骤中,可根据应用于倒排索引的表达式,对倒排索引进行查询,得到符合所述查询请求的对象的数量。
根据图2所示的流程,以用户最近观看视频为例,人群分组规则为“最近7天内观看A,B,C视频的人群”,该规则可通过如下JSON表达式表示:
{“in”:[A,B,C],”max_days”:7}
以当前日期是2019年5月10日为例,7天前的日期是2019年5月3日,该表达式输入到搜索引擎后,搜索引擎将该表达式转化成以下查询表达式:
{"bool":{"must":[{"terms":{"viewed_video.id":[A,B,C]}},
{"range":{"viewed_video.ts":{"ge":"20190503"}}}]}}
搜索引擎使用该表达式对用户标签倒排索引进行查询,得到该规则匹配到的用户数量。
在另外的例子中,组合人群规则为“属于分组A或分组B,但是不属于分组C”,该规则的JSON表达式如下:
{“and”:[{“or”:[A,B]},“not”:C}]}
该表达式输入到搜索引擎后,搜索引擎将该表达式转化成以下查询表达式:
{"bool":{"filter":[{"bool":{"should":[{"terms":{"groups":[A,B]}}]}},
{"bool":{"must_not":[{"terms":{"groups":[C]}}]}}]}}
搜索引擎使用该表达式对用户分组倒排索引进行查询,得到该规则匹配到的用户数量。
本申请的上述实施例中,通过对用户信息数据库中各用户的用户信息进行格式转换,根据格式转换后的用户信息生成倒排索引,使得在需要对人群分组规则所匹配的用户数量进行查询时,可以根据该倒排索引,查询得到符合所述人群分组规则的用户的数量,解决了对于海量信息无法直接查询与人群分组规则匹配的用户数量的问题。
图3示例性示出了本申请实施例中的信息处理***的结构示意图。
如图所述,该***100中包括:格式转换器10、索引生成器11、搜索引擎12,进一步地还可包括调度器13。其中,格式转换器10可执行前述实施例中的格式转换操作,索引生成器11可执行前述实施例中的倒排索引操作,搜索引擎12可实现前述实施例中的查询操作。
格式转换器10,用于对数据库中的目标对象的数据进行格式转换;其中,转换后的数据格式为所述索引生成器支持的数据格式;
索引生成器11,用于根据格式转换后的数据生成倒排索引;其中,所述倒排索引以所述目标数据为主键并以对象标识列表为主键所对应的数据;
搜索引擎12,用于响应于所述搜索引擎接收到的查询请求,根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量。
调度器13,用于调度所述索引生成器11。
可选地,所述目标对象的数据包括目标对象的标签以及目标对象所属的群体分组的分组信息,所述标签用于描述对象的特征和/或行为。
相应地,索引生成器11,包括标签索引生成器111和分组索引生成器112。其中,标签索引生成器111用于对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引;分组索引生成器112用于对数据库中的目标对象所属的分组的信息进行格式转换,根据格式转换后的分组信息生成分组倒排索引。
搜索引擎12,具体用于:根据所述查询请求所请求查询的目标标签查询标签倒排索引,得到所述目标标签对应的对象标识列表,并根据所述对象标识列表确定对象数量;或者,根据所述查询请求所请求查询的分组规则所对应的至少两个目标分组查询分组倒排索引,得到所述至少两个分组各自对应的对象标识列表,并根据所述分组规则对所述至少两个分组各自对应的对象标识列表进行取交集或并集的操作,根据操作结果得到对象数量,其中,所述分组规则用于指示对所述至少两个分组取交集或并集。
可选地,标签索引生成器111的数量为一个或多个。每个标签索引生成器对应一个标签,每个标签索引生成器用于对与其相应的标签生成标签倒排索引。
可选地,搜索引擎12可包括:标签搜索引擎和分组搜索引擎。其中,标签搜索引擎,用于根据基于标签的查询规则,对标签倒排索引进行查询,得到符合所述查询规则的对象数量。用户分组搜索引擎,用于根据基于组合群体的分组规则,对分组倒排索引进行查询,得到符合所述基于组合群体的分组规则的对象数量。
可选地,调度器13可按照设定时间或设定周期调度索引生成器,使得索引生成器对数据库中各对象的数据进行格式转换,根据格式转换后的数据生成倒排索引。可选地,调度器13可调度索引生成器,使其对倒排索引进行增量或全量更新。
基于上述***架构,在一些实施例中,调度器13可以按照设定时间或设定周期,调度各个索引生成器,使得每个索引生成器可以对数据库中的数据进行格式转换,根据格式转换后的数据生成倒排索引,这样可根据数据库的数据更新情况,及时更新倒排索引,以保证基于该倒排索引所得到查询结果的准确性。
根据以上一个实施例或多个实施例的组合,以用于存储用户信息的用户信息数据库为例,图4示例性示出了本申请实施例中的信息处理示意图。如图所示,用户信息数据库中存储海量的用户信息,每个用户信息中包括用户标签A、用户标签B、用户标签C,以及用户所属的分组标识。针对该用户数据库,可使用用户标签索引生成器1对各用户的用户标签A进行格式转换,并生成用户标签A导频索引,使用用户标签索引生成器2对各用户的用户标签B进行格式转换,并生成用户标签B导频索引,使用用户标签索引生成器3对各用户的用户标签C进行格式转换,并生成用户标签C倒排索引,使用用户分组索引生成器对各用户的分组标识进行格式转换,生成用户分组倒排索引。
当用户输入基于用户标签的分组规则后,用户标签索引引擎基于用户标签A倒排索引、用户标签B倒排索引或用户标签C倒排索引进行查询,得到与该规则匹配的用户数量。
当用户输入基于组合人群的分组规则后,用户分组索引引擎基于用户分组倒排索引进行查询,得到与该规则匹配的用户数量。
基于相同的技术构思,本申请实施例还提供一种信息处理装置,该装置可实现前述实施中图1、图2所执行的流程。
图5示例性示出了本申请实施例中的装置400的结构示意图。参阅图5所示,该装置400包括处理器401、存储器402以及通信接口403。其中,处理器401也可以为控制器。所述处理器401被配置为支持该装置执行前述流程涉及的功能。存储器402用于与处理器401耦合,其保存终端必要的程序指令和数据。其中,处理器401、和存储器402相连,该存储器402用于存储指令,该处理器401用于执行该存储器402存储的指令,以完成上述方法执行相应功能的步骤。
本申请实施例中,装置400所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其它步骤请参见前述方法或其它实施例中关于这些内容的描述,此处不做赘述。
需要说明的是,本申请实施例上述涉及的处理器可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。其中,所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行本申请中的流程。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种信息处理方法,其特征在于,包括:
对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引;其中,转换后的数据格式为用于生成倒排索引的索引生成器支持的数据格式,所述倒排索引以所述目标数据为主键并以对象标识列表为主键所对应的数据;
响应于所述搜索引擎接收到的查询请求,根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量。
2.如权利要求1所述的方法,其特征在于,所述目标对象的数据包括目标对象的标签,所述标签用于描述对象的特征和/或行为;
所述对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引,包括:
对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引。
3.如权利要求2所述的方法,其特征在于,所述对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引,包括:
根据查询请求所请求的指定范围,针对数据库中每个目标对象,确定目标对象中符合所述指定范围的标签;
根据目标对象中符合所述指定范围的标签,得到标签倒排索引,所述标签倒排索引包括符合所述指定范围的标签以及对应的对象标识列表,其中,目标标签为主键,对象标识列表为主键对应的数据。
4.如权利要求2所述的方法,其特征在于,所述根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量,包括:
根据所述查询请求所请求查询的目标标签查询标签倒排索引,得到所述目标标签对应的对象标识列表;
根据所述对象标识列表确定对象数量。
5.如权利要求1所述的方法,其特征在于,所述目标对象的数据包括目标对象所属的群体分组的分组信息;
所述对数据库中的目标对象的数据进行格式转换,根据格式转换后的数据生成倒排索引,包括:
对数据库中的目标对象所属的分组的分组信息进行格式转换,根据格式转换后的分组信息生成分组倒排索引。
6.如权利要求5所述的方法,其特征在于,所述根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量,包括:
根据所述查询请求所请求查询的分组规则所对应的至少两个目标分组查询分组倒排索引,得到所述至少两个分组各自对应的对象标识列表;
根据所述分组规则对所述至少两个分组各自对应的对象标识列表进行取交集或并集的操作,根据操作结果得到对象数量,其中,所述分组规则用于指示对所述至少两个分组取交集或并集。
7.如权利要求1所述的方法,其特征在于,所述目标对象为所述数据库中的所有对象,或者为所述数据库中发生数据更新的对象;
若所述目标对象为所述数据库中发生数据更新的对象,则根据格式转换后的数据生成倒排索引后,根据所述倒排索引更新原来的倒排索引。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述数据库为Hbase数据库,所述Hbase数据库用于存储用户信息,所述目标对象为目标用户。
9.一种信息处理***,其特征在于,包括:
格式转换器,用于对数据库中的目标对象的数据进行格式转换;其中,转换后的数据格式为所述索引生成器支持的数据格式;
索引生成器,用于根据格式转换后的数据生成倒排索引;其中,所述倒排索引以所述目标数据为主键并以对象标识列表为主键所对应的数据;
搜索引擎,用于响应于所述搜索引擎接收到的查询请求,根据所述查询请求查询所述倒排索引,得到符合所述查询请求的对象的数量。
10.如权利要求9所述的***,其特征在于,所述目标对象的数据包括目标对象的标签以及目标对象所属的群体分组的分组信息,所述标签用于描述对象的特征和/或行为;
所述索引生成器,包括标签索引生成器和分组索引生成器,所述标签索引生成器用于对数据库中的目标对象的标签进行格式转换,根据格式转换后的标签生成标签倒排索引,所述分组索引生成器用于对数据库中的目标对象所属的分组的分组信息进行格式转换,根据格式转换后的分组信息生成分组倒排索引;
所述搜索引擎,具体用于:
根据所述查询请求所请求查询的目标标签查询标签倒排索引,得到所述目标标签对应的对象标识列表,并根据所述对象标识列表确定对象数量;或者
根据所述查询请求所请求查询的分组规则所对应的至少两个目标分组查询分组倒排索引,得到所述至少两个分组各自对应的对象标识列表,并根据所述分组规则对所述至少两个分组各自对应的对象标识列表进行取交集或并集的操作,根据操作结果得到对象数量,其中,所述分组规则用于指示对所述至少两个分组取交集或并集。
CN201910910154.7A 2019-09-25 2019-09-25 一种信息处理方法及*** Active CN112559514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910910154.7A CN112559514B (zh) 2019-09-25 2019-09-25 一种信息处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910910154.7A CN112559514B (zh) 2019-09-25 2019-09-25 一种信息处理方法及***

Publications (2)

Publication Number Publication Date
CN112559514A true CN112559514A (zh) 2021-03-26
CN112559514B CN112559514B (zh) 2023-04-25

Family

ID=75029120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910910154.7A Active CN112559514B (zh) 2019-09-25 2019-09-25 一种信息处理方法及***

Country Status (1)

Country Link
CN (1) CN112559514B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282616A (zh) * 2021-05-19 2021-08-20 华润电力技术研究院有限公司 一种增量的时序数据冲突检测方法、装置和存储介质
CN114116775A (zh) * 2021-11-08 2022-03-01 北京达佳互联信息技术有限公司 信息处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225779A1 (en) * 2002-05-09 2003-12-04 Yasuhiro Matsuda Inverted index system and method for numeric attributes
CN1892655A (zh) * 2005-06-15 2007-01-10 阿尔卡特公司 在关系数据库中索引存储分层相关信息的方法和数据结构
CN102402540A (zh) * 2010-09-15 2012-04-04 浙江天宇信息技术有限公司 基于多层优化平衡树的数值与文本混合倒排索引算法
CN104794123A (zh) * 2014-01-20 2015-07-22 阿里巴巴集团控股有限公司 一种为半结构化数据构建NoSQL数据库索引的方法及装置
CN105404627A (zh) * 2014-09-11 2016-03-16 阿里巴巴集团控股有限公司 一种用于确定搜索结果的方法与设备
CN105528367A (zh) * 2014-09-30 2016-04-27 华东师范大学 基于开源大数据对时间敏感数据的存储和近实时查询方法
CN105653628A (zh) * 2015-12-28 2016-06-08 湖南蚁坊软件有限公司 一种基于倒排索引的列存储数据库的查询方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225779A1 (en) * 2002-05-09 2003-12-04 Yasuhiro Matsuda Inverted index system and method for numeric attributes
CN1892655A (zh) * 2005-06-15 2007-01-10 阿尔卡特公司 在关系数据库中索引存储分层相关信息的方法和数据结构
CN102402540A (zh) * 2010-09-15 2012-04-04 浙江天宇信息技术有限公司 基于多层优化平衡树的数值与文本混合倒排索引算法
CN104794123A (zh) * 2014-01-20 2015-07-22 阿里巴巴集团控股有限公司 一种为半结构化数据构建NoSQL数据库索引的方法及装置
CN105404627A (zh) * 2014-09-11 2016-03-16 阿里巴巴集团控股有限公司 一种用于确定搜索结果的方法与设备
CN105528367A (zh) * 2014-09-30 2016-04-27 华东师范大学 基于开源大数据对时间敏感数据的存储和近实时查询方法
CN105653628A (zh) * 2015-12-28 2016-06-08 湖南蚁坊软件有限公司 一种基于倒排索引的列存储数据库的查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨洵等: ""高校数据精简整合***管理研究"", 《情报探索》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282616A (zh) * 2021-05-19 2021-08-20 华润电力技术研究院有限公司 一种增量的时序数据冲突检测方法、装置和存储介质
CN114116775A (zh) * 2021-11-08 2022-03-01 北京达佳互联信息技术有限公司 信息处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112559514B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
EP3370391A1 (en) System for data cleansing based aggregation and prioritization of it asset field values from real-time event logs and method thereof
CN111400288A (zh) 数据质量检查方法及***
CN111061758B (zh) 数据存储方法、装置及存储介质
US10769104B2 (en) Block data storage system in an event historian
CN112559514B (zh) 一种信息处理方法及***
CN103246745A (zh) 一种基于数据仓库的数据处理装置及方法
CN103927314A (zh) 一种数据批量处理的方法和装置
CN105868196A (zh) 一种服务器端工业数据报表生成方法
CN115033646A (zh) 一种基于Flink&Doris构建实时数仓***的方法
CN104636401A (zh) 一种scada***数据回滚的方法及装置
CN110659283A (zh) 数据标签处理方法、装置、计算机设备及存储介质
CN111309868A (zh) 一种知识图谱构建、检索方法及装置
CN116244333A (zh) 一种基于代价因子校准的数据库查询性能预测方法及***
CN113810234B (zh) 微服务链路拓扑处理方法、装置及可读存储介质
CN112307318A (zh) 一种内容发布方法、***及装置
CN101635711B (zh) 可编程字符通讯方法
CN110347726A (zh) 一种高效时序数据集成存储查询***及方法
CN116186053A (zh) 一种数据处理方法、装置及存储介质
CN116450637A (zh) 一种数据管理方法、装置、电子设备以及存储介质
CN113298106A (zh) 一种样本生成方法、装置、服务器及存储介质
CN113392113A (zh) 一种云视频开放平台精细化用户画像实时推荐方法
CN105224998A (zh) 一种针对于预估模型的数据处理方法及装置
CN113821896B (zh) 一种配电网拓扑数据动态加载方法及***
CN112559562A (zh) 一种信息处理方法及***
CN116431688B (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