前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >当妈妈在淘宝购物的时候,都发生了什么?(下篇)

当妈妈在淘宝购物的时候,都发生了什么?(下篇)

作者头像
张叔叔讲互联网
发布于 2018-10-29 08:18:50
发布于 2018-10-29 08:18:50
6710
举报

在上一篇文章中,讲到了你的妈妈成功从你手中夺得了电脑的控制权,然后打开了淘宝网并且在网站首页搜索框中搜索了“美丽的裙子”,之后用一种挑剔的眼光盯着电脑屏幕一个多小时,就为找到一条心爱的裙子。在浏览各种裙子的过程中发生了什么呢?最终决定购买一条裙子的时候又发生了什么?且听张叔叔慢慢道来。

当你妈妈看到琳琅满目裙子的时候,手中的鼠标不断点击着,当点开一款商品“今夏爆款碎花裙子”的时候,首先通过你家电脑和淘宝服务器之间的连接获取到了碎花裙子的详细信息,然后在浏览器上面展现出来。淘宝服务器除了提供你妈妈想看的碎花裙子的信息,还会把你妈妈的浏览历史记录下来,知道你妈妈点击了碎花裙子,至少认为你妈妈对碎花裙子是感兴趣的。

你妈妈盯着碎花裙子看了10分钟,按照以往的经验推算,你妈妈肯定喜欢上了这条裙子,你爸爸在一旁捂着钱包面露难色。怀着Just do it的想法,你妈妈迅速把碎花裙子放到了购物车中,这个过程中你家电脑把妈妈的淘宝账号 + 碎花裙子信息发送到了淘宝服务器,淘宝服务器会把你妈妈把碎花裙子放到购物车这件事情记录下来。这个时候即使你家断网了,你家断电了,你家电脑突然死机了,只要你妈妈重新打开淘宝,都可以看到自己的碎花裙子在购物车里面放着。为什么呢?因为淘宝服务器已经记录住了,点开购物车的时候,这部分信息重新被获取到,并且在你家电脑上显示出来。

为了防止你妈妈再购买其他东西,你爸爸快步上前,一把按住妈妈手中的鼠标,义正言辞道“孩子他妈,你太辛苦了,后面的支付我来帮你搞定”。爸爸快速的点击了下单购买按钮,同样的道理,这个时候会把淘宝账号+商品信息发送到淘宝服务器,淘宝服务器执行创建订单操作,并把最终商品价格信息等返回到你家电脑上面。后续你爸爸根据提示快速输入了收件人的信息,然后点击支付按钮完成支付。

张叔叔详细介绍一下这个支付过程,假设你爸爸是通过绑定银行卡进行支付的。当你爸爸点击支付按钮并输入银行卡支付相关信息的时候,淘宝服务器接收到你爸爸输入的支付数据,首先会与服务器上面存储的相关信息进行核对,你爸爸输入的信息对不对,碎花裙子现在还有没有(万一刚才不小心被其他阿姨买光了呢)。然后去银行的系统上进行扣款操作,这个地方就是淘宝服务器和银行的服务器之间的交互了,它们之前已经协商好如何扣款等操作。银行的服务器收到扣款消息后,认认真真核对相关信息之后就从你爸爸银行卡里面把钱扣掉了。扣款成功的消息返回到淘宝服务器,淘宝服务器这时候才通知你购买成功!这个时候最高兴的当然是你妈妈了,你爸爸看了一眼自己的银行卡,一声叹息。

浙江义乌的某个商家突然收到一条通知,“您有一个新的订单”,商家点开消息,上面写着“来自北京市的一个爱美的妈妈购买了一套碎花裙子,邮寄地址是***,联系方式***,邮寄地址***,已支付”。这位商家为了好评,以最快的速度装货打包,通过快递给你妈妈邮寄过来。两天后你妈妈就穿上了自己辛辛苦苦挑选的碎花裙子,内心那是美美哒。为了表达自己的喜爱,妈妈登录到淘宝网并且给了碎花裙子一个好评,这个好评也同样被淘宝服务器记录住了,当其他阿姨看到这个碎花裙子,你妈妈的好评就会被她们看到了。

