序列化与反序列化有什么区别

序列化的目的是将对象的状态信息转化为可存储或可传输的形式(即一种字节序列),而反序列化是这一过程的逆向操作,可将转化后的字节序列重新还原为对象信息。两者的作用和区别可以用一个形象的例子来说明:

  • 要将一栋大楼整体从 A 地搬迁到B地。首先需要对大楼进行序列化过程,将其转化为详细完整的结构图纸以及砖块等建材;随后将所有这些东西从 A 地运输到 B 地;接着通过反序列化过程,按照图纸将所有建材重新搭建成大楼。
  • 可以说,在计算机领域,几乎所有“存储”和“网络传输”操作,在本质上都需要对存储或传输的对象进行序列化和反序列化处理。

序列化协议有什么特性

序列化协议的特性_通用性

通用性

考虑到序列化主要是为了实现对象的“存储”和“网络传输”等目的,在技术层面上,序列化协议必须具备足够的通用性,能够支持跨平台和跨语言的使用,否则应用场景将大幅受限。此外还需要考虑不同序列化协议的流行程度,流行度高的协议往往更成熟稳定,可以支持更多类型的语言和平台,应用场景也更广泛。

序列化协议的特性_强健性

强健性

成熟的序列化协议往往经过了大量全面的测试,在实际使用过程中往往表现更好,不会造成非预期的问题。此外,为了更好地支持跨语言和跨平台使用,强健的序列化协议通常会针对不同语言/平台的特性进行适配和优化,进而在大部分场景中实现一致的效果。

序列化协议的特性_可调试性

可调试性

序列化之后的字节序列往往不具备人工可读性,而为了验证结果的正确性,开发者有时候甚至不得不针对某种序列化协议来编写反序列化程序,借此验证序列化操作的结果。可调试性更高的序列化协议,通常可以产生人工可读的结果(如 XML 和 JSON),这不仅可以大幅提高开发效率,还能促进不同开发者甚至不同公司之间的协作。

序列化协议的特性_性能

性能

序列化操作会在空间和时间两方面产生开销。例如,为了成功实现反序列化,序列化的过程中需要为原有数据增加描述字段,这就是空间开销;同时复杂的序列化和反序列化过程还会产生较长的解析时间,这就是时间开销。这些都会在 CPU、内存、磁盘、网络带宽等方面造成巨大压力。良好的序列化协议往往能尽可能降低此类开销,实现更快的处理速度。

了解亚马逊云科技服务最新资讯

如何选择及部署文件网关实现对云中文件存储数据库的快速访问

Amazon FSx 文件网关支持多种平台选项。您可以订购硬件设备并将其部署到本地环境中、作为虚拟机部署到本地环境 (VMware ESXi、Microsoft Hyper-V、Linux KVM) 中,或者作为 Amazon Elastic Compute Cloud (EC2) 实例部署到云中。

掌握这五点,轻松提升 Amazon Web Services 云服务器安全性能

如何提升 Amazon Web Services 云服务器安全度,是不少使用者格外关心的问题,今天我们就从以下五个方面来谈一谈如何提升 Amazon Web Services 账户安全性能:集中管理 CloudTrail 日志、验证 IAM 角色、设计发现结果的自动响应、密钥轮换,以及安全嵌入到开发周期。 

如何在 Amazon Web Services 上构建云原生机器学习训练平台

本文介绍了如何通过 Step Functions 编排整个机器学习工作流,使用 Glue 可以帮助我们完成训练数据的 ETL 和特征工程等数据相关的操作,SageMaker 可以完成从模型训练、超参调优、模型生成和模型部署等机器学习流程,最后通过服务器化的任务编排服务 Step Functions 将整个流程串联,并且 Amazon Web Services 提供了完善的 UI 和 SDK 工具,帮助算法工程师快速的构建、管理和监控机器学习工作流。

数据挖掘和机器学习:机器学习模型中的数据准备过程

数据挖掘和机器学习的关系密不可分,机器学习是建立在大量数据的基础之上。Amazon SageMaker 是一种完全托管的端到端机器学习服务,数据科研人员、开发人员和机器学习专家可以快速、大规模地构建、训练和托管机器学习模型。这极大地推进了您所有的机器学习工作,让您能够将机器学习技术迅速融入生产应用程序。本文将以机器学习中的图像分类算法为例,介绍典型的机器学习模型训练的输入数据准备过程。

亚马逊云科技热门云产品

Amazon EC2

Amazon EC2

安全且可调整大小的计算容量,支持几乎所有工作负载

Amazon S3

Amazon S3

专为可从任何位置检索任意数量的数据而构建的对象存储

Amazon SageMaker

Amazon SageMaker

适用于每位开发人员和数据科学家的机器学习

Amazon Aurora

Amazon Aurora

任意规模完全受管的批处理

欢迎加入亚马逊云科技培训中心

欢迎加入亚马逊云科技培训中心

从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程
从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程
  • 快速上手训练营
  • 第一课:亚马逊云科技简介

    本课程帮助您初步了解云平台与本地环境的差异,以及亚马逊云科技平台的基础设施和部分核心服务,包括亚马逊云科技平台上的弹性高可用架构,架构设计准则和本地架构迁移上云的基本知识。

    亚马逊云科技技术讲师:李锦鸿

    第二课:存储与数据库服务

    您将在本课程中学习到亚马逊云科技上的三个存储服务分别是什么。我们也将在这个模块中为您介绍亚马逊云科技上的关系型数据库服务 Amazon Relational Database Service (RDS)。

    亚马逊云科技资深技术讲师:周一川

    第三课:安全、身份和访问管理

    在这个模块,您将学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 。同时,通过讲师演示,您将学会如何授权给 EC2 实例,允许其访问 S3 上的资源。

    亚马逊云科技技术讲师:马仲凯
  • 账单设置与查看
  • 视频:快速完成税务设置

    部署时间:5 分钟

    视频:账户账单信息

    部署时间:3 分钟

    视频:如何支付账单

    部署时间:3 分钟

  • 动手实操
  • 快速上手云上无服务器化的 MySQL 数据库

    本教程将引导您创建一个Aurora Serverless 数据库并且连接上它。

    部署时间:10 分钟

    启动一台基于 Graviton2 的 EC2 实例


    本教程将为您讲解如何在云控制台上启动一台基于 Graviton2 的 EC2 实例。

    部署时间:5 分钟

    使用 Amazon Systems Manager 进行云资源统一跟踪和管理

    在这个快速上手教程中,您将学会如何使用 Amazon Systems Manager 在 Amazon EC2 实例上远程运行命令。

    部署时间:10 分钟