Функция запускается и обрабатывается на сервере / лазуре, затем отправляется обратно в приложения и отображается - PullRequest
1 голос
/ 10 марта 2012

Я пытался создать какое-то приложение с metro-UI с C # для Window 8, поскольку Window 8 скоро будет работать на планшете, и теперь я знал, что мое приложение требует большой вычислительной мощности, поэтому идеи приходят мне на умчто, если бы я мог сделать высокопроизводительный процесс на сервере;или получить другой VPS или Azure для обработки функций, а затем отправить результаты обработанных функций в приложение Window 8 Metro-UI?

Высокопроизводительные функции, о которых я упомянул о: *

  • распознавание изображений лица - распознайте лицо на сервере, а затем сообщите результат
  • Создать изображение - при загрузке некоторых изображенийустановите водяной знак и восстановите новое изображение
  • Обрезать изображение - как в Facebook, обрезать часть лица из большого изображения
  • Редактировать изображение - в случае обрезки не так правильно или выравнивание получило проблему
  • Фильтрация данных - большое количество данных от пользователя, необходимо отфильтровать их, затем вставить на сервер
  • и другие ...

Мне пришло в голову, WCF?но я никогда не изучал это в деталях прежде .. какие-либо ключевые слова, чтобы исследовать эти проблемы ??Спасибо за ответ.= D

1 Ответ

1 голос
/ 12 марта 2012

Практически любая технология, позволяющая установить связь между вашим приложением и сервером, может выполнять то, что вы просите, так долго.Если вы реализуете обе стороны, вы можете определить любой соответствующий аспект, такой как протокол, безопасность и т. Д.

Относительно Azure и WCF:

Да, вы можете реализовать то, что вы просите с помощью WCF в Azure ... Azure иWCF сам по себе ничего не знает об изображениях или подобных вещах - вам решать, что вы хотите ...

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

WCF может использовать различные протоколы - некоторые более переносимы относительно других платформ (например, HTTP / SOAP, который можно использовать с iOSили Android, например), другие более производительны (например, двоичный протокол на основе TCP ...).Некоторые из них более дружественны к брандмауэрам (например, http) и т. Д. Выбор, который действительно зависит, во многом зависит от того, что вам нужно ...

Относительно Metro:

Приложения Metro могут быть реализованы с использованием C #, JavaScript и т. Д.- в зависимости от вашей ситуации может быть вариант реализовать это как сочетание клиентской части HTML5 / JavaScript и серверной части WCF / C # ...

Относительно редактирования изображений и т. д. :

Как это реализовать, зависит от функций, которые вы хотите дать пользователю ... некоторые вещи достижимы с помощью уменьшенной версии изображения на стороне клиента (например, коррекция эффекта красных глаз), а некоторые довольно сложны (например,высококачественная коррекция цвета), поскольку им необходимо несколько аспектов (высокое разрешение, управление цветом и т. д.).

Существует несколько библиотек обработки изображений на основе .NET (бесплатных и коммерческих), которые предлагают широкий выборразнообразные функции, связанные с изображениями ... некоторые имеют облачные интерфейсы (http и / или некоторые элементы управления пользовательским интерфейсом и т. д.).Обязательно проверьте лицензирование перед использованием библиотек в облаке (Azure или аналогичных) ...

Редактировать изображение / Фильтровать данные - это широкое поле, поэтому оно недостаточно конкретное ... Сравнить изображение (с точки зрения лица)кажется, подразумевает, что вы хотите сделать какое-то распознавание ... это очень сложная и широкая область, но очень хорошо возможная с .NET ...

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

ОБНОВЛЕНИЕ - согласно комментариям, которые ОП хочет реализовать в основномчто-то похожее на распознавание лиц, найденное на facebook:

Реализация распознавания лиц, похожее на facebook, - это ОЧЕНЬ БОЛЬШОЙ проект ИМХО ... алгоритмы распознавания сложны, а "хорошие" обычно разрабатываются внутри, а не продаются /лицензию для других ... так что вам нужно будет найти какую-то высококачественную библиотеку обработки изображений и разработать / реализовать свой алгоритм поверх этой библиотеки.Есть несколько хороших отправных точек для таких алгоритмов, но в основном вам нужно будет проделать большую работу для их улучшения / уточнения ... для этого вам понадобится много тестовых данных / изображений и т. Д.

Что касаетсяводяные знаки - это еще одна сложная область ... некоторые технологии являются открытым исходным кодом, большинство из них недостаточно надежны в зависимости от того, чего вы хотите достичь ... безопасность водяного знака сильно варьируется ... должна ли она быть достаточно надежной, чтобы кто-то печатал и сканировал ееназад?или для того, кто снимает фото с экрана?или просто для масштабирования?

Еще один аспект - юридическая сторона этого ... несколько соответствующих аспектов таких алгоритмов запатентованы, что означает, что вам может потребоваться приобрести соответствующие лицензии ... конфиденциальность - это еще один правовой аспект, который необходимо соблюдать.имейте ввиду при реализации такого рода приложений ...

ОБНОВЛЕНИЕ 2 - согласно комментариям:

Некоторые общие условия поиска для реализации процесса, который вызывает функции на сервере ивозвращает результаты «SOAP», «WCF», «WebService», «JSON».

Вы можете найти общую информацию:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...