System and method for automatic recovery of missing meter readings
According to some embodiments, a method for recovering missing meter readings for a plurality of meters on a network, the method comprising: periodically retrieving cached requests from a first database, wherein the cached requests are for missing meter reading data from a time series of meter readings for a plurality of meters; for each meter associated with the missing meter reading data, verifying whether the retrieved cached request is pending in a second database; determining that at least one retrieved cached request is not pending in the second database; deleting the at least one retrieved cached request from the first database; storing the at least one retrieved cached request in the second database; and sending the at least one retrieved cached request to the respective meter to request the missing meter reading data.
1 . A method for recovering missing meter readings for a plurality of meters on a network, the method comprising: periodically retrieving cached requests from a first database, wherein the cached requests are requests for missing meter reading data from a time series of meter readings for a plurality of meters; for each meter associated with the missing meter reading data, verifying whether the retrieved cached request is pending in a second database, wherein the plurality of meters are different from the first database and the second database; determining that at least one retrieved cached request is not pending in the second database; deleting the at least one retrieved cached request from the first database; storing the at least one retrieved cached request in the second database;
sending the at least one retrieved cached request to each meter associated with the missing meter data to retrieve the missing meter reading data from each respective meter,
receiving a request response from the meter with the missing meter reading data; and upon receiving the request response, determining that the cached request is still pending in the second database, updating the time series of meter readings using the missing meter reading data from the request response, and deleting the cached request from the second database, wherein the meters are communicatively coupled together in the network and the requests are electronically transmitted and stored as messages through the network.
2 . The method of claim 1 , further comprising:
upon receiving the request response, verifying whether the cached request is still pending in the second database.
3 . The method of claim 2 , further comprising:
converting the request response to an event causing the cached request to be deleted from the second database;
and
sending an event message to the time series of meter readings with the missing meter reading data.
4 . The method of claim 1 , further comprising:
querying the time series of meter readings for the missing meter reading data for each meter; and
verifying whether a cached request for the missing meter reading data is pending in the first database, determining that the cached request is not pending, and storing the cached request in the first database.
5 . The method of claim 4 , further comprising grouping the missing data into time blocks for each cached request, wherein the time blocks are predefined.
6 . The method of claim 4 , wherein the querying is initiated automatically periodically.
7 . The method of claim 4 , wherein the querying is initiated manually.
8 . The method of claim 1 , wherein all cached requests in the first database are periodically retrieved.
9 . A method for recovering missing meter readings for a plurality of meters on a network, the method comprising: querying a time series database for missing meter reading data from a time series of meter readings for a plurality of meters; verifying whether a request for the missing meter reading data is pending in a first database; determining that the request is not pending and storing the request in the first database as a cached response, wherein the plurality of meters are different from the first database and the second database; periodically retrieving cached requests from the first database; for each meter associated with the missing meter reading data, verifying whether the retrieved cached request is pending in a second database; determining that the retrieved cached request is not pending; deleting the cached request from the first database; storing the cached request in the second database; sending the at least one retrieved cached request to each meter associated with the missing meter data to retrieve the missing meter reading data from each respective meter; receiving a request response from the meter with the missing meter reading data; and upon receiving the request response, determining that the cached request is still pending in the second database, and updating the time series database using the missing meter reading data from the request response, wherein the meters are communicatively coupled together in the network and the requests are electronically transmitted and stored as messages through the network.
10 . The method of claim 9 , further comprising grouping the missing meter reading data into time blocks for each cached request, wherein the time blocks are predefined.
11 . The method of claim 9 , wherein all cached requests in the first database are periodically retrieved.
12 . The method of claim 9 , further comprising:
upon receiving the request response,
deleting the cached request from the second database.
13 . The method of claim 9 , further comprising:
converting the cached request response to an event causing the cached request to be deleted from the second database; and
sending an event message to the time series database with the missing meter reading data.
14 . An apparatus for recovering missing meter readings for a plurality of meters on a network, the apparatus comprising: at least one processor; and at least one non-transient computer readable medium for storing instructions which, when executed by the at least one processor, causes the apparatus to perform operations comprising: querying a time series database for missing meter reading data from a time series of meter readings for a plurality of meters; verifying whether a cached request for the missing meter reading data is pending in a first database; determining that the cached request is not pending, storing the cached request in the first database; periodically retrieving cached requests from the first database; for each meter associated with the missing meter reading data, verifying whether the retrieved cached request is pending in a second database, wherein the plurality of meters are different from the first database and the second database; determining that the retrieved cached request is not pending; deleting the cached request from the first database; storing the cached request in the second database; sending the at least one retrieved cached request to each meter associated with the missing meter data to retrieve the missing meter reading data from each respective meter; receiving a request response from the meter with the missing meter reading data; and upon receiving the request response, determining that the cached request is still pending in the second database, and updating the time series database using the missing meter reading data from the request responses wherein the meters are communicatively coupled together in the network and the requests are electronically transmitted and stored as messages through the network.
15 . An apparatus for recovering missing meter readings for a plurality of meters on a network, the apparatus comprising: at least one processor; and at least one non-transient computer readable medium for storing instructions which, when executed by the at least one processor, causes the apparatus to perform operations comprising: periodically retrieving cached requests from a first database, wherein the cached requests are requests for missing meter reading data from a time series of meter readings for a plurality of meters; for each meter associated with the missing meter reading data, verifying whether the retrieved cached request is pending in a second database, wherein the plurality of meters are different from the first database and the second database; determining that at least one retrieved cached request is not pending in the second database; deleting the at least one retrieved cached request from the first database; storing the at least one retrieved cached request in the second database; sending the at least one retrieved cached request to each meter associated with the missing meter data to retrieve the missing meter reading data from each respective meter;
receiving a request response from the meter with the missing meter reading data; and upon receiving the request response, determining that the cached request is still pending in the second database, and updating the time series of meter readings using the missing meter reading data from the request response, wherein the meters are communicatively coupled together in the network and the requests are electronically transmitted and stored as messages through the network.
16 . The apparatus of claim 15 , wherein the operations further comprise:
querying the time series of meter readings for the missing meter reading data for each meter; and
verifying whether the cached request for the missing meter reading data is pending in the first database;
determining that the cached request is not pending in the first database; and
storing the cached request in the first database.
17 . The apparatus of claim 16 , wherein the operations further comprise grouping the missing meter reading data into time blocks for each cached request, wherein the time blocks are predefined.
18 . The apparatus of claim 16 , wherein the querying is initiated automatically periodically.
19 . The apparatus of claim 16 , wherein the querying is initiated manually.
20 . The apparatus of claim 15 , wherein all cached requests in the first database are retrieved.