Vantiq平台的优势

Vantiq平台是什么?

VANTIQ是一个平台即服务(PaaS)体系,用于开发、部署和运行高性能的分布式实时业务应用。Vantiq可以帮助公司轻松实现业务数字化。使用Vantiq构建的应用参与各种事件(物联网,移动,服务),将其与现有信息系统结合,然后使用规则,过程逻辑或ML算法等等进行操作。

  • 数据获取

-从物联网资源和企业资源获取数据、过滤数据并将其提供给自动化决策引擎的技术。关于如何把数据接入到Vantiq平台,可以参阅我的文章“Vantiq平台数据接口介绍”。

  • 事件和情景分析

-实时分析数据并根据结果作出业务决策的决策引擎。

  • 行动

- 向设备发送控制信息,以及将自动化解决方案后续行动的决策和建议通知外部系统和用户的技术。管理自动化系统与负责人员之间协作的技术,以针对复杂情况制定最优响应。

                                              

大家如果想更多了解Vantiq平台,可以参阅我们的官方网站www.vantiq.comwww.vantiq.cn。另外,我们也有很多的文档给大家参阅。

 

Vantiq平台的优点

 

总体说来,Vantiq平台具有以下在四个象限中的四个特点:

 

                                      

 

下面我们来分别针对上面的四个特点进行一一描述。

 

以任务为核心

 

在Vantiq平台上,我们可以开发出实时的,以事件驱动的合乎用户需求的应用程序。不同于传统架构,在进入数据库前,VANTIQ就对数据进行实时的处理,并通过事件驱动业务响应。当然这些数据并不排除来自数据库中的数据更新。

                                

 

传统的业务逻辑一般是由用户发起的用户驱动架构。这种架构通常是由用户发起(user-driven),然后把数据存入到服务器中,事后再有单独的用户界面来对存储的数据进行处理呈现或触发。所有的事情都是又数据库来进行协调。这种事件处理不具备实时性。

相比较而言,以事件为驱动(event-driven)的系统可以接受不间断的数据(具体视业务而言),每一个传入到Vantiq平台的数据都可被视为事件。Vantiq平台对这些事件开始进行实时的处理。这些数据甚至不需要从数据库中获取或存储,从而可以加快我们处理数据的速度。根据我们所定义的业务场景来进对事件进行逻辑处理,比如温度过高,需要反向调节,自动发出警报;病人的血压过高,需要自动呼叫医生;打通异构系统,把数据从一个系统经过相应的处理然后传入到另外一个系统等等。

使用Vantiq构建的应用具有可大规模扩展和响应的特性。Vantiq基于完全现代化的的反应式架构,能够实时处理越来越多的异步事件和数据流。Vantiq是基于集群部署的,具有高度的可拓展性。如果随着业务量的增加需要处理更多的事件,只需要添加更多的机器就形成更大的集群可以了。Vantiq也具有高可靠性。如果有集群中的一个Vantiq服务器或数据服务器不能正常工作,另外的服务器或数据库服务器会立即替代并开始正常工作,从而保证正常的业务不受影响。

由于Vantiq提供实时事件处理,我们可以甚至把Vantiq作为一个事件中台,把数字化转型的各个业务连接起来,特别是对于一些异构的系统。这种架构的好处是可以对每个子业务进行解耦。

 

                              

 

分布式部署

 

不同的Vantiq实例可以通过任意的方式连接起来,从而组成为更大的系统。在Vantiq平台上开发的应用也可以部署到Vantiq里的任何一个节点上。

                               

我们可以把每个Vantiq的实例按照我们喜欢的方式进行连接起来,这样变成一个更大的Vantiq系统。有时我们需要Vantiq实例靠近我们的设备或场地,我们可以在边缘设备上部署Vantiq实例,从而更快地响应事件并处理。由于是分布式部署,我们可以把一个应用的各个部分分布到不同的Vantiq实例中运行,从而让每个部分协同工作。比如边缘设备可以帮我们处理很多需要及时响应的事件,但是有些重要的事件,我们可以传到共有云来出发人工协同,数据存储等。

 

                            

