CN103970902B - 一种大量数据情况下的可靠即时检索方法及系统 - Google Patents

一种大量数据情况下的可靠即时检索方法及系统 Download PDF

Info

Publication number
CN103970902B
CN103970902B CN201410228015.3A CN201410228015A CN103970902B CN 103970902 B CN103970902 B CN 103970902B CN 201410228015 A CN201410228015 A CN 201410228015A CN 103970902 B CN103970902 B CN 103970902B
Authority
CN
China
Prior art keywords
data
inquiry
database
module
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410228015.3A
Other languages
English (en)
Other versions
CN103970902A (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.)
Chongqing University
Original Assignee
Chongqing University
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 Chongqing University filed Critical Chongqing University
Priority to CN201410228015.3A priority Critical patent/CN103970902B/zh
Publication of CN103970902A publication Critical patent/CN103970902A/zh
Application granted granted Critical
Publication of CN103970902B publication Critical patent/CN103970902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种大量数据情况下的可靠即时检索方法,包括以下步骤:S1:存储数据库配置信息;S2:接受检索内容;S3:将检索目标内容进行数据切分,形成切片数据;S4:根据数据库配置信息的映射关系对切片数据进行查询解析,并计算切片数据的存储位置;S5:将查询解析后的信息分发至数据库配置信息中对应的数据存储数据库;S6:从对应的数据存储数据库提取需要检索的特征数据;S7:将提取的特征数据进行归并。本方法具有快速、准确的特点:在复杂海量数据中,将筛选后的目标内容,根据数据抽象模块进行切分,通过查询解析与分发模块,寻找对应数据,最后通过结果归并模块得出搜索结果。通过提高关系操作效率,满足大数据高并发读写需求。

Description

