CN105871713A - 一种无线传感器网络数据通信方法 - Google Patents
一种无线传感器网络数据通信方法 Download PDFInfo
- Publication number
- CN105871713A CN105871713A CN201610403595.4A CN201610403595A CN105871713A CN 105871713 A CN105871713 A CN 105871713A CN 201610403595 A CN201610403595 A CN 201610403595A CN 105871713 A CN105871713 A CN 105871713A
- Authority
- CN
- China
- Prior art keywords
- access node
- address
- node
- data
- anycast
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- 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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种无线传感器网络数据通信方法,所述无线传感器网络由X个接入节点和两个以上传感器节点构成,X≥2,接入节点为固定节点且分布于网络所覆盖的区域边缘;接入节点APx由一个具有网络唯一性的接入节点ID Ix标识,X≥x≥1;无线传感器网络内所有接入节点与一个接入路由器相连,无线传感器网络通过该接入路由器实现与互联网的数据通信。用户通过本发明所提供的无线传感器网络数据通信方法能够从距离最近的传感器节点以单播方式获取数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
Description
技术领域
本发明涉及一种通信方法,尤其涉及的是一种无线传感器网络数据通信方法。
背景技术
近年来,很多研究工作致力于无线传感器网络,以便通过无线传感器网络能够快速获取网络服务。随着无线传感器网络技术的发展,无线传感器网络会成为未来提供服务的一种模式。
目前,无线传感器网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低无线传感器网络提供数据的延迟和代价成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种无线传感器网络数据通信方法。
本发明通过单播取代广播的方式来实现无线传感器网络,从而降低无线传感器网络提供数据的延迟和代价,从而有效提高网络服务性能。
技术方案:本发明公开了一种无线传感器网络数据通信方法,一个无线传感器网络由X个接入节点和两个以上传感器节点构成,X≥2,接入节点为固定节点且分布于网络所覆盖的区域边缘;接入节点APx由一个具有网络唯一性的接入节点ID Ix标识,X≥x≥1;无线传感器网络内所有接入节点与一个接入路由器相连,无线传感器网络通过该接入路由器实现与互联网的数据通信;无线传感器网络内所有接入节点和传感器节点具有相同的网络前缀,其值等于接入路由器的网络前缀;无线传感器网络中所有接入节点的接入节点ID Ix构建成接入节点ID集合G,如公式(1)所示;
一种数据ID唯一标识一种类型的数据,例如某部电视剧,能够创建并提供该类型数据的所有传感器节点构建成一个k-anycast组,anycast为任播通信,k-anycast是多个任播组成员可以同时进行任播通信,该k-anycast组由k-anycast地址唯一标识;两个以上k-anycast组成员能够同时提供一种类型数据的不同部分;
k-anycast地址结构包括三个部分,第一部分为i比特的网络前缀,其值为预先配置;第二部分为j比特的数据ID,唯一标识一种类型的数据;第三部分为(128-i-j)比特的保留域,其值为0,其中i为小于64的整数,j为小于48的整数;
无线传感器网络中每个接入节点和传感器节点具有一个单播地址,单播地址结构包括三个部分,第一部分为i比特的网络前缀,其值为预先配置;第二部分为j1比特的接入节点ID,唯一标识一个接入节点,该部分由接入节点的地理横坐标和地理纵坐标构成,一个无线传感器网络内所有接入节点具有不同的地理横坐标和地理纵坐标;第三部分为(128-i-j1)比特的节点ID,用于标识一个传感器节点;接入节点的节点ID为0;接入节点ID与节点ID构成链路地址,其中j和j1的值相同;
一种类型的数据C被划分为Z个部分,第z个数据部分cz由值为dz的数据部分ID唯一标识,Z≥z≥1,如公式(2)所示;
接入路由器定期广播路由器发布消息,接入节点APx通过侦听接入路由器广播的路由器发布消息来获取网络前缀,并利用自己的地理位置横坐标和地理位置纵坐标与网络前缀相结合构建成自己的单播地址,其中节点ID为0;接入节点APx获取单播地址后,向接入路由器发送地址广播消息;接入路由器收到网络内X个接入节点的地址广播消息后,获取X个接入节点的接入节点ID集合G;
接入路由器将接入节点ID集合G中的X个接入节点ID进行优先级排序,广播一个接入节点ID排序消息,消息负载为排序后的X个接入节点ID;接入节点APx接收到接入节点ID排序消息后,保存接入节点ID集合G,如果接入节点APx检测到自己的接入节点ID的优先级排序值为y,1≤y≤X,则根据公式(3)和(4)获取节点ID空间[L(y),U(y)];
接入节点ID Ix1和接入节点ID Ix2的优先级比较算法如下所示:
情况1:如果接入节点ID Ix1的地理横坐标域值大于接入节点ID Ix2的地理横坐标域值,则接入节点ID Ix1的优先级大于接入节点ID Ix2;
情况2:如果接入节点ID Ix1的地理横坐标域值小于接入节点ID Ix2的地理横坐标域值,则接入节点ID Ix1的优先级小于接入节点ID Ix2;
情况3:如果接入节点ID Ix1的地理横坐标域值等于接入节点ID Ix2的地理横坐标域值并且接入节点ID Ix1的地理纵坐标域值大于接入节点ID Ix2的地理纵坐标域值,则接入节点ID Ix1的优先级大于接入节点ID Ix2;
情况4:如果接入节点ID Ix1的地理横坐标域值等于接入节点ID Ix2的地理横坐标域值并且接入节点ID Ix1的地理纵坐标域值小于接入节点ID Ix2的地理纵坐标域值,则接入节点ID Ix1的优先级小于接入节点ID Ix2。
通过上述过程,每个接入节点能够获取具有唯一性的接入节点ID,从而确保了通信的正确性。
本发明所述方法中,接入节点或者传感器节点配置单播地址后,开始广播信标帧,帧负载为网络前缀;
没有配置单播地址的传感器节点S收到信标帧后,如果该信标帧源地址的接入节点ID与接入节点APx的接入节点ID相同,那么传感器节点S通过下述过程从接入节点APx获取单播地址:
步骤301:开始;
步骤302:传感器节点S构建临时单播地址,该地址的网络前缀为信标帧负载中的网络前缀,接入节点ID为0,节点ID为随机数;传感器节点S发送一条地址请求消息,消息源地址为临时单播地址,目的地址为接入节点APx的单播地址;
步骤303:接入节点APx收到地址请求消息后,从节点ID空间中选择一个未分配的节点ID,向传感器节点S返回一条地址响应消息,消息负载为接入节点ID集合G和分配的节点ID,同时,接入节点APx将分配的节点ID标记为已分配状态;
步骤304:传感器节点S收到地址响应消息后,保存接入节点ID集合G,同时将地址响应消息中的节点ID与接入节点APx的网络前缀和接入节点ID相结合构建成一个单播地址,并开始广播信标帧,帧源地址为传感器节点S获取的新地址;
步骤305:结束。
通过上述过程,每个传感器节点能够获取具有唯一性的单播地址,从而确保了通信的正确性。
本发明所述方法中,每个接入节点保存一个最优k-anycast组成员列表和非最优k-anycast列表,两个列表中的表项包括四个域:k-anycast地址域,组成员单播地址域,距离域和生命周期域;其中,距离域指与k-anycast组成员的距离值;
k-anycast地址为K的k-anycast组成员身份预先设置;
k-anycast地址为K的k-anycast组成员通过单播地址配置过程获取所在无线传感器网络的X个接入节点的接入节点ID集合G,然后执行下述操作:
步骤401:开始;
步骤402:k-anycast组成员通过网络前缀以及接入节点ID集合G构建本无线传感器网络内每个接入节点的单播地址,然后向每个接入节点发送一个更新消息,消息源地址为k-anycast组成员的单播地址,目的地址为接入节点的单播地址,消息负载为k-anycast地址K和距离参数d,参数d的初始值为0;
步骤403:更新消息在路由过程中每经过一个中间节点,距离参数d递增1,最终,更新消息到达目的接入节点;
步骤404:目的接入节点收到该更新消息后,根据下述三种情况分别进行相应的操作:
情况1,目的接入节点的最优k-anycast组成员列表中没有k-anycast地址域等于K的表项:目的接入节点在最优k-anycast组成员列表中增加一个表项,其中,k-anycast地址域为K,组成员单播地址域为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值,例如60分钟;
情况2,目的接入节点的最优k-anycast组成员列表中存在k-anycast地址域为K的表项且该表项的距离域大于或者等于更新消息中的参数d值:目的接入节点将该表项的组成员单播地址域设置为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值,例如60分钟;
情况3,目的接入节点的最优k-anycast组成员列表中存在k-anycast地址域为K的表项且该表项的距离域小于更新消息中的参数d值:目的接入节点在非最优k-anycast组成员列表中增加一个表项,其中,k-anycast地址域为K,组成员单播地址域为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值,例如60分钟;
步骤405:目的接入节点在收到所有k-anycast组成员的更新消息后,获取距离自己最近的k-anycast组成员的单播地址;
步骤406:结束;
如果k-anycast组成员的地理坐标发生变化,那么它向每个接入节点发送更新消息从而确保接入节点能够保存距离最近的k-anycast组成员的信息;
如果接入节点的最优k-anycast组成员列表中和非最优k-anycast组成员列表中表项的生命周期衰减为0,接入节点则删除该表项;
如果接入节点的最优k-anycast组成员列表中表项为空,它则从非最优k-anycast组成员列表中选取一个距离最近的k-anycast组成员来更新最优k-anycast组成员列表中的表项。
通过上述过程,接入节点能够获取距离最近的k-anycast组成员的信息,从而实现数据通信。
本发明所述方法中,一种类型的数据C由数据ID c定义,无线传感器网络内能够提供数据C的所有传感器节点构成k-anycast组,无线传感器网络通过接入路由器AR1接入到互联网,接入路由器AR1的网络前缀为GRP1;
k-anycast组成员Ax根据下述过程创建数据部分Cx,其中,参数h初始值设置为0,网络直径最大值为H:
步骤101:开始;
步骤102:k-anycast组成员Ax在h跳范围内广播一个数据创建消息,该消息的负载为参数h和数据部分ID集合Px,数据部分ID集合Px定义了数据部分Cx,如公式(3)所示,其中数据部分ID集合Px中任一个元素dx-w定义了数据部分cx-w,1≤w≤|Px|;
步骤103:判断收到数据创建消息的节点是否能创建并提供数据部分cx-w,如果能提供,则进行步骤104,否则进行步骤105;
步骤104:收到数据创建消息的节点向k-anycast组成员Ax发送一个数据创建响应消息,该消息的负载为数据部分cx-w,进行步骤107;
步骤105:收到数据创建消息的节点将参数h递减1,判断h是否大于0,如果是,进行步骤106,否则进行步骤107;
步骤106:收到数据创建消息的节点转发数据创建消息,执行步骤103;
步骤107:k-anycast组成员Ax判断所有返回的数据创新响应消息中的负载是否能构建数据部分Cx,如果不能,进行步骤108,否则进行步骤110;
步骤108:k-anycast组成员Ax判断h是否等于H,如果是,进行步骤112,否则执行步骤109;
步骤109:k-anycast组成员Ax将h递增1,执行步骤102;
步骤110:k-anycast组成员Ax向其他所有k-anycast成员发送一条数据分享消息,消息负载为数据部分Cx;
步骤111:其他k-anycast组成员收到k-anycast组成员Ax发送的数据分享消息后,保存数据部分Cx;
步骤112:结束;
通过上述过程,每个k-anycast组成员在收到其他k-anycast成员发送的数据分享消息后,创建数据C并保存数据C。通过上述过程,,每个k-anycast组成员能够创建并保存数据C。
本发明所述方法中,互联网中的节点N通过下述过程取数据C:
步骤201:开始;
步骤202:节点N构建一个k-anycast地址,该k-anycast地址的网络前缀为GRP1,数据ID为c;节点N发送一个数据请求消息,该消息的目的地址为构建的k-anycast地址,源地址为自己的单播地址,基于目的地址的网络前缀GRP1,该数据请求消息达到接入路由器AR1;
步骤203:接入路由器AR1利用节点ID集合G为每个连接的接入节点APx构建一个单播地址,该地址记做Ux,在地址Ux中,网络前缀为GRP1,接入节点ID为接入节点APx的接入节点ID;
步骤204:接入路由器AR1发送数据部分请求消息,该消息记做Rx,在数据部分请求消息Rx中,源地址为接入路由器AR1的单播地址U,目的地址为单播地址Ux,负载为数据ID c和数据部分ID集合Px,数据部分ID集合Px定义了数据部分Cx,如公式(3)所示,其中数据部分ID集合Px中任一个元素dx-w定义了数据部分cx-w,1≤w≤|Px|,数据部分Cx满足公式(4)和(5),由此,数据部分请求消息Rx到达接入节点APx;
步骤205:接入节点APx收到数据部分请求消息Rx后,查看最优k-anycast组成员列表中k-anycast地址域值为K的表项,并获取该表项的组成员单播地址域值Tx;将数据部分请求消息Rx的目的地址更新为单播地址Tx,源地址更新为自己的单播地址Ux,发送数据部分请求消息Rx;由此数据部分请求消息Rx被路由到单播地址为Tx的最优k-anycast成员Ax;
步骤206:判断最优k-anycast组成员Ax能否提供数据部分Cx,如果能,则进行步骤208,否则执行步骤207;
步骤207:k-anycast组成员Ax执行步骤101~步骤112创建数据部分Cx;
步骤208:k-anycast组成员Ax发送一个数据部分响应消息Ex,数据部分响应消息Ex的负载为数据部分Cx,目的地址为单播地址Ux,源地址为单播地址Tx;
步骤209:接入节点APx收到数据部分响应消息Ex后,将数据部分响应消息Ex的目的单播地址更新为单播地址U,发送数据部分响应消息Ex,数据部分响应消息Ex到达接入路由器AR1;
步骤210:接入路由器AR1收到X个接入节点返回的数据部分响应消息后,利用数据部分响应消息中的数据部分构建数据C,返回一个数据响应消息,该消息的负载为数据C,目的地址为节点N的单播地址;
步骤211:节点N收到数据响应消息后,获取了数据C;
步骤212:结束。
通过上述过程,节点能够从距离最近的k-anycast组成员获取数据C。
有益效果:本发明提供了一种无线传感器网络数据通信方法,用户通过本发明所提供的无线传感器网络数据通信方法能够从距离最近的传感器节点以单播方式获取数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的无线传感器网络体系结构示意图。
图2为本发明所述的k-anycast地址结构示意图。
图3为本发明所述的单播地址结构示意图。
图4为本发明所述的单播地址配置流程示意图。
图5为本发明所述的k-anycast成员更新流程示意图。
图6为本发明所述的数据创建流程示意图。
图7为本发明所述的数据获取流程示意图。
具体实施方式:
本发明提供了一种无线传感器网络数据通信方法,用户通过本发明所提供的无线传感器网络数据通信方法能够从距离最近的传感器节点以单播方式获取数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的无线传感器网络体系结构示意图。一个无线传感器网络1由X个接入节点2和两个以上传感器节点3构成,X≥2,接入节点2为固定节点且分布于网络所覆盖的区域边缘;接入节点2APx由一个具有网络唯一性的接入节点ID Ix标识,X≥x≥1;无线传感器网络1内所有接入节点2与一个接入路由器4相连,无线传感器网络1通过该接入路由器4实现与互联网的数据通信;无线传感器网络1内所有接入节点2和传感器节点3具有相同的网络前缀,其值等于接入路由器4的网络前缀;无线传感器网络1中所有接入节点2的接入节点ID Ix构建成接入节点ID集合G,如公式(1)所示;
一种数据ID唯一标识一种类型的数据,能够创建并提供该类型数据的所有传感器节点3构建成一个k-anycast组,该k-anycast组由k-anycast地址唯一标识;两个以上k-anycast组成员能够同时提供一种类型数据的不同部分。
图2为本发明所述的k-anycast地址结构示意图。k-anycast地址结构包括三个部分,第一部分为i比特的网络前缀,其值为预先配置;第二部分为j比特的数据ID,唯一标识一种类型的数据;第三部分为(128-i-j)比特的保留域,其值为0,其中i为小于64的整数,j为小于48的整数。
图3为本发明所述的单播地址结构示意图。无线传感器网络中每个接入节点和传感器节点具有一个单播地址,单播地址结构包括三个部分,第一部分为i比特的网络前缀,其值为预先配置;第二部分为j 1比特的接入节点ID,唯一标识一个接入节点,该部分由接入节点的地理横坐标和地理纵坐标构成,一个无线传感器网络内所有接入节点具有不同的地理横坐标和地理纵坐标;第三部分为(128-i-j1)比特的节点ID,用于标识一个传感器节点;接入节点的节点ID为0;接入节点ID与节点ID构成链路地址,其中j和j 1的值相同;
一种类型的数据C被划分为Z个部分,第z个数据部分cz由值为dz的数据部分ID唯一标识,Z≥z≥1,如公式(2)所示;
接入路由器定期广播路由器发布消息,接入节点APx通过侦听接入路由器广播的路由器发布消息来获取网络前缀,并利用自己的地理位置横坐标和地理位置纵坐标与网络前缀相结合构建成自己的单播地址,其中节点ID为0;接入节点APx获取单播地址后,向接入路由器发送地址广播消息;接入路由器收到网络内X个接入节点的地址广播消息后,获取X个接入节点的接入节点ID集合G;
接入路由器将接入节点ID集合G中的X个接入节点ID进行优先级排序,广播一个接入节点ID排序消息,消息负载为排序后的X个接入节点ID;接入节点APx接收到接入节点ID排序消息后,保存接入节点ID集合G,如果接入节点APx检测到自己的接入节点ID的优先级排序值为y,1≤y≤X,则根据公式(3)和(4)获取节点ID空间[L(y),U(y)];
接入节点ID Ix1和接入节点ID Ix2的优先级比较算法如下所示:
情况1:如果接入节点ID Ix1的地理横坐标域值大于接入节点ID Ix2的地理横坐标域值,则接入节点ID Ix1的优先级大于接入节点ID Ix2;
情况2:如果接入节点ID Ix1的地理横坐标域值小于接入节点ID Ix2的地理横坐标域值,则接入节点ID Ix1的优先级小于接入节点ID Ix2;
情况3:如果接入节点ID Ix1的地理横坐标域值等于接入节点ID Ix2的地理横坐标域值并且接入节点ID Ix1的地理纵坐标域值大于接入节点ID Ix2的地理纵坐标域值,则接入节点ID Ix1的优先级大于接入节点ID Ix2;
情况4:如果接入节点ID Ix1的地理横坐标域值等于接入节点ID Ix2的地理横坐标域值并且接入节点ID Ix1的地理纵坐标域值小于接入节点ID Ix2的地理纵坐标域值,则接入节点ID Ix1的优先级小于接入节点ID Ix2。
图4为本发明所述的单播地址配置流程示意图。接入节点或者传感器节点配置单播地址后,开始广播信标帧,帧负载为网络前缀;
没有配置单播地址的传感器节点S收到信标帧后,如果该信标帧源地址的接入节点ID与接入节点APx的接入节点ID相同,那么传感器节点S通过下述过程从接入节点APx获取单播地址:
步骤301:开始;
步骤302:传感器节点S构建临时单播地址,该地址的网络前缀为信标帧负载中的网络前缀,接入节点ID为0,节点ID为随机数;传感器节点S发送一条地址请求消息,消息源地址为临时单播地址,目的地址为接入节点APx的单播地址;
步骤303:接入节点APx收到地址请求消息后,从节点ID空间中选择一个未分配的节点ID,向传感器节点S返回一条地址响应消息,消息负载为接入节点ID集合G和分配的节点ID,同时,接入节点APx将分配的节点ID标记为已分配状态;
步骤304:传感器节点S收到地址响应消息后,保存接入节点ID集合G,同时将地址响应消息中的节点ID与接入节点APx的网络前缀和接入节点ID相结合构建成一个单播地址,并开始广播信标帧,帧源地址为传感器节点S获取的新地址;
步骤305:结束。
图5为本发明所述的k-anycast成员更新流程示意图。每个接入节点保存一个最优k-anycast组成员列表和非最优k-anycast列表,两个列表中的表项包括四个域:k-anycast地址域,组成员单播地址域,距离域和生命周期域;其中,距离域指与k-anycast组成员的距离值;
k-anycast地址为K的k-anycast组成员身份预先设置;
k-anycast地址为K的k-anycast组成员通过单播地址配置过程获取所在无线传感器网络的X个接入节点的接入节点ID集合G,然后执行下述操作:
步骤401:开始;
步骤402:k-anycast组成员通过网络前缀以及接入节点ID集合G构建本无线传感器网络内每个接入节点的单播地址,然后向每个接入节点发送一个更新消息,消息源地址为k-anycast组成员的单播地址,目的地址为接入节点的单播地址,消息负载为k-anycast地址K和距离参数d,参数d的初始值为0;
步骤403:更新消息在路由过程中每经过一个中间节点,距离参数d递增1,最终,更新消息到达目的接入节点;
步骤404:目的接入节点收到该更新消息后,根据下述三种情况分别进行相应的操作:
情况1,目的接入节点的最优k-anycast组成员列表中没有k-anycast地址域等于K的表项:目的接入节点在最优k-anycast组成员列表中增加一个表项,其中,k-anycast地址域为K,组成员单播地址域为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值,例如60分钟;
情况2,目的接入节点的最优k-anycast组成员列表中存在k-anycast地址域为K的表项且该表项的距离域大于或者等于更新消息中的参数d值:目的接入节点将该表项的组成员单播地址域设置为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值,例如60分钟;
情况3,目的接入节点的最优k-anycast组成员列表中存在k-anycast地址域为K的表项且该表项的距离域小于更新消息中的参数d值:目的接入节点在非最优k-anycast组成员列表中增加一个表项,其中,k-anycast地址域为K,组成员单播地址域为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值,例如60分钟;
步骤405:目的接入节点在收到所有k-anycast组成员的更新消息后,获取距离自己最近的k-anycast组成员的单播地址;
步骤406:结束;
如果k-anycast组成员的地理坐标发生变化,那么它向每个接入节点发送更新消息从而确保接入节点能够保存距离最近的k-anycast组成员的信息;
如果接入节点的最优k-anycast组成员列表中和非最优k-anycast组成员列表中表项的生命周期衰减为0,接入节点则删除该表项;
如果接入节点的最优k-anycast组成员列表中表项为空,它则从非最优k-anycast组成员列表中选取一个距离最近的k-anycast组成员来更新最优k-anycast组成员列表中的表项。
图6为本发明所述的数据创建流程示意图。一种类型的数据C由数据ID c定义,无线传感器网络内能够提供数据C的所有传感器节点构成k-anycast组,无线传感器网络通过接入路由器AR1接入到互联网,接入路由器AR1的网络前缀为GRP1;
k-anycast组成员Ax根据下述过程创建数据部分Cx,其中,参数h初始值设置为0,网络直径最大值为H:
步骤101:开始;
步骤102:k-anycast组成员Ax在h跳范围内广播一个数据创建消息,该消息的负载为参数h和数据部分ID集合Px,数据部分ID集合Px定义了数据部分Cx,如公式(3)所示,其中数据部分ID集合Px中任一个元素dx-w定义了数据部分cx-w,1≤w≤|Px|;
步骤103:判断收到数据创建消息的节点是否能创建并提供数据部分cx-w,如果能提供,则进行步骤104,否则进行步骤105;
步骤104:收到数据创建消息的节点向k-anycast组成员Ax发送一个数据创建响应消息,该消息的负载为数据部分cx-w,进行步骤107;
步骤105:收到数据创建消息的节点将参数h递减1,判断h是否大于0,如果是,进行步骤106,否则进行步骤107;
步骤106:收到数据创建消息的节点转发数据创建消息,执行步骤103;
步骤107:k-anycast组成员Ax判断所有返回的数据创新响应消息中的负载是否能构建数据部分Cx,如果不能,进行步骤108,否则进行步骤110;
步骤108:k-anycast组成员Ax判断h是否等于H,如果是,进行步骤112,否则执行步骤109;
步骤109:k-anycast组成员Ax将h递增1,执行步骤102;
步骤110:k-anycast组成员Ax向其他所有k-anycast成员发送一条数据分享消息,消息负载为数据部分Cx;
步骤111:其他k-anycast组成员收到k-anycast组成员Ax发送的数据分享消息后,保存数据部分Cx;
步骤112:结束;
通过上述过程,每个k-anycast组成员在收到其他k-anycast成员发送的数据分享消息后,创建数据C并保存数据C。
图7为本发明所述的数据获取流程示意图。互联网中的节点N通过下述过程取数据C:
步骤201:开始;
步骤202:节点N构建一个k-anycast地址,该k-anycast地址的网络前缀为GRP1,数据ID为c;节点N发送一个数据请求消息,该消息的目的地址为构建的k-anycast地址,源地址为自己的单播地址,基于目的地址的网络前缀GRP1,该数据请求消息达到接入路由器AR1;
步骤203:接入路由器AR1利用节点ID集合G为每个连接的接入节点APx构建一个单播地址,该地址记做Ux,在地址Ux中,网络前缀为GRP1,接入节点ID为接入节点APx的接入节点ID;
步骤204:接入路由器AR1发送数据部分请求消息,该消息记做Rx,在数据部分请求消息Rx中,源地址为接入路由器AR1的单播地址U,目的地址为单播地址Ux,负载为数据ID c和数据部分ID集合Px,数据部分ID集合Px定义了数据部分Cx,如公式(3)所示,其中数据部分ID集合Px中任一个元素dx-w定义了数据部分cx-w,1≤w≤|Px|,数据部分Cx满足公式(4)和(5),由此,数据部分请求消息Rx到达接入节点APx;
步骤205:接入节点APx收到数据部分请求消息Rx后,查看最优k-anycast组成员列表中k-anycast地址域值为K的表项,并获取该表项的组成员单播地址域值Tx;将数据部分请求消息Rx的目的地址更新为单播地址Tx,源地址更新为自己的单播地址Ux,发送数据部分请求消息Rx;由此数据部分请求消息Rx被路由到单播地址为Tx的最优k-anycast成员Ax;
步骤206:判断最优k-anycast组成员Ax能否提供数据部分Cx,如果能,则进行步骤208,否则执行步骤207;
步骤207:k-anycast组成员Ax执行步骤101~步骤112创建数据部分Cx;
步骤208:k-anycast组成员Ax发送一个数据部分响应消息Ex,数据部分响应消息Ex的负载为数据部分Cx,目的地址为单播地址Ux,源地址为单播地址Tx;
步骤209:接入节点APx收到数据部分响应消息Ex后,将数据部分响应消息Ex的目的单播地址更新为单播地址U,发送数据部分响应消息Ex,数据部分响应消息Ex到达接入路由器AR1;
步骤210:接入路由器AR1收到X个接入节点返回的数据部分响应消息后,利用数据部分响应消息中的数据部分构建数据C,返回一个数据响应消息,该消息的负载为数据C,目的地址为节点N的单播地址;
步骤211:节点N收到数据响应消息后,获取了数据C;
步骤212:结束。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的无线传感器网络数据通信方法,性能分析如下:当接入节点数量增加的情况下,数据通信延迟和能量消耗都随之降低。数据获取的平均延迟为20s,能量消耗为180mJ。
表1仿真参数
本发明提供了一种无线传感器网络数据通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (6)
1.一种无线传感器网络数据通信方法,其特征在于,一个无线传感器网络由X个接入节点和两个以上传感器节点构成,X≥2,接入节点为固定节点且分布于网络所覆盖的区域边缘;接入节点APx由一个具有网络唯一性的接入节点ID Ix标识,X≥x≥1;无线传感器网络内所有接入节点与一个接入路由器相连,无线传感器网络通过该接入路由器实现与互联网的数据通信;无线传感器网络内所有接入节点和传感器节点具有相同的网络前缀,其值等于接入路由器的网络前缀;无线传感器网络中所有接入节点的接入节点ID Ix构建成接入节点ID集合G,如公式(1)所示;
一种数据ID唯一标识一种类型的数据,能够创建并提供该类型数据的所有传感器节点构建成一个k-anycast组,该k-anycast组由k-anycast地址唯一标识;两个以上k-anycast组成员能够同时提供一种类型数据的不同部分;
k-anycast地址结构包括三个部分,第一部分为i比特的网络前缀,其值为预先配置;第二部分为j比特的数据ID,唯一标识一种类型的数据;第三部分为(128-i-j)比特的保留域,其值为0,其中i为小于64的整数,j为小于48的整数;
无线传感器网络中每个接入节点和传感器节点具有一个单播地址,单播地址结构包括三个部分,第一部分为i比特的网络前缀,其值为预先配置;第二部分为j1比特的接入节点ID,唯一标识一个接入节点,该部分由接入节点的地理横坐标和地理纵坐标构成,一个无线传感器网络内所有接入节点具有不同的地理横坐标和地理纵坐标;第三部分为(128-i-j1)比特的节点ID,用于标识一个传感器节点;接入节点的节点ID为0;接入节点ID与节点ID构成链路地址,其中j和j1的值相同;
一种类型的数据C被划分为Z个部分,第z个数据部分cz由值为dz的数据部分ID唯一标识,Z≥z≥1,如公式(2)所示;
接入路由器定期广播路由器发布消息,接入节点APx通过侦听接入路由器广播的路由器发布消息来获取网络前缀,并利用自己的地理位置横坐标和地理位置纵坐标与网络前缀相结合构建成自己的单播地址,其中节点ID为0;接入节点APx获取单播地址后,向接入路由器发送地址广播消息;接入路由器收到网络内X个接入节点的地址广播消息后,获取X个接入节点的接入节点ID集合G;
接入路由器将接入节点ID集合G中的X个接入节点ID进行优先级排序,广播一个接入节点ID排序消息,消息负载为排序后的X个接入节点ID;接入节点APx接收到接入节点ID排序消息后,保存接入节点ID集合G,如果接入节点APx检测到自己的接入节点ID的优先级排序值为y,1≤y≤X,则根据公式(3)和(4)获取节点ID空间[L(y),U(y)];
2.根据权利要求1所述的一种无线传感器网络数据通信方法,其特征在于,接入节点IDIx1和接入节点ID Ix2的优先级比较算法如下所示:
情况1:如果接入节点ID Ix1的地理横坐标域值大于接入节点ID Ix2的地理横坐标域值,则接入节点ID Ix1的优先级大于接入节点ID Ix2;
情况2:如果接入节点ID Ix1的地理横坐标域值小于接入节点ID Ix2的地理横坐标域值,则接入节点ID Ix1的优先级小于接入节点ID Ix2;
情况3:如果接入节点ID Ix1的地理横坐标域值等于接入节点ID Ix2的地理横坐标域值并且接入节点ID Ix1的地理纵坐标域值大于接入节点ID Ix2的地理纵坐标域值,则接入节点ID Ix1的优先级大于接入节点ID Ix2;
情况4:如果接入节点ID Ix1的地理横坐标域值等于接入节点ID Ix2的地理横坐标域值并且接入节点ID Ix1的地理纵坐标域值小于接入节点ID Ix2的地理纵坐标域值,则接入节点ID Ix1的优先级小于接入节点ID Ix2。
3.根据权利要求2所述的一种无线传感器网络数据通信方法,其特征在于,接入节点或者传感器节点配置单播地址后,开始广播信标帧,帧负载为网络前缀;
没有配置单播地址的传感器节点S收到信标帧后,如果该信标帧源地址的接入节点ID与接入节点APx的接入节点ID相同,那么传感器节点S通过下述过程从接入节点APx获取单播地址:
步骤301:开始;
步骤302:传感器节点S构建临时单播地址,该地址的网络前缀为信标帧负载中的网络前缀,接入节点ID为0,节点ID为随机数;传感器节点S发送一条地址请求消息,消息源地址为临时单播地址,目的地址为接入节点APx的单播地址;
步骤303:接入节点APx收到地址请求消息后,从节点ID空间中选择一个未分配的节点ID,向传感器节点S返回一条地址响应消息,消息负载为接入节点ID集合G和分配的节点ID,同时,接入节点APx将分配的节点ID标记为已分配状态;
步骤304:传感器节点S收到地址响应消息后,保存接入节点ID集合G,同时将地址响应消息中的节点ID与接入节点APx的网络前缀和接入节点ID相结合构建成一个单播地址,并开始广播信标帧,帧源地址为传感器节点S获取的新地址;
步骤305:结束。
4.根据权利要求3所述的一种无线传感器网络数据通信方法,其特征在于,每个接入节点保存一个最优k-anycast组成员列表和非最优k-anycast列表,两个列表中的表项包括四个域:k-anycast地址域,组成员单播地址域,距离域和生命周期域;其中,距离域指与k-anycast组成员的距离值;
k-anycast地址为K的k-anycast组成员身份预先设置;
k-anycast地址为K的k-anycast组成员通过单播地址配置过程获取所在无线传感器网络的X个接入节点的接入节点ID集合G,然后执行下述操作:
步骤401:开始;
步骤402:k-anycast组成员通过网络前缀以及接入节点ID集合G构建本无线传感器网络内每个接入节点的单播地址,然后向每个接入节点发送一个更新消息,消息源地址为k-anycast组成员的单播地址,目的地址为接入节点的单播地址,消息负载为k-anycast地址K和距离参数d,参数d的初始值为0;
步骤403:更新消息在路由过程中每经过一个中间节点,距离参数d递增1,最终,更新消息到达目的接入节点;
步骤404:目的接入节点收到该更新消息后,根据下述三种情况分别进行相应的操作:
情况1,目的接入节点的最优k-anycast组成员列表中没有k-anycast地址域等于K的表项:目的接入节点在最优k-anycast组成员列表中增加一个表项,其中,k-anycast地址域为K,组成员单播地址域为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值;
情况2,目的接入节点的最优k-anycast组成员列表中存在k-anycast地址域为K的表项且该表项的距离域大于或者等于更新消息中的参数d值:目的接入节点将该表项的组成员单播地址域设置为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值;
情况3,目的接入节点的最优k-anycast组成员列表中存在k-anycast地址域为K的表项且该表项的距离域小于更新消息中的参数d值:目的接入节点在非最优k-anycast组成员列表中增加一个表项,其中,k-anycast地址域为K,组成员单播地址域为更新消息的源地址,距离域值为更新消息中的距离参数d值,生命周期设置为最大值;
步骤405:目的接入节点在收到所有k-anycast组成员的更新消息后,获取距离自己最近的k-anycast组成员的单播地址;
步骤406:结束;
如果k-anycast组成员的地理坐标发生变化,那么它向每个接入节点发送更新消息从而确保接入节点能够保存距离最近的k-anycast组成员的信息;
如果接入节点的最优k-anycast组成员列表中和非最优k-anycast组成员列表中表项的生命周期衰减为0,接入节点则删除该表项;
如果接入节点的最优k-anycast组成员列表中表项为空,它则从非最优k-anycast组成员列表中选取一个距离最近的k-anycast组成员来更新最优k-anycast组成员列表中的表项。
5.根据权利要求4所述的一种无线传感器网络数据通信方法,其特征在于,一种类型的数据C由数据ID c定义,无线传感器网络内能够提供数据C的所有传感器节点构成k-anycast组,无线传感器网络通过接入路由器AR1接入到互联网,接入路由器AR1的网络前缀为GRP1;
k-anycast组成员Ax根据下述过程创建数据部分Cx,其中,参数h初始值设置为0,网络直径最大值为H:
步骤101:开始;
步骤102:k-anycast组成员Ax在h跳范围内广播一个数据创建消息,该消息的负载为参数h和数据部分ID集合Px,数据部分ID集合Px定义了数据部分Cx,如公式(3)所示,其中数据部分ID集合Px中任一个元素dx-w定义了数据部分cx-w,1≤w≤|Px|;
步骤103:判断收到数据创建消息的节点是否能创建并提供数据部分cx-w,如果能提供,则进行步骤104,否则进行步骤105;
步骤104:收到数据创建消息的节点向k-anycast组成员Ax发送一个数据创建响应消息,该消息的负载为数据部分cx-w,进行步骤107;
步骤105:收到数据创建消息的节点将参数h递减1,判断h是否大于0,如果是,进行步骤106,否则进行步骤107;
步骤106:收到数据创建消息的节点转发数据创建消息,执行步骤103;
步骤107:k-anycast组成员Ax判断所有返回的数据创新响应消息中的负载是否能构建数据部分Cx,如果不能,进行步骤108,否则进行步骤110;
步骤108:k-anycast组成员Ax判断h是否等于H,如果是,进行步骤112,否则执行步骤109;
步骤109:k-anycast组成员Ax将h递增1,执行步骤102;
步骤110:k-anycast组成员Ax向其他所有k-anycast成员发送一条数据分享消息,消息负载为数据部分Cx;
步骤111:其他k-anycast组成员收到k-anycast组成员Ax发送的数据分享消息后,保存数据部分Cx;
步骤112:结束;
通过上述过程,每个k-anycast组成员在收到其他k-anycast成员发送的数据分享消息后,创建数据C并保存数据C。
6.根据权利要求5所述的一种无线传感器网络数据通信方法,其特征在于,互联网中的节点N通过下述过程取数据C:
步骤201:开始;
步骤202:节点N构建一个k-anycast地址,该k-anycast地址的网络前缀为GRP1,数据ID为c;节点N发送一个数据请求消息,该消息的目的地址为构建的k-anycast地址,源地址为自己的单播地址,基于目的地址的网络前缀GRP1,该数据请求消息达到接入路由器AR1;
步骤203:接入路由器AR1利用节点ID集合G为每个连接的接入节点APx构建一个单播地址,该地址记做Ux,在地址Ux中,网络前缀为GRP1,接入节点ID为接入节点APx的接入节点ID;
步骤204:接入路由器AR1发送数据部分请求消息,该消息记做Rx,在数据部分请求消息Rx中,源地址为接入路由器AR1的单播地址U,目的地址为单播地址Ux,负载为数据ID c和数据部分ID集合Px,数据部分ID集合Px定义了数据部分Cx,如公式(3)所示,其中数据部分ID集合Px中任一个元素dx-w定义了数据部分cx-w,1≤w≤|Px|,数据部分Cx满足公式(4)和(5),由此,数据部分请求消息Rx到达接入节点APx;
步骤205:接入节点APx收到数据部分请求消息Rx后,查看最优k-anycast组成员列表中k-anycast地址域值为K的表项,并获取该表项的组成员单播地址域值Tx;将数据部分请求消息Rx的目的地址更新为单播地址Tx,源地址更新为自己的单播地址Ux,发送数据部分请求消息Rx;由此数据部分请求消息Rx被路由到单播地址为Tx的最优k-anycast成员Ax;
步骤206:判断最优k-anycast组成员Ax能否提供数据部分Cx,如果能,则进行步骤208,否则执行步骤207;
步骤207:k-anycast组成员Ax执行步骤101~步骤112创建数据部分Cx;
步骤208:k-anycast组成员Ax发送一个数据部分响应消息Ex,数据部分响应消息Ex的负载为数据部分Cx,目的地址为单播地址Ux,源地址为单播地址Tx;
步骤209:接入节点APx收到数据部分响应消息Ex后,将数据部分响应消息Ex的目的单播地址更新为单播地址U,发送数据部分响应消息Ex,数据部分响应消息Ex到达接入路由器AR1;
步骤210:接入路由器AR1收到X个接入节点返回的数据部分响应消息后,利用数据部分响应消息中的数据部分构建数据C,返回一个数据响应消息,该消息的负载为数据C,目的地址为节点N的单播地址;
步骤211:节点N收到数据响应消息后,获取了数据C;
步骤212:结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403595.4A CN105871713B (zh) | 2016-06-08 | 2016-06-08 | 一种无线传感器网络数据通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610403595.4A CN105871713B (zh) | 2016-06-08 | 2016-06-08 | 一种无线传感器网络数据通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105871713A true CN105871713A (zh) | 2016-08-17 |
CN105871713B CN105871713B (zh) | 2018-08-31 |
Family
ID=56676681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610403595.4A Active CN105871713B (zh) | 2016-06-08 | 2016-06-08 | 一种无线传感器网络数据通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871713B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483607A (zh) * | 2017-08-28 | 2017-12-15 | 常熟理工学院 | 一种低延迟的物联网数据通信实现方法 |
CN107948074A (zh) * | 2017-12-06 | 2018-04-20 | 常熟理工学院 | 一种高效的车联网实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738292A (zh) * | 2005-08-26 | 2006-02-22 | 电子科技大学 | 基于跨层设计的自组网定向路由方法 |
US20140379863A1 (en) * | 2007-10-26 | 2014-12-25 | At&T Intellectual Property Ii, L.P. | Proximity Routing For Session Based Applications Using Anycast |
CN105246118A (zh) * | 2015-09-08 | 2016-01-13 | 常熟理工学院 | 一种基于定位信息的无线网络通信实现方法 |
-
2016
- 2016-06-08 CN CN201610403595.4A patent/CN105871713B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738292A (zh) * | 2005-08-26 | 2006-02-22 | 电子科技大学 | 基于跨层设计的自组网定向路由方法 |
US20140379863A1 (en) * | 2007-10-26 | 2014-12-25 | At&T Intellectual Property Ii, L.P. | Proximity Routing For Session Based Applications Using Anycast |
CN105246118A (zh) * | 2015-09-08 | 2016-01-13 | 常熟理工学院 | 一种基于定位信息的无线网络通信实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483607A (zh) * | 2017-08-28 | 2017-12-15 | 常熟理工学院 | 一种低延迟的物联网数据通信实现方法 |
CN107483607B (zh) * | 2017-08-28 | 2020-03-24 | 常熟理工学院 | 一种低延迟的物联网数据通信实现方法 |
CN107948074A (zh) * | 2017-12-06 | 2018-04-20 | 常熟理工学院 | 一种高效的车联网实现方法 |
CN107948074B (zh) * | 2017-12-06 | 2020-06-23 | 常熟理工学院 | 一种高效的车联网实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105871713B (zh) | 2018-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102158983B (zh) | 一种构建6LoWPAN无线传感器网络的实现方法 | |
CN104717307B (zh) | 一种车载云通信的实现方法 | |
CN106507428B (zh) | 一种未来移动网络的数据通信方法 | |
CN106453081B (zh) | 一种基于车载云的数据通信方法 | |
CN109155985A (zh) | 车辆(v2x)通信的资源选择 | |
CN103078969B (zh) | 一种mac地址信息通告方法和设备 | |
CN106453090A (zh) | 一种以数据为中心的通信方法 | |
CN106162809B (zh) | 一种移动无线网络数据通信方法 | |
CN106454751B (zh) | 一种基于地理位置信息的网络数据通信方法 | |
CN106792978A (zh) | 一种基于云的智能车联网数据通信方法 | |
CN106993321B (zh) | 一种基于簇的网络数据通信方法 | |
CN104869563B (zh) | 一种下一代城市车联网的通信实现方法 | |
CN105246118A (zh) | 一种基于定位信息的无线网络通信实现方法 | |
CN105119828B (zh) | 一种快速的无线网络路由实现方法 | |
CN104660502B (zh) | 向外部边界网关协议邻居通告路由的方法及装置 | |
CN105187529A (zh) | 一种基于定位信息的车联网实现方法 | |
CN103036785B (zh) | 一种城市车载网的路由方法 | |
CN103167484A (zh) | 一种车载网接入IPv6网络的方法 | |
CN107317890B (zh) | 一种智能车载网的数据传输实现方法 | |
CN106506368A (zh) | 一种基于互联网的数据通信实现方法 | |
CN105871713A (zh) | 一种无线传感器网络数据通信方法 | |
CN105188104A (zh) | 一种无线网络通信的实现方法 | |
CN104135532B (zh) | 基于OSGi的车载网服务共享中间件、实现方法及服务共享方法 | |
CN109089241B (zh) | 一种车载网的数据通信实现方法 | |
CN103945415B (zh) | 一种无线网络的通信实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221101 Address after: 102, No. 33, Southeast Avenue, Southeast Street, Changshu City, Suzhou City, Jiangsu Province, 215500 Patentee after: Suzhou Hengsheng Energy Saving Technology Co.,Ltd. Address before: 215500 Changshou City South Three Ring Road No. 99, Suzhou, Jiangsu Patentee before: CHANGSHU INSTITUTE OF TECHNOLOGY |