整合实时数据和关系数据的系统和方法

文档序号:6610088阅读:167来源:国知局
专利名称:整合实时数据和关系数据的系统和方法
技术领域
本发明涉及流程监控管理技术领域,尤其涉及一种整合实时数据和 关系数据的系统和方法,可以应用于冶金、石化和电力等行业的流程监 控管理系统。
背景技术
随着信息技术和现代管理理论在改造传统产业中的应用,我国加快 了用于流程监控行业的监控管理系统研发,从而加速流程监控行业的信 息化建设进程。在流程监控行业中,为了实现企业信息化,监控管理系 统对数据的实时性提出了很高的要求。监控系统对实时数据的要求是显 而易见的,监控画面中的数据必须是实时的,否则无法起到实时监控应 有的作用。实时数据是具有时间戳,并能够同步描述数值的数据。
随着信息化水平的提高,管理系统对实时数据的要求也越来越高。 企业领导层需要得到大量的统计信息,这些统计信息便于领导层了解当 前企业的实时运行状况,并能够及时地对企业运营策略进行调整,从而 提高企业的生产力和竞争力。
中国科学院软件研究所自主研发的安捷(Agilor)实时数据库系统在 我国诸多行业的流程监控中得到推广,在实际的生产监控工作中发挥着 举足轻重的作用。然而,这些企业并没有停留在生产监控的层面,而是 提出了更高的要求,希望能够利用实时数据库提供的实时数据来提升管 理层的管理系统,实现管理层对整个企业的实时生产管理。
目前,企业中的生产管理系统的数据来源一般来自手工录入数据, 或者是从生产设备中的各种集散控制系统(DCS)系统中直接获取。显 然,手工录入数据是非常不可取的,不但浪费了大量人力资源,而且还 无法保证数据的实时性及正确性。如果直接从生产设备中的各种DCS系 统中获取数据,则会导致生产管理系统的开发工作非常庞大和复杂。
因此,生产管理系统难以实时的获取生产数据,且无法有效保证生 产管理系统方便地得到正确可靠的实时生产数据,成为了目前急需解决 的重要技术问题。

