CN112968838A - 一种基于物联网的灌溉监测***实现方法 - Google Patents
一种基于物联网的灌溉监测***实现方法 Download PDFInfo
- Publication number
- CN112968838A CN112968838A CN202110167974.9A CN202110167974A CN112968838A CN 112968838 A CN112968838 A CN 112968838A CN 202110167974 A CN202110167974 A CN 202110167974A CN 112968838 A CN112968838 A CN 112968838A
- Authority
- CN
- China
- Prior art keywords
- message
- router
- interface
- data
- name
- 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.)
- Withdrawn
Links
Images
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
- H04L45/54—Organization of routing tables
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了种基于物联网的灌溉监测***实现方法,其特征在于,所述***包含路由器和节点;每个路由器具有唯一的坐标;一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中前缀等于一个路由器的坐标、数据ID标识数据的类型;节点划分为消费节点和提供节点,其中提供者节点能够采集灌溉监测***中的土壤湿度数据,消费节点能够通过灌溉监测***获取提供者节点采集的土壤湿度数据从而决定对土壤是否进行灌溉。用户通过本发明所提供的一种基于物联网的灌溉监测***实现方法能够快速获取灌溉所需数据,例如土壤湿度等,从而实施及时有效地灌溉,确保农作物健康生长,本发明可应用于农业灌溉,森林灌溉等领域,具有广泛的应用前景。
Description
技术领域
本发明涉及一种实现方法,尤其涉及的是一种基于物联网的灌溉监测***实现方法。
背景技术
近年来,很多研究工作致力于灌溉监测***的实现方法,以便对农田实现高效及时的灌溉确保农作物健康成长。随着物联网和大数据的发展,物联网和大数据会成为实现灌溉监测***的一种重要手段和方法。
本发明将物联网和大数据应用于灌溉监测***从而实现高效快速的农作物灌溉。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于物联网的灌溉监测***实现方法。
技术方案:本发明公开了一种基于物联网的灌溉监测***实现方法,所述***包含路由器和节点;每个路由器具有唯一的坐标;
一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中前缀等于一个路由器的坐标、数据ID标识数据的类型,例如土壤湿度或者土壤温度;
节点划分为消费节点和提供节点,其中提供者节点能够采集灌溉监测***中的土壤湿度数据,消费节点能够通过灌溉监测***获取提供者节点采集的土壤湿度数据从而决定对土壤是否进行灌溉;
一个节点具有一个接口,一个路由器具有两个以上的接口,包含一个以上的上游接口和一个以上的下游接口,每个下游接口与一个消费节点或者提供节点相连,每个上游接口与另外一个路由器相连;一个接口由一个接口ID唯一标识,接口ID为m1的接口简写为接口m1;
一个消息由一个消息ID标识;
每个路由器保存一个路由器表,一个路由器表项包含前缀、接口ID、延迟、时间戳和生命周期;
发布消息包含消息ID、时间戳和坐标;
任一个路由器R1定期执行下述操作:
步骤101:开始;
步骤102:路由器R1从每个上游接口发送一个发布消息,该发布消息的消息ID为1,时间戳为当前的机器时间,坐标等于路由器R1自己的坐标;
步骤103:邻居路由器从接口f1接收到该发布消息后,判断是否存在一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标,接口ID等于f1且生命周期大于阈值TH1,TH1的取值范围为最大生命周期的95%-100%,如果存在,则执行步骤108,否则执行步骤104;
步骤104:从接口f1接收到该发布消息的邻居路由器判断是否存在一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标且接口ID等于f1,如果存在,则执行步骤105,否则执行步骤106;
步骤105:从接口f1接收到该发布消息的邻居路由器选择一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标且接口ID等于f1,将该路由器表项的延迟更新为当前机器时钟与该发布消息中时间戳的差的绝对值,将生命周期设置为最大生命周期,生命周期的取值范围为500ms-1000ms,该路由器表项中的时间戳保持不变,执行步骤107;
步骤106:从接口f1接收到该发布消息的邻居路由器创建一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标,接口ID等于f1,将该路由器表项的延迟设置为当前机器时钟与该发布消息中时间戳的差的绝对值,将生命周期设置为最大生命周期,生命周期的取值范围为500ms-1000ms,将该路由器表项中的时间戳设置为当前机器时钟;
步骤107:从接口f1接收到该发布消息的邻居路由器从除了接口f1以外的每个上游接口转发该发布消息,执行步骤103;
步骤108:结束。
路由器通过上述过程建立路由器表,这样,路由器通过接口ID可以正确地转发消息,通过延迟可以判断每个路由器表的服务延迟从而选取最优的路由表项进行转发消息,通过生命周期来确保每个路由器表的实时性和有效性,从而确保数据通信的安全性和有效性。
本发明所述方法中,每个路由器保存一个节点表,一个节点表项包含节点类型、接口ID和生命周期;节点类型域值0表示该节点为提供节点,节点类型域值1表示该节点为消费节点;
一个注册消息包含消息ID和节点类型
如果节点MN1与路由器R1相连,定期执行下述操作:
步骤201:开始;
步骤202:节点MN1发送注册消息,该注册消息的消息ID为2,如果节点MN1为提供节点,则该注册消息的节点类型为0,否则节点类型域值为1;
步骤203:路由器R1从接口x1接收到注册消息后,判断是否存在一个节点表项,该节点表项的接口ID等于x1,如果存在,则执行步骤204,否则执行步骤205;
步骤204:从接口x1接收到注册消息的路由器R1选择一个节点表项,该节点表项的接口ID等于x1,将该节点表项的节点类型更新为该注册消息中的节点类型,将生命周期设置为最大值,生命周期取值范围为500ms-1000ms,执行步骤206;
步骤205:从接口x1接收到注册消息的路由器R1创建一个节点表项,该节点表项的接口ID等于x1,节点类型等于该注册消息中的节点类型,生命周期设置为最大值;
步骤206:结束。
提供节点或者消费节点通过上述过程向连接的路由器执行注册操作并建立节点表,这样,路由器通过节点类型值可以判断所连接的每个节点的类型,从而通过接口ID实现正确的消息,同时,也能通过每个节点表项的节点类型值来实现消息的推送,从而确保消费节点及时正确地获取数据。
本发明所述方法中,每个路由器保存一个缓存表,一个缓存表项包含数据ID、数据和生命周期;
如果提供者P1与路由器R1相连,数据DA1由名称NA1标识,名称NA1的前缀等于路由器R1的坐标,数据ID等于DID1;缓存消息包含消息ID、数据ID和数据;提供者P1定期产生数据DA1并执行下述操作:
步骤301:开始;
步骤302:提供者P1发送一个缓存消息,该缓存消息的消息ID为3,数据ID等于DID1,数据为DA1;
步骤303:路由器R1接收到该缓存消息后,判断是否存在一个数据ID等于该缓存消息中的数据ID的缓存表项,如果存在,则执行步骤304,否则执行步骤305;
步骤304:接收到该缓存消息路由器R1选择一个数据ID等于该缓存消息中的数据ID的缓存表项,将该缓存表项的数据域值更新为该缓存消息中的数据,将生命周期设置为最大值,执行步骤306;
步骤305:接收到该缓存消息路由器R1创建一个缓存表项,该缓存表项的数据ID等于该缓存消息中的数据ID,该缓存表项的数据域值等于该缓存消息中的数据,将生命周期设置为最大值;
步骤306:结束。
提供者通过上述过程定期向所连接的路由器发送新产生的数据,路由器接收到数据后在自己的缓存表中进行缓存,从而能够快速地提供这些数据,从而降低数据通信延迟和代价,同时也确保了数据的实时性和有效性。
本发明所述方法中,一个请求消息包含消息ID和名称;
一个响应消息包含消息ID、名称和数据;
每个路由器保存一个消息表,一个消息表项包含响应消息域和生命周期域,响应消息域值为一个响应消息;
每个路由器保存一个跟踪表,一个跟踪表项包含名称、接口ID和生命周期;
如果消费节点C2与路由器R2相连,数据DA1由名称NA1定义,消费节点C2通过下述过程获取数据DA1:
步骤401:开始;
步骤402:消费节点C2发送一个请求消息,该请求消息的消息ID为4,名称为NA1;
步骤403:从接口y1接收到该请求消息的路由器R2判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,如果存在,则执行步骤404,否则执行步骤405;
步骤404:从接口y1接收到该请求消息的路由器R2选择一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,从接口y1发送该消息表项中的响应消息域值中的响应消息,执行步骤417;
步骤405:从接口y1接收到该请求消息的路由器R2判断自己的坐标是否等于该请求消息中的名称中的前缀,如果等于,则执行步骤406,否则执行步骤407;
步骤406:从接口y1接收到该请求消息的路由器R2选择一个缓存表项,该缓存表项的数据ID等于该请求消息中的名称中的数据ID,路由器R2发送一个响应消息,该响应消息的消息ID为5,名称和数据分别等于该缓存表项中的名称和数据,执行步骤417;
步骤407:从接口y1接收到该请求消息的路由器R2判断是否存在一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y1,如果存在,则执行步骤417,否则执行步骤408;
步骤408:从接口y1接收到该请求消息的路由器R2创建一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y1,生命周期设置为最大值,如果该路由器至少存在两个名称等于该请求消息中的名称的跟踪表项,则执行步骤417,否则执行步骤409;
步骤409:从接口y1接收到该请求消息的路由器R2选择所有前缀等于该请求消息中名称的前缀的路由器表项,从这些选中的路由器表项中选择一个路由器表项,该路由器表项的延迟最小,将该路由器表项的时间戳设置为当前机器时钟,从该路由器表项的接口ID所标识的接口转发该请求消息;
步骤410:从接口y2接收到该请求消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,如果存在,则执行步骤411,否则执行步骤412;
步骤411:从接口y2接收到该请求消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,从接口y2发送该消息表项中的响应消息域值中的响应消息,执行步骤417;
步骤412:从接口y2接收到该请求消息的路由器判断自己的坐标是否等于该请求消息中的名称中的前缀,如果等于,则执行步骤413,否则执行步骤414;
步骤413:从接口y2接收到该请求消息的路由器选择一个缓存表项,该缓存表项的数据ID等于该请求消息中的名称中的数据ID,从接口y2接收到该请求消息的路由器发送一个响应消息,该响应消息的消息ID为5,名称和数据分别等于该缓存表项中的名称和数据,执行步骤417;
步骤414:从接口y2接收到该请求消息的路由器判断是否存在一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y2,如果存在,则执行步骤417,否则执行步骤415;
步骤415:从接口y2接收到该请求消息的路由器创建一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y2,生命周期设置为最大值,如果该路由器至少存在两个名称等于该请求消息中的名称的跟踪表项,则执行步骤417,否则执行步骤416;
步骤416:从接口y2接收到该请求消息的路由器选择所有前缀等于该请求消息中名称的前缀的路由器表项,从这些选中的路由器表项中选择一个路由器表项,该路由器表项的延迟最小,将该路由器表项的时间戳设置为当前机器时钟,从该路由器表项的接口ID所标识的接口转发该请求消息,执行步骤410;
步骤417:如果消费节点接收到该响应消息,则执行步骤419,否则执行步骤418;
步骤418:从接口y3接收到该响应消息的路由器选择一个路由器表项,该路由器表项的前缀等于该响应消息中名称的前缀且接口ID等于y3,将该路由器表项的延迟更新为当前机器时间与该路由器表项的时间戳之差的绝对值,该路由器创建一个消息表项,该消息表项的响应消息域值设置为接收到的响应消息,生命周期设置为最大值,该路由器选择所有名称等于该响应消息中名称的跟踪表项,针对每个选中的跟踪表项,该路由器从该跟踪表项的接口ID所标识的接口转发该响应消息,删除该跟踪消息,执行步骤417;
步骤419:接收到该响应消息的消费节点保存该响应消息中的数据;
步骤420:结束。
消费节点通过上述过程获取数据,上述过程中,路由器通过延迟最短的路由器表项来转发请求消息,从而大幅降低了数据通信延迟,通过路由器接收到响应消息后会实时更新路由器表项的延迟从而确保路由器表项信息的有效性和实时性,同时,消费节点通过消息表可以从距离最近的路由器获取数据,多个消费者通过跟踪表可以通过一次数据获取过程同时获取数据,从而进一步减少了数据通信延迟。
本发明所述方法中,一个推送消息包含消息ID和缓存表项;
如果路由器R1检测到缓存表项E1的数据异常,例如该数据超过预先设置的阈值,则执行下述操作:
步骤501:开始;
步骤502:路由器R1构建一个推送消息,该推送消息的消息ID为6,缓存表项等于E1,从每个上游接口发送该推送消息,同时,路由器R1选择所有节点类型值为1的节点表项,从每个选中的节点表项的接口ID所标识的接口转发该推送消息;
步骤503:如果消费节点获取该推送消息,则执行步骤511,否则执行步骤504;
步骤504:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,且生命周期大于阈值TH0,TH0的取值范围为最大生命周期的95%-100%,如果存在,则执行步骤512,否则执行步骤505;
步骤505:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,如果存在,则执行步骤506,否则执行步骤507;
步骤506:接收到该推送消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,将该消息表项的生命周期设置为最大值,执行步骤510;
步骤507:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该推送消息中缓存表项的名称,如果存在,则执行步骤508,否则执行步骤509;
步骤508:接收到该推送消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称等于该推送消息中缓存表项的名称,将该消息表项的数据更新为该推送消息中缓存表项的数据,将生命周期设置为最大值,执行步骤510;
步骤509:接收到该推送消息的路由器创建一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,将该消息表项的生命周期设置为最大值;
步骤510:接收到该推送消息的路由器选择所有节点类型值为1的节点表项,针对每个选中的节点表项,该路由器从该节点表项的接口ID所标识的接口发送该推送消息,同时从每个上游接口转发该推送消息,执行步骤503;
步骤511:接收到推送消息的消费者保存该推送消息中缓存表项的数据;
步骤512:结束。
路由器节点如果检测到数据异常,则通过上述过程将该数据推送到所有消费节点以便消费节点及时检测异常数据进而进行有效处理,决定是否对农田或者土壤实施灌溉,上述过程不仅能够及时有效地推送数据,从而能够更新所有路由器的消息表项,从而使路由器能够快速提供数据,从而有效降低了数据通信延迟和代价。
本发明所述方法中,响应消息中的数据为农田的环境监测数据,包括土壤湿度,消费者获取响应消息中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。
本发明所述方法中,推送消息中的缓存表项中的数据为农田的环境监测数据,包括土壤湿度,消费者获取推送消息中的缓存表项中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。
有益效果:本发明提供了一种基于物联网的灌溉监测***实现方法,用户通过本发明所提供的一种基于物联网的灌溉监测***实现方法能够快速获取灌溉所需数据,例如土壤湿度等,从而实施及时有效地灌溉,确保农作物健康生长,本发明可应用于农业灌溉,森林灌溉等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的建立路由器表流程示意图。
图2为本发明所述的建立节点表流程示意图。
图3为本发明所述的数据缓存流程示意图。
图4为本发明所述的数据通信流程示意图。
图5为本发明所述的数据推送流程示意图。
具体实施方式:
本发明提供了一种基于物联网的灌溉监测***实现方法,用户通过本发明所提供的一种基于物联网的灌溉监测***实现方法能够快速获取灌溉所需数据,例如土壤湿度等,从而实施及时有效地灌溉,确保农作物健康生长,本发明可应用于农业灌溉,森林灌溉等领域,具有广泛的应用前景。
图1为本发明所述的建立路由器表流程示意图。一种基于物联网的灌溉监测***实现方法,所述***包含路由器和节点;每个路由器具有唯一的坐标;
一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中前缀等于一个路由器的坐标、数据ID标识数据的类型,例如土壤湿度或者土壤温度;
节点划分为消费节点和提供节点,其中提供者节点能够采集灌溉监测***中的土壤湿度数据,消费节点能够通过灌溉监测***获取提供者节点采集的土壤湿度数据从而决定对土壤是否进行灌溉;
一个节点具有一个接口,一个路由器具有两个以上的接口,包含一个以上的上游接口和一个以上的下游接口,每个下游接口与一个消费节点或者提供节点相连,每个上游接口与另外一个路由器相连;一个接口由一个接口ID唯一标识,接口ID为m1的接口简写为接口m1;
一个消息由一个消息ID标识;
每个路由器保存一个路由器表,一个路由器表项包含前缀、接口ID、延迟、时间戳和生命周期;
发布消息包含消息ID、时间戳和坐标;
任一个路由器R1定期执行下述操作:
步骤101:开始;
步骤102:路由器R1从每个上游接口发送一个发布消息,该发布消息的消息ID为1,时间戳为当前的机器时间,坐标等于路由器R1自己的坐标;
步骤103:邻居路由器从接口f1接收到该发布消息后,判断是否存在一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标,接口ID等于f1且生命周期大于阈值TH1,TH1的取值范围为最大生命周期的95%-100%,如果存在,则执行步骤108,否则执行步骤104;
步骤104:从接口f1接收到该发布消息的邻居路由器判断是否存在一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标且接口ID等于f1,如果存在,则执行步骤105,否则执行步骤106;
步骤105:从接口f1接收到该发布消息的邻居路由器选择一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标且接口ID等于f1,将该路由器表项的延迟更新为当前机器时钟与该发布消息中时间戳的差的绝对值,将生命周期设置为最大生命周期,生命周期的取值范围为500ms-1000ms,该路由器表项中的时间戳保持不变,执行步骤107;
步骤106:从接口f1接收到该发布消息的邻居路由器创建一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标,接口ID等于f1,将该路由器表项的延迟设置为当前机器时钟与该发布消息中时间戳的差的绝对值,将生命周期设置为最大生命周期,生命周期的取值范围为500ms-1000ms,将该路由器表项中的时间戳设置为当前机器时钟;
步骤107:从接口f1接收到该发布消息的邻居路由器从除了接口f1以外的每个上游接口转发该发布消息,执行步骤103;
步骤108:结束。
路由器通过上述过程建立路由器表,这样,路由器通过接口ID可以正确地转发消息,通过延迟可以判断每个路由器表的服务延迟从而选取最优的路由表项进行转发消息,通过生命周期来确保每个路由器表的实时性和有效性,从而确保数据通信的安全性和有效性。
图2为本发明所述的建立节点表流程示意图。每个路由器保存一个节点表,一个节点表项包含节点类型、接口ID和生命周期;节点类型域值0表示该节点为提供节点,节点类型域值1表示该节点为消费节点;
一个注册消息包含消息ID和节点类型
如果节点MN1与路由器R1相连,定期执行下述操作:
步骤201:开始;
步骤202:节点MN1发送注册消息,该注册消息的消息ID为2,如果节点MN1为提供节点,则该注册消息的节点类型为0,否则节点类型域值为1;
步骤203:路由器R1从接口x1接收到注册消息后,判断是否存在一个节点表项,该节点表项的接口ID等于x1,如果存在,则执行步骤204,否则执行步骤205;
步骤204:从接口x1接收到注册消息的路由器R1选择一个节点表项,该节点表项的接口ID等于x1,将该节点表项的节点类型更新为该注册消息中的节点类型,将生命周期设置为最大值,生命周期取值范围为500ms-1000ms,执行步骤206;
步骤205:从接口x1接收到注册消息的路由器R1创建一个节点表项,该节点表项的接口ID等于x1,节点类型等于该注册消息中的节点类型,生命周期设置为最大值;
步骤206:结束。
提供节点或者消费节点通过上述过程向连接的路由器执行注册操作并建立节点表,这样,路由器通过节点类型值可以判断所连接的每个节点的类型,从而通过接口ID实现正确的消息,同时,也能通过每个节点表项的节点类型值来实现消息的推送,从而确保消费节点及时正确地获取数据。
图3为本发明所述的数据缓存流程示意图。每个路由器保存一个缓存表,一个缓存表项包含数据ID、数据和生命周期;
如果提供者P1与路由器R1相连,数据DA1由名称NA1标识,名称NA1的前缀等于路由器R1的坐标,数据ID等于DID1;缓存消息包含消息ID、数据ID和数据;提供者P1定期产生数据DA1并执行下述操作:
步骤301:开始;
步骤302:提供者P1发送一个缓存消息,该缓存消息的消息ID为3,数据ID等于DID1,数据为DA1;
步骤303:路由器R1接收到该缓存消息后,判断是否存在一个数据ID等于该缓存消息中的数据ID的缓存表项,如果存在,则执行步骤304,否则执行步骤305;
步骤304:接收到该缓存消息路由器R1选择一个数据ID等于该缓存消息中的数据ID的缓存表项,将该缓存表项的数据域值更新为该缓存消息中的数据,将生命周期设置为最大值,执行步骤306;
步骤305:接收到该缓存消息路由器R1创建一个缓存表项,该缓存表项的数据ID等于该缓存消息中的数据ID,该缓存表项的数据域值等于该缓存消息中的数据,将生命周期设置为最大值;
步骤306:结束。
提供者通过上述过程定期向所连接的路由器发送新产生的数据,路由器接收到数据后在自己的缓存表中进行缓存,从而能够快速地提供这些数据,从而降低数据通信延迟和代价,同时也确保了数据的实时性和有效性。
图4为本发明所述的数据通信流程示意图。一个请求消息包含消息ID和名称;
一个响应消息包含消息ID、名称和数据;
每个路由器保存一个消息表,一个消息表项包含响应消息域和生命周期域,响应消息域值为一个响应消息;
每个路由器保存一个跟踪表,一个跟踪表项包含名称、接口ID和生命周期;
如果消费节点C2与路由器R2相连,数据DA1由名称NA1定义,消费节点C2通过下述过程获取数据DA1:
步骤401:开始;
步骤402:消费节点C2发送一个请求消息,该请求消息的消息ID为4,名称为NA1;
步骤403:从接口y1接收到该请求消息的路由器R2判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,如果存在,则执行步骤404,否则执行步骤405;
步骤404:从接口y1接收到该请求消息的路由器R2选择一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,从接口y1发送该消息表项中的响应消息域值中的响应消息,执行步骤417;
步骤405:从接口y1接收到该请求消息的路由器R2判断自己的坐标是否等于该请求消息中的名称中的前缀,如果等于,则执行步骤406,否则执行步骤407;
步骤406:从接口y1接收到该请求消息的路由器R2选择一个缓存表项,该缓存表项的数据ID等于该请求消息中的名称中的数据ID,路由器R2发送一个响应消息,该响应消息的消息ID为5,名称和数据分别等于该缓存表项中的名称和数据,执行步骤417;
步骤407:从接口y1接收到该请求消息的路由器R2判断是否存在一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y1,如果存在,则执行步骤417,否则执行步骤408;
步骤408:从接口y1接收到该请求消息的路由器R2创建一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y1,生命周期设置为最大值,如果该路由器至少存在两个名称等于该请求消息中的名称的跟踪表项,则执行步骤417,否则执行步骤409;
步骤409:从接口y1接收到该请求消息的路由器R2选择所有前缀等于该请求消息中名称的前缀的路由器表项,从这些选中的路由器表项中选择一个路由器表项,该路由器表项的延迟最小,将该路由器表项的时间戳设置为当前机器时钟,从该路由器表项的接口ID所标识的接口转发该请求消息;
步骤410:从接口y2接收到该请求消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,如果存在,则执行步骤411,否则执行步骤412;
步骤411:从接口y2接收到该请求消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,从接口y2发送该消息表项中的响应消息域值中的响应消息,执行步骤417;
步骤412:从接口y2接收到该请求消息的路由器判断自己的坐标是否等于该请求消息中的名称中的前缀,如果等于,则执行步骤413,否则执行步骤414;
步骤413:从接口y2接收到该请求消息的路由器选择一个缓存表项,该缓存表项的数据ID等于该请求消息中的名称中的数据ID,从接口y2接收到该请求消息的路由器发送一个响应消息,该响应消息的消息ID为5,名称和数据分别等于该缓存表项中的名称和数据,执行步骤417;
步骤414:从接口y2接收到该请求消息的路由器判断是否存在一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y2,如果存在,则执行步骤417,否则执行步骤415;
步骤415:从接口y2接收到该请求消息的路由器创建一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y2,生命周期设置为最大值,如果该路由器至少存在两个名称等于该请求消息中的名称的跟踪表项,则执行步骤417,否则执行步骤416;
步骤416:从接口y2接收到该请求消息的路由器选择所有前缀等于该请求消息中名称的前缀的路由器表项,从这些选中的路由器表项中选择一个路由器表项,该路由器表项的延迟最小,将该路由器表项的时间戳设置为当前机器时钟,从该路由器表项的接口ID所标识的接口转发该请求消息,执行步骤410;
步骤417:如果消费节点接收到该响应消息,则执行步骤419,否则执行步骤418;
步骤418:从接口y3接收到该响应消息的路由器选择一个路由器表项,该路由器表项的前缀等于该响应消息中名称的前缀且接口ID等于y3,将该路由器表项的延迟更新为当前机器时间与该路由器表项的时间戳之差的绝对值,该路由器创建一个消息表项,该消息表项的响应消息域值设置为接收到的响应消息,生命周期设置为最大值,该路由器选择所有名称等于该响应消息中名称的跟踪表项,针对每个选中的跟踪表项,该路由器从该跟踪表项的接口ID所标识的接口转发该响应消息,删除该跟踪消息,执行步骤417;
步骤419:接收到该响应消息的消费节点保存该响应消息中的数据;
步骤420:结束。
消费节点通过上述过程获取数据,上述过程中,路由器通过延迟最短的路由器表项来转发请求消息,从而大幅降低了数据通信延迟,通过路由器接收到响应消息后会实时更新路由器表项的延迟从而确保路由器表项信息的有效性和实时性,同时,消费节点通过消息表可以从距离最近的路由器获取数据,多个消费者通过跟踪表可以通过一次数据获取过程同时获取数据,从而进一步减少了数据通信延迟。响应消息中的数据为农田的环境监测数据,包括土壤湿度,消费者获取响应消息中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。
图5为本发明所述的数据推送流程示意图。一个推送消息包含消息ID和缓存表项;
如果路由器R1检测到缓存表项E1的数据异常,例如该数据超过预先设置的阈值,则执行下述操作:
步骤501:开始;
步骤502:路由器R1构建一个推送消息,该推送消息的消息ID为6,缓存表项等于E1,从每个上游接口发送该推送消息,同时,路由器R1选择所有节点类型值为1的节点表项,从每个选中的节点表项的接口ID所标识的接口转发该推送消息;
步骤503:如果消费节点获取该推送消息,则执行步骤511,否则执行步骤504;
步骤504:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,且生命周期大于阈值TH0,TH0的取值范围为最大生命周期的95%-100%,如果存在,则执行步骤512,否则执行步骤505;
步骤505:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,如果存在,则执行步骤506,否则执行步骤507;
步骤506:接收到该推送消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,将该消息表项的生命周期设置为最大值,执行步骤510;
步骤507:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该推送消息中缓存表项的名称,如果存在,则执行步骤508,否则执行步骤509;
步骤508:接收到该推送消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称等于该推送消息中缓存表项的名称,将该消息表项的数据更新为该推送消息中缓存表项的数据,将生命周期设置为最大值,执行步骤510;
步骤509:接收到该推送消息的路由器创建一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,将该消息表项的生命周期设置为最大值;
步骤510:接收到该推送消息的路由器选择所有节点类型值为1的节点表项,针对每个选中的节点表项,该路由器从该节点表项的接口ID所标识的接口发送该推送消息,同时从每个上游接口转发该推送消息,执行步骤503;
步骤511:接收到推送消息的消费者保存该推送消息中缓存表项的数据;
步骤512:结束。
路由器节点如果检测到数据异常,则通过上述过程将该数据推送到所有消费节点以便消费节点及时检测异常数据进而进行有效处理,决定是否对农田或者土壤实施灌溉,上述过程不仅能够及时有效地推送数据,从而能够更新所有路由器的消息表项,从而使路由器能够快速提供数据,从而有效降低了数据通信延迟和代价。推送消息中的缓存表项中的数据为农田的环境监测数据,包括土壤湿度,消费者获取推送消息中的缓存表项中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种基于物联网的灌溉监测***实现方法。任一个路由器R1执行步骤101-108通过发送发布消息来建立路由器表项,例如路由器表项的前缀为(20,30),接口ID等于1,延迟等于30ms,时间戳为20210127143557,生命周期为500ms。路由器R1通过上述过程建立路由器表后通过接口ID可以正确地转发消息,通过延迟可以判断每个路由器表的服务延迟从而选取最优的路由表项进行转发消息,通过生命周期来确保每个路由器表的实时性和有效性,从而确保数据通信的安全性和有效性。节点MN1与路由器R1相连,节点MN1启动后执行步骤201-206通过发送注册消息来创建或者更新节点表,例如节点表项的节点类型为1,接口ID为1,生命周期为500ms。提供节点或者消费节点通过上述过程向连接的路由器执行注册操作并建立节点表,这样,路由器通过节点类型值可以判断所连接的每个节点的类型,从而通过接口ID实现正确的消息,同时,也能通过每个节点表项的节点类型值来实现消息的推送,从而确保消费节点及时正确地获取数据。提供者P1与路由器R1相连,数据DA1由名称NA1标识,名称NA1的前缀等于路由器R1的坐标,数据ID等于DID1,提供者P1定期产生数据DA1并执行步骤301-306发送缓存消息来创建缓存表项。提供者P1通过上述过程定期向所连接的路由器R1发送新产生的数据,路由器接收到数据后在自己的缓存表中进行缓存,从而能够快速地提供这些数据,从而降低数据通信延迟和代价,同时也确保了数据的实时性和有效性。消费节点C2与路由器R2相连,数据DA1由名称NA1定义,消费节点C2通过执行步骤401-420发送请求消息和响应消息来获取数据DA1。在步骤401-420中,路由器通过延迟最短的路由器表项来转发请求消息,从而大幅降低了数据通信延迟,通过路由器接收到响应消息后会实时更新路由器表项的延迟从而确保路由器表项信息的有效性和实时性,同时,消费节点通过消息表可以从距离最近的路由器获取数据,多个消费者通过跟踪表可以通过一次数据获取过程同时获取数据,从而进一步减少了数据通信延迟。消费节点接收到响应消息后,响应消息中的数据为农田的环境监测数据,包括土壤湿度,消费者获取响应消息中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。如果路由器R1检测到缓存表项E1的数据异常,则执行步骤501-512发送推送消息来推送数据。路由器R1通过步骤501-512将该数据推送到所有消费节点以便消费节点及时检测异常数据进而进行有效处理,决定是否对农田或者土壤实施灌溉,上述过程不仅能够及时有效地推送数据,同时能够更新所有路由器的消息表项,从而使路由器能够快速提供数据,从而有效降低了数据通信延迟和代价。推送消息中的缓存表项中的数据为农田的环境监测数据,包括土壤湿度,消费者获取推送消息中的缓存表项中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。基于物联网的灌溉监测***实现方法性能分析如下:当消费者数量较多时,数据推送延迟较大,当消费者数量较少时,数据推送延迟较小。数据推送的平均延迟为294ms。
表1仿真参数
本发明提供了一种基于物联网的灌溉监测***实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (7)
1.一种基于物联网的灌溉监测***实现方法,其特征在于,所述***包含路由器和节点;每个路由器具有唯一的坐标;
一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中前缀等于一个路由器的坐标、数据ID标识数据的类型;
节点划分为消费节点和提供节点,其中提供者节点能够采集灌溉监测***中的土壤湿度数据,消费节点能够通过灌溉监测***获取提供者节点采集的土壤湿度数据从而决定对土壤是否进行灌溉;
一个节点具有一个接口,一个路由器具有两个以上的接口,包含一个以上的上游接口和一个以上的下游接口,每个下游接口与一个消费节点或者提供节点相连,每个上游接口与另外一个路由器相连;一个接口由一个接口ID唯一标识,接口ID为m1的接口简写为接口m1;
一个消息由一个消息ID标识;
每个路由器保存一个路由器表,一个路由器表项包含前缀、接口ID、延迟、时间戳和生命周期;
发布消息包含消息ID、时间戳和坐标;
任一个路由器R1定期执行下述操作:
步骤101:开始;
步骤102:路由器R1从每个上游接口发送一个发布消息,该发布消息的消息ID为1,时间戳为当前的机器时间,坐标等于路由器R1自己的坐标;
步骤103:邻居路由器从接口f1接收到该发布消息后,判断是否存在一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标,接口ID等于f1且生命周期大于阈值TH1,TH1的取值范围为最大生命周期的95%-100%,如果存在,则执行步骤108,否则执行步骤104;
步骤104:从接口f1接收到该发布消息的邻居路由器判断是否存在一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标且接口ID等于f1,如果存在,则执行步骤105,否则执行步骤106;
步骤105:从接口f1接收到该发布消息的邻居路由器选择一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标且接口ID等于f1,将该路由器表项的延迟更新为当前机器时钟与该发布消息中时间戳的差的绝对值,将生命周期设置为最大生命周期,生命周期的取值范围为500ms-1000ms,该路由器表项中的时间戳保持不变,执行步骤107;
步骤106:从接口f1接收到该发布消息的邻居路由器创建一个路由器表项,该路由器表项的前缀等于该发布消息中的坐标,接口ID等于f1,将该路由器表项的延迟设置为当前机器时钟与该发布消息中时间戳的差的绝对值,将生命周期设置为最大生命周期,生命周期的取值范围为500ms-1000ms,将该路由器表项中的时间戳设置为当前机器时钟;
步骤107:从接口f1接收到该发布消息的邻居路由器从除了接口f1以外的每个上游接口转发该发布消息,执行步骤103;
步骤108:结束。
2.根据权利要求1所述的一种基于物联网的灌溉监测***实现方法,其特征在于,
每个路由器保存一个节点表,一个节点表项包含节点类型、接口ID和生命周期;节点类型域值0表示该节点为提供节点,节点类型域值1表示该节点为消费节点;
一个注册消息包含消息ID和节点类型
如果节点MN1与路由器R1相连,定期执行下述操作:
步骤201:开始;
步骤202:节点MN1发送注册消息,该注册消息的消息ID为2,如果节点MN1为提供节点,则该注册消息的节点类型为0,否则节点类型域值为1;
步骤203:路由器R1从接口x1接收到注册消息后,判断是否存在一个节点表项,该节点表项的接口ID等于x1,如果存在,则执行步骤204,否则执行步骤205;
步骤204:从接口x1接收到注册消息的路由器R1选择一个节点表项,该节点表项的接口ID等于x1,将该节点表项的节点类型更新为该注册消息中的节点类型,将生命周期设置为最大值,生命周期取值范围为500ms-1000ms,执行步骤206;
步骤205:从接口x1接收到注册消息的路由器R1创建一个节点表项,该节点表项的接口ID等于x1,节点类型等于该注册消息中的节点类型,生命周期设置为最大值;
步骤206:结束。
3.根据权利要求2所述的一种基于物联网的灌溉监测***实现方法,其特征在于,
每个路由器保存一个缓存表,一个缓存表项包含数据ID、数据和生命周期;
如果提供者P1与路由器R1相连,数据DA1由名称NA1标识,名称NA1的前缀等于路由器R1的坐标,数据ID等于DID1;缓存消息包含消息ID、数据ID和数据;提供者P1定期产生数据DA1并执行下述操作:
步骤301:开始;
步骤302:提供者P1发送一个缓存消息,该缓存消息的消息ID为3,数据ID等于DID1,数据为DA1;
步骤303:路由器R1接收到该缓存消息后,判断是否存在一个数据ID等于该缓存消息中的数据ID的缓存表项,如果存在,则执行步骤304,否则执行步骤305;
步骤304:接收到该缓存消息路由器R1选择一个数据ID等于该缓存消息中的数据ID的缓存表项,将该缓存表项的数据域值更新为该缓存消息中的数据,将生命周期设置为最大值,执行步骤306;
步骤305:接收到该缓存消息路由器R1创建一个缓存表项,该缓存表项的数据ID等于该缓存消息中的数据ID,该缓存表项的数据域值等于该缓存消息中的数据,将生命周期设置为最大值;
步骤306:结束。
4.根据权利要求3所述的一种基于物联网的灌溉监测***实现方法,其特征在于,
一个请求消息包含消息ID和名称;
一个响应消息包含消息ID、名称和数据;
每个路由器保存一个消息表,一个消息表项包含响应消息域和生命周期域,响应消息域值为一个响应消息;
每个路由器保存一个跟踪表,一个跟踪表项包含名称、接口ID和生命周期;
如果消费节点C2与路由器R2相连,数据DA1由名称NA1定义,消费节点C2通过下述过程获取数据DA1:
步骤401:开始;
步骤402:消费节点C2发送一个请求消息,该请求消息的消息ID为4,名称为NA1;
步骤403:从接口y1接收到该请求消息的路由器R2判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,如果存在,则执行步骤404,否则执行步骤405;
步骤404:从接口y1接收到该请求消息的路由器R2选择一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,从接口y1发送该消息表项中的响应消息域值中的响应消息,执行步骤417;
步骤405:从接口y1接收到该请求消息的路由器R2判断自己的坐标是否等于该请求消息中的名称中的前缀,如果等于,则执行步骤406,否则执行步骤407;
步骤406:从接口y1接收到该请求消息的路由器R2选择一个缓存表项,该缓存表项的数据ID等于该请求消息中的名称中的数据ID,路由器R2发送一个响应消息,该响应消息的消息ID为5,名称和数据分别等于该缓存表项中的名称和数据,执行步骤417;
步骤407:从接口y1接收到该请求消息的路由器R2判断是否存在一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y1,如果存在,则执行步骤417,否则执行步骤408;
步骤408:从接口y1接收到该请求消息的路由器R2创建一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y1,生命周期设置为最大值,如果该路由器至少存在两个名称等于该请求消息中的名称的跟踪表项,则执行步骤417,否则执行步骤409;
步骤409:从接口y1接收到该请求消息的路由器R2选择所有前缀等于该请求消息中名称的前缀的路由器表项,从这些选中的路由器表项中选择一个路由器表项,该路由器表项的延迟最小,将该路由器表项的时间戳设置为当前机器时钟,从该路由器表项的接口ID所标识的接口转发该请求消息;
步骤410:从接口y2接收到该请求消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,如果存在,则执行步骤411,否则执行步骤412;
步骤411:从接口y2接收到该请求消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称等于该请求消息中的名称,从接口y2发送该消息表项中的响应消息域值中的响应消息,执行步骤417;
步骤412:从接口y2接收到该请求消息的路由器判断自己的坐标是否等于该请求消息中的名称中的前缀,如果等于,则执行步骤413,否则执行步骤414;
步骤413:从接口y2接收到该请求消息的路由器选择一个缓存表项,该缓存表项的数据ID等于该请求消息中的名称中的数据ID,从接口y2接收到该请求消息的路由器发送一个响应消息,该响应消息的消息ID为5,名称和数据分别等于该缓存表项中的名称和数据,执行步骤417;
步骤414:从接口y2接收到该请求消息的路由器判断是否存在一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y2,如果存在,则执行步骤417,否则执行步骤415;
步骤415:从接口y2接收到该请求消息的路由器创建一个跟踪表项,该跟踪表项的名称等于该请求消息中的名称且接口ID等于y2,生命周期设置为最大值,如果该路由器至少存在两个名称等于该请求消息中的名称的跟踪表项,则执行步骤417,否则执行步骤416;
步骤416:从接口y2接收到该请求消息的路由器选择所有前缀等于该请求消息中名称的前缀的路由器表项,从这些选中的路由器表项中选择一个路由器表项,该路由器表项的延迟最小,将该路由器表项的时间戳设置为当前机器时钟,从该路由器表项的接口ID所标识的接口转发该请求消息,执行步骤410;
步骤417:如果消费节点接收到该响应消息,则执行步骤419,否则执行步骤418;
步骤418:从接口y3接收到该响应消息的路由器选择一个路由器表项,该路由器表项的前缀等于该响应消息中名称的前缀且接口ID等于y3,将该路由器表项的延迟更新为当前机器时间与该路由器表项的时间戳之差的绝对值,该路由器创建一个消息表项,该消息表项的响应消息域值设置为接收到的响应消息,生命周期设置为最大值,该路由器选择所有名称等于该响应消息中名称的跟踪表项,针对每个选中的跟踪表项,该路由器从该跟踪表项的接口ID所标识的接口转发该响应消息,删除该跟踪消息,执行步骤417;
步骤419:接收到该响应消息的消费节点保存该响应消息中的数据;
步骤420:结束。
5.根据权利要求3所述的一种基于物联网的灌溉监测***实现方法,其特征在于,
一个推送消息包含消息ID和缓存表项;
如果路由器R1检测到缓存表项E1的数据异常,则执行下述操作:
步骤501:开始;
步骤502:路由器R1构建一个推送消息,该推送消息的消息ID为6,缓存表项等于E1,从每个上游接口发送该推送消息,同时,路由器R1选择所有节点类型值为1的节点表项,从每个选中的节点表项的接口ID所标识的接口转发该推送消息;
步骤503:如果消费节点获取该推送消息,则执行步骤511,否则执行步骤504;
步骤504:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,且生命周期大于阈值TH0,TH0的取值范围为最大生命周期的95%-100%,如果存在,则执行步骤512,否则执行步骤505;
步骤505:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,如果存在,则执行步骤506,否则执行步骤507;
步骤506:接收到该推送消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,将该消息表项的生命周期设置为最大值,执行步骤510;
步骤507:接收到该推送消息的路由器判断是否存在一个消息表项,该消息表项的响应消息域值中的名称等于该推送消息中缓存表项的名称,如果存在,则执行步骤508,否则执行步骤509;
步骤508:接收到该推送消息的路由器选择一个消息表项,该消息表项的响应消息域值中的名称等于该推送消息中缓存表项的名称,将该消息表项的数据更新为该推送消息中缓存表项的数据,将生命周期设置为最大值,执行步骤510;
步骤509:接收到该推送消息的路由器创建一个消息表项,该消息表项的响应消息域值中的名称和数据分别等于该推送消息中缓存表项的名称和数据,将该消息表项的生命周期设置为最大值;
步骤510:接收到该推送消息的路由器选择所有节点类型值为1的节点表项,针对每个选中的节点表项,该路由器从该节点表项的接口ID所标识的接口发送该推送消息,同时从每个上游接口转发该推送消息,执行步骤503;
步骤511:接收到推送消息的消费者保存该推送消息中缓存表项的数据;
步骤512:结束。
6.根据权利要求4所述的一种基于物联网的灌溉监测***实现方法,其特征在于,
响应消息中的数据为农田的环境监测数据,包括土壤湿度,消费者获取响应消息中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。
7.根据权利要求5所述的一种基于物联网的灌溉监测***实现方法,其特征在于,
推送消息中的缓存表项中的数据为农田的环境监测数据,包括土壤湿度,消费者获取推送消息中的缓存表项中的数据后,如果土壤湿度小于阈值TH0,则实施灌溉,否则则不实施灌溉,TH0取值范围为60%~70%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110167974.9A CN112968838A (zh) | 2021-02-07 | 2021-02-07 | 一种基于物联网的灌溉监测***实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110167974.9A CN112968838A (zh) | 2021-02-07 | 2021-02-07 | 一种基于物联网的灌溉监测***实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112968838A true CN112968838A (zh) | 2021-06-15 |
Family
ID=76275072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110167974.9A Withdrawn CN112968838A (zh) | 2021-02-07 | 2021-02-07 | 一种基于物联网的灌溉监测***实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112968838A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237179A (zh) * | 2021-12-16 | 2022-03-25 | 常熟华庆汽车部件有限公司 | 一种基于工业物联网的柔性涂装自动控制***的实现方法 |
CN114401338A (zh) * | 2022-01-14 | 2022-04-26 | 苏州华高自动化设备有限公司 | 一种基于工业物联网的化学物质参数自动分析的实现方法 |
-
2021
- 2021-02-07 CN CN202110167974.9A patent/CN112968838A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237179A (zh) * | 2021-12-16 | 2022-03-25 | 常熟华庆汽车部件有限公司 | 一种基于工业物联网的柔性涂装自动控制***的实现方法 |
CN114237179B (zh) * | 2021-12-16 | 2023-09-08 | 常熟华庆汽车部件有限公司 | 一种基于工业物联网的柔性涂装自动控制***的实现方法 |
CN114401338A (zh) * | 2022-01-14 | 2022-04-26 | 苏州华高自动化设备有限公司 | 一种基于工业物联网的化学物质参数自动分析的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112968838A (zh) | 一种基于物联网的灌溉监测***实现方法 | |
CN109257789B (zh) | 一种基于多跳簇的车载网数据通信方法 | |
CN105591937B (zh) | 一种网络拓扑信息的采集方法和设备 | |
JP5283192B2 (ja) | 経路制御プロトコルに基づいて障害リンクをリアルタイムに検出する方法、ノード装置及びプログラム | |
CN109218021B (zh) | 一种安全的新一代物联网数据通信方法 | |
CN110113264A (zh) | 一种命名数据网络的缓存和路由实现方法 | |
CN106161237A (zh) | 集中式的路由方法、装置和*** | |
CN112073531A (zh) | 一种基于边缘计算的物联网实时监测***的实现方法 | |
CN108696438A (zh) | Bier报文的转发方法及装置 | |
CN109150723A (zh) | 一种物联网的路由通信实现方法 | |
CN112953828A (zh) | 一种基于物联网的环境监测***实现方法 | |
CN107317890B (zh) | 一种智能车载网的数据传输实现方法 | |
CN112040008B (zh) | 一种基于物联网的远程医疗监护***的实现方法 | |
CN112073528B (zh) | 一种基于物联网的医疗监测预警***的实现方法 | |
CN113746654A (zh) | 一种IPv6地址管理和流量分析的方法和装置 | |
KR20140125224A (ko) | 정보 중심 네트워킹 기반의 콘텐츠 네트워크에서의 정보 수집 방법 및 노드 장치 | |
CN111277497B (zh) | 一种基于分布式的网络服务部署和发现的实现方法 | |
CN117278592A (zh) | 一种智能物联网***的实现方法 | |
CN107222359B (zh) | 一种is-is网络中的链路异常检测方法及*** | |
CN113852685A (zh) | 一种智能物联网监测***的实现方法 | |
CN111245725B (zh) | 一种基于分布式的未来网络实现方法 | |
CN112073530B (zh) | 一种基于物联网的智能医疗监测和报警***的实现方法 | |
CN111385854B (zh) | 一种基于数据融合机制的物联网空气监测***的实现方法 | |
CN112988949A (zh) | 一种基于大数据网络的灌溉监测***实现方法 | |
CN101577680B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210615 |