WO2016001482A1 - A method and system for database replication - Google Patents
A method and system for database replication Download PDFInfo
- Publication number
- WO2016001482A1 WO2016001482A1 PCT/FI2015/050446 FI2015050446W WO2016001482A1 WO 2016001482 A1 WO2016001482 A1 WO 2016001482A1 FI 2015050446 W FI2015050446 W FI 2015050446W WO 2016001482 A1 WO2016001482 A1 WO 2016001482A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- database
- binary
- client
- replication
- master
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
Definitions
- the present disclosure relates to the field of database replication and, in particular, to synchronization of data present in replicated databases.
- Sharing of data involves transferring of data to one or more communication devices connected over the Internet. Sharing of data may include file sharing, electronic mail, short messaging service and the like. Generally, data is present in computers in binary format. When the data is transferred from one communication device to another using the Internet, the data is converted in compressed binary formats. This data may be needed by many users, each having a communication device. Thus, all the communication devices need to communicate with each other to access the data.
- the data may be shared in a client-server architecture that includes one or more clients interacting with at least one server, providing the data to the one or more clients.
- the server may store the data in a centralized database.
- the server transfers the data to that communication device.
- the centralized database may have a large amount of data, in megabytes or even gigabytes.
- the user experiences poor browsing performance which includes delays in data transfer, inconsistencies in data transfer and the like. This can be due to many reasons including limited hardware/software support, insufficient bandwidth and the like.
- RDBMS relational database management systems
- DRBMS relational database management systems
- the present technologies are complex and involve communication latency (delay).
- the present technologies involve large amount of input/output operations due to large amount of data and multiple manipulations in the data by some of the communication devices.
- the present technologies require equal database implementation at both the client and the server, resulting in large amount of hardware and software requirements at both the client and the server.
- the present technologies do not work efficiently with limited bandwidth and restricted hardware and software conditions.
- the method and system should enable efficient handling of data with limited hardware, software and network support. Further, the method and system should provide improved browsing experience to the clients using the communication devices. Furthermore, the method and system should enable consistent and reliable manipulation of data. Furthermore, the method and system should enable real-time synchronization of data at all the communication devices.
- the present description relates to a method for sharing a master database data between one or more client applications, the method comprising - forming a binary replication database from the master database in a server application comprising steps of:
- the present disclosure also relates to a master database system comprising - a processor
- the processor and program code being configured to cause the master database system to:
- the present disclosure yet further relates to a client database system, comprising
- processor and program code being configured to cause the client database system to:
- This disclosure also relates to a system comprising a master database system as described and at least one client database system as described in this disclosure.
- FIG. 1 illustrates a system for multi-master database replication, in accordance with various embodiments of the present disclosure
- FIG. 2 illustrates an interaction between the binary replication databases and a master database, in accordance with various embodiments of the present disclosure
- FIG. 3 illustrates a flowchart to implement database replication management by a server site, in accordance with various embodiments of the present disclosure.
- FIG. 4 illustrates a flowchart to implement database replication management by a client site, in accordance with various embodiments of the present disclosure.
- the present description relates to a method for sharing a master database data between one or more client applications (also called a method for multi-master database replication, the method comprising - forming a binary replication database from the master database in a server application comprising steps of:
- the network can be for example Internet, Intranet, Wi- Fi, LAN and the like.
- the master database record content include but are not limited to news reports, research papers, multimedia content and files.
- references to actual data includes but is not limited to web service tokens, identifiers, indexes, uniform resource locators (URLs) and the like.
- the method further comprises synchronizing database records between one or more client applications and the server application, the method comprising:
- the present method may further comprise the server application notifying at least a second client application of an update in the binary replication database.
- the server application sends the updated binary replication database to at least a second client application.
- the server application's binary replication database is a compressed binary file generated from the master database.
- the multi-master database replication scheme using the binary replication databases can be applied to software products.
- the multi-master database replication scheme using the binary replication databases uses different types of networks including Internet, Intranet, virtual private networks (VPNs) and the like to transfer data in compressed binary format.
- the multi-master database replication scheme using the binary replication databases can be executed utilizing various communication devices including desktop computers, laptops, mobile phones, servers and the like.
- the multi-master database replication scheme using the binary replication databases utilizes centralized database for storing the contents of the data and allows multiple users on the client site to access the data on their respective communication devices.
- the multi-master database replication scheme using the binary replication databases enables efficient and progressive data transfer.
- Software applications utilizing progressive data transfer and progressive data structures allow incremental storing and transferring of data, thus providing faster and intuitive response to the users.
- the multi-master database replication scheme using the binary replication databases enables efficient synchronization of large databases that are manipulated by multiple users at the client site.
- the multi-master database replication scheme using the binary replication databases enables real-time and user-friendly browsing of large datasets even in the presence of limited hardware and network bandwidth.
- the present disclosure also relates to a master database system comprising
- the processor and program code being configured to cause the master database system to:
- the master database system is further configured to
- the master database system may yet further be configured to notify at least a second client database system of an update in the binary replication database.
- the master database system is configured to send the updated binary replication database to at least a second client database system.
- a method and system for multi-master database replication includes a client application, a server application and a network.
- the server application includes a master database and one or more binary replication databases (hereinafter “server's copy of the binary replication database”) and the client application includes one or more binary replication databases (hereinafter “client's copy of the binary replication database”).
- the server's copy of the binary replication database is compressed binary file, generated from the master database.
- the server's copy of the binary replication database includes index/reference of actual data stored in the master database.
- the server application is associated with the most recent/ up-to-date copy of the binary replication database.
- the client's copy of the binary replication database is generated by the server application.
- the server application compares the client's copy of the binary replication database with the server's copy of the binary replication database. If the client's copy of the binary replication database is different from the server's copy of the binary replication database, the server application provides the most recent/up- to-date copy of the binary replication database to the client application.
- a method for sharing the data in the databases includes forming the binary replication database from the master database by the server application. Further, the forming of the binary replication database includes adding index of the master database and references to actual data content, stored in the master database record, in the binary replication database and organizing the binary replication database as a progressive data structure. Following the formation of the binary replication database, the binary replication database, having the progressive data structure, is transferred incrementally from the server application to the client application via the network.
- the present method also includes a step of initial synchronization when a client is in contact with the server for the first time, i.e. when the client does not have any data.
- This situation could for example be described as the client having an empty binary replication database.
- This step of initial synchronization is performed when the application has been installed in a new device and data is retrieved for the first time.
- the present method significantly speeds up the capability of the application to show relevant data to the client, as the server already includes a progressive and streamable binary replication database.
- the user interface of the client application is thus significantly more responsive than in prior art solutions.
- the multi-master database replication scheme using the binary replication databases can be applied to software products.
- the multi-master database replication scheme using the binary replication databases uses different types of networks including Internet, Intranet, virtual private networks (VPNs) and the like to transfer data in compressed binary format.
- the multi-master database replication scheme using the binary replication databases can be executed utilizing various communication devices including desktop computers, laptops, mobile phones, servers and the like.
- the multi-master database replication scheme using the binary replication databases utilizes centralized database for storing the contents of the data and allows multiple users on the client site to access the data on their respective communication devices.
- the multi-master database replication scheme using the binary replication databases enables efficient and progressive data transfer. Software applications utilizing progressive data transfer and progressive data structures allow incremental storing and transferring of data, thus providing faster and intuitive response to the users.
- the multi-master database replication scheme using the binary replication databases enables efficient synchronization of large databases that are manipulated by multiple users at the client site in real time.
- the multi-master database replication scheme using the binary replication databases enables real-time and user-friendly browsing of large datasets even in the presence of limited hardware and network bandwidth.
- the method and systems explained above overcome the disadvantages of the prior art and provide efficient database management.
- the method and systems enable efficient handling of data with limited hardware, software and network support.
- the current method and systems provide improved database browsing experience to the clients using the communication devices.
- the method and systems enable consistent and reliable manipulation of data.
- the method and systems should enable real-time synchronization of data at all the communication devices.
- FIG. 1 illustrates a system 100 for multi-master database replication environment, in accordance with an embodiment of the present disclosure.
- the system 100 includes a client site, a server site and a network 116.
- the client site is associated with a user 102, a user 104, a communication device 106a, a communication device 106b and a client application 108.
- the server site is associated with a communication device 106c, a server application 110 and an administrator 118.
- the client application includes a binary replication database 114a.
- the server application 110 includes a master database 112 and a binary replication database 114b.
- Each of the communication devices 106a-b associated with the user 102 and the user 104 access the client application 108 using an application's user interface.
- the client application 108 is a software application which exchanges data with the server application 110 via the network 116.
- the binary replication database 114a associated with the client application 108, stores the data provided by the server application 110 or the data modified by the client application 108.
- the server application 110 maintains the data in the master database 112.
- the server application 110 partially replicates the master database 112 to form the binary replication database 114b.
- the server application 110 synchronizes the data in the binary replication database 114a with the data in the binary replication database 114b.
- FIG. 1 shows the communication devices 106a-b, associated with the user 102 and the user 104 at the client site, to interact with the communication device 106c, associated with the administrator 118 at the server site; however, those skilled in the art would appreciate that one or more communication devices may be present at the client site to interact with the one or more communication devices at the server site.
- FIG. 2 illustrates an interaction between the binary replication databases 114a-b and the master database 112, in accordance with various embodiments of the present disclosure.
- the binary replication database 114a and the binary replication database 114b are data stores for storing data.
- the client application 108 hosts the binary replication database 114a and the server application 110 hosts the binary replication database 114b.
- the binary replication databases 114a-b communicate with the master database 112 via the network 116.
- Each of the binary replication databases 114a-b stores a binary replication database record 202.
- the master database 112 stores a master database record 204.
- the master database record 204 includes a master database record content 206.
- the binary replication databases 114a-b do not store the master database record content 206 but store references to the master database record content 206. Moreover, the binary replication databases 114a-b may store human readable names or headings of the master database record content 206. Thus, the binary replication databases 114a-b provide preview of the master database record content 206. This enables the users 102 and the user 104 at the client site to preview the contents before downloading them. Moreover, the binary replication databases 114a-b consumes less space in terms of memory than the space consumed by the master database 112. Hence, cost of storage of data at the client side reduces.
- the communication devices 106a-b, at the client site do not store the master database 112.
- the communication devices 106a-b, at the client site store the binary replication databases 114a-b. Since the binary replication database 114a consumes less memory, the binary replication database 114a can be completely loaded into RAM of the communication devices 106a-b. This results in improvement in browsing efficiency and speed of the communication devices 106a-b.
- the data can be accessed by the communication devices 106a-b with limited hardware and software support.
- the binary replication databases 114a-b may store one or more binary replication database record(s) 202.
- the master database 112 may store one or more master database record 204. Each of the binary replication database record 202 and the master database record 204 may imply cardinality/row in database corresponding to each of the contents in the database.
- both the client site and the server site maintain copies of the data at the binary replication database 114a and the binary replication database 114b respectively.
- Any of the user 102 and the user 104 may modify the copy of the data at the client site (the binary replication database 114a).
- the server application 110 synchronizes the changes in the data and provides an up-to-date copy of the data to the client site.
- modification of contents of the data does not modify references/indexes of the data.
- the binary replication databases 114a-b are not modified but the master database 112 is modified.
- the client application 108 does not store all the data (data stored at the master database 112) in the binary replication database 114a. However, the client application stores the most recent copy of the data present at the binary replication database 114b of the server application 110.
- method for sharing the data (the binary replication database record 202) in the databases includes forming the binary replication database 114b from the master database 112 by the server application 110. Further, the forming of the binary replication database 114b includes adding index of the master database 112 and references to actual data content, stored in the master database record 204, in the binary replication database 114b and organizing the binary replication database 114b as a progressive data structure. Following the formation of the binary replication database 114b, the binary replication database 114b having the progressive data structure is transferred incrementally from the server application 110 to the client application 108 via the network 116.
- FIG. 3 illustrates a flowchart 300 to implement database replication management by the server site, in accordance with an embodiment of the present disclosure.
- the flowchart initiates at a step 302. Following the step 302, at step 304, the server application 110 receives a client's copy of the binary replication database 114a. Following the step 304, at step 306, the server application 110 compares the client's copy of the binary replication database 114a with a server's copy of the binary replication database 114b.
- Various methods utilized for comparison of the binary replication database 114a and the binary replication database 114b include but may not be limited to file attribute check, MD5 message-digest algorithm, Rabin fingerprint scheme and the like.
- the server application 110 merges the differences between the client's copy of the binary replication database 114a and the server's copy of the binary replication database 114b. For example, if the client has added or deleted some records in the client's copy of database, then the changes need to be incorporated at the server's copy of database.
- the server application 110 generates an up-to-date copy of the binary replication database 114b.
- the server application 110 transfers the up-to-date copy of the binary replication database 114b to the client application 108.
- the flowchart 300 terminates at a step 314.
- FIG. 4 illustrates a flowchart 400 to implement database replication management by the client site, in accordance with an embodiment of the present disclosure.
- the flowchart 400 initiates at step 402.
- the client application 108 transfers the client's copy of the binary replication database 114a to the server application 110.
- the client's copy of the binary replication database 114a is compared with the server's copy of the binary replication database 114b.
- the client application 108 receives the up-to-date copy of the binary replication database 114b from the server application110.
- the client application 108 receives a response from the server application 110.
- the server application 110 may respond to the client application 108 that "the binary replication database 114a is already up-to-dated", "synchronization is not required” and the like.
- the flowchart 400 terminates at step 412.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The present disclosure provides a method and system for sharing database data between one or more client applications. The methods and systems include forming a binary replication database from a master database in server application. The method of forming the binary replication database includes adding index of the master database and references to the actual data stored in master database records into binary replication database, organizing the binary replication database as a progressive data structure and transferring the binary replication database having the progressive data structure from server application to the client application incrementally over network to allow access to the data in master database.
Description
A METHOD AND SYSTEM FOR DATABASE REPLICATION
TECHNICAL FIELD
The present disclosure relates to the field of database replication and, in particular, to synchronization of data present in replicated databases.
BACKGROUND AND OBJECTS OF THE INVENTION
With the advent of Internet, sharing of data has become a common practice. Sharing of data involves transferring of data to one or more communication devices connected over the Internet. Sharing of data may include file sharing, electronic mail, short messaging service and the like. Generally, data is present in computers in binary format. When the data is transferred from one communication device to another using the Internet, the data is converted in compressed binary formats. This data may be needed by many users, each having a communication device. Thus, all the communication devices need to communicate with each other to access the data.
The data may be shared in a client-server architecture that includes one or more clients interacting with at least one server, providing the data to the one or more clients. The server may store the data in a centralized database. Thus, whenever any communication device associated with any of the client requests for the data, the server transfers the data to that communication device. However, the centralized database may have a large amount of data, in megabytes or even gigabytes. Thus, whenever a user associated with a communication device requests for the data, the user experiences poor browsing performance which includes delays in data transfer, inconsistencies in data transfer and the like. This can be due to many reasons including limited hardware/software support, insufficient bandwidth and the like.
In cloud-based applications, using Internet or Intranet, large amount of data is exchanged between the communication devices and the centralized database. Moreover, the data is dynamically manipulated by the communication devices.
Thus, the users associated with the communication devices experience inefficient browsing due to delays in transferring of the data, inconsistencies in the data, inefficient hardware and software support and the like. However, no method or system is present that enables transfer of consistent/up-to-date data to all the communication devices.
Presently, transferring and synchronizing of large amount of data among the communication devices is based on technologies including relational database management systems (RDBMS), distributed data stores and the like. These technologies provide multi-master database replication for synchronization and transferring of data among multiple communication devices. However, the present technologies are complex and involve communication latency (delay). Moreover, the present technologies involve large amount of input/output operations due to large amount of data and multiple manipulations in the data by some of the communication devices. Further, the present technologies require equal database implementation at both the client and the server, resulting in large amount of hardware and software requirements at both the client and the server. Furthermore, the present technologies do not work efficiently with limited bandwidth and restricted hardware and software conditions.
In view of the above stated discussion, there is a need for a method and system to overcome the above mentioned disadvantages and provide efficient database management. Moreover, the method and system should enable efficient handling of data with limited hardware, software and network support. Further, the method and system should provide improved browsing experience to the clients using the communication devices. Furthermore, the method and system should enable consistent and reliable manipulation of data. Furthermore, the method and system should enable real-time synchronization of data at all the communication devices.
SUMMARY OF THE INVENTION
The present description relates to a method for sharing a master database data between one or more client applications, the method comprising
- forming a binary replication database from the master database in a server application comprising steps of:
- organizing the binary replication database as a progressive data structure;
- adding an index of the master database and references to actual data stored in master database records into the binary replication database; and
- transferring the formed binary replication database from the server application to the one or more client applications incrementally over a network to allow the client application to access the data in the binary replication database.
The present disclosure also relates to a master database system comprising - a processor; and
- a program code stored on a non-transitory computer readable medium;
the processor and program code being configured to cause the master database system to:
- form a binary replication database from the master database comprising:
- organising the binary replication database as a progressive data structure;
- adding an index of the master database and references to actual data stored in master database records into the binary replication database; and
- send the formed binary replication database to one or more client database systems incrementally over a network to allow the client application to access the data in the binary replication database.
The present disclosure yet further relates to a client database system, comprising
- a processor; and
- a program code stored on a non-transitory computer readable medium;
the processor and program code being configured to cause the client database system to:
- receive a binary replication database from a master database system, and
- send at least part of client's application's binary replication database comprising updates of database records to the server master database system.
This disclosure also relates to a system comprising a master database system as described and at least one client database system as described in this disclosure.
BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 illustrates a system for multi-master database replication, in accordance with various embodiments of the present disclosure;
FIG. 2 illustrates an interaction between the binary replication databases and a master database, in accordance with various embodiments of the present disclosure;
FIG. 3 illustrates a flowchart to implement database replication management by a server site, in accordance with various embodiments of the present disclosure; and
FIG. 4 illustrates a flowchart to implement database replication management by a client site, in accordance with various embodiments of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
The present description relates to a method for sharing a master database data between one or more client applications (also called a method for multi-master database replication, the method comprising - forming a binary replication database from the master database in a server application comprising steps of:
- organizing the binary replication database as a progressive data structure;
- adding an index of the master database and references to actual data stored in master database records into the binary replication database; and
- transferring the formed binary replication database from the server application to the one or more client applications incrementally over a network to allow the client application to access the data in the binary replication database.
According to an embodiment, the network can be for example Internet, Intranet, Wi- Fi, LAN and the like. Examples of the master database record content include but are not limited to news reports, research papers, multimedia content and files. Examples of references to actual data includes but is not limited to web service tokens, identifiers, indexes, uniform resource locators (URLs) and the like.
According to an embodiment, the method further comprises synchronizing database records between one or more client applications and the server application, the method comprising:
- sending at least part of a first client's application's binary replication database comprising updates of database records to the server application;
- propagating the updates to the master database, and
- forming an updated version of the server application's binary replication database. The present method may further comprise the server application notifying at least a second client application of an update in the binary replication database. A further option is that the server application sends the updated binary replication database to at least a second client application. A yet further embodiment is such that the server application's binary replication database is a compressed binary file generated from the master database.
In another embodiment of the present disclosure, the multi-master database replication scheme using the binary replication databases, as disclosed above, can be applied to software products. Moreover, the multi-master database replication scheme using the binary replication databases uses different types of networks including Internet, Intranet, virtual private networks (VPNs) and the like to transfer data in compressed binary format. Further, the multi-master database replication scheme using the binary replication databases can be executed utilizing various communication devices including desktop computers, laptops, mobile phones, servers and the like. Furthermore, the multi-master database replication scheme using the binary replication databases utilizes centralized database for storing the contents of the data and allows multiple users on the client site to access the data on their respective communication devices.
In yet another embodiment of the present disclosure, the multi-master database replication scheme using the binary replication databases enables efficient and progressive data transfer. Software applications utilizing progressive data transfer and progressive data structures allow incremental storing and transferring of data,
thus providing faster and intuitive response to the users. Moreover, the multi-master database replication scheme using the binary replication databases enables efficient synchronization of large databases that are manipulated by multiple users at the client site. Thus, the multi-master database replication scheme using the binary replication databases enables real-time and user-friendly browsing of large datasets even in the presence of limited hardware and network bandwidth.
The present disclosure also relates to a master database system comprising
- a processor; and
- a program code stored on a non-transitory computer readable medium;
the processor and program code being configured to cause the master database system to:
- form a binary replication database from the master database comprising:
- organising the binary replication database as a progressive data structure;
- adding an index of the master database and references to actual data stored in master database records into the binary replication database; and
- send the formed binary replication database to one or more client database systems incrementally over a network to allow the client application to access the data in the binary replication database.
According to another embodiment, the master database system is further configured to
- receive updates from client database system,
- propagate updates to master database, and
- form an updated version of the server application's binary replication database.
The master database system may yet further be configured to notify at least a second client database system of an update in the binary replication database. According to a further embodiment, the master database system is configured to send the updated binary replication database to at least a second client database system.
In an aspect of the present disclosure, a method and system for multi-master database replication is provided. The method and system includes a client
application, a server application and a network. The server application includes a master database and one or more binary replication databases (hereinafter "server's copy of the binary replication database") and the client application includes one or more binary replication databases (hereinafter "client's copy of the binary replication database"). The server's copy of the binary replication database is compressed binary file, generated from the master database. The server's copy of the binary replication database includes index/reference of actual data stored in the master database. The server application is associated with the most recent/ up-to-date copy of the binary replication database. The client's copy of the binary replication database is generated by the server application. Whenever a client device connects to a server device, the server application compares the client's copy of the binary replication database with the server's copy of the binary replication database. If the client's copy of the binary replication database is different from the server's copy of the binary replication database, the server application provides the most recent/up- to-date copy of the binary replication database to the client application.
In another aspect of the present disclosure, a method for sharing the data in the databases is provided. The method for sharing the data (the binary replication database record) in the databases includes forming the binary replication database from the master database by the server application. Further, the forming of the binary replication database includes adding index of the master database and references to actual data content, stored in the master database record, in the binary replication database and organizing the binary replication database as a progressive data structure. Following the formation of the binary replication database, the binary replication database, having the progressive data structure, is transferred incrementally from the server application to the client application via the network.
The present method also includes a step of initial synchronization when a client is in contact with the server for the first time, i.e. when the client does not have any data. This situation could for example be described as the client having an empty binary replication database. This step of initial synchronization is performed when the application has been installed in a new device and data is retrieved for the first time. In such a situation, the present method significantly speeds up the capability of the application to show relevant data to the client, as the server already includes
a progressive and streamable binary replication database. The user interface of the client application is thus significantly more responsive than in prior art solutions. In yet another aspect of the present disclosure, the multi-master database replication scheme using the binary replication databases can be applied to software products. Moreover, the multi-master database replication scheme using the binary replication databases uses different types of networks including Internet, Intranet, virtual private networks (VPNs) and the like to transfer data in compressed binary format. Further, the multi-master database replication scheme using the binary replication databases can be executed utilizing various communication devices including desktop computers, laptops, mobile phones, servers and the like. Furthermore, the multi-master database replication scheme using the binary replication databases utilizes centralized database for storing the contents of the data and allows multiple users on the client site to access the data on their respective communication devices. In an embodiment of the present disclosure, the multi-master database replication scheme using the binary replication databases enables efficient and progressive data transfer. Software applications utilizing progressive data transfer and progressive data structures allow incremental storing and transferring of data, thus providing faster and intuitive response to the users. Moreover, the multi-master database replication scheme using the binary replication databases enables efficient synchronization of large databases that are manipulated by multiple users at the client site in real time. Thus, the multi-master database replication scheme using the binary replication databases enables real-time and user-friendly browsing of large datasets even in the presence of limited hardware and network bandwidth. The method and systems explained above overcome the disadvantages of the prior art and provide efficient database management. Moreover, the method and systems enable efficient handling of data with limited hardware, software and network support. Further, the current method and systems provide improved database browsing experience to the clients using the communication devices. Moreover, the method and systems enable consistent and reliable manipulation of data. Furthermore, the method and systems should enable real-time synchronization of data at all the communication devices.
While the disclosure has been presented with respect to certain specific embodiments, it will be appreciated that many modifications and changes may be made by those skilled in the art without departing from the spirit and scope of the disclosure. It is intended, therefore, by the appended claims to cover all such modifications and changes as fall within the true spirit and scope of the disclosure. Moreover, some embodiments of the present disclosure may have been disclosed also below in connection with the Figures.
DETAILED DESCRIPTION OF THE FIGURES
It should be noted that the terms "first", "second", and the like, herein do not denote any order, quantity, or importance, but rather are used to distinguish one element from another. Further, the terms "a" and "an" herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item.
FIG. 1 illustrates a system 100 for multi-master database replication environment, in accordance with an embodiment of the present disclosure. The system 100 includes a client site, a server site and a network 116. The client site is associated with a user 102, a user 104, a communication device 106a, a communication device 106b and a client application 108. The server site is associated with a communication device 106c, a server application 110 and an administrator 118. The client application includes a binary replication database 114a. The server application 110 includes a master database 112 and a binary replication database 114b. Each of the communication devices 106a-b associated with the user 102 and the user 104, access the client application 108 using an application's user interface.
In an embodiment, the client application 108 is a software application which exchanges data with the server application 110 via the network 116. The binary replication database 114a, associated with the client application 108, stores the data provided by the server application 110 or the data modified by the client application 108. The server application 110 maintains the data in the master database 112. Moreover, the server application 110 partially replicates the master database 112 to form the binary replication database 114b. Whenever a user (the user 102 and the user 104) at the client site connects to the server site via the network 116, the server
application 110 synchronizes the data in the binary replication database 114a with the data in the binary replication database 114b.
It may be noted that FIG. 1 shows the communication devices 106a-b, associated with the user 102 and the user 104 at the client site, to interact with the communication device 106c, associated with the administrator 118 at the server site; however, those skilled in the art would appreciate that one or more communication devices may be present at the client site to interact with the one or more communication devices at the server site.
FIG. 2 illustrates an interaction between the binary replication databases 114a-b and the master database 112, in accordance with various embodiments of the present disclosure. The binary replication database 114a and the binary replication database 114b are data stores for storing data. The client application 108 hosts the binary replication database 114a and the server application 110 hosts the binary replication database 114b. The binary replication databases 114a-b communicate with the master database 112 via the network 116. Each of the binary replication databases 114a-b stores a binary replication database record 202. In addition, the master database 112 stores a master database record 204. Further, the master database record 204 includes a master database record content 206. The binary replication databases 114a-b do not store the master database record content 206 but store references to the master database record content 206. Moreover, the binary replication databases 114a-b may store human readable names or headings of the master database record content 206. Thus, the binary replication databases 114a-b provide preview of the master database record content 206. This enables the users 102 and the user 104 at the client site to preview the contents before downloading them. Moreover, the binary replication databases 114a-b consumes less space in terms of memory than the space consumed by the master database 112. Hence, cost of storage of data at the client side reduces.
In an embodiment of the present disclosure, the communication devices 106a-b, at the client site, do not store the master database 112. However, the communication devices 106a-b, at the client site, store the binary replication databases 114a-b. Since the binary replication database 114a consumes less memory, the binary
replication database 114a can be completely loaded into RAM of the communication devices 106a-b. This results in improvement in browsing efficiency and speed of the communication devices 106a-b. Moreover, the data can be accessed by the communication devices 106a-b with limited hardware and software support. In another embodiment of the present disclosure, the binary replication databases 114a-b may store one or more binary replication database record(s) 202. Moreover, the master database 112 may store one or more master database record 204. Each of the binary replication database record 202 and the master database record 204 may imply cardinality/row in database corresponding to each of the contents in the database.
In another embodiment of the present disclosure, both the client site and the server site maintain copies of the data at the binary replication database 114a and the binary replication database 114b respectively. Any of the user 102 and the user 104 may modify the copy of the data at the client site (the binary replication database 114a). When the user 102 and the user 104 connect to the server site via the network 116, the server application 110 synchronizes the changes in the data and provides an up-to-date copy of the data to the client site.
In yet another embodiment of the present disclosure, modification of contents of the data does not modify references/indexes of the data. In such cases, the binary replication databases 114a-b are not modified but the master database 112 is modified.
In yet another embodiment of the present disclosure, the client application 108 does not store all the data (data stored at the master database 112) in the binary replication database 114a. However, the client application stores the most recent copy of the data present at the binary replication database 114b of the server application 110.
In an embodiment of the present disclosure, method for sharing the data (the binary replication database record 202) in the databases includes forming the binary replication database 114b from the master database 112 by the server application 110. Further, the forming of the binary replication database 114b includes adding
index of the master database 112 and references to actual data content, stored in the master database record 204, in the binary replication database 114b and organizing the binary replication database 114b as a progressive data structure. Following the formation of the binary replication database 114b, the binary replication database 114b having the progressive data structure is transferred incrementally from the server application 110 to the client application 108 via the network 116.
FIG. 3 illustrates a flowchart 300 to implement database replication management by the server site, in accordance with an embodiment of the present disclosure. The flowchart initiates at a step 302. Following the step 302, at step 304, the server application 110 receives a client's copy of the binary replication database 114a. Following the step 304, at step 306, the server application 110 compares the client's copy of the binary replication database 114a with a server's copy of the binary replication database 114b. Various methods utilized for comparison of the binary replication database 114a and the binary replication database 114b include but may not be limited to file attribute check, MD5 message-digest algorithm, Rabin fingerprint scheme and the like. Following the step 306, at step 308, the server application 110 merges the differences between the client's copy of the binary replication database 114a and the server's copy of the binary replication database 114b. For example, if the client has added or deleted some records in the client's copy of database, then the changes need to be incorporated at the server's copy of database. Following the step 308, at step 310, the server application 110 generates an up-to-date copy of the binary replication database 114b. Following the step 310, at step 312, the server application 110 transfers the up-to-date copy of the binary replication database 114b to the client application 108. The flowchart 300 terminates at a step 314.
FIG. 4 illustrates a flowchart 400 to implement database replication management by the client site, in accordance with an embodiment of the present disclosure. The flowchart 400 initiates at step 402. At step 404, the client application 108 transfers the client's copy of the binary replication database 114a to the server application 110. Following the step 404, at step 406, the client's copy of the binary replication database 114a is compared with the server's copy of the binary replication database
114b. Following the step 406, at step 408, when the client's copy of the binary replication database 114a is different from the server's copy of the binary replication database 114b, the client application 108 receives the up-to-date copy of the binary replication database 114b from the server application110. Following the step 406, at step 408, when the client's copy of the binary replication database 114a is same as the server's copy of the binary replication database 114b, the client application 108 receives a response from the server application 110. For example, the server application 110 may respond to the client application 108 that "the binary replication database 114a is already up-to-dated", "synchronization is not required" and the like. The flowchart 400 terminates at step 412.
Claims
1 . A method for sharing a master database data between one or more client applications comprising:
- forming a binary replication database from the master database in a server application comprising steps of:
- organizing the binary replication database as a progressive data structure;
- adding an index of the master database and references to actual data stored in master database records into the binary replication database; and
- transferring the formed binary replication database from the server application to the one or more client applications incrementally over a network to allow the client application to access the data in the binary replication database.
2. The method as recited in claim 1 , wherein the method further comprises synchronizing database records between one or more client applications and the server application, the method comprising: - sending at least part of a first client's application's binary replication database comprising updates of database records to the server application;
- propagating the updates to the master database, and
- forming an updated version of the server application's binary replication database.
3. The method as recited in claim 2, wherein the method further comprises the server application notifying at least a second client application of an update in the binary replication database.
4. The method as recited in claim 2 or 3, wherein the method further comprises the server application sending the updated binary replication database to at least a second client application.
5. The method as recited in any of the preceding claims, wherein the server application's binary replication database is a compressed binary file generated from the master database.
6. A master database system comprising
- a processor; and
- a program code stored on a non-transitory computer readable medium;
the processor and program code being configured to cause the master database system to:
- form a binary replication database from the master database comprising:
- organising the binary replication database as a progressive data structure;
- adding an index of the master database and references to actual data stored in master database records into the binary replication database; and
- send the formed binary replication database to one or more client database systems incrementally over a network to allow the client application to access the data in the binary replication database.
7. A master database system as recited in claim 6, wherein the master database system is further configured to - receive updates from client database system,
- propagate updates to master database, and
- form an updated version of the server application's binary replication database.
8. A master database system as recited in claim 7, wherein the master database system is further configured to notify at least a second client database system of an update in the binary replication database.
9. A master database system as recited in claim 7 or 8, wherein the master database system is further configured to send the updated binary replication database to at least a second client database system.
10. A client database system, comprising - a processor; and
- a program code stored on a non-transitory computer readable medium;
the processor and program code being configured to cause the client database system to:
- receive a binary replication database from a master database system, and
- send at least part of client's application's binary replication database comprising updates of database records to the server master database system.
1 1 . A system comprising a master database system according to claim 6 and at least one client database system according to claim 10.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462019622P | 2014-07-01 | 2014-07-01 | |
US62/019,622 | 2014-07-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016001482A1 true WO2016001482A1 (en) | 2016-01-07 |
Family
ID=53718027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FI2015/050446 WO2016001482A1 (en) | 2014-07-01 | 2015-06-17 | A method and system for database replication |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016001482A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016849A1 (en) * | 2010-07-15 | 2012-01-19 | John Kenneth Garrod | Sharing and Deconflicting Data Changes In A Multimaster Database System |
-
2015
- 2015-06-17 WO PCT/FI2015/050446 patent/WO2016001482A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120016849A1 (en) * | 2010-07-15 | 2012-01-19 | John Kenneth Garrod | Sharing and Deconflicting Data Changes In A Multimaster Database System |
Non-Patent Citations (1)
Title |
---|
TRUICA ET AL: "Asynchronous Replication in Microsoft SQL Server, PostgreSQL and MySQL", 2013 INTERNATIONAL CONFERENCE ON CYBER SCIENCE AND ENGINEERING (CYBERSE2013), 14 December 2013 (2013-12-14) - 15 December 2013 (2013-12-15), Guangzhou, China, pages 50 - 55, XP002748123, ISBN: 978-1-60595-134-8, Retrieved from the Internet <URL:http://www.researchgate.net/profile/Ciprian_Octavian_Truica2/publication/264416935_Asynchronous_Replication_in_Microsoft_SQL_Server_PostgreSQL_and_MySQL/links/53dbe6160cf216e4210c0375.pdf> [retrieved on 20151023], DOI: 10.13140/2.1.4775.7449 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379428B2 (en) | Synchronization of client machines with a content management system repository | |
US20220147488A1 (en) | System And Method For Synchronizing File Systems With Large Namespaces | |
US11985192B2 (en) | Synchronized content library | |
US11086531B2 (en) | Scaling events for hosting hierarchical data structures | |
US20180278684A1 (en) | System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients | |
US10853242B2 (en) | Deduplication and garbage collection across logical databases | |
US10089187B1 (en) | Scalable cloud backup | |
US20080243847A1 (en) | Separating central locking services from distributed data fulfillment services in a storage system | |
US20130311612A1 (en) | Indirection Objects in a Cloud Storage System | |
CN105005611B (en) | A kind of file management system and file management method | |
CN102882985A (en) | File sharing method based on cloud storage | |
WO2021073510A1 (en) | Statistical method and device for database | |
US10152493B1 (en) | Dynamic ephemeral point-in-time snapshots for consistent reads to HDFS clients | |
US20140181213A1 (en) | Prioritizing structural operations and distributing changes in a synced online content management system | |
US10929100B2 (en) | Mitigating causality discrepancies caused by stale versioning | |
CN111225003B (en) | NFS node configuration method and device | |
US10503737B1 (en) | Bloom filter partitioning | |
CN111177159A (en) | Data processing system and method and data updating equipment | |
US10545667B1 (en) | Dynamic data partitioning for stateless request routing | |
JP2023539945A (en) | External location synchronization | |
JP2016530656A (en) | Distributed disaster recovery file synchronization server system | |
US10713216B2 (en) | Using relative generation numbers to deduplicate file system events | |
US9432238B2 (en) | Communicating large amounts of data over a network with improved efficiency | |
US10657105B2 (en) | Method and computer system for sharing objects | |
WO2016001482A1 (en) | A method and system for database replication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15741233 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24.04.2017) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15741233 Country of ref document: EP Kind code of ref document: A1 |