面向智能体协同体系的实时数据总线管理方法及系统与流程

文档序号:15817776发布日期:2018-11-02 22:48阅读:478来源:国知局
面向智能体协同体系的实时数据总线管理方法及系统与流程

本发明涉及智能体协同体系技术领域,尤其涉及一种面向智能体协同体系的实时数据总线管理方法及系统。

背景技术

分布式实时控制系统的主要特点是通过可靠的通讯网络,实现对物理位置分布广泛的传感器、控制器等设备的数据采集分析及远程遥控、遥测、遥调、遥信等操作,比较典型的有电力配网自动化、调度自动化等系统,该类系统在可靠性、实时性及容错能力方面较传统应用有更高的要求。传统的分布式控制系统一般都是采取封闭定制模式,即根据特定应用需求来设计软件,产品很难实现复用,后期的维护升级工作困难;另外,大量分布式控制系统、数据采集系统是构成物联网的基础应用之一,须将各类控制、数据采集系统、信息管理系统、公共服务系统等的数据集成并统一为物联网应用服务,而传统的定制模式已经成为制约物联网软件应用构建的瓶颈。

面向服务的架构(soa)的料粒度、松耦合特点使得分布式应用的构建更加简单,因此研究soa在分布式实时控制应用环境下的特征、变化及应用模式成为了当前面向服务新的问题,即实时soa。当前针对实时soa的研究还处于起步阶段,现有的研究也通常是基于实时soa架构本身,而实时soa模型必须解决以下几个问题:(1)实时服务的抽象与封装方法;(2)确保服务处理的实时性、可靠性,即实时性问题是实时soa必须解决的基本问题,目前还尚未有有效的方案解决该问题。有从业者针对工业控制系统提出增强了实时性的soa架构,但是该架构本质上仍是一个面向qos的通讯中间件,主要包括协议层和api层两个层次,仍未能够解决实时性的具体机制与实现问题。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现原理简单、能够实现总线的统一规划管理及分布式自动配置,且实时性及可靠性性高的面向智能体协同体系的实时数据总线管理方法及系统。

为解决上述技术问题,本发明提出的技术方案为:

一种面向智能体协同体系的实时数据总线管理方法,该方法包括:

构建具有数据订阅与分发服务的实时数据总线,以及建立用于监控各总线接入节点的状态及数据传输控制的qos信息;

接收对各总线接入节点的所述qos信息的配置信息,根据所述qos信息的配置信息控制进行消息的传输、封装、读写操作以及共享内存的配置,以对各总线接入节点的状态进行统一监控与管理。

作为本发明方法的进一步改进,使用所述实时数据总线创建消息服务时,具体步骤为:

创建客户端,完成初始化,同时建立例与服务端的连接;

创建一个发布者对象,并建立例与服务端的命令通信链路;

发布话题,获取所有符合条件的注册者信息;

发布数据,获取nml配置信息,并创建基于共享内存方式的rcs传输链路。

作为本发明方法的进一步改进,使用所述实时数据总线创建消息服务客户端时,具体步骤为:

创建客户端,完成初始化,同时建立例与服务端的连接;

创建一个订阅对象,建立与服务端的命令通信链路;

订阅话题,获取nml配置信息,并创建基于分布式共享内存机制的总线部署服务器(rcsserver);

获取数据,从所述总线部署服务器中获取话题发布者写入的数据。

作为本发明方法的进一步改进,使用所述实时数据总线进行消息服务订阅与分发时,具体步骤为:

