实时数据库中根据点名找到数据库并访问的系统与方法

文档序号:6401431阅读:226来源:国知局
专利名称:实时数据库中根据点名找到数据库并访问的系统与方法
技术领域
本发明涉及一种多个实时数据库中根据点名找到数据库并访问的系统与方法,当配置实时数据库访问的点名后,可以在多个实时数据库之间查找该点值的方法。
背景技术
对于访问实时数据库中的点名对应的值时,由于一套系统可能关联多种实时数据库,所以配置点名时,还需要配置具体关联的数据库。这样带来了几个弊端:一、由于现场实际情况中,需要读取的点数量巨大,这样就给现场开发人员带来很多麻烦。;二、由于需要配置关联的数据库和点名这两项内容,导致增加配置错误的风险;三、修改时也可能遗漏修改配置关联的数据库和点名这两项内容中的一项。上述问题急需解决。发明内容
本发明为了弥补现有技术的不足,提供了一种连接多个实时库时,根据点名找到数据库并访问的系统与方法。
本发明是通过如下技术方案实现的: 一种实时数据库中根据点名找到数据库并访问的系统的运行方法,其特征在于:当接受用户的请求后,需要对所有实时数据库进行遍历,在每次遍历中,将已知属于该实时数据库的测点和未知测点全部发送给实时数据库,根据实时数据库返回信息,从未知测点中删除属于该数据库的测点,执行下一次循环直到所有的测点都读取成功或所有实时数据库遍历完毕为止;该方法包括配置文件读取模块、测点位置存储库、调度模块、实时数据访问模块和错误码模块。
所述配置文件读取模块,用户按照规定格式编写连接实时数据库的配置文件信息,打开用户编写的配置文件,读取配置文件,提取数据库连接信息,并保存; 所述实时数据访问模块,根据配置文件建立与实时数据库的连接,调用当前实时库的API,输入点名访问点值; 所述测点位置存储库模块,构造表结构,此表结构包含,点名和实时数据库连接实体,外部对象可以根据点名设置和读取数据库实体对象; 所述错误码模块,将每个实时数据库返回的错误码自动转换为统一的错误码; 所述调度模块,调用配置文件读取模块读取配置文件中的数据库连接信息,再利用读取的信息和实时数据访问模块建立多个数据库的实体。I)用户输入需要访问的测点列表。2)遍历测点列表中的所有测点,按照测点对应的实时数据库将测点列表中的测点分组如果测点没有对应的实时数据库,则放入未知组中。3)以所有实时库为循环,设置访问成功的测点数为0,首先将当前实时数据库对应的测点组与未知组合并为一个临时测点组,将临时测点组的所有测点发送到该实时数据库中。实时数据库返回数据后,将本次请求没有出现测点不存在错误的测点数累加到访问成功的测点数中,将请求成功的测点与该实时数据库的关系,存放到测点位置存储库中。将没有出现测点不存在错误的测点返回值拷贝到返回值数组对应的测点中。然后从未知组中除去没有出现测点不存在错误的测点。随后继续循环到下一个实时数据库。直到访问成功的测点数等于用户请求测点数或所有实时数据库遍历完毕。4)返回测点值。
本发明的配置文件读取模块,用于读取连接数据库的配置信息;测点位置存储库,用于保存点对应的数据库;调度模块,载入配置的每个实时数据库所用的通用访问接口模块;实时数据访问模块,根据点名和每个实时数据库的信息访问点值;错误码模块,将每个实时数据库返回的错误码统一的错误码。
所述的实时数据库中根据点名找到数据库并访问的系统的运行方法,其特征在于对实时数据库遍历及建立多个数据库过程为: a)用户输入需要访问的测点列表;b)遍历测点列表中的所有测点,根据测点位置存储库的信息,按照测点对应的实时数据库将测点列表中的测点分组;如果测点没有对应的实时数据库,则放入未知组中;c)以所有实时库为循环,设置访问成功的测点数为0,首先将当前实时数据库对应的测点组与未知组合并为一个临时测点组,将临时测点组的所有测点发送到该实时数据库中;实时数据库返回数据后,将本次请求没有出现测点不存在错误的测点数累加到访问成功的测点数中,将请求成功的测点与该实时数据库的关系,存放到测点位置存储库中;将没有出现测点不存在错误的测点返回值拷贝到返回值数组对应的测点中;然后从未知组中除去没有出现测点不存在错误的测点。随后继续循环到下一个实时数据库;直到访问成功的测点数等于用户请求测点数或所有实时数据库遍历完毕;d)返回测点值。
本发明的有益效果是:该发明可以在只有点名的情况下,在不影响效率的前提下,查找所有数据库的点名,并访问。在不影响效率的前提下,仅根据点名即可访问实时数据库中的点。


