Distributing tabular data from a relational database over the internet to a remote subscriber computer
Methods are described herein related to extracting tabular data from a transmission server to a remote subscriber computer in a setting wherein the tabular data can only be transferred in a textual representation over an Internet connection, such as a web service, for example. An architecture based on parallel processing may speed up the extraction process by separating iteration from data processing and by introducing forward and reverse iterators for iterating a table from two ends simultaneously.
1 . A method of distributing tabular data from a source relational database over a network to a remote subscriber computer, the method comprising:
providing a database extractor application to a subscriber for installation on the remote subscriber computer;
preparing transmission packets at a transmission server wherein said packets comprise tabular data from one or more relational tables sourced from a source relational database, the transmission server comprising a microprocessor and a memory that stores the remote subscriber's preferences for a destination address and for a set of tables subject to extraction, wherein the microprocessor
counts a total number of records in a source table, wherein said source table is comprised in said one or more relational tables,
iterates said source table, wherein a primary key sort order is used for iterating,
spawns a plurality of secondary work processes, wherein a secondary work process is spawned when said iterating has iterated through a predetermined number of records, and wherein said spawning comprises passing a binary representation of said records to said secondary work process,
wherein said secondary work process:
formats said binary data packet as text, resulting in a formatted data packet;
compresses one or more formatted data packets into a transmission packet, and
transmits the transmission packet over an Internet-protocol communication channel to a connected device associated with the subscriber computer based upon the destination address;
wherein receipt of a transmission packet causes the database extractor application to:
extract contents of said transmission packet to a destination table in a destination relational database.