本发明涉及数据结构与算法,具体为一种新的力控监控组态系统与mysql数据库的数据交互方法。
背景技术:
1、力控监控组态系统可以实时采集工业设备的数据信息,从而监控设备运行状态。力控监控组态系统的实时数据库将点作为数据库的基本数据对象,以树型结构组织点,对点“参数”进行管理。点参数是含一个值(整型、实型、字符串型等)的数据项的名称,一般的标准点参数有pv、name、desc等。
2、外部应用程序访问力控监控组态系统实时数据库不够方便和高效,故在力控监控组态系统中将数据转发到mysql数据库,更能方便快捷的使用数据。力控监控组态系统实时数据库,提供了与第三方数据库交互接口,如odbc等,但由力控监控组态系统odbcrouter模块转发到关系库的数据是以点作为一个记录的,当点的数量较为庞大时,对第三方的数据库管理变得复杂繁琐,同时检索效率也会明显降低。在实际应用中更多更频繁使用的只是pv(过程测量值),如果把一个设备多个点的pv值组成一个关系数据库记录,批量的传输数据,能显著提高数据的传输效率。因此,我们提出了一种新的力控监控组态系统与mysql数据库的数据交互方法。
技术实现思路
1、本发明的目的是为了解决现有技术中存在的缺点,而提出的一种新的力控监控组态系统与mysql数据库的数据交互方法。
2、为了实现上述目的,本发明采用了如下技术方案:
3、一种新的力控监控组态系统与mysql数据库的数据交互方法,包括如下步骤:
4、a.在mysql数据库中建立需要转发的数据表。
5、b.力控监控组态系统实时数据与mysql数据库建立连接。
6、c.在力控监控组态软的动作脚本中编辑脚本,实现个性化数据转发功能。
7、c1.从mysql数据库获取需要的转发设备。
8、c2.从力控监控组态软实时数据库取出所需数据。
9、c3.数据转发到mysql数据库。
10、c4.持续数据转发,根据应用需要,周期执行转发程序,完成数据的不间断传输。
11、优选的,所述步骤a中每个设备为一条记录,包含该设备信息的若干字段。
12、优选的,所述步骤b中利用力控监控组态系统的ado组件通过odbc建立两个数据库的连接。
13、优选的,所述步骤c1中用力控监控组态系统ado组件的excutesql方法检索出需要转发数据的设备列表,设备数量较多,需要进行分组,建议按cpu逻辑处理器数量来分组。
14、优选的,所述步骤c2中力控监控组态软实时数据库的点变量可安点名直接读取。
15、优选的,所述步骤c3中每个设备的数据信息组成一条数据记录,每组设备中所有数据记录组成一个数据块,用ado组件的excutesql方法将数据发送到mysql数据库。组中设备量大,分多次进行数据发送。
16、优选的,所述步骤c4中需要实时性强,将转发周期时间设置的短一些,反之转发周期时间设置的长一些。
17、与现有技术相比,本发明的有益效果如下:
18、1、本发明通过步骤a,在mysql数据库中配置设备信息,增删修改实现起来便捷简单。在力控监控组态系统中是以点为单位来操作的,假设一个设备有k个点,如果把设备配置放操作在力控监控组态系统中,工作量将是在mysql中的k倍。
19、2、本发明通过步骤c1,将设备进行分组,每组一个线程来执行,提高了并发性,即能保证数据传输的完整性,也能减少io次数,提高数据传输效率。假设有m个设备,每个设备k个数据点,每次传输一个点,则io次数为m*k。以分组形式按记录传输,若每组20个设备,则io次数为m/20。
20、3、本发明通过步骤c3,假设一个设备有m个数据需要转发到数据库,将这m个数据组成一个数据组,再加上该设备id,与一个关系数据库记录相对应,一个设备的转发数据量为m+1,如果单个转发则转发数据量为2m,m值越大,效率提升越明显,而且数据的逻辑性更强,更容易理解记忆。
1.一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于:所述步骤a中每个设备为一条记录,包含该设备信息的若干字段。
3.根据权利要求1所述的一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于:所述步骤b中利用力控监控组态系统的ado组件通过odbc建立两个数据库的连接。
4.根据权利要求1所述的一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于:所述步骤c1中用力控监控组态系统ado组件的excutesql方法检索出需要转发数据的设备列表,设备数量较多,需要进行分组,建议按cpu逻辑处理器数量来分组。
5.根据权利要求1所述的一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于:所述步骤c2中力控监控组态软实时数据库的点变量可安点名直接读取。
6.根据权利要求1所述的一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于:所述步骤c3中每个设备的数据信息组成一条数据记录,每组设备中所有数据记录组成一个数据块,用ado组件的excutesql方法将数据发送到mysql数据库。组中设备量大,分多次进行数据发送。
7.根据权利要求1所述的一种新的力控监控组态系统与mysql数据库的数据交互方法,其特征在于:所述步骤c4中需要实时性强,将转发周期时间设置的短一些,反之转发周期时间设置的长一些。