没有东西可以从黑洞逃逸,即便是光。
可以像黑洞那样扭曲时空的东西,只存在于光年之外吗?
在比宇宙还要复杂的互联网中,能够确认一个请求就能拿到你想要的东西吗?
网络带宽总是不够用的,就像懒惰的程序员,会用一个小小的递归拿走所有的内存空间。
“网”的概念可以很抽象,也可以很具体。它可以是图论中的一个concept,可以是一种数据结构,可以具象化为渔网、蜘蛛网。孤立的节点相连即是网,由一到万的生发也是网,反复循环的联系是网,无限的追溯和蔓延也是网。
就像高速公路有时也会被车流堵满一样,网络带宽的传输也会被数据流堵满,数据通道的建立,可以是多个主机发起的洪水,也可能是一个蹒跚学步的爬虫初学者随手敲出的get请求。
“前后端分离,易守难攻啊。”丛迅在工作椅上伸了个大大的懒腰,转头看向窗外。树木疯狂摇动着,黑云吃掉了H700深圳塔的头。
“黑,真tmd黑啊!”他一个猛劲站了起来,屁股差点把椅子顶翻。“黑的让人干什么都没心情了!”
他的生活状态看起来很像一个失业在家的落魄青年,即使外面被乌云挡得黑成这样,屋里灯也没有开,只有显示屏发着幽幽的蓝光,看起来很像反派的老巢,在干什么见不得光的事。
事实上,丛迅在干的事的确可以称得上“见不得光”。
他原本是深圳鹅厂的爬虫工程师,业务精湛,无孔不入,几乎以一人之力填满了企鹅云上所有的数据库。爬虫工程师之于互联网企业,犹如石油之于现代工业。没有大量数据的支撑,各种后续的分析、建模、挖掘都无从谈起。
在人们的意识里,爬虫对数据的抓取已经很自动化了,然而丛迅却对日复一日的爬虫项目构建感到了厌烦。目标网站但凡有些许更新调整,项目的整个爬取逻辑立马全线崩溃,整个服务都要重新部署。不仅如此,分布式爬虫的调度也是额外的工作量。在这样数据量的背景下,对于爬虫这样的IO密集型任务,哪怕有一个线程发生阻塞,这几秒的时间里,以T为单位的数据就会延迟,而可能就是这几秒的时间里,竞争对手比你先分析出了结果,做出了决策。
这也是丛迅辞职的原因,”为什么非要满世界去找数据呢?为什么不能让数据自己过来呢?“
就是这样的”异想天开“,催生了他启动并开发此时的这个项目。Data Blackhole。
一些应用程序的供应商,特别是提供社交媒体服务的公司,往往会在自己的程序里设下一道后门,自动搜集并上传用户的使用信息,通过这些数据分析用户偏好,进行用户画像。当然也有想要立牌坊的,会在使用协议里加一句”是否允许收集“,不过你不同意就点不了确定按钮也就是了。
但说到底,自动上传的数据也是由应用在用户本地自主生成的,想要把这样的想法迁移到全网,他需要一个全新的逻辑。
”进行节点截流抓包呢?“显然也不太现实,以现有的计算机数量,ipv6地址几乎要不够用,只有政府或一些大型数据中心才会有这样类似于”根节点“的主机。
想了很多,说到底,一个业务精湛的工程师还是难以跳出自己的固有思维。
窗户上噼里啪啦地响了起来。站在高层居民楼里看雨是一件非常爽的事,你可以看到数不清的水滴朝地面砸去,你甚至可以看见在地面汇聚成股的积水很快地顺着下水道流走。而且并不需要有人告诉它们,你需要流去哪里,他们就会自动地寻找最近的排水口进入。
这是自古以来就有的道理,“水往低处流”罢了,没有什么新奇的东西,类似的事情在世界上每时每刻都在发生,这是大自然的循环。而学过一点物理的人都能张口道来,水往低处流的原因是,在地球的重力场中,较低的位置具有较低的重力势,物体有自发的降低势能的趋势,趋向稳定的状态。
但在互联网中,我们可以说所有的计算机都是“平级”的,也不存在所谓的“贵族电脑”和“平民电脑”,一台个人PC可以黑掉一家银行的信息系统。所有的硬件都只是数据的载体,用物理层面不同的排列组合去实施不同的操作指令。
“我需要一个下水道,我需要一个黑洞。”丛迅不止一次地这样想过。但毕竟他再神通广大,他毕竟是工程师出身,离科学家尚有一段距离。
但是,所有科学的研究,都必须“站在巨人的肩膀上”,换言之,想要抛开前人的成果另辟蹊径,其难度堪比逆天改命。而工程师在这一点上则具有相当的心理优势。工程师有工程师自己的思维方式,有自己的行事风格。
一些优秀的工程师是疯子,他们敢在自己能接触到的,可能改变的任何东西上动手。
丛迅的电脑里此时正有一个beta版本的脚本在悄悄地运行。老实讲,他的这项工作在许多人看来简直是颠覆世界观,几乎是不可能的。不向服务器发起请求,服务器怎么知道你要什么东西?
身为一个优秀的爬虫工程师,丛迅也曾问过自己这个问题。服务器就是个受,你不找他,他不会主动来搭理你,当然也不会主动地询问你想要从他身上扒点什么数据下来。
但此时此刻,他需要的不只是一个仅能模拟人类工作的自动化程序,他反复地告诉自己,“我需要一个黑洞”。
一个黑洞,会在乎自己吸进去的是什么东西吗?
Data Blackhole Protocol,简称为DBP协议,由丛迅一人秘密开发并进行测试。其基本设计理念是:在传统的Server & Client 架构的基础上,利用特殊的混淆方法对本地发出的数据包进行伪装,目标服务器收到后,会误认为是来自远程计算机的授权,授权内容是:
”开启全栈数据共享。“
只有纯粹的疯子才会想到这样的办法,丛迅要将服务端和客户端的概念完全颠覆过来,他在试图强行降低自己本地计算机的节点梯度!
在无限复杂的互联网上,突然出现了一台伪装成”中央总机“的计算机,只收集数据,不给出任何响应!
此刻,丛迅的个人PC上,所有存储全部处于最大繁忙状态,所有CPU核心全部满载超频。
他从窗边回来,按下了shutdown。它在测试脚本时并没有加入速度控制和延迟设置,这台电脑此时是一个名副其实的黑洞。
”会有人对这种东西感兴趣吗?这显然已经不是单纯的黑科技了吧。呵呵。“
DBP协议还处在测试阶段,最终会发展成一个什么鬼东西,没人知道。但这种带着明显恶意的东西显然不会受到商业厂家的欢迎,商业企业对技术的追求并不是不计成本,没有上限,毫无顾忌的。无论是多么依赖技术驱动的企业,最终都要把技术变成产品,最终都要和别人做生意。
丛迅并没有恢复原职的打算,他并不是一个走回头路的人,或者说顶尖的工程师从不满足寄人篱下。
”或许有一些疯子比较多的学校会喜欢这玩意儿呢?“
To Be Continued...