一种大量数据情况下的可靠即时检索方法及系统
技术领域
本发明涉及计算机信息管理系统领域,特别涉及一种大量数据情况下的可靠即时检索方法及系统。
背景技术
现有检索方法核心主要还是使用遍历的思想,在遍历的基础上,针对搜索目标范围做了不同程度的改进,主要使用以下几种检索方法:
根据用户的工作环境、任务、常用程序和关注焦点,利用非侵入方式的代理软件的监视来实现即时信息检索;
对网页中的关键字进行即时检索的方法:在向客户端加载网页的同时,加载对网页内容进行关键字检索的脚本程序,实时监视接收鼠键操作,等待查询;
基于多协同的即时信息检索框架模型:将双基协同、多代理协同、多向量协同用于即时信息检索,并增加缓冲知识库,考虑在代理通信和检索中利用兴趣向量和结果向量;
基于Web的面向主题的知识检索方法:以开放动态的Web信息为基础,以用户选定的主题为中心,构成与用户主题相关的知识检索结果;
分布式、分散式数据检索方法:分散请求用于数据检索的带宽,分散计算环境;
基于稀疏哈希的大数据检索方法:对大数据检索的时间复杂度为线性,解决流形学习无显式函数的问题,降低大数据的存储量。
这些技术存在的问题:首先不完全适用于对大量数据的检索应用;其次,每个方法各有长短,但是其短处在大数据背景下被放大,不能有效地实现即时可靠的检索,所述最后一种方法,也只是在一定程度上降低了存储量,并未显著达到大数据搜索的快速可靠的要求。
在大数据时代,传统数据查询方法在搜索数据时费时较多并且可能会对信息有遗漏。
因此需要一种大量数据情况下的可靠即时检索方法及系统。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种大量数据情况下的可靠即时检索方法及系统。
本发明的目的之一是提出一种大量数据情况下的可靠即时检索方法;本发明的目的之二 是提出一种大量数据情况下的可靠即时检索系统。
本发明的目的之一是通过以下技术方案来实现的:
本发明提供的一种大量数据情况下的可靠即时检索方法,包括以下步骤:
S1:存储数据库配置信息;所述数据库配置信息包括各数据类型、用于实现数据与类型映射的类标识、类型与存储介质映射关系;
S2:接受查询内容;
S3:将检索目标内容进行数据切分,形成切片数据;
S4:根据数据库配置信息的映射关系,对切片数据进行查询解析,计算切片数据的存储位置;
S5:将查询解析后的信息分发至数据库配置信息中对应的数据存储数据库;
S6:从对应的数据存储数据库提取符合检索条件的特征数据;
S7:将提取的特征数据进行归并。
进一步,所述信息分发包括以下步骤:
S51:预分发过程,将存在过滤条件的数据分发至特定的物理数据库,并按照MapReduce方式处理;
S52:其余未执行的查询过程会被分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程。
进一步,所述数据切分包括以下步骤:
S31:将检索目标内容按类别进行分类,并将不同的类分别以不同的表分布于不同的、互相独立且相互间不存在通信过程的物理数据库中;
判断类的数据量是否超过内存的大小,如果否,则使用快速排序算法对不同的类进行排序,并将结果按顺序输出;
S32:如果是,则改变切分粒度,使得映射出来的块数可以全部被容纳在内存之后;再次进行上述S31开始的步骤。
进一步,在步骤S4后还包括以下步骤:
S41:建立用于存储子表特征信息的查询缓存,并存储子表各个字段的特征信息;
S42:对数据的查询操作,可根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发;
若重叠,则对子表进行转发,并传至结果归并模块。
进一步,所述特征数据进行归并采用MapReduce并行数据处理;所述MapReduce并行数据处理包括Map过程和Reduce过程;
所述Map过程将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;
所述Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。
本发明的目的之二是通过以下技术方案来实现的:
本发明提供的一种大量数据情况下的可靠即时检索系统,包括数据抽象模块、查询解析和分发模块、数据存储模块、结果归并模块;
所述数据抽象模块,用于存储数据库配置信息,所述配置信息包括数据与类型的映射、类与存储介质的映射;
所述查询解析和分发模块,接受应用程序发来的请求,对请求的数据库查询语句进行解析,并翻译成实际的数据库查询语句,转发至实际数据库中;用于根据数据库配置信息的映射关系,对切片数据进行查询解析,并计算切片数据的存储位置;查询解析后的信息分发至与数据库配置信息相对应的数据存储数据库;
所述数据存储模块,用于从对应的数据存储数据库提取需要检索的特征数据;
所述结果归并模块,用于将提取的特征数据进行归并,如连接、排序、分组等。结果归并的主要目的是使下层复杂的模块化结构对上层用户透明。
进一步,所述查询解析和分发模块负责接受并解析数据用户的查询语句,根据数据抽象模块提供的映射关系,将查询分发至数据存储模块中对应的数据库系统。该模块查询的结构会按照多态机制的配置,对数据进行初步的加工处理,从而屏蔽不同类型数据的差异,实现继承结构的透明性。包括预分发单元和未执行查询执行单元;
所述预分发单元只将存在过滤条件的数据分发至特定的物理数据库,并在结果归并模块中,按照MapReduce方式处理;
所述未执行查询执行单元,用于将其余未执行的查询过程,分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程。
进一步,所述查询解析和分发模块还包括数据切分单元和数据量判断单元;
所述数据切分单元,用于将检索目标内容进行分类,并将不同的类分别以不同的表分布于不同的、互相独立且相互间不存在通信过程的物理数据库中;
所述数据量判断单元,用于判断类的数据量是否超过内存的大小,如果否,则使用快速排序算法对不同的类进行排序,并将结果按顺序输出;如果是,则改变切分粒度,使得映射出来的块数可以全部被容纳在内存之后;再次进项上述S31开始的步骤。
进一步,还包括查询缓存建立单元、查询操作单元;
所述查询缓存建立单元,用于建立用于存储子表特征信息的查询缓存,并存储子表各个 字段的特征信息;
所述查询操作单元,用于对数据的查询操作。根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发;若重叠,则对子表进行转发传至结果归并模块。
进一步,所述结果归并模块采用MapReduce并行数据处理对特征数据进行归并;所述MapReduce并行数据处理包括Map过程和Reduce过程;所述Map过程将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;所述Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。
本发明的有益效果在于:本发明提供的大量数据情况下的可靠即时检索方法,实现了在查询语句的层面上提高关系操作的效率,同时在一定程度上满足大数据的实时性需求。对于大数据的简单读取操作,本方法采用了并行处理的内连接处理方式,通过并行地读取该条数据的各个部分,提高数据读写能力,满足大数据高并发读写需求。本发明采用并行处理时,为存入数据库的每一条数据增加了一个ID字段,然后根据该ID格式,系统可以直接获取该数据的实际类型标识信息,从而计算出数据的实际类型,并根据类型的存储信息,确定数据的存储位置,直接通过独立的查询语句,将数据读取出来。并行操作通常只需要两到三次的检索时间,即可将整条数据对象读出,在数据读取过程中,并行度更高。
本方法具有快速、准确的特点:在复杂海量数据中,将筛选后的目标内容,根据数据抽象模块进行切分,并通过查询解析与分发模块,寻找对应数据,最后通过结果归并模块得出搜索结果。
本发明采用对查询语句进行解析与分发,可将对数据的某些处理提前到更低的层次来完成,处理后的数据量减少,从而减少数据传输量,提高传输效率。数据处理针对具有某种特性的一类数据进行,因此数据切分符合逻辑需求,数据切分过程不需要用户干预,避免了用户设计失误导致的效率损失。支持查询过程的自动分发,因此数据切分对上层是透明的。自动数据切分是以系统自动分配的ID号来完成的,数据切分方案并未增加系统结构的复杂性。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明实施例提供的总体工作示意图;
图2为本发明实施例提供的核心思想框架图;
图3为本发明实施例提供的并行实现示意图;
图4为本发明实施例提供的系统结构图与存储工作流程图;
图5为本发明实施例提供的使用特征信息优化查询图;
图6为本发明实施例提供的特征信息的自动记录示意图;
图7为本发明实施例提供的自动选择最细化子类示意图;
图8为本发明实施例提供的用户指定操作对象示意图;
图9为本发明实施例提供的可靠即时检索方法流程图。
具体实施方式
以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
实施例1
图1为本发明实施例提供的总体工作示意图;图2为本发明实施例提供的核心思想框架图;图3为本发明实施例提供的并行实现示意图;图4为本发明实施例提供的系统结构图与存储工作流程图;图5为本发明实施例提供的使用特征信息优化查询图;图6为本发明实施例提供的特征信息的自动记录示意图;图7为本发明实施例提供的自动选择最细化子类示意图;图8为本发明实施例提供的用户指定操作对象示意图;图9为本发明实施例提供的可靠即时检索方法流程图。如图所示:本发明提供的一种大量数据情况下的可靠即时检索方法,包括以下步骤:
S1:存储数据库配置信息;所述数据库配置信息包括各数据类型、用于实现数据与类型映射的类标识、类型与存储介质映射关系。
S2:接受查询内容;
S3:将检索目标内容按类别进行分类数据切分,形成切片数据;
所述数据切分包括以下步骤:
S31:将检索目标内容进行分类,并将不同的类分别以不同的表分布于不同的、互相独立且相互间不存在通信过程的物理数据库中;
S32:判断类的数据量是否超过内存的大小,如果否,则使用快速排序算法对不同的类进行排序,并将结果按顺序输出;
如果是,则改变切分粒度,使得映射出来的块数可以全部被容纳在内存之后;再次进行上述S31开始的步骤。
S4:根据数据库配置信息的映射关系,对切片数据进行查询解析,计算切片数据的存储位置;
在步骤S4后还包括以下步骤:
S41:建立用于存储子表特征信息的查询缓存,并存储子表各个字段的特征信息;
S42:对数据的查询操作,可根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发;
若重叠,则对子表进行发,并传至结果归并模块。
S5:将查询解析后的信息分发至数据库配置信息中对应的数据存储数据库;
所述信息分发包括以下步骤:
S51:预分发过程,将只将存在过滤条件的数据分发至特定的物理数据库,并在结果归并模块中,按照MapReduce方式处理;
S52:其余未执行的查询过程会被分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程。
所述查询解析包括数据读取操作、数据更新操作和数据插入操作;
所述数据读取操作和数据更新操作使用读流程来完成,该流程通过分析查询目标和查询条件,采用启发式算法,智能地选择查询分发目标。
S6:从对应的数据存储数据库提取符合检索条件的特征数据;
所述特征数据进行归并采用MapReduce并行数据处理。所述MapReduce并行数据处理包括Map过程和Reduce过程;
所述Map过程将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;
所述Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。
本发明实施例还提供了一种大量数据情况下的可靠即时检索系统,包括数据抽象模块、查询解析和分发模块、数据存储模块、结果归并模块;
所述数据抽象模块,用于存储数据库配置信息,所述配置信息包括数据与类型的映射、类与存储介质的映射;
所述数据抽象模块提供的映射关系,将查询分发至数据存储模块中对应的数据库系统。该模块查询的结构会按照多态机制的配置,对数据进行初步的加工处理,从而屏蔽不同类型数据的差异,实现继承结构的透明性。数据抽象模块,实际是一些配置文件,计算进程通过读取这些配置文件,了解数据子表之间的关系,从而指导查询的优化和分发过程。在实际数据存储系统中,这些信息分别由各个计算进程进行维护,并通过广播进行同步。
数据抽象模块存储各个类之间的关系、类的标识(用于实现数据与类型的映射)、类与存储介质的映射等,为查询解析与分发模块提供配置信息。查询解析与分发模块根据数据抽象模块提供的信息,计算数据的ID,进行自动扩展,根据类与存储介质的映射关系计算切片的存储位置,并将数据存储至对应的物理数据库中。
结果归并模块也要接受应用程序发来的请求,对请求的数据库查询语句(如SQL查询语句)进行解析,并翻译成实际的相应的数据库查询语句(如MySQL查询语句),转发至实际数据库中。
所述查询解析和分发模块,用于根据数据库配置信息的映射关系对切片数据进行查询解析计算切片数据的存储位置;查询解析后的信息分发至数据库配置信息中对应的数据存储数据库;
所述查询解析和分发模块负责接受并解析数据用户的查询语句,根据数据抽象模块提供的映射关系,将查询分发至数据存储模块中对应的数据库系统。该模块查询的结构会按照多态机制的配置,对数据进行初步的加工处理,从而屏蔽不同类型数据的差异,实现继承结构的透明性。
所述查询解析和分发模块包括预分发单元和未执行查询执行单元;
所述预分发单元将只将存在过滤条件的数据分发至特定的物理数据库,并在结果归并模块中,按照MapReduce方式处理;
所述未执行查询执行单元用于将其余未执行的查询过程会被分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程。
所述查询解析和分发模块还包括数据切分单元和数据量判断单元;
所述数据切分单元,用于将检索目标内容进行分类并将不同的类分别以不同的表分布于不同的互相独立且相互间不存在通信过程的物理数据库中;
所述数据量判断单元,用于判断类的数据量是否超过内存的大小,如果是,则使用快速排序算法对不同的类进行排序,并将结果按顺序输出;如果否,则改变切分粒度,使得映射出来的块数可以全部被容纳在内存之后;再次进项上述数据切分。
所述数据存储模块,用于从对应的数据存储数据库提取需要检索的特征数据;
所述数据存储模块采用物理数据库,与不同的切片所对应。比如检索目标内容确定了是哪几个切片,那么将与这几个切片相对应的物理数据库中的数据整合起来送至结果归并模块,构成检索结果。
所述结果归并模块,用于将提取的特征数据进行归并;同时接受应用程序发来的请求,对请求的数据库查询语句(如SQL查询语句)进行解析,并翻译成实际的相应的数据库查询语句(如MySQL查询语句),转发至实际数据库中。
所述结果归并模块,用于将提取的特征数据进行归并,如连接、排序、分组等。结果归 并的主要目的是使下层复杂的模块化结构对上层用户透明。
还包括查询缓存建立单元、查询操作单元;
所述查询缓存建立单元,用于建立用于存储子表特征信息的查询缓存,并存储子表各个字段的特征信息;
所述查询操作单元,用于对数据的查询操作可根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发;若重叠,则对子表进行转发传至结果归并模块。
所述结果归并模块采用MapReduce并行数据处理对特征数据进行归并;所述MapReduce并行数据处理包括Map过程和Reduce过程;所述Map过程将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;所述Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。
实施例2
本实施例详细介绍大量数据情况下的可靠即时检索方法的工作流程及功能:
大量数据情况下的可靠即时检索方法的基本架构为:主要由查询解析与分发模块、数据抽象模块、数据存储模块、结果归并模块表示,总体工作示意图如图1所示。本方法的核心思想是将检索内容按一定规则进行解析分发,再从解析结果所对应的数据层提取有用信息后进行结果归并。本方法用于解决数据量巨大并在迅速增长、数据存储结构复杂的大数据的查询速度缓慢及准确度不够高的问题。
图1的查询解析与分发模块以及结果归并模块程描述的是一个计算节点的工作过程,实际的数据库集群可能具有数十至上千台主机,这些主机独立地运行下述过程,只有在实现MapReduce的过程中需要进行数据交互:当查询到来时,查询解析与分发模块首先解析查询,系统将查询分成数据读取操作,数据更新操作和数据插入操作。图1中,数据读取操作和数据更新操作使用读流程来完成,该流程通过分析查询目标和查询条件,采用启发式算法,智能地选择查询分发目标。查询的分发过程分成两个步骤:第一步是预分发过程,该步骤只将存在过滤条件的数据分发至特定的物理数据库,并在结果归并模块中,按照MapReduce方式处理,其余未执行的查询过程会被分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程。实际上大部分的数据操作是有条件的数据读取操作,因此很可能在预分发过程即可查出全部的数据;第二步,上述查询操作中,若某次分发的查询结果为空,则自动更新特征库。数据插入操作釆用的是写入流程来完成。
该方法核心思想主要由数据抽象模块、查询解析与分发模块以及结果归并模块表达,如图2所示。在实际系统中,该部分由独立于实际数据库系统的进程来完成。该部分接受应用 程序发来的请求,对请求的数据库查询语句(如SQL查询语句)进行解析,并翻译成实际的相应的数据库查询语句(如MySQL查询语句),转发至实际数据库中。
查询解析与分发模块是本方法的核心,负责接受并解析数据用户的查询语句,根据数据抽象模块提供的映射关系,将查询分发至数据存储模块中对应的数据库系统。该模块查询的结构会按照多态机制的配置,对数据进行初步的加工处理,从而屏蔽不同类型数据的差异,实现继承结构的透明性。数据抽象模块,实际是一些配置文件,计算进程通过读取这些配置文件,获取数据子表之间的关系,从而指导查询的优化和分发过程。在实际数据存储系统中,这些信息分别由各个计算进程进行维护,并通过广播进行同步。结果归并模块负责结果的归并,如连接、排序、分组等。结果归并的目的是使下层复杂的模块化结构对上层用户透明。
下面详细介绍查询解析与分发模块的工作流程及功能:
传统的数据表连接分为内连接,左连接,右连接,全连接以及笛卡尔积。由于本方法中数据表采用分布式方式进行存储,数据的连接不是在物理数据库中实现,而是在查询解析与分发模块中完成。
查询解析与分发模块根据排序键值,将数据切分成数块,并分别使用快速排序算法进行排序,并将结果按顺序输出。切分的粒度与映射出来的块数与数据量有关,最基本的要求是排序的数据量不超过内存的大小,使排序过程可以在内存中完成。
本方案釆用的是按类型的数据切分方案,系统只需要考虑将读取出来的数据转发至特定的计算节点完成数据连接操作。如图3所示,由于每个子表的连接过程在不同主机上并行完成,数据切分是均匀的,实际的数据处理速率随着类的增多而显著提升。
图4为在大量数据环境下,实现数据切分的方案示意图。在该图中,类D有D1和D2两个子类,三个类的数据分别以三张表的形式分布于三个物理数据库中,三个数据库互相独立,且相互间不存在通信过程。数据抽象模块存储各个类之间的关系、类的标识(用于实现数据与类型的映射)、类与存储介质的映射等,为查询解析与分发模块提供配置信息。查询解析与分发模块根据数据抽象模块提供的信息,计算数据的ID,进行自动扩展,根据类与存储介质的映射关系计算切片的存储位置,并将数据存储至对应的物理数据库中。
系统采用最小化切分方案,如果A、B具有关联关系,A切分成两个子类,则B中与A对应的记录也需要相应地进行切分。数据连接无需对每个子表进行两两的连接。系统采用自动类扩展方案,按照ID进行基于区段的数据切分,每个子类最多存储10000条记录,因此,虽然系统需求是对全部数据进行检索,实际只涉及少数几个子表的连接操作,一方面减少了系统资源消耗,另一方面大大提高了查询效率。
系统釆用一种特殊的查询缓存,该缓存存储的是查询对于子表不会产生结果内容,从而 获得对子表各个字段的特征信息。特征信息的完善是一个自动学习的过程,在特征信息建立后,对数据的查询操作可根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发,由于数据的某些字段会频繁更新,会使这些字段的特征信息难以持久,因此这些数据存储在缓存里由查询解析和分发模块的各个独立主机分别管理,不需要进行持久化以及数据交互。查询解析和分发模块的每台主机服务于特定的应用系统,使得处理的查询请求具有一定的相似性,可使用缓存来实现特征数据存储,从而优化查询分发过程的前提。如图5所示,D1是D自动扩展的一个子表,系统明确D1的ID字段所处的区段,当系统对D按照ID字段进行查询时,系统根据D1的ID字段所处范围,判断是否将查询转发至D1。图6为特征信息的自动记录示意图。
本实施例的自动学习的过程,采用自动扩展过程。查询解析与分发模块根据数据抽象模块提供的信息,计算数据的ID,进行自动扩展,根据类与存储介质的映射关系计算切片的存储位置,并将数据存储至对应的物理数据库中。
2.数据抽象模块:
数据抽象模块可以收集数据间的格式,其中包括了子类间的关系,当对两个类进行连接查询时,系统自动选择最细化的子类来完成操作。如图7所示,D有D1和D2两个子类,C有C1和C2两个子类,数据抽象模块知道D1和C1之间存在关联关系,D2和C2之间存在关联关系,当对D1和C进行连接操作时,系统判定只对C1进行转发。
系统允许用户对数据的操作精确到每一个子类,系统可以从数据抽象模块中获得该子类对应的物理数据库,只将查询映射至该数据库。用户可以直接指定对于D1的查询操作,系统经过判断,不会将查询转发至存储D和D2的数据库中,如图8所示。由于子类的划分往往是基于业务逻辑的,因此这种方式可以大大优化查询过程。
3.查询结果:
由于对大数据的查询结果很可能也是大数据,将这些数据完全输出依然是十分耗时的工作,因此引入Map Reduce进行并行数据处理,实现计算过程的并行执行:MapReduce是一种分布式编程模型,它包括Map和Reduce两个过程,Map将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。MapReduce的结果汇总过程也是在分布式环境下完成的,如图6所示。采用MapReduce过程对数据进行映射,系统可以直接根据映射的结果,将数据划分为多个子类,存储于数据存储模块中。用户不会关注与大数据处理的全部结果,而仅仅关心包含统计结果的数据,这些数据的数据量不会太多,直接输出不会导致太大的性能问题;用户可能关心大量结果中,一些符合某种特征的数据,本方法对这中少量数据的读写过程进行了一定的优化,从而提高读写效率
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

