СПОСОБ И СИСТЕМА ДЛЯ СИНХРОНИЗАЦИИ ДАННЫХ В СЕТИ ДОСТАВКИ КОНТЕНТА
METHOD AND SYSTEM FOR DATA SYNCHRONISATION IN CONTENT DELIVERY NETWORK

Область техники
Настоящее изобретение относится к технологии синхронизации данных в сети доставки контента (Content Delivery Network, CDN), а именно, к способу и системе для активной синхронизации распределенного обслуживающего терминала в CDN.
Предпосылки создания изобретения
В области технологий связи Интернет-телевидение (Internet Protocol TV) (или интерактивное персональное телевидение (Interactive Personal TV), сокращенно - IPTV), называемое также интерактивным сетевым телевидением, представляет собой технологию мультимедийной связи, основанную на Интернете. IPTV использует базовые средства широкополосной сети, домашнюю телевизионную приставку или компьютер в качестве основного терминального устройства, и доставляет телевизионный сигнал посредством протокола Интернета (Internet Protocol, IP), при этом оно предоставляет конечным пользователям различные интерактивные цифровые мультимедийные услуги, включающие телевидение.
CDN представляет собой новый тип сетевой архитектуры, в котором контент услуги доставляют к "границе" сети, расположенной наиболее близко к пользователю, - с целью обеспечить возможность получения этим пользователем необходимого ему контента, расположенного поблизости, что позволяет повысить эффективность работы системы. Технически, CDN позволяет практически полностью решить проблему перегрузки магистральной сети, вызванную огромным количеством пользователей и неравномерным распределением серверов, и, вместе с тем, позволяет повысить вероятность успешного доступа пользователя к серверу потоковой передачи медиаданных, а также сократить время реакции услуги на запросы пользователей.
Для обеспечения целостности данных контента, распределяемых в различные точки сети, CDN должна выполнять процесс синхронизации в различных точках сети после обновления данных контента. В CDN имеется прикладной модуль менеджера процесса синхронизации, который расположен в процессоре услуг CDN и который используют для выполнения заданий, выдаваемых со стороны управления системы IPTV, а также для назначения агентов процесса синхронизации данных, способных предоставить обслуживание для клиентов синхронизации и т.п.Агент процесса синхронизации данных, являясь независимым от процессора услуги объектом, представляет собой физическое устройство, используемое для выполнения части функций процессора услуги, при этом оно выполняет в основном такие операции как обмен сообщениями подтверждения работоспособности (heartbeat) с клиентом синхронизации данных, а также процесс синхронизации данных с клиентом синхронизации данных.
На данный момент в системах доставки контента системы IPTV, несмотря на то, что развертывание менеджера процесса синхронизации данных и агентов процесса синхронизации данных осуществляют распределенным образом, вследствие того факта, что только менеджер процесса синхронизации данных может принимать задачи со стороны управления, передача данных с целью синхронизации, активно инициируемая обслуживающей стороной синхронизации данных (которая включает менеджер процесса синхронизации и агент процесса синхронизации данных) для клиента синхронизации данных, должна по-прежнему осуществляться исключительно в менеджере процесса синхронизации данных.
С ростом объема услуг количество устройств-клиентов синхронизации данных и объем данных в сообщениях синхронизации, необходимых для работы этих устройств, соответственно растет, а это приводит к тому, что традиционная системная архитектура, в которой все активные интерфейсы могут инициироваться исключительно менеджером синхронизации данных, осуществляющим синхронизацию данных, сталкивается с кризисом эффективности.
Сущность изобретения
Техническая задача, которую призвано решить настоящее изобретение, - создание системы и способа синхронизации данных в сети доставки контента, позволяющих повысить стабильность работы системы.
Для решения описанной выше технической задачи в настоящем изобретении предложен способ синхронизации данных в сети доставки контента, включающий следующие шаги:
запрос, клиентом синхронизации данных у менеджера процесса синхронизации данных, на получение соответствующего агента процесса синхронизации данных, установление соединения подтверждения работоспособности с упомянутым соответствующим агентом процесса синхронизации данных с целью приема состояния функционирования этого агента процесса синхронизации данных;
сканирование менеджером процесса синхронизации данных базы данных стороны управления, и если сканирование показывает, что имеется задача синхронизации, о которой необходимо проинформировать клиента синхронизации данных, - формирование менеджером процесса синхронизации данных задачи синхронизации для соответствующего агента процесса синхронизации в базе данных исполнительной стороны.
Упомянутый шаг формирования менеджером процесса синхронизации данных задачи синхронизации для соответствующего агента процесса синхронизации данных в базе данных исполнительной стороны, если сканирование показывает, что в базе данных стороны управления имеется задача синхронизации, о которой необходимо проинформировать клиента синхронизации данных, включает:
если сканирование показывает, что имеется задача синхронизации, о которой необходимо проинформировать всех клиентов синхронизации данных, - формирование задачи синхронизации для каждого агента процесса синхронизации данных в базе данных исполнительной стороны;
если сканирование показывает, что имеется задача синхронизации, о которой необходимо проинформировать конкретных клиентов синхронизации, и если был осуществлен запрос на получение соответствующих агентов процесса синхронизации данных этими клиентами синхронизации данных, - формирование задачи синхронизации для упомянутого запрошенного агента процесса синхронизации данных в базе данных исполнительной стороны.
Упомянутую задачу синхронизации в базе данных стороны управления формируют одновременно с записью сервисных данных, предназначенных для обновления, в базу данных стороны управления, когда платформе управления стороны управления необходимо обновление данных.
После шага формирования задачи синхронизации для соответствующего агента процесса синхронизации в базе данных исполнительной стороны способ также включает:
сканирование агентом процесса синхронизации данных базы данных исполнительной стороны, и если сканирование показывает, что имеется требующая исполнения задача синхронизации и ее сервисные данные для обновления, - локальное сохранение упомянутых сервисных данных для обновления и, одновременно с этим, активную передачу уведомления о данных синхронизации в обслуживаемый клиент синхронизации данных.
После шага активной передачи уведомления о данных синхронизации в обслуживаемый клиент синхронизации данных способ также включает:
после приема уведомления о синхронизации данных, переданного агентом процесса синхронизации данных, передачу клиентом синхронизации данных запроса синхронизации данных в агент процесса синхронизации данных; прием и хранение сервисных данных для обновления в этой задаче синхронизации посредством ответа синхронизации, возвращаемого агентом процесса синхронизации данных.
Для решения описанной выше технической задачи в настоящем изобретении предложена система для синхронизации данных в сети доставки контента, включающая базу данных стороны управления, менеджер процесса синхронизации данных, базу данных исполнительной стороны, агент процесса синхронизации данных и клиент синхронизации данных, при этом упомянутая база данных стороны управления сконфигурирована для формирования и хранения задачи синхронизации, а также ее сервисных данных для обновления;
упомянутый клиент синхронизации данных сконфигурирован для запроса на получение соответствующего агента процесса синхронизации данных у менеджера операций, а также для установления соединения подтверждения работоспособности с упомянутым соответствующим агентом процесса синхронизации данных с целью приема состояния функционирования этого агента процесса синхронизации данных;
упомянутый менеджер процесса синхронизации данных сконфигурирован для назначения упомянутого соответствующего агента процесса синхронизации данных клиенту синхронизации данных в соответствии с запросом клиента синхронизации данных; для сканирования базы данных стороны управления, и если сканирование показывает, что в базе данных стороны управления имеется задача синхронизации, о которой необходимо проинформировать клиент синхронизации данных, - для формирования задачи синхронизации для соответствующего агента процесса синхронизации в базе данных исполнительной стороны;
упомянутая база данных исполнительной стороны сконфигурирована для хранения упомянутой задачи синхронизации и ее сервисных данных для обновления. Упомянутый менеджер процесса синхронизации данных сконфигурирован для формирования задачи синхронизации для соответствующего агента процесса синхронизации данных в базе данных исполнительной стороны следующим образом:
если сканирование показывает, что в базе данных стороны управления имеется задача синхронизации, о которой необходимо проинформировать всех клиентов синхронизации данных, менеджер процесса синхронизации данных формирует задачу синхронизации для каждого агента процесса синхронизации данных в базе данных исполнительной стороны;
если сканирование базы данных стороны управления показывает, что имеется задача синхронизации, о которой необходимо проинформировать конкретных клиентов синхронизации данных, и если был осуществлен запрос соответствующего агента процесса синхронизации этими клиентами, менеджер процесса синхронизации данных формирует задачу синхронизации для упомянутого запрошенного агента процесса синхронизации данных в базе данных исполнительной стороны.
Упомянутую задачу синхронизации в базе данных стороны управления формируют одновременно с записью сервисных данных, предназначенных для обновления, в базу данных стороны управления, когда платформе управления стороны управления необходимо обновление данных.
Агент процесса синхронизации данных сконфигурирован также для сканирования базы данных исполнительной стороны, и если сканирование показывает, что имеется требующая исполнения задача синхронизации и ее сервисные данные для обновления, - для локального сохранения упомянутых сервисных данных для обновления и, одновременно с этим, для активной передачи уведомления о данных синхронизации в обслуживаемый клиент синхронизации данных.
Клиент синхронизации данных сконфигурирован также, после приема уведомления о синхронизации данных, переданного агентом процесса синхронизации данных, - для передачи запроса синхронизации данных в агент процесса синхронизации данных; для приема и хранения сервисных данных для обновления в этой задаче синхронизации посредством ответа синхронизации, возвращаемого агентом процесса синхронизации данных.
Для решения описанной выше технической задачи в настоящем изобретении предложен менеджер процесса синхронизации данных, включающий:
модуль распределения, сконфигурированный для приема запроса на получение соответствующего агента процесса синхронизации данных, передаваемого клиентом синхронизации данных, а также для назначения упомянутого соответствующего агента процесса синхронизации данных для клиента синхронизации данных в соответствии с упомянутым запросом на получение соответствующего агента процесса синхронизации данных;
модуль сканирования, сконфигурированный для сканирования базы данных стороны управления, которая формирует и хранит задачу синхронизации и ее сервисные данные для обновления, и если сканирование показывает, что имеется задача синхронизации, о которой необходимо информировать клиент синхронизации данных, - для запуска модуля формирования задачи синхронизации; и
модуль формирования задачи синхронизации, сконфигурированный, если сканирование показывает, что имеется задача синхронизации, о которой необходимо проинформировать клиент синхронизации данных, - для формирования задачи синхронизации для соответствующего агента процесса синхронизации данных в базе данных исполнительной стороны, хранящей упомянутую задачу синхронизации и ее сервисные данные для обновления.
Упомянутый модуль формирования задачи синхронизации сконфигурирован для формирования задачи синхронизации для соответствующего агента процесса синхронизации данных в базе данных исполнительной стороны следующим образом:
если сканирование показывает, что в базе данных стороны управления имеется задача синхронизации, о которой необходимо проинформировать всех клиентов синхронизации данных, модуль формирования задачи синхронизации формирует задачу синхронизации для каждого агента процесса синхронизации данных в базе данных исполнительной стороны;
если сканирование базы данных стороны управления показывает, что имеется задача синхронизации, о которой необходимо проинформировать конкретных клиентов синхронизации данных, и если был осуществлен запрос соответствующего агента процесса синхронизации этими клиентами синхронизации данных, модуль формирования задачи синхронизации формирует задачу синхронизации для упомянутого запрошенного агента процесса синхронизации данных в базе данных исполнительной стороны.
Для решения описанной выше технической задачи в настоящем изобретении предложен агент процесса синхронизации данных, включающий:
модуль установления соединения, сконфигурированный, когда менеджер процесса синхронизации данных назначает, в соответствии с запросом клиента синхронизации данных, агента процесса синхронизации данных для агента процесса синхронизации данных, которому соответствует упомянутый клиент синхронизации данных, - для установления соединения подтверждения работоспособности с упомянутым клиентом синхронизации данных, соответствующим упомянутому агенту процесса синхронизации данных, так что упомянутый клиент синхронизации данных принимает состояние функционирования упомянутого агента процесса синхронизации данных;
модуль сканирования, сконфигурированный для сканирования базы данных исполнительной стороны, и если сканирование показывает, что имеется требующая исполнения задача синхронизации и ее сервисные данные для обновления, - для запуска модуля передачи; при этом база данных исполнительной стороны хранит задачу синхронизации, сформированную для соответствующего клиента синхронизации данных менеджером процесса синхронизации данных в базе данных исполнительной стороны, если менеджер процесса синхронизации данных находит что в базе данных стороны управления имеется задача синхронизации, о которой необходимо проинформировать клиент синхронизации данных; и
модуль передачи, сконфигурированный, если сканирование показывает, что имеется требующая исполнения задача синхронизации и ее сервисные данные для обновления, для локального сохранения сервисных данных для обновления, и одновременно с этим - для активной передачи уведомления о данных синхронизации в обслуживаемый клиент синхронизации данных.
Упомянутый агент процесса синхронизации данных включает также:
модуль приема, сконфигурированный для приема запроса синхронизации данных, передаваемого в агент процесса синхронизации данных клиентом процесса синхронизации данных после того, как клиент синхронизации данных принимает уведомление о данных синхронизации;
при этом упомянутый модуль передачи сконфигурирован также для возвращения ответа синхронизации данных, в котором содержатся сервисные данные для обновления в данной задаче синхронизации, в упомянутый клиент синхронизации данных.
Путем реализации процесса синхронизации посредством координации между агентом процесса синхронизации данных и менеджером процесса синхронизации данных настоящее изобретение снижает излишнюю нагрузку на менеджер процесса синхронизации данных, свойственную известным системам, и обеспечивает балансировку системной нагрузки, за счет чего повышается эффективность системы.
Краткое описание чертежей
Фиг.1 представляет собой блок-схему базовой структуры в примере системы для синхронизации данных в сети доставки контента системы IPTV в соответствии с настоящим изобретением.
Фиг.2 представляет собой блок-схему алгоритма способа синхронизации данных в сети доставки контента системы IPTV в соответствии с настоящим изобретением.
Фиг.3 представляет собой блок-схему алгоритма формирования менеджером процесса синхронизации данных задачи синхронизации для клиента синхронизации данных в примере способа настоящего изобретения.
Фиг.4 представляет собой блок-схему алгоритма уведомления агентом процесса синхронизации данных клиента синхронизации данных с целью выполнения синхронизации данных в примере способа настоящего изобретения.
Фиг.5 представляет собой блок-схему возвращения - агентом процесса синхронизации данных - синхронизируемых данных в соответствии с запросом синхронизации от клиента синхронизации данных в примере способа настоящего изобретения.
Предпочтительные варианты осуществления настоящего изобретения
Ниже более подробно будет описана техническая схема настоящего изобретения со ссылками на чертежи и предпочтительные примеры его осуществления. Изложенные ниже примеры приведены исключительно для описания и иллюстрации настоящего изобретения, а не для ограничения технической схемы настоящего изобретения.
Фиг.1 представляет собой общую структуру системы для выполнения процесса синхронизации данных в сети доставки контента в соответствии с настоящим изобретением на примере системы IPTV, при этом упомянутая структура включает, в основном, менеджер процесса синхронизации данных и множество агентов процесса синхронизации данных, а также множество клиентов синхронизации данных, соответствующих каждому агенту процесса синхронизации данных; при этом
упомянутый менеджер процесса синхронизации данных сконфигурирован для назначения агента процесса синхронизации, способного предоставить обслуживание каждому клиенту синхронизации данных; а если сканирование показывает, что в базе данных стороны управления имеется задача синхронизации - для формирования задачи синхронизации для каждого агента процесса синхронизации данных в базе данных исполнительной стороны или для формирования задачи синхронизации для упомянутого агента процесса синхронизации данных, соответствующего клиенту синхронизации данных, запросившему синхронизацию данных;
когда клиент синхронизации данных осуществляет запрос на получение агента процесса синхронизации данных, упомянутый менеджер процесса синхронизации данных назначает ему один из агентов процесса синхронизации данных в соответствии с политикой балансировки нагрузки и, одновременно с этим, обновляет количество клиентов синхронизации данных, соединенных с упомянутым агентом процесса синхронизации данных.
Агент процесса синхронизации данных сконфигурирован, если сканирование показывает, что в базе данных исполнительной стороны имеется задача синхронизации для обслуживаемого клиента синхронизации данных, - для хранения обнаруженных синхронизируемых данных в базе данных его памяти, и для информирования упомянутого клиента синхронизации данных; при приеме запроса синхронизации данных от клиента синхронизации данных - для возвращения синхронизируемых данных, обнаруженных в базе данных его памяти, в клиент синхронизации данных;
упомянутый клиент синхронизации данных сконфигурирован для осуществления запроса - у менеджера процесса синхронизации данных - на получение агента процесса синхронизации данных и для установления соединения подтверждения работоспособности (heartbeat connection) с назначенным агентом процесса синхронизации данных; после приема уведомления о синхронизации данных, переданного упомянутым агентом процесса синхронизации данных, - для передачи запроса синхронизации данных в этот агент процесса синхронизации данных, и для получения соответствующих синхронизируемых данных посредством ответа синхронизации данных, возвращаемого упомянутым агентом процесса синхронизации данных.
В настоящем изобретении предложен также менеджер процесса синхронизации данных, включающий:
модуль распределения, сконфигурированный для приема запроса на получение соответствующего агента процесса синхронизации данных, передаваемого клиентом синхронизации данных, а также для назначения упомянутого соответствующего агента процесса синхронизации данных для упомянутого клиента синхронизации данных в соответствии с упомянутым запросом на получение соответствующего агента процесса синхронизации данных;
модуль сканирования, сконфигурированный для сканирования базы данных стороны управления, которая формирует и хранит задачу синхронизации и ее сервисные данные для обновления, и если сканирование показывает, что имеется задача синхронизации, о которой необходимо проинформировать клиент синхронизации данных, - для запуска модуля формирования задачи синхронизации; и
модуль формирования задачи синхронизации, сконфигурированный, если сканирование показывает, что имеется задача синхронизации, о которой необходимо проинформировать клиент синхронизации данных, - для формирования задачи синхронизации для соответствующего агента процесса синхронизации данных в базе данных исполнительной стороны, хранящей упомянутую задачу синхронизации и ее сервисные данные для обновления.
Упомянутый модуль формирования задачи синхронизации сконфигурирован для формирования задачи синхронизации для соответствующего агента процесса синхронизации данных в базе данных исполнительной стороны следующим образом:
если сканирование базы данных стороны управления показывает, что имеется задача синхронизации, о которой необходимо проинформировать всех клиентов синхронизации данных, модуль формирования задачи синхронизации формирует задачу синхронизации для каждого агента процесса синхронизации данных в базе данных исполнительной стороны;
если сканирование базы данных стороны управления показывает, что имеется задача синхронизации, о которой необходимо проинформировать конкретных клиентов синхронизации данных, и если был осуществлен запрос соответствующего агента процесса синхронизации этими клиентами синхронизации данных, модуль формирования задачи синхронизации формирует задачу синхронизации для упомянутого запрошенного агента процесса синхронизации данных в базе данных исполнительной стороны.
В настоящем примере предложен также агент процесса синхронизации данных, включающий:
модуль установления соединения, сконфигурированный, когда менеджер процесса синхронизации данных назначает, в соответствии с запросом клиента синхронизации данных, агент процесса синхронизации данных для агента процесса синхронизации данных, которому соответствует упомянутый клиент синхронизации данных, - для установления соединения подтверждения работоспособности с упомянутым клиентом синхронизации данных, соответствующим упомянутому агенту процесса синхронизации данных, так что упомянутый клиент синхронизации данных принимает состояние функционирования упомянутого агента процесса синхронизации данных;
модуль сканирования, сконфигурированный для сканирования базы данных исполнительной стороны, и если сканирование показывает, что имеется требующая исполнения задача синхронизации и ее сервисные данные для обновления, для запуска модуля передачи; при этом база данных исполнительной стороны хранит задачу синхронизации, сформированную для соответствующего клиента синхронизации данных менеджером процесса синхронизации данных в базе данных исполнительной стороны, если менеджер процесса синхронизации данных обнаруживает, что в базе данных стороны управления имеется задача синхронизации, о которой необходимо информирование клиента синхронизации данных; и
модуль передачи, сконфигурированный, если сканирование показывает, что имеется требующая исполнения задача синхронизации и ее сервисные данные для обновления, - для локального сохранения сервисных данных для обновления и, одновременно с этим, для активной передачи уведомления о данных синхронизации в обслуживаемый клиент синхронизации данных.
Упомянутый агент процесса синхронизации данных включает также:
модуль приема, сконфигурированный для приема запроса синхронизации данных, передаваемого в агент процесса синхронизации данных клиентом процесса синхронизации данных после того, как клиент синхронизации данных принимает уведомление о данных синхронизации;
при этом упомянутый модуль передачи сконфигурирован также для возвращения ответа синхронизации данных, в котором содержатся сервисные данные для обновления в данной задаче синхронизации, в упомянутый клиент синхронизации данных.
В соответствии с фиг.2, в настоящем изобретении предложен алгоритм способа синхронизации данных в сети доставки контента на примере системы IPTV, при этом алгоритм включает следующие шаги.
Шаг 1, клиент синхронизации данных осуществляет запрос у менеджера процесса синхронизации данных на получение агента процесса синхронизации данных, и получает соответствующий ему агент процесса синхронизации данных, возвращаемый менеджером процесса синхронизации данных;
момент времени для осуществления запроса клиентом синхронизации данных на получение агента процесса синхронизации данных может быть следующим: при запуске данного устройства, когда наступает период запроса на получение услуги, или если обнаружено аномальное состояние текущего агента данной услуги.
Шаг 2, клиент синхронизации данных устанавливает соединение подтверждения работоспособности с соответствующим агентом процесса синхронизации данных с целью получения информации, находится ли этот обслуживающий агент процесса синхронизации данных в нормальном состоянии функционирования.
Шаги 3 и 4, менеджер процесса синхронизации данных сканирует базу данных стороны управления и проверяет, имеется ли задача синхронизации, требующая исполнения, и если да (т.е. база данных стороны управления возвращает исполняемую задачу), и если необходимо проинформировать всех клиентов синхронизации данных, менеджер процесса синхронизации данных формирует (т.е. вставляет) соответствующую задачу для каждого агента процесса синхронизации данных в базе данных исполнительной стороны, а также получает результат операции, возвращаемый базой данных исполнительной стороны;
когда управляющей платформе стороны управления необходимо обновить данные, управляющая платформа стороны управления записывает сервисные данные для обновления в базу данных стороны управления и одновременно с этим вставляет соответствующую задачу синхронизации в таблицу задач базы данных стороны управления.
В другом примере, если менеджер процесса синхронизации данных обнаруживает, что имеется задача синхронизации только для конкретных клиентов синхронизации данных, и соответствующие агенты процесса синхронизации данных были запрошены этими клиентами синхронизации данных, менеджер процесса синхронизации данных формирует соответствующую задачу синхронизации для каждого из этих агентов процесса синхронизации данных в базе данных исполнительной стороны и получает результат операции, возвращаемый базой данных исполнительной стороны.
Шаги 5 и 6, агент процесса синхронизации данных периодически сканирует базу данных исполнительной стороны для обнаружения, имеется ли там требующая исполнения задача синхронизации, и если да (т.е. база данных исполнительной стороны возвращает требующую исполнения задачу синхронизации), агент процесса синхронизации данных локально сохраняет данные для обновления в базе данных в локальной памяти и, одновременно с этим, активно передает уведомление о синхронизации данных в обслуживаемый клиент синхронизации данных (например, в устройство службы электронной программы телепередач (Electronic Program Guide, EPG)).
упомянутый агент процесса синхронизации данных осуществляет запрос в базе данных исполнительной стороны в соответствии с такими параметрами как идентификатор задачи, тип задачи и идентификатор клиента, которому необходимо осуществить синхронизацию данных в задаче синхронизации данных, найденной в базе данных исполнительной стороны, сохраняет синхронизируемые данные в базе данных в памяти, и затем активно передает уведомление о синхронизации данных этого типа задачи клиенту, которому необходимо осуществить синхронизацию данных.
Шаг 7, после приема уведомления о синхронизации данных, переданного агентом процесса синхронизации данных, клиент синхронизации данных передает запрос синхронизации данных в соответствующий агент процесса синхронизации данных, при этом упомянутый агент процесса синхронизации данных возвращает сервисные данные для обновления в этой задаче синхронизации в упомянутый клиент синхронизации данных посредством ответа синхронизации данных;
после приема уведомления о синхронизации данных клиент синхронизации данных вызывает соответствующий интерфейс для передачи запроса синхронизации данных для этого типа задачи в агент процесса синхронизации данных в соответствии с типом принятого сообщения в следующем периоде бездействия.
После приема упомянутого запроса синхронизации данных агент процесса синхронизации данных анализирует данные, требующие синхронизации, в базе данных в памяти, в соответствии с типом задачи в упомянутом запросе, и передает их в клиент синхронизации данных.
Шаг 8, агент процесса синхронизации данных обновляет состояние этой задачи в базе данных как "синхронизация успешна".
Фиг.3 представляет собой процедуру способа формирования - менеджером процесса синхронизации данных - задачи синхронизации данных для клиента синхронизации данных в описанном выше примере способа настоящего изобретения, при этом данную процедуру реализуют после запроса задачи синхронизации данных из базы данных стороны управления, причем процедура включает следующие шаги:
301, определение, необходимо ли, чтобы о запрошенной задаче, были проинформированы все клиенты синхронизации данных, и если да, выполнение шага 302, иначе - выполнение шага 303;
302, формирование задачи синхронизации данных для каждого из агентов процесса синхронизации данных в базе данных исполнительной стороны и выполнение шага 306;
303, запрос о соответствующей взаимосвязи между клиентом синхронизации данных, соответствующим упомянутой задаче в базе данных в памяти, и агентом процесса синхронизации данных;
304, определение, имеет ли упомянутый клиент соответствующий ему агент процесса синхронизации данных, и если да, выполнение шага 305, иначе, выполнение шага 307;
305, формирование задачи синхронизации данных для агента процесса синхронизации данных, которому необходимо выполнить процесс синхронизации данных, в базе данных исполнительной стороны, в соответствии с соответствующей взаимосвязью;
306, обновление состояния задачи в базе данных стороны управления как "задача синхронизации сформирована", и завершение алгоритма;
307, обновление состояния задачи в базе данных стороны управления как "ошибка формирования задачи синхронизации" и завершение алгоритма.
Фиг.4 представляет процедуру уведомления - агентом процесса синхронизации данных - клиента синхронизации данных с целью осуществления синхронизации данных в описанном выше примере способа настоящего изобретения, при этом данную процедуру реализуют после запроса задачи синхронизации данных текущим агентом в базе данных исполнительной стороны, причем упомянутая процедура включает следующие шаги:
401, запрос синхронизируемых данных в базе данных исполнительной стороны в соответствии с идентификатором и типом задачи синхронизации данных, а также сохранение их в базе данных в локальной памяти;
402, передача уведомления о синхронизации данных в клиент синхронизации данных, которому необходимо выполнить синхронизацию данных;
403, определение, было ли успешно передано упомянутое уведомление, и если да - выполнение шага 404, иначе - выполнение шага 406;
при этом определяют, что упомянутое уведомление передано успешно, если агент процесса синхронизации данных принимает ответ от клиента синхронизации данных после определенного периода временной задержки; а если ответ не принят, определяют, что передача уведомления была неудачной;
404, обновление состояния задачи в базе данных исполнительной стороны как "уведомление выполнено";
405, ожидание - клиентом синхронизации данных - запроса на получение синхронизируемых данных, и завершение алгоритма;
406. определение, превышает ли количество повторений уведомления определенный порог, и если да, выполнение шага 407, иначе - выполнение шага 408;
407, обновление состояния задачи в базе данных исполнительной стороны как "ошибка уведомления" и завершение алгоритма;
408, повторная передача уведомления о синхронизации данных в следующем периоде, и возврат к шагу 403.
Фиг.5 представляет собой блок-схему алгоритма возвращения - агентом процесса синхронизации данных - синхронизированных данных, соответствующих запросу синхронизации данных, от клиента синхронизации данных в описанном выше примере способа настоящего изобретения, которое реализуют после приема уведомления о запросе синхронизации данных от клиента синхронизации данных агентом процесса синхронизации данных, при этом алгоритм включает следующие шаги;
501, проверка, действителен ли клиент синхронизации данных, если да - выполнение шага 502, иначе - завершение алгоритма;
502, возвращение синхронизируемых данных в клиент синхронизации данных в соответствии с типом задачи и идентификатором клиента в уведомлении о запросе синхронизации данных;
503, определение, были ли успешно возвращены синхронизируемые данные, если да - выполнение шага 504, иначе - выполнение шага 505;
при этом определяют, что упомянутое возвращение успешно, если агент процесса синхронизации данных принимает ответ от клиента синхронизации данных после определенного периода временной задержки; а если ответ не принят, определяют, что упомянутое возвращение было неудачным;
504, обновление состояния задачи в базе данных исполнительной стороны как "синхронизация успешна" и завершение алгоритма;
505, определение, превосходит ли количество повторов возвращения определенный порог, и если да - выполнение шага 506, иначе - выполнение шага 507;
506, обновление состояния задачи в базе данных исполнительной стороны как "ошибка синхронизации" и завершение алгоритма;
507, повторное возвращение синхронизируемых данных в следующем периоде и возврат к шагу 503.
Специалистам в данной области техники понятно, что все шаги описанного выше алгоритма, или их часть, могут быть реализованы путем инструктирования соответствующего аппаратного обеспечения посредством программы, которая может храниться на машиночитаемом носителе данных, например, в памяти "только для чтения", на диске или оптическом диске и т.п. Опционально, все шаги описанных выше примеров, или их часть, могут быть также реализованы с использованием одной или более интегральных схем. В соответствии с этим, каждый модуль/блок в описанных выше примерах может быть реализован в виде аппаратного обеспечения или в виде программного функционального модуля. Настоящее изобретение не ограничено никаким конкретным видом сочетания аппаратного и программного обеспечения.
Изложенное выше представляет собой подробное описание настоящего изобретения со ссылками на конкретные предпочтительные варианты его осуществления. Тем не менее, эти примеры использованы исключительно для объяснения, и не следует считать, что все возможные конкретные реализации настоящего изобретения ограничены только этим описанием. Специалистами в данной области техники могут быть выполнены различные эквивалентные модификации или замены без выхода за рамки настоящего изобретения. Однако все подобные модификации или замены необходимо считать попадающими в объем настоящего изобретения.
Промышленная применимость
В системе синхронизации данных в сети доставки контента системы IPTV настоящее изобретение снижает излишнюю нагрузку на менеджер процесса синхронизации данных, свойственную существующим системам, и обеспечивает балансировку системной нагрузки путем координации между агентом процесса синхронизации данных и менеджером процесса синхронизации данных, за счет чего повышается эффективность системы.
Настоящее изобретение, помимо коммерческих интерактивных систем Интернет-телевидения, может применяться также и в других системах, основанных на сети доставки контента, например в системах видеонаблюдения.