一种基于规则的事故画面与应急预案推送方法与流程

文档序号:11627873阅读:302来源:国知局
一种基于规则的事故画面与应急预案推送方法与流程

本发明涉及电力监控系统领域,特别是一种基于规则的事故画面与应急预案推送方法。



背景技术:

随着计算机技术、通讯技术和人工智能技术的快速发展,电力监控系统在电力行业及其他相关行业得到了越来越广泛的应用。特别是随着世界经济、人口的快速发展,人们对于方便、快捷、舒适的交通运输有着越来越高的要求、在水陆空飞速发展的同时,城市轨道交通也得到了飞速的发展,尤其是以地铁、城轨、轻轨为代表的城市轨道交通,在迅速发展的同时,高度安全可靠、经济合理适用、调度操作方便的电力供给是城市轨道交通安全、正常、有效运营的重要条件和保证。同时,为了有效应对区域电力系统突发事故及其他安全衍生事件,做好相应的应急处理,善后恢复工作,保障区域电力供应也是一项不可或缺的重要内容。

而现在一般地铁、轻轨等运营部门的应急预案都以文件的形式存在,不便于在系统内直接调阅,更不能根据突发事件主动的推送实时监测画面和故障预案资源。虽然平时可以针对故障应急的处理过程进行培训,可是如果实际工作过程中突然遇到突发故障,难免会手忙脚乱,很难一下就能将平时的培训内容忆起并保证顺利的完成相应事故的应急处理。因此当有报警或故障事件发生时,调度中心很难快速的根据有效参考预案为事故恢复处理提供辅助决策、进行正确的指挥调度。



技术实现要素:

针对现有技术中存在的问题,本发明提供了一种可以有效的帮助调度人员迅速的进行故障应急指挥,以便有关抢修人员按照预案的内容迅速组织抢修,从而防止故障或险情进一步扩大,保障系统安全及运营安全。另外,对于应急预案资源也可以随时调阅进行学习或在线修订,进一步解决纸质预案的存储、管理、升级问题的基于规则的事故画面与应急预案推送方法。

本发明的目的通过以下技术方案实现。

一种基于规则的事故画面与应急预案推送方法,包括以下步骤:

1)加载规则对象及规则对象的层级逻辑关系并利用规则对象解析器解析,之后执行步骤2);

2)通过数据点对象消息注册监听组件抽取规则对象中的数据点对象并对其进行消息注册;同时对规则在线提交数据点对象进行消息注册,之后执行步骤3);

3)对数据点对象状态变化响应处理,利用逻辑表达式规则评价器对规则对象的逻辑表达式规则进行评价,之后执行步骤4);

4)利用事故画面和预案资源处理组件动态创建弹出事故画面和故障预案资源以及主动调阅编辑故障预案资源,本方法结束。

进一步的,步骤1)中所述规则对象包括:objectid关键项、text关键项、pop关键项、alias关键项、formula关键项、plan关键项、schematic关键项、所述objectid关键项用于唯一标识所述规则对象;所述text关键项用于表明所述规则对象名称;所述pop关键项用于表明主动弹出策略,所述pop关键项包括datarec关键项,所述datarec关键项用于表明与所述规则对象相关的数据点对象集合;所述alias关键项用于表明所述数据点对象的自定义别名;所述formula关键项用于逻辑规则的评价、逻辑规则表达式利用所述数据点对象的自定义别名进行定制;所述plan关键项用于表明故障预案资源;所述schematic关键项用于表明画面资源,所述schematic关键项包括用于标识唯一画面对象的schematicobjectid、画面对象所属站的名称信息。

进一步的,所述数据点对象包括doublepoint类型遥信点、measuredvalue类型遥测点、doublecommand对象遥控点和integratedtotal对象遥脉点,所述数据点对象包括对象id属性、对象名称属性和对象描述。

进一步的,所述层级逻辑关系表述为一个三元组,所述三元组包括objectid、attributetypeid和wiredobjectid,所述objectid表示一个规则对象的标识;所述wiredobjectid表示一个与标识为objectid的规则对象存在关联关系的规则对象的标识,所述attributetypeid取值集合为{x|x≤2,x∈n*};当x=1时,表明标识为wiredobjectid的规则对象是标识为objectid的规则对象的父对象;当x=2时,表明标识为wiredobjectid的规则对象是标识为objectid的规则对象的子对象。

进一步的,所述对象解析器将所有的规则对象信息和其层次逻辑信息加载到内存并建立映射关系,然后再将规则对象构建成树形组织结构存储到内存。