Claims (4)

1.一种大量数据情况下的可靠即时检索方法,其特征在于:包括以下步骤:
S1:存储数据库配置信息;所述数据库配置信息包括各数据类型、用于实现数据与类型映射的类标识、类型与存储介质映射关系;
S2:接受查询内容;
S3:将检索目标内容进行数据切分,形成切片数据;
S4:根据数据库配置信息的映射关系,对切片数据进行查询解析,计算切片数据的存储位置;
S5:将查询解析后的信息分发至数据库配置信息中对应的数据存储数据库;
S6:从对应的数据存储数据库提取符合检索条件的特征数据;
S7:将提取的特征数据进行归并;
所述信息分发包括以下步骤:
S51:预分发过程,将存在过滤条件的数据分发至特定的物理数据库,并按照MapReduce方式处理;
S52:其余未执行的查询过程会被分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程;
所述数据切分包括以下步骤:
S31:将检索目标内容按类别进行分类,并将不同的类分别以不同的表分布于不同的、互相独立且相互间不存在通信过程的物理数据库中;
判断类的数据量是否超过内存的大小,如果否,则使用快速排序算法对不同的类进行排序,并将结果按顺序输出;
S32:如果是,则改变切分粒度,使得映射出来的块数可以全部被容纳在内存之后;再次进行上述S31开始的步骤;
在步骤S4后还包括以下步骤:
S41:建立用于存储子表特征信息的查询缓存,并存储子表各个字段的特征信息;
S42:对数据的查询操作,可根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发;
若重叠,则对子表进行转发,并传至结果归并模块。
2.根据权利要求1所述的大量数据情况下的可靠即时检索方法,其特征在于:所述特征数据进行归并采用MapReduce并行数据处理;所述MapReduce并行数据处理包括Map过程和Reduce过程;
所述Map过程将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;
所述Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。
3.一种大量数据情况下的可靠即时检索系统,其特征在于:包括数据抽象模块、查询解析和分发模块、数据存储模块和结果归并模块;
所述数据抽象模块,用于存储数据库配置信息,所述配置信息包括数据与类型的映射、类与存储介质的映射;
所述查询解析和分发模块,接受应用程序发来的请求,对请求的数据库查询语句进行解析,并翻译成实际的数据库查询语句,转发至实际数据库中;用于根据数据库配置信息的映射关系,对切片数据进行查询解析,并计算切片数据的存储位置;查询解析后的信息分发至与数据库配置信息相对应的数据存储数据库;
所述数据存储模块,用于从对应的数据存储数据库提取需要检索的特征数据;
所述结果归并模块,用于将提取的特征数据进行归并,使下层复杂的模块化结构对上层用户透明;
所述查询解析和分发模块包括预分发单元和未执行查询执行单元;
所述预分发单元只将存在过滤条件的数据分发至特定的物理数据库,并在结果归并模块中,按照MapReduce方式处理;
所述未执行查询执行单元,用于将其余未执行的查询过程,分发至其他计算节点,并由多个计算节点并行完成剩余的数据处理流程;
所述查询解析和分发模块还包括数据切分单元和数据量判断单元;
所述数据切分单元,用于将检索目标内容进行分类,并将不同的类分别以不同的表分布于不同的、互相独立且相互间不存在通信过程的物理数据库中;
所述数据量判断单元,用于判断类的数据量是否超过内存的大小,如果否,则使用快速排序算法对不同的类进行排序,并将结果按顺序输出;如果是,则改变切分粒度,使得映射出来的块数可以全部被容纳在内存之后;并返回数据切分单元;
还包括查询缓存建立单元和查询操作单元;
所述查询缓存建立单元,用于建立用于存储子表特征信息的查询缓存,并存储子表各个字段的特征信息;
所述查询操作单元,用于对数据的查询操作;根据查询条件,判断子表的值域与查询条件是否重叠,若不重叠,则无需对子表进行转发;若重叠,则对子表进行转发传至结果归并模块。
4.根据权利要求3所述的大量数据情况下的可靠即时检索系统,其特征在于:所述结果归并模块采用MapReduce并行数据处理对特征数据进行归并;所述MapReduce并行数据处理包括Map过程和Reduce过程;所述Map过程将数据按照一定的方式划分为多个组,每个组在不同的主机上分别并行地进行处理;所述Reduce过程是将各个节点上计算的结果进行汇总,形成统一的结果。
CN201410228015.3A 2014-05-27 2014-05-27 一种大量数据情况下的可靠即时检索方法及系统 Active CN103970902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410228015.3A CN103970902B (zh) 2014-05-27 2014-05-27 一种大量数据情况下的可靠即时检索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410228015.3A CN103970902B (zh) 2014-05-27 2014-05-27 一种大量数据情况下的可靠即时检索方法及系统

