A method for implementing a real-time data collection and monitoring system for irrigation areas

By deploying multiple types of nodes in the irrigation area, real-time data acquisition and monitoring system is realized in the irrigation area, which solves the problems of high power consumption, long delay and low data accuracy in traditional systems, and realizes rapid and accurate acquisition and monitoring of real-time data in the irrigation area to ensure the sustainable growth and production of healthy crops.

CN119521047BActive Publication Date: 2025-06-03CHANGSHU INSTITUTE OF TECHNOLOGY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510091101.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-06-03
Estimated Expiration
2045-01-21

AI Technical Summary

Technical Problem

The traditional irrigation area data acquisition and monitoring system has problems such as high power consumption, long delay, low data accuracy and low energy nodes that cannot collect and process data, resulting in untimely monitoring of real-time data in the irrigation area.

Method used

A real-time data acquisition and monitoring system for irrigation areas was designed. By deploying multiple nodes in the irrigation area, the nodes were divided into acquisition nodes and user nodes, and the acquisition nodes were further divided into first nodes and member nodes. The first node was responsible for forwarding operations, member nodes were responsible for data collection, and user nodes were used to monitor data. The system realizes the collection and transmission of data through the delivery of request messages, response messages, query messages and data messages.

Benefits of technology

It realizes rapid and accurate collection and monitoring of real-time data in irrigation areas, ensures the healthy growth and sustainability of crops, and reduces the delay and cost of data collection and monitoring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119521047B_ABST
    Figure CN119521047B_ABST
Patent Text Reader

Abstract

The present invention provides a method for implementing a real-time data acquisition and monitoring system for an irrigation area. The system includes a plurality of nodes evenly distributed in the irrigation area. The nodes are divided into acquisition nodes and user nodes. The acquisition nodes are divided into head nodes and member nodes. The head node is used to perform forwarding operations, the member nodes are used to perform data collection operations, and the user nodes are used to monitor data. Through the method for implementing the real-time data acquisition and monitoring system for the irrigation area provided by the present invention, staff can quickly obtain accurate real-time data of the irrigation area, such as humidity and drought degree, so as to take effective measures to ensure the healthy growth of crops and the sustainability of crop production, and has broad application prospects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of irrigation area monitoring, and particularly to a method for implementing a real-time data acquisition and monitoring system for an irrigation area. Background Art

[0002] Real-time data acquisition and monitoring in an irrigation area is an important means to provide necessary water sources for farmland, which is used to increase the yield of crops, improve the stability and sustainability of agricultural production. Irrigation area environmental monitoring and early warning ensure the healthy growth of crops by automatically monitoring the drought degree of the soil. The traditional irrigation area data acquisition and monitoring system transmits data in a broadcast manner, resulting in problems such as high power consumption and long delay in irrigation area data acquisition and monitoring. At the same time, the traditional irrigation area data acquisition and monitoring system does not have the problem of data fusion, resulting in problems such as low data accuracy and long response time, further increasing the cost and delay of irrigation area data acquisition and monitoring. At the same time, nodes with low energy cannot collect and process irrigation area data, resulting in the inability to monitor real-time irrigation area data.

[0003] This system aims to achieve real-time data acquisition and monitoring in the irrigation area to ensure the healthy growth of crops in the irrigation area. Summary of the Invention

[0004] Object of the Invention: The technical problem to be solved by the present invention is to provide a method for implementing a real-time data acquisition and monitoring system for an irrigation area in view of the deficiencies of the prior art.

[0005] Technical Solution: The present invention discloses a method for implementing a real-time data acquisition and monitoring system for an irrigation area. The system includes a plurality of nodes evenly distributed in the irrigation area. The nodes are divided into acquisition nodes and user nodes. The acquisition nodes are divided into head nodes and member nodes. The head nodes are used to perform forwarding operations, the member nodes are used to perform data collection operations, and the user nodes are used to monitor data. The method includes:

[0006] The head node sends a request message to construct a data set of its own coordinate identifier and sets the clock at the same time. If the set clock is equal to 0, a data set is constructed and a data table entry is created.

