RU2616164C2 - Способы и устройство для работы браузерного движка - Google Patents

Способы и устройство для работы браузерного движка Download PDF

Info

Publication number
RU2616164C2
RU2616164C2 RU2014133353A RU2014133353A RU2616164C2 RU 2616164 C2 RU2616164 C2 RU 2616164C2 RU 2014133353 A RU2014133353 A RU 2014133353A RU 2014133353 A RU2014133353 A RU 2014133353A RU 2616164 C2 RU2616164 C2 RU 2616164C2
Authority
RU
Russia
Prior art keywords
browser
operating mode
terminal
cpu
engine
Prior art date
Application number
RU2014133353A
Other languages
English (en)
Other versions
RU2014133353A (ru
RU2616164C9 (ru
Inventor
Ян Лю
Менлиан РАО
Фанчао ЛЮ
Синьхуа ГО
Цзиняо ВАН
Original Assignee
Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед filed Critical Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед
Publication of RU2014133353A publication Critical patent/RU2014133353A/ru
Publication of RU2616164C2 publication Critical patent/RU2616164C2/ru
Application granted granted Critical
Publication of RU2616164C9 publication Critical patent/RU2616164C9/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web

Abstract

Изобретение относится к области сетевых технологий, в частности к способам и устройству для работы браузерного движка. Технический результат заключается в повышении скорости работы браузерного движка. Указанный технический результат достигается за счет выполнения этапов: получают рабочую среду браузера при запуске браузера, причем рабочая среда содержит CPU-среду в терминале с установленным браузером, а параметры CPU-среды содержат тип наборов команд, поддерживаемый CPU терминала с установленным браузером; определяют, поддерживает ли CPU терминала с установленным браузером предварительно установленный тип наборов команд согласно рабочей среде; выбирают согласованный рабочий режим браузерного движка согласно результату определения, причем рабочий режим браузерного движка представляет собой режим исполнения браузером кода программы, и используют выбранный рабочий режим для работы браузерного движка. 2 н. и 9 з.п. ф-лы, 10 ил.

Description

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Данная заявка притязает на приоритет заявки на патент Китая № CN 201210329720.3, поданной 07 сентября 2012, содержимое которой полностью включено в данный документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее раскрытие относится к области сетевых технологий и, в частности, относится к способам и устройству для работы браузерного движка и связанным браузерам и терминалам.
УРОВЕНЬ ТЕХНИКИ
[0003] Браузерный движок содержится в ядре браузера. В процессе работы браузерный движок используется для исполнения кода программы для обработки веб-содержимого, организации информации и вычисления способов отображения веб-страницы и затем вывода веб-страницы в браузере. Как правило, при компиляции браузер конфигурирует рабочий режим браузерного движка. Когда компиляция выполнена, рабочий режим браузерного движка также определен однозначно. Браузерный движок использует сконфигурированный рабочий режим для исполнения кода программы. Таким образом, существующие браузерные движки используют уже сконфигурированный и однозначно-установленный рабочий режим для работы, который не может выбираться согласно рабочей среде браузера.
[0004] Это накладывает ограничения на тип терминалов, подходящих для браузера. Например, некоторые терминалы могут иметь CPU-среду (то есть среду центрального блока обработки), согласованную с режимом работы браузерного движка. Затем может осуществляться работа браузера в данном терминале. В некоторых случаях CPU-среда терминала не согласуется с режимом работы браузерного движка. Скорость работы браузера может быть ухудшена, либо может произойти отказ работы браузера, тем самым ухудшая гибкость использования браузера.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0005] Согласно различным вариантам осуществления предложен способ работы браузерного движка. Рабочая среда браузера может быть получена при запуске браузера. Рабочая среда может включать в себя CPU-среду в терминале с установленным браузером. Согласованный рабочий режим браузерного движка может быть выбран согласно рабочей среде. Выбранный рабочий режим может использоваться для работы браузерного движка.
[0006] Согласно различным вариантам осуществления предложено устройство для работы браузерного движка. Устройство может включать в себя модуль получения, модуль выбора и рабочий модуль. Модуль получения может быть выполнен с возможностью получения рабочей среды браузера при запуске браузера. Рабочая среда может включать в себя CPU-среду в терминале с установленным браузером. Модуль выбора может быть выполнен с возможностью выбора согласованного рабочего режима браузерного движка согласно рабочей среде. Рабочий модуль может быть выполнен с возможностью использования выбранного рабочего режима для работы браузерного движка.
[0007] Различные варианты осуществления дополнительно включают в себя браузер, включающий в себя раскрытое устройство, и терминал, включающий в себя раскрытый браузер.
[0008] Другие аспекты или варианты осуществления настоящего раскрытия могут быть поняты специалистами в уровне техники в свете описания, формулы изобретения и чертежей настоящего раскрытия.
[0009] Таким образом, благодаря указанным особенностям достигается технический результат в виде обеспечения нормальной работы терминала с установленным браузером при обеспечении скорости его работы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0010] Следующие чертежи являются всего лишь примерами, предназначенными для иллюстративных целей, согласно различным раскрытым вариантам осуществления, и не подразумевается, что они накладывают ограничения на объем настоящего раскрытия.
[0011] На Фиг. 1 изображен примерный способ работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления;
[0012] На Фиг. 2 изображен примерный способ выполнения Этапа S101, изображенного на Фиг. 1, в соответствии с различными раскрытыми вариантами осуществления;
[0013] На Фиг. 3 изображен примерный способ выполнения Этапа 102, изображенного на Фиг. 1, в соответствии с различными раскрытыми вариантами осуществления;
[0014] На Фиг. 4 изображен еще один примерный способ работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления;
[0015] На Фиг. 5 изображен еще один примерный способ работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления;
[0016] На Фиг. 6 изображено примерное устройство для работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления;
[0017] На Фиг. 7 изображен примерный модуль получения для примерного рабочего устройства в соответствии с различными раскрытыми вариантами осуществления;
[0018] На Фиг. 8 изображен примерный модуль выбора для примерного рабочего устройства в соответствии с различными раскрытыми вариантами осуществления;
[0019] На Фиг. 9 изображена примерная среда, содержащая в себе некоторые раскрытые варианты осуществления; и
[0020] На Фиг. 10 изображен примерный сервер в соответствии с раскрытыми вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0021] Далее будет сделана подробная ссылка на примерные варианты осуществления раскрытия, которые изображены на сопроводительных чертежах. Везде, где возможно, одни и те же ссылочные позиции будут использоваться повсюду на чертежах для ссылки на одни и те же или похожие части.
[0022] На Фиг. 1-8 изображены примерные способы и устройство для работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления. Примерные способы и устройство могут быть реализованы, например, в примерной среде 900, показанной на Фиг. 9.
[0023] Как показано на Фиг. 9, среда 900 может включать в себя сервер 904, терминал 906 и сеть 902 связи. Сервер 904 и терминал 906 могут соединяться через сеть 902 связи для обмена информацией, например, поиска в Интернете, просмотра веб-страниц и т.д. Несмотря на то, что в среде 900 изображены только один терминал 906 и один сервер 904, в нем может содержаться любое количество терминалов 906 или серверов 904, а также в нем могут содержаться другие устройства.
[0024] Сеть 902 связи может включать в себя любой подходящий тип сети связи для обеспечения сетевых соединений с сервером 904 и терминалом 906 или среди множества серверов 904 или терминалов 906. Например, сеть 902 связи может включать в себя Интернет или другие типы компьютерных сетей или телекоммуникационных сетей, проводных или беспроводных.
[0025] К терминалу, используемому в данном документе, может относиться любое соответствующее пользовательское оконечное устройство с конкретными вычислительными возможностями, например персональный компьютер (PC), производственный компьютер, портативный компьютер, автомобильный компьютер (например, установленный в автомобиле или других транспортных средствах), компьютер-сервер, карманное вычислительное устройство (например, планшетный компьютер), мобильный терминал (например, мобильный телефон, смартфон, iPad и/или aPad), POS (то есть точка продаж) устройство или любое другое вычислительное устройство на стороне пользователя. В различных вариантах осуществления термины «терминал» и «оконечное устройство» могут использоваться взаимозаменяемо. В различных вариантах осуществления терминал 906 может включать в себя один или более браузеров, установленных в нем, и может упоминаться в качестве терминала с установленным браузером.
[0026] К серверу, используемому в данном документе, могут относиться один или более компьютеров-серверов, выполненных с возможностью предоставления некоторых функциональных возможностей сервера, например поисковые механизмы и управление базами данных. Сервер также может включать в себя один или более процессоров для параллельного исполнения компьютерных программ.
[0027] Сервер 904 и терминал 906 могут быть реализованы на любой подходящей вычислительной платформе. На Фиг. 10 изображена блок-схема примерной вычислительной системы 1000, выполненной с возможностью реализации сервера 904 и/или терминала 906. Как показано на Фиг. 10, примерная вычислительная система 1000 может включать в себя процессор 1002, носитель 1004 хранения информации, монитор 1006, модуль 1008 связи, базу 1010 данных, периферийные устройства 1012 и одну или более шин 1014 для соединения устройств друг с другом. Некоторые устройства могут быть опущены, а другие устройства могут быть введены.
[0028] Процессор 1002 может включать в себя любой подходящий процессор или процессоры. Дополнительно процессор 1002 может включать в себя множество ядер для многопоточной или параллельной обработки. Носитель 1004 хранения информации может включать в себя модули запоминающего устройства, например ROM, RAM и модули флэш-памяти, а также запоминающие устройства большой емкости, например CD-ROM, U-disk, сменный жесткий диск, и т.д. Носитель 1004 хранения информации может хранить компьютерные программы для реализации различных процессов, исполняемых процессором 1002.
[0029] Дополнительно, периферийные устройства 1012 могут включать в себя устройства ввода-вывода, например клавиатуру и мышь, а модуль 1008 связи может включать в себя сетевые устройства для установления соединений через сеть 902 связи. База 1010 данных может включать в себя одну или более баз данных для хранения некоторых данных и для выполнения некоторых действий над хранимыми данными, например просмотр веб-страниц, поиск по базе данных и т.д.
[0030] При работе терминал 906 может предписывать серверу 904 выполнение конкретных действий, например поиск в Интернете или другие действия с базой данных. Сервер 904 может быть выполнен с возможностью предоставления структур и функций для таких действий и операций. В частности, сервер 904 может включать в себя систему поиска данных для поиска по базе данных в реальном времени. В различных вариантах осуществления терминал, например, мобильный терминал, используемый в раскрытых способах и системах, может включать в себя терминал 906.
[0031] Как обсуждено выше, примерный терминал может включать в себя, например, PC (то есть персональный компьютер), планшетные персональные компьютеры, мобильные телефоны, PDA (то есть персональные цифровые секретари), устройства чтения электронных книг, портативные компьютеры, автомобильные терминалы (например, терминалы, переносимые моторными транспортными средствами) и/или другие устройства. В примерном варианте осуществления браузер может быть браузером на основе ядра WebKit, а браузерный движок может быть механизмом обработки JS (Java Script). Примерный механизм обработки JS браузера может быть механизмом обработки JSC (то есть java script core, разновидностью механизмов обработки JavaScript). Механизм обработки JSC может содержаться в ядре WebKit браузера. Браузер может быть установлен в терминале. Используемый в данном документе, пока не указано иное, терминал может упоминаться в качестве терминала, в который установлен один или более браузеров, терминал, содержащий установленный браузер(ы), или терминал с установленным браузером.
[0032] К используемой в данном документе рабочей среде браузера относится системная среда терминала с установленным браузером. Системная среда может включать в себя, например, CPU-среду терминала. CPU-среда терминала может включать в себя, например, типы наборов команд, поддерживаемых CPU (центральным блоком обработки) в терминале. Типы наборов команд могут включать в себя, например, набор команд VFP (то есть сопроцессор векторов чисел с плавающей запятой для ARM), набор команд NEON (то есть расширенная структура, подходящая для процессоров ARM), набор команд VFPv3, набор команд VFPv2, набор команд VFPv1, набор команд SSE (то есть потокового SIMD-расширения) и т.д. CPU-среда терминала может также включать в себя, например, типы, количества, частоты и другие подходящие параметры CPU, который используется в терминале.
[0033] В различных вариантах осуществления рабочий режим браузерного движка может включать в себя, например, рабочий режим JIT (то есть строго вовремя) или рабочий режим интерпретатора. Рабочий режим JIT включает в себя, например, до исполнения кода программы преобразование байтового кода в собственный машинный код и осуществление функционирования преобразованного собственного машинного кода в CPU. Рабочий режим интерпретатора включает в себя, например, исполнение кода программы по принципу исполнения строки сразу после интерпретации строки.
[0034] На Фиг. 1-5 изображен примерный способ работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления. Например, на Фиг. 1 изображена блок-схема последовательности операций, изображающая примерный способ работы браузерного движка. Примерный способ работы может включать в себя Этапы S101-S103.
[0035] На этапе S101 при запуске браузера может быть получена рабочая среда браузера. Рабочая среда может включать в себя CPU-среду в терминале с установленным браузером.
[0036] Конфигурационный файл(ы) может храниться в терминале (например, терминале с установленным браузером). В конфигурационном файле(ах) могут быть записаны параметры CPU-среды, используемые в центральной машине. Например, для мобильного телефона Android типы, частоты, поддерживаемые наборы команд и/или другие подходящие параметры CPU-среды, используемые мобильным телефоном Android, могут быть записаны в файле /proc/cpuinfo («/проц/срuинфо») мобильного телефона Android. В данном случае в течение процесса запуска браузера записанное содержимое файла может быть считано, и может быть определена рабочая среда браузера.
[0037] На Фиг. 2 изображена блок-схема последовательности операций, изображающая примерный способ выполнения Этапа S101, изображенного на Фиг. 1. Например, Этап 101 может включать в себя Этапы S1101 и S1103.
[0038] На этапе S1101 конфигурационный файл может быть получен из терминала с установленным браузером. Когда конфигурационный файл хранится в терминале, параметры CPU-среды, используемые центральной машиной, могут быть записаны в конфигурационном файле. Запись параметров CPU-среды может включать в себя считывание хранящихся конфигурационных файлов из терминала в течение процесса запуска браузера.
[0039] На этапе S1102 параметры CPU-среды терминала могут считываться из конфигурационного файла для определения рабочей среды браузера. Параметры CPU-среды могут включать в себя, например, типы наборов команд, поддерживаемые CPU терминала.
[0040] На Фиг. 1 на этапе S102 согласно рабочей среде может быть выбран согласованный рабочий режим браузерного движка. В данном случае согласно рабочей среде браузера может быть выбран согласованный рабочий режим браузерного движка.
[0041] На Фиг. 3 изображена блок-схема последовательности операций, изображающая примерный способ выполнения Этапа S102, изображенного на Фиг. 1. Например, Этап S102 может включать в себя Этапы S1201 и S1203.
[0042] На этапе S1201 определяется, поддерживает ли CPU терминала с установленным браузером предварительно установленный тип наборов команд. Когда определено, что CPU терминала с установленным браузером поддерживает предварительно установленный тип наборов команд, то способ может перейти к выполнению Этапа S1202. Когда определено, что CPU терминала с установленным браузером не поддерживает предварительно установленный тип наборов команд, то способ может перейти к выполнению Этапа S1203.
[0043] На этапе S1202 рабочий режим компиляции JIT (строго вовремя) (или рабочий режим JIT) может быть выбран в качестве рабочего режима браузерного движка. На этапе S1203 рабочий режим интерпретатора может быть выбран в качестве рабочего режима браузерного движка.
[0044] В различных вариантах осуществления предварительно установленный тип набора команд может быть реализован следующим образом.
[0045] В одном варианте осуществления предварительно установленный тип наборов команд может включать в себя набор команд VFP и набор команд NEON. То есть когда CPU поддерживает набор команд VFP при одновременной поддержке набора команд NEON, то может осуществляться функционирование механизма обработки JSC, например, с использованием рабочего режима JIT, чтобы гарантировать скорость работы браузера. В некоторых случаях, когда CPU не поддерживает одновременно набор команд VFP и набор команд NEON, то может осуществляться функционирование механизма обработки JSC, например, с использованием рабочего режима интерпретатора, чтобы позволить браузеру функционировать.
[0046] В другом варианте осуществления предварительно установленный тип наборов команд может включать в себя набор команд VFPv3. CPU, который поддерживает набор команд VFPv3, может более быстро и эффективно использоваться для работы с некоторыми стандартными мультимедийными вычислительными задачами. Например, CPU в умном терминале (или интеллектуальном терминале) с расширенной конфигурацией может поддерживать набор команд VFPv3, в то время как CPU в обычном терминале с ограниченной конфигурацией не поддерживает набор команд VFPv3, однако может иметь низкую стоимость. Когда механизм обработки JSC использует рабочий режим JIT для запуска в CPU, который не поддерживает набор команд VFPv3, то может быть сгенерирована исключительная ситуация для запрещенной команды, чтобы вызвать отказ работы браузера. Когда механизм обработки JSC использует рабочий режим интерпретатора для запуска в CPU, который поддерживает набор команд VFPv3, то может быть ухудшена скорость работы браузера. Поэтому, когда CPU терминала с установленным браузером поддерживает набор команд VFPv3, механизм обработки JSC может предпочтительно использовать рабочий режим JIT для того, чтобы гарантировать скорость работы браузера. Когда CPU терминала с установленным браузером не поддерживает набор команд VFPv3, то механизм обработки JSC может предпочтительно использовать рабочий режим интерпретатора, чтобы избегать отказа работы браузера и гарантировать работу браузера.
[0047] На этапе S103 может осуществляться функционирование браузерного движка с использованием выбранного рабочего режима. В данном случае функция организации очереди может быть вставлена в механизм обработки JSC. Когда механизм обработки JSC функционирует, то функция организации очереди в механизме обработки JSC может изменять поток исполнения механизма обработки JSC для использования выбранного рабочего режима. Затем механизм обработки JSC может использовать выбранный рабочий режим для исполнения кода программы для отображения информации страницы в браузере.
[0048] На Фиг. 4 изображен еще один примерный способ работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления. Примерный способ работы может включать в себя Этапы S201-S207.
[0049] На этапе S201 запускается браузер. На этапе S202 получается конфигурационный файл терминала с установленным браузером. На этапе S203 параметры CPU-среды терминала могут быть считаны из конфигурационного файла для определения рабочей среды браузера.
[0050] На этапе S204 определяется, поддерживает ли CPU терминала с установленным браузером набор команд VFPv3. Когда определено, что CPU терминала с установленным браузером поддерживает набор команд VFPv3, то способ может перейти к выполнению Этапа S205. В противном случае, когда определено, что CPU терминала с установленным браузером не поддерживает набор команд VFPv3, то способ может перейти к выполнению Этапа S206.
[0051] Когда механизм обработки JSC использует рабочий режим JIT для запуска в CPU, который не поддерживает набор команд VFPv3, то может быть сгенерирована исключительная ситуация для запрещенной команды, чтобы вызвать отказ работы браузера. Когда механизм обработки JSC использует рабочий режим интерпретатора для запуска в CPU, который поддерживает набор команд VFPv3, то может быть ухудшена скорость работы браузера. В данном случае согласно параметрам CPU-среды, которые считаны, может быть определено, поддерживает ли CPU терминала с установленным браузером набор команд VFPv3.
[0052] На этапе S205, рабочий режим компиляции JIT (строго вовремя) может быть выбран в качестве рабочего режима браузерного движка. На этапе S206 рабочий режим интерпретатора может быть выбран в качестве рабочего режима браузерного движка.
[0053] Поэтому, когда CPU терминала с установленным браузером поддерживает набор команд VFPv3, механизм обработки JSC может предпочтительно использовать рабочий режим JIT для того, чтобы гарантировать скорость работы браузера. Когда CPU терминала с установленным браузером не поддерживает набор команд VFPv3, то механизм обработки JSC может предпочтительно использовать рабочий режим интерпретатора, чтобы избегать отказа работы браузера и гарантировать нормальную работу браузера.
[0054] На этапе S207 осуществляется функционирование браузерного движка. В данном случае, когда рабочий режим JIT (строго вовремя) выбирается в качестве рабочего режима механизма обработки JSC, браузерный движок может использовать рабочий режим JIT для исполнения кода программы отображения информации страницы в браузере. Когда рабочий режим интерпретатора выбирается в качестве рабочего режима механизма обработки JSC, то браузерный движок может использовать рабочий режим интерпретатора для исполнения кода программы для отображения информации страницы в браузере.
[0055] На Фиг. 5 изображен еще один примерный способ работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления. Примерный способ может быть выполнен посредством Этапов S301-S307.
[0056] На этапе S301 запускается браузер. На этапе S302 получается конфигурационный файл терминала с установленным браузером. На этапе S303 параметры CPU-среды терминала могут быть считаны из конфигурационного файла для определения рабочей среды браузера.
[0057] На этапе S304 определяется, поддерживает ли CPU терминала с установленным браузером одновременно набор команд VFP и набор команд NEON. Когда определено, что CPU терминала с установленным браузером одновременно поддерживает набор команд VFP и набор команд NEON, то способ может перейти к выполнению Этапа S305. Иначе, когда определено, что CPU терминала с установленным браузером не поддерживает одновременно набор команд VFP и набор команд NEON, способ может перейти к выполнению Этапа S306.
[0058] На этапе S305 рабочий режим компиляции JIT (строго вовремя) может быть выбран в качестве рабочего режима браузерного движка. Затем способ может перейти к выполнению Этапа 307.
[0059] На этапе S306 рабочий режим интерпретатора может быть выбран в качестве рабочего режима браузерного движка. Когда CPU терминала с установленным браузером одновременно поддерживает набор команд VFP и набор команд NEON, то механизм обработки JSC может предпочтительно использовать рабочий режим JIT, чтобы гарантировать скорость работы браузера. Когда CPU терминала с установленным браузером не поддерживает одновременно набор команд VFP и набор команд NEON, то механизм обработки JSC может предпочтительно использовать рабочий режим интерпретатора, чтобы гарантировать нормальную работу браузера.
[0060] На этапе S307 осуществляется функционирование браузерного движка.
[0061] Как раскрыто в данном документе, согласно рабочей среде (включающей в себя, например, CPU-среду терминала с установленным браузером) согласованный рабочий режим может быть выбран для работы браузерного движка. По такому принципу может осуществляться функционирование браузера в рабочей среде в различных типах терминала, то есть браузер может использоваться в различных типах терминалов. Может быть улучшена гибкость использования браузера.
[0062] На Фиг. 6-8 изображено различное примерное рабочее устройство для работы браузерного движка в соответствии с различными раскрытыми вариантами осуществления. Рабочее устройство может быть, например, непосредственно механизмом обработки браузера или сконфигурированным в браузере, но независимым от браузерного движка. Такое примерное устройство может использоваться для выполнения различных раскрытых способов.
[0063] На Фиг. 6 изображено рабочее устройство для браузерного движка в соответствии с различными раскрытыми вариантами осуществления. Примерное рабочее устройство может включать в себя модуль 101 получения, модуль 102 выбора и/или рабочий модуль 103.
[0064] Модуль 101 получения может быть выполнен при запуске браузера с возможностью получения рабочей среды браузера. Рабочая среда может включать в себя, например, CPU-среду терминала с установленным браузером.
[0065] Конфигурационный файл(ы) может храниться в терминале. В конфигурационном файле(ах) могут быть записаны параметры CPU-среды, используемые в центральной машине (например, в терминале). Например, для мобильного телефона Android типы, частоты, поддерживаемые наборы команд, и/или другие подходящие параметры CPU-среды, используемые мобильным телефоном Android, могут быть записаны в файле /proc/cpuinfo («/проц/срuинфо») мобильного телефона Android. В данном случае в течение процесса запуска браузера записанное содержимое файла может быть считано, и может быть определена рабочая среда браузера.
[0066] На Фиг. 7 изображен примерный модуль 101 получения. В одном варианте осуществления примерный модуль 101 получения может быть выполнен в устройстве, изображенном на Фиг. 6. Такой примерный модуль 101 получения может включать в себя блок 1101 получения конфигурационного файла и/или блок 1102 считывания.
[0067] Блок 1101 получения конфигурационного файла может быть выполнен, при запуске браузера с возможностью получения конфигурационного файла терминала с установленным браузером.
[0068] Блок 1102 считывания может быть выполнен с возможностью считывания параметров CPU-среды терминала из конфигурационного файла для определения рабочей среды браузера.
[0069] Модуль 102 выбора используется для выбора согласованного рабочего режима браузерного движка согласно рабочей среде. На Фиг. 8 изображен примерный модуль 102 выбора. В одном варианте осуществления примерный модуль 102 выбора может быть выполнен в устройстве, изображенном на Фиг. 6. Такой примерный модуль 102 выбора может включать в себя блок 1201 определения и/или блок 1202 выбора.
[0070] Блок 1201 определения может использоваться для определения, поддерживает ли CPU терминала с установленным браузером предварительно установленный тип наборов команд. Предварительно установленный тип наборов команд может быть набором команд VFPv3. Альтернативно, предварительно установленный тип набора команд может быть набором команд VFP и набором команд NEON.
[0071] Блок 1202 выбора используется для выбора рабочего режима компиляции JIT (или рабочий режим JIT) в качестве рабочего режима браузерного движка, когда определено, что CPU терминала с установленным браузером поддерживает предварительно установленный тип набора команд. Альтернативно, блок 1202 выбора используется для выбора рабочего режима интерпретатора в качестве рабочего режима браузерного движка, когда определено, что CPU терминала с установленным браузером не поддерживает предварительно установленный тип набора команд.
[0072] На Фиг. 7 модуль 103 может быть выполнен с возможностью использования выбранного рабочего режима для запуска или работы браузерного движка.
[0073] В конкретных вариантах осуществления функция организации очереди может быть вставлена в механизм обработки JSC. Когда механизм обработки JSC находится в рабочем состоянии, то функция организации очереди в механизме обработки JSC может изменять поток исполнения механизма обработки JSC для использования выбранного рабочего режима. Модуль 103 может использовать выбранный рабочий режим для исполнения кода программы для отображения информации страницы в браузере. Когда модуль 103 использует выбранный рабочий режим для работы, браузерный движок может исполнять код программы для отображения информации страницы в браузере.
[0074] Следует отметить, что функции различных модулей в примерном осуществляющем функционирование устройстве браузерного движка могут быть реализованы согласно вышеупомянутым раскрытым способам.
[0075] Как раскрыто в данном документе, согласно рабочей среде (включающей в себя, например, CPU-среду терминала с установленным браузером) согласованный рабочий режим может быть выбран для работы браузерного движка. По такому принципу может осуществляться функционирование браузера в рабочей среде в различных типах терминалов, то есть браузер может использоваться в различных типах терминалов. Может быть улучшена гибкость использования браузера.
[0076] Различные варианты осуществления дополнительно включают в себя браузер. Браузер может включать в себя примерное рабочее устройство, изображенное на Фиг. 6-8. Дополнительно раскрытый браузер может использоваться для реализации способов, раскрытых на Фиг. 1-5. На основе рабочего устройства браузерного движка может осуществляться функционирование браузера в рабочей среде множества типов терминалов. То есть браузер может использоваться в различных типах терминалов, включающих в себя умные/интеллектуальные терминалы и обычные терминалы. Может быть улучшена гибкость использования браузера.
[0077] Различные варианты осуществления дополнительно включают в себя терминал. Примерные браузеры, раскрытые в данном документе, могут быть установлены в таком терминале и могут включать в себя одно или более рабочих устройств, изображенных на Фиг. 6 -8. Дополнительно раскрытый терминал может использоваться для реализации способов, раскрытых на Фиг. 1-5. На основе рабочего устройства браузерного движка может осуществляться работа браузера в рабочей среде множества типов терминалов.
[0078] В различных вариантах осуществления раскрытые модули могут быть выполнены в одном устройстве или выполнены во множестве устройств по необходимости. Модули, раскрытые в данном документе, могут быть встроены в один модуль или во множество модулей. Каждый из модулей, раскрытых в данном документе, может быть разделен на один или более подмодулей, которые могут перекомпоновываться любым образом.
[0079] Специалисту в уровне техники должно быть понятно, что подходящее программное обеспечение и/или аппаратное обеспечение (например, платформа универсального аппаратного обеспечения) могут содержаться и использоваться в раскрытых способах и системах. Например, раскрытые варианты осуществления могут быть реализованы только посредством аппаратного обеспечения, которое альтернативно может быть реализовано только посредством продуктов программного обеспечения. Продукты программного обеспечения могут храниться на считываемом компьютером носителе хранения информации, включающем в себя, например, ROM/RAM, магнитный диск, оптический диск и т.д. Продукты программного обеспечения могут включать в себя подходящие команды, позволяющие оконечному устройству (например, включающему в себя мобильный телефон, персональный компьютер, сервер или сетевое устройство и т.д.) реализовывать раскрытые варианты осуществления.
[0080] Варианты осуществления, раскрытые в данном документе, являются всего лишь примерными. Другие применения, преимущества, альтернативы, модификации или эквиваленты раскрытых вариантов осуществления являются очевидными для специалистов в уровне техники, и подразумевается, что они охватываются объемом настоящего раскрытия.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ И ПРЕИМУЩЕСТВЕННЫЕ ДЕЙСТВИЯ
[0081] Не накладывая ограничений на объем какого-либо пункта формулы изобретения и/или спецификации, примеры промышленной применимости и некоторые преимущественные результаты раскрытых вариантов осуществления перечисляются в иллюстративных целях. Различные альтернативы, модификации или эквиваленты технических решений раскрытых вариантов осуществления могут быть очевидными специалистам в уровне техники и могут быть включены в данное раскрытие.
[0082] Различные варианты осуществления обеспечивают способы и устройства для работы браузерного движка и связанные браузеры и терминалы. При запуске браузера может быть получена рабочая среда браузера. Рабочая среда может включать в себя CPU-среду в терминале с установленным браузером. Согласованный рабочий режим браузерного движка может быть выбран согласно рабочей среде. Выбранный рабочий режим может использоваться для работы браузерного движка. Примерное устройство для работы браузерного движка может включать в себя модуль получения, модуль выбора и рабочий модуль. Различные варианты осуществления также обеспечивают браузер, включающий в себя раскрытое устройство, и терминал, включающий в себя раскрытый браузер.
[0083] Как раскрыто в данном документе, согласно рабочей среде (включающей в себя, например, CPU-среду терминала с установленным браузером) согласованный рабочий режим может быть выбран для работы браузерного движка. По такому принципу может осуществляться работа браузера в рабочей среде в различных типах терминалов, то есть браузер может использоваться в различных типах терминалов. Может быть улучшена гибкость использования браузера.

