CN112230616A - 一种联动控制方法、装置及联动中间件 - Google Patents

一种联动控制方法、装置及联动中间件 Download PDF

Info

Publication number
CN112230616A
CN112230616A CN202011170977.XA CN202011170977A CN112230616A CN 112230616 A CN112230616 A CN 112230616A CN 202011170977 A CN202011170977 A CN 202011170977A CN 112230616 A CN112230616 A CN 112230616A
Authority
CN
China
Prior art keywords
linkage
configuration
action
event
middleware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011170977.XA
Other languages
English (en)
Inventor
叶东林
何俊池
谢志杰
鲁静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011170977.XA priority Critical patent/CN112230616A/zh
Publication of CN112230616A publication Critical patent/CN112230616A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本申请实施例提供了一种联动控制方法、装置及联动中间件,涉及云技术领域,该方法包括:联动中间件响应于第一联动对象触发的联动事件,获取预设的联动配置信息,其中,联动中间件可以部署在云服务器中。然后基于联动配置信息,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作。之后再将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,使各个第二联动对象执行对应的联动动作。独立部署联动中间件,通过联动中间件配置不同应用场景的联动对象的联动方案,然后通过联动方案对不同应用场景的联动对象进行联动控制,从而降低联动控制的耦合性,提高联动配置的灵活性,易于扩展联动方案且复用性高。

Description

