CN112784114A - 一种基于Neo4j高性能图数据库的关系图谱更新方法 - Google Patents
一种基于Neo4j高性能图数据库的关系图谱更新方法 Download PDFInfo
- Publication number
- CN112784114A CN112784114A CN201911091235.5A CN201911091235A CN112784114A CN 112784114 A CN112784114 A CN 112784114A CN 201911091235 A CN201911091235 A CN 201911091235A CN 112784114 A CN112784114 A CN 112784114A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- neo4j
- button
- file
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于Neo4j高性能图数据库的关系图谱更新方法,对分散的数据库数据、传感器数据等文件数据进行数据采集、解析、存储,将采集的源数据进行规范化处理,形成数据仓库进行全量数据存储,实现从资源库或数据仓库的数据抽取、转换、上传、导入到图数据库,将形成的数据文件进行备份存储,将抽取的实体、关系、属性等信息进行三元组形式存储,支撑关系图谱的查询和分析。本发明是通过搭建Neo4j图数据库集群,利用Kettle工具,高效实现从源数据库到Neo4j图数据库的实体、关系、属性等数据定时增量或全量的数据抽取、转换、上传和导入,并有效能够解决大规模数据的定时更新问题。
Description
技术领域
本发明属于大数据分析领域,涉及一种基于Neo4j高性能图数据库的关系图谱更新方法。
背景技术
随着互联网的发展,多源海量数据内容呈现爆炸式增长的态势。由于大数据的大规模、异质多元、组织结构松散的特点,给人们有效获取信息和知识提出了挑战。关系图谱(知识图谱,Knowledge Graph)以其强大的语义处理能力和开放组织能力,为互联网时代的知识化组织和智能应用奠定了基础。一个知识图谱旨在描述现实世界中存在的实体以及实体之间的关系。随着人工智能的技术发展和应用,知识图谱作为关键技术之一,已被广泛应用于大数据推演分析、智能搜索、智能问答、个性化推荐、内容分发等领域。
知识图谱数据库不同于以往关系型数据库,也不同于普通的图数据库,它将所有数据以实体、关系、事件、文档的形式存储,形成了包含二维关联信息、时空信息、历史状态信息、隐性关联信息、非结构化模糊关联多个层次的大知识基础,结合多元化检索、复杂图谱分析、在线关系挖掘等技术,为业务应用提供了兼具深度和广度的高性能知识服务,因而针对资源库和数据仓库等不同数据源的数据抽取、转换、上传和导入,对数据的定时全量或增量更新等提出了更高的要求。
发明内容
本发明的目的在于提供一种基于Neo4j高性能图数据库的关系图谱更新方法,通过搭建Neo4j图数据库集群,利用Kettle工具,高效实现从源数据库如Gbase到Neo4j图数据库的实体、关系、属性等数据定时增量或全量的数据抽取、转换、上传和导入,并有效能够解决大规模数据的定时更新问题。
本发明的技术方案如下:
一种基于Neo4j高性能图数据库的关系图谱更新方法,其特征在于,按照以下步骤实施:
(1)完成数据采集,按照以下步骤实施:
(11)数据资源管理,将源数据库的数据库类型、IP地址、端口号、连接方式、用户名、密码等信息与资源库进行映射;
(12)任务调度管理,包含kettle任务调度管理和文件解析任务调度管理,实现不同类型任务的创建、编辑、运行、删除等功能;
(13)任务监控管理,实现对任务执行进度、任务状态、创建时间、结束时间、运行时长、日志和结构图等监控管理,;
(14)文件解析管理,实现对Excel/TXT/CSV等文件的解析任务配置和管理;
(2)形成数据仓库,按照以下步骤实施:
(21)通过数据采集模块将源数据采集存储至资源库;
(22)将资源库中的数据进行标准化、规范化处理,形成资源目录,存储至数据仓库,如GBASE、Hive、MySQL等,支撑上层数据应用:
(3)利用kettle完成数据处理,按照以下步骤实施:
(31)从资源库或数据仓库中抽取数据,通过在SQL脚本中定义时间字段的限制条件完成增量数据的抽取并将其存入增量表中备用;此外,还对总流程中的变量进行读取与设置,利用SQL语句从GBASE增量表中读取流程所需全部变量信息,并设置变量值、活动类型及默认值,主要包含记录总数、每页记录数、当前页码、总页数、表名;
(32)转换,完成将增量数据从增量表中抽取转换成CSV文件的过程,由于内存等硬件条件的限制,对于数据规模较小的情况可以直接进行转换,对于数据量较大的情况可采用循环分页进行转换,可利用JavaScript代码设置循环验证,当符合循环条件执行分页转换流程,当超出循环条件时即为完成转换,则跳出循环;
(33)上传,完成增量数据从Kettle服务器向图数据库服务器的上传,配置步骤(2)中生成的CSV文件所在目录及远程图数据库导入数据目录,可借助FTP、SFTP等不同传输协议完成传输;
(34)导入,完成增量数据从CSV文件导入图数据库的过程,通过编写shell脚本,利用Neo4j图数据库中的Cypher-shell完成CSV形式增量数据的导入;
(35)定时更新,可利用Kettle中的定时设置,即在START按钮处进行设置,将每个表格进行单独设置流程,采用LINUX系统自带的定时器,定时器进程会每分钟定期检查是否有要执行的任务,用户只需将需要定时的指令规则按格式要求写入执行任务文件,增量数据能够自动定时更新;
(4)利用kettle服务器完成数据备份存储;
(5)利用kettle将抽取的三元组数据定时全量或增量导入Neo4j图数据库,支持上层应用针对关系图谱的查询和分析。
本发明具有以下有益效果:
1、本发明的关系图谱更新方法能够高效实现针对资源库和数据仓库等不同数据源的数据抽取、转换、上传和导入。
2、本发明的关系图谱更新方法基于kettle快速实现数据的定时全量或增量更新。
3、本发明的关系图谱更新方法可有效能够解决大规模数据的定时更新问题。
附图说明
图1是本发明方法关系图谱更新方法的功能模块及系统流程图。
具体实施方式
如图1所示,本发明包括数据采集模块、数据仓库模块、数据处理模块、数据备份模块、图数据库存储模块,所述数据采集模块是将分散的数据库数据、传感器数据、Excel/TXT/CSV等文件数据进行数据采集、解析、存储的功能;所述数据仓库模块是将采集的源数据进行规范化处理,形成数据仓库进行全量数据存储;所述数据处理模块是实现从资源库或数据仓库的数据抽取、转换、上传、导入到图数据库;所述数据备份模块是将数据处理模块形成的数据文件进行备份存储;所述图数据库存储模块是将抽取的实体、关系、属性等信息进行三元组形式存储,支撑关系图谱的查询和分析。
本发明是通过搭建Neo4j图数据库集群,利用Kettle工具,高效实现从源数据库如Gbase到Neo4j图数据库的实体、关系、属性等数据定时增量或全量的数据抽取、转换、上传和导入,并有效能够解决大规模数据的定时更新问题。具体按照以下步骤实施:
S1,完成数据采集,按照以下步骤实施:
S11,数据资源管理,将源数据库的数据库类型、IP地址、端口号、连接方式、用户名、密码等信息与资源库进行映射;
S12,任务调度管理,包含kettle任务调度管理和文件解析任务调度管理,实现不同类型任务的创建、编辑、运行、删除等功能;
S13,任务监控管理,实现对任务执行进度、任务状态、创建时间、结束时间、运行时长、日志和结构图等监控管理,;
S14,文件解析管理,实现对Excel/TXT/CSV等文件的解析任务配置和管理。
S2,形成数据仓库,按照以下步骤实施:
S21,通过数据采集模块将源数据采集存储至资源库;
S22,将资源库中的数据进行标准化、规范化处理,形成资源目录,存储至数据仓库,如GBASE、Hive、MySQL等,支撑上层数据应用:
S3,利用kettle完成数据处理,按照以下步骤实施:
S31,从资源库或数据仓库中抽取数据,通过在SQL脚本中定义时间字段的限制条件完成增量数据的抽取并将其存入增量表中备用;此外,本步骤还对总流程中的变量进行读取与设置,利用SQL语句从GBASE增量表中读取流程所需全部变量信息,并设置变量值、活动类型及默认值,主要包含记录总数(TOTAL_COUNT)、每页记录数(PAGE_SIZE)、当前页码(CURR_PAGE)、总页数(TOTAL_PAGE)、表名(TABLENAME)等。在此处进行变量初始化及统一设置,可有效避免重复或中断执行导致的变量错误、多次输入或修改导致的前后不一致错误;
S32,转换,完成将增量数据从增量表中抽取转换成CSV文件的过程,由于内存等硬件条件的限制,对于数据规模较小的情况可以直接进行转换,对于数据量较大的情况可采用循环分页进行转换,可利用JavaScript代码设置循环验证,当符合循环条件执行分页转换(TRANS)流程,当超出循环条件时即为完成转换,则跳出循环。其中的TRANS流程可通过不同的SQL语句,即“SELECT*FROM${TABLENAME}WHERE${START_ROW},${PAGE_SIZE};”完成分页转换。;
S33,上传,完成增量数据从Kettle服务器向图数据库服务器的上传,配置步骤2中生成的CSV文件所在目录及远程图数据库导入数据目录,可借助FTP、SFTP等不同传输协议完成传输;
S34,导入,完成增量数据从CSV文件导入图数据库的过程,通过编写shell脚本,利用Neo4j图数据库中的Cypher-shell完成CSV形式增量数据的导入;
S35,定时更新,可利用Kettle中的定时设置,即在START按钮处进行设置,考虑到需要导入的表格数据量较大且均很重要,将所有表格的增量数据处理流程放在同一个Kettle作业中安全风险较大,因此适合将每个表格进行单独设置流程。表格数量较大,对每个表格单独进行定时设置比较繁琐,且更新周期在分钟以上可满足需求,因此可考虑采用LINUX系统自带的定时器CROND,CROND进程会每分钟定期检查是否有要执行的任务,用户只需将需要定时的指令规则写入/etc/crontab(默认)即可,如“*1***root/opt/script/backup.sh”表示从1:00到1:59每隔1分钟以root用户执行一次backup.sh。利用CROND同一进行定时配置,方便修改调整,当更新周期在分钟内时,可考虑使用Kettle自身定时器或其他定时器替代,如QUARTZ、SPRING TASK等,把定时执行任务按格式要求写入CROND的执行任务文件,至此,增量数据能够自动定时更新。
S4,利用kettle服务器完成数据备份存储;
S5,利用kettle将抽取的三元组数据定时全量或增量导入Neo4j图数据库,支持上层应用针对关系图谱的查询和分析。
Claims (1)
1.一种基于Neo4j高性能图数据库的关系图谱更新方法,其特征在于,按照以下步骤实施:
(1)完成数据采集,按照以下步骤实施:
(11)数据资源管理,将源数据库的数据库类型、IP地址、端口号、连接方式、用户名、密码等信息与资源库进行映射;
(12)任务调度管理,包含kettle任务调度管理和文件解析任务调度管理,实现不同类型任务的创建、编辑、运行、删除等功能;
(13)任务监控管理,实现对任务执行进度、任务状态、创建时间、结束时间、运行时长、日志和结构图等监控管理,;
(14)文件解析管理,实现对Excel/TXT/CSV等文件的解析任务配置和管理;
(2)形成数据仓库,按照以下步骤实施:
(21)通过数据采集模块将源数据采集存储至资源库;
(22)将资源库中的数据进行标准化、规范化处理,形成资源目录,存储至数据仓库,如GBASE、Hive、MySQL等,支撑上层数据应用:
(3)利用kettle完成数据处理,按照以下步骤实施:
(31)从资源库或数据仓库中抽取数据,通过在SQL脚本中定义时间字段的限制条件完成增量数据的抽取并将其存入增量表中备用;此外,还对总流程中的变量进行读取与设置,利用SQL语句从GBASE增量表中读取流程所需全部变量信息,并设置变量值、活动类型及默认值,主要包含记录总数、每页记录数、当前页码、总页数、表名;
(32)转换,完成将增量数据从增量表中抽取转换成CSV文件的过程,由于内存等硬件条件的限制,对于数据规模较小的情况可以直接进行转换,对于数据量较大的情况可采用循环分页进行转换,可利用JavaScript代码设置循环验证,当符合循环条件执行分页转换流程,当超出循环条件时即为完成转换,则跳出循环;
(33)上传,完成增量数据从Kettle服务器向图数据库服务器的上传,配置步骤(2)中生成的CSV文件所在目录及远程图数据库导入数据目录,可借助FTP、SFTP等不同传输协议完成传输;
(34)导入,完成增量数据从CSV文件导入图数据库的过程,通过编写shell脚本,利用Neo4j图数据库中的Cypher-shell完成CSV形式增量数据的导入;
(35)定时更新,可利用Kettle中的定时设置,即在START按钮处进行设置,将每个表格进行单独设置流程,采用LINUX系统自带的定时器,定时器进程会每分钟定期检查是否有要执行的任务,用户只需将需要定时的指令规则按格式要求写入执行任务文件,增量数据能够自动定时更新;
(4)利用kettle服务器完成数据备份存储;
(5)利用kettle将抽取的三元组数据定时全量或增量导入Neo4j图数据库,支持上层应用针对关系图谱的查询和分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911091235.5A CN112784114A (zh) | 2019-11-09 | 2019-11-09 | 一种基于Neo4j高性能图数据库的关系图谱更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911091235.5A CN112784114A (zh) | 2019-11-09 | 2019-11-09 | 一种基于Neo4j高性能图数据库的关系图谱更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112784114A true CN112784114A (zh) | 2021-05-11 |
Family
ID=75749388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911091235.5A Pending CN112784114A (zh) | 2019-11-09 | 2019-11-09 | 一种基于Neo4j高性能图数据库的关系图谱更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112784114A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028651A (zh) * | 2023-03-28 | 2023-04-28 | 南京万得资讯科技有限公司 | 一种支持本体和数据增量更新的知识图谱构建系统及方法 |
CN116992065A (zh) * | 2023-09-26 | 2023-11-03 | 之江实验室 | 一种图数据库数据导入方法、系统、电子设备、介质 |
-
2019
- 2019-11-09 CN CN201911091235.5A patent/CN112784114A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028651A (zh) * | 2023-03-28 | 2023-04-28 | 南京万得资讯科技有限公司 | 一种支持本体和数据增量更新的知识图谱构建系统及方法 |
CN116992065A (zh) * | 2023-09-26 | 2023-11-03 | 之江实验室 | 一种图数据库数据导入方法、系统、电子设备、介质 |
CN116992065B (zh) * | 2023-09-26 | 2024-01-12 | 之江实验室 | 一种图数据库数据导入方法、系统、电子设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6144700B2 (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
CN105320740B (zh) | 微信文章以及公众号的获取方法及获取系统 | |
CN109271435B (zh) | 一种支持断点续传的数据抽取方法及系统 | |
WO2016183548A1 (en) | Dynamic filter processing | |
CN108073710B (zh) | 基于动态网络图挖掘的Github开源代码库推荐系统 | |
CN104123288A (zh) | 一种数据查询方法及装置 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN103823797A (zh) | 基于ftp协议的行业数据库数据实时同步系统 | |
CN112784114A (zh) | 一种基于Neo4j高性能图数据库的关系图谱更新方法 | |
CN104572856A (zh) | 一种服务起源数据的融合存储方法 | |
AU2017254893A1 (en) | Adapting database queries for data virtualization over combined database stores | |
Kvet et al. | Transaction management in fully temporal system | |
CN106780157B (zh) | 基于Ceph的电网多时态模型存储与管理系统及方法 | |
CN107870949A (zh) | 数据分析作业依赖关系生成方法和系统 | |
CN110737432B (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
CN113282599A (zh) | 数据同步方法及系统 | |
CN114443656A (zh) | 一种可定制的自动化数据模型分析工具及其使用方法 | |
CN114443599A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN116028192A (zh) | 一种多源异构数据采集方法、装置和存储介质 | |
US11762831B2 (en) | Adaptive sparse indexing in cloud-based data warehouses | |
CN109992573B (zh) | 一种实现hdfs文件占用率自动监控的方法及系统 | |
CN113742313A (zh) | 数据仓库构建方法、装置、计算机设备和存储介质 | |
CN107908683A (zh) | 无线城市大数据离线处理系统及其大数据离线处理方法 | |
CN108073584B (zh) | 一种数据处理方法及服务器 | |
CN113553320B (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 |