Оптимизированный процесс визуализации в браузере

Иллюстрации

Показать все

Группа изобретений относится к средствам оптимизации визуализации веб-страницы. Технический результат – ускорение загрузки веб-страницы. Для этого предложен способ, который включает в себя генерирование первого результата визуализации веб-страницы с включенным использованием сценариев и генерирование второго результата визуализации веб-страницы с отключенным использованием сценариев. Способ также включает в себя сравнение первого результата визуализации со вторым результатом визуализации для определения, является ли веб-страница независимой от контента, и сохранение URL для веб-страницы в списке URL, независимых от контента, когда веб-страница является независимой от контента. Способ может дополнительно включать в себя прием запроса на визуализацию веб-страницы, идентифицированной посредством URL, до визуализации, определение, что URL является URL, независимым от контента, и визуализацию веб-страницы с отключенным использованием сценария, в ответ на определение, что URL является URL, независимым от контента. 5 н. и 28 з.п. ф-лы, 7 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

[0001] Многие веб-страницы создаются динамически, означая, что итоговая страница, просматриваемая пользователем веб-браузера, генерируется по меньшей мере частично посредством процесса визуализации в браузере. Встроенные объекты, такие как сценарии (скрипты), изображения и таблицы стилей, часто встраиваются в веб-страницу и влияют на контент и внешний вид визуализированной веб-страницы. Например, исполнение объектов сценария, таких как код JavaScript, часто влияет на то, как веб-страница представляется пользователю, и изменяет контент, отображаемый на странице. Но выполнение объектов сценария требует интенсивной обработки и часто приводит к загрузке другого встроенного объекта, что может быть обременительным для пропускной способности сети и может замедлить загрузку веб-страницы. В мобильном вычислительном устройстве, таком как интеллектуальные телефоны и планшетные компьютеры, такие дополнительные активности могут истощить энергию батареи.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0002] Реализации идентифицируют независимые от контента веб-страницы, другими словами, веб-страницы, где объекты сценария не влияют на контент визуализированной веб-страницы каким-либо значительным образом. Шаблоны для идентификации независимых от контента веб-страниц могут быть сохранены и предоставлены браузерам. Когда браузер готов визуализировать веб-страницу, он может выяснить, подходит ли веб-страница к одному из шаблонов. Если подходит, браузер может визуализировать веб-страницу с отключенным сценарием. Это обеспечивает браузеру возможность более эффективной визуализации веб-страниц без влияния на контент, отображаемый пользователю. В некоторых реализациях, шаблоны могут включать в себя тип браузера, такой как мобильный против полноценного, так как некоторые веб-страницы могут быть независимыми от контента для мобильного браузера, например, в интеллектуальном телефоне, но не могут быть для других типов браузеров.

[0003] В одном аспекте, система включает в себя по меньшей мере один процессор и память, хранящую инструкции, которые при исполнении по меньшей мере одним процессором предписывают системе выполнять операции. Операции включают в себя генерирование первого результата визуализации веб-страницы, причем первый результат визуализации визуализируется с включенным использованием сценария, и генерирование второго результата визуализации веб-страницы, причем второй результат визуализации визуализируется с отключенным использованием сценария. Операции также включают в себя определение, являются ли различия в первом результате визуализации и втором результате визуализации независимыми от контента, и, когда различия являются независимыми от контента, идентификацию URL для веб-страницы как URL, независимый от контента.

[0004] Одна или более из реализаций изобретения, описанного в настоящем документе, может быть реализована для того, чтобы обеспечить одно или более из нижеследующих преимуществ. Например, определение того, являются ли различия в первом результате визуализации и втором результате визуализации независимыми от контента, может включать в себя идентификацию внешней ссылки в первом результате визуализации, отсутствующей во втором результате визуализации, и определение, в ответ на идентификацию внешней ссылки, что различия не являются независимыми от контента. В качестве другого примера, определение, являются ли различия в первом результате визуализации и втором результате визуализации независимыми от контента, может включать в себя идентификацию маркера в первом результате визуализации, который отсутствует во втором результате визуализации, и определение, в ответ на идентификацию маркера, что различия не являются независимыми от контента. К качестве другого примера, определение, являются ли различия в первом результате визуализации и втором результате визуализации независимыми от контента, может включать в себя идентификацию количества маркеров в первом результате визуализации, которые отсутствуют во втором результате визуализации, определение, что количество соответствует порогу, и определение, в ответ на определение, что количество соответствует порогу, что различия не являются независимыми от контента. Стоп-слова могут быть удалены до определения различий в маркерах.

