一种用于能源监测的分簇式数据网络建立和传输方法
技术领域
本发明属于网络通讯技术领域,尤其涉及一种用于能源监测的分簇式数据网络建立和传输方法。
背景技术
目前能源监测主要涉及水表、电表和气表的监测,在这类表盘上增加一个读取数据的传感器模块,并通过网络来将读取的数据传输出去。通常为了减少布线成本,会搭建无线网络进行数据传输,即每个传感器节点(主要包括传感模块和无线模块)都是网络的一个节点,它们不仅仅采集数据而且要中转其他传感器节点发过来的数据。最终所有采集的数据通过无线网络到达一个汇集节点,再由汇集节点转发到远程的服务器。由于传感器节点组建的无线网络是一种不可靠的网络,在高负荷的情况下,数据容易丢失,这就要求设计一种网络能够减少或者避免数据丢失。另外在部署传感器节点的时候,为了避免供电部署的成本,水表和气表的上的传感器和无线模块通常使用电池供电,从而要求设计一个网络尽量减少节点的能耗。
发明内容
在一个大型建筑里,水表、电表和气表这类表盘可能会有上千个,甚至上万个。所有表盘上的传感器节点将形成一个复杂的无线网络,如果每个传感器节点都独立的传输数据,网络上会有大量的数据,使得网络在高负荷下运作。传输如此大量的数据一方面会消耗节点的能量,另一方面数据冲突的几率大大增加,导致数据丢失率增加。
本发明提出了一种用于能源监测的分簇式数据网络建立方法,即将整个传感器网划分为不同的簇,而每个簇都有一个传感器节点作为簇头,由簇头来控制簇内节点的数据处理,并建立一个高效的上层网络来进行簇间的数据传输,从而使网络的能量和数据传输优化。该方法具体包括:
汇聚节点以泛洪方式发送簇头选择请求消息;各个全功能节点在收到所述簇头选择请求消息后,各自随机生成一个滞后时间,并在自身计时到达所述滞后时间时,向网络中以广播方式发送建簇请求消息;半功能节点在首次收到建簇请求消息后,向发送所述建簇消息的全功能节点返回建簇响应消息,并忽略后续接收到的来自其它全功能节点的建簇请求消息;收到建簇响应消息的全功能节点向汇聚节点返回簇头选择响应消息。
本发明实施例提供的一种用于能源监测的分簇式数据网络建立和传输方法的有益效果包括:减少能源监测传感器网络的能量消耗,从而延长传感器网络的使用寿命;优化此传感器网络上的数据处理和传输,从而保证数据传输的可靠性和实时性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的现有技术中的一种大楼能源监测系统示意图;
图2是本发明实施例提供的一种使用了本发明方法的大楼能源监测系统示意图;
图3是本发明实施例提供的一种用于能源监测的分簇式数据网络建立方法的流程图;
图4是本发明实施例提供的一种用于能源监测的分簇式数据网络建立方法的流程图;
图5是本发明实施例提供的一种用于能源监测的分簇式数据网络建立方法的信令图;
图6是本发明实施例提供的一种用于能源监测的分簇式数据传输方法的信令图;
图7是本发明实施例提供的一种用于能源监测的分簇式数据传输方法的信令图;
图8是本发明实施例提供的一种用于能源监测的分簇式数据网络建立方法的信令图;
图9是本发明实施例提供的一种用于能源监测的分簇式数据传输方法的信令图;
图10是本发明实施例提供的一种简易的路径树示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了更容易理解本发明的发明构思,首先从可以应用本发明方法的一种大楼能源监控系统开始介绍。图1是现有技术中大楼能源监测系统的示意图,其中无线传感器节点采集数据并经由无线传感器网络将数据发送至汇聚节点,汇聚节点将收集到的数据发往位于Internet上的服务器,服务器进行后台数据处理,并将处理结果发送至用户。其中,所述传感器节点可以是电表传感器、水表传感器或气表传感器,从图1可知现有技术中对于离汇聚节点比较远的传感器节点,例如:位于图中最上面的传感器节点,则是通过无线传感器网络中的其他传感器节点进行递传来完成的,其原理类似于互联网中的路由功能。现有技术中的电表传感器、水表传感器和气表传感器都可以被用作路由节点(递传节点)。而整栋大楼的传感器节点在汇聚节点看来就是一个无线传感器网络。
本发明在了解并分析了现有技术之后,提出了一种用于能源监测的分簇式数据网络建立和传输方法,接下来就以上述一种大楼能源监控系统为环境介绍其应用本发明之后的改变。需要强调的是,接下来描述的使用了本发明提出的一种用于能源监测的分簇式数据网络建立和传输方法后的大楼能源监控系统仅仅是本发明方法在诸多可适用系统中的一个示例,并不限定本发明所能适用的范围。
如图2所示,是适用了本发明提出的一种用于能源监测的分簇式数据网络建立和传输方法后的大楼能源监控系统的示意图。从图中可以看到,原本作为一个整体的无线传感器网络,现在已经被分成了6个子网络(簇),并且每个子网络都经由簇头和汇聚节点相连,而原本图1中各个传感器节点都统一向汇聚节点上报数据的方式,也被图2中各簇内成员节点在经由簇头集中搜集上报数据后,再由各簇头将搜集的上报数据集中反馈给还汇聚节点。可以发现这种分区域式搜集然后集中上报方式较现有技术的统一由汇聚节点搜集的方式更为高效。接下来,本发明将用具体的实施例阐述如何实现如图2所述的系统的构建和数据的传输。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
如图3所示为本发明实施例提供的一种用于能源监测的分簇式数据网络建立和传输方法的流程图,由图3可知,本发明提供的一种用于能源监测的分簇式数据网络建立和传输方法的实施例,在该分簇式数据网络中包含一个或多个可作为簇头的全功能节点,以及一个或多个半功能节点,其特征在于,所述方法包括:
在步骤202中,汇聚节点以泛洪方式发送簇头选择请求消息。
所述泛洪方式不要求维护网络的拓扑结构和相关的路由计算,仅要求接收到信息的节点以广播方式转发数据包。优选的,在本发明的无线传感器网络中,负责完成所述以广播方式转发数据包的节点为全功能节点(全功能节点能够支持较大能耗的功能)。
在步骤204中,各个全功能节点在收到所述簇头选择请求消息后,各自随机生成一个滞后时间,并在自身计时到达所述滞后时间时,向网络中以广播方式发送建簇请求消息。
其中,全功能节点使用全功能芯片,可以采集数据也可以作为路由,能耗大,一般拥有直接的供电来源,例如:电表传感器节点;半功能节点采用半功能芯片,只作为采集数据和发送用,不用于路由数据,例如:气表传感器节点和水表传感器节点。
在步骤206中,半功能节点在首次收到建簇请求消息后,向发送所述建簇消息的全功能节点返回建簇响应消息,并忽略后续接收到的来自其它全功能节点的建簇请求消息。
在步骤208中,收到建簇响应消息的全功能节点向汇聚节点返回簇头选择响应消息。
在本实施例中,所述簇头选择响应消息是ACK消息,即通知汇聚节点自己负责的簇已经建立完成。在优选的方案中,所述簇头选择响应消息中还可以携带其建立的簇的相关信息。
在本发明实施例中,提出一种用于能源监测的动态方式生成分簇式数据传输网络的建立方法,具有高效性和均匀分布性。完成分簇后的无线传感器网络,能够以簇为小的上报单位,更高效的完成数据的上报,减轻了无线传感网络的承载压力。
在结合本实施例的可选方案中,为了保证各簇内的成员节点在上报数据时,能够更有序和高效,优选的,各个簇头向其管理的簇内各成员节点分配数据包发送时间段,所述数据包发送时间段用于各成员节点在后续收到数据上报请求消息时,依据所述数据包发送时间段有序的返回数据上报响应消息。
在结合本实施例的可选方案中,所述收到建簇响应消息的全功能节点向汇聚节点返回簇头选择响应消息,优选的,具体包括:根据全功能节点的功率设定返回簇头选择响应消息的最大延迟时间;收到建簇响应消息,并且在达到所述最大延迟时间时,存储并建立簇。可选的,所述簇头还可以向汇聚节点返回簇头选择响应消息,所述簇头选择响应消息中携带建立起的簇的相关信息。
在结合本实施例的可选方案中,优选的,对于未收到建簇响应消息的全功能节点,则向首次收到的建簇请求消息所对应的全功能节点发送建簇响应消息。
在结合本实施例的可选方案中,优选的,所述全功能节点为电表传感器节点,其中水表传感器节点和气表传感器节点为半功能节点,则所述方法还包括:所述半功能节点在收到所述簇头选择请求消息后,不对所述消息作出响应。
在结合本实施例的可选方案中,优选的,所述随机生成一个滞后时间具体包括:所述全功能节点在[0,1]区间内,随机生成一个滞后时间。
通过上述可选方案的陈述,可以知道在本实施例中,所述汇聚节点中可以存储整个无线传感器网络中的簇头信息以及簇内的成员信息;所述汇聚节点也可以不去存储或者管理所述簇头信息和簇内的成员信息,而是将其作为一种无需管理的网络状态维护,让各自簇头管理好各自的簇内成员节点即可。
在结合本实施例的优选方案中,在步骤206中,除了涉及半功能节点外,还涉及全功能节点,即全功能节点B在首次收到建簇请求消息后,向发送所述建簇消息的全功能节点返回建簇响应消息,并忽略后续接收到的来自其它全功能节点的建簇请求消息;在本方案中,所述全功能节点B首次收到的建簇请求消息比收到所述簇头选择请求消息的时间更早。其中,全功能节点B仅仅是为了区别描述的方便,并不是做特殊的限定。
本优选方案更符合实际应用中家庭抄表系统,所述家庭抄表系统中作为全功能节点的电表数和半功能节点的水表或者气表的数量和分布是同级别的,因此,按照本优选方案的实现方式,将全功能节点也算入建簇过程中的簇成员节点的话,可以使建立完成的簇具有更好的离散性,能够更好的分配和利用资源。
实施例二
本发明实施例还提供了一种用于能源监测的分簇式数据网络建立和传输方法,所述方法是基于实施例二基础上,为了后续传输数据上报请求时能够选择出更高效传输的路径而提出的。本实施例从某种角度来说可以是在和实施例二并行执行的,即在发送簇头选择请求消息的时候就发送本实施例中的建树请求消息;而可选的,本实施例也可以是在执行完实施例二,即在建立完簇之后才进行树的建立。两种方式都可选的,如4图所示,本实施例的方法具体包括:
在步骤302中,汇聚节点以泛洪方式发送建树请求消息,所述建树请求消息中携带跳数。
所述跳数为所述建树请求消息中携带的一个字段,其作用是记录所述建树请求消息在无线传感网络中被全功能节点转发的次数,从而使得所述网络中各全功能节点能够通过所述跳数识别能够与自己建立连接并且经过跳转次数最少的节点。
在步骤304中,簇头节点在收到所述建树请求消息后,将所述建树请求消息中携带的跳数加1,然后携带在新生成的建树请求消息中以泛洪方式继续向网络中发送。
在步骤306中,簇头节点在收到多个建树请求消息时,所述簇头节点会比较所述多个建树请求消息中携带的跳数,并将跳数最小的一个建树请求消息中携带的发送地址作为其父节点。
在步骤308中,在完成父节点的选定后,各个簇头节点存储自身的父节点信息。
结合本实施例的可选方案中,优选的,各个簇头节点将自身的父节点信息发送给汇聚节点,以便所述汇聚节点根据所述信息构建消息传递的路径树。
本实施例通过建立消息传递的路径树的方式,为传递数据上报的相关消息提供了更高效的路径。
在结合本实施例的可选方案中,优选的,对于没有成为簇头的全功能节点(即该全功能节点在发送了建簇请求消息后,没有收到任何建簇响应消息),在收到所述建树请求消息后,所述方法还包括:
将所述建树请求消息中携带的跳数加1,然后携带在新生成的建树请求消息中以泛洪方式继续向网络中发送;其中,簇头节点在收到多个建树请求消息时,所述簇头节点会比较所述多个建树请求消息中携带的跳数,并将跳数最小的一个建树请求消息中携带的发送地址作为其父节点;在完成父节点的选定后,各个簇头节点将自身的父节点信息发送给汇聚节点,以便所述汇聚节点根据所述信息构建消息传递的路径树。
在结合本实施例的可选方案中,优选的,汇聚节点的数据上报请求消息将通过路径树发送,则各个簇头通过所述路径树返回数据上报请求消息具体包括:
第一种方式:簇头在搜集完自己管理的簇里面的成员节点上报的数据后,通过路径树直接将数据传递到汇聚节点。
第二种方式:簇头在搜集完自己管理的簇里面的成员节点上报的数据后,将搜集的数据发送给其在路径树上的父节点;其父节点在确认搜集完自己管理的簇里面的成员节点上报的数据后,进行数据的整合然后发送给其在路径树上的父节点;依次执行下去,直到转发到汇聚节点位置。
在第二种方式中,优选的,各节点在向上一级节点上报自己建立的路径树关系时,接收到上报来的路径树关系后,更新自身存储的路径树关系,然后继续将更新后的路径树关系上报,直到最后的汇聚节点。假设存在一个简单的路径树,如图10所示,其中节点A为路径树中的叶节点,则节点A向B2上报路径树关系后,节点B2中就更新并得到“C1->B2->A”的节点关系;于是,节点B2进一步向父节点C1上报路径树关系时,上报内容包含“C1->B2->A”,于是节点C1在接收到B2的上报消息后,更新自身的路径树关系为“汇聚节点->C1->B2->A”,最终该路径树信息上报给了汇聚节点。其他节点B1,B3,C2也会以类似方式完成上报。当所有节点上报完成,汇聚节点就能够生成该无线传感器网络的路径树。
实施例四
本实施例是在实施例二基础上,结合具体的环境给出的一种实现信令图,其中采用了实施二中一种可选的方案,最终在各簇头返回簇头选择响应消息中携带了该簇头所建立的簇的相关信息。如图5所示,具体包括:
在步骤401中,汇聚节点以泛洪方式向网络中的各节点发送簇头选择请求消息,其中,网络中半功能节点A和全功能节点B都会收到所述簇头选择请求消息。
其中,半功能节点主要是没有持久供电能力的无线传感器,例如使用电池作为供电的水表传感器和电表传感器;全功能节点则是能够利用其检测对象提供的电能供电的无线传感器,最典型的就是电表传感器。
在步骤402中,该簇头选择请求信号被半功能节点A接收,则所述半功能节点识别该信号和自己无关后则直接忽略该消息,不作任何处理。
在步骤403中,该簇头选择请求消息被全功能节点B接收到,则全功能节点B在识别该信号为簇头选择请求消息后,自主的生成一个滞后时间。
具体的,每个全功能节点被设计成在接收到簇头选择请求消息后,都能基于一套相同的生成算法,生成同一区间内的随机数,该区间优选的为[0,1],单位可以为s。
随机数保证了分布的均匀性,而所述滞后时间的值的选择,要保证其值与值之间的差距相比较簇头选择请求消息发送到本无线传感器网络最远的一个节点时间忽略不计,从而避免了簇头选择请求消息在网络中传递产生的延时对选择簇头造成影响。即倘若滞后时间比较短,则可能发生某一节点先接收到了建簇请求消息,然后才接收到簇头选择请求消息,从而造成该节点错过成为簇头的机会。
其中,步骤402和403并没有先后顺序之分,而无线通信网络中也可能分布着许许多多的半功能节点和全功能节点,本实施例中对不同节点用带大写字母方式描述仅仅是为了便于陈述,拿出一个做代表性的陈述。
在步骤404中,全功能节点B在生成完滞后时间,便开始计时,一旦计时达到所述滞后时间长度,便以广播方式发送建簇请求消息。该消息的范围是由该全功能节点B自身的功率决定。全功能节点C、半功能节点D都有可能接收到全功能节点B发送的建簇请求消息。
在步骤405中,全功能节点C在识别了该建簇请求消息后,做忽略处理。
在优选的方案中,全功能节点C对于第一次收到的建簇请求消息还是会做缓存处理,而是会忽略后续收到的建簇请求消息。这是因为,全功能节点C很可能自己在发送建簇请求消息后没收到任何响应,这时候全功能节点C做簇头是低效率的,更有效的处理方式是其响应第一次收到的建簇请求消息,从而加入另一个簇头所拥有的簇。
在步骤406中,半功能节点D在接收到所述建簇请求消息后,倘若半功能节点D是第一次接收到所述建簇请求消息,则会返回建簇响应消息给发送所述建簇请求消息的全功能节点;倘若半功能节点D是第二次后者第二次以后接收到所述建簇请求消息,所述半功能节点D也会做忽略处理。因为,在本发明实施方式中,一个半功能节点只能加入一个簇,而不能重复加入不同的簇。
在步骤407中,全功能节点B在确定收集完建簇响应消息后,整理自己管理的簇中的成员节点。所述确定收集完建簇响应消息可以是在设定的时间内没有再次收到建簇响应响应消息。
在步骤408中,全功能节点B向汇聚节点返回簇头选择响应消息,所述消息中携带其建立起来的簇的相关信息。例如:簇的成员信息。
本实施例,在实施例二的基础上,通过具体的信令图详细介绍了本发明在具体环境中的一种实现方式。并且,对于在具体实现中可能存在的问题作了进一步的研究和扩展。使得本发明提出的方法能够应用于更复杂的环境。
实施例五
本实施例是在实施例四的基础上实现的,即首先无线传感网络中的全功能节点得先建立完成各自的簇,此时作为簇头节点的全功能节点也就已经确认。本实施例用来完成簇内成员节点上报时段的分配,使得后续的数据上报更佳合理有效。如图6所示,所述方法具体包括:
在步骤501中,簇头节点以广播方式发送数据包发送时间段消息,所述数据包发送时间段消息中携带了簇头节点为其管控的簇内各成员节点分配的数据包发送时间段信息。
在步骤502中,簇内的成员节点1至n,在接收到广播来的数据包发送时间段消息时,首先会识别是否是自己归属的簇的簇头发送的。如果是,则提取分配给自己的数据包发送时间段;如果不是,则忽略该数据包发送时间段消息。
在步骤503中,各成员节点向簇头节点返回ACK消息。
本实施例提供了一种分时段的数据上报方式,可以和实施例二或实施例五结合,使得已建立起来的分簇系统,能够在数据上报时候更加高效。
实施例六
本实施例是作为实施例五在具体的数据上报情景中的实现,如图7所述,具体包括:
在步骤601中,簇头节点在收到汇聚节点的数据上报请求消息后,将所述数据上报请求消息以广播方式发送出去,以便簇内的成员节点接收到该消息。
在步骤602中,簇内成员节点在收到广播的数据上报请求消息后,确认是否由自己归属的簇的簇头发送。如果确认结果是,则开始计时并在达到自己在实施例五中被分配的数据包发送时间段后向簇头返回数据上报响应消息;如果确认结果是否,则忽略该消息。
本实施例基于实施例五的实现基础上,进一步介绍了所分配的数据包发送时间段如何在数据上报阶段使用。
实施例七
本实施例是基于实施四在具体实现环境下的运行的一种方式,介绍了如何建路径树,如图8所示,该方法具体包括:
在步骤701中,汇聚节点以广播方式发送建树请求消息,所述建树请求消息中携带跳数(hop),该hop值的初始值为0。整个无线传感网络中的全功能节点和半功能节点都将收到该广播的消息。
在步骤702中,半功能节点在收到该建树请求消息后,则会做忽略处理。
在步骤703中,全功能节点1在收到该建树请求消息后。对于首次收到建树请求消息的,所述全功能节点1会存储该消息中携带的hop值和对应广播该消息的父节点标识。然后,全功能节点1将hop值加1后。
在步骤704中,全功能节点1将hop值完成加1后,再次以自己为发送节点广播出去。通过图8所示,全功能节点2和全功能节点3都收到全功能节点1发送的建树请求消息。假设此时收到的建树请求消息对于全功能节点2和全功能节点3来说都是第一次的,则全功能节点2和全功能节点3都将保存该hop值,即“hop=1”;还保存全功能节点1作为其父节点。
在步骤705中,全功能节点2将该hop值加1后,再次以广播方式携带在建树请求消息中发送出去,此时消息中hop值为2。
在步骤706中,校验新收到的消息中携带的hop和自身存储的hop值,如果自身存储的hop值比新收到的消息中携带的hop值小,则忽略该新收到的消息;如果自身存储的hop值比新收到的消息中携带的hop值大,则存储新收到的消息中携带的hop值和相应的发送端节点标识。
在步骤707中,在规定时间内or超过时间阈值,各全功能节点没有再收到广播来的建树请求消息时,各全汇功能节点将最终保存的父节点信息发送给汇聚节点。
本实施例给出了通过广播携带hop的建树请求消息,建立具体的路径树的方法。本实施例相比实施例四给出了更复杂的信令环境,从而通过具体的步骤阐述方式,将实施例四中的方法做了进一步详尽的解释。本实施例只是基于实施例四的一种可实现方式,并非对实施例四保护范围的特俗限定。
实施例七
本实施例是在具体数据上报过程中,介绍如何基于本发明方法来实现。如图9所示,其流程具体包括:
在步骤801中,簇头节点(节点1)确定已经搜集完数据。
在具体的实现方式中,簇头节点在所搜集的数据可以是针对自己管理的簇中的所有成员节点,也可以是针对自己管理的簇中的指定成员,还可以是其自身自己的数据,在此不作特俗限定。
在步骤802中,节点1从自身存储的父节点信息中,获取节点2的标识。于是,节点1将自身搜集好打包的数据发送给节点2。
在步骤803中,节点2在确定已经搜集完数据。
在具体的实现方式中,节点2自身也会收到汇聚节点发送的数据上报请求,因此,作为路径树中节点1的父节点,其收到节点1通过无线网络发送过来的打包的数据后,还得确认自身所要搜集的数据是否完成。
优选的,当确认自身所要搜集的数据也完成后,则将接收自节点1的数据和自身搜集的数据重新打包。可选的方式中,也可以直接以两个独立数据包型式合并在一起发送。
在步骤804中,将搜集和/或接收到的数据,发送给节点3。所述节点3为节点2通过其存储的父节点。
在步骤805中,节点3在确定已经搜集完数据后,进一步,依照类似节点2的执行方法,通过路径树的路径将汇聚节点所要求的数据上报请求消息中所要求的无线传感器节点的数据返回给汇聚节点。
本实施例给出了如何基于实施例四中建立的路径树完成一次数据上报响应的过程,并通过列举节点1、节点2和节点3的操作过程清楚的陈述了具体方法。为本发明的实现提供进一步的支撑。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。