CN105573742A - 一种异构实时数据库的统一应用程序编程接口实现方法 - Google Patents
一种异构实时数据库的统一应用程序编程接口实现方法 Download PDFInfo
- Publication number
- CN105573742A CN105573742A CN201510766577.8A CN201510766577A CN105573742A CN 105573742 A CN105573742 A CN 105573742A CN 201510766577 A CN201510766577 A CN 201510766577A CN 105573742 A CN105573742 A CN 105573742A
- Authority
- CN
- China
- Prior art keywords
- real
- application programming
- data
- programming interface
- interface
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000003860 storage Methods 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000008520 organization Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 238000007792 addition Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000008447 perception Effects 0.000 claims description 3
- 230000002085 persistent effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000005259 measurement Methods 0.000 abstract 3
- 230000010354 integration Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005272 metallurgy Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种异构实时数据库的统一应用程序编程接口实现方法。定义异构实时数据库应用程序编程接口规范编制并遵循,设计并实现实时数据库;当用户通过调用统一数据接入接口进行数据接入时,动态调用数据库的接口,如数据接入所用的测点和数据存在则直接将数据存入实时数据库并,否则新增测点信息并加载到本地缓存中并从实时数据库中获取并加载到本地缓存中,当需要使用其他的实时数据库时,只需要将数据库名称进行替换,即可实现实时数据库的异构功能。本发明对外提供了一套统一的异构实时库应用程序编程接口规范,满足了各业务应用通过异构实时数据进行统一存储、整合、共享、以及统一和标准访问的需求。
Description
技术领域
本发明涉及电力系统自动化技术领域,特别是一种异构实时数据库的统一应用程序编程接口实现方法。
背景技术
实时数据库,一种专门用于处理和存储随时间变化的值和状态量的数据库,不同于传统的关系数据库所存储的持久化信息,实时数据库主要用于存储时间序列数据。在流程行业中,大量使用实时数据库系统进行控制系统监控,系统先进控制和优化控制,并为企业的生产管理和调度、数据分析、决策支持及远程在线浏览提供实时数据服务和多种数据管理功能。实时数据库已经成为企业信息化的基础数据平台,可直接实时采集、获取企业运行过程中的各种数据,并将其转化为对各类业务有效的公共信息,满足企业生产管理、企业过程监控、企业经营管理之间对实时信息完整性、一致性、安全共享的需求,可为企业自动化系统与管理信息系统间建立起信息沟通的桥梁。帮助企业的各专业管理部门利用这些关键的实时信息,提高生产销售的营运效率。实时数据库与关系数据库一样,同为企业信息化建设的支撑软件,广泛应用于电力、航空、国防、石油、石化、交通、冶金、水情监测、水利、环保等重要的行业。
目前国内市场上的实时数据库多种多样。国外产品包括OSI公司的PI、Instep公司的eDNA、Honeywell的PHD、AspenTech的Infoplus以及Wonderware的InSQL等。国内包括瑞中数据的HighSoon、中科院软件所的Agilor、浙大中控的ESP-iSYS、紫金桥软件的RealDB、布尔科技的BL_RTS、南京朗坤软件的LiRTDB等。虽然数据库的实现形式上大同小异,但是对外提供的接口和服务存在差异,应用程序编程接口上也形式多样。由于接口形式上的差异,当同一套解决方案或者平台建设过程中存在多种异构的实时数据库时,异构实时数据库的存在增加了数据访问的难度,迫切需要提供一种异构实时数据库的统一应用程序编程接口实现方法。
发明内容
针对现有技术中存在的问题,本发明提供了一种异构实时数据库的统一应用程序编程接口实现方法。通过规范应用程序编程接口屏蔽系统通讯、存贮、标识、表达、技术架构等实时信息使用环节中的各种技术差异,以规范的方式进行数据的共享访问;通过统一的接口规范,动态更换各数据库厂商提供的统一数据访问接口(UAPI),从而实现数据的透明接入和访问。
本发明的目的通过以下技术方案实现。
一种异构实时数据库的统一应用程序编程接口实现方法,步骤包括:
1)定义异构实时数据库应用程序编程接口规范编制,所述的异构实时数据库应用程序编程接口包括:连接维护应用程序编程接口、测点管理应用程序编程接口、测点数据读写应用程序编程接口和统计分析应用程序编程接口;所述的连接维护应用程序编程接口用于异构实时数据库的连接和断开,所述的连接维护应用程序编程接口包括如下表所示接口:
名称 | 描述 |
URTDB_Connect | 建立同数据库的网络连接 |
URTDB_Disconnect | 断开同数据库的网络连接 |
URTDB_HostTime | 获取服务器当前UTC时间 |
URTDB_GetConnectionStatus | 获取当前连接服务器的状态 |
所述的测点管理应用程序编程接口用于测点的增删改查,所述的测点管理应用程序编程接口包括如下表所示接口:
所述的测点数据读写应用程序编程接口数据的读写,所述的测点数据读写应用程序编程接口包括如下表所示接口:
所述的统计分析应用程序编程接口用于对数据进行统计和分析,所述的统计分析应用程序编程接口包括如下表所示接口:
名称 | 描述 |
URTDB_Summary | 统计数据 |
URTDB_SummaryFilt | 按照过滤条件统计数据 |
2)遵循步骤1)中的异构实时数据库应用程序编程接口规范设计并实现自身实时数据库的UAPI,当应用层调用不同厂商的应用程序编程接口时,执行重新加载相应厂商的动态库指令;
3)通过在客户端增加缓存实现实时数据库接入和访问效率的优化:缓存分测点缓存和数据缓存;数据接入时,通过查询客户端缓存测点与异构数据的映射关系,感知测点的位置,同时数据接入时可实现数据缓存;
4)当客户端接口确认服务端已经接收到数据并将数据包从缓存文件中删除;当在发送请求报文的过程中网络通讯或者数据处理服务器发生故障,客户端接口会持续缓存请求报文,并不断生成新的缓存文件;当数据通讯恢复正常后,客户端接口会逐步将缓存的数据重新发送到服务端;
5)当访问数据查询接口时,建立数据缓存,则直接从缓存中取数据,当缓存中不存在数据,再发起到具体异构实时数据库的数据访问请求;
6)当需要使用其他的实时数据库时,只需要将数据库名称进行替换,即可实现实时数据库的异构功能。
进一步的,所述的步骤1)是基于HS_API定义异构实时数据库应用程序编程接口规范编制,所述的步骤2)实现自身实时数据库为HS_U。
相比于现有技术,本发明的优点在于:对外提供了一套统一的异构实时库应用程序编程接口规范,满足了各业务应用通过异构实时数据进行统一存储、整合、共享、以及统一和标准访问的需求,业务系统无需知道数据库的具体厂商,从而实现了异构实时库数据的统一接入和访问。
附图说明
图1是异构实时数据库接口的透明访问示意图。
图2是异构实时数据库的统一应用程序编程接口缓存原理图。
图3是异构实时数据库的统一应用程序编程接口实施图。
图4异构实时数据库数据访问流程图。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
一种异构实时数据库的统一应用程序编程接口实现方法,步骤包括:
1)基于HS_API定义异构实时数据库应用程序编程接口规范编制,所述的异构实时数据库应用程序编程接口包括:连接维护应用程序编程接口、测点管理应用程序编程接口、测点数据读写应用程序编程接口和统计分析应用程序编程接口;所述的连接维护应用程序编程接口用于异构实时数据库的连接和断开,所述的连接维护应用程序编程接口包括如下表所示接口:
名称 | 描述 |
URTDB_Connect | 建立同数据库的网络连接 |
URTDB_Disconnect | 断开同数据库的网络连接 |
URTDB_HostTime | 获取服务器当前UTC时间 |
URTDB_GetConnectionStatus | 获取当前连接服务器的状态 |
所述的测点管理应用程序编程接口用于测点的增删改查,所述的测点管理应用程序编程接口包括如下表所示接口:
所述的测点数据读写应用程序编程接口数据的读写,所述的测点数据读写应用程序编程接口包括如下表所示接口:
所述的统计分析应用程序编程接口用于对数据进行统计和分析,所述的统计分析应用程序编程接口包括如下表所示接口:
名称 | 描述 |
URTDB_Summary | 统计数据 |
URTDB_SummaryFilt | 按照过滤条件统计数据 |
2)遵循步骤1)中的异构实时数据库应用程序编程接口规范设计并实现自身实时数据库的UAPI,如HS_UAPI,应用层需要调用不同厂商的应用程序编程接口是,只需重新加载相应厂商的动态库,不需要修改代码即可实现数据的存储和访问。同时,统一应用程序编程接口的实现,屏蔽了各厂商数据接入和访问的差异,实现了异构数据的透明访问。异构实时数据库接口的透明访问示意图见图1;当用户通过调用统一数据接入接口(UAPI)进行数据接入时,动态调用HS_UAPI的接口,HS_UAPI从本地缓存里判断数据接入所用的测点是否存在,存在则直接将数据存入实时数据库,不存在则新增测点信息并加载到本地缓存中,如图3所示;
3)实时数据库数据接入和访问效率优化。通过在客户端增加缓存实现实时数据库接入和访问效率的优化:缓存分测点缓存和数据缓存;数据接入时,通过查询客户端缓存测点与异构数据的映射关系,感知测点的位置,减少与数据库的通信交互;同时数据接入时可实现数据缓存,防止数据丢失,该技术原理为相关数据请求在客户端本机磁盘上做实时缓存;
4)当客户端接口确认服务端已经接收到数据并将数据包从缓存文件中删除;当在发送请求报文的过程中网络通讯或者数据处理服务器发生故障,客户端接口会持续缓存请求报文,并不断生成新的缓存文件;当数据通讯恢复正常后,客户端接口会逐步将缓存的数据重新发送到服务端,从而能保证提交的数据在故障过程中不丢失;
5)数据访问时,为了提高数据的访问速率,当访问数据查询接口时,建立数据缓存,则直接从缓存中取数据,当缓存中不存在数据,再发起到具体异构实时数据库的数据访问请求,异构实时数据库的统一应用程序编程接口缓存原理图如附图2所示;
6)当需要使用其他的实时数据库如GAIA_UAPI时,只需要将HS_UAP替换为GAIA_UAPI,即可实现实时数据库的异构功能。
Claims (2)
1.一种异构实时数据库的统一应用程序编程接口实现方法,其特征在于步骤包括:
1)定义异构实时数据库应用程序编程接口规范编制,所述的异构实时数据库应用程序编程接口包括:连接维护应用程序编程接口、测点管理应用程序编程接口、测点数据读写应用程序编程接口和统计分析应用程序编程接口;所述的连接维护应用程序编程接口用于异构实时数据库的连接和断开,所述的连接维护应用程序编程接口包括如下表所示接口:
所述的测点管理应用程序编程接口用于测点的增删改查,所述的测点管理应用程序编程接口包括如下表所示接口:
所述的测点数据读写应用程序编程接口数据的读写,所述的测点数据读写应用程序编程接口包括如下表所示接口:
所述的统计分析应用程序编程接口用于对数据进行统计和分析,所述的统计分析应用程序编程接口包括如下表所示接口:
2)遵循步骤1)中的异构实时数据库应用程序编程接口规范设计并实现自身实时数据库的UAPI,当应用层调用不同厂商的应用程序编程接口时,执行重新加载相应厂商的动态库指令;
3)通过在客户端增加缓存实现实时数据库接入和访问效率的优化:缓存分测点缓存和数据缓存;数据接入时,通过查询客户端缓存测点与异构数据的映射关系,感知测点的位置,同时数据接入时可实现数据缓存;
4)当客户端接口确认服务端已经接收到数据并将数据包从缓存文件中删除;当在发送请求报文的过程中网络通讯或者数据处理服务器发生故障,客户端接口会持续缓存请求报文,并不断生成新的缓存文件;当数据通讯恢复正常后,客户端接口会逐步将缓存的数据重新发送到服务端;
5)当访问数据查询接口时,建立数据缓存,则直接从缓存中取数据,当缓存中不存在数据,再发起到具体异构实时数据库的数据访问请求;
6)当需要使用其他的实时数据库时,只需要将数据库名称进行替换,即可实现实时数据库的异构功能。
2.根据权利要求1所述的一种异构实时数据库的统一应用程序编程接口实现方法,其特征在于所述的步骤1)是基于HS_API定义异构实时数据库应用程序编程接口规范编制,所述的步骤2)实现自身实时数据库为HS_UAPI。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510766577.8A CN105573742A (zh) | 2015-11-11 | 2015-11-11 | 一种异构实时数据库的统一应用程序编程接口实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510766577.8A CN105573742A (zh) | 2015-11-11 | 2015-11-11 | 一种异构实时数据库的统一应用程序编程接口实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105573742A true CN105573742A (zh) | 2016-05-11 |
Family
ID=55883918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510766577.8A Pending CN105573742A (zh) | 2015-11-11 | 2015-11-11 | 一种异构实时数据库的统一应用程序编程接口实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573742A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503173A (zh) * | 2016-10-24 | 2017-03-15 | 上海携程商务有限公司 | Kv数据库访问方法及装置 |
CN107948200A (zh) * | 2017-12-29 | 2018-04-20 | 广州天高软件科技有限公司 | 一种基于消息模板的可配置网络接口协议适配引擎 |
CN108829465A (zh) * | 2018-06-27 | 2018-11-16 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2093678A1 (en) * | 2008-02-21 | 2009-08-26 | British Telecmmunications public limited campany | Data network |
CN101877712A (zh) * | 2009-04-29 | 2010-11-03 | 美商定谊科技公司 | 数据传输控制方法、服务器和终端设备 |
CN102609463A (zh) * | 2012-01-13 | 2012-07-25 | 广东电网公司电力科学研究院 | 一种基于准实时平台的数据集群管理系统 |
CN103577425A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 一种数据处理的方法和系统 |
WO2014063077A2 (en) * | 2012-10-18 | 2014-04-24 | Microsoft Corporation | Using relevant real-time information to adapt ads |
-
2015
- 2015-11-11 CN CN201510766577.8A patent/CN105573742A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2093678A1 (en) * | 2008-02-21 | 2009-08-26 | British Telecmmunications public limited campany | Data network |
CN101877712A (zh) * | 2009-04-29 | 2010-11-03 | 美商定谊科技公司 | 数据传输控制方法、服务器和终端设备 |
CN102609463A (zh) * | 2012-01-13 | 2012-07-25 | 广东电网公司电力科学研究院 | 一种基于准实时平台的数据集群管理系统 |
CN103577425A (zh) * | 2012-07-24 | 2014-02-12 | 中兴通讯股份有限公司 | 一种数据处理的方法和系统 |
WO2014063077A2 (en) * | 2012-10-18 | 2014-04-24 | Microsoft Corporation | Using relevant real-time information to adapt ads |
Non-Patent Citations (1)
Title |
---|
《浙江电力》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503173A (zh) * | 2016-10-24 | 2017-03-15 | 上海携程商务有限公司 | Kv数据库访问方法及装置 |
CN107948200A (zh) * | 2017-12-29 | 2018-04-20 | 广州天高软件科技有限公司 | 一种基于消息模板的可配置网络接口协议适配引擎 |
CN108829465A (zh) * | 2018-06-27 | 2018-11-16 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
CN108829465B (zh) * | 2018-06-27 | 2021-01-08 | 北京计算机技术及应用研究所 | 一种基于直接读写flash的本地动态加载系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775435B2 (en) | Invalidation and refresh of multi-tier distributed caches | |
US10747670B2 (en) | Reducing latency by caching derived data at an edge server | |
CN108536778B (zh) | 一种数据应用共享平台及方法 | |
US20120331016A1 (en) | Methods and systems for caching data shared between organizations in a multi-tenant database system | |
CN113515545B (zh) | 数据查询方法、装置、系统、电子设备以及存储介质 | |
CN108182213A (zh) | 一种基于分布式系统的数据处理优化装置及方法 | |
US20180220292A1 (en) | Blockchain-Based Subscription Management | |
CN102769709B (zh) | 一种用于向用户提供服务联系信息的方法与装置 | |
CN106060176A (zh) | 一种基于混合云的云计算应用架构及云计算服务方法 | |
CN102333108A (zh) | 分布式缓存同步系统及方法 | |
CN105573742A (zh) | 一种异构实时数据库的统一应用程序编程接口实现方法 | |
US11108723B2 (en) | Systems and methods for triggering redisplay of a postponed message | |
CN113326148A (zh) | 一种基于微服务的数据交互系统 | |
CN107656943B (zh) | 任务查询方法及服务器 | |
CN113051271B (zh) | 一种冷热数据分离方法、装置及其设备 | |
CN102103606A (zh) | 一种在手机客户端上实现高级检索商品的技术 | |
CN110245043B (zh) | 一种分布式系统间调用关系的跟踪系统 | |
US10027754B2 (en) | Large data set updating for network usage records | |
EP2830289B1 (en) | Adaptable reporting in a multi-client telecommunication network | |
CN109889562B (zh) | 一种企业移动高级应用平台的离线访问方法及系统 | |
CN113282431B (zh) | 异常数据处理方法及装置、存储介质及电子设备 | |
CN106709060B (zh) | 一种数据共享方法及系统 | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN106534049B (zh) | 基于服务器的数据下发方法、客户端、服务器及系统 | |
CN110413733B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160511 |
|
RJ01 | Rejection of invention patent application after publication |