[0007] If the member node receives the request message, it sends a response message. If the head node that receives the request message does not have a request table entry whose coordinate is equal to the coordinate in the request message and the hop limit value in the request message is not equal to 0, a request table entry is created and the request message is forwarded. If the head node that receives the request message does not have a request table entry whose coordinate is equal to the coordinate in the request message and the hop limit value in the request message is equal to 0, a response message is sent.

[0008] If the first node that receives the response message has a request entry whose coordinates are equal to the coordinates in the response message and whose lifetime is equal to 0, it forwards the response message;

[0009] The user node sends a query message to obtain a data set; if the coordinates of the first node that receives the query message are equal to the coordinates in the query message, it sends a data message; if the coordinates of the first node are not equal to the coordinates in the query message, and the address of the first node is equal to the address in the query message, and the coordinate set does not contain the coordinates in the query message, it forwards the query message;

[0010] If the coordinate set of the first node that receives the data message contains the coordinates in the data message, it forwards the data message; if the user node receives the data message, it saves the data set in the data message.

[0011] The method further includes:

[0012] In the initial state, all the acquisition nodes are member nodes;

[0013] The irrigation area sets a virtual node; wherein, the coordinates of the virtual node are preset, the abscissa is equal to (x1 + x2) / 2, and the ordinate is equal to (y1 + y2) / 2, where x1 and x2 are respectively the maximum abscissa and the minimum abscissa of the area covered by the irrigation area, and y1 and y2 are respectively the maximum ordinate and the minimum ordinate of the area covered by the irrigation area;

[0014] Each node is uniquely identified by an address, which is preset, and the coordinate values of each node are preset;

[0015] Each node saves a node table, and a node entry contains an address, a node type, energy, coordinates, and a lifetime; the node type value of the user node is 0, the node type value of the first node is 1, and the node type value of the member node is 2.

[0016] The method further includes:

[0017] Each node establishes a node table by sending a node message, where the address and node type in the node message are its own address and node type, the energy is the current energy value, and the coordinates are the current coordinates;

[0018] If a neighbor node that receives the node message has a node entry whose address is equal to the address in the node message, it sets the node type, energy, and coordinates of the node entry to the node type, energy, and coordinates in the node message respectively, and sets the lifecycle to the maximum value; otherwise, the neighbor node creates a node entry, the address of the created node entry is equal to the address in the node message, it sets the node type, energy, and coordinates of the node entry to the node type, energy, and coordinates in the node message respectively, and sets the lifecycle to the maximum value.

[0019] The method further includes:

[0020] If the member node does not have a node entry that meets Condition 1 and satisfies formula (1), it marks itself as the primary node;

[0021] Condition 1: The node type of the node entry is 1, and the distance between the coordinates and the virtual node coordinates is less than the distance between the member node coordinates and the virtual node coordinates;

[0022] e1>θ×e2 (1)

[0023] Where, e1 is the current energy value of the member node, e2 is the initial energy value of the member node, and θ is an adjustment parameter, whose value range is between 0.5 and 0.9;

[0024] If the member node does not have a node entry that meets Condition 1 and does not satisfy the formula (1), it selects all node entries that meet Condition 2, selects a node entry from the node entries that meet Condition 2, the energy value of this node entry is the largest, and sends an election message, the address of this message is equal to the address in this node entry;

[0025] Condition 2: The node type of the node entry is 2, and the distance between the coordinates and the virtual node coordinates is less than the distance between the member node coordinates and the virtual node coordinates;

[0026] If the address of the member node that receives the election message is equal to the address in the election message, it sets itself as the primary node.

[0027] The method further includes:

[0028] Each data set is uniquely identified by coordinates;

[0029] Each node saves a data table, and a data table entry contains coordinates, data set, and the initial state of the data table is an empty table;

[0030] Each node saves a cache table, and a cache table entry contains coordinates, data set, and the initial state of the cache table is an empty table;

[0031] Each node stores a request table. A request table entry contains coordinates and a lifetime. The initial state of the request table is an empty table;

[0032] In the request message sent by the first node, the coordinates are equal to its own coordinates, the hop limit value is a pre-set value h1, and the set clock value is set to (t1 + t2) × h1, where t1 is the delay in forwarding the request message between neighbor nodes, and t2 is the delay in forwarding the response message between neighbor nodes.