Publications (2)

Publication Number Publication Date
CN103970902A CN103970902A (zh) 2014-08-06
CN103970902B true CN103970902B (zh) 2017-05-24

Family

ID=51240400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410228015.3A Active CN103970902B (zh) 2014-05-27 2014-05-27 一种大量数据情况下的可靠即时检索方法及系统

Country Status (1)

Country Link
CN (1) CN103970902B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101621A (zh) * 2018-08-09 2018-12-28 中国建设银行股份有限公司 一种数据的批量处理方法及系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10614063B2 (en) * 2015-10-01 2020-04-07 Microsoft Technology Licensing, Llc. Streaming records from parallel batched database access
CN106444694A (zh) * 2016-05-30 2017-02-22 重庆大学 一种大数据下系统异常工况预警技术
CN106227764A (zh) * 2016-07-17 2016-12-14 合肥赑歌数据科技有限公司 一种大数据认知决策的智能系统
CN106940724B (zh) * 2017-03-20 2020-06-23 天津大学 一种面向大数据的多范型融合分析处理方法
CN107168984A (zh) * 2017-03-20 2017-09-15 国家计算机网络与信息安全管理中心 一种基于多文件格式自动识别的跨地域关联统计方法
CN106997395B (zh) * 2017-04-13 2020-07-03 南京大学 一种移动感知复杂事件并行处理方法及系统
CN108446399B (zh) * 2018-03-29 2021-07-30 重庆大学 一种结构化海量实时数据的动态存储优化方法
CN109325050A (zh) * 2018-08-01 2019-02-12 吉林盘古网络科技股份有限公司 数据查询方法、装置及终端设备
CN113779322B (zh) * 2018-08-27 2023-08-01 北京百度网讯科技有限公司 用于图检索的方法、装置、设备以及计算机可读存储介质
CN109597810B (zh) * 2018-11-21 2021-11-09 金色熊猫有限公司 一种任务切分方法、装置、介质及电子设备
CN112000646B (zh) * 2020-08-25 2022-08-02 北京浪潮数据技术有限公司 一种数据库初始化方法、装置及电子设备和存储介质
CN111787390B (zh) * 2020-09-07 2020-11-24 武汉工程大学 基于信息分发系统的内容分发装置
CN112131245A (zh) * 2020-09-23 2020-12-25 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 拟态防御架构的高性能数据访问系统及方法
CN112905639A (zh) * 2020-12-21 2021-06-04 国网甘肃省电力公司电力科学研究院 一种基于规则的新能源数据分发方法
CN116932555B (zh) * 2023-08-14 2024-04-30 合芯科技有限公司 一种目标对象切片位置确定方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1152338C (zh) * 2001-07-20 2004-06-02 华为技术有限公司 一种并行处理分布式数据库的方法和装置
CN101587476B (zh) * 2008-05-22 2012-02-08 中兴通讯股份有限公司 一种实现分布式存储的内存数据库系统及应用
CN101916280A (zh) * 2010-08-17 2010-12-15 上海云数信息科技有限公司 并行计算系统及按查询内容进行负载均衡的方法
CN102571827B (zh) * 2010-12-08 2015-04-22 上海遥薇(集团)有限公司 一种大量实时数据存储分发及查询信息处理方法
US8892599B2 (en) * 2012-10-24 2014-11-18 Marklogic Corporation Apparatus and method for securing preliminary information about database fragments for utilization in mapreduce processing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101621A (zh) * 2018-08-09 2018-12-28 中国建设银行股份有限公司 一种数据的批量处理方法及系统

