Data storage systems and methods using a real-time messaging system
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for implementing functionality within a messaging system. An example method includes maintaining a plurality of channels, wherein each channel is associated with a respective key, and wherein at least one key is associated with a respective time-to-live and becomes unavailable when the respective time-to-live expires, and wherein each channel comprises a plurality of messages, and wherein each message comprises a value associated with a respective key to form a plurality of key-value pairs. The method also includes receiving a function comprising (i) a key for identifying a channel of the plurality of channels and (ii) processing instructions to be applied to one or more values associated with the key. The method also includes applying, by one or more computer processors, the processing instructions based at least in part on the key.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
maintaining a plurality of channels,
wherein each channel is associated with a respective key,
wherein at least one key is associated with a respective time-to-live and becomes unavailable when the respective time-to-live expires;
wherein each channel comprises a plurality of messages, and
wherein each message comprises a value associated with a respective key to form a plurality of key-value pairs;
receiving a function comprising (i) a key for identifying a channel of the plurality of channels and (ii) processing instructions to be applied to one or more values associated with the key; and applying, by one or more computer processors, the processing instructions based at least in part on the key.
2 . The method of claim 1 , wherein the plurality of channels is maintained in a publish-subscribe system.
3 . The method of claim 1 , wherein the plurality of messages is published to each channel according to an order.
4 . The method of claim 1 , wherein the plurality of messages is provided to one or more subscribers of each channel according to an order.
5 . The method of claim 1 , wherein the function is associated with a time-to-live, and wherein the function is deleted when the time-to-live expires.
6 . The method of claim 1 , wherein the function is stored based at least in part e processing instructions.
7 . The method of claim 1 , wherein the processing instructions are applied as the key-value pairs are received.
8 . The method of claim 1 , wherein at least a subset of the plurality of key-value pairs comprises a historical series of key-value pairs.
9 . The method of claim 8 , wherein the historical series of key-value pairs comprises a state log for each of the plurality of channels.
10 . The method of claim 9 , wherein application of the processing instructions to the historical series of key-value pairs restores the channel to a prior state.
11 . A system, comprising:
one or more computer processors programmed to perform operations to:
maintain a plurality of channels,
wherein each channel is associated with a respective key,
wherein at least one key is associated with a respective time-to-live and becomes unavailable when the respective time-to-live expires;
wherein each channel comprises a plurality of messages, and
wherein each message comprises a value associated with a respective key to form a plurality of key-value pairs;
receive a function comprising (i) a key for identifying a channel of the plurality of channels and (ii) processing instructions to be applied to one or more values associated with the key; and apply the processing instructions based at least in part on the key.
12 . The system of claim 11 , wherein the plurality of channels is maintained in a publish-subscribe system.
13 . The system of claim 11 , wherein the plurality of messages is published to each channel according to an order.
14 . The system of claim 11 , wherein the plurality of messages is provided to one or more subscribers of each channel according to an order.
15 . The system of claim 11 , wherein the function is associated with a time-to-live, and wherein the function is deleted when the time-to-live expires.
16 . The system of claim 11 , wherein the function is stored based at least in part on the processing instructions.
17 . The system of claim 11 , wherein the processing instructions are applied as the key-value pairs are received.
18 . The system of claim 11 , wherein at least a subset of the plurality of key-value pairs comprises a historical series of key-value pairs.
19 . The system of claim 18 , wherein the historical series of key-value pairs comprises a state log for each of the plurality of channels.
20 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:
maintain a plurality of channels,
wherein each channel is associated with a respective key,
wherein at least one key is associated with a respective time-to-live and becomes unavailable when the respective time-to-live expires;
wherein each channel comprises a plurality of messages, and
wherein each message comprises a value associated with a respective key to form a plurality of key-value pairs;
receive a function comprising (i) a key for identifying a channel of the plurality of channels and processing instructions to be applied to one or more values associated with the key; and apply the processing instructions based at least in part on the key.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.