CN116775310A - 一种实现多个工业实时数据库融合扩展的方法 - Google Patents

一种实现多个工业实时数据库融合扩展的方法 Download PDF

Info

Publication number
CN116775310A
CN116775310A CN202310945375.4A CN202310945375A CN116775310A CN 116775310 A CN116775310 A CN 116775310A CN 202310945375 A CN202310945375 A CN 202310945375A CN 116775310 A CN116775310 A CN 116775310A
Authority
CN
China
Prior art keywords
database
measuring point
information
virtual
point
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.)
Granted
Application number
CN202310945375.4A
Other languages
English (en)
Other versions
CN116775310B (zh
Inventor
夏冬
见伟
张东华
邱收
张哲�
相建
李宏升
白新乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongtai Huadian Technology Co ltd
Original Assignee
Beijing Zhongtai Huadian Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongtai Huadian Technology Co ltd filed Critical Beijing Zhongtai Huadian Technology Co ltd
Priority to CN202310945375.4A priority Critical patent/CN116775310B/zh
Publication of CN116775310A publication Critical patent/CN116775310A/zh
Application granted granted Critical
Publication of CN116775310B publication Critical patent/CN116775310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现多个工业实时数据库融合扩展的方法,包括:配置可访问节点并按照配置顺序对各节点对应数据库编号;基于数据库编号生成虚拟测点信息;用户基于虚拟测点信息发送请求报文至集群;集群对请求报文解析获得查询接口类型与检索测点信息;根据查询接口类型对检索测点信息进行处理后,向上游数据库发送请求;上游数据库响应请求,返回检索结果至集群;集群根据查询接口类型与检索测点信息对检索结果进行处理,并返回至客户端。本发明通过解析网络报文并根据报文内容找到对应数据库节点,再将各数据库返回报文进行重组返回给用户的方式,实现对各数据库的统一管理和访问,扩展了数据库容量,间接虚拟了一个融合数据库。

Description

一种实现多个工业实时数据库融合扩展的方法
技术领域
本发明属于信息技术集成应用技术领域,特别是涉及一种实现多个工业实时数据库融合扩展的方法。
背景技术
为了应对工业实时数据上云的需求,需要对各站端数据进行汇集、清洗分析、处理统计和集中展示。传统的工业实时数据库,受限于软件架构、功能和硬件限制,后端应用需独立对单库测点进行访问和请求控制,没有一个统一的数据库访问方式,额外增加测点管理和维护成本;单库测点规模有上限瓶颈,场站有扩容需求时,即使扩展数据库节点,现有应用也需要进行软件功能升级,添加多个数据库同时访问功能,增加改造费用和系统稳定风险。
发明内容
本发明的目的是提供一种实现多个工业实时数据库融合扩展的方法,以解决上述现有技术存在的问题。
为实现上述目的,本发明提供了一种实现多个工业实时数据库融合扩展的方法,包括:
配置可访问节点并按照节点配置先后顺序对各节点对应数据库标记编号;基于数据库编号,计算生成虚拟测点信息;
用户基于虚拟测点信息生成请求报文并发送至集群平台;集群平台接收并解析请求报文,获得查询接口类型与待检索测点信息;根据查询接口类型对所述待检索测点信息进行处理,处理后向上游数据库发送请求;
上游数据库响应请求,并返回检索结果至集群平台;集群平台基于查询接口类型与待测点信息类型选取所述检索结果的处理方式,获得处理结果并返回至客户端,通过统一访问实现多个工业实时数据库的融合。
可选的,还包括:对待进行统一管理的工业实时数据库单库进行注册,注册信息包括单库IP地址、端口号、用户名及密码。
可选的,虚拟测点信息包括虚拟测点ID,虚拟测点ID根据数据库编号与数据库中原始测点ID生成,ID虚拟化规则为:虚拟ID=原ID+n*C,其中,n为数据库编号,C为对应编号数据库的许可测点数;
用户基于虚拟测点信息生成请求报文时,若请求报文中包括测点名称,则根据数据库编号对测点名称进行虚拟化后,再生成请求报文,名称虚拟化规则为:虚拟测点名称=X+原名称,X为基于数据库编号的四位数数据库编码,若数据库编号位数小于四位,则用“0”向前补齐四位。
可选的,根据查询接口类型对检索测点信息进行处理的过程包括:判断查询接口类型是否为全库测点查询或模糊测点查询,若是,则直接转发用户请求报文至上游数据库,若不是,则对待检索信息进行解密拆分。
可选的,解密拆分的过程包括:
若待检索测点信息包括虚拟测点ID,则根据ID虚拟化规则对所述虚拟测点ID进行还原,获得客户端请求ID数组,对客户端请求ID数组进行解析拆分获得访问信息,访问信息包括数据库编号数组与请求节点数组,请求节点数组为二维数组;
若待检索测点信息包括虚拟测点名称,则获取用户配置,根据用户配置判断是否进行还原,若进行还原,则根据名称虚拟化规则对虚拟测点名称进行还原。
可选的,若待检索测点信息仅包括虚拟测点ID,则根据所述数据库编号数组连接对应上游数据库,同时根据请求节点数组提取数据,获得数据库检索结果;对检索结果对应的测点ID采用ID虚拟化规则进行虚拟化处理后,再按照数据库编号数组所记录的节点编号数据对各数据库返回的经过虚拟化处理的检索结果进行重组,获得处理结果。
可选的,若待检索测点信息包括虚拟测点名称,则根据还原得到的原始测点名称进行数据库查询后,判断测点名称在对应查询的各个单库中是否存在,根据判断结果对数据库返回信息进行过滤,提取有效数据信息,对有效数据信息进行虚拟化处理并重组后返回至客户端。
本发明的技术效果为:
本发明从网络层构建数据库统一访问和管理的平台,对客户透明,实现多个独立数据库数据的融合;在不破坏原有数据库架构的基础上,实现了数据库的横向扩展,提升了数据库大容量使用场景;从网络层数据出发,对报文进行解析,最大程度减少数据序列化和反序列化操作带来的时间和内存消耗,提升接口响应速率;易于部署,方便对现有单库进行大容量改造。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例中的方法流程示意图;
图2为本发明实施例中的集群部署后结构图;
图3为本发明实施例中的测点名数组查询测点ID流程图;
图4为本发明实施例中的批量测点实时数据请求接口流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
如图1-4所示,本实施例中提供一种实现多个工业实时数据库融合扩展的方法,包括:
工业实时数据库一般使用tcp、udp、http等网络传输自定义协议与用户进行数据交互,通过解析网络报文,根据报文内容路由到对应数据库节点,并将各数据库返回报文进行重组,最终返回给用户的方式,可实现对各数据库的统一管理和访问,扩展了数据库容量,间接虚拟了一个融合数据库,满足客户对大容量实时数据库的需求,具体包括以下内容:
数据库节点配置
节点配置需要将工业实时数据库各单库访问信息进行注册,以便对各个节点进行管理。由单库的ip、端口号、用户名和密码等访问信息,得到一组数据库访问组,按注册先后顺序,对各单库进行标记编号(0,1,2,...n),注册列表中排第一个的数据库默认其编号为0,排第二个的数据库默认其编号是1,以此类推。
虚拟测点ID和测点名
在工业实时数据库,测点是实时数据库管理数据的基本单元,其包含测点名称、测点ID(测点的唯一标识)、测点描述、测点类型等多种属性,其中测点ID和测点名是测点的关键字,可根据ID访问测点实时值和历史值。由于单库中测点ID都是从编号1开始递增,各节点库的测点的ID和测点名可能一致,导致统一访问时,产生冲突。
故为了避免访问冲突对两种不同的关键字分别进行处理:
(1)对测点ID可能冲突的处理方式:
基于数据库节点配置中数据库的编号,对每个数据库的测点ID进行重排序生成虚拟ID,生成规则原库测点ID+数据库编号乘此库许可测点数(为数据库客户端界面许可测点数),例如1号数据库许可测点数为100万,库中测点ID为5,则其虚拟ID为1000005。生成规则表达式如下:
编号n数据库各测点虚拟ID:虚拟ID=原ID+n*C
(2)对测点名可能冲突的处理方式:
增加系统配置选项,是否添加测点前缀,若需要,则在测点名前默认添加“数据库编号_”,例如数据库编号为1,测点名称为point.name,添加测点前缀后测点名为01_point.name。
解析下游用户请求报文
对下游用户请求报文,分3类构建请求策略
(1)全库测点查询接口(search)
根据测点名查询测点ID(find_points)等,非定向数据库请求,需要对各库进行查询接口,直接转发用户请求报文。
(2)对批量测点的查询接口
传入参量为测点虚拟ID数组,如批量查询实时数据,此组测点可能对应多个单库,需根据传入的每个测点虚拟ID找到各自对应的单库,并还原为单库对应ID,例如单库许可测点数为100万,传入虚拟ID为2000020,则其对应的数据库编号为2,还原后的测点ID为20,数据库编号及还原后ID表达式如下:
数据库编号n=虚拟ID/C
还原后ID=虚拟ID-n*C
用户在初始阶段存在不清楚单库中存在哪些测点的可能性,通过输入的虚拟测点id查询实时或者历史数据,也是可以根据规则,路由到相应的单库,单库会根据查询结果,返回not found错误码,函数接口给出提示。也可在开始时通过全库测点查询接口获取对应单库存在的测点。
(3)对单个测点的历史查询接口
传入参量为测点ID,如获取单个测点一段时间内的历史值,需对该测点ID还原(方法同上),此测点只可能源于一个数据库。
转发客户请求到上游数据库
通过步骤3解析下游用户请求报文,可将转发客户请求到上游数据库分为两种:直接转发和还原报文中的测点ID信息后转发,将报文转发到对应的上游数据库。
数据库通过测点id读写数据,读和写过程所需参数一致,仅存在数据读出和数据写入程序上的区别。
处理上游数据库回复报文,对上游数据库回复报文,按4类构建处理策略
(1)全库测点查询接口、模糊查询接口等
此类方法需返回各个数据库的全量信息,为防止测点关键字重复和冲突,保证客户端收到测点的唯一性,需对所有单库测点ID和测点名虚拟化处理(虚拟化处理方法同步骤2),查询测点总数等于各数据库返回个数之和;故等所有单库回复完成之后,将测点信息报文进行拼接,组装为一个完整的回复报文。通过全库测点查询接口可询问数据库到底有哪些测点。
(2)按测点名数组查询测点ID接口等
此类方法需对各单库返回信息进行校核,输入测点名,调用查询接口即完成测点是否存在的验证和结果返回两个过程,比如单库中存在此测点名,则返回测点ID;不存在,则返回0。查询测点总数一定,需要对各单库回复报文提取有效数据信息,如有效测点ID;将查询到的测点ID进行虚拟化处理,组合成完整的回复报文,如图3为按照测点名数组查询测点ID流程图。本函数接口的作用只有一个,即获取与测点名称对应的测点id。
(3)对批量测点实时数据请求接口等
此类方法需对各响应单库返回信息按测点ID数组的序列进行重组。实现过程为:解析请求报文时,根据测点ID数组,事先得到各测点对应的数据库编号序列,以及每个数据库测点ID数组;而后对每个单库返回信息,按数据库编号序列进行重组,由此得到的值数组与请求ID数组序列一一对应,返回实时数据数组,如图4为对批量测点实时数据请求接口流程图。
(4)对单个测点的历史查询接口等
因为是单库响应,若回复信息中不包含测点ID、测点名等信息,则可直接提取,用于返回下游客户;否则,先对测点ID和测点名进行虚拟化处理,再返回。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (7)

1.一种实现多个工业实时数据库融合扩展的方法,其特征在于,包括以下步骤:
配置可访问节点并按照节点配置先后顺序对各节点对应数据库标记编号;基于数据库编号,计算生成虚拟测点信息;
用户基于虚拟测点信息生成请求报文并发送至集群平台;集群平台接收并解析请求报文,获得查询接口类型与待检索测点信息;根据查询接口类型对所述待检索测点信息进行处理,处理后向上游数据库发送请求;
上游数据库响应请求,并返回检索结果至集群平台;集群平台基于查询接口类型与待测点信息类型选取所述检索结果的处理方式,获得处理结果并返回至客户端,通过统一访问实现多个工业实时数据库的融合。
2.根据权利要求1所述的实现多个工业实时数据库融合扩展的方法,其特征在于,还包括:对待进行统一管理的工业实时数据库单库进行注册,注册信息包括单库IP地址、端口号、用户名及密码。
3.根据权利要求1所述的实现多个工业实时数据库融合扩展的方法,其特征在于,
虚拟测点信息包括虚拟测点ID,虚拟测点ID根据数据库编号与数据库中原始测点ID生成,ID虚拟化规则为:虚拟ID=原ID+n*C,其中,n为数据库编号,C为对应编号数据库的许可测点数;
虚拟测点信息还包括测点名称,根据数据库编号对测点名称进行虚拟化,名称虚拟化规则为:虚拟测点名称=X+原名称,X为基于数据库编号的四位数数据库编码,若数据库编号位数小于四位,则用“0”向前补齐四位。
4.根据权利要求3所述的实现多个工业实时数据库融合扩展的方法,其特征在于,
根据查询接口类型对检索测点信息进行处理的过程包括:判断查询接口类型是否为全库测点查询或模糊测点查询,若是,则直接转发用户请求报文至上游数据库,若不是,则对待检索信息进行解密拆分。
5.根据权利要求4所述的实现多个工业实时数据库融合扩展的方法,其特征在于,
解密拆分的过程包括:
若待检索测点信息包括虚拟测点ID,则根据ID虚拟化规则对所述虚拟测点ID进行还原,获得客户端请求ID数组,对客户端请求ID数组进行解析拆分获得访问信息,若用户输入的待检索点信息中包含数据库中不存在的点,则针对不存在的点查询返回错误码;访问信息包括数据库编号数组与请求节点数组,请求节点数组为二维数组;
若待检索测点信息包括虚拟测点名称,则获取用户配置,根据用户配置判断是否进行还原,若进行还原,则根据名称虚拟化规则对虚拟测点名称进行还原。
6.根据权利要求4所述的实现多个工业实时数据库融合扩展的方法,其特征在于,
若待检索测点信息仅包括虚拟测点ID,则根据所述数据库编号数组连接对应上游数据库,同时根据请求节点数组提取数据,获得数据库检索结果;对检索结果对应的测点ID采用ID虚拟化规则进行虚拟化处理后,再按照数据库编号数组所记录的节点编号数据对各数据库返回的经过虚拟化处理的检索结果进行重组,获得处理结果。
7.根据权利要求3所述的实现多个工业实时数据库融合扩展的方法,其特征在于,
若待检索测点信息为虚拟测点名称,则根据还原得到的原始测点名称进行数据库查询后,判断测点名称在对应查询的各个单库中是否存在,根据判断结果对数据库返回信息进行过滤,提取有效数据信息,对有效数据信息进行虚拟化处理并重组后返回至客户端。
CN202310945375.4A 2023-07-31 2023-07-31 一种实现多个工业实时数据库融合扩展的方法 Active CN116775310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310945375.4A CN116775310B (zh) 2023-07-31 2023-07-31 一种实现多个工业实时数据库融合扩展的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310945375.4A CN116775310B (zh) 2023-07-31 2023-07-31 一种实现多个工业实时数据库融合扩展的方法

Publications (2)

Publication Number Publication Date
CN116775310A true CN116775310A (zh) 2023-09-19
CN116775310B CN116775310B (zh) 2024-07-23

Family

ID=87993193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310945375.4A Active CN116775310B (zh) 2023-07-31 2023-07-31 一种实现多个工业实时数据库融合扩展的方法

Country Status (1)

Country Link
CN (1) CN116775310B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133889A (zh) * 2014-07-30 2014-11-05 国云科技股份有限公司 一种数据库虚拟化微内核数据源注册与封装方法
CN105978715A (zh) * 2016-05-09 2016-09-28 国网浙江省电力公司湖州供电公司 一种基于实时数据中心的数据接入接口统一管理方法
CN108959369A (zh) * 2018-05-22 2018-12-07 国网浙江省电力有限公司电力科学研究院 一种海量数据平台与大数据平台融合方法
CN109241054A (zh) * 2018-08-02 2019-01-18 成都松米科技有限公司 一种多模型数据库系统、实现方法以及服务器
CN110008272A (zh) * 2019-04-10 2019-07-12 张绿儿 面向传感器数据的NoSQL数据库评测系统及其构建方法
CN111752945A (zh) * 2020-05-29 2020-10-09 南京南瑞继保电气有限公司 一种基于容器和层次模型的时序数据库数据交互方法和系统
CN115914655A (zh) * 2023-02-17 2023-04-04 成都华栖云科技有限公司 一种跨平台、泛工具融媒体业务交互方法及系统
CN116226250A (zh) * 2023-02-16 2023-06-06 国能信控互联技术有限公司 针对发电领域海量时序数据管理的汇聚式管理方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133889A (zh) * 2014-07-30 2014-11-05 国云科技股份有限公司 一种数据库虚拟化微内核数据源注册与封装方法
WO2016015439A1 (zh) * 2014-07-30 2016-02-04 国云科技股份有限公司 数据库虚拟化微内核数据源的注册与封装方法
CN105978715A (zh) * 2016-05-09 2016-09-28 国网浙江省电力公司湖州供电公司 一种基于实时数据中心的数据接入接口统一管理方法
CN108959369A (zh) * 2018-05-22 2018-12-07 国网浙江省电力有限公司电力科学研究院 一种海量数据平台与大数据平台融合方法
CN109241054A (zh) * 2018-08-02 2019-01-18 成都松米科技有限公司 一种多模型数据库系统、实现方法以及服务器
CN110008272A (zh) * 2019-04-10 2019-07-12 张绿儿 面向传感器数据的NoSQL数据库评测系统及其构建方法
CN111752945A (zh) * 2020-05-29 2020-10-09 南京南瑞继保电气有限公司 一种基于容器和层次模型的时序数据库数据交互方法和系统
CN116226250A (zh) * 2023-02-16 2023-06-06 国能信控互联技术有限公司 针对发电领域海量时序数据管理的汇聚式管理方法及系统
CN115914655A (zh) * 2023-02-17 2023-04-04 成都华栖云科技有限公司 一种跨平台、泛工具融媒体业务交互方法及系统

Also Published As

Publication number Publication date
CN116775310B (zh) 2024-07-23

Similar Documents

Publication Publication Date Title
EP0561541B1 (en) A method of processing a program by parallel processing, and a processing unit thereof
CN111258978B (zh) 一种数据存储的方法
CN109656688B (zh) 一种实现分布式业务规则的方法、系统和服务器
CN112416908A (zh) 基于Handle标识解析前缀分库存储数据的方法及系统
CN112817973A (zh) 数据处理方法、装置、数据处理设备及存储介质
CN109815294A (zh) 一种无主节点分布并行数据存储方法和系统
CN113438172A (zh) 基于多级节点网络的数据传输方法和装置
CN109117152B (zh) 服务生成系统及方法
CN107066522A (zh) 数据库的访问方法和装置
CN110417777A (zh) 一种优化的微服务间通信的方法及装置
CN116775310B (zh) 一种实现多个工业实时数据库融合扩展的方法
CN101783742A (zh) 一种网络拓扑的发现方法和设备
CN111400301A (zh) 一种数据查询方法、装置及设备
CN112631727A (zh) 一种容器组pod的监控方法及装置
CN115130043B (zh) 基于数据库的数据处理方法、装置、设备及存储介质
CN116049180A (zh) 面向Paas平台的租户数据处理方法及装置
CN113240499B (zh) 一种基于系统切换的订单处理方法和装置
CN107547382B (zh) 一种邻居关系发现方法和装置
CN116303418A (zh) 基于物联网平台的海量规则处理方法、系统及存储介质
CN106330556B (zh) 一种用于生成服务模块调用关联信息的方法与装置
CN111143006B (zh) 命令帮助信息的获取方法及装置
CN114793244A (zh) 一种区块链的资源处理方法、装置、设备和介质
CN114579506A (zh) 处理器之间的通信方法、系统、存储介质以及处理器
CN112749189A (zh) 数据查询方法及装置
CN113992664A (zh) 一种集群通信的方法、相关装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant