把 14 亿中国人民都拉到一个微信群里在技术上能实现吗?

全世界只有3.14 % 的人关注了

爆炸吧知识

作者丨Max 

链接:zhihu.com/question/293021546/answer/487157602

把 14 亿中国人民都拉到一个微信群里在技术上能实现吗?

先说结论:也许可以实现,但你会什么都看不见。

根据 2017 年《微信数据报告》的公开数据 [参考 1] :2017 年 9 月,微信日均登陆 9.02 亿人,日均发送消息 380 亿次。

这意味着平均每人每天发送信息 42 条,如果全国人民(对了,现在全国人口已经接近 14 亿)在同一个群里说话,这个群每天出现的信息就高达:

这么多信息仅仅是匀速发送的话,考虑到大家的睡眠,睡觉的 8 小时不算,那么手机里每秒要接收的信息就是:

哇塞,每秒超过 100 万条啊!目前主频最高的手机 CPU 之一,高通骁龙 845有 2.8GHz 的处理能力[参考 2] ,一共是 8 核。

如不计算安卓系统、显示刷新、网络 IO 等 CPU 操作的话,每条信息能分配到的计算能力是:

这是什么概念?全球第一款微处理器是 1971 年英特尔推出的 Intel 4004[参考 3],这个老古董的主频也有 108KHz 啊。所以 21.9KHz 就是啥也干不了。

幸好 IT 界有个摩尔定律:每 18 个月 CPU 性能就能翻倍(或者价钱是一半)。虽然现有科技已经很难让主频提升(某牙膏厂拼命挤也只有 5 Ghz)。

但假设我们使用了黑科技提升主频。等到了 2025 摩尔定律失效时[参考 4],我们的手机 CPU 主频应该达到:

看起来不错嘛,不过每条消息能得到的计算能力将达到:

呵呵,依然没有达到 Intel 4004 的水平,所以结果就是你等了 7 年,还是进不了这个全国群抢一个红包。

好吧,咱们让手机接入一个给力点的电脑, 比如说全球超算第一名的太湖之光,1 千万个 CPU 核心 [参考 5] 来帮忙处理这个宇宙第一大微信群。算力的问题总算有了着落。

我们假设平均每条消息有 10 个汉字,这大概相当于 30 byte,算上应用层会加上一定的控制字符,再加上 TCP/IP 网络层的数据消耗大概是 74 byte,取个整,平均每条消息有 100 byte,每个 byte 相当于 8 个 bit。

这时每秒需要的网络带宽大约是:

如果有人发红包,需要的带宽就更大了。

理论上,4G 网络能支持 1000 Mbps[参考 6],但别忘了,是全国人民在同一个群里,而你周围的人也需要同样的带宽,这使得你附近的基站不堪重负,陷入瘫痪。

为了避免网络瘫痪导致你抢不到红包或者看群消息,你需要搬到一个周围没有人的基站,比如放暑假了全校只有你还没回家的时候。

不过运营商的日子就不好过了,因为这一秒全国上下的流量就达到了惊人的:

这相当于 2017 年 4 月份的全国移动数据总流量的 65.7%[参考 7],意味着每 18 秒就能用完全国一年的流量。运营商瑟瑟发抖.gif

如果把 1.146 Ebit 数据用 2TByte 3.5 英寸硬盘(20 mm 高)装起来,然后叠起来,有 1433.25 m,相比之下,全球最高楼——迪拜的哈里发塔只有区区 828m。

当然,如果确实有需要,我相信电信运营商们肯定砸下重金为你建设全世界最大的宽带网络。

不过,接下来该花钱的就不是运营商——而是腾讯了。

为了处理这 1.146 Ebps 的流量, 腾讯需要准备 11466 万套交换机和服务器。

目前一台大厂 4 口万兆交换机售价大约是 4000 元,一台便宜带万兆口的服务器则大概需要 10000 元,这两项加起来的费用是:

呃,仅仅这两项就相当于 深圳 2014 年全年的 GDP[参考 8]。

这里还不包括网线、电线、服务器机架、机房托管、电费、运行支出……

这么多设备的存放也是个问题。一台带万兆(10Gbps)口的 2U 服务器有 88.9 mm 高,这样叠起来就有:

这差不多是中国到美国的飞机航线距离啊,用来修铁路也是够够的了。

好了,有了这么多设备加持,这下你终于可以愉快地进了群。

但你惊讶地发现,屏幕上除了白色,什么都没有——这是因为你的眼睛没办法接收这么快的数据!

人眼的视觉暂留时间是 100-400 毫秒[参考 9] ,而我们这个群每秒钟就要显示 102 万条信息,每条消息停留的时间只有大概 0.001 毫秒。相比之下,电影、电视都有 41 毫秒。

因此你还没来得及看清消息,它就已经消失了,最后只留下一团白色的色块在屏幕的正中央。

小编精选了一些网友留言:

@大哥有柔情:

14 亿在一个群并不可怕。可怕的是,每逢节日群里都会让群主发红包!

@后知后觉:

已经做到了,14 亿人拉到一个微信群,大家看到的都是新闻联播。

@bluecat:

简单的说,你的手机会马上崩溃,因为它承载不了一秒钟的信息量。

@三毛鱼

可以实现,不过要加几条限制:

①所有微信账号强制加入到这个微信群。

②微信群只能有限的几个人发言,其他人不能发言。

③微信群里只能在每天固定时间段发消息。

④其他微信群在固定时间不能发消息,或者只能转发这个微信群的消息。

这样就可以实现了,技术上没有难度。

@程墨Morgan

“拉”到一个群里没啥不难实现的,反正用户信息都在服务器上,建一个包含所有用户微信号的群也就是添加一个记录而已。

但是,这个群千万不要让任何人都能发言,就以我国人民的多样性,各种话唠、贴图狂人、广告狂人......海量信息瞬间就可以把服务器、运营商网络和你手机的电池击溃。

@世安先生

讲真,单从理论上来说目前的技术还是可行的,咳咳,我要装逼了。

看了别的答主的回答,说人、终端、传输、处理、存储、分析等等各方面均有缺陷或者短板,跟不上大批量的数据,其实个人觉得实施起来也还是有得搞的,只是成本和利润之间的关系罢了。

首先,得考虑人的因素,多少多少亿的信息量对于某个特定个体来说价值无限接近于 0,我个人根本不关注这些信息,因为获取信息的效率太低了。

这就导致了百分之九十九的人直接忽略了这个群的存在,剩下的每天这个群里的消息无非就是置顶公告,置顶新闻,红包和闲聊斗图,浏览公告和新闻。

考虑到并发的问题,一般现在的服务器都可以做到,毕竟有大把的新闻 App 都可以做到;红包,做个算法随机分配吧,也别抢了,抢会严重影响体验,给十亿用户随机分配一段数据应该难度也不太大。

剩下的就是斗图闲聊,数据直接云存储在服务器端,分析处理总结出来个中心思想每多少秒多少秒推送给个人用户一次,就差不多了,需要详细信息的上服务器检索,个人觉得对个人终端的压力也不会太大。

其次,传输,这是我觉得问题最小的一个环节,为什么呢?解决了个人终端的问题之后,个人的数据传输量并不大,现有的传输网络完全可以满足。

服务器端的传输,要看这服务器怎么个建法,如果集中式处理和存储,就只能用百 G 专线,建个三五条完全够了。

只不过相应的配套交换机路由器要建一套庞大的系统出来。如果是分布式存储和处理,10G 的甚至 GE 的专线都够。这是传输。

第三,处理,如果非得把大批量的数据集中处理,就得建设一套国内最大甚至世界最大最复杂的数据中心才能够承载这套系统。

但是如果分布式处理的话,我相信现在的系统也够用,毕竟现有的运算量已经这么大了,而有这个群之后数据量也绝对不会爆炸式增长。

第四,存储,处理的工作能够完成存储肯定也不是问题,甚至可以将数据破碎后存储在个人终端上,将投资设备的矛盾转嫁到数据安全和管理上。

第五,数据分析,这一点才是重中之重,难点中的难点,如何有效的分析提取如此大量数据中的有用信息并推送给特定的个人才是核心关键。

虽然现在技术还没有大面积商业化,但我相信这种技术是肯定已经有试用的甚至是已经商用的存在了,只不过公众不太清楚而已,毕竟这种东西仔细想想还是有点恐怖的。

总之,如何实现这个系统或者说建好这个群,无非就是做好需求与资源之间矛盾的转嫁,把存储需求量大与投资大之间的矛盾转嫁到数据安全与运营管理上,把大数据量传输分散化,把大量的数据进行分析提取后定向推送,最核心的投资也就是整套智能有效的大数据分析系统。

