22.05.2017, 20:25 [+3 UTC]
в нашей команде: 1 981 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
20.05.2017, 22:36

Последний вопрос:
22.05.2017, 19:05

Последний ответ:
22.05.2017, 16:00

Последняя рассылка:
22.05.2017, 17:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
26.03.2012, 19:48 »
Stanislav Bolshakov
Спасибо за быстрое и доступное объяснение. Очень Вам благодарен smile [вопрос № 185680, ответ № 270325]
13.05.2010, 13:04 »
Мироненко Николай Николаевич
Спасибо Вам большое!!! Странно, полностью изучил книжку по разметке из серии 10 мин. на урок, там и справочник по тегам, свойствам и их значениям есть, но о этом свойстве там ничего нет. А какие значения для этого свойства еще доступны? [вопрос № 178358, ответ № 261367]

РАЗДЕЛ • Алгоритмы и теория программирования

Решение алгоритмов, схемы и классы алгоритмов, построение блок-схем.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 147
CradleA
Статус: Профессионал
Рейтинг: 39
Evgen aka Chuma
Статус: 5-й класс
Рейтинг: 18

Перейти к консультации №:
 

Консультация онлайн # 190559
Автор вопроса: krasnovit74 (Посетитель)
Отправлена: 13.02.2017, 13:02
Поступило ответов: 0

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Есть сервис, на котором одни люди, создают разного рода задания другим людям в Вконтакте.

Например: Один пользователь создал задание другим пользователям - поставить лайк под фотографией, за это он платит N-ю сумму балов (внутренняя валюта сервиса) тем, кто это задание выполнил и получил за это баллы.

Далее, необходимо, что бы тот кто задание выполнил, не отменил свое действие, а если и отменил, то, что бы сервис это заметил, и наказал, принудительным списанием баллов в пользу создателя задания.

Вот в общем-то и суть вопроса: как сделать, что бы сервис мог в течение длительного времени, без существенной нагрузки на сервер, отслеживать нарушителей и наказывать в соответствии с правилами.

Какие есть варианты реализации?

P.S. Сам не програмист, так, что пожалуйста, делитесь мыслями на доступном для дилетанта языке, что бы я потом мог объяснить идею механизма програмисту.

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 190559

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 1

= общий = | 13.02.2017, 14:07 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
krasnovit74:

Все во многом зависит от реализации.
Например, если все данные хранятся в базе, то можно добавить еще одно поле, говорящее о том, что задание выполнено.
При выполнении задания помечать значением, говорящем о том, что "выполнено".
Если от исполнителя приходит запрос на отмену, то проверять значение этого поля.
Далее все просто: если поле = "выполнено", то накладать штраф.

=====
Каждый выбирает по себе -
Щит и латы, посох и заплаты.
Меру окончательной расплаты
Каждый выбирает для себя.

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 13.02.2017, 14:09

krasnovit74
Посетитель

ID: 400926

# 2

= общий = | 13.02.2017, 14:30 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Если от исполнителя приходит запрос на отмену, то проверять значение этого поля.


Тут такой нюанс, что как таковой запрос от исполнителя не приходит. Т.е. Скажем, он поставил в ВК лайк под фотграфией, получил за это баллы, всё. Далее, он может спокойно этот лайк в ВК снять. И задача состоит в том, что бы сервис смог отследить данное действие.

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

Моя мысль была такая, что бы сервис вел базу по каждому созданному заданию, в которой есть данные о том, кто это задание выполнил и когда. В дальнейшем, думал, как вариант, сервис бы проверял, скажем раз в неделю эту базу, и сравнивал с данными api Вконтакте на разногласия, и тем самым вычислял бы нарушителей.

Но повторюсь, т.к. я дилетант, это весьма поверхностная идея, потому и пытаюсь найти лучшее решение у более компетентных людей.

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 3

= общий = | 13.02.2017, 14:46 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
krasnovit74:

Опять все упирается в реализацию.
Я смутно представляю, как проверяется, что лайк под фото поставлен или снимается?
Можно ли привязать какое-то действие (тот же лайк) к чему-то другому (к проверке сервиса)
Т.е. хотелось бы сделать, чтобы проверка делалась в момент действия. Тогда постоянные проверки будут ненужны.

© Цитата:
Моя мысль была такая, что бы сервис вел базу по каждому созданному заданию, в которой есть данные о том, кто это задание выполнил и когда.
И я о том же.

=====
Каждый выбирает по себе -
Щит и латы, посох и заплаты.
Меру окончательной расплаты
Каждый выбирает для себя.

