УДК 004.652.4
И.Г. Проценко, Н.С. Пономарев
Камчатский государственный технический университет, Петропавловск-Камчатский, 683003 e-mail: bond.007.mi6.198909@gmail.com
АВТОМАТИЗАЦИЯ ПРОЦЕССА СБОРА И ОБРАБОТКИ ДАННЫХ
О ВЫЛОВЕ РЫБОДОБЫВАЮЩИМИ КОМПАНИЯМИ КАМЧАТСКОГО КРАЯ
Статья посвящена разработке программного модуля для автоматизированной обработки отчетов о вылове рыбодобывающих компаний Камчатского края в информационной системе организации и регулирования рыболовства (ИСОРР). Дано описание функциональных задач ИСОРР. Приведены схема информационных потоков, описание процесса обработки входной информации и его декомпозиция, результаты функционирования программного модуля.
Ключевые слова: промышленное рыболовство, промысловая отчетность, декомпозиция процессов обработки данных.
I.G. Protsenko, N.S. Ponomarev
Kamchatka State Technical University, Petropavlovsk-Kamchatskу, 683003 e-mail: bond.007.mi6.198909@gmail.com
AUTOMATION OF DATA COLLECTING AND PROCESSING ABOUT CATCHING BY FISHING COMPANIES OF THE KAMCHATKA REGION
The article is devoted to the development of a software module for automated processing of catch reports of fishing companies in the Kamchatka Territory in the information system for organizing and regulating fisheries (ISORF). A description of the functional tasks of ISORR is given. A diagram of information flows, a description of the process of processing input information and its decomposition, and the results of the functioning of the software module are given.
Key words: industrial fishing, fishing reporting, decomposition of data processing processes.
Необходимость контроля за промысловой деятельностью судов и предприятий является совершенно обоснованной мерой в связи с состоянием сырьевой базы и современными реалиями рыбного бизнеса. Российские власти постоянно совершенствуют организацию охраны водных биологических ресурсов и принимают меры по усилению органов рыбоохраны и вводу в практику контроля результатов функционирования информационных систем. Например, в целях повышения эффективности управления рыболовным флотом в конце прошлого столетия появляется первая система непрерывного наблюдения за деятельностью промысловых судов. Именно тогда был введен сбор ежесуточных промысловых отчетов судов и ежемесячных отчетов предприятий об уловах. Введение промысловой отчетности Постановлением Правительства Российской Федерации от 26 февраля 1999 г. № 226 «О создании отраслевой системы мониторинга водных биоресурсов, наблюдения и контроля за деятельностью промысловых судов» [1] и Порядка регистрации пользователей водных биологических ресурсов в Информационной системе «Рыболовство» (ИСР), определенных Приказом Госкомрыболовства РФ от 10 октября 1996 г. № 185 [2], стало отправной точкой информатизации промышленного рыболовства.
ИСР разрабатывалась с использованием современных технологий в области навигационных спутниковых систем, спутниковых систем связи и повсеместного внедрения глобальной сети Интернет для целей наблюдения за местонахождением судов и контроля вылова судами и рыбо-добывающими предприятиями. А инструменты формирования, хранения, переработки и обеспе-
чения эффективными способами представления информации стали важным фактором конкурентоспособности и средством повышения эффективности управления всеми сферами общественной жизнедеятельности [3].
Для того чтобы принять своевременное эффективное управленческое решение, необходимо обладать актуальной, достоверной, непротиворечивой информацией, которую легко обрабатывать. Наиболее удобным способом хранения информации является база данных. Использование современных систем управления базами данных позволяет с легкостью обрабатывать данные, хранимые в базе (искать, выбирать, выполнять сортировку данных).
Актуальность данных, хранимых в базе, зависит от частоты ее пополнений и корректировок, а это зачастую очень трудоемкий процесс, особенно в тех случаях, когда база данных состоит из большого числа связанных между собой таблиц. Поэтому необходимо ввести унифицированную систему документации, чтоб информацию из стандартизированных документов можно было вводить в базу данных в автоматическом или полуавтоматическом режиме.
Рассмотрим один из видов отчетности - оперативные промысловые отчеты рыбопромышленных предприятий, представляемые в Северо-Восточное территориальное управление Федерального управления по рыболовству (СВТУ ФАР) 15-го и последнего числа каждого месяца согласно Инструкции приказа Госкомрыболовства РФ от 10 октября 1996 г. № 185. В требованиях Инструкции отчеты должны представляться в формализованном закодированном виде в текстовых файлах. Однако в отсутствие программного обеспечения у СВТУ ФАР на первом этапе внедрения ИСОРР предприятия стали подавать отчеты в удобной для них и СВТУ ФАР форме, а именно в виде файлов формата Ехе1 (пример приведен на рис. 1).
А Б С D Е F G Н 1 J К
1 Название организации;
2 ИНН:
3 Почтовый адрес:
4 Юридический адрес:
5 Телеф он:
7 Название отчета: Отчет о добыче (вылове) водных биологических ресурсов Корректировка
S Отчетная дата: 15.02.2024
Э (Тн)
№ разрешения Код района промысла Район промысла Код объект а промы Объект промысла Прилов Начальная квота (объем) по разрешени Квота (объем) по разрешению с учетом внесенных изменений Вылов за отчетны п период Вылов с начала год Орудия лова
10 [Т [Т ела □ н ю [Т [V
11 412024013638 272 Камчатско-Курнльская подзона 400 минтай 700000 700000 197.001 606.654
12 412024013638 274 Западно-Камчатская подзона 400 минтай 800.000 800.000 33.1S7
13 412024013638 272 Камчатско-Курнльская подзона 403 навага 100.000 100.000 260.233 565.101
14 412024013638 274 Западно-Камчатская подзона 403 навага 500.000 900.000 13.281
15 412024013638 272 Камчатско-Курнльская подзона 451 камбалы дальневосточные 100000 100.000 2.222 102.839 снюрревод (неводной)
16 412024013638 274 Западно-Камчатская подзона 451 камбалы дальневосточные 300.000 300.000
17 412024013638 272 Камчатско-Курнльская подзона 292 треска 25.000 25.000 0.564 10.377
18 412024013638 274 Западно-Камчатская подзона 292 треска 25 000 25.000 0.639
19 412024013638 272 Камчатско-Курнльская подзона 457 корюшка азиатская зубастая да 2.452
20 412024013638 274 Западно-Камчатская подзона 457 корюшка азиатская зубастая Да 0.488
Рис. 1. Промысловый отчет в виде xls-файла
Чтобы не ломать сложившуюся систему сбора данных, автоматизированную обработку входной информации было принято решение производить практически на всех форматах, применяемых предприятиями.
На предприятиях промысловые отчеты могут формироваться либо с использованием каких-то программ предприятия, либо непосредственно «вручную» в программе Ехсе1. Затем они передаются по е-mail в СВТУ ФАР и после выгрузки с почтового ящика обрабатываются.
Стоит заметить, что программный модуль должен выполнять все функции, связанные с пополнением SalmonDB. Выходные данные - это дополненные таблицы SalmonDB, протокол обработки файлов, архив обработанных файлов, файлы с ошибками.
За основу построения базы данных отраслевой системы мониторинга взята реляционная модель: БД состоит из набора прямоугольных таблиц, неявно связанных между собой. База данных SalmonDB, с которой будет работать программный модуль обработки рыбопромысловых отчетов, реализована в СУБД MySQL, которая выбрана, так как MySQL:
• некоммерческая СУБД, является решением для малых и средних приложений;
• позволяет работать с большим объемом данных;
• в основе запросов лежит язык SOL, удобный для работы с базой данных;
• отсутствуют проблемы обслуживания СУБД;
• проста для использования.
Таблицы SalmonDB условно сгруппированы в классы (группы таблиц):
• нормативно-справочная информация (НСИ);
• регистрационные и учетные данные (Учет);
• оперативные и статистические отчеты (Отчет);
• Дополнительные таблицы.
Внутри классов таблицы связаны между собой, а в случае группы НСИ можно говорить о межклассовой связи между таблицами.
Рассмотрим процесс «Пополнение записями SalmonDB» более детально, сделав его декомпозицию, которая представлена на рис. 2. Этот процесс происходит по следующему принципу: сначала из файлов, которые находятся во входной директории, необходимо отобрать файлы рыбопромысловых отчетов в формате Excel-файлы с данными для SalmonDB, затем нужно проверить на наличие ошибок в содержании. Данные из файлов, не содержащих ошибок, добавляются в базу данных, процесс обработки файлов протоколируется. Ведется протокол обработки файлов с указанием ошибок, содержащихся в файлах отчетов, файлы, прошедшие проверку программным модулем без ошибок, архивируются и перемещаются в архив.
Рис. 2. Диаграмма IDEF0 процесса «Пополнение записями БД SalmonDB» (0-уровень)
В любом случае результат обработки файла должен быть занесен в протокол обработки файла (функция «Протоколирование процесса обработки файлов»). Протоколирование осуществляется в соответствии с документом «Технология работы с SalmonDB». В результате выполнения функции получаем заполненный протокол обработки файлов.
Чтобы представить более подробно процесс добавления данных в БД SalmonDB, удобнее будет разработать схему IDEF3.
Любая IDEF3-диаграмма может содержать работы, связи, перекрестки и объекты ссылок [4]. Схема добавления записей в SalmonDB в нотации IDEF3 представлена на рис. 3.
Рис. 3. Диаграмма IDEF3 подпроцесса «Добавление записей в Salmon DB»
Для начала необходимо проверить, есть ли в промысловым отчете данные, совпадающие с данными из SalmonDB. После проверки данных из промыслового отчета и сопоставления данных из SalmonDB происходит обработка промыслового отчета, с добавлением ошибок, содержащихся в промысловом отчете, в специальный раздел «log» SalmonDB, где ведутся записи обработки промысловых отчетов.
В связи с необходимостью реализации функций компонентов ИСОРР необходимо, чтобы информация в SalmonDB постоянно обновлялась за счет добавления новых записей в таблицы базы данных либо корректировки уже существующих записей.
Для реализации программного модуля обработки рыбопромысловых отчетов выбрана веб-разработка, так как:
1) позволяет производить работу с программным модулем в большинстве ОС, представленных на рынке;
2) для работы программного модуля требуется только веб-браузер и программа обработки таблиц с сохранением таблицы в файл формата Excel;
3) веб-приложение позволяет максимально легко вести администрирование системы: подключать новых пользователей, удалять старых пользователей, назначать права каждому конкретному пользователю.
Запуск программного модуля в веб-браузере позволяет решить ряд проблем, а именно:
1. Не требуется установочный диск или копия программы для установки программного модуля на компьютер, это позволяет запустить программу на персональном компьютере практически с любой ОС, просто подключившись к программе через адрес в сети Интернет по логин-паролю.
2. Все обновления программы устанавливаются непосредственно на веб-сервере, и конечный пользователь всегда будет подключаться к актуальной версии программного модуля.
3. На серверах многие компоненты дублируются и подразумевают возможность горячей замены вышедших из строя компонентов сервера. Также у критически важных систем подразумевается наличие дублирующих серверов для своевременного переключения системы на дублирующий сервер в случае выхода из строя основного сервера.
4. Размещение программного модуля на сервере позволяет делать легкую миграцию программы с одного сервера на другой, если потребуется заменить сервер на более мощный в случае большего числа организаций, работающих с программным модулем.
Входной информацией для программного модуля будут данные, полученные из таблицы файла Excel, поданной руководителями рыбодобывающих бригад и находящейся в директории с входными файлами и имеющими расширение «.xls» или «.xlsx» (см. рис. 1).
Процесс пополнения SalmonDB новыми записями можно разбить на шесть стадий: подключение к SalmonDB, чтение параметров работы модуля, чтение таблиц SalmonDB, обработка входных файлов, архивирование файлов, обработанных без ошибок, отключение от SalmonDB.
Инициирует выполнение процесса пополнения SalmonDB новыми записями пользователь.
Первым шагом является чтение справочников и таблиц SalmonDB. Чтение таблиц осуществляет модуль Reports. Обработка содержания файла включает в себя считывание построчно данных в отчете, таких как название организации, ИНН, дата подачи отчета, суточный и суммарный вылов рыбопродуктов и т. д. Далее из обработанного файла программный модуль преобразует данные из отчета в массив. Модулем cRep происходит обработка массива и сравнивается с данными, уже содержащимися в SalmonDB. После проверки и сравнения данных в массиве с данными в SalmonDB происходит пополнение базы данных новыми записями. Файлы отчетов, не содержащих ошибок, перемещаются в директорию выходных файлов «Out», в файл отчета записывается комментарий, что отчет обработан без ошибок, а данные с отчета записываются в таблицу catch SalmonDB (рис. 4).
phpMyAdmin а «а © в t> с
Недавнее Избранное
к! ■"югрргП dp:".
Щ -стрргк law щ дпгрргК law bat ^ ллгрргк гр
^ -wpptk гр !>"
^ agreeds reps bak ^ agreeds гсд bak Т7] application £3 attempts 53 baiis S3 catch e—55 catch bak
—5?3 catch осгл
11—5*3 conditions 11—55 e:[]ntra[ls
department
S О» : -Грунту pa JF[ : О Q. Поиск щ H; i а и н i :> Щ Экспорт Щ Импорт В Привилегии g Операции ^Триггеры
•f Отображений строк О - 49 (3324253 есего, Запрос занял 0,3317 сек.) [time: 2024-02-20 08:55:03... - 2024-02-20 0&55:Ю_1
SELECT ' FRCM "catch' ORDER BY "catch"time" DESC П Профилирование
[ Пппрошпв рвлдииргждние ] [ Измрчить ] [ Анализ SOL лап роса ] [ Создать РНР-кпл ] [ ОВн опить ]
1 □ П оказать все? Количество строк: 150 "I Фильтровать сгроки:|поиск в таблице |сортир*
Extra options id region id Ц L'.'ivU ' сvolume sum volume lime íj user id
J/liO 412024010173 2024-02-15 265 292 0.0000000000 0.0000000000 2024-02-20 08:55:09 123
]/Зв 412024010173 •■024-02-15 274 403 13.1860000000 117.4050000000 2024-02-20 0S:55i>9 123
J/lií 412024410061 2024-02-15 273 9S4 0.0000000000 0.0000000000 2024-02-20 08:55:09 123
]/5в 412024010173 2024-02-15 272 451 86.5730000000 102.1130000000 2024-02-20 00:55:09 123
J / Ц J 412024410063 2024-02-15 3 S И © 412024010173 2024-02-15 274 272 9S4 112 0.0000000000 0.0000000000 0.0000000000 О.ООООЙООООО 2024-02-20 08:55:09 2024-02-20 00:55:09 123 123
Рис. 4. Пополнение базы данных сведениями из промыслового отчета
Файлы отчетов, содержащих ошибки, обрабатываются аналогично файлам без ошибок, но данные из такого отчета не заносятся в БД, а массив данных возвращается в модуль Reports, который добавляет в файл отчета комментарии с указанием ошибок в промысловом отчете и перемещает файл промыслового отчета в директорию файлов, обработанных с ошибками «Err» (рис. 5).
В результате функционирования программного модуля пополняются таблицы SalmonDB, а также происходит обработка файлов Excel из входной директории, с последующим перемещением обработанных файлов в одну из двух категорий: Err - для файлов, содержащих ошибки в отчете, или Out - для файлов без ошибок, информация из которых будет добавлена в SalmonDB.
Главная Поделиться Вид
* "Т1 > Этот компьютер > Локальный диск [С:) > fare_reports > Егг
Имя Дата изменения Тип Размер
стрыи Д( збоЧк it ЭГруЗ!^ ОКуМ" it
зобрг it
1ой Дигт/ тчеты
eDrive-1
>т компь
лдео
окумент
згрузки
зображе
(узыка
Ёъемны
абочий(
окальнь
'INDRIVE
за gate (Е
,3_CCSA_
_CCSA_X
□ . -SL-000 Дары Камчатки 2023-08-31_2024-02-20 08-02-03jc... 20.02,2024 22:12
L- ООО Дары Кам ч атки 2023-08-31 ¿024-02-20 08-02-03jc Hex 20.02,2024 17:55
S-AO РЫБСПЕЦПРОМ 2023-03-15 2024-02-20 08-02-04.xlsx 20.02,2024 17:55
@ S-AO САХАЛИН ЛИЗИНГ ФЛОТ2024-02-15_2024-02-20 08-... 20.02,202417:55
Ц S-AO ЯМСЫ 2024-02-15_2024-02-20 08-02-05лЬ 20.02,202417:55
Тип
Лист Microsoft Ex... Лист Microsoft Ex...
Лист Microsoft Ex.., Лист Microsoft Ex.., Лист Microsoft Ex..,
1 КБ 9 КБ
20 КБ 11 КБ 35 КБ
L-000 Двры Камчатки 2023-08-31 2024-02-200В-02-03.»|д< - Енсг!
Поиск
а
Й-
Буфер обмена (а
Разметка страницы А~ А"
1111
U О ^ А „
Формулы Данные Рецензирование Вид — | —| ^ - ¡Л!» Переносить текст
1_Е 1Е § Объединить и поместить в центре " Выравнивание г
Справка
ABBYY FineReader 12
Общий
И! - % ™ *й8
Условное форматирован!^
А В С D Е F G Н 1 J К
1 Исходный файл "L-OOO Дары Камчатки 2023-08-31 2024-01-26 02-01-05 x1 sx" обработан 2024-02-20 08:02
2 Обнаружены ошибки:
3 Отчет за 2023-08-31 по разрешению №4120230120909 содержит ошибку: код региона=274 отсутствует в разрешении
4 Отчет за 2023-08-31 по разрешению N»4120230120909 содержит ошибку: по строке рэйон=272, вид ВБР=249 нет отчетных данных о вылове
5 Отчет за 2023-08-31 по разрешению N»4120230120909 содержит ошибку: строка район=274, вид ВБР=249 отсутствует в разрешении
6 Возможно ошибка: отчет за 2023-08-31 подан с задержкой
7
S Название организации: ООО "Дары Камчатки"
9 ИНН: 4103031677
10 Почтовый адрес: 633009, Камчатский край, г. Петропавловск-Камчатский, Космический проезд, д.ЗВ.оф. 11.
11 Юридический адрес: 584102, Камчатский край, Усть-Большерецкий р-н, п. Октябрьский, ул. Пушкинская, д.41., кв.12
12 Телефон: 22-30-87
13
14 Назван ие отчета: Отчет о добыче (вылове) водных биологических ресурсов
15 Отчетная дата: 31.08.2023
15
17 18 19 М? разрешения И Код района промысла F1 Район промысла В Код объекта промысла F1 всего 446,000 2 766,000 0,000 1498,591
Объект промысла 1 Начальная квота (объем) по разрешению В Квота (объем)по разрешению с учетом внесенных изменен^ т Вылов за отчетный период (тонн) Вылов с начала года (тонн) В
4120230120910 272 Камчатско-Курильская подзона 249 горбуша 50,000 250,000 0,000 27,633
20 4120230120910 272 Камчатско-Курильская подзона 251 кижуч 5,000 15,000 0,000 0,000
21 22 23 4120230120910 272 Камчатско-Курильская подзона 252 нерка 100,000 500,000 0,000 238,418
4120230120910 272 Камчатско-Курильская подзона 558 кета 50,000 100,000 0,000 2,239
412023012090Э 274 Камчатско-Курильская подзона 249 горбуша 200,000 1600,000 0,000 1167,173
Рис. 5. Отчет, в процессе обработки которого были обнаружены ошибки
Таким образом, в результате разработки и внедрения программного модуля обработки промысловых отчетов удалось автоматизировать ввод и корректировку информации в SalmonDB, что привело к существенному упрощению обработки входных документов и технологии пополнения базы данных при сохранении качества данных в SalmonDB.
Дополнительным свойством программного модуля является наличие в нем гибкой настройки, которая позволяет использовать его не только для SalmonDB, но и для других информационных систем, которые характеризуются наличием большого числа входных документов и источников входных данных.
Литература
1. О создании отраслевой системы мониторинга водных биологических ресурсов, наблюдения и контроля за деятельностью промысловых судов: Постановление Правительства Российской Федерации от 26 февраля 1999 года № 226.
2. О порядке и механизме представления оперативной и статистической отчетности по добыче рыбы и переработке рыбопродукции: Приказ Госкомрыболовства Российской Федерации от 10 октября 1996 года № 185.
3. Мониторинг рыболовства, 2005: Инструкции и рекомендации экипажам промысловых судов и судовладельцам / Л.А Кошкарева, Ф.А Образцов, И.Г. Проценко, В.Ю. Резников, К.В. Статиенко, М.А. Ступникова; под общ. ред. д.т.н. И.Г. Проценко. - Петропавловск-Камчатский: ФГУП «Камчатский центр связи и мониторинга», 2005.
4. Черемных С.В. Семенов И.О., Ручкин В.С. Структурный анализ: IDEF-технологии. - М.: Финансы и статистика, 2003.