CN101354758B - 整合实时数据和关系数据的***和方法 - Google Patents
整合实时数据和关系数据的***和方法 Download PDFInfo
- Publication number
- CN101354758B CN101354758B CN2007101194752A CN200710119475A CN101354758B CN 101354758 B CN101354758 B CN 101354758B CN 2007101194752 A CN2007101194752 A CN 2007101194752A CN 200710119475 A CN200710119475 A CN 200710119475A CN 101354758 B CN101354758 B CN 101354758B
- Authority
- CN
- China
- Prior art keywords
- data
- integration
- real
- action
- real time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及流程监控管理技术领域,公开了一种整合实时数据和关系数据的***,包括:数据整合规则库、解析器、规则解析树单元、实时事件管理器、数据整合请求触发器、数据整合分析执行器,以及执行器。本发明同时公开了一种整合实时数据和关系数据的方法。利用本发明,解决了生产管理***难以实时的获取生产数据的问题,保证了生产管理***能够方便地得到正确可靠的实时生产数据。
Description
技术领域
本发明涉及流程监控管理技术领域,尤其涉及一种整合实时数据和关系数据的***和方法,可以应用于冶金、石化和电力等行业的流程监控管理***。
背景技术
随着信息技术和现代管理理论在改造传统产业中的应用,我国加快了用于流程监控行业的监控管理***研发,从而加速流程监控行业的信息化建设进程。在流程监控行业中,为了实现企业信息化,监控管理***对数据的实时性提出了很高的要求。监控***对实时数据的要求是显而易见的,监控画面中的数据必须是实时的,否则无法起到实时监控应有的作用。实时数据是具有时间戳,并能够同步描述数值的数据。
随着信息化水平的提高,管理***对实时数据的要求也越来越高。企业领导层需要得到大量的统计信息,这些统计信息便于领导层了解当前企业的实时运行状况,并能够及时地对企业运营策略进行调整,从而提高企业的生产力和竞争力。
中国科学院软件研究所自主研发的安捷(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数据库来控制生产设备,可以是从关系数据库中读取关系数据,同时也可以是将各种数据进行加工处理,再写入到关系数据库中。
实时数据变化时,但并不意味着一定要进行数据整合工作,因为生产管理***不一定对所有变化的数据都关心。当产生数据整合请求时,说明实时数据变化了,会产生事件E1。然后,到ECA规则库中寻找对应的规则,假设为E1-C1-A1,即对应的条件和动作分别为C1和A1,需要判断数据整合条件C1是否满足,如果数据整合条件满足,则需要完成数据整合工作,否则不做任何数据整合工作。
当事件E1触发,而且数据整合条件C1满足时,数据整合工作A1将被执行。数据整合工作将根据生产管理***对实时数据的需要获得相应数据,以供生产管理***使用。
实时数据的变化是进行数据整合的前提条件,当检测到实时数据变化时就会产生数据整合请求,如果没有任何实时数据发生变化,数据整合请求都不会产生。
此技术可以满足用户对实时数据和关系数据的整合需求,用户需要将数据整合需求以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可以看出,数据整合工具的作用是:由炉次号等设备点的变化触发相应的规则从而完成特定的动作,实现了实时数据到统计型的关系数据的转换,并且这一过程对用户是透明的。只需要利用DI的脚本写一段规则即可完成上述任务。
规则示例:
事件定义:OnChange(″ARTDB.zj1_zjluci″)
条件定义:CurrentTime()>=ToTime(″2007-01-0100:00:00″)
动作定义:
long hRecordSet,rq;
drecord=0;
xrecord=0;
lch=TagVal(″ARTDB.zj1_luci″);
StartTime=TagStamp(″ARTDB.zj1_luci″);
rq=GetServerTime(″ARTDB″);
DTime_old=DTime;
XTime_old=XTime;
hRecordSet=DBOpen(″RDB″,″select*from LEVCEL2_FPSB″);
if(hRecordSet<0)
printf(″1#机打开数据库失败″);
if(hRecordSet>=0)
{
DBAddNew(hRecordSet);
DBSetVal(hRecordS et,″RQ″,ToDateString(rq));
DBSetVal(hRecordS et,″LCH″,lch);
DBUpdate(hRecordSet);
DBClose(hRecordSet);
}
hRecordSet=DBOpen(″RDB″,″select*from LEVCEL2_FPGYB″);
if(hRecordSet<0)
printf(″打开数据库失败″);
if(hRecordSet>=0)
{
DBAddNew(hRecorcSet);
DBSetVal(hRecordSet,″RQ″,ToDateString(rq));
DBSetVal(hRecordSet,″LCH″,lch);
DBUpdate(hRecordSet);
DBClose(hRecordSet);
}
EnableRule(″1#JI_JS″);
EnableRule(″ZBWDD1″);
EnableRule(″ZBWDX1″);
DisableRule(″1#JI_KS″);
此规则的含义是:炉次开始时,在关系数据库表中添加一条新记录,写入日期、炉次号信息,同时触发其他相应规则。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
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或9所述的整合实时数据和关系数据的方法,其特征在于,该方法在数据整合动作执行器执行动作执行任务列表中的动作时,进一步包括:
如果动作执行任务列表中的某个动作执行失败,则结束该规则动作的执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101194752A CN101354758B (zh) | 2007-07-25 | 2007-07-25 | 整合实时数据和关系数据的***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101194752A CN101354758B (zh) | 2007-07-25 | 2007-07-25 | 整合实时数据和关系数据的***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101354758A CN101354758A (zh) | 2009-01-28 |
CN101354758B true CN101354758B (zh) | 2012-05-09 |
Family
ID=40307562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101194752A Expired - Fee Related CN101354758B (zh) | 2007-07-25 | 2007-07-25 | 整合实时数据和关系数据的***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101354758B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101634991B (zh) * | 2009-04-21 | 2013-11-06 | 上海申瑞继保电气有限公司 | 数据采集与监视控制***的遥测数据清洗方法 |
CN106126388A (zh) * | 2009-10-16 | 2016-11-16 | 阿里巴巴集团控股有限公司 | 监控事件的方法、规则引擎装置和规则引擎*** |
EP2579190A1 (en) * | 2011-10-03 | 2013-04-10 | Siemens Aktiengesellschaft | System and method for controlling the operations of a manufacturing facility |
CN103580944A (zh) * | 2012-08-02 | 2014-02-12 | 北京千橡网景科技发展有限公司 | 实时获取用户数据的方法和*** |
CN103699555A (zh) * | 2013-07-03 | 2014-04-02 | 国电南瑞科技股份有限公司 | 一种适用于调度与变电站一体化***的多源数据实时库数据生成方法 |
CN103399881A (zh) * | 2013-07-16 | 2013-11-20 | 沈阳中科博微自动化技术有限公司 | 集成电路生产设备实时数据快速采集分发方法 |
CN103401909B (zh) * | 2013-07-24 | 2017-03-08 | 迈普通信技术股份有限公司 | 基于bs的数据交互方法与***、客户端及服务器 |
CN105467953B (zh) * | 2015-11-11 | 2018-01-09 | 中国科学院软件研究所 | 一种面向工业大数据的知识表示及其自动化应用方法 |
CN105677331A (zh) * | 2015-12-30 | 2016-06-15 | 浙江大华***工程有限公司 | 一种任务执行方法和装置 |
US20200327498A1 (en) * | 2016-03-21 | 2020-10-15 | National Ict Australia Limited | Business Process Execution on a Blockchain Platform |
CN108920520A (zh) * | 2018-06-04 | 2018-11-30 | 浪潮通用软件有限公司 | 一种将实时数据转换为结构数据的方法及*** |
CN110196885B (zh) * | 2019-06-13 | 2021-02-02 | 东方电子股份有限公司 | 一种云化分布式实时数据库*** |
CN112764726B (zh) * | 2019-11-04 | 2023-09-01 | 北京京东振世信息技术有限公司 | 一种数据合成的方法和装置 |
CN111241074B (zh) * | 2019-12-27 | 2023-07-04 | 冶金自动化研究设计院 | 基于时序数据和关系数据的钢铁企业数据中心应用*** |
CN112100255B (zh) * | 2020-08-03 | 2024-07-02 | 中冶南方工程技术有限公司 | 一种钢铁全流程质量数据平台的对外数据通讯方法和*** |
CN112990466A (zh) * | 2021-03-31 | 2021-06-18 | 龙马智芯(珠海横琴)科技有限公司 | 一种冗余规则检测方法、装置以及服务器 |
-
2007
- 2007-07-25 CN CN2007101194752A patent/CN101354758B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101354758A (zh) | 2009-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101354758B (zh) | 整合实时数据和关系数据的***和方法 | |
CN107038162B (zh) | 基于数据库日志的实时数据查询方法和*** | |
CN110245035A (zh) | 一种链路跟踪方法及装置 | |
CN102323945B (zh) | 一种基于sql的数据库管理方法和装置 | |
CN103593422B (zh) | 一种异构数据库的虚拟访问管理方法 | |
CN112256782B (zh) | 基于Hadoop的电力大数据处理*** | |
US20180129579A1 (en) | Systems and Methods with a Realtime Log Analysis Framework | |
CN103441900B (zh) | 集中式跨平台自动化测试***及其控制方法 | |
CN104899295B (zh) | 一种异构数据源数据关联分析方法 | |
CN107909300A (zh) | 智能工厂管理平台和方法 | |
CN101957832A (zh) | 对于事件流数据管理的统一的窗口支持 | |
CN103823797A (zh) | 基于ftp协议的行业数据库数据实时同步*** | |
CN107301205A (zh) | 一种大数据分布式实时查询方法及*** | |
CN102096688A (zh) | 数据报表的生成方法及装置 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及*** | |
CN109491343A (zh) | 工业制造过程远程物联监控*** | |
CN112148578A (zh) | 基于机器学习的it故障缺陷预测方法 | |
CN104268056A (zh) | 基于复杂事件处理的面向cps应用的实时监控***及方法 | |
CN110059138A (zh) | 一种基于大数据平台数据分析域构架方法 | |
US20130173663A1 (en) | Method, distributed architecture and web application for overall equipment effectiveness analysis | |
CN116010452A (zh) | 基于流式计算引擎的工业数据处理***和方法、介质 | |
CN117149873A (zh) | 一种基于流批一体化的数据湖服务平台构建方法 | |
CN109445304A (zh) | 一种基于车载信号的故障智能分析***及方法 | |
CN109408602A (zh) | 一种大数据综合处理方法及*** | |
CN106709016B (zh) | 一种基于服务总线的数据交换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120509 Termination date: 20130725 |