从部署的角度来说,我们可以在一个自己熟悉的云上开发的应用,直接通过Vantiq平台远程部署到相应的节点,从而不用到现场进行部署。甚至我们可以随时根据需求动态地重新部署及调整我们的应用。

                         

 

在上图中可以看出,我们可以把一个应用的不同部分分别部署到Vantiq不同的节点中去。这里的 “store”及“factory”两个空间可以位于不同的Vantiq实例中。

 

人机协作

 

Vantiq极大地提高了系统与人协作的技术水平。例如,如果检测到机器故障,Vantiq可以发起协作,分配,定位,跟踪,建议并向负责维修的技术人员或其他必要的人员提供实时动态。Vantiq是真正意思上的人工协同。Vantiq可以通过短信,邮件,消息推送等方式和用户进行互动协作。极大地支持用户和机器参与,以产生最佳的效果。

 

                          

 

通过实时事件处理,结合业务场景和逻辑,实时地触发人机协同交互,让我们的事件及时处理。比如,客户下单时,仓库库存不够,需要自动触发人机交互提醒下订单购货。零售环境下的客户跟踪器,结合人脸识别,并为每个客户提供不同的购买产品的附加产品信息,从而提供最佳的用户体验。对于建筑行业,来说,如果每个环节的安排计划加起来超过预定的时间从而影响交付,自动触发人工协同。从而做到避免最后一刻的风险的发生。对于工业自动化,维修,车辆调度,我们可以通过Vantiq平台结合自己的业务在一定的条件下自动发出通知给附近的人员,并寻找最佳的人员来解决问题。

 

高生成力低代码编程

 

实时事件处理是难以实现的。很多人可能不认同这个观点,比如对一个事件流进行监控,并在规定的时间内求出一个平均值,并对这个平均值根据自己的业务需求进行判断及作出响应。很多人认为这是一件很容易的事通过C/S架构,数据库加上实时处理程序可以完全实现这个目的。但是随着业务的变化,复杂度的增加,我们的数据源可能会变得更多(比如以前一个传感器,现在变成十个或以上的传感器),数据之间的关联及综合逻辑判断会使得我们实现变得越来越复杂,有的甚至受到计算能力的限制,最终变成完全超出实现的可能。即便实现,后期的修改及维护也会变得极其复杂。 很多知名的企业尝试实现实时事件处理系统,但是有的最终无功而返。

下面是一个世界上非常著名的一个零售商的实时系统的实施方案:

 

                             

 

我们可以看出来,这个系统需要几十种平台的拼接,甚至需要一个庞大的研发队伍,从架构,系统,软件,硬件,测试,研发,发布,开发工具,维护,各种技术平台的采购等等,这都是一笔非常大的开销,而且随着业务及软件的升级,可能带来的各种不兼容性,维护性,都是一个极大的挑战。

Vantiq作为一个PaaS系统,它提供一套完整的一站式的服务:开发,调试,部署及维护。你甚至不需要养一个庞大的团队来完成一个实时的系统。一个人,到两个人的研发团队就可以开发出一套完整的而且易于维护的实时应用。Vantiq平台提供了很多开箱即用的对实时事件处理的工具,通过拖拽的方式,简单的配置,就可以很快帮我们所需要的实时事件处理应用。通过Vantiq完成的应用,我们可以甚至根据自己的业务需求很快速地修改。这里的每一个工具都是经过反复测试,可靠的代码。

                          

Vantiq的项目时这样的:

项目的所有resource的关联显示图:

                                    

运用APP BUILDER来创建我们的应用:

                                     

利用COLLABORATION BUILDER来构造人机交互的流程:

                                           

运用拖拽的可视化工具来创建移动端的H5应用。这个应用可以接受来自Vantiq平台的通知信息,客户端输入,人机交互等。

                                                     

 

 

