Научная статья на тему 'Сериализация как инструмент сохранения и передачи данных'

Сериализация как инструмент сохранения и передачи данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
161
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕРИАЛИЗАЦИЯ / СОХРАНЕНИЕ ДАННЫХ / XML

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Брескаленко А. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Сериализация как инструмент сохранения и передачи данных»

- получения информации, которая необходима для анализа соответствия нормальному лесу;

- подготовки и принятие решений по мерам оптимизации структуры лесного фонда.

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

Географическая информационная система (ГИС) «Агентство по Архангельской области» является сводным ГИС по всем ГИС «Лесничество», сюда будет стекаться вся наиболее необходимая информация. Ее основные функции это: свод государственного лесного реестра области, разработка лесного плана области и лесохозяйственных регламентов лесничеств, проведение аукционов. ГИС «Лесничество» выполняет следующие функции: ведение повыдельной базы данных, цифровая карта, составление государственного реестра. Для проведения агентством аукционов продажи права заключения договора «Аренда лесного участка» претенденты могут, используя ГИС «Лесной участок», более детально изучить выделяемые под аренду лесные участки, которые формируются с использованием ГИС «Лесничество». Затем проводится аукцион и с использованием ГИС «Арендатор» заключаются договора с арендаторами, ведется контроль, отслеживаются платежи и так далее. Для работы с местным населением должны составляться договора купли-продажи, которые подготавливаются с использованием ГИС «Лесничество».

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

Литература

1. Абрамова Л.В. Анализ учета лесных ресурсов Архангельской области: ИВУЗ - Лесн. журн. - 2009. - №2. - с.39-40

2. Гурьев А.Т., Абрамова Л.В., Бачурин И.В., Трубин Д.В., Торхов С.В. Разработка экспериментальной базы данных лесных насаждений Архангельского лесничества: Сборник научных трудов, Выпуск 83. - Архангельск, С(А)ФУ, 2010, с. 192-195

Брескаленко А.А

Магистр, кафедра информатики и программного обеспечения вычислительных систем Национальный исследовательский университет «МИЭТ»

СЕРИАЛИЗАЦИЯ КАК ИНСТРУМЕНТ СОХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ

Аннотация

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

Ключевые слова: сериализация, XML, сохранение данных.

Keywords: serialization, XML, data saving.

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

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

1) необходимость обработки указателей и виртуальных таблиц специальным образом (в тех языках программирования, которые их поддерживают);

2) возможность изменения порядка байт при переносе программы на другие платформы;

3) двоичные дампы объектов не являются гибкими и плохо переносят частые изменения в структуре их данных.

41

Первая проблема связана с тем, что в структуре объектов могут находиться указатели или ссылки на другие объекты в памяти. Указатели (ссылки) описываются адресом начала участка памяти, в котором располагается объект, на который они указывают (ссылаются). При прямом копировании значения указателей (что и происходит при двоичном дампе) копируются только эти адреса, а не указанные ими объекты. Тем самым данные об этих объектах теряются и не могут быть восстановлены из такого дампа.

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

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

Сериализация

Более простым и удобным в использовании является механизм сериализации. В отличие от дампа объекта данные сериализации хранятся в более практичном и переносимом формате. Кроме реализации сохранения объектов этот механизм также используется для осуществления удаленных вызовов процедур в таких протоколах и технологиях, как SOAP, Java RMI, DCOM и т.п., и распространения объектов (COM, CORBA).

Некоторые языки программирования изначально поддерживают сериализацию[1]. В частности, языки Java и C# предоставляют стандартизованные механизмы для сериализации в текстовый формат XML и десериализации из него.

XML-сериализация

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

Однако сериализация с использованием XML имеет и свои недостатки[2]:

1) разбор XML-документа занимает много времени, поскольку приходится обрабатывать много строковой информации, разбор которой является довольно медленным;

2) отсутствие произвольного доступа к элементам внутри документа, вызванное необходимостью разбора большой части XML-документа для поиска нужного элемента;

3) размер выходного XML-файла больше по сравнению с бинарными форматами из-за избыточности синтаксиса XML.

Для устранения этих недостатков были разработаны различные бинарные разновидности (формы) XML[3], уменьшающие многословность XML-документов, тем самым уменьшая время разбора.

Бинарный XML

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

Существующие альтернативы включают в себя использование обычных методов сжатия XML-документа^] или использование существующих стандартов (JSON, BSON и т.п.)[4]. Стоит отметить, что первые обеспечивают лишь уменьшение размера файла, но не ускорение разбора или произвольный доступ.

Существуют различные вариации бинарного XML, но ни одна из них не стала стандартом де факто, невзирая на то, что формат EXI (Efficient XML Interchange) был рекомендован W3C 10 марта 2011[3]. Этот формат был выбран за базис и в дальнейшем стоит ожидать его развития, как и развития бинарного XML в целом.

Литература

1. Comparison of data serialization formats: http://en.wikipedia.org/wiki/Compa-rison_of_data_serialization_formats.

2. XML: http://ru.wikipedia.org/wiki/XML.

3. Programming language serialization support: http://en.wikipedia.org/wiki/Seria-lization#Programming_language_support.

4. Binary XML: http://en.wikipedia.org/wiki/Binary_XML.

Бузмаков И.В.

инженер

ПОВЫШЕНИЕ КПД ЭЛЕКТРОЛИЗА ЗА СЧЕТ ТЕПЛОТЫ СРЕДЫ

Аннотация

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

Ключевые слова: электролиз, полиэлектролит, потенциал Доннана, теплота Пельтье.

Keywords: electrolysis, polyelectrolyte, Donnan potential, Peltier heat.

Часть 1. Некоторые термины и определения

Электродвижущая сила (э.д.с.) это интеграл напряженности поля сторонних сил по участку, содержащему источник тока... Сторонние силы в гальванических элементах действуют на границах между электролитами и электродами. Они действуют также на границе соприкосновения двух разнородных металлов и обусловливают контактную разность потенциалов между ними [5, с. 193, 191]. Сумма скачков потенциалов на всех поверхностях раздела цепи равна разности потенциалов между проводниками, находящимися на концах цепи, и называется электродвижущей силой цепи проводников. Э.д.с. цепи, состоящей только из проводников первого рода, равна скачку потенциала между первым и последним проводниками при непосредственном их соприкосновении (закон Вольта). Если цепь правильно разомкнута, то э.д.с. этой цепи равна нулю. К правильно разомкнутой цепи проводников, в состав которой входит хотя бы один электролит, закон Вольта неприменим. Очевидно, что только цепи проводников, включающие хотя бы один проводник второго рода, являются электрохимическими элементами (или электрохимическими цепями элементов) [1, с. 490 - 491].

Полиэлектролиты это полимеры, способные диссоциировать в растворе на ионы, при этом в одной макромолекуле возникает большое число периодически повторяющихся зарядов. Сшитые полиэлектролиты (иониты, ионообменные смолы) не растворяются, а только набухают, сохраняя при этом способность к диссоциации [6, с. 320 - 321]. Полиэлектролиты, диссоциирующие на отрицательно заряженные макроионы и ионы Н+ называются поликислотами, а диссоциирующие на положительно заряженные макроионы и ионы OH-называются полиоснованиями.

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

42

i Надоели баннеры? Вы всегда можете отключить рекламу.