初始化系统,创建udp传输连接器)和指令接收器(对象用于接收来自客户端的命令;

接收到来自客户端的发布主题命令,调用自身的发布主题命令;

获取相应的topic,调用添加发布者命令;将返回的查询信息返回给客户端;

接收到来自客户端的订阅主题命令,调用自身的订阅主题命令,获取相应的topic调用添加订阅者命令,将返回的callinfo信息返回给客户端。

作为本发明方法的进一步改进,所述qos信息包括用于节点的健康状态管理的第一qos信息,用于总线总阶段点对点之间的物理内存占用状态监控的第二qos信息,以及用于总线数据传输可靠性状态监控的中第三qos信息的一种或两种以上的组合。

作为本发明方法的进一步改进,所述第一qos信息包括用于表征智能体生存状态的心跳存活信息和/或用于提供服务端对客户端存活情况的检测所使用的策略的生存周期策略信息;通过将所述心跳存活信息从节点按照指定频率发出传输到总线管理终端,以在总线管理终端获取节点连接是否存在且健康的状态信息。

作为本发明方法的进一步改进,所述第二qos信息包括用于配置主题是独占还是共享的拥有权策略信息;所述第三qos信息包括用于控制数据在接收、发送时的时间间隔的基于时间过滤器信息,用于配置两次读、写操作之间的最大等待时间的deadlinepolicy信息,用于控制数据样本保留的最大数目的资源限制信息,以及用于配置获取数据后数据的推送方式的数据读取策略信息中的一种或多种。

作为本发明方法的进一步改进,所述根据所述qos信息的配置信息控制进行消息的传输、封装、读写操作以及共享内存的配置的具体步骤为:

对各节点进行共享内存的配置,生成nml文件并进行集中存储;

对接入总线的各网络节点的拓扑关系进行配置;

根据所述qos信息的配置信息对所述实时消息总线在运行过程中各节点的状态进行监控,以及根据所述qos信息的配置信息对进行消息的传输、封装、读写操作进行调整。

本发明进一步提供一种用于实施上述面向智能体协同体系的实时数据总线管理方法的系统,包括:

话题中心,用于维护消息收发过程中使用的话题信息及rcs信息;

消息服务,用于对上层的服务层提供消息的发送、接收服务;

rcs调度中心,用于根据所述qos信息进行消息的传输、封装、读写操作以及共享内存的配置建;

数据节点,用于进行主题的发布与订阅,以及通过底层的所述rcs调度中心进行消息的读写;

配置中心,用于对所述rcs调度中心的配置信息进行管理,以及管理rcs的共享内存的使用。

作为本发明系统的进一步改进,还包括用于进行qos信息配置、共享内存配置的实时消息配置管理模块,所述实时消息配置管理模块包括:

rcs共享内存配置单元,用于对各节点进行共享内存的配置,生成nml文件并进行集中存储;

网络节点拓扑配置单元,用于对接入总线的各网络节点的拓扑关系进行配置;

实时监控管理单元,用于根据所述qos信息的配置信息对所述实时消息总线在运行过程中各节点的状态进行监控,以及根据所述qos信息的配置信息对进行消息的传输、封装、读写操作进行调整。

与现有技术相比,本发明的优点在于:

1)本发明考虑协同控制体系中实时性的需求以及数据按需传递的思想,根据分布式控制系统的特点引入数据订阅与分发机制以及qos策略,通过构建具有订阅与分发服务的实时数据总线,以满足协同控制实时性需求,同时通过建立qos信息,基于qos信息的配置控制总线中各节点的消息传输、封装、读写操作以及共享内存的配置,能够实现集中统一规划管理方式、以及分布式自动配置的总线分布式部署方式,且通过在局域网内共享内存的方式,可以使得计算机节点之间能够高速访问,相比于传统的分散的“点对点”或“点对多点”的方式,能够确保数据的实时性以及可靠性,解决智能体协同控制体系中对面向服务架构散耦合方式服务关联的总线架构实时性问题。

2)本发明根据分布式多智能体架构中协同控制所需的基本信息建立qos策略,根据qos信息监控各总线接入节点的状态及进行数据传输控制,可以实现总线接入各节点的统一监控管理,同时确保数据传输的可靠性。

3)本发明实时数据总线可以支持消息服务的创建与管理、订阅与分发,由实时消息层处理服务之间的通信,可以实现可靠的消息通讯,从而满足实时soa的需求。

4)本发明qos信息包括用于节点的健康状态管理的qos信息,用于总线总阶段点对点之间的物理内存占用状态监控的qos信息,以及用于总线数据传输可靠性状态监控的中qos信息等,能够利用qos策略实现总线各节点健康状态管理、物理内存占用以及数据传输可靠性状态的统一监控和管理。

附图说明

图1是本实施例面向智能体协同体系的实时数据总线管理方法的实现流程示意图。

图2是本实施例采用的实现实时数据总线管理方法的系统结构原理示意图。

图3是本实施例创建消息服务的原理示意图。

图4是本发明具体实施例中实现消息服务创建的流程示意图。

图5是本实施例创建消息服务客户端的原理示意图。

图6是本发明具体实施例中实现消息服务客户端创建的流程示意图。

图7是本实施例消息数据订阅与发布的原理示意图。

图8是本发明具体实施例中实现消息数据订阅与发布的流程示意图。

图9是本发明具体实施例中搭建的实时消息总线配置管理平台的界面结构示意图。

图10是本发明具体实施例中得到的nml文件的结果示意图。

图11是本发明具体实施例中运行管理平台时的结果示意图。

图12是本发明具体实施例中规划总线节点部署的实现原理示意图。

图13是本发明具体实施例中显示计算机节点的拓扑关系的实现原理示意图。

图14是本发明具体实施例中对各节点内存进行配置的实现原理示意图。

图15是本发明具体实施例中网络中主机管理示意图。

图16是本发明具体实施例中总线接入几点共享内存管理示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1所示,本实施例面向智能体协同体系的实时数据总线管理方法,该方法包括:

构建具有数据订阅与分发服务的实时数据总线,以及建立用于监控各总线接入节点的状态及数据传输控制的qos(qualityofservices,质量与服务)信息;

接收对各总线接入节点的qos信息的配置信息,根据qos信息的配置信息控制进行消息的传输、封装、读写操作以及共享内存的配置,以对各总线接入节点的状态进行统一监控与管理。

本实施例考虑协同控制体系中实时性的需求以及数据按需传递的思想,根据分布式控制系统的特点引入数据订阅与分发机制以及qos策略,通过构建具有订阅与分发服务的实时数据总线,以满足协同控制实时性需求,同时通过建立qos信息,基于qos信息的配置控制总线中各节点的消息传输、封装、读写操作以及共享内存的配置,能够实现集中统一规划管理方式、以及分布式自动配置的总线分布式部署方式,且通过在局域网内共享内存(即内存映射)的方式,可以使得计算机节点之间能够高速访问,相比于传统的分散的“点对点”或“点对多点”的方式,能够确保数据的实时性以及可靠性,从而解决智能体协同控制体系中对面向服务架构散耦合方式服务关联的总线架构实时性问题。

本实施例具体构建如图2所示的实时数据总线,通过实时消息层处理服务之间的通讯,服务之间的通讯一个完整的消息总线由一个话题服务节点、一个配置服务节点和若干数据服务节点组成,话题服务节点进行话题的管理以及数据节点的维护,配置服务节点负责对共享内存方式rcs所用的配置信息进行维护,数据节点进行数据的收发,具体包括:

1)话题中心

话题中心主要是用来维护(包括新建,查询,保存,删除等)消息收发过程中使用的话题信息及共享内存rcs信息,以采用话题和消息匹配的方式解耦了消息的接收端与发送端;话题包括有若干个发布者和订阅者。

2)消息服务

数据总线以消息服务的形式对上层的服务层提供消息的发送、接收等服务。

3)共享内存rcs调度中心

rcs调度中心根据qos信息控制进行消息的传输、封装、读写操作,即控制消息的传输、封装及读写方式等,以及对共享内存rcs服务端的创建。

4)数据节点

数据节点进行主题的发布与订阅并且通过底层共享内存rcs调度中心进行消息的读写。

5)配置中心

配置中心对共享内存rcs的配置信息进行管理(包括创建、收集、分发、保存及修改等),以及对rcs的共享内存的使用情况进行管理。

通过构建上述实时消息层处理服务之间的通信,可以实现可靠的消息通讯,从而满足实时soa的需求。

本实施例实时数据总线可以支持消息服务的创建与管理、订阅与分发,如图3所示,实时数据总线创建消息服务时,具体步骤为:

创建客户端,完成初始化,同时建立例与服务端(inforepo)的连接;

创建一个发布者对象,并建立例与服务端的命令通信链路;

发布话题,获取所有符合条件的注册者信息;

发布数据,从分布式共享内存配置服务器rcsconfigserver获取nml配置信息,并创建共享内存rcs传输链路。

在具体实施例中,如图4所示,消息服务创建具体流程如下:

a)用户调用getclient(获取客户端)方法开始本用例,获取一个client(客户端)对象,此时同时创建一个udp连接器(udpconnector)对象建立与inforepo(信息反馈)的通信链路。

b)调用client对象的创建发布者(createpublisher)方法创建一个发布者(publisher)对象,此时同时创建一个指令发送者(cmdsender)对象用于向inforepo发送和接收命令。

c)调用publisher的publishtopic方法发布一个话题,用户线程进入等待状态,直到inforeo返回话题发布成功,返回一个数据写入方(datawriter)对象用于向话题注册者发布数据。

d)调用datawriter的write方法将数据写入到缓存,根据qos策略更新数据到话题注册者处。

如图5所示,本实施例中使用实时数据总线创建消息服务客户端时,具体步骤为:

创建客户端,完成初始化,同时建立例与服务端(inforepo)的连接;

创建一个订阅对象,建立与服务端的命令通信链路;

订阅话题,从分布式共享内存配置服务器rcsconfigserver获取nml配置信息,并创建基于分布式共享内存机制的总线部署服务器rcsserver;

获取数据,从总线部署服务器rcsserver中获取话题发布者写入的数据。

在具体实施例中,如图6所示,消息服务客户端创建具体流程如下:

a)getclient获取一个client对象,创建一个updconnector对象,建立与inforepo的连接。

b)创建订阅者(createsubscribes)创建一个订阅者对象,创建于inforepo通信的指令接收器(cmdsender)对象。

c)subscribetopic,首先从rcsconfigserve处获取相应的rcsinfo创建一个rcsserver,然后将subscribetopiccmd发送到inforepo处,最后返回一个datareader对象用于获取数据。

d)read,从rcsserver处获取数据。

如图7所示,本实施例中使用实时数据总线进行消息服务订阅与分发时,具体步骤为:

由系统管理员启动系统开始本用例,完成系统的初始化;

发布者或订阅者主动与系统建立通信;

发布者可以进行话题的发布或者取消发布;订阅者可以订阅或者取消订阅话题;

管理员里可以查询当前的话题以及订阅者发布者情况。

如图8所示,本实施例中使用实时数据总线进行消息服务订阅与分发时,具体步骤为:

a)初始化系统,创建udp传输连接器(udpconnector)和指令接收器(cmdrecver)对象用于接收来自客户端的命令;

b)接收到来自客户端的发布主题(publishtopic)命令,调用自身的publishtopic命令;

c)获取相应的topic,调用添加发布者(addpublisher)命令;将返回的查询信息(callinfo)返回给客户端;

d)接收到来自客户端的subscribetopic命令,调用自身的订阅主题(subscribetopic)命令,获取相应的topic调用添加订阅者(addsubscriber)命令,将返回的callinf信息返回给客户端。

本实施例中,qos信息包括用于节点的健康状态管理的第一qos信息,用于总线总阶段点对点之间的物理内存占用状态监控的第二qos信息,以及用于总线数据传输可靠性状态监控的中第三qos信息等,以利用qos策略实现总线各节点健康状态管理、物理内存占用以及数据传输可靠性状态的统一监控和管理。当然也可以根据实际需求选取其中一种或两种的qos信息。

本实施例中,第一qos信息包括用于表征智能体生存状态的心跳存活(heartbeat)信息和用于提供服务端对客户端存活情况的检测所使用的策略的生存周期策略(livelinesspolicy)信息,针对节点的健康状态管理,通过将heartbeat信息从节点按照指定频率发出传输到总线管理终端,以在总线管理终端获取节点连接是否存在且健康的状态信息。

本实施例中,第二qos信息包括用于配置主题是独占还是共享的拥有权策略(ownershippolicy)信息,通过建立ownershippolicy信息,可以针对总线总阶段点对点之间的物理内存占用的情况,明确物理内存由哪个节点占用,虚拟内存由哪些节点使用。

本实施例中,第三qos信息包括用于控制数据在接收、发送时的时间间隔的基于时间过滤器(timebasedfilter)信息,用于配置两次读、写操作之间的最大等待时间的deadlinepolicy信息,用于控制数据样本保留的最大数目的资源限制(resourcelimit)信息,以及用于配置获取数据后数据的推送方式的数据读取策略(datareadpolicy)信息等。通过建立timebasedfilter、deadlinepolicy、resourcelimit、datareadpolicy策略,控制对接入总线的节点读写模式和具体的操作,可以确保总线数据传输的可靠性。上述qos信息具体如下表所示。

表1:qos信息表。

当然除上述qos信息外,还可以根据实际需求选取其他qos信息参数进行节点状态的监控及管理。

本实施例中,根据qos信息的配置信息控制进行消息的传输、封装、读写操作以及共享内存的配置的具体步骤为:

对各节点进行共享内存的配置,生成nml文件并进行集中存储;

对接入总线的各网络节点的拓扑关系进行配置;

根据qos信息的配置信息对实时消息总线在运行过程中各节点的状态进行监控,以及根据qos信息的配置信息对进行消息的传输、封装、读写操作进行调整。