发明内容
(一) 要解决的技术问题
有鉴于此,本发明的一个目的在于提供一种整合实时数据和关系数 据的系统,以解决生产管理系统难以实时的获取生产数据的问题,保证 生产管理系统能够方便地得到正确可靠的实时生产数据。
本发明的另一个目的在于提供一种整合实时数据和关系数据的方 法,以解决生产管理系统难以实时的获取生产数据的问题,保证生产管 理系统能够方便地得到正确可靠的实时生产数据。
(二) 技术方案
为达到上述一个目的,本发明提供了一种整合实时数据和关系数据 的系统,该系统包括
数据整合规则库,用于存储用户根据实际需要设定的数据整合规则;
解析器,用于将数据整合规则库中存储的数据整合规则解析成可执 行的条件表达式树和动作执行任务列表,并将解析出的结果存放到规则
解析树单元中;
规则解析树单元,用于存储解析器解析出的条件表达式树和动作执
行任务列表;
实时事件管理器,用于检测实时数据库中数据的变化,并在检测到 数据变化时向数据整合请求触发器发送数据变化通知;
数据整合请求触发器,用于在接收到数据变化通知后,从规则解析 树单元中提取对应的条件表达式树和动作执行任务列表,并将提取的条 件表达式树和动作执行任务列表发送给数据整合分析执行器;
数据整合分析执行器,用于对接收自数据整合请求触发器的条件表 达式树进行有效性分析,在确认条件表达式树有效后执行动作执行任务 列表中的动作,得到数据整合结果;
执行器,用于从实时数据库中获取实时数据,和/或从关系数据库中 获取关系数据,将获取的实时数据和/或关系数据发送给数据整合分析执 行器进行整合,并将数据整合分析执行器整合得到的数据整合结果写入 关系数据库。
上述方案中,所述数据整合规则库中存储的数据整合规则为ECA规 则,其中,E为事件,C为条件表达式,A为脚本语句。
上述方案中,该系统进一步包括一数据整合规则存储管理器,用于 ECA规则的定义、修改和存取,所述解析器通过数据整合规则存储管理 器访问数据整合规则库。
上述方案中,所述数据整合分析执行器包括
数据整合请求有效性分析器,用于在接收到条件表达式树和动作执 行任务列表后,对条件表达式树进行计算,如果计算结果为真,则将动 作执行任务列表发送给数据整合动作执行器;
数据整合动作执行器,用于在收到动作执行任务列表后,执行动作 执行任务列表中的动作,对执行任务列表中的每个任务进行计算,得到 数据整合结果。
上述方案中,该系统进一步包括一实时数据库接口和一关系数据库 接口;
所述实时数据库接口封装了对实时数据的访问,至少支持安捷Agilor 实时数据库;
所述关系数据库接口封装了对关系数据的访问,支持至少Oracle关 系数据库系统和SqlServer关系数据库系统;
所述实时事件管理器通过实时数据库接口检测实时数据库中数据的 变化;
所述执行器通过实时数据库接口从实时数据库中获取实时数据,通 过关系数据库接口从关系数据库中获取关系数据,并通过关系数据库接 口将数据整合结果写入关系数据库。
上述方案中,所述实时数据库进一步提供一数据发布接口和一数据 订阅接口;
当实时数据库中的实时数据发生变化时,实时数据库将通过所述数
据发布接口通知整合实时数据和关系数据的系统,触发实时数据更新事 件,从而产生数据整合请求;
整合实时数据和关系数据的系统通过所述数据订阅接口指定所关心 的数据,在整合实时数据和关系数据的系统所关心的数据发生变化时, 实时数据库将该数据的变化实时地通过数据发布接口通知整合实时数据 和关系数据的系统。
为达到上述另一个目的,本发明提供了一种整合实时数据和关系数 据的方法,应用于整合实时数据和关系数据的系统,该方法包括
配置数据整合规则库中的数据整合规则,在系统启动时,对系统进 行初始化;
实时事件管理器检测实时数据库中数据的变化,并在检测到数据变 化时向数据整合请求触发器发送数据变化通知;
数据整合请求触发器在接收到数据变化通知后,从规则解析树单元 中提取对应的条件表达式树和动作执行任务列表,并将提取的条件表达 式树和动作执行任务列表发送给数据整合分析执行器;
数据整合分析执行器对接收自数据整合请求触发器的条件表达式树 进行有效性分析,在确认条件表达式树有效后执行动作执行任务列表中 的动作,得到数据整合结果。
上述方案中,所述对系统进行初始化包括解析器将数据整合规则 库中存储的数据整合规则解析成可执行的条件表达式树和动作执行任务 列表,并将解析出的结果存放到规则解析树单元中。
上述方案中,所述实时事件管理器检测实时数据库中数据的变化, 向数据整合请求触发器发送数据变化通知的步骤包括实时事件管理器 检测实时数据库中数据的变化,当实时数据库中发生实时数据更新时, 实时事件管理器将产生一个实时更新事件,并将该实时更新事件发送给
数据整合请求触发器。
上述方案中,所述数据整合分析执行器包括数据整合请求有效性分 析器和数据整合动作执行器,所述数据整合分析执行器对接收自数据整 合请求触发器的条件表达式树进行有效性分析,并执行动作执行任务列
表中的动作,得到数据整合结果的步骤包括数据整合请求有效性分析
器在接收到条件表达式树和动作执行任务列表后,对条件表达式树进行 计算,如果计算结果为真,则将动作执行任务列表发送给数据整合动作 执行器;数据整合动作执行器在收到动作执行任务列表后,执行动作执
行任务列表中的动作,对执行任务列表中的每个任务进行计算,得到数 据整合结果。
上述方案中,该方法在数据整合动作执行器执行动作执行任务列表
中的动作时,进一步包括如果动作执行任务列表中的某个动作执行失 败,则结束该规则动作的执行。
上述方案中,该方法在得到数据整合结果后,进一步包括执行器 将数据整合分析执行器整合得到的数据整合结果写入关系数据库。
(三)有益效果 从上述技术方案可以看出,本发明具有以下有益效果
1、 本发明提供的这种整合实时数据和关系数据的系统和方法,针对 生产企业流程监控管理中的切实需求,以Agilor实时数据库系统为基础, 采用实时数据和关系数据的整合方法,既可以保证生产管理系统的数据 来源的实时性和正确性,又可以大大减轻生产管理系统的开发量。因此, 实时数据和关系数据的整合方法迅速地被各个企业接受,并在企业的信 息化建设中发挥着其显著的作用。
2、 本发明提供的这,"整合实时数据和关系数据的系统和方法,基于 Agilor实时数据库的订阅发布机制,实现了实时事件检测管理,并采用 规则执行自动采集实时数据,并对数据进行统计运算,直接生成生产管 理系统关心的数据,并将这些数据存储到关系数据库中,排除了冗余的 数据信息,因此不但保证了生产管理系统需要的数据的实时性、正确性 和可靠性,避免了手工录入的误操作,节省了人力,提高了生产管理效 率,而且还便于用户对数据进行查询,并为上层应用开发提供了方便。
3、 本发明提供的这种整合实时数据和关系数据的系统和方法,由于 实现了强大的规则脚本语言,并封装了所有访问实时数据库的细节,开 发人员只需要将数据整合需求以简单的规则描述出来,并将这些规则录 入系统中,系统就能够在持续运行过程中,自动按照规则描述实现所有
数据整合需求,将实时数据和关系数据整合成生产管理系统需要的精确 数据,因此大大减少了生产管理系统开发人员为了获得实时数据而耗费 的大量精力,縮短了开发,司期,提高了系统开发效率,而且还有利于后 期变更和维护,减少了维护成本。


