Способ и устройство для онлайн-предпросмотра документа
METHOD AND DEVICE FOR ONLINE PREVIEW OF DOCUMENT

Область техники
[0001] Настоящее изобретение относится к области Интернет-технологий, а именно, к способу онлайн-предпросмотра документа, а также к устройству для онлайн-предпросмотра документа.
Предпосылки создания изобретения
[0002] Благодаря бурному развитию Интернета пользователи получили возможность свободной загрузки всевозможных документов из сети для локального просмотра, однако при этом прочитать загруженные документы невозможно без соответствующего программного обеспечения, установленного на локальном устройстве. При этом загрузка документов, особенно имеющих большой объем, связана с дополнительным временем ожидания, что отрицательно сказывается на пользовательском восприятии. Ввиду этого, веб-сайты все чаще оснащают функциями онлайн-предпросмотра документов. На существующем уровне техники технологии онлайн-предпросмотра требуют предварительного преобразования документа, перед его отображением. Однако большинство подобных технологий не обладают высокой производительностью и не обеспечивают высокой скорости преобразования.
[0003] Ниже будут описаны два из наиболее часто применяемых на сегодняшний день решений для онлайн-предпросмотра документов.
[0004] Внешнее преобразование и онлайн-предпросмотр. В данном варианте реализации онлайн-предпросмотра документов, когда пользователь щелкает мышью по документу, чтобы выполнить его предпросмотр, в фоновом режиме запускается программа для преобразования документа. Этот метод удобен тем, что документ не нужно преобразовывать целиком, и преобразование выполняют, только когда пользователь желает просмотреть документ, что позволяет снизить нагрузку на сервер. Недостаток же метода заключается в том, что когда документ относительно велик, время ожидания пользователя растет может практически достигать времени полной загрузки документа, что отрицательно сказывается на пользовательском восприятии. При этом преобразование объемных документов, в условиях высокой параллельной нагрузки, может с высокой вероятностью приводить к ошибкам.
[0005] Асинхронное внутреннее преобразование документа. Этот метод онлайн-предпросмотра документов подразумевает асинхронное преобразование после загрузки пользователем документа в сеть, при этом просмотр документа пользователь инициирует щелчком мыши. Этот метод выгодно отличается скоростью активации предпросмотра и, соответственно, отличным пользовательским восприятием. Недостаток его заключается в необходимости преобразования всех документов, что означает высокую нагрузку на сервер. При этом также в случае объемных документов возможны ошибки при преобразовании.
[0006] Следует отметить, что информация, приведенная выше в настоящем разделе («Предпосылки создания изобретения»), служит исключительно для более глубокого понимания предпосылок создания настоящего изобретения, и, следовательно, не обязательно включает только информацию о существующем уровне техники, известную специалистам.
Сущность изобретения
[0007] Цель настоящего изобретения - предложить способ онлайн-предпросмотра документа, а также устройство для онлайн-предпросмотра документа, и по меньшей мере отчасти решить одну или более проблем, обусловленных ограничениями и недостатками существующего уровня техники.
[0008] В соответствии с одним из аспектов настоящего изобретения предложен способ онлайн-предпросмотра документа, включающий:
[0009] запрос, имеются ли данные, ассоциированные с первичным ключом, в кэш-сервере, в соответствии с первичным ключом контента, подлежащего предпросмотру;
[0010] если в результате запроса определено, что данные, ассоциированные с первичным ключом, имеются, получение данных, ассоциированных с первичным ключом, из кэш-сервера, и передачу данных, ассоциированных с первичным ключом, в сервер приложений;
[0011] после приема, сервером приложений, данных, ассоциированных с первичным ключом, определение количества просмотров страницы для первичного ключа, содержащегося в данных, ассоциированных с первичным ключом;
[0012] когда определено, что количество просмотров страницы не равно нулю, получение контента, подлежащего предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, и передачу контента, подлежащего предпросмотру, на сервер приложений; и
[0013] прием, сервером приложений, контента, подлежащего предпросмотру, для предпросмотра пользователем.
[0014] В еще одном из примеров осуществления настоящего изобретения способ дополнительно включает:
[0015] обновление количества просмотров страницы и сохранение количества просмотров страницы на кэш-сервере.
[0016] В еще одном из примеров осуществления настоящего изобретения способ дополнительно включает:
[0017] когда данные, ассоциированные с первичным ключом, отсутствуют, получение данных, ассоциированных с первичным ключом, из базы данных;
[0018] когда данные, ассоциированные с первичным ключом, имеются в базе данных, передачу данных, ассоциированных с первичным ключом, на кэш-сервер; и
[0019] когда данные, ассоциированные с первичным ключом, отсутствуют в базе данных, создание исходного значения данных, ассоциированных с первичным ключом, в базе данных, и передачу исходного значения данных, ассоциированных с первичным ключом, на кэш-сервер, при этом исходное значение данных имеет количество просмотров страницы, равное нулю, и время посещения, равное текущему времени посещения.
[0020] В еще одном из примеров осуществления настоящего изобретения способ дополнительно включает:
[0021] когда определено, что количество просмотров страницы равно нулю, преобразование контента предпросмотра и загрузку преобразованного контента предпросмотра на сервер облачного хранилища.
[0022] В одном из примеров осуществления настоящего изобретения преобразование контента предпросмотра включает:
[0023] запись первичного ключа в очередь на преобразование для ожидания преобразования; и
[0024] получение первичного ключа, ожидающего преобразования, из очереди на преобразование и получение контента, подлежащего предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, для преобразования.
[0025] В еще одном из примеров осуществления настоящего изобретения способ дополнительно включает:
[0026] когда преобразование контента предпросмотра завершено, изменение количества просмотров страницы в кэш-сервере на 1.
[0027] В еще одном из примеров осуществления настоящего изобретения способ дополнительно включает:
[0028] отображение знака ожидания пользователю во время преобразования контента предпросмотра; и
[0029] когда преобразование контента предпросмотра завершено, удаление знака ожидания.
[0030] В еще одном из примеров осуществления настоящего изобретения способ дополнительно включает:
[0031] периодическое удаление, из кэш-сервера, данных, ассоциированных с первичным ключом, имеющих количество просмотров страницы, меньшее первого заранее заданного значения; и
[0032] периодическое удаление, из кэш-сервера, данных, ассоциированных с первичным ключом, имеющих время посещения, большее второго заранее заданного значения.
[0033] В соответствии с другим аспектом настоящего изобретения предложено устройство для онлайн-предпросмотра документа, включающее:
[0034] модуль запроса данных, сконфигурированный для запроса, имеются ли данные, ассоциированные с первичным ключом, в кэш-сервере, в соответствии с первичным ключом контента, подлежащего предпросмотру;
[0035] первый модуль получения данных, сконфигурированный, когда в результате запроса определено, что данные, ассоциированные с упомянутым первичным ключом, имеются, для получения данных, ассоциированных с первичным ключом, из кэш-сервера, и для передачи данных, ассоциированных с первичным ключом, в сервер приложений;
[0036] модуль определения количества просмотров страницы, сконфигурированный, после приема сервером приложений данных, ассоциированных с первичным ключом, для определения количества просмотров страницы для первичного ключа, содержащегося в данных, ассоциированных с первичным ключом;
[0037] модуль получения контента предпросмотра, сконфигурированный, когда определено, что количество просмотров страницы не равно нулю, для получения контента, подлежащего предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, и для передачи контента, подлежащего предпросмотру, на сервер приложений; и
[0038] модуль приема контента предпросмотра, сконфигурированный для приема, сервером приложений, контента, подлежащего предпросмотру, для обеспечения предпросмотра пользователю.
[0039] В еще одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
[0040] модуль обновления хранилища, сконфигурированный для обновления количества просмотров страницы и для сохранения количества просмотров страницы на кэш-сервере.
[0041] В еще одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
[0042] второй модуль передачи данных, сконфигурированный, когда на основе упомянутого запроса определено, что данные, ассоциированные с первичным ключом, отсутствуют, для получения данных, ассоциированных с первичным ключом, из базы данных;
[0043] первый модуль передачи данных, сконфигурированный, когда данные, ассоциированные с первичным ключом, имеются в базе данных, для передачи данных, ассоциированных с первичным ключом, на кэш-сервер; и
[0044] второй модуль передачи данных, сконфигурированный, когда данные, ассоциированные с первичным ключом, отсутствуют в базе данных, для создания исходного значения данных, ассоциированных с первичным ключом, в базе данных, и для передачи исходного значения данных, ассоциированных с первичным ключом, на кэш-сервер, при этом исходное значение данных имеет количество просмотров страницы, равное нулю, и время посещения, равное текущему времени посещения.
[0045] В еще одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
[0046] модуль преобразования контента предпросмотра, сконфигурированный, когда определено, что количество просмотров страницы равно нулю, для преобразования контента предпросмотра и для загрузки преобразованного контента предпросмотра на сервер облачного хранилища.
[0047] В одном из примеров осуществления настоящего изобретения преобразование контента предпросмотра включает:
[0048] запись первичного ключа в очередь на преобразование для ожидания преобразования; и
[0049] получение первичного ключа, ожидающего преобразования, из очереди на преобразование и получение контента, подлежащего предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, для преобразования.
[0050] В еще одном из примеров осуществления настоящего изобретения оно дополнительно включает:
[0051] когда преобразование контента предпросмотра завершено, изменение количества просмотров страницы в кэш-сервере на 1.
[0052] В еще одном из примеров осуществления настоящего изобретения оно дополнительно включает:
[0053] отображение знака ожидания пользователю во время преобразования контента предпросмотра; и
[0054] когда преобразование контента предпросмотра завершено, удаление знака ожидания.
[0055] В еще одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
[0056] первый модуль удаления данных, сконфигурированный для периодического удаления, из кэш-сервера, данных, ассоциированных с первичным ключом, имеющих количество просмотров страницы, меньшее первого заранее заданного значения; и
[0057] второй модуль удаления данных, сконфигурированный для периодического удаления, из кэш-сервера, данных, ассоциированных с первичным ключом, имеющих время посещения, большее второго заранее заданного значения.
[0058] В соответствии с еще одним аспектом настоящего изобретения предложено электронное устройство, включающее: один или более процессоров; и память для хранения одной или более программ; при этом, когда упомянутые одна или более программ исполняются упомянутыми одним или более процессорами, один или более процессоров обеспечивают выполнение описанного выше способа онлайн-предпросмотра документа.
[0059] В соответствии с еще одним из аспектов настоящего изобретения предложен машиночитаемый носитель, на котором хранят компьютерную программу, при этом компьютерную программу исполняют при помощи процессора, в результате чего обеспечивается выполнение описанного выше способ онлайн-предпросмотра документа.
[0060] В способе и устройстве для онлайн-предпросмотра документа, соответствующих примеру осуществления настоящего изобретения, запрашивают, имеются ли данные, ассоциированные с первичным ключом, в кэш-сервере, в соответствии с первичным ключом контента, подлежащего предпросмотру; если это так, данные, ассоциированные с первичным ключом, передают на сервер приложений; после приема сервером приложений данных, ассоциированных с первичным ключом, подлежащий предпросмотру контент получают из сервера облачного хранилища в соответствии с первичным ключом и передают в сервер приложений; и сервер приложений принимает подлежащий предпросмотру контент для отображения пользователю. С одной стороны, документ преобразуют для предпросмотра постранично, что позволяет сократить время преобразования, по сравнению с преобразованием всего документа. И, с другой стороны, документ для предпросмотра предоставляют пользователю с использованием кэширования и очереди преобразования, что позволяет повысить производительность системы в целом и обеспечивает параллельный доступ пользователей к предпросмотру. При этом преобразование документа выполняют, только тогда, когда пользователь инициирует предпросмотр документа, поэтому серверу не требуется преобразовывать все документы, что снижает нагрузку на сервер. Также при этом кэш может периодически очищаться, в соответствии со счетчиками просмотра страниц и временем последнего посещения страниц документов, что позволяет ускорить предварительный просмотр документов пользователями.
[0061] Нужно понимать, что и предшествующее общее описание, и подробное описание, приведенное ниже, являются исключительно иллюстративными и пояснительными и не ограничивают настоящее изобретение.
Краткое описание чертежей
[0062] На приложенных чертежах, которые входят в состав настоящего описания и являются его неотъемлемой частью, проиллюстрированы варианты осуществления, соответствующие настоящему изобретению. Приложенные чертежи, вместе с описанием, служат для разъяснения замысла настоящего изобретения. Очевидно, что чертежи в приведенном ниже описании приводятся исключительно для иллюстрации лишь некоторых из вариантов осуществления настоящего изобретения, при этом в соответствии с чертежами специалисты в данной области техники могут, не прилагая творческих усилий, создавать и другие чертежи.
[0063] На фиг. 1 эскизно показана блок-схема алгоритма для способа онлайн-предпросмотра документа в соответствии с одним из примеров осуществления настоящего изобретения.
[0064] На фиг. 2 эскизно проиллюстрирована блок-схема алгоритма для способа преобразования контента, подлежащего предпросмотру, в соответствии с одним из примеров осуществления настоящего изобретения.
[0065] На фиг. 3 эскизно показана блок-схема алгоритма другого способа онлайн-предпросмотра документа в соответствии с одним из примеров осуществления настоящего изобретения.
[0066] На фиг. 4 эскизно показана блок-схема устройства онлайн-предпросмотра документа в соответствии с одним из примеров осуществления настоящего изобретения.
[0067] Фиг. 5 представляет собой эскизную блок-схему, иллюстрирующую компьютерный машиночитаемый носитель данных в соответствии с одним из примеров осуществления настоящего изобретения.
[0068] На фиг. 6 показана эскизная блок-схема электронного устройства в соответствии с одним из примеров осуществления настоящего изобретения.
Подробное описание изобретения
[0069] Далее примеры осуществления настоящего изобретения будут рассмотрены более подробно со ссылками на приложенные чертежи. Однако рассмотренные примеры осуществления настоящего изобретения могут быть реализованы во множестве различных форм, и их не следует считать ограниченными приведенными здесь иллюстрациями. Напротив, варианты осуществления настоящего изобретения описаны для обеспечения всестороннего и полного понимания настоящего изобретения и для исчерпывающего разъяснения, специалистам в данной области техники, замысла настоящего изобретения на конкретных примерах его осуществления. Описанные элементы, структуры и характеристики могут комбинироваться любым подходящим образом в одном или более вариантах осуществления настоящего изобретения. В приведенном ниже описании изложены множество частных деталей, призванных обеспечить полное понимание вариантов осуществления настоящего изобретения. Однако специалисты в данной области техники должны понимать, что одна или более из этих конкретных деталей могут быть опущены при практическом применении предложенных технических решений, а также, что могут применяться и другие способы, компоненты, устройства, шаги и т.п.Чтобы не затемнять сущность настоящего изобретения, подробное описание общеизвестных технических решений в данном документе не приводится.
[0070] При этом на чертежах настоящее изобретение показано лишь схематично и не обязательно в масштабе. Аналогичные или идентичные компоненты на различных чертежах имеют сходные обозначения, и соответственно, их описание в различных частях настоящего документа не повторяется. Часть блоков в блок-схемах, проиллюстрированных на чертежах, представляют собой исключительно функциональные элементы, которые не обязательно должны соответствовать отдельным физическим или логическим объектам. Такие функциональные элементы могут быть реализованы при помощи программного обеспечения или в виде одного или более аппаратных модулей, или интегральных схем, или же в виде различных сетей и/или процессорных устройств, и/или устройств на микроконтроллерах.
[0071] В одном из примеров осуществления настоящего изобретения предложен способ онлайн-предпросмотра документа. В соответствии с иллюстрацией фиг. 1 способ онлайн-предпросмотра документа может включать шаги, описанные ниже.
[0072] На шаге S110 запрашивают, имеются ли данные, ассоциированные с первичным ключом, в кэш-сервере, в соответствии с первичным ключом контента, подлежащего предпросмотру.
[0073] На шаге S120, если в результате запроса определено, что данные, ассоциированные с упомянутым первичным ключом, имеются, получают данные, ассоциированные с первичным ключом, из кэш-сервера, и передают данные, ассоциированные с первичным ключом, в сервер приложений.
[0074] На шаге S130, после приема, сервером приложений, данных, ассоциированных с первичным ключом, определяют количество просмотров страницы для первичного ключа, содержащееся в данных, ассоциированных с первичным ключом.
[0075] На шаге S140, когда определено, что количество просмотров страницы не равно нулю, получают контент, подлежащий предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, и передают контент, подлежащий предпросмотру.
[0076] На шаге S150, обновляют количество просмотров страницы и сохраняют количество просмотров страницы на кэш-сервере.
[0077] На шаге S160 сервер приложений принимает подлежащий предпросмотру контент для отображения пользователю.
[0078] В способе онлайн-предпросмотра документа, соответствующем данному примеру осуществления настоящего изобретения, с одной стороны, документ преобразуют для предпросмотра постранично, что позволяет сократить время преобразования по сравнению с преобразованием всего документа. С другой стороны, документ для предпросмотра предоставляют пользователю с использованием кэширования и очереди преобразования, что позволяет повысить производительность системы в целом и обеспечивает параллельный доступ пользователей к предпросмотру. При этом преобразование документа выполняют, только когда пользователь инициирует предпросмотр документа, поэтому серверу не требуется преобразовывать все документы, что снижает нагрузку на сервер.
[0079] Также при этом кэш может периодически очищаться в соответствии со счетчиками просмотра страниц и временем последнего посещения страниц документов, что позволяет ускорить предварительный просмотр документов пользователями.
[0080] Ниже каждый из шагов рассмотренного выше способа онлайн-предпросмотра документа, соответствующего данному примеру осуществления настоящего изобретения, будет описан более подробно.
[0081] На шаге S110 запрашивают, имеются ли данные, ассоциированные с первичным ключом, в кэш-сервере, в соответствии с первичным ключом контента, подлежащего предпросмотру.
[0082] В данном примере контент, подлежащий предпросмотру, может включать одну или более страниц документа, который пользователь желает просмотреть. Первичный ключ может включать одно или более полей; первичный ключ контента, подлежащего предпросмотру, может включать номер документа и номер страницы, соответствующие документу. Кэш-сервер может быть сервером, который определяет, был ли уже преобразован документ или текущая страница документа, запрошенного для предпросмотра пользователем. Например:
[0083] когда пользователь выбирает документ и хочет просмотреть одну страницу этого документа, он посылает запрос на сервер приложений. После приема запроса пользователя сервер приложений использует номер документа (например, JDZL00001) и номер страницы (например, первая страница), соответствующие документу, в качестве комбинированного первичного ключа (который может иметь вид JDZL00001-1 и называется далее сокращенно просто «первичным ключом»), и выполняет поиск по кэш-серверу, в соответствии с первичным ключом, чтобы определить, имеются ли данные, ассоциированные с первичным ключом, При этом, в другом примере осуществления настоящего изобретения, поиск может выполняться в соответствии с другими условиями, без ограничения варианта осуществления настоящего изобретения в этом отношении.
[0084] На шаге S120, если данные, ассоциированные с упомянутым первичным ключом, найдены, эти данные получают из кэш-сервера и передают в сервер приложений.
[0085] В данном примере осуществления настоящего изобретения данные, ассоциированные с первичным ключом, могут включать первичный ключ, количество просмотров страницы, время посещения и т.п. Количество просмотров страницы может указывать на количество просмотров для некоторой страницы в документе, подлежащем предпросмотру. Время посещения может представлять собой время последнего просмотра страницы. Однако данный пример осуществления настоящего изобретения не ограничен в отношении данных, ассоциированных с первичным ключом, и в других примерах осуществления настоящего изобретения могут использоваться другие данные.
[0086] В данном примере осуществления настоящего изобретения, определяют, на основе запроса, имеются ли данные, ассоциированные с первичным ключом, например, следующим образом: сначала сервер приложений выполняет поиск на кэш-сервере, чтобы запросить, имеются ли данные, соответствующие заданному документу и заданной странице документа, подлежащего предпросмотру. Если сервер приложений определит, что данные, соответствующие документу и странице документа, подлежащих предпросмотру, имеются в кэш-сервере, сервер приложений непосредственно получает документ и страницу документа, а также данные, соответствующие документу и странице документа, такие как количество просмотров страницы и время последнего просмотра страницы, и передает эти данные в сервер приложений.
[0087] В другом примере осуществления настоящего изобретения, если сервер приложений определит, что данные, соответствующие документу и странице документа, отсутствуют на кэш-сервере, сервер приложений получает данные, ассоциированные с первичным ключом, из базы данных, и если данные, ассоциированные с первичным ключом, имеются в базе данных, сервер приложений может передать данные, ассоциированные с первичным ключом, в кэш-сервер. Если данных, ассоциированных с первичным ключом, нет в базе данных, в базе создают исходное значение данных, ассоциированных с первичным ключом, и пересылают его в кэш-сервер. Исходное значение данных имеет нулевое количество просмотров страницы и время посещения, которое равно текущему времени посещения. Например, если сервер приложений определит, что данных, соответствующих документу и странице документа, подлежащих предпросмотру, в кэш-сервере нет, сервер приложений получает документ и соответствующий номер страницы в документе, а также количество просмотров страницы и время последнего просмотра страницы, и передает их в сервер приложений. Если документа и соответствующей страницы этого документа, а также количества просмотров страницы и времени последнего просмотра страницы нет в базе данных, в базе данных создают документ и соответствующую страницу этого документа, а также количество просмотров страницы и время последнего просмотра страницы, и передают их в сервер приложений. Количество просмотров страницы назначают равным нулю, а время просмотра страницы - текущему времени.
[0088] На шаге S130, после приема, сервером приложений, данных, ассоциированных с первичным ключом, сервер приложений определяет количество просмотров страницы для первичного ключа, содержащееся в данных, ассоциированных с первичным ключом.
[0089] К примеру, после приема, сервером приложений, документа и соответствующей страницы в этом документе, а также количества просмотров страницы и времени последнего просмотра страницы, сервер приложений может определить количество просмотров страницы.
[0090] На шаге S140, когда определено, что количество просмотров страницы не равно нулю, получают контент, подлежащий предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, и передают контент, подлежащий предпросмотру, в сервер приложений, при этом количество просмотров страницы обновляют, и обновленное количество просмотров страницы, записывают в кэш-сервер.
[0091] Когда определено, что количество просмотров страницы, ненулевое, выполняют преобразование контента предпросмотра, и преобразованный контент предпросмотра загружают на сервер облачного хранилища. Исходное количество просмотров страницы увеличивают на 1, и обновленное количество просмотров страницы сохраняют в кэш-сервер. В соответствии с иллюстрацией фиг. 2, в данном варианте осуществления настоящего изобретения преобразование контента предпросмотра может включать шаги S202-S206, описанные ниже.
[0092] На шаге S202 первичный ключ записывают в очередь на преобразование для ожидания преобразования.
[0093] На шаге S204, первичный ключ, ожидающий преобразования, получают из очереди на преобразование, а контент, подлежащий предпросмотру, получают из сервера облачного хранилища, в соответствии с первичным ключом, для преобразования. Например:
[0094] В данном примере первичный ключ, ожидающий преобразования, получают из очереди при помощи однопоточной или многопоточной процедуры, и контент, подлежащий предпросмотру, получают из сервера облачного хранилища в соответствии с этим первичным ключом, без ограничения данного варианта осуществления настоящего изобретения в этом отношении. При этом, в другом примере осуществления настоящего изобретения первичный ключ, ожидающий преобразования, может быть получен из очереди в соответствии с другим сценарием или процедурой, без ограничения данного варианта осуществления настоящего изобретения в этом отношении.
[0095] Упомянутый выше «поток» может означать следующее: «легковесный" процесс (Lightweight Process (LWP), который представляет собой элементарный блок в потоке исполнения программы; при этом стандартный поток (thread) имеет идентификатор потока, указатель на текущую инструкцию (PC), набор регистров и стек. Очередь может пониматься как линейная таблица, в которой допускаются только операция удаления из начала таблицы и операция вставки в конец таблицы, аналогично стеку, то есть, очередь - это линейная таблица с ограниченными операциями. Конец, со стороны которого разрешена операция вставки, называется хвостом очереди, а конец, со стороны которого разрешена операция удаления, называется головой очереди; однако данный вариант осуществления настоящего изобретения в этом отношении не ограничен.
[0096] В данном примере осуществления настоящего изобретения формат, который получают после преобразования контента, подлежащего предпросмотру, может включать следующее: .html, .doc, .docx,.xls, .xlsx, .ppt, .pptx, .txt или .pdf и т.п., без ограничения данного примера осуществления изобретения в этом отношении.
[0097] На шаге S206, после преобразования контента, подлежащего предпросмотру, количество просмотров страницы в кэш-сервере изменяют, назначая равным 1, в результате чего выполняется процедура, описанная ниже.
[0098] Также в данном варианте осуществления настоящего изобретения во время преобразования контента, подлежащего предпросмотру, пользователю может отображаться знак ожидания. Когда преобразование контента предпросмотра завершено, знак ожидания может быть удален. Если истечет заранее заданный период тайм-аута, отображают диалоговое окно, указывающее на ошибку преобразования и на необходимость повторной попытки преобразования. Благодаря знаку ожидания пользователю удобно следить за ходом преобразования каждого конкретного документа, что позволяет улучшить пользовательское восприятие.
[0099] На шаге S150 сервер приложений принимает подлежащий предпросмотру контент для отображения пользователю.
[00100] К примеру, после приема контента страницы, подлежащего предпросмотру, сервер приложений может передавать подлежащий предпросмотру контент страницы в терминал, и пользователь может просматривать окончательный результат при помощи терминала. В данном примере осуществления настоящего изобретения терминал может включать различные электронные устройства, оснащенные дисплеем, например, мобильный телефон, планшетный компьютер, компьютер-ноутбук, настольный компьютер, игровую консоль или КПК.
[00101] В других примерах осуществления настоящего изобретения, в соответствии с иллюстрацией фиг.3, способ онлайн-предпросмотра документа может дополнительно включать шаг S310 и шаг S320.
[00102] На шаге S310 из кэш-сервера периодически удаляют ассоциированные с первичным ключом данные, которые имеют количество просмотров страницы меньше первого заранее заданного значения. На шаге S320 из кэш-сервера периодически удаляют ассоциированные с первичным ключом данные, которые имеют время посещения, большее второго заранее заданного значения. То есть, для более эффективного использования памяти кэш-сервера, а также для обеспечения высокой производительности системы, содержимое страниц, просматриваемых пользователем, должно, насколько это возможно, быть доступным в кэш-сервере, и следовательно, из кэш-сервера могут периодически удаляться документы и страницы со сравнительно малым количеством просмотров, или из кэш-сервера могут удаляться документы и страницы, имеющие относительно давнее время посещения по сравнению с текущим временем. Удаленные документы и страницы могут сохраняться в базе данных. Таким образом обеспечивается максимальная гибкость кэширования данных в кэш-сервере.
[00103] Ниже рассмотрены варианты осуществления устройства, предложенного в настоящем изобретении, которое может быть сконфигурировано для выполнения вариантов осуществления предложенного способа. За деталями, не описанными в вариантах осуществления устройства, предложенного в настоящем изобретении, следует обращаться к вариантам осуществления предложенного способа.
[00104] В одном из примеров осуществления настоящего изобретения предложено устройство для онлайн-предпросмотра документа. В соответствии с иллюстрацией фиг. 4, устройство для онлайн-предпросмотра документа может включать: модуль 410 запроса данных, первый модуль 420 получения данных, модуль 430 определения количества просмотров страницы, модуль 440 получения контента предпросмотра, модуль 450 обновления хранилища и модуль 460 приема контента предпросмотра.
[00105] Модуль 410 запроса данных сконфигурирован для запроса, имеются ли данные, ассоциированные с первичным ключом, в кэш-сервере, в соответствии с первичным ключом контента, подлежащего предпросмотру.
[00106] Первый модуль 420 получения данных сконфигурирован, когда в результате запроса данные, ассоциированные с упомянутым первичным ключом, найдены, для получения данных, ассоциированных с первичным ключом, из кэш-сервера и для передачи данных, ассоциированных с первичным ключом, в сервер приложений.
[00107] Модуль 430 определения количества просмотров страницы, сконфигурирован, после приема, сервером приложений, данных, ассоциированных с первичным ключом, для определения количества просмотров страницы для первичного ключа, содержащегося в данных, ассоциированных с первичным ключом.
[00108] Модуль 440 получения контента предпросмотра сконфигурирован, когда определено, что количество просмотров страницы не равно нулю, для получения контента, подлежащего предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, и для передачи контента, подлежащего предпросмотру, на сервер приложений.
[00109] Модуль 450 обновления хранилища сконфигурирован для обновления количества просмотров страницы и для сохранения количества просмотров страницы на кэш-сервере.
[00110] Модуль 460 приема контента предпросмотра сконфигурирован для приема, при помощи сервера приложений, контента, подлежащего предпросмотру, для обеспечения предпросмотра пользователю.
[00111] В устройстве онлайн-предпросмотра документа, соответствующем данному примеру осуществления настоящего изобретения, с одной стороны, документ преобразуют для предпросмотра постранично, что позволяет сократить время преобразования по сравнению с преобразованием всего документа. С другой стороны, документ для предпросмотра предоставляют пользователю с использованием кэширования и очереди преобразования, что позволяет повысить производительность системы в целом и обеспечивает параллельный доступ пользователей к предпросмотру. При этом преобразование документа выполняют только тогда, когда пользователь инициирует предпросмотр документа, поэтому серверу не требуется преобразовывать все документы, что снижает нагрузку на сервер. Также при этом кэш может периодически очищаться, в соответствии со счетчиками просмотра страниц и временем последнего посещения страниц документов, что позволяет ускорить предварительный просмотр документов пользователями.
[00112] В других вариантах осуществления настоящего изобретения устройство может дополнительно включать:
[00113] второй модуль передачи данных, сконфигурированный, когда на основе упомянутого запроса определено, что данные, ассоциированные с первичным ключом, отсутствуют, для получения данных, ассоциированных с первичным ключом, из базы данных;
[00114] первый модуль передачи данных, сконфигурированный, когда данные, ассоциированные с первичным ключом, имеются в базе данных, для передачи данных, ассоциированных с первичным ключом, на кэш-сервер; и
[00115] второй модуль передачи данных, сконфигурированный когда данные, ассоциированные с первичным ключом, отсутствуют в базе данных, для создания исходного значения данных, ассоциированных с первичным ключом, в базе данных, и для передачи его на кэш-сервер, при этом исходное значение данных имеет количество просмотров страницы, равное нулю, и время посещения, равное текущему времени посещения.
[00116] В других примерах осуществления настоящего изобретения устройство может дополнительно включать:
[00117] модуль преобразования контента предпросмотра, сконфигурированный, когда определено, что количество просмотров страницы равно нулю, для преобразования контента предпросмотра и для загрузки преобразованного контента предпросмотра на сервер облачного хранилища.
[00118] В данном примере осуществления настоящего изобретения преобразование контента предпросмотра включает:
[00119] запись первичного ключа в очередь на преобразование для ожидания преобразования; и
[00120] получение первичного ключа, ожидающего преобразования, из очереди на преобразование и получение контента, подлежащего предпросмотру, из сервера облачного хранилища, в соответствии с первичным ключом, для преобразования.
[00121] В данном примере осуществления настоящего изобретения оно дополнительно включает:
[00122] когда преобразование контента предпросмотра завершено, изменение количества просмотров страницы в кэш-сервере на 1.
[00123] В данном примере осуществления настоящего изобретения оно дополнительно включает:
[00124] отображение знака ожидания пользователю во время преобразования контента предпросмотра; и
[00125] когда преобразование контента предпросмотра завершено, удаление знака ожидания.
[00126] В данном примере осуществления настоящего изобретения устройство может дополнительно включать:
[00127] первый модуль удаления данных, сконфигурированный для периодического удаления, из кэш-сервера, данных, ассоциированных с первичным ключом, имеющих количество просмотров страницы, меньшее первого заранее заданного значения; и
[00128] второй модуль удаления данных, сконфигурированный для периодического удаления, из кэш-сервера, данных, ассоциированных с первичным ключом, имеющих время посещения, большее второго заранее заданного значения.
[00129] Все модули устройства для онлайн-предпросмотра документа были подробно описаны при рассмотрении соответствующего способа онлайн-предпросмотра документа, и, следовательно, их описание здесь не повторяется.
[00130] В настоящем изобретении предложено также электронное устройство, имеющее в своем составе один или более процессоров; память для хранения одной или более программ; при этом когда упомянутые одна или более программ исполняются упомянутыми одним или более процессорами, они обеспечивают выполнение, описанного выше способа онлайн-предпросмотра документа.
[00131] В настоящем изобретении предложен также машиночитаемый носитель, на котором хранят компьютерную программу, которая, когда ее исполняют при помощи процессора, реализует описанный выше способ онлайн-предпросмотра документа.
[00132] В приведенном выше подробном описании для выполнения различных действий используют несколько различных модулей или блоков, однако следует отметить, что подобное разбиение устройства не является обязательным. То есть, в соответствии с вариантами осуществления настоящего изобретения, элементы и функции двух или более модулей или блоков, описанных выше, могут быть реализованы в виде одного модуля, или блока. И наоборот, элементы и функции одного из описанных выше модулей или блоков, могут быть дополнительно подразделены между несколькими другими модулями, или блоками.
[00133] На чертежах шаги способа, предложенного в настоящем изобретении, приведены в конкретной последовательности, однако эта последовательность не является ни обязательной, ни предпочтительной, также при этом не все шаги являются обязательными для получения требуемого результата. В дополнение или альтернативно, часть шагов может быть опущена, несколько шагов могут быть объединены в один шаг, и/или один из шагов может быть разбит на несколько шагов для исполнения и т.п.
[00134] В одном из примеров осуществления настоящего изобретения предложен также машиночитаемый носитель, на котором хранят компьютерную программу. Компьютерную программу исполняют, например, при помощи процессора, способного выполнять шаги способа в соответствии с любым из описанных выше вариантов осуществления настоящего изобретения. В некоторых из возможных реализаций аспекты настоящего изобретения могут быть также реализованы в виде компьютерного программного продукта, содержащего программные коды. При исполнении такого программного продукта на терминальном устройстве программные коды обеспечивают выполнение, терминальным устройством, шагов способа в соответствии с различными примерами осуществления настоящего изобретения.
[00135] Обратимся к фиг.5, где проиллюстрирован программный продукт 500 для реализации рассмотренного выше способа, в соответствии с одним из вариантов осуществления настоящего изобретения. Программный продукт 500 может представлять собой портативную память «только для чтения» на компакт-диске (CD-ROM) и может содержать программные коды, и может применяться в терминальном устройстве, например, запускаться на персональном компьютере. Однако программный продукт в настоящем изобретении не ограничен вышеперечисленным, то есть, в настоящем документе машиночитаемым носителем может быть любой материальный носитель, где содержится, или хранятся, программа, которая может применяться совместно с системой, аппаратурой или устройством исполнения инструкций, или в связи с ними.
[00136] Программный продукт может представлять собой комбинацию из одного или более машиночитаемых носителей. Машиночитаемый носитель может представлять собой среду распространения машиночитаемых сигналов или машиночитаемый носитель для хранения данных. К примеру, машиночитаемый носитель может представлять собой, без ограничения перечисленным, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, оборудование или устройство, или же любую подходящую комбинацию перечисленного. Более конкретные примеры (без ограничения перечисленным) машиночитаемых носителей: электрическое соединение, имеющее в своем составе один или более проводов, портативные компьютерные дискеты, жесткий диск, память с произвольным доступом (RAM), память "только для чтения" (ROM), перезаписываемую память в режиме "только для чтения" (EPROM) или флэш-память, оптическое волокно, портативную память "только для чтения" на компакт-диске (CD-ROM), оптическое запоминающее устройство, магнитное запоминающее устройство или любые комбинации перечисленного.
[00137] Машиночитаемый носитель может включать сигнал данных, распространяющийся в основной полосе частот или на несущей, в котором могут передаваться машиночитаемые программные коды. Подобные распространяющиеся сигналы данных могут принимать множество форм, включая, без ограничения перечисленным, электромагнитные сигналы, оптические сигналы или любую их подходящую комбинацию. Машиночитаемый носитель может быть также любым другим носителем, способным переносить, распространять или передавать программу для использования совместно с системой, аппаратурой или устройством исполнения инструкций, или в связи с ними. Программные коды, материализованные в машиночитаемом носителе, могут передаваться с использованием любой подходящей среды распространения, включая, без ограничения перечисленным, беспроводные, проводные линии связи, оптоволоконный кабель, радиочастотные линии или любую подходящую комбинацию перечисленного.
[00138] Программные коды для выполнения операций в настоящем изобретении могут быть написаны на любой комбинации из одного или более языков программирования, включая такие объектно-ориентированные языки программирования, как Java, Smalltalk, С++ и т.п., или традиционные процедурные языки программирования, такие как язык программирования "С" или аналогичные ему языки программирования. Программные коды могут исполняться полностью на пользовательском вычислительном устройстве, частично на пользовательском устройстве, в качестве автономного программного пакета, частично на устройстве, удаленном по отношению к пользовательскому устройству, или полностью на удаленном вычислительном устройстве или сервере. В случае применения удаленного вычислительного устройства оно может быть соединено с пользовательским вычислительным устройством по сети любого типа, включая локальную вычислительную сеть (LAN) или глобальную вычислительную сеть (WAN), или может быть соединено с внешним вычислительным устройством (например, по сети Интернет через поставщика услуг Интернет).
[00139] В одном из вариантов осуществления настоящего изобретения предложено также электронное устройство. Электронное устройство включает процессор и память для хранения инструкций, исполняемых процессором. При этом процессор сконфигурирован для выполнения шагов способа в соответствии с любым из описанных выше вариантов осуществления настоящего изобретения при помощи исполнения исполняемых инструкций.
[00140] Специалисты в данной области техники должны понимать, что различные аспекты настоящего изобретения могут быть реализованы в виде системы, способа или программного продукта. Соответственно, различные аспекты настоящего изобретения могут быть осуществлены в форме полностью аппаратной реализации, полностью программной реализации (включая микропрограммное обеспечение, микрокод и т.п.), или в виде комбинации аппаратного и программного обеспечения, которые в настоящем документе собирательно называют «схемой», «модулем» или «системой».
[00141] Ниже, на примере фиг. 6, рассмотрено электронное устройство 600 в соответствии с одним из вариантов осуществления настоящего изобретения. Электронное устройство 600, показанное на фиг. 6, является лишь примером и не ограничивает функциональность и область применения вариантов осуществления настоящего изобретения.
[00142] В соответствии с иллюстрацией фиг.6, электронное устройство 600 выполнено в форме вычислительного устройства общего назначения. Компоненты электронного устройства 600 могут включать, без ограничения перечисленным, по меньшей мере один процессорный блок 610, по меньшей мере один блок 620 памяти, шину 630, соединяющую различные компоненты системы (включая блок 620 памяти и процессорный блок 610), дисплейный блок 640 и т.п.
[00143] В блоке памяти хранят программные коды, которые могут исполняться процессорным блоком 610, в результате чего процессорный блок 610 выполняет шаги способа в соответствии с любым из рассмотренных выше вариантов осуществления настоящего изобретения. К примеру, процессорный блок 610 может выполнять шаги, показанные на фиг. 1.
[00144] Блок 620 памяти может включать читаемый носитель в форме блока энергозависимой памяти, например, блока 6201 памяти с произвольным доступом (RAM) и/или блока 6202 кэш-памяти, и может также дополнительно включать блок 6203 памяти «только для чтения» (ROM).
[00145] Блок 620 памяти может также содержать программу/утилиту 6204, имеющую набор (из одного или более) программных модулей 6205, например, без ограничения перечисленным, операционную систему, одно или более приложений, другие программные модули и данные программ, при этом любые из этих примеров, а также их комбинации, могут быть реализованы в сетевом окружении.
[00146] Шина 630 может представлять собой шинные структуры различных типов, включая шину памяти или контроллер блока памяти, шину периферийных устройств, порт графического ускорителя, процессорный блок или локальную сеть, или локальную шину, в которой применяются любые из множества различных шинных структур.
[00147] Электронное устройство 600 может также осуществлять связь с одним или более внешними устройствами 700 (например, клавиатурой, указательным устройством, Bluetooth-устройством и т.п.), а также может осуществлять связь с одним или более устройствами, дающими пользователю возможность взаимодействовать с электронным устройством 600, и/или любыми устройствами (например, маршрутизатор, модем и т.п.), позволяющими электронному устройству 600 взаимодействовать с одним или более другими вычислительными устройствами. Такая связь может осуществляться по интерфейсу 650 ввода-вывода (I/O). Также электронное устройство 600 может взаимодействовать с одной или более сетями (например, локальной вычислительной сетью (LAN), глобальной вычислительной сетью (WAN) и/или сетью общего пользования, такой как Интернет) при помощи сетевого адаптера 660. Сетевой адаптер 660 может взаимодействовать с другими модулями электронного устройства 600 по шине 630. Нужно понимать, что хотя это и не показано на чертежах, вместе с электронным устройством 600 могут применяться и другие аппаратные и/или программные модули, включая, без ограничения перечисленным: микрокоды, драйверы устройств, резервные процессорные блоки, массивы внешних жестких дисков, RAID-системы, ленточные накопители, системы хранения резервных копий данных и т.п.
[00148] Из приведенного выше описания вариантов осуществления настоящего изобретения специалистам в данной области должно быть очевидно, что примеры осуществления настоящего изобретения могут быть реализованы при помощи программного обеспечения или при помощи программного обеспечения в комбинации с необходимым аппаратным обеспечением. Следовательно, техническое решение в соответствии с одним из вариантов осуществления настоящего изобретения может быть реализовано в форме программного продукта, хранимого на энергонезависимом носителе данных (который может представлять собой диск CD-ROM, флэш-накопитель USB, переносной жесткий диск и т.п.) или в сети. В его состав включен набор инструкций, обеспечивающих выполнение, вычислительным устройством (которое может быть персональным компьютером, сервером, мобильным терминалом, сетевым устройством и т.п.), способа в соответствии с одним из вариантов осуществления настоящего изобретения.
[00149] Специалистами в данной области техники, по прочтении описания или после практического применения изобретения, описанного в настоящем документе, могут быть найдены другие варианты его осуществления. Настоящая заявка призвана охватить все изменения, применения или модификации настоящего изобретения, не отступающие от его основного замысла, включая все отступления от настоящего изобретения, которые известны на существующем уровне техники или традиционно применяются в этой области техники. Приведенное описание и примеры следует считать исключительно иллюстративными, при этом истинный объем и сущность настоящего изобретения заданы приведенной ниже формулой изобретения.
Промышленная применимость
[00150] Настоящее изобретение может применяться в области Интернет-технологий, при этом оно позволяет решить проблему высокой нагрузки на сервер преобразования документов, характерную для существующего уровня техники, позволяя снизить нагрузку на сервер и повысить скорость предпросмотра документа пользователем.