CN108062384A - 数据检索的方法和装置 - Google Patents

数据检索的方法和装置 Download PDF

Info

Publication number
CN108062384A
CN108062384A CN201711330103.4A CN201711330103A CN108062384A CN 108062384 A CN108062384 A CN 108062384A CN 201711330103 A CN201711330103 A CN 201711330103A CN 108062384 A CN108062384 A CN 108062384A
Authority
CN
China
Prior art keywords
retrieval
index
search
data
data source
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.)
Pending
Application number
CN201711330103.4A
Other languages
English (en)
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201711330103.4A priority Critical patent/CN108062384A/zh
Publication of CN108062384A publication Critical patent/CN108062384A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书提供一种数据检索的方法,被检索的数据包括至少一个数据源,所述方法包括:接收检索请求,所述检索请求中包括检索策略,检索策略包括至少一个检索对象及其检索条件,每个检索对象包括一个数据源;根据检索策略生成每个检索对象的执行单位;所述执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索,得到结果数据;运行每个执行单位;根据执行单位的结果数据,返回检索结果。

Description

数据检索的方法和装置
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种数据检索的方法和装置。
背景技术
随着互联网的发展,各种基于网络进行的活动都在源源不断的产生数据。数据挖掘技术能够从大量的数据中发现有价值的知识、模式、规则等信息,为科学研究、商业决策、过程控制等提供辅助支持。
数据挖掘技术的普及使得企业的业务越来越依赖于对数据的利用,而对数据的利用以在大量数据中检索出需要的数据为基础。通常企业会同时运行多个业务系统来实现各种业务过程,每个业务系统出于各自的业务目的需要利用不同的数据,具有各自的检索逻辑,并且检索逻辑可能随业务的进行而不断变化,对数据检索的实现提出了挑战。
发明内容
有鉴于此,本说明书提供一种数据检索的方法,被检索的数据包括至少一个数据源,所述方法包括:
接收检索请求,所述检索请求中包括检索策略,检索策略包括至少一个检索对象及其检索条件,每个检索对象包括一个数据源;
根据检索策略生成每个检索对象的执行单位;所述执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索,得到结果数据;
运行每个执行单位;
根据执行单位的结果数据,返回检索结果。
本说明书还提供了一种数据检索的装置,被检索的数据包括至少一个数据源,所述装置包括:
检索请求接收单元,用于接收检索请求,所述检索请求中包括检索策略,检索策略包括至少一个检索对象及其检索条件,每个检索对象包括一个数据源;
执行单位生成单元,用于根据检索策略生成每个检索对象的执行单位;所述执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索,得到结果数据;
执行单位运行单元,用于运行每个执行单位;
检索结果返回单元,用于根据执行单位的结果数据,返回检索结果。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述数据检索的方法所述的步骤。
本说明书提供的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述数据检索的方法所述的步骤。
由以上技术方案可见,本说明书的实施例中,以检索策略来指定检索对象和检索条件,在收到携带有检索策略的检索请求后,为每个检索对象生成执行单位,并运行每个执行单位以检索条件对检索对象进行检索,返回采用每个执行单位的结果数据生成的检索结果,使得不同的业务系统可以采用符合各自业务需求的检索策略,调用运行本说明书实施例的功能模块,即可检索出所需要的数据,而无需分别实现和维护各自用于检索的功能模块,在检索需求变化时也只需修改检索策略而不必更改用于检索的功能模块的实现,不仅极大的降低了开发人员的工作量,而且能够随时满足业务变化的要求。
附图说明
图1是本说明书实施例中检索功能模块与业务系统、被检索数据的关系示意图;
图2是本说明书实施例中一种数据检索的方法的流程图;
图3是本说明书应用示例中召回系统的逻辑层次结构、以及与业务系统及数据库的关系示意图;
图4是运行本说明书实施例的设备的一种硬件结构图;
图5是本说明书实施例中一种数据检索的装置的逻辑结构图。
具体实施方式
本说明书的实施例提出一种新的数据检索的方法,在收到包括检索策略的检索请求后,按照检索策略中指定的检索对象和检索条件,生成每个检索对象的执行单位,运行每个执行单位从检索对象的数据源查找出符合检索条件的结果数据,按照结果数据生成并返回检索结果,使得不同的业务系统可以通过不同的检索策略发起检索请求,来得到符合其业务需求的检索结果,实现了通用的检索功能,不再需要由每个业务系统分别编写和维护各自的检索逻辑,不仅大大减少了开发人员的工作量,而且在业务的检索需求变化时只需更改检索策略即可快速满足新的需求。
本说明书的实施例可以作为一个功能模块(如应用程序、子程序、过程等),运行在任何具有计算和存储能力的设备上,如手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本、服务器等设备;也可以由运行在两个或两个以上设备上的功能模块来实现本说明书实施例中的各项功能;不做限定。
方便起见,将运行本说明书实施例的功能模块称为检索功能模块。本说明书的实施例中,检索功能模块与被检索的数据、使用检索功能的若干个系统(以业务系统为例进行说明,不限于业务系统)之间的关系如图1所示,不同的业务系统可以检索功能模块提供的接口,向检索功能发起检索请求,在检索请求中明确其需求,检索功能模块按照检索请求,在被检索的数据中找出符合业务系统需求的数据,并返回给发起请求的业务系统。
本说明书的实施例中,被检索的数据包括一个到多个数据源,数据源可以是任何一种可以独立检索的数据记录的集合(如数据库表),除存储的原始数据外,数据源中还可以包括以原始数据为基础,由一种到多种索引引擎生成的各种索引。相同的原始数据可以采用不同的索引引擎来生成索引,一种索引引擎可以生成多个不同的索引。检索功能模块可以直接对原始数据进行检索,也可以通过检索由对应的索引引擎支持的索引来筛选出需要的原始数据。本说明书实施例对索引引擎和索引均没有限制,例如索引可以是正排索引、倒排索引、图索引、kv(key-value,键-值)、kkv(key-key-value,键-键-值)等,索引引擎可以是ha3(哈三)搜索引擎、hbase(hadoop database,分布式计算数据库)存储引擎、geabase(graph exploration and analytics database,分布式实时图数据库)图计算引擎、igraph(关系网络图)图计算引擎、tair(结构数据存储系统)存储引擎等。
本说明书的实施例中,数据检索的方法的流程如图2所示,该方法应用在检索功能模块上。
步骤210,接收检索请求。
检索功能模块向使用检索功能的系统提供接口,供使用检索功能的系统向其发起检索请求。使用检索功能的系统通过检索策略来描述自己的检索需求,并将检索策略封装在检索请求中传递给检索功能模块。根据检索功能模块和使用检索功能的系统在实际应用场景中的具体实现,检索请求可以是报文、调用指令、消息等等,不做限定。
使用检索功能的系统在检索策略中指定至少一个检索对象,并为每个检索对象指定其检索条件。其中,检索对象可以是一个数据源,如某张数据库表;对建立有由一个到多种索引引擎支持的索引的数据源,检索对象可以是一个数据源和一种索引引擎,如某张数据库表的ha3搜索引擎;换言之,一个检索对象对应于一个数据源,或者对应于一个数据源的一种索引引擎。检索条件用来描述将检索对象的哪些数据筛选出来,可以根据数据源存储数据的字段形式和使用检索功能的系统的业务需求来确定,不做限定,例如对用户个人信息数据表,检索条件可以是“年龄在30到40岁之间并且居住地为某个区的男性”。
步骤220,根据检索策略生成每个检索对象的执行单位。
检索功能模块在从检索请求中提取出检索策略后,为检索策略中的每个检索对象生成一个执行单位,每个执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索、或对所属检索对象数据源的所属检索对象索引引擎支持的索引进行检索(对包括一个数据源和一种索引引擎的检索对象),得到结果数据。
本说明书的实施例中,执行单位是一个可以独立于其他执行单位运行的处理过程,可以用来完成某个任务或某个任务中的阶段。执行单位可以是一个子程序、函数、线程等等。
在一个例子中,可以将actor(执行者)模型用于实现检索功能模块,每个执行单位即是一个actor。任何一种独立的逻辑或模块都可以作为一个actor,不同的Actor之间直接收发消息来进行通信和交互。Actor模型适合于在多核设备和分布式系统、以及其他高并发环境的实现。
根据执行单位在实际应用场景中的具体形式,检索功能模块可以采用各种方式生成执行单位,可参照现有技术实现,不再赘述。每个执行单位对应于一个检索对象,在生成执行单位时,检索功能模块会将该执行单位所属检索对象是哪个(数据源、或数据源及索引引擎)、和所属检索对象的检索条件传递给执行单位。如果检索对象是数据源,执行单位对数据源进行检索,从数据源中将符合检索条件的数据记录筛选出来,作为结果数据;如果检索对象是数据源以及索引引擎,执行单位对该数据源的该种索引引擎支持的索引进行检索,通过索引查找出符合检索条件的数据记录,作为结果数据。
每种索引引擎的检索指令和返回结果通常有各自的格式,为了简化执行单位的实现,可以为应用场景中使用的每种索引引擎预先生成一个访问算子。访问算子是一个用来完成对某个特定索引引擎支持的索引进行检索的相对独立的功能模块(如子程序、函数等等),在被调用时从调用接口获取数据源和检索条件,按照检索条件生成该访问算子所属索引引擎的检索指令,对数据源的该种索引引擎支持的索引执行检索指令,并向调用方返回结果数据。执行单位可以将所属检索对象的数据源和检索条件为作为参数,调用该检索对象的索引引擎的访问算子,接收被调用的访问算子返回的该数据源该种索引引擎支持的索引中符合检索条件的结果数据。
在一些情况下,可能需要对执行单位的结果数据按一定规则进行排序,以便于检索结果的生成或使用检索功能的系统对检索结果的使用。可以在检索策略中包括检索对象的结果排序条件,在生成执行单位时与检索对象的数据源(或数据源和索引引擎)、检索条件一起传递给执行单位,由执行单位在所属检索对象的数据源中(或通过所属检索对象数据源的该种索引引擎支持的索引)查找到符合检索条件的记录后,按照所属检索对象的结果排序条件对符合检索条件的记录进行排序后,得到结果数据。
步骤230,运行每个执行单位。
检索功能模块运行根据检索策略生成的每个执行单位,得到每个执行单位的结果数据。
在一些包括至少两个检索对象的应用场景中,可能需要按照一定的顺序进行对各个数据源的检索。这些应用场景中,检索策略中除了两个或两个以上的检索对象以及每个检索对象的检索条件外,还包括检索对象的指定检索顺序,检索功能模块将按照检索对象的指定检索顺序运行检索对象的执行单位。
指定检索顺序可以是串行检索(按照一定顺序依次对两个或两个以上检索对象进行检索)、并行检索(对两个或两个以上检索对象同时进行检索)、或串行检索与并行检索的组合(按一定顺序依次进行至少两个并行检索、或按一定顺序依次进行并行检索和对单个检索对象的检索)。
指定检索顺序可以指定所有的检索对象的检索顺序,也可以指定部分检索对象的检索顺序而不限制其他检索对象的检索顺序,不做限定。指定检索顺序在检索策略中的表达形式同样不做限定,比如可以在检索策略中有一个专门的部分用来记载要指定哪些检索对象的检索顺序以及是怎样的检索顺序;也可以按照检索对象在检索策略中的排列方式来确定指定检索顺序(如在前的检索对象与在后的检索对象按前后顺序串行检索,在一个组里的检索对象并行检索)。
在指定检索顺序包括串行检索的情况下,检索顺序在后的检索对象的数据源可以是顺序在该检索对象之前的其他检索对象的结果数据,从而实现数据的二次检索。
步骤240,根据执行单位的结果数据,返回检索结果。
根据检索策略以及实际应用场景的具体需求,检索功能模块可以基于每个执行单位的结果数据生成检索结果,也可以基于部分执行单位的结果数据生成作为检索结果(如有的检索对象的数据源为其他检索对象的结果数据的应用场景);检索功能模块可以对执行单位的结果数据进行合并、去重、和/或清洗等处理后生成结果数据,也可以对执行单位的结果数据进行简单组合即作为结果数据;本说明书的实施例对上述均不做限定。
可见,本说明书的实施例中,在检索请求中以检索策略来指定检索对象和检索条件,在收到检索请求后,按照检索策略为每个检索对象生成执行单位,运行每个执行单位从检索对象的数据源查找出符合检索条件的结果数据,按照结果数据生成并返回检索结果,从而使得不同的业务系统可以采用符合各自业务需求的检索策略,调用运行本说明书实施例的功能模块来得到所需要的数据,在检索需求变化时也只需修改检索策略而不必更改用于检索的功能模块的实现,不仅极大的降低了开发人员的工作量,而且能够随时满足业务变化的要求。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的一个应用示例中,某互联网公司有搜索系统、推荐系统和营销三个业务系统,来分别支撑搜索业务群、推荐业务群和广告投放业务群。每个业务系统在运行时都需要从公司的用户信息数据库、运营信息数据库等多个数据库中检索符合业务需求的数据,而不同业务系统要检索的数据库、在各个数据库中要筛选出的记录都有所不同。公司的每个数据库都建立有至少一种索引引擎支持的索引,包括ha3搜索引擎、igraph图计算引擎、hbase存储引擎、geabase图计算引擎和tair存储引擎支持的索引。
该公司采用召回系统来统一实现三个业务系统的数据检索功能。召回系统的逻辑层次结构、以及与业务系统及数据库的关系如图3所示,召回系统包括通用接口层、处理逻辑层、和访问算子层。通用接口层用来从业务系统接收检索请求,并将检索结果返回给发起请求的业务系统;处理逻辑层用来根据检索请求中的检索策略生成actor以及各个actor之间的运行逻辑,并按照运行逻辑运行每个actor,得出检索结果;访问算子层包括每种索引引擎的访问算子,用来供处理逻辑层的actor调用,通过对应索引引擎支持的索引完成到某个数据源的检索;索引及数据包括该公司的各个数据库以及每个数据库的索引(图3中仅示出各种索引引擎支持的索引)。
召回系统向业务系统提供接口,来接收业务系统的检索请求。业务系统通过检索请求中的检索策略指定如下信息:至少一个检索对象(要检索的数据源及索引引擎)、该检索对象的检索条件,在检索对象超过一个时,还要给出检索对象的指定执行顺序。
以下给出一个检索策略的示例:
上述例子的检索策略中共有3个检索对象,索引引擎为ha3搜索引擎的数据源discmap、索引引擎为hbase存储引擎的数据源u2b、和索引引擎为hbase存储引擎的数据源u2i。这三个检索对象按照在检索策略中的排列顺序,以discmap、u2b、u2i的顺序串行检索。对每个检索对象,可以通过"query"来指定该检索对象对正排索引的检索条件,通过"filter"来指定该检索对象对倒排索引的检索条件,通过"sort"用来指定该检索对象的结果排序条件。
在召回系统收到业务系统的检索请求后,提取其中的检索策略,按照检索策略生成每个检索对象的actor,并确定这些actor的执行顺序。仍以上述例子的检索策略为例,召回系统通过解析检索策略,生成3个actor:discmap-ha3actor、u2b-hbase actor、u2i-hbase actor,并且确定这三个actor顺序执行。
召回系统依次执行者3个actor,在discmap-ha3actor执行时以discmap以及discmap在检索策略中的检索条件为参数,调用ha3访问算子。ha3访问算子采用检索条件和数据源拼装查询指令,对discmap的ha3索引进行查询,并进行超时重试、以及结果解析等处理,得到discmap中符合检索条件的记录,返回给discmap-ha3actor。discmap-ha3actor将ha3访问算子返回的记录作为结果数据。类似的,u2b-hbase actor和u2i-hbase actor在执行时分别调用hbase访问算子来得到结果数据。
召回系统将3个actor的结果数据进行格式处理后合并,作为检索结果返回给业务系统。
这样,不同的业务系统可以通过在检索策略中配置数据源及索引引擎、检索条件(包括对正排、倒排、图索引等的检索条件)、指定检索顺序、结果排序条件等,来通过调用召回系统的接口实现符合业务需求的索引,而不需自己开发用于检索的代码。并且,在业务系统新增业务、更改已有业务的数据检索时,也只要新增或更改对应的检索策略即可由召回系统实现,不需要做代码开发。召回系统提供了统一的检索接口,为各个业务系统动态实现了灵活的检索功能,使得各业务系统不但可以共享索引和数据库,还可以共享同一个召回层逻辑,节省人力和机器资源成本。
与上述流程实现对应,本说明书的实施例还提供了一种数据检索的装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图4所示的CPU、内存以及存储器之外,数据检索的装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图5所示为本说明书实施例提供的一种数据检索的装置,被检索的数据包括至少一个数据源,所述装置包括检索请求接收单元、执行单位生成单元、执行单位运行单元和检索结果返回单元,其中:检索请求接收单元用于接收检索请求,所述检索请求中包括检索策略,检索策略包括至少一个检索对象及其检索条件,每个检索对象包括一个数据源;执行单位生成单元用于根据检索策略生成每个检索对象的执行单位;所述执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索,得到结果数据;执行单位运行单元用于运行每个执行单位;检索结果返回单元用于根据执行单位的结果数据,返回检索结果。
一个例子中,所述检索策略包括:至少两个检索对象及其检索条件,以及指定检索顺序;所述执行单位运行单元具体用于:按照指定检索顺序运行检索对象的执行单位。
上述例子中,所述指定检索顺序包括:串行检索、并行检索、或串行检索与并行检索的组合。
上述例子中,所述检索对象的数据源包括:顺序在所述检索对象之前的其他检索对象的结果数据。
一种实现方式中,至少一个所述数据源包括由至少一种索引引擎支持的索引;至少一个所述检索对象包括一个数据源和一种索引引擎;所述包括一个数据源和一种索引引擎的检索对象的执行单位,用来以所属检索对象的检索条件,对所属检索对象数据源的所属检索对象索引引擎支持的索引进行检索,得到结果数据。
上述实现方式中,所述包括一个数据源和一种索引引擎的检索对象的执行单位,用来以所属检索对象的数据源和检索条件为参数,调用所述检索对象的索引引擎的访问算子,由被调用访问算子根据检索条件生成检索指令、并对所述数据源的所述索引引擎支持的索引执行检索指令,返回所述数据源的所述索引引擎支持的索引中符合检索条件的结果数据。
上述实现方式中,所述索引引擎包括:哈三ha3搜索引擎、分布式计算数据库hbase存储引擎、分布式实时图数据库geabase图计算引擎、关系网络图igraph图计算引擎或结构数据存储系统tair存储引擎;所述索引包括:正排索引、倒排索引、图索引、键-值kv或键-键-值kkv。
可选的,所述检索策略还包括:检索对象的结果排序条件;所述执行单位用来以所属检索对象的检索条件,在所属检索对象的数据源中查找符合检索条件的记录,按照所属检索对象的结果排序条件对符合检索条件的记录进行排序后,得到结果数据。
可选的,所述执行单位包括:执行者actor。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中数据检索的方法的各个步骤。对数据检索的方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中数据检索的方法的各个步骤。对数据检索的方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (20)