图1为本发明提供的整合实时数据和关系数据系统的结构示意图; 图2为本发明提供的整合实时数据和关系数据总体技术方案的实现 流程图3为本发明提供的整合实时数据和关系数据启动时的方法流程图; 图4为本发明提供的整合实时数据和关系数据执行时的方法流程图; 图5为依照本发明实施例整合实时数据和关系数据系统的结构示意
图6为依照本发明实施例整合实时数据和关系数据的方法流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体 实施例,并参照附图,对本发明进一步详细说明。 下面首先详细介绍本发明的实现原理。
本发明基于Agilor实时数据库系统实现,Agilor数据库提供三类接 口 1、数据发布接口; 2、实时和历史数据查询接口; 3、写入数据接口。 数据发布接口是保证生产管理系统得到实时数据的前提条件。整合实时 数据和关系数据的系统(亦可称为数据整合工具),通过此接口能够实时 地检测到生产数据的变化。实时和历史数据査询接口是获取当前实时数 据和以往历史数据的必要条件。写入数据接口则是实现自动控制的先决 条件。
关系数据库提供标准结构化査询语言(SQL)语句,保证整合实时 数据和关系数据的系统能够从关系数据库中查询关系数据,并将整合数 据写入关系数据库中。
在数据整合方法中,每个数据整合需求都以ECA (事件-条件-动作)
规则形式表示。实时数据和关系数据的整合规则都是由事件触发的,事 件类型主要包括实时数据更新事件和周期事件。当检测到事件发生时, 将判断数据整合需求的前提条件是否满足,即条件C。条件C是一个布
尔表达式,需要访问事件的相关参数和通过Agilor访问接口来获取实时 或者历史数据,并计算表达式最终确定是否要做动作A。
事件是实现数据整合的前提,条件是进行数据整合的必要条件,而 动作则是数据整合的核心内容。动作A可以包含很多子动作,而每个子 动作都可以由自己的子动作,可以允许多级嵌套。每个子动作都是实现 数据整合需求的一个部分。子动作可以是从Agilor数据库中访问实时数 据或者历史数据,可以是将数据写入Agilor数据库来控制生产设备,可 以是从关系数据库中读取关系数据,同时也可以是将各种数据进行加工 处理,再写入到关系数据库中。
实时数据变化时,但并不意味着一定要进行数据整合工作,因为生 产管理系统不一定对所有变化的数据都关心。当产生数据整合请求时, 说明实时数据变化了,会产生事件El。然后,到ECA规则库中寻找对 应的规则,假设为E1-C1-A1,即对应的条件和动作分别为Cl和Al,需 要判断数据整合条件Cl是否满足,如果数据整合条件满足,则需要完成 数据整合工作,否则不做任何数据整合工作。
当事件El触发,而且数据整合条件Cl满足时,数据整合工作Al 将被执行。数据整合工作将根据生产管理系统对实时数据的需要获得相 应数据,以供生产管理系统使用。
实时数据的变化是进行数据整合的前提条件,当检测到实时数据变 化时就会产生数据整合请求,如果没有任何实时数据发生变化,数据整 合请求都不会产生。
此技术可以满足用户对实时数据和关系数据的整合需求,用户需要 将数据整合需求以ECA规则形式描述出来,并采用数据整合技术将整合 的数据保存到生产管理系统依赖的关系数据库中。
如图1所示,图1为本发明提供的整合实时数据和关系数据系统的 结构示意图,该系统至少包括数据整合规则库10、解析器11、规则解析
树单元12、实时事件管理器13、数据整合请求触发器14、数据整合分析
执行器15和执行器16。
其中,据整合规则库10用于存储用户根据实际需要设定的数据整合 规则。所述数据整合规则为ECA规则,其中,E为事件,C为条件表达 式,A为脚本语句。该ECA规则由用户根据数据整合需求进行编写并录 入的,所有的数据整合规则都保存在数据整合规则库中。
解析器11用于将数据整合规则库10中存储的数据整合规则解析成 可执行的条件表达式树和动作执行任务列表,并将解析出的结果存放到 规则解析树单元中。
规则解析树单元12用于存储解析器11解析出的条件表达式树和动 作执行任务列表。即规则解析树单元12中存储所有能够正确解析的规则。 规则中的事件描述哪个数据发生变化;规则中的条件是以表达式树形式 存储的;规则中的动作是一个解析之后的执行任务列表。
实时事件管理器13用于检测实时数据库中数据的变化,并在检测到 数据变化时向数据整合请求触发器14发送数据变化通知
数据整合请求触发器14用于在接收到数据变化通知后,从规则解析 树单元12中提取对应的条件表达式树和动作执行任务列表,并将提取的 条件表达式树和动作执行任务列表发送给数据整合分析执行器15。
数据整合分析执行器15用于对接收自数据整合请求触发器14的条 件表达式树进行有效性分析,在确认条件表达式树有效后执行动作执行 任务列表中的动作,得到数据整合结果。所述数据整合分析执行器15包 括数据整合请求有效性分析器和数据整合动作执行器,数据整合请求有 效性分析器用于在接收到条件表达式树和动作执行任务列表后,对条件 表达式树进行计算,如果计算结果为真,则将动作执行任务列表发送给 数据整合动作执行器。数据整合动作执行器用于在收到动作执行任务列 表后,执行动作执行任务列表中的动作,对执行任务列表中的每个任务 进行计算,得到数据整合结果。即数据整合请求有效性分析器接收到条 件表达式树和动作执行任务列表之后,将对条件表达式树进行计算,如 果计算结果为真,会将动作执行任务列表再传送给数据整合动作执行器。
执行器16用于从实时数据库中获取实时数据,和/或从关系数据库中
获取关系数据,将获取的实时数据和/或关系数据发送给数据整合分析执 行器15进行整合,并将数据整合分析执行器15整合得到的数据整合结 果写入关系数据库,以满足生产管系统的需求。在数据整合请求分析器 对表达式树进行计算,数据整合动作执行器对任务进行计算时,可能需 要通过函数方式访问实时数据库和关系数据库,而执行器则负责这些函 数的执行,执行过程中将根据不同的函数定义分别调用实时数据库接口 和关系数据库接口。
该系统还可以进一步包括一数据整合规则存储管理器17,用于ECA 规则的定义、修改和存取,所述解析器11通过数据整合规则存储管理器 17访问数据整合规则库10。
该系统还可以进一步包括一实时数据库接口 18和一关系数据库接口 19。所述实时数据库接口 18封装了对实时数据的访问,至少支持Agilor 实时数据库,还可以扩展支持其他类型的实时数据库。所述关系数据库 接口 19封装了对关系数据的访问,支持至少Oracle关系数据库系统和 SqlServer的关系数据库系统,还可以扩展支持其他类型的关系数据库。 所述实时事件管理器13通过实时数据库接口 18检测实时数据库中数据 的变化。所述执行器通过实时数据库接口 18从实时数据库中获取实时数 据,通过关系数据库接口 19从关系数据库中获取关系数据,并通过关系 数据库接口 19将数据整合结果写入关系数据库。
上述实时数据库进一步提供一数据发布接口和一数据订阅接口。当 实时数据库中的实时数据发生变化时,实时数据库将通过所述数据发布 接口通知整合实时数据和关系数据的系统,触发实时数据更新事件,从 而产生数据整合请求。整合实时数据和关系数据的系统通过所述数据订 阅接口指定所关心的数据,在整合实时数据和关系数据的系统所关心的 数据发生变化时,实时数据库将该数据的变化实时地通过数据发布接口 通知整合实时数据和关系数据的系统。
基于图1所示的整合实时数据和关系数据系统的结构示意图,图2 示出了本发明提供的整合实时数据和关系数据总体技术方案的实现流程 图,该方法包括以下步骤
步骤201:配置数据整合规则库中的数据整合规则,在系统启动时, 对系统进行初始化。
步骤202:实时事件管理器检测实时数据库中数据的变化,并在检测 到数据变化时向数据整合请求触发器发送数据变化通知。
步骤203:数据整合请求触发器在接收到数据变化通知后,从规则解
析树单元中提取对应的条件表达式树和动作执行任务列表,并将提取的 条件表达式树和动作执行任务列表发送给数据整合分析执行器。
步骤204:数据整合分析执行器对接收自数据整合请求触发器的条件
表达式树进行有效性分析,在确认条件表达式树有效后执行动作执行任 务列表中的动作,得到数据整合结果。
上述步骤201中所述对系统进行初始化包括解析器将数据整合规 则库中存储的数据整合规则解析成可执行的条件表达式树和动作执行任 务列表,并将解析出的结果存放到规则解析树单元中。
对系统进行初始化的过程可参考图3,图3为本发明提供的整合实时
数据和关系数据启动时的方法流程图。系统启动时,将进行初始化工作, 从数据整个规则库中装载每一个规则,并对每一条规则进行解析,生成 规则解析树。
上述步骤202中所述实时事件管理器检测实时数据库中数据的变化,
向数据整合请求触发器发送数据变化通知的步骤包括实时事件管理器
检测实时数据库中数据的变化,当实时数据库中发生实时数据更新时, 实时事件管理器将产生一个实时更新事件,并将该实时更新事件发送给 数据整合请求触发器。
上述步骤204包括数据整合请求有效性分析器在接收到条件表达
式树和动作执行任务列表后,对条件表达式树进行计算,如果计算结果
为真,则将动作执行任务列表发送给数据整合动作执行器;数据整合动 作执行器在收到动作执行任务列表后,执行动作执行任务列表中的动作, 对执行任务列表中的每个任务进行计算,得到数据整合结果。
在数据整合动作执行器执行动作执行任务列表中的动作时,进一步
包括如果动作执行任务列表中的某个动作执行失败,则结束该规则动
作的执行。
该方法在得到数据整合结果后,进一步包括执行器将数据整合分 析执行器整合得到的数据整合结果写入关系数据库。
上述本发明提供的整合实时数据和关系数据执行时的方法还可以参 考图4,图4为本发明提供的整合实时数据和关系数据执行时的方法流程 图,该方法包括以下步骤
步骤401:当实时数据库中发生实时数据更新时,将会通知实时事件 管理器产生一个实时更新事件,并将事件发送给数据整合请求触发器。
步骤402:数据整合请求触发器接收到事件之后,将从规则解析树中 提取所有与该事件相匹配的规则条件和动作,并触发每一条规则的执行。
步骤403:规则执行过程中,首先会由数据整合请求有效性分析器 进行有效性分析(即计算规则条件表达式),如果请求有效(即条件表达 式为真),那么将由数据整合动作执行器执行该规则动作。
步骤404:在数据整合动作执行器进行动作执行过程中,会根据规则 解析树,执行树中的动作, 一旦解析树中的某个动作执行失败,该规则 动作的执行将立即结束。
步骤405:将最终计算得到的数据写入关系数据库中,以满足生产管
系统的需求。
基于图1至图4所述的整合实时数据和关系数据的系统和方法,以
下以某国有大型钢铁企业监控和跟踪炼钢厂各个设备和车间的生产状况 为例,结合附图进一步说明本发明提供的整合实时数据和关系数据的系 统和方法。 1、总体需求
某国有大型钢铁企业为了更好的监控和跟踪炼钢厂各个设备和车间 的生产状况,加快生产过程自动化进程,需要将炼钢厂的工艺监督系统 建立在实时数据库基础之上,使之能够及时反映现场的情况。工艺监督 系统建设的目标是利用实时数据库,自动采集并存储来自不同区域的工 艺数据,辅以手工数据录入,并利用数据整合工具自动计算和存储统计 量,将实时数据与关系数据进行整合,从而实现炼钢厂工艺参数的实时
监控与报表的自动生成。 2、系统体系结构
系统采用浏览器/服务器(B/S)模式,按照浏览器"^Web服务器一 —关系数据库(RDB) +实时数据库(RTDB)三层模式架构,系统体系 结构如图5所示,图5为依照本发明实施例整合实时数据和关系数据系 统的结构示意图。图5中所述数据整合工具(DI)即为本发明提供的整 合实时数据和关系数据的系统。
下面由下而上对图5所示的整合实时数据和关系数据系统体系结构 进行描述
(1) 根据企业现在的实时数据库建设情况,自动的数据采集国内已 经具备,需要开发手工数据录入功能,提供对手抄数据的录入Web界面;
(2) 采用实时数据整合工具,即本发明提供的整合实时数据和关系 数据的系统,对每个炉次中的实时数据进行统计,在炉次结束后即可将 改炉次的统计数据写入关系数据库,提供数据的聚集运算,如累计值、 平均值、最大值、最小值等;
(3) 利用实时数据整合工具,定期根据采集或者录入的数据,按照 用户设定的公式或者比例进行估算,并支持用户对这些数据的修改与校 正,估算的数据同时送入关系数据库与实时数据库;
(4) 基于实时数据库Agilor提供实时监控服务,以便实现炉次数据 的实时监控;
(5) 基于关系数据库提供动态报表服务,支持用户动态生成需要的 报表;炉次数据图与报表都能够通过浏览器进行浏览査看。
3、数据整合工具的作用
由于Agilor提供实时数据订阅功能,因此可以用数据整合工具(DI) 订阅炉次开始和结束的点的实时数据,同时也订阅在一个炉次过程所有 相关的炉次数据,然后利用DI强大的数据整合功能,对获取的实时数据 进行处理,然后写入SQL Server。具体过程如图6所示,图6为依照本 发明实施例整合实时数据和关系数据的方法流程图。
从图6可以看出,数据整合工具的作用是由炉次号等设备点的变 化触发相应的规则从而完成特定的动作,实现了实时数据到统计型的关
17系数据的转换,并且这一过程对用户是透明的。只需要利用DI的脚本写 一段规则即可完成上述任务。 规则示例
事件定义OnChange("ARTDB.zj1—luci")
条件定义CurrentTime()>=ToTime("2007-01-01 00:00:00")
动作定义
long hRecordSet,rq;
drecord=0;
xrecord=0;
lch=TagVal("ARTDB.zj l—luci"); StartTime=TagStamp("ARTDB.zjl_luci"); rq:GetSe證Time("ARTDB"); DTime—old=DTime; XTime—old=XTime;
hR,dSet=DBOpen("RDB","select * from LEVCEL2一FPSB"); if(hRecordSet<0)
printf("W机打开数据库失败"); if (hRecordSet >=0 )
DBA謹ew(hRecordSet); DBSetVal(hRecordSet, "RQ", ToDateString(rq)); DBSetVal(hRecordSet, "LCH", lch); DBUpdate(hRecordSet); DBClose(hRecordSet);
hRecordSet=DBOpen("RDB","select * from LEVCEL2—FPGYB"); if(hRecordSet<0)
printf("打开数据库失败"); if (hRecordSet >=0 ) DBAddNew(hRecorc[Set); DBSetVal(hRecordSet, "RQ", ToDateString(rq)); DBSetVal(hRecordSet, "LCH", lch); DBUpdate(hRecordSet); DBClose(hRecordSei:);
EnableRule("l#JI—JS"); EnableRule("ZBWDDl"); EnableRule("ZBWDXl"); DisableRule("l組一KS');
此规则的含义是炉次开始时,在关系数据库表中添加一条新记录, 写入日期、炉次号信息,同时触发其他相应规则。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进 行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施 例而己,并不用于限制本发明,凡在本发明的精神和原则之内,所做的 任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种整合实时数据和关系数据的系统,其特征在于,该系统包括数据整合规则库,用于存储用户根据实际需要设定的数据整合规则;解析器,用于将数据整合规则库中存储的数据整合规则解析成可执行的条件表达式树和动作执行任务列表,并将解析出的结果存放到规则解析树单元中;规则解析树单元,用于存储解析器解析出的条件表达式树和动作执行任务列表;实时事件管理器,用于检测实时数据库中数据的变化,并在检测到数据变化时向数据整合请求触发器发送数据变化通知;数据整合请求触发器,用于在接收到数据变化通知后,从规则解析树单元中提取对应的条件表达式树和动作执行任务列表,并将提取的条件表达式树和动作执行任务列表发送给数据整合分析执行器;数据整合分析执行器,用于对接收自数据整合请求触发器的条件表达式树进行有效性分析,在确认条件表达式树有效后执行动作执行任务列表中的动作,得到数据整合结果;执行器,用于从实时数据库中获取实时数据,和/或从关系数据库中获取关系数据,将获取的实时数据和/或关系数据发送给数据整合分析执行器进行整合,并将数据整合分析执行器整合得到的数据整合结果写入关系数据库。
2、 根据权利要求1所述的整合实时数据和关系数据的系统,其特征 在于,所述数据整合规则库中存储的数据整合规则为ECA规则,其中, E为事件,C为条件表达式,A为脚本语句。
3、 根据权利要求2所述的整合实时数据和关系数据的系统,其特征 在于,该系统进一步包括一数据整合规则存储管理器,用于ECA规则的 定义、修改和存取,所述解析器通过数据整合规则存储管理器访问数据 整合规则库。
4、 根据权利要求1所述的整合实时数据和关系数据的系统,其特征 在于,所述数据整合分析执行器包括数据整合请求有效性分析器,用于在接收到条件表达式树和动作执 行任务列表后,对条件表达式树进行计算,如果计算结果为真,则将动 作执行任务列表发送给数据整合动作执行器;数据整合动作执行器,用于在收到动作执行任务列表后,执行动作 执行任务列表中的动作,对执行任务列表中的每个任务进行计算,得到 数据整合结果。
5、 根据权利要求1所述的整合实时数据和关系数据的系统,其特征 在于,该系统进一步包括一实时数据库接口和一关系数据库接口;所述实时数据库接口封装了对实时数据的访问,至少支持安捷Agilor 实时数据库;所述关系数据库接口封装了对关系数据的访问,支持至少Oracle关 系数据库系统和SqlServer关系数据库系统;所述实时事件管理器通过实时数据库接口检测实时数据库中数据的 变化;所述执行器通过实时数据库接口从实时数据库中获取实时数据,通 过关系数据库接口从关系数据库中获取关系数据,并通过关系数据库接 口将数据整合结果写入关系数据库。
6、 根据权利要求5所述的整合实时数据和关系数据的系统,其特征 在于,所述实时数据库进一步提供一数据发布接口和一数据订阅接口;当实时数据库中的实时数据发生变化时,实时数据库将通过所述数 据发布接口通知整合实时数据和关系数据的系统,触发实时数据更新事 件,从而产生数据整合请求;整合实时数据和关系数据的系统通过所述数据订阅接口指定所关心 的数据,在整合实时数据和关系数据的系统所关心的数据发生变化时, 实时数据库将该数据的变化实时地通过数据发布接口通知整合实时数据 和关系数据的系统。
7、 一种整合实时数据和关系数据的方法,应用于整合实时数据和关 系数据的系统,其特征在于,该方法包括配置数据整合规则库中的数据整合规则,在系统启动时,对系统进 行初始化;实时事件管理器检测实时数据库中数据的变化,并在检测到数据变 化时向数据整合请求触发器发送数据变化通知;数据整合请求触发器在接收到数据变化通知后,从规则解析树单元 中提取对应的条件表达式树和动作执行任务列表,并将提取的条件表达 式树和动作执行任务列表发送给数据整合分析执行器;数据整合分析执行器对接收自数据整合请求触发器的条件表达式树 进行有效性分析,在确认条件表达式树有效后执行动作执行任务列表中 的动作,得到数据整合结果。
8、 根据权利要求7所述的整合实时数据和关系数据的方法,其特征 在于,所述对系统进行初始化包括解析器将数据整合规则库中存储的数据整合规则解析成可执行的条 件表达式树和动作执行任务列表,并将解析出的结果存放到规则解析树 单元中。
9、 根据权利要求7所述的整合实时数据和关系数据的方法,其特征 在于,所述实时事件管理器检测实时数据库中数据的变化,向数据整合 请求触发器发送数据变化通知的步骤包括实时事件管理器检测实时数据库中数据的变化,当实时数据库中发 生实时数据更新时,实时事件管理器将产生一个实时更新事件,并将该 实时更新事件发送给数据整合请求触发器。
10、 根据权利要求7所述的整合实时数据和关系数据的方法,其特 征在于,所述数据整合分析执行器包括数据整合请求有效性分析器和数 据整合动作执行器,所述数据整合分析执行器对接收自数据整合请求触 发器的条件表达式树进行有效性分析,并执行动作执行任务列表中的动 作,得到数据整合结果的步骤包括数据整合请求有效性分析器在接收到条件表达式树和动作执行任务 列表后,对条件表达式树进行计算,如果计算结果为真,则将动作执行任务列表发送给数据整合动作执行器;数据整合动作执行器在收到动作执行任务列表后,执行动作执行任 务列表中的动作,对执行任务列表中的每个任务进行计算,得到数据整入妙祖 口 5口未。
11、 根据权利要求7或10所述的整合实时数据和关系数据的方法, 其特征在于,该方法在数据整合动作执行器执行动作执行任务列表中的 动作时,进一步包括如果动作执行任务列表中的某个动作执行失败,则结束该规则动作 的执行。
12、 根据权利要求7所述的整合实时数据和关系数据的方法,其特 征在于,该方法在得到数据整合结果后,进一步包括-执行器将数据整合分析执行器整合得到的数据整合结果写入关系数据库。
全文摘要
本发明涉及流程监控管理技术领域,公开了一种整合实时数据和关系数据的系统,包括数据整合规则库、解析器、规则解析树单元、实时事件管理器、数据整合请求触发器、数据整合分析执行器,以及执行器。本发明同时公开了一种整合实时数据和关系数据的方法。利用本发明,解决了生产管理系统难以实时的获取生产数据的问题,保证了生产管理系统能够方便地得到正确可靠的实时生产数据。
文档编号G06Q10/00GK101354758SQ20071011947
公开日2009年1月28日 申请日期2007年7月25日 优先权日2007年7月25日
发明者伟 刘, 坤 李, 冰 杨, 堃 王, 强 王, 王永炎, 娜 程 申请人:中国科学院软件研究所;北京中科启信软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1