首页> 中国专利> 数据分析方法、装置、服务器和可读存储介质

数据分析方法、装置、服务器和可读存储介质

摘要

本发明实施例涉及数据分析领域,公开了一种数据分析方法、装置、服务器和可读存储介质。本发明中,获取数据表调用流程序列;根据所述数据表调用流程序列,生成序列长度一致的调用新序列;将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵;对所述关系矩阵进行处理,获取数据表之间的关系值;根据所述数据表之间的关系值,构成冷热关系热力图,以对数据进行分析。更加准确的确定数据表之间的调用关系,提高分析结论的准确性。

著录项

  • 公开/公告号CN112966808A

    专利类型发明专利

  • 公开/公告日2021-06-15

    原文格式PDF

  • 申请/专利号CN202110098658.0

  • 发明设计人 唐玏;

    申请日2021-01-25

  • 分类号G06N3/04(20060101);G06N3/08(20060101);G06F16/28(20190101);

  • 代理机构31260 上海晨皓知识产权代理事务所(普通合伙);

  • 代理人成丽杰

  • 地址 610000 四川省成都市高新区交子大道575号中海国际中心J座1层103、104号及J座3-10层

  • 入库时间 2023-06-19 11:26:00

说明书

技术领域

本发明实施例涉及数据分析领域,特别涉及数据分析方法、装置、服务器和可读存储介质。

背景技术

在数据仓库中,一般是从各业务系统的数据库中同步原始数据,作为数据仓库的贴源层数据表,是后续数据仓库上层数据模型建设的基础。为了更好的做数据资产管理,需要判断各个贴源层数据表的冷热度,对于热度高(即重要性高)的数据表做重点监控。

相关技术一般是通过数据表在数据处理过程中被调用的频次来判断数据表的冷热度,但仅统计调用的频次的方法比较单一,不足以准确反映数据表的冷热度,对数据表的重要性判断可能产生误差。

发明内容

本发明实施方式的目的在于提供一种数据分析方法、装置、服务器和可读存储介质,更加准确的确定数据表之间的调用关系,提高分析结论的准确性。

为解决上述技术问题,本发明的实施方式提供了一种数据分析方法,包括以下步骤:

获取数据表调用流程序列;

根据所述数据表调用流程序列,生成序列长度一致的调用新序列;

将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵;

对所述关系矩阵进行处理,获取数据表之间的关系值;

根据所述数据表之间的关系值,构成冷热关系热力图,以对数据进行分析。

本发明的实施方式还提供了一种数据分析装置,包括:

获取模块,用于获取数据表调用流程序列;

序列处理模块,用于根据所述数据表调用流程序列,生成序列长度一致的调用新序列;

网络训练模块,用于将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵;

关系计算模块,用于对所述关系矩阵进行处理,获取数据表之间的关系值;

分析模块,用于根据所述数据表之间的关系值,构成冷热关系热力图,以对数据进行分析。

本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一所述的数据分析方法。

本发明的实施方式还提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现任一项所述的数据分析方法。

本发明实施方式相对于相关技术而言,不单纯的采用调用次数来作为数据表之间的关系的评判依据,通过预先设置的神经网络得到数据表之间的关系,比传统的紧密度判断方法更加的精准,避免了一些数据表尽管调用次数较多但并不紧要的情况发生。并通过数据表之间的关系值构成热力图,通过热力图可以看出数据表时间的紧密关系,使对数据的分析更清晰更直观。采用数学方法将各个数据表之间的调用关系紧密度信息量化,并通过运算得到各个数据表之间的关系值。这个关系值不光包含了数据表的调用频次,更重要的还包含了各个数据表之间的紧密共现,通过热力表可以更准确地反映数据表的热力程度,为后续重点监控保障提供依据。

另外,本发明实施方式提供的数据分析方法,所述将所述调用新序列输入预先设置的神经网络进行训练后,还包括:通过随机梯度下降法减少所述神经网络的损失值。

另外,本发明实施方式提供的数据分析方法,所述将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵,包括:当所述损失值小于预设损失阈值时,所述神经网络生成的矩阵作为所述关系矩阵。

另外,本发明实施方式提供的数据分析方法,所述将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵,包括:当所述损失值小于预设损失阈值时,所述神经网络生成的矩阵作为所述关系矩阵。

另外,本发明实施方式提供的数据分析方法,所述对所述关系矩阵进行处理,获取数据表之间的关系值,包括:对所述关系矩阵中的向量进行点乘操作,获取的点乘结果作为所述关系值,其中每一个所述关系矩阵中的向量对应一个所述数据表。

另外,本发明实施方式提供的数据分析方法,获取所述损失值包括:对所述调用新序列中间数据表外的数据表进行处理,生成所述中间数据表的预测值;将所述中间数据表预测值和所述中间数据表编码后的值输入损失函数,生成所述损失值。

另外,本发明实施方式提供的数据分析方法,所述关系值表示数据表之间的调用关系的紧密程度。

