机器通用运行框架抽象
“机器与人类的战争仍将继续,我不知道未来,但这并不是结束,我要让人们看到真实的世界,一个没有电脑的世界。” --《黑客帝国》
计算机体系中的一切都可以抽象为机器,现实世界中的公司、组织等也可以抽象为机器。
所谓机器,通过消耗一定的资源,自动处理重复任务,信息处理,能量转换、做功。
在软件中的各种中间件,框架,其本质就是通过架构和设计,构造机器,处理特定的任务。
机器也可以理解为系统。人与动物的区别可以理解为:人能够通过机器给自己加杠杆,从而高效获得和处理资源.
人、组织、系统、机器都遵循自然规律,有一定的生命周期,我们按照生命周期分析,将机器的运行框架抽象为下图。
人:
1. 生:出生,从无到有。
2. 初始化:身体各系统逐渐构建到位、成熟,并通过教育和学习获得与其他个体、与世界、与自我通信和链接的能力,并获得自我升级能力(并不是所有人都可以)。
3. 处理:确定人生目标,生命这个机器以世界的熵增为食,并构造出负熵(对抗宇宙的膨胀),以不变应万变。教育和科学是目前验证可行的方式。
4. 死:永恒的话题。为了避免,有两条分支: 寻求长生不老,延长寿命;DNA(四进制元素)复制到下一代,繁殖。
5. 产生价值(穿越维度),穿越时间维度:创造历史,书写自传。所有伟大的作品都是穿越维度的思想:自己可以观察自己活着他人的生命时间轴,甚至随意往前往后拖拽(时空穿越),甚至在多条时间轴之间穿越。——得不到的永远在骚动。
公司(组织):
满足人类各种需求的机器,输入是人类的需求,输出是商业和用户价值。
1. 生:创办公司;
2. 初始化:初始化公司的文化、制度、部门、工作流程、员工
3. 处理:确立组织目标,并层层分解到具体 worker, 应对市场变化,处理用户、客户需求。
4. 死:永恒的话题。两条分支:现金流;繁殖。
5. 价值:公司的商业利益,投资价值,用户评价。最重要的是数据资产,并处理学习,优化输入(把用户需要的个性化需求 feed 到用户嘴边,进而省掉给和尚推销梳子这种无效成本)。
正如以上两种机器,处理阶段是处理变化最多,最不可控,且机器本身要根据处理的变化做相应调整和迭代、成长,成为可持续的机器,否则,就会提前进入第 4 阶段,死亡。而机器本身的管理,变化需要有监听,有变化需要有相应的通知机制——健康和公司运营管理。说简单点:先创建公司,再招兵买马,创建目标和工作流,在复杂的市场通过这部机器进行各种 if/else 处理消耗一定资源,获得经济价值并且健康、可持续地迭代,自我升级。
在计算机中:
1. 生:我们叫 bootstrap。
2. 初始化:我们叫 init,初始化上下文 context,所谓上下文,就是资源的集合(进程、线程 worker,计算、存储、网络)
3. 处理:通过初始化的预定义好的任务,指令,定时或者自旋(while)处理 if/else 的集合。触发任务包括定时,用户 shell,输入设备,网络等,一切的发起端都称为 client,在 client 和 server 构建输入输出流,处理流的过程中,通过代理模式,责任链模式,回调,配置等进行可扩展。
4. 死:我们叫 shutdown,同时为了优雅停机,注册 shutdown hook;
5. 产生价值: 主要是数据,持久化的数据,同时通过大数据和人工智能,优化处理和降低边际成本,反馈优化输入。
6. 机器本身的管理我们用观察者模式监听状态机,并在事件触发时广播。
整个过程我们为了优化指令编写人之间的沟通和可持续化迭代,运用 DRY 和正交分解的核心原则,运用各种模式和原则减少重复,提高复用和扩展。
更重要的是,以套路处理不断变化的需求,什么需求,处理到什么层次,产生什么价值,是否能更进一步降本增效?
同时在计算机中,不同机器按照不同层次的抽象如下图(java stack),每一层都按照上图运作,同时下层的入口触发上层的 bootstrap,当然最下面是电源(机械哥斯拉的阿克琉斯之踵,就拽词吧)。
P.S. 禁止套娃~。
人和动物的区别:人能通过制造工具(机器),为自己加杠杆,降本增效。同时机器在不断迭代,蒸汽机-》电-》信息-》AI。机器代替人执行各种维持自己当下和未来成长的任务,机器就是工具人。
那么,人和机器的区别到底是?
你的机器在什么程度?
版权声明: 本文为 InfoQ 作者【型火🔥】的原创文章。
原文链接:【http://xie.infoq.cn/article/6ab876c3ffca5e1eb88e03124】。文章转载请联系作者。
评论