[0033] The method further includes:

[0034] In the response message sent by the member node or the first node that receives the request message, the coordinates are equal to the coordinates in the request message, and the data set is composed of the data collected by itself;

[0035] In the request table entry created by the first node that receives the request message, the coordinates are equal to the coordinates in the request message, and the lifetime is set to be equal to (t1 + t2) × h2, where h2 is equal to the hop limit value in the received request message.

[0036] The method further includes:

[0037] If the first node that receives the response message is the first node that sent the request message or there exists a request table entry with coordinates equal to the coordinates in the response message, a cache table entry is created; wherein, the coordinates and data set of the cache table entry are respectively equal to the coordinates and data set in the response message;

[0038] In the response message forwarded by the first node that receives the response message, the data set is set to the union of the data sets of all cache table entries with coordinates equal to the coordinates in the response message.

[0039] The method further includes:

[0040] The data set constructed by the first node that sends the request message is equal to the union of the data sets of all cache table entries with coordinates equal to the coordinates of the first node;

[0041] In the data table entry created by the first node that sends the request message, the coordinates are equal to its own coordinates, and the data set is equal to the constructed data set.

[0042] The method further includes:

[0043] Each node stores a coordinate set. In the initial state, this coordinate set is an empty set;

[0044] In the query message sent by the user node, the coordinates are equal to the coordinates identifying the data set to be obtained, the address is equal to the address of a node entry, the node type of the node entry is equal to 1, and among all the node entries with node type equal to 1 in the user node, the coordinates of the node entry are the closest to the coordinates in the query message;

[0045] In the data message sent by the first node that receives the query message, the coordinates are equal to the coordinates in the query message, and the data set is equal to the data set in the data table entry whose coordinates are equal to the coordinates in the query message.

[0046] The method further includes:

[0047] In the query message forwarded by the first node that receives the query message, the address is set to the address of a node entry. Among all the node entries with node type equal to 1 in the first node, the coordinates of the node entry are the closest to the coordinates in the query message. At the same time, the first node adds the coordinates in this query message to its own coordinate set;

[0048] If the coordinate set of the first node that receives the data message contains the coordinates in the data message, then delete the coordinates in the data message from its own coordinate set.

[0049] Beneficial effects: The present invention provides a method for implementing an irrigation area real-time data acquisition and monitoring system. Through the method for implementing an irrigation area real-time data acquisition and monitoring system provided by the present invention, staff can quickly obtain accurate real-time data of the irrigation area for monitoring, such as humidity and drought degree, so as to take effective measures to ensure the healthy growth of crops and the sustainability of crop production, and has a wide range of application prospects. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] The following further specifically describes the present invention in conjunction with the drawings and specific embodiments, and the above and / or other advantages of the present invention will become clearer.

[0051] Figure 1 It is a flowchart of the method for implementing the irrigation area real-time data acquisition and monitoring system of the present invention;

[0052] Figure 2 It is a flowchart for establishing a node table;

[0053] Figure 3 It is a flowchart for electing a first node;

[0054] Figure 4 It is a flowchart for constructing an irrigation area real-time data set;

[0055] Figure 5 It is a flowchart for monitoring an irrigation area real-time data set. Detailed implementation manners

[0056] To enable those skilled in the art to better understand the technical solutions of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all of the embodiments. Based on the described embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present invention.

[0057] Unless otherwise specifically stated, the technical terms or scientific terms used in the embodiments of the present invention should have the ordinary meanings understood by those with ordinary skills in the field to which the present invention belongs. The "including" or "comprising" used in the embodiments of the present invention neither limits the mentioned shapes, numbers, steps, actions, operations, components, elements and / or their groups, nor excludes the occurrence or addition of one or more other different shapes, numbers, steps, actions, operations, components, elements and / or their groups, or the addition of these. In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity and order of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of the present invention, the meaning of "a plurality" is two or more, unless otherwise specifically and clearly defined.