[0005] В качестве другого примера, определение, являются ли различия в первом результате визуализации и втором результате визуализации независимыми от контента, может включать в себя вычисление оценки сходства между основным компонентом первого результата визуализации и основным компонентом второго результата визуализации, определение, соответствует ли оценка сходства порогу сходства, и определение, что различия являются независимыми от контента, когда оценка сходства соответствует порогу сходства.

[0006] В качестве другого примера, операции могут также включать в себя, для каждой из множества веб-страниц в записях выборки, генерирование первого результата визуализации веб-страницы, причем первый результат визуализации визуализируется с включенным использованием сценария, генерирование второго результата визуализации веб-страницы, причем второй результат визуализации визуализируется с отключенным использованием сценария, и сравнение первого результата визуализации со вторым результатом визуализации для определения, является ли веб-страница независимой от контента. Когда веб-страница является независимой от контента операции могут включать в себя сохранение URL для веб-страницы в списке URL, независимых от контента, и когда веб-страница не является независимой от контента, сохранение URL для веб-страницы в списке URL, зависимых от контента. Операции могут также включать в себя определение по меньшей мере одного шаблона с использованием списка URL, независимых от контента, и сохранение шаблона в хранилище данных для URL, независимых от контента. В некоторых реализациях, операции могут также включать в себя определение, применяется ли шаблон к URL в списке URL, зависимых от контента, и сохранение шаблона в хранилище данных для URL, независимых от контента, когда не удается применить шаблон к URL в списке URL, зависимых от контента. В некоторых реализациях, операции могут включать в себя определение процента URL, которые совпадают с шаблоном, которые являются URL, зависимыми от контента, и сохранение шаблона в хранилище данных для URL, независимых от контента, когда процент меньше, чем один процент.

[0007] В другом аспекте, реализованный на компьютере способ включает в себя генерирование, с использованием по меньшей мере одного процессора, первого результата визуализации веб-страницы, причем первый результат визуализации визуализируется с включенным использованием сценария, и генерирование второго результата визуализации веб-страницы, причем второй результат визуализации визуализируется с отключенным использованием сценария. Способ может также включать в себя сравнение первого результата визуализации со вторым результатом визуализации для определения, является ли веб-страница независимой от контента, и сохранение унифицированного указателя ресурса (URL) для веб-страницы в списке URL, независимых от контента, когда веб-страница является независимой от контента.

[0008] Одна или более из реализаций изобретения, описанного в настоящем документе, может быть реализована для того, чтобы обеспечить одно или более из нижеследующих преимуществ. Например, способ может также включать в себя, для каждой из множества веб-страниц в записях выборки, генерирование первого результата визуализации веб-страницы с включенным использованием сценария, генерирование второго результата визуализации веб-страницы с отключенным использованием сценария и сравнение первого результата визуализации со вторым результатом визуализации для определения, является ли веб-страница независимой от контента. Способ может также включать в себя сохранение URL для веб-страницы в списке URL, независимых от контента, когда веб-страница является независимой от контента, и сохранение URL для веб-страницы в списке URL, зависимых от контента, когда веб-страница не является независимой от контента. Способ может дополнительно включать в себя определение по меньшей мере одного шаблона из списка URL, независимых от контента, и сохранение шаблона в хранилище данных для URL, независимых от контента. В некоторых реализациях, способ может также включать в себя определение первого количества URL в списке URL, независимых от контента, которые совпадают с шаблоном, определение второго количества URL в списке URL, зависимых от контента, которые совпадают с шаблоном, и сохранение шаблона в хранилище данных для URL, независимых от контента, когда второе количество меньше, чем один процент от суммы первого количества и второго количества.

