CN113704284A - 一种基于数据模型查询数据的方法及装置 - Google Patents

一种基于数据模型查询数据的方法及装置 Download PDF

Info

Publication number
CN113704284A
CN113704284A CN202110994640.9A CN202110994640A CN113704284A CN 113704284 A CN113704284 A CN 113704284A CN 202110994640 A CN202110994640 A CN 202110994640A CN 113704284 A CN113704284 A CN 113704284A
Authority
CN
China
Prior art keywords
data
data model
database object
materialized
database
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
CN202110994640.9A
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.)
Beijing Fangjianghu Technology Co Ltd
Original Assignee
Beijing Fangjianghu 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 Beijing Fangjianghu Technology Co Ltd filed Critical Beijing Fangjianghu Technology Co Ltd
Priority to CN202110994640.9A priority Critical patent/CN113704284A/zh
Publication of CN113704284A publication Critical patent/CN113704284A/zh
Pending legal-status Critical Current

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/24Querying

Abstract

本申请公开了一种基于数据模型查询数据的方法及装置,本发明实施例针对数据模型进行物化,即根据数据模型中包括的要查询数据所关联的数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中。在后续基于该数据模型进行数据查询时,则获取该数据模型所对应物化表中的数据,作为所查询的数据。这样,在减少系统计算资源的情况下实现基于数据模型的数据查询过程,提高查询性能。

Description

