Исследование зависимости времени извлечения данных из XML-файлов от объема выборки файлов в условиях избыточности данных

Исследование и сравнительный анализ различных методов синтаксического анализа информации, хранящейся в XML-файлах. Анализ результатов тестирования методов парсинга на различных контрольных выборках документов, при разном объеме извлекаемых данных.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 17.02.2021
Размер файла 219,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Самарский национальный исследовательский университет им. академика С.П. Королева

ИССЛЕДОВАНИЕ ЗАВИСИМОСТИ ВРЕМЕНИ ИЗВЛЕЧЕНИЯ ДАННЫХ ИЗ XML-ФАЙЛОВ ОТ ОБЪЕМА ВЫБОРКИ ФАЙЛОВ В УСЛОВИЯХ ИЗБЫТОЧНОСТИ ДАННЫХ

Кочетков В.С., Логанова Л.В.

Самара

Аннотация

синтаксический информация файл парсинг

В данной работе произведено исследование и сравнение двух различных методов синтаксического анализа информации, хранящейся в XML-файлах: DOMm SAX. Выполнен анализ результатов тестирования методов парсинга на различных контрольных выборках документов, при разном объеме извлекаемых данных. В результате выполнения работы было сформулированы рекомендации по выбору оптимального метода парсинга данных.

Введение

В наши дни обсуждение XML зачастую проходит в контексте Web-сервисов, преобразований Java объектов в XML и обратно, и даже использования баз данных XML вместо реляционных или объектно-ориентированных.[1] Формат очень широко используется в информационных технология, рекомендован Консорциумом Всемирной паутины ^3С).Примером применения технологии XML могут служить открытые данные информационной системы zakupki.gov.ru, доступные на соответствующем ftp: объём ежедневных обновлений - десятки и сотни тысяч XML файлов объемом в гигабайты или десятки гигабайт, в среднем раз в несколько недель выходит новая версия схемы данных.

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

В случае с ftp-сервером государственных закупок структура данных следует за требованиями законодательства. В связи с этим информация об извещениях о проведении государственных закупок представлена более чем десятком типов документов fcsNotification* в зависимости от типа закупки (электронный аукцион fcsNotificationEF, запрос котировок fcsNotificationZK, закупка у единственного поставщика fcsNotificationEP и т. п.). Все эти документы основаны на одном базовом типе извещения, но отличаются в деталях, и это требуется учитывать при импорте и анализе данных. [2]

На сайте существует ограничение в количестве результатов. Поиск выдает не более, чем 500 строк, и скачивание данных о конкурсах (в виде таблицы.csv формата) средствами сайта невозможно. При этом потребность иметь регулярно обновляемые сведения о проходящих конкурсах, попадающих под определенные критерии, возникает у каждой организации, участвующей в государственных закупках.[3]

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

DOM-парсер.

