Преобразование объекта в памяти в формат, который может быть записан в диск или отправлен по проводу, и т.д.
описание .
ВикипедииЯ прошу отличаться, Википедия довольно ясна на этом.
В информатике, упорядочивая (подобный сериализации) процесс преобразования представления памяти объекта к формату данных, подходящему для устройства хранения данных или передачи. Это обычно используется, когда данные должны быть перемещены между различными частями компьютерной программы или от одной программы до другого.
http://en.wikipedia.org/wiki/Marshalling_ (computer_science)
Люди уже определили маршалинг вполне ясно, таким образом, я пропущу определение и переход к примеру.
Вызов удаленной процедуры использует маршалинг. При вызове удаленных функций у Вас будут в Маршалл аргументы некоторому стандартному формату, таким образом, это сможет быть транспорт по сети.
Я разъяснил поиск Google к "маршалингу данных", и первый хит был на некотором месте, названном webopedia, который довольно хорош. Суть - то, что Вы преобразовываете данные назад и вперед к форме для вещей как передача по сети. Проблема, которую это решает, состоит в том, что Вы не можете действительно передать данные по сети в форме, которая применима программой. Необходимо решить много проблем включая вещи как порядок байтов данных, как Вы храните сложные типы данных как строки, и т.д.
, Маршалинг не должен только решать сетевые проблемы передачи, но и другие проблемы, такие как движение от одной архитектуры до другого, возможно, различные языки особенно те, которые могли бы использовать вещи как виртуальные машины и другие проблемы "перевода".
Маршалинг является процессом преобразования представления памяти объекта к формату данных, который мог быть сохранен или передан. Это также звонило сериализация (хотя это могло отличаться в определенных контекстах). Представление памяти объекта могло быть сохранено как двоичный файл или XML или любой формат, подходящий для устройства хранения данных и/или передачи способом, которая позволяет Вам не упорядочивать его и возвращать исходный объект.
Для примера использования, если у Вас есть некоторая онлайн-игра с клиентом и сервером, компоненты и Вы хотели отправить объект плеера, содержащий статистику плеера и мировые координаты от клиента к серверу (или наоборот), Вы могли просто упорядочить его в клиенте, отправить его по сети и не упорядочить его в другом конце, и появилось бы для сервера, как будто объект был создан на самом сервере. Вот рубиновый пример:
srcplayer = Player.new
# marshal (store it as string)
str = Marshal.dump(srcplayer)
#unmarshal (get it back)
destplayer = Marshal.load(str)
Маршалинг является процессом передачи данных через границы приложения или между различными форматами данных. Маршалинг очень распространен, например, пишущий, что данные к диску или к базе данных технически упорядочивают, однако термин имеет тенденцию быть использованным для описания преобразования данных для "внешних" API или для межпроцессного взаимодействия.
, Например, в.NET, связывающейся между управляемым и неуправляемым кодом (таким как доступ к определенным win32 API), вероятно, потребует маршалинга для преобразования назад и вперед между управляемыми объектами C# и объектами стиля C/C++ (структуры, дескрипторы, буферы вывода, и т.д.) Справки для помех , класс Маршала мог бы быть полезным.
В основном это - выражение для того, чтобы в общем преобразовать объект (или подобный) в другое представление это (например). может быть отправлен по проводу или сохранен к диску (обычно строка или двоичный поток. Противоположное, немаршалинг, описывает противоположное направление чтения упорядоченного представления и воссоздания объекта или независимо от того, что в структуре памяти существовал ранее.
Другим текущим повседневным примером является JSON
В очень универсальном смысле в программировании это просто означает брать данные в одном формате и преобразовывать его в формат, который приемлем некоторой другой подсистемой.
Это означает превращать любые данные в другой тип данных для передачи другой системе.
, Например, упорядочивая структуру в XML-документ для отправки к веб-сервису, или упорядочивая указатель для отправки в различную квартиру потока.