过了不知道多久,你妈妈再次上网购物,当她点开淘宝网站的时候,发现网页上有“猜你喜欢,给您推荐”等栏目,里面也是一些美丽的裙子或者与裙子可以互相搭配的鞋子,这是怎么做到的??这是因为淘宝服务器记录了你妈妈浏览过的商品以及购买的商品,下次你妈妈再访问淘宝网的时候就会推荐给你妈妈这些商品。这就是新闻上经常说的数据挖掘大数据了。

上篇文章中我们还提到了通过淘宝APP购买商品的过程,其实和通过电脑浏览器登录网站购买也差不多,只是通过APP购买就不需要浏览器了,APP自己就充当了浏览器的作用,可以获取信息并且在APP上显示信息,其他流程都是大同小异的。

当妈妈在购物的时候,都发生了什么?现在是不是比较清楚了。其实总结起来很简单,电脑通过域名找到淘宝服务器并且建立网络连接,妈妈的行为需求(点击,搜索)等通过连接发送到淘宝服务器,服务器分析妈妈想要做什么再把数据返回到电脑上面。电脑和服务器之间就是简简单单一来一往的数据交互,最终购物流程就在这一来一往中完成了。

此处留下一些问题,大家可以思考一下。

  • 网络那么复杂,你家电脑到底怎么找到淘宝服务器的呢?
  • 那么多人都在购物,淘宝的服务器怎么可以同时支持那么多人,怎么做到的?
  • 妈妈买了那么多东西,爸爸卡里到底还有多少钱?

除了第三个问题,其他问题张叔叔会在后续文章中陆续介绍到。跟着叔叔一起学习,相信坚持与专注的力量!

