CN118041848A - 一种灾后地区监测系统的实现方法 - Google Patents
一种灾后地区监测系统的实现方法 Download PDFInfo
- Publication number
- CN118041848A CN118041848A CN202410434595.5A CN202410434595A CN118041848A CN 118041848 A CN118041848 A CN 118041848A CN 202410434595 A CN202410434595 A CN 202410434595A CN 118041848 A CN118041848 A CN 118041848A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- message
- backbone
- equal
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 101100366082 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SNF7 gene Proteins 0.000 description 3
- 238000013479 data entry Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种灾后地区监测系统的实现方法,所述系统包括均匀部署在灾后地区的末端节点和骨干节点,所述末端节点通过发送定位消息获取目标数据;如果接收到所述定位消息的末端节点或者骨干节点能提供所述目标数据,则发送一个监测消息,其中,所述监测消息的有效ID集合中包含该骨干节点的节点ID或者该末端节点连接的骨干节点的节点ID;否则,接收到所述定位消息的骨干节点将自己的节点ID加入到该定位消息中的无效节点ID集合中,并从备份节点ID集合中删除自己的节点ID。工作人员通过本发明所提供的灾后地区监测系统的实现方法能够快速获取灾后地区监测环境下的监测数据,从而实现灾后地区的实时监测,具有广泛的应用前景。
Description
技术领域
本发明涉及一种实现方法,尤其涉及的是一种灾后地区监测系统的实现方法。
背景技术
灾后监测是一项关乎人民生命安全的重要工作。通过对自然灾害的全面监测和预警,可以及时采取措施,减少灾害损失,保护人民生命财产安全。一种常见的地灾监测方法是通过地震仪探测地下的地震活动。
本系统旨在实现灾后地区环境的实时监测,保障人民群众的生命财产安全。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种灾后地区监测系统的实现方法。
技术方案:本发明公开了一种灾后地区监测系统的实现方法,所述系统包括均匀部署在灾后地区的末端节点和骨干节点,所述方法包括:
所述末端节点通过发送定位消息获取目标数据;
如果接收到所述定位消息的末端节点或者骨干节点能提供所述目标数据,则发送一个监测消息,其中,所述监测消息的有效ID集合中包含该骨干节点的节点ID或者该末端节点连接的骨干节点的节点ID;否则,接收到所述定位消息的骨干节点将自己的节点ID加入到该定位消息中的无效节点ID集合中,并从备份节点ID集合中删除自己的节点ID;
接收到所述定位消息的骨干节点或者下一跳骨干节点将所述定位消息中的目的节点ID设置为该定位消息中有效节点ID集合的任意节点ID,从有效节点ID集合中删除该节点ID,将下一跳节点ID设置为距离目的节点ID最近的邻居骨干节点的节点ID,转发该定位消息;
接收到所述监测消息的骨干节点针对所述监测消息中有效节点ID集合中的每个节点ID执行下述操作:创建一个提供表项,并将该表项的节点ID设置为该有效节点ID集合中的节点ID,该表项的数据ID集合只包含该监测消息中的数据ID;
接收到所述监测消息的末端节点或者骨干节点针对该监测消息中无效节点ID集合中的每个节点ID执行下述操作:如果存在节点ID等于该无效节点ID集合中的节点ID的表项,则从该表项的数据ID集合中删除该监测消息中的数据ID;
如果所述系统中任意骨干节点权值小于阈值,则所述骨干节点通过发送重定向消息将自己数据表发送到权值大于阈值的骨干节点,同时更新该骨干节点的提供表项。
所述发明中,
末端节点同一个时刻与一个骨干节点连接;每个节点具有唯一的节点ID,骨干节点的节点ID等于其坐标,末端节点的节点ID等于其硬件ID;
每种类型的数据由数据ID唯一标识,例如空气湿度和温度;
每个节点保存一个数据表,一个数据表项包含数据ID,数据和生命周期;
每个末端节点或者骨干节点保存一个提供表,一个提供表项包含节点ID,数据ID集合和生命周期;
每个骨干节点保存一个索引表,一个索引表项包含数据ID,节点ID和生命周期;
末端节点能创建一种或者多种类型的数据,定义这些数据的数据ID构成一个数据ID集合,该集合称为该末端节点的数据ID集合,对于该数据ID集合中的每个数据ID,末端节点创建该数据ID标识的数据,并创建一个数据表项,该表项的数据ID等于该数据ID,将该数据表项的数据更新为创建的数据,将生命周期设置为最大生命周期。
所述发明中,
所述末端节点向连接的所述骨干节点发送注册消息,该注册消息的数据ID集合为所述末端节点的数据ID集合,节点ID为自己的节点ID;
接收到所述注册消息的骨干节点针对该注册消息中数据ID集合中的每个数据ID执行下述操作:创建一个索引表项,该表项的数据ID和节点ID分别等于该数据ID和注册消息中的节点ID,将生命周期设置为最大生命周期。
所述发明中,
所述骨干节点发送发布消息,该发布消息的数据ID集合由所述骨干节点索引表中每个索引表项的数据ID构成,节点ID等于自己的节点ID;
接收到所述发布消息的骨干节点或者末端节点创建一个提供表项,该提供表项的节点ID等于所述发布消息中的节点ID,将该提供表项的数据ID集合设置为该发布消息中的数据ID集合,将生命周期设置为最大生命周期;
如果接收到所述发布消息的节点为骨干节点,则转发该发布消息。
所述发明中,
如果接收到所述定位消息的骨干节点的节点ID等于该定位消息中的目的节点ID,则是该定位消息的目的骨干节点;如果接收到所述定位消息的骨干节点的节点ID等于该定位消息中的下一跳节点ID,则是该定位消息的下一跳骨干节点;
所述末端节点发送的定位消息中的数据ID为目标数据的数据ID,有效节点ID集合和备份节点ID集合均由每个符合条件1的提供表项的节点ID构成,无效节点ID集合为空,源节点ID和下一跳节点ID均等于该末端节点连接的骨干节点的节点ID,目的节点ID等于有效节点ID集合的第一个节点ID;
所述条件1:提供表项的数据ID集合包含定位消息中的数据ID
所述发明中,
如果接收到所述定位消息的末端节点或者骨干节点存在数据ID等于该定位消息中的数据ID的数据表项,则构建的监测消息中数据ID和数据分别等于该数据表项的数据ID和数据,有效节点ID集合和无效节点ID集合分别等于所述定位消息中的备份节点ID集合和无效节点ID集合,权值等于所述末端节点或者骨干节点的权值,目的节点ID等于该定位消息中的源节点ID,下一跳节点ID等于与目的节点ID距离最近的邻居骨干节点的节点ID。
所述发明中,
所述骨干节点或者末端节点根据公式(1)计算自己的权值:
w1 = (1-x1)×c1/c2+ x1×e1/e2(1)
w1为所述骨干节点或者末端节点的权值,x1为调节系数,取值范围为0.25-0.75,c1为所述骨干节点或者末端节点当前未占用缓存的大小,e1为所述骨干节点或者末端节点当前剩余的能量,c2为所述骨干节点或者末端节点缓存的大小,e2为所述骨干节点或者末端节点初始能量。
所述发明中,
如果构建所述监测消息的骨干节点的权值小于预先设定的阈值,则从所述监测消息的有效节点ID集合中删除自己的节点ID,将自己的节点ID加入到监测消息的无效节点ID集合中,删除数据ID等于该定位消息中的数据ID的数据表项;
如果接收到所述监测消息的骨干节点的等于该监测消息中的目的节点ID,则将该监测消息中的下一跳节点ID设置为0,转发该监测消息。
所述发明中,
如果接收到所述监测消息的节点的节点ID等于该监测消息中的下一跳节点ID,将该监测消息中的下一跳节点ID设置为距离目的节点ID最近的邻居骨干节点的节点ID,转发该监测消息;
接收到所述监测消息的骨干节点权值如果大于该监测消息中的权值,则将该监测消息中的权值设置为自己的权值,创建一个数据表项保存该监测消息中的数据。
所述发明中,
所述骨干节点发送的重定向消息中,数据表为自己的数据表,距离为预先设置的阈值,权值等于预先设置的阈值,节点ID等于自己的节点ID;
接收到所述重定向消息的末端节点或者骨干节点如果存在节点ID等于该重定向消息中的节点ID的提供表项,则删除该提供表项;
接收到所述重定向消息的末端节点或者骨干节点如果权值大于该重定向消息中的权值,则将该重定向消息中的权值设置为自己的权值,将该重定向消息的数据表加入到自己的数据表中;
接收到所述重定向消息的末端节点或者骨干节点将该消息中的距离递减1,如果距离等于0,则转发该重定向消息。
有益效果:本发明提供了一种灾后地区监测系统的实现方法,工作人员通过本发明所提供的灾后地区监测系统的实现方法能够快速获取灾后地区监测环境下的监测数据,从而实现灾后地区的实时监测,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明灾后地区监测系统的实现方法的流程图;
图2为本发明所述的建立索引表流程示意图;
图3为本发明所述的建立提供表流程示意图;
图4至图6为本发明所述的获取数据流程示意图;
图7为本发明所述的重定向流程示意图。
具体实施方式
本发明提供了一种灾后地区监测系统的实现方法,工作人员通过本发明所提供的灾后地区监测系统的实现方法能够快速获取灾后地区监测环境下的监测数据,从而实现灾后地区的实时监测,具有广泛的应用前景。
图1为本发明灾后地区监测系统的实现方法的流程图,图2为本发明所述的建立索引表流程示意图。所述系统由多个节点构成,节点又划分为末端节点和骨干节点;
末端节点同一个时刻与一个骨干节点连接;
每个节点具有唯一的节点ID,骨干节点的节点ID等于其坐标,末端节点的节点ID等于其硬件ID,例如MAC地址;
每种类型的数据由数据ID唯一标识,例如空气湿度和温度;
每个节点保存一个数据表,一个数据表项包含数据ID,数据和生命周期;
末端节点能创建一种或者多种类型的数据,定义这些数据的数据ID构成一个数据ID集合,该集合称为该末端节点的数据ID集合,对于该数据ID集合中的每个数据ID,末端节点定期创建该数据ID标识的数据,并判断是否存在一个数据表项,该表项的数据ID等于该数据ID,如果存在,则将该数据表项的数据更新为创建的数据,将生命周期设置为最大生命周期,否则,该末端节点创建一个数据表项,该表项的数据ID等于该数据ID,将该数据表项的数据更新为创建的数据,将生命周期设置为最大生命周期;
每个骨干节点保存一个索引表,一个索引表项包含数据ID,节点ID和生命周期;
所述系统通过消息来实现,每个消息由消息ID唯一标识;
注册消息包含消息ID,数据ID集合和节点ID;
末端节点PV1的数据ID集合为DS1,与骨干节点B1连接,定期执行下述操作:
步骤101:开始;
步骤102:末端节点PV1发送一个注册消息,该消息的消息ID为1,数据ID集合为DS1,节点ID为末端节点PV1的节点ID;
步骤103:骨干节点B1接收到注册消息后,针对注册消息中数据ID集合中的每个数据ID执行下述操作:如果存在一个索引表项,该表项的数据ID和节点ID分别等于该数据ID和注册消息中的节点ID,则将该索引表项的生命周期设置为最大值,否则,创建一个索引表项,该表项的数据ID和节点ID分别等于该数据ID和注册消息中的节点ID,将该索引表项的生命周期设置为最大值;
步骤104:骨干节点B1判断自己的数据表是否为空,如果是,则执行步骤106,否则执行步骤105;
步骤105:骨干节点B1针对自己数据表中的每个数据表项执行下述操作:如果存在一个索引表项,该表项的数据ID和节点ID分别等于该数据表项中的数据ID和自己的节点ID,则将该索引表项的生命周期设置为最大值,否则,创建一个索引表项,该表项的数据ID和节点ID分别等于该数据表项中的数据ID和自己的节点ID,将该索引表项的生命周期设置为最大值;
步骤106:结束。
上述过程中,末端节点通过发送注册消息在连接的骨干节点上建立索引表,进而让连接的骨干节点获取每个连接的末端节点能提供的数据信息,上述过程通过索引表的生命周期来确保索引表的有效性和时效性,进而确保了索引表的正确性和有效性,同时也降低了数据通信延迟和代价,确保了数据通信的成功率。
图3为本发明所述的建立提供表流程示意图。每个节点保存一个提供表,一个提供表项包含节点ID,数据ID集合和生命周期;
发布消息包含消息ID,数据ID集合和节点ID;
骨干节点B1定期执行下述操作:
步骤201:开始;
步骤202:骨干节点B1设置一个节点ID集合变量v1,变量v1的初始值为空集,针对自己索引表中的每个索引表项执行下述操作:如果该索引表项的数据ID包含在变量v1中,则不执行任何操作,否则将该索引表项的数据ID加入到变量v1中;
步骤203:骨干节点B1发送一个发布消息,该消息的消息ID为2,数据ID集合等于变量v1,节点ID等于骨干节点B1的节点ID;
步骤204:接收到发布消息的节点判断是否存在一个提供表项,该表项的节点ID等于该发布消息中的节点ID,且生命周期大于阈值TH0,阈值TH0的取值范围为最大生命周期的90%-100%,如果存在,则执行步骤210,否则执行步骤205;
步骤205:接收到发布消息的节点判断是否存在一个提供表项,该表项的节点ID等于该发布消息中的节点ID,如果存在,则执行步骤206,否则执行步骤207;
步骤206:接收到发布消息的节点选择一个提供表项,该表项的节点ID等于该发布消息中的节点ID,将该表项的数据ID集合设置为该发布消息中的数据ID集合,将生命周期设置为最大值,执行步骤208;
步骤207:接收到发布消息的节点创建一个提供表项,该表项的节点ID等于该发布消息中的节点ID,将该表项的数据ID集合设置为该发布消息中的数据ID集合,将生命周期设置为最大值;
步骤208:如果接收到发布消息的节点为末端节点,则执行步骤210,否则执行步骤209;
步骤209:接收到发布消息的节点转发该发布消息,执行步骤204;
步骤210:结束。
上述过程中,末端节点和骨干节点通过发送发布消息在其他节点上建立和更新提供表,进而让其他节点获取每个骨干节点以及其连接的末端节点所能提供的数据信息,包括数据ID集合,节点ID等,上述过程通过提供表的生命周期来确保提供表的时效性,进而确保了数据通信的成功率。
图4为本发明所述的获取数据流程示意图。每个节点定期根据公式(1)计算自己的权值,公式(1)中,w1为该节点的权值,x1为调节系数,取值范围为0.25-0.75,c1为该节点当前未占用缓存的大小,e1为该节点当前剩余的能量,c2为该节点缓存的大小,e2为该节点初始能量;
w1 = (1-x1)×c1/c2+ x1×e1/e2(1)
定位消息包含消息ID,数据ID,有效节点ID集合,无效节点ID集合,源节点ID,下一跳节点ID,目的节点ID,备份节点ID集合;
节点通过电子地图获取骨干节点的节点ID,即坐标;
监测消息包含消息ID,数据ID,数据,权值,无效节点ID集合,有效节点ID集合,目的节点ID,下一跳节点ID;
末端节点EN2与骨干节点B2连接,通过下述过程获取数据ID DID1定义的数据:
步骤301:开始;
步骤302:末端节点EN2构建一个定位消息,该消息的消息ID为3,数据ID为DID1,有效节点ID集合和备份节点ID集合包含每个符合条件1的提供表项的节点ID,无效节点ID为空集,源节点ID和下一跳节点ID均等于骨干节点B2的节点ID,目的节点ID等于有效节点ID集合的第一个节点ID,从有效节点ID集合中删除第一个节点ID,发送该定位消息;
条件1:提供表项的数据ID集合包含数据ID DID1;
步骤303:接收到定位消息的节点判断是否存在一个数据表项,该表项的数据ID等于该定位消息中的数据ID,如果存在,则执行步骤304,否则执行步骤312;
步骤304:接收到定位消息的节点选中一个数据表项,该表项的数据ID等于该定位消息中的数据ID,构建一个监测消息,该消息的消息ID为4,数据ID和数据分别等于该数据表项的数据ID和数据,有效节点ID集合和无效节点ID集合分别等于定位消息中的备份节点ID集合和无效节点ID集合,权值等于该节点的权值,目的节点ID等于该定位消息中的源节点ID,下一跳节点ID等于与目的节点ID距离最近的邻居骨干节点的节点ID;
步骤305:接收到定位消息的节点判断自己是否为末端节点,如果是,则执行步骤306,否则执行步骤307;
步骤306:接收到定位消息的末端节点设置节点ID集合变量nv1,变量nv1只包含自己连接的骨干节点的节点ID,执行监测消息中有效节点ID集合与变量nv1的并集,将监测消息中有效节点ID集合设置为计算获取的节点ID集合并集,转发该监测消息,执行步骤319;
步骤307:接收到定位消息的骨干节点判断自己的节点ID是否包含在监测消息的有效节点ID集合中,如果是,则执行步骤309,否则执行步骤308;
步骤308:接收到定位消息的骨干节点将自己的节点ID加入到监测消息的有效节点ID集合中;
步骤309:接收到定位消息的骨干节点判断自己的权值是否小于阈值WTH1,阈值WTH1的取值范围为0.5-0.75,如果是,则执行步骤310,否则执行步骤311;
步骤310:接收到定位消息的骨干节点从监测消息的有效节点ID集合中删除自己的节点ID,将自己的节点ID加入到监测消息的无效节点ID集合中,接收到定位消息的骨干节点选中一个数据表项,该表项的数据ID等于该定位消息中的数据ID,删除该数据表项,
步骤311;接收到定位消息的骨干节点转发该监测消息;
步骤312:接收到定位消息的骨干节点判断自己的节点ID是否等于该定位消息中的目的节点ID,如果是,则执行步骤313,否则执行步骤315;
步骤313:接收到定位消息的骨干节点将自己的节点ID加入到该定位消息中无效节点ID集合中,从备份节点ID集合中删除自己的节点ID;
步骤314:接收到定位消息的骨干节点判断有效节点ID集合是否为空,如果是,则执行步骤328,否则执行步骤316;
步骤315:接收到定位消息的骨干节点判断自己的节点ID是否等于该定位消息中的下一跳节点ID,如果等于,则执行步骤316,否则执行步骤328;
步骤316:接收到定位消息的骨干节点将该定位消息中的目的节点ID设置为有效节点ID集合的第一个节点ID,从有效节点ID集合中删除第一个节点ID;
步骤317:接收到定位消息的骨干节点将该定位消息中的下一跳节点ID设置为距离目的节点ID最近的邻居骨干节点的节点ID;
步骤318:接收到定位消息的骨干节点转发该定位消息,执行步骤303;
步骤319:如果末端节点EN2接收到该监测消息,则执行步骤328,否则执行步骤320;
步骤320:接收到监测消息的骨干节点或者末端节点针对该监测消息中有效节点ID集合中的每个节点ID NID0执行下述操作:如果存在一个提供表项,该表项的节点ID等于NID0,则执行该表项数据ID集合与只包含该监测消息中数据ID的数据ID集合的并集,将该表项的数据ID集合设置为计算获取的数据ID集合并集,否则,创建一个提供表项,该表项的节点ID等于NID0,数据ID集合等于只包含该监测消息中数据ID的数据ID集合,生命周期设置为最大值;
步骤321:接收到监测消息的节点针对该监测消息中无效节点ID集合中的每个节点ID NID00执行下述操作:如果存在一个提供表项,该表项的节点ID等于NID00且数据ID集合包含该监测消息中数据ID,则从该表项的数据ID集合中删除该监测消息中的数据ID,否则,不执行任何操作;
步骤322:接收到监测消息的节点判断自己的权值是否大于该监测消息中的权值,如果是,则执行步骤323,否则执行步骤324;
步骤323:接收到监测消息的节点将该监测消息中的权值设置为自己的权值,判断是否存在一个数据表项,该表项的数据ID等于该监测消息中的数据ID,如果存在,则将该表项的数据设置为该监测消息中的数据,将生命周期设置为最大值,否则,创建一个数据表项,该表项的数据ID等于该监测消息中的数据ID,将该表项的数据设置为该监测消息中的数据,将生命周期设置为最大值;
步骤324:接收到监测消息的节点判断自己的节点ID是否等于该监测消息中的目的节点ID,如果是,则执行步骤325,否则执行步骤326;
步骤325:接收到监测消息的节点将该监测消息中的下一跳节点ID设置为0,转发该监测消息,执行步骤319;
步骤326:接收到监测消息的节点判断自己的节点ID是否等于该监测消息中的下一跳节点ID,如果是,则执行步骤327,否则执行步骤328;
步骤327:接收到监测消息的节点将该监测消息中的下一跳节点ID设置为距离目的节点ID最近的邻居骨干节点的节点ID,转发该监测消息,执行步骤319;
步骤328:结束。
上述过程中,末端节点通过发送定位消息和监测消息从距离最近的节点获取目标数据,同时节点根据有效数据ID集合和无效数据ID集合更新自己的提供表,同时根据权值更新自己的数据表,从而有效提高了数据通信成功率,也降低数据通信延迟和代价。
图5为本发明所述的重定向流程示意图。重定向消息包含消息ID,数据表,距离,权值和节点ID;
如果骨干节点B1的权值小于阈值WTH1,则执行下述操作:
步骤401:开始;
步骤402:骨干节点B1发送一个重定向消息,该消息的消息ID为5,数据表为自己的数据表,距离为阈值TL1,TL1为预先设定值,取值范围为3-5,权值等于WTH1,节点ID等于自己的节点ID;
步骤403:接收到重定向消息的节点判断是否存在一个提供表项,该表项的节点ID等于该重定向消息中的节点ID,如果存在,则执行步骤404,否则执行步骤405;
步骤404:接收到重定向消息的节点选择一个提供表项,该表项的节点ID等于该重定向消息中的节点ID,删除该表项;
步骤405:接收到重定向消息的节点判断自己的权值是否大于该重定向消息中的权值,如果是,则执行步骤406,否则执行步骤407;
步骤406:接收到重定向消息的节点将该重定向消息中的权值设置为自己的权值,将该重定向消息的数据表加入到自己的数据表中,即将自己的数据表与该重定向消息的数据表执行合并操作,将自己的数据表设置为合并后的数据表;
步骤407:接收到重定向消息的节点将该消息中的距离递减1,如果距离等于0,则执行步骤409,否则执行步骤408;
步骤408:接收到重定向消息的节点转发该重定向消息,执行步骤403;
步骤409:结束。
上述过程中,节点通过重定向消息来更新数据表和提供表,从而确保提供表的实时性和正确性,避免由于能量不足引起的数据通信失败,进而有效提高了数据通信的正确性,也降低了数据通信延迟和代价。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种灾后地区监测系统的实现方法。性能分析如下:当末端节点与保存数据的末端节点或者骨干节点距离较远时,末端节点获取数据的成功率有所下降,当末端节点与保存数据的末端节点或者骨干节点距离较近时,末端节点获取数据的成功率有所上升,末端节点获取数据的平均成功率为97.9%。
表1
本发明提供了一种灾后地区监测系统的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (10)
1.一种灾后地区监测系统的实现方法,其特征在于,所述系统包括均匀部署在灾后地区的末端节点和骨干节点,所述方法包括:
所述末端节点通过发送定位消息获取目标数据;
如果接收到所述定位消息的末端节点或者骨干节点能提供所述目标数据,则发送一个监测消息,其中,所述监测消息的有效节点ID集合中包含该骨干节点的节点ID或者该末端节点连接的骨干节点的节点ID;否则,接收到所述定位消息的骨干节点将自己的节点ID加入到所述定位消息中的无效节点ID集合中,并从备份节点ID集合中删除自己的节点ID;
接收到所述定位消息的骨干节点或者下一跳骨干节点将所述定位消息中的目的节点ID设置为该定位消息中所述有效节点ID集合的任意节点ID,并从所述有效节点ID集合中删除所述任意节点ID,将下一跳节点ID设置为距离所述目的节点ID最近的邻居骨干节点的节点ID,转发该定位消息;
接收到所述监测消息的骨干节点针对所述监测消息中所述有效节点ID集合中的每个节点ID执行下述操作:创建一个提供表项,并将所述提供表项的节点ID设置为所述有效节点ID集合中的节点ID,所述提供表项的数据ID集合只包含所述监测消息中的数据ID;
接收到所述监测消息的末端节点或者骨干节点针对该监测消息中所述无效节点ID集合中的每个节点ID执行下述操作:如果存在节点ID等于该无效节点ID集合中的节点ID的表项,则从该表项的数据ID集合中删除所述监测消息中的数据ID;
如果所述系统中任意骨干节点权值小于阈值,则所述骨干节点通过发送重定向消息将自己数据表发送到权值大于阈值的骨干节点,同时更新该骨干节点的提供表项。
2.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
末端节点同一个时刻与一个骨干节点连接;每个节点具有唯一的节点ID,骨干节点的节点ID等于其坐标,末端节点的节点ID等于其硬件ID;
每种类型的数据由数据ID唯一标识;
每个节点保存一个数据表,一个数据表项包含数据ID,数据和生命周期;
每个末端节点或者骨干节点保存一个提供表,一个提供表项包含节点ID,数据ID集合和生命周期;
每个骨干节点保存一个索引表,一个索引表项包含数据ID,节点ID和生命周期;
末端节点能创建一种或者多种类型的数据,定义这些数据的数据ID构成一个数据ID集合,该数据ID集合称为该末端节点的数据ID集合,对于该数据ID集合中的每个数据ID,末端节点创建该数据ID标识的数据,并创建一个数据表项,该数据表项的数据ID等于该数据ID,将该数据表项的数据更新为创建的数据,将生命周期设置为最大生命周期。
3.根据权利要求2所述的一种灾后地区监测系统的实现方法,其特征在于,
所述末端节点向连接的所述骨干节点发送注册消息,该注册消息的数据ID集合为所述末端节点的数据ID集合,节点ID为自己的节点ID;
接收到所述注册消息的骨干节点针对该注册消息中数据ID集合中的每个数据ID执行下述操作:创建一个索引表项,该索引表项的数据ID和节点ID分别等于该数据ID和注册消息中的节点ID,将生命周期设置为最大生命周期。
4.根据权利要求2所述的一种灾后地区监测系统的实现方法,其特征在于,
所述骨干节点发送发布消息,该发布消息的数据ID集合由所述骨干节点索引表中每个索引表项的数据ID构成,节点ID等于自己的节点ID;
接收到所述发布消息的骨干节点或者末端节点创建一个提供表项,该提供表项的节点ID等于所述发布消息中的节点ID,将该提供表项的数据ID集合设置为该发布消息中的数据ID集合,将生命周期设置为最大生命周期;
如果接收到所述发布消息的节点为骨干节点,则转发该发布消息。
5.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
如果接收到所述定位消息的骨干节点的节点ID等于该定位消息中的目的节点ID,则是该定位消息的目的骨干节点;如果接收到所述定位消息的骨干节点的节点ID等于该定位消息中的下一跳节点ID,则是该定位消息的下一跳骨干节点;
所述末端节点发送的定位消息中的数据ID为目标数据的数据ID,所述有效节点ID集合和所述备份节点ID集合均由每个符合条件1的提供表项的节点ID构成,所述无效节点ID集合为空,源节点ID和下一跳节点ID均等于该末端节点连接的骨干节点的节点ID,目的节点ID等于有效节点ID集合的第一个节点ID;
所述条件1:所述提供表项的数据ID集合包含所述定位消息中的数据ID。
6.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
如果接收到所述定位消息的末端节点或者骨干节点存在数据ID等于该定位消息中的数据ID的数据表项,则构建的监测消息中数据ID和数据分别等于该数据表项的数据ID和数据,有效节点ID集合和无效节点ID集合分别等于所述定位消息中的备份节点ID集合和无效节点ID集合,权值等于所述末端节点或者骨干节点的权值,目的节点ID等于该定位消息中的源节点ID,下一跳节点ID等于与目的节点ID距离最近的邻居骨干节点的节点ID。
7.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
所述骨干节点或者末端节点根据公式(1)计算自己的权值:
w1 = (1-x1)×c1/c2+ x1×e1/e2(1)
w1为所述骨干节点或者末端节点的权值,x1为调节系数,取值范围为0.25-0.75,c1为所述骨干节点或者末端节点当前未占用缓存的大小,e1为所述骨干节点或者末端节点当前剩余的能量,c2为所述骨干节点或者末端节点缓存的大小,e2为所述骨干节点或者末端节点初始能量。
8.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
如果构建所述监测消息的骨干节点的权值小于预先设定的阈值,则从所述监测消息的有效节点ID集合中删除自己的节点ID,将自己的节点ID加入到监测消息的无效节点ID集合中,删除数据ID等于该定位消息中的数据ID的数据表项;
如果接收到所述监测消息的骨干节点的等于该监测消息中的目的节点ID,则将该监测消息中的下一跳节点ID设置为0,转发该监测消息。
9.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
如果接收到所述监测消息的骨干节点或者末端节点的节点ID等于该监测消息中的下一跳节点ID,则将该监测消息中的下一跳节点ID设置为距离目的节点ID最近的邻居骨干节点的节点ID,转发该监测消息;
接收到所述监测消息的骨干节点权值如果大于该监测消息中的权值,则将该监测消息中的权值设置为自己的权值,创建一个数据表项保存该监测消息中的数据。
10.根据权利要求1所述的一种灾后地区监测系统的实现方法,其特征在于,
所述骨干节点发送的重定向消息中,数据表为自己的数据表,距离为预先设置的阈值,权值等于预先设置的阈值,节点ID等于自己的节点ID;
接收到所述重定向消息的末端节点或者骨干节点如果存在节点ID等于该重定向消息中的节点ID的提供表项,则删除该提供表项;
接收到所述重定向消息的末端节点或者骨干节点如果权值大于该重定向消息中的权值,则将该重定向消息中的权值设置为自己的权值,将该重定向消息的数据表加入到自己的数据表中;
接收到所述重定向消息的末端节点或者骨干节点将该消息中的距离递减1,如果距离等于0,则转发该重定向消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410434595.5A CN118041848B (zh) | 2024-04-11 | 2024-04-11 | 一种灾后地区监测系统的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410434595.5A CN118041848B (zh) | 2024-04-11 | 2024-04-11 | 一种灾后地区监测系统的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118041848A true CN118041848A (zh) | 2024-05-14 |
CN118041848B CN118041848B (zh) | 2024-06-18 |
Family
ID=90989905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410434595.5A Active CN118041848B (zh) | 2024-04-11 | 2024-04-11 | 一种灾后地区监测系统的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118041848B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177025A1 (en) * | 1998-03-09 | 2003-09-18 | Curkendall Leland D. | Method and system for agricultural data collection and management |
CN111711691A (zh) * | 2020-06-16 | 2020-09-25 | 常熟理工学院 | 一种基于物联网云的安全智能监测系统实现方法 |
CN115550252A (zh) * | 2021-06-29 | 2022-12-30 | 华为技术有限公司 | 路由发布和转发报文的方法、装置、设备和存储介质 |
WO2023184213A1 (zh) * | 2022-03-30 | 2023-10-05 | 江苏杰泽罗通信科技有限公司 | 一种基于虚拟骨干网的分簇最优链路状态路由方法 |
-
2024
- 2024-04-11 CN CN202410434595.5A patent/CN118041848B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030177025A1 (en) * | 1998-03-09 | 2003-09-18 | Curkendall Leland D. | Method and system for agricultural data collection and management |
CN111711691A (zh) * | 2020-06-16 | 2020-09-25 | 常熟理工学院 | 一种基于物联网云的安全智能监测系统实现方法 |
CN115550252A (zh) * | 2021-06-29 | 2022-12-30 | 华为技术有限公司 | 路由发布和转发报文的方法、装置、设备和存储介质 |
WO2023184213A1 (zh) * | 2022-03-30 | 2023-10-05 | 江苏杰泽罗通信科技有限公司 | 一种基于虚拟骨干网的分簇最优链路状态路由方法 |
Non-Patent Citations (1)
Title |
---|
周亮;周天;周建国;谭莹;: "基于能量感知的OLSR协议优化研究", 计算机应用研究, no. 1, 30 June 2020 (2020-06-30) * |
Also Published As
Publication number | Publication date |
---|---|
CN118041848B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243318B (zh) | Vxlan网络中的mac地址学习方法及装置 | |
CN101616466B (zh) | 一种自组网区域路由方法 | |
CN109257789B (zh) | 一种基于多跳簇的车载网数据通信方法 | |
Melamed et al. | Octopus: A fault-tolerant and efficient ad-hoc routing protocol | |
CN110100479B (zh) | 一种利用修改的无路径dao信令优化路由失效的装置和方法 | |
CN104243630A (zh) | Vxlan网络中的mac地址学习方法及装置 | |
CN101414964B (zh) | 减少容迟网络和间歇连接网络中冗余消息的方法 | |
CN110247851B (zh) | 三层交换机中的信息更新方法、装置、三层交换机及介质 | |
CN109150723B (zh) | 一种物联网的路由通信实现方法 | |
CN106993321B (zh) | 一种基于簇的网络数据通信方法 | |
CN109246785B (zh) | 一种未来移动网络的实现方法 | |
CN106911570B (zh) | 一种可靠的网络数据通信方法 | |
CN107979645B (zh) | 一种物联网实现方法 | |
CN103582065A (zh) | 一种无线传感器网络的高效自组网路由方法 | |
CN105827439A (zh) | 实现无线设备自组网的方法 | |
CN109462549A (zh) | 一种新一代无线移动网络的实现方法 | |
CN105307231B (zh) | 基于相遇概率与社会分析的容忍延迟网络路由实现方法 | |
CN105634964B (zh) | 一种移动自组织网络及其组播路由方法 | |
CN118041848B (zh) | 一种灾后地区监测系统的实现方法 | |
CN117278592B (zh) | 一种智能物联网系统的实现方法 | |
CN112040008B (zh) | 一种基于物联网的远程医疗监护系统的实现方法 | |
CN110401911B (zh) | 一种基于命名数据网络的车载云实现方法 | |
Yu et al. | A simple location propagation scheme for mobile sink in wireless sensor networks | |
CN116684345A (zh) | 一种多点多级的数据管理方法、系统、介质及设备 | |
CN108696838B (zh) | 一种基于位置信息的车载数据路由方法 |
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 |