Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разработка алгоритма, Работа с данными 
:(
    Опции темы
HipJ
Дата 24.4.2011, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 21.1.2006

Репутация: нет
Всего: нет



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

Итак, приступим к описанию. Программа получает файл xml от сервера. В этом файле хранятся данные, так же в нем есть переменная - время, в миллисекундах, эту переменную нужно использовать при последующем обращении к серверу (прибавляем, например к ней 60 секунд, получаем в ответ только измененные данные, относительно первого файла).
Для начала требуется немного обработать данные (конкретно - числа перевести с одного формата в другой), тут, вроде  smile все ясно.
Далее, при каждом следующем обращении к файлу, нужно учитывать полученные изменения и следить  за ними. Например, в исходном файле <summ>1</summ>, во втором запросе произошло изменение <summ>1.1</summ>, в 4 запросе снова произошло изменение <summ>1.4</summ>  (движение может быть в любую сторону). Обязательно нужно записывать время изменения. Так же с течением времени данная переменная (блок) может исчезнуть (закончится). (чтобы было понятнее - речь идет о спортивных событиях)

Так вот, каким образом хранить все изменения, чтобы потом удобно было их обрабатывать?  smile 

Я так себе представляю: загружаем файл xml -> переносим данные в БД. Сохраняем по каждому событию необходимые для отслеживания данные, создаем таблицы, которые будут учитывать изменения (записывать) по каждому событию.

Второй скрипт (программа) будет уже заниматься выгрузкой и обработкой данных.

Далее.. думаю 
PM MAIL   Вверх
ksnk
Дата 24.4.2011, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(HipJ @  24.4.2011,  22:36 Найти цитируемый пост)
Так вот, каким образом хранить все изменения, чтобы потом удобно было их обрабатывать? 

например в виде массива - ключ-значение
"root/summ" - ключ, 1 и 1.1 - значения. Ключи формируются путем текстового суммирования корневых имен.
Соответственно, в базе таблица из 2-х строковых полей.
Такой способ позволит сравнивать значения за один проход по массиву.
Формировать такой массив из исходного xml - рекурсивным проходом по распарсенному xml.

А что делается со значениями дальше?

Цитата(HipJ @  24.4.2011,  22:36 Найти цитируемый пост)
чтобы потом удобно было их обрабатывать

Что такое обрабатывать? Может с этого стоило начать?  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
HipJ
Дата 25.4.2011, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 21.1.2006

Репутация: нет
Всего: нет



Цитата(ksnk @ 24.4.2011,  22:58)
Что такое обрабатывать? Может с этого стоило начать?  smile

Да, возможно стоило с этого начать.

После получения и сохранения всех полученных изменений (это как новые значения уже имеющихся записей, так и новые записи) необходимо обработать изменения, конкретно - в простых случаях (например изменение значения на 0.1, далее на -0.1) просто отобразить движение (в текстовом виде в столбик), а в случае, если изменение произошло на значения превышающее заданные пределы, то отформатировать выводящуюся информацию по-иному.  smile  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0672 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.