下面结合附图对本发明作进一步的说明。
图1本发明读取数据流程图; 图2本发明的框架图。
具体实施方式
下面结合附图对本发明作进一步的说明。附图为本发明的流程图。。
1、配置文件读取模块,需要用户提取出数据库的连接信息,并按照该模块指定的格式书写实时数据库的配置文件,在程序启动时,打开用户编写的配置文件,读取配置文件,提取数据库连接信息,并将连接信息保存在内存中,以便快速随时地的供其他模块调用; 2、实时数据访问模块,根据配置文件读取模块提供的配置信息建立与实时数据库的连接,并始终持有该连接实体。当用户需要访问具体某个实时数据库中的测点时,调用该模块提供的统一访问实时数据库接口来获得具体信息。此接口内部内部通过调用当前实时库的API来访问具体某个数据库的测点。; 3、测点位置存储库模块,构造表结构,此表结构包含测点名和实时数据库连接实体,为了通过测点名能够快速查找到对应的数据库实体,所以利用Map进行存储,将关键字设置为点名,值为实时数据库实体。外部可以通过才模块提供的接口,输入点名得到读取数据库实体; 4、调度模块,调用配置文件读取模块读取配置文件中的数据库连接信息,再利用读取的信息和实时数据访问模块建立多个数据库的实体。
I)用户输入需要访问的测点列表。2)遍历测点列表中的所有测点,根据测点位置存储库模块提供的测点名与实时数据库实体对应的信息,调用测点位置存储库模块的接口得到测点对应的实时数据库实体,并将属于同一个实时数据库实体的测点归并到一个测点组中(例如,将第一个实时数据库实体对应的测点全部放入测点组I中,将第二个实时数据库实体对应的测点全部放入测试组2中,以此类推)。如果测点没有对应的实时数据库实体,则将测点放入未知组中。
2)新建统计访问成功的测点数变量,设置变量初始化为O。创建返回值数组。
3)遍历所有实时数据库的实体,循环内部对每一个实时数据库实体进行操作:a)首先将步骤2中计算得来的当前实时数据库对应的测点组与未知组合并为一个临时测点组,将临时测点组的所有测点通过实时数据库实体提供的接口,发送到当前实时数据库中。b)实时数据库返回数据后,调用错误码模块提供的接口,将错误码转换为统一的错误码。c)没有出现测点不存在错误的测点的数量累加到访问成功的测点数变量中d)在未知点组中以及请求成功的测点与实时数据库实体的关系,通过调用测点位置存储库模块提供的接口存放到测点位置存储库中。e)没有出现测点不存在错误的测点返回值拷贝到返回值数组对应的测点中。f)从未知组中除去没有出现测点不存在错误的测点。
4)继续循环到下一个实时数据库。直到访问成功的测点数的变量-等于用户请求测点数或所有实时数据库遍历完毕为止。
5)将返回值数组返回给用户。
5、错误码模块,每个实时数据库驱动将自己的错误码映射到统一的错误码上。
权利要求
1.一种实时数据库中根据点名找到数据库并访问的系统,其特征在于:该系统包括配置文件读取模块、测点位置存储库、调度模块、实时数据访问模块和错误码模块,其中 所述配置文件读取模块,用于用户按照规定格式编写连接实时数据库的配置文件信息,打开编写的配置文件,读取配置文件,提取数据库连接信息,并保存; 所述实时数据访问模块,用于根据配置文件建立与实时数据库的连接,调用当前实时库的API,输入点名访问点值; 所述测点位置存储库模块,用于点名和实时数据库连接实体,外部对象可以根据点名设置和读取数据库实体对象; 所述错误码模块,将每个实时数据库返回的错误码自动转换为统一的错误码; 所述调度模块,调用配置文件读取模块读取配置文件中的数据库连接信息,再利用读取的信息和实时数据访问模块建立多个数据库的实体。
2.根据权利要求1所述的实时数据库中根据点名找到数据库并访问的系统的运行方法,其特征在于包括以下步骤:当接受用户的请求后,对所有实时数据库进行遍历,在每次遍历中,将已知属于该实时数据库的测点和未知测点全部发送给实时数据库,根据实时数据库返回信息,从未知测点中删除属于该数据库的测点,执行下一次循环直到所有的测点都读取成功或所有实时数据库遍历完毕为止。
3.根据权利要求2所述的实时数据库中根据点名找到数据库并访问的系统的运行方法,其特征在于对实时数据库遍历及建立多个数据库过程为: a)用户输入需要访问的测点列表;b)遍历测点列表中的所有测点,根据测点位置存储库的信息,按照测点对应的实时数据库将测点列表中的测点分组;如果测点没有对应的实时数据库,则放入未知组中;c)以所有实时库为循环,设置访问成功的测点数为O,首先将当前实时数据库对应的测点组与未知组合并为一个临时测点组,将临时测点组的所有测点发送到该实时数据库中;实时数据库返回数据后,将本次请求没有出现测点不存在错误的测点数累加到访问成功的测点数中,将请求成功的测点与该实时数据库的关系,存放到测点位置存储库中;将没有出现测点不存在错误的测点返回值拷贝到返回值数组对应的测点中;然后从未知组中除去没有出现测点不存在错误的测点;随后继续循环到下一个实时数据库;直到访问成功的测点数等于用户请求测点数或所有实时数据库遍历完毕;d)返回测点值。
全文摘要
本发明涉及一种实时数据库中根据点名找到数据库并访问的系统与方法,其特征在于当接受用户的请求后,需要对所有实时数据库进行遍历,在每次遍历中,将已知属于该实时数据库的测点和未知测点全部发送给实时数据库,根据实时数据库返回信息,从未知测点中删除属于该数据库的测点,执行下一次循环直到所有的测点都读取成功或所有实时数据库遍历完毕为止;该方法包括配置文件读取模块、测点位置存储库、调度模块、实时数据访问模块和错误码模块。该发明可以在只有点名的情况下,在不影响效率的前提下,查找所有数据库的点名,并访问。在不影响效率的前提下,仅根据点名即可访问实时数据库中的点。
文档编号G06F17/30GK103150408SQ201310113588
公开日2013年6月12日 申请日期2013年4月2日 优先权日2013年4月2日
发明者丁书耕, 邢宏伟, 张建辉, 陈雷动, 王衡, 陈飞龙 申请人:山东鲁能软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1