WSG_WtrDl ========= Программа записи данных в дисковую петлю WSG с серверов NRTS(ISI/Xfer), LISS, SEEDlink (замена Rnrts). --------------------------------------------------------- v20140131 ========= 2014/01/31 15:29 442 368 WSG_WrtDL.exe 1. Исправлена ошибка: некорректный сброс буфера при потере и последующем подключении к ISI-серверу v20140116 ========= 2014/01/16 15:01 442 368 WSG_WrtDL.exe 1. Исправлены ошибки: - при записи в почасовые файлы (в заголовочной части файла отображалась некорректная длительность (TQTY)) - при переподключении к ISI-серверу (заново не перезапрашивался список каналов) - при запросе с ISI-сервера данных с текущего времени (запрашивался -1, начиналась передача ВСЕЙ петли) - подключения к SEEDlink-серверу (последовательность команд протокола) - при приеме данных с SEEDlink/LISS-серверов (ошибка сравнения float и double) - дублирования записей в дисковых петлях (исправлена сортировка в запросе SQL (вначале LDDATE, потом FOFF) + контроль перехода через границу) - поиска параметров (пропуск WSG.ini в каталоге Windows) - обработки параметров запуска (TBEGIN, SERVER и т.д.) - записи в почасовые файлы после создания дисковых петель (первый старт) - прямого указания имени файла дисковой петли (игнорировалось) - удаления файлов для каналов с LCODE = ?? (не удалялись) - ошибки открытия/записи лог-файла и добавлена информация, выводимая в файл протокола при старте программы 2. Изменен внешний вид: - добавлен столбец LC (LCODE), изменен порядок стоблцов - исправлена сортировка по столбцам (нерпавильно выводилось имя файла) - введено отображение несовпадающих SPS => SPS_прием(SPS_БД) - исправлена ошибка отображения количества полученных байтов (nBytesRead => ulong) - добавлено отображение версии, параметров подключения к БД и каталога дисковой петли - изменен диалог информации о программе, иконка программы 3. При отсутствии станции/канала в БД не создается файл дисковой петли, делается запись в лог-файл 4. Для SEEDlink-серверов введен параметр CHAN_TYPE (по умолчанию: D, для указания любого типа использовать ??) 5. Добавлен LCODE в название почасовых файлов 6. При старте анализируются повторяющиеся группы каналов (отбрасываются с записью в лог-файл) 7. Значительно расширен объем информации, выводимой в отладочном режиме (DEBUG). При приеме с SEEDlink-серверов в DEBUG-режиме в каталоге запуска создается файл дампа ВСЕХ принимаемых пакетов 1.dat v20130603 ========= 2013/06/03 10:52 425 984 WSG_WrtDL.exe 1. Исправлена ошибка с определением времени старта (стартовала с текущего времени, если не был указан параметр TBEGIN) v20130530 ========= 2013/05/30 14:51 425 984 WSG_WrtDL.exe 1. Исправлено чтение 3-х символьных каналов (для ISI-серверов) с пустым LCODE (ошибка новой математики ISI - шлет то пустое поле, то пробелы) v20130523 ========= 2013/05/23 10:12 425 984 WSG_WrtDL.exe 1. Исправлена ошибка с некорректной записью в файл, при наличии 2-х секций [GROUP№] с одинаковыми STATION, CHAN и разными LCODE 2. Для ISI-серверов, если имя канала больше 3-х символов, то следующие после 3-го символы считаются кодом расположение, параметр LCODE при этом игнорируется, в базу данных пишется информация о РЕАЛЬНО полученных данных (3-х символьные имена каналов с учетом LCODE). v20130304 ========= 2013/03/04 15:53 421 888 WSG_WrtDL.exe 1. Исправлена ошибка при попытке занесения данных в СУБД SQL Server 2000 (некорректное определение размера столбца CPATH в таблице FILELIST) v20130225 ========= 2013/02/25 15:53 421 888 WSG_WrtDL.exe 1. Исправлена ошибка записи в почасовые файлы 2. Исправлено отображение имени файла в основном диалоге программы ( поле [File (type)] ) v20130220 ========= 2013/02/20 15:43 421 888 WSG_WrtDL.exe 1. Обновлена библиотека чтения фйла настроек (WSG_WrtDL.ini) 2. Тип сервера поумолчанию заменен на ISI 3. В зависимости от типа сервера порт по умолчанию: XFER->14002, ISI->39136, LISS->4000, SEED_LINK->18000 4. При отсутствии имени сервера, программа выдает сообщение об ошибке и завершает работу v20130206 ========= 2013/02/06 13:49 417 792 WSG_WrtDL.exe 1. Исправлена ошибка при завершении работы утилиты или разрыве соединения с сервером (не сбрасывались накопленная информация в базу данных) 2. Исправлена ошибка при занесении информации, полученной с isi-серверов (заносился полный путь в базу данных) 3. При записи в файле настроек LCODE=[пусто], не создается новый файл v20121128 ========= 2012/11/28 16:16 401 408 WSG_WrtDL.exe 1. Обновлена библиотека работы с SEED-ом v20120423 ========= 2012/04/23 17:33 393 216 WSG_WrtDL.exe 1. Исправлена ошибка при разрыве соединения с базой данных, теперь при обнаружении разрыва соединения происходит попытка перепоключения v20120413 ========= 2012/04/13 16:26 393 216 WSG_WrtDL.exe 1. При старте утилиты введена проверка на тип данных (размер) поля FOFF таблицы FILELIST (проверка происходит только для дисковых петель размером больше 2000 Мб). Если проверка не проходит предлагается изменить тип данных поля FOFF таблицы FILELIST (это необходимо для корректной работы программы) или завершить работу и изменить размер дисковой петли 2. Введена опция командной строки FOFF=[Стартовое смещение в байтах]|MAX(взять максимальное из поля FOFF) v20120302 ========= 2012/03/02 15:08 389120 WSG_WrtDL.exe 1. Исправлена ошибка с изменением порта при подключении к ISI-серверу (ранее ВСЕГДА происходило подключение по дефолтному порту: 39126) v20110201 ========= 2011/02/01 17:07 389120 WSG_WrtDL.exe 1. При появлении данных из будущего (более суток от текущего времени с учетом параметра TIME_SHIFT), они отбрасываются с соответствующей записью в файл протокола (log-файл) v20101123 ========= 2010/11/23 16:51 389120 WSG_WrtDL.exe 1. В базу данных заносится значение SpS с точностью до 4-го знака после запятой v20101110 ========= 2010/11/10 15:30 389120 WSG_WrtDL.exe 1. Исправлена ошибка с завершением программы v20100716 ========= 2010/07/16 14:59 389120 WSG_WrtDL.exe 1. Исправлена ошибка с LCODE для ISI-серверов 2. Исправлена ошибка с отрицательным значением ключа TBEGIN v03062010 ========= 03/06/2010 16:54 389120 WSG_WrtDL.exe 1. Исправлена ошибка с ключом NETWORK для LISS (SEED_LINK) серверов 2. Исправлена ошибка с завершением программы (ранее не завершалась) v28052010 ========= 28/05/2010 17:02 389120 WSG_WrtDL.exe 1. Исправлена ошибка подключения к LISS (SEED-LINK) серверам. Теперь к одному серверу можно подключаться по разным портам. 2. Если для канала задано отрицательное время начала (TBEGIN<0), то запрашивается текущее время минус указанное значение v04122009 ========= 04/12/2009 15:49 389120 WSG_WrtDL.exe 1. Исправлена ошибка при определении размера файла дисковой петли. Теперь, если не задан параметр SIZEMB в секции [GROUP#], берется SIZEMB из секции [SYSTEM]. v04092009 ========= 04/09/2009 16:11 385024 WSG_WrtDL.exe 1. Исправлена ошибка (При попытке сброса буфера по TIMEOUT-у (isi-сервер) программа прекращала свою работу). v23072009 ========= 23/07/2009 14:36 385024 WSG_WrtDL.exe 1. При ошибке записи в базу данных запись в файл настроек (WSG_WrtDL.ini) не производится. v16072009 ========= 16/07/2009 11:99 385024 WSG_WrtDL.exe 1. По истечению TIMEOUT-а производится сброс буфера v23042009 ========= 23/04/2009 16:19 372736 WSG_WrtDL.exe 1. Исправлена ошибка с параметром TBEGIN (стартует с текущего времени) 2. При отставании данных более 10мин. параметр FLASH не используется (берется максимальное значение) v09022009 ========= 09/02/2009 17:00 372736 WSG_WrtDL.exe 1. Добавлена проверка размера при записи информации в базу данных с реально существующим (если не совпадают, то делается соответствующая запись в log) 2. Исправлена ошибка выделения памяти (накпливался буфер) 3. При записи в базу данных SpS пишется с точностью до 3-х знаков после запятой (ранее до 2-х знаков после запятой) v15122008 ========= 15/12/2008 16:47 372736 WSG_WrtDL.exe 1. В секцию [SYSTEM] добавлен ключ TIMEOUT (по умолчанию 20 сек.), который является значением поумолчанию для ключа в секции [GROUP#] 2. Исправлена запись заголовка файлов. v10122008 ========= 10/12/2008 16:07 372736 WSG_WrtDL.exe 1. В log-файл пишется информация о подключении к базе данных и откуда взяты настройки 2. Исправлено отображение пути в основном диалоге программы 3. Исправлена запись в заголовки в файлах с данными размером 512 (почасовые файлы) и 1024 (файл дисковой петли) 4. Небольшие исправления в новой библиотеке для работы с дисковой петлей и БД v01122008 ========= 01/12/2008 17:00 364544 WSG_WrtDL.exe 1. При ошибке записи в файл в базу информация не заносится 2. При старте программы в log-файл пишется ее версия 3. Добавлена проверка на наличие свободного места на жестком диске при записи в файл 4. В log-файл выводится информация об ошибках при удалении файлов 5. В командную строку и секцию [SYSTEM] добавлен ключ TBEGIN (приоритет у командной строки), который позваляет задать общее время старта для всех каналов (UNIX-TIME), 0 - все каналы стартуют с текущего времени v05112008 ========= 05/11/2008 17:39 364544 WSG_WrtDL.exe 1. Исправлена ошибка при удалении почасовых файлов (ранее не удалялись) v31102008 ========= 31/10/2008 17:02 364544 WSG_WrtDL.exe 1. Исправлена ошибка при подключении к ISI-серверу для станций с 3-х символьным именем канала и без LCODE (неправильно формировался запрос к серверу). 2. Отредактировна строка подключения к ISI-серверу (при большом количестве каналов не хватало длины). 3. Увеличен размер буффера. v19092008 ========= 19/09/2008 11:26 364544 WSG_WrtDL.exe 1. Исправлена ошибка с ключом TIME_SHIFT v15092008 ========= 15/09/2008 15:43 364544 WSG_WrtDL.exe 1. Исправлена ошибка с наложением данных 2. Введена новая библиотека для работы БД v30052008 ========= 30/05/2008 17:07 389120 WSG_WrtDL.exe 1. Исправлена проблема с TIME_SHIFT (информация в БД разбивалась на 4-х минутные куски) 2. Исправлено подключение к ISI-серверу с текущего времени (бралось самое раннее время) 3. TIMEOUT для LISS и SEED(SEED_LINK) различается v21052008 ========= 21/05/2008 15:35 389120 WSG_WrtDL.exe 1. В секцию [GROUP#] добавлен ключ FILE, с перечислением каналов для которых необходимо создавать файл дисковой петли (приоритет для ключа FILE_[имя канала]). 2. В секции [GROUP#] и [SYSTEM] добавлен ключ TIMEOUT (время ожидания ответа от сервера, в сек.), если для одного сервера указано несколько TIMEOUTов, то выбирается наибольший. v08052008 ========= 08/05/2008 15:12 389120 WSG_WrtDL.exe 1. В секцию [GROUP#] добавлен ключ TIME_SHIFT (по умолчанию 0), задает смещение для данных ВСЕХ каналов группы (например, можно "сдвинуть" данные на час назад, задав TIME_SHIFT=-3600). v20032008 ========= 20/03/2008 12:59 389120 WSG_WrtDL.exe 1. Исправлена ошибка при потере соединения (не освобождалась память), а также для ISI-серверов при каждой попытке соединения создавались и не освобождались MUTEX-ы и SEMAPHORE-ы. 2. Добавлен TIMEOUT на переподключение к серверам после разрыва соединения (10 сек). v06032008 ========= 06/03/2008 16:41 397312 WSG_WrtDL.exe 1. В секцию [GROUP#] добавлен ключ FILE, с перечислением каналов для которых необходимо создавать файл дисковой петли (приоритет для ключа FILE_[имя канала]). 2. В секции [GROUP#] и [SYSTEM] добавлен ключ TIMEOUT (время ожидания ответа от сервера, в сек.), если для одного сервера указано несколько TIMEOUTов, то выбирается наибольший. v11022008 ========= 11/02/2008 10:42 397312 WSG_WrtDL.exe 1. При отсутствии ключа SIZEMB в секции [GROUP#], размер файла берется из секции [SYSTEM] 2. Если в командной строке задать ключ -u,\u или update, то при старте программы все данные, содержащие в поле CREATER таблицы FILELIST запись 'NRTSDISKLOOP' на запись 'WSG_wrtdl' 3. При создании файла его размер пишется в log-файл. v01022008 ========= 01/02/2008 14:43 397312 WSG_WrtDL.exe 1. В секции [GROUP#] добавлен ключ FLASH=. приоритет: Командная строка, секция [GROUP#], секция [SYSTEM] 2. Исправлена ошибка при чтении информации из файла настроек (при отсутствии секции [DATA] в локальном фале настроек информация не читалась из файла WSG.ini) v31012008 ========= 31/01/2008 13:10 393216 WSG_WrtDL.exe 1. Исправлена ошибка при работе MS SQL Server (ошибка возникала при одновременном обращении к базе нескольких потоков, введена критическая секция) 2. В секцию [SYSTEM] добавлен ключ FLASH=, указывающий интервал до сброса данных на винчестер в секундах (размер буфера данных), задется в интервале от 30 секунд до максимального размера буфера (~240 сек для sps=20), меньшие и большие значения приравниваются границам. Аналогичный параметр можно задать с командной строки (наивысший приоритет у параметра командной строки): [SYSTEM] ; Сброс данных через 60 сек для sps=20 FLASH=60 v29012008 ========= 29/01/2008 12:55 393216 WSG_WrtDL.exe 1. Исправлена ошибка при удалении информации из базы данных для почасовых файлов (ошибка при обработке результатов запроса к БД) v28012008 ========= 28/01/2008 14:55 393216 WSG_WrtDL.exe 1. Исправлена ошибка в модуле подключения к базе данных (если в локальном файле настроек отсутствовала секция [DATABASE], то настройки не брались из системного файла WSG.ini) v09112007 ========= 09/11/2007 12:19 393216 WSG_WrtDL.exe 1. Исправлена ошибка при подключении к серверу типа ISI (для Windows). v29102007 ========= 29/10/2007 18:25 393216 WSG_WrtDL.exe 1. Исправлена ошибка при потере соединения с базой данных, что приводило к "потере памяти" (теперь оно восстанавливается). v24102007 ========= 24/10/2007 14:50 393216 WSG_WrtDL.exe 1. В секцию [GROUP#] добавлен ключ NETWORK (актуально только для серверов типа SEED_LINK(SEED) ). v02102007 ========= 02/10/2007 12:12 393216 WSG_WrtDL.exe 1. Исправлена ошибка при подключении к серверу типа ISI (при неправильно заданном имени сервера выполнение программы прерывалось). v04092007 ========= 04/09/2007 12:08 393216 WSG_WrtDL.exe 1. Исправлена ошибка при удалении информации из базы данных. v21082007 ========= 21/08/2007 15:16 393216 WSG_WrtDL.exe 1. Добавлена проверка на наличие Станции, канала и LCODE в таблице SIETCHAN. v08082007 ========= 08/08/2007 12:01 393216 WSG_WrtDL.exe 1. Добавлена возможность принимать данные с серверов типа ISI (!!!Для серверов типа ISI поддерживается только 3-х значное имя канала, при 5-ти значном имени канала 2 последних знака считаются LCODE). v13042007 ========= 13/04/2007 14:56 348160 WSG_WrtDL.exe 1. Если в командной строке задать ключ -u,\u или update, то при старте программы все данные, содержащие в поле CREATER таблицы FILELIST запись 'NRTSDISKLOOP' на запись 'WSG_wrtdl'. 2. В секцию [DATABASE] добавлен ключ USE_TEND, принимающий значения 0,1. 3. Если ключ USE_TEND равен 1 и в таблице FILELIST имеется поле TEND, то данные будут заноситься еще и в поле TEND. 4. Исправлена ошибка удаления данных в режиме работы с дискретными (часовыми) файлами. v06032007 ========= 06/03/2007 16:27 344064 WSG_WrtDl.exe 1. Исправлена ошибка при удалении информации из базы данных для серверов типа LISS и SEED_LINK(SEED). v02032007 ========= 02/03/2007 11:11 344064 WSG_WrtDl.exe 1. Исправлена некорректная запись данных в поле CPATH таблицы FILELIST. 2. Исправлена некорректная запись данных в поле SPS таблицы FILELIST. v12012007 ========= 12/01/2007 14:13 331776 WSG_WrtDl.exe 1. При записи данных в файл, он не расширяется, и запись произволится в начало файла. 2. При каждой записи в данных в файл, обновляется его заголовок. v27122006 ========= 27/12/2006 10:09 331776 WSG_WrtDl.exe 1. При записи информации в базу данных, в поле CPATH таблицы FILELIST заносится относительный путь (если он не является UNC-путем). 2. Если при обновлении информации в базе данных будет совпадать ключ, то TQTY уменьшится на 0.01, а при добавлении информации TBEGIN увеличится на 0.01. 3. Исправлена ошибка при определении смещения для записи данных в файл. 4. Исправлена ошибка неправильной записи данных в файл дисковой петли для сервера типа (liss) 5. В секцию [GROUP#] добавлен ключ LCODE, если он отсутствует, то принимается значение по умолчанию "??", если LCODE=??, будут приниматься данные только с пустым LCODE 6. Ключ LCODE влияет только на прием данных с серверов типа LISS и SEED_LINK(SEED) 7. В основной диалог программы добавлены поля [LC] и [SpS] (SPS берется из таблицы SITECHAN) с возможностью сортировки по ним v14112006 ========= 14/11/2006 16:36 327680 WSG_WrtDL.exe 1. При записи информации в базу данных, в поле CPATH таблицы FILELIST заносится относительный путь (если он не является VNC-путем). 2. Если при обновлении информации в базе данных будет совпадать ключ, то TQTY уменьшится на 0.01, а при добавлении информации TBEGIN увеличится на 0.01. 3. Исправлена ошибка при определении смещения для записи данных в файл. v31102006 ========= 31/10/2006 15:30 327680 WSG_WrtDl.exe 1. Исправлена ошибка "утечки" памяти (распределения буфера). v18102006 ========= 18/10/2006 12:16 323584 WSG_WrtDl.exe Программа записи данных в дисковую петлю WSG с серверов NRTS, LISS, SEEDlink (наследник Rnrts). 1. Поддерживает режимы работы с дискретными (часовыми) и монофайлами данных. Если в секции, описывающей группу, у канала указан файл (например: FILE_BHZ00=OBN_BHZ00.DAT), то полученные данные будут записываться в этот файл, если нет то данные будут писаться в раздельные почасовые файлы. Если файл не существует, то он будет создан. 2. В секцию [GROUP#] добавлены ключи: - SERVER - Имя сервера для данной группы (значение по умолчанию: fsuhub1_int), - SRV_TYPE - Тип сервера для данной группы (значение по умолчанию: xfer), - PORT - Номер порта (значение по умолчанию: 14002). 3. Добавлена возможность получать данные с нескольких серверов (для каждого сервера создается отдельный поток). 4. В основной диалог программы добавлено поле [Server (type)], в котором указано имя сервера и его тип для данных станции и канала. 5. Добавлена возможность сортировки по полю [Server (type)]. 6. Убрана возможность использовать редактор настроек во время работы программы. 7. В качестве редактора настроек используется утилита IniRnrtsNT.exe. 8. Добавлена возможность задать имя файла настроек в командной строке (по умолчанию: WSG_wrtdl.ini ) 9. Cтруктура WSG_wrtdl.ini : ------------------------- [SYSTEM] GROUPS=40 - Количество групп каналов. Нумерация начинается с единицы. Первая группа имеет номер 1, вторая 2 и т.д. в названии соответствующей секции [GROUP#] SERVER=fsuhub1_int - Наименование сервера NRTS (может задаваться как символическое имя или IP-адрес) MODE=silent - Устанавливает режим отображения принятой информации в области «Список станций/каналов»: silent – отключает отображение информации detail – включает отображение информации SCREEN=full - Определяет режим отображения при старте: full – отображает основное окно программы на экране, hide – не отображает основное окно программы на экране. [DATABASE] - секция параметров подключения к базе данных ODBC=wsg - имя ресурса базы данных, объявленного в ODBC USER=wsg – имя пользователя PASSWORD=wsg – пароль пользователя [DATA] – секция для описания данных DIR=u:\Data – путь на данные для системы обработки сейсмических данных [log] - секция для описания файла протокола dir=u:\log - Путь на каталог для записи логов (протокола работы) программы. Значение по умолчанию равно “..\log” [GROUP1] - секции, описывающие группу STATION=OBN - Наименование станции, каналы которой образуют эту группу (данные которых запрашиваются с сервера NRTS) CHAN=BHZ00,BHE00,BHN00 - Список каналов, перечисляемых через запятую BHZ00=1144913106 - Время последней записи в базу данных для данного канала (UNIXTIME) SIZEMB=60 - Максимальный суммарный размер, который могут занимать данные каналов, перечисленных в поле CHAN. Задается в мегабайтах. Значение по умолчанию при отсутствии параметра равно 10 FILE_BHZ00=OBN_BHZ00.DAT- Имя файла дисковой петли для указанного канала SERVER - Имя сервера для данной группы (значение по умолчанию: fsuhub1_int), SRV_TYPE - Тип сервера для данной группы (значение по умолчанию: xfer), PORT - Номер порта (значение по умолчанию: 14002). Логика разбора настроек: 1. Высший приоритет - командная строка (ODBC=, USER=, PASSWORD=, DIR=) 2. Настройки из собственного файла *.ini (в секциях [DATABASE], [DATA]) 3. Те же настройки в файле wsg.ini в СИСТЕМНОМ каталоге Windows (значение переменной окружения %WINDIR%) 4. Значения по-умолчанию (wsg:wsg/wsg, D:\Data) Если не получается настроить на нужный каталог или ODBC-ресурс - скорее всего, этот путь задан в файле wsg.ini или к нему и/или файлу настройки программы для этого пользователя НЕТ ДОСТУПА (программа НЕ МОЖЕТ считать настройки и принимает значения по-умолчанию).