RU2706482C1 - Method of replication of information in databases - Google Patents
Method of replication of information in databases Download PDFInfo
- Publication number
- RU2706482C1 RU2706482C1 RU2018127335A RU2018127335A RU2706482C1 RU 2706482 C1 RU2706482 C1 RU 2706482C1 RU 2018127335 A RU2018127335 A RU 2018127335A RU 2018127335 A RU2018127335 A RU 2018127335A RU 2706482 C1 RU2706482 C1 RU 2706482C1
- Authority
- RU
- Russia
- Prior art keywords
- computer
- database
- databases
- computers
- data
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Изобретение относится к информационным технологиям, в частности, к методам и средствам обеспечения информационного обмена между компьютерными системами и может быть использовано для поддержания в идентичном состоянии баз данных (БД), размещенных в независимых компьютерах.The invention relates to information technology, in particular, to methods and means for ensuring information exchange between computer systems and can be used to maintain in an identical state databases (DB) located in independent computers.
Типичной практической задачей, которая возникает для компьютерных систем, содержащих, например, основную (главную) стационарную часть (например, настольный десктоп) и мобильную (переферийную) часть (например, мобильный ноутбук), информация в которых может изменяться без привязки к интернету, и работа на ноутбуке производится в выездном режиме. В этом случае возникает необходимость регулярно производить полную репликацию/синхронизацию баз данных, загруженных в компьютерах.A typical practical problem that arises for computer systems containing, for example, the main (main) stationary part (for example, desktop desktop) and the mobile (peripheral) part (for example, a mobile laptop), the information in which can be changed without being connected to the Internet, and work on a laptop is in off-site mode. In this case, there is a need to regularly perform full replication / synchronization of databases loaded on computers.
Известны способ репликации информации и система для его осуществления, описанные в заявке [US 2005/0273474, А1, 08.12.2005], согласно которому, в процессе записи информации в основную базу данных устройство обработки информации производит обработку транзакций и создает журналы (лог-файлы) транзакций, на основании которых, по предварительно установленным правилам, формируется и оптимизируется последовательность обращений и записей в основную и реплицированную базы данных, причем, пользователь может обращаться к реплицированной базе данных как к независимой.A known method of information replication and a system for its implementation, described in the application [US 2005/0273474, A1, 08/08/2005], according to which, in the process of recording information in the main database, the information processing device performs transaction processing and creates logs (log files ) transactions, on the basis of which, according to pre-established rules, a sequence of calls and records to the main and replicated databases is formed and optimized, moreover, the user can refer to the replicated database as -volatile.
Это обеспечивает своевременное обновление основной и реплицированной баз данных при одновременном снижении нагрузки на каналы записи и ускорении доступа к данным.This ensures timely updating of the main and replicated databases while reducing the load on the recording channels and accelerating data access.
Однако этот способ не позволяет обеспечить надежную передачу и репликацию данных в распределенных компьютерных сетях.However, this method does not allow reliable transmission and replication of data in distributed computer networks.
Известен также способ репликации данных [WO 2006052517, А1, 18.05.2006], заключающийся в обработке запросов в соответствии с параметрами, по которым оценивается необходимость передачи данного объекта в данный момент времени с точки зрения обеспеченияThere is also known a method of data replication [WO 2006052517, A1, 05/18/2006], which consists in processing requests in accordance with the parameters that evaluate the need to transfer this object at a given time in terms of ensuring
необходимого "качества" информации в каждой точке сети и времени, которое данный объект существует в базе данных.the necessary "quality" of information at each point in the network and the time that this object exists in the database.
Способ позволяет снизить нагрузку на сети передачи данных без существенного снижения качества обслуживания, однако приводит к задержкам в доступе к данным между различными узлами сети и ввиду этого нецелесообразен при высоких требованиях к идентичности информации в основных и реплицированных базах данных.The method allows to reduce the load on the data transmission network without significantly reducing the quality of service, however, it leads to delays in access to data between different network nodes and, therefore, is impractical with high requirements for the identity of information in the main and replicated databases.
Известны также способ репликации информации [US 2005289198 А1, 29.12.2005], состоящий в том, что фиксируются транзакции-изменения в первой системе обработки информации (базе данных - источнике), и формируется группа из таких транзакций, которые передаются в виде сообщения второй системе обработки информации, в которой транзакции выделяются из группы и независимо применяются к находящейся там базе данных - реплике, при этом формируется таблица успешно завершенных транзакций, полученные из первой системы данные сохраняются во второй системе и удаляются программным компонентом, который проверяет таблицу успешно завершенных транзакций и на основании нее принимает решение, когда можно безопасно удалить сообщение.There is also known a method of replicating information [US 2005289198 A1, December 29, 2005], which consists in recording transaction-changes in the first information processing system (database - source), and forming a group of such transactions that are transmitted as a message to the second system processing information in which transactions are allocated from the group and independently applied to the replica database located there, while a table of successfully completed transactions is formed, data received from the first system is stored in the second system and deleted I am a software component that checks the table of successfully completed transactions and, based on it, makes a decision when it is safe to delete a message.
Способ гарантирует, что все полученные данные будут занесены во вторую систему, однако не предусматривает каких-либо мероприятий по обеспечению корректной передачи данных по каналам связи.The method ensures that all received data will be entered into the second system, however, it does not provide any measures to ensure the correct transmission of data via communication channels.
Кроме того, известен способ репликации информации в распределенных базах данных и система для его осуществления, описанные в заявке [US 20050080825 A1, 14.04.2005], операции в котором сводятся к введению промежуточной БД между главной и периферийной компьютерными системами, причем, промежуточная БД является логически выделенной частью первичной БД и связана с удаленными БД протоколом синхронизации, который обеспечивает обновление периферийных БД.In addition, there is a known method of replicating information in distributed databases and a system for its implementation, described in the application [US 20050080825 A1, 04/14/2005], in which operations are reduced to the introduction of an intermediate database between the main and peripheral computer systems, moreover, the intermediate database is logically allocated part of the primary database and is connected to remote databases with a synchronization protocol that updates peripheral databases.
Указанная схема процесса репликации предусматривает использование промежуточной БД, а также мониторинг процесса репликации только на стороне ведущей БД. Однако когда передача данных производится в обоих направлениях, данная схема, в общем случае, не позволяет обеспечить контроль корректности передаваемых данных.The indicated replication process scheme provides for the use of an intermediate database, as well as monitoring the replication process only on the side of the leading database. However, when data is transmitted in both directions, this scheme, in the General case, does not allow to ensure control of the correctness of the transmitted data.
Помимо указанных выше, известен способ управления репликацией файлов в приложениях [RU 2349952, С2, G06F 12/00, 20.03.2009], заключающийся в том, что инициируют с использованием первого приложения программного обеспечения, выполняющегося на упомянутом процессоре, событие синхронизации для синхронизации первой версии со второй версией, заставляют посредством первого приложения программного обеспечения программный интерфейс приложения компьютерной системы осуществлять доступ к упомянутым первой и второй версиям, сравнивают посредством программного интерфейса приложения информацию, связанную с каждой из упомянутых первой и второй версий, и генерируют результат, сообщают посредством программного интерфейса приложения результат сравнения первому приложению программного обеспечения, заставляют посредством программного интерфейса приложения в ответ на упомянутый результат второе приложение программного обеспечения, выполняющееся на упомянутом процессоре, генерировать пользовательский интерфейс в соответствии с признаком второго приложения программного обеспечения, при этом сгенерированный пользовательский интерфейс представляют пользователю во втором приложении программного обеспечения, причем электронный файл связан со вторым приложением программного обеспечения, открывают первую и вторую версии электронного файла посредством второго приложения программного обеспечения и представляют такие открытые первую и вторую версии пользователю, представляют пользователю посредством второго приложения программного обеспечения опцию синхронизации в отношении представленных версий с использованием сгенерированного пользовательского интерфейса второго приложения программного обеспечения, при этом опция синхронизации предоставляется вторым приложением программного обеспечения, принимают от пользователя посредством второго приложения программного обеспечения входные данные через пользовательский интерфейс, автоматически синхронизируют посредством второго приложения программного обеспечения первую и вторую версии согласно пользовательским входным данным, принятым через пользовательский интерфейс, и, при этом, автоматическая синхронизация первой и второй версий содержит слияние первой и второй версий в третью версию согласно входным данным, принятым от пользовательского интерфейса, в то же время, оставаясь в пользовательском интерфейсе второго приложения программного обеспечения, и перезапись первой и второй версий третьей версией.In addition to the above, there is a known method of managing file replication in applications [RU 2349952, C2, G06F 12/00, 03/20/2009], which consists in initiating, using the first software application running on the processor, a synchronization event to synchronize the first versions with the second version make the program interface of the computer system application access the aforementioned first and second versions by means of the first software application, compare them by software the application interface information associated with each of the aforementioned first and second versions, and generate the result, report the comparison result to the first software application via the application software interface, and force the second software application running on the processor in response to the result to the application software interface, generate a user interface in accordance with the characteristic of the second software application, while the generated user interface is presented to the user in the second software application, wherein the electronic file is associated with the second software application, the first and second versions of the electronic file are opened by the second software application, and the first and second versions are opened to the user, presented to the user by the second software application synchronization option for submitted versions using the generator the user interface of the second software application, the synchronization option being provided by the second software application, receiving input from the user through the second software application through the user interface, automatically synchronizing the first and second versions using the second software application according to the user input received through user interface, and, at the same time, automatic syn chronization of the first and second versions comprises merging the first and second versions into the third version according to the input received from the user interface, while remaining in the user interface of the second software application, and overwriting the first and second versions with the third version.
Недостатком этого способа является относительно узкая область применения, которая ограничена файлами, записанными в памяти одного компьютера.The disadvantage of this method is the relatively narrow scope, which is limited to files recorded in the memory of one computer.
К известным относится и способ репликации информации в распределенных базах данных с конкурентным распределением потоков [RU 2510623, С2, G06F 12/00, 10.04.2014], заключающийся в том, что, в процессе обмена реплицируемыми данными между узлами распределенной базы данных формируют обменные файлы, которые пересылают между узлами распределенной базы данных, и на основе параметров обменных файлов и информации о доступных сетевых ресурсах вычисляют вариант распределения потоков обменных файлов на коммуникационных устройствах, передают информацию о варианте распределения потоков обменных файлов, в виде управляющего сигнала, на входы коммуникационных устройств, вычисляют при помощи коммуникационных устройств на основе распределенного алгоритма маршруты передачи обменных файлов, передают обменные файлы по определенным маршрутам.Also known is the method of information replication in distributed databases with competitive distribution of flows [RU 2510623, C2, G06F 12/00, 04/10/2014], which consists in the fact that, in the process of exchanging replicated data between nodes of a distributed database, exchange files are formed that are sent between the nodes of the distributed database, and based on the parameters of the exchange files and information about available network resources, they calculate the distribution of the flows of exchange files on communication devices, transmit information about the variant e distribution exchange stream files, in the form of a control signal to the inputs of the communications devices is calculated using the communication device based on the distributed algorithm metabolic routes file transfer, exchange files transmitted on certain routes.
Недостатком этого технического решения также является относительно узкая область применения.The disadvantage of this technical solution is also a relatively narrow scope.
Наиболее близким по технической сущности к предложенному является способ репликации данных между главной и периферийными компьютерными системами, содержащими основные и промежуточные базы данных (БД), [RU 2315349, C1, G06 F/00, 20.01.2008], состоящий в контроле наличия данных для репликации для главной и каждой из периферийных систем, последующем обмене этими данными между БД главной и БД периферийной компьютерных систем через промежуточные БД и проверке корректности выполненной репликации, причем, в процессе обмена реплицируемыми данными между БД главной и БД периферийной компьютерных систем формируют обменные файлы, которые помещают в хранилища обменных файлов каждой из компьютерных систем, выполненных с возможностью хранения и выборки обменных файлов, проверки корректности содержащихся в них данных, формирования и выполнения запросов на замену некорректных данных, проводят пересылку обменных файлов между главной и периферийной системами, проверяют корректность принятых файлов и в случае их некорректности обеспечивают повторную пересылку обменных файлов из хранилища, далее данные из принятых файлов передают в промежуточную БД, проверяют ссылочную целостность данных в промежуточной БД, и при отрицательном результате проверки формируют запрос на замену данных и обеспечивают замену некорректных данных, повторно осуществляют указанную проверку и при положительном результате передают данные в основную БД, при этом, для проверки корректности выполненной репликации формируют хэш-суммы соответствующих записей в основных БД главной и периферийной компьютерных систем.The closest in technical essence to the proposed one is a method of data replication between the main and peripheral computer systems containing the main and intermediate databases (DB), [RU 2315349, C1, G06 F / 00, 01.20.2008], which consists in monitoring the availability of data for replication for the main and each of the peripheral systems, the subsequent exchange of these data between the database of the main and the database of the peripheral computer systems through intermediate databases and checking the correctness of the replication performed, moreover, in the process of exchanging replicated data between the database the external and the database of the peripheral computer systems generate exchange files, which are placed in the storage of exchange files of each of the computer systems configured to store and select exchange files, verify the correctness of the data contained in them, generate and execute requests to replace incorrect data, transfer exchange files between the main and peripheral systems, they verify the correctness of the received files and, if they are incorrect, provide for the repeated transfer of exchange files from the storage, then The data from the received files is transferred to the intermediate database, the reference integrity of the data in the intermediate database is checked, and if the verification result is negative, they formulate a data replacement request and provide replacement of incorrect data, re-perform the specified verification and, if the result is positive, transfer the data to the main database, while to verify the correctness of the replication performed, hash sums of the corresponding records in the main databases of the main and peripheral computer systems are generated.
Особенностями наиболее близкого технического решения является то, что, хранилище обменных файлов содержит каталоги обмена по числу периферийных компьютерных систем, в каждом из которых сформированы каталог файлов подтверждения, обработанных корректно; каталог файлов подтверждения, обработанных некорректно; каталог архива обработанных файлов подтверждения; каталог файлов данных и файлов подтверждения, готовых к передаче в узел назначения; каталог файлов, отправленных в узел назначения, для которых еще не пришло подтверждение о доставке и не превышено время ожидания подтверждения, и файлов, еще не отправленных в узел назначения; каталог файлов, которые были переданы и загружены в БД узла назначения, о чем пришло подтверждение; каталог архива переданных корректно файлов; каталог файлов, которые были переданы корректно, но не были загружены в БД узла назначения, о чем пришло подтверждение; каталог переданных файлов, для которых в течение длительного времени не пришло подтверждение о загрузке в БД узла назначения; каталог файлов данных и файлов подтверждения, принятых из узла назначения и готовых к загрузке в БД или анализу; каталог файлов, принятых из узла назначения и корректно загруженных в БД; каталог архива принятых и загруженных файлов; каталог файлов, принятых из узла назначения, но не загруженных в БД.The features of the closest technical solution is that the exchange file storage contains exchange directories according to the number of peripheral computer systems, each of which contains a catalog of confirmation files processed correctly; directory of confirmation files that were processed incorrectly; archive directory of processed confirmation files; a directory of data files and confirmation files ready for transfer to the destination node; A directory of files sent to the destination node, for which a delivery confirmation has not yet arrived and the waiting time for confirmation has not been exceeded, and files not yet sent to the destination node; directory of files that were transferred and uploaded to the database of the destination node, as received confirmation; archive directory of files transferred correctly; a directory of files that were transferred correctly but were not loaded into the database of the destination node, as confirmed; a directory of transferred files for which for a long time there has been no confirmation of loading the destination node into the database; a directory of data files and confirmation files received from the destination node and ready for download to the database or analysis; directory of files received from the destination node and correctly loaded into the database; archive directory of received and uploaded files; A directory of files received from the destination node but not loaded into the database.
Кроме того, в этом техническом решении передачу обменных файлов проводят по FTP-протоколу, передачу обменных файлов проводят на машиночитаемом носителе.In addition, in this technical solution, the transfer of exchange files is carried out according to the FTP protocol, the transfer of exchange files is carried out on a machine-readable medium.
Недостатком наиболее близкого технического решения является относительно узкая область применения, поскольку репликация производится в распределенной системе, состоящей их главной базы данных и некоторым количеством периферийных баз данных. Следовательно, без существенных изменения в процедуре репликации невозможно использовать известное техническое решение для случая, когда, по крайней мере, два компьютера равноценны и каждый из компьютеров выступает в роли компьютера-приемника или в роли компьютера-источника, а в другой момент они меняются ролями и только в этом случае обе базы данных будут полностью синхронизированы. При этом, база данных состоит из двух частей - базы знаний и регулярно пополняемой базы клиентов и исследований, причем, синхронизация производится только относительно базы клиентов и исследований, т.к. изменения в базу знаний вносятся централизованно и база знаний считается одинаковой в разных репликах.The disadvantage of the closest technical solution is the relatively narrow scope, since replication is performed in a distributed system consisting of their main database and a number of peripheral databases. Therefore, without significant changes in the replication procedure, it is impossible to use the well-known technical solution for the case when at least two computers are equivalent and each of the computers acts as a destination computer or as a source computer, and at another moment they change roles and only in this case both databases will be fully synchronized. At the same time, the database consists of two parts - a knowledge base and a regularly updated database of clients and research, moreover, synchronization is performed only relative to the client database and research, because changes to the knowledge base are made centrally and the knowledge base is considered the same in different replicas.
Задача, которая решается в изобретении, заключается в создании способа применительно к двум компьютерам, в каждый из которых загружена одинаковая по структуре база данных с неизменной базой знаний и независимо изменяемой и дополняемой информацией в базе клиентов и исследований, заключающегося в периодической синхронизации базы данных в обоих компьютерах.The problem that is solved in the invention is to create a method for two computers, each of which is loaded with the same structured database with an unchanged knowledge base and independently modified and supplemented information in the client and research database, which consists in periodically synchronizing the database in both computers.
Требуемый технический результат заключается в расширении области применения способа репликации информации в распределенных базах данных с целью обеспечения возможности репликации (синхронизации) баз данных двух независимых компьютеров, в каждый из которых загружена одинаковая по структуре база данных с неизменной базой знаний и независимо изменяемой и дополняемой информацией в базе клиентов и исследований.The required technical result is to expand the scope of the method of information replication in distributed databases in order to ensure the possibility of replication (synchronization) of the databases of two independent computers, each of which has the same database structure with an unchanged knowledge base and independently modified and supplemented information in customer base and research.
Поставленная задача решается, а требуемый технический результат достигается тем, что, в способе репликации информации в базах данных двух компьютеров, заключающемся в том, что, при репликации оба компьютера соединяют по локальной сети и производят обмен данными между базами данных компьютеров, причем, в каждый из двух компьютеров с установленными в них ORACLE-серверами предварительно загружают базу данных с неизменяемой базой знаний и изменяемой базой данных о клиентах и исследованиях, выполненной с возможностью независимых изменений и дополнений на каждом из двух компьютеров, согласно изобретению, сначала один из компьютеров переводят в компьютер-источник путем формирования на его ORACLE-сервере обращения к ORACLE-серверу другого компьютера, который переводят в компьютер-приемник, сравнивают данные в их изменяемых базах данных по набору полей, определяющему записи в изменяемых базах данных, выделяют данные, имеющиеся в изменяемой базе данных компьютера-источника и отсутствующие в изменяемой базе данных компьютера-приемника, и вставляют в изменяемую базу данных компьютера-приемника, а затем другой компьютер переводят в компьютер-источник путем формирования на его ORACLE-сервере обращения к ORACLE-серверу первого компьютера, который переводят в компьютер-приемник, и производят указанные выше операции между этими компьютером-источником и компьютером-приемником.The problem is solved, and the required technical result is achieved by the fact that, in the method of replicating information in the databases of two computers, which consists in the fact that, during replication, both computers are connected via a local area network and exchange data between computer databases, and each from two computers with ORACLE-servers installed in them, they preload the database with an unchanged knowledge base and a variable database of clients and research, made with the possibility of independent changes and up to complements on each of the two computers, according to the invention, first one of the computers is transferred to the source computer by forming on its ORACLE server access to the ORACLE server of the other computer, which is transferred to the destination computer, the data in their mutable databases are compared fields defining records in mutable databases, select the data available in the mutable database of the source computer and not in the mutable database of the destination computer, and inserted into the mutable database of the computer iemnika and then transferred to another computer, computer source by forming at its ORACLE-server access the server ORACLE-first computer, which translates the computer-receiver, and produce the above operations between the source computer and the receiver computer.
Рассмотрим пример реализации предложенного способа репликации информации в базах данных.Consider an example of the implementation of the proposed method for replicating information in databases.
В научно-медицинском центре в качестве средства хранения данных на двух независимых компьютерах, один из которых применяется, например, как мобильный вариант, используется модификация локальной установки СУБД ORACLE. Задача состоит в объединении данных с двух компьютеров и разработке механизма, позволяющего проводить регулярную синхронизацию данных между двумя ORACLE-серверами.In the medical research center, as a means of storing data on two independent computers, one of which is used, for example, as a mobile version, a modification of the local DBMS ORACLE installation is used. The task is to combine data from two computers and develop a mechanism that allows regular data synchronization between two ORACLE servers.
База данных состоит из двух частей - практически неизменяемой базы знаний и регулярно изменяемой базой данных о клиентах и исследованиях, выполненной с возможностью независимых изменений и дополнений на каждом из двух компьютеровThe database consists of two parts - a practically unchanged knowledge base and a regularly updated database of clients and research, made with the possibility of independent changes and additions on each of the two computers
Задача предполагает синхронизацию только изменяемой части базы данных, так как изменения в базу знаний вносятся централизовано, и база знаний считается одинаковой в разных репликах СУБД. Ниже под термином «База данных» будем подразумевать именно изменяемую часть СУБД.The task involves synchronizing only the variable part of the database, since changes to the knowledge base are made centrally, and the knowledge base is considered the same in different replicas of the DBMS. Below, under the term "Database" we mean exactly the variable part of the DBMS.
Центральной таблицей Базы данных является таблица «Исследование» (ANALYSIS), все остальные таблицы связаны с ней по идентификационному номеру исследования (ID исследования) отношением один-ко-многим. Исключение составляет таблица «Пациенты» (CLIENTS), которая связана с таблицей «Исследование» по идентификационному номеру пациента связью один-к-одному. Пример таблиц представлен ниже (таблицы 1-4).The Central table of the Database is the “Research” table (ANALYSIS), all other tables are associated with it by the research identification number (research ID) with a one-to-many relationship. The exception is the “Patients” table (CLIENTS), which is associated with the “Research” table by the patient's identification number in a one-to-one relationship. An example of the tables is presented below (tables 1-4).
В Базе данных не обеспечивается как уникальность пациента и для каждого нового исследования делается новая запись в таблице «Пациенты», так и уникальность данных об исследовании. Такая особенность Базы данных затрудняет сравнение двух ее модификаций на двух независимых компьютерах.The database does not provide both patient uniqueness and for each new study a new entry is made in the “Patients” table, as well as the uniqueness of the study data. This feature of the Database makes it difficult to compare its two modifications on two independent computers.
В качестве уникальных данных об исследовании в рамках локальной СУБД предлагается использовать совокупность полей ID пациента + ID типа биосубстрата + ID минералограммы + ID профиля исследования + Дата забора биосубстрата + Признак наличия диабета + Признак наличия ожирения + Признак наличия ССЗ + Признак ограничения по алкоголю.It is proposed to use a set of patient ID fields + biosubstrate type ID + mineralogram ID + biosubstrate ID profile + biosubstrate sampling date + diabetes sign + evidence of obesity + sign of CVD + sign of alcohol restriction as unique data on the study within the local DBMS.
Для таблицы «Пациенты» поле ID пациента является автоматически наращиваемым счетчиком и не может быть использовано в уникальной комбинации полей для сравнения данных между двумя серверами. Вместо него необходимо использовать уникальную совокупность полей таблицы «Пациенты» для однозначной идентификации данных о пациентах Номер карты + Фамилия + Имя + День рождения + Пол.For the Patients table, the Patient ID field is an automatically incremented counter and cannot be used in a unique combination of fields to compare data between two servers. Instead, it is necessary to use a unique set of fields in the "Patients" table to uniquely identify patient data Card number + Last name + First name + Birthday + Gender.
Таким образом, совокупность, полей ID пациента + ID типа биосубстрата + ID минералограммы + ID профиля исследования + Дата забора биосубстрата + Признак наличия диабета + Признак наличия ожирения + Признак наличия ССЗ + Признак ограничения по алкоголю + Номер карты + Фамилия + Имя + День рождения + Пол однозначно определяют каждое исследование и могут быть взяты в качестве идентификационной комбинации полей.Thus, the set of fields, patient ID + biosubstrate type ID + mineralogram ID + study profile ID + biosubstrate sampling date + Sign for diabetes + Sign for obesity + Sign for CVD + Sign for alcohol restriction + Card number + Surname + First name + Birthday + Gender uniquely determine each study and can be taken as an identification combination of fields.
Поле «Системный статус исследования» содержит значения, характеризующие завершенность обработки результатов исследования и может быть использовано в качестве критерия для обновления записей, совпадающих по идентификационной совокупности полей.The “Systematic research status” field contains values characterizing the completeness of processing the research results and can be used as a criterion for updating records matching in the identification set of fields.
Множество исследований в каждой из сравниваемых баз данных задается комбинацией полей, однозначно определяющих каждое исследование. Задача сводится к объединению этих множеств, при этом в области пересечения множеств необходимо оставить исследования, обработка которых максимально завершена (степень «завершенности» исследования определяется значением в поле Системный статус исследования). Предполагается что исследования, совпадающие по комбинации полей для идентификации и с одинаковым значением в поле Системный статус исследования, идентичны и их сравнение не производится.Many studies in each of the compared databases are defined by a combination of fields that uniquely identify each study. The task is to combine these sets, while in the intersection of sets it is necessary to leave the studies whose processing is as complete as possible (the degree of "completeness" of the study is determined by the value in the System status of the study field). It is assumed that studies matching the combination of fields for identification and with the same value in the System status field of the study are identical and they are not compared.
Обозначим множество исследовании в сравниваемых базах данных А и В.We denote a lot of research in the compared databases A and B.
Для объединения множеств необходимо выполнить следующие действия:To combine sets, you must do the following:
- найти разность множеств AVB;- find the difference between the sets of AVB;
- добавить полученную разность к множеству В;- add the resulting difference to the set B;
- в области пересечения множеств А∩В найти записи, имеющие разное значение поля Системный статус исследования;- in the area of intersection of sets A∩B find records that have different values of the System status of the research field;
- обновить в множестве В те записи, для которых в области пересечения имеются записи с «большим завершением» по значению в поле Системный статус исследования и совпадающие по остальным полям идентификации исследования;- update in the set B those records for which there are records with a “large completion” in the intersection area by the value in the System status field of the study and matching the rest of the fields for identifying the study;
- повторить описанные действия, поменяв местами базы данных А и В.- repeat the described actions, swapping the database A and B.
Поскольку таблица «Исследование» (ANALYSIS) связана с большим количеством других таблиц, детализирующих проведенные анализы, по идентификационному номеру исследования (ID исследования), и этот номер является внутренним для каждой Базы данных, то есть одинаковым значением поля ID исследования могут быть обозначены разные исследования на разных базах данных, при переносе информации с одной базы данных на другую необходимо обеспечить вычисление соответствующего значения ID исследования, и использовать его в связанных таблицах.Since the “Research” table (ANALYSIS) is associated with a large number of other tables detailing the analyzes performed, by the research identification number (research ID), and this number is internal for each Database, that is, different studies can be designated by the same value of the research ID field on different databases, when transferring information from one database to another, it is necessary to calculate the corresponding value of the study ID, and use it in related tables.
Объект базы данных DATABASE LINK с именем MASTER - это подключение локального сервера к удаленной базе данных.A DATABASE LINK database object named MASTER is the connection of the local server to the remote database.
Настройка триггеров таблицы «Пациенты» и «Исследования». Для этого требуется изменить автоувеличение первичного ключа таблицы таким образом, чтобы вычисление нового ключа происходило, только в случае, когда ключ не заполнен. Вычисление новых значений первичного ключа при выполнении задачи объединения данных будет происходить не посредством триггера, а внутри программы объединения, так чтобы значение первичного ключа можно было использовать при добавлении данных из связанных таблиц.Configuring triggers on the Patients and Research tables. To do this, you need to change the auto-increase of the primary key of the table so that the calculation of the new key occurs only when the key is not filled. The calculation of new primary key values during the data merge task will not occur through a trigger, but inside the merge program, so that the primary key value can be used when adding data from related tables.
Запросы на сравнение таблиц NEWDATA и UPDDATA.Queries to compare NEWDATA and UPDDATA tables.
NEWDATA - запрос, вычисляющий разность множеств исследований на локальном сервере и сервере, присоединенном через DBLink MASTER. Результат представлен в виде пар (ID_ANALYSIS, IDCLIENTS), определяющих исследования, которых нет в таблице ANALYSIS@MASTER.NEWDATA - a query that calculates the difference between the sets of studies on the local server and the server connected via DBLink MASTER. The result is presented in pairs (ID_ANALYSIS, IDCLIENTS) that define studies that are not in the ANALYSIS @ MASTER table.
UPDDATA - запрос, находящий те исследования на локальном сервере, у которых значение поля Системный статус исследования (STATUS) больше, чем значение поля Системный статус исследования (STATUS) на сервере, присоединенном через DBLink MASTER. Результат представлен в виде пар (ID_ANALYSIS, IDCLIENTS).UPDDATA is a query that finds those studies on the local server, for which the value of the System research status (STATUS) field is greater than the value of the System research status (STATUS) field on a server connected via DBLink MASTER. The result is presented as pairs (ID_ANALYSIS, IDCLIENTS).
Таблица SYNCHRONIZE необходима для подготовки данных для синхронизации. Агрегирует в себе данные из запросов NEWDATA и UPDDATA. В нее помещаются новые идентификаторы записей, которые будут вставлены в соответствующие таблицы сервера MASTER. А также помечаются записи для вставки при ручном отборе записей.The SYNCHRONIZE table is needed to prepare data for synchronization. Aggregates data from NEWDATA and UPDDATA queries. It contains new record identifiers that will be inserted into the corresponding tables of the MASTER server. It also marks the records to be inserted when manually selecting records.
Таблица SYNCHRONIZEPARAMETERS является таблицей с настройками автоматического запуска синхронизации.The SYNCHRONIZEPARAMETERS table is a table with settings for automatically starting synchronization.
Таким образом, в предложенном способе достигается требуемый технический результат, заключающийся в расширении области применения способа репликации информации в распределенных базах данных с целью обеспечения возможности репликации (синхронизации) баз данных двух независимых компьютеров, в каждый из которых загружена одинаковая по структуре база данных с неизменной базой знаний и независимо изменяемой и дополняемой информацией в базе клиентов и исследований. Это позволяет производить репликацию не в условиях, когда имеются главная и периферийная компьютерные системы, а когда обе системы являются равнозначными. Это повышает точность и оперативность репликации.Thus, the proposed method achieves the required technical result, which consists in expanding the scope of the method for replicating information in distributed databases in order to enable replication (synchronization) of the databases of two independent computers, each of which is loaded with the same database structure with an invariable database knowledge and independently changed and supplemented information in the customer base and research. This allows replication not under conditions when there are main and peripheral computer systems, but when both systems are equivalent. This improves the accuracy and speed of replication.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018127335A RU2706482C1 (en) | 2018-07-25 | 2018-07-25 | Method of replication of information in databases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018127335A RU2706482C1 (en) | 2018-07-25 | 2018-07-25 | Method of replication of information in databases |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2706482C1 true RU2706482C1 (en) | 2019-11-19 |
Family
ID=68579542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018127335A RU2706482C1 (en) | 2018-07-25 | 2018-07-25 | Method of replication of information in databases |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2706482C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2745679C1 (en) * | 2020-07-08 | 2021-03-30 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Method for conducting migration and data replication using secured database access technology |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080825A1 (en) * | 2003-10-08 | 2005-04-14 | Alcatel | Fast database replication |
US20050289198A1 (en) * | 2004-06-25 | 2005-12-29 | International Business Machines Corporation | Methods, apparatus and computer programs for data replication |
RU2315349C1 (en) * | 2006-07-12 | 2008-01-20 | Михаил ТОПР | Method for replicating information in distributed databases and system for realization thereof |
RU2349952C2 (en) * | 2003-02-28 | 2009-03-20 | Майкрософт Корпорейшн | Method of file replication management in applications |
-
2018
- 2018-07-25 RU RU2018127335A patent/RU2706482C1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2349952C2 (en) * | 2003-02-28 | 2009-03-20 | Майкрософт Корпорейшн | Method of file replication management in applications |
US20050080825A1 (en) * | 2003-10-08 | 2005-04-14 | Alcatel | Fast database replication |
US20050289198A1 (en) * | 2004-06-25 | 2005-12-29 | International Business Machines Corporation | Methods, apparatus and computer programs for data replication |
RU2315349C1 (en) * | 2006-07-12 | 2008-01-20 | Михаил ТОПР | Method for replicating information in distributed databases and system for realization thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2745679C1 (en) * | 2020-07-08 | 2021-03-30 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Method for conducting migration and data replication using secured database access technology |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243945B2 (en) | Distributed database having blockchain attributes | |
US11860900B2 (en) | Log-based distributed transaction management | |
CN113535656B (en) | Data access method, device, equipment and storage medium | |
US10019460B2 (en) | Hosted file sync with direct access to hosted files | |
KR100462839B1 (en) | Method for database synchronization and conflict resolution between clients and server of mobile system | |
US9239767B2 (en) | Selective database replication | |
KR20200100173A (en) | Data replication and data failover within the database system | |
US9652346B2 (en) | Data consistency control method and software for a distributed replicated database system | |
US20170078383A1 (en) | Hosted file sync with stateless sync nodes | |
CN114424181A (en) | Native persistent storage support for blockchains | |
WO2018164772A1 (en) | Aggregate, index based, synchronization of node contents | |
EP4189914B1 (en) | Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems | |
US20220197753A1 (en) | Performing a database backup based on automatically discovered properties | |
US20180276267A1 (en) | Methods and system for efficiently performing eventual and transactional edits on distributed metadata in an object storage system | |
JP6196389B2 (en) | Distributed disaster recovery file synchronization server system | |
US20100145911A1 (en) | Serverless Replication of Databases | |
US20230185559A1 (en) | Managing a federated software repository across multiple devices | |
Malkhi et al. | Concise version vectors in WinFS | |
RU2706482C1 (en) | Method of replication of information in databases | |
JP2019212109A (en) | Data processing equipment, data processing method and program | |
US20230101740A1 (en) | Data distribution in data analysis systems | |
RU2703961C1 (en) | Information replication system in databases | |
RU188004U1 (en) | Information replication device in databases of independent computers | |
US12019611B1 (en) | Method and apparatus for comparing two database tables without regard to an original order of rows in either database table | |
CN117131023B (en) | Data table processing method, device, computer equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20200726 |