[0058] Unless otherwise specifically stated, the relative settings, numerical expressions and numerical values of the components and steps described in these embodiments do not limit the scope of the present invention. At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship. For technologies, methods and devices known to those of ordinary skill in the relevant fields, they may not be discussed in detail, but under appropriate circumstances, the shown technologies, methods and devices should be regarded as part of the authorization specification. In all the examples shown and discussed here, any specific other example may have different values. It should be noted that similar symbols and letters represent similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.

[0059] In the description of the embodiments of the present invention, the descriptions referring to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In the embodiments of the present invention, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples. In addition, without contradiction, those skilled in the art can combine and combine the different embodiments or examples described in the embodiments of the present invention and the features of different embodiments or examples.

[0060] Next, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments of the present invention. It should be understood that the present invention is not limited by the exemplary embodiments described herein.

[0061] Figure 1 It is a flowchart of an implementation method for a real-time data acquisition and monitoring system in an irrigation area of the present invention. The system is composed of nodes evenly distributed in the irrigation area. The nodes are divided into acquisition nodes and user nodes. The acquisition nodes are divided into head nodes and member nodes. The head nodes are used to perform forwarding operations, the member nodes are used to perform data collection operations, and the user nodes are used to monitor data. As Figure 1 shown, the method includes the following steps:

[0062] The head node sends a request message to construct a data set of its own coordinate identifier and sets the clock at the same time; if the set clock is equal to 0, it constructs the data set and creates a data table entry.

[0063] If the member node receives the request message, it sends a response message; if there is no request table entry in the head node that receives the request message and the coordinate is equal to the coordinate in the request message and the hop limit value in the request message is not equal to 0, it creates a request table entry and forwards the request message; if there is no request table entry in the head node that receives the request message and the coordinate is equal to the coordinate in the request message and the hop limit value in the request message is equal to 0, it sends a response message.

[0064] If the head node that receives the response message has a request table entry, and the coordinate of the request table entry is equal to the coordinate in the response message and the life cycle is equal to 0, it forwards the response message.

[0065] The user node sends a query message to obtain a data set; if the coordinates of the first node that receives the query message are equal to the coordinates in the query message, it sends a data message; if the coordinates of the first node are not equal to the coordinates in the query message, and the address of the first node is equal to the address in the query message, and the coordinate set does not contain the coordinates in the query message, it forwards the query message.

[0066] If the coordinate set of the first node that receives the data message contains the coordinates in the data message, it forwards the data message; if the user node receives the data message, it saves the data set in the data message.

[0067] The present invention provides a method for implementing an irrigation area real-time data acquisition and monitoring system. Through the method for implementing an irrigation area real-time data acquisition and monitoring system provided by the present invention, staff can quickly obtain accurate real-time data of the irrigation area for monitoring, such as humidity and drought degree, so as to take effective measures to ensure the healthy growth of crops and the sustainability of crop production, and has broad application prospects.

[0068] Figure 2 Establish a flowchart for the node table. As Figure 2 shown, in the initial state, all acquisition nodes are member nodes; a virtual node is set in the irrigation area, and the coordinates of the virtual node are preset, with the abscissa equal to (x1 + x2) / 2 and the ordinate equal to (y1 + y2) / 2, where x1 and x2 are respectively the maximum abscissa and the minimum abscissa of the area covered by the irrigation area, and y1 and y2 are respectively the maximum ordinate and the minimum ordinate of the area covered by the irrigation area;

[0069] Each node is uniquely identified by an address, which is preset and can be set as a hardware address, such as a MAC address;

[0070] The coordinate value of each node is preset;

[0071] Each node saves a node table, and a node table entry includes an address, a node type, energy, coordinates, and a survival period; the node type value of the user node is 0, the node type value of the first node is 1, and the node type value of the member node is 2;

[0072] The node message includes a message ID, an address, a node type, energy, and coordinates;

[0073] Node N1 establishes a node table through the following process:

[0074] Step 101: Start;

[0075] Step 102: Node N1 sends a node message with a message ID of 1, an address and node type both being its own address and node type, an energy being the current energy value, and coordinates being the current coordinates.

[0076] Step 103: After a neighbor node receives the node message, it determines whether there is a node entry whose address is equal to the address in the node message. If there is, it sets the node type, energy, and coordinates of the node entry to the node type, energy, and coordinates in the node message respectively, and sets the lifetime to the maximum value. Otherwise, it creates a node entry whose address is equal to the address in the node message, sets the node type, energy, and coordinates of the node entry to the node type, energy, and coordinates in the node message respectively, and sets the lifetime to the maximum value.