本实施例上述qos策略在建立总线和节点接入方式时,具体在实时消息配置管理模块进行配置,用于进行qos信息配置、共享内存配置,实时消息配置管理模块通过搭建总线管理平台实现,包括:

rcs共享内存配置单元,用于对各节点进行共享内存的配置,生成nml文件并进行集中存储;

网络节点拓扑配置单元,用于对接入总线的各网络节点的拓扑关系进行配置;

实时监控管理单元,用于根据qos信息的配置信息对实时消息总线在运行过程中各节点的状态进行监控,以及根据qos信息的配置信息对进行消息的传输、封装、读写操作进行调整。

在具体应用实施例中,搭建如图9所示的总线管理平台,其中①对应图形化显示各个pc终端使用共享内存的情况,②对应树状图显示已经添加到配置服务器额的共享内存buffer和process名称,③对应显示和修改共享内存系统中buffer和process所使用的参数,④对应显示配置服务器收到的客户端的各种请求信息;得到的nml文件如图10所示,其中“b/p/s”分别表示配置参数属于那种类型,b表示配置参数属于buffer,p表示配置参数属于process,s表示配置参数属于server,各参数具体为:

b中第一个参数(name)“ucavinfo”表示buffer的名字;第二个参数(type)“shmem”表示使用共享内存;第三个参数(host)“192.9.200.14”表示buffer所在的ip地址;第四个参数(size)“600000”表示buffer最大能够接受的数据大小(byte);第五个参数(neut)“0”是否将数据转换为中立语言(0表示不转换1表示转换);第六个参数(isold)“0”表示配置文件是否使用新样式,其中0表示不使用,1表示使用;第七个参数(buffer#)“1”表示buufer的id号;第八个参数(maxprocess)“20”表示最大可以连接process数量为20;第九个参数(key)“1001”表示buffer的关键字为1001;第十个参数(transport)“tcp=5001”表示数据的底层传输使用tcp协议并且端口号设为5001;

p中第一个参数(name)“simapp”表示process的名称;第二个参数(buffername)“ucavinfo”表示关联的buffer的名称;第三个参数(type)“remote”表示buffer不在本地;第四个参数(operation)“rw”表示process对于buff的读写能力;第五个参数(serverflag)“0”表示该process是否被当做server(其中0表示否,1表示是);第六个参数(timeout)“1.0”表示数据超时时间设置为1秒;第七个参数(master)“0”表示buffer是否由该process创建(0表示否,1表示是);第八个参数(cnum)“0”表示最大连接数量(0表示取buffer的process最大连接数)。

本实施例通过搭建的总线管理平台实现上述实时数据总线管理方法的具体步骤为:

1)运行总线管理平台,打开文件可选择创建新的总线配置或者选择已有总线配置,如图11所示,打开已经存在的配置信息文件(*.nml);

2)创建新的总线配置,规划总线节点部署,如图12所示,选择new命令来创建一个新的配置信息文件(*.nml)并且将界面所有内容还原为默认状态,此时可以选择对应的添加按钮添加新的对象(buffer/process/server/)并且可以在右边的参数栏中编辑参数。在参数栏中输入对象(buffer/process/server)对应的各类参数,最后保存配置信息以将将配置信息写入到新建的配置信息文件中;

3)在创建新的总线共享内存部署的环境中,遍历配置文件*.nml中所描述的计算机ip以及连接情况,通过拓扑连接图显示计算机节点的拓扑关系,如图13所示,在左边的对象栏中选中相应对象名称,在右边的参数栏中显示相对应的参数,中间用图形化的方式显示各个节点间的拓扑关系,通过点击switch按钮可以切换视图(详细/简略),简略视图下显示各个节点(pc)的连接情况,底部为状态栏显示数据的实时情况以用于监视;

4)根据共享内存配置方式,对每个计算机中的总线接入节点的内存buffer进行配置,在此配置过程中可以手动配置,也可以通过局域网访问文件管理模块从管理平台获得到各节点配置文件,如图14所示,通过点击switch按钮后切换到详细视图,在该视图下中可以详细显示各个buffer以及process在各个节点中的连接情况;

5)在完成网内计算机和各节点配置之后,通过总线qos策略,总线管理平台周期性获得各节点以及各计算机主机的状态信息,对总线运行情况进行监测,发现异常后可以通过手动介入管理总线,以处理异常情况,如图15所示,对配置信息进行更改后刷新视图保持数据一致,如图16所示,如果选中的buff正在使用中,则在状态栏中显示使用该buffer的主机之间的实时数据传输信息。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1