我们也可以利用可视化的工具来做一个Vantiq平台的浏览器应用。

                                             

可视化的工具,清晰的事件流及逻辑可以很方便地按照我们的业务流程设计我们的实时应用,并按照我们的需求在业务发生改变时快速地重构我们的应用。相比较而言,传统的设计每一个细小的改动,周期都可能会很长,毕竟整个系统需要重新验证,牵一发而动全身。

Vantiq平台提供的开发工具:

  1. 手机客户端的开发。这个客户端可以在手机上安装的Vantiq应用启动。Vantiq应用可以在百度的手机商店里下载。可以提供人机交互,及接受实时通知。我们可以在百度的手机助手中下载Vantiq的安卓客户端。在苹果的商店下载Vantiq客户端。这客户端可以帮我们运行我们在Vantiq平台开发的HTML5的应用,它也可以帮我们接受从Vantiq平台发来的通知。用户可以根据这些通知来作出响应。
  2. 浏览器的客户端开发。这个客户端可以在浏览器中打开。可以提供人机交互及实时数据展示
  3. VAIL语言(Vantiq Advanced Integration Language)。这是一个类似Javascript的脚步语言。对于有一定编程经验的程序员来说,半天到一天左右的时间就可以掌握。除了逻辑运算之外,主要提供SQL数据库访问,RULE(规则)触发机制等。这些RULE包括对消息里的topic,数据源,数据库的创建,修改等进行响应。
  4. Collaboration开发(协作开发)。对于在应用中的场景触发的事件,我们可以通过短信,邮件,信息通知等方式来通知用户,并根据场景来提供用户来参与业务流程的处理等。

 

Vantiq平台的产品

 

目前Vantiq平台的产品分为两个产品:modelopronto

                     

 

modelo及pronto这两个名字对于很多的人来说都是陌生的。简单地说,这两个平共有一个最基本的Vantiq平台服务层。对产品的定义来讲,pronto是一个事件brokers里的broker。它可以把各类信息都集中到Pronto,并深层加工,并重新发布。大家可以参照我之前录的视频“Vantiq Pronto简介”做进一步的了解。

modelo和pronto之间的差别也是明显的:pronto作为一个broker,除了它有一个catalog之外,它也有一个event manager可以对事件进行管理。它可以对事件建立app,并对它们进行处理,也可以结合多个事件源按照自己的业务需求生成新的事件,并发布为其它的微服务所使用。它和modelo的区别在于:它不能建立自己的数据表格(除了事件lodger之外),另外pronto不能建立自己的客户端(手机及网页),也没有提供给用户的collaboration builder。collaboration builder可以为我们的应用人机交互。

针对pronto和modelo的这些特点,我们可以这样来建立我们的应用或系统:

  • 如果你的应用不是很复杂,只需要信息的转发,或信息的加工,不涉及数据表格操作,那么pronto是你的选择
  • 如果你的应用涉及到人机交互,数据表格的使用,客户端的使用等,那么modelo将是你的选择
  • 如果你的系统涉及到多个应用,而且你需要用信息把各个应用串起来,那么modelo+pronto将是你的选择。我们可以把我们的多个应用放置于各自的namespace中,这个各个应用互相独立。我们可以使用pronto的消息机制把各个应用组合起来,并形成更大的系统。

使用Vantiq的最大的好处就是,当我们业务刚开展的时候,可能只关注在某个或特定的应用上,但是当我们的业务变得越来越复杂时,我们可能需要一个更大的系统来支撑我们的业务,那么Vantiq很好地解决了我们需求。通过Vantiq平台,我们可以很方便地把各个子应用,子系统,通过Vantiq的pronto整合到一个更为灵活而强大的系统中去。