[0077] Step 104: End.

[0078] In the above process, the node establishes a node table by sending node messages, thereby obtaining the addresses, node types, current energies, and coordinates of neighbor nodes, and then elects a head node to collect and transmit data.

[0079] Figure 3 This is the flowchart for electing the head node. If member node MN1 does not have a node entry that meets Condition 1 and satisfies formula (1), it marks itself as the head node; in formula (1), e1 is the current energy value of member node MN1, e2 is the initial energy value of member node MN1, and θ is a tuning parameter with a value range between 0.5 and 0.9.

[0080] Condition 1: The node type of the node entry is 1, and the distance between its coordinates and the coordinates of the virtual node is less than the distance between the coordinates of member node MN1 and the coordinates of the virtual node.

[0081] e1 > θ × e2 (1)

[0082] The election message contains a message ID and an address.

[0083] If member node MN1 does not have a node entry that meets Condition 1 and does not satisfy formula (1), the following operations are performed:

[0084] Step 201: Start.

[0085] Step 202: Member node MN1 selects all node entries that meet Condition 2, and selects a node entry with the maximum energy value from the node entries that meet Condition 2, and sends an election message with a message ID of 2 and an address being the address in the node entry.

[0086] Condition 2: The node type of this node entry is 2, and the distance between its coordinates and the coordinates of the virtual node is less than the distance between the coordinates of member node MN1 and the coordinates of the virtual node;

[0087] Step 203: The member node that receives this election message determines whether its own address is equal to the address in this election message. If they are equal, it executes Step 204; otherwise, it executes Step 205;

[0088] Step 204: The member node that receives this election message sets itself as the head node;

[0089] Step 205: End.

[0090] The member nodes elect the head node through the above process, enabling the head node to cover the entire irrigation area, collect data in the irrigation area, improve the success rate of data monitoring, and at the same time reduce the latency and cost of data monitoring.

[0091] Figure 4 To construct a flowchart of real-time data collection in the irrigation area. Each data collection is uniquely identified by coordinates;

[0092] Each node stores a data table. A data table entry contains coordinates, a data collection, and the initial state of the data table is an empty table;

[0093] Each node stores a cache table. A cache table entry contains coordinates, a data collection, and the initial state of the cache table is an empty table;

[0094] Each node stores a request table. A request table entry contains coordinates and a lifetime, and the initial state of the request table is an empty table;

[0095] The request message contains a message ID, coordinates, and a hop limit value;

[0096] The response message contains a message ID, coordinates, and a data collection;

[0097] The coordinates of the head node HN1 are CO1. A data collection identified by the coordinates CO1 is created through the following process:

[0098] Step 301: Start;

[0099] Step 302: The head node HN1 sends a request message. The message ID of this message is 3, the coordinates are its own coordinates CO1, the hop limit value is a pre-set value h1, and a clock TM1 is set, and its value is set to (t1 + t2) × h1, where t1 is the latency for forwarding the request message between neighbor nodes, and t2 is the latency for forwarding the response message between neighbor nodes;

[0100] Step 303: If a member node receives the request message, it executes Step 304; otherwise, it executes Step 305;

[0101] Step 304: The member node that receives the request message sends a response message with a message ID of 4, the coordinates equal to the coordinates in the request message, and the data set consisting of the data collected by itself, and execute Step 309;

[0102] Step 305: The first node that receives the request message determines whether there is a request entry whose coordinates are equal to the coordinates in the request message. If so, execute Step 309; otherwise, execute Step 306;

[0103] Step 306: The first node that receives the request message decrements the hop limit value in the request message by 1. If the hop limit value in the request message is equal to 0, execute Step 308; otherwise, execute Step 307;

[0104] Step 307: The first node that receives the request message creates a request entry whose coordinates are equal to the coordinates in the request message, sets the lifecycle to be equal to (t1 + t2) × h2, where h2 is equal to the hop limit value in the received request message, forwards the request message, and execute Step 303;

