= rSBSS + uSBSS + SBSS +--------------------< rSBSS >--------------------+ | | | Session Based database Synchronization System | | --------------------------------------------- | | Система сеансовой синхронизации (репликации) | | распределенных гетерогенных баз данных | | с поддержкой технологии UNICODE | | на основе технологий | | RTC (RealThinClient) и FireDAC | | | +-------------------------------------------------+ | ИСТОРИЯ ИЗМЕНЕНИЙ | +-------------------------------------------------+ Свидетельство Федеральной службы по интеллектуальной собственности № 2014662159 Официальный сайт -- http://www.rusbss.ru Адрес поддержки -- support@rusbss.ru rSBSS -- это третья линейка в семействе систем сеансовой синхронизации (репликации) распределенных гетерогенных баз данных . -------------------------------------------------------------------------------- В текущей версии rSBSS поддерживаются следующие СУБД: -- Microsoft SQL Server -- Oracle -- Sybase Adaptive Server Enterprise -- Sybase Adaptive Server Anywhere (SQL Anywhere) -- Sybase IQ Server -- Interbase -- Firebird -- MySQL -- Linter -- IBM DB2 -- ElevateDB -- PostgreSQL -- Informix -------------------------------------------------------------------------------- Версия 1.8.0.0 / 03.09.2018 Стабильная версия --------------------------- -- Изменился текст лицензионного соглашения с конечным пользователем (файлы rusbssLicense.txt/pdf). Добавлено лицензионное соглашение на оказание техподдержки и обновление rSBSS (файлы rsbssLicense_support.txt/pdf). -- Исправлена ошибка в модулях -- rssAgent.Win32.dll -- rssAgent.Win32.exe -- rssAgentA.Win32.exe -- rssAgent.Win64.dll -- rssAgent.Win64.exe -- rssAgentA.Win64.exe -- rssAdmR.Win32.exe -- rssAdmR.Win64.exe См. описание дефекта 18052101 в РЕЕСТРЕ ДЕФЕКТОВ (rssKnownBugs.txt). -- Реализованы меры по повышению качества парсера SQL-кода, в частности, в части "нарезки" SQL-кода на пакеты (ключевое слово "GO"). Парсер используется в различных модулях rSBSS, например, в окне "SQL-запрос" модуля rssAdm. -------------------------------------------------------------------------------- Версия 1.7.0.0 / 30.11.2017 Стабильная версия --------------------------- -- В связи с подготовкой "rSBSS" к сертификации ФСТЭК России на соответствие требованиям по информационной безопасности (защищенность от несанкционированного доступа и отсутствие недекларированных возможностей) переработаны инсталляторы "rSBSS". Теперь инсталляторы поставляются в виде ZIP-архивов: -- rssSetup.Win32.zip содержит rssSetup.Win32.exe и rssSetup.Win32.dat -- rssSetup.Win64.zip содержит rssSetup.Win64.exe и rssSetup.Win64.dat Перед установкой "rSBSS" нужный архив (Win32/Win64) следует распаковать. В процессе установки выпоняется проверка контрольных сумм файлов. Из состава инсталляторов rssSetup* исключены демо-проекты. Теперь демо-проекты поставляются отдельным архивом rssDemos.zip. В данной версии в состав демо-проектов входят: -- rssAgentDemo -- примеры использования rssAgent*.dll -- rssReaderDemo -- примеры использования rssReader*.dll -- rssStressTest -- модуль стресс-тестирования серверов синхронизации -- rssStressTestPlugin -- модуль стресс-тестирования плагинов серверов синхронизации -- rssServerPluginDemo -- примеры создания плагинов для серверов синхронизации -- В модулях удалённых запросов -- rssReader.Win32.dll -- rssReader.Win64.dll реализована возможность работы с выходными параметрами запроса. Например: "exec MyProcedure :Param1, :Param2 output". При этом изменились модули rssReaderTypes.pas и rssReaderWrapperImpl.inc -- Исправлены ошибки в модулях -- rssAgent.Win32.exe -- rssAgent.Win64.exe -- rssAgentA.Win32.exe -- rssAgentA.Win64.exe -- rssAgent.Win32.dll -- rssAgent.Win64.dll -- rssAdm.Win32.exe -- rssAdm.Win64.exe -- rssAdmR.Win32.exe -- rssAdmR.Win64.exe См. описание дефектов 17112301, 18041801 в РЕЕСТРЕ ДЕФЕКТОВ (rssKnownBugs.txt). -------------------------------------------------------------------------------- Версия 1.6.0.0 / 10.08.2017 Стабильная версия --------------------------- -- Существенно переработана и дополнена эксплуатационная документация по "rSBSS". Документация представлена в формате книги (файл "rusbss_book.pdf"). Текущая редакция документа -- 2017.7. -- Добавлена поддержка СУБД Firebird. -- В модуле удалённых запросов rssReader.Win*.dll реализованы следующие возможности: -- возможность использования DLL не только в Delphi/C++Builder, но и в других языках программирования; -- добавлены экспортируемые функции GetCustomData*, позволяющие на серверной стороне получать данные из различных источников, а не только из баз данных; эта функциональность реализована на технологии подключаемых PLUGIN-модулей (пользовательских DLL и BPL) на стороне сервера синхронизации. Список подключаемых плагинов ведётся на закладке "Plugins" окна настроек сервера синхронизации. -- В комплект поставки rSBSS включен пример реализации подключаемых PLUGIN-модулей сервера синхронизации rssPluginDemo.zip. -- В комплект поставки rSBSS включен модуль для проведения стресс-тестирования PLUGIN-модулей серверов синхронизации (\rSBSS\Utils\rssStressTestPlugin.exe). ....................................................................................... Следующие меры предприняты с целью повышения уровня информационной безопасности "rSBSS" ....................................................................................... -- В форме настроек сервера синхронизации (модуль rssServerMgr) добавлена закладка "Plugins", на которой реализовано ведение списка подключаемых серверных плагинов. -- В форме настроек сервера синхронизации (модуль rssServerMgr) добавлена закладка "Security", на которой реализовано ведение параметров безопасности и прав доступа клиентских модулей к серверу синхронизации и к консолидирующим БД. Принципы ведения параметров безопасности и прав доступа описаны в rusbss_book.pdf в разделе 4.2.5 "Настройка сервера синхронизации". -- В форме ведения файла соединений (модули rssServerMgr, rssAdm) добавлена кнопка "DatabaseAccess" которая позволяет назначать прав доступа клиентских модулей к консолидирующим БД. -- В форме настройки агента синхронизации (модуль rssAgent) добавлено поле "UID". Если сервер синхронизации, с которым Вы будете выполнять информационный обмен, работает в режиме "Use registered clients", то в поле "UID" необходимо ввести ключ, предоставленный администратором системы репликации. -- В форме настройки прокси-сервера синхронизации (модуль rssProxyMgr) добавлено поле "UID". Если в дочернем сайте прокси-серверу синхронизации администратором репликации назначен свой "UID" и в настройках сервера синхронизации установлены флажки "Use registered clients" и "Enable Proxy UID", то нет необходимости задавать "UID" в настройках клиентов, расположенных в дочернем сайте в доверенной зоне (за прокси-сервером синхронизации). -------------------------------------------------------------------------------- Версия 1.5.0.0 / 22.12.2016 Стабильная версия --------------------------- -- В настройках серверов синхронизации добавлены параметры -- EnableReader -- EnableAdmR Параметр "EnableReader" определяет, будет сервер синхронизации принимать или отвергать подключения со стороны модуля удалённых запросов rssReader. Параметр "EnableAdmR" определяет, будет сервер синхронизации принимать или отвергать подключения со стороны модуля rssAdmR. -- Исправлена ошибка в модулях -- rssAgent.Win32.exe -- rssAgent.Win64.exe -- rssAgentA.Win32.exe -- rssAgentA.Win64.exe -- rssAgent.Win32.dll -- rssAgent.Win64.dll См. описание дефекта 16111701 в РЕЕСТРЕ ДЕФЕКТОВ (rssKnownBugs.txt). -------------------------------------------------------------------------------- Версия 1.4.0.0 / 03.10.2016 Стабильная версия --------------------------- -- В настройках удаленного подключения клиентских модулей на закладке "Общие" появился флажок "Использовать SSL" (криптографический протокол "Secure Sockets Layer"). Если флажок установлен, обмен будет проводиться по защищённому протоколу HTTPS. В данной версии rSBSS протокол SSL можно использовать только в том случае, если на серверной стороне используется реализация сервера синхронизации в виде расширения ISAPI (rssServerISAPI.Win32.dll или rssServerISAPI.Win64.dll) под управлением IIS (Internet Information Services), Apache или иного web-сервера. При этом серверная сторона должна настраиваться соответствующим образом согласно требованиям используемого web-сервера. -- В модуле rssAdm.exe на диалоговом окне описания таблиц для импорта в поле "Таблица источник" теперь можно указывать имя несуществующей таблицы или представления (View). Это бывает полезно, если консолидирующая и клиентские базы данных имеют различные модели/структуры данных и информационный обмен реализуется по принципу "один ко многим" или "многие к одному". -- Исправлены ошибки в модулях -- rssStressTest.Win32.exe -- rssStressTest.Win64.exe -- rssAgent.Win32.exe -- rssAgent.Win64.exe -- rssAgentA.Win32.exe -- rssAgentA.Win64.exe -- rssAgent.Win32.dll -- rssAgent.Win64.dll -- rssServer.Win32.exe -- rssServer.Win64.exe -- rssServerMgr.Win32.exe -- rssServerMgr.Win64.exe -- rssServerISAPI.Win32.dll -- rssServerISAPI.Win64.dll -- rssApply.Win32.exe -- rssApply.Win64.exe См. описание дефектов 16082201, 16082202 в РЕЕСТРЕ ДЕФЕКТОВ (rssKnownBugs.txt). -------------------------------------------------------------------------------- Версия 1.3.0.0 / 30.06.2016 Стабильная версия --------------------------- -- В комплект поставки rSBSS включен модуль просмотра журналов серверов синхронизации (\rSBSS\Utils\rssLogView.exe). Он позволяет анализировать журналы серверов синхронизации в форме таблицы базы данных. По правой кнопке мышки на таблице доступно контекстное меню с полезными сервисными функциями. -- В комплект поставки rSBSS включен модуль для проведения стресс-тестирования серверов и прокси-серверов синхронизации (\rSBSS\Utils\rssStressTest.exe). Он позволяет моделировать различные уровни нагрузки на серверы со стороны клиентов. Стресс-тестер одновременно запускает заданное Вами количество клиентских потоков, в каждом из которых устанавливается самостоятельное соединение с сервером [и прокси-серверами] синхронизации и выполняются запросы к центральной базе данных. Результат работы потоков хронометрируется и протоколируется. Вы можете использовать стресс-тестер для моделирования поведения серверов синхронизации в Ваших прикладных задачах с учётом пиковых нагрузок со стороны клиентских модулей rSBSS (агентов синхронизации и модулей удалённых запросов). -- По результатам проведенного нами стресс-тестирования модернизированы основные модули rSBSS в части повышения устойчивости работы при больших количествах одновременных клиентских обращений к серверам синхронизации. В предыдущих версиях rSBSS при одновременном обращении к серверам синхронизации более ~100 клиентов были возможны отказы серверов синхронизации. -- В настройках серверов и прокси-серверов синхронизации добавлен параметр "Max remote connections", который определяет максимальное количество одновременных клиентских подключений к серверу/прокси-серверу синхронизации. По умолчанию "Max remote connections"=1024. -- В модулях rssAdm.exe на окне полключения к базе данных добавлено поле с меткой "Connection history" с выпадающим списком ранее осуществлённых подключений. История подключений сохраняется в криптографированном виде в файле с именем "rssAdmConnectionHistory.fds" в папке "RUSBSS" в личной директории "Документы" текущего пользователя, например: C:\Users\SomeUser\Documents\RUSBSS\rssAdmConnectionHistory.fds Выбор вариантов подключения из выпадающего списка позволяет существенно сократить время задания параметров подключения к базам данных. Для редактирования списка подключений используйте двойной клик мышкой по метке "Connection history". При этом используется сетка просмотра наборов данных, в которой Вы можете -- удалить любую запись истории подключений; -- исправить поле "ALIAS" любой записи истории подключений. -- Следующие модули, поставлявшиеся ранее только в 32-битной реализации, теперь поставляются в реализациях 32 и 64 бит: -- rssKeyViol.exe (модуль тонкой настройки компонент rSBSS) -- rusbssDbUpgrade.exe (модуль модернизации служебных объектов ruSBSS в базах данных MSSQL) -- Модуль удалённых запросов rssReader.Win*.dll теперь реализован в ThreadSafe режиме. Кроме того, добавлена возможность передачи параметров запросов в экспортируемых функциях. В связи с этим внесены изменения в интерфейсную часть модуля удалённых запросов rssReader.Win*.dll (см. rssReaderRun.pas, rssReaderIntf.pas). -- В модулях rssServer* и rssProxy* может использоваться параметр командной строки "/THREAD_POOL_MAX=<число>", задающий максимальное количество потоков в пуле потоков. По умолчанию = 256, минимум = 64, максимум = 4096. Увеличивать THREAD_POOL_MAX имеет смысл в том случае, если серверы сихронизации должны работать одновременно с о-о-очень большим количеством клиентов. Пример команды запуска сервера с максимальным размером пула 512 потоков: rssServer.Win64.exe /THREAD_POOL_MAX=512 или rssServer.Win64.exe -THREAD_POOL_MAX=512 -- Исправлена ошибка ядра доступа к БД "FireDAC" в модулях -- rssAgent.Win32.dll -- rssAgent.Win64.dll -- rssAgent.Win32.exe -- rssAgent.Win64.exe -- rssAgentA.Win32.exe -- rssAgentA.Win64.exe -- rssServer.Win32.exe -- rssServer.Win64.exe -- rssServerMgr.Win32.exe -- rssServerMgr.Win64.exe -- rssServerISAPI.Win32.dll -- rssServerISAPI.Win64.dll См. описание дефекта 16053001 в РЕЕСТРЕ ДЕФЕКТОВ (rssKnownBugs.txt). -------------------------------------------------------------------------------- Версия 1.2.0.0 / 01.04.2016 Стабильная версия --------------------------- -- На диалоговом окне подключения FireDAC к базе данных при выборе типа СУБД = MSSQL (Driver ID = MSSQL) происходил автоматический поиск всех доступных серверов MSSQL. При этом в параметре "Server" имелась возможность выбрать имя SQL-сервера из выпадающего списка. Однако во многих случаях эта процедура очень длительная. В текущей версии поиск доступных серверов отключён, за счёт чего переход к вводу параметров подключения к БД происходит мгновенно. Параметр "Server" теперь нужно заполнять вручную, или можно воспользоваться кнопкой "Wizard". В окне "Wizard" есть возможность автоматического поиска всех доступных серверов MSSQL. -- Во всех реализациях серверов синхронизации, а именно -- rssServer.Win32.exe -- rssServer.Win64.exe -- rssServerISAPI.Win32.dll -- rssServerISAPI.Win64.dll -- rssServerMgr.Win32.exe -- rssServerMgr.Win64.exe в два раза снижен объём аллокируемой в системе оперативной памяти при передаче наборов данных для модулей удалённых запросов в формате "Devart VirtualTable" (https://www.devart.com/vtable/download.html). -- В модулях rssAdm.Win*.exe на сетках просмотра наборов данных по правой кнопке мышки всплывает меню, в котором есть позиция "Печать". По этой команде содержимое набора данных отображается в окне предварительного просмотра FastReport, в котором есть возможность сохранения результата в различных форматах. В данной версии перечень доступных форматов расширен до: RTF, DOCX, PDF, XLS, XLSX, PPTX, HTML. -- Исправлены ошибки в модулях -- rssAgent.Win64.dll -- rssAgent.Win64.exe -- rssAgentA.Win64.exe -- rssMonitor.Win64.exe -- rssMonitorA.Win64.exe -- rssAdm.Win64.exe -- rssAdmR.Win64.exe -- rssServerMgr.Win32.exe -- rssServerMgr.Win64.exe См. описание дефектов 16030101, 16031001, 16031801, 16032201, 16032401 в РЕЕСТРЕ ДЕФЕКТОВ (rssKnownBugs.txt). -------------------------------------------------------------------------------- Версия 1.1.0.0 / 27.01.2016 Стабильная версия --------------------------- -- По результатам опытной эксплуатации во все модули rSBSS внесён ряд изменений, повышающих стабильность работы системы. -- Реализованы расширения ISAPI для сервера и прокси-сервера синхронизации (rssServerISAPI.dll, rssProxyISAPI.dll). -- В комплект поставки включены модули rssMonitor.exe и rssMonitorA.exe, позволяющие проводить мониторинг подключений к серверам синхронизации. -- Реализованы 32-х и 64-разрядные версии основных модулей rSBSS. 64-разрядные версии позволяют существенно увеличить доступный объем памяти как агентом, так и сервером синхронизации. Особенно критично это для серверов синхронизации, которые в режиме параллельных потоков могут одновременно обслуживать большое количество клиентских соединений с большим объемом реплицируемых данных. 32-разрядные модули rSBSS имеют суффикс ".Win32", например "rssServer.Win32.exe" 64-разрядные модули rSBSS имеют суффикс ".Win64", например "rssServer.Win64.exe" 32-х и 64-разрядные модули rSBSS могут взаимодействовать в одной цепочке, например: rssAgent.Win32 --> rssProxy.Win64 --> rssProxy.Win32 --> rssServer.Win64 Следующие модули rSBSS реализованы в 32-х и 64-х разрядных версиях: -- rssServer.exe -- сервер синхронизации (служба) -- rssServerISAPI.dll -- сервер синхронизации (расширение ISAPI) -- rssServerMgr.exe -- модуль настройки сервера синхронизации -- rssProxy.exe -- прокси-сервер синхронизации (служба) -- rssProxyISAPI.dll -- прокси-сервер синхронизации (расширение ISAPI) -- rssProxyMgr.exe -- модуль настройки прокси-сервера синхронизации -- rssApply.exe -- модуль отложенной загрузки данных в ЦБД -- rssAgent.dll -- агент синхронизации (DLL) -- rssAgent.exe -- агент синхронизации (EXE) -- rssAgentA.exe -- агент синхронизации (EXE) для запуска по расписанию -- rssReader.dll -- модуль удаленных запросов -- rssAdm.exe -- администратор синхронизации -- rssAdmR.exe -- администратор синхронизации (удаленный доступ) -- rssMonitor.exe -- модуль мониторинга серверов синхронизации -- rssMonitorA.exe -- модуль мониторинга серверов синхронизации (для запуска по расписанию) -- rssExecSQL.exe -- консольная утилита выполнения запросов к БД -- В инсталляторах реализована функция обновления компонент rSBSS. Процедура обновления работающих служб сервера и прокси-сервера синхронизации носит нетривиальный характер. Она выполняется в безопасном режиме, т.е. только тогда, когда службы сервера и прокси-сервера синхронизации могут быть выгружены из памяти. Одним из необходимых условий для этого является отсутствие активности со стороны входящих подключений (например, агентов синхронизации). Поэтому фактическое обновление работающих служб может выполняться с некоторой задержкой. Однако для Вас этот процесс носит прозрачный характер. Достаточно просто выполнить инсталлятором процедуру "Обновление". При этом будут проведены все необходимые для обновления подготовительные операции. После этого, как только работающие службы сервера и прокси-сервера синхронизации определят, что выполнение обновления возможно и безопасно, они обновятся в фоновом режиме. Обновление ISAPI-модулей в процедуре "Обновление" проводится иначе. Если ISAPI-модуль в момент выполнения процедуры "Обновление" НЕ используется WEB-сервером (НЕ загружен в память), то он обновится атоматически. Если ISAPI-модуль в момент выполнения процедуры "Обновление" используется WEB-сервером (загружен в память), то при выполнении процедуры "Обновление" рядом с ISAPI-модулем предыдущей версии будет создан файл с одноименным именем и расширением ".upd". Для завершения процедуры его обновления необходимо - выгрузить ISAPI-модуль из памяти (остановить использующий его WEB-сервер); - удалить старый ISAPI-модуль.dll; - переименовать новый ISAPI-модуль.upd в ISAPI-модуль.dll, например: rssServerISAPI.Win32.dll.upd --> rssServerISAPI.Win32.dll; - снова запустить WEB-сервер. -- Для установки и обновления 32-битной версии rSBSS используйте инсталлятор rssSetup.Win32.exe, для 64-битной версии rssSetup.Win64.exe. -- В модулях rssAgent.exe и rssAdm.exe добавлена возможность генерации параметров "ConnectionData" и "ConnectionString" в строковом виде для передачи в одноимённые параметры процедуры SSAgentProcess() в модуле rssAgent.dll. Их генерация осуществляется с помощью кнопки "ОК" на диалоговом окне задания параметров подключения к базе данных, если кнопка "ОК" нажата одновременно с клавишей . Обратите внимание, что пароли при этом маскируются. -- В модуле rssExecSQL.exe добавлена возможность задания параметра "SQLCommandTimeoutSeconds" (по умолчанию таймаут не ограничен). Настройка его значения осуществляется параметром командной строки -CT=<значение_CommandTimeoutSeconds> или /CT=<значение_CommandTimeoutSeconds> Для получения полного списка параметров командной строки запустите rssExecSQL.exe с параметром командной строки "-?". -- В модуле rssAgent.dll в процедуре SSAgentProcess() параметр "AGroup" может содержать СПИСОК имён групп приложений, разделённых символом ";". Ранее в этом параметре допускалось задание лишь одной группы. -- С целью облегчения процедуры перевода системы репликации в консолидирующих и дочерних сайтах с ANSI-версии (SBSS) на UNICODE-версию (uSBSS/rSBSS) в комплект поставки включен модуль rusbssDbUpgrade.exe, позволяющий выполнить процедуру UPGRADE консолидирующих и клиентских баз данных для модернизации служебных объектов ruSBSS в базах данных MSSQL. В результате выполнения процедуры UPGRADE служебные объекты ruSBSS в БД переводятся на технологию UNICODE. С новыми служебными объектами ruSBSS могут одновременно работать все три линейки : rSBSS, uSBSS и SBSS. Модуль rusbssDbUpgrade.exe может работать как в интерактивном, так и в автоматическом режиме. В последнем случае он управляется параметрами командной строки. -- Агент синхронизации при выполнении сеанса обмена в первую очередь проверяет, обновлены ли служебные объекты ruSBSS в базе данных до текущей версии ruSBSS, и, при необходимости, выполняет их модернизацию (UPGRADE). -- С целью облегчения процедуры перевода системы репликации в дочерних сайтах с её предыдущих линеек (SBSS, uSBSS) на данную линейку (rSBSS) в следующих модулях (далее -- <МОДУЛЬ>) - rssAgent.exe - rssAgentA.exe - rssAgent.dll - rssReader.dll - rssMonitor.exe - rssMonitorA.exe реализован механизм автоматической конвертации настроечных файлов в формат rSBSS. Этот механизм работает следующим образом: - если <МОДУЛЬ> не находит в своей директории собственных настроечных файлов, но находит настроечные файлы <МОДУЛЯ> uSBSS, то он конвертирует их в собственный формат; - если <МОДУЛЬ> не находит в своей директории собственных настроечных файлов, и не находит настроечных файлов <МОДУЛЯ> uSBSS, но находит настроечные файлы <МОДУЛЯ> SBSS, то он конвертирует их в собственный формат. Под термином "своя директория" понимается следующее: - если не задано иное, то это директория, в которой находится <МОДУЛЬ>; - если при вызове исполняемого файла <МОДУЛЯ> (.exe) задан параметр командной строки /SettingsFileName="X:/MyFolder/MySettingsFileName", то это директория "X:/MyFolder"; - если при загрузке DLL-версии <МОДУЛЯ> выполнен вызов функций - rssAgentDLL.SSSetSettingsFileName('X:/MyFolder/MySettingsFileName') - rssReaderDLL.rssReader_SetSettingsFile('X:/MyFolder/MySettingsFileName') то это директория "X:/MyFolder". -------------------------------------------------------------------------------- Версия 1.0.0.0 / 01.09.2014 / Пилотная версия --------------------------- Это первый релиз rSBSS.