当然,Vantiq平台从根里设计就是分布式的。如果每个应用都是由Vantiq来实现的话,我们也可以直接通过federation来实现我们多个应用之间的通讯及协作。就像我在之前的那个分布式部署里所讲的。但是,使用 pronto的消息机制能更好地使我们的应用各自互相解耦,并为将来的业务的可拓展性打下更好的基础。

 

 

 

一个典型的Vantiq应用

 

可能大家到这个时候,很想知道Vantiq的应用到底是什么样子的。一个实时的,事件驱动的Vantiq应用是这样的:

 

对Vantiq平台来说,许多的实时事件都可以接入到Vantiq平台之中。这些事件可以是物联网中的传感器的数据(比如温度,湿度,光感),或移动设备中的数据(比如位置,车辆设备中的CAN总线数据),或业务中产生的数据(比如销售订单信息),或监控设备产生的实时数据(比如电梯,生产线)等等。他们都可以通过一定的方式接入到Vantiq平台之中。如果大家想知道如何把这些数据接入到Vantiq平台中,可以参考我之前写的文章“Vantiq平台数据接口介绍”。

一旦这些数据接入到Vantiq平台中,我们就可以对这些实时的数据按照我们的规则进行处理了。这些数据甚至不需要存储到数据库中。一个典型的Vantiq事件处理流程是这样的:

这些部分的作用:

  • External world: 外界的物理事件或事务流程产生的事件都可以接入到Vantiq平台。这些数据是按照一定的网路的协议接入到Vantiq平台,并且数据是以JSON的格式来表达的
  • Ingest: 通过Vantiq的规则引擎,每当数据源有数据变化时,Vantiq可以捕获这种变化,并结合本地数据生成新的数据流。比如一个传感器传入的数据含有一个传感器的id,但是它并不含有它的设备id及位置信息等。这个传感器的id可以和Vantiq本地数据结合来生成更加丰富的数据
  • State of the world: Vantiq可以帮我们把这个数据保存于一个type里。这个type针对每个事件或传感器只生成一个record。通常会使用upsert的方法来生成这个record。这个唯一的record就会为后面的数据流不断地更新数据。在这里也可以丰富我们的数据,比如结合本地数据或其它更多的其它类型的传感器数据,生成新的数据流。结合Predictive models,比如人工智能虚拟现实,自然语音技术等
  • identify: 在这个过程中,我根据上面的model来识别我们的数据,比如说识别到的车牌号码,FaceAPI识别的脸数据等
  • Situation: 定义我们的场景。这个场景的定义非常重要。比如,温度及转速高过一个阈值,我们希望做什么事;FaceAPI返回的人脸识别是非法进入,我们应该去做什么。
  • Manage: 在这个过程里,我们通过规则引擎根据我们的场景来生成一些action。比如温度过高,Vantiq需要发出温度控制信号来控制温度,以保持温度在一个合适的范围。对于非法侵入,我们是否应该生成警告信号等
  • Collaborate: 在这个流程里,Vantiq可以帮我们发出信息到手机上,工作人员协同解决问题。比如机器坏了,或不在正常的工作范围,会发送这个信息到附近所有的技工的手机中,自动派单。如果有人接单了,并处理了,这个人工协同就算是完成了。如果在规定的时间里,没有人相应,系统也可以自动escalate到上级部门继续处理。这样形成一个闭环处理。

在上面的所有的流程中,Vantiq也可以在任何一个环节,把事件流处理后,并重新生成新的事件流。这些事件流可以被新的业务,或其它的业务所使用。通过事件的重新发布,对各个业务实现解耦,为未来的业务的重构带来极大的方便。

从上面我们可以看出来,外面的物理事件是Vantiq平台流处理的开始。在今天的文章中,我们来介绍一下如何把这些事件接入到Vantiq平台,并介绍了各种方法的优缺点。有的方法可行,但不是event driven。在本文中,为了细述的方便,我省去了网路gateway。

由于Vantiq是一个云平台,任何设备想接入到Vantiq平台,这个设备必须先具备连网的功能。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值