另外,本发明实施方式提供的数据分析方法,所述根据所述数据表调用流程序列,生成序列长度一致的调用新序列,包括:对所述数据表调用流程序列进行滑动窗口算法处理,生成调用新序列,其中,所述调用新序列的序列长度为预设的滑动窗口值。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明的第一实施方式提供的数据分析方法的流程图;

图2是本发明的第一实施方式提供的数据分析方法的热力图;

图3是本发明的第二实施方式提供的数据分析方法的矩阵C;

图4是本发明的第二实施方式提供的数据分析方法的矩阵C2;

图5是本发明的第二实施方式提供的数据分析方法的矩阵;

图6是本发明的第三实施方式提供的数据分析装置的结构示意图;

图7是本发明的第四实施方式提供的服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。

本发明的第一实施方式涉及一种数据分析方法。具体流程如图1所示。

步骤101,获取数据表调用流程序列;

在数据仓库中存储着大量的数据表,数据仓库的处理流程中,数据表之间相互调用,提取每一个数据处理流程中数据表之间的调用关系。例如,在一个数据处理流程中,需要A、B、C三个贴源层数据表,A-B-C代表着在这个数据调用流程中,先调用了数据表A、然后调用了数据表B、最后调用了数据表C。数据调用流程的数量与调用流程序列数量相同。

步骤102,根据所述数据表调用流程序列,生成序列长度一致的调用新序列;

对所述数据表调用流程序列进行滑动窗口算法处理,生成调用新序列,其中,所述调用新序列的序列长度为预设的滑动窗口值。

具体地,设置一个滑动窗口值,滑动窗口值为奇数,使得可以确定调用新序列的中间数据表。

对调用程序序列按照滑动窗口值进行滑动窗口算法计算,得到调用新序列。

例如,具有A-B-C、A-D-E-G-J、B-C-F-H的数据表调用序列,其中A、B、C、D、E、F、G、H、J为贴源层数据表。设置滑动窗口值为3,则可以得到调用新序列为A-B-C、A-D-E、D-E-G、E-G-J等。

步骤103,将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵;

将调用新序列中的数据表使用onehot方式编码,得到数据表向量,且每个向量中一维为1,其余都是0。例如,假设具有M个数据表,M=5,则数据表向量可以为(1,0,0,0,0)、(0,1,0,0,0)、(0,0,1,0,0)、(0,0,0,1,0)或(0,0,0,0,1)。

随机初始化矩阵C和矩阵C2,大小分别为MxK和KxM,矩阵的值为0~1之间的随机值。

指定调用新序列的中间数据表为预测值,中间数据表周围的表为输入值,即用滑动窗口中间数据表以外的数据表来预测中间数据表。

以调用新序列为A-B-C为例,其中,B对应预测值,A和C对应输入值。

对调用新序列中数据表进行onehot编码,得到的值分别乘以矩阵C,再把相乘的结果向量取平均。将平均值乘以矩阵C2,再将相乘结果使用softmax函数,生成中间数据表预测值。

将中间数据表预测值与进行onehot编码后的中间数据表输入交叉熵损失函数,生成损失值。

然后根据随机梯度下降的训练方法,神经网络通过反向传播的方式去更新矩阵C和矩阵C2的值,使得损失值不断缩小。

当损失值小于预设损失阈值时,确定神经网络训练达到收敛,此时神经网络生成的较为稳定的矩阵为关系矩阵。

在一个具体例子中,在调用新序列A-B-C中,假设M=5,则数据表A的onehot编码为(1,0,0,0,0),数据表B的onehot编码为(1,0,0,0,0),数据表C的编码为(0,0,1,0,0)。

A(1,0,0,0,0)乘以矩阵C(MxK)得到(0.1,0.3,0.5,0.2,0.1),B(1,0,0,0,0)乘以矩阵C(MxK)得到(0.9,0.7,0.3,0.8,0.6);

将(0.1,0.3,0.5,0.2,0.1)和(0.9,0.7,0.3,0.8,0.6)取平均值,得到(0.5,0.5,0.4,0.5,0.35);

将(0.5,0.5,0.4,0.5,0.35)乘以矩阵C2(KxM)并进行softmax函数计算,得到中间数据表预测值(0.2,0.9,0.2,0.3,0.1)。

将(0.2,0.9,0.2,0.3,0.1)与B(1,0,0,0,0)进行交叉熵损失函数计算得到损失值(如1.2)。

将调用新序列中的所有数据都以随机的顺序反复输入到神经网络中进行训练,根据随机梯度下降的训练方法,神经网络通过反向传播的方式去更新矩阵C和矩阵C2的值,使得矩阵C和矩阵C2的值不断更新,最终使得损失值达到一个比较稳定的、较小的值(如0.001)。这个值小于预设损失阈值时,认为神经网络训练达到收敛,此时神经网络生成的矩阵趋于稳定,将此时的矩阵作为关系矩阵。

步骤104,对所述关系矩阵进行处理,获取数据表之间的关系值;

