一种Historian数据库与MongoDB数据库数据同步的方法

文档序号:9200396阅读:1425来源:国知局
一种Historian 数据库与MongoDB数据库数据同步的方法
【技术领域】
[0001]本发明涉及一种数据同步方法,特别是一种Historian数据库与MongoDB数据库数据同步的方法。
【背景技术】
[0002]MongoDB是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Historian是GE公司推出的适用于工业企业的一种高性能实时数据库。它能能提供无与伦比的可扩展性,支持多达500,000条标签。Historian保存的都是企业最原始的生产数据,事关生产安全,正常情况下不同意直接连接该数据库进行数据分析工作。所以需要将Historian里面的数据同步到Mongodb数据库,以便进行整合、开发。目前还没有Historian同步MongoDB的方法。

【发明内容】

[0003]本实发明的目的在于提供一种Historian同步MongoDB的方法,以方便进行整合、开发。
[0004]为达到上述目的,本发明是通过以下技术方案实现的:
一种Historian数据库与MongoDB数据库数据同步的方法,其包含:
同步程序服务器:用于存储数组A、数组B和运行数据同步模块;
Historian服务器:包含实时运行的Historian数据库;
MongoDB集群:包含MongoDB数据库,是大数据分析用到的No SQL数据库集群;
所述方法包含以下步骤:
步骤一、所述数据同步模块调用MongoDB C#驱动,连接MongoDB数据库,将需要获取的Tag名单保存到数组A中;
步骤二、所述数据同步模块调用Historian数据库中的Proficy.Historian.UserAPI数据,将数组A中所有Tag在Proficy.Historian.UserAPI数据中对应的最新的值取出来保存到数组B中;
步骤三、所述数据同步模块调用MongoDB C#驱动,将数组B中的值插入到到MongoDB数据库中;
步骤四、设置定时任务,定时调用数据同步模块。
[0005]步骤五、启动定时任务,观察MongoDB数据库,数组B中的值已经同步到MongoDB数据库,则同步成功。
[0006]进一步地,所述的数据同步模块的构建方法为用Visual Stud1新建一个工程,将MongoDB驱动复制到该工程根目录下,然后再新建一个类,该类包含以下动作:
A、引入MongoDBC#驱动;
B、弓I入Proficy.Historian.UserAPI ;
C、调用MongoDBC#驱动,连接MongoDB数据库,将需要获取的Tag名单保存到数组A中;
D、将数组A中所有Tag在Proficy.Historian.UserAPI数据中对应的最新的值取出来保存到数组B中
E、调用MongoDBC#驱动,将数组B中的值插入到MongoDB数据库中。
[0007]进一步地,所述的同步程序服务器与Historian服务器、MongoDB集群通过TCP/IP协议通信。
[0008]进一步地,所述的同步程序服务器操作系统为Windows Server 2012。
[0009]进一步地,所述的定时任务新建在控制面板,每秒调用I次。
[0010]进一步地,所述的定时任务设置为自动启动。
[0011]进一步地,所述的定时任务新建在控制面板,每秒调用I次。
[0012]进一步地,所述的定时任务设置为自动启动。
[0013]本发明的功效在于:发明可以达到让开发人员能够将不对外开放的Historian数据同步到MongoDB,软件开发时直接从MongoDB取数据,便于企业基于MongoDB做大数据分析以及其他需求所需要的二次开发。
【附图说明】
[0014]图1是Historian数据库与MongoDB数据库同步过程示意图。
[0015]图2是Historian数据库与MongoDB数据库同步网络架构图。
[0016]图3是Historian数据库与MongoDB数据库同步实施过程示意图。
【具体实施方式】
[0017]下面结合附图对本发明作进一步说明:
实施例1:开发过程。为了便于本领域技术人员理解,下面结合附图1对本发明的开发过程做进一步的说明。
[0018]本发明提供了一种Historian数据库与MongoDB数据库数据同步的方法,便于企业基于MongoDB做大数据分析以及其他需求所需要的二次开发。本项目开发语言为C#,开发工具为Visual Stud1,开发机操作系统为Windows7。
1、在开发机上搭建开发环境:安装免费版Historian,安装.NET Framework4.5框架,安装Visual Stud1 2012,到官方网站MongoDB C#驱动。
[0019]2、确认Historian数据库和MongoDB是否已经启动,如果没有,则启动这两个数据库。
[0020]3、在开发机上,打开Visual Stud1 2012,新建一个工程,构建数据同步模块。
[0021]4、将下载下来的MongoDB驱动复制到该工程根目录下。
[0022]5、新建一个类,在类里面编写数据同步代码:
5.1引入MongoDB C#驱动
5.2 弓I入 Proficy.Historian.UserAPI
5.3调用MongoDB C#驱动,连接MongoDB数据库,如果成功,则将要获取的Tag名单保存到数组A中,如果失败,则提示“MongoDB连接失败,请联系管理员”。收到该提示,则管理员核对数据库是否启动,网络是否正常连接进行核查,排查后重新调用MongoDB Cm动,连接MongoDB数据库。
[0023]5.4 调用 Proficy.Historian.UserAPI,连接 MongoDB 数据库,如果成功,则返回True,如果失败,则提示“MongoDB连接失败,请联系管理员”。收到该提示,则管理员核对数据库是否启动,网络是否正常连接进行核查,排查后重新调用Proficy.Historian.UserAPI,连接 MongoDB 数据库。
[0024]5.5 调用 Proficy.Historian.UserAPI,将数组 A 中所有 Tag 在 Proficy.Historian.UserAPI中的最新的值取出来保存在数组B中。
[0025]5.6调用MongoDB C#驱动,将数组B中值插入到MongoDB数据库中。
[0026]实施例2:Historian与MongoDB数据同步部署实施。
[0027]本发明程序开发完成,测试通过后,即可部署到生产环境。下面结合图2做进一步阐述。
[0028]UHistorian服务器为企业已经在运行中的实时数据库
2、MongoDB集群为企业将来大数据分析用到的NoSQL数据库集群
3、同步程序服务器为本专利中提到的程序部署环境,用于存储数组A、数组B和运行数据同步模块,该服务器与Historian服务器和MongoDB集群通过TCP/IP协议通信。操作系统为 Windows Server 2012。
[0029]部署实施过程:
3.1、在同步程序服务器安装.NET Framework4.5, Historian试用版 3.2、将本发明开发的数据同步模块程序,拷贝到D盘 3.3、在控制面板新建定时任务,每秒调用I次本程序 3.4、启动定时任务,观察MongoDB数据库。若数据已经同步过来,同步成功。
[0030]以上所记载,仅为利用本创作技术内容的实施例,任何熟悉本项技艺者运用本创作所做的修饰、变化,皆属本创作主张的专利范围,而不限于实施例所揭示者。
【主权项】
1.一种Historian数据库与MongoDB数据库数据同步的方法,其包含: 同步程序服务器:用于存储数组A、数组B和运行数据同步模块; Historian服务器:包含实时运行的Historian数据库; MongoDB集群:包含MongoDB数据库,是大数据分析用到的No SQL数据库集群; 所述方法包含以下步骤: 步骤一、所述数据同步模块调用MongoDB C#驱动,连接MongoDB数据库,将需要获取的Tag名单保存到数组A中; 步骤二、所述数据同步模块调用Historian数据库中的Proficy.Historian.UserAPI数据,将数组A中所有Tag在Proficy.Historian.UserAPI数据中对应的最新的值取出来保存到数组B中; 步骤三、所述数据同步模块调用MongoDB C#驱动,将数组B中的值插入到MongoDB数据库中; 步骤四、设置定时任务,定时调用数据同步模块; 步骤五、启动定时任务,观察MongoDB数据库,数组B中的值已经同步到MongoDB数据库,则同步成功。2.如权利要求1所述的一种Historian数据库与MongoDB数据库数据同步的方法,其特征在于所述的数据同步模块的构建方法为用Visual Stud1新建一个工程,将MongoDB驱动复制到该工程根目录下,然后再新建一个类,该类包含以下动作: A、引入MongoDBC#驱动;B、弓I入Proficy.Historian.UserAPI ; C、调用MongoDBC#驱动,连接MongoDB数据库,将需要获取的Tag名单保存到数组A中; D、将数组A中所有Tag在Proficy.Historian.UserAPI数据中对应的最新的值取出来保存到数组B中 E、调用MongoDBC#驱动,将数组B中的值插入到MongoDB数据库中。3.如权利要求1所述的一种Historian数据库与MongoDB数据库数据同步的方法,其特征在于所述的同步程序服务器与Historian服务器、MongoDB集群通过TCP/IP协议通信。4.如权利要求1所述的一种Historian数据库与MongoDB数据库数据同步的方法,其特征在于所述的同步程序服务器操作系统为Windows Server 2012。5.如权利要求1所述的一种Historian数据库与MongoDB数据库数据同步的方法,其特征在于所述的定时任务新建在控制面板,每秒调用I次。6.如权利要求1所述的一种Historian数据库与MongoDB数据库数据同步的方法,其特征在于所述的定时任务设置为自动启动。
【专利摘要】本发明公开一种Historian数据库与MongoDB数据库数据同步的方法。所述方法包含主要通过数据同步模块调用MongoDB C#驱动,连接MongoDB数据库,将需要获取的Tag名单保存到数组A中,然后调用Historian数据库中的Proficy.Historian.UserAPI数据,将数组A中所有Tag数据中对应的最新的值取出来保存到数组B中;最后调用MongoDB C#驱动,将数组B中的值插入到MongoDB数据库中。发明实现让开发人员能够将不对外开放的Historian数据同步到MongoDB,软件开发时直接从MongoDB取数据,便于做大数据分析以及二次开发。
【IPC分类】G06F17/30
【公开号】CN104915380
【申请号】CN201510241908
【发明人】阙锦龙
【申请人】福建省纳金网信息技术有限公司
【公开日】2015年9月16日
【申请日】2015年5月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1