一种基于数据模型查询数据的方法及装置
技术领域
本申请涉及计算机的技术领域,特别涉及一种基于数据模型查询数据的方法及装置。
背景技术
在计算机应用中,需要大量的数据参与计算机的各种功能实现。因此,在计算机网络中设置数据库存储数据,在存储时数据按照数据库设定的数据结构,比如采用数据表的数据结构存储为数据集合,外部系统通过数据库管理系统(DBMS)访问数据库获取到数据集合。DBMS是对数据库进行管理的系统,比如可以采用关系数据库(RDB,RelationalDatabase)类型的DBMS对数据库进行管理。当要查询数据库中存储的数据时,首先进行数据模型的建模过程,该建模过程是用于定义和分析要查询数据的要求信息和其要求信息的相应支持的数据库信息的过程,建模时将创建的要查询数据所关联的数据库对象生成为结构化查询语言(SQL)代码,运行该SQL代码创建得到数据模型,创建得到的数据模型中包括了要查询数据所关联的数据库对象信息。在这里,数据库对象是存储、管理和使用数据的不同结构形式,主要包含表、视图、存储过程、函数、触发器和事件等,数据库是数据库对象的容器。在得到要查询数据的数据模型后,就可以基于数据模型查询数据了。
目前,在基于数据模型查询数据时,采用的方案为:DBMS根据该数据模型中包括的要查询数据所关联的数据库对象信息,生成查询数据库对象的SQL代码运行,通过查询引擎到数据库搜索得到对应的数据库对象,获取得到对应的数据库对象中的数据,也就是要查询的数据。
可以看出,采用上述方式基于数据模型查询数据存在缺点:当数据模型中包括的不同要查询数据所关联的数据库对象信息相同时,也需要针对不同要查询数据所关联的数据库对象信息分别生成相应的SQL代码运行才能完成,浪费了系统计算资源;当基于复杂数据模型查询数据时,涉及的所关联数据库对象过多,查询过程执行复杂且导致了查询性能变差。
发明内容
本申请的各实施例提供了一种基于数据模型查询数据的方法及装置,能够在减少系统计算资源的情况下实现基于数据模型的数据查询过程,提高查询性能。
在一个实施例中,提供一种基于数据模型查询数据的方法,所述方法包括:
数据模型中包括要查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;
将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中;
接收数据查询请求,确定所述请求查询数据的数据模型,获取所述确定的数据模型所对应物化表中的数据。
较佳地,在将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中之前,所述方法还包括:
判断是否已经为所述数据模型设置物化标识,如果是,则执行将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表的步骤;如果否,结束本流程。
较佳地,所述判断是否已经为所述数据模型设置物化标识包括:
设定时间间隔,当所述时间间隔到时时,对数据库管理系统中的所有数据模型进行遍历,针对其中的每个数据模型,判断是否为所述数据模型设置物化标识。
较佳地,所述为所述数据模型设置物化标识包括:
当数据模型中要查询数据的数据扫描量超过设置的数据扫描量阈值时,对所述数据模型设置物化标识;
或者判断数据模型的要查询数据发生变化且所述数据模型已经对应了物化表,对所述数据模型设置物化标识。
较佳地,将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表之后,还包括:
判断所述数据模型对应的物化表成功设置,如果是,去除所述数据模型的物化标识;
如果未成功,判断所述数据模型设置对应的物化表的次数是否超过了设置的物化次数,
如果是,为所述数据模型设置永久未物化标识,结束对所述数据模型设置对应的物化表的过程;如果否,继续对所述数据模型设置对应的物化表的过程。
较佳地,将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中之后,还包括:
在所述数据模型中设置对应的物化表信息;
所述获取所述确定的数据模型所对应物化表中的数据之前,还包括:
判断所述确定的数据模型中是否有对应的物化表信息,如果是,根据所述确定的数据模型中对应的物化表信息定向到物化表,获取所述确定的数据模型所对应物化表中的数据;如果否,数据模型中包括所述请求查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据。
较佳地,所述根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据包括:
根据所述数据库对象信息,构造包括所述数据库对象信息的结构化查询语言代码后运行,通过查询引擎对数据库中的所有数据库对象遍历,从中查询到对应所述数据库对象信息的数据库对象,从所述查询到的数据库对象中获取数据。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述任一项所述的基于数据模型查询数据的方法的步骤。
一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上述任一项所述的基于数据模型查询数据的方法的步骤。
基于上述实施例,本发明实施例针对数据模型进行物化,即根据数据模型中包括的要查询数据所关联的数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中。在后续基于该数据模型进行数据查询时,则获取该数据模型所对应物化表中的数据,作为所查询的数据。这样,由于为数据模型预设了包括有该数据模型所要查询的数据的物化表,所以无需再根据数据模型中包括的要查询数据所关联的数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据的过程,从而在减少系统计算资源的情况下实现基于数据模型的数据查询过程,提高查询性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种基于数据模型查询数据的方法流程图;
图2为本发明实施例提供的对数据模型进行物化的方法流程图;
图3为本发明实施例提供的执行基于数据模型查询数据的过程的具体流程图;
图4为本发明实施例提供的基于数据模型查询数据的装置结构示意图;
图5为本申请的另一个实施例所提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
从背景技术可以看出,在基于数据模型查询数据时出现占用系统计算资源过多,且在基于复杂数据模型查询数据时会导致查询性能差的原因是:需要根据数据模型中包括的要查询数据所关联的数据库对象信息,在数据库中查询对应的数据库对象,获取所述数据库对象中的数据才能实现,当所关联的数据库对象很多时,就需要一一进行查询。为了解决上述问题,本发明实施例针对数据模型进行物化,即根据数据模型中包括的要查询数据所关联的数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中。在后续基于该数据模型查询数据时,则获取该数据模型所对应物化表中的数据,作为所查询的数据。
这样,由于为数据模型预设了包括有该数据模型所要查询的数据的物化表,所以无需再根据数据模型中包括的要查询数据所关联的数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据的过程,从而在减少系统计算资源的情况下实现基于数据模型查询数据的过程,提高查询性能。
图1为本发明实施例提供的一种基于数据模型查询数据的方法流程图,其具体步骤包括:
步骤101、数据模型中包括要查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;
步骤102、将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中;
步骤103、接收数据查询请求,确定所述请求查询数据的数据模型,获取所述确定的数据模型所对应物化表中的数据。
在该方法中,所述数据模型是预先根据查询数据的需求信息及其需求信息的相应支持数据库信息,进行建模得到的,并保存在DBMS中。在建模时,将创建的要查询数据所关联的数据库对象生成为结构化查询语言(SQL)代码,运行该SQL代码创建得到数据模型,创建得到的数据模型中包括了要查询数据所关联的数据库对象信息。
所述方法是由DBMS执行的。
在该方法中,并不是对DBMS中的所有数据模型都根据步骤101~102的步骤进行物化,而是对其中一些符合要求的数据模型进行物化。在这种情况下,在将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中之前,所述方法还包括:
判断是否已经为所述数据模型设置物化标识,如果是,则执行将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表的步骤;如果否,结束本流程。
在该方法中,当对DBMS中的具有物化标识的数据模型进行物化时,是采用设置的shell脚本,通过设置定时循环任务自动化物化要物化的数据模型。具体地说,包括:
设定时间间隔,当所述时间间隔到时时,对数据库管理系统中的所有数据模型进行遍历,针对其中的每个数据模型,判断是否为所述数据模型设置物化标识,如果是,则执行将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表的步骤。
在该方法中,是对DBMS中符合要求的数据模型进行物化,这些数据模型包括:
当数据模型中要查询数据的数据扫描量超过设置的数据扫描量阈值时,对所述数据模型设置物化标识,后续对所述数据模型进行物化。也就是说,系统中的占用资源较多的数据模型会被设置物化标识,进行后续的物化操作。在数据模型建模时,系统根据数据模型的要查询数据所关联的数据库对象的个数和大小,确定所述数据模型所占用的资源值,称为数据扫描量。数据库模型的数据扫描量的计算方法为:将数据模型的要查询数据所关联的数据库对象的数据量相加的总和值。在通常情况下,数据模型的要查询数据所关联的数据库对象的个数越多,且所关联的数据库对象的数据量越大,则数据模型的数据扫描量也就越大。
在对所述数据模型设置物化标识时,可以采用人工设置方式或自动设置方式,其中,自动设置方式时,对系统中的数据模型进行数据扫描量统计,当数据模型的数据扫描量超过设置的数据扫描量阈值时,对所述数据模型设置物化标识。当采用人工设置方式时,则对系统中的数据模型进行手动添加物化标识。
在该方法中,对DBMS中符合要求的数据模型进行物化,这些数据模型还包括:
判断数据模型的要查询数据发生变化且所述数据模型已经对应了物化表,对所述数据模型设置物化标识,后续对所述数据模型进行物化。
由于数据模型中包括的要查询数据所关联的数据库对象中的数据,比如要查询数据所依赖的数据表中的数据会随着日期的变化而发生数据变化,因此数据模型要查询的数据也因此会根据查询数据所关联的数据库对象中的数据的变化而变化,这会导致对所述数据模型预设对应的物化表的失效。在这种情况下,系统需要对所述数据模型预设对应的物化表进行更新,因此对所述数据模型设置物化标识,以进行重新物化。
在该方法中,将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表之后,还包括:
判断所述数据模型对应的物化表成功设置,如果是,去除所述数据模型的物化标识;
如果未成功,判断所述数据模型设置对应的物化表的次数是否超过了设置的物化次数,
如果是,为所述数据模型设置永久未物化标识,结束对所述数据模型设置对应的物化表的过程;如果否,继续对所述数据模型设置对应的物化表的过程。
这样,就保证了对DBMS中的数据模型有针对性的物化,且保证不对无法进行物化的数据模型进行无限次的物化过程,减少了DBMS的计算资源。
在本发明实施例中,为了在基于物化的数据模型查询数据时,能够被定向到对应的物化表中直接获取得到查询的数据,则要在数据模型中设置对应的物化表信息。这样,在查询数据时,还包括:判断所述确定的数据模型中是否有对应的物化表信息,以此确定是否能够被定向到对应的物化表。如果是,根据所述确定的数据模型中对应的物化表信息定向到物化表,获取所述确定的数据模型所对应物化表中的数据;如果否,按照背景技术处理,即数据模型中包括所述请求查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据。
在该方法中,所述根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据包括:根据所述数据库对象信息,构造包括所述数据库对象信息的SQL代码后运行,通过查询引擎对数据库中的所有数据库对象遍历,从中查询到对应所述数据库对象信息的数据库对象,从所述查询到的数据库对象中获取数据,也就是要获取的查询数据。
可以看出,本发明实施例实现方案的关键是在对数据模型的物化过程,也就是为数据模型设置对应的物化表,其中存储了要查询数据所关联的数据库对象中的数据,也就是要查询数据的过程。以下对这个过程进行详细说明。
图2为本发明实施例提供的对数据模型进行物化的方法流程图,其具体步骤包括:
步骤201、获取系统中的数据模型;
在本步骤中,所获取的系统中的数据模型可以是当前需要同步的数据模型;
步骤202、判断该数据模型是否已经创建了物化表,如果是,则执行步骤203;如果否,则执行步骤204;
步骤203、判断基于数据模型要查询的数据是否发生变化,如果是,执行步骤204;如果否,执行步骤205;
步骤204、对数据模型进行物化,根据数据模型中包括的要查询数据所关联的数据库对象信息,查询对应的数据库对象,获取数据库对象中的数据;将获取的所述数据库对象中的数据,存储在数据模型对应的物化表,执行步骤205;
步骤205、根据数据模型中包括的要查询数据所关联的数据库对象信息,生成包括所述数据库对象信息的SQL代码;
步骤206、运行SQL代码;
步骤207、是否执行成功,如果是,则执行步骤208;如果否,则执行步骤209;
在本步骤中,运行SQL代码,通过查询引擎对数据库中的所有数据库对象遍历,从中查询到对应所述数据库对象信息的数据库对象,从所述查询到的数据库对象中获取数据,即得到要查询的数据;
步骤208、更新数据模型对应的物化表;
在本步骤中,将步骤207查询得到的数据重新存储在物化表中。
步骤209、对数据模型进行重新物化过程;
在本步骤中,也就是重复步骤205~206的过程,直到数据模型的物化成功。
在对系统中的数据模型进行物化得到对应的物化表之后,就可以基于该物化表进行数据的查询操作了。如图3所示,图3为本发明实施例提供的执行基于数据模型查询数据的过程的具体流程图,其具体步骤为:
步骤301、查询开始;
步骤302、接收数据查询请求,确定所述请求查询数据的数据模型;
在本步骤中,该查询请求中可以携带要查询数据的数据模型信息,比如要查询数据的对应数据模型标识或要查询数据的数据模型描述信息等,基于要查询数据的数据模型信息,就可以确认对应的数据模型;
步骤303、判断该数据模型是否有对应的物化表,如果是,执行步骤304;如果否,执行步骤305;
步骤304、根据该数据模型中对应的物化表信息,生成定向到对应的物化表的SQL代码;
步骤305、根据该数据模型中包括要查询数据所关联的数据库对象信息,生成包括所述数据库对象信息的SQL代码;
步骤后306、运行SQL代码,通过查询引擎查询;
包括了各个数据库对象及物化表,采用查询引擎基于数据库对象信息对各个数据库对象进行遍历,得到对应的数据库对象或定向到物化表中,获得其中的数据;
步骤307、得到要查询的数据。
这样,当外部系统为数据可视化分析系统时,数据可视化分析系统在对数据进行可视化分析时,就需要采用图3的过程,通过DBMS基于数据模型查询得到要分析的数据。数据可视化分析系统在接收到反馈的分析数据后,就可以对分析数据采用可视化方式进行展示。
本发明实施例还提供一种基于数据模型查询数据的装置,如图4所示,图4为本发明实施例提供的基于数据模型查询数据的装置结构示意图,包括数据模型的物化单元及查询数据单元,其中,
数据模型的物化单元,用于数据模型中包括要查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中;
查询数据单元,用于接收数据查询请求,确定所述请求查询数据的数据模型,获取所述确定的数据模型所对应物化表中的数据。
在该装置中,数据模型物化单元,还用于判断是否已经为所述数据模型设置物化标识,如果是,则执行将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表的步骤;如果否,结束。
在该装置中,数据模型物化单元,还用于设定时间间隔,当所述时间间隔到时时,对数据库管理系统中的所有数据模型进行遍历,针对其中的每个数据模型,判断是否为所述数据模型设置物化标识。
在该装置中,数据模型的物化单元,还用于所述为所述数据模型设置物化标识包括:当数据模型中要查询数据的数据扫描量超过设置的数据扫描量阈值时,对所述数据模型设置物化标识;或者判断数据模型的要查询数据发生变化且所述数据模型已经对应了物化表,对所述数据模型设置物化标识。
在该装置中,数据模型的物化单元,还用于在所述数据模型中设置对应的物化表信息;
查询数据单元,还用于判断所述确定的数据模型中是否有对应的物化表信息,如果是,根据所述确定的数据模型中对应的物化表信息定向到物化表,获取所述确定的数据模型所对应物化表中的数据;如果否,数据模型中包括所述请求查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据。
所述装置采用的系统为DBMS,具体是采用RDB类型的DBMS,所述数据库对象是存储、管理和使用数据的不同结构形式,主要包含表、视图、存储过程、函数、触发器和事件等,数据库是数据库对象的容器。在得到要查询数据的数据模型后,就可以基于数据模型查询数据了。
采用本发明实施例进行基于数据模型查询数据的过程,无需基于数据模型中包括查询数据所关联的数据库对象信息生成SQL代码,到对应的各个数据库对象中获取要查询的数据,而通过基于数据模型中的对应物化表信息生成定向到物化表的SQL代码后,到物化表中获取到查询的数据,这样,可以降低系统的计算资源负载,提升计算资源的吞吐量,降低查询数据的复杂度,尤其是针对基于复杂数据模型查询数据的过程,对系统的计算资源占用改善,及查询性能的提升尤为明显。
在本申请的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时引发所述处理器执行前述实施例中的基于数据模型查询数据的方法。图5为本申请的另一个实施例所提供的一种电子设备的示意图。如图5所示,本申请另一实施例还提供一种电子设备,其可以包括处理器501,其中,处理器501用于执行上述一种基于数据模型查询数据的方法的步骤。从图5中还可以看出,上述实施例提供的电子设备还包括非瞬时计算机可读存储介质502,该非瞬时计算机可读存储介质502上存储有计算机程序,该计算机程序被处理器501运行时执行上述一种基于数据模型查询数据的方法的步骤。
具体地,该非瞬时计算机可读存储介质502能够为通用的存储介质,如移动磁盘、硬盘、FLASH、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、或便携式紧凑磁盘只读存储器(CD-ROM)等,该非瞬时计算机可读存储介质502上的计算机程序被处理器501运行时,能够引发处理器501执行上述的一种基于数据模型查询数据的方法的各个步骤。
实际应用中,所述的非瞬时计算机可读存储介质502可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,能够执行上述的一种基于数据模型查询数据的方法中的各个步骤。
本申请的再一实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述的一种基于数据模型查询数据的方法中的各个步骤。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标注的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行变更或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些变更、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.一种基于数据模型查询数据的方法,其特征在于,所述方法包括:
数据模型中包括要查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据;
将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中;
接收数据查询请求,确定所述请求查询数据的数据模型,获取所述确定的数据模型所对应物化表中的数据。
2.如权利要求1所述的方法,其特征在于,在将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中之前,所述方法还包括:
判断是否已经为所述数据模型设置物化标识,如果是,则执行将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表的步骤;如果否,结束本流程。
3.如权利要求2所述的方法,其特征在于,所述判断是否已经为所述数据模型设置物化标识包括:
设定时间间隔,当所述时间间隔到时时,对数据库管理系统中的所有数据模型进行遍历,针对其中的每个数据模型,判断是否为所述数据模型设置物化标识。
4.如权利要求2所述的方法,其特征在于,所述为所述数据模型设置物化标识包括:
当数据模型中要查询数据的数据扫描量超过设置的数据扫描量阈值时,对所述数据模型设置物化标识;
或者判断数据模型的要查询数据发生变化且所述数据模型已经对应了物化表,对所述数据模型设置物化标识。
5.如权利要求2所述的方法,其特征在于,将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表之后,还包括:
判断所述数据模型对应的物化表成功设置,如果是,去除所述数据模型的物化标识;
如果未成功,判断所述数据模型设置对应的物化表的次数是否超过了设置的物化次数,
如果是,为所述数据模型设置永久未物化标识,结束对所述数据模型设置对应的物化表的过程;如果否,继续对所述数据模型设置对应的物化表的过程。
6.如权利要求1所述的方法,其特征在于,将所述获取的所述数据库对象中的数据,存储在所述数据模型对应的物化表中之后,还包括:
在所述数据模型中设置对应的物化表信息;
所述获取所述确定的数据模型所对应物化表中的数据之前,还包括:
判断所述确定的数据模型中是否有对应的物化表信息,如果是,根据所述确定的数据模型中对应的物化表信息定向到物化表,获取所述确定的数据模型所对应物化表中的数据;如果否,数据模型中包括所述请求查询数据所关联的数据库对象信息,根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据。
7.如权利要求1或6所述的方法,其特征在于,所述根据所述数据库对象信息,查询对应的数据库对象,获取所述数据库对象中的数据包括:
根据所述数据库对象信息,构造包括所述数据库对象信息的结构化查询语言代码后运行,通过查询引擎对数据库中的所有数据库对象遍历,从中查询到对应所述数据库对象信息的数据库对象,从所述查询到的数据库对象中获取数据。
8.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至7中任一项所述的基于数据模型查询数据的方法的步骤。
9.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现如权利要求1至7中任一项所述的基于数据模型查询数据的方法的步骤。
CN202110994640.9A 2021-08-27 2021-08-27 一种基于数据模型查询数据的方法及装置 Pending CN113704284A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110994640.9A CN113704284A (zh) 2021-08-27 2021-08-27 一种基于数据模型查询数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110994640.9A CN113704284A (zh) 2021-08-27 2021-08-27 一种基于数据模型查询数据的方法及装置

