本发明属于智能建筑自动化控制领域,涉及一种智能建筑业务系统的多子系统联动方法。
背景技术:
:早期的楼宇自动化系统,通常只有以楼宇设备为主的自控系统,随着通讯与计算技术,尤其是物联网技术的发展,其他楼宇中的设备也逐渐地被集成到楼宇自动化系统中,如能耗监测、智能卡门禁、消防自动报警与控制、安防、电梯、供配电、供水等等系统,实现了基于it技术的各类业务管理系统与控制系统的融合,最终形成具有某些特定业态的智能建筑业务系统,如智慧社区云平台、智慧办公楼运营平台等。但是随着越来越多的子系统集成到智能建筑业务系统中,业务场景中一个按钮操作需要完成多个子系统的设备控制,导致智能建筑业务系统需要与多个子系统多次交互,调用关系复杂。在此过程中,如果因为某些原因(如子系统控制规则、网络、设备状态等)导致子系统控制失败,则会造成各子系统间联动不一致,只能通过人工逐一进入各子系统进行相关控制操作,不但效率低,还可能衍生操作失误,造成更大的隐患。经过总结,当前控制多子系统的联动一致性,主要采用人工介入各独立子系统的传统方法,存在以下问题:(1)需要人工逐一进入各独立子系统分别控制,工作量很大,效率也不高;(2)业务场景下由于需要控制的子系统较多,控制的准确性依赖于控制人员对业务场景的了解;(3)各子系统在不同业务场景下,需要控制的功能不同,人工控制复杂性大大增加;(4)人工控制衍生操作失误,造成更大的隐患。因此,如何有效控制各子系统联动的一致性,成为了业界重点关注的课题。技术实现要素:针对当前通过人工介入各独立子系统联动控制的传统方法所存在操作工作量很大,效率也不高,控制操作的准确性依赖于操作人员对子系统的了解,控制操作的系统多,复杂性大,人工控制衍生新的操作风险等问题。本发明目的在于克服现有方法的不足,提出一种智能建筑业务系统的多子系统联动方法。为达到上述目的,本发明的技术方案提供一种智能建筑业务系统的多子系统联动方法,包括以下步骤,步骤1,子系统api注册,包括在异常处理中心针对各子系统分别注册子系统部署信息和功能api,当功能api提供反向/冲正服务时,同时注册相应反向/冲正服务api;所述反向/冲正表示反向或冲正处理方式;步骤2,调用链编排,包括将各子系统注册的api,根据实际业务场景进行编排,以节点的形式展现为api调用链;如果各子系统注册的某api同时注册了相应反向/冲正服务api,则api调用链中编排对应的相应反向/冲正服务api与该api匹配;步骤3,子系统异常信息采集,包括当硬件子系统发生操作异常时,将异常信息业务上下文dump到异常处理中心,供异常处理中心分析和处理整个流程的一致性;所述dump表示转存;步骤4,子系统调用链分析及异常视图生成,包括根据收集的异常信息,分析已发生异常的业务流程对应的业务api调用链,提供异常视图;步骤5,多子系统联动处理,包括展示api调用链中的某个节点的异常信息,还原异常子系统与系统之间的业务流程,自动调用正向补偿或api调用链中编排的反向/冲正api,及api调用链中涉及到的其他子系统相关api,确保所有子系统间的联动一致性。而且,步骤1中,子系统部署信息注册内容包括子系统名称、子系统类型、ip和端口号、异常文件输出目录以及服务分类选择。而且,步骤1中,api注册内容包括api名称、api功能描述、api接口类型、所依赖的api及反向/冲正api。而且,步骤2中,编排api调用链中任何一个api时的编排内容包括发起方、发起方主机、业务名称、接收方、接收方主机、服务名称、反向或冲正服务名称以及序号。而且,所述异常信息包括子系统名称、api名称、请求类型、请求开始时间、请求响应时间、异常dump时间、业务上下文参数、ip端口、请求报文、响应报文和异常。本方法优于传统的联动一致性控制方法的是,通过对异常信息的收集分析和子系统控制api的注册植入,能够更加精准定位异常子系统及发生的操作异常,并能够支持自动按原流程完成子系统的操作控制,同时提供集中直观的视图支持手动干预子系统数据一致性的管理。智能建筑自动化控制是一个具有重大价值的新兴市场,本发明技术方案具有重要的市场价值。附图说明图1是本发明的原理框图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供一种基于物联网的多系统联动一致性的处理方法,解决当前通过人工介入各独立子系统联动控制的传统方法所存在操作工作量很大,效率也不高,控制操作的准确性依赖于操作人员对子系统的了解,控制操作的系统多,复杂性大,人工控制衍生新的操作风险等问题。本发明提供的方法要点包括,通过将各子系统控制异常信息(业务上下文context)转存(以下简称为dump)到异常处理中心,还原异常子系统与系统之间的业务场景(包括系统之间的交互数据),分析异常场景下的各子系统数据是否已一致,提供手动或自动干预子系统数据一致性的管理。通过dump可把内存中运行的异常信息数据抓取出来,并转存到指定位置。本发明实施例的多系统联动一致性处理流程如图1所示:(1)子系统程序编程接口(applicationprogramminginterface,通常指应用程序编程接口,以下简称api)api注册:包括针对各子系统分别注册子系统部署信息和功能api,各子系统注册对应的功能api,当功能api提供反向/冲正服务时,需同时进行注册相应反向/冲正服务api;(2)调用链编排:将各硬件子系统注册的api,根据实际业务场景进行编排,以节点的形式展现为api调用链。如果各子系统注册的某api同时注册了相应反向/冲正服务api,则调用链中编排对应的相应反向/冲正服务api与该api匹配;(3)子系统异常信息采集:当硬件子系统发生操作异常时,将异常信息(业务上下文context)dump到异常处理中心,供异常处理中心分析和处理整个流程的一致性;(4)子系统调用链分析及异常视图生成:根据收集的异常信息,分析已发生异常的业务流程对应的业务api调用链,供处理人浏览整个流程所涉及的所有子系统及对应的api,可采用视图方式提供浏览;(5)多子系统联动处理:子系统调用异常视图,展示api调用链中的某个节点的异常详细信息,还原异常子系统与系统之间的业务流程(包括系统之间的交互数据),自动调用正向补偿或api调用链中编排的反向/冲正api,并调用api调用链中涉及到的其他子系统所编排的相关api,确保所有子系统间的联动一致性。正向补偿:即调用发生异常的子系统api。当业务流程需要继续执行时,可以通过调用原api达到处理异常的目的;当业务不需要继续执行时,可通过调用反向/冲正的api,处理不一致的数据。以下详细举例说明实施例的各步骤实现。1、子系统api注册在异常处理中心注册子系统部署信息、子系统具体api信息:(1)子系统部署信息注册内容说明:表1(2)api注册内容说明:表2名称描述api名称提供的子系统调用方法名api功能描述描述当前注册api提供的业务功能api接口类型webservice/socket/其它所依赖的api选择其他系统的依赖api反向(冲正)api选择本api冲正所需的反向/冲正服务2、调用链编排将各硬件子系统注册的api,根据实际业务场景进行编排,以节点的形式展现为api调用链。例如会议室预约场景,当会议室预约成功后,要对门禁、智能照明、电动百叶窗、投影仪、幕布等子系统下达控制命令(控制命令通过调用子系统api实现)。编排即是对这些api按顺序进行串联,达到一个场景控制多个子系统的效果。如果各子系统注册了反向(冲正)api,则调用链中编排对应的反向(冲正)api与其匹配,编排调用链中任何一个api时的编排内容说明如下:表3当多个api被编排到一个链条中时,则以上信息应根据具体情况分别填入。多个api可能存在前后依赖关系,通过序号可以确定api在业务流程中被调用顺序。反向和冲正指的是两种处理方式。反向:针对原处理方式,在参数(如设备、时间等)完全相同,但操作类型相反时进行的逆向处理。冲正:将原处理方式状态进行变更。举例:如果调用一卡通系统给某张卡片进行授权,中间出现超时等错误异常时,这时如果卡片已授权,则可以选择反向操作(权限收回)或冲正操作(授权数据失效)。两种方式都可以达到异常处理的目的,区别在于反向操作是针对原处理方式的逆向处理,冲正操作针对的是原处理方式的状态变更。主要是根据不同的业务场景进行区分。3、子系统异常信息采集当子系统出现了异常(如数据库连接不上、硬件设备连接不上等),将本次异常信息dump下来以及调用其它api的请求、响应信息也dump下来,dump的异常信息文件存储到子系统部署信息注册时指定的异常文件输出目录,异常信息内容说明:表44、子系统调用链分析及异常视图根据dump的业务上下文(context),获取发生异常的业务名称,明确对应的调用链。根据业务上下文,获取异常的子系统和对应的异常api名称,由于发生异常的子系统在调用链中的序号可能在中间位置,此时所有后续未执行的api(可能包括已发生异常的子系统和其他子系统)的状态都为异常。点击业务调用链中的异常节点后浏览该节点异常详细信息,异常视图表说明:表5表5和表4的内容是一致的,表4是将此信息存储到文件中,表5用于在系统中显示出来。请求和返回报文提供了详细的信息,不正常的请求及返回报文都能在异常处理中心看到。5、多子系统联动处理通过以上分析,最后精准定位异常子系统及发生的操作异常,然后通过每个异常节点的业务上下文获取对应的parameter参数及值,根据请求的parameter参数及值,正向补偿再次调用异常api,或回退撤销调用反向(冲正)api。当整个链都被处理过之后,该异常才算被处理完毕。以门禁权限为例:如果调用门禁系统权限下发,中间出现超时等错误异常时,会获取权限下发时的请求参数,如门禁设备id(s001),门禁状态类型(常开),然后自动调用执行编排的api(api可能正向,也可能反向,根据实际情况确定),参数为(s001,常开),达到异常处理的效果。具体的异常处理逻辑在编排的api中实现。具体实施时,可采用计算机软件方式实现以上流程,实现自动一致化处理。也可结合视图,支持用户进行处理。上述实施例流程描述仅为了清楚说明本发明的基本方法和装置,但本发明并不仅限于上述实施例;凡是依据本发明的技术实质上实施例所作的任何简单修改、等同变化与修饰,均落入本发明的技术方案的保护范围之内。当前第1页12