数据提取方法及装置与流程

文档序号:12121678阅读:326来源:国知局
数据提取方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种数据提取方法及装置。



背景技术:

因报表系统的数据来自多个异构数据源,需要将多个数据源的数据关联起来提供给页面展现数据,多个异构数据源例如:mongodb、elasticsearch、impala、postgresql等,现有技术方案提供的只能是单个数据源的展现。例如,elasticsearch中有商户会员量的统计,而elasticsearch中存储的是brand_id信息,但是报表系统中需要的商户名称却在postgersql数据库中。这就严重影响了报表系统中数据查询的效率。

针对相关技术中报表系统中数据查询的效率低的问题,目前还没有有效地解决方案。



技术实现要素:

本发明实施例提供了一种数据提取方法及装置,以至少解决相关技术中报表系统中数据查询的效率低的问题。

根据本发明的一个实施例,提供了一种数据提取方法,包括:建立多个数据源中存储的根表格与表格之间的映射关系;根据所述映射关系分别从所述根表格与所述表格中提取满足第一查询条件的数据;根据所述映射关系对所述数据进行关联,得到提取出的关联数据。

可选地,根据所述映射关系分别从所述根表格与所述表格中提取满足第一查询条件的数据包括:根据所述第一查询条件从所述根表格中查询数据;根据所述映射关系将从所述根表格中查询的数据转换为第二查询条件;根据所述第二查询条件从所述表格中查询数据;提取从所述根表格中查询的数据以及从所述表格中查询的数据。

可选地,所述表格包括:多个表格,根据所述第二查询条件从所述表格中查询数据包括:根据所述第二查询条件从所述多个表格中并行查询数据。

可选地,在建立多个数据源中存储的根表格与表格之间的映射关系之后,所述方法还包括:在所述多个数据源中的一个或者多个数据源中存储的数据被更新的情况下,更新所述映射关系。

可选地,在根据所述映射关系对所述数据进行关联,得到提取出的关联数据之后,所述方法还包括:输出所述提取出的关联数据。

根据本发明的另一个实施例,提供了一种数据提取装置,包括:建立模块,用于建立多个数据源中存储的根表格与表格之间的映射关系;提取模块,用于根据所述映射关系分别从所述根表格与所述表格中提取满足第一查询条件的数据;关联模块,用于根据所述映射关系对所述数据进行关联,得到提取出的关联数据。

可选地,所述提取模块包括:第一查询单元,用于根据所述第一查询条件从所述根表格中查询数据;转换单元,用于根据所述映射关系将从所述根表格中查询的数据转换为第二查询条件;第二查询单元,用于根据所述第二查询条件从所述表格中查询数据;提取单元,用于提取从所述根表格中查询的数据以及从所述表格中查询的数据。

可选地,所述表格包括:多个表格,所述第二查询单元用于:根据所述第二查询条件从所述多个表格中并行查询数据。

可选地,所述装置还包括:更新模块,用于在所述多个数据源中的一个或者多个数据源中存储的数据被更新的情况下,更新所述映射关系。

可选地,所述装置还包括:输出模块,用于输出所述提取出的关联数据。

通过本发明,建立多个数据源中存储的根表格与表格之间的映射关系;根据映射关系分别从根表格与表格中提取满足第一查询条件的数据;根据映射关系对数据进行关联,得到提取出的关联数据,由此可见,采用上述方案在多个数据源中存储的根表格与表格之间建立起映射关系,根据该映射关系从数据源中提取数据,并将提取的数据关联起来,得到关联数据,使得报表系统可以在相关的数据源中查询数据,并得到存在关联关系的数据,因此,提高了报表系统中数据查询的效率,从而解决了相关技术中报表系统中数据查询的效率低的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种数据提取方法的流程图;

图2是根据本发明实施例的一种数据提取装置的结构框图一;

图3是根据本发明实施例的一种数据提取装置的结构框图二;

图4是根据本发明实施例的一种数据提取装置的结构框图三;

图5是根据本发明实施例的一种数据提取装置的结构框图四;

图6是根据本发明可选实施例的数据提取方法的示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

在本实施例中提供了一种数据提取方法,图1是根据本发明实施例的一种数据提取方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102,建立多个数据源中存储的根表格与表格之间的映射关系;

步骤S104,根据映射关系分别从根表格与表格中提取满足第一查询条件的数据;

步骤S106,根据映射关系对数据进行关联,得到提取出的关联数据。

可选地,上述数据提取方法可以但不限于应用于从多个数据源提取数据的场景中。例如:报表系统从多个数据源提取数据的场景。

可选地,上述数据提取方法可以但不限于应用于终端设备,例如:移动终端、计算机终端等。

通过上述步骤,建立多个数据源中存储的根表格与表格之间的映射关系;根据映射关系分别从根表格与表格中提取满足第一查询条件的数据;根据映射关系对数据进行关联,得到提取出的关联数据,由此可见,采用上述方案在多个数据源中存储的根表格与表格之间建立起映射关系,根据该映射关系从数据源中提取数据,并将提取的数据关联起来,得到关联数据,使得报表系统可以在相关的数据源中查询数据,并得到存在关联关系的数据,因此,提高了报表系统中数据查询的效率,从而解决了相关技术中报表系统中数据查询的效率低的问题。