Claims (27)

1. Способ работы терминала с установленным браузером, согласно которому:
получают рабочую среду браузера при запуске браузера, причем рабочая среда содержит CPU-среду в терминале с установленным браузером, а параметры CPU-среды содержат тип наборов команд, поддерживаемый CPU терминала с установленным браузером;
определяют, поддерживает ли CPU терминала с установленным браузером предварительно установленный тип наборов команд согласно рабочей среде;
выбирают согласованный рабочий режим браузерного движка согласно результату определения, причем рабочий режим браузерного движка представляет собой режим исполнения браузером кода программы, и
используют выбранный рабочий режим для работы браузерного движка.
2. Способ по п. 1, в котором получение рабочей среды браузера содержит этапы, на которых:
получают конфигурационный файл от терминала с установленным браузером и
считывают параметры CPU-среды из конфигурационного файла терминала с установленным браузером для определения рабочей среды браузера.
3. Способ по любому из пп. 1-2, в котором согласованный рабочий режим браузерного движка содержит рабочий режим JIT (строго вовремя) или рабочий режим интерпретатора.
4. Способ по п. 3, в котором этап выбора согласованного рабочего режима браузерного движка согласно результату определения содержит этапы, на которых:
выбирают рабочий режим JIT в качестве рабочего режима браузерного движка, когда определено, что CPU терминала с установленным браузером поддерживает предварительно установленный тип наборов команд; или
выбирают рабочий режим интерпретатора в качестве рабочего режима браузерного движка, когда определено, что CPU терминала с установленным браузером не поддерживает предварительно установленный тип наборов команд.
5. Способ по п. 4, в котором предварительно установленный тип наборов команд содержит набор команд VFP и набор команд NEON.
6. Способ по п. 4, в котором предварительно установленный тип наборов команд содержит набор команд VFPv3.
7. Устройство для работы браузерного движка, содержащее:
модуль получения, выполненный с возможностью получения рабочей среды браузера при запуске браузера, причем рабочая среда содержит CPU-среду в терминале с установленным браузером, а параметры CPU-среды содержат тип наборов команд, поддерживаемый CPU терминала с установленным браузером;
блок определения, выполненный с возможностью определения, поддерживает ли CPU терминала с установленным браузером предварительно установленный тип наборов команд согласно рабочей среде;
модуль выбора, выполненный с возможностью выбора согласованного рабочего режима браузерного движка согласно результату определения, причем рабочий режим браузерного движка представляет собой режим исполнения браузером кода программы; и
рабочий модуль, выполненный с возможностью использования выбранного рабочего режима для работы браузерного движка.
8. Устройство по п. 7, в котором модуль получения содержит:
блок получения конфигурационного файла, выполненный с
возможностью получения конфигурационного файла из терминала с установленным браузером; и
блок считывания, выполненный с возможностью считывания параметров CPU-среды из конфигурационного файла терминала с установленным браузером для определения рабочей среды браузера.
9. Устройство по любому из пп. 7-8, в котором согласованный рабочий режим браузерного движка содержит рабочий режим JIT (строго вовремя) или рабочий режим интерпретатора.
10. Устройство по любому из пп. 7-8, в котором модуль выбора содержит:
блок выбора, выполненный с возможностью выбора рабочего режима JIT в качестве рабочего режима браузерного движка, когда определено, что CPU терминала с установленным браузером поддерживает предварительно установленный тип наборов команд; либо выполненный с возможностью выбора рабочего режима интерпретатора в качестве рабочего режима браузерного движка, когда определено, что CPU терминала с установленным браузером не поддерживает предварительно установленный тип наборов команд.
11. Устройство по п. 10, в котором предварительно установленный тип наборов команд содержит набор команд VFP и набор команд NEON, либо предварительно установленный тип наборов команд содержит набор команд VFPv3.
RU2014133353A 2012-09-07 2013-09-05 Способы и устройство для работы браузерного движка RU2616164C9 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210329720.3A CN103678340B (zh) 2012-09-07 2012-09-07 浏览器引擎的运行方法、装置、浏览器及终端
CN201210329720.3 2012-09-07
PCT/CN2013/083016 WO2014036958A1 (en) 2012-09-07 2013-09-05 Methods and apparatus for operating browser engine