一种联动控制方法、装置及联动中间件
技术领域
本发明实施例涉及云技术领域,尤其涉及一种联动控制方法、装置及联动中间件。
背景技术
随着现代信息技术的不断发展,物联网、大型分布式计算、人工智能、大数据、5G技术取得了突飞猛进的进展,新技术与各行各业不断进行深度融合。物联网设备与设备之间、应用与应用之间、应用和设备之间、应用和人、设备和人之间的联动变得越来越频繁和常见,联动的需求也越来越复杂。
然而,目前大部分软件系统要实现上述的联动都是根据实际的应用场景进行定制化的软件研发,耦合性过高,不易扩展。
发明内容
本申请实施例提供了一种联动控制方法、装置及联动中间件,用于降低联动控制的耦合性,提高联动控制的扩展性和灵活性。
一方面,本申请实施例提供了一种联动控制方法,该方法包括:
响应于第一联动对象触发的联动事件,获取预设的联动配置信息;
基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;
将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
一方面,本申请实施例提供了一种联动中间件,该联动中间件包括:
接口模块和控制模块,其中,所述控制模块包括联动配置模块、联动控制模块;
所述联动配置模块,用于响应于管理终端基于配置操作界面触发的联动配置请求,设置联动配置信息,所述联动配置信息中包括至少两个联动对象以及所述至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作;
所述联动控制模块,用于响应于通过所述接口模块接入的第一联动对象触发的联动事件,获取预设的联动配置信息;基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
一方面,本申请实施例提供了一种联动控制装置,该装置包括:
获取模块,用于响应于第一联动对象触发的联动事件,获取预设的联动配置信息;
处理模块,用于基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;
发送模块,用于将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
可选地,所述处理模块还用于:
响应于第一联动对象触发的联动事件,获取预设的联动配置信息之前,向管理终端推送配置操作界面;
响应于所述管理终端基于所述配置操作界面触发的联动配置请求,设置联动配置信息,所述联动配置信息中包括至少两个联动对象以及所述至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。
可选地,所述处理模块还用于:
响应于所述管理终端基于所述配置操作界面触发的对象配置请求,配置联动对象的接入方式。
可选地,所述处理模块具体用于:
通过规则引擎将所述第一联动对象触发的联动事件转换为所述联动对象触发的联动事件对应的目标业务规则;
基于所述目标业务规则,确定关联的至少一个目标规则引擎对象,其中,一个规则引擎对象对应联动配置信息中的一个联动方案,规则引擎对象中的业务规则对应联动方案中的联动事件,规则引擎对象中的决策操作对应联动方案中的联动动作;
基于所述至少一个目标规则引擎对象中的决策操作,确定与所述第一联动对象关联的至少一个第二联动对象的联动动作。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述联动控制方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述联动控制方法的步骤。
本申请实施例中,预先在联动中间件中配置各个联动对象的联动配置信息,第一联动对象触发联动事件时,联动中间件基于联动配置信息,确定关联的第二联动对象以及第二联动对象的联动动作,然后触发第二联动对象执行联动动作,实现第一联动对象和第二联动对象之间的解耦,故可以针对不同应用场景的联动对象设置联动方案,而不限于一个场景,从而提高配置联动方案的灵活性,易于扩展联动方案,复用性高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种联动控制方法的流程示意图;
图3为本申请实施例提供的一种事件配置界面的示意图;
图4为本申请实施例提供的一种事件配置界面的示意图;
图5为本申请实施例提供的一种事件配置界面的示意图;
图6为本申请实施例提供的一种事件配置界面的示意图;
图7为本申请实施例提供的一种事件配置界面的示意图;
图8为本申请实施例提供的一种事件配置界面的示意图;
图9为本申请实施例提供的一种动作配置界面的示意图;
图10为本申请实施例提供的一种动作配置界面的示意图;
图11为本申请实施例提供的一种动作配置界面的示意图;
图12为本申请实施例提供的一种动作配置界面的示意图;
图13为本申请实施例提供的一种动作配置界面的示意图;
图14为本申请实施例提供的一种联动配置界面的示意图;
图15为本申请实施例提供的一种联动配置界面的示意图;
图16为本申请实施例提供的一种联动中间件的结构示意图;
图17为本申请实施例提供的一种联动中间件的结构示意图;
图18为本申请实施例提供的一种联动中间件的结构示意图;
图19为本申请实施例提供的一种系统架构的示意图;
图20为本申请实施例提供的一种联动控制方法的流程示意图;
图21为本申请实施例提供的一种联动控制装置的结构示意图;
图22为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。本申请实施例中,联动中间件可以部署在云服务器中,采用云技术实现对接入的联动对象进行联动控制。
中间件(Middleware):是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在众多关于中间件的定义中,比较普遍被接受的表述是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。常见的软件中间件有:消息队列MQ(例如Kafka、RocketMQ等)、Web服务器(例如Tomcat、Apache等)、负载均衡(例如Nginx)等。本申请实施例中,联动中间件为用于进行联动控制的中间件。
规则引擎:由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据规则做出业务决策。
DB(DataBase):数据库,是一个按数据结构来存储和管理数据的计算机软件系统。常用的数据库产品有:MySQL,SQLServer、DB2、Oracle等。
Zookeeper:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Redis:Remote Dictionary Server,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个key-value存储系统。它支持存储的value类型相对更多,包括字符串(string)、链表(list)、集合(set)、有序集合(sorted set,zset)和哈希类型(hash)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。
MQ:Message Queue,消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。主要的消息队列产品包括:RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ、Kafka、IBMWebSphere等。
下面对本申请实施例的设计思想进行介绍。
目前,物联网设备与设备之间、应用与应用之间、应用和设备之间、应用和人、设备和人之间的联动变得越来越频繁和常见,联动的需求也越来越复杂。然而,大部分软件系统要实现上述的联动都是根据实际的应用场景进行定制化的软件研发,耦合性过高,不易扩展。
考虑到若独立部署一个联动中间件,通过联动中间件配置不同应用场景的联动对象的联动方案,然后通过联动方案对不同应用场景的联动对象进行联动控制,将大大降低耦合性,且不限于一个应用场景,易于扩展且复用性高。
鉴于此,本申请实施例提供了一种联动控制方法,该方法包括:联动中间件响应于第一联动对象触发的联动事件,获取预设的联动配置信息。然后基于联动配置信息,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作。之后再将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
本申请实施例中,预先在联动中间件中配置各个联动对象的联动配置信息,第一联动对象触发联动事件时,联动中间件基于联动配置信息,确定关联的第二联动对象以及第二联动对象的联动动作,然后触发第二联动对象执行联动动作,实现第一联动对象和第二联动对象之间的解耦,故可以针对不同应用场景的联动对象设置联动方案,而不限于一个场景,从而提高配置联动方案的灵活性,易于扩展联动方案,复用性高。
参考图1,其为本申请实施例适用的一种系统架构图,该系统架构至少包括管理终端101、服务器102、联动对象103。
管理终端101包括用于管理联动中间件的管理客户端,管理客户端可以是预先安装的客户端、网页版客户端或小程序客户端等。管理客户端向用户提供配置操作界面,用户可以通过配置操作界面配置接入联动中间件的联动对象103、配置联动对象的联动方案等。管理终端101可以包括一个或多个处理器1011、存储器1012、与服务器103交互的I/O接口1013以及显示面板1014等。管理终端101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
服务器102中部署了联动中间件1021,联动中间件1021响应于管理终端101基于配置操作界面触发的联动配置请求,设置联动配置信息和联动对象103的接入方式,其中,联动对象103可以是应用或设备,联动对象103通过联动中间件1021的接口模块接入联动中间件1021。联动配置信息中包括至少两个联动对象103以及至少两个联动对象103之间的联动方案,联动方案包括联动事件和联动动作。在配置结束后,联动中间件1021响应于第一联动对象触发的联动事件,获取预设的联动配置信息。然后基于联动配置信息,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作。之后再将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。服务器102还可以配置存储器1022和数据库1023。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。管理终端101与服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
基于图1所示的系统架构图,本申请实施例提供了一种联动控制方法的流程,该方法由计算机设备执行,计算机设备可以是联动中间件,如图2所示,包括以下步骤:
步骤S201,响应于第一联动对象触发的联动事件,获取预设的联动配置信息。
具体地,联动对象可以是接入联动中间件的应用或设备,比如接入联动中间件的摄像头、传感器、定时器、数据库、通讯应用等。另外,联动中间件本身也可以作为一个联动对象,对此,本申请不做具体限定。
联动事件包括事件ID(创建后自动生成)、事件名称、事件说明、事件触发类型、触发消息,其中,事件触发类型包括但不限于以下四种:定时器触发、应用上报触发、设备上报触发、自定义触发。
联动配置信息是由用户在管理终端显示的配置操作界面中配置的,联动配置信息中包括至少两个联动对象以及至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。
步骤S202,基于联动配置信息,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作。
具体地,第一联动对象关联的至少一个第二联动对象可以是同一场景中的联动对象,也可以是不同应用场景的联动对象。比如,在会议室联动控制场景中,第一联动对象为会议室中的摄像头,第二联动对象可以是会议室中的投影仪、灯等设备。又比如,第一联动对象为路灯联动控制场景中的路灯,当因路灯导致交通拥堵时,关联的第二联动对象为交通联动控制场景中的交通疏导平台。
步骤S203,将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
具体实施中,对于需要第二联动对象进一步处理的联动动作,联动中间件可以将联动动作的描述消息推送给第二联动对象,由第二联动对象执行进一步的动作,实现根据实际业务场景进行业务联动。对于告警和通知这类联动动作来说,联动中间件可以将告警和通知发送给联动对象,由联动对象推送给相关的处理人。联动中间件也可以直接将告警和通知推送给相关处理人,对此,本申请不做具体限定。
本申请实施例中,预先在联动中间件中配置各个联动对象的联动配置信息,第一联动对象触发联动事件时,联动中间件基于联动配置信息,确定关联的第二联动对象以及第二联动对象的联动动作,然后触发第二联动对象执行联动动作,实现第一联动对象和第二联动对象之间的解耦,故可以针对不同应用场景的联动对象设置联动方案,而不限于一个场景,从而提高配置联动方案的灵活性,易于扩展联动方案,复用性高。
可选地,在上述步骤S201之前,联动中间件向管理终端推送配置操作界面。然后响应于管理终端基于配置操作界面触发的联动配置请求,设置联动配置信息,联动配置信息中包括至少两个联动对象以及至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。
具体实施中,配置操作界面至少包括事件配置界面、动作配置界面和联动配置界面。用户可以在事件配置界面中配置联动对象的联动事件,联动事件可以是不同应用场景的事件。联动中间件接收到事件配置请求中的事件配置消息后,将事件配置消息按照物模型的方式进行抽象,结合JSON表达式实现联动事件的通用化和统一化配置,故用户可以根据实际需求配置不同应用场景的联动事件,从而提高联动配置灵活性和复用性。
用户可以在动作配置界面中配置联动中间件的执行动作,联动中间件的执行动作指联动中间件确定联动事件被触发时,联动中间件执行的动作。另外,用户也可以在动作配置界面中配置联动对象的联动动作,联动动作可以是不同应用场景的动作。联动中间件接收到动作配置消息后,将动作配置消息按照物模型的方式进行抽象,结合JSON表达式实现动作的通用化和统一化配置,故用户可以根据实际需求配置不同应用场景的联动动作,从而提高联动配置灵活性和复用性。在配置联动事件和联动动作之后,用户可以在联动配置界面中将联动事件和联动动作进行关联,获得联动方案。用户也可以在联动配置界面中将联动事件、联动中间件的执行动作和联动对象的联动动作进行关联,获得联动方案,对此,本申请不做具体限定。
下面具体介绍几种配置联动事件的实施方式:
事件配置界面至少包括事件名称、事件说明、事件触发类型三个配置项,针对不同的事件触发类型,事件配置界面显示不同的配置项内容,其中,事件触发类型包括定时器触发、应用上报触发、设备上报触发、自定义触发。
实施方式一、定时器触发,即根据定时任务来触发一个事件。联动中间件支持所有类型的定时任务,包括:固定时间循环、间隔时长、特定时间等。
示例性地,如图3所示,事件配置界面中包括事件名称、事件说明、事件触发类型三个配置项,其中,事件触发类型包括定时器触发、应用上报触发、设备上报触发、自定义触发。用户选择定时器触发时,事件配置界面显示触发时间的配置项,触发时间的配置项中包括固定时间循环、间隔时长、特定时间三种触发形式,用户可以从三种触发方式中任选一种。用户填写完各个配置项后,点击事件配置界面中的“确定”按钮提交。若用户想取消事件配置,可以点击事件配置界面中的“取消”按钮来关闭事件配置界面。
实施方式二、应用上报触发,即应用上报触发消息来触发一个事件,联动中间件支持对应用上报的消息进行过滤和筛选,与触发消息匹配的消息才会触发事件。支持“普通用户模式”和“开发者模式”对触发消息进行配置。具体实施中,普通用户模式的触发消息可以是所有条件都是按“逻辑与”进行组合,便于用户理解,即满足所有的条件才会触发事件。开发者模式支持开发者使用SQL语言编写触发消息,支持逻辑与、或、非、异或、括号等表达式,这样开发人员可以编写更加复杂的触发消息。
示例性地,如图4所示,事件配置界面中包括事件名称、事件说明、事件触发类型三个配置项,其中,事件触发类型包括定时器触发、应用上报触发、设备上报触发、自定义触发。用户选择应用上报触发时,事件配置界面显示上报应用和触发消息两个配置项,其中,针对触发消息,事件配置界面提供了“普通用户模式”和“开发者模式”两种配置方式。图4示例性示出了“普通用户模式”下触发消息的配置方式,即将用户添加的所有条件都是按“逻辑与”进行组合,获得触发消息。图5示例性示出了“开发者模式”下触发消息的配置方式,即根据开发人员编写的过滤条件,获得触发消息。用户填写完各个配置项后,点击事件配置界面中的“确定”按钮提交。若用户想取消事件配置,可以点击事件配置界面中的“取消”按钮来关闭事件配置界面。
实施方式三、设备上报触发,即设备上报触发消息来触发一个事件,联动中间件支持对设备上报的消息进行过滤和筛选,与触发条件匹配的消息才会触发事件。上报设备支持“按设备类型”和“具体设备”进行选择,支持“普通用户模式”和“开发者模式”对触发消息进行配置。具体实施中,普通用户模式的触发消息可以是所有条件都是按“逻辑与”进行组合,便于用户理解,即满足所有的条件才会触发事件。开发者模式支持开发者使用SQL语言编写触发消息,支持逻辑与、或、非、异或、括号等表达式,这样开发人员可以编写更加复杂的触发消息。
示例性地,如图6所示,事件配置界面中包括事件名称、事件说明、事件触发类型三个配置项,其中,事件触发类型包括定时器触发、应用上报触发、设备上报触发、自定义触发。用户选择设备上报触发时,事件配置界面显示上报设备、触发消息两个配置项,其中,上报设备包括按设备类型和具体设备两个选项。当用户选择按设备类型时,事件配置界面显示设备类型的配置项,用户可以在设备类型的配置项中选择具体的设备类型。当用户选择具体设备时,事件配置界面显示具体设备的配置项,用户可以在具体设备的配置项输入设备名称。针对触发消息,事件配置界面提供了“普通用户模式”和“开发者模式”两种模式下的配置方式。图6示例性示出了“普通用户模式”下触发消息的配置方式,即将用户添加的所有条件都是按“逻辑与”进行组合,获得触发消息。图7示例性示出了“开发者模式”下触发消息的配置方式,即根据开发人员输入的过滤条件,获得触发消息。用户填写完各个配置项后,点击事件配置界面中的“确定”按钮提交,若用户想取消事件配置,可以点击事件配置界面中的“取消”按钮来关闭事件配置界面。
实施方式四、自定义触发,即用户自定义触发消息来触发一个事件。自定义的触发消息的消息来源可以选择:消息队列、数据库、Redis、HTTP接口。
采用消息队列作为消息来源时,用户需要填写对应的消息队列类型、主题名称,联动中间件从消息队列订阅对应主题的消息。
采用数据库作为消息来源时,用户需要填写数据库类型、数据库实例名、表名、SQL过滤条件、查询间隔,联动中间件根据查询间隔去数据库查询满足条件的数据库记录。
采用Redis作为消息来源时,用户需要填写Redis的连接地址、Key过滤条件、查询间隔,联动中间件根据查询间隔去Redis查询满足的数据。
采用HTTP接口作为消息来源时,用户需要填写HTTP接口地址、查询间隔,联动中间件根据查询间隔去对应的HTTP接口请求数据。
自定义类型同样支持“普通用户模式”和“开发者模式”对触发消息进行配置。具体实施中,普通用户模式的触发消息可以是所有条件都是按“逻辑与”进行组合,便于用户理解,即满足所有的条件才会触发事件。开发者模式支持开发者使用SQL语言编写触发消息,支持逻辑与、或、非、异或、括号等表达式,这样开发人员可以编写更加复杂的触发消息。
示例性地,如图8所示,事件配置界面中包括事件名称、事件说明、事件触发类型三个配置项,其中,事件触发类型包括定时器触发、应用上报触发、设备上报触发、自定义触发。用户选择自定义触发时,事件配置界面显示消息来源和触发消息两个配置项,其中,消息来源包括消息队列、数据库、Redis、HTTP接口四个选项。当用户选择消息队列时,事件配置界面显示消息队列类型和主题名称的配置项。针对触发消息,事件配置界面提供了“普通用户模式”和“开发者模式”两种模式下的配置方式。图8示例性示出了“普通用户模式”下触发消息的配置方式,即将用户添加的所有条件都是按“逻辑与”进行组合,获得触发消息。用户填写完各个配置项后,点击事件配置界面中的“确定”按钮提交,若用户想取消事件配置,可以点击事件配置界面中的“取消”按钮来关闭事件配置界面。
下面具体介绍几种配置联动中间件的执行动作的实施方式:
动作配置界面包括动作名称、动作说明、动作类型、扩展消息、联动动作的描述消息类型,其中,动作类型包括推送消息至应用、推送消息至设备、转换为告警、转换为通知,联动动作的描述消息类型包括原消息转送、自定义消息,自定义消息支持普通文本信息输入,也支持输入支持动态值的消息。
同时,为方便用户进行扩展,还可以附带扩展消息。扩展消息目前支持2种获取方式,分别为HTTP接口和自定义。采用HTTP接口获取扩展消息时,用户须填写HTTP接口的请求地址、请求方式和请求参数。联动中间件在执行动作前请求该HTTP接口的地址并将返回的数据作为扩展消息执行动作。自定义方式提供文本框,由用户填写自定义的文本消息作为扩展消息。
实施方式一、推送消息至应用,即在联动事件被触发时,联动中间件将对应的联动动作的描述消息推送到相应的应用,应用收到描述消息后执行联动动作。
示例性地,如图9所示,动作配置界面中包括动作名称、动作说明、动作类型三个配置项,其中,动作类型包括推送消息至应用、推送消息至设备、转换为告警、转换为通知四个选项。用户选择推送消息至应用时,事件配置界面显示具体应用、联动动作的描述消息类型、扩展消息三个配置项。描述消息类型包括原消息转送和自定义消息两个选项。另外,扩展消息包括HTTP接口和自定义两个选项,其中,当用户选择HTTP接口时,动作配置界面显示请求地址、请求方式、请求参数三个配置项。用户填写完各个配置项后,点击动作配置界面中的“确定”按钮提交。若用户想取消动作配置,可以点击动作配置界面中的“取消”按钮来关闭动作配置界面。
实施方式二、推送消息至设备,即在联动事件被触发时,联动中间件将对应的联动动作的描述消息推送到相应的设备,由设备收到描述消息后执行联动动作。
示例性地,如图10所示,动作配置界面中包括动作名称、动作说明、动作类型三个配置项,其中,动作类型包括推送消息至应用、推送消息至设备、转换为告警、转换为通知四个选项。用户选择推送消息至设备时,事件配置界面显示选择设备、联动动作的描述消息类型、扩展消息三个配置项。其中,选择设备的配置项包括指定设备和事件所在范围的设备两个选项。当用户选择指定设备的选项时,事件配置界面的显示按设备类型和具体设备两个选项。
联动动作的描述消息类型包括原消息转送和自定义消息两个选项。另外,扩展消息包括HTTP接口和自定义两个选项,其中,当用户选择HTTP接口时,动作配置界面显示请求地址、请求方式、请求参数三个配置项。用户填写完各个配置项后,点击动作配置界面中的“确定”按钮提交。若用户想取消动作配置,可以点击动作配置界面中的“取消”按钮来关闭动作配置界面。
实施方式三、转换为告警,即在联动事件被触发时,联动中间件将联动动作的描述消息转换为告警消息,告警消息包括:告警类型、告警级别、告警描述、告警处理建议、告警位置等。联动中间件可以直接将告警消息通过邮件、短信等方式派发给相应的处理人,也可以将告警消息推送到消息队列或指定的HTTP接口,由对应的应用或设备接收告警消息后进一步进行处理。
示例性地,如图11所示,动作配置界面中包括动作名称、动作说明、动作类型三个配置项,其中,动作类型包括推送消息至应用、推送消息至设备、转换为告警、转换为通知四个选项。用户选择转换为告警时,事件配置界面显示告警类型定义、告警级别定义、告警位置、告警描述、告警处理建议、告警推送方式,其中,告警级别定义包括致命、严重、紧急、一般和提示五个选项,告警位置包括事件的所在位置、自定义位置两个选项,告警推送方式包括通知处理人和推送至系统两个选项。图11示例性示出了告警推送方式为通知处理人的动作配置界面,动作配置界面包括处理人和通知方式两个配置项。图12示例性示出了告警推送方式为推送至系统的动作配置界面,动作配置界面包括消息队列和HTTP接口两个选项。当用户选择消息队列时,动作配置界面显示消息队列类型和主题名称。用户填写完各个配置项后,点击动作配置界面中的“确定”按钮提交。若用户想取消动作配置,可以点击动作配置界面中的“取消”按钮来关闭动作配置界面。
实施方式四、转换为通知,即在联动事件被触发时,联动中间件将联动动作的描述消息转换为通知。联动中间件可以直接将通知通过邮件、短信等方式派发给相应的处理人,也可以将通知推送到消息队列或指定的HTTP接口,由对应的应用或设备接收通知后进一步进行处理。
示例性地,如图13所示,动作配置界面中包括动作名称、动作说明、动作类型三个配置项,其中,动作类型包括推送消息至应用、推送消息至设备、转换为告警、转换为通知四个选项。用户选择转换为通知时,事件配置界面显示通知类型定义、通知位置、通知描述、通知推送方式,其中,通知位置包括事件所在的位置和自定义位置两个选项。通知推送方式包括通知处理人和推送至系统两个选项。用户填写完各个配置项后,点击动作配置界面中的“确定”按钮提交。若用户想取消动作配置,可以点击动作配置界面中的“取消”按钮来关闭动作配置界面。
下面具体介绍配置联动方案的实施方式:
将联动事件和联动动作进行关联,获得联动方案,联动方案包括联动ID(创建后生成)、联动名称、联动说明、联动事件、联动动作、有效周期,有效周期包括永久有效和固定时间段两种。由于本申请实施例中,在配置联动中间件的执行动作时,相应配置了联动对象的联动动作的描述信息,故也可以将联动事件和联动中间件的执行动作进行关联,获得联动方案,联动方案包括联动ID(创建后生成)、联动名称、联动说明、联动事件、执行动作、有效周期,有效周期包括永久有效和固定时间段两种,对此,本申请不做具体限定。
示例性地,如图14所示,联动配置界面包括联动名称、联动说明、联动事件、联动动作和有效周期,其中,联动事件可以选择一个或多个,联动动作也可以选择一个或多个,有效周期包括永久有效和固定时间段有效两个选项。图14示例性示出了用户选择有效周期为永久有效时的联动配置界面,图15示例性示出了用户选择有效周期为固定时间段时的联动配置界面。当用户填写完各个配置项后,点击联动配置界面中的“确定”按钮提交。若用户想取消联动配置,可以点击联动配置界面中的“取消”按钮来关闭联动配置界面。
本申请实施例中,联动中间件为用户提供了灵活的配置操作界面,使得用户可以按照实际需求设置不同的联动方案,而不需要针对应用场景进行定制化的软件研发,从而提高了联动控制的灵活性,易于扩展联动方案,且复用性高。
可选地,在上述步骤S201之前,联动中间件响应于管理终端基于配置操作界面触发的对象配置请求,配置联动对象的接入方式。
具体地,联动对象的接入方式至少包括联动对象的消息接收方式以及消息发送方式,配置操作界面包括应用管理界面和设备管理界面。
用户可以通过应用管理界面对接入联动中间件的应用进行管理,具体包括对应用进行新增、修改、删除、查询、配置等。应用信息包括:应用名称、应用类型、应用领域、应用简介、应用网址、应用管理员、应用图标等。联动中间可以通过页面新增、Excel导入、第三方提供的接口获得应用信息。
本申请实施例中,应用的消息接收方式至少提供了以下两种实施方式:
实施方式一、同步方式,消息回调地址(例如,HTTP接口、Webservice远程接口调用等)。
实施方式二、异步方式:消息队列订阅(例如,通过Kafka订阅联动中间件发来的消息)。
本申请实施例中,应用的消息发送方式至少提供了以下两种实施方式:
实施方式一、同步方式:调用联动中间件的API接口。
实施方式二、异步方式:消息队列发布(例如,通过Kafka发布消息,由联动中间件进行订阅)。
另外,用户可以通过设备管理界面对设备进行管理,具体包括:新增、修改、删除、查询、导入、配置等。设备信息包括设备名称、设备类型、设备ID、设备序列号、所属厂商、设备属性、联网方式、操作系统、设备简介等。联动中间件可以通过页面新增、Excel导入、第三方提供的接口获得设备信息。
本申请实施例中,设备的消息接收方式至少提供了以下两种实施方式:
实施方式一、同步方式:消息回调地址(例如,HTTP接口、Webservice远程接口调用等)。
实施方式二、消息队列订阅(例如,通过Kafka或MQTT订阅联动中间件发来的消息)。
本申请实施例中,设备的消息发送方式至少提供了以下两种实施方式:
实施方式一、同步方式:调用联动中间件的API接口。
实施方式二、异步方式:消息队列发布(例如,通过Kafka发布消息,由联动中间件进行订阅)。
可选地,配置操作界面还包括系统管理界面和日志管理界面。
系统管理界面用于系统参数配置、报警配置、用户管理、角色管理等。
系统参数配置包括对联动中间件的系统参数进行配置和管理,例如,配置数据库源、消息队列参数、Redis参数设置等。
报警配置包括配置报警方式及相应的参数,例如邮件参数配置、短信配置、自定义通知等。
用户管理包括对使用联动中间件的用户进行管理,包括:新增、修改、删除、查询、配置权限等。
角色管理包括对使用联动中间件的角色进行管理,包括:新增、修改、删除、查询、配置角色(设置角色的菜单权限)等。
系统管理界面用于管理日志,其中,管理的日志包括用户日志、系统日志、事件日志、动作日志、联动日志。
用户日志:记录用户登录后进行所有操作的日志。
系统日志:指联动中间件后台产生的日志。
事件日志:指所有应用或设备等产生联动事件的日志。
动作日志:指联动中间件执行动作产生的日志。
联动日志:指联动方案产生的日志,例如联动方案是否执行成功,执行时间等。
可选地,在上述步骤S202中,由于参与联动的对象以及配置的联动配置信息较多,部分联动方案中联动对象之间的关系复杂,为了提高联动的效率以及联动方案配置的灵活性,本申请实施例中基于联动配置信息,通过规则引擎,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作。
具体地,联动中间件响应于第一联动对象触发的联动事件,通过规则引擎将第一联动对象触发的联动事件转换为联动对象触发的联动事件对应的目标业务规则。然后基于目标业务规则,确定关联的至少一个目标规则引擎对象,其中,一个规则引擎对象对应联动配置信息中的一个联动方案,规则引擎对象中的业务规则对应联动方案中的联动事件,规则引擎对象中的决策操作对应联动方案中的联动动作。之后再基于至少一个目标规则引擎对象中的决策操作,确定与第一联动对象关联的至少一个第二联动对象的联动动作。
具体实施中,用户配置一个联动方案后,联动中间件将联动方案发送给规则引擎进行处理,规则引擎创建一个规则引擎对象,将联动方案中的联动事件转换为业务规则,并将业务规则加载到规则引擎对象,将联动方案中的联动动作转换为决策操作,并将决策操作提交到规则引擎对象。当用户配置多个联动方案时,规则引擎将创建多个规则引擎对象。当联动事件被触发时,通过规则引擎基于预配置的规则引擎对象,确定联动事件关联的联动动作,从而提高联动控制的效率。另外,规则引擎将业务决策从程序代码从抽离出来,实现在业务规则变化也可以灵活配置业务决策,从而提高配置联动方案的灵活性。
本申请实施例提供了一种联动中间件,如图16所示,联动中间件1600包括接口模块1601和控制模块1602,其中,控制模块1602包括联动配置模块16021、联动控制模块16022。
接口模块1601,用于将联动对象接入联动中间件1600。
具体地,接口模块1601给联动对象提供接入接口,包括API接口和API接口在线文档。API接口的类型包括同步接口和异步接口,其中,同步接口包括HTTP接口、WebService接口等,异步接口包括WebSocket、MQTT、消息队列等。API接口在线文档包括所有API接口列表及每个接口详细的请求地址、请求参数、返回结果说明,以及接口接入流程说明。
联动配置模块16021,用于响应于管理终端基于配置操作界面触发的联动配置请求,设置联动配置信息,联动配置信息中包括至少两个联动对象以及所述至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。
联动控制模块16022,用于响应于通过接口模块1601接入的第一联动对象触发的联动事件,获取预设的联动配置信息;基于联动配置信息,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
可选地,如图17所示,联动配置模块16021包括事件管理模块1701、动作管理模块1702和联动管理模块1703。
事件管理模块1701,用于响应于管理终端基于所述配置操作界面触发的事件配置请求,设置联动事件。
动作管理模块1702,用于响应于管理终端基于配置操作界面触发的联动配置请求,设置联动动作。
联动管理模块1703,用于对联动事件和联动动作进行关联,获得联动方案。
可选地,如图18所示,控制模块1602还包括应用管理模块1801、设备管理模块1802、系统管理模块1803和日志管理模块1804。
应用管理模块1801,用于管理通过接口模块接入联动中间件的应用;
设备管理模块1802,用于管理通过接口模块接入联动中间件的设备;
系统管理模块1803,用于管理联动中间件的系统参数;
日志管理模块1804,用于管理联动中间件的日志数据。
为了更好地解释本申请实施例,下面结合具体系统架构介绍一种联动控制方法。首先介绍系统架构,如图19所示,该系统架构包括联动对象、管理终端、联动中间件、依赖中间件,其中,联动对象至少包括第三方应用或设备。联动中间件包括API模块、控制台模块,控制台模块包括联动配置模块、应用管理模块、设备管理模块、系统管理模块、日志管理模块,联动配置模块包括事件管理模块、动作管理模块、联动管理模块。
联动中间件向管理客户端提供配置操作界面,然后响应于管理终端基于配置操作界面触发的联动配置请求,设置联动配置信息和联动对象的接入方式,其中,联动配置信息中包括至少两个联动对象以及至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。用户基于配置操作界面配置联动配置信息、联动对象的接入方式的过程在前文已有详细介绍,此处不再赘述。
依赖中间件包括数据库、Zookeeper、Redis、消息队列。其中,数据库用于将联动中间件的相关数据的持久化存储,保证数据完整、不丢失。Zookeeper用于部署联动中间件集群,单机部署时可以不使用。Redis用于将一些热点数据在内存中进行缓存。消息队列用于建立联动中间件与联动对象之间的异步消息交换和通信,实现彼此代码解耦,无须代码入侵,对开发友好,同时便于业务扩展。
基于图19所示的系统架构,本申请实施例提供了一种联动控制方法的流程,如图20所示,包括以下步骤:
步骤S2001,部署联动中间件。
具体地,可根据实际情况采用单机部署或集群部署,集群部署建议实例个数为奇数(3个及以上)。通过Zookeeper对多个联动中间件进行协调,具体地,选举一个主中间件节点与联动对象交互,同时监测所有中间件节点的状态,当某一个中间件节点不可用时,自动创建一个新中间件节点保证集群可用性。联动中间件内置分布式调度任务功能,即联动控制任务会分派给不同的中间件节点,不会出现一个联动控制任务被多个中间件节点同时处理,这样可以提高整个集群的处理能力和性能。
步骤S2002,登录控制台。
具体地,用户使用注册的账号登录联动中间件控制台。
步骤S2003,配置系统参数、告警方式等。
步骤S2004,配置应用。
具体地,在应用管理模块新增需要接入的应用,配置应用的收发消息方式及地址等。
步骤S2005,配置设备。
具体地,在设备管理模块新增需要接入的设备,配置设备的收发消息方式及地址等。
步骤S2006,配置联动事件。
具体地,根据业务使用场景在事件管理模块新增对应的联动事件(可以创建多个)。
步骤S2007,配置联动动作。
具体地,根据业务使用场景在动作管理模块新增对应的联动动作(可以创建多个)。
步骤S2008,配置联动方案。
具体地,根据业务使用场景在联动管理模块新增联动方案,一个联动方案可以选取多个联动事件和多个联动动作进行逻辑关联。
步骤S2009,联动中间件响应于第一联动对象触发的联动事件,获取预设的联动方案。
步骤S2010,联动中间件基于预设的联动方案,确定第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作。
步骤S2011,联动中间件将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象。
步骤S2012,各个第二联动对象执行对应的联动动作。
本申请实施例中,预先在联动中间件中配置各个联动对象的联动配置信息,第一联动对象触发联动事件时,联动中间件基于联动配置信息,确定关联的第二联动对象以及第二联动对象的联动动作,然后触发第二联动对象执行联动动作,实现第一联动对象和第二联动对象之间的解耦,故可以针对不同应用场景的联动对象设置联动方案,而不限于一个场景,从而提高配置联动方案的灵活性,易于扩展联动方案,复用性高。
基于相同的技术构思,本申请实施例提供了一种联动控制装置,如图21所示,该装置2100包括:
获取模块2101,用于响应于第一联动对象触发的联动事件,获取预设的联动配置信息;
处理模块2102,用于基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;
发送模块2103,用于将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
可选地,所述处理模块2102还用于:
响应于第一联动对象触发的联动事件,获取预设的联动配置信息之前,向管理终端推送配置操作界面;
响应于所述管理终端基于所述配置操作界面触发的联动配置请求,设置联动配置信息,所述联动配置信息中包括至少两个联动对象以及所述至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。
可选地,所述处理模块2102还用于:
响应于所述管理终端基于所述配置操作界面触发的对象配置请求,配置联动对象的接入方式。
可选地,所述处理模块2102具体用于:
通过规则引擎将所述第一联动对象触发的联动事件转换为所述联动对象触发的联动事件对应的目标业务规则;
基于所述目标业务规则,确定关联的至少一个目标规则引擎对象,其中,一个规则引擎对象对应联动配置信息中的一个联动方案,规则引擎对象中的业务规则对应联动方案中的联动事件,规则引擎对象中的决策操作对应联动方案中的联动动作;
基于所述至少一个目标规则引擎对象中的决策操作,确定与所述第一联动对象关联的至少一个第二联动对象的联动动作。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图22所示,包括至少一个处理器2201,以及与至少一个处理器连接的存储器2202,本申请实施例中不限定处理器2201与存储器2202之间的具体连接介质,图22中处理器2201和存储器2202之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器2202存储有可被至少一个处理器2201执行的指令,至少一个处理器2201通过执行存储器2202存储的指令,可以执行前述联动控制方法中所包括的步骤。
其中,处理器2201是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器2202内的指令以及调用存储在存储器2202内的数据,从而进行联动控制。可选的,处理器2201可包括一个或多个处理单元,处理器2201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器2201中。在一些实施例中,处理器2201和存储器2202可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器2201可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器2202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器2202可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器2202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器2202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述联动控制方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种联动控制方法,其特征在于,包括:
响应于第一联动对象触发的联动事件,获取预设的联动配置信息;
基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;
将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
2.如权利要求1所述的方法,其特征在于,所述响应于第一联动对象触发的联动事件,获取预设的联动配置信息之前,还包括:
向管理终端推送配置操作界面;
响应于所述管理终端基于所述配置操作界面触发的联动配置请求,设置联动配置信息,所述联动配置信息中包括至少两个联动对象以及所述至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作。
3.如权利要求2所述的方法,其特征在于,还包括:
响应于所述管理终端基于所述配置操作界面触发的对象配置请求,配置联动对象的接入方式。
4.如权利要求2或3所述的方法,其特征在于,所述基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作,包括:
通过规则引擎将所述第一联动对象触发的联动事件转换为所述联动对象触发的联动事件对应的目标业务规则;
基于所述目标业务规则,确定关联的至少一个目标规则引擎对象,其中,一个规则引擎对象对应联动配置信息中的一个联动方案,规则引擎对象中的业务规则对应联动方案中的联动事件,规则引擎对象中的决策操作对应联动方案中的联动动作;
基于所述至少一个目标规则引擎对象中的决策操作,确定与所述第一联动对象关联的至少一个第二联动对象的联动动作。
5.一种联动中间件,其特征在于,包括:
接口模块和控制模块,其中,所述控制模块包括联动配置模块、联动控制模块;
所述联动配置模块,用于响应于管理终端基于配置操作界面触发的联动配置请求,设置联动配置信息,所述联动配置信息中包括至少两个联动对象以及所述至少两个联动对象之间的联动方案,其中,联动方案包括联动事件和联动动作;
所述联动控制模块,用于响应于通过所述接口模块接入的第一联动对象触发的联动事件,获取预设的联动配置信息;基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
6.如权利要求5所述的联动中间件,其特征在于,所述联动配置模块包括事件管理模块、动作管理模块和联动管理模块;
所述事件管理模块,用于响应于所述管理终端基于所述配置操作界面触发的事件配置请求,设置联动事件;
所述动作管理模块,用于响应于所述管理终端基于所述配置操作界面触发的联动配置请求,设置联动动作;
所述联动管理模块,用于对联动事件和联动动作进行关联,获得联动方案。
7.如权利要求5所述的联动中间件,其特征在于,所述控制模块还包括应用管理模块、设备管理模块、系统管理模块和日志管理模块;
所述应用管理模块,用于管理通过所述接口模块接入联动中间件的应用;
所述设备管理模块,用于管理通过所述接口模块接入联动中间件的设备;
所述系统管理模块,用于管理所述联动中间件的系统参数;
所述日志管理模块,用于管理所述联动中间件的日志数据。
8.一种联动控制装置,其特征在于,包括:
获取模块,用于响应于第一联动对象触发的联动事件,获取预设的联动配置信息;
处理模块,用于基于所述联动配置信息,确定所述第一联动对象关联的至少一个第二联动对象以及各个第二联动对象的联动动作;
发送模块,用于将各个第二联动对象的联动动作的描述消息发送给相应的第二联动对象,以使各个第二联动对象执行对应的联动动作。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~4任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~4任一所述方法的步骤。
CN202011170977.XA 2020-10-28 2020-10-28 一种联动控制方法、装置及联动中间件 Pending CN112230616A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011170977.XA CN112230616A (zh) 2020-10-28 2020-10-28 一种联动控制方法、装置及联动中间件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011170977.XA CN112230616A (zh) 2020-10-28 2020-10-28 一种联动控制方法、装置及联动中间件

