Data aggregation with microservices
Abstract
In some embodiments, a transaction request associated with a first transaction identifier may be obtained. A first database may be accessed to store a transaction entry in the first database based on the transaction request. A reversed key may be generated by reversing the first transaction identifier. A second database may be accessed to determine whether the second database comprises any records indexed by the reversed key. An aggregation record comprising the first value may be generated in the second database. In some embodiments, a second transaction identifier of an update message for the first database may be reversed to reconstruct the reversed key, and the second database may be searched with the reversed key to retrieve the aggregation record. The aggregation record may be updated based on the second value and sent to a destination after updating the aggregation record with the second value.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for updating a record by reversing at least one portion of an identifier, the system comprising one or more memory devices storing instructions and one or more processors configured to execute the instructions that, when executed, cause operations comprising:
obtaining an update message indicating an update to a sequential transactions database, wherein the update message comprises a transaction identifier and a transaction value; reversing at least one portion of the transaction identifier to construct an index key; searching an aggregation database with the index key to retrieve a transaction aggregation record; updating the transaction aggregation record based on the transaction value; and sending the updated transaction aggregation record to a destination application programming interface of a destination database.
2 . A method comprising:
obtaining an update message indicating an update to a first database, wherein the update message comprises a first value and a second value; reversing at least one portion of the first value to construct an index key; searching a second database with the index key to retrieve a record of the second database; updating, in the second database, the record based on the second value to generate an updated record; and sending, from the second database, a set of values of the updated record to a third database or an application program interface (API).
3 . The method of claim 2 , further comprising;
generating a first version of the record at a time before obtaining the update message, wherein updating the record comprises generating a second version of the record; determining a result indicating that the updated record satisfies a set of criteria; and sending a message comprising an identifier of the first version of the record indicating that the first version of the record is obsolete.
4 . The method of claim 2 , wherein:
the second value is associated with a first category; obtaining the update message comprises obtaining a third value; the third value is associated with a second category; and updating the record comprises storing the third value in the record in association with the second category.
5 . The method of claim 2 , wherein the update message is a first update message, further comprising:
obtaining a previous update message before obtaining the first update message, wherein the previous update message comprises a value of the previous update message; determining a result indicating that the record is not obsolete; and in response to the result indicating that the record is not obsolete, preventing the record from being updated based on the value of the previous update message.
6 . The method of claim 2 , wherein:
the first value comprises a first sequence and a second sequence; and reversing the at least one portion of the first value comprises reversing the first sequence without reversing the second sequence.
7 . The method of claim 2 , wherein reversing the at least one portion of the first value comprises reversing the first value in its entirety.
8 . The method of claim 2 further comprising:
associating the record with a category value; and
determining a result indicating that the record is stored in association with the category value, wherein sending the updated record to the API comprises sending the updated record in response to the result indicating that the record is stored in association with the category value.
9 . The method of claim 2 , wherein the API is a first API, further comprising:
sending the record to a second API of a microservice instance; receiving a verification message from the microservice instance indicating that the record satisfies a set of criteria; and sending the record to the first API in response to receiving the verification message.
10 . The method of claim 2 , further comprising caching a set of values of the record in a distributed cache memory, wherein retrieving the record comprises retrieving the set of values from the distributed cache memory.
11 . One or more non-transitory, machine-readable media storing instructions that, when executed by one or more processors, performs operations comprising:
obtaining an update message indicating an update to a first database, wherein the update message comprises a first value and a second value; reversing at least one portion of the first value to construct an index key; searching a second database with the index key to retrieve a record of the second database; and updating the record based on the second value to produce an updated record.
12 . The one or more non-transitory, machine-readable media of claim 11 , wherein:
the first value comprises a first sequence and a second sequence; reversing the at least one portion of the first value comprises reversing the first sequence without reversing the second sequence.
13 . The one or more non-transitory, machine-readable media of claim 11 , wherein reversing the at least one portion of the first value comprises generating a reversed portion of the first value, the operations further comprising:
determining a data format based on the reversed portion of the first value; and outputting a set of values of the updated record based on the data format.
14 . The one or more non-transitory, machine-readable media of claim 11 , wherein:
the first database comprises a long-term data store; and the second database comprises a real-time data store.
15 . The one or more non-transitory, machine-readable media of claim 11 , wherein:
the first value is a first identifier; reversing the at least one portion of the first identifier comprises generating a first reversed portion; the update message comprises a second identifier; and the operations further comprise reversing at least one portion of the second identifier to determine a second reversed portion, wherein searching the second database comprises searching the second database based on the first reversed portion and the second reversed portion.
16 . The one or more non-transitory, machine-readable media of claim 11 , the operations further comprising:
obtaining a second update message, wherein the second update message comprises a third value and a fourth value, wherein the third value is identical to the first value; obtaining the index key based on the second update message by reversing the third value; determining a sum based on the second value and the fourth value; determining whether the sum is greater than a threshold; and sending a set of values of the updated record to a third database or an application program interface (API) in response to a determination that the sum is greater than the threshold.
17 . The one or more non-transitory, machine-readable media of claim 11 , wherein obtaining the update message comprises obtaining a data stream that comprises the update message, the operations further comprising:
determining a first vector based on values of the update message; determining a set of neighboring vectors in a vector space based on the first vector; determining a distance in the vector space based on the first vector and the set of neighboring vectors; assigning the update message with a set of labels based on the distance; and determining whether the update message satisfies a set of criteria based on the set of labels; and sending a set of values of the updated record to a third database or an application program interface (API) in response to a determination that that the update message satisfies the set of criteria.
18 . The one or more non-transitory, machine-readable media of claim 11 , the operations further comprising providing the update message to an API of a microservice instance, wherein updating the record comprises updating the record using the microservice instance.
19 . The one or more non-transitory, machine-readable media of claim 11 , wherein updating the record comprises:
determining whether a set of criteria is satisfied based on the updated record by providing one or more values of the updated record to a machine learning model; and sending a set of values of the updated record to a third database or an application program interface (API) in response to a determination that the set of criteria is satisfied; and associating an anomaly indicator with the set of values in the third database.
20 . The one or more non-transitory, machine-readable media of claim 11 , wherein the index key is a first index key, and wherein the first value comprises a first portion and a second portion, and wherein reversing the at least one portion of the first value comprises:
reversing the first portion to determine the first index key; reversing the second portion to determine a second index key; and searching the second database comprises searching the second database based on the first index key and the second index key.Join the waitlist — get patent alerts
Track US2023409565A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.