Publications (1)

Publication Number Publication Date
CN113704284A true CN113704284A (zh) 2021-11-26

Family

ID=78655907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110994640.9A Pending CN113704284A (zh) 2021-08-27 2021-08-27 一种基于数据模型查询数据的方法及装置

Country Status (1)

Country Link
CN (1) CN113704284A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273506A (zh) * 2017-06-19 2017-10-20 西安电子科技大学 一种数据库多表联合查询的方法
CN107341238A (zh) * 2017-07-04 2017-11-10 北京京东尚科信息技术有限公司 数据处理方法及系统
CN109284326A (zh) * 2018-11-26 2019-01-29 北京中创碳投科技有限公司 一种数据库访问方法和装置
CN110874366A (zh) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 数据处理、查询方法和装置
CN111104453A (zh) * 2019-12-18 2020-05-05 深圳市中农易讯信息技术有限公司 数据的查询方法、装置、终端及存储介质
CN111414352A (zh) * 2020-03-27 2020-07-14 北京明略软件系统有限公司 一种数据库信息的管理方法和装置
CN112286953A (zh) * 2020-09-25 2021-01-29 北京邮电大学 多维数据查询方法、装置和电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273506A (zh) * 2017-06-19 2017-10-20 西安电子科技大学 一种数据库多表联合查询的方法
CN107341238A (zh) * 2017-07-04 2017-11-10 北京京东尚科信息技术有限公司 数据处理方法及系统
CN110874366A (zh) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 数据处理、查询方法和装置
CN109284326A (zh) * 2018-11-26 2019-01-29 北京中创碳投科技有限公司 一种数据库访问方法和装置
CN111104453A (zh) * 2019-12-18 2020-05-05 深圳市中农易讯信息技术有限公司 数据的查询方法、装置、终端及存储介质
CN111414352A (zh) * 2020-03-27 2020-07-14 北京明略软件系统有限公司 一种数据库信息的管理方法和装置
CN112286953A (zh) * 2020-09-25 2021-01-29 北京邮电大学 多维数据查询方法、装置和电子设备

Similar Documents

Publication Publication Date Title
JP2010524060A (ja) 分散コンピューティングにおけるデータマージング
CN106446019B (zh) 一种软件功能处理方法和装置
CN111026568A (zh) 数据和任务关系构建方法、装置、计算机设备及存储介质
CN110807145A (zh) 查询引擎获取方法、设备和计算机可读存储介质
CN110198327B (zh) 一种数据传输方法及相关设备
CN106874343B (zh) 一种时序数据库的数据删除方法及系统
CN107315652B (zh) 一种数据备份方法及云hdfs系统
CN113901021A (zh) 用于多版本数据库的升级脚本生成方法、装置与电子设备
CN111125226B (zh) 一种配置数据采集方法及装置
CN113704284A (zh) 一种基于数据模型查询数据的方法及装置
CN112579556A (zh) 日切数据卸载方法、装置、设备及介质
CN110955712A (zh) 基于多数据源的开发api处理方法及装置
CN115905371A (zh) 数据趋势分析方法、装置、设备及计算机可读存储介质
CN107908697B (zh) 主机批处理作业结果的自动采集方法及装置
CN111027093A (zh) 一种访问权限控制方法、装置、电子设备和存储介质
CN104317820A (zh) 报表的统计方法和装置
CN106372121B (zh) 服务器及数据处理方法
CN115114325A (zh) 数据查询方法、装置、电子设备以及存储介质
CN104462106A (zh) 数据更新方法及系统
CN111061554B (zh) 一种智能任务调度方法、装置、计算机设备及存储介质
CN116745757A (zh) 替换表
CN113641678A (zh) 一种基于多维表单的动态服务配置方法和系统
CN110019448B (zh) 一种数据交互方法及装置
CN112765200A (zh) 一种基于Elasticsearch的数据查询方法及装置
CN110928947A (zh) 基于kettle的数据同步方法、装置及相关设备

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