进一步的,步骤2)所述数据点对象消息注册监听组件支持webb/s架构数据点对象的消息注册监听,所述数据点对象消息注册监听组件提供统一的前端请求接口和统一的后台服务进程管理机制,所述数据点对象消息注册监听组件获取所有的规则对象,并抽取每一个对象的数据点对象,所述数据点对象消息注册监听组件利用数据点对象的数据点标识和属性名称生成组合键key与对应的规则对象建立一对一映射关系。

进一步的,所述统一的前端请求接口通过指定后台请求服务进程名称、业务函数签名、回调函数对象的方式批量地完成对数据点对象进行消息注册和实时数据的读写请求;所述统一的后台服务进程管理机制是由通信中继进程和不同的后台服务进行组成。

进一步的,所述规则对象通过配置工具进行配置,预留配置在线修改接口,完成配置后触发规则提交事件,所述数据点对象监听及处理组件监听到提交事件后,重新要求规则对象解析器解析新的规则对象,并利用据点对象监听及处理组件更新数据点对象消息监听列表,完成配置在线修改功能。

进一步的,步骤3)中所述注册的数据点对象的属性值或状态发生变化时,通过映射关系定位到规则对象,然后提取规则对象的逻辑规则和数据点对象的别名信息,解析还原成可供逻辑表达式规则评价器解析执行的逻辑规则,若评价结果为ture,则进行后续处理;若为false,则不作响应。

进一步的,步骤4)中所述事故画面和预案资源处理组件包含事故画面处理单元、故障预案处理单元和故障预案资源调阅编辑接口来接收处理逻辑表达式规则评价器所传递的规则对象。

进一步的,步骤4)中利用事故画面处理单元主动弹出事故画面:首先,处理预加载画面。抽取规则对象画面schematic关键项,根据schematic关键项得知画面对象是否启用预加载机制,画面预加载机制用于保证从接收到实时库信号点变化信号到成功推送画面时间不超过2s的性能要求,在所述规则对象的schematic关键项中可对于较大的事故画面文件指定为预加载处理;其次,根据预加载机制的处理结果处理画面实时数据,若不存在预加载画面文件则向后台服务进程请求加载画面资源文件,动态生成画面显示窗口并主动弹出,之后再向后台服务进程请求画面组态模型实时数据;若存在预加载画面文件则只需要请求其对应的画面组态模型实时数据。

进一步的,步骤4)中利用所述的故障预案处理单元主动弹出事故预案资源:抽取规则对象的plan关键项,获取事故预案资源存储路径,向后台服务进程请求加载预案内容后动态生成电子故障预案文档显示窗口并主动弹出,故障预案资源调阅编辑接口供客户端调用,抽取规则对象的plan关键项,获取事故预案资源存储路径并向后台服务进程请求调阅预案内容。

相比于现有技术,本发明的优点在于:当突发故障发生时,利用本发明能够根据事故发生时各监测设备的故障状态所对应的逻辑推送规则主动的将应急故障预案推送出来同时将监测故障设备的实时画面主动推出并对发生故障的实时画面进行闪烁提示,直到设备故障恢复后,取消闪烁提示。这样可以有效的帮助调度人员迅速的进行故障应急指挥,以便有关抢修人员按照预案的内容迅速组织抢修,从而防止故障或险情进一步扩大,保障系统安全及运营安全。另外,对于应急预案资源也可以随时调阅进行学习或在线修订,进一步解决纸质预案的存储、管理、升级等等问题。

附图说明

图1为本发明处理流程图。

图2为本发明实施例分层结构图。

图3为本发明实施例处理流程图。

图4本发明实施例事故画面处理流程。

图5为本发明实施例数据点对象数组和其别名数组对应关系示意图。

具体实施方式

下面结合说明书附图和具体的实施例,对本发明作详细描述。

如图1所示,一种基于规则的事故画面与应急预案推送方法,包括以下步骤:

1)加载规则对象及规则对象的层级逻辑关系并利用规则对象解析器解析,之后执行步骤2);

2)通过数据点对象消息注册监听组件抽取规则对象中的数据点对象并对其进行消息注册;同时对规则在线提交数据点对象进行消息注册,之后执行步骤3);

3)对数据点对象状态变化响应处理,利用逻辑表达式规则评价器对规则对象的逻辑表达式规则进行评价,之后执行步骤4);

4)利用事故画面和预案资源处理组件动态创建弹出事故画面和故障预案资源以及主动调阅编辑故障预案资源,本方法结束。

步骤1)中所述规则对象包括:objectid关键项、text关键项、pop关键项、alias关键项、formula关键项、plan关键项、schematic关键项、所述objectid关键项用于唯一标识所述规则对象;所述text关键项用于表明所述规则对象名称;所述pop关键项用于表明主动弹出策略,所述pop关键项包括datarec关键项,所述datarec关键项用于表明与所述规则对象相关的数据点对象集合;所述alias关键项用于表明所述数据点对象的自定义别名;所述formula关键项用于逻辑规则的评价、逻辑规则表达式利用所述数据点对象的自定义别名进行定制;所述plan关键项用于表明故障预案资源;所述schematic关键项用于表明画面资源,所述schematic关键项包括用于标识唯一画面对象的schematicobjectid、画面对象所属站的名称信息。

电力监控系统中数据采用面向对象的设计思想设计,所述数据点对象包括doublepoint类型遥信点、measuredvalue类型遥测点、doublecommand对象遥控点和integratedtotal对象遥脉点,每个点对象又包括了多个属性,每个属性对应一个值。不同类型的数据点对象都共同拥有的属性对象都至少包括对象id属性(objectid)、对象名称属性(name),对象描述(descrption)。

所述层级逻辑关系表述为一个<objectid,attributetypeid,wiredobjectid>三元组,所述三元组包括objectid、attributetypeid和wiredobjectid,所述objectid表示一个规则对象的标识;所述wiredobjectid表示一个与标识为objectid的规则对象存在关联关系的规则对象的标识,所述attributetypeid取值集合为{x|x≤2,x∈n*};当x=1时,表明标识为wiredobjectid的规则对象是标识为objectid的规则对象的父对象;当x=2时,表明标识为wiredobjectid的规则对象是标识为objectid的规则对象的子对象。

这样将规则对象之间的层次逻辑表示之后,可以方便的将逻辑规则对象的存储和其之间的层次逻辑关系的存储分别独立的存储。

所述对象解析器将所有的规则对象信息和其层次逻辑信息加载到内存并建立映射关系,然后再将规则对象构建成树形组织结构存储到内存。

步骤2)所述数据点对象消息注册监听组件支持webb/s架构数据点对象的消息注册监听,所述数据点对象消息注册监听组件提供统一的前端请求接口和统一的后台服务进程管理机制,所述数据点对象消息注册监听组件获取所有的规则对象,并抽取每一个对象的数据点对象,所述数据点对象消息注册监听组件利用数据点对象的数据点标识和属性名称(objectid_属性名)生成组合键key与对应的规则对象建立一对一映射关系。

所述统一的前端请求接口通过指定后台请求服务进程名称、业务函数签名、回调函数对象的方式批量地完成对数据点对象进行消息注册和实时数据的读写请求;统一的后台服务进程管理机制是由通信中继进程(wg_message_relay)和不同的后台服务进行组成。前端与wg_message_relay建立维护通信连接,所有的前端请求都与wg_message_relay通信。wg_message_relay根据前端请求参数中的服务进程名称负责将请求分发给该服务进程。该服务进程将业务处理结果返回至wg_message_relay进程,再由该进程将处理结果返回给前端。

这样的好处在于,无论之后增加多少后台进程,只需要将增加的后台服务进程注册到wg_message_relay进程并建立进程间通信即可,前端不需要任何变动。

前端与服务器中断连接后,具有自动重连功能,直至与服务器连接恢复保证通信自动恢复机制。

所述规则对象通过配置工具进行配置,预留配置在线修改接口,完成配置后触发规则提交事件,所述数据点对象监听及处理组件监听到提交事件后,重新要求规则对象解析器解析新的规则对象,并利用据点对象监听及处理组件更新数据点对象消息监听列表,完成配置在线修改功能。

步骤3)中所述注册的数据点对象的属性值或状态发生变化时,通过映射关系定位到规则对象,然后提取规则对象的逻辑规则和数据点对象的别名信息,解析还原成可供逻辑表达式规则评价器解析执行的逻辑规则,若评价结果为ture,则进行后续处理;若为false,则不作响应。

步骤4)中所述事故画面和预案资源处理组件包含事故画面处理单元、故障预案处理单元和故障预案资源调阅编辑接口来接收处理逻辑表达式规则评价器所传递的规则对象。

步骤4)中利用事故画面处理单元主动弹出事故画面:首先,处理预加载画面。抽取规则对象画面schematic关键项,根据schematic关键项得知画面对象是否启用预加载机制,画面预加载机制用于保证从接收到实时库信号点变化信号到成功推送画面时间不超过2s的性能要求,在所述规则对象的schematic关键项中可对于较大的事故画面文件指定为预加载处理;其次,根据预加载机制的处理结果处理画面实时数据,若不存在预加载画面文件则向后台服务进程请求加载画面资源文件,动态生成画面显示窗口并主动弹出,之后再向后台服务进程请求画面组态模型实时数据;若存在预加载画面文件则只需要请求其对应的画面组态模型实时数据。