Publications (3)

Publication Number Publication Date
RU2014133353A RU2014133353A (ru) 2016-03-10
RU2616164C2 true RU2616164C2 (ru) 2017-04-12
RU2616164C9 RU2616164C9 (ru) 2017-12-22

Family

ID=50236554

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014133353A RU2616164C9 (ru) 2012-09-07 2013-09-05 Способы и устройство для работы браузерного движка

Country Status (6)

Country Link
US (1) US9565244B2 (ru)
CN (1) CN103678340B (ru)
MY (1) MY168577A (ru)
RU (1) RU2616164C9 (ru)
TW (1) TW201411382A (ru)
WO (1) WO2014036958A1 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681850B (zh) * 2012-05-07 2015-05-20 北京奇虎科技有限公司 一种基于Webkit内核提供网页浏览的方法及装置
CN105573768A (zh) * 2014-10-09 2016-05-11 腾讯科技(深圳)有限公司 一种利用应用内核进行数据处理的方法及装置
CN104954867A (zh) * 2015-06-26 2015-09-30 努比亚技术有限公司 媒体播放方法及装置
CN109316751B (zh) * 2018-09-20 2021-08-10 Oppo广东移动通信有限公司 游戏适配方法、相关设备以及计算机可读存储介质
CN109126124B (zh) * 2018-09-20 2021-10-22 Oppo广东移动通信有限公司 引擎适配方法、相关设备以及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802304A (en) * 1996-04-18 1998-09-01 Microsoft Corporation Automatic dialer responsive to network programming interface access
US6139199A (en) * 1997-06-11 2000-10-31 Sun Microsystems, Inc. Fast just-in-time (JIT) scheduler
US6637025B1 (en) * 1998-12-03 2003-10-21 International Business Machines Corporation Dynamic selection/definition of which class/methods should or should not be jit'ed using information stored in a jar file
US20060190934A1 (en) * 2005-02-18 2006-08-24 International Business Machines Corporation Method and apparatus for inlining native functions into compiled Java code
US20070078947A1 (en) * 2000-08-24 2007-04-05 Lakhdhir Mansoor A Apparatus, System and Method for Detecting Old Versions of an Applet in a Client Browser's JVM
US20080263010A1 (en) * 2006-12-12 2008-10-23 Microsoft Corporation Techniques to selectively access meeting content
US20090144710A1 (en) * 2005-02-18 2009-06-04 International Business Machines Corporation Method and Apparatus for Transforming Java Native Interface Function Calls into Simpler Operations During Just-In-Time Compilation
RU2365978C2 (ru) * 2003-10-24 2009-08-27 Майкрософт Корпорейшн Интерфейс программирования для компьютерной платформы
RU2371758C2 (ru) * 2003-10-24 2009-10-27 Майкрософт Корпорейшн Интерфейс программирования для компьютерной платформы
US20090282327A1 (en) * 2008-05-12 2009-11-12 International Business Machines Corporation Method and system for efficient web page rendering

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2376100B (en) * 2001-05-31 2005-03-09 Advanced Risc Mach Ltd Data processing using multiple instruction sets
EP1308838A3 (en) * 2001-10-31 2007-12-19 Aplix Corporation Intermediate code preprocessing apparatus, intermediate code execution apparatus, intermediate code execution system, and computer program product for preprocessing or executing intermediate code
CN101231597A (zh) * 2008-02-01 2008-07-30 东信和平智能卡股份有限公司 智能卡中java程序指令的执行方法
US20100005410A1 (en) 2008-07-03 2010-01-07 Pang Xin Mobile device application framework
CN102024048B (zh) * 2010-12-15 2014-04-09 中兴通讯股份有限公司 一种移动终端及其浏览器的实现方法
US9141414B2 (en) * 2010-12-21 2015-09-22 Sap Se Preferred compilation
CN102156709B (zh) * 2011-02-28 2020-01-03 奇智软件(北京)有限公司 一种浏览器引擎模式的切换方法
US8880991B2 (en) * 2011-04-21 2014-11-04 Qualcomm Innovation Center, Inc. Methods and apparatus for improved browsing performance by precompilation of high-priority JavaScripts in a webpage and delaying the removal of corresponding compiled code
US8595510B2 (en) * 2011-06-22 2013-11-26 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US20130024811A1 (en) * 2011-07-19 2013-01-24 Cbs Interactive, Inc. System and method for web page navigation
US8539463B2 (en) * 2011-07-28 2013-09-17 Qualcomm Innovation Center, Inc. Apparatus and method for improving the performance of compilers and interpreters of high level programming languages
US8819649B2 (en) * 2011-09-09 2014-08-26 Microsoft Corporation Profile guided just-in-time (JIT) compiler and byte code generation
US20130205282A1 (en) * 2012-02-07 2013-08-08 Microsoft Corporation Transferring program execution from compiled code to interpreted code
US8935775B2 (en) * 2012-06-28 2015-01-13 Intel Corporation Method and apparatus for dishonest hardware policies
WO2014042976A2 (en) * 2012-09-15 2014-03-20 Numbergun Llc, A Utah Limited Liability Company Flexible high-speed generation and formatting of application-specified strings
US9569342B2 (en) * 2012-12-20 2017-02-14 Microsoft Technology Licensing, Llc Test strategy for profile-guided code execution optimizers
US9632804B2 (en) * 2013-01-24 2017-04-25 Tencent Technology (Shenzhen) Company Limited Method, apparatus, and communication system for implementing internet application
US10127138B2 (en) * 2013-06-06 2018-11-13 Microsoft Technology Licensing, Llc. Debugging native code by transitioning from execution in native mode to execution in interpreted mode

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802304A (en) * 1996-04-18 1998-09-01 Microsoft Corporation Automatic dialer responsive to network programming interface access
US6139199A (en) * 1997-06-11 2000-10-31 Sun Microsystems, Inc. Fast just-in-time (JIT) scheduler
US6637025B1 (en) * 1998-12-03 2003-10-21 International Business Machines Corporation Dynamic selection/definition of which class/methods should or should not be jit'ed using information stored in a jar file
US20070078947A1 (en) * 2000-08-24 2007-04-05 Lakhdhir Mansoor A Apparatus, System and Method for Detecting Old Versions of an Applet in a Client Browser's JVM
RU2365978C2 (ru) * 2003-10-24 2009-08-27 Майкрософт Корпорейшн Интерфейс программирования для компьютерной платформы
RU2371758C2 (ru) * 2003-10-24 2009-10-27 Майкрософт Корпорейшн Интерфейс программирования для компьютерной платформы
US20060190934A1 (en) * 2005-02-18 2006-08-24 International Business Machines Corporation Method and apparatus for inlining native functions into compiled Java code
US20090144710A1 (en) * 2005-02-18 2009-06-04 International Business Machines Corporation Method and Apparatus for Transforming Java Native Interface Function Calls into Simpler Operations During Just-In-Time Compilation
US20090193404A1 (en) * 2005-02-18 2009-07-30 International Business Machines Corporation Method and apparatus for inlining native functions into compiled java code
US20080263010A1 (en) * 2006-12-12 2008-10-23 Microsoft Corporation Techniques to selectively access meeting content
US20090282327A1 (en) * 2008-05-12 2009-11-12 International Business Machines Corporation Method and system for efficient web page rendering

