Способ управления обновлениями программного обеспечения в системах с каскадной структурой
METHOD OF MANAGING UPGRADES OF SOFTWARE IN CASCADE STRUCTURE SYSTEMS

Изобретение относится к области вычислительной техники, в частности к разработке способов обновления программного обеспечения в распределенных системах с многоуровневой структурой.
Известен способ управления процессом обновления многокомпонентных систем в удаленных подразделениях организации (В.Л. Орлов, Е.А. Курако. Задачи управления процессом обновления многокомпонентных систем в удаленных подразделениях организации. Труды 6-й междунар. конф. «Параллельные вычисления и задачи управления». РАСО'2012, Москва, ИПУ РАН М., 2012. Т. 3). В описании этого способа обновления указывается, что обновляются программные модули в распределенной системе, причем передача текстов модулей проводится от сервера к серверу, размещение которых имеет каскадную структуру, то есть каждый сервер находится на определенном уровне иерархии. При этом обновление программного обеспечения на клиентских местах проходит с серверов каскада. Недостатком этого способа является жесткая схема обновления. То есть на каждом из серверов должно быть установлено программное обеспечение, которое направляет обновляемые программные модули в заранее заданные каталоги файловой системы для замены аналогичных модулей. Для замены программных модулей на клиентских местах существует определенный серверный каталог, откуда измененные модули забирает по сети программное обеспечение клиентского места. То есть настройка алгоритма обновления не производится.
Также известен способ управления синхронизацией обновлений программного обеспечения (RU 2295752 С1, 20.03.2007), где при сравнении имеющегося у пользователя программного обеспечения и вновь поставленного в качестве обновления программного обеспечения на предмет выявления различий, происходит детальное сравнение тех элементов двух указанных версий программного обеспечения, которые помечены как соответствующие (сопоставимые), при этом соответствие элементов определяется по специфическим присущим им свойствам и признакам. То есть сам алгоритм сравнения модулей программного обеспечения по сути является гибким и позволяет проводить сравнение новых и старых программ по различным параметрам.
Недостатком этого способа является то, что он предназначен только для замены сравниваемых программных модулей и связанных с ними файлов, в то время как могут потребоваться более глобальные изменения, например, коррекция структуры базы данных. А для этой цели требуется использовать другие средства, активизируя специальные процедуры коррекции, причем эти процедуры могут принципиально отличаться для различных информационных систем. То есть в общем случае необходимо не только копирование файлов, но и выполнение в процессе обновления специальных программ (процедур, сценариев).
Техническим результатом предложения является возможность управления обновлениями программного обеспечения в системах с каскадной структурой.
Указанный технический результат достигается тем, что организуется способ управления обновлениями программного обеспечения в системах с каскадной структурой, включающий обновления по крайней мере одной информационной системы, установленной на серверах и клиентских рабочих местах распределенной сети, отличающийся тем, что для выполнения процедур обновления по всем серверам распределенной сети рассылают пакеты обновления, включающие сценарий обновления, программные модули и файлы, подлежащие обновлению, корректирующие программные модули или сценарии, которые обеспечивают изменение структуры обновляемой информационной системы и структуры обрабатываемых ею данных, причем выполнение обновления проводят путем интерпретации сценария обновления программами-интерпретаторами, установленными на серверах и клиентских рабочих местах, обновляя указанные в сценарии программные модули и файлы при определенных условиях, а также обеспечивая выполнение корректирующих программных модулей и сценариев в соответствии со сценарием обновления; при этом сценарий обновления описывает действия, которые нужно производить с модулями и файлами обновления, и условия выполнения этих действий, а также условия, при выполнении которых следует запускать на выполнение корректирующие программные модули и сценарии; на рабочем месте администратора готовится пакет обновления; этот пакет направляется на сервер 1-го уровня, где принимается программой - интерпретатором обновлений на сервере 1-го уровня; эта программа размещает пакеты обновлений в хранилище клиентских обновлений и в хранилище серверных обновлений на сервере 1-го уровня; с клиентского места интерпретатором клиентских обновлений периодически проводится проверка наличия новых обновлений; если такие обновления есть, то на клиентское место перемещается сценарий и в процессе его интерпретации проводятся обновления программного обеспечения клиента; если серверов 1-го уровня больше, чем один, то среди них назначается основной, а остальные сервера периодически обращаются к нему, получают информацию и проводят обновление так же, как будто они получили пакет обновлений от администратора; с прикрепленных к этим серверам клиентских мест идет обращение к соответствующим серверам; сервер второго уровня также обращается к серверу первого уровня, получает пакет обновлений, а далее интерпретатор обновлений выполняет те же функции, что и интерпретатор обновлений на сервере 1-го уровня; если в системе присутствуют сервера 3-го, 4-го и других уровней то процедура обновлений на них и на прикрепленных к ним рабочих местах проводится по тем же правилам, что и на серверах - 2-го уровня.
В пакеты обновления дополнительно включаются сценарии и файлы для обеспечения восстановления информационной системы в случае, когда произошли ошибки в процессе обновления.
В процессе обновления в специально выделенном хранилище клиентов размещается вторичные сценарии для клиентов, вторичные программные модули и файлы, подлежащие обновлению у клиентов, корректирующие программные модули или сценарии для клиентов, которые выбираются программным обеспечением клиента и выполняются в соответствии со сценарием обновления.
На Фиг. 1 представлено содержание пакета обновления.
На Фиг. 2 представлена схема процесса обновления систем с каскадной структурой.
Фиг. 1 иллюстрирует содержимое пакета обновления. Пакет обновления 1 включает три части:
- Сценарий обновления - 2;
- Комплект обновляемых модулей и файлов - 3;
- Комплект корректирующих программных модулей - 4.
Сценарий обновления 1 описывает действия, которые нужно производить с модулями и файлами обновления 2 и условия выполнения этих действий, а также условия, при выполнении которых следует запускать на выполнение корректирующие программные модули и сценарии 3. Кроме того, сценарий обновления может содержать описание действий, которые нужно выполнить в случае неудачной попытки обновления для того, чтобы вернуть систему в первоначальное состояние.
На фиг. 2 представлена схема процесса обновления в системах с каскадной структурой. На рабочем месте администратора 5 готовится пакет обновления. Этот пакет направляется на сервер 1-го уровня 6, где принимается программой - интерпретатором обновлений 7. Эта программа размещает пакеты обновлений в хранилище клиентских обновлений 8 и в хранилище серверных обновлений 9. С клиентского места 10 интерпретатором клиентских обновлений 11 периодически проводится проверка наличия новых обновлений. Если такие обновления есть, то на клиентское место перемещается сценарий и в процессе его интерпретации проводятся обновления программного обеспечения клиента. Если серверов 1-го уровня больше, чем один, то среди них назначается основной, а остальные сервера периодически обращаются к нему, получают информацию и проводят обновление также, как будто они получили пакет обновлений от администратора. С прикрепленных к этим серверам клиентских мест идет обращение к соответствующим серверам.
Сервер второго уровня 12 также обращается к серверу первого уровня, получает пакет обновлений, а далее интерпретатор обновлений 13 выполняет те же функции, что и интерпретатор обновлений на сервере 1 -го уровня. Если в системе присутствуют сервера 3-го, 4-го и других уровней то процедура обновлений на них и на прикрепленных к ним рабочих местах проводится по тем же правилам, что и на серверах - 2-го уровня.