数据获取
-从物联网资源和企业资源获取数据、过滤数据并将其提供给自动化决策引擎的技术。
事件和情景分析
-实时分析数据并根据结果作出业务决策的决策引擎。
行动
总体说来,Vantiq平台具有以下在四个象限中的四个特点:
下面我们来分别针对上面的四个特点进行一一描述。
以任务为核心
在Vantiq平台上,我们可以开发出实时的,以事件驱动的合乎用户需求的应用程序。不同于传统架构,在进入数据库前,VANTIQ就对数据进行实时的处理,并通过事件驱动业务响应。当然这些数据并不排除来自数据库中的数据更新。
传统的业务逻辑一般是由用户发起的用户驱动架构。这种架构通常是由用户发起,然后把数据存入到服务器中,事后再有单独的UI事件来对存储的数据进行处理呈现或触发。所有的事情都是又数据库来进行协调。这种事件处理不具备实时性。
相比较而言,以事件为驱动的系统可以接受不间断的数据(具体视业务而言),每一个传入到Vantiq平台的数据都可被视为事件。Vantiq平台对这些事件开始进行实时的处理。这些数据甚至不需要从数据库中获取或存储,从而可以加快我们处理数据的速度。根据我们所定义的业务场景来进对事件进行逻辑处理,比如温度过高,需要反向调节,自动发出警报;病人的血压过高,需要自动呼叫医生;打通异构系统,把数据从一个系统经过相应的处理然后传入到另外一个系统等等。
使用Vantiq构建的应用具有可大规模扩展和响应的特性。Vantiq基于完全现代化的的反应式架构,能够实时处理越来越多的异步事件和数据流。Vantiq是基于集群部署的,具有高度的可拓展性。如果随着业务量的增加需要处理更多的事件,只需要添加更多的机器就形成更大的集群可以了。Vantiq也具有高可靠性。如果有集群中的一个Vantiq服务器或数据服务器不能正常工作,另外的服务器或数据库服务器会立即替代并开始正常工作,从而保证正常的业务不受影响。
由于Vantiq提供实时事件处理,我们可以甚至把Vantiq作为一个事件中台,把数字化转型的各个业务连接起来,特别是对于一些异构的系统。这种架构的好处是可以对每个子业务进行解耦。
分布式部署
不同的Vantiq实例可以通过任意的方式连接起来,从而组成为更大的系统。在Vantiq平台上开发的应用也可以部署到Vantiq里的任何一个节点上。
我们可以把每个Vantiq的实例按照我们喜欢的方式进行连接起来,这样变成一个更大的Vantiq系统。有时我们需要Vantiq实例靠近我们的设备或场地,我们可以在边缘设备上部署Vantiq实例,从而更快地响应事件并处理。由于是分布式部署,我们可以把一个应用的各个部分分布到不同的Vantiq实例中运行,从而让每个部分协同工作。比如边缘设备可以帮我们处理很多需要及时响应的事件,但是有些重要的事件,我们可以传到共有云来出发人工协同,数据存储等。
从部署的角度来说,我们可以在一个自己熟悉的云上开发的应用,直接通过Vantiq平台远程部署到相应的节点,从而不用到现场进行部署。甚至我们可以随时根据需求动态地重新部署及调整我们的应用。
在上图中可以看出,我们可以把一个应用的不同部分分别部署到Vantiq不同的节点中去。这里的 “store”及“factory”两个空间可以位于不同的Vanti实例中。
人机协作
Vantiq极大地提高了系统与人协作的技术水平。例如,如果检测到机器故障,Vantiq可以发起协作,分配,定位,跟踪,建议并向负责维修的技术人员或其他必要的人员提供实时动态。Vantiq是真正意思上的人工协同。Vantiq可以通过短信,邮件,消息推送等方式和用户进行互动协作。极大地支持用户和机器参与,以产生更佳的效果。
通过实时事件处理,结合业务场景和逻辑,实时地触发人机协同交互,让我们的事件及时处理。比如,客户下单时,仓库库存不够,需要自动触发人机交互提醒下订单购货。零售环境下的客户跟踪器,结合人脸识别,并为每个客户提供不同的购买产品的附加产品信息,从而提供更佳的用户体验。对于建筑行业,来说,如果每个环节的安排计划加起来超过预定的时间从而影响交付,自动触发人工协同。从而做到避免最后一刻的风险的发生。
高生成力低代码编程
实时事件处理是难以实现的。很多人可能不认同这个观点,比如对一个事件流进行监控,并在规定的时间内求出一个平均值,并对这个平均值根据自己的业务需求进行判断及作出响应。很多人认为这是一件很容易的事通过C/S架构,数据库加上实时处理程序可以完全实现这个目的。但是随着业务的变化,复杂度的增加,我们的数据源可能会变得更多(比如以前一个传感器,现在变成十个或以上的传感器),数据之间的关联及综合逻辑判断会使得我们实现变得越来越复杂,有的甚至受到计算能力的限制,最终变成完全超出实现的可能。即便实现,后期的修改及维护也会变得极其复杂。 很多知名的企业尝试实现实时事件处理系统,但是有的最终无功而返。
下面是一个世界上非常著名的一个零售商的实时系统的实施方案:
我们可以看出来,这个系统需要几十种平台的拼接,甚至需要一个庞大的研发队伍,从架构,系统,软件,硬件,测试,研发,发布,开发工具,维护,各种技术平台的采购等等,这都是一笔非常大的开销,而且随着业务及软件的升级,可能带来的各种不兼容性,维护性,都是一个极大的挑战。
Vantiq作为一个PaaS系统,它提供一套完整的一站式的服务:开发,调试,部署及维护。你甚至不需要养一个庞大的团队来完成一个实时的系统。一个人,到两个人的研发团队就可以开发出一套完整的而且易于维护的实时应用。Vantiq平台提供了很多开箱即用的对实时事件处理的工具,通过拖拽的方式,简单的配置,就可以很快帮我们所需要的实时事件处理应用。通过Vantiq完成的应用,我们可以甚至根据自己的业务需求很快速地修改。这里的每一个工具都是经过反复测试,可靠的代码。
可视化的工具,清晰的事件流及逻辑可以很方便地按照我们的业务流程设计我们的实时应用,并按照我们的需求在业务发生改变时快速地重构我们的应用。相比较而言,传统的设计每一个细小的改动,周期都可能会很长,毕竟整个系统需要重新验证,牵一发动全身。