CN108092743A - 基于集群的传感网系统网络编码数据包解码方法和系统 - Google Patents
基于集群的传感网系统网络编码数据包解码方法和系统 Download PDFInfo
- Publication number
- CN108092743A CN108092743A CN201711362700.5A CN201711362700A CN108092743A CN 108092743 A CN108092743 A CN 108092743A CN 201711362700 A CN201711362700 A CN 201711362700A CN 108092743 A CN108092743 A CN 108092743A
- Authority
- CN
- China
- Prior art keywords
- encoder matrix
- matrix
- cluster
- key
- value
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了基于集群的传感网系统网络编码数据包解码方法和系统,包括获取编码矩阵和文件内容;根据编码矩阵分别判断编码矩阵逆矩阵和接收编码矩阵是否存在;如果编码矩阵逆矩阵或接收编码矩阵存在,则读取文件内容至键值对中;当键值对中的涵义值不为空时,读取编码数据,并将编码数据写入编码矩阵逆矩阵和接收编码矩阵中;利用行列相乘法计算解码向量,得到接收编码矩阵中的元素。本发明通过将无线传感网和云计算技术相结合,以实现大规模传感网数据集下的网络编码数据包解码技术,具有实际应用需求。
Description
技术领域
本发明涉及传感网技术领域,尤其是涉及基于集群的传感网系统网络编码数据包解码方法和系统。
背景技术
无线传感网是一种无基础设施的无线网络,被誉为21世纪最重要技术之一。无线传感网综合了传感器技术、嵌入式计算、分布式处理和无线通信技术,它可以实现信息的实时监测、感知和采集,并对收集到的数据进行处理,以获取准确信息,方便决策。近年来,无线传感网(WSN,Wireless Sensor Networks)涉及领域域也越来越广,使用规模也越来越大。
在无线传感网中,由于网络节点所拥有的资源有限,使得节点的存储、计算能力相对较低,能量有限,通信距离短,通信带宽低,通信链路不可靠,这些问题都是制约无线传感网使用的限制因素。另外,大规模无线传感网使用,产生了数据量庞大的无线传感网感知数据。而且,无线传感网感知数据具有数据来源多、数据结构差异大、高度动态性和不确定性等特点。无线传感网的限制因素和感知数据的特点,使得如何提高无线传感网的资源利用率,以及如何实现无线传感网感知数据的有效存储和处理成为了一个亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供基于集群的传感网系统网络编码数据包解码方法和系统,通过将无线传感网和云计算技术相结合,以实现大规模传感网数据集下的网络编码数据包解码技术,具有实际应用需求。
第一方面,本发明实施例提供了基于集群的传感网系统网络编码数据包解码方法,包括:
获取编码矩阵和文件内容;
根据所述编码矩阵分别判断编码矩阵逆矩阵和接收编码矩阵是否存在;
如果所述编码矩阵逆矩阵或所述接收编码矩阵存在,则读取所述文件内容至键值对中;
当所述键值对中的涵义值不为空时,读取编码数据,并将所述编码数据写入所述编码矩阵逆矩阵和所述接收编码矩阵中;
利用行列相乘法计算解码向量,得到所述接收编码矩阵中的元素。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述编码数据包括第一编码数据和第二编码数据,所述键值对包括第一键值对和第二键值对,其中,所述第一键值对包括第一标识符和第一涵义值,所述第二键值对包括第二标识符和第二涵义值。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述如果所述编码矩阵逆矩阵或所述接收编码矩阵存在,则读取所述文件内容至键值对中包括:
在所述编码矩阵逆矩阵存在的情况下,依次读取所述文件内容至所述第一键值对中;
在所述接收编码矩阵存在的情况下,依次读取所述文件内容至第二键值对中。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述涵义值包括所述第一涵义值和所述第二涵义值,所述当所述键值对中的涵义值不为空时,读取编码数据,并将所述编码数据写入所述编码矩阵逆矩阵和所述接收编码矩阵中包括:
当所述第一涵义值不为空时,读取所述第一编码数据,并将所述第一编码数据写入所述编码矩阵逆矩阵中;
当所述第二涵义值不为空时,读取所述第二编码数据,并将所述第二编码数据分别写入所述接收编码矩阵中。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,还包括:
当所述第一涵义值为空的情况下,令所述编码矩阵逆矩阵中的元素为 0。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
当所述第二涵义值为空的情况下,令所述接收编码矩阵中的元素为0。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述集群包括主节点、备份节点和数据节点。
结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述主节点用于监视分布式文件系统以及数据并行计算;所述备份节点用于定期将所述集群的所述主节点上的镜像与操作日志合并保留;所述数据节点用于文件存储以及算法计算。
结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述备份节点还用于在所述主节点宕机的情况下利用保留的文件进行所述主节点的恢复。
第二方面,本发明实施例提供了基于集群的传感网系统网络编码数据包解码系统,包括:
获取单元,用于获取编码矩阵和文件内容;
判断单元,用于根据所述编码矩阵分别判断编码矩阵逆矩阵和接收编码矩阵是否存在;
读取单元,用于在所述编码矩阵逆矩阵或所述接收编码矩阵存在的情况下,读取所述文件内容至键值对中;
写入单元,用于当所述键值对中的涵义值不为空时,读取编码数据,并将所述编码数据写入所述编码矩阵逆矩阵和所述接收编码矩阵中;
解码单元,用于利用行列相乘法计算解码向量,得到所述接收编码矩阵中的元素。
本发明提供了基于集群的传感网系统网络编码数据包解码方法和系统,包括获取编码矩阵;根据编码矩阵判断编码矩阵逆矩阵是否存在,依次读取文件内容至第一键值对中,第一键值对包括第一标识符和第一涵义值;根据编码矩阵判断接收编码矩阵是否存在,依次读取文件内容至第二键值对中,第二键值对包括第二标识符和第二涵义值;当第一标识符或第二标识符不为空时,读取第一编码数据或第二编码数据,并将第一编码数据和第二编码数据分别写入编码矩阵逆矩阵和接收编码矩阵中;计算解码向量得到接收编码矩阵中的元素。本发明通过将无线传感网和云计算技术相结合,以实现大规模传感网数据集下的网络编码数据包解码技术,具有实际应用需求。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于集群的传感网系统网络编码数据包解码方法流程图;
图2为本发明实施例提供的分布式系统基础架构Hadoop集群示意图;
图3为本发明实施例提供的矩阵相乘过程示意图;
图4为本发明实施例提供的基于集群的传感网系统网络编码数据包解码系统示意图;
图5为本发明实施例提供的网络拓扑图;
图6为本发明实施例提供的能量消耗对比示意图;
图7为本发明实施例提供的网络能量负载均衡对比示意图;
图8为本发明实施例提供的解码时间与解码任务量的关系示意图;
图9为本发明实施例提供的集群处理速度和机器数量的关系示意图。
图标:
10-获取单元;20-判断单元;30-读取单元;40-写入单元;50-解码单元。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在无线传感网中,由于网络节点所拥有的资源有限,使得节点的存储、计算能力相对较低,能量有限,通信距离短,通信带宽低,通信链路不可靠,这些问题都是制约无线传感网使用的限制因素。另外,大规模无线传感网使用,产生了数据量庞大的无线传感网感知数据。而且,无线传感网感知数据具有数据来源多、数据结构差异大、高度动态性和不确定性等特点。无线传感网的限制因素和感知数据的特点,使得如何提高无线传感网的资源利用率,以及如何实现无线传感网感知数据的有效存储和处理成为了一个亟待解决的问题。基于此,本发明实施例提供的基于集群的传感网系统网络编码数据包解码方法和系统,通过将无线传感网和云计算技术相结合,以实现大规模传感网数据集下的网络编码数据包解码技术,具有实际应用需求。
为便于对本实施例进行理解,首先对本发明实施例所公开的基于集群的传感网系统网络编码数据包解码方法进行详细介绍。
实施例一:
参照图1,基于集群的传感网系统网络编码数据包解码方法可具体分解为以下若干步骤,详细为:
步骤S101,获取编码矩阵、编码矩阵的位置和文件内容;
步骤S1021,根据编码矩阵判断编码矩阵逆矩阵是否存在;
步骤S1022,在编码矩阵逆矩阵存在的情况下依次读取文件内容至第一键值对中,其中,第一键值对包括第一标识符和第一涵义值;
步骤S1031,根据编码矩阵判断接收编码矩阵是否存在;
步骤S1032,在接收编码矩阵存在的情况下依次读取文件内容至第二键值对中,其中,第二键值对包括第二标识符和第二涵义值;
步骤S104,当第一涵义值或第二涵义值不为空时,读取第一编码数据或第二编码数据,并将第一编码数据和第二编码数据分别写入编码矩阵逆矩阵和接收编码矩阵中;
步骤S105,利用行列相乘法计算解码向量,得到所接收编码矩阵中的元素。
进一步地,当第一涵义值为空的情况下,令编码逆矩阵中的元素为0。
进一步地,当第二涵义值为空的情况下,令接收编码矩阵中的元素为0。
进一步地,分布式系统基础架构Hadoop(分布式系统基础架构)集群包括主节点、备份节点和数据节点。
进一步地,主节点用于监视分布式文件系统以及数据并行计算;备份节点用于定期将Hadoop集群的主节点上的镜像与操作日志合并保留;数据节点用于文件存储以及算法计算。
进一步地,Hadoop集群中的主节点数量为1,备份节点的数量为1,数据节点的数量为4。
进一步地,备份节点还用于在主节点宕机的情况下利用保留的文件进行主节点的恢复。
进一步地,在主节点、备份节点和数据节点处对应设置有服务器,服务器之间通过千兆交换机连接,并通过企业级路由器与外界通信。
进一步地,服务器的配置均为社区企业操作系统Centos6.5的64位系统。
图4为本发明实施例提供的基于集群的传感网系统网络编码数据包解码系统示意图。
参照图4,基于集群的传感网系统网络编码数据包解码系统,包括:
获取单元10,用于获取获取编码矩阵和文件内容;
判断单元20,用于根据编码矩阵分别判断编码矩阵逆矩阵和接收编码矩阵是否存在;
读取单元30,用于在编码矩阵逆矩阵或接收编码矩阵存在的情况下,读取文件内容至键值对中;
写入单元40,用于当键值对中的涵义值不为空时,读取编码数据,并将编码数据写入编码矩阵逆矩阵和接收编码矩阵中;
解码单元50,用于利用行列相乘法计算解码向量,得到接收编码矩阵中的元素。
本发明提供了基于集群的传感网系统网络编码数据包解码方法和系统,包括获取编码矩阵;根据编码矩阵判断编码矩阵逆矩阵是否存在,依次读取文件内容至第一键值对中,第一键值对包括第一标识符和第一涵义值;根据编码矩阵判断接收编码矩阵是否存在,依次读取文件内容至第二键值对中,第二键值对包括第二标识符和第二涵义值;当第一标识符或第二标识符不为空时,读取第一编码数据或第二编码数据,并将第一编码数据和第二编码数据分别写入编码矩阵逆矩阵和接收编码矩阵中;计算解码向量得到接收编码矩阵中的元素。本发明通过将无线传感网和云计算技术相结合,以实现大规模传感网数据集下的网络编码数据包解码技术,具有实际应用需求。
实施例二:
下面将对本发明实施例中的核心技术点进行阐述。
本发明实施例设计的基于网络编码的传感数据流并行计算系统将无线传感网中经过编码的数据块的解码工作放在Hadoop集群中进行。这是由于在无线传感网中,节点所携带的能量供应资源有限,而且由于节点计算资源有限,在节点上进行解码工会增加节点负担,而Hadoop集群的计算能力强大而且能量资源供应充足。
网络编码的计算过程本质上是矩阵的相乘计算。常用的矩阵乘法有:行列相乘法、矩阵分块运算、最小粒度相乘算法等。
(1)行列式相乘对矩阵规模有很强的限制,如果矩阵规模较大,则集群中可能由于节点内存限制而导致矩阵加载失败,从而导致运算无法进行。
(2)如果矩阵过大,可以利用矩阵天然的可分块特性对矩阵采用分块计算。但是,矩阵分块运算受限于矩阵分块方法,块与块之间运算和组织过程繁杂。
(3)最小粒度相乘算法是为了解决行列式相乘算法和分块矩阵相乘算法受限于内存大小而提出的。但是在编程模型MapReduce(Map为映射,Reduce 为归约)中,采用最小粒度算法,会导致极高的副本拷贝代价,造成极大的I/0消耗。例如矩阵Am×r和矩阵Br×n相乘,所需的查询消耗为 m×r×m+r×n×n,这是系统所不能接收的。
由以上分析易知,行列式相乘是最简单易行的矩阵计算方法。编码矩阵是由无线传感网中节点生成的,无线传感中节点的计算能力和能量供应能力有限,携带数据量小,所以不会产生大规模的编码矩阵。所以在本发明实施例中采用行列相乘法来设计Hadoop集群中的编码解码算法。
下面介绍行列相乘法,具体来说是分别将两个矩阵的对应行列对应元素相乘,并累加求和,得到新矩阵中元素的值。假设矩阵Am×r为m×r矩阵,矩阵Br×n为r×n矩阵,则AB所得到的结果矩阵C为Cm,n。矩阵C中元素Ci,j的值是Am×r矩阵中第i行和Br×n矩阵中第j列元素分别相乘之后累加的结果。C 中元素值计算公式如公式(1):
关于Hadoop集群中解码方法,本发明实施例中稀疏矩阵是通过RS码获取的,解码过程和纠删码相同。以下我们重点介绍解码过程,以及如何在Hadoop集群中利用MapReduce框架实现分布式并行解码。
我们利用获取的目的编码矩阵D对文件F'进行了编码,且编码之后能够容忍n-k的删除错误。接下来具体介绍解码过程,设在Hadoop集群中接收到的编码数据构成矩阵F″,且假设数据在传输过程中产生丢包,如公式 (2)所示。
在解码时在编码矩阵中删除丢失的数据块所对应的行,此处假设行 Fk-1,Fk发生了丢失。编码矩阵是根据RS码(Reed-solomon codes,里所码) 所设计的,所以易知在编码矩阵中任意k行线性无关,即在编码矩阵D中,任意k行所构成的子矩阵D'k×k可逆。则解码过程如公式(3):
由上可以看出,网络编码的计算实质是矩阵运算。要想矩阵计算能够在Hadoop集群中分布式进行,则需要对计算过程进行分析,寻找计算过程中的相互独立的过程,以便实现计算颗粒化,从而最终实现将计算转化为 Map和Reduce任务。在矩阵行列相乘时,结果矩阵中各个元素的计算相互独立,所以在Hadoop集群中进行解码时,矩阵相乘可以将计算Fi×1涉及的元素集中到Map阶段的key中,在Reduce阶段则可以从计算结果中解析出各个元素来解码出Fi×1。
为了方便描述,我们将D'k×k的逆矩阵表示为D″k×k,且其元素用d″i,j表示。易知,在计算过程中,d″1,1会被求解F1的计算过程所使用。F″中的元素表示为F″i×1,则在计算时F″中的元素F1会被求解Fi,1(1≤i≤k)的计算过程所使用,所以,在本文中Map阶段设计键值对key/value(key为标识符,value为涵义值)时,对D″k×k中元素d″i,j其键值对可以表示为:key=(i,k),k=1,value=('d″',j,d″i,j);对于F″中元素F″i×1,其键值对可以表示为: key=(i,1),i=1,2,…,k,value=('F″',i,F″i×1)。
为了便于理解,本发明实施例提供了一个简单的实例,如矩阵A3×3和矩阵B3×1相乘,其中A3×3中元素表示为ai,j,B3×1中元素表示为bi,j。在 HDFS(commodity hardware,分布式文件系统)中矩阵A3×3和矩阵B3×1的存储形式分别为表1和表2所示。
利用上述设计的键值对来划分MapReduce任务,则MapReduce中矩阵 A3×3、B3×1相乘的计算过程如图3所示。
在HDFS中进行矩阵存储时,稀疏矩阵中零元素不予存储,Map节点负责读取HDFS中存储的矩阵数据到键值对,Reduce阶段根据相同key中对应的键值对来解码数据。
上面我们分析了在Hadoop集群中利用MapReduce框架来实现矩阵计算的详细细节,在本发明实施例提供的基于网络编码的传感网数据流并行计算方法和系统中,需要利用Hadoop集群来对数据进行解码,对无线传感网感知数据的解码工作,需要设计对应的分布式算法,算法如步骤S101至步骤S104所示。
实施例三:
下面对本发明实施例提供的Hadoop集群构架进行详细叙述。
CDH(Cloudera Distribution Hadoop)是Cloudera(Hadoop生态系统知名公司)对Apache(知名Web服务器软件)开源Hadoop做出相关改变之后推出的一款适用于生产环境的商业化Hadoop版本。CDH基于稳定的ApacheHadoop版本构建,并集成了很多补丁,同时也由Cloudera公司提供相关维护。CDH提供分布式存储和分布式计算等Hadoop核心元素,CDH 能够存储任何类型数据,并提供批处理、交互式SQL(Structured Query Language,结构化查询语言)、文本搜索等多种不同的计算框架对数据进行处理,具有高度的灵活性。由于CDH是商业化产品,相对于开源Hadoop, CDH具有更高的稳定性和可用性。同时,CDH可以随Hadoop版本的改进而升级。
ClouderaManager是Cloudera公司针对CDH提供的集群端到端的集群管理应用程序。ClouderaManager是为了简化企业数据中心管理而设计的,提供了Hadoop及其他相关服务的自动化安装,极大简化了集群的部署时间和难度。ClouderaManager(管理平台)提供了集群管理实时监测界面,用户可以直观的了解集群运行状态。同时,ClouderaManager通过对集群进行诊断,提出相应的改进意见,帮助用户优化集群配置。ClouderaManager提供的主要功能如下:
(1)向导式Hadoop安装,极大简化了Hadoop部署;
(2)提供集群监控Web页面,实时监控集群运行状况;
(3)提供集中式中央控制台,方便更改集群配置;
(4)提供全面的集群诊断报告并给出相关改进意见,有助于用户优化集群配置。
在本发明实施例提供的基于网络编码的传感网数据流并行计算系统采用CDH集群来存储和处理数据,并且采用ClouderaManager对其进行管理。 Centos系统(CommunityEnterprise Operating System,社区企业操作系统) 具有安全、低维护、稳定的Linux环境。由于Centos具有以上提到的这些优点,使得Centos成为最受公司、企业、IDC(互联网数据中心)欢迎的 Linux版本。在发明实施例提供的系统中,采用Centos6.5(64位)系统。集群架构如图2所示。
在本文设计的系统的Hadoop集群部分,系统采用42U服务器机架,集群服务器之间通过千兆交换机连接,集群通过企业级路由器与外界通信。集群由六台服务器构成,主节点一台,备份节点一台,数据节点四台。集群服务器配置均为Intel Xeon E5520×2CPU,16G内存,Centos6.5(64位)系统。集群使用16端口多电脑切换器(KVM)对集群进行操作。
华为S1700系列交换机使用简单,支持802.1x、Protal、MAC等多种安全认证方式,提供二层线速交换能力,能够保证所有端口实现无阻塞报文转发,适用于企业、网吧、学校等以太网接入场景。在本文设计的系统中交换机采用华为S1700系列企业交换机,集群中各节点通过此交换机进行通信。
华为公司的AR1200-S商业系列路由器采用多核CPU、无阻塞交换架构,融合了路由、交换、3G/LTE、WLAN以及安全等多种业务,可以为客户提供ALL-in-One的灵活组网功能。AR1200-S适用于中小型办公室或者中小型企业的多业务路由器。在本文中我们使用AR1200-S路由器来进行集群与外网的通信。
在Hadoop集群中,主节点主要负责监控两个核心功能:Hadoop分布式文件系统(HDFS)和数据并行计算(MapReduce)。主节点负责监控以及协调HDFS工作,JobTrackerJobTracker是整个MapReduce计算框架中的主服务,相当于集群的“管理者”,负责整个集群的作业控制和资源管理。负责监督及协调MapReduce计算。在主节点安装ClouderaManager管理系统,通过ClouderaManager引导CDH的安装。主节点上的ClouderaManager提供集群管理界面,可以通过管理界面及时监控集群运行状态,配置集群相关参数。
备份点负责定期将Hadoop集群主节点上的命名空间NameSpace镜像与操作日志(editlog)合并,生成fsimage.ckpt,以防止edit log文件过大,同时自身保留一份合并之后的文件,如果主节点宕机,备份节点保留的文件可以用于主节点恢复。
数据节点负责文件存储以及具体的MapReduce计算。数据存储和读取时,主节点会指定具体的数据节点存储和读取数据。在执行MapReduce作业时,主节点JobTracker会激活数据节点上的TaskTracker。在数据节点上, TaskTracker监控具体的作业,并提供心跳和作业状态给JobTracker。
Hadoop集群中相关设备的配置信息如表3中所示:
表3 Hadoop集群相关设备的配置信息
机架 | 42U服务器机架 |
KVM | 16端口 |
交换机 | 华为S1700 |
路由器 | 华为AR1200-S |
服务器 | Intel Xeon E5520×2CPU;32G内存;Centos6.5(64位)系统 |
上述介绍了系统的设计方案以及系统具体架构。文中对系统所采用的无线传感网网络结构进行了详细介绍,说明了在无线传感网使用网络编码的原因。详细介绍了采集终端和中继节点的结构设计,采用的硬件器材。同时对Hadoop集群所采用的硬件配置,软件部署进行了详细介绍。
实施例四:
实施例四重点介绍编码算法性能仿真分析,由于无线传感网中节点自身资源有限,导致无线传感网中节点进行数据传输时网络不稳定,数据容易丢失,带宽利用率低等缺点。在自身节点携带的能量资源有限的情况下,如何提高节点的能量利用效率成了有意义的研究课题。网络编码技术的提出,使得无线传感网的这些缺陷得以改进。在本发明实施例中,我们利用 RS编码设计稀疏矩阵对无线传感网数据传输时进行网络编码,以提高节点能量利用率。
在进行无线传感网数据网络编码仿真实验时,所使用的仿真环境中包括10个中继节点(图5中星号所示)和20个数据采集终端(图5中圆圈所示),所有节点的传输半径均设置为60m,实验中采用IEEE802.11bMAC 协议,设置信道的带宽为2Mbps。所有节点随机分布在200m*180m的矩形区域内。网络的拓扑图,如图5所示。我们采用此网络拓扑图对文中所提出的编码设计方案进行能量效果评估。
在数据采集终端所构成的无线传感网中,利用文中所设计的方法构造稀疏矩阵来对感知数据进行编码处理,以降低系统能量消耗,提高系统的能量效率。为了验证本文方法的有效性,文中就能量消耗方面,将本文所设计的编码算法和随机线性网络编码,RS编码进行比较。
通常在无线传感网络中,网络数据的发送和接收次数决定了整个网络的能量消耗。因此在进行实验中,衡量无线传感网中系统的能量消耗时,可以根据所有节点在工作过程中总的数据传输次数来对整个系统能量效率进行评估。在本文的实验中,设计k个数据采集终端采集的数据经过编码发送到n=k+2个中继节点。在k等于3时,采用稀疏矩阵D1;而当k值大于3 时,采用稀疏矩阵D2,如公式(6)(7)所示。
本发明实施例中,比较了不同编码算法在数据采集终端数量变化时的能量消耗,具体结果如图6所示。从图6我们可以观察到,在相同k值下,随机线性网络编码(RLNC)的能量消耗一直处于最高位置,Reed-Solomon 编码的能量消耗次之,本发明实施例提供的采用稀疏矩阵进行编码,所耗费的能量最低。随机线性网络编码的能量消耗最高,主要是由于它和另外两者相比,为了保证令人满意的解码正确率需要采用较大的有限域,从而导致能量消耗过大。由于本文设计的编码算法比RS码具有更高的稀疏度,所以本发明实施例的算法的能量消耗比RS码要低。而且图中显示,在k=3 时,RS编码和本发明实施例的编码能量消耗相同。这是由于k=3时,RS码和本发明实施例的编码稀疏度相当。
无线传感网中另一个评估网络能量效率的指标是网络的能量负载均衡。在无线传感网中,每个节点在对数据进行编码和传输时所消耗的能量,随着节点所使用的码字重量的增加而增加,而且节点的能量消耗与其使用的码字重量成正比。在图7中,我们将随机线性网络编码、RS编码和本发明实施例提出的方法在能量负载均衡方面进行了对比。验结果表明RS在能量负载均衡方面效果最差,而且其能量消耗标准差远远高于RLNC和本文提出的方法。这主要是由于RS码所使用的码字相互之间权重相差较大,破坏了编码的能量负载均衡。在能量消耗实验中,RLNC在能量消耗总量方面效果最差,但是在能量负载均衡上,其效果和本文提出的方法接近。RLNC 能够达到较好的能量负载均衡,主要是由于RLNC编码的码字是通过随机获取,从而导致编码权重等于期望。
上述对本发明实施例提供的解码算法和提出的改进的k-means算法进行了相关实验。实验利用OracleVMVirtualbox建立了6台机器,机器内存 3GB,处理器核心数为2,CPU运行峰值设置为为100%。实验中使用的操作系统为CentOS6.5,java版本为jdk8.0,Hadoop版本为Hadoop1.2.1。实验中,6台虚拟机构成Hadoop分布式集群,其中主节点1台,数据节点5台。
在无线传感网中,网络的计算资源,存储资源和能量资源都很有限,编码数据的解码工作如果放在无线传感网中进行,会对无线传感网造成极大的负担。而且,数据量巨大,会导致极大的解码时延。
在本发明实施例提供的基于网络编码的传感网数据流并行计算方法中,将对无线传感网的感知数据的解码工作放在Hadoop集群中进行。主要是由于集群具有强大的计算能力和存储能力,而且其能量资源充足,完全能够应对大规模的无线传感网感知数据处理。以下主要针对分布式解码进行了相关实验。
在表4中,我们给出了集群中不同数量节点在处理相同任务时的时间变化率和处理时间的加速比。
表4执行时间变化率和加速比
节点数 | 时间变化率 | 加速比 |
1 | 无 | 无 |
2 | 50% | 0.71 |
3 | 33.4% | 0.53 |
4 | 25% | 0.35 |
5 | 20% | 0.18 |
从表中我们可以看到随着集群数量的增加,加速比在不断的减小,这说明集群数量的增加的确会加快集群处理任务的速度。同时从表中,我们可以看到,在机器数量由1台增加到2台时,集群的任务处理时间变化率很大,而后面机器数量再读增加时,任务执行时间变化相对平缓。这主要是由于集群时候大规模数据处理,在数据量庞大,计算过程多时,集群机器的数量对集群性能影响巨大。在数据规模小,计算需求低时,较少的机器就可以完成用户任务,而且性能也能令人满意,集群机器数量的增加对集群的性能影响相对较小。
本发明实施例还探究了在利用MapReduce分布式计算框架进行解码时,map数量一定时,解码时间和任务量之间的关系。在Hadoop中,map 的任务数量主要和MinInputSplitSize和MaxInputSplitSize这两个参数有关。在Hadoop1.X中,数据块的大小默认为blockSize=64MB。如果设置 MaxInputSplitSize的值小于blockSize则可以实现map任务数量的增加;设置MinInputSplitSize大于blockSize,则可减少map任务数量。
本发明实施例在试验中,通过设置参数,改变map任务数量,以保证实验中所有节点能够按要求启动MapReduce任务。实验中,我们测试了在任务量增加的情况下,节点数和节点计算时间关系。实验结果如图8中所示。
从图8中,我们可以观察到在任务量相同时,节点数量的增加,能有效降低集群的处理时间。同时,我们也能看到,在任务量相同时,集群数量的增加对集群执行速度的影响逐渐变小。这是由于集群适合大规模数据集的处理,在集群机器数量增加时,每个节点负责的任务量减少,集群的计算时间和通信时间的比值在降低,所以导致任务量相同时,集群数量对集群执行速度的影响在逐渐降低。这一点和我们在表4中的分析相一致。
Hadoop集群具有天然的可扩展性,即集群中节点的数量可以随业务的需要而增减。在本文中,我们也对本文设计的基于MapReduce的分布式并行解码算法在集群中的扩展性进行了实验。在理论上,集群的处理速度应该和集群的机器数量呈正相关,即集群处理速度应该随着集群机器数量增加而增加,如图9中理论值数据线所示。
在本发明实施例中,我们对不同机器数量下集群的计算速度进行了测试,结果如图9中的实际值数据线所示。从图中,在Hadoop集群中进行的并行解码算法具有很好的可扩展性。在集群数量超过2台时,处理速度上升没有之前迅速。这主要是Hadoop集群适合处理大规模数据集,数据量大时,集群中机器的数量对集群效率影响很大;数据量偏小时,机器量对集群的效率影响会相对减小。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.基于集群的传感网系统网络编码数据包解码方法,其特征在于,包括:
获取编码矩阵和文件内容;
根据所述编码矩阵分别判断编码矩阵逆矩阵和接收编码矩阵是否存在;
如果所述编码矩阵逆矩阵或所述接收编码矩阵存在,则读取所述文件内容至键值对中;
当所述键值对中的涵义值不为空时,读取编码数据,并将所述编码数据写入所述编码矩阵逆矩阵和所述接收编码矩阵中;
利用行列相乘法计算解码向量,得到所述接收编码矩阵中的元素。
2.根据权利要求1所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,所述编码数据包括第一编码数据和第二编码数据,所述键值对包括第一键值对和第二键值对,其中,所述第一键值对包括第一标识符和第一涵义值,所述第二键值对包括第二标识符和第二涵义值。
3.根据权利要求2所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,所述如果所述编码矩阵逆矩阵或所述接收编码矩阵存在,则读取所述文件内容至键值对中包括:
在所述编码矩阵逆矩阵存在的情况下,依次读取所述文件内容至所述第一键值对中;
在所述接收编码矩阵存在的情况下,依次读取所述文件内容至所述第二键值对中。
4.根据权利要求2所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,所述涵义值包括所述第一涵义值和所述第二涵义值,所述当所述键值对中的涵义值不为空时,读取编码数据,并将所述编码数据写入所述编码矩阵逆矩阵和所述接收编码矩阵中包括:
当所述第一涵义值不为空时,读取所述第一编码数据,并将所述第一编码数据写入所述编码矩阵逆矩阵中;
当所述第二涵义值不为空时,读取所述第二编码数据,并将所述第二编码数据分别写入所述接收编码矩阵中。
5.根据权利要求2所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,还包括:
当所述第一涵义值为空的情况下,令所述编码矩阵逆矩阵中的元素为0。
6.根据权利要求2所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,还包括:
当所述第二涵义值为空的情况下,令所述接收编码矩阵中的元素为0。
7.根据权利要求1所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,所述集群包括主节点、备份节点和数据节点。
8.根据权利要求7所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,所述主节点用于监视分布式文件系统以及数据并行计算;所述备份节点用于定期将所述集群的所述主节点上的镜像与操作日志合并保留;所述数据节点用于文件存储以及算法计算。
9.根据权利要求7所述的基于集群的传感网系统网络编码数据包解码方法,其特征在于,所述备份节点还用于在所述主节点宕机的情况下利用保留的文件进行所述主节点的恢复。
10.一种基于集群的传感网系统网络编码数据包解码系统,其特征在于,包括:
获取单元,用于获取编码矩阵和文件内容;
判断单元,用于根据所述编码矩阵分别判断编码矩阵逆矩阵和接收编码矩阵是否存在;
读取单元,用于在所述编码矩阵逆矩阵或所述接收编码矩阵存在的情况下,读取所述文件内容至键值对中;
写入单元,用于当所述键值对中的涵义值不为空时,读取编码数据,并将所述编码数据写入所述编码矩阵逆矩阵和所述接收编码矩阵中;
解码单元,用于利用行列相乘法计算解码向量,得到所述接收编码矩阵中的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711362700.5A CN108092743B (zh) | 2017-12-15 | 2017-12-15 | 基于集群的传感网系统网络编码数据包解码方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711362700.5A CN108092743B (zh) | 2017-12-15 | 2017-12-15 | 基于集群的传感网系统网络编码数据包解码方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108092743A true CN108092743A (zh) | 2018-05-29 |
CN108092743B CN108092743B (zh) | 2021-12-03 |
Family
ID=62175861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711362700.5A Active CN108092743B (zh) | 2017-12-15 | 2017-12-15 | 基于集群的传感网系统网络编码数据包解码方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108092743B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237307A (zh) * | 2008-03-05 | 2008-08-06 | 中科院嘉兴中心微系统所分中心 | 基于分布式空时分组码译码转发的无线传感网协同分集方案 |
CN101291197A (zh) * | 2008-03-05 | 2008-10-22 | 中科院嘉兴中心微系统所分中心 | 两跳无线传感器网络放大转发功率分配传输方案 |
CN101867486A (zh) * | 2010-06-08 | 2010-10-20 | 江苏大学 | 一种无线传感器网络故障诊断方法 |
CN102665206A (zh) * | 2012-04-26 | 2012-09-12 | 北京邮电大学 | 用于无线传感器网络数据采集的网络编码方法 |
CN107070590A (zh) * | 2016-12-30 | 2017-08-18 | 南京海道普数据技术有限公司 | 基于MapReduce的WSN感知数据分布式解码方法 |
-
2017
- 2017-12-15 CN CN201711362700.5A patent/CN108092743B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237307A (zh) * | 2008-03-05 | 2008-08-06 | 中科院嘉兴中心微系统所分中心 | 基于分布式空时分组码译码转发的无线传感网协同分集方案 |
CN101291197A (zh) * | 2008-03-05 | 2008-10-22 | 中科院嘉兴中心微系统所分中心 | 两跳无线传感器网络放大转发功率分配传输方案 |
CN101867486A (zh) * | 2010-06-08 | 2010-10-20 | 江苏大学 | 一种无线传感器网络故障诊断方法 |
CN102665206A (zh) * | 2012-04-26 | 2012-09-12 | 北京邮电大学 | 用于无线传感器网络数据采集的网络编码方法 |
CN107070590A (zh) * | 2016-12-30 | 2017-08-18 | 南京海道普数据技术有限公司 | 基于MapReduce的WSN感知数据分布式解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108092743B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9032072B2 (en) | Real-time compressive data collection for cloud monitoring | |
CN105224606B (zh) | 一种用户标识的处理方法及装置 | |
US20120239799A1 (en) | Network system management | |
Mehdipour et al. | Fog computing realization for big data analytics | |
Zhu et al. | Monitoring big process data of industrial plants with multiple operating modes based on Hadoop | |
Akrivopoulos et al. | A fog computing-oriented, highly scalable iot framework for monitoring public educational buildings | |
CN105871957A (zh) | 监控框架设计方法和监控服务器、代理单元、中控服务器 | |
CN105827678B (zh) | 一种基于高可用架构下的通信方法和节点 | |
Raptis et al. | On efficiently partitioning a topic in apache kafka | |
Li et al. | Data analytics for fog computing by distributed online learning with asynchronous update | |
CN113965587B (zh) | 一种人工智能平台的数据获取方法、装置、设备、介质 | |
US9571353B1 (en) | Compact service status processing | |
CN106254452A (zh) | 云平台下的医疗大数据访问方法 | |
Fan et al. | An adaptive feedback load balancing algorithm in HDFS | |
Wang et al. | On the tradeoff of availability and consistency for quorum systems in data center networks | |
CN108092743A (zh) | 基于集群的传感网系统网络编码数据包解码方法和系统 | |
CN105516355B (zh) | 基于喷泉码的智能电能表误差大数据安全存储装置及方法 | |
Ye et al. | A method of repairing single node failure in the distributed storage system based on the regenerating-code and a hybrid genetic algorithm | |
Karakaya | Software engineering issues in big data application development | |
Liu et al. | Towards a community cloud storage | |
Levitin et al. | Optimal service task partition and distribution in grid system with star topology | |
Li et al. | An Accountability-Oriented Generation approach to Time-Varying Structure of Cloud Service | |
Klauck et al. | The distributed complexity of large-scale graph processing | |
CN112532447A (zh) | 一种rdma参数配置的方法、装置及存储介质 | |
Chen et al. | A comprehensive repair scheme for distributed storage systems |
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 |