[0009] В другом аспекте способ включает в себя прием запроса на визуализацию веб-страницы, идентифицированной посредством URL, и, до визуализации, определение, что URL является URL, независимым от контента. Способ может также включать в себя визуализацию веб-страницы с отключенным использованием сценария, независимо от настроек браузера для использования сценария, в ответ на определение, что URL является URL, независимым от контента. В некоторых реализациях, определение, что URL является URL, независимым от контента, включает в себя определение, что URL совпадает с предварительно определенным шаблоном в хранилище данных для URL, независимых от контента. В некоторых реализациях, определение, что URL является URL, независимым от контента, включает в себя определение, что URL является независимым от контента для типа браузера, обрабатывающего запрос на визуализацию веб-страницы. В некоторых реализациях, определение, что URL является URL, независимым от контента, включает в себя отправку запроса службе, причем служба, определяющая, является ли URL - URL, независимым от контента, и прием ответа от службы, указывающего, что URL является URL, независимым от контента.

[0010] В другом аспекте долговременный компьютерно-читаемый носитель может включать в себя инструкции, исполняемые по меньшей мере одним процессором, сформированном на подложке, который предписывает компьютерной системе выполнить один или более из способов, описанных выше.

[0011] Одна или более из реализаций изобретения, описанного в настоящем документе, может быть реализована для того, чтобы обеспечить одно или более из нижеследующих преимуществ. В качестве одного примера, визуализация веб-страницы с отключенным использованием сценария сберегает CPU и пропускную способность сети и расход батареи на мобильных устройствах. Но так как многие веб-страницы используют сценарий для загрузки контента веб-страницы, использование настройки браузера "всегда отключать использование сценария" вызывает потерю контента просмотрщиком. Хранилище данных для независимых от контента шаблонов обеспечивает браузеру возможность выборочного отключения использования сценария, когда использование сценария не влияет на контент. Отключение использования сценария для URL, независимых от контента, приводит к более быстрым интервалам загрузки, уменьшает использование CPU, уменьшает использование RAM (так как системе не требуется запускать подсистему работы со сценариями) и сниженному потреблению электроэнергии.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0012] Фиг. 1 иллюстрирует примерную систему в соответствии с раскрытым изобретения.

[0013] Фиг. 2 является блок-схемой результата визуализации для визуализированной веб-страницы, согласно реализации.

[0014] Фиг. 3 является схемой последовательности операций, иллюстрирующей примерный процесс для идентификации шаблонов URL, независимых от контента, согласно реализации.

[0015] Фиг. 4 является схемой последовательности операций, иллюстрирующей примерный процесс для определения, являются ли два результата визуализации независимыми от контента, согласно реализации.

[0016] Фиг. 5 является схемой последовательности операций, иллюстрирующей примерный процесс для предоставления информации для оптимизированной визуализации, согласно реализации.

[0017] Фиг. 6 показывает пример компьютерного устройства, которое может быть использовано для реализации описанных способов.

[0018] Фиг. 7 показывает пример распределенного компьютерного устройства, которое может быть использовано для реализации описанных способов.

ПОДРОБНОЕ ОПИСАНИЕ

[0019] Раскрытые реализации идентифицируют независимые от контента веб-страницы, или страницы, где объекты сценария являются независимыми от контента для визуализированной страницы, и обеспечивают подсистеме визуализации браузера возможность визуализации таких веб-страниц без выполнения сценария. Это улучшает время визуализации, зачастую в три раза, что важно для вычислительных устройств с ограниченными ресурсами, таких как интеллектуальные телефоны (смартфоны) и планшетные компьютеры. Веб-страница может быть подходящей для оптимизированной визуализации, когда результат визуализации веб-страницы, визуализируемой с включенным использованием сценария, является схожим с результатом визуализации веб-страницы, визуализируемой с отключенным использованием сценария. Сходство может быть определено посредством сходства маркеров в странице, сходства внешних ссылок, сходства макета страницы и т.д. В некоторых реализациях, любые различия во внешних ссылках или маркерах могут считаться значительными различиями. В некоторых реализациях, когда основные компоненты макета имеют показатель сходства, который соответствует порогу, результат визуализации может считаться схожим. Если объекты сценария в странице являются независимыми от контента, система может сохранить веб-страницу в списке URL, независимых от контента. В некоторых реализациях система может агрегировать URL, независимые от контента, для идентификации шаблона, который может быть использован для идентификации других URL, независимых от контента.

