русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сериализация объектов

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

Сериализация используется для передачи объектов по сети и для сохранения их в файлы. Например, нужно создать распределенный приложение, разные части которого имеют обмениваться данными со сложной структурой. В таком случае для типов данных, которые предполагается передавать, пишется код, осуществляющий сериализации и десериализацию. Объект заполняется нужными данными, затем вызывается код сериализации, в результате получается, например, XML -документ. Результат сериализации передается принимающей стороне, например, по электронной почте или HTTP. Приложение-получатель создает объект того же типа и вызывает код десериализации, в результате получая объект с тем же данным, которые были в объекте приложения-отправителя. По такой схеме работает, например, Сериализация объектов через SOAP вMicrosoft.NET.

 

Применение сериализации

Сериализация предоставляет несколько полезных возможностей:

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

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

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

 

Сериализация научных данных

Для научных наборов данных, имеющих большой объем, таких как данные, получаемые со спутников, или численные модели климата, погоды и океанов, были разработаны специальные бинарные стандарты сериализации, например HDF, netCDF и старше GRIB.

Просмотров: 16487

Вернуться воглавление




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.