DOM (Document Object Model - объектная модель документов - платформенно-независимый программный интерфейс, позволяющий программными скриптами управлять содержимым документов HTML и XML, а также изменять их структуру и оформление. Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого содержит элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родитель-потомок.

Способ доступа через DOM удобен, когда структура документа должна (или может) быть доступна в целом и легко модифицироваться - например так, как это происходит в документе Word или при формировании страницы DHTML.

Средства парсинга, у которых каждый анализируемый веб-документ хранится в памяти в виде иерархии его элементов (узлов), при повторном обращении к различным частям документа затрачивают меньшее время на обработку веб-документа, поскольку не нужно заново загружать и строить дерево. Такие средства предоставляют наиболее удобный способ доступа к элементам веб-документа с помощью запросов (CSS и XPath) и подходят для любых задач многократной выборки информации из веб-документа. [4]

Анализ документов методом DOMпутем парсинга XML-файла предполагает создание DocumentBuilderFactory, с помощью которой создается DocumentBuilder, который, в свою очередь, выполняет разбор XML документа для создания объекта Document и последующего извлечения информации путем прохода по всем узлам(nodes)объекта для нахождения искомых атрибутов.

Рисунок 1 Условие извлечения тега в DOM

Поскольку DOM-парсер реализует объектную модель документа, его полезно использовать там, где требуется работать с документом целиком, как с деревом. Представление всего документа будет занимать в памяти значительный объем, поэтому DOM резонно считается моделью, очень требовательной к ресурсам.

SAX-парсер

SAX (Simple API for XML) базируется на модели последовательной одноразовой обработки и не создает внутренних деревьев. При прохождении по XML вызывает соответствующие методы у классов, реализующих интерфейсы, предоставляемые SAX-парсером.

SAX-разбор происходит асинхронно, то есть программа не должна ждать завершающего тега для отработки уже полученных. Последнее может пригодиться, например, для отображения записей SQLзапроса еще до того, как все они будут получены. Другое применение - обрыв сеанса, допустим при нахождении одной нужной записи из миллиона.

Недостаток SAX - необходимость хранения состояния в процессе разбора XML-потока, то есть в случае со сложной и/или недетерминированной структурой придется частично реконструировать узловую модель для отслеживания уровней вложения.

Средства парсинга с потоковой обработкой применимы в задачах, где повторное обращение не нужно. В таком случае происходит последовательный перебор узлов до нужного и поочередная загрузка в память только текущего узла. Данные средства могут анализировать очень большие документы и подходят для таких задач, как индексация или преобразование в другие форматы (например, замена дескрипторов XML на дескрипторы HTML). [4]

SAX-парсер реализует интерфейс DefaultHandler, который использует функции обратного вызова, для извлечение данных по набору условий вида:

Рисунок 2 Условие извлечения тега в SAX

В первую очередь обрабатывается событие startDocumentKo^a синтаксический анализатор SAX разбирает XML и встречает запуск тега (например, <something>), он запускает событие tagStarted (фaктическoе название события может отличаться). Аналогично, когда конец тега встречается во время разбора (<something>), он запускаетtagEnded. Использование анализатора SAX подразумевает, что вам необходимо обрабатывать эти события и понимать данные, возвращаемые с каждым событием. Если в элементе есть содержимое, будут вызываться такие события, как characters для дополнительного текста, startElement и endElement для дочерних элементов и т.п. Заканчивается работа парсера событием endDocument.

Сравнение методов, экспериментальные исследования

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

Для сравнения времени, затрачиваемого на извлечение и обработку информации из ХМL файлов с ftp-сервера zakupki.gov.ru был выгружена и размещена на локальном компьютере контрольная выборка документов, чтобы минимизировать влияние на время обработки файлов факторов, не относящихся к теме исследования. В качестве средства реализации был выбран язык Тауа, на котором были написаны классы, реализующие описанные ранее методы обработки слабоструктурированной информации, а также классы сущностей (Simple API for XML) различными наборами атрибутов, для параллельного исследованию времени обработки различного количества файлов, исследования влияния количества извлекаемых тегов на время выполнения обработки файлов.

Эксперименты проводились для контрольных выборок документов размера N = 1000, N = 5000, N = 10000. Такие размеры был выбраны для сравнения полученных результатов с целью выявления зависимости между числом обрабатываемых документов и общим временем их обработки, и дальнейшего прогнозирования времени парсинга фиксированного набора документов.

Набор тегов, прописанных в условиях парсера, по которым производился поиск данных также варьировался от 4 до 16. Для обнаружения корреляции между временем выполнения парсинга файлов и количеством извлекаемой информации.

И в случае работы SAX-парсера, и в случае работы DOM-парсера, набор тегов передается конструктору объекта Notification для последующей записи объекта в репозиторий.

Полученные значения времени извлечения информации при использовании8АХ-парсера отражены в таблице 1, при использовании DOM - в таблице 2.

Таблица 1

Зависимость времени выполнения парсинга XMLфайлов методом SAX от количества файлов в выборке и набора извлекаемых тегов

Количество

файлов

Число извлекаемых тегов

Время выполнения преобразования, мс

1

2

3

4

5

среднее

1000

4

4083

3615

3933

4083

4480

4038,8

1000

8

4924

4606

5055

4232

4925

4748,4

1000

16

4020

5144

5117

4624

5445

4870

5000

4

8214

9298

9268

9296

8417

8898,6

5000

8

9266

9658

9528

9733

9775

9592

5000

16

13822

14204

14122

14574

14301

14204,6

10000

4

12887

12983

13428

12826

13021

13029

10000

8

14140

18152

13285

14274

13492

14668,6

10000

16

14699

15397

19319

16685

14688

16157,6

Следует отметить, что на время выполнения обработки существенное влияние оказывает набор извлекаемой информации. В случае использования метода SAX, и в случае использования метода DOM добавление условий для извлечения дополнительных наборов тегов значительно влияет на время обработки файлов. На рисунке 3 представлены диаграммы времени обработки контрольных наборов файлов методами DOM и SAX

Рисунок 3 Диаграмма времени обработки контрольных выборок документов методом DOM и SAX при различном наборе извлекаемых тегов (на вертикальной оси показано время в миллисекундах, на горизонтальной три группы столбцов для выборок размером N=1000, 5000, 10000 соответственно)

Использование метода SAX позволяет в среднем до 1,5 раз уменьшить время, затрачиваемое на обработку XML-файлов с целью извлечения данных по сравнению с аналогичными операциями, производимыми над тем же набором файлов, но при использовании метода DOM.

В случае SAX-парсера увеличение количества тегов в 4 раза дало прирост времени обработки файлов в 1,33 раза.

SAX и DOM подходы иногда сочетают между собой. Так, веб-браузер отображает элементы в процессе получения методом SAX, но после получения документа строит его DOM-модель для DHTML-доступа в терминах иерархии объектов. [5]

Сравнение методов, экспериментальные исследования

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

Для сравнения времени, затрачиваемого на извлечение и обработку информации из ХМL-файловс ftp-сервераzakupki.gov.ru был выгружена и размещена на локальном компьютере контрольная выборка документов, чтобы минимизировать влияние на время обработки файлов факторов,не относящихся к теме исследования. В качестве средства реализации был выбран языкТауа, на которомбыли написаныклассы, реализующие описанные ранее методы обработки слабоструктурированной информации, а также классы сущностей ИоШюайопс различными наборами атрибутов, для параллельного исследованию времени обработки различногоколичества файлов, исследования влияния количества извлекаемых тегов на время выполнения обработки файлов.

Эксперименты проводились для контрольных выборок документов размера N = 1000, N = 5000, N = 10000. Такие размеры был выбраны для сравнения полученных результатов с целью выявления зависимости между числом обрабатываемых документов и общим временем их обработки, идальнейшего прогнозирования времени парсинга фиксированного набора документов.

Набор тегов, прописанных в условиях парсера, по которым производился поиск данных также варьировался от 4 до 16. Для обнаружения корреляции между временем выполнения парсинга файлов и количеством извлекаемой информации.

И в случае работы SAX-парсера, и в случае работы DOM-парсера, набор тегов передается конструктору объекта Notification для последующей записи объекта в репозиторий.

Полученные значения времени извлечения информации при использовании8АХ-парсера отражены в таблице 1, при использовании DOM - в таблице 2.

Таблица 2

Зависимость времени выполнения парсинга XMLфайлов методом DOM от количества файлов в выборке и набора извлекаемых тегов

Количество

файлов

Число извлекаемых

тегов

Время выполнения преобразования, мс

1

2

3

4

5

среднее

1000

4

5416

4995

6167

5996

4764

5467,6

1000

8

6177

5419

5931

5829

6295

5930,2

1000

16

6653

5075

7175

6176

6195

6254,8

5000

4

12468

12816

13952

13684

12746

13133,2

5000

8

14678

13574

15488

15584

15406

14946

5000

16

20476

20862

20429

21064

20274

20621

100000

4

18294

20536

17833

17962

18015

18528

100000

8

20402

20107

20259

21359

19793

20384

100000

16

25478

27485

22263

22557

21995

23955,6

Заключение

В результате данной работы было выявлено, что для целей извлечения данных из XMLдокументов рационально использовать метод SAX, поскольку в общем случае время, затрачиваемое на обработку файла методом DOM может превышать в 1,5 раза время обработки файла методом SAX для получения содержимого аналогичного набора тегов.

Стоит учитывать, что метод SAX подходит только для извлечения информации, и в случае необходимости модификации данных неприменим, в отличие от DOM. Однако в случае решения задачи получения данных, этой особенностью можно пренебречь.

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

Литература

1. Бретт Маклахлин. Java и XML, 2-е издание, Символ-Плюс, 2016. 544 страницы.

2. Интеграция XML данных -- другой путь

3. Выгрузка условий конкурсов с zakupki.gov.ru // [habrahabr.ru]. 2015.

4. Чеботарев, А. XML: свобода, ограниченная только фантазией// Компьютеры Программы. 2003. №5. С. 52-55.

5. Лыгина, Н.И., Пудич, А.С.. Исследование правильности и эффективности средств парсинга информации на веб-ресурсах// Инновационная наука, №. 3-1, 2017, С. 59-67.

Размещено на Allbest.ru

...

Подобные документы

  • Перспективные направления анализа данных: анализ текстовой информации, интеллектуальный анализ данных. Анализ структурированной информации, хранящейся в базах данных. Процесс анализа текстовых документов. Особенности предварительной обработки данных.

    реферат [443,2 K], добавлен 13.02.2014

  • Понятие информационных систем и принципы их проектирования. Изучение различных методов извлечения знаний, построение оптимальной информационной системы Data Mining, позволяющей разбивать набор данных, представленных реляционными базами данных на кластеры.

    аттестационная работа [4,7 M], добавлен 14.06.2010

  • Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.

    дипломная работа [3,9 M], добавлен 06.03.2013

  • Проектирование структуры и архитектуры программного продукта. Реализация программы конвертера файлов баз данных. Описание пользовательского интерфейса. Выбор порядка конвертации dbf файлов. Создание и исполнение шаблонов. Расчет себестоимости продукта.

    дипломная работа [2,2 M], добавлен 21.06.2013

  • Реализация алгоритма верификации данных; разработка программы обнаружения аномальных данных в одномерных выборках. Характеристика методов D-статистики, Титьена-Мура, диаграммы "Ящик с усами"; обеспечение эффективности оценок статистических данных.

    курсовая работа [2,5 M], добавлен 27.05.2013

  • Анализ предметной области, потребности различных категорий пользователей разрабатываемой базы данных. Описание концептуальной схемы и преобразование ее в реляционную БД. Создание ER-модели в среде ER-Win. Генерация файлов, разработка запросов в SQL.

    курсовая работа [786,4 K], добавлен 15.12.2013

  • Процедура ввода исходных данных в программу, вывод результатов работы программы на экран. Принцип организации хранения логически связанных наборов информации в виде файлов. Параметры характеристики файла, способы обращения к нему, соглашения по типу.

    реферат [14,5 K], добавлен 06.12.2011

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

    реферат [1,3 M], добавлен 25.03.2013

  • Приобретение практических навыков по определению объема памяти, отводимого на внешнем запоминающем устройстве под файл данных. Расчет производительности поиска информации, хранящейся в файле на ВЗУ. Вычисление использованных кластеров и байт памяти.

    лабораторная работа [31,2 K], добавлен 26.11.2011

  • Описание мониторинга выбросов случайных процессов контролируемых параметров. Основные принципы обработки статистических данных в базисе аддитивной аппроксимации стандартными распределениями. Разработка методов аппроксимирующих вкладов значений выборки.

    контрольная работа [308,2 K], добавлен 19.08.2015

  • Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.

    лекция [169,7 K], добавлен 19.08.2013

  • Системы автоматизированной обработки информации. Хранение большого объема информации. Понятие базы данных (БД). Обеспечение секретности данных. Уровни представления данных в БД. Логическая структура данных. Ограничения, накладываемые на данные.

    реферат [65,2 K], добавлен 26.11.2011

  • Технология деятельности техника-программиста на предприятии. Анализ предметной области. Обоснование выбора среды разработки. Сравнительный анализ методов сортировки данных. Проектирование базы данных. Методы, алгоритм и средства обработки данных.

    отчет по практике [498,2 K], добавлен 03.05.2015

  • Разработка удаленной базы данных и приложения-клиента для доступа к электронным источникам литературы, содержащихся на жестком диске сервера предприятия в виде упакованных архивов файлов и пакетов файлов. Реляционное исчисление доменов. Средства Delphi.

    дипломная работа [2,7 M], добавлен 24.03.2011

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

    реферат [216,5 K], добавлен 26.03.2010

  • Архивация данных как сжатие одного или более файлов с целью экономии памяти. Степень сжатия разных файлов. Названия программ-архиваторов и их возможности. Формирование таблицы "Ведомость расчета заработной платы" в Microsoft Excel. Фильтрация записей.

    контрольная работа [1,7 M], добавлен 12.02.2013

  • Создание и проверка модели оптимального размещения файлов в вычислительной сети со звездообразной, кольцевой и произвольной топологией. Объем данных, необходимый для пересылки файлов. Оптимальное распределение файлов по узлам вычислительной сети.

    контрольная работа [56,7 K], добавлен 20.05.2011

  • Основные действия при работе с архивами. Архиваторы как программы, осуществляющие сжатие (упаковку файлов). Понятие избыточности информации. Архивация с помощью оболочки WinRAR. Кодирование информации наиболее естественным, но не экономичным способом.

    презентация [416,5 K], добавлен 14.03.2015

  • Понятие базы данных, их цели и задачи, требования к БД; система управления базами данных. Файловые системы: именование и структуры файлов, программное обеспечение. Уровни абстракции в СУБД, функции абстрактных данных. Экспертные системы и базы знаний.

    презентация [301,6 K], добавлен 17.04.2013

  • Программы для создания архивов. Эффективность сжатия данных как важнейшая характеристика архиваторов. Основные методы сжатия данных. Характеристика программы для упаковки текстов и программ WinRar. Распаковка файлов, упаковка файлов и папок в общий архив.

    реферат [21,0 K], добавлен 05.04.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.