Відмінності між версіями «Реплікація»

Матеріал з Wiki Script Solutions
Перейти до: навігація, пошук
(Створена сторінка: ''' Реплікація ''' (англ. ''replication'') — механізм синхронізації вмісту центральної бази дани...)
 
Рядок 1: Рядок 1:
''' Реплікація ''' (англ. ''replication'') — механізм синхронізації вмісту центральної бази даних магазину і БД кас, який полягає в копіюванні даних із одного джерела на інше (або декілька інших) і навпаки. За даний процес відповідає Реплікатор.
+
''' Реплікація ''' (англ. ''replication'') — механізм синхронізації вмісту центральної бази даних магазину і БД кас, який полягає в копіюванні даних із одного джерела на інше (або декілька інших) і навпаки.  
 
+
За даний процес відповідає Реплікатор, який являє собою додаток для freeBSD, написаний на GCC. Він складається з двох модулів, один з яких розміщається на сервері, а інший на касах.  
Реплікатор являє собою додаток для freeBSD, написаний на GCC. Складається з двох модулів, один з яких розміщається на сервері, а інший на касах.  
+
 
+
 
==Функції Реплікатора на сервері==
 
==Функції Реплікатора на сервері==
Синхронізує дані центральної бази і баз кас. Для цього Реплікатор звертається до таблиці T_REP_KASSES та зчитує інформацію полів:
+
Модуль реплікатора, що міститься на сервері проводить синхронізацію даних між центральною базою і базами кас. Для цього Реплікатор звертається до таблиці T_REP_KASSES та зчитує дані полів:
 
* CONNECTION_STRINGS - рядок підключення до бази;
 
* CONNECTION_STRINGS - рядок підключення до бази;
 
* USER_NAME - логін користувача під яким проводиться синхронізація;
 
* USER_NAME - логін користувача під яким проводиться синхронізація;
Рядок 11: Рядок 9:
 
* STOP_RUNNING - чи проводилась ручна зупинка реплікації каси.
 
* STOP_RUNNING - чи проводилась ручна зупинка реплікації каси.
  
Отримавши необхідну інформацію про каси, Реплікатор зв'язується з кожною з кас та по черзі проводить синхронізацію. Інформація про те, між якими таблицями та в якій послідовності необхідно здійснювати, Реплікатор бере з таблиці T_REP_SCENARIO_STEPS. До кроків сценарію реплікації відносять:
+
Отримавши необхідну інформацію про каси, Реплікатор розпочинає коло реплікації, зв'язуючись по черзі з кожною з кас та проводить синхронізацію. Інструкцію про те, між якими таблицями та в якій послідовності необхідно здійснювати, Реплікатор бере з таблиці T_REP_SCENARIO_STEPS.  
+
 
 +
До кроків сценарію реплікації відносять синхронізацію даних про:
 +
* документи;
 +
* користувачів та їх права;
 +
* товари та їх властивості;
 +
* клієнтів;
 +
* дисконтні картки;
 +
* акції та ін..
 +
Виконавши всі етапи реплікації з таблиці T_REP_SCENARIO_STEPS, Реплікатор робить відповідну помітку в таблиці T_REP_LOGS про вдале завершення процесу, та до T_REP_ERRORS, якщо реплікація завершилась з помилками. Після цього Реплікатор підключається до наступної каси і повторює сценарій.
 +
 
 +
Провівши реплікацію з усіма касами, коло реплікації завершується. Після цього Реплікатор робить тайм-аут, тривалість якого задається в ... . По завершенню тайм-аута розпочинається нове коло синхронізації.
 
==Функції Реплікатора на касі==
 
==Функції Реплікатора на касі==

Версія за 18:00, 28 травня 2015

Реплікація (англ. replication) — механізм синхронізації вмісту центральної бази даних магазину і БД кас, який полягає в копіюванні даних із одного джерела на інше (або декілька інших) і навпаки. За даний процес відповідає Реплікатор, який являє собою додаток для freeBSD, написаний на GCC. Він складається з двох модулів, один з яких розміщається на сервері, а інший на касах.

Функції Реплікатора на сервері

Модуль реплікатора, що міститься на сервері проводить синхронізацію даних між центральною базою і базами кас. Для цього Реплікатор звертається до таблиці T_REP_KASSES та зчитує дані полів:

  • CONNECTION_STRINGS - рядок підключення до бази;
  • USER_NAME - логін користувача під яким проводиться синхронізація;
  • USER_PASWORD - пароль;
  • IS_ACTIVE - вказує виконувати синхронізацію чи ні;
  • STOP_RUNNING - чи проводилась ручна зупинка реплікації каси.

Отримавши необхідну інформацію про каси, Реплікатор розпочинає коло реплікації, зв'язуючись по черзі з кожною з кас та проводить синхронізацію. Інструкцію про те, між якими таблицями та в якій послідовності необхідно здійснювати, Реплікатор бере з таблиці T_REP_SCENARIO_STEPS.

До кроків сценарію реплікації відносять синхронізацію даних про:

  • документи;
  • користувачів та їх права;
  • товари та їх властивості;
  • клієнтів;
  • дисконтні картки;
  • акції та ін..

Виконавши всі етапи реплікації з таблиці T_REP_SCENARIO_STEPS, Реплікатор робить відповідну помітку в таблиці T_REP_LOGS про вдале завершення процесу, та до T_REP_ERRORS, якщо реплікація завершилась з помилками. Після цього Реплікатор підключається до наступної каси і повторює сценарій.

Провівши реплікацію з усіма касами, коло реплікації завершується. Після цього Реплікатор робить тайм-аут, тривалість якого задається в ... . По завершенню тайм-аута розпочинається нове коло синхронізації.

Функції Реплікатора на касі