对关系矩阵中的向量进行两两点乘,点乘值代表两个向量之间的关系,即为关系值,关系取值为大于-1且小于1的值,越接近1(即关系值与1的差值越小)表示数据表之间调用关系越紧密,比如A(0.83,0.55,0.91,0.96,0.71)和B(0.56,0.74,0.53,0.62,0.52)的向量点乘结果为0.96,0.96与1较为接近,因此可以认为数据表A与数据表B的关系很紧密。

步骤105,根据所述数据表之间的关系值,构成冷热关系热力图,以对数据进行分析。

将两两点乘的结果(关系值)构成冷热关系热力图,如图2所示,对角线为数据表自己跟自己的关联度,恒为1。在冷热关系热力图中颜色越浅表示调用关系越紧密。通过数据表之间的关系值及冷热关系热力图,分析数据表之间的调用关系。可以对颜色浅的数据表进行重点监控和重点保障,方便数据的维护。

本发明实施方式相对于相关技术而言,不单纯的采用调用次数来作为数据表之间的关系的评判依据,通过预先设置的神经网络得到数据表之间的关系,比传统的紧密度判断方法更加的精准,避免了一些数据表尽管调用次数较多但并不紧要的情况发生。并通过数据表之间的关系值构成热力图,通过热力图可以看出数据表时间的紧密关系,使对数据的分析更清晰更直观。采用数学方法将各个数据表之间的调用关系紧密度信息量化,并通过运算得到各个数据表之间的关系值。这个关系值不光包含了数据表的调用频次,更重要的还包含了各个数据表之间的紧密共现,通过热力表可以更准确地反映数据表的热力程度,为后续重点监控保障提供依据。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明的第二实施方式涉及一种数据分析方法。假设数据表的数量为M,M=10;数据表向量选取的维度为K,K=5,即一共有10个数据表,每个数据表用5维向量来表示。矩阵C使用0~1的随机值来初始化为10x5的矩阵如图3所示。矩阵C2随机初始化为5x10的矩阵如图4所示。

取得调用新序列中的第一行数据A-B-C,向神经网络输入值为A和C;

假设A的onehot编码为[1,0,0,0,0,0,0,0,0,0],C的onehot编码为[0,0,1,0,0,0,0,0,0,0],根据神经网络结构图,A的onehot编码乘以矩阵C,得到[0.59,0.29,0.77,0.01,0.23];

C的onehot编码乘以矩阵C,得到[0.24,0.8,0.17,0.3,0.47];

将这两个向量取平均,得到[0.42,0.54,0.47,0.16,0.35];

然后将这个向量乘以矩阵C2,得到[1.02,0.94,1.06,1.31,0.8,0.89,0.87,0.83,0.88,0.79];

再将这个向量输入到softmax函数得到[0.11,0.1,0.11,0.14,0.09,0.09,0.09,0.09,0.09,0.09],即为中间数据表预测值;

然后将B的onehot编码[0,1,0,0,0,0,0,0,0,0]和中间数据表预测值输入交叉熵损失函数(cross entropy loss),得到损失值。

然后根据随机梯度下降的训练方法,神经网络通过反向传播的方式去更新矩阵C和矩阵C2的值,使得损失值不断缩小。

进一步地,将新序列P中的所有数据都以随机的顺序反复输入到神经网络中进行训练,使得矩阵C和矩阵C2的值不断更新,最终使得损失值达到一个比较稳定的、较小的值,至此神经网络训练达到收敛。

在训练达到收敛后,得到一个较为稳定的矩阵C,矩阵C即为M个数据表的稠密向量表示,每张表为一个K维向量,且这个K维向量包含了数据表之间的调用关系信息。矩阵如图5所示。

在图5中,每一行为一个k=5维的向量,表示某个数据表的向量表示,一共10行,表示一共有10个数据表,包括数据表A、数据表B和数据表C。

通过向量之间的点乘来计算某两个数据表之间的关联值,得到所有数据表的两两调用关联矩阵,形成热力图如图2所示。

本实施方式相对于相关技术,通过选取现有数据仓库中的数据表调用顺序,来训练神经网络,最终得到每一个数据表的K维向量表示,且该向量中包含有数据表之间的调用关系紧密度信息。通过这个K维向量的运算,可以得到各个数据表之间的热力度图,作为后续重点监控保障的依据。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种数据分析装置,如图6所示,包括:

获取模块601,用于获取数据表调用流程序列;

序列处理模块602,用于根据所述数据表调用流程序列,生成序列长度一致的调用新序列;

网络训练模块603,用于将所述调用新序列输入预先设置的神经网络进行训练,获得关系矩阵;

关系计算模块604,用于对所述关系矩阵进行处理,获取数据表之间的关系值;

分析模块605,用于根据所述数据表之间的关系值,构成冷热关系热力图,以对数据进行分析。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种服务器,如图7所示,包括:

至少一个处理器701;以及,与所述至少一个处理器701通信连接的存储器702;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一所述的数据调用方法。

其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号