步骤4)中利用所述的故障预案处理单元主动弹出事故预案资源:抽取规则对象的plan关键项,获取事故预案资源存储路径,向后台服务进程请求加载预案内容后动态生成电子故障预案文档显示窗口并主动弹出,故障预案资源调阅编辑接口供客户端调用,抽取规则对象的plan关键项,获取事故预案资源存储路径并向后台服务进程请求调阅预案内容。具有修改权限的客户端可以进行编辑和保存操作。

实施例

本实施例客户端采用extjs框架,后台采用c++服务进程。本实施例的处理流程如图3所示,通信方式采用wss协议的websocket。如图2所示,后台进程包括“wg_schematic_module”,“wg_runtime_provider”,“wg_faultplan_module”,“wg_message_relay”。

步骤一、依次启动“wg_message_relay”、“wg_runtime_provider”、“wg_schematic_module”和“wg_faultplan_module”后台进程。

步骤二、前端extjs客户端系统初始化。

规则对象和规则对象的层级逻辑关系可以相互独立的存储在数据库或配置文件中,该实施例中将规则对象和规则对象的层级逻辑关系分别存在配置文件中。采用加载配置文件的方式对规则对象及其层级逻辑关系进行解析。

step21加载规则对象信息,解析后的每一个规则对象都为一个标准的json格式的对象。

每个规则对象都至少包含一个objectid关键项,用于唯一标识该规则对象。text关键项,用于表明该规则对象名称。pop关键项,用于表明主动弹出策略。其中pop关键项中至少包含datarec关键项,用于表明与该规则对象相关的数据点对象集合。alias关键项,用于表明数据点对象自定义别名。formula关键项,用于逻辑规则的评价,逻辑规则表达式利用所述数据点对象的自定义别名进行定制。plan关键项,用于表明故障预案资源。schematic关键项,用于表明画面资源。

所述"datarec"关键项在该实施例中为一个extjs数组存储的数据点对象,它的每一个元素也为一个数组,该数组中包含两个元素,分别为数据点的objectid和其某个属性的名称。本实施例中还支持间接属性,如属性名称可以指定为“state1link->state”的形式。如图5所示,datarec"(数据点对象数组)和"alias"(别名数组)中的元素要一一对应。"alias"关键项对应的数组元素“ax”,其中x取值为[1,2,3,…,n],为该实施例中定义的数据点对象别名。

所述formula关键项,利用前文所述别名及逻辑表达式运算符进行配置。例如配置为“a1==1&&a2==1”,结合图5并由上文所述可知datarec和alias中的元素要一一对应,因此该逻辑表达式的含义为objectid为520623616的数据点对象其state==1并且objectid为520623872的数据点对象其state==1时逻辑规则表达式成立。

所述"plan关键项,为主动弹出的电子故障预案内容文件名,本实施例中为方便extjs前端加载及在线编辑预案内容采用html格式的对其存储。

规则对象举例如下。

step22、加载规则对象层级逻辑关系信息,解析后每一个层级逻辑关系三元组存在到extjs数组中。

step23、规则对象和层级逻辑组合生成标准json格式的递归结构。

该结构是在规则对象的基础上扩展leaf和children关键项。leaf关键项表示该规则对象是否为叶子节点,取值为true或false。leaf=true时表示为叶子节点。children表示某一个树节点的孩子节点数组。只有leaf=false的节点有children关键项。对孩子节点按递归的方式处理。直到所有的孩子节点的类型都为leaf=true,即对应一个规则对象。

步骤三、前后台websocket通信连接建立

step31、定义ext.willowglen.websocket.messagerelaymanager类,用于与后台wg_message_relay服务进程建立websocket通信连接。并定义了wg_dataarrived事件用于当通信数据到达时进行数据传递。

step32、定义ext.willowglen.websocket.socket类,该类也定义wg_dataarrived事件,同样用于通信数据传递。通过__connect函数调用ext.willowglen.websocket.messagerelaymanager类实例的websocket连接操作。

step33、前端系统初始化时创建统一数据请求接口ext.sac.router.router类实例,该实例中创建并维护ext.willowglen.websocket.socket类的实例_web_socket,为该实例注册wg_dataarrived事件的响应函数this._web_socket.on("wg_dataarrived",this.__ondataarrived,this)。另外该实例再创建并维护一个ext.willowglen.websocket.messagerelaymanager类的实例_messagerelaymanager,并注册该实例的wg_dataarrived事件响应函数messagerelaymanager.on(‘wg_dataarrived,this.__onmessagerelaydataarrived,this)。