[0020] Когда браузер начинает визуализацию веб-страницы, он может спросить службу, являются ли объекты сценария для веб-страницы независимыми от контента, т.е. является ли URL независимым от контента. Служба может сопоставить URL запрошенной веб-страницы с хранилищем данных URL, независимых от контента, либо посредством точного совпадения, либо совпадения с шаблоном в хранилище данных. Если служба находит совпадение, служба может сообщить браузеру, что объекты сценариев являются независимыми от контента, и браузер может приступить к визуализации веб-страницы с отключенным использованием сценария. Иначе, (например, если URL для веб-страницы не совпадает с шаблоном в хранилище данных), браузер будет визуализировать страницу с включенным сценарием или использовать настройку браузера для определения, выполнять ли сценарий при визуализации веб-страницы. Такая оптимизированная визуализация в браузере делает процесс визуализации в браузере гораздо более ресурсоэффективным. В некоторых реализациях, хранилище данных для URL, независимых от контента, может проводить различие между мобильными браузерами и настольными браузерами.

[0021] Фиг. 1 является блок-схемой системы в соответствии с примерной реализацией. Система 100 может быть использована для идентификации URL, независимых от контента, и шаблонов URL, независимых от контента, и использовать шаблоны для оптимизации процесса визуализации в браузере. Система 100 может включать в себя вычислительные устройства которые принимают вид некоторых из других устройств. Например, система 100 может включать в себя вычислительные устройства, которые являются примерами компьютерного устройства 600, которое изображено на Фиг. 6, и компьютерного устройства 700, которое изображено на Фиг. 7.

[0022] Система 100 может включать в себя систему 110 пакетной визуализации. Системой 110 пакетной визуализации может быть стандартный сервер, группа таких серверов, клиент-серверная система или система стоечных серверов. В дополнение, система 110 пакетной визуализации может быть реализована в персональном компьютере. Система 110 пакетной визуализации может включать в себя один или более процессоров, выполненных с возможностью исполнения одной или более исполняемых машиной инструкций или частей программного обеспечения, программно-аппаратных средств или их комбинации, хранящихся в памяти. Например, система 110 пакетной визуализации может включать в себя подсистемы 120 визуализации, службу 122 выборки, подсистему 124 обхода веб-сайтов и подсистему 126 идентификации URL, независимых от контента. Система 110 пакетной визуализации может произвести визуализированную веб-страницу в пакетном режиме, например, как часть процесса индексации, и в процессе произвести записи 132 выборки, которые система 110 пакетной визуализации может использовать для генерирования шаблонов 130 URL, независимых от контента.

[0023] Последующий процесс может запросить, чтобы система 110 пакетной визуализации визуализировала веб-страницу в пакетном режиме. В некоторых реализациях, система 110 пакетной визуализации может включать в себя последующий процесс (не показан). Например, последующим процессом может быть подсистема индексации или рекламная платформа. Последующий процесс может запросить, чтобы один из подсистем 120 пакетной визуализации сгенерировал результат визуализации для конкретной веб-страницы. Каждая подсистема 120 пакетной визуализации может быть выполнен с возможностью эмуляции визуализатора для персонального веб-браузера, но с оптимизациями для пакетной визуализации. Веб-страница может включать в себя встроенные объекты, такие как таблицы стилей, JavaScript, изображения и т.д., подсистемы 120 пакетной визуализации могут запросить контенты для встроенных объектов с использованием службы 122 выборки.

