CN102521416B - 数据关联查询方法和数据关联查询装置 - Google Patents

数据关联查询方法和数据关联查询装置 Download PDF

Info

Publication number
CN102521416B
CN102521416B CN2011104488932A CN201110448893A CN102521416B CN 102521416 B CN102521416 B CN 102521416B CN 2011104488932 A CN2011104488932 A CN 2011104488932A CN 201110448893 A CN201110448893 A CN 201110448893A CN 102521416 B CN102521416 B CN 102521416B
Authority
CN
China
Prior art keywords
field
data
associate
buffer memory
basic
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
CN2011104488932A
Other languages
English (en)
Other versions
CN102521416A (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.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Software 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 Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN2011104488932A priority Critical patent/CN102521416B/zh
Publication of CN102521416A publication Critical patent/CN102521416A/zh
Application granted granted Critical
Publication of CN102521416B publication Critical patent/CN102521416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据关联查询装置和数据关联查询方法,其中数据关联查询装置包括:数据获取单元,用于获取事实表的基础字段,基于基础字段选择维表上的字段作为关联事实表和维表的关联字段;SQL执行单元,基于基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;缓存取数公式构造单元,从结果集中获取与关联字段对应的主键值,结合关联字段所在的数据路径构造缓存取数公式;缓存执行单元,根据缓存取数公式获取关联字段的取值,将关联字段的取值和结果集进行组合得到最终查询结果。能够高效关联事实表和维度表并执行出结果,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了效率。

Description

数据关联查询方法和数据关联查询装置
技术领域
本发明涉及报表分析领域,具体而言,涉及数据关联查询方法和数据关联查询装置。
背景技术
在报表分析领域中,对事实表与维表进行关联后查询出结果并展现到报表当中,是非常典型的应用。以ERP(Enterprise Resource Planning,企业资源计划)软件产品和关系型数据库为例,单据表可认为是事实表,数据量通常很大;基础档案表可认为是维度表,数据量视档案类型的不同有大有小。单据表中存储有基础档案表的主键作为外键,可以用比较简单的SQL把单据表存储的业务信息(如单据号、单据日期、数量、金额等)以及相关基础档案的主键查出来,但报表中要求不能把主键展现给用户,而应展现基础档案中有业务意义的信息,如编码、名称等。
使用单据表连接基础档案表的方式,理论上可以解决这一问题,但在大数据量环境下会出现效率瓶颈。例如,在关联销售单据表和存货档案表时,两者都可能有十万行量级以上的数据,现要求从单据表取出符合特定条件的一万行数据,并带出相关联的存货名称,假如通过表连接的方式,则需要对销售单据和存货档案两张大表进行连接,再分别取出所需的字段。如图1所示,两个大数据的表连接通过SQL进行查询,得到大量的关联数据。
而在实际情况中,需要关联的远不止存货一个档案,很可能还要关联客户、部门、人员等等其它档案。对这么多大数据的表做多表联查,势必影响到系统运行的效率。除了关联的广度外,还有关联的深度带来的影响--可能用户需要在单据关联存货档案之后,还要将存货档案关联存货分类档案,以便获取存货分类的名称来显示在报表上,这同样增加了多表关联SQL的复杂度及其执行开销。
现有技术中,对事实表与维表进行关联的方案主要有以下三种:
方案一:国内ERP软件常用此方案——在数据模型设计部分,要求用户通过数据字典或元数据等方式,把最终要取数的字段全部指定完成;然后在格式设计过程中,将设计好的数据模型插入到报表当中某个区域,浏览报表时将数据模型转化为多表联查SQL,直接到数据库执行查询。另有一些支持异步报表的产品,在查询后会将查询结果物化到数据库或数据仓库。
方案二:国内报表厂商常用此方案——在报表格式设计过程中,指定各单元格或区域单元的取数公式,利用这些公式来取到所需的字段值。公式的执行根据其语法解析器的定义而定,有的公式是转化为SQL执行,有的公式可能会到缓存中加载数据。
方案三:国外BI(Business Intelligence,商业智能)厂商常用此方案--在数据模型设计部分建立语义层,语义层包括待查询的数据表及其连接关系,但不含查询字段;然后在格式设计过程中,在语义层中选择字段或字段表达式,拖入报表并最终展现。执行时根据字段描述,调用SQL及函数执行器予以执行。
上述方案一和方案三,在解决前述应用问题时,仍需以多表联查的SQL作为主要实现方案,难以解决多张维表在广度和深度关联字段过程中给系统运行效率带来的压力。方案二虽然考虑到了采用SQL+缓存公式联合作战的方式,但由于单元公式的方案难以满足数据层的建模需求,因此给用户在数据模型复用性和操作交互技术方面都带来不便和困扰。此外,上述方案对于关联字段的自由扩展性也存在约束,也有相关方案虽然考虑到了可关联的扩展字段的查询,但最终仍局限于通过SQL来查询原始数据+扩展数据的方案,没有解决大数据联查引起的性能问题。
因此,为了解决以上技术问题,需要一种数据关联查询技术,能够高效关联事实表和维度表并快速查询出所需数据,在提高查询效率的同时能不影响系统的运行效率。
发明内容
基于上述背景技术的考虑,本发明所要解决的一个技术问题是提供一种数据关联查询装置,本发明所要解决的又一个技术问题是提供一种数据关联查询方法,避免大数据量的两个数据表在关联查询时给系统带来的压力,并且可保证关联字段的可扩展性和查询的可复用性。
有鉴于此,根据本发明的一个方面,提供了一种数据关联查询装置,包括:数据获取单元,用于获取事实表的基础字段,基于所述基础字段选择维表上的字段作为关联所述事实表和所述维表的关联字段,其中,所述基础字段和所述关联字段为待查询字段,将所述基础字段及其所属数据表发送至SQL执行单元;SQL执行单元,基于所述基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;缓存取数公式构造单元,从所述结果集中获取与所述关联字段对应的主键值,结合所述关联字段所在的数据路径构造缓存取数公式;缓存执行单元,根据所述缓存取数公式获取所述关联字段的取值,将所述关联字段的取值和所述结果集进行组合得到最终查询结果。在该技术方案中,同时支持SQL查询和缓存公式查询,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了查询效率。
以上技术方案中,优选地,所述数据关联查询装置,还包括:数据字典建立单元,用于建立数据字典树,提供给所述数据获取单元,在所述数据字典树中选择所述待查询字段。在该技术方案中,建立数据字典树使得数据库中数据的展现更加直观,方便用户根据自己的需求选择所需的展现内容;另外,用户可以根据自身业务情况,自己建立数据字典树,自主地设置基础字段和关联字段,基础字段直接通过SQL查询,关联字段则通过缓存取数公式进行查询,亦即实现了对某种业务属性采用何种查询方式可以由用户自己定制,更加方便和人性化。
以上技术方案中,优选地,所述数据字典建立单元还用于为选中的基础字段构造子树,所述基础字段包括主键,所述主键对应所述关联字段,在所述子树中选择所述关联字段。在该技术方案中,数据字典树不仅支持用户选择基础字段,而且同时支持用户选择子树中的关联字段,保证了关联字段的可扩展性,丰富了报表的展现内容。
以上技术方案中,优选地,所述数据关联查询装置,还包括报表生成单元,将所述基础字段和所述关联字段插入报表中,作为报表的待展现字段,在所述报表中展现与所述待展现字段相对应的所述最终查询结果。在该技术方案中,对用户而言只需选择所需的查询内容,便可以将所选择查询内容的结果直接通过报表展现出来,直观并且方便快捷。
以上技术方案中,优选地,所述数据关联查询装置,还包括缓存单元,用于根据所述缓存取数公式中的主键值查找到所属数据表的其他业务属性;所述缓存取数公式构造单元包括计算子单元,利用树节点算法计算出所选取的关联字段在所述数据字典中的路径,根据所述路径上的节点形成数组或字符分隔串,得到具有所述关联字段的主键值的所述缓存取数公式。在该技术方案中,通过建立缓存取数公式,保证了查询关联字段的可重复性,使用户在查询关联字段的内容时,可以直接根据所构建的缓存取数公式进行查询,大大地提高了查询效率,同时降低了硬件设备的负荷。
根据本发明的另一个方面,还提供了一种数据关联查询方法,包括:步骤202,获取事实表的基础字段,基于所述基础字段选择维表上的字段作为关联所述事实表和所述维表的关联字段,其中,所述基础字段和所述关联字段为待查询字段;步骤204,基于所述基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;步骤206,从所述结果集中获取与所述关联字段对应的主键值,结合所述关联字段所在的数据路径构造缓存取数公式,根据所述缓存取数公式获取所述关联字段的取值,将所述关联字段的取值和所述结果集进行组合得到最终查询结果。在该技术方案中,同时支持SQL查询和缓存公式查询,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了查询效率。
以上技术方案中,优选地,所述步骤202还包括建立数据字典树,在所述数据字典树中选择所述待查询字段。在该技术方案中,建立数据字典树使得数据库中数据的展现更加直观,方便用户根据自己的需求选择所需的展现内容;另外,用户可以根据自身业务情况,自己建立数据字典树,自主地设置基础字段和关联字段,基础字段直接通过SQL查询,关联字段则通过缓存取数公式进行查询,亦即实现了对某种业务属性采用何种查询方式可以由用户自己定制,更加方便和人性化。
以上技术方案中,优选地,所述步骤202还包括:为选中的基础字段构造子树,所述基础字段包括主键,所述主键对应所述关联字段,在所述子树中选择所述关联字段。在该技术方案中,数据字典树不仅支持用户选择基础字段,而且同时支持用户选择子树中的关联字段,保证了关联字段的可扩展性,丰富了报表的展现内容。
以上技术方案中,优选地,还包括将所述基础字段和所述关联字段插入报表中,作为报表的待展现字段,将在所述报表中展现与所述待展现字段相对应的所述最终查询结果。在该技术方案中,对用户而言只需选择所需的查询内容,便可以将所选择查询内容的结果直接通过报表展现出来,方便快捷。
以上技术方案中,优选地,所述缓存取数公式的形成方法包括:利用树节点算法计算出所选取的关联字段在所述数据字典中的路径;根据所述路径上的节点形成数组或字符分隔串,得到具有所述关联字段的主键值的所述缓存取公式。在该技术方案中,通过建立缓存取数公式,保证了查询关联字段的可重复性,使用户在查询关联字段的内容时,可以直接根据所构建的缓存取数公式进行查询,大大地提高了查询效率,同时降低了硬件设备的负荷。
通过以上技术方案,可以实现同时支持SQL查询和缓存公式查询,将两者结合应用,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了查询效率;对某种业务属性采用何种查询方式可以由用户自己定制,更加方便和人性化;通过建立数据字典保证了关联字段的可扩展性和查询的可复用性。
附图说明
图1示出了相关技术中的事实表与维度表进行连接查询的示意图;
图2示出了根据本发明的实施例的在建立的数据字典树中选择待查询字段的截图;
图3示出了根据本发明的实施例的保存用户的选择结果的截图;
图4示出了根据本发明的实施例的操作者所设计的报表的截图;
图5示出了根据本发明实施例的由基础字段和所查单据的主键构成的混合树的截图;
图6示出了根据本发明实施例的在所查询单据的主键下的子树中选择关联字段的截图;
图7示出了根据本发明实施例的数据关联查询装置的框图;
图8示出了根据本发明实施例的数据关联查询方法的流程图;
图9示出了根据本发明又一实施例的数据关联查询方法的流程图;
图10A示出了根据本发明实施例的数据字典中选择待查字段界面的截图;
图10B示出了根据本发明实施例的待展现字段插入报表所形成的报表格式界面的截图;
图10C示出了根据本发明实施例的将选择的关联字段插入报表所形成的报表格式界面的截图;以及
图10D示出了根据本发明实施例的在报表中根据待查询字段展现出查询结果的截图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
下面首先对根据本发明的数据关联查询装置所述涉及的一些硬件模块作简单介绍:
数据字典建立单元,如图2,负责数据字典初始化、访问与树形展现。数据字典通常指对数据库的物理结构或对象(如表、视图、字段、主外键、字段数据类型、字段精度等)进行封装后生成的一个逻辑层,能够体现“表、字段以及表间关联关系”。数据字典维护了数据库对象的显示信息以及表间关联关系等,使得操作者更容易访问数据库的结构信息。比如,提供一个数据字典建模工具,把数据库设计文档(或物理表、字段)的信息导入,将一张表存为数据字典主表的一行记录(可同时为该表指定一个分类),其下属字段存为子表中对应的多行记录,在树形展现时,左侧按照分类归集数据表,右侧将选中表及其字段构造成一棵子树,对于字段中的外键字段,通过表名检索和加载的方式,进一步可展开该外键所对应物理表的子树(通常是档案表,例如图2所示的客户、部门,通过展开后会得到客户档案、部门档案的子树),如此可以层层展开下去。
数据模型模块,如图3所示,负责数据模型的设计、持久化、访问与结果浏览。数据模型可以包含很多内容,从与本发明技术方案相关的角度出发,可以将数据模型做一简化,假定其只保存操作者选定的数据表、表间连接关系以及待查询字段。
报表生成单元,负责报表格式设计、持久化、访问与结果展现。报表格式也可以包含很多内容,从与本发明技术方案相关的角度出发,将格式也做一简化,假定其只保存操作者选定的数据模型ID、报表基本格式以及待展现字段,将待展现字段拖进表格中可以得到例如图4所示的报表。
缓存单元,负责高速缓存初始化、维护与检索。要求能通过表的主键快速找到表的其它常用业务属性。比如,可以采用前台文件来存储对象化的哈希结构(哈希结构以主键为键、业务属性为值),也可以采用前台数据库来缓存相关表(主键列上建索引)。当系统查找某一主键对应的属性时,如通过哈希结构的键或主键索引字段可以命中则高速返回结果,如不能命中则发起数据库查询,返回结果并更新缓存内容及版本。
缓存取数公式构造单元中的计算子单元,用于计算使用者所选取的关联字段的路径,这只需要利用最基本的树节点算法,从给定节点层层向上找父节点,一直持续到根节点,并将此路径上的节点形成数组或字符分隔串(如客户.客户基本分类.客户分类基本名称)即可。这一路径将用于构造缓存取数公式(详见下述缓存取数公式构造单元)。
SQL执行单元,能够在数据库执行简单SQL并返回结果集。用于执行仅仅来自业务单据表自身字段的查询(也就是基础字段),而不做与维度表(档案表)关联字段的查询。
缓存取数公式构造单元,所谓缓存取数公式,是指通过PK(主键)带出其它业务属性的公式,类似于name->cvs(客户,客户名称,客户基本信息主键,‘0001’),可代表在客户档案这个缓存里,由客户主键0001带出该客户的名称;另外可将多个公式用分号分隔写成一个长公式,前面公式的返回值可用作后面公式的输入参数。相关的公式执行,可直接结合上述缓存单元(其特点就是根据PK值可快速返回相关属性值)获得结果。
将上述硬件模块结合图7对根据本发明的数据关联查询装置进行详细说明,图7示出了根据本发明实施例的数据关联查询装置的框图。
根据本发明的一个方面,提供了一种数据关联查询装置100,如图4所示,包括:数据获取单元102,用于获取事实表的基础字段,基于基础字段选择维表上的字段作为关联事实表和维表的关联字段,其中,基础字段和关联字段为待查询字段,将基础字段及其所属数据表发送至SQL执行单元104;SQL执行单元104,基于基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;缓存取数公式构造单元106,从结果集中获取与关联字段对应的主键值,结合关联字段所在的数据路径构造缓存取数公式;缓存执行单元108,根据缓存取数公式获取关联字段的取值,将关联字段的取值和结果集进行组合得到最终查询结果。在该技术方案中,同时支持SQL查询和缓存公式查询,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了查询效率。
以上技术方案中,数据关联查询装置100还包括:数据字典建立单元108,用于建立数据字典树,提供给数据获取单元102,在数据字典树中选择待查询字段。在该技术方案中,建立数据字典树使得数据库中数据的展现更加直观,方便用户根据自己的需求选择所需的展现内容;另外,用户可以根据自身业务情况,自己建立数据字典树,自主地设置基础字段和关联字段,基础字段直接通过SQL查询,关联字段则通过缓存取数公式进行查询,亦即实现了对某种业务属性采用何种查询方式可以由用户自己定制,更加方便和人性化。
使用者在数据字典树里,选择事实表的字段作为基础字段,这些字段可以是单据自带的业务属性,也可以是主外键PK。如图2所示,销售订单头是查询的单据,单据号是业务属性,客户、部门就是PK。选择结束后完成了待查询字段的选择。
以上技术方案中,数据字典建立单元108还用于为选中的基础字段构造子树,基础字段包括主键,主键对应关联字段,在子树中选择关联字段。在该技术方案中,数据字典树不仅支持用户选择基础字段,而且同时支持用户选择子树中的关联字段,保证了关联字段的可扩展性,丰富了报表的展现内容。继续以图2为例,可以为主键部门建立子树。
以上技术方案中,数据关联查询装置100,还包括报表生成单元110,将基础字段和关联字段插入报表中,作为报表的待展现字段,在报表中展现与待展现字段相对应的最终查询结果。在该技术方案中,对用户而言只需选择所需的查询内容,便可以将所选择查询内容的结果直接通过报表展现出来,方便快捷。
以上技术方案中,数据关联查询装置100,还包括:缓存单元112,用于根据缓存取数公式中的主键值查找到所属数据表的其他业务属性;缓存取数公式构造单元106包括计算子单元1062,利用树节点算法计算出所选取的关联字段在数据字典中的路径,根据路径上的节点形成数组或字符分隔串,得到具有关联字段的主键值的缓存取数公式。在该技术方案中,通过建立缓存取数公式,保证了查询关联字段的可重复性,使用户在查询关联字段的内容时,可以直接根据所构建的缓存取数公式进行查询,大大地提高了查询效率,同时降低了硬件设备的负荷。
图8示出了根据本发明实施例的数据关联查询方法的流程图。
根据本发明的另一个方面,还提供了一种数据关联查询方法,如图8所示,包括:步骤202,获取事实表的基础字段,基于基础字段选择维表上的字段作为关联事实表和维表的关联字段,其中,基础字段和关联字段为待查询字段;步骤204,基于基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;步骤206,从结果集中获取与关联字段对应的主键值,结合关联字段所在的数据路径构造缓存取数公式,根据缓存取数公式获取关联字段的取值,将关联字段的取值和结果集进行组合得到最终查询结果。在该技术方案中,同时支持SQL查询和缓存公式查询,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了查询效率。
以上技术方案中,步骤202还包括建立数据字典树,在数据字典树中选择待查询字段。在该技术方案中,建立数据字典树使得数据库中数据的展现更加直观,方便用户根据自己的需求选择所需的展现内容;另外,用户可以根据自身业务情况,自己建立数据字典树,自主地设置基础字段和关联字段,基础字段直接通过SQL查询,关联字段则通过缓存取数公式进行查询,亦即实现了对某种业务属性采用何种查询方式可以由用户自己定制,更加方便和人性化。
以上技术方案中,步骤202还包括:为选中的基础字段构造子树,基础字段包括主键,主键对应关联字段,在子树中选择关联字段。在该技术方案中,数据字典树不仅支持用户选择基础字段,而且同时支持用户选择子树中的关联字段,保证了关联字段的可扩展性,丰富了报表的展现内容。
以上技术方案中,数据关联查询方法还包括将基础字段和关联字段插入报表中,作为报表的待展现字段,将在报表中展现与待展现字段相对应的最终查询结果。在该技术方案中,对用户而言只需选择所需的查询内容,便可以将所选择查询内容的结果直接通过报表展现出来,方便快捷。
以上技术方案中,缓存取数公式的形成方法包括:利用树节点算法计算出所选取的关联字段在数据字典中的路径;根据路径上的节点形成数组或字符分隔串,得到具有关联字段的主键值的缓存取公式。在该技术方案中,通过建立缓存取数公式,保证了查询关联字段的可重复性,使用户在查询关联字段的内容时,可以直接根据所构建的缓存取数公式进行查询,大大地提高了查询效率,同时降低了硬件设备的负荷。
图9示出了根据本发明实施例的数据关联查询方法的流程图。
如图9,步骤402,用户根据自身业务需要,建立初始的数据字典树。
步骤404,将数据字典树的结构展现开发给用户,用户可以在数据字典树里,选择事实表的字段作为基础字段,这些字段可以是单据自带的业务属性,也可以是主外键。以图2为例,销售订单头是查询的单据,单据号是业务属性,客户、部门就是主键。
步骤406,当用户基础字段的选择时,把相关的数据模型持久化到数据库里。
步骤408,在用户在混合树(如图5所示)里选择基础字段作为报表的待展现字段后,可以将选择的待展现字段(即待查询字段)拖入报表某区域,完成报表格式设计(如图4所示)。其中,数据字典的混合树由基础字段和所查单据的主键构成,其中主外键字段可向下展开。根据数据字典树形展现的特点,可保证其中主外键类型的基础字段是可展开的。
步骤410,当用户完成上述报表格式设计时,把相关的格式模型持久化到数据库里。
步骤412,用户在主键展开的子树中选择关联字段,如图6所示,用户在“客户”该主键中选择了“客户基本分类名称”作为关联事实表和维度表的关联字段。由于本发明对于基础字段和关联字段将采用完全不同的技术手段来取数,因此,关联字段被拖入报表后应予以记录其类型。对于关联字段,调用缓存取数公式构造单元中的计算子单元计算出该字段的路径,同样予以记录。
步骤414,用户浏览报表,触发查询的执行动作。
步骤416,基于基本字段及其所属数据表,采用SQL语句执行查询操作,得到结果集,从结果集中获取与关联字段对应的主键值,结合关联字段所在的数据路径构造出一个根据主键获取关联字段值的缓存取数公式,例如类似于,主键值1->cvs(客户,客户基本分类主键,客户基本信息主键,客户主键值);name->cvs(客户基本分类,客户基本分类名称,客户基本分类主键,主键值1)。
步骤418,根据缓存取数公式获取关联字段的取值,通过高速缓存获得相关关联字段的取值,从而避免了多表的大数据联查,提高了查询的效率。
步骤420,将关联字段取值拼入查询结果集中,送报表进行展现,可以得到如图10D所示的展现结果。
从上述流程中可以知道,根据本发明的技术方案在优化关联查询执行效率的前提下,获得查询结果用于报表输出;并且使用者甚至可定制哪些字段走SQL取数(基本字段走SQL取数),哪些字段走缓存取数(关联字段走缓存取数);充分支持了关联字段的可扩展性,并确保了数据模型(利用设计的数据字典选择待查询字段的数据模型,可以根据用户的需要进行设计)的可复用性。
下面结合实践结果来说明本发明实施例中的数据关联查询方法的实际效果:
操作者可以在如图10A所示的数据字典中选择基础字段,在图10A中用户选择了单据号、客户、单据日期和部门。然后将选择的基础字段插入报表中,可以得到如图10B所示的报表格式。操作者继续选择关联字段,如图10C所示,用户在客户对应的子树中选择了客户基本分类名称作为关联字段,并将该关联字段也拖入报表中,得到如图10C中所示的报表格式。执行查询动作,展现待查询字段的结果,得到如图10D所示的结果集。
以上结合附图详细说明了根据本发明的技术方案,根据本发明的技术方案,可以实现同时支持SQL查询和缓存公式查询,将两者结合应用,避免了大数据量事实表和维度表的关联查询给系统带来的致命压力,提高了查询效率;对某种业务属性采用何种查询方式可以由用户自己定制,更加方便和人性化,提高了实践应用中的灵活性;通过建立数据字典保证了关联字段的可扩展性和查询的可复用性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种数据关联查询装置,其特征在于,包括:
数据获取单元,用于获取事实表的基础字段,基于所述基础字段选择维表上的字段作为关联所述事实表和所述维表的关联字段,其中,所述基础字段和所述关联字段为待查询字段,将所述基础字段及其所属数据表发送至SQL执行单元;
SQL执行单元,基于所述基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;
缓存取数公式构造单元,从所述结果集中获取与所述关联字段对应的主键值,结合所述关联字段所在的数据路径构造缓存取数公式;
缓存执行单元,根据所述缓存取数公式获取所述关联字段的取值,将所述关联字段的取值和所述结果集进行组合得到最终查询结果;
还包括:
数据字典建立单元,用于建立数据字典树,提供给所述数据获取单元,在所述数据字典树中选择所述待查询字段;
所述数据字典建立单元还用于为选中的基础字段构造子树,所述基础字段包括主键,所述主键对应所述关联字段,在所述子树中选择所述关联字段。
2.根据权利要求1所述的数据关联查询装置,其特征在于,还包括:
报表生成单元,将所述基础字段和所述关联字段插入报表中,作为报表的待展现字段,将在所述报表中展现与所述待展现字段相对应的所述最终查询结果。
3.根据权利要求1或2所述的数据关联查询装置,其特征在于,还包括:缓存单元,用于根据所述缓存取数公式中的主键值查找到所属数据表的其他业务属性;
所述缓存取数公式构造单元包括:计算子单元,利用树节点算法计算出所选取的关联字段在所述数据字典中的路径,根据所述路径上的节点形成数组或字符分隔串,得到具有所述关联字段的主键值的所述缓存取公式。
4.一种数据关联查询方法,其特征在于,包括:
步骤202,获取事实表的基础字段,基于所述基础字段选择维表上的字段作为关联所述事实表和所述维表的关联字段,其中,所述基础字段和所述关联字段为待查询字段;
步骤204,基于所述基础字段及其所属数据表,采用SQL语句执行查询操作,得到结果集;
步骤206,从所述结果集中获取与所述关联字段对应的主键值,结合所述关联字段所在的数据路径构造缓存取数公式,根据所述缓存取数公式获取所述关联字段的取值,将所述关联字段的取值和所述结果集进行组合得到最终查询结果;
所述步骤202还包括:
建立数据字典树,在所述数据字典树中选择所述待查询字段;
所述步骤202还包括:
为选中的基础字段构造子树,所述基础字段包括主键,所述主键对应所述关联字段,在所述子树中选择所述关联字段。
5.根据权利要求4所述的数据关联查询方法,其特征在于,将所述基础字段和所述关联字段插入报表中,作为报表的待展现字段,将在所述报表中展现与所述待展现字段相对应的所述最终查询结果。
6.根据权利要求4或5所述的数据关联查询方法,其特征在于,所述缓存取数公式的形成方法包括:
利用树节点算法计算出所选取的关联字段在所述数据字典中的路径;
根据所述路径上的节点形成数组或字符分隔串,得到具有所述关联字段的主键值的所述缓存取公式。
CN2011104488932A 2011-12-28 2011-12-28 数据关联查询方法和数据关联查询装置 Active CN102521416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104488932A CN102521416B (zh) 2011-12-28 2011-12-28 数据关联查询方法和数据关联查询装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104488932A CN102521416B (zh) 2011-12-28 2011-12-28 数据关联查询方法和数据关联查询装置

Publications (2)

Publication Number Publication Date
CN102521416A CN102521416A (zh) 2012-06-27
CN102521416B true CN102521416B (zh) 2013-11-27

Family

ID=46292329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104488932A Active CN102521416B (zh) 2011-12-28 2011-12-28 数据关联查询方法和数据关联查询装置

Country Status (1)

Country Link
CN (1) CN102521416B (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789488B (zh) * 2012-06-29 2016-05-04 用友网络科技股份有限公司 数据查询处理系统和数据查询处理方法
CN102867064B (zh) * 2012-09-28 2015-12-02 用友网络科技股份有限公司 关联字段查询装置和关联字段查询方法
CN102929850B (zh) * 2012-09-28 2015-10-21 用友网络科技股份有限公司 报表数据处理装置和报表数据处理方法
CN103092998B (zh) * 2013-02-21 2017-02-08 用友网络科技股份有限公司 数据查询系统和数据查询方法
CN103092996B (zh) * 2013-02-21 2016-09-28 用友网络科技股份有限公司 单据数据获取装置和单据数据获取方法
CN103577590A (zh) * 2013-11-12 2014-02-12 北京润乾信息系统技术有限公司 一种数据查询方法和系统
CN103577610B (zh) * 2013-11-22 2017-11-03 河海大学 一种实现自定义报表中查询条件联动的方法
CN105517644B (zh) * 2014-03-05 2020-04-21 华为技术有限公司 一种数据分区方法和设备
CN105224560B (zh) * 2014-06-20 2019-12-06 腾讯科技(北京)有限公司 缓存数据的查找方法和装置
CN104166740A (zh) * 2014-09-10 2014-11-26 税友软件集团股份有限公司 一种数据查询方法及装置
CN105589864A (zh) * 2014-10-22 2016-05-18 中兴通讯股份有限公司 数据查询方法及装置
CN107735781B (zh) * 2015-01-14 2020-03-10 华为技术有限公司 存储查询结果的方法和装置、计算设备
CN105989082B (zh) * 2015-02-10 2019-06-25 腾讯科技(深圳)有限公司 报表视图生成方法和装置
CN104599181A (zh) * 2015-02-11 2015-05-06 中国农业银行股份有限公司 一种货币类产品的查询方法及装置
CN104778253B (zh) * 2015-04-20 2018-09-14 北京京东尚科信息技术有限公司 一种提供数据的方法和装置
CN105279281A (zh) * 2015-11-17 2016-01-27 天泽信息产业股份有限公司 一种物联网数据存取方法
CN105354324B (zh) * 2015-11-17 2018-06-08 国云科技股份有限公司 一种基于hc-sql的树状结构系统及其实现方法
CN106897280B (zh) * 2015-12-17 2020-07-14 菜鸟智能物流控股有限公司 数据查询方法及装置
CN106933894A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 多维度数据的查询方法及装置
CN106933930A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 筛选会话的方法和装置
CN106933920A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 会话的筛选方法和装置
CN106933909B (zh) * 2015-12-31 2020-06-12 北京国双科技有限公司 多维度数据的查询方法及装置
CN106933906B (zh) * 2015-12-31 2020-05-22 北京国双科技有限公司 数据多维度的查询方法及装置
CN105938486A (zh) * 2016-04-14 2016-09-14 中国银行股份有限公司 一种关联字段的检查方法及装置
CN106095961B (zh) * 2016-06-16 2019-03-26 网易(杭州)网络有限公司 表显示处理方法和装置
CN106339454A (zh) * 2016-08-25 2017-01-18 北京云知声信息技术有限公司 查询命令转化方法及装置
CN107784003B (zh) * 2016-08-26 2021-09-21 菜鸟智能物流控股有限公司 数据查询异常检测方法、装置、设备及系统
CN108255861A (zh) * 2016-12-29 2018-07-06 北京奇虎科技有限公司 一种广告数据的查询处理方法和装置
CN107133320B (zh) * 2017-05-03 2019-11-22 广州虎牙信息科技有限公司 在Hive中连接运算的转化方法及装置
CN109213811B (zh) * 2017-06-30 2021-05-11 北京神州泰岳软件股份有限公司 一种报表展现方法和装置
CN109213776B (zh) * 2017-06-30 2021-08-06 北京神州泰岳软件股份有限公司 一种报表展现方法和装置
CN108021627A (zh) * 2017-11-21 2018-05-11 广州品唯软件有限公司 关联数据的存储方法及装置
CN107862092A (zh) * 2017-12-06 2018-03-30 深圳市易达云科技有限公司 一种订单查询方法及系统
CN108509637A (zh) * 2018-04-10 2018-09-07 口碑(上海)信息技术有限公司 数据表关联查询方法及装置
CN110765151A (zh) * 2018-07-27 2020-02-07 北京国双科技有限公司 一种计算公式处理方法及装置
CN109299451A (zh) * 2018-11-07 2019-02-01 用友网络科技股份有限公司 一种基于数据模型的查询系统及方法
CN111309721A (zh) * 2018-12-11 2020-06-19 北京京东尚科信息技术有限公司 一种确定数据表关联关系的方法和装置
CN110209668B (zh) * 2019-04-29 2021-07-27 深圳市云网万店科技有限公司 基于流计算的维表关联方法、装置、设备及可读存储介质
CN110597842B (zh) * 2019-07-22 2023-10-03 石化盈科信息技术有限责任公司 业务数据查询方法及系统
CN110619002A (zh) * 2019-09-12 2019-12-27 北京百度网讯科技有限公司 数据处理方法、装置及存储介质
CN111046039A (zh) * 2019-11-25 2020-04-21 金蝶软件(中国)有限公司 一种单据查询方法及相关装置
CN111427626B (zh) * 2020-03-26 2023-07-25 浪潮通用软件有限公司 基于维度数据仓库快速生成报表的方法及系统
CN111475513B (zh) * 2020-06-28 2020-10-02 平安国际智慧城市科技股份有限公司 表单生成方法、装置、电子设备及介质
CN112434018B (zh) * 2020-10-22 2024-06-04 金蝶云科技有限公司 报表生成方法、装置、计算机设备和存储介质
CN114281823B (zh) * 2021-12-17 2023-08-29 北京百度网讯科技有限公司 表格处理方法、装置、设备、存储介质及产品
CN114706575A (zh) * 2022-06-07 2022-07-05 杭州比智科技有限公司 一种迁移和复用数据模型的方法及系统
CN114840868B (zh) * 2022-07-04 2022-10-14 广州市玄武无线科技股份有限公司 数据访问方法、装置、电子设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556482A (zh) * 2003-12-31 2004-12-22 中兴通讯股份有限公司 一种用于实现数据库多表查询的数据处理方法
CN101593203A (zh) * 2009-05-12 2009-12-02 用友软件股份有限公司 带有前处理和后处理的数据库复合查询系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457810B2 (en) * 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556482A (zh) * 2003-12-31 2004-12-22 中兴通讯股份有限公司 一种用于实现数据库多表查询的数据处理方法
CN101593203A (zh) * 2009-05-12 2009-12-02 用友软件股份有限公司 带有前处理和后处理的数据库复合查询系统及方法

Also Published As

Publication number Publication date
CN102521416A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102521416B (zh) 数据关联查询方法和数据关联查询装置
US20230376487A1 (en) Processing database queries using format conversion
EP3446242B1 (en) Query plan generation and execution in a relational database management system with a temporal-relational database
CN108038222B (zh) 用于信息系统建模和数据访问的实体-属性框架的系统
CN105550241B (zh) 多维数据库查询方法及装置
KR102330547B1 (ko) 보고 생성 방법
US10565208B2 (en) Analyzing multiple data streams as a single data object
JP5721818B2 (ja) 検索におけるモデル情報群の使用
US9069831B2 (en) Retrieving data objects
CN105493075A (zh) 基于所标识的实体的属性值检索
US9753960B1 (en) System, method, and computer program for dynamically generating a visual representation of a subset of a graph for display, based on search criteria
US9785725B2 (en) Method and system for visualizing relational data as RDF graphs with interactive response time
CN111767303A (zh) 一种数据查询方法、装置、服务器及可读存储介质
US8880463B2 (en) Standardized framework for reporting archived legacy system data
CN104699742A (zh) 使能扩展大型数据集的极端可视化
CN102810114A (zh) 基于本体的个人计算机资源管理系统
CN111611304A (zh) 知识驱动的联合大数据查询和分析平台
CN102999637B (zh) 根据文件特征码为文件自动添加文件标签的方法及系统
US10552423B2 (en) Semantic tagging of nodes
CN111611448A (zh) 知识驱动的联合大数据查询和分析平台
KR20160117965A (ko) NoSQL 모델 생성 방법 및 그 장치
CN112527918A (zh) 一种数据处理的方法和装置
CN104537047B (zh) 一种基于Lucene的服装基样板检索系统
Gašpar et al. Integrating Two Worlds: Relational and NoSQL
CN108241624A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: YONYOU NETWORK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: UFIDA SOFTWARE CO., LTD.

CP03 Change of name, title or address

Address after: 100094 Haidian District North Road, Beijing, No. 68

Patentee after: Yonyou Network Technology Co., Ltd.

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Patentee before: UFIDA Software Co., Ltd.