欢迎转载,为青少年编程教育添砖加瓦!相信坚持与专注的力量!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 张叔叔讲互联网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mysql的索引为什么使用B+树而不使用跳表?
直接遍历这一行行数据,性能就是O(n),比较慢。为了加速查询,使用了B+树来做索引,将查询性能优化到了O(lg(n))。
小白debug
2022/06/20
9740
Mysql的索引为什么使用B+树而不使用跳表?
跳表:为什么Redis一定要用跳表来实现有序集合?
时间复杂度O(logn)的二分查找很高效,但是依赖数组随机访问的特性,如果是链表,如何做到O(logn)?
Yuyy
2022/11/16
8110
跳表:为什么Redis一定要用跳表来实现有序集合?
LSM-Tree - LevelDb Skiplist跳表
跳表(SkipList)是由William Pugh提出的。他在论文《Skip lists: a probabilistic alternative to balanced trees》中详细地介绍了有关跳表结构、插入删除操作的细节。
阿东
2022/05/19
6120
LSM-Tree - LevelDb Skiplist跳表
顺丰面试,第二个问题把我劝退了!
本文主人翁是我星球里一位同学,周一线上顺丰面试遇到的问题,反馈面经时,只记得部分的。
田维常
2023/02/16
5490
顺丰面试,第二个问题把我劝退了!
mysql索引
这里是为后续的mysql调优做准备,要像做到mysql调优,索引很关键,理解索引结构,页结构,对于调优来说是很重要的基础。
Joseph_青椒
2023/08/02
2760
mysql索引
MySQL数据库索引选择为什么使用B+树而不是跳表?
在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!
小冷coding
2023/05/24
7360
MySQL数据库索引选择为什么使用B+树而不是跳表?
跳表
我们可以对链表加一层索引。具体来说,可以每两个结点提取一个结点到上一级,我们把抽出来的那一级叫作索引或索引层。索引节点中通过一个 down 指针,指向下一级结点。通过这样的改造,就可以支持类似二分查找的算法。我们把改造之后的数据结构叫作跳表(Skip list)。
硬件开源小站
2023/04/07
3520
Redis的ZSet底层数据结构,ZSet类型全面解析
详细介绍:Redis五种数据类型、String、List、Set、Hash、ZSet
寻求出路的程序媛
2024/11/03
2050
Redis的ZSet底层数据结构,ZSet类型全面解析
Mysql为什么最终用B+树做索引?
索引能极大的减少存储引擎需要扫描的数据量 索引可以把随机IO变成顺序IO(索引指向(左小右大)) 索引可以帮助我们在进行分组、排序等操作时,避免使用临时表
名字是乱打的
2021/12/22
1.2K0
Mysql为什么最终用B+树做索引?
面试官:为何Redis使用跳表而非红黑树实现SortedSet?
知道跳表(Skip List)是在看关于Redis的书的时候,Redis中的有序集合使用了跳表数据结构。接着就查了一些博客,来学习一下跳表。后面会使用Java代码来简单实现跳表。
JavaEdge
2021/12/07
5330
面试官:为何Redis使用跳表而非红黑树实现SortedSet?
mysql 中的innoDB 引擎的B+树索引
在优化慢接口的时候,遇到一个问题,在通过索引查询数据库表的时候根据时间区间去扫描表的时候,开始时间时表扫描的其实位置吗?或者说根据时间日期B+索引能一次性定位到具体的时间位置吗?是的不能。那为什么不能呢? 接下来我们来看看b+树索引的底层数据结构。
袁新栋-jeff.yuan
2020/08/26
9540
mysql 中的innoDB 引擎的B+树索引
数据结构与算法系列之跳表(GO)
前边的一篇文章中分享了二分查找算法,里边有说到二分查找算法依赖数组的随机访问特性,只能用数组来实现。如果数据存储在链表中就没法用二分查找算法了
书旅
2020/12/03
4890
女朋友问我:为什么 MySQL 喜欢 B+ 树?我笑着画了 20 张图
要解释这个问题,其实不单单要从数据结构的角度出发,还要考虑磁盘 I/O 操作次数,因为 MySQL 的数据是存储在磁盘中的嘛。
小林coding
2021/12/27
7120
女朋友问我:为什么 MySQL 喜欢 B+ 树?我笑着画了 20 张图
浅析skiplist(跳表)
跳表由William Pugh 1989年发明。他在论文《Skip lists: a probabilistic alternative to balanced trees》中详细介绍了跳表的数据结构和插入删除等操作。论文是这么介绍跳表的:
山行AI
2019/06/28
2.6K0
Mysql-为什么使用B+树
https://www.bilibili.com/video/BV1yT4y1w7FS?from=search&seid=1538805982597498566&spm_id_from=333.337.0.0
Get
2024/03/10
1560
Redis03-Redis的数据结构之跳表
上一篇文章我们介绍了字典这个数据结构,这一篇文章我们接着来学习下另外一个数据结构,跳表。那么什么是跳表呢?
码农飞哥
2021/08/18
4500
Mysql InnoDB 为啥选择B+树索引 转
Mysql数据库中的常见索引有多种方式,例如Hash索引,B-树索引,B+树索引,但是为啥mysql中默认是采用B+树索引索引呢?下面对这三种索引学习总结一下。B+树到底有啥优势? B-树
双面人
2019/04/10
6630
MySQL为什么要使用B+树索引
搞懂这个问题之前,我们首先来看一下MySQL表的存储结构,再分别对比二叉树、多叉树、B树和B+树的区别就都懂了。
BUG弄潮儿
2021/02/03
5650
MySQL为什么要使用B+树索引
数据结构-跳表
跳表这种数据结构对你来说,可能会比较陌生,因为一般的数据结构和算法书籍里都不怎么会讲。但是它确实是一种各方面性能都比较优秀的动态数据结构,可以支持快速地插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树(Red-black tree)。
acc8226
2022/05/17
3290
数据结构-跳表
mysql b+树优点_基础B
大家在面试的时候,肯定都会被问到MySql的知识,以下是面试场景: 面试官:对于MySQL,你对他索引原理了解吗? 我:了解 面试官:MySQL的索引是用什么数据机构的? 我:B+树 面试官:为什么要用B+树,而不是B树? 我:… 面试官:用B+树作为MySql的索引结构,用什么好处? 我:…
全栈程序员站长
2022/11/16
6300
mysql b+树优点_基础B
推荐阅读
相关推荐
Mysql的索引为什么使用B+树而不使用跳表?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档