[0105] Step 308: The first node that receives the request message sends a response message with a message ID of 4, the coordinates equal to the coordinates in the request message, and the data set containing the data collected by itself;

[0106] Step 309: Whether the first node that receives the response message is the first node HN1. If so, execute Step 313; otherwise, execute Step 310;

[0107] Step 310: The first node that receives the response message determines whether there is a request entry whose coordinates are equal to the coordinates in the response message. If so, execute Step 311; otherwise, execute Step 315;

[0108] Step 311: The first node that receives the response message creates a cache entry whose coordinates and data set are respectively equal to the coordinates and data set in the response message, determines whether the lifecycle of the request entry whose coordinates are equal to the coordinates in the response message is equal to 0. If so, execute Step 312; otherwise, execute Step 309;

[0109] Step 312: The first node that receives the response message selects all cache entries whose coordinates are equal to the coordinates in the response message, sets the data set in the response message to be the union of the data sets of the selected cache entries, forwards the response message, and execute Step 309;

[0110] Step 313: The head node HN1 creates a cache entry. The coordinates and data set of this entry are respectively equal to the coordinates and data set in this response message. Determine whether the clock TM1 is equal to 0. If it is, execute Step 314; otherwise, execute Step 309.

[0111] Step 314: The head node HN1 selects all cache entries whose coordinates are equal to its own coordinate CO1, constructs a data set DS1. The data set DS1 is equal to the union of the data sets of all the selected cache entries, creates a data table entry. The coordinates of this data table entry are equal to CO1, and the data set is equal to the data set DS1.

[0112] Step 315: End.

[0113] In the above process, the head node constructs an infusion real-time data set by sending request messages and response messages, thereby collecting data in its own irrigation area for monitoring and early warning.

[0114] Figure 5 It is a flow chart for monitoring the real-time data set of the irrigation area.

[0115] Each node stores a set of coordinates. In the initial state, this set of coordinates is an empty set.

[0116] The query message contains a message ID, coordinates, and an address.

[0117] The data message contains a message ID, coordinates, and a data set.

[0118] The user node UN1 obtains the data set identified by the coordinate CO1 through the following steps.

[0119] Step 401: Start.

[0120] Step 402: The user node UN1 selects all node entries whose node type is equal to 1, selects one entry from these entries. The coordinates of this entry are the closest to the coordinate CO1, and sends a query message. The message ID of this message is 5, the coordinates are equal to CO1, and the address is equal to the address in this node entry.

[0121] Step 403: The head node that receives the query message determines whether its own coordinates are equal to the coordinates in this query message. If they are equal, execute Step 404; otherwise, execute Step 407.

[0122] Step 404: The head node that receives the query message determines whether there is a data table entry whose coordinates are equal to the coordinates in this query message. If there is, execute Step 406; otherwise, execute Step 405.

[0123] Step 405: The first node that receives the query message constructs a data set combination and creates a data table entry. The coordinates of this data table entry are equal to its own coordinates, and the data set is equal to the created data set.

[0124] Step 406: The first node that receives the query message selects the data table entry whose coordinates are equal to the coordinates in the query message, sends a data message. The message ID of this message is 6, the coordinates are equal to the coordinates in the query message, and the data set is equal to the data set in the data table entry, and then executes Step 410.

[0125] Step 407: The first node that receives the query message determines whether its own address is equal to the address in the query message. If so, it executes Step 408; otherwise, it executes Step 413.

[0126] Step 408: The first node that receives the query message determines whether its coordinate set contains the coordinates in the query message. If it contains, it executes Step 410; otherwise, it executes Step 409.

[0127] Step 409: The first node that receives the query message adds the coordinates in the query message to its own coordinate set, selects all node entries with node type equal to 1, and selects one entry from these entries. The coordinates of this entry are the closest to the coordinates in the query message. Set the address in the query message to the address of this node entry, and forward the query message, then execute Step 403.

[0128] Step 410: If the user node UN1 receives the data message, it executes Step 413; otherwise, it executes Step 411.

[0129] Step 411: The first node that receives the data message determines whether its coordinate set contains the coordinates in the data message. If it contains, it executes Step 412; otherwise, it executes Step 413.

