物联网数据高效分析方法
【技术领域】
[0001] 本发明设及物联网,特别设及一种物联网数据高效分析方法。
【背景技术】
[0002] 物联网实现了用户对信息的传感、收集与感知。但利用物联网进行信息交换与通 信的过程中会产生海量的数据如射频数据、传感器数据等,该些数据不断的增多加大了用 户从中获取有用信息的难度。为了提高物联网的数据处理功能,现有技术结合应用云计算、 大数据技术,构建百万计算机集群的云模式,W分布式计算技术与存储机制,增强物联网的 计算功能。然而,现有的物联网在面对海量业务数据方面仍然不够快速地进行分析、处理、 存储、挖掘,从而无法实现有价值信息的快速提取,物联网商业决策因此尚未得到最快的服 务。
【发明内容】
[0003] 为解决上述现有技术所存在的问题,本发明提出了一种物联网数据高效分析方 法,包括:
[0004] 数据分析系统W化doop为平台,将物联网中的射频标签数据进行过滤、转换、合 并处理,并在分布式系统中保存;应用副本策略将数据文件的副本在不同节点上保存,将 Map/Re化ce的数据处理策略存储在策略存储节点中;
[0005] 主程序创建与管理要执行的任务,将任务分配至空闲状态的工作程序,工作程序 结合Map/Re化ce进行操作处理,然后通过主程序汇总最终结果并向用户反馈。
[0006] 优选地,所述包括数据层、处理策略层、处理层,数据层的名字节点用于接收用户 的请求,同时向用户返回存储数据的计算节点的IP地址,并向其它接收副本的计算节点发 送通知;数据分析处理的算法利用主程序来进行控制与管理,向相关节点传送算法实现计 算,处理层数据任务处理流程包括;①主程序查找空闲的计算节点,并将其放置在空闲节点 列表中;②主程序接收用户请求,并获取计算节点各个数据块中的存储信息;⑨主程序向 处理策略存储节点申请需要的处理策略,而后通过处理策略存储节点将所需算法传送给计 算节点;④在服务器中根据计算任务启动工作,将工作完成结果传送给主程序,主程序经过 汇总生成最终结果并反馈给用户。
[0007] 优选地,在上述处理层中,借助Map/Re化ce模式,只在Re化ce过程中需要将计算 结果传送给主程序,所述Map/Re化ce操作过程进一步包括:
[000引①依据预设参数将输入文件分割成预设大小的M块;
[0009] ②空闲工作程序接收到主程序分配的M个Map或R个Re化ce处理任务;
[0010] ⑨工作程序在处理Map任务时对处理数据进行读取,而后将键值对<key,value〉 传送给Map函数并产生中间结果,将其缓存在内存中,定时向本地硬盘传送缓存的中间结 果,W分区函数将其划分为R个区块,将本地硬盘所接收数据的位置信息通过主程序向 Re化ce函数传送;
[0011] ④依据主程序传送的文件信息,Re化ce工作程序通过远程读取方式来寻找相对应 的本地文件,有序排列文件中的中间key,再通过远程方式向执行的Re化ce发送信息;
[0012] ⑥根据key排序后的中间数据,Re化ce工作程序将key与相应的中间结果集传送 给Re化ce函数,并W最终输出文件来构造最后的结果;
[0013] ⑧完成全部的Map与Re化ce任务后,MapRe化ce返回用户程序的调用点,并通过 主程序来激活用户程序。
[0014] 优选地,所述数据处理策略包括关联规则算法,所述关联规则算法利用分布式存 储扫描数据库,查找频繁项集所获得的关联规则,在各个计算节点中并行进行扫描处理,由 此获得各计算节点上的局部频繁项集,然后利用主程序将实际的全局的支持度、频繁项集 统计与确定出来。
[0015] 本发明相比现有技术,具有W下优点:
[0016] 本发明提出了一种物联网数据高效分析方法,采用分布式处理方式实现物联网海 量数据的分析和挖掘,有效提高了物联网中的数据处理效率。
【附图说明】
[0017] 图1是根据本发明实施例的物联网数据高效分析方法的流程图。
【具体实施方式】
[0018] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合该样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权 利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节 W便提供对本发明的透彻理解。出于示例的目的而提供该些细节,并且无该些具体细节中 的一些或者所有细节也可W根据权利要求书实现本发明。
[0019] 本发明的一方面提供了一种物联网数据高效分析方法。图1是根据本发明实施例 的物联网数据高效分析方法流程图。
[0020] 处理物联网海量数据挖掘中的射频标签动态异构数据,需要基于云计算技术与数 据挖掘技术,W化doop为平台,利用Map/Re化ce模式来实现数据挖掘处理。具体的操作流 程包括;①过滤、转换、合并物联网中的射频标签数据,在分布式系统中保存。应用副本策略 将数据文件的副本在同一机构的不同节点上保存。②主程序在执行任务中负责创建与管理 控制的任务,空闲状态的工作程序会得到相关分配任务且结合Map/Re化ce进行操作处理, 之后通过主程序汇总最终结果及向用户反馈结果。
[0021] 本发明的数据分析系统包括数据层、处理策略层、处理层。系统的主控节点是主程 序,任务是交互用户、调度与管理整个系统节点。系统Map/Re化ce化的数据处理策略被存 储在一部分的节点中,利于实现挖掘的高效性。在分布式存储系统中,由1个主节点、若干 计算节点构成,其中名字节点负责接收用户的请求,同时向用户返回存储数据的计算节点 的IP地址,并向其它接收副本的计算节点发送通知。
[0022] 数据分析处理中的算法都进行了Map/Re化ce化,算法都集成在系统处理策略层 的策略存储节点中。在使用过程中借助云计算平台,利用主程序来进行控制与管理,根据客 户需求向相关节点传送算法来计算。
[0023]处理层即任务调度层,主程序可调度系统中所有的分析程序。具体的数据任务 处理流程;①利用主程序查找空闲的计算节点,并将其放置在空闲节点列表中;②由主程 序来接收用户请求,并获取计算节点各个数据块中的存储信息;⑨主程序向处理策略存储 节点申请需要的处理策略,而后通过处理策略存储节点将所需算法传送给计算节点;④在 皿FS服务器中根据计算任务启动工作,将工作完成结果传送给主程序,主程序经过汇总生 成最终结果并反馈给用户,该过程因不必进行数据重组与传送,所W系统每一节点的计算 和存储的文件传输效率大大提高。
[0024]在上述处理层中,数据计算和存储的整合及迁移处理过程借助Map/Re化ce模式, 具体的实施策略是在本地计算机上进行操作,Map在每一节点上的操作都具有独立性且不 存在数据传输,只在Re化ce过程中需要将计算结果传送给主程序,利于实现计算和数据的 同步密集及计算向存储的迁移,数据传输时间大大加快。同时,结合应用文件副本策略,预 防出现节点失效时计算节点存有一个副本节点提供给主程序,该副本节点会实现计算迁移 (该过程中数据不会在计算节点间相互传递)并重新开启数据处理,如此不必重启全部的 工作,数据传输效率大大提高。
[0025]具体的Map/Re化ce操作过程如下;
[0026]①依据预设参数将输入文件分割成预设大小的M块;②执行程序包括主程序、工 作程序,其中Map操作有M个,Re化ce操作有R个,空闲工作程序接收到主程序分配的Map 或Re化ce处理任务;⑨工作程序在处理Map任务时会对处理数据进行读取,而后将键值对 <key,value〉传送给Map函数并产生中间结果,将其缓存在内存中,定时向本地
硬盘传送缓 存的中间结果,W分区函数将其划分为R个区块,将本地硬盘所接收数据的位置信息通过 主程序向Re化ce函数传送;④依据主程序传送的文件信息,Re化ce工作程序通过远程读取 方式来寻找与之相对应的本地文件,有序排列文件中的中间key,再通过远程方式向具体执 行的Re化ce发送信息;⑥根据key排序后的中间数据,Re化ce工作程序将key与相应的中 间结果集传送给Re化ce函数,并W最终输出文件来构造最后的结果;⑧完成全部的Map与 Re化ce任务后,MapRe化ce返回用户程序的调用点,并通过主程序来激活用户程序。
[0027]本发明优选的关联规则算法利用分布式存储扫描数据库,查找频繁项集所获得的 关联规则,扫描处理将在各个计算节点中并行操作,由此获得各计算节点上的局部频繁项 集。之后,利用主程序将实际的全局的支持度、频繁项集统计与确定出来,W此来节省系统 的时间与内存消耗,实现数据挖掘效率的大大提高。同时,还需对关联规则算法进行Map/ Reduce化。
[002引具体处理流程;①用户请求挖掘服务,并将关联规则需要的最小支持度、置信度 由用户来设置;②接收到请求的主程序需向名字节点申请相关的数据文件,对空闲节点列 表进行访问,分配任务给空闲的计算节点,将各个计算节点所需的存储策略存储节点的算 法进行调度与并行处理;⑨将每个计算节点利用Map函数进行<key,value〉对映射与新 键值的处理,生成一个局部候选频繁K项集,用C;来表示,每一G的支持度用1表示;④利 用Re化ce函数进行调用计算,累加每个计算节点上相同的候选项集的支持度,W生成一个 实际的支持度,对比用户申请时设置的最小支持度,W产生局部频繁K项集的集合,用4表 示;⑥合并所有的处理结果,W产生全局频繁K项集Lk。
[0029]根据本发明的另一方面,提出了可选的关联规则算法:
[0030] (1)为了获得较好的负载均衡,W固定大小的数据集为一个单位进行分配,将数据 层的数据库水平均匀地划分成n个子集,将其发送到m个工作节点。
[0031]似候选项集X的支持度的累加数记为3州111_3啡狂),设定每个3州111_3啡狂)的初 始值均为1,每个工作节点扫描各自分配到的子集,产生一个包含候选1-项集到候选K-项 集的集合,记作CP。
[003引(3)预先定义分区函数,将m个工作节点生成的候选1-项集到候选K-项集分成r 个不同的分区,连同各自acum_sup发送到r个节点。各节点把同一项集的acum_sup累加, 得到各项集的最终acum_sup,将其与设定的最小支持度的累加数SUP_min进行比较,删除 支持度小于SUP_min的项集,确定一个局部的频繁项集集合Lp。
[003引(4)合并所有节点的结果,就生成全局的频繁项集集合L。
[0034] (5)根据设定的最小置信度min_con遍历频繁项集,得到强关联规则,算法结束。
[0035] 改进的关联规则算法只需要扫描一遍数据层的数据库就能找到所有的频繁项集。
[0036] 上述改进的关联规则算法可W用Map/Re化ce编程模型来实现,具体的操作过程 如下;(l)Map/Re化ce将数据层的数据库水平地划分成n块,通过参数决定每块的大小(本 发明中设定每块的大小为16Mb)。把n个数据子集发送到m个执行Map任务的节点。由主 程序负责调度,将处理任务分配给处于空闲列表中的工作程序。
[0037] 似格式化n个数据子集,产生(ID,VaU化其中ID表示数据库中的事务ID,Val 为相应事务ID对应的列表值。
[003引(3)Map函数对输入的每个(ID,VaU进行扫描,生成一个局部候选1-项集到候选k-项集的集合CP。每个候选项集的acum_sup初始值都设定为1。Map函数输出中间结果 (Item_set,1)对,其中Item_set表示CP中的候选项集。
[0039] (4)首先在每个执行Map函数的工作程序上增加预定义的可选的分区函数,将Map 函数产生的中间结果进行合并,输出中间键值对(Item_set,sup),sup表示Item_set在数 据子集中的acum_sup的累加值,然后利用散列函数:
[0040]
[0041] 其中mi-nik为K-项集中的项在数据库的项集中对应的序号,按升序排列,r为划分 的不同分区的数目),将分区函数产生的(Item_set,sup)分成r个分区,主程序负责将各 分区分配到对应的Re化ce函数。
[0042](5)Re化ce节点读取分区函数提交的键值对(Item_set,sup),对其进行排序及合 并后,形成(Item_set,list(sup)),再进行相应Re化ce操作,得到各候选项集在D中的实际 支持度累加数,保留所有大于等于最小支持度累加数SUP_min的候选项集,即是局部频繁 项集的集合LP。合并r个分区中Re化ce函数输出的项集,得到最终的频繁项集的集合L。
[0043] (6)当完成全部的Map操作和Re化ce操作后,用户程序被主程序所激活,Map/ Re化ce返回到相应的调用点。
[0044] 在多元时间序列数据挖掘的前期任务中,相似性度量也是一项重要的工作,度量 质量直接影响着后期数据处理的性能和质量。本发明进一步的方面在运行数据挖掘算法之 前利用改进的相似性度量方法,利用PCA对多元时间序列进行特征表示,获得相应的特征 矩阵并构建相应的正交坐标系。度量2个多元时间序列对应正交坐标系中不同坐标轴之间 的距离,计算其之间的最小距离。
[0045] 若2个多元时间序列A。lXm和B"2Xm,通过PCA方法得到相应的特征矩阵为U。和Ub, 且Ug= [Uai,Ua2*"uJ和Ub= [Ubi,Ub2…Ub。],则计算由特征矩阵Ug和Ub中向量所形成的坐 标系中前k个坐标轴之间的相似性,即
[0046]Sim(i,_]?) =<Uai,Ubj>=Icos0U
[0047] 因此将任意2条坐标轴之间的相似性转化为相应的相似性度量公式,即
[0048] d(i,j) = 1-|cosPU
[0049] 通过夹角公式计算2个多元时间序列对应前k个特征向量中任意2个向量之间的 夹角距离矩阵;
[0化0] 利用二分图最小匹配问题的函数对夹角距离矩阵进行最小距离计算。
[0051] 在数据分类方面,本发明另一优选的实施例的算法分两个阶段,第一个阶段通过 区域划分方法,将空间划分为稳定区域、临界区域、增量处理区域。第二个阶段通过多中屯、 向量,实现增量分类,算法的复杂度和存储开销均有不同程度的下降,适合于对大数据进行 分类。
[0化引区域划分算法首先按照类别K-means聚类训练样本,然后在不同类别的子集之间 进行类间调整,划分空间为若干区域。
[0化3] 步骤1数据集预处理,量化样本属性为数值类型。
[0化4] 步骤2根据先验知识,将训练样本F按属性类进行k-means聚类。
[005引步骤3若聚类后的子集存在空间重叠,则需要调整,调整方法如下:
[0056] Step1设一个集合U=0空集。
[0057] Step2对于任意两个不属于同一类的子集A和B,若存在实例集{xi,X2,. . .,x。}属 于子集A,且每一个实例X有|X,A|〉|X,B| (|X,A|表示实例X到到子集A的马氏距离),或 者存在实例集{Xi,X2, . . .,X。}属于B,且实例集中{Xi,X2, . . .,X。}的每一个实例X有IX, AI<IX,BI,若实例集{xi,X2, . . .,X。}的实例数大于设置的参数阔值0,则将A和B集合加 入集合U。
[0化引 Step3如果U=0,算法结束;否则转St巧4。
[0化9]Step4将U集合中的子集按属性类分别k-means聚类分为2个子集,若已分类实 例集{xi,X2, ...,X。},则保留两个新子集,置集合U为空,转至Step2,若没有分类,固龄至 st巧4。
[0060] steps若类域空间中的子集所有样本的{Xi,X2,…,X。}(其中n是子集的实例 数,)都相同,则将该子集空间称为稳定域;若子集所有样本的{Xi,X,,...,X。}属于不同的 类别,则将该子集的空间称为临界区域,样本空间中,除了稳定区域和临界区域,剩下的所 有空间,称为增量处理区域。
[0061] 临界区域的处理;通过统计落入各个临界区域内,每一个类别的实例数,用其中最 大样本实例数的类别代表该临界区域的类别,该样,当有一个未知类,落入临界区域中,可 W快速的将该样本分类给所代表的类别,无论样本增加多少,总是用统计中落入各个临界 区域的样本实例数最多的类别代表该区域类别。
[0062] 稳定区域的处理;在训练样本空间足够大的情况下,落入稳定区域的样本,直接分 类给该稳定子集所代表的类域。
[0063] 增量处理区域的处理:对于增量处理区域,利用增量处理方法,用来分类落入增量 处理区域的样本。
[0064] 本发明实施例的分类算法包括5个步骤:
[0065] 步骤1按上述量化方法,量化增量样本为数值类型。
[0066] 步骤2分类增量样本,增量样本将落入临界区域、稳定区域、临界区域。稳定区域 和临界区域的增量样本直接分类给区域代表类,而落入增量处理区域的的样本要转步骤3 处理。
[0067]步骤3对于落入增量处理区域的样本集合S,若不是首次处理,跳转至步骤4,若是 第一次处理,则将集合S按照属性类,使用欧式距离作为度量方式,求出中屯、向量集合P,最 小距离算法分类集合S,生成错误分类集合a,随机W集合a中的实例X为新增加的中屯、 向量,再次分类集合S,若新中屯、向量的适应度r〉o,则实例X为新的中屯、向量,加入集合P, 从集合S中去除正确分类的所有实例,重复该步骤,直到查找所有的新中屯、向量。
[0068]步骤4判断落入增量处理区域空间的实例总数SUM是否达到预设的样本总数阔值 〇,若达到,落入增量处理区域的实例总数SUM= 0,分类代表样本集合J,重新进行区域划 分。若没有达到阔值〇,重新计算落入增量处理区域的实例总数SUM,在已有的中屯、向量集 合P基础上,分类集合以得到错误分类集合n,将代表样本集合加入新训练集合,随机W集 合中的实例X作为新增加的中屯、向量,再次分类新训练样本,若实例X的中屯、向量适应 度r〉〇,则实例X作为新的中屯、向量加入集合P,重复该步骤,直到查找所有的新中屯、向量。
[0069]步骤5,重新从落入增量处理区域的样本,选取代表样本,最后保留代表样本。
[0070]综上所述,本发明提出了一种物联网数据高效分析方法,采用分布式处理方式实 现物联网海量数据的分析和挖掘,有效提高了物联网中的数据处理效率。
[0071] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可W用通用 的计算系统来实现,它们可W集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可W用计算系统可执行的程序代码来实现,从而,可W将它们存储 在存储系统中由计算系统来执行。该样,本发明不限制于任何特定的硬件和软件结合。
[0072] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者该种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种物联网数据高效分析方法,其特征在于,包括: 数据分析系统以Hadoop为平台,将物联网中的射频标签数据进行过滤、转换、合并处 理,并在分布式系统中保存;应用副本策略将数据文件的副本在不同节点上保存,将Map/ Reduce的数据处理策略存储在策略存储节点中; 主程序创建与管理要执行的任务,将任务分配至空闲状态的工作程序,工作程序结合 Map/Reduce进行操作处理,然后通过主程序汇总最终结果并向用户反馈。2. 根据权利要求1所述的方法,其特征在于,所述包括数据层、处理策略层、处理层, 数据层的名字节点用于接收用户的请求,同时向用户返回存储数据的计算节点的IP地址, 并向其它接收副本的计算节点发送通知;数据分析处理的算法利用主程序来进行控制与管 理,向相关节点传送算法实现计算,处理层数据任务处理流程包括:①主程序查找空闲的计 算节点,并将其放置在空闲节点列表中;②主程序接收用户请求,并获取计算节点各个数据 块中的存储信息;③主程序向处理策略存储节点申请需要的处理策略,而后通过处理策略 存储节点将所需算法传送给计算节点;④在服务器中根据计算任务启动工作,将工作完成 结果传送给主程序,主程序经过汇总生成最终结果并反馈给用户。3. 根据权利要求2所述的方法,其特征在于,在上述处理层中,借助Map/Reduce模式, 只在Reduce过程中需要将计算结果传送给主程序,所述Map/Reduce操作过程进一步包 括: ① 依据预设参数将输入文件分割成预设大小的M块; ② 空闲工作程序接收到主程序分配的M个Map或R个Reduce处理任务; ③ 工作程序在处理Map任务时对处理数据进行读取,而后将键值对〈key,value〉传送 给Map函数并产生中间结果,将其缓存在内存中,定时向本地硬盘传送缓存的中间结果,以 分区函数将其划分为R个区块,将本地硬盘所接收数据的位置信息通过主程序向Reduce函 数传送; ④ 依据主程序传送的文件信息,Reduce工作程序通过远程读取方式来寻找相对应的本 地文件,有序排列文件中的中间key,再通过远程方式向执行的Reduce发送信息; ⑤ 根据key排序后的中间数据,Reduce工作程序将key与相应的中间结果集传送给 Reduce函数,并以最终输出文件来构造最后的结果; ⑥ 完成全部的Map与Reduce任务后,MapReduce返回用户程序的调用点,并通过主程 序来激活用户程序。4. 根据权利要求3所述的方法,其特征在于,所述数据处理策略包括关联规则算法,所 述关联规则算法利用分布式存储扫描数据库,查找频繁项集所获得的关联规则,在各个计 算节点中并行进行扫描处理,由此获得各计算节点上的局部频繁项集,然后利用主程序将 实际的全局的支持度、频繁项集统计与确定出来。
【专利摘要】本发明提供了一种物联网数据高效分析方法,该方法包括:数据分析系统以Hadoop为平台,将物联网中的射频标签数据进行过滤、转换、合并处理,并在分布式系统中保存;应用副本策略将数据文件的副本在不同节点上保存,将Map/Reduce的数据处理策略存储在策略存储节点中;主程序创建与管理要执行的任务,将任务分配至空闲状态的工作程序,工作程序结合Map/Reduce进行操作处理,然后通过主程序汇总最终结果并向用户反馈。本发明提出了一种物联网数据高效分析方法,采用分布式处理方式实现物联网海量数据的分析和挖掘,有效提高了物联网中的数据处理效率。
【IPC分类】H04L29/08, G06F19/00
【公开号】CN104881581
【申请号】CN201510282313
【发明人】王美婷
【申请人】成都艺辰德迅科技有限公司
【公开日】2015年9月2日
【申请日】2015年5月28日
转载请注明原文地址:https://www.famiwei.com/read-8138495.html