可选地,在上述步骤S104中,可以通过查询条件的转换根据映射关系分别从根表格和表格中查询并提取数据。例如:根据第一查询条件从根表格中查询数据,根据映射关系将从根表格中查询的数据转换为第二查询条件,根据第二查询条件从表格中查询数据,提取从根表格中查询的数据以及从表格中查询的数据。

可选地,上述表格可以但不限于包括:多个表格,可以根据第二查询条件从多个表格中并行查询数据,以提高数据查询的速度,从而提高提取数据的效率。

可选地,在上述步骤S102之后,如果数据源中存储的数据进行了更新,可以对建立的多个数据源中存储的根表格与表格之间的映射关系进行更新。例如:在多个数据源中的一个或者多个数据源中存储的数据被更新的情况下,更新映射关系。

可选地,在上述步骤S106之后,可以将得到的关联数据输出或者显示。例如:在得到提取出的关联数据之后,可以输出提取出的关联数据。

实施例2

在本实施例中还提供了一种数据提取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的一种数据提取装置的结构框图一,如图2所示,该装置包括:

建立模块22,用于建立多个数据源中存储的根表格与表格之间的映射关系;

提取模块24,耦合至建立模块22,用于根据映射关系分别从根表格与表格中提取满足第一查询条件的数据;

关联模块26,耦合至提取模块24,用于根据映射关系对数据进行关联,得到提取出的关联数据。

可选地,上述数据提取装置可以但不限于应用于从多个数据源提取数据的场景中。例如:报表系统从多个数据源提取数据的场景。

可选地,上述数据提取装置可以但不限于应用于终端设备,例如:移动终端、计算机终端等。

通过上述装置,建立模块建立多个数据源中存储的根表格与表格之间的映射关系;提取模块根据映射关系分别从根表格与表格中提取满足第一查询条件的数据;关联模块根据映射关系对数据进行关联,得到提取出的关联数据,由此可见,采用上述方案在多个数据源中存储的根表格与表格之间建立起映射关系,根据该映射关系从数据源中提取数据,并将提取的数据关联起来,得到关联数据,使得报表系统可以在相关的数据源中查询数据,并得到存在关联关系的数据,因此,提高了报表系统中数据查询的效率,从而解决了相关技术中报表系统中数据查询的效率低的问题。

图3是根据本发明实施例的一种数据提取装置的结构框图二,如图3所示,可选地,提取模块24包括:

第一查询单元32,用于根据第一查询条件从根表格中查询数据;

转换单元34,耦合至第一查询单元32,用于根据映射关系将从根表格中查询的数据转换为第二查询条件;

第二查询单元36,耦合至转换单元34,用于根据第二查询条件从表格中查询数据;

提取单元38,耦合至第二查询单元36,用于提取从根表格中查询的数据以及从表格中查询的数据。

可选地,上述表格可以但不限于包括:多个表格,第二查询单元36用于:根据第二查询条件从多个表格中并行查询数据。

图4是根据本发明实施例的一种数据提取装置的结构框图三,如图4所示,可选地,上述装置还包括:

更新模块42,耦合至建立模块22,用于在多个数据源中的一个或者多个数据源中存储的数据被更新的情况下,更新映射关系。

图5是根据本发明实施例的一种数据提取装置的结构框图四,如图5所示,可选地,上述装置还包括:

输出模块52,耦合至提取模块26,用于输出提取出的关联数据。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

下面结合本发明可选实施例进行详细说明。

本发明可选实施例提供了一种数据提取方法。该方法在查询数据时能够实现关联多个异构数据源。图6是根据本发明可选实施例的数据提取方法的示意图,如图6所示,在本可选实施例中,可以把每个异构数据源都映射成关系表,在内存中实现表关联。

在本可选实施例中,数据提取方法包括以下步骤:

步骤1、将支持RootTable与Table的数据源(如elasticsearch和mongodb)映射成关联表的形式(相当于上述映射关系)。

步骤2、依据第一查询条件将RootTable表中的数据查询出来。

步骤3、依据关联条件(相当于上述映射关系)将RootTable中关联字段的数据转换成查询Table数据时对应的第二查询条件。

步骤4、根据第二查询条件将Table中数据提取出来。

步骤5、在内存中,依据Relation(相当于上述映射关系)对提取出来的数据进行关联。

步骤6、将提取的结果返回给页面或其他输出(如Excel)。

可选地,在本可选实施例中,Table可以为多个,并且可以并行查询,以提高性能。

通过本可选实施例提供的数据提取方法可以在查询数据时,实现关联多个数据源,同时,关联的数据源的数据更新时,可以实现对映射关系的更新。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。

实施例3

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,建立多个数据源中存储的根表格与表格之间的映射关系;

S2,根据映射关系分别从根表格与表格中提取满足第一查询条件的数据;

S3,根据映射关系对数据进行关联,得到提取出的关联数据。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1