Also Published As

Publication number Publication date
CN103970902A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN103970902B (zh) 一种大量数据情况下的可靠即时检索方法及系统
CN104620239B (zh) 自适应查询优化
CN108038222B (zh) 用于信息系统建模和数据访问的实体-属性框架的系统
CN107273506B (zh) 一种数据库多表联合查询的方法
CN106372114B (zh) 一种基于大数据的联机分析处理系统和方法
CN104205039B (zh) 使用兴趣驱动数据管线进行数据分析的兴趣驱动商业智能系统和方法
US11520760B2 (en) System and method for providing bottom-up aggregation in a multidimensional database environment
Wrembel Data warehouses and OLAP: concepts, architectures and solutions: concepts, architectures and solutions
CN102521416B (zh) 数据关联查询方法和数据关联查询装置
EP3657348B1 (en) Profiling data with source tracking
US9773029B2 (en) Generation of a data model
US7562086B2 (en) Custom grouping for dimension members
CN109344223A (zh) 一种基于云计算技术的建筑信息模型管理系统及方法
CN107193967A (zh) 一种多源异构行业领域大数据处理全链路解决方案
EP3446242A1 (en) Query plan generation and execution in a relational database management system with a temporal-relational database
CN106777108A (zh) 一种基于混合存储架构的数据查询方法和装置
US20100235344A1 (en) Mechanism for utilizing partitioning pruning techniques for xml indexes
CN103631922A (zh) 基于Hadoop集群的大规模Web信息提取方法及系统
US10552423B2 (en) Semantic tagging of nodes
CN104199978A (zh) 基于NoSQL实现元数据缓存与分析的系统及方法
CN111078781A (zh) 一种多源流式大数据融合汇聚处理框架模型实现方法
Mostajabi et al. A Systematic Review of Data Models for the Big Data Problem
CN106484815B (zh) 一种基于海量数据类sql检索场景的自动识别优化方法
CN111125352A (zh) 一种基于知识图谱的关联数据可视化数据驾驶舱构建方法
CN106776810B (zh) 一种大数据的数据处理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant