CN112667738A - 一种兼容实时数据库与关系数据库的可视化系统及方法 - Google Patents
一种兼容实时数据库与关系数据库的可视化系统及方法 Download PDFInfo
- Publication number
- CN112667738A CN112667738A CN202011549951.6A CN202011549951A CN112667738A CN 112667738 A CN112667738 A CN 112667738A CN 202011549951 A CN202011549951 A CN 202011549951A CN 112667738 A CN112667738 A CN 112667738A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- real
- database
- data model
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种兼容实时数据库与关系数据库的可视化系统及方法,包括:元数据模块、统一数据模型模块、缓存模块、进程组、实时数据库调用模块、关系数据库访问模块和数据可视化组件;通过本发明建立的数据可视化模型系统,将实时数据库与关系数据库进行统一数据建模,消除数据可视化组件对各种异构数据库的直接依赖,提高了数据可视化展示组件的灵活性及通用性,提高了产品的兼容性。
Description
技术领域
本发明属于数据可视化技术领域,具体涉及一种兼容实时数据库与关系数据库的可视化系统及方法。
背景技术
进入大数据时代,数据的分析与展示变得越来越重要,数据可视化愈发引起重视。随着科技的发展,数据可视化也有静态化逐渐发展为交互式动态化,更加准确高效的传递数据信息。
现有数据可视化技术大多针对关系数据库进行建模分析,关系数据库一般存储历史数据及统计数据,当面对同时进行实时数据及历史统计数据的可视化分析展示场景时,现有技术往往不能满足。另一方面,实时数据库,如本系统涉及的PI数据库,往往将使用的客户端限定为特定的编程语言,不可使用其他的语言直接调用,编程语言成为限制统一数据建模的因素。综上,如何将实时数据库与关系数据库进行统一建模、实现一致的数据可视化展示成为一大难题。
发明内容
针对现有技术的上述不足,本发明提供一种兼容实时数据库与关系数据库的可视化系统及方法,以解决上述技术问题。
第一方面,本发明提供一种兼容实时数据库与关系数据库的可视化系统,包括:
元数据模块、统一数据模型模块、缓存模块、进程组、实时数据库调用模块、关系数据库访问模块、数据可视化组件;
所述元数据模块用于存放系统基础信息和运行数据信息,
所述统一数据模型模块用于为数据可视化组件提供数据结构一致的数据模型;
所述缓存模块用于数据查询结果的快速访问,并基于统一数据模型模块决定缓存是否失效;
所述进程组包括:API服务进程和异步调度进程,所述API服务进程用于为数据可视化组件提供接口,异步调度进程用于通过非阻塞式编程模型提高API服务、实时数据库及关系数据访问的响应能力;
所述实时数据库调用模块用于获取PI数据库中的数据;
所述关系数据库访问模块用于访问关系数据库;
所述数据可视化组件用于通过Web页面组件呈现给用户。
进一步的,
所述统一数据模型模块以二维表的形式存储模型的数据结果集及模型的元信息;
进一步的,所述元信息包括:
数据模型ID、列信息、行信息、过期时间、查询条件、查询条件的签名。
进一步的,所述方法还包括:
所述统一数据模型模块,
将关系数据库和实时数据库的数据类型存放在统一数据模型的列信息中;
将关系数据库和实时数据库的数据结果存放在统一数据模型的行信息中。
进一步的,所述缓存模块还用于基于查询条件的签名、数据模型的ID及过期时间决定缓存是否失效。
进一步的,所述缓存模块还用于存放变动频率较低的数据。
第二方面,本发明提供一种兼容实时数据库与关系数据库的可视化方法,包括:
S1、数据可视化组件向API服务进程提交所需数据模型的ID,API服务进程检索统一数据模型中是否存在未过期的数据模型,若有则直接返回,若无对应的数据模型或数据模型过期,则启用异步调度进程并通过实时数据库调用模块或关系数据库访问模块获取所述ID对应的数据;
S2、关系数据库访问模块直接通过关系数据库的驱动程序访问数据,并依据数据库不同的元信息表获取相关的表名、列名、字段类型,存入统一数据模型;实时数据库调用模块则通过远程过程调用方式,使用Python调用实时数据库PI的客户端,将获取的键值对数据,以固定的键名为列表,以对应的键值为数据值存入统一数据模型,并更新相应的数据模型过期时间;
S3、异步调度进程监测到统一数据模型中有最新的、与数据可视化组件对应的数据模型写入,则通知API服务进程及数据可视化组件获取数据模型及数据结果集;
S4、数据可视化组件进行最终的页面可视化效果展示。
本发明的有益效果在于,
本发明提供的一种兼容实时数据库与关系数据库的可视化系统及方法,通过本发明建立的数据可视化模型系统,将实时数据库与关系数据库进行统一数据建模,消除数据可视化组件对各种异构数据库的直接依赖,提高了数据可视化展示组件的灵活性及通用性,提高了产品的兼容性。同时,系统结合数据可视化的特点,在应对实时数据访问时使用异步调度进程能够消除用户侧的数据传递堵塞,从而获得更好的用户体验;此外,在应对更新频率不高的历史数据和统计数据时,使用缓存模块有效地提高了数据响应能力。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的系统的示意性框图。
图2是本发明一个实施例的方法的示意性流程图。
其中,1、元数据模块;2、统一数据模型模块;3、缓存模块;4、进程组;5、实时数据库调用模块;6、关系数据库访问模块;7、数据可视化组件;8、API服务进程;9、异步调度进程。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
(一)本发明提供了一种兼容实时数据库与关系数据库的数据可视化模型系统,架构如图1所示。
为了便于对本发明的理解,下面以本发明一种兼容实时数据库与关系数据库的可视化系统的原理,结合数据可视化的原理,对本发明提供的一种兼容实时数据库与关系数据库的可视化系统做进一步的描述。
本数据可视化模型系统后端采用Python开发语言,基于Flask框架开发。系统数据存储在MySQL数据库中。前端界面基于Vue.js框架,数据可视化组件采用D3.js开发。
本系统包括元数据模块、统一数据模型模块、缓存模块、进程组、实时数据库调用模块、关系数据库访问模块、数据可视化组件七个模块:
1)元数据模块用于存放系统基础信息以及其它模块产生的数据信息,包括PI数据库及关系数据库的链接信息、服务调用记录等;
2)统一数据模型模块为数据可视化组件提供了数据结构一致的数据模型。统一数据模型模块以二维表的形式存储模型的数据结果集及模型的元信息,具体包括:数据模型ID、列信息、行信息、数据模型过期时间、查询条件、查询条件的签名及其它一些附属信息等。所述统一数据模型模块将关系数据库的“列名”、“列字段类型”存放在数据模型的列信息中,还会为其增加“列别名”等扩展信息;将关系数据库的数据结果存放在统一数据模型的行信息中;将实时数据库的“测点名”、“时间戳”存放在统一数据模型的列信息中;将实时数据库的“测点值”存放在统一数据模型的行信息中;
3)缓存模块用于数据查询结果的快速访问,并基于查询条件的签名、数据模型的唯一标识及查询过期时间等因素决定缓存是否失效;同时缓存模块也用于存放其它变动频率较低的数据;
4)进程组包含API服务进程和异步调度进程,前者用于为数据可视化组件提供接口,后者使用一种非阻塞式的编程模型,为API服务、实时数据库及关系数据访问等提高响应能力;
5)实时数据库调用模块用于获取PI数据库中的数据。通过远程过程调用方式,使用Python调用PI的C/C++客户端,并将获取的结果存入统一数据模型模块;
6)关系数据库访问模块用于访问MySQL、Oracle、SqlServer等一系列关系数据库;
7)数据可视化组件是最终呈现给用户的Web页面组件,它表现为折线图、饼图或交叉表等等。
(二)本发明提供一种构建数据可视化模型及获取数据结果集的方法,包括:
S1、数据可视化组件向进程组的API服务进程提交其对应的数据模型ID;
调用API服务进程检索统一数据模型中是否存在未过期的数据模型,有则直接返回;若无对应的数据模型或数据模型过期,进程组则启用异步调度进程并通过实时数据库调用模块或关系数据库访问模块获取新的数据(即数据可视化组件所需的数据模型对应的数据);
S2、关系数据库访问模块直接通过关系数据库各种的数据库驱动程序访问数据,并依据各类数据库不同的元信息表获取相关的表名、列名、字段类型等信息,存入统一数据模型;实时数据库调用模块则通过远程过程调用方式,使用Python调用实时数据库PI的C/C++客户端,将获取的键值对数据,以固定的键名为列表,以其对应的值为数据值存入统一数据模型并更新相应的数据模型过期时间;
S3、异步调度进程监测到统一数据模型中有最新的、与数据可视化组件对应的数据模型写入,则通知API服务进程及数据可视化组件获取数据模型及数据结果集;
所述API服务进程及数据可视化组件获取数据模型及数据结果集,包括以下步骤:
S4、数据可视化组件进行最终的页面可视化效果展示。
如图2所示,构建数据可视化模型并获取数据结果集流程,如下:
步骤1、提交数据模型ID,调用API服务进程检索数据结果集,判断判断数据结果集是否可用:
若数据结果集可用,及存在且未失效,则获取数据结果集并返回;
若数据结果集不可用,即不存在或已过期,则进行步骤2;
步骤2、检索数据模型类型,并调用异步调度进程判断数据模型类型:
若数据模型类型为实时型,通过远程过程调用实时数据库中的数据,并将数据转换实时数据为统一的二维模型,然后进行步骤3;
若数据模型类型为关系型,则通过数据库驱动程序访问数据,并映射关系数据至统一的二维模型,然后进行步骤3;
步骤3、将上述而为模型存入统一数据模型,通知异步调度进程更新数据模型,通知API服务进程获取数据结果集并返回,数据可视化组件进行最终的页面可视化效果展示。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种兼容实时数据库与关系数据库的可视化系统,其特征在于,包括:元数据模块、统一数据模型模块、缓存模块、进程组、实时数据库调用模块、关系数据库访问模块和数据可视化组件;
所述元数据模块用于存放系统基础信息和运行数据信息,
所述统一数据模型模块用于为数据可视化组件提供数据结构一致的数据模型;
所述缓存模块用于数据查询结果的快速访问,并基于统一数据模型模块决定缓存是否失效;
所述进程组包括:API服务进程和异步调度进程,所述API服务进程用于为数据可视化组件提供接口,异步调度进程用于通过非阻塞式编程模型提高API服务、实时数据库及关系数据访问的响应能力;
所述实时数据库调用模块用于获取PI数据库中的数据;
所述关系数据库访问模块用于访问关系数据库;
所述数据可视化组件用于通过Web页面组件呈现给用户。
2.根据权利要求1所述的一种兼容实时数据库与关系数据库的可视化系统,其特征在于,
所述统一数据模型模块以二维表的形式存储模型的数据结果集及模型的元信息。
3.根据权利要求1所述的一种兼容实时数据库与关系数据库的可视化系统,其特征在于,所述元信息包括:
数据模型ID、列信息、行信息、过期时间、查询条件、查询条件的签名。
4.根据权利要求3所述的一种兼容实时数据库与关系数据库的可视化系统,其特征在于,所述方法还包括:
所述统一数据模型模块,
将关系数据库和实时数据库的数据类型存放在统一数据模型的列信息中;
将关系数据库和实时数据库的数据结果存放在统一数据模型的行信息中。
5.根据权利要求3所述的一种兼容实时数据库与关系数据库的可视化系统,其特征在于,所述缓存模块还用于基于查询条件的签名、数据模型的ID及过期时间决定缓存是否失效。
6.根据权利要求1所述的一种兼容实时数据库与关系数据库的可视化系统,其特征在于,所述缓存模块还用于存放变动频率较低的数据。
7.一种兼容实时数据库与关系数据库的可视化方法,其特征在于,包括:
S1、数据可视化组件向API服务进程提交所需数据模型的ID,API服务进程检索统一数据模型中是否存在未过期的数据模型,若有则直接返回,若无对应的数据模型或数据模型过期,则启用异步调度进程并通过实时数据库调用模块或关系数据库访问模块获取所述ID对应的数据;
S2、关系数据库访问模块直接通过关系数据库的驱动程序访问数据,并依据数据库不同的元信息表获取相关的表名、列名、字段类型,存入统一数据模型;实时数据库调用模块则通过远程过程调用方式,使用Python调用实时数据库PI的客户端,将获取的键值对数据,以固定的键名为列表,以对应的键值为数据值存入统一数据模型,并更新相应的数据模型过期时间;
S3、异步调度进程监测到统一数据模型中有最新的、与数据可视化组件对应的数据模型写入,则通知API服务进程及数据可视化组件获取数据模型及数据结果集;
S4、数据可视化组件进行最终的页面可视化效果展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011549951.6A CN112667738B (zh) | 2020-12-24 | 2020-12-24 | 一种兼容实时数据库与关系数据库的可视化系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011549951.6A CN112667738B (zh) | 2020-12-24 | 2020-12-24 | 一种兼容实时数据库与关系数据库的可视化系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667738A true CN112667738A (zh) | 2021-04-16 |
CN112667738B CN112667738B (zh) | 2023-03-14 |
Family
ID=75408334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011549951.6A Active CN112667738B (zh) | 2020-12-24 | 2020-12-24 | 一种兼容实时数据库与关系数据库的可视化系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667738B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609463A (zh) * | 2012-01-13 | 2012-07-25 | 广东电网公司电力科学研究院 | 一种基于准实时平台的数据集群管理系统 |
CN103715772A (zh) * | 2013-12-27 | 2014-04-09 | 北京四方继保自动化股份有限公司 | 一种智能变电站全景数据中心 |
CN105681477A (zh) * | 2016-04-08 | 2016-06-15 | 四川师范大学 | 一种数据访问方法和一种服务器 |
US20170220606A1 (en) * | 2016-01-29 | 2017-08-03 | Ca, Inc. | Unified data model for integration between relational and non-relational databases |
CN108038239A (zh) * | 2017-12-27 | 2018-05-15 | 中科鼎富(北京)科技发展有限公司 | 一种异构数据源规范化处理方法、装置及服务器 |
CN109582717A (zh) * | 2018-10-16 | 2019-04-05 | 中国电力科学研究院有限公司 | 一种面向电力大数据的数据库统一平台及其读取方法 |
-
2020
- 2020-12-24 CN CN202011549951.6A patent/CN112667738B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609463A (zh) * | 2012-01-13 | 2012-07-25 | 广东电网公司电力科学研究院 | 一种基于准实时平台的数据集群管理系统 |
CN103715772A (zh) * | 2013-12-27 | 2014-04-09 | 北京四方继保自动化股份有限公司 | 一种智能变电站全景数据中心 |
US20170220606A1 (en) * | 2016-01-29 | 2017-08-03 | Ca, Inc. | Unified data model for integration between relational and non-relational databases |
CN105681477A (zh) * | 2016-04-08 | 2016-06-15 | 四川师范大学 | 一种数据访问方法和一种服务器 |
CN108038239A (zh) * | 2017-12-27 | 2018-05-15 | 中科鼎富(北京)科技发展有限公司 | 一种异构数据源规范化处理方法、装置及服务器 |
CN109582717A (zh) * | 2018-10-16 | 2019-04-05 | 中国电力科学研究院有限公司 | 一种面向电力大数据的数据库统一平台及其读取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112667738B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI710919B (zh) | 資料儲存裝置、轉譯裝置及資料庫存取方法 | |
US7870167B2 (en) | Implementing event processors | |
WO2018121044A1 (zh) | 医疗就诊信息管理系统及方法 | |
US20120310934A1 (en) | Historic View on Column Tables Using a History Table | |
CN109524070B (zh) | 数据处理方法及装置、电子设备、存储介质 | |
CN112988863A (zh) | 一种基于Elasticsearch的异构多数据源的高效搜索引擎方法 | |
WO2001004798A1 (en) | Real-time database object statistics collection | |
US9177001B2 (en) | Data index using a linked data standard | |
CN114049927A (zh) | 疾病数据处理方法、装置、电子设备及可读介质 | |
CN112069783A (zh) | 一种病历输入法及其输入系统 | |
CN112837772A (zh) | 一种预问诊病历生成方法及装置 | |
CN111813871A (zh) | 一种数据实时处理系统及方法 | |
CN115563127A (zh) | 基于大数据医疗通用检索索引构建的查询方法及系统 | |
CN112667738B (zh) | 一种兼容实时数据库与关系数据库的可视化系统及方法 | |
Kim et al. | M2bench: a database benchmark for multi-model analytic workloads | |
EP4172798A1 (en) | Knowledge graph-based lineage tracking | |
CN112905600A (zh) | 数据查询方法、装置和存储介质及电子设备 | |
CN117149785A (zh) | 一种实现Oracle数据库日志变更处理的方法及装置 | |
US9785742B2 (en) | Search engine for medical data | |
CN112597358B (zh) | 一种数据展示方法、装置及电子设备 | |
CN115357607A (zh) | 基于个人健康大数据平台的海量数据查询方法和装置 | |
WO2014114761A1 (en) | Data management system | |
CN114298525A (zh) | 一种数据库风险评估方法及装置 | |
CN114334056A (zh) | 一种基于web的心肌缺血病例数据统计可视化系统 | |
CN112286892B (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Yinhe building, 2008 Xinluo street, high tech Industrial Development Zone, Jinan City, Shandong Province Patentee after: Shandong luruan Digital Technology Co.,Ltd. Address before: Yinhe building, 2008 Xinluo street, high tech Industrial Development Zone, Jinan City, Shandong Province Patentee before: SHANDONG LUNENG SOFTWARE TECHNOLOGY Co.,Ltd. |