Embodiments relate to controlling persisting of data to disk for use with a messaging system including an application operable for generating and sending a message to a destination. An aspect is an apparatus, which includes a comparator operable to determine whether the message includes common data, and an extractor, responsive to a determination that the message includes common data, configured to extract the common data and non-common data from the message. The apparatus also includes a persistor operable to determine whether the common data have already been persisted to disk. The persistor is operable, in response to a determination that the common data have not already been persisted to disk, to separately persist the common data and the non-common data to disk. The persistor is operable, in response to a determination that the common data have already been persisted to disk, to persist the non-common data to disk.
Legal claims defining the scope of protection, as filed with the USPTO.
1. An apparatus for controlling persisting of data to disk for use with a messaging system comprising an application operable for generating and sending a message to a destination, the apparatus comprising: a processor in communication with one or more types of memory, the processor configured to: facilitate a comparator operable to determine that the message comprises common data, determine that a performance benefit is gained by separating and persisting separately the common data and non-common data of the message, wherein a determination that the performance benefit is gained is made by determining a percentage of messages from the application comprising common data exceeds a predetermined threshold; facilitate an extractor, responsive to a determination that the message comprises common data, configured to extract the common data and non-common data from the message and represent the non-common data located within the common data as variables comprising placeholders within the common data for each associated data item of the non-common data; and facilitate a persistor operable to determine whether the common data have already been persisted to disk, wherein the persistor is operable, in response to a determination that the common data have not already been persisted to disk, to separately persist the common data and the non-common data represented by the variables to disk and wherein the persistor is operable, in response to a determination that the common data have already been persisted to disk, to persist the non-common data represented by the variables to disk, wherein the common data is persisted with a unique reference and the non-common data is persisted with the unique reference on a per message basis.
2. The apparatus of claim 1 wherein the comparator is pre-configurable to determine that a structure associated with the message comprises common data.
3. The apparatus of claim 1 wherein the comparator is operable to determine an overhead associated with extracting the common data and non-common data from the message in accordance with one or more rules.
4. The apparatus of claim 1 wherein the persistor is operable to use the unique reference associated with the common data to query a data store in order to determine whether the common data have already been persisted.
5. The apparatus of claim 1 wherein the persistor, responsive to a determination that the message does not comprise common data, is operable to persist the message to disk.
6. The apparatus of claim 1 wherein the comparator is operable to parse a set of messages generated by the application and match data associated with the messages in order to determine whether the message comprises common data.
7. The apparatus of claim 1 wherein the message is associated with a scope.
8. The apparatus of claim 1 wherein in response to another application requesting the message from the destination, the persistor is operable to reconstruct the message by appending the separately persisted common data and non-common data.
9. A method for controlling persisting of data to disk for use with a messaging system comprising an application operable for generating and sending a message to a destination, the method comprising: determining that the message comprises common data; determining that a performance benefit is gained by separating and persisting separately the common data and non-common data of the message, wherein a determination that the performance benefit is gained is made by determining a percentage of messages from the application comprising common data exceeds a predetermined threshold; extracting, in response to a determination that the message comprises common data, the common data and non-common data from the message; representing the non-common data located within the common data as variables comprising placeholders within the common data for each associated data item of the non-common data; determining whether the common data have already been persisted to disk; separately persisting, in response to a determination that the common data have not already been persisted to disk, the common data and the non-common data represented by the variables to disk; and persisting, in response to a determination that the common data have already been persisted to disk, the non-common data represented by the variables to disk, wherein the common data is persisted with a unique reference and the non-common data is persisted with the unique reference on a per message basis.
10. The method of claim 9 further comprising: determining that a structure associated with the message comprises common data.
11. The method of claim 9 further comprising: determining an overhead associated with extracting the common data and non-common data from the message in accordance with one or more rules.
12. The method of claim 9 further comprising: using the unique reference associated with the common data to query a data store in order to determine whether the common data have already been persisted.
13. The method of claim 9 further comprising: persisting, in response to a determination that the message does not comprise common data, the message to disk.
14. The method of claim 9 further comprising: parsing a set of messages generated by the application and matching data associated with the messages in order to determine whether the message comprises common data.
15. The method of claim 9 wherein the message is associated with a scope.
16. The method of claim 9 further comprising: reconstructing, in response to another application requesting the message from the destination, the message by appending the separately persisted common data and non-common data.
17. A computer program product for controlling persisting of data to disk for use with a messaging system comprising an application operable for generating and sending a message to a destination, the computer program product comprising: a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: determining that the message comprises common data; determining that a performance benefit is gained by separating and persisting separately the common data and non-common data of the message, wherein a determination that the performance benefit is gained is made by determining a percentage of messages from the application comprising common data exceeds a predetermined threshold; extracting, in response to a determination that the message comprises common data, the common data and non-common data from the message; representing the non-common data located within the common data as variables comprising placeholders within the common data for each associated data item of the non-common data; determining whether the common data have already been persisted to disk; separately persisting, in response to a determination that the common data have not already been persisted to disk, the common data and the non-common data represented by the variables to disk; and persisting, in response to a determination that the common data have already been persisted to disk, the non-common data represented by the variables to disk, wherein the common data is persisted with a unique reference and the non-common data is persisted with the unique reference on a per message basis.
18. The computer program product of claim 17 further comprising: determining that a structure associated with the message comprises common data.
19. The computer program product of claim 17 further comprising: determining an overhead associated with extracting the common data and non-common data from the message in accordance with one or more rules.
20. The computer program product of claim 17 further comprising: using the unique reference associated with the common data to query a data store in order to determine whether the common data have already been persisted.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 10, 2013
December 20, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.