[0024] Служба 122 выборки может определить, выборка каких встроенных объектов должна быть осуществлена из хост-сервера 190, какие встроенные объекты могут быть возвращены из кэша, и какие объекты не должны быть возвращены. Хост-серверы 190 могут быть вычислительным устройством любого типа, доступным через Интернет, который размещает одну или более веб-страниц или ресурсов, встроенных в одну или более веб-страниц. Если должна быть осуществлена выборка встроенного объекта, служба 122 выборки может запросить контент для встроенного объекта посредством подсистемы 124 обхода веб-сайтов с использованием обыкновенных способов. Последующий процесс, такой как подсистема индексации, может также запросить контент из серверов 190 посредством подсистемы 124 обхода веб-сайтов. В результате запросов выборки, система 110 пакетной визуализации может сгенерировать записи 132 выборки. Записи 132 выборки могут включать в себя информацию о том, какие веб-страницы были запрошены и извлечены из хост-серверов 190.

[0025] Подсистема 124 обхода веб-сайтов, подсистемы 120 пакетной визуализации и служба 122 выборки работают вместе для эффективной визуализации большого числа веб-страниц, таких как веб-страницы, которые можно найти во Всемирной сети. Результатом визуализации веб-страницы является результат визуализации, который включает в себя элементы различных данных, полезных и иначе недоступных последующему процессу запроса. Подсистема 126 идентификации URL, независимых от контента, может использовать подсистемы 120 пакетной визуализации для генерирования шаблонов 130 URL, независимых от контента. Подсистема 126 идентификации URL, независимых от контента, может выполняться периодически (например, ежедневно, дважды в неделю и т.д.), с использованием записей 132 выборки в качестве ввода. Подсистема 126 идентификации URL, независимых от контента, может попросить подсистемы 120 пакетной визуализации сгенерировать первый результат визуализации URL из записей 132 выборки с включенным использованием сценария и сгенерировать второй результат визуализации URL с отключенным использованием сценария. Объекты сценария, такие как JavaScript, являются кодом, включенным в веб-страницы, которые выполняются во время визуализации браузером веб-страницы. Объекты сценария могут манипулировать видом и контентом визуализированной веб-страницы, инициализировать выполнение других объектов сценария, загружать дополнительный контент из Интернета и т.д., таким образом, объекты сценария предназначены для выполнения браузером. Но выполнение объектов сценария имеет высокий уровень расхода ресурсов обработки и часто приводит к дополнительным выборкам контента, что замедляет процесс визуализации, ограничивает пропускную способность и расходует энергетические ресурсы. Хотя браузеры включают в себя настройку для отключения использования сценария, которая ускоряет процесс визуализации, итоговый контент может быть подвержен влиянию, и страница может визуализироваться некорректно или может потерять контент.

[0026] Для определения, влияют ли объекты выполняющегося сценария на визуализированный контент URL, подсистема 126 идентификации URL, независимых от контента, запрашивает первый результат визуализации URL с включенным использованием сценария и второй результат визуализации URL с отключенным использованием сценария. Например, подсистема 126 идентификации URL, независимых от контента, может запросить, чтобы один из подсистем 120 пакетной визуализации предоставил результаты визуализации. Подсистема 126 идентификации URL, независимых от контента, может сравнить первый результат визуализации и второй результат визуализации для определения, повлияли ли объекты выполняющегося сценария на контент визуализированной веб-страницы. В некоторых реализациях, если контент подвергся влиянию, URL может быть добавлен в список URL, зависимых от контента. Если контенты подверглись незначительному влиянию (например, являются схожими), подсистема 126 идентификации URL, независимых от контента, может идентифицировать URL как независимый от контента. В некоторых реализациях, URL может быть сохранен в хранилище данных, таком как шаблоны 130 URL, независимых от контента. В некоторых реализациях, URL может быть сохранен во временном списке URL, независимых от контента, и использован в дальнейшем для определения шаблонов для URL, независимых от контента. Соответственно, в некоторых реализациях, подсистема 126 идентификации URL, независимых от контента, выполняет этот тест в отношении многих URL и определяет шаблоны URL, которые являются независимыми от контента. Например, подсистема 126 идентификации URL, независимых от контента, может агрегировать статус, независимый от контента, для всех URL, принадлежащих одному хосту. Если все URL для хоста являются независимыми от контента, хост может быть включен в качестве шаблона в шаблоны 130 URL, независимых от контента. В некоторых реализациях, если небольшой процент (например, меньше, чем 1%) URL, совпадающих с шаблоном, являются независимыми от контента, подсистема 126 идентификации URL, независимых от контента, может включить хост в качестве шаблона в шаблоны 130 URL, независимых от контента. В некоторых реализациях, агрегация списков URL, независимых от контента, и URL, зависимых от контента, может произвести другие шаблоны, которые могут также быть использованы, например, для некоторых путей внутри хоста.

