Область техники
Настоящее изобретение относится к системе и способу передачи файлов в веб-приложении, в частности к способу и системе для загрузки файла из клиентской программы на сервер в веб-приложении.
Предпосылки создания изобретения
С развитием технологий связи благодаря преимуществам структуры браузер/сервер (Browser/Server, B/S) над структурой клиент/сервер (Client/Server, C/S) все большее количество услуг проектируют на базе структуры браузер/сервер (веб-приложение), при этом диапазон услуг постоянно расширяется; упомянутые услуги могут представлять собой, например, дополнительные телекоммуникационные услуги, услуги обмена сообщениями, услуги управления информацией в различных сервисных или корпоративных приложениях.
Веб-приложение - наиболее распространенная реализация структуры браузер/сервер. Прикладная система, разработанная с использованием веб-технологии, подвержена проблемам, связанным с одновременным доступом: пользователь может осуществлять доступ к серверу с помощью браузера из любого места при условии, что он может соединиться с сетью, соответственно, количество пользователей, одновременно осуществляющих доступ к одному серверу, может быть очень большим, при этом одновременный доступ большого количества пользователей создает на сервере значительную процессорную нагрузку и весьма вероятна ситуация, когда ресурсов может не хватить (например, центральный процессор занят на 100%, память переполнена или недостаточно соединений). Например, во время пиков одновременного доступа нагрузка, создаваемая веб-приложением на соединение с базой данных, очень высока, при этом каждый пользовательский запрос или операция требует одного соединения с базой данных, однако количество соединений, обеспечиваемое сервером базы данных, крайне ограничено, соответственно, легко может возникнуть ситуация нехватки соединений.
Если присутствует определенное количество пользователей на стороне веб-клиента, одновременно загружающих файлы, системные ресурсы быстро оказываются полностью занятыми. Загрузка файлов - очень распространенная процедура в веб-приложениях и, соответственно, представляет собой узкое место во многих системных приложениях.
Главным ресурсом в системе персонифицированного сигнала контроля посылки вызова (color ring back tone system, замена стандартных гудков, которые слышит вызывающий абонент, на выбранную пользователем мелодию) является файл с мелодией, соответственно, загрузка файла с мелодией является одной из наиболее важных и распространенных процедур в системе персонифицированного сигнала контроля посылки вызова. Например, в системе персонифицированного сигнала контроля посылки вызова наиболее часто используют следующий способ загрузки файла с мелодией: клиентский браузер загружает файл с мелодией на веб-сервер по протоколу передачи гипертекста (Hyper Text Transfer Protocol, HTTP) и сохраняет этот файл во временную директорию на сервере; после того как файл загружен и успешно сохранен, пользователь отправляет информацию подписки (включая информацию об имени мелодии, исполнителе, поставщике услуг, стоимости и т.п.), связанную с мелодией, загружаемой из клиентской программы на веб-сервер; после успешной загрузки данных веб-сервер загружает упомянутый файл с мелодией из веб-сервера на сконфигурированный FTP-сервер по протоколу передачи файлов (File Transfer Protocol, FTP), при этом веб-сервер передает также информацию, связанную с файлом с мелодией, включая информацию о названии мелодии, исполнителе, поставщике услуг, стоимости и местоположении файла с мелодией на FTP-сервере и т.п. в процессор интерфейсных сообщений; и затем процессор интерфейсных сообщений извлекает информацию о пути к этому файлу с мелодией на FTP-сервере в соответствии с принятой информацией, загружает этот файл с мелодией с FTP-сервера и помещает этот файл с мелодией в сервер управления медиаресурсами (Media Resource Board, MRB), на этом этапе загрузка файла с мелодией завершается.
Из приведенного выше описания алгоритма загрузки файла с мелодией можно увидеть, что загрузка файла в сеть в целом состоит из трех шагов:
на первом шаге клиент загружает файл на веб-сервер по протоколу HTTP;
на втором шаге веб-сервер загружает этот файл на FTP-сервер; и
на третьем шаге процессор интерфейсных сообщений загружает этот файл на MRB-сервер посредством FTP-сервера.
Общеизвестно, что протокол HTTP подходит для передачи небольших объемов информации по сети, но не приспособлен для передачи файлов из-за низкой эффективности передачи; кроме того, когда соединение браузер/сервер осуществляют по протоколу HTTP, это соединение, если его длительность велика, может легко прерваться. Очевидно, что использование протокола HTTP для загрузки файла является узким местом во всем алгоритме загрузки файла.
Сущность изобретения
Технической задачей, решаемой настоящим изобретением, является создание способа и системы для реализации загрузки файла в веб-приложении, способных эффективно решить проблему узкого места в существующем алгоритме загрузки файла в веб-приложении.
Для решения описанной выше технической задачи в настоящем изобретении предложен способ загрузки файла в веб-приложении, включающий:
загрузку файла, подлежащего загрузке, пользователем клиентской программы на сервер протокола передачи файлов (FTP) посредством элемента управления с подтвержденной безопасностью.
Кроме того, способ также включает:
передачу упомянутым пользователем информации, связанной с упомянутым файлом, на веб-сервер посредством элемента управления с подтвержденной безопасностью;
ввод пользователем файла и информации, связанной с этим файлом, в рабочий интерфейс пользователя элемента управления с подтвержденной безопасностью, а также загрузку файла рабочим интерфейсом пользователя на FTP-сервер и загрузку информации, связанной с этим файлом, на веб-сервер.
При этом рабочий интерфейс загружает файл на FTP-сервер по протоколу FTP, а информацию, связанную с этим файлом, на веб-сервер по протоколу передачи гипертекста (HTTP).
Кроме того, способ также включает:
загрузку веб-сервером информации, связанной с файлом, в процессор интерфейсных сообщений, при этом информация, связанная с файлом, включает одно или более из следующего: имя файла, информацию о предоставителе файла или информацию о пути к файлу, загружаемому на FTP-сервер;
получение процессором интерфейсных сообщений соответствующего файла от FTP-сервера в соответствии с информацией, связанной с принятым файлом, и загрузку этого файла на сервер управления медиаресурсами (MRB).
Кроме того, перед шагом ввода пользователем загружаемого файла способ также включает:
размещение на веб-сервере предварительно разработанного элемента управления с подтвержденной безопасностью и приведение ссылки на упомянутый размещенный элемент управления с подтвержденной безопасностью на веб-странице для загрузки клиентской программой.
Кроме того, шаг разработки элемента управления с подтвержденной безопасностью включает:
разработку управляющей программы для загрузки файла клиентской программой в соответствии с требованиями и упаковку разработанной управляющей программы в файловый пакет;
выполнение запутывания кода упомянутого файлового пакета; и
создание пары ключей безопасности для упомянутого файлового пакета с запутанным кодом и формирование цифровой подписи, чем завершается разработка элемента управления с подтвержденной безопасностью.
Для решения описанной выше технической задачи в настоящем изобретении предложена система для загрузки файла в веб-приложении, включающая клиентскую программу и сервер протокола передачи файлов (FTP), при этом:
клиентская программа сконфигурирована для ввода пользователем по меньшей мере загружаемого файла в элемент управления с подтвержденной безопасностью и для загрузки введенного файла на FTP-сервер посредством элемента управления с подтвержденной безопасностью;
FTP-сервер сконфигурирован для приема и хранения файла, загружаемого из клиентской программы.
Кроме того, система также включает веб-сервер, при этом:
упомянутая клиентская программа сконфигурирована также для загрузки пользователем файла на FTP-сервер по протоколу FTP посредством рабочего интерфейса пользователя элемента управления с подтвержденной безопасностью и загрузку информации, связанной с этим файлом, на веб-сервер по протоколу передачи гипертекста (HTTP);
упомянутый веб-сервер сконфигурирован для приема и хранения информации, связанной с загружаемым из клиентской программы файлом.
Кроме того, система также включает процессор интерфейсных сообщений и сервер управления медиаресурсами (MRB), при этом
веб-сервер сконфигурирован также для загрузки информации, связанной с файлом, в упомянутый процессор интерфейсных сообщений, при этом информация, связанная с файлом, включает одно или более из следующего: имя файла, информацию о предоставителе файла и информацию о пути к файлу, загружаемому на FTP-сервер;
упомянутый процессор интерфейсных сообщений сконфигурирован для получения соответствующего файла от FTP-сервера на основе информации, связанной с принятым файлом, и для загрузки этого файла на MRB-сервер;
упомянутый MRB-сервер сконфигурирован для приема и хранения файла, загружаемого процессором интерфейсных сообщений.
Кроме того, упомянутый веб-сервер сконфигурирован также для размещения предварительно разработанного элемента управления с подтвержденной безопасностью и для приведения ссылки на упомянутый размещенный элемент управления с подтвержденной безопасностью на веб-странице для загрузки клиентской программой.
В настоящем изобретении предложен также веб-сервер, который сконфигурирован для:
размещения предварительно разработанного элемента управления с подтвержденной безопасностью для загрузки клиентской программой;
приема и хранения информации, связанной с файлом, загружаемым клиентской программой посредством рабочего интерфейса пользователя элемента управления с подтвержденной безопасностью, при этом файл загружают с помощью клиентской программы на сервер протокола передачи файлов (FTP) посредством рабочего интерфейса пользователя элемента управления с подтвержденной безопасностью для загрузки этого файла с сервера FTP процессором интерфейсных сообщений; и
загрузки информации, связанной с упомянутым файлом, в процессор интерфейсных сообщений, чтобы упомянутый процессор интерфейсных сообщений загрузил файл с FTP-сервера в соответствии с информацией, связанной с этим файлом, а также загрузил упомянутый файл на сервер управления медиаресурсами (MRB);
посредством чего реализуют эффективную загрузку файла в веб-приложении.
В настоящем изобретении предложена также система для загрузки файла в веб-приложении, которая включает описанный выше веб-сервер.
Способ и система для реализации загрузки файла из локальной клиентской программы на сервер в веб-приложении, предложенные в настоящем изобретении, оптимизируют существующий алгоритм загрузки файла, устраняют шаг загрузки файла из клиентской программы на веб-сервер по протоколу HTTP и напрямую загружают файл из клиентской программы на FTP-сервер по протоколу FTP, чем решают проблему узкого места в алгоритме загрузки файла существующего уровня техники, благодаря этому снижается нагрузка на веб-сервер, а также значительно повышается эффективность и стабильность веб-приложения, следовательно, упомянутые способ и система целесообразны для применения. При этом использование интерфейса управляющего апплета с подтвержденной безопасностью упрощает по сравнению с существующим уровнем техники реализацию некоторых относительно сложных функций.
Краткое описание чертежей
Фиг.1 представляет собой блок-схему алгоритма первого варианта осуществления способа загрузки файла с мелодией в соответствии с настоящим изобретением.
Фиг.2 представляет собой иллюстрацию интерфейса управляющего апплета, выполняющегося в клиентском браузере и разработанного с применением настоящего изобретения;
Фиг.3 представляет собой интерфейс диалогового окна для выбора файла, всплывающего после щелчка мыши по кнопке "Browse files" (Выбор файла) в интерфейсе, показанном на фиг.2;
Фиг.4 представляет собой блок-схему алгоритма второго варианта осуществления способа реализации загрузки файла с мелодией в соответствии с настоящим изобретением;
Фиг.5 представляет собой блок-схему ключевых шагов разработки управляющего апплета, безопасность которого подтверждают на стороне веб-клиента, которые являются частью способа в соответствии с настоящим изобретением;
Фиг.6 представляет собой блок-схему алгоритма способа, расширенного на основе ключевых шагов, продемонстрированных на фиг.3.
Предпочтительные варианты осуществления настоящего изобретения
Концепция способа и системы для реализации загрузки файла в веб-приложении, предложенных в настоящем изобретении, заключается в следующем: устранение процедуры загрузки файла из клиентской программы на веб-сервер, являющейся узким местом, непосредственная загрузка файла из клиентской программы на FTP-сервер, и последующее получение веб-сервером соответствующего файла с FTP-сервера в соответствии с информацией о файле, загружаемом клиентской программой. При этом ключевым пунктом является непосредственная загрузка файла из клиентской программы на FTP-сервер, при этом возникает следующее затруднение: если элемент управления Active, выполняющийся в клиентской программе, не имеет сертификата безопасности, он не может осуществлять доступ к локально хранимым ресурсам, так как это запрещено моделью безопасности клиента. Элемент управления Active, используемый в настоящем изобретении, реализован управляющим апплетом. Сначала разрабатывают управляющую программу-апплет, отвечающую требованиям проекта, затем файл с управляющим апплетом упаковывают в файл Java-архива (Java Archive, JAR); для защиты JAR-файла от умышленного раскрытия сервисной логики хакерами посредством декомпилирования при использовании в клиентской программе осуществляют запутывание (обфускацию) кода JAR-файла; при этом создают пару из секретного и открытого ключа с помощью Jarsigner, причем секретный ключ используют для шифрования JAR-файла с целью формирования цифровой подписи JAR-файла, а открытый ключ используется клиентской программой для дешифрования файла с целью получения соответствующего управляющего апплета. Таким образом разрабатывают управляющий апплет, безопасность которого подтверждают в клиентской программе, и его размещают на веб-сервере. Клиентская программа загружает управляющий апплет с подтвержденной безопасностью с веб-сервера и посредством этого управляющего апплета клиентская программа может загружать файл из локального хранилища на FTP-сервер.
Техническая схема настоящего изобретения будет более подробно рассмотрена далее в сочетании с чертежами и предпочтительными вариантами осуществления настоящего изобретения. Несмотря на то что изложенные ниже варианты осуществления настоящего изобретения включают загрузку файла с мелодией, она выбрана исключительно для пояснения, а не для ограничения настоящего изобретения. То есть техническая схема настоящего изобретения применима к загрузке любых файлов из клиентской программы на сервер.
Вариант №1 осуществления настоящего изобретения
Фиг.1 демонстрирует блок-схему алгоритма первого варианта осуществления способа загрузки файла с мелодией в соответствии с настоящим изобретением, посредством которого файл с мелодией загружают из клиентской программы-браузера на веб-сервер, при этом упомянутый алгоритм включает:
Шаг 1: пользователь клиентской программы вводит файл, подлежащий загрузке, и связанную с ним информацию посредством рабочего интерфейса с подтвержденной безопасностью.
При этом рабочий интерфейс с подтвержденной безопасностью реализуют путем предварительной разработки управляющей программы-апплета, безопасность которой подтверждают на стороне клиента. Естественно, это не единственный вариант реализации. Например, рабочий интерфейс с подтвержденной безопасностью может также быть реализован путем разработки элемента управления, безопасность которого подтверждают на стороне клиента, на базе технологии Flex.
Поля для ввода информации и кнопки управляющего интерфейса апплета показаны на фиг.2. Связанная с файлом информация, которая может быть введена пользователем клиентской программы через этот интерфейс, включает имя файла, название мелодии, имя исполнителя, имя поставщика услуги, стоимость и т.п.
При щелчке мыши на кнопке "Browse files" ("Выбор файла") рабочего интерфейса всплывает диалоговое окно выбора файла в соответствии с изображением на фиг.3. Пользователь просматривает локальные файловые директории, в которых хранятся файлы с мелодией, посредством упомянутого диалогового окна и выбирает имя файла с мелодией для загрузки из файловых директорий для ввода файла, подлежащего загрузке.
Шаг 2: рабочий интерфейс апплета загружает файл с мелодией, введенный пользователем, на FTP-сервер.
Предпочтительно управляющий апплет загружает файл с использованием протокола FTP, который специально предназначен для загрузки файлов и, соответственно, имеет больше преимуществ при загрузке файлов по сравнению с остальными протоколами.
При щелчке мышью на кнопке "Upload" (загрузить) упомянутого выше рабочего интерфейса апплета управляющий апплет загружает файл с мелодией, введенный пользователем, с использованием протокола FTP.
FTP-сервер должен быть предварительно размещен и должна быть назначена информация для взаимодействия, например имя учетной записи и путь загрузки файла на FTP-сервере, а также других серверах или клиентских программах (например, веб-сервер, веб-клиент и т.п.) для обеспечения безопасного доступа к FTP-серверу.
После загрузки клиентской программой файла на FTP-сервер она должна записать имя файла и информацию о пути к файлу, сохраненному на FTP-сервере, и передать информацию, например путь к хранимому файлу и т.п., на веб-сервер, отправляя информацию о мелодии на веб-сервер.
Шаг.3: управляющий апплет загружает введенную пользователем информацию, связанную с мелодией, на веб-сервер по протоколу HTTP.
При щелчке мышью на кнопке "Upload" ("Загрузить") рабочего интерфейса апплета управляющий апплет также загружает информацию, связанную с мелодией, на веб-сервер по протоколу HTTP одновременно с загрузкой файла с мелодией.
Загружаемая информация, связанная с мелодией, включает имя файла, название мелодии, имя исполнителя, имя поставщика услуг, стоимость и т.п., а также включает информацию о пути к файлу, загруженному на FTP-сервер, и т.п.
Настоящее изобретение требует разработки сервисной программы на веб-сервере, при этом оно не предъявляет специальных требований к сервисному коду, требуется лишь, чтобы он мог принимать информацию, отправляемую клиентской программой.
Вариант №2 осуществления настоящего изобретения
Фиг.4 демонстрирует блок-схему алгоритма второго варианта осуществления способа загрузки файла с мелодией в соответствии с настоящим изобретением, посредством которого файл с мелодией загружают из клиентской программы-браузера на MRB-сервер, при этом упомянутый алгоритм включает:
Шаг 1: пользователь программы-клиента вводит файл, подлежащий загрузке, и связанную с ним информацию посредством рабочего интерфейса с подтвержденной безопасностью.
При этом рабочий интерфейс с подтвержденной безопасностью реализуют путем предварительной разработки управляющей программы-апплета или элемента управления FLEX, безопасность которого подтверждают на стороне клиента.
Шаг 2: рабочий интерфейс апплета загружает файл с мелодией, введенный пользователем, на FTP-сервер по протоколу FTP.
FTP-сервер должен быть предварительно размещен и должна быть назначена информация для взаимодействия, например имя учетной записи и путь загрузки файла на FTP-сервере, а также других серверах или клиентских программах (например, веб-сервер, процессор интерфейсных сообщений, веб-клиент и т.п.) для обеспечения безопасного доступа к FTP-серверу.
После загрузки файла рабочим интерфейсом апплета на FTP-сервер он должен записать имя и информацию о пути к файлу, сохраненному на FTP-сервере, и передать информацию, например путь к хранимому файлу и т.п., на веб-сервер при отправке информации о мелодии на веб-сервер.
Шаг.3: управляющий интерфейс апплета загружает введенную пользователем информацию, связанную с мелодией, на веб-сервер по протоколу HTTP.
При этом поля для ввода информации и кнопки управляющего интерфейса апплета показаны на фиг.2, и поскольку они были описаны выше, здесь их описание опущено.
Связанная с загружаемой мелодией информация включает имя файла, название мелодии, имя исполнителя, имя поставщика услуги, стоимость и т.п., а также включает информацию о пути файла, загружаемого на FTP-сервер и т.п.
Шаг 4: веб-сервер загружает файл с мелодией и связанную с ним информацию, загруженные пользователем, в процессор интерфейсных сообщений.
Клиентская программа передает на веб-сервер имя файла и информацию о пути к файлу, хранимому на FTP-сервере, совместно с информацией о мелодии. Данный шаг требует разработки сервисной программы на веб-сервере, при этом он не предъявляет специальных требований к сервисному коду, требуется лишь, чтобы можно было принимать информацию, отправляемую клиентской программой, и передавать информацию в процессор интерфейсных сообщений через соединение с использованием сокета.
Шаг 5: процессор интерфейсных сообщений получает соответствующий файл с мелодией от FTP-сервера в соответствии с принятой информацией, связанной с файлом с мелодией.
Шаг 6: процессор интерфейсных сообщений загружает полученный файл с мелодией на MRB-сервер.
Настоящее изобретение требует разработки программы-процессора интерфейсных сообщений и размещения процессора интерфейсных сообщений на MRB-сервере. После приема процессором интерфейсных сообщений информации о мелодии от веб-сервера он получает файл с мелодией от FTP-сервера в соответствии с упомянутой информацией о мелодии и загружает файл на MRB-сервер; на этом шаге алгоритм загрузки мелодии полностью завершается.
В двух описанных выше вариантах осуществления настоящего изобретения, проиллюстрированных в настоящем документе, рабочий интерфейс с подтвержденной безопасностью реализуют путем предварительной разработки элемента управления (например, управляющего апплета), безопасность которой подтверждают на стороне клиента, что является ключевым шагом в реализации способа загрузки файла в настоящем изобретении, то есть предварительно разработанную управляющую программу-апплет, безопасность которой подтверждают на стороне клиента, размещают на веб-сервере, при этом клиентская программа загружает управляющую программу-апплет с подтвержденной безопасностью с веб-сервера в локальный браузер в соответствии с изображением на фиг.5.
Как правило, использование разработанного управляющего апплета (или элемента управления Flex) на сервере не создает затруднений, однако при использовании его на стороне клиента, поскольку он выполняется в модели "песочницы" набора для разработки Java-приложений (Java Development Kit, JDK), его работа подвергается следующим ограничениям:
А. Управляющему апплету запрещено осуществлять чтение и запись на локальный диск;
В. За исключением хоста, с которого загружен управляющий апплет, запрещено устанавливать соединение с другими хостами;
С. Управляющему апплету запрещено загружать новые динамически подключаемые библиотеки, осуществляющие прямые вызовы локальных методов.
Очевидно, что с использованием управляющего апплета, разработанного с использованием стандартных методов, сложно реализовать загрузку файла из локального хранилища на сервер, например, по причине запрещения доступа к локальным ресурсам.
Для решения описанной выше проблемы в настоящем изобретении, соответственно, предложен способ разработки элемента управления, безопасность которого подтверждают на стороне клиента, на примере элемента управления в виде апплета; алгоритм упомянутого способа продемонстрирован на фиг.6 и включает:
Шаг 610: разработку управляющей программы-апплета для загрузки клиентской программой файла в соответствии с требованиями и упаковку этой программы в файл Java-архива (JAR).
Апплет (APPLET) представляет собой класс Java, наследующий JApplet, при этом, как правило, интерфейс инициализируют в методе init этого класса. При этом для выбора файла необходим управляющий элемент JfileChooser, а вызов этого управляющего элемента в функции обработки сообщений кнопки "Browse files" может обеспечивать всплытие диалогового окна выбора файла; при этом код может быть следующим:
public void actionPerformed(ActionEvent e)
{
filechoose.showOpenDialog(this)
}
Инкапсулированная сервисная логика приложений может быть вызвана в методе init и функции обработки сообщений кнопки "Upload". Класс имплементации управляющего апплета приведен в файле UploadRingApplet.java. После разработки соответствующих Java-файлов для управляющего апплета используют следующую команду для упаковки соответствующих файлов класса в виде JAR-файла (JAR-пакета):
Jar cvf packet name class file path;
Шаг 620: Осуществление запутывания кода сформированного JAR-файла.
Для защиты JAR-файла от раскрытия внутреннего осуществления сервисной логики путем декомпиляции кода злоумышленниками при использовании на стороне клиента может быть использована любая технология запутывания JAVA-кода, предназначенная для сокрытия кода в JAR-файле, при использовании которой хакеры не смогут декомпилировать JAR-файл в файлы классов Java, благодаря чему предотвращается раскрытие сервисной логики.
Технология запутывания JAVA-кода, используемая в настоящем изобретении, включает Yguard или Proguard. Обработка файла класса Java в соответствии с методом применения, обязательным для каждого элемента программного обеспечения, позволяет в некоторой степени защитить его код, при этом способ применения класса после процедуры запутывания кода остается тем же, что и у обычного класса Java.
Шаг 630: Создание пары ключей безопасности путем использования инструмента класса ключей безопасности, формирование цифровой подписи для JAR-файла с "запутанным" кодом и разработка управляющего апплета с подтвержденной безопасностью.
Для нормального использования элемента управления Active, который реализуют с помощью управляющего апплета на стороне клиента, орган выдачи сертификатов должен сертифицировать безопасность элемента управления Active для подтверждения безопасности этого элемента управления на стороне клиента. Однако стоимость сертификации органом выдачи сертификатов очень высока и на это необходимо длительное время. Настоящее изобретение применяет механизм создания управляющего апплета, безопасность которого подтверждают на стороне клиента и которому разрешено работать с локальными файлами в клиентской программе, после чего файл из клиентской программы напрямую загружают в FTP-сервер по протоколу FTP.
Для реализации управляющего апплета, который может осуществлять безопасный доступ к локальным ресурсам в клиентской программе, для упомянутого JAR-файла должна быть создана пара из секретного и открытого ключа, при этом секретный ключ используют для шифрования JAR-файла и для формирования цифровой подписи для JAR-файла; а открытый ключ предоставляют клиенту для подтверждения и дешифрования загружаемого JAR-файла. В настоящем изобретении используют инструмент keytool из состава JDK для создания и управления парами секретных/открытых ключей, при этом для формирования цифровой подписи JAR-файла используют jarsinger.
При этом keytool представляет собой эффективный инструмент для управления ключами и сертификатами безопасности, который используют для создания и управления хранилищем ключей. Хранилище ключей представляет собой базу данных для секретного ключа и связанной с ним цепочки сертификатов Х.509 (используемой для аутентификации соответствующего открытого ключа). Keytool позволяет пользователю управлять парами своих секретных/открытых ключей с использованием цифровой подписи, управлять сертификатом, связанным с самоидентификацией, а также управлять целостностью данных и службой идентификации. Он также позволяет пользователям буферизовать их открытые ключи во время соединения.
(1) Использование keytool для формирования сертификата ключа, то есть использование следующего выражения для формирования сертификата ключа, чей период действия составляет 365 дней:
keytool - genkey - alias MyAppletkey - validity 365,
где MyAppletKey - имя сертификата, при этом в процессе формирования сертификата выдается приглашение для ввода пароля сертификата и дополнительной информации, например, о локальной организации модулей, при этом упомянутый пароль сертификата будет использован при выполнении цифровой подписи JAR-пакета и, соответственно, его необходимо запомнить.
(2) Осуществление цифровой подписи управляющего апплета с использованием jarsinger из состава JDK в соответствии со сформированным сертификатом, при этом используют следующее выражение:
jarsigner MyApplet.jar MyAppletkey,
где за jarsniger следует JAR-пакет (Myapplet.jar), который должен быть подписан сертификатом, и имя сертификата (MyAppletkey), при этом во время выполнения данной команды будет выдано приглашение для ввода пароля сертификата, причем корректная цифровая подпись может быть сформирована, если введен пароль, заданный при формировании сертификата.
Шаг 640: размещение управляющего апплета с подтвержденной безопасностью на веб-сервере для загрузки клиентской программой.
Управляющий апплет может быть размещен непосредственно на веб-сервере и после этого ссылка на апплет может быть приведена на веб-странице:
<applet code="TestApplet.class" archive="MyApplet.jar" width="xxx" height="xxx" codebase="xxx"> </applet>.
На веб-сервере может быть обеспечен файл конфигурации для конфигурирования такой информации, как IP-адрес FTP-сервера, имя пользователя, пароль, пути загрузки файла и т.п., которая будет передана после шифрования в управляющий апплет в качестве параметров. Путем использования рабочего интерфейса загружаемого управляющего апплета пользователь клиентской программы может загружать файл с мелодией в назначенное место на FTP-сервере по протоколу FTP, а затем загружать информацию о мелодии на веб-сервер по протоколу HTTP.
Шаг 650: клиентская программа загружает управляющий апплет с подтвержденной безопасностью с веб-сервера в локальный браузер.
При применении управляющего апплета клиентская программа загружает этот апплет в среду исполнения Java (Java Runtime Environment, JRE) локального браузера для исполнения в соответствии с фиг.5.
В соответствии с описанными выше вариантами осуществления настоящего изобретения в нем, соответственно, предложена система для реализации загрузки файла в веб-приложении, включающая клиентскую программу, FTP-сервер и веб-сервер, которые последовательно соединены друг с другом, при этом:
клиентская программа, также связанная с веб-сервером, сконфигурирована для загрузки управляющего апплета с подтвержденной безопасностью с веб-сервера и с помощью рабочего интерфейса этого управляющего апплета для загрузки локального файла на FTP-сервер по протоколу FTP, а также для загрузки информации, связанной с упомянутым файлом, и информации о пути загрузки файла и т.п. на веб-сервер по протоколу HTTP;
FTP-сервер сконфигурирован для приема и хранения файла, загружаемого из клиентской программы;
FTP-сервер хранит файл, загружаемый клиентской программой, в соответствии с именем файла и информацией о пути, предоставляемыми клиентской программой;
веб-сервер сконфигурирован для размещения предварительно разработанного управляющего апплета с подтвержденной безопасностью при приеме от клиентской программы запроса на загрузку управляющего апплета, для передачи управляющего апплета клиентской программе, а также для приема и хранения информации, связанной с файлом, загружаемым клиентской программой.
Упомянутая информация, связанная с загружаемым файлом, включает имя файла, название мелодии, имя исполнителя, имя поставщика услуг, стоимость и т.п., а также включает информацию о пути к файлу, загружаемому на FTP-сервер.
На веб-сервере может быть обеспечен конфигурационный файл для конфигурирования такой информации, как IP-адрес FTP-сервера, имя пользователя, пароль, путь загрузки файла и т.п., которую передают после шифрования в управляющий апплет в качестве параметров. С использованием загруженного рабочего интерфейса управляющего апплета пользователь клиентской программы может загружать файл с мелодией в предназначенное для этого место на FTP-сервере по протоколу FTP, а также загружать информацию об этой мелодии на веб-сервер.
Описанная выше система включает также процессор интерфейсных сообщений и MRB-сервер, при этом:
MRB-сервер, также соединенный с процессором интерфейсных сообщений посредством сокета, сконфигурирован для передачи принимаемой информации, связанной с загружаемым файлом, в процессор интерфейсных сообщений;
процессор интерфейсных сообщений, соответственно, соединенный с FTP-сервером и MRB-сервером, сконфигурирован для получения соответствующего файла с FTP-сервера в соответствии с информацией, связанной с загружаемым файлом и принятой от веб-сервера, а также для загрузки получаемого файла на MRB-сервер;
MRB-сервер сконфигурирован для приема и хранения файла, загружаемого процессором интерфейсных сообщений.
Предшествующее описание представляет собой всего лишь предпочтительные варианты осуществления настоящего изобретения и не имеет целью его ограничение. Специалистам в настоящей области техники должно быть понятно, что настоящее изобретение может иметь различные модификации и изменения. Все модификации, эквивалентные замены или усовершенствования и т.п. попадают в рамки настоящего изобретения.
Промышленная применимость
Способ и система для загрузки файла из локальной клиентской программы на сервер в веб-приложении, предложенные в настоящем изобретении, оптимизируют существующий алгоритм загрузки файла, устраняют шаг загрузки файла из клиентской программы на веб-сервер по протоколу HTTP и напрямую загружают файл из клиентской программы на FTP-сервер по протоколу FTP, чем решают проблему узкого места в алгоритме загрузки файла, используемом на существующем уровне техники, благодаря чему снижается нагрузка на веб-сервер и значительно улучшается эффективность и надежность веб-приложения, следовательно, упомянутые способ и система целесообразны для применения. При этом использование интерфейса управляющего апплета с подтвержденной безопасностью упрощает по сравнению с существующим уровнем техники реализацию некоторых относительно сложных функций.
Группа изобретений относится к средствам передачи файлов в веб-приложении. Технический результат заключается в снижении нагрузки веб-сервера. Для этого предложены способ и система для загрузки файла в веб-приложении, которые включают: ввод файла, подлежащего загрузке, пользователем клиентской программы в элемент управления с подтвержденной безопасностью, загрузку элементом управления с подтвержденной безопасностью файла, введенного пользователем, на FTP-сервер, а также загрузку информации, связанной с этим файлом, на веб-сервер. Веб-сервер передает также информацию, связанную с упомянутым файлом, в процессор интерфейсных сообщений, чтобы процессор интерфейсных сообщений мог загрузить этот файл с FTP-сервера в соответствии с информацией, связанной с этим файлом, и передать этот файл на сервер управления медиаресурсами. 4 н. и 5 з.п. ф-лы, 6 ил.
1. Способ реализации загрузки файла в веб-приложении, включающий:
разработку управляющей программы с подтвержденной безопасностью, размещение упомянутой управляющей программы с подтвержденной безопасностью на веб-сервере и приведение ссылки на размещенную управляющую программу с подтвержденной безопасностью на веб-странице для загрузки клиентской программой;
загрузку клиентской программой упомянутой управляющей программы с подтвержденной безопасностью с веб-сервера;
ввод клиентской программой файла, подлежащего загрузке, посредством рабочего интерфейса управляющей программы с подтвержденной безопасностью;
загрузку упомянутого файла, подлежащего загрузке, управляющей программой с подтвержденной безопасностью на сервер протокола передачи файлов (FTP);
при этом шаг разработки упомянутой управляющей программы с подтвержденной безопасностью включает:
разработку управляющей программы для загрузки файла клиентской программой в соответствии с требованиями и упаковку разработанной управляющей программы в файловый пакет;
выполнение запутывания кода упомянутого файлового пакета и
создание пары ключей безопасности для упомянутого файлового пакета с запутанным кодом, при этом упомянутая пара ключей безопасности включает секретный ключ и открытый ключ, причем секретный ключ используют для шифрования упомянутого файлового пакета для формирования цифровой подписи, а открытый ключ используется клиентской программой для дешифрования упомянутого файлового пакета для получения упомянутой управляющей программы.
2. Способ по п.1, также включающий:
передачу упомянутым пользователем информации, связанной с упомянутым файлом, на веб-сервер посредством управляющей программы с подтвержденной безопасностью;
при этом шаг загрузки пользователем файла на FTP-сервер посредством управляющей программы с подтвержденной безопасностью и загрузки информации, связанной с упомянутым файлом, на веб-сервер посредством управляющей программы с подтвержденной безопасностью включает: ввод упомянутым пользователем файла и информации, связанной с упомянутым файлом, в рабочий интерфейс пользователя управляющей программы с подтвержденной безопасностью, а также загрузку упомянутого файла рабочим интерфейсом пользователя на упомянутый FTP-сервер и загрузку информации, связанной с упомянутым файлом, на упомянутый веб-сервер.
3. Способ по п.2, в котором
шаг загрузки упомянутого файла на FTP-сервер и загрузки информации, связанной с упомянутым файлом, на упомянутый веб-сервер реализуют путем: загрузки упомянутого файла на FTP-сервер по протоколу FTP и загрузки информации, связанной с упомянутым файлом, на упомянутый веб-сервер по протоколу передачи гипертекста (HTTP).
4. Способ по п.2, который после шага загрузки упомянутого файла на FTP-сервер и загрузки информации, связанной с упомянутым файлом, на веб-сервер также включает:
загрузку упомянутым веб-сервером информации, связанной с упомянутым файлом, в процессор интерфейсных сообщений; и
получение упомянутым процессором интерфейсных сообщений упомянутого файла от упомянутого FTP-сервера в соответствии с информацией, связанной с упомянутым принятым файлом, и загрузку упомянутого файла на сервер управления медиаресурсами (MRB),
при этом информация, связанная с упомянутым файлом, включает одно или более из следующего: имя файла, информацию о предоставителе файла или информацию о пути к упомянутому файлу, загружаемому на упомянутый FTP-сервер.
5. Система для загрузки файла в веб-приложении, включающая клиентскую программу, сервер протокола передачи файлов (FTP) и вебсервер, при этом:
клиентская программа сконфигурирована для загрузки программы управления с подтвержденной безопасностью с веб-сервера и для ввода файла, подлежащего загрузке, и загрузки упомянутого файла, подлежащего загрузке, на FTP-сервер посредством рабочего интерфейса упомянутой управляющей программы с подтвержденной безопасностью;
FTP-сервер сконфигурирован для приема и хранения файла, загружаемого из клиентской программы;
веб-сервер сконфигурирован для размещения упомянутой программы управления с подтвержденной безопасностью, которая разрабатывается предварительно, и для приведения ссылки на упомянутую размещенную программу управления с подтвержденной безопасностью на веб-странице для загрузки клиентской программой;
при этом предварительная разработка упомянутой управляющей программы с подтвержденной безопасностью включает:
разработку управляющей программы для загрузки файла клиентской программой в соответствии с требованиями и упаковку разработанной управляющей программы в файловый пакет;
выполнение запутывания кода упомянутого файлового пакета и
создание пары ключей безопасности для упомянутого файлового пакета с запутанным кодом, при этом упомянутая пара ключей безопасности включает секретный ключ и открытый ключ, причем секретный ключ используют для шифрования упомянутого файлового пакета для формирования цифровой подписи, а открытый ключ используется клиентской программой для дешифрования упомянутого файлового пакета для получения упомянутой управляющей программы.
6. Система по п.5, в которой
клиентская программа сконфигурирована также для загрузки упомянутого файла на FTP-сервер по протоколу FTP и загрузки упомянутой информации, связанной с упомянутым файлом, на веб-сервер по протоколу передачи гипертекста (HTTP);
веб-сервер сконфигурирован для приема и хранения информации, связанной с упомянутым файлом, загружаемым из клиентской программы.
7. Система по п.6, включающая также процессор интерфейсных сообщений и сервер управления медиаресурсами (MRB), при этом
веб-сервер сконфигурирован также для загрузки информации, связанной с упомянутым файлом, в процессор интерфейсных сообщений;
процессор интерфейсных сообщений сконфигурирован для получения упомянутого файла от FTP-сервера в соответствии с информацией, связанной с упомянутым принятым файлом, и для загрузки этого файла на MRB-сервер;
MRB-сервер сконфигурирован для приема и хранения упомянутого файла, загружаемого процессором интерфейсных сообщений;
при этом информация, связанная с файлом, включает одно или более из следующего: имя файла, информацию о предоставителе файла и информацию о пути к упомянутому файлу, загружаемому на FTP-сервер.
8. Веб-сервер, сконфигурированный для:
размещения предварительно разработанной управляющей программы с подтвержденной безопасностью для загрузки клиентской программой;
приема и хранения информации, связанной с файлом, загружаемым с помощью клиентской программы посредством рабочего интерфейса пользователя управляющей программы с подтвержденной безопасностью, при этом файл загружают с помощью клиентской программы на сервер протокола передачи файлов (FTP) посредством рабочего интерфейса пользователя управляющей программы с подтвержденной безопасностью для загрузки этого файла с сервера FTP процессором интерфейсных сообщений; и
загрузки информации, связанной с упомянутым файлом, в процессор интерфейсных сообщений, для загрузки упомянутым процессором интерфейсных сообщений упомянутого файла с FTP-сервера в соответствии с информацией, связанной с упомянутым файлом, и для загрузки упомянутого файла на сервер управления медиаресурсами (MRB),
посредством чего реализуют эффективную загрузку файла в веб-приложении;
при этом предварительная разработка упомянутой управляющей программы с подтвержденной безопасностью включает:
разработку управляющей программы для загрузки файла клиентской программой в соответствии с требованиями и упаковку разработанной управляющей программы в файловый пакет;
выполнение запутывания кода упомянутого файлового пакета и
создание пары ключей безопасности для упомянутого файлового пакета с запутанным кодом, при этом упомянутая пара ключей безопасности включает секретный ключ и открытый ключ, причем секретный ключ используют для шифрования упомянутого файлового пакета для формирования цифровой подписи, а открытый ключ используется клиентской программой для дешифрования упомянутого файлового пакета для получения упомянутой управляющей программы.
9. Система для загрузки файла в веб-приложении, включающая веб-сервер по п.8.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
US 6895557 B1, 17.05.2005 | |||
US 20080178230 A1, 24.07.2008 | |||
СПОСОБ РЕПЛИКАЦИИ ИНФОРМАЦИИ В РАСПРЕДЕЛЕННЫХ БАЗАХ ДАННЫХ И СИСТЕМА ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2006 |
|
RU2315349C1 |
Авторы
Даты
2014-07-20—Публикация
2009-09-15—Подача