СПОСОБ КЭШИРОВАНИЯ ВИДЕО И УСТРОЙСТВО КЭШИРОВАНИЯ ВИДЕО
VIDEO CACHING METHOD AND VIDEO CACHING DEVICE

Область техники, к которой относится настоящее изобретение
Настоящее изобретение связано с областью технологий сетей связи и, в частности, со способом кэширования видео и устройством кэширования видео.
Предшествующий уровень техники настоящего изобретения
В настоящее время операторы обычно имеют свои собственные системы кэша, чтобы снизить трафик между операторами и сэкономить на затратах на платежи между операторами. В системе кэша подсистема сервера кэша видео является важным элементом сети. Подсистема сервера кэша видео содержит, по меньшей мере, один сервер кэша видео.
Если пользователь желает воспроизвести в интернете видеоресурс, то запрос пользователем видео (запрос на загрузку видеоресурса или запрос на воспроизведение видеоресурса) может достичь локальной службы доменных имен (LDNS) оператора, и LDNS оператора может распределить запрос видео пользователем на сервер кэша видео.
Для того, чтобы предотвратить перехват видеоресурса, поставщик содержимого Интернета добавляет функцию против несанкционированного скачивания к унифицированному локатору ресурса (URL) видеоресурса, так что URL в запросе видео становится различным, даже если пользователь каждый раз запрашивает воспроизведение того же самого видеоресурса.
Краткое раскрытие настоящего изобретения
Согласно варианту осуществления настоящего изобретения в нем создан способ кэширования видео, который предусматривает: извлечение, после получения инициированного пользователем запроса видео, из запроса видео части унифицированного локатора ресурса (URL) для идентификации видеоресурса; определение согласно части URL для идентификации видеоресурса, был ли кэширован запрошенный пользователем видеоресурс; и в ответ на определение, что запрошенный пользователем видеоресурс не был кэширован, получение, согласно запросу видео, полного видеоресурса с сервера поставщика содержимого Интернета, и кэширование полного полученного видеоресурса.
Согласно варианту осуществления настоящего изобретения в нем создано устройство кэширования видео, включающее в себя: модуль извлечения информации, выполненный с возможностью извлечения, после получения инициированного пользователем запроса видео, из запроса видео части унифицированного локатора ресурса (URL) для идентификации видеоресурса; модуль определения кэширования, выполненный с возможностью определения, согласно части URL для идентификации видеоресурса, был ли кэширован запрошенный пользователем видеоресурс; и модуль получения ресурса, выполненный с возможностью получения, согласно запросу видео, полного видеоресурса с сервера поставщика содержимого Интернета в ответ на определение, что запрошенный пользователем видео ресурс не был кэширован, и кэширования полного полученного видеоресурса.
Согласно варианту осуществления настоящего изобретения в нем создан машиночитаемый носитель данных с хранящейся на нем программой, которая при выполнении компьютером заставляет компьютер выполнить способ кэширования видео согласно варианту осуществления настоящего изобретения.
Краткое описание фигур
На фиг. 1 показана блок-схема алгоритма способа кэширования видео согласно варианту осуществления настоящего изобретения;
На фиг. 2 показана блок-схема устройства кэширования видео согласно варианту осуществления настоящего изобретения;
На фиг. 3 показана упрощенная схема сетевой архитектуры системы кэша видео согласно варианту осуществления настоящего изобретения; и
На фиг. 4 показана упрощенная схема алгоритма работы службы сервера кэширования видео согласно варианту осуществления настоящего изобретения.
Подробное раскрытие настоящего изобретения
Конкретные варианты осуществления настоящего изобретения будут подробно описаны ниже со ссылками на соответствующие фигуры, при этом следует понимать, что описанные в настоящем документе конкретные варианты осуществления используются только для иллюстрации и объяснения технических решений настоящего изобретения, и не предназначены для ограничения технических решений настоящего изобретения.
В варианте осуществления настоящего изобретения создан способ кэширования видео, который может быть выполнен на сервере кэша видео оператора. На фиг. 1 показана блок-схема алгоритма способа кэширования видео согласно варианту осуществления настоящего изобретения, и как указано на фиг. 1, в способе кэширования видео предусмотрены следующие этапы с S101 по S103.
На этапе S101 после получения инициированного пользователем запроса видео часть URL для идентификации видеоресурса извлекается из запроса видео.
Специалистам в данной области техники очевидно, что запрос видео содержит URL, который включает в себя часть для идентификации видеоресурса и часть для реализации функции против несанкционированного скачивания. Часть для идентификации видеоресурса остается неизменной для того же самого видеоресурса и может включать в себя, например, название запрошенного пользователем видеоресурса. Часть для реализации функции против несанкционированного скачивания является изменяющейся даже для того же самого видеоресурса.
На этапе S101 часть URL для идентификации видеоресурса извлекается из запроса видео согласно заранее сохраненному правилу для реализации функции против несанкционированного скачивания, т.е. правила изменения для URL того же самого видеоресурса.
На этапе S102 согласно извлеченной части URL для идентификации видеоресурса определяется, был ли запрошенный пользователем видеоресурс кэширован. В частности, извлеченная часть URL для идентификации видеоресурса может быть использована в качестве ключевого слова (ключа) запрошенного пользователем видеоресурса, и ключевое слово может сравниваться с ключевыми словами локально кэшированных видеоресурсов. Например, если среди ключевых слов локально кэшированных видеоресурсов имеется ключевое слово, совпадающее с ключевым словом запрошенного пользователем видеоресурса, то это указывает, что запрошенный пользователем видеоресурс был локально кэширован, а если среди ключевых слов локально кэшированных видеоресурсов нет никакого ключевого слова, совпадающего с ключевым словом запрошенного пользователем видеоресурса, то это указывает, что запрошенный пользователем видеоресурс не был локально кэширован.
На этапе S103 в ответ на определение, что запрошенный пользователем видеоресурс не был кэширован, полный видеоресурс получается с сервера поставщика содержимого Интернета согласно запросу видео, и полный полученный видеоресурс кэшируется. В частности, полный видеоресурс получается с сервера поставщика содержимого Интернета и кэшируется без учета параметра задержки в запросе видео. Здесь параметром задержки называется параметр, который может указывать часть видеоресурса, и он может включать в себя, например, параметр положения начала и параметр положения конца.
Например, после того как полный видеоресурс получен с сервера поставщика содержимого Интернета и кэширован, соответствующий кэшированный видеоресурс (например, видеоклип) может быть предоставлен пользователю согласно параметру задержки в запросе видео.
В некоторых вариантах осуществления способ кэширования видео дополнительно предусматривает: в ответ на определение, что запрошенный пользователем видеоресурс был локально кэширован, получение параметра задержки из запроса видео, получение соответствующего локального кэшированного видеоресурса согласно параметру задержки, и передача пользователю соответствующего локального кэшированного видеоресурса.
В некоторых вариантах осуществления на этапе S103 полный видеоресурс получается с сервера поставщика содержимого Интернета согласно первому запросу видео для видеоресурса.
В частности, в ответ на определение, что запрошенный пользователем видеоресурс не был локально кэширован, дополнительно определяется, является ли этот запрос видео первым запросом видео для соответствующего видеоресурса.
Если запрос видео определен как первый запрос видео для соответствующего видеоресурса, то полный соответствующий видеоресурс получается с сервера поставщика содержимого Интернета согласно запросу видео без учета параметра задержки в запросе видео.
Другими словами, в некоторых вариантах осуществления, если было определено, что запрошенный пользователем видеоресурс не был локально кэширован, то полный видеоресурс, соответствующий запросу видео, получается со станции источника (т.е. с сервера поставщика содержимого Интернета) и кэшируется локально без учета параметра задержки в первом запросе видео с соответствующего видеоресурса. Следовательно, когда пользователь выполняет последующий запрос к видеоресурсу, сервер кэша видео может непосредственно получить соответствующий локально кэшированный видеоресурс согласно параметру задержки в принятом запросе видео, так что видеоресурс может быть быстро предоставлен пользователю. Если принятый запрос видео не является первым запросом видео для соответствующего видеоресурса, то соответствующий видеоресурс (например, видеоклип) может быть получен с сервера поставщика содержимого Интернета согласно параметру задержки в запросе видео, и передан пользователю.
Как понимают специалисты в этой области техники, все этапы или часть этапов способа кэширования видео указанного выше варианта осуществления могут быть реализованы с помощью надлежащей аппаратуры, управляемой программой, а программа может храниться в машиночитаемом носителе данных, и во время выполнения она заставляет надлежащую аппаратуру выполнять все этапы или часть этапов способа кэширования видео указанного выше варианта осуществления.
Согласно варианту осуществления настоящего изобретения в нем дополнительно предусмотрен машиночитаемый носитель данных с хранящейся на нем программой, которая при выполнении компьютером заставляет компьютер выполнить способ кэширования видео согласно указанному выше варианту осуществления. Компьютерный носитель данных может включать в себя, например, постоянное запоминающее устройство (ПЗУ)/оперативное запоминающее устройство (ОЗУ), магнитный диск, оптический диск, флеш-память или тому подобное.
В варианте осуществления настоящего изобретения дополнительно создано устройство кэширования видео, и устройство кэширования видео может быть включено в сервер кэша видео оператора, или связано с ним. На фиг. 2 показана блок-схема устройства кэширования видео согласно варианту осуществления настоящего изобретения. Как показано на фиг. 2, устройство кэширования видео может включать в себя модуль 21 извлечения информации, модуль 22 определения кэша и модуль 23 получения ресурса.
Модуль 21 извлечения информации выполнен с возможностью извлечения из запроса видео, после получения инициированного пользователем запроса видео, часть URL для идентификации видеоресурса.
Модуль 22 определения кэша выполнен с возможностью определения, согласно извлеченной части URL для идентификации видеоресурса, был ли запрошенный пользователем видеоресурс кэширован.
Модуль 23 получения ресурса выполнен с возможностью получения, согласно запросу видео, полного видеоресурса с сервера поставщика содержимого Интернета в ответ на определение того, что запрошенный пользователем видеоресурс не был кэширован, и кэширования полного полученного видеоресурса.
Алгоритм работы устройства кэширования видео включает в себя следующие этапы: после того, как сервер кэша видео получает инициированный пользователем запрос видео, модуль 21 извлечения информации извлекает из запроса видео часть URL для идентификации видео ресурса согласно ранее сохраненному правилу (т.е. правилу изменения для URL того же самого видеоресурса) для реализации функции против несанкционированного скачивания; модуль 22 определения кэша использует извлеченную часть URL для идентификации видеоресурса в качестве ключевого слова для запрошенного пользователем видеоресурса, и сравнивает ключевое слово с ключевыми словами локально кэшированных видеоресурсов, и, например, если среди ключевых слов локально кэшированных видеоресурсов имеется ключевое слово, совпадающее с ключевым словом запрошенного пользователем видеоресурса, то это указывает, что запрошенный пользователем видеоресурс был локально кэширован, а если среди ключевых слов локально кэшированных видеоресурсов нет никакого ключевого слова, совпадающего с ключевым словом запрошенного пользователем видеоресурса, то это указывает, что запрошенный пользователем видеоресурс не был локально кэширован; если определено, что запрошенный пользователем видео ресурс был локально кэширован, то модуль 23 получения ресурса получает параметр задержки в запросе видео, получает соответствующий локально кэшированный видеоресурс согласно параметру задержки, и передает пользователю соответствующий локально кэшированный видеоресурс, а если было определено, что запрошенный пользователем видеоресурс не был локально кэширован, то модуль 23 получения ресурса получает полный соответствующий видеоресурс с сервера поставщика содержимого Интернета без учета параметра задержки в запросе видео, и локально кэширует полный соответствующий видеоресурс.
Например, после того как модуль 23 получения ресурса выполнил локальное кэширование полного видеоресурса, полученного с сервера поставщика содержимого Интернета, соответствующий кэшированный видеоресурс (например, видеоклип) может быть предоставлен пользователю согласно параметру задержки в запросе видео.
В некоторых вариантах осуществления, если было определено, что запрошенный пользователем видеоресурс не был локально кэширован, то модуль 23 получения ресурса может определить, является ли принятый запрос видео первым запросом видео для соответствующего видеоресурса, и если запрос видео является первым запросом для соответствующего видеоресурса, то модуль 23 получения ресурса получает полный соответствующий видеоресурс с сервера поставщика содержимого Интернета без учета параметра задержки в запросе видео и локально кэширует полный соответствующий видеоресурс. Если запрос видео не является первым запросом видео для соответствующего видеоресурса, то модуль 23 получения ресурса получает соответствующий видеоресурс (например, видеоклип) с сервера поставщика содержимого Интернета согласно параметру задержки в запросе видео и передает его пользователю.
Следует понимать, что первый запрос видео для видеоресурса означает первый запрос видео для видеоресурса, полученный во временной последовательности, он может быть запросом на воспроизведение видеоресурса с начального момента времени (например, 0 секунд) или запросом на воспроизведение видеоресурса с промежуточного момента времени.
Следует отметить, что если было определено, что запрошенный пользователем видеоресурс не был локально кэширован, то полный видеоресурс получается и кэшируется только согласно первому запросу видео для видео ресурса без учета параметра задержки, это не только экономит сетевые ресурсы, но также может улучшить скорость предоставления видеоресурса пользователю.
Например, если запрос видео для видеоресурса был принят во время периода получения полного видеоресурса с сервера поставщика содержимого Интернета, соответствующий видеоресурс (например, видеоклип) может быть получен с сервера поставщика содержимого Интернета согласно параметру задержки в запросе видео и передан пользователю, так что скорость обслуживания пользователя может быть увеличена, и можно избежать повторных получений видеоресурса.
Согласно способу кэширования видео и устройству кэширования видео, описанных в вариантах осуществления настоящего изобретения, кэширование видео реализовано с помощью рационального анализа правила изменения URL в запросе видео и выполнения соответствующих операций.
В варианте осуществления настоящего изобретения дополнительно предложено устройство кэширования видео, которое включает в себя процессор и память.
Память связана с процессором, и в памяти хранится программа для выполнения процессором.
Процессор реализован с возможностью выполнения следующих операций в процессе выполнения хранящейся в памяти программы: извлечение, после получения инициированного пользователем запроса видео, из запроса видео части URL (унифицированного локатора ресурса) для идентификации видеоресурса, определение согласно части URL для идентификации видеоресурса, был ли кэширован запрошенный пользователем видеоресурс; и в ответ на определение, что запрошенный пользователем видеоресурс не был кэширован, получение, согласно запросу видео, полного видеоресурса с сервера поставщика содержимого Интернета, и кэширование полного полученного видеоресурса.
На фиг. 3 показана упрощенная схема сетевой архитектуры системы кэша видео согласно варианту осуществления настоящего изобретения. Система кэша видео включает в себя сервер кэша видео, который содержит устройство кэширования видео согласно варианту осуществления настоящего изобретения или связан с устройством кэширования видео согласно варианту осуществления настоящего изобретения.
Как показано на фиг. 3, посланный пользователем через клиента запрос видео достигает по сети сервера локальной службы доменных имен (локальной DNS, LDNS) оператора. Сервер LDNS перенаправляет по сети URL из запроса видео на устройство балансировки нагрузки. Устройство балансировки нагрузки распределяет запрос видео на каждый сервер кэша видео, и сервер кэша видео определяет, был ли кэширован видеоресурс, соответствующий запросу видео. Если видеоресурс был кэширован, сервер кэша видео непосредственно получает соответствующий кэшированный видеоресурс и предоставляет его пользователю; а если видеоресурс не был кэширован, сервер кэша видео инициирует запрос видео к серверу поставщика содержимого Интернета, кэширует полученный от поставщика содержимого Интернета видеоресурс на локальном сервере кэша видео, и затем предоставляет пользователю соответствующий кэшированный видеоресурс.
В частности, сервер кэша видео извлекает из принятого запроса видео часть URL для идентификации видеоресурса в качестве ключевого слова видеоресурса согласно функции против несанкционированного скачивания разных поставщиков содержимого Интернета в виде видеоресурса. Например, для поиска и извлечения части URL для идентификации видеоресурса можно использовать программное средство httpwatch.
Понятно, что запрос видео обычно содержит параметр задержки, например, начальный момент (старт) и конечный момент (конец) или диапазон (диапазон), и параметр задержки в запросе видео обычно размещается в части параметров URL или в заголовке запроса видео. Когда пользователь подает запрос на видеоресурс, сервер кэша видео не учитывает параметры задержки в первом запросе видео к видеоресурсу, получает полный соответствующий видеоресурс с сервера поставщика содержимого Интернета, и кэширует его локально. Следовательно, после того как сервер кэша видео принял последующий запрос видео от пользователя к видеоресурсу, сервер кэша видео может непосредственно получить соответствующий локально кэшированный видеоресурс согласно параметру задержки в запросе видео пользователем, и предоставить его пользователю.
На фиг. 4 показана упрощенная схема алгоритма работы службы сервера кэширования видео согласно варианту осуществления настоящего изобретения. Сервер кэша видео включает в себя сервер кэша видео, который содержит устройство кэширования видео согласно варианту осуществления настоящего изобретения или связан с этим устройством. Как показано на фиг. 4, алгоритм работы сервера кэша видео включает в себя следующие этапы с S4001 по S4008.
На этапе S4001 пользователь инициирует запрос видео с терминального устройства. Как описано выше, запрос видео может содержать URL, который включает в себя часть для идентификации видеоресурса и часть для функции против несанкционированного скачивания. Часть для идентификации видеоресурса включает в себя, например, название запрошенного пользователем видеоресурса.
На этапе S4002 правила для функции против несанкционированного скачивания разных поставщиков содержимого Интернета в виде видеоресурса (т.е. правила изменения для URL того же самого видеоресурса) заранее сохраняются на сервере кэша видео.
На этапе S4003, когда сервер кэша видео принимает от пользователя запрос видео, определяется правило изменения для URL соответствующего видеоресурса.
На этапе S4004 сервер кэша видео извлекает из запроса видео от пользователя часть URL для идентификации видеоресурса в качестве ключевого слова запрошенного пользователем видеоресурса согласно определенному правилу изменения URL.
На этапе S4005 сервер кэша видео согласно ключевому слову запрошенного пользователем видеоресурса определяет, был ли соответствующий видеоресурс локально кэширован, и если соответствующий видеоресурс был кэширован, алгоритм переходит к этапу S4006, а если соответствующий видеоресурс не был кэширован, алгоритм переходит к этапу S4007.
На этапе S4006 сервер кэша видео получает соответствующий локально кэшированный видеоресурс (например, видеоклип) согласно части URL для идентификации видеоресурса в запросе видео от пользователя и параметру задержки, и предоставляет его пользователю.
На этапе S4007 сервер кэша видео определяет, является ли запрос видео пользователем первым запросом видео для соответствующего видеоресурса, и если запрос видео пользователем является первым запросом видео для соответствующего видеоресурса, алгоритм переходит к этапу S4008, а если запрос видео пользователем не является первым запросом видео для соответствующего видеоресурса, алгоритм переходит к этапу S4009.
На этапе S4008 сервер кэша видео запрашивает полный соответствующий видеоресурс с сервера поставщика содержимого Интернета без учета параметра задержки в запросе видео, и локально кэширует полученный соответствующий видеоресурс.
На этапе S4009 сервер кэша видео выполняет запрос, содержащий параметр задержки из запроса видео пользователем, на сервер поставщика содержимого Интернета с соответствующим видеоресурсом (например, видеоклипом), и передает соответствующий видеоресурс пользователю.
Сервер кэша видео согласно варианту осуществления настоящего изобретения может рационально анализировать правило изменения URL в запросе видео и выполнять соответствующие операции для кэширования соответствующего видеоресурса. Если пользователь снова запрашивает тот же самый видеоресурс, сервер кэша видео может непосредственно получить соответствующий локально кэшированный видеоресурс и предоставить его пользователю, и при этом не требуется получать соответствующий видеоресурс извне с сервера поставщика содержимого Интернета, так что улучшается скорость обслуживания и снижается трафик между операторами.
«Локально кэшированный» или аналогичные выражения в вариантах осуществления настоящего изобретения означают кэширование в памяти, которая доступна (например, с высокой скоростью доступа) в пределах сети оператора, с помощью устройства кэширования видео, сервера кэша видео или системы кэша видео вариантов осуществления настоящего изобретения, а память может быть интегрирована в устройство кэширования видео, в сервер кэша видео или в систему кэша видео вариантов осуществления настоящего изобретения, или может быть связана с устройством кэширования видео, сервером кэша видео или системой кэша видео вариантов осуществления настоящего изобретения.
«Связана» или аналогичные выражения в вариантах осуществления настоящего изобретения означают наличие соединения между устройствами, за счет чего устройства являются доступными (например, с высокой скоростью доступа) друг другу в пределах сети оператора.
Хотя варианты осуществления настоящего изобретения были подробно описаны выше, техническое решение настоящего изобретения не ограничено ими, и специалисты в этой области техники могут вносить различные модификации и изменения в рамках формулы настоящего изобретения. Такие модификации и изменения должны интерпретироваться как попадающие в объем правовой охраны настоящего изобретения.