[0027] В некоторых реализациях, подсистема 126 идентификации URL, независимых от контента, может также верифицировать, что шаблоны в шаблонах 130 URL, независимых от контента, все еще являются независимыми от контента. Например, подсистема 126 идентификации URL, независимых от контента, может выбрать порцию URL, совпадающих с шаблоном, попросить подсистему визуализации сгенерировать результат визуализации с включенным использованием сценария и с отключенным использованием сценария, и сравнить два результата визуализации. Если URL, совпадающий с шаблоном в шаблонах 130 URL, независимых от контента, больше не является независимым от контента, шаблон может быть удален.

[0028] В некоторых реализациях, подсистема 126 идентификации URL, независимых от контента, может определить, является ли URL или шаблон URL независимым от контента, для мобильных браузеров, отдельно от обыкновенных персональных браузеров. Например, некоторые веб-сайты имеют мобильную версию веб-страницы и полноценную версию, и мобильная версия может быть независимой от контента, тогда как полноценная версия таковой не является. Таким образом, подсистема 126 идентификации URL, независимых от контента, может визуализировать четыре результата визуализации для URL. Первые два результата визуализации могут быть визуализированы подсистемой визуализации, которая эмулирует обыкновенный персональный браузер, при этом последние два результата визуализации могут быть визуализированы подсистемой визуализации, которая эмулирует браузер на мобильном устройстве, таком как интеллектуальный телефон или планшет. Таким образом, шаблоны 130 URL, независимых от контента, могут включать в себя данные, указывающие, является ли шаблон независимым от контента по типу браузера, например, для мобильного браузера или для обыкновенного браузера.

[0029] Хотя для краткости не показано на Фиг. 1, в некоторых реализациях, система 110 пакетной визуализации может быть распределена на два или более отдельных вычислительных устройств. В добавление, один или более подсистем 120 пакетной визуализации, служба 122 выборки, подсистема 124 обхода веб-сайтов и подсистема 126 идентификации URL, независимых от контента, могут быть распределены среди одного или более вычислительных устройств. В некоторых реализациях, одно или более из подсистем 120 пакетной визуализации, службы 122 выборки, подсистемы 124 обхода веб-сайтов и подсистемы 126 идентификации URL, независимых от контента, могут совместно использовать ресурсы, такие как память или аппаратные процессоры, с другими компонентами системы 110 пакетной визуализации. Аналогично, записи 132 выборки и шаблоны 130 URL, независимых от контента, могут также быть сохранены в памяти, распределенной между многочисленными вычислительными устройствами. В некоторых реализациях, различные компоненты системы 110 пакетной визуализации могут совместно использовать аппаратные компоненты вычислительного устройства, или могут быть логическими разделами одного и того же вычислительного устройства.

[0030] Система 110 пакетной визуализации может иметь связь с клиентом(ами) 180 и серверами 190 через сеть 160. Сетью 160 может быть, например, Интернет, или сетью 160 может быть проводная или беспроводная локальная сеть (LAN), глобальная сеть (WAN), их комбинация и т.д., реализованная с использованием, например, шлюзовых устройств, мостов, коммутаторов, и/или тому подобных. Через сеть 160, система 110 пакетной визуализации может осуществлять связь с клиентами 180/хост-серверами 190 и передавать им/от них данные. Например, система 110 пакетной визуализации может предоставить клиенту 180 шаблоны 130 URL, независимых от контента, или может принять запрос от клиента 180, уточняющий, является ли конкретный URL независимым от контента, и может предоставить ответ на основе шаблонов 130 URL, независимых от контента.