1.一种数据检索的方法,被检索的数据包括至少一个数据源,所述方法包括:
接收检索请求,所述检索请求中包括检索策略,检索策略包括至少一个检索对象及其检索条件,每个检索对象包括一个数据源;
根据检索策略生成每个检索对象的执行单位;所述执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索,得到结果数据;
运行每个执行单位;
根据执行单位的结果数据,返回检索结果。
2.根据权利要求1所述的方法,所述检索策略包括:至少两个检索对象及其检索条件,以及指定检索顺序;
所述运行每个执行单位,包括:按照指定检索顺序运行检索对象的执行单位。
3.根据权利要求2所述的方法,所述指定检索顺序包括:串行检索、并行检索、或串行检索与并行检索的组合。
4.根据权利要求2所述的方法,所述检索对象的数据源包括:顺序在所述检索对象之前的其他检索对象的结果数据。
5.根据权利要求1所述的方法,至少一个所述数据源包括由至少一种索引引擎支持的索引;至少一个所述检索对象包括一个数据源和一种索引引擎;
所述包括一个数据源和一种索引引擎的检索对象的执行单位,用来以所属检索对象的检索条件,对所属检索对象数据源的所属检索对象索引引擎支持的索引进行检索,得到结果数据。
6.根据权利要求5所述的方法,所述包括一个数据源和一种索引引擎的检索对象的执行单位,用来以所属检索对象的数据源和检索条件为参数,调用所述检索对象的索引引擎的访问算子,由被调用访问算子根据检索条件生成检索指令、并对所述数据源的所述索引引擎支持的索引执行检索指令,返回所述数据源的所述索引引擎支持的索引中符合检索条件的结果数据。
7.根据权利要求5所述的方法,所述索引引擎包括:哈三ha3搜索引擎、分布式计算数据库hbase存储引擎、分布式实时图数据库geabase图计算引擎、关系网络图igraph图计算引擎或结构数据存储系统tair存储引擎;所述索引包括:正排索引、倒排索引、图索引、键-值kv或键-键-值kkv。
8.根据权利要求1所述的方法,所述检索策略还包括:检索对象的结果排序条件;
所述执行单位用来以所属检索对象的检索条件,在所属检索对象的数据源中查找符合检索条件的记录,按照所属检索对象的结果排序条件对符合检索条件的记录进行排序后,得到结果数据。
9.根据权利要求1所述的方法,所述执行单位包括:执行者actor。
10.一种数据检索的装置,被检索的数据包括至少一个数据源,所述装置包括:
检索请求接收单元,用于接收检索请求,所述检索请求中包括检索策略,检索策略包括至少一个检索对象及其检索条件,每个检索对象包括一个数据源;
执行单位生成单元,用于根据检索策略生成每个检索对象的执行单位;所述执行单位用来以所属检索对象的检索条件,对所属检索对象的数据源进行检索,得到结果数据;
执行单位运行单元,用于运行每个执行单位;
检索结果返回单元,用于根据执行单位的结果数据,返回检索结果。
11.根据权利要求10所述的装置,所述检索策略包括:至少两个检索对象及其检索条件,以及指定检索顺序;
所述执行单位运行单元具体用于:按照指定检索顺序运行检索对象的执行单位。
12.根据权利要求11所述的装置,所述指定检索顺序包括:串行检索、并行检索、或串行检索与并行检索的组合。
13.根据权利要求11所述的装置,所述检索对象的数据源包括:顺序在所述检索对象之前的其他检索对象的结果数据。
14.根据权利要求10所述的装置,至少一个所述数据源包括由至少一种索引引擎支持的索引;至少一个所述检索对象包括一个数据源和一种索引引擎;
所述包括一个数据源和一种索引引擎的检索对象的执行单位,用来以所属检索对象的检索条件,对所属检索对象数据源的所属检索对象索引引擎支持的索引进行检索,得到结果数据。
15.根据权利要求14所述的装置,所述包括一个数据源和一种索引引擎的检索对象的执行单位,用来以所属检索对象的数据源和检索条件为参数,调用所述检索对象的索引引擎的访问算子,由被调用访问算子根据检索条件生成检索指令、并对所述数据源的所述索引引擎支持的索引执行检索指令,返回所述数据源的所述索引引擎支持的索引中符合检索条件的结果数据。
16.根据权利要求14所述的装置,所述索引引擎包括:哈三ha3搜索引擎、分布式计算数据库hbase存储引擎、分布式实时图数据库geabase图计算引擎、关系网络图igraph图计算引擎或结构数据存储系统tair存储引擎;所述索引包括:正排索引、倒排索引、图索引、键-值kv或键-键-值kkv。
17.根据权利要求10所述的装置,所述检索策略还包括:检索对象的结果排序条件;
所述执行单位用来以所属检索对象的检索条件,在所属检索对象的数据源中查找符合检索条件的记录,按照所属检索对象的结果排序条件对符合检索条件的记录进行排序后,得到结果数据。
18.根据权利要求10所述的装置,所述执行单位包括:执行者actor。
19.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1到9任意一项所述的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到9任意一项所述的步骤。
CN201711330103.4A 2017-12-13 2017-12-13 数据检索的方法和装置 Pending CN108062384A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711330103.4A CN108062384A (zh) 2017-12-13 2017-12-13 数据检索的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711330103.4A CN108062384A (zh) 2017-12-13 2017-12-13 数据检索的方法和装置

