RU2616164C9 - Способы и устройство для работы браузерного движка - Google Patents
Способы и устройство для работы браузерного движка Download PDFInfo
- Publication number
- RU2616164C9 RU2616164C9 RU2014133353A RU2014133353A RU2616164C9 RU 2616164 C9 RU2616164 C9 RU 2616164C9 RU 2014133353 A RU2014133353 A RU 2014133353A RU 2014133353 A RU2014133353 A RU 2014133353A RU 2616164 C9 RU2616164 C9 RU 2616164C9
- Authority
- RU
- Russia
- Prior art keywords
- browser
- operating mode
- terminal
- cpu
- engine
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
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 (26)
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.
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 RU2616164C2 (ru) | 2017-04-12 |
RU2616164C9 true 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)
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 | 努比亚技术有限公司 | 媒体播放方法及装置 |
CN109126124B (zh) * | 2018-09-20 | 2021-10-22 | Oppo广东移动通信有限公司 | 引擎适配方法、相关设备以及计算机可读存储介质 |
CN109316751B (zh) * | 2018-09-20 | 2021-08-10 | Oppo广东移动通信有限公司 | 游戏适配方法、相关设备以及计算机可读存储介质 |
Citations (10)
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)
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 |
US20160062954A1 (en) * | 2012-09-15 | 2016-03-03 | Numbergun Llc | 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 |
-
2012
- 2012-09-07 CN CN201210329720.3A patent/CN103678340B/zh active Active
-
2013
- 2013-08-28 TW TW102130948A patent/TW201411382A/zh unknown
- 2013-09-05 RU RU2014133353A patent/RU2616164C9/ru active
- 2013-09-05 WO PCT/CN2013/083016 patent/WO2014036958A1/en active Application Filing
- 2013-09-05 MY MYPI2014702169A patent/MY168577A/en unknown
- 2013-12-09 US US14/100,074 patent/US9565244B2/en active Active
Patent Citations (11)
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 |
---|---|
US20140095575A1 (en) | 2014-04-03 |
WO2014036958A1 (en) | 2014-03-13 |
CN103678340B (zh) | 2016-09-14 |
CN103678340A (zh) | 2014-03-26 |
US9565244B2 (en) | 2017-02-07 |
RU2014133353A (ru) | 2016-03-10 |
MY168577A (en) | 2018-11-14 |
TW201411382A (zh) | 2014-03-16 |
RU2616164C2 (ru) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2616164C9 (ru) | Способы и устройство для работы браузерного движка | |
CN109325195A (zh) | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 | |
JP6992012B2 (ja) | データ処理方法及びデバイス | |
RU2595524C2 (ru) | Устройство и способ обработки содержимого веб-ресурса в браузере | |
WO2018040270A1 (zh) | 在Windows系统中加载Linux系统ELF文件的方法及装置 | |
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 | |
CN105138649A (zh) | 数据的搜索方法、装置及终端 | |
CN104050001A (zh) | 基于Android系统的资源处理方法、装置和设备 | |
US11438403B2 (en) | Page presentation method and system, computer system, and computer readable medium | |
CN112182446A (zh) | 页面的展示方法、装置、终端设备及计算机可读存储介质 | |
CN112416303B (zh) | 软件开发工具包热修复方法、装置及电子设备 | |
CN113568608A (zh) | 一种组件信息的展示方法、装置、设备及存储介质 | |
CN106502707B (zh) | 代码生成方法及装置 | |
US9916391B2 (en) | Method, apparatus and terminal for webpage content browsing | |
WO2016168026A1 (en) | Technologies for mining temporal patterns in big data | |
CN112905931B (zh) | 页面信息的展示方法、装置、电子设备及存储介质 | |
CN112988604B (zh) | 对象测试方法、测试系统、电子设备及可读存储介质 | |
WO2022078057A1 (zh) | 应用包发布方法、应用方法、装置、介质、服务器及设备 | |
CN103955515B (zh) | 双核浏览器的处理方法及装置 | |
US11645082B2 (en) | Programming language trigger mechanisms for parallel asynchronous enumerations | |
CN112068814A (zh) | 可执行文件的生成方法、装置、系统及介质 | |
CN113722019B (zh) | 平台程序的显示方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
HC9A | Changing information about inventors | ||
TH4A | Reissue of patent specification |