[0031] Клиентом 180 может быть персональное вычислительное устройство, такое как вычислительное устройство 600, изображенное на Фиг. 6, с установленным персональным веб-браузером 140. Примеры персональных веб-браузеров включают в себя CHROME, SAFARI, INTERNET EXPLORER, FIREFOX и т.д., будь то для мобильного устройства, такого как интеллектуальный телефон или планшет, или персонального компьютера, такого как переносной компьютер или настольный компьютер. Браузер 140 может быть выполнен с возможностью использования службы для определения, может ли конкретный URL быть визуализирован с отключенным использованием сценария. В некоторых реализациях, служба может протолкнуть копию шаблонов 130 URL, независимых от контента, на клиент 180 для использования браузером 140. В некоторых реализациях, браузер 140 может быть выполнен с возможностью попросить службу определить, совпадает ли конкретный URL с одним из шаблонов в шаблонах 130 URL, независимых от контента. Браузер 140 выполняет оптимизированную визуализацию посредством использования службы для определения, может ли конкретный URL быть визуализирован с отключенным использованием сценария, и выполнения визуализации с отключенным использованием сценария, когда конкретный URL является независимым от контента. Таким образом, браузер 140 может быть выполнен с возможностью выборочного включения и отключения использования сценария без действия пользователя, независимо от настройки браузера в отношении сценария, и делает так, чтобы сохранить ресурсы, где на контент не оказано влияние.

[0032] Фиг. 2 является блок-схемой результата визуализации 200, визуализированного подсистемой 120 пакетной визуализации, согласно реализации. Результат 200 визуализации может включать в себя разнообразные компоненты, не все из которых проиллюстрированы на Фиг. 2. Например, результат 200 визуализации может включать в себя изображение 205 визуализированной страницы. Изображением 205 может быть изображение, которое будет отображено пользователю посредством устройства отображения через веб-браузер. Изображение 205 может быть использовано, например, для отображения пользователю пиктограммы визуализированной страницы и для определения, где на элементах отображения возникает веб-страница (например, на основе их координат x и y). Результат 200 визуализации может также включать в себя дерево 210 объектной модели документов (DOM). DOM-дерево 210 представляет HTML-структуру веб-страницы. Например, DOM-дерево 210 включает в себя маркеры и внешние ссылки для веб-страницы. Результат 200 визуализации может также включать в себя макет 215. Макет 215 включает в себя ячейку для каждого элемента веб-страницы, причем ячейка задает координаты x и y для элемента на изображении 205. Таким образом, макет 215 предоставляет указание того, где на веб-странице возникает элемент, сколько места он занимает на веб-странице и т.д. Таким образом, макет 215 предоставляет информацию о том, сколько места на веб-странице занимают рекламные объявления, насколько заметным является параграф (например, высокооплачиваемым или низкооплачиваемым), является ли элемент видимым и т.д. Другими словами, макет 215 предоставляет геометрическую информацию об элементах визуализируемой веб-страницы. Результат 200 визуализации может также включать в себя ошибки 220. Ошибки 220 включают в себя ошибки, встречающиеся как результат объектов выполняющегося сценария, например, JavaScript. Результат 200 визуализации может также включать в себя список встроенных ресурсов 225, выборка которых осуществлена во время визуализации, и может включать в себя другие элементы (не показаны), сгенерированные как часть процесса визуализации. Таким образом, результат 200 визуализации предоставляет информацию, доступную не только посредством выборки контента из размещающего сервера. Последующие процессы запроса, такие как подсистема идентификации URL, независимых от контента, могут использовать информацию результата визуализации в различных целях, как например, для определения, значительно ли объекты выполняющегося сценария изменяют контент визуализированной веб-страницы. Например, контент в рекламном участке веб-страницы может не считаться важным, так URL может быть все еще независимым от контента, даже при различиях в рекламном участке. В некоторых реализациях, только различия в основных компонентах макета могут считаться важными. Основные компоненты могут быть самыми большими ячейками в макете 215 (например, ячейками с самой большой высотой и шириной).