krasnovit74
Посетитель

ID: 400926

# 4

= общий = | 13.02.2017, 15:18 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Я смутно представляю, как проверяется, что лайк под фото поставлен или снимается?


Через Api Vkontakte

© Цитата: Лысков Игорь Витальевич
Можно ли привязать какое-то действие (тот же лайк) к чему-то другому (к проверке сервиса)


Оно так и сделано, когда человек выполняет задание, сервис получает данные о выполненном действии черет Api Vkontakte, таким образом и происходит проверка, выполнено задание или нет. Если выполнено, человек получает за его выполнение баллы, если нет, не получает.


© Цитата: Лысков Игорь Витальевич
Т.е. хотелось бы сделать, чтобы проверка делалась в момент действия.


Как уже описал выше, проверка как раз и происходит во время выполнения задания.

Но человеку, после выполнения, ничего не мешает взять и снять этот лайк.

Соответственно, мне нужно, что бы данное действие было замечено сервисом.

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

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 5

= общий = | 13.02.2017, 15:53 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
krasnovit74:

© Цитата:
Как уже описал выше, проверка как раз и происходит во время выполнения задания
Раз происходит проверка, то наверняка проверяется есть лайк или снятие лайка.
Вот и предлагаю продолжить следить за лайком столько, сколько надо. Если это реально сделать, то было бы самый раз.

=====
Каждый выбирает по себе -
Щит и латы, посох и заплаты.
Меру окончательной расплаты
Каждый выбирает для себя.

krasnovit74
Посетитель

ID: 400926

# 6

= общий = | 13.02.2017, 16:26 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Вот и предлагаю продолжить следить за лайком столько, сколько надо. Если это реально сделать, то было бы самый раз.


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

Но я рад, что Вы пытаетесь вникнуть в суть. Думаю, Вы уже близки к понимаю, того, что мне нужно.

Как Вы видите, реализовать мониторинг 24\7 невозможно, потому, я ищу альтернативу, которая позволила бы замечать нарушения (отмену поставленного лайка), пусть и не сразу, и наказывать.

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

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 7

= общий = | 13.02.2017, 20:10 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
krasnovit74:

© Цитата:
если сервис будет постоянно мониторить всю эту кучу
Я не предлагаю "мониторить эту кучу", а реагировать только в момент лайка/отмены от лайка или каких-то других заданий. Загрузки на сервер никакой!
Человек нажимает, сервис ловит нажатие и принимает решение, что делать: засчитать, отказать , проигнорировать или наказать...
Я бы думал именно в таком направлении...

=====
Каждый выбирает по себе -
Щит и латы, посох и заплаты.
Меру окончательной расплаты
Каждый выбирает для себя.

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 13.02.2017, 20:12

krasnovit74
Посетитель

ID: 400926

# 8

= общий = | 15.02.2017, 18:47 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Я не предлагаю "мониторить эту кучу", а реагировать только в момент лайка/отмены от лайка или каких-то других заданий. Загрузки на сервер никакой!
Человек нажимает, сервис ловит нажатие и принимает решение, что делать: засчитать, отказать , проигнорировать или наказать...
Я бы думал именно в таком направлении...


Так сделать не получится. Что бы сервис поймал отмену лайка, он должен сделать запрос на api Vkontakte, апи даст ответ, была ли отмена, и на основе ответа, сервис принимает решение. Потому, сервис должен периодически повторять проверку. Но, таких вот лайков, а следовательно и запросов в общей сложности очень и очень много.
Например, 100 пользователей, совершающих 100 лайков в течение месяца, это 300 000 запросов от сервиса к api vkоntakte, и это только лайки, и только на примере 100 постоянных пользователей. И количество только растет. От сюда и вся сложность создания механизма проверки.

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 9

= общий = | 16.02.2017, 11:41 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
krasnovit74:

Мои советы на этом закончились.
Поговорите еще со своим программистом. Может у него есть какие-то мысли на этот счет.
Все-таки он знает систему изнутри.

=====
Каждый выбирает по себе -
Щит и латы, посох и заплаты.
Меру окончательной расплаты
Каждый выбирает для себя.

krasnovit74
Посетитель

ID: 400926

# 10

= общий = | 16.02.2017, 11:45 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Лысков Игорь Витальевич
Мои советы на этом закончились.
Поговорите еще со своим программистом. Может у него есть какие-то мысли на этот счет.
Все-таки он знает систему изнутри.


Благодарю, за уделенное мне время.

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14760 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн