CN110569315A - 基于数据仓库的数据处理方法和装置 - Google Patents
基于数据仓库的数据处理方法和装置 Download PDFInfo
- Publication number
- CN110569315A CN110569315A CN201910689636.4A CN201910689636A CN110569315A CN 110569315 A CN110569315 A CN 110569315A CN 201910689636 A CN201910689636 A CN 201910689636A CN 110569315 A CN110569315 A CN 110569315A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- entity
- processing
- virtual
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于数据仓库的数据处理方法和装置,该方法应用于服务器,服务器包括有数据仓库,数据仓库包括应用层、中间层和基础层,中间层包括整合层和汇总层;该方法包括:接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据;在基础层中确定与待查询数据对应的第一实体,第一实体为用于存储原始数据的数据表;将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,处理数据为临时数据;将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。本发明能够节省数据仓库的存储资源。
Description
技术领域
本发明涉及数据存储技术,尤其涉及一种基于数据仓库的数据处理方法和装置。
背景技术
数据仓库(Data Warehouse,DWH)是保存企业生产或研发过程中产生的数据的集合。数据仓库通常用于记录企业从过去某一时点到当前的各个阶段的信息数据,管理者通过这些数据,可以对企业的发展历程和未来趋势做出定量分析和预测。
数据仓库通常包括基础层(ods)、整合层(dwd)、汇总层(dws)和应用层(dwa),其中,基础层通常用于保存较长期的历史数据,整合层用于按照主题进行设计,例如整合订单的基础数据,形成宽表,汇总层用于针对整合层的数据进行汇总加工,以降低数据量,应用层用于根据具体应用进行数据加工。现有技术中,为了提高数据的查询速度,数据仓库的基础层、整合层、汇总层和应用层均会根据各自对应的计算规则对数据进行处理,并将处理后的数据进行保存,这样,在查找数据时,直接在各层对应的实体中查询数据即可。
然而,由于现有技术中在基础层、整合层、汇总层和应用层中均会对数据进行保存,这种方式会占用大量的冗余存储,从而造成数据仓库存储资源的浪费。
发明内容
为解决现有技术中存在的问题,本发明提供一种基于数据仓库的数据处理方法和装置,能够节省数据仓库的存储资源。
第一方面,本发明实施例提供一种基于数据仓库的数据处理方法,应用于服务器,所述服务器包括有数据仓库,所述数据仓库包括应用层、中间层和基础层,所述中间层包括整合层和汇总层;所述方法包括:
接收所述应用层发送的数据查询请求,所述数据查询请求用于指示查询待查询数据;
在所述基础层中确定与所述待查询数据对应的第一实体,所述第一实体为用于存储原始数据的数据表;
将所述第一实体中的原始数据发送给所述中间层,并通过所述中间层对所述原始数据进行处理,生成处理数据,所述处理数据为临时数据;
将所述处理数据发送给所述应用层,并通过所述应用层对所述处理数据进行处理,得到所述待查询数据。
在一种可能的实现方式中,所述方法还包括:
根据所述第一实体,在所述中间层中确定与所述待查询数据对应的虚拟实体,所述虚拟实体为用于存储所述处理数据的数据表;
将所述处理数据存储至所述中间层的所述虚拟实体;
在通过所述应用层对所述第二数据进行处理,得到所述待查询数据之后,删除所述虚拟实体中存储的所述处理数据。
在一种可能的实现方式中,所述根据所述第一实体,在所述中间层中确定与所述待查询数据对应的虚拟实体,包括:
根据所述第一实体,在所述整合层中确定与所述待查询数据对应的第一虚拟实体;
根据所述整合层中的第一虚拟实体,在所述汇总层中确定与所述待查询数据对应的第二虚拟实体。
在一种可能的实现方式中,所述将所述第一实体中的原始数据发送给所述中间层,并通过所述中间层对所述原始数据进行处理,生成处理数据,包括:
将所述第一实体中的原始数据发送给所述整合层,并通过所述整合层对所述原始数据进行处理,生成第一处理数据;
将所述第一处理数据发送给所述汇总层,并通过所述汇总层对所述第一处理数据进行处理,生成第二处理数据;
所述将所述处理数据发送给所述应用层,并通过所述应用层对所述处理数据进行处理,得到所述待查询数据,包括:
通过所述汇总层将所述第二处理数据发送给所述应用层,并通过所述应用层对所述第二处理数据进行处理,得到所述待查询数据。
在一种可能的实现方式中,所述将所述处理数据存储至所述中间层的所述虚拟实体,包括:
分别将所述第一处理数据存储至所述整合层的第一虚拟实体,并将所述第二处理数据存储至所述汇总层的第二虚拟实体。
在一种可能的实现方式中,所述删除所述虚拟实体中存储的所述处理数据,包括:
分别删除所述整合层的第一虚拟实体中的第一处理数据和所述汇总层的第二虚拟实体中的第二处理数据。
在一种可能的实现方式中,删除所述整合层的第一虚拟实体中的第一处理数据,包括:
在通过所述汇总层将所述第二处理数据发送给所述应用层后,通过所述汇总层向所述整合层发送第一释放指令;
根据所述第一释放指令,删除所述整合层的第一虚拟实体中的第一处理数据。
在一种可能的实现方式中,删除所述汇总层的第二虚拟实体中的第二处理数据,包括:
在所述应用层对所述第二处理数据进行处理,得到所述待查询数据之后,通过所述应用层向所述汇总层发送第二释放指令;
根据所述第二释放指令,删除所述汇总层的第二虚拟实体中的第二处理数据。
在一种可能的实现方式中,所述在所述基础层中确定与所述待查询数据对应的第一实体,包括:
根据所述待查询数据,生成计算关系图,所述计算关系图中包括基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,其中,所述计算规则用于表示对数据的处理操作以及处理操作的执行顺序、数据来源及输出数据;
根据所述计算关系图,在所述基础层中确定与所述待查询数据对应的第一实体。
在一种可能的实现方式中,所述根据所述待查询数据,生成计算关系图,包括:
根据所述待查询数据,分别确定基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则;
根据所述基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,生成计算关系图。
在一种可能的实现方式中,所述根据所述待查询数据,分别确定基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,包括:
根据所述待查询数据,确定所述应用层的计算规则;
根据所述应用层的计算规则,确定所述中间层中包括的所有虚拟实体;
根据所述中间层中包括的所有虚拟实体,确定中间层中每个所述虚拟实体各自对应的所述中间层的计算规则;
根据每个所述虚拟实体各自对应的所述中间层的计算规则,确定所述基础层中包括的所有第一实体。
在一种可能的实现方式中,所述根据所述应用层的计算规则,确定所述中间层中包括的所有虚拟实体,包括:
根据所述应用层的计算规则,确定所述汇总层中所包括的所有第二虚拟实体;
根据所述汇总层中所包括的所有第二虚拟实体,确定所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则;
根据所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则,确定所述整合层中所包括的所有第一虚拟实体。
在一种可能的实现方式中,所述根据每个所述虚拟实体各自对应的所述中间层的计算规则,确定所述基础层中包括的所有第一实体,包括:
根据所述整合层中所包括的所有第一虚拟实体,确定所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则;
根据所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则,确定所述基础层中包括的所有第一实体。
在一种可能的实现方式中,所述数据查询请求中还包括标识信息,所述标识信息用于标识所述数据查询请求。
第二方面,本发明实施例提供一种基于数据仓库的数据处理装置,所述装置包括有数据仓库,所述数据仓库包括应用层、中间层和基础层,所述中间层包括整合层和汇总层;所述装置包括:
接收模块,用于接收所述应用层发送的数据查询请求,所述数据查询请求用于指示查询待查询数据;
处理模块,用于在所述基础层中确定与所述待查询数据对应的第一实体,所述第一实体为用于存储原始数据的数据表;
发送模块,用于将所述第一实体中的原始数据发送给所述中间层;
所述处理模块,还用于通过所述中间层对所述原始数据进行处理,生成处理数据,所述处理数据为临时数据;
所述发送模块,还用于将所述处理数据发送给所述应用层;
所述处理模块,还用于通过所述应用层对所述处理数据进行处理,得到所述待查询数据。
在一种可能的实现方式中,所述装置还包括:存储模块,
所述处理模块,还用于根据所述第一实体,在所述中间层中确定与所述待查询数据对应的虚拟实体,所述虚拟实体为用于存储所述处理数据的数据表;
所述存储模块,用于将所述处理数据存储至所述中间层的所述虚拟实体;
所述处理模块,还用于在通过所述应用层对所述第二数据进行处理,得到所述待查询数据之后,删除所述虚拟实体中存储的所述处理数据。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述第一实体,在所述整合层中确定与所述待查询数据对应的第一虚拟实体;
根据所述整合层中的第一虚拟实体,在所述汇总层中确定与所述待查询数据对应的第二虚拟实体。
在一种可能的实现方式中,所述发送模块,还用于将所述第一实体中的原始数据发送给所述整合层;
所述处理模块,还用于通过所述整合层对所述原始数据进行处理,生成第一处理数据;
所述发送模块,还用于将所述第一处理数据发送给所述汇总层;
所述处理模块,还用于通过所述汇总层对所述第一处理数据进行处理,生成第二处理数据;
所述发送模块,还用于通过所述汇总层将所述第二处理数据发送给所述应用层;
所述处理模块,还用于通过所述应用层对所述第二处理数据进行处理,得到所述待查询数据。
在一种可能的实现方式中,所述存储模块,具体用于:
分别将所述第一处理数据存储至所述整合层的第一虚拟实体,并将所述第二处理数据存储至所述汇总层的第二虚拟实体。
在一种可能的实现方式中,所述处理模块,具体用于:
分别删除所述整合层的第一虚拟实体中的第一处理数据和所述汇总层的第二虚拟实体中的第二处理数据。
在一种可能的实现方式中,所述处理模块,具体用于:
在通过所述汇总层将所述第二处理数据发送给所述应用层后,通过所述汇总层向所述整合层发送第一释放指令;
根据所述第一释放指令,删除所述整合层的第一虚拟实体中的第一处理数据。
在一种可能的实现方式中,所述处理模块,具体用于:
在所述应用层对所述第二处理数据进行处理,得到所述待查询数据之后,通过所述应用层向所述汇总层发送第二释放指令;
根据所述第二释放指令,删除所述汇总层的第二虚拟实体中的第二处理数据。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述待查询数据,生成计算关系图,所述计算关系图中包括基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,其中,所述计算规则用于表示对数据的处理操作以及处理操作的执行顺序、数据来源及输出数据;
根据所述计算关系图,在所述基础层中确定与所述待查询数据对应的第一实体。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述待查询数据,分别确定基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则;
根据所述基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,生成计算关系图。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述待查询数据,确定所述应用层的计算规则;
根据所述应用层的计算规则,确定所述中间层中包括的所有虚拟实体;
根据所述中间层中包括的所有虚拟实体,确定中间层中每个所述虚拟实体各自对应的所述中间层的计算规则;
根据每个所述虚拟实体各自对应的所述中间层的计算规则,确定所述基础层中包括的所有第一实体。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述应用层的计算规则,确定所述汇总层中所包括的所有第二虚拟实体;
根据所述汇总层中所包括的所有第二虚拟实体,确定所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则;
根据所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则,确定所述整合层中所包括的所有第一虚拟实体。
在一种可能的实现方式中,所述处理模块,具体用于:
根据所述整合层中所包括的所有第一虚拟实体,确定所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则;
根据所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则,确定所述基础层中包括的所有第一实体。
在一种可能的实现方式中,所述数据查询请求中还包括标识信息,所述标识信息用于标识所述数据查询请求。
第三方面,本发明实施例提供一种服务器,包括:
处理器;
存储器;以及
计算机程序;
其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如第一方面所述的方法的指令。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行如第一方面所述的方法。
本发明提供的基于数据仓库的数据处理方法和装置,该方法应用于服务器,服务器包括有数据仓库,数据仓库包括应用层、中间层和基础层,该中间层包括整合层和汇总层;服务器接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据,并在基础层中确定与上述待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表,然后将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,其中,该处理数据为临时数据,最后将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。由于在整合层和汇总层中预先并没有存储数据,而是在查找的过程中,通过获取的原始数据在整合层和汇总层中对原始数据进行处理,生成临时数据,并根据临时数据得到待查询数据,因为整合层和汇总层中的数据为临时数据,由此可以节省数据仓库的存储资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于数据仓库的数据处理方法实施例一的流程示意图;
图2为本发明实施例提供的基于数据仓库的数据处理方法实施例二的流程示意图;
图3为计算关系图的示意图;
图4为本发明基于数据仓库的数据处理装置实施例一的结构示意图;
图5为本发明基于数据仓库的数据处理装置实施例二的结构示意图;
图6A示出了本发明服务器的一种可能的结构示意图;
图6B示出了本发明服务器的另一种可能的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的基于数据仓库的数据处理方法,可以应用于在数据仓库中对数据进行处理的场景中,尤其应用于在数据仓库中查找数据的场景中。数据仓库通常包括基础层、整合层、汇总层和应用层,其中,基础层通常用于保存较长期的历史数据,整合层用于按照主题进行设计,例如整合订单的基础数据,形成宽表,汇总层用于针对整合层的数据进行汇总加工,以降低数据量,应用层用于根据具体应用进行数据加工。现有技术中,为了提高数据的查询速度,数据仓库的基础层、整合层、汇总层和应用层均会根据各自对应的计算规则对数据进行处理,并将处理后的数据进行保存,这样,在查找数据时,直接在各层对应的实体中查询数据即可。然而,由于现有技术中在基础层、整合层、汇总层和应用层中均会对数据进行保存,这种方式会占用大量的冗余存储,从而造成数据仓库存储资源的浪费。
本发明实施例中考虑到这一问题,提出一种基于数据仓库的数据处理方法,该方法应用于服务器,服务器包括有数据仓库,数据仓库包括应用层、中间层和基础层,该中间层包括整合层和汇总层;服务器接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据,并在基础层中确定与上述待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表,然后将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,其中,该处理数据为临时数据,最后将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。由于在整合层和汇总层中预先并没有存储数据,而是在查找的过程中,通过获取的原始数据在整合层和汇总层中对原始数据进行处理,生成临时数据,并根据临时数据得到待查询数据,因为整合层和汇总层中的数据为临时数据,由此可以节省数据仓库的存储资源。
其中,数据加工泛指数据处理的过程,比如数据仓库中数据从一个层级处理到另外一个层级的数据处理过程。
下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的基于数据仓库的数据处理方法实施例一的流程示意图,本发明实施例提供了一种基于数据仓库的数据处理方法,该方法可以由任意执行基于数据仓库的数据处理方法的装置来执行,该装置可以通过软件和/或硬件实现。本实施例中,该装置可以集成在服务器中,其中,该服务器中包括有数据仓库,数据仓库包括应用层、整合层、汇总层和基础层。如图1所示,本发明实施例提供的基于数据仓库的数据处理方法包括如下步骤:
步骤101:接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据。
在本步骤中,由于所有的数据均存储在数据仓库的基础层中,若需要在数据仓库中查询数据时,应用层将会发送数据查询请求,该数据查询请求用于指示服务器从数据仓库的基础层中查找待查询数据。
步骤102:在基础层中确定与待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表。
在本步骤中,基础层中包括至少一个实体,这些实体可以理解为数据库中的数据表,每个实体中均存储有数据。其中,第一实体为基础层中用于存储与待查询数据对应的原始数据的数据表。
服务器在接收到数据仓库的应用层发送的数据查询请求之后,可以根据该数据查询请求所要查询的待查询数据,从基础层中确定用于存储与待查询数据对应的原始数据的第一实体。
步骤103:将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,该处理数据为临时数据。
其中,中间层包括整合层和汇总层,在基础层中确定出第一实体之后,服务器将第一实体中存储的原始数据发送给中间层,并由中间层对原始数据进行处理,从而生成处理数据。具体地,可以将原始数据发送给整合层,整合层根据自己的计算规则,对原始数据进行处理后,再将处理后的数据发送给汇总层,从而由汇总层根据自己的计算规则,对接收到的数据进行处理,得到处理数据。其中,计算规则用于表示对数据的处理操作以及处理操作的执行顺序、数据来源及输出数据。另外,由整合层和汇总层处理后生成的处理数据为临时数据,也即该临时数据只是在数据处理过程中进行存储,在数据处理完成之后将会删除。这样,将会节省数据仓库的整合层和汇总层的存储资源。
步骤104:将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。
在本步骤中,在通过中间层对原始数据进行处理,生成处理数据之后,服务器会将处理数据发送给应用层,其中,应用层主要用于根据具体应用进行数据加工。应用层在接收到处理数据之后,根据自己的计算规则对处理数据进行处理,从而可以得到应用层需要查询的待查询数据。
本发明实施例提供的基于数据仓库的数据处理方法,该方法应用于服务器,服务器包括有数据仓库,数据仓库包括应用层、中间层和基础层,该中间层包括整合层和汇总层;服务器接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据,并在基础层中确定与上述待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表,然后将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,其中,该处理数据为临时数据,最后将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。由于在整合层和汇总层中预先并没有存储数据,而是在查找的过程中,通过获取的原始数据在整合层和汇总层中对原始数据进行处理,生成临时数据,并根据临时数据得到待查询数据,因为整合层和汇总层中的数据为临时数据,由此可以节省数据仓库的存储资源。
图2为本发明实施例提供的基于数据仓库的数据处理方法实施例二的流程示意图,本发明实施例在图1所示实施例的基础上,对整合层和汇总层中生成的处理数据进行删除的过程,进行详细说明。如图2所示,本发明实施例提供的基于数据仓库的数据处理方法包括如下步骤:
步骤201:接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据。
步骤201与步骤101类似,此处不再赘述。
步骤202:在基础层中确定与待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表。
在一种可能的实现方式中,可以根据待查询数据,生成计算关系图,并根据计算关系图,在基础层中确定与待查询数据对应的第一实体。其中,计算关系图中包括基础层的实体、应用层的实体和计算规则,以及中间层的虚拟实体和计算规则,该计算规则用于表示对数据的处理操作以及处理操作的执行顺序、数据来源及输出数据。
具体地,在接收到数据查询请求之后,根据应用层需要查询的待查询数据,分别确定出基础层所包括的所有实体、中间层所包括的所有虚拟实体和计算规则,以及应用层所包括的所有实体,从而根据确定出的基础层所包括的所有实体、中间层所包括的所有虚拟实体和计算规则,以及应用层所包括的所有实体,生成计算关系图。
在具体的实现过程中,服务器中预先存储有各种请求和应用层的计算规则之间的对应关系,例如:请求A对应的计算规则为Daw1,请求B对应的计算规则为Daw2等。服务器在接收到数据查询请求之后,根据预先设置的请求和应用层的计算规则之间的对应关系,确定出数据查询请求所对应的应用层的计算规则,例如可以确定出应用层的计算规则为Daw1。应用层的计算规则中包括有对数据进行处理的处理操作方式以及数据来源,其中,数据来源即为中间层中所包括的第三虚拟实体,因此,在确定出应用层的计算规则之后,即可根据该应用层的计算规则,确定出中间层中包括的所有虚拟实体。
进一步地,在数据仓库的汇总层中会预先存储有汇总层的各虚拟实体和计算规则之间的对应关系,在整合层中会预先存储有整合层的各虚拟实体和计算规则之间的对应关系,也即对于每个虚拟实体,均会存储该虚拟实体所对应的计算规则。这样,在确定出中间层中所包括的所有虚拟实体之后,将根据预先存储的虚拟实体和计算规则之间的对应关系,确定出中间层中每个虚拟实体各自对应的中间层的计算规则。另外,中间层的计算规则中包括有对数据进行处理的处理操作方式以及数据来源,其中,数据来源即为基础层中所包括的第一实体,因此,在确定出中间层的计算规则之后,即可根据该中间层的计算规则,确定出基础层中包括的所有第一实体。
可选地,在上述过程中,在根据应用层的计算规则,确定中间层中包括的所有虚拟实体时,可以是根据应用层的计算规则,确定汇总层中所包括的所有第二虚拟实体,再根据汇总层中所包括的所有第二虚拟实体,确定汇总层中每个第二虚拟实体各自对应的汇总层的计算规则,然后根据汇总层中每个第二虚拟实体各自对应的汇总层的计算规则,确定整合层中所包括的所有第一虚拟实体。
具体地,中间层包括有整合层和汇总层,应用层的计算规则中包括的数据来源具体为汇总层中所包括的第二虚拟实体,因此,在确定出应用层的计算规则之后,可以根据计算规则,确定汇总层中所包括的所有第二虚拟实体。另外,在确定出汇总层中所包括的所有第二虚拟实体之后,将根据预先存储的虚拟实体和计算规则之间的对应关系,确定出汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则。由于汇总层的计算规则中包括有对数据进行处理的处理操作方式以及数据来源,其中,数据来源即为整合层中所包括的第一虚拟实体,因此,服务器可以根据汇总层中每个第二虚拟实体各自对应的汇总层的计算规则,确定出整合层中所包括的所有第一虚拟实体。
进一步地,在确定基础层中包括的所有第一实体时,可以根据整合层中所包括的所有第一虚拟实体,确定整合层中每个第一虚拟实体各自对应的整合层的计算规则,然后根据整合层中每个第一虚拟实体各自对应的整合层的计算规则,确定基础层中包括的所有第一实体。
其中,在确定出整合层中所包括的所有第一虚拟实体之后,将根据预先存储的虚拟实体和计算规则之间的对应关系,确定出整合层中每个第一虚拟实体各自对应的所述整合层的计算规则。由于整合层的计算规则中包括有对数据进行处理的处理操作方式以及数据来源,其中,数据来源即为基础层中所包括的第一实体,因此,服务器可以根据整合层中每个第一虚拟实体各自对应的整合层的计算规则,确定出基础层中所包括的所有第一实体。
在生成计算关系图之后,根据该计算关系图可以在基础层中确定与待查询数据对应的第一实体。
值得注意的是,上述的虚拟实体可以理解为不实际保存数据,而是只保留数据结构的实体。其中,虚拟实体与数据仓库里的实体结构完全一样,可以理解为一个数据库的数据表,使用常规的创建表的命令即可,不同的是虚拟实体不会保留具体的数据,只要加工完成了,数据会清除掉。虚拟实体结构的创建方式,例如使用Hive作为数据仓库:可以用自带的命令,创建一个酒店下单实体,具体如下:
CREATE EXTERNAL TABLE tmpdb.hotel_device_predic_order(
`dt`string comment'日期',
`device_id`string comment'设备ID',
`hotel_id`bigint comment'酒店id',
`if_order`bigint comment'是否下单'
)
COMMENT'酒店下单实体'
其中,结构在创建命令中体现,如果实体创建完毕,也可以使用命令查看具体的数据结构。比如使用hive的desc命令。
另外,计算规则为加工实体需要的具体脚本,可以是SQL脚本,也可以是其他任何形式的数据加工脚本。在计算规则进行初始化时,可以结合数据仓库的标准建模方法进行模型设计,设计完成之后可以定义为正常的虚拟实体(简单的理解,只要是dws层与dwd层都是虚拟实体)。同时将设计完成之后的数据加工脚本保留为具体的计算规则。可以理解的是,计算规则里可以明确记录计算规则a1的数据来源是s1和s2,这是一种初始化的关系,当多个计算规则组织在一起,就形成了计算关系图。
举例来说,图3为计算关系图的示意图,如图3所示,若确定出应用层的实体包括Dwa1,应用层的计算规则包括用户全链路应用规则dwa1规则,其中,用户全链路应用规则dwa1规则中包括具体的数据处理逻辑和数据来源:用户订单商品汇总虚拟实体dws_user_ord_sku(Dws1)和用户配送汇总虚拟实体dws_user_ship(Dws2)。
因此,进而可以确定出汇总层所包括的虚拟实体有用户订单商品汇总虚拟实体dws_user_ord_sku(Dws1)和用户配送汇总虚拟实体dws_user_ship(Dws2),以及Dws1对应的用户订单商品汇总规则dws1计算规则和Dws2对应的用户配送汇总规则dws2计算规则,其中,dws1计算规则中包括具体的数据处理逻辑和数据来源:订单整合虚拟实体dwd_ord(Dwd1)、商品整合虚拟实体dwd_sku(Dwd2)和用户整合虚拟实体dwd_user(Dwd3),dws2计算规则中包括具体的数据处理逻辑和数据来源:用户整合虚拟实体dwd_user(Dwd3)和配送整合虚拟实体dwd_ship(Dwd4)。
因此,进而可以确定出整合层所包括的虚拟实体有订单整合虚拟实体dwd_ord(Dwd1)、商品整合虚拟实体dwd_sku(Dwd2)、用户整合虚拟实体dwd_user(Dwd3)和配送整合虚拟实体dwd_ship(Dwd4),以及Dwd1对应的订单整合实体规则dwd1计算规则、Dwd2对应的商品整合实体规则dwd2计算规则、Dwd3对应的用户整合实体规则dwd3计算规则和Dwd4对应的配送整合实体规则dwd4计算规则,其中,dwd1计算规则中包括具体的数据处理逻辑和数据来源:Ods1和Ods2,dwd2计算规则中包括具体的数据处理逻辑和数据来源:Ods3和Ods4,dwd3计算规则中包括具体的数据处理逻辑和数据来源:Ods5,dwd4计算规则中包括具体的数据处理逻辑和数据来源:Ods6。因此,进而可以确定出基础层所包括的实体有Ods1、Ods2、Ods3、Ods4、Ods5和Ods6。
在实际应用中,上述确定出的应用层和基础层的实体和计算规则,以及汇总层和整合层的虚拟实体和计算规则,均会存储到相应的规则器中,其中,规则器的结构如表1所示:
表1
根据上述规则器中保存的基础层的实体、应用层的实体和计算规则,以及中间层的虚拟实体和计算规则,从而可以生成如图3所示的计算关系图。
在生成计算关系图之后,可以确定出在汇总层该待查询数据对应的虚拟实体为Dws1和Dws2,计算规则为dws1规则和dws2规则,由此可以确定出在整合层对应的虚拟实体为Dwd1、Dwd2、Dwd3和Dwd4,计算规则为dwd1规则、dwd2规则、dwd3规则和dwd4规则,从而可以确定出待查询数据在基础层的第一实体为Ods1、Ods2、Ods3、Ods4、Ods5和Ods6。
步骤203:根据第一实体,在中间层中确定与待查询数据对应的虚拟实体,该虚拟实体为用于存储处理数据的数据表。
在本步骤中,在确定出第一实体后,根据计算关系图,可以在中间层中确定出与待查询数据对应的虚拟实体。在一种可能的实现方式中,根据第一实体,在整合层中确定与待查询数据对应的第一虚拟实体,根据整合层中的第一虚拟实体,在汇总层中确定与待查询数据对应的第二虚拟实体。
具体地,在生成计算关系图之后,可以根据前述的确定方式,根据计算关系图,分别确定出整合层中与待查询数据对应的第一虚拟实体,以及汇总层中与待查询数据对应的第二虚拟实体。继图3所示的例子,可以确定出第一虚拟实体为Dwd1、Dwd2、Dwd3和Dwd4,第二虚拟实体为Dws1和Dws2。
其中,确定出的第一虚拟实体用于存储整合层对数据进行处理后得到的处理数据,第二虚拟实体用于存储汇总层对数据进行处理后得到的处理数据。
步骤204:将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,该处理数据为临时数据。
在一种可能的实现方式中,将第一实体中的原始数据发送给整合层,并通过整合层对原始数据进行处理,生成第一处理数据,将第一处理数据发送给汇总层,并通过汇总层对第一处理数据进行处理,生成第二处理数据。
具体地,在确定出第一实体之后,可以将第一实体中存储的原始数据发送给整合层,整合层将对接收到的原始数据按照整合层的计算规则进行处理,从而可以得到第一处理数据。然后整合层将生成的第一处理数据再发送汇总层,汇总层将对接收到的第一处理数据按照汇总层的计算规则进行处理,以生成第二处理数据。
步骤205:将处理数据存储至中间层的虚拟实体。
可选地,在确定出整合层的第一虚拟实体和汇总层的第二虚拟实体,以及得到第一处理数据和第二处理数据之后,在存储处理数据时,可以将第一处理数据存储至整合层的第一虚拟实体,并将第二处理数据存储至汇总层的第二虚拟实体。
例如,可以将处理后得到的第一处理数据存储至Dwd1、Dwd2、Dwd3和Dwd4,将处理后得到的第二处理数据存储至Dws1和Dws2。
步骤206:将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。
在本步骤中,中间层在对数据进行处理,得到处理数据之后,可以将处理数据发送给应用层,并通过应用层对处理数据进行处理,从而得到待查询数据。
在一种可能的实现方式中,可以通过汇总层将第二处理数据发送给应用层,并通过应用层对第二处理数据进行处理,得到待查询数据。
具体地,汇总层在得到第二处理数据,并将第二处理数据存储至第二虚拟实体之后,可以通过汇总层将第二处理数据发送给应用层,应用层按照自己的计算规则,对接收到的第二处理数据进行处理,从而可以得到待查询数据。
步骤207:删除虚拟实体中存储的处理数据。
在本步骤中,在应用层对处理数据进行处理,得到待查询数据之后,可以将中间层的虚拟实体中存储的处理数据进行删除。
在一种可能的实现过程中,可以分别删除整合层的第一虚拟实体中的第一处理数据和汇总层的第二虚拟实体中的第二处理数据。
具体地,由于整合层在将原始数据进行处理,得到第一处理数据之后,会将第一处理数据发送给汇总层,在汇总层对第一处理数据进行处理,并将得到的第二处理数据发送给应用层之后,服务器将通过汇总层向整合层发送第一释放指令,这样,整合层会根据接收到的第一释放指令,删除整合层的第一虚拟实体中的第一处理数据。
另外,在应用层对第二处理数据进行处理,得到待查询数据之后,服务器将通过应用层向汇总层发送第二释放指令,这样,汇总层将根据第二释放指令,删除汇总层的第二虚拟实体中的第二处理数据。
例如,如图3所示的计算关系图中:dwd3用于加工dws1与dws2,dws1与dws2是dwd3的虚拟实体,一旦dws1、dws2全部完成加工,dwd3接收到释放指令,即可以进行数据释放,则执行删除。任何一次计算请求结束之后,虚拟实体的数据被全部删除了,只保留了数据结构,可以极大的降低数据存储。
由于在通过汇总层将第二处理数据发送给应用层后,可以将整合层的第一虚拟实体中存储的第一处理数据删除,在应用层对第二处理数据进行处理,得到待查询数据之后,可以将汇总层的第二虚拟实体中存储的第二处理数据删除,这样,可以极大的节省整合层和汇总层的存储空间,从而节约存储资源,以降低存储资源的消耗。在数据仓库建设中,涉及到整合层和汇总层的数据存储非常庞大,如果这两层数据被删除了,可以极大减少整体数据仓库建设的成本,且降低由于存储占满导致的各类数据故障。同时,通过规则器保留了具体的数据定义与数据规则,虽然数据被删除了,也可以了解到具体的数据计算逻辑。
需要进行说明的是,每个层次之间的数据处理过程是串行执行的,例如必须按照整合层、汇总层和应用层的顺序执行。但是,对于同一层次内的数据处理,可以是并行执行,比如dws1规则与dws2规则是可以同时执行,dwd1、dwd2、dwd3、dwd4规则也是可以同时执行的,由此可以提高数据处理的效率。
进一步地,在上述各实施例的基础上,由于应用层可能同时发出多个数据查询请求,在调用虚拟实体可能存在同时调用同一个虚拟实体的情况,可以多线程进行执行通过虚拟实体结构生成不同的虚拟实体,为了区分各数据查询请求,应用层发出的数据查询请求中还包括标识信息,该标识信息用于标识数据查询请求,例如,可以根据应用层名称(APPname)等标识,结合时间戳、进行区分。例如用户画像APP,编号为app_user,调用时间:201904161212,中间生成的虚拟实体可以增加相应的编号进行区分,例如:app_user_20194161212,从而可以区分不同的数据查询请求。
本发明实施例提供一种基于数据仓库的数据处理方法,该方法应用于服务器,服务器包括有数据仓库,数据仓库包括应用层、中间层和基础层,该中间层包括整合层和汇总层;服务器接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据,并在基础层中确定与上述待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表,然后将第一实体中的原始数据发送给中间层,并通过中间层对原始数据进行处理,生成处理数据,其中,该处理数据为临时数据,最后将处理数据发送给应用层,并通过应用层对处理数据进行处理,得到待查询数据。由于在整合层和汇总层中预先并没有存储数据,而是在查找的过程中,通过获取的原始数据在整合层和汇总层中对原始数据进行处理,生成临时数据,并根据临时数据得到待查询数据,因为整合层和汇总层中的数据为临时数据,由此可以节省数据仓库的存储资源。
图4为本发明基于数据仓库的数据处理装置实施例一的结构示意图,该装置可以位于服务器,参见图4,该装置包括有数据仓库,所述数据仓库包括应用层、中间层和基础层,所述中间层包括整合层和汇总层;所述装置包括:接收模块11、处理模块12和发送模块13,其中:
接收模块11用于接收所述应用层发送的数据查询请求,所述数据查询请求用于指示查询待查询数据;
处理模块12用于在所述基础层中确定与所述待查询数据对应的第一实体,所述第一实体为用于存储原始数据的数据表;
发送模块13用于将所述第一实体中的原始数据发送给所述中间层;
所述处理模块12还用于通过所述中间层对所述原始数据进行处理,生成处理数据,所述处理数据为临时数据;
所述发送模块13还用于将所述处理数据发送给所述应用层;
所述处理模块12还用于通过所述应用层对所述处理数据进行处理,得到所述待查询数据。
本发明实施例提供的基于数据仓库的数据处理装置,该装置包括有数据仓库,数据仓库包括应用层、中间层和基础层,该中间层包括整合层和汇总层;接收模块11接收应用层发送的数据查询请求,该数据查询请求用于指示查询待查询数据,处理模块12并在基础层中确定与上述待查询数据对应的第一实体,该第一实体为用于存储原始数据的数据表,然后发送模块13将第一实体中的原始数据发送给中间层,处理模块12通过中间层对原始数据进行处理,生成处理数据,其中,该处理数据为临时数据,最后发送模块13将处理数据发送给应用层,处理模块12通过应用层对处理数据进行处理,得到待查询数据。由于在整合层和汇总层中预先并没有存储数据,而是在查找的过程中,通过获取的原始数据在整合层和汇总层中对原始数据进行处理,生成临时数据,并根据临时数据得到待查询数据,因为整合层和汇总层中的数据为临时数据,由此可以节省数据仓库的存储资源。
图5为本发明基于数据仓库的数据处理装置实施例二的结构示意图,在图4所示实施例的基础上,该装置还包括存储模块14,其中:
所述处理模块12还用于根据所述第一实体,在所述中间层中确定与所述待查询数据对应的虚拟实体,所述虚拟实体为用于存储所述处理数据的数据表;
所述存储模块14用于将所述处理数据存储至所述中间层的所述虚拟实体;
所述处理模块12还用于在通过所述应用层对所述处理数据进行处理,得到所述待查询数据之后,删除所述虚拟实体中存储的所述处理数据。
可选地,所述处理模块12,具体用于:
根据所述第一实体,在所述整合层中确定与所述待查询数据对应的第一虚拟实体;
根据所述整合层中的第一虚拟实体,在所述汇总层中确定与所述待查询数据对应的第二虚拟实体。
可选地,所述发送模块13,还用于将所述第一实体中的原始数据发送给所述整合层;
所述处理模块12,还用于通过所述整合层对所述原始数据进行处理,生成第一处理数据;
所述发送模块13,还用于将所述第一处理数据发送给所述汇总层;
所述处理模块12,还用于通过所述汇总层对所述第一处理数据进行处理,生成第二处理数据;
所述发送模块13,还用于通过所述汇总层将所述第二处理数据发送给所述应用层;
所述处理模块12,还用于通过所述应用层对所述第二处理数据进行处理,得到所述待查询数据。
可选地,所述存储模块14,具体用于:
分别将所述第一处理数据存储至所述整合层的第一虚拟实体,并将所述第二处理数据存储至所述汇总层的第二虚拟实体。
可选地,所述处理模块12,具体用于:
分别删除所述整合层的第一虚拟实体中的第一处理数据和所述汇总层的第二虚拟实体中的第二处理数据。
可选地,所述处理模块12,具体用于:
在通过所述汇总层将所述第二处理数据发送给所述应用层后,通过所述汇总层向所述整合层发送第一释放指令;
根据所述第一释放指令,删除所述整合层的第一虚拟实体中的第一处理数据。
可选地,所述处理模块12,具体用于:
在所述应用层对所述第二处理数据进行处理,得到所述待查询数据之后,通过所述应用层向所述汇总层发送第二释放指令;
根据所述第二释放指令,删除所述汇总层的第二虚拟实体中的第二处理数据。
可选地,所述处理模块12,具体用于:
根据所述待查询数据,生成计算关系图,所述计算关系图中包括基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,其中,所述计算规则用于表示对数据的处理操作以及处理操作的执行顺序、数据来源及输出数据;
根据所述计算关系图,在所述基础层中确定与所述待查询数据对应的第一实体。
可选地,所述处理模块12,具体用于:
根据所述待查询数据,分别确定基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则;
根据所述基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,生成计算关系图。
可选地,所述处理模块12,具体用于:
根据所述待查询数据,确定所述应用层的计算规则;
根据所述应用层的计算规则,确定所述中间层中包括的所有虚拟实体;
根据所述中间层中包括的所有虚拟实体,确定中间层中每个所述虚拟实体各自对应的所述中间层的计算规则;
根据每个所述虚拟实体各自对应的所述中间层的计算规则,确定所述基础层中包括的所有第一实体。
可选地,所述处理模块12,具体用于:
根据所述应用层的计算规则,确定所述汇总层中所包括的所有第二虚拟实体;
根据所述汇总层中所包括的所有第二虚拟实体,确定所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则;
根据所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则,确定所述整合层中所包括的所有第一虚拟实体。
可选地,所述处理模块12,具体用于:
根据所述整合层中所包括的所有第一虚拟实体,确定所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则;
根据所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则,确定所述基础层中包括的所有第一实体。
可选地,所述数据查询请求中还包括标识信息,所述标识信息用于标识所述数据查询请求。
上述装置可用于执行上述对应方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
图6A示出了本发明服务器的一种可能的结构示意图。服务器100包括:处理单元102和通信单元103。处理单元102用于对服务器100的动作进行控制管理,例如,处理单元102用于支持服务器100执行图1的步骤101-步骤104,和/或用于本发明所描述的技术的其它过程。通信单元103用于支持服务器100与其它网络实体的通信。服务器100还可以包括存储单元101,用于存储服务器100的计算机程序代码和数据。
其中,处理单元102可以是处理器或控制器,例如可以是CPU,通用处理器,数字信号处理器(DigitalSignalProcessor,DSP),专用集成电路(Application-SpecificIntegrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元103可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口。存储单元101可以是存储器。
当处理单元102为处理器,通信单元103为通信接口,存储单元101为存储器时,本发明所涉及的服务器可以为图6B所示的服务器。
参阅图6B所示,该服务器110包括:处理器112、通信接口113、存储器111。可选的,服务器110还可以包括总线114。其中,通信接口113、处理器112以及存储器111可以通过总线114相互连接;总线114可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。所述总线114可以分为地址总线、数据总线、控制总线等。为便于表示,图6B中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
另外,存储器111中存储有计算机程序,并且被配置为由处理器112执行,该计算机程序包括用于执行如上图1所示实施例所述的方法的指令。
本发明实施例还提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行前述图1所示实施例提供的基于数据仓库的数据处理方法。其中,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (17)
1.一种基于数据仓库的数据处理方法,其特征在于,应用于服务器,所述服务器包括有数据仓库,所述数据仓库包括应用层、中间层和基础层,所述中间层包括整合层和汇总层;所述方法包括:
接收所述应用层发送的数据查询请求,所述数据查询请求用于指示查询待查询数据;
在所述基础层中确定与所述待查询数据对应的第一实体,所述第一实体为用于存储原始数据的数据表;
将所述第一实体中的原始数据发送给所述中间层,并通过所述中间层对所述原始数据进行处理,生成处理数据,所述处理数据为临时数据;
将所述处理数据发送给所述应用层,并通过所述应用层对所述处理数据进行处理,得到所述待查询数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第一实体,在所述中间层中确定与所述待查询数据对应的虚拟实体,所述虚拟实体为用于存储所述处理数据的数据表;
将所述处理数据存储至所述中间层的所述虚拟实体;
在通过所述应用层对所述处理数据进行处理,得到所述待查询数据之后,删除所述虚拟实体中存储的所述处理数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一实体,在所述中间层中确定与所述待查询数据对应的虚拟实体,包括:
根据所述第一实体,在所述整合层中确定与所述待查询数据对应的第一虚拟实体;
根据所述整合层中的第一虚拟实体,在所述汇总层中确定与所述待查询数据对应的第二虚拟实体。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述第一实体中的原始数据发送给所述中间层,并通过所述中间层对所述原始数据进行处理,生成处理数据,包括:
将所述第一实体中的原始数据发送给所述整合层,并通过所述整合层对所述原始数据进行处理,生成第一处理数据;
将所述第一处理数据发送给所述汇总层,并通过所述汇总层对所述第一处理数据进行处理,生成第二处理数据;
所述将所述处理数据发送给所述应用层,并通过所述应用层对所述处理数据进行处理,得到所述待查询数据,包括:
通过所述汇总层将所述第二处理数据发送给所述应用层,并通过所述应用层对所述第二处理数据进行处理,得到所述待查询数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述处理数据存储至所述中间层的所述虚拟实体,包括:
分别将所述第一处理数据存储至所述整合层的第一虚拟实体,并将所述第二处理数据存储至所述汇总层的第二虚拟实体。
6.根据权利要求5所述的方法,其特征在于,所述删除所述虚拟实体中存储的所述处理数据,包括:
分别删除所述整合层的第一虚拟实体中的第一处理数据和所述汇总层的第二虚拟实体中的第二处理数据。
7.根据权利要求6所述的方法,其特征在于,删除所述整合层的第一虚拟实体中的第一处理数据,包括:
在通过所述汇总层将所述第二处理数据发送给所述应用层后,通过所述汇总层向所述整合层发送第一释放指令;
根据所述第一释放指令,删除所述整合层的第一虚拟实体中的第一处理数据。
8.根据权利要求6或7所述的方法,其特征在于,删除所述汇总层的第二虚拟实体中的第二处理数据,包括:
在所述应用层对所述第二处理数据进行处理,得到所述待查询数据之后,通过所述应用层向所述汇总层发送第二释放指令;
根据所述第二释放指令,删除所述汇总层的第二虚拟实体中的第二处理数据。
9.根据权利要求1-3、5-7任一项所述的方法,其特征在于,所述在所述基础层中确定与所述待查询数据对应的第一实体,包括:
根据所述待查询数据,生成计算关系图,所述计算关系图中包括基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,其中,所述计算规则用于表示对数据的处理操作以及处理操作的执行顺序、数据来源及输出数据;
根据所述计算关系图,在所述基础层中确定与所述待查询数据对应的第一实体。
10.根据权利要求9所述的方法,其特征在于,所述根据所述待查询数据,生成计算关系图,包括:
根据所述待查询数据,分别确定基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则;
根据所述基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,生成计算关系图。
11.根据权利要求10所述的方法,其特征在于,所述根据所述待查询数据,分别确定基础层的实体、所述应用层的实体和计算规则,以及所述中间层的虚拟实体和计算规则,包括:
根据所述待查询数据,确定所述应用层的计算规则;
根据所述应用层的计算规则,确定所述中间层中包括的所有虚拟实体;
根据所述中间层中包括的所有虚拟实体,确定中间层中每个所述虚拟实体各自对应的所述中间层的计算规则;
根据每个所述虚拟实体各自对应的所述中间层的计算规则,确定所述基础层中包括的所有第一实体。
12.根据权利要求11所述的方法,其特征在于,所述根据所述应用层的计算规则,确定所述中间层中包括的所有虚拟实体,包括:
根据所述应用层的计算规则,确定所述汇总层中所包括的所有第二虚拟实体;
根据所述汇总层中所包括的所有第二虚拟实体,确定所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则;
根据所述汇总层中每个第二虚拟实体各自对应的所述汇总层的计算规则,确定所述整合层中所包括的所有第一虚拟实体。
13.根据权利要求12所述的方法,其特征在于,所述根据每个所述虚拟实体各自对应的所述中间层的计算规则,确定所述基础层中包括的所有第一实体,包括:
根据所述整合层中所包括的所有第一虚拟实体,确定所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则;
根据所述整合层中每个所述第一虚拟实体各自对应的所述整合层的计算规则,确定所述基础层中包括的所有第一实体。
14.根据权利要求1-3、5-7任一项所述的方法,其特征在于,所述数据查询请求中还包括标识信息,所述标识信息用于标识所述数据查询请求。
15.一种基于数据仓库的数据处理装置,其特征在于,所述装置包括有数据仓库,所述数据仓库包括应用层、中间层和基础层,所述中间层包括整合层和汇总层;所述装置包括:
接收模块,用于接收所述应用层发送的数据查询请求,所述数据查询请求用于指示查询待查询数据;
处理模块,用于在所述基础层中确定与所述待查询数据对应的第一实体,所述第一实体为用于存储原始数据的数据表;
发送模块,用于将所述第一实体中的原始数据发送给所述中间层;
所述处理模块,还用于通过所述中间层对所述原始数据进行处理,生成处理数据,所述处理数据为临时数据;
所述发送模块,还用于将所述处理数据发送给所述应用层;
所述处理模块,还用于通过所述应用层对所述处理数据进行处理,得到所述待查询数据。
16.一种服务器,其特征在于,包括:
处理器;
存储器;以及
计算机程序;
其中,所述计算机程序被存储在所述存储器中,并且被配置为由所述处理器执行,所述计算机程序包括用于执行如权利要求1-14任一项所述的方法的指令。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得服务器执行权利要求1-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910689636.4A CN110569315B (zh) | 2019-07-29 | 2019-07-29 | 基于数据仓库的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910689636.4A CN110569315B (zh) | 2019-07-29 | 2019-07-29 | 基于数据仓库的数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569315A true CN110569315A (zh) | 2019-12-13 |
CN110569315B CN110569315B (zh) | 2020-11-10 |
Family
ID=68773758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910689636.4A Active CN110569315B (zh) | 2019-07-29 | 2019-07-29 | 基于数据仓库的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569315B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339152A (zh) * | 2020-02-03 | 2020-06-26 | 口碑(上海)信息技术有限公司 | 一种门店拓展记录数据处理装置 |
WO2023138213A1 (zh) * | 2022-01-19 | 2023-07-27 | 广州新科佳都科技有限公司 | 一种基于地铁车站系统的数仓数据查询方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010091191A2 (en) * | 2009-02-06 | 2010-08-12 | Vertica Systems, Inc. | Query optimizer with schema conversion |
CN102354277A (zh) * | 2011-09-20 | 2012-02-15 | 中国民生银行股份有限公司 | 数据存储方法和装置 |
CN108427711A (zh) * | 2018-01-31 | 2018-08-21 | 北京三快在线科技有限公司 | 实时数据仓库、实时数据处理方法、电子设备及存储介质 |
CN109597846A (zh) * | 2018-10-22 | 2019-04-09 | 平安科技(深圳)有限公司 | 大数据平台数据仓库数据处理方法、装置和计算机设备 |
-
2019
- 2019-07-29 CN CN201910689636.4A patent/CN110569315B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010091191A2 (en) * | 2009-02-06 | 2010-08-12 | Vertica Systems, Inc. | Query optimizer with schema conversion |
CN102354277A (zh) * | 2011-09-20 | 2012-02-15 | 中国民生银行股份有限公司 | 数据存储方法和装置 |
CN108427711A (zh) * | 2018-01-31 | 2018-08-21 | 北京三快在线科技有限公司 | 实时数据仓库、实时数据处理方法、电子设备及存储介质 |
CN109597846A (zh) * | 2018-10-22 | 2019-04-09 | 平安科技(深圳)有限公司 | 大数据平台数据仓库数据处理方法、装置和计算机设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339152A (zh) * | 2020-02-03 | 2020-06-26 | 口碑(上海)信息技术有限公司 | 一种门店拓展记录数据处理装置 |
WO2023138213A1 (zh) * | 2022-01-19 | 2023-07-27 | 广州新科佳都科技有限公司 | 一种基于地铁车站系统的数仓数据查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110569315B (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102226257B1 (ko) | 서비스 데이터를 블록체인 시스템에 기입하기 위한 방법 및 디바이스 | |
US9372880B2 (en) | Reclamation of empty pages in database tables | |
CN108694195B (zh) | 一种分布式数据仓库的管理方法及系统 | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
CN108256113B (zh) | 数据血缘关系的挖掘方法及装置 | |
US10929370B2 (en) | Index maintenance management of a relational database management system | |
CN107784030B (zh) | 一种处理连接查询的方法及装置 | |
US10303678B2 (en) | Application resiliency management using a database driver | |
CN110569315B (zh) | 基于数据仓库的数据处理方法和装置 | |
CN112035230B (zh) | 一种任务调度文件生成方法、装置及存储介质 | |
US11151088B2 (en) | Systems and methods for verifying performance of a modification request in a database system | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN112597151A (zh) | 数据处理方法、装置、设备和存储介质 | |
US20230109530A1 (en) | Synchronous object placement for information lifecycle management | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
CN112445905A (zh) | 一种信息处理方法和装置 | |
CN111159213A (zh) | 一种数据查询方法、装置、系统和存储介质 | |
US20230153300A1 (en) | Building cross table index in relational database | |
CN112100186B (zh) | 基于分布式系统的数据处理方法、装置、计算机设备 | |
KR101744017B1 (ko) | 실시간 검색을 위한 데이터 인덱싱 방법 및 장치 | |
US10942912B1 (en) | Chain logging using key-value data storage | |
CN114385188A (zh) | 一种代码工作量统计方法、装置和电子设备 | |
CN113625967A (zh) | 数据存储方法、数据查询方法及服务器 | |
CN114546731B (zh) | 一种工作流数据恢复方法及数据恢复系统 | |
CN115510204B (zh) | 一种智慧水务数据资源目录管理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |