Прием файлов из социальной сети — КиберПедия 

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Прием файлов из социальной сети

2021-06-24 26
Прием файлов из социальной сети 0.00 из 5.00 0 оценок
Заказать работу

[ДК2]

Социальная сеть передает сообщение с данными о файле. Коннектор получив данные, передает их в файловый сервер, полученных данных должно быть достаточно для получения файла из социальной сети. Файловый сервер сохраняет данные и возвращает idфайла, для его идентификации в системе Eralink. Коннектор передает сообщение в чат-сервер, одновременно с этим файловый сервер стартует загрузку файла из социальной сети (если это требуется, зависит от типа файла). Получив idфайла, АРМ формирует ссылку на файловый сервер для получения данного файла. Получив запрос на данный файл, файловый сервер проверяет сохранен ли файл в БД, если файл был сохранен в БД, то его содержимое берется из БД. Если файл не был сохранен в БД, то на основе имеющихся данных формируется запрос к социальной сети для получения файла, ответ от сети проксируется на АРМ.

Передача файлов от оператора в социальную сеть

[ДК3]

Для отправки файла в социальную сеть, АРМ передает файл в файловый сервер, который сохраняет его содержимое в БД, и возвращает АРМ idфайла. АРМ прикрепляет этот idк отправляемому сообщению. При получении сообщения с idфайла, коннектор запрашивает данные по этому файлу и использует их для отправки файла в социальную сеть.

Особености работы файлового сервера с ВК

Данными необходимыми для точной идентификации файла в ВК являются: idфайла, idпользователя загрузившего файл, ключ доступа к файлу и токен. Поэтому важно запрашивать файл у файлового сервера, стоящего на коннекторе, имеющем данный токен. Любые изображения полученные из ВК сохраняются в БД, в свою очередь содержимое видео и произвольных файлов не храниться в БД.

Отказоустойчивость

Коннекторы могут работать в двух режимах: Primaryи Backup. Режим работы коннектора задается для каждого аккаунта индивидуально. То есть коннектор может по одному аккаунту быть Primary, а по другому Backup,это сделано чтобы ошибка обработки одного аккаунта не влияла на другой. При этом по каждому аккаунту только один коннектор работает в режиме Primary. Изначально коннектор стартует в режиме Backup, и в этом режиме он не принимет и не отправляет сообщения. При переходе в Primaryстартует монитор забирающий сообщения из ВК. При переходе в режим Backup монитор останавливается.

Установка приложения

Требования к рабочей среде

На сервере должна быть установлены:

· Javaверсии 8 или выше.

· Dwebp для конвертации файлов

В рабочей среде должны буть установлены и настроены:

· Zookeeper

· БД(Oracleверсии 12 или выше, MSSQL 2008 или выше), для которой должен быть предостален пользователь с правами на сохранение и чтение данных, вызов процедур.

· Настроеный чат-сервер Eralink

Коннектор и операторы должны иметь доступ к следующим хостам:

· pp.userapi.com

· api.vk.com

· *.vk.com

Состав ПО

В состав стандартной поставки ПО входят:

· vk.jar – основной файл коннектора

· vk-deps.jar – файл со сторонними библиотеками

· application.conf – файл конфигурации коннектора

· logback.xml – конфигурационный файл логгирования

· start.batилиstart.sh – файл для запуска коннектора

Инициализация БД

Для работы коннектора ВК должны существовать следующие таблицы (скрипты приведены для Oracle, для других БД создаются по аналогии):

CREATE TABLE "VK_MESSAGE_MONITOR" (

 ownerId number NOT NULL,

 lastMessageId number NULL,

 ADD_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,

 UPDATE_DATE TIMESTAMP NULL

);

CREATE TABLE LONG_POLL_UPDATES (

update_id NUMBER NOT NULL,

status NUMBER(1) NOT NULL,

account VARCHAR2(50) NOT NULL

);

CREATE TABLE LONG_POLL_STATE (

account VARCHAR2(50) NOT NULL,

offset NUMBER NOT NULL

);

Такжееслиещенебылисозданыследуетдобавитдветаблицыдляработыфайловогосервера
CREATE TABLE "FILES"(ID number GENERATED ALWAYS AS IDENTITY NOT NULL,

FILENAME varchar2(512),

FILE_SIZE number,

SECURE_KEY varchar2(64),

CONTENT blob,

ADD_DATE timestamp DEFAULT CURRENT_TIMESTAMP,

constraint FILES_INDEX_PK primary key (ID)

);

CREATE TABLE "CHANNEL_FILES"(ID number GENERATED ALWAYS AS IDENTITY NOT NULL,

FILE_ID number NOT NULL,

SPECIAL_ID varchar2(4000) NOT NULL,

CHANNEL_NAME varchar2(128) NOT NULL,

constraint CHANNEL_FILES_INDEX_PK primary key (ID)

);

ALTER TABLE "CHANNEL_FILES" ADD CONSTRAINT CHANNEL_FILES_FILE_ID_FK

FOREIGN KEY (FILE_ID) REFERENCES "FILES"(ID);


Поделиться с друзьями:

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.013 с.