当后台响应数据到达时messagerelaymanager实例fireevent("wg_dataarrived",responsedata),之后__onmessagerelaydataarrived响应函数中再触发ext.willowglen.websocket.socket实例的wg_dataarrived事件,进而执行__ondataarrived响应函数进行业务处理。

step34通过_web_socket的_connect方法来操作_messagerelaymanager进行通道连接操作,连接成功后将规则对象解析器解析的所有规则对象传递给数据点对象监听及处理组件。

步骤四、利用数据点对象消息注册监听组件抽取规则对象中的数据点对象进行抽取并对其进行消息注册;并对规则提交事件进行消息注册。

step41、遍历通过规则对象解析器解析的以json格式保存的规则对象,抽取其数据点对象的object和属性名,生成“objectid_属性名”作为map映射结构的key,规则对象作为map映射结构的value,建立映射关系。并将抽取的数据点对象和表示提交操作的数据点对象存储到数组结构中,作为请求消息注册的输入参数。

step42、数据点对象消息注册监听组件统一调用ext.sac.router.router类实例的sendrequest方法完成所有消息注册相关操作。该函数声明结构为:

ext.sac.router.router.sendrequest("后台服务进程名","处理函数签名","传递到后台json格式的参数","ext.willowglen.router.requestcallback"对象);

ext.willowglen.router.requestcallback对象中指定后台服务进程数据返回时的回调函数。其结构示例:

其中scope表示回调函数执行的作用域,__oninitresponse为回调函数签名。args为回调函数参数,autoretry表示失败是否重新请求,autodestroy表示处理结束后该对象是否自动销毁。

step43、消息注册的具体实施步骤如下:

step431、请求消息注册标识初始化环境,请求方式如下。

ext.sac.router.router.sendrequest("wg_runtime_provider","init",{clientid:this._clienti},"ext.willowglen.router.requestcallback"对象)。

step432、消息注册标识初始化成功后批量对需要进行消息注册的数据点对象进行注册,请求方式示意如下。

step433、循环监听实时库中所注册的数据点对象的状态变化,请求方式如下。

step434、在回调__ongetupdateresponse函数中触发this._web_socket.fireevent("wg_dataarrived",responsedata)并循环请求调用wg_runtime_provider的getupdates函数签名。

step435、处理预加载画面通过向后台wg_schematic_module进程请求画面对象的画面文件资源,保存到内存。

步骤五、事故画面和预案资源处理并动态创建主动弹出;主动调阅编辑故障预案资源。

step51、事故画面处理流程,如图4所示。

首先抽取规则对象中的画面对象信息。然后在预加载画面对象的内存映射中查找是否为预加载画面,若不是预加载画面需要分两步:

step551、利用ext.willowglen.router.router.sendrequest接口向后台wg_schematic_module进程请求获取画面对象的画面文件资源,并解析画面中的模型组态图元生成画面并主动推出。

step552、抽取中的画面对象中模型组态绑定的数据点对象利用ext.willowglen.router.router.sendrequest接口向后台wg_runtime_provider进程进行消息注册,之后再向该后台进程请求实时数据更新画面模型组态状态。

当模型组态绑定的数据点对象的数据发出变化时,后台wg_runtime_provider进程会将变化的实时数据发送到前端,前端调用消息监听回调函数更新画面模型组态状态。若是预加载画面直接进行step552操作。

step52、故障预案直接通过故障预案处理单元抽取规则对象的故障预案资源文件路径,并通过ext.willowglen.router.router.sendrequest结构向后台wg_faultplan_module请求加载。然后利用基于extjs的htmleditor控件进行展示,主动弹出的故障预案不支持在线修改和保存操作。

step53、主动调阅编辑故障预案资源由用户通过人机界面直接调出编辑故障预案资源调阅界面。根据用户的权限判定是否支持对所调阅的故障预案资源进行在线修改和保存操作。

本发明所提出的电力监控系统中一种基于规则的事故画面与应急预案推送方法,不仅可以在监控系统中方面地对应急预案资源进行随时调阅学习和在线修订,还可在运营中发生突发故障时第一时间主动推送实时事故监测画面及相应的故障预案,有效地为调度人员对突发事故的恢复处理提供辅助决策依据进而进行正确的指挥调度从而防止故障或险情进一步扩大,保障系统及运营安全。

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