(ಥ_ಥ)不过……话说这么搞的话不就是搞了个有 14 亿关注量的公众号嘛…d(ŐдŐ๑)好了,我装逼装完了,你们打的时候下手轻点,别拿砖头,别提 40 米青龙偃月大关刀......

转自:程序员之家,转载仅供学习交流,如有侵权请联系删除。

参考链接

[1]: 2017微信数据报告:日登录用户超9亿 日发送消息380亿次

[2]: 高通骁龙 845 平台 | Qualcomm

https://www.qualcomm.cn/snapdragon/processors/845

[3]: Intel 4004 维基百科

https://zh.wikipedia.org/wiki/Intel_4004

[4]:Moore s law - Wikipedia

https://en.wikipedia.org/wiki/Moore%27s_law#Driving_the_future_via_an_application_focus

[5]: The 48th edition of the TOP500 list

https://www.top500.org/lists/2016/11/

[6]: 4G 维基百科

https://zh.wikipedia.org/zh-cn/4G

[7]: 2017年4月通信业主要指标完成情况(一)

http://www.miit.gov.cn/n1146312/n1146904/n1648372/c5652964/content.html

[8]: 深圳统计年鉴2017

http://www.sztj.gov.cn/xxgk/zfxxgkml/tjsj/tjnj/201712/P020180822606533537093.pdf

[9]: 视觉暂留 维基百科

https://zh.wikipedia.org/zh-cn/視覺暫

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用C#为.NET Interactive开发自定义扩展

在前面的文章中,我们介绍了如何在.NET Interactive notebook绘制图表和执行SQL。那么,能不能为.NET Interactive开发交互功能呢?今天,我们就来演示如何实现。创建项目新建类库项目Demo1Extension,需要引用Nuget包Micro…

zabbix snmp自定义OID nginx监控实例(55)

为什么80%的码农都做不了架构师?>>> 为什么要自定义OID? 前面的文章我们已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目,假如我们想知道nginx进程是否在运行…

(转帖)对抽象编程:接口和抽象类

[你必须知道的.NET] 第二回:对抽象编程:接口和抽象类-王涛 [你必须知道的.NET] 第二回:对抽象编程:接口和抽象类 Author:王涛 Date:2007-4-12 ©2007 Anytao.com 转贴请注明出处,留此信息。…

实验四 图的遍历算法设计与实现

一、实验名称:图的遍历算法设计与实现 二、实验目的: 1.掌握图的深度优先遍历的算法。 2.掌握图的广度优先遍历的算法。 3.实验章节:算法设计与分析 第四章 三、实验内容。实验问题和程序运行结果 第一部分 广度优先遍历算法 完善下列程序&am…

为什么魂斗罗只有128KB却可以实现那么长的剧情?

全世界只有3.14 % 的人关注了爆炸吧知识现代程序员A和1980年代游戏程序员B的对话:A:为什么你用128KB能实现这么多画面、音乐、动画?B:128KB还不够么?其实为了表现力已经相当奢侈了,加了很多不重要的细节。A…

asp.net core 6 新特性,支持HTTP/3 端点发布

???? 序言Http3 协议构建在UDP的基础上,是的,就这么神奇,以前被誉为不稳定大神的UDP,现在承担起可靠通讯协议的底层协议。为了消除UDP的不确定性,在UDP协议之上,新增了QUIC协议。使用QUIC协议代替TCP协…

浮点数赋值给整数_初学者专题:变量和赋值

作者:老齐对于初学Python者,除了看书(《跟老齐学Python:轻松入门》或者《Python大学实用教程》,均为电子工业出版社出版)、或者看视频(网易云课堂、CSDN上均有老齐的视频课程),还要进行专题性总结。比如本文&#xff0…

分析android动画模块[转]

2019独角兽企业重金招聘Python工程师标准>>> 作者: 刘鹏 日期: 2009-03-07 Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是 Frame 动画,即…

当你的手被502粘住了要怎么做?

1 看清楚,这是大裤衩子▼这才是 jk 裙▼2 天天看你们骂海王男友其实我有一个河神男友▼3 当你的手被502粘住了怎么办?▼4 不能指望食堂阿姨了自己动手丰衣足食▼5 当你被别人夸奖时▼6 宅在家里也能拍大片▼7 是我本人没错了▼你点的每个赞&#…

excel 如何替换带上标的文字_如何在Excel中批量提取中文汉字和英文字母

1. 在数据源的右边分别命名新的两列为“中文名”和“英文名”,然后将数据源复制到“中文名”这一列。2. 为了确保英文名字可以连在一起,这里我们在有空格的英文名字中间添加一个“-”。选择“中文名”下所有数据源,按CtrlF,点击“…

国内最大.NET平台重金招募中 你竟然还不知道?

各位路过的捎带眼瞅见的不小心翻到的英雄好汉请留步~让小编来带你康康这个胆敢号称国内最大的.NET的平台到底有何惊人之处一难道是因为它有--“最敢”的生态开放平台技术驱动商业创新,数字引领企业的未来,明源云通过多年专业积累,融合多种创新…

GChemPaint-绘制化学分子布局

Toy Posted in AppsRSSTrackbackGChemPaint 是专门用来绘制 2D 的化学分子布局软件,它合用于 GNOME 桌面。经由历程它所绘制的化学分子布局可以被嵌入到其他的应用程序中。Download GChemPaint 0.7.91版权声明: 原创作品,允许转载&#xff0c…

软件开发有哪些规范和标准_深圳APP软件开发的流程是什么?

深圳APP软件开发的流程是什么?APP软件开发是根据用户需求构建软件系统或设备的软件部分的过程,是一项系统工程,包括需求捕获,需求分析,系统设计,系统实现和系统测试。APP软件通常以某种编程语言实现&#x…

第十六周项目3-有相同数字?

输入两个数组中要存放的元素个数及元素值(不超过50个),判断这两个数组中是否有相同的数字。 当两组数中有相同数字时,输出YES,否则,输出NO /* * Copyright (c) 2014,烟台大学计算机学院 * All right reserv…

一键对频对讲机好吗_对讲机的基础知识你都知道多少呢?

对讲机或PMR是手持式便携式无线电,可在单个共享频带上使用无线电波进行无线通信。这使Walkie Talkies成为以低成本与大范围人群保持联系的最有效方法之一。双向无线电功能强大,易于使用且易于使用。它们特别适合在户外或在手机或平板电脑过于精致或超出信…

女儿学会走路了,是不是该教她学Python了?

1 哈哈哈,20个人其实都是精准客户▼2 搬沙发一定不要穿的太正式!▼3 横竖都是死让我先打完这场游戏先▼4 只要你学会这支舞你就是你妈的好朋友▼5 你能体会到这只阿拉斯加的惆怅吗?▼6 这双鞋一看就是全球限量有钱都买不到的那种▼7 我…

html游戏怎么做,HTML5 制做“游戏”的一个基本流程

怎样用HTML5 Canvas制作一个简单的游戏为了让大家清楚HTML5制作游戏的简单流程,所以先了制作一个非常简单的游戏,来看一看这个过程。游戏非常简单,无非就是英雄抓住怪物就得分,然后游戏重新开始,怪物出现在地图的随机位…

.NET 6 的 docker 镜像可以有多小

.NET 6 的 docker 镜像可以有多小?Intro最近写了一个小玩具,一个命令行调用 HTTP API 的工具,介绍可以参考:动手造轮子 —— dotnet-HTTPie,最近在使用 System.CommandLine 重构的同时,也在尝试减少 docker 镜像的大小…

开源播放器 Banshee 发布 1.0 beta 2

Banshee也是个很是不错的开源播放器,同时也是SuSE的内置播放器,默许支持靠山播放,消息区域告诉,可以快速跳过以后曲目,评分等等,也支持全局热键,媒体库支持音频和视频.新版本提供了对网络视频和PodCast的优秀支持.SuSE/Ubuntu/Fedora Linux用户可以从源中直接安置,也可以下载安…

仓库每天的账怎样做_新年第一站,济南:仓储匠人仓库问题解决与实战力培训...

【时间地点】1月15-16日,济南站济南市天桥区无影山北路88号祥云酒店5楼(师范路西口)【报名方式】直接加微信号“taishan33976”,注明姓名公司名仓储匠人。如果您认识小编的任意一位同事,欢迎直接找他们报名。【培训价格】1960元/人&#xff0…