[0033] Фиг. 3 является схемой последовательности операций, иллюстрирующей примерный процесс 300 для идентификации шаблонов URL, независимых от контента, согласно реализации. Процесс 300 может быть выполнен системой, такой как система 110 по Фиг. 1. Система может использовать процесс 300 для генерирования результата визуализации веб-страницы с включенным использованием сценария, для визуализации второго результата визуализации веб-страницы с отключенным использованием сценария, и для сравнения результатов визуализации, чтобы определить, влияет ли использование сценария на контент каким-либо значительным или важным образом, или другими словами, является ли использование сценария независимым от контента. В некоторых реализациях, система может определить шаблоны для URL, независимых от контента, на основе результатов визуализации конкретных URL. Шаблоны могут храниться в хранилище данных и использоваться как часть службы, которая обеспечивает персональному браузеру (либо полноценному, либо мобильному) возможность оптимизации визуализации посредством отключения использования сценария, когда запрошенный URL является независимым от контента.

[0034] Процесс 300 может начаться с получения системой веб-страницы из записи выборки (305). Запись выборки может быть из файла, который ведет журнал запросов выборки для веб-страниц или встроенных объектов посредством подсистемы обхода веб-сайтов. В некоторых реализациях, записи выборки могут быть сгенерированы как часть процесса индексации, например, процесса индексации для документов, доступных через Интернет. Веб-страница может быть идентифицирована в записи выборки посредством идентификатора, такого как URL. Таким образом, веб-страница может также быть названа URL, и понятно, что обращение к веб-странице и URL является в основном синонимичным, как используется в настоящем документе. Система может сгенерировать первый результат визуализации веб-страницы с включенным использованием сценария (310). Другими словами, система может выполнить JavaScript (или другие языки написания сценариев) при генерировании первого результата визуализации. Система может также сгенерировать второй результат визуализации для веб-страницы с отключенным использованием сценария (315). Система может затем сравнить первый результат визуализации и второй результат визуализации, чтобы определить, являются ли результаты визуализации независимыми от контента (320).

[0035] Система может использовать разнообразные тесты для определения, являются ли результаты визуализации независимыми от контента, как рассмотрено более подробно по отношению к Фиг. 4. Если результаты визуализации являются независимыми от контента (320, Да), система может добавить URL веб-страницы в список URL, независимых от контента (330). Этот список может быть временным списком, используемым для определения шаблонов для URL, независимых от контента. Если результаты визуализации не являются схожими (320, Нет), система может добавить URL веб-страницы в список URL, зависимых от контента (325). Веб-страницы в этом списке не могут быть визуализированы с отключенным использованием сценария без потери контента. Список URL, зависимых от контента, может также быть списком, хранящимся во временной памяти и используемым для определения шаблонов для URL, независимых от контента. Если в записях выборки есть другие веб-страницы для проверки (335, Нет), система может получить следующий URL из записей выборки (340) и повторить этапы 305-330 с использованием следующей веб-страницы. В некоторых реализациях, цикл, представленный этапами 305-340, может продолжаться пока все URL в записях выборки не будут проверены на независимость от контента. В некоторых реализациях, могут быть проверены только записи выборки после некоторой даты или времени.

[0036] Если все веб-страницы в записях выборки были проверены на независимость от контента (335, Да), система может определить шаблоны для URL, независимых от контента, с использованием списка URL, независимых от контента, и списка URL, зависимых от контента (345). В некоторых реализациях, система может выдернуть любые строки запроса, которые являются частью URL, с помощью потенциального шаблона, являющегося остатком URL. URL совпадают с потенциальным шаблоном, если совпадает остающийся участок без стоки запроса. В некоторых реализациях, система может выдернуть все кроме участка хоста URL. URL совпадают с шаблоном, если совпадает участок хоста, независимо от того, что идет после. В некоторых реализациях, для определения шаблонов система может использовать другие формы агрегации, такие как кластеризация. Шаблон может отражать хост (например, www.pattern.com), или может отражать разные директории внутри хоста (например, www.pattern.com/services) и т.д. Чтобы увидеть, является ли потенциальный шаблон независимым от контента, система может опре