数据仓库创建方法、电子设备及存储介质与流程

文档序号:32996227发布日期:2023-01-18 00:14阅读:49来源:国知局
数据仓库创建方法、电子设备及存储介质与流程

1.本技术涉及数据分析领域,尤其涉及一种数据仓库创建方法、电子设备及存储介质。


背景技术:

2.数据仓库的创建是现在大型企业数字化转型的重要基础。没有数据仓库时,需要直接从业务数据库中提取数据来做分析。业务数据库主要是为业务操作服务,虽然可以用于分析,但数据结构复杂,数据混乱,难以处理,缺少查询历史,进行大规模查询时进度缓慢。


技术实现要素:

3.鉴于以上内容,有必要提供一种数据仓库创建方法、电子设备及存储介质,能提高数据仓库创建的效率。
4.本技术提供一种数据仓库创建方法,所述方法包括:获取数据源;对所述数据源进行分析,生成数据概览;基于所述数据概览提取所述数据源的主题,得到多个主题表;根据所述数据概览为所述主题表建立数据映射关系;基于所述主题表及所述数据映射关系创建数据仓库。
5.在一种可能的实现方式中,所述对所述数据源进行分析,生成数据概览包括:将所述数据源转化为数据表;获取所述数据表中有数值的第一字段并计算所述第一字段的数值分布;获取所述数据表中没有数值的第二字段并计算所述第二字段的pattern字符串;获取所述数据表在时间轴上的数据分布;将所述数值分布、所述pattern字符串和所述数据分布作为所述数据概览。
6.在一种可能的实现方式中,所述计算所述第二字段的pattern字符串包括:读取所述第二字段的字符;若所述字符为特殊字符、数字、字母或者中文中的任一种,将所述字符加入结果集;根据所述结果集得到所述pattern字符串。
7.在一种可能的实现方式中,所述基于所述数据概览提取所述数据源的主题,得到多个主题表包括:将所述数据表中的字段和所述数据概览中的字段输入至预先训练完成的主题模型中;通过所述主题模型输出所述数据表的主题;根据所述数据表和所述主题生成所述主题表。
8.在一种可能的实现方式中,所述根据所述数据概览为所述主题表建立数据映射关系包括:提取每个所述主题表对应的pattern字符串;从所述多个主题表中任意选定一个主题表作为第一主题表,未被选定的主题表作为第二主体表;计算所述第一主题表对应的pattern字符串和每个所述第二主题表对应的pattern字符串的相似度;将最大相似度对应的第二主题表与所述第一主题表建立数据映射关系。
9.在一种可能的实现方式中,所述根据所述数据概览为所述主题表建立数据映射关系包括:从所述多个主题表中任意选定一个主题表作为目标主题表,未被选定的主题表作
为非目标主题表;提取所述目标主题表在目标时间尺度上的第一数据分布,及每个所述非目标主题表在所述目标时间尺度上的第二数据分布;计算所述第一数据分布和所述第二数据分布的相似度;根据所述相似度为所述主题表建立数据映射关系。
10.在一种可能的实现方式中,所述计算所述第一数据分布和所述第二数据分布的相似度包括:计算所述第一数据分布和所述第二数据分布之间的皮尔逊相关系数;将所述皮尔逊相关系数作为所述相似度。
11.在一种可能的实现方式中,所述计算所述第一数据分布和所述第二数据分布的相似度包括:将所述第一数据分布和所述第二数据分布输入至预先训练完成的动态规划解算法模型;通过所述动态规划解算法模型输出所述第一数据分布和所述第二数据分布的相似距离;根据所述相似距离计算所述相似度。
12.本技术还提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的数据仓库创建方法。
13.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据仓库创建方法。
14.本技术公开的数据仓库创建方法及相关设备,通过建立主题表和数据映射关系,并根据所述主题表和所述数据映射关系创建数据仓库,使混乱的数据变得整齐,使产品咨询和数据分析更加快捷高效,面对问题可以集中进行分析。
附图说明
15.图1是本技术实施例提供的一种数据仓库创建方法的电子设备的结构示意图。
16.图2是本技术实施例提供的一种数据仓库创建方法的流程图。
17.图3是本技术实施例提供的一种示例性数据分布图。
具体实施方式
18.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本技术进行详细描述。
19.请参阅图1,图1为本技术一实施例的电子设备的示意图。参阅图1所示,所述电子设备1包括,但不仅限于,存储器11和至少一个处理器12上述元件之间可以通过总线连接,也可以直接连接。
20.所述电子设备1可以是计算机、手机、平板电脑、个人数字助理(personal digital assistant,pda)等安装有应用程序的设备。本领域技术人员可以理解,所述示意图1仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
21.如图2所示,是本技术数据仓库创建方法的较佳实施例的流程图。所述数据仓库创建方法应用在所述电子设备1中。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。在本实施方式中,所述数据仓库创建方法包括:
22.s21、获取数据源。
23.数据仓库建设是现在大型企业数字化转型的重要基础。没有数据仓库时,需要直
接从业务数据库中取数据来做分析。业务数据库主要是为业务操作服务,虽然可以用于分析,但数据结构复杂,数据混乱,难以理解,进行大规模查询时十分缓慢。在建设大型数据仓库时,主要分为三步,分别是数据概览、建立数据主题模型和建立数据映射,数据概览环节是建设数据仓库的基础环节,为了进行数据概览,需要获取业务数据的数据源。
24.在本技术的一个实施例中,通过将业务系统中的业务数据进行抽取、交互转换和加载来获取所述数据源。所述业务数据包括业务数据库、文件和api接口。所述数据源的数量可以根据用户的实际需求进行设定,例如,获取业务系统3-5个周期内的数据。
25.在本技术的一个实施例中,可以设置获取所述数据源的自动调度时间,根据所述自动调度时间来执行数据源获取任务,使业务数据可以自动化集成到数据仓库中。
26.s22、对所述数据源进行分析,生成数据概览。
27.在本技术的一个实施例中,数据概览作为后续分析的基础环节,主要计算三个内容:字段的数值分布、字段值的pattern及数据分布。
28.在本技术的一个实施例中,所述对所述数据源进行分析,生成数据概览包括:
29.(1)将所述数据源转化为数据表。具体实施时,将所述业务数据库、所述文件和所述api接口转化为关系型的数据形式,所述关系型的数据形式包括数据表。可以通过关系模型将所述业务数据库、所述文件和所述api接口转化为行和列的数据形式,将所述行和列的数据形式确定为所述数据表。例如,根据生产数据生成生产工单表,根据物料数据生成物料工单表,根据维修数据生成维修数据表,及根据所述生产工单表、所述物料工单表和所述维修工单表生成工单种类表。
30.(2)获取所述数据表中有数值的第一字段并计算所述第一字段的数值分布。具体实施时,遍历所述数据表,并提取出所述数据表中有数值的第一字段。例如,所述工单种类表中生产工单字段显示有200张,物料工单字段显示有24张,维修工单字段显示有40张。根据所述第一字段确定所述数据表的数值分布。通过分析数值分布让数据建模师了解了数值分布情况,对整体数据情况有基本的了解。
31.(3)获取所述数据表中没有数值的第二字段并计算所述第二字段的pattern字符串。有一些表的字段没有数值分布,一般这种数字是主键,或者类似主键的一类字段,这些字段对于确定数据表之间的联系是至关重要的。具体实施时,遍历所述数据表,并提取出所述数据表中没有数值的第二字段。读取所述第二字段的字符,若所述字符为特殊字符、数字、字母或者中文中的任一种,将所述字符加入结果集,根据所述结果集得到所述pattern字符串。示例性的,读取所述第二字段的字符,判断所述字符是否是特殊字符,当所述字符是特殊字符时,将所述字符加入结果集。当所述字符不是特殊字符时,判断所述字符是否是数字。当所述字符是数字时,将所述字符加入结果集。当所述字符不是数字时,判断所述字符是否是字母。当所述字符是字母时,将所述字符加入结果集。当所述字符不是字母时,判断所述字符是否是中文。当所述字符是中文时,将所述字符加入结果集。根据所述结果集得到所述pattern字符串。
32.(3)获取所述数据表在时间轴上的数据分布。具体实施时,采用按小时粒度和天粒度去聚合表的数据,得出时间为x轴,数据量为y轴的二维数据。例如,图3所示的数据分布图。
33.(4)将所述数值分布、所述pattern字符串和所述数据分布作为所述数据概览。具
体实施时,由于需要对数据进行细粒度(字段,字符级别)的辨识和计算,数据概览分析主要采用spark计算框架。
34.通过生成所述数据概览,为后续数据仓库的建立提供了数据基础。
35.s23、基于所述数据概览提取所述数据源的主题,得到多个主题表。
36.数据仓库的建立的核心就是对系统内的所有数据进行数据建模。数据建模的主要任务是,建立数据主题模型,即按照数据的业务意义对整个数据内容进行逻辑划分。这样的划分需要根据各种数据的业务含义,对数据集进行重新整理和归并,如果全部人工去一一识别,需要花费大量时间及人力。
37.在本技术的一个实施例中,所述基于所述数据概览提取所述数据源的主题,得到多个主题表包括:将所述数据表中的字段和所述数据概览中的字段输入至预先训练完成的主题模型中;通过所述主题模型输出所述数据表的主题;根据所述数据表和所述主题生成所述主题表。
38.具体实施时,获取预设第一比例的训练数据,将所述训练数据输入至预先搭建的神经网络框架中进行训练,得到所述主题模型,例如,隐含狄利克雷分布(latent dirichlet allocation,lda)主题模型。获取预设第二比例的测试数据;使用所述测试数据测试所述主题模型并获取测试通过率。当所述测试通过率大于预设通过率阈值时,将所述主题模型作为所述预先训练完成的主题模型。将所述数据表中的字段和所述数据概览中的字段输入至预先训练完成的主题模型中,主题模型会自动分析所述数据表中的字段和所述数据概览中的字段,并统计字段内的词语,根据统计的信息来断定当前字段含有哪些主题,以及每个主题所占的比例各为多少。最后每个表都会有属于某几个主题的百分比,例如,主题表eqp_prod_num_rel(设备95%,事件5%),其中eqp_prod_num_rel为主题表的命名。主题模型在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。直观来讲,如果一段描述有一个中心思想,那么一些特定词语会更频繁的出现。例如,一段描述是在讲的生产的,那“工单”和“生产个数”等词出现的频率会高些。如果一段描述是在讲的维修的,那“异常”和“维修配件”等词出现的频率会高些。
39.s24、根据所述数据概览为所述主题表建立数据映射关系。
40.对所有数据建立完成主题表之后,接下来需要明确的是表与表之间的关系。
41.在本技术的一个实施例中,所述根据所述数据概览为所述主题表建立数据映射关系包括:提取每个所述主题表对应的pattern字符串;从所述多个主题表中任意选定一个主题表作为第一主题表,未被选定的主题表作为第二主体表;计算所述第一主题表对应的pattern字符串和每个所述第二主题表对应的pattern字符串的相似度;将最大相似度对应的第二主题表与所述第一主题表建立数据映射关系。具体实施时,可以通过计算所述第一主题表对应的pattern字符串和每个所述第二主题表对应的pattern字符串之间的第一皮尔逊相关系数,将所述第一皮尔逊相关系数作为所述相似度。
42.在本技术的一个实施例中,当所述最大相似度小于预设的阈值时,说明通过字段的pattern字符串并不能直接找到关系,可以通过比较数据分布来进行查找。所述根据所述数据概览为所述主题表建立数据映射关系包括:从所述多个主题表中任意选定一个主题表作为目标主题表,未被选定的主题表作为非目标主题表;提取所述目标主题表在目标时间尺度上的第一数据分布,及每个所述非目标主题表在所述目标时间尺度上的第二数据分
布;计算所述第一数据分布和所述第二数据分布的相似度;根据所述相似度为所述主题表建立数据映射关系。具体实施时,可以通过计算所述第一数据分布和所述第二数据分布之间的第二皮尔逊相关系数,将所述第二皮尔逊相关系数作为所述相似度。还可以通过将所述第一数据分布和所述第二数据分布输入至预先训练完成的动态规划解算法(dynamic time warping,dtw)模型,通过所述dtw算法模型输出所述第一数据分布和所述第二数据分布的相似距离,根据所述相似距离计算所述相似度,确定所述相似度=1/(1+所述相似距离)。将最大相似度的第二数据分布对应的主题表与所述第一数据分布对应的主题表建立数据映射关系。
43.在本技术的一个实施例中,若直接使用字段的名称进行查找,主要是查找比较表与表的字段是否一致。字段对比方法面向全体字段,但由于通用字段名称如id几乎在每个表都会出现,这种关系的辨识就会不准确。此时应用pattern字符串和数据分布进行查找,会得到比较精确的数据映射关系。
44.s25、基于所述主题表及所述数据映射关系创建数据仓库。
45.所述步骤s23建立了多个主题表,所述步骤s24为所述多个主题表之间建立了数据映射关系。接下来需要通过所述多个主题表和所述数据映射关系建立数据仓库。
46.在本技术的一个实施例中,所述基于所述主题表及所述数据映射关系创建数据仓库包括:
47.(1)根据所述主题表的主题,将主题相同的主题表进行归类。例如,设备主题下包括:主题表eqp_class(设备100%)、主题表equipment(设备100%)、主题表eqp_scd(设备85%,事件15%)、主题表eqp_prod_num_rel(设备95%,物料5%)。
48.(2)根据所述数据映射关系连接具有映射关系的主题表。例如,主题表eqp_class—主题表equipment。
49.通过建立主题表和数据映射关系,并根据所述主题表和所述数据映射关系创建数据仓库,使得混乱的数据变得整齐,使产品咨询和数据分析更加快捷高效,面对问题可以集中进行分析。
50.请继续参阅图1,本实施例中,所述存储器11可以是电子设备1的内部存储器,即内置于所述电子设备1的存储器。在其他实施例中,所述存储器11也可以是电子设备1的外部存储器,即外接于所述电子设备1的存储器。
51.在一些实施例中,所述存储器11用于存储程序代码和各种数据,并在电子设备1的运行过程中实现高速、自动地完成程序或数据的存取。
52.所述存储器11可以包括随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
53.在一实施例中,所述处理器12可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器也可以是其它任何常规的处理器等。
54.所述存储器11中的程序代码和各种数据如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,例如数据仓库创建方法,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)等。
55.可以理解的是,以上所描述的模块划分,为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能模块可以集成在相同处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
56.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1