Skip to content

虚拟机风格的基本思想是人为构建一个运行环境,在这个环境之上,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。虚拟机架构主可以细分两种具体的架构风格:解释器和基于规则的系统

解释器

解释器通常包括:完成解释工作的解释引擎、被解释代码的存储区、 记录解释引擎当前工作状态的数据结构、记录源代码被解释执行进度的数据结构等。

解释器可以仿真硬件的执行过程和一些关键应用,通常被用来弥合程序语义与硬件语义之间的差异。其缺点是执行效率较低。

比较经典的例子包括:

  • 编程语言解释器:如Java语言解释器JVM。它负责Java语言的解释和虚拟机运行环境。
  • 容器运行解释器:像Docker Daemon等容器运行环境,也可以理解为容器的解释器和虚拟机,完成了自定义的容器内应用的解释和管理。
  • CAD仿真环境:电路前端后端仿真运行环境,负责解释电路设计程序,并提供运行仿真环境。
  • 专家系统:基于经验的大数据推理系统。将专家推理逻辑和程序,转换成决策平台的解释系统。

主要特点:

  • 虚拟环境:提供虚拟运行环境。
  • 程序解释:解释程序代码、运行状态等。

基于规则的系统

基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存等。比较经典的例子如:

  • 业务规则引擎:像Drools开源规则弓|擎、IBM iLog商业规则弓|擎,都是业务人员的好伙伴。业务人员不能像程序员那样精通if/else逻辑开发,但是又需要可以随时进行业务逻辑的修改和优化。业务规则引擎提供了有效的途径,它可以采用图形化的方式,让业务人员拖拖拉拉地指定业务逻辑。比如优惠券的计算逻辑、产品的价格制定逻辑、仓储系统的内部流转逻辑等。

  • 大数据分析引擎:大数据分析通常满足82原则,80%的数据分析仍然是有规律可循,可以采用一-定的规则弓|擎来处理,另外的20%数据才需要AI人工智能的强大分能力来完成。在规则化的处理过程中,通常数据科学家不会直接编程来完成逻辑规则的指定,所以大数据环境,分析规则引擎也被广泛使用,来协助数据工程和数据分析。

  • 网络防护系统:比如WAF应用防火墙、机器人识别防护、IDS/IPS入侵检测和防御,通常都依赖于规则的设定。

  • 运维自动化:在IT运维和数据中心运维中,越来越多的采用了规则类的工具和系统来实现自动化。

虚拟机风格总结

虚拟机风格是5大架构风格中,最偏重运行环境的一种风格。它描述了在一个应用系统中,程序代码是如何被解释和用于决策的:

  • 虚拟机方式提供解释引擎和中间数据存储过程;
  • 规则引擎来匹配和解释规则集,指定最终决策

它们组合起来,真正实现了程序产生智能,IT掌控世界。