一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于矩阵逻辑思想的大数据测试系统及方法与流程

2022-04-06 22:31:39 来源:中国专利 TAG:


1.本发明属于大数据测试领域,特别是对于大数据测试第三阶段使用分布式数据库hbase分类后应用于矩阵逻辑思想完成测试任务,具体涉及一种基于矩阵逻辑思想的大数据测试系统及方法。


背景技术:

2.大数据,已经成为了一个时代的代名词,大数据时代的到来,颠覆了以往对数据的惯性思考方式,随着移动互联网和智能设备的兴起,越来越多的数据被沉淀到各大公司的应用平台之上,这些包含大量用户特征和行为日志的数据被海量地存储起来,先经过统计分析与特征样本提取,然后再经过训练就会产出相应的业务算法模型,它可以精准地识别和预测用户的行为和意图,但是在用于上述的决策分析或推荐系统之前,如何确保数据的准确性和符合要求,对大数据的测试就显得尤为重要。


技术实现要素:

3.有鉴于此,本发明的目的是提供一种基于矩阵逻辑思想的大数据测试系统及方法,可以克服现有技术的不足。
4.本发明的技术方案是:一种基于矩阵逻辑思想的大数据测试系统,它包括大数据采集模块、大数据处理模块、大数据测试模块和大数据存储模块,各个模块之间相互通信连接;所述大数据采集模块用于从数据源中采集数据;所述大数据处理模块用于对数据的etl过程进行处理;所述大数据测试模块用于对数据的etl过程进行测试;所述大数据存储模块用于将大数据测试结束后并更改修复后的数据同步至目标数据仓库的hive。
5.前述数据源包括传感器、智能设备、在线系统、离线系统、社交网络和互联网平台;所述的数据采集方式包括数据库采集、系统日志采集、网络数据采集和感知设备数据采集。
6.前述的大数据处理模块包括对数据的提取、转换、载入的过程中进行在线处理,在mapreduce处理数据的过程中对数据进行清洗、集成、转换、消减。
7.前述的大数据测试模块包括三个测试阶段,第一阶段:数据阶段验证测试;第二阶段:mapreduce阶段测试;第三阶段:输出数据阶段验证测试,并将大数据测试结束后并更改修复后的数据同步至大数据存储模块。
8.一种基于矩阵逻辑思想的大数据测试方法,其特征在于,包括以下步骤:s1、在数据etl过程中,进行大数据测试第一阶段:数据阶段测试验证;s2、在数据etl过程中,进行大数据测试第二阶段:mapreduce阶段测试验证;s3、在数据etl过程中,进行大数据测试第三阶段:输出数据阶段验证测试,在进行上述的mapreduce阶段测试验证后,得到mapreduce过程后的结果,将结果数据写入分布式
文件系统hdfs,基于hdfs作为底层支持中的这些数据结果生成高并发分布式数据库hbase;s4、在分布式hbase中,依据它的数据模型增强的系数排序映射表进行分类,包括行关键字或列关键字或时间戳;s5、在矩阵框架模型中,依据分类的数量创建矩阵框架,在矩阵框架中矩阵横向输入为待测数据的用例。
9.前述的大数据测试方法,步骤s1中,第一阶段测试验证内容包括:测试验证各方面的数据资源是否被正确的加载进hadoop系统中、测试验证源数据与推送到hadoop系统中的数据是否匹配、测试验证正确的数据是否被提取和加载到正确的位置。
10.前述的大数据测试方法,步骤s2中,第二阶段测试验证内容包括:在mapreduce处理hdfs中的数据的期间,在整个分布式设备系统中,测试验证单一节点和多个节点上mapreduce是否正常运行、测试验证输出的文件是否正确、测试验证mapreduce处理过程的键值key-value对是否正确生成、测试验证在归约reduce过程结束后数据的聚集合并是否正确。
11.前述的大数据测试方法,步骤s5中,待测数据的用例包括数据的准确性、唯一性、完整性、一致性、关联性、及时性。
12.前述的大数据测试方法,步骤s5中,矩阵横向使用adaboost迭代算法为当前待测数据的用例创建弱分类器;矩阵纵向使用bagging优化整合算法,纵向整合各分类的弱分类器为强分类器。
13.前述的大数据测试方法,所述的弱分类器可判断当前分数数据下的横向输入的数据测试用例是否准确,所述强分类器可判断当前分类数据下的所有横向输入数据测试的用例是否准确。
14.与现有技术比较,本发明的有益效果是:与现有技术比较,本发明公开的一种基于矩阵逻辑思想的大数据测试系统及方法,它包括大数据采集模块、大数据处理模块、大数据测试模块和大数据存储模块,各个模块之间相互通信连接;通过使用hadoop分布式共享存储、分布式文件系统hdfs、分布式数据库hbase、目标数据仓库hive;在大数据的etl过程中首先使用talend对大数据测试的第一阶段数据验证阶段进行测试;其次根据在单个节点上进行逻辑验证,然后将其运行于多个节点进行验证对大数据测试阶段的第二阶段mapreduce进行测试;最后使用在分布式文件系统hdfs中mapreduce处理得到的结果为支持建立高并发分布式数据库hbase,另外对于数据源是关系型数据库的则使用sqoop数据导入功能迁移至hbase中,以hbase的数据模型增强稀疏排序映射表中的关键字或时间戳形成数据分类,将分类后的数据应用于矩阵框架模型;通过使用hadoop分布式共享存储原理,对大数据进行采集、处理、测试、存储。其中对大数据测试的第三阶段测试使用了矩阵逻辑思想对数据的准确性、唯一性、完整性、一致性、关联性、及时性等进行了测试,确保数据的质量,使数据更好的、更准确的应用于业务上的决策分析和推荐系统。
15.本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
16.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:图1是本发明的整体架构图;图2是本发明mapreduce并行计算数据处理示意图;图3是本发明大数据测试第三阶段的矩阵逻辑思想结构示意图;图4是本发明大数据测试三个阶段测试阶段流程示意图;图5是本发明大数据测试结束后将准确的数据同步至目标数据仓库hive中的示意图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
18.如图1-4所示,一种基于矩阵逻辑思想的大数据测试系统,它包括用于从数据源中采集数据的大数据采集模块,数据采集方式包括数据库采集、系统日志采集、网络数据采集和感知设备数据采集,数据源包括传感器、智能设备、在线系统、离线系统、社交网络和互联网平台等;用于对数据的etl过程进行处理的大数据处理模块、用于对数据的etl过程进行测试的大数据测试模块和用于将大数据测试结束后并更改修复后的数据同步至目标数据仓库的hive的大数据存储模块,各个模块之间相互通信连接;大数据处理模块:在master(主从设备)设备上使用hadoop(开源框架)部署分布式共享存储,在hadoop中使用yarn(yet another resource negotiator,一种新的 hadoop 资源管理器)来进行全局的资源管理和任务调度,分布式共享存储使用分布式文件系统hdfs(hadoop分布式文件系统),利用hdfs作为底层文件系统支持生成可高并发的分布式键值存储系统hbase(分布式的、面向列的开源数据库),在大数据etl(extract-transform-load,用来描述将数据从来源端经过抽取、转换、加载至目的端的过程)过程中使用mapreduce(编程模型,用于大规模数据集的并行运算)分布式并行计算,将数据清洗、集成、转换、消减划分为结构化数据和半结构化数据/非结构化数据。储存在分布式文件系统hdfs和支持实时计算的分布式数据库hbase上。对于数据源是由关系型数据库采集的数据则使用sqoop(一种开源工具,主要用于在hadoop与传统的数据库间进行数据的传递,可以将一个关系型数据库中的数据导进到hadoop的hdfs中,也可以将hdfs的数据导进到关系型数据库中)的数据导入功能迁移至hbase系统中;上述的数据清洗、集成、转换、消减具体如下:1、数据清洗中对于遗漏数据利用回归分析、贝叶斯计算公式或决策树推断出该条记录特定属性的最大可能的取值来填补遗漏,对于噪生数据的处理采用bin方法通过利用应被平滑数据点的近邻点,对一组排序数据进行平滑。排序后的数据被分配到若干bins中。
19.2、数据集成中主要对模式集成问题、冗余问题、数据值冲突和消除问题进行处理。
20.3、数据转换中合计处理对数据进行总结和合计操作、数据泛化处理用更抽象的概念来取代低层次或数据层的数据对象、数据规格化处理使用十基数变换规格化方法将有关
属性数据按比例投射到特定的小范围之中。
21.4、数据消减中数据压缩使用程序压缩数据的大小、数据块消减利用更简单的参数模型、非参数模型的数据表达形式,来取代原有的数据大数据测试模块:在数据etl过程中,大数据测试的第一阶段即数据阶段测试,使用talend(数据集成软件)测试验证下面内容:测试验证各方面的数据资源是否被正确的加载进hadoop系统中、测试验证源数据与推送到hadoop系统中的数据是否匹配、测试验证正确的数据是否被提取和加载到正确的位置。大数据测试的第二阶段即mapreduce(编程模型)阶段测试,在整个分布式设备系统中,进行测试内容如下:测试验证单一节点和多个节点上mapreduce是否正常运行、测试验证输出的文件是否正确、测试验证mapreduce处理过程的键-值key-value(key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询)对是否正确生成、测试验证在归约reduce过程结束后数据的聚集合并是否正确。
22.大数据测试的第三阶段即输出数据测试,即将经过前两个测试阶段后的数据储存至分布式hbase中,在分布式数据库hbase中根据键值将数据聚合分类,使用矩阵逻辑框架矩阵横向使用adaboost迭代算法,纵向使用bagging整合优化算法,对数据的准确性、唯一性、完整性、一致性、关联性、及时性等进行测试验证。并给出整体的测试报告。
23.大数据储存模块:大数据存储模块包括hadoop中分布式文件系统hdfs、以分布式文件系统作为底层支持的hadoop分布式数据库hbase、大数据测试结束后并更改修复后将数据同步至目标数据仓库的hive。
24.大数据采集模块、大数据处理模块以及大数据存储模块的流程步骤如下:1、确定采集数据源,对采集数据源进行分析,准备好采集程序。
25.2、确定master主机,在master上安装部署hadoop,映射ip和主机名以及关闭防火墙和配置文件和环境变量登完成分布式设备。
26.3、确定hadoop服务已经启动,完成将数据写入分布式文件系统hdfs中的程序。
27.4、确定数据在mapreduce过程中进行清洗、集成、转换、消减的预处理操作程序。即完成相应的mapper、reducer、job程序。
28.5、完成以上配置后,应用上述的数据采集程序和数据写入hdfs中的程序和预处理操作程序。
29.6、当数据加载进hdfs后,mapreduce开始对来自不同数据的数据进行处理。
30.一种基于矩阵逻辑思想的大数据测试方法,包括以下步骤:s1、在数据etl过程中,进行大数据测试第一阶段:数据阶段测试验证,包括:测试验证各方面的数据资源是否被正确的加载进hadoop系统中、测试验证源数据与推送到hadoop系统中的数据是否匹配、测试验证正确的数据是否被提取和加载到正确的位置;s2、在数据etl过程中,进行大数据测试第二阶段:mapreduce阶段测试验证,包括:在mapreduce处理hdfs中的数据的期间,在整个分布式设备系统中,测试验证单一节点和多个节点上mapreduce是否正常运行、测试验证输出的文件是否正确、测试验证mapreduce处理过程的键值key-value对是否正确生成、测试验证在归约reduce过程结束后数据的聚集合并是否正确;
s3、在数据etl过程中,进行大数据测试第三阶段:输出数据阶段验证测试,在进行上述的mapreduce阶段测试验证后,得到mapreduce过程后的结果,将结果数据写入分布式文件系统hdfs,基于hdfs作为底层支持中的这些数据结果生成高并发分布式数据库hbase;s4、在分布式hbase中,依据它的数据模型增强的系数排序映射表进行分类,排序映射表包括行关键字或列关键字或时间戳;s5、在矩阵框架模型中,依据分类的数量创建矩阵框架,在矩阵框架中矩阵横向输入为待测数据的用例,待测数据的用例包括数据的准确性、唯一性、完整性、一致性、关联性、及时性等;矩阵横向使用adaboost迭代算法为当前待测数据的用例创建弱分类器;矩阵纵向使用bagging优化整合算法,纵向整合各分类的弱分类器为强分类器,每个弱分类器可判断当前分数数据下的横向输入的数据测试用例是否准确,每个强分类器可判断当前分类数据下的所有横向输入数据测试的用例是准确,对各个强分类器进行整合即可判读所有数据分类的所有数据测试用例是否准确。
31.上述 adaboost算法:其核心思想是针对同一个训练集训练不同的弱分类器,它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器,同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。
32.上述ebagging算法:从原始数据中随机抽取n个样本,重复s次,于是就有个s个训练集,每个训练集都可以训练出一个分类器,最终生成s个分类器,预测结果将有这些分类器投票决定,选择分类器投票结果中最多的类别作为最后预测结果。
33.为了更好的理解本发明的技术方案,现对本发明附图中的逻辑关系做进一步说明:图1中:数据源和hadoop之间的联系是:确定好数据源、数据采集方法、数据采集程序,在hadoop的master主机上部署采集程序,同时hadoop要通过ip映射等配置好分布式共享存储设备,hadoop支持当一个共享设备宕机时不会给此设备任何数据进来,当数据文件写入hdfs时,在hdfs中会将数据分成固定大小的数据块,小于固定大小则保持本身大小,当数据达到一个数据块的固定大小时hdfs主节点就会通知最近的节点申请写入数据,并把数据块id和数据节点返回给hdfs客户端,以便用于资源调配。
34.hdoop和yarn之间的联系:yarn是hadoop的资源调度和任务分配的管理者,就是将资源管理和任务调度监控拆分成独立的进程,yarn具体包括全局资源管理和任务调度、单个节点的资源管理和监控、单个作业的资源管理和监控、资源申请的单位和运行的容器,前三者是计算资源的分配和管理,后者则完成应用程序的运行。
35.hadoop和一阶段测试之间的联系:一阶段测试主要验证数据受否被正确的加载进了hadoop中,加载数据后,使用talend会自动分析数据,可以逐列的查看数据的配置,也可以使用talend对数据进行清洗和转换数据类型。
36.mapreduce和二阶测试之间的联系是:二阶端测试主要是进行map和reduce的工作是否运行且正确、实施的数据聚合和隔离规则是否正确、数据的键值是否正确生成。使用验证应用程序通过在单节点上进行上述三项验证然后迁移至多节点进行验证,对比单节点和多节点的输出结果来完成本阶段的测试。
37.二阶段测试和hdfs以及分布hdfs之间的联系是:二阶段测试后将数据写入hdfs,
并分成固定大小的数据块储存在分布式文件系统hdfs中,同时hdfs会默认将数据块备份3份。分布式hdfs集群中各个hdfs之间负载均衡和数据共享。
38.hbase和hdfs之间的联系是:hbase是hadoop的分布式数据库,hbase是以hdfs作为底层系统支持而建立的,它储存在hdfs中是一个分布式、高并发、面向列的数据库;hbae和传统的关系型数据库不同,它采用了数据模型增强的稀疏排序映射表,其中键是由行关键字、列关键字和时间戳构成的,依据关键字分类是进行三阶段测试前的主要准备工作。
39.分类操作和三阶段测试之间的联系是:三阶段测试主要是输出数据阶段测试,即对mapreduce输出的结果进行测试,是大数据测试的最后一步,也是保证数据质量的最后一关。在三阶段测试之前,要根据上述关键字对分布式hbase中的数据进行整合统计分类,分类若不考虑需求则越详细越好;将分类后的数据输入至矩阵模型中,在矩阵模型中横向输入数据测试的属性,如数据准确性、数据的完整性等;在矩阵模型中包含许多的弱分类器,每个弱分类器对一种分类的一条数据测试的属性进行判断,横向所有分类器则是对所有分类的一条数据测试数据进行判断,纵向则是对一种分类的所有条数据测试属性进行判断,横纵整合则是对所有分类的所有数据测试数据进行判断,结合上述单个和所有的测试结果给出测试报告。
40.三阶段测试之间和目标数据仓库hive之间的联系是:根据三阶段测试结果内容对数据进行批量程序规则处理后储存至目标数据仓库hive中,hive提供sql查询功能,可以将sql语句转换为分布并行计算mapreduce任务;储存的数据也可以从hive写到新的hbase中,使用hive中的数据进行统计查询,用于决策方向的分析,或者建立数据模型用于个性化推荐系统中。
41.图2中:数据和mapreduce之间的联系:数据进入mapreduce根据mapreduce程序进行处理,而mapreduce程序的编写又分为写mapper、reducer、job三个基本的过程;在mapper程序中对数据进行处理,如数据清洗、数据消减等操作,在reducer程序中对数据进行归约操作,在job程序中进行上述人物的执行操作,在分布式中各mapreduce是通过并行计算处理完成上述操作的。
42.图3中:数据通过分类操作分类后,将数据输出到矩阵模型中,矩阵的横向使用的是adaboost迭代算法创建弱分类器的方法来进行测试,矩阵的横向输入的是数据测试的属性。矩阵的纵向使用的是bagging整合优化算法,对纵向测试进行整合;其矩阵模型训练来源于对正确数据小部分采用训练处理的模型,adaboost算法的自适应在于前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器,同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。以上述迭代的方法对数据测试属性进行测试,提高测试结果的准确性。bagging对纵向进行整合优化,提高纵向整体的测试结果,整个矩阵全部测试下来,即完成了多分类数据的测试任务,同时将每个测试节点和整体测试内容输出到测试报告中,使异常数据更加直观,提高了数据的准确性和质量。
43.图4中:大数据测试分成三个阶段,大数据测试的第一阶段,也称作pre-hadoop阶段或数据验证阶段:主要测试各方面数据源是否将正却的数据加载进系统中以及将数据和源数据比较是否匹配;以上测试使用talend来完成测试任务。大数据测试的第二阶段,即mapreduce阶段测试:主要测试mapreduce任务是否正常工作、输出配置文件是否正确、数据
键值是否正确生成;以上测试使用测试程序在单节点运行和同步多节点运行对比结果来完成测试任务。大数据测试的第三阶段,即输出数据测试阶段:主要是对mapreduce处理后的数据结果数据的准确性、完整性、及时性等进行测试;以上测试首先依据hdfs作为底层支持建立分布式数据库hbase,其次根据分布式数据库hbase数据模型增加的稀疏排序映射表中的关键字进行分类,最后将分类后的数据输入矩阵模型中并给出测试报告来完成测试任务。
44.如图5所示,大数据存储的具体步骤如下:1、将采集的数据通过上述大数据处理mapreduce处理后的数据储存至分布式文件系统hdfs中;2、将hdfs中的数据经过上述大数据测试前两个测试阶段后的数据储存在以hdfs为支持的分布式数据库hbase中;3、将hbase中的数据经过上述大数据测试第三阶段测试后并按规则修改后的数据储存至目标数据仓库hive中。
45.根据三阶段测试结果和报告内容按照异常数据处理规则程序进行处理。将处理后的数据写入新的hdfs中,依据hdfs创建目标数据仓库hive,hive将数据文件映射为一张数据库表,并提供sql查询功能,可以将sql语句转换为mapreduce任务进行运行,同时可以将hive数据写入到hbase中;hive用来进行统计查询,hbase可以用来进行实时查询。通过实时查询和统计分析可将正确的大数据发挥更大的作用,在实时数据统计、决策方向分析、定制推荐系统中得到充分的使用。
46.以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献