Publications (1)

Publication Number Publication Date
CN108062384A true CN108062384A (zh) 2018-05-22

Family

ID=62138514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711330103.4A Pending CN108062384A (zh) 2017-12-13 2017-12-13 数据检索的方法和装置

Country Status (1)

Country Link
CN (1) CN108062384A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245208A (zh) * 2019-04-30 2019-09-17 广东省智能制造研究所 一种基于大数据存储的检索分析方法、装置及介质
CN110442782A (zh) * 2019-06-28 2019-11-12 苏州浪潮智能科技有限公司 一种云资源检索方法与装置
CN111581032A (zh) * 2020-05-21 2020-08-25 北京字节跳动网络技术有限公司 操作数据以及回滚数据的方法、装置、设备及存储介质
CN111931033A (zh) * 2020-08-11 2020-11-13 深圳市欢太科技有限公司 一种检索方法、检索装置及服务器
WO2020238546A1 (zh) * 2019-05-31 2020-12-03 杭州复杂美科技有限公司 一种kv数据库配置方法、查询方法、设备和存储介质
CN113312539A (zh) * 2021-06-10 2021-08-27 北京百度网讯科技有限公司 一种检索服务的提供方法、装置、设备和介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007139798A2 (en) * 2006-05-23 2007-12-06 Lexisnexis, A Division Of Reed Elsevier Inc. Method and apparatus for multilingual spelling corrections
CN101154241A (zh) * 2007-10-11 2008-04-02 北京金山软件有限公司 一种数据检索方法及一种数据检索系统
CN101609460A (zh) * 2009-07-22 2009-12-23 中国科学院地理科学与资源研究所 一种支持异构地学数据资源的检索方法及检索系统
CN101989301A (zh) * 2010-10-22 2011-03-23 复旦大学 一种支持多数据源的索引维护方法
CN102467502A (zh) * 2010-10-29 2012-05-23 北大方正集团有限公司 一种检索方法及系统
CN102571715A (zh) * 2010-12-27 2012-07-11 腾讯科技(深圳)有限公司 多维数据查询方法及系统
CN106649773A (zh) * 2016-12-27 2017-05-10 北京大数有容科技有限公司 一种大数据协同分析工具平台
CN106709067A (zh) * 2017-01-19 2017-05-24 中国测绘科学研究院 一种基于Oracle数据库的多源异构空间数据流转方法
CN106716416A (zh) * 2014-11-19 2017-05-24 株式会社英弗麦斯 数据检索装置、程序及记录介质
CN107180113A (zh) * 2017-06-16 2017-09-19 成都亿橙科技有限公司 一种大数据检索平台

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007139798A2 (en) * 2006-05-23 2007-12-06 Lexisnexis, A Division Of Reed Elsevier Inc. Method and apparatus for multilingual spelling corrections
CN101154241A (zh) * 2007-10-11 2008-04-02 北京金山软件有限公司 一种数据检索方法及一种数据检索系统
CN101609460A (zh) * 2009-07-22 2009-12-23 中国科学院地理科学与资源研究所 一种支持异构地学数据资源的检索方法及检索系统
CN101989301A (zh) * 2010-10-22 2011-03-23 复旦大学 一种支持多数据源的索引维护方法
CN102467502A (zh) * 2010-10-29 2012-05-23 北大方正集团有限公司 一种检索方法及系统
CN102571715A (zh) * 2010-12-27 2012-07-11 腾讯科技(深圳)有限公司 多维数据查询方法及系统
CN106716416A (zh) * 2014-11-19 2017-05-24 株式会社英弗麦斯 数据检索装置、程序及记录介质
CN106649773A (zh) * 2016-12-27 2017-05-10 北京大数有容科技有限公司 一种大数据协同分析工具平台
CN106709067A (zh) * 2017-01-19 2017-05-24 中国测绘科学研究院 一种基于Oracle数据库的多源异构空间数据流转方法
CN107180113A (zh) * 2017-06-16 2017-09-19 成都亿橙科技有限公司 一种大数据检索平台

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110245208A (zh) * 2019-04-30 2019-09-17 广东省智能制造研究所 一种基于大数据存储的检索分析方法、装置及介质
CN110245208B (zh) * 2019-04-30 2022-05-24 广东省智能制造研究所 一种基于大数据存储的检索分析方法、装置及介质
WO2020238546A1 (zh) * 2019-05-31 2020-12-03 杭州复杂美科技有限公司 一种kv数据库配置方法、查询方法、设备和存储介质
CN110442782A (zh) * 2019-06-28 2019-11-12 苏州浪潮智能科技有限公司 一种云资源检索方法与装置
CN111581032A (zh) * 2020-05-21 2020-08-25 北京字节跳动网络技术有限公司 操作数据以及回滚数据的方法、装置、设备及存储介质
CN111581032B (zh) * 2020-05-21 2023-06-27 抖音视界有限公司 操作数据以及回滚数据的方法、装置、设备及存储介质
CN111931033A (zh) * 2020-08-11 2020-11-13 深圳市欢太科技有限公司 一种检索方法、检索装置及服务器
CN113312539A (zh) * 2021-06-10 2021-08-27 北京百度网讯科技有限公司 一种检索服务的提供方法、装置、设备和介质
CN113312539B (zh) * 2021-06-10 2024-01-12 北京百度网讯科技有限公司 一种检索服务的提供方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN108062384A (zh) 数据检索的方法和装置
US10430480B2 (en) Enterprise data processing
US11423082B2 (en) Methods and apparatus for subgraph matching in big data analysis
Mohanty Big data: An introduction
US10318882B2 (en) Optimized training of linear machine learning models
US9672474B2 (en) Concurrent binning of machine learning data
US20150379426A1 (en) Optimized decision tree based models
US20150379425A1 (en) Consistent filtering of machine learning data
US20150379072A1 (en) Input processing for machine learning
EP2946333A1 (en) Efficient query processing using histograms in a columnar database
US20110179013A1 (en) Search Log Online Analytic Processing
Mehmood et al. Distributed real-time ETL architecture for unstructured big data
US11113256B2 (en) Automated data discovery with external knowledge bases
Abu-Salih et al. Introduction to big data technology
Bhattacharya et al. Big data and apache spark: a review
Gaurav et al. An outline on big data and big data analytics
Hashem et al. A review of modeling toolbox for BigData
Prakash et al. Issues and challenges in the era of big data mining
Zhang et al. Scalable iterative implementation of mondrian for big data multidimensional anonymisation
Dai et al. The Hadoop stack: new paradigm for big data storage and processing
Manu et al. A current trends in big data landscape
CN110245265A (zh) 一种对象分类方法、装置、存储介质及计算机设备
CN110188301A (zh) 用于网站的信息聚合方法及装置
Zhao et al. A spatio-temporal parallel processing system for traffic sensory data
CN104252486B (zh) 一种数据处理的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1254038

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180522