[0130] Step 412: The first node that receives the data message deletes the coordinates in the data message from its own coordinate set, forwards the data message, and then executes Step 410.

[0131] Step 413: End.

[0132] The user node obtains the target data set of the irrigation area by sending a query message through the above process for monitoring and early warning. In the above process, only the first node participates in the data set transmission, so the communication delay of the data set is reduced. At the same time, multiple user nodes can share data through the coordinate set, so as to quickly obtain the real-time data set of the irrigation area, and then realize the timely monitoring and early warning of the irrigation area, improving the irrigation efficiency of the irrigation area.

[0133] Embodiment 1

[0134] Based on the simulation parameters in Table 1, this embodiment simulates an implementation method of a real-time data acquisition and monitoring system for irrigation areas in the present invention, and the performance analysis is as follows: When the number of head nodes increases, the success rate of user nodes in obtaining the real-time data set of the irrigation area decreases. When the number of head nodes decreases, the success rate of user nodes in obtaining the real-time data set of the irrigation area increases. The average success rate of the collection nodes in obtaining the environmental monitoring data of the irrigation area is 98.1%.

[0135] Table 1

[0136]

[0137] The present invention provides an idea for an implementation method of a real-time data acquisition and monitoring system for irrigation areas. There are many methods and ways to specifically implement this technical solution. The above description is only the preferred embodiment of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention. Each component not clearly defined in this embodiment can be implemented by existing technologies.

Claims

1. A method for implementing a real-time data collection and monitoring system for an irrigation area, characterized in that: The system includes a plurality of nodes evenly distributed in the irrigation area, the nodes are divided into collection nodes and user nodes, the collection nodes are divided into head nodes and member nodes, the head nodes are used to perform forwarding operations, the member nodes are used to perform data collection operations, and the user nodes are used to monitor data; the method includes: The first node sends a request message to construct a data set identified by its own coordinates and sets a clock at the same time; if the set clock is equal to 0, the data set is constructed and a data table entry is created; If the member node receives the request message, it sends a response message; if the head node that receives the request message does not have a request table entry with coordinates equal to the coordinates in the request message and the hop limit value in the request message is not equal to 0, it creates a request table entry and forwards the request message; if the head node that receives the request message does not have a request table entry with coordinates equal to the coordinates in the request message and the hop limit value in the request message is equal to 0, it sends a response message; If the head node receiving the response message has a request entry, the coordinates of the request entry are equal to the coordinates in the response message and the life cycle is equal to 0, then forward the response message; The user node sends a query message to obtain a data set; if the coordinates of the first node receiving the query message are equal to the coordinates in the query message, a data message is sent; if the coordinates of the first node are not equal to the coordinates in the query message, and the address of the first node is equal to the address in the query message, and the coordinate set does not contain the coordinates in the query message, the query message is forwarded; If the coordinate set of the head node receiving the data message contains the coordinates in the data message, the data message is forwarded; if the user node receives the data message, the data set in the data message is saved.

2. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: The method further comprises: In the initial state, all the acquisition nodes are member nodes; The irrigation area sets a virtual node; wherein the coordinates of the virtual node are preset, the abscissa is equal to (x1+x2) / 2, and the ordinate is equal to (y1+y2) / 2, wherein x1 and x2 are respectively the maximum abscissa and the minimum abscissa of the area covered by the irrigation area, and y1 and y2 are respectively the maximum ordinate and the minimum ordinate of the area covered by the irrigation area; Each of the nodes is uniquely identified by an address, which is preset, and the coordinate value of each node is preset; Each of the nodes stores a node table, and a node table entry includes an address, a node type, energy, coordinates, and a life cycle; the node type value of the user node is 0, the node type value of the head node is 1, and the node type value of the member node is 2.

3. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 2, characterized in that: Each of the nodes establishes a node table by sending a node message, wherein the address and node type in the node message are its own address and node type, the energy is the current energy value, and the coordinates are the current coordinates; If a neighbor node that receives the node message has a node table entry whose address is equal to the address in the node message, the node type, energy and coordinates of the node table entry are set to the node type, energy and coordinates in the node message respectively, and the life cycle is set to the maximum value; otherwise, the neighbor node creates a node table entry, the address of the created node table entry is equal to the address in the node message, the node type, energy and coordinates of the node table entry are set to the node type, energy and coordinates in the node message respectively, and the life cycle is set to the maximum value.

4. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: The method further comprises: If the member node does not have a node table entry that meets condition 1 and satisfies formula (1), it marks itself as the head node; Condition 1: The node type of the node entry is 1, and the distance between the coordinates and the virtual node coordinates is less than the distance between the member node coordinates and the virtual node coordinates; e1>θ×e2(1) Wherein, e1 is the current energy value of the member node, e2 is the initial energy value of the member node, and θ is an adjustment parameter, ranging from 0.5 to 0.9; If the member node does not have a node table entry that meets condition 1 and does not satisfy formula (1), then all node table entries that meet condition 2 are selected, and a node table entry with the largest energy value is selected from the node table entries that meet condition 2, and an election message is sent, where the address of the election message is equal to the address in the node table entry; Condition 2: The node type of the node table entry is 2, and the distance between the coordinates and the virtual node coordinates is less than the distance between the member node coordinates and the virtual node coordinates; If the address of the member node that receives the election message is equal to the address in the election message, it sets itself as the head node.

5. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: Each data set is uniquely identified by coordinates; Each node stores a data table. A data table item contains coordinates and data sets. The data table is initially empty. Each node stores a cache table. A cache table entry contains coordinates and data sets. The initial state of the cache table is an empty table. Each node stores a request table. A request table entry contains coordinates and life cycle. The initial state of the request table is an empty table. In the request message sent by the first node, the coordinates are equal to its own coordinates, the hop limit value is the preset value h1, and the set clock value is set to (t1+t2)×h1, t1 is the delay in forwarding the request message between neighbor nodes, and t2 is the delay in forwarding the response message between neighbor nodes.

6. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: The method further comprises: In the response message sent by the member node or the head node that receives the request message, the coordinates are equal to the coordinates in the request message, and the data set is composed of the data collected by itself; In the request table entry created by the head node that receives the request message, the coordinates are equal to the coordinates in the request message, and the life cycle is set equal to (t1+t2)×h2, where h2 is equal to the hop limit value in the received request message.

7. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: The method further comprises: If the first node receiving the response message is the first node sending the request message or there is a request table entry with coordinates equal to the coordinates in the response message, a cache table entry is created; wherein the coordinates and data set of the cache table entry are respectively equal to the coordinates and data set in the response message; In the response message forwarded by the head node that receives the response message, the data set is set to the union of the data sets of all cache entries whose coordinates are equal to the coordinates in the response message.

8. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: The method further comprises: The data set constructed by the first node sending the request message is equal to the union of the data sets of all cache entries whose coordinates are equal to the coordinates of the first node; In the data table entry created by the first node that sends the request message, the coordinates are equal to its own coordinates, and the data set is equal to the constructed data set.

9. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 5, characterized in that: Each node stores a coordinate set, which is an empty set in the initialization state; In the query message sent by the user node, the coordinates are equal to the coordinates identifying the data set to be obtained, the address is equal to the address of a node table entry, the node type of the node table entry is equal to 1, and among all node table entries of the user node whose node type is equal to 1, the coordinates of the node table entry are closest to the coordinates in the query message; In the data message sent by the head node that receives the query message, the coordinates are equal to the coordinates in the query message, and the data set is equal to the data set in the data table item whose coordinates are equal to the coordinates in the query message.

10. The method for implementing a real-time data collection and monitoring system for an irrigation area according to claim 1, characterized in that: The method further comprises: In the query message forwarded by the first node that receives the query message, the address is set to the address of a node table entry, and the node table entry has the closest coordinates to the coordinates in the query message among all node table entries of the first node whose node type is equal to 1. At the same time, the first node adds the coordinates in the query message to its own coordinate set; If the coordinate set of the head node that receives the data message includes the coordinates in the data message, the coordinates in the data message are deleted from its own coordinate set.

Citation Information

Patent Citations

  • Network data communication implementation method based on cache mechanism

    CN110233889A

  • Implementation method of underwater sensor network data monitoring system based on cache mechanism

    CN114157928A