后台产品经理,需掌握这些数据交互知识

6 评论 12222 浏览 78 收藏 8 分钟

人们每天都在接收信息和发送信息,在传递信息的过程中,明白对方要表达的意思。数据也是如此,在系统交换数据的过程中,就伴随着数据交互。本篇文章将为大家具体分析前端和后台的数据交互与协议。

本文所说的”数据交换” 是指在计算机网络中,一个系统把数据传递给另外一个系统。这非常类似于一个人要告诉另外一个人一件事情。

当一个人要把一件事情告诉另外一个人的时候,我们可以通过电话、邮件、短信、IM工具或者当面说的方式来交流。这种方式类似于系统数据交换要通过 TCP、UDP、管道等等的方式实现。

当两个人交流的时候,我们需要一种共同的语言才能明白对方的意思,同样的,两个系统要交换数据,也需要定义一种双方都明白的协议,我们称为”数据交换协议”

目前,除了一些特别简单非联网类应用(比如计算器、闹钟等),几乎所有的应用均是联网应用(比如新闻客户端,微信等等),这些 app 客户端基本都只是负责用户的交互与数据收集与展示,真正的数据和服务均存储在云端。下面将为大家具体分析一下:前端和后台的数据交互与协议。

一、移动端与后台的交换数据和展示

我们打个比喻,其实整个过程跟去火锅店吃火锅一样的。

拿任意一个新闻客户端举例:

  • 当用户刷新的那一刻(你萌生了吃火锅的想法)
  • 客户端开始组织数据请求(你开始穿衣洗脸打扮,并思考该去哪一家吃呢)
  • 当用户界面开始展示 loading 的时候(这个时候你正走在去火锅店的路上)
  • 经过几百毫秒的时间,这个时候请求数据已经到了服务器(你已经坐在了火锅店的桌子上),服务器开始查看客户端想要请求哪方面的数据,是请求财经频道的,还是请求汽车频道的数据(服务员递来了菜单,问你想吃啥)
  • 服务器看懂了客户端的想法开始准备数据(你点了一个鸳鸯锅,一大堆吃的)
  • 服务器看到你请求的是汽车频道和财经频道的数据(后台的厨师开始制作美食),并给回到服务员,服务员一路小跑,将你要的锅和一大堆的食物递到你的面前,这个时候相当于数据已经传回到了客户端
  • 客户端loading消失,于是你看到了最新的两个频道的数据

二、客户端和服务器之间传输数据的格式

现在流行的做法通常有两种,一种是类似于 PB(Protocol Buffer,是 google 的一种数据交换的格式,它独立于语言,独立于平台。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,以用于诸如网络传输、配置文件、数据存储等诸多领域。)

另一种是 JSON(JavaScriptObject Notation),这也是一种轻量级的数据传输格式,就是用一堆中括号把数据组织起来,不像二进制,这种格式是人可读的,并且比较轻巧,所以也有大量的应用场景。下面这段数据就是 JSON格式,简单解读一下,就是 people 对应了三个人,三个人分别是中括号间的三个花括号中的人。

总结起来十分简单,移动端提出需求,服务器按要求组织好数据发给你,针对不同的格式,移动端自己解析,展示,完活儿。其实,不止移动端,前端网页和后台,后台和后台之间也是这个道理。

三、数据的传输过程

首先我们来看下不同网络断上的两台计算机如何通过TCP/IP协议进行通讯:

从以上整个的一个数据流程我们可以看出协议是水平的,而服务是垂直的,TCP叫做传输控制协议,是一种面向连接的、端对端的、可靠的、基于IP的传输层协议。主要特点是3次握手建立连接,4次挥手断开连接。

而IP又叫因特网协议,IP协议位于网络层,IP协议规定了数据传输时的基本单元(数据包)和格式,IP协议还定义了数据包的递交办法和路由选择。

整个网络中的传输流程是:IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP层;相反,IP层也把从TCP接收来的数据包传送到更低层。

简言之TCP和IP的关系是,IP提供基本的数据传送,而高层的TCP对这些数据包做进一步加工,如提供端口号等等。

在网络接口这一块主要是有两大局域网技术规范,分别是以太网和令牌环,注意这并不是网络,以太网定义了在局域网中采用的电缆类型和信号处理方法,而令牌环网络则是保证每个节点设备在可以预定的时间间隔获得对网络的访问,适用于对实时性要求高的应用。

以上是技术视角,我们再以产品视角来结合上述回顾当我们加载数据时整个的一个数据流程:

作者:Te Fuir;公众号:唐僧讲道法

本文由 @Te Fuir 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 大家期待已久的《数据产品经理实战训练营》终于在起点学院(人人都是产品经理旗下教育机构)上线啦!经过迭代优化,现在已经第7期开启报名啦
    本课程非常适合新手数据产品经理,或者想要转岗的产品经理、数据分析师、研发、产品运营等人群。
    课程会从基础概念,到核心技能,再通过典型数据分析平台的实战,帮助大家构建完整的知识体系,掌握数据产品经理的基本功。
    学完后你会掌握怎么建指标体系、指标字典,如何设计数据埋点、保证数据质量,规划大数据分析平台等实际工作技能~
    现在就添加空空老师(微信id:anne012520),咨询课程详情并领取福利优惠吧!

    来自广东 回复
  2. 这位同学,文末到数据流向图,建议标注下来源,直接盗用不太合适。

    来自广东 回复
    1. 他人分享图片,来源无从考证,后期会注意,感谢提醒。

      回复
    2. 图是我画的

      回复
    3. 666666

      来自浙江 回复
  3. 。。。 🙁

    来自广东 回复