Also Published As

Publication number Publication date
CN103678340A (zh) 2014-03-26
CN103678340B (zh) 2016-09-14
US20140095575A1 (en) 2014-04-03
RU2014133353A (ru) 2016-03-10
MY168577A (en) 2018-11-14
RU2616164C9 (ru) 2017-12-22
TW201411382A (zh) 2014-03-16
WO2014036958A1 (en) 2014-03-13
US9565244B2 (en) 2017-02-07

Similar Documents

Publication Publication Date Title
RU2616164C2 (ru) Способы и устройство для работы браузерного движка
CN109325195A (zh) 浏览器的渲染方法和系统、计算机设备、计算机存储介质
EP3455695A1 (en) Page component dynamic layout
JP6992012B2 (ja) データ処理方法及びデバイス
JP2020074193A (ja) サーチ方法、装置、設備および不揮発性計算機メモリ
RU2595524C2 (ru) Устройство и способ обработки содержимого веб-ресурса в браузере
JP2019513260A (ja) サービス実行方法及びデバイス
WO2018040270A1 (zh) 在Windows系统中加载Linux系统ELF文件的方法及装置
CN112817657B (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
CN107479868B (zh) 一种界面加载方法、装置及设备
CN103443763A (zh) 包含对重写虚拟函数的调用的支持的isa桥接
US9195440B2 (en) Intelligent data source selection in application development
US9632804B2 (en) Method, apparatus, and communication system for implementing internet application
CN104050001A (zh) 基于Android系统的资源处理方法、装置和设备
CN105138649A (zh) 数据的搜索方法、装置及终端
CN110147184B (zh) 导航回退的方法和控件
CN112416303B (zh) 软件开发工具包热修复方法、装置及电子设备
US20130110798A1 (en) Intercepting and processing database commands
CN106502707B (zh) 代码生成方法及装置
CN112182446B (zh) 页面的展示方法、装置、终端设备及计算机可读存储介质
US9916391B2 (en) Method, apparatus and terminal for webpage content browsing
WO2016168026A1 (en) Technologies for mining temporal patterns in big data
CN112988604B (zh) 对象测试方法、测试系统、电子设备及可读存储介质
CN112905931B (zh) 页面信息的展示方法、装置、电子设备及存储介质
US11645082B2 (en) Programming language trigger mechanisms for parallel asynchronous enumerations

Legal Events

Date Code Title Description
HC9A Changing information about inventors
TH4A Reissue of patent specification