Publications (1)

Publication Number Publication Date
CN112230616A true CN112230616A (zh) 2021-01-15

Family

ID=74110497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011170977.XA Pending CN112230616A (zh) 2020-10-28 2020-10-28 一种联动控制方法、装置及联动中间件

Country Status (1)

Country Link
CN (1) CN112230616A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112758142A (zh) * 2021-01-28 2021-05-07 青岛海信网络科技股份有限公司 一种应用于全自动运行系统的场景模块化实现方法及装置
CN113485206A (zh) * 2021-08-06 2021-10-08 时代云英(重庆)科技有限公司 一种可扩展的物联网系统及方法
CN114157725A (zh) * 2021-11-11 2022-03-08 珠海格力电器股份有限公司 设备联动的方法、装置、服务器、电子设备以及存储介质
CN114205178A (zh) * 2021-12-10 2022-03-18 珠海格力电器股份有限公司 一种设备联动的方法及装置、存储介质、电子设备
CN115061717A (zh) * 2022-06-30 2022-09-16 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115080101A (zh) * 2022-06-30 2022-09-20 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115269235A (zh) * 2022-09-28 2022-11-01 深圳华锐分布式技术股份有限公司 基于不同版本组件的消息搬运方法、装置、设备及介质
WO2022247519A1 (zh) * 2021-05-26 2022-12-01 广州地铁集团有限公司 一种物模型设备管理方法、装置、设备、系统及存储介质
WO2023279716A1 (zh) * 2021-07-07 2023-01-12 上海商汤智能科技有限公司 设备联动方法、装置、设备、存储介质、程序产品及计算机程序

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933378A (zh) * 2016-04-01 2016-09-07 深圳蓝奥声科技有限公司 无线联动控制方法及系统
CN107704265A (zh) * 2017-09-30 2018-02-16 电子科技大学 一种面向业务流可配置的规则生成方法
CN108092861A (zh) * 2017-12-13 2018-05-29 深圳绿米联创科技有限公司 实现设备联动的配置方法、设备联动控制方法及装置
CN110535824A (zh) * 2019-07-08 2019-12-03 湖南优创智能科技有限公司 智能家居联动方法、系统、终端设备及存储介质
CN110704518A (zh) * 2019-08-26 2020-01-17 苏宁云计算有限公司 基于Flink引擎的业务数据处理方法及装置
CN111177214A (zh) * 2019-12-19 2020-05-19 腾讯云计算(北京)有限责任公司 事件联动处理方法、装置、系统、电子设备及存储介质
CN111522251A (zh) * 2020-06-28 2020-08-11 海尔优家智能科技(北京)有限公司 联动控制方法和装置及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933378A (zh) * 2016-04-01 2016-09-07 深圳蓝奥声科技有限公司 无线联动控制方法及系统
CN107704265A (zh) * 2017-09-30 2018-02-16 电子科技大学 一种面向业务流可配置的规则生成方法
CN108092861A (zh) * 2017-12-13 2018-05-29 深圳绿米联创科技有限公司 实现设备联动的配置方法、设备联动控制方法及装置
CN110535824A (zh) * 2019-07-08 2019-12-03 湖南优创智能科技有限公司 智能家居联动方法、系统、终端设备及存储介质
CN110704518A (zh) * 2019-08-26 2020-01-17 苏宁云计算有限公司 基于Flink引擎的业务数据处理方法及装置
CN111177214A (zh) * 2019-12-19 2020-05-19 腾讯云计算(北京)有限责任公司 事件联动处理方法、装置、系统、电子设备及存储介质
CN111522251A (zh) * 2020-06-28 2020-08-11 海尔优家智能科技(北京)有限公司 联动控制方法和装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
沈绍武: "《中医医院信息系统规划与设计》", 31 August 2013 *
陈积明: "《阿里物联网技术与系统丛书 物联网平台Link Platform探索与实践》", 31 March 2020 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112758142A (zh) * 2021-01-28 2021-05-07 青岛海信网络科技股份有限公司 一种应用于全自动运行系统的场景模块化实现方法及装置
CN112758142B (zh) * 2021-01-28 2023-03-14 青岛海信网络科技股份有限公司 一种应用于全自动运行系统的场景模块化实现方法及装置
WO2022247519A1 (zh) * 2021-05-26 2022-12-01 广州地铁集团有限公司 一种物模型设备管理方法、装置、设备、系统及存储介质
WO2023279716A1 (zh) * 2021-07-07 2023-01-12 上海商汤智能科技有限公司 设备联动方法、装置、设备、存储介质、程序产品及计算机程序
CN113485206A (zh) * 2021-08-06 2021-10-08 时代云英(重庆)科技有限公司 一种可扩展的物联网系统及方法
CN114157725A (zh) * 2021-11-11 2022-03-08 珠海格力电器股份有限公司 设备联动的方法、装置、服务器、电子设备以及存储介质
CN114157725B (zh) * 2021-11-11 2023-09-12 珠海格力电器股份有限公司 设备联动的方法、装置、服务器、电子设备以及存储介质
CN114205178A (zh) * 2021-12-10 2022-03-18 珠海格力电器股份有限公司 一种设备联动的方法及装置、存储介质、电子设备
CN115080101A (zh) * 2022-06-30 2022-09-20 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115080101B (zh) * 2022-06-30 2023-08-18 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115061717B (zh) * 2022-06-30 2023-09-05 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115061717A (zh) * 2022-06-30 2022-09-16 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
WO2024002243A1 (zh) * 2022-06-30 2024-01-04 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
WO2024002299A1 (zh) * 2022-06-30 2024-01-04 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115269235A (zh) * 2022-09-28 2022-11-01 深圳华锐分布式技术股份有限公司 基于不同版本组件的消息搬运方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN112230616A (zh) 一种联动控制方法、装置及联动中间件
US10146599B2 (en) System and method for a generic actor system container application
AU2015263042B2 (en) System and method for fully configurable real time processing
CA2864113C (en) Providing configurable workflow capabilities
US20190213510A1 (en) Event-based composition model for workflow systems
US20130151690A1 (en) Techniques to manage remote events
US11768835B2 (en) Merging multiple unsynchronized streams of related events and multi-tenant support
US10521263B2 (en) Generic communication architecture for cloud microservice infrastructure
US10768905B2 (en) Systems, methods, and apparatuses for implementing schema-driven on-the-fly code generation within a cloud based computing environment
US20180343178A1 (en) Routing Actions to User Devices Based on a User Graph
Blackstock et al. FRED: A hosted data flow platform for the IoT
US10872097B2 (en) Data resolution system for management of distributed data
US20190108598A1 (en) Systems, methods, and apparatuses for creating and reusing communities within a cloud based computing environment
US10725795B2 (en) Systems, methods, and apparatuses for dynamic creation of an external code segment within a cloud based computing environment
Rattanapoka et al. An MQTT-based IoT cloud platform with flow design by Node-RED
US11323534B2 (en) Concurrency reduction through publish-subscribe patterns
US10445157B2 (en) Concurrent services caching
Namiot et al. On internet of things programming models
US8335824B2 (en) Methods, systems, and computer program products for providing metadata subscription services
US11601495B2 (en) Mechanism for a work node scan process to facilitate cluster scaling
Fardbastani et al. Business process monitoring via decentralized complex event processing
CN110913018A (zh) 一种分布式调控服务系统
Chihani et al. Programmable context awareness framework
US10896077B2 (en) Messaging abstraction layer for integration with message oriented middleware platforms
CN114844957B (zh) 链路报文转换方法、装置、设备、存储介质和程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210115

RJ01 Rejection of invention patent application after publication