CN112632015A - 数据格式的转换方法及装置、存储介质、电子设备 - Google Patents

数据格式的转换方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN112632015A
CN112632015A CN202011509604.0A CN202011509604A CN112632015A CN 112632015 A CN112632015 A CN 112632015A CN 202011509604 A CN202011509604 A CN 202011509604A CN 112632015 A CN112632015 A CN 112632015A
Authority
CN
China
Prior art keywords
data
source data
entity
mapping
attribute
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
Application number
CN202011509604.0A
Other languages
English (en)
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.)
Shanghai Minglue Artificial Intelligence Group Co Ltd
Original Assignee
Shanghai Minglue Artificial Intelligence Group 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 Shanghai Minglue Artificial Intelligence Group Co Ltd filed Critical Shanghai Minglue Artificial Intelligence Group Co Ltd
Priority to CN202011509604.0A priority Critical patent/CN112632015A/zh
Publication of CN112632015A publication Critical patent/CN112632015A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (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

本发明公开了一种数据格式的转换方法及装置、存储介质、电子设备,属于人工智能领域。其中,该方法包括:获取源数据,并解析所述源数据的数据类型;根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;在图数据库中导入所述中间格式的源数据。通过本发明,解决了相关技术的技术问题,提高了数据的可迁移性和通用性,可以将不同数据格式的同一数据内容转换为支撑应用的通用性数据,提高了数据的存储效率。

Description

数据格式的转换方法及装置、存储介质、电子设备
技术领域
本发明涉及人工智能领域,具体而言,涉及一种数据格式的转换方法及装置、存储介质、电子设备。
背景技术
相关技术中,随着知识图谱等基于图结构数据的知识服务的兴起,越来越多的应用基于实体关系图构建,但传统的关系型数据库无法支撑此类应用,如,进行实体之间的关系推理,若使用关系型数据库,需使用join操作完成此类功能,但关系型数据库本质的数据模型决定了该类操作效率低下,构建以图结构数据为核心的数据存储体系是一种较好的解决方案。
相关技术中,多源异构数据通常存储在不同数据源,利用不同数据格式进行表示,导致不同数据的数据描述(元数据,如列/属性名,数据类型等),实际属性值等均存在一定的差异性,在交换时需要进行统一转换。相关技术的解决方案是采用阿里巴巴公司提出的DataX,使用星型架构,使用一种抽象的统一数据描述类,所有异构数据均转换成该类型,再转换为符合目标数据源的格式,但该通用类型面对的是传统关系型数据等行列数据,不能转换为图数据结构。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种数据格式的转换方法及装置、存储介质、电子设备。
根据本申请实施例的一个方面,提供了一种数据格式的转换方法,包括:获取源数据,并解析所述源数据的数据类型;根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;在图数据库中导入所述中间格式的源数据。
进一步,根据所述数据类型将所述源数据转换为中间格式包括:若所述源数据为来自关系型数据库的第一数据类型,将所述源数据的每个关系表映射为中间格式的一类实体,关系表标识设置为对应的类实体标识;针对每个关系表,将所述关系表的每列映射为对应类实体的属性,将所述关系表的每行映射为一个实体,每行对应的列映射为实体属性的属性值;将所述关系表之间的外键关系映射为所述中间格式中不同类别实体之间的边。
进一步,根据所述数据类型将所述源数据转换为中间格式包括:若所述源数据为来自HBase数据库的第二数据类型,将所述源数据每个表映射为中间格式的一类实体,表标识设置为对应的类实体标识;将所述源数据的每个单元映射为一个属性,其中,属性的属性标识包括以下字段:列族、限定符、版本号;将所述源数据的每行映射为一个实体,并通过行键设置对应实体的唯一区分标志。
进一步,根据所述数据类型将所述源数据转换为中间格式包括:若所述源数据为来自逗号分隔值文件格式CSV的第三数据类型,将所述源数据每个文件映射为中间格式的一个实体类,文件标识设置为对应的类实体标识;将所述源数据的每行映射为一个实体;将所述源数据的每个分割符分隔出的字段映射为实体的一个实体属性。
进一步,根据所述数据类型将所述源数据转换为中间格式包括:若所述源数据为Excel格式的第四数据类型,将所述源数据的每个表格映射为中间格式的一个实体类,表格标识设置为对应的类实体标识;将所述源数据的每行映射为一个的实体;将所述源数据的每个单元格映射为实体的一个属性,单元格对应列的标识映射为属性标识。
进一步,根据所述数据类型将所述源数据转换为中间格式包括:若所述源数据为Json数据类型,将所述源数据的每个对象映射为中间格式的一个实体;将所述源数据中对象的每个键值对映射为对应实体的一组属性名与值,在对象的键对应值也为对象时,将两个对象对应的实体之间建立一条边。
进一步,根据所述数据类型将所述源数据转换为中间格式包括:若所述源数据为可扩展标记语言XML数据类型,将所述源数据的每个标记映射为中间格式的一个实体,并将标记相同的若干个个标记映射为同类实体;将所述源数据的标记对应的属性标识与属性值映射为对应实体的属性标识和属性值,在两个标记存在嵌套关系时,构建两个标记对应实体之间的边。
进一步,在图数据库中导入所述中间格式的源数据之后,所述方法还包括:接收目标数据的导出指令,其中,所述导出指令用于指示从所述图数据库中导出目标数据类型的数据内容;将所述源数据的数据内容从所述中间格式逆转换为所述目标数据类型。
根据本申请实施例的另一个方面,还提供了一种数据格式的转换装置,包括:获取模块,用于获取源数据,并解析所述源数据的数据类型;转换模块,用于根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;导入模块,用于在图数据库中导入所述中间格式的源数据。
进一步,所述转换模块包括:第一映射单元,用于若所述源数据为来自关系型数据库的第一数据类型,将所述源数据的每个关系表映射为中间格式的一类实体,关系表标识设置为对应的类实体标识;第二映射单元,用于针对每个关系表,将所述关系表的每列映射为对应类实体的属性,将所述关系表的每行映射为一个实体,每行对应的列映射为实体属性的属性值;第三映射单元,用于将所述关系表之间的外键关系映射为所述中间格式中不同类别实体之间的边。
进一步,所述转换模块包括:第四映射单元,用于若所述源数据为来自HBase数据库的第二数据类型,将所述源数据每个表映射为中间格式的一类实体,表标识设置为对应的类实体标识;第五映射单元,用于将所述源数据的每个单元映射为一个属性,其中,属性的属性标识包括以下字段:列族、限定符、版本号;第六映射单元,用于将所述源数据的每行映射为一个实体,并通过行键设置对应实体的唯一区分标志。
进一步,所述转换模块包括:第七映射单元,用于若所述源数据为来自逗号分隔值文件格式CSV的第三数据类型,将所述源数据每个文件映射为中间格式的一个实体类,文件标识设置为对应的类实体标识;第八映射单元,用于将所述源数据的每行映射为一个实体;第九映射单元,用于将所述源数据的每个分割符分隔出的字段映射为实体的一个实体属性。
进一步,所述转换模块包括:第十映射单元,用于若所述源数据为Excel格式的第四数据类型,将所述源数据的每个表格映射为中间格式的一个实体类,表格标识设置为对应的类实体标识;第十一映射单元,用于将所述源数据的每行映射为一个的实体;第十二映射单元,用于将所述源数据的每个单元格映射为实体的一个属性,单元格对应列的标识映射为属性标识。
进一步,所述转换模块包括:第十三映射单元,用于若所述源数据为Json数据类型,将所述源数据的每个对象映射为中间格式的一个实体;第十四映射单元,用于将所述源数据中对象的每个键值对映射为对应实体的一组属性名与值,在对象的键对应值也为对象时,将两个对象对应的实体之间建立一条边。
进一步,所述转换模块包括:第十五映射单元,用于若所述源数据为可扩展标记语言XML数据类型,将所述源数据的每个标记映射为中间格式的一个实体,并将标记相同的若干个个标记映射为同类实体;第十六映射单元,用于将所述源数据的标记对应的属性标识与属性值映射为对应实体的属性标识和属性值,在两个标记存在嵌套关系时,构建两个标记对应实体之间的边。
进一步,所述装置还包括:接收模块,用于在所述导入模块在图数据库中导入所述中间格式的源数据之后,接收目标数据的导出指令,其中,所述导出指令用于指示从所述图数据库中导出目标数据类型的数据内容;逆转换模块,用于将所述源数据的数据内容从所述中间格式逆转换为所述目标数据类型。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,获取源数据,并解析源数据的数据类型,然后根据数据类型将源数据转换为Json描述的实体属性图格式,在图数据库中导入中间格式的源数据,根据源数据的数据类型将源数据转换为Json描述的实体属性图格式,实现了一种多源异构数据到实体属性图转换存储方案,解决了相关技术的技术问题,提高了数据的可迁移性和通用性,可以将不同数据格式的同一数据内容转换为支撑应用的通用性数据,提高了数据的存储效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种服务器的硬件结构框图;
图2是根据本发明实施例的一种数据格式的转换方法的流程图;
图3是本发明实施例的一个实现流程图;
图4是根据本发明实施例的一种数据格式的转换装置的结构框图;
图5是实施本发明实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在服务器、计算机、或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据格式的转换方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据格式的转换方法,图2是根据本发明实施例的一种数据格式的转换方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取源数据,并解析源数据的数据类型;
在本实施例在源数据导入时,可以针对每类数据源,构建对应的读取模块,完成原始数据源的连接和读取,源数据的数据类型可以基于源数据的存储格式、存数数据库类型等进行解析,也可以根据用户输入的数据类型进行解析。
步骤S204,根据数据类型将源数据转换为中间格式,其中,中间格式为Json描述的实体属性图格式;
本实施例实体属性图包括节点(Node)、属性(Attribute)、边(Edge)三种元素,其中,边用于描述节点与节点之间的关系,如逻辑关系(如父子关系、所属关系等)、物理关系等,属性又包括节点属性和边属性,节点用于描述存储实体,如“张三”,“中国”等,是一个存储对象。
可选的,在根据数据类型将源数据转换为中间格式之前,或者在根据数据类型将源数据转换为中间格式之后,还可以设置源数据的标签信息,如源数据的数据格式,读取数据,数据源等,作为中间格式中对应实体的一个属性,以便后续对转换后的数据进行溯源。
步骤S206,在图数据库中导入中间格式的源数据;
可选的,在图数据库中导入中间格式的源数据之后,可以基于中间格式的源数据支撑上层应用,也可以将中间格式的源数据转换为其他需要的数据格式。
通过上述步骤,获取源数据,并解析源数据的数据类型,然后根据数据类型将源数据转换为Json描述的实体属性图格式,在图数据库中导入中间格式的源数据,根据源数据的数据类型将源数据转换为Json描述的实体属性图格式,实现了一种多源异构数据到实体属性图转换存储方案,解决了相关技术的技术问题,提高了数据的可迁移性和通用性,可以将不同数据格式的同一数据内容转换为支撑应用的通用性数据,提高了数据的存储效率。
本实施例的数据类型可以是结构化数据与半结构化数据,结构化数据可以针对各类关系型数据库(如MySQL,Oracle等),非关系型数据库(如HBase,Redis等),CSV,Excel等,半结构化数据包括Json,XML等类型数据,但不限于此。下面对各种数据类型的源数据的转换方式进行举例说明:
在本实施例的一个实例中,数据类型为关系型数据库的存储类型,关系型数据库可以是MySQL,Oracle,MS SQL Server,Hive等,根据数据类型将源数据转换为中间格式包括:若源数据为来自关系型数据库的第一数据类型,将源数据的每个关系表映射为中间格式的一类实体,关系表标识设置为对应的类实体标识;针对每个关系表,将关系表的每列映射为对应类实体的属性,将关系表的每行映射为一个实体,每行对应的列映射为实体属性的属性值;将关系表之间的外键关系映射为中间格式中不同类别实体之间的边。
在本实施例的一个实例中,数据类型为非关系型数据库HBase的存储类型,根据数据类型将源数据转换为中间格式包括:若源数据为来自HBase数据库的第二数据类型,将源数据每个表映射为中间格式的一类实体,表标识设置为对应的类实体标识;将源数据的每个单元映射为一个属性,其中,属性的属性标识包括以下字段:列族、限定符、版本号;将源数据的每行映射为一个实体,并通过行键设置对应实体的唯一区分标志。
在本实施例的一个实例中,数据类型为逗号分隔值文件格式(Comma-SeparatedValues,CSV)的存储类型,根据数据类型将源数据转换为中间格式包括:若源数据为来自逗号分隔值文件格式CSV的第三数据类型,将源数据每个文件映射为中间格式的一个实体类,文件标识设置为对应的类实体标识;将源数据的每行映射为一个实体;将源数据的每个分割符分隔出的字段映射为实体的一个实体属性。
在本实施例的一个实例中,数据类型为Excel(可以是微软或WPS)格式,根据数据类型将源数据转换为中间格式包括:若源数据为Excel格式的第四数据类型,将源数据的每个表格映射为中间格式的一个实体类,表格标识设置为对应的类实体标识;将源数据的每行映射为一个的实体;将源数据的每个单元格映射为实体的一个属性,单元格对应列的标识映射为属性标识。
在本实施例的一个实例中,数据类型为半结构化的Json数据类型,根据数据类型将源数据转换为中间格式包括:若源数据为Json数据类型,将源数据的每个对象映射为中间格式的一个实体;将源数据中对象的每个键值对映射为对应实体的一组属性名与值,在对象的键对应值也为对象时,将两个对象对应的实体之间建立一条边。
在本实施例的一个实例中,数据类型为半结构化的可扩展标记语言(eXtensibleMarkup Language,XML)数据类型,根据数据类型将源数据转换为中间格式包括:若源数据为XML数据类型,将源数据的每个标记映射为中间格式的一个实体,并将标记相同的若干个个标记映射为同类实体;将源数据的标记对应的属性标识与属性值映射为对应实体的属性标识和属性值,在两个标记存在嵌套关系时,构建两个标记对应实体之间的边。
在一个示例中,由上述多种数据格式读取转换得到的统一Json中间格式为:
Figure BDA0002846000780000091
Figure BDA0002846000780000101
Figure BDA0002846000780000111
“xxxx”表示对应项目具体的值。
在格式转换过程中,支持整型,浮点型,字符型,布尔型四类基本数据类型,其他数据类型均转换为这四类数据类型。
在本实施例的一个实施方式中,在图数据库中导入所述中间格式的源数据之后,还包括:接收目标数据的导出指令,其中,所述导出指令用于指示从所述图数据库中导出目标数据类型的数据内容;将所述源数据的数据内容从所述中间格式逆转换为所述目标数据类型。
图3是本发明实施例的一个实现原理图,包括三个步骤:数据导入,针对每类数据源,构建对应的读取模块,完成原始数据源的连接、读取与格式转换任务,输出为以Json为中间格式描述的实体属性图格式数据;数据存取,将各种格式数据转换为以Json描述的中间格式数据,存入图数据库,生成对应的节点,边与属性;数据导出,将图数据库存储的实体属性图格式数据转换为以Json描述的中间格式,再将中间格式转换为目标数据格式,如关系表等。下面进行解释说明:
第1步:数据导入的对象为各类数据源连接参数或数据文件,输出为Json描述的实体属性图中间数据格式,针对不同的数据类型,从原始数据格式到实体属性图结构的转换步骤如下:
关系型数据库,如MySQL,Oracle,MS SQL Server,Hive等,转换流程包括:
一个关系表对应一类实体,表名作为该类实体的名称;
表的一列作为该类实体的属性;
关系表的一行表示一个具体的实体,其对应的列即该实体属性的具体值;
关系表之间的外键关系表示不同类别实体之间的边。
非关系型数据库HBase,转换流程包括:
一个表对应一类实体,表名作为该类实体的名称;
一个单元(Cell)对应一个属性,属性名由列族(column family)、限定符(qualifier)及版本号(version)共同决定;
一行对应一个具体的实体,使用行键(row key)作为实体的唯一区分标志;
HBase本身不存储实体之间的关系,该部分可由用户指定。
CSV数据,转换流程包括:
一个文件作为一个实体类,文件名作为该类实体名;
一行作为一个具体的实体;
一个分割符分隔出的字段作为一个属性。
CSV本身不存储实体之间的关系,该部分可由用户指定。
Json数据,转换流程包括:
一个对象(object)对应一个实体;
对象的一个键值对(key-value pair)表示该实体的一组属性名与值;
若对象的某一个键对应值为对象,则两个对象对应实体之间建立一条边。
XML数据,转换流程包括:
一个标记对应一个实体,若标记名称相同,则两个标记属于同类实体;
标记对应的属性名与属性值构成对应实体的属性名与属性值;
若两个标记存在嵌套关系,则构建两者对应实体之间的边。
Excel数据:转换流程包括:
一个表格作为一个实体类,表格名作为该类实体名;
一行作为一个具体的实体;
一个单元格作为一个属性,单元格对应列名为属性名;
Excel本身不存储实体之间的关系,该部分可由用户指定。
除此之外,其他格式数据若要接入当前框架,均可根据数据格式,构建对应模块,确定转换规则,完成从原始数据到Json描述的实体数据图中间格式。
第2步:用户指定读取数据的标签,对应前述Json中间格式的“label”项,用于表明读取数据的格式、时间、数据源信息等;
第3步:对转换结果进行修正,如合并同一实体的两个属性信息,合并同一属性的两个属性值等,完善实体描述信息,具体可以修改每类实体的实体标签(指上述Json中间格式的“entity label”),属性名(如“property1”),实体之间的关系标签(“relationlabel”),关系对应的实体(“start entity”,“end entity”),属性(“start property”,“end property”)等。
第4步:将Json描述的中间格式数据导入图数据库,为每一个节点添加额外时间戳属性,表明导入图数据库的准确时间,即在“property 1”:xxxx,“property 2”:xxxx,…增加一个键值对“timestamp”:xxxx;
第5步:数据导出,将存储在图数据库中的数据,用上述Json中间格式描述,再将该中间格式转换为对应数据格式。
转换规则是第1步的逆向转换过程。如,关系型数据库,如MySQL,Oracle,MS SQLServer,Hive等,逆转换流程包括:
一类实体对应一个关系表,表名作为该类实体的标签(entity label);
该类实体的属性作为表的一列;
一个具体的实体表示关系表的一行,该实体属性的具体值表示对应的列的值;
不同类别实体之间的边表示关系表之间的外键关系。
本实施例的方案提供了一种以实体属性图为核心,对于结构化与半结构化数据的统一数据交换框架,该框架将各类数据格式统一转换为实体属性图形式,存入图数据库,再将实体属性图格式数据转换成任意其他格式数据,完成以图结构为核心的数据交换,完成各类数据源与实体属性图数据格式的数据交换,以支撑上层基于图结构数据的应用,提高了数据的通用性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据格式的转换装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种数据格式的转换装置的结构框图,如图4所示,该装置包括:获取模块40,转换模块42,导入模块44,其中,
获取模块40,用于获取源数据,并解析所述源数据的数据类型;
转换模块42,用于根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;
导入模块44,用于在图数据库中导入所述中间格式的源数据。
可选的,所述转换模块包括:第一映射单元,用于若所述源数据为来自关系型数据库的第一数据类型,将所述源数据的每个关系表映射为中间格式的一类实体,关系表标识设置为对应的类实体标识;第二映射单元,用于针对每个关系表,将所述关系表的每列映射为对应类实体的属性,将所述关系表的每行映射为一个实体,每行对应的列映射为实体属性的属性值;第三映射单元,用于将所述关系表之间的外键关系映射为所述中间格式中不同类别实体之间的边。
可选的,所述转换模块包括:第四映射单元,用于若所述源数据为来自HBase数据库的第二数据类型,将所述源数据每个表映射为中间格式的一类实体,表标识设置为对应的类实体标识;第五映射单元,用于将所述源数据的每个单元映射为一个属性,其中,属性的属性标识包括以下字段:列族、限定符、版本号;第六映射单元,用于将所述源数据的每行映射为一个实体,并通过行键设置对应实体的唯一区分标志。
可选的,所述转换模块包括:第七映射单元,用于若所述源数据为来自逗号分隔值文件格式CSV的第三数据类型,将所述源数据每个文件映射为中间格式的一个实体类,文件标识设置为对应的类实体标识;第八映射单元,用于将所述源数据的每行映射为一个实体;第九映射单元,用于将所述源数据的每个分割符分隔出的字段映射为实体的一个实体属性。
可选的,所述转换模块包括:第十映射单元,用于若所述源数据为Excel格式的第四数据类型,将所述源数据的每个表格映射为中间格式的一个实体类,表格标识设置为对应的类实体标识;第十一映射单元,用于将所述源数据的每行映射为一个的实体;第十二映射单元,用于将所述源数据的每个单元格映射为实体的一个属性,单元格对应列的标识映射为属性标识。
可选的,所述转换模块包括:第十三映射单元,用于若所述源数据为Json数据类型,将所述源数据的每个对象映射为中间格式的一个实体;第十四映射单元,用于将所述源数据中对象的每个键值对映射为对应实体的一组属性名与值,在对象的键对应值也为对象时,将两个对象对应的实体之间建立一条边。
可选的,所述转换模块包括:第十五映射单元,用于若所述源数据为可扩展标记语言XML数据类型,将所述源数据的每个标记映射为中间格式的一个实体,并将标记相同的若干个个标记映射为同类实体;第十六映射单元,用于将所述源数据的标记对应的属性标识与属性值映射为对应实体的属性标识和属性值,在两个标记存在嵌套关系时,构建两个标记对应实体之间的边。
可选的,所述装置还包括:接收模块,用于在所述导入模块在图数据库中导入所述中间格式的源数据之后,接收目标数据的导出指令,其中,所述导出指令用于指示从所述图数据库中导出目标数据类型的数据内容;逆转换模块,用于将所述源数据的数据内容从所述中间格式逆转换为所述目标数据类型。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取源数据,并解析所述源数据的数据类型;
S2,根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;
S3,在图数据库中导入所述中间格式的源数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取源数据,并解析所述源数据的数据类型;
S2,根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;
S3,在图数据库中导入所述中间格式的源数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图5是本发明实施例的一种电子设备的结构图,如图5所示,包括处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信,存储器53,用于存放计算机程序;处理器51,用于执行存储器53上所存放的程序。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (11)

1.一种数据格式的转换方法,其特征在于,包括:
获取源数据,并解析所述源数据的数据类型;
根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;
在图数据库中导入所述中间格式的源数据。
2.根据权利要求1所述的方法,其特征在于,根据所述数据类型将所述源数据转换为中间格式包括:
若所述源数据为来自关系型数据库的第一数据类型,将所述源数据的每个关系表映射为中间格式的一类实体,关系表标识设置为对应的类实体标识;
针对每个关系表,将所述关系表的每列映射为对应类实体的属性,将所述关系表的每行映射为一个实体,每行对应的列映射为实体属性的属性值;
将所述关系表之间的外键关系映射为所述中间格式中不同类别实体之间的边。
3.根据权利要求1所述的方法,其特征在于,根据所述数据类型将所述源数据转换为中间格式包括:
若所述源数据为来自HBase数据库的第二数据类型,将所述源数据每个表映射为中间格式的一类实体,表标识设置为对应的类实体标识;
将所述源数据的每个单元映射为一个属性,其中,属性的属性标识包括以下字段:列族、限定符、版本号;
将所述源数据的每行映射为一个实体,并通过行键设置对应实体的唯一区分标志。
4.根据权利要求1所述的方法,其特征在于,根据所述数据类型将所述源数据转换为中间格式包括:
若所述源数据为来自逗号分隔值文件格式CSV的第三数据类型,将所述源数据每个文件映射为中间格式的一个实体类,文件标识设置为对应的类实体标识;
将所述源数据的每行映射为一个实体;
将所述源数据的每个分割符分隔出的字段映射为实体的一个实体属性。
5.根据权利要求1所述的方法,其特征在于,根据所述数据类型将所述源数据转换为中间格式包括:
若所述源数据为Excel格式的第四数据类型,将所述源数据的每个表格映射为中间格式的一个实体类,表格标识设置为对应的类实体标识;
将所述源数据的每行映射为一个的实体;
将所述源数据的每个单元格映射为实体的一个属性,单元格对应列的标识映射为属性标识。
6.根据权利要求1所述的方法,其特征在于,根据所述数据类型将所述源数据转换为中间格式包括:
若所述源数据为Json数据类型,将所述源数据的每个对象映射为中间格式的一个实体;
将所述源数据中对象的每个键值对映射为对应实体的一组属性名与值,在对象的键对应值也为对象时,将两个对象对应的实体之间建立一条边。
7.根据权利要求1所述的方法,其特征在于,根据所述数据类型将所述源数据转换为中间格式包括:
若所述源数据为可扩展标记语言XML数据类型,将所述源数据的每个标记映射为中间格式的一个实体,并将标记相同的若干个个标记映射为同类实体;
将所述源数据的标记对应的属性标识与属性值映射为对应实体的属性标识和属性值,在两个标记存在嵌套关系时,构建两个标记对应实体之间的边。
8.根据权利要求1所述的方法,其特征在于,在图数据库中导入所述中间格式的源数据之后,所述方法还包括:
接收目标数据的导出指令,其中,所述导出指令用于指示从所述图数据库中导出目标数据类型的数据内容;
将所述源数据的数据内容从所述中间格式逆转换为所述目标数据类型。
9.一种数据格式的转换装置,其特征在于,包括:
获取模块,用于获取源数据,并解析所述源数据的数据类型;
转换模块,用于根据所述数据类型将所述源数据转换为中间格式,其中,所述中间格式为Json描述的实体属性图格式;
导入模块,用于在图数据库中导入所述中间格式的源数据。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8中任一项所述的方法步骤。
11.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至8中任一项所述的方法步骤。
CN202011509604.0A 2020-12-18 2020-12-18 数据格式的转换方法及装置、存储介质、电子设备 Pending CN112632015A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011509604.0A CN112632015A (zh) 2020-12-18 2020-12-18 数据格式的转换方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011509604.0A CN112632015A (zh) 2020-12-18 2020-12-18 数据格式的转换方法及装置、存储介质、电子设备

Publications (1)

Publication Number Publication Date
CN112632015A true CN112632015A (zh) 2021-04-09

Family

ID=75317465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011509604.0A Pending CN112632015A (zh) 2020-12-18 2020-12-18 数据格式的转换方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN112632015A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861486A (zh) * 2021-04-25 2021-05-28 成都淞幸科技有限责任公司 半结构化文件的数据集成方法、装置、设备及存储介质
CN113553458A (zh) * 2021-08-10 2021-10-26 北京明略软件***有限公司 图数据库中的数据导出方法及装置
CN115481298A (zh) * 2022-11-14 2022-12-16 阿里巴巴(中国)有限公司 图数据处理方法及电子设备
CN115563187A (zh) * 2022-10-17 2023-01-03 中航信移动科技有限公司 一种数据转换方法、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631907A (zh) * 2013-11-26 2014-03-12 中国科学院信息工程研究所 一种将关系型数据迁移至HBase的方法及***
CN110704635A (zh) * 2019-09-16 2020-01-17 金色熊猫有限公司 一种知识图谱中三元组数据的转换方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631907A (zh) * 2013-11-26 2014-03-12 中国科学院信息工程研究所 一种将关系型数据迁移至HBase的方法及***
CN110704635A (zh) * 2019-09-16 2020-01-17 金色熊猫有限公司 一种知识图谱中三元组数据的转换方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861486A (zh) * 2021-04-25 2021-05-28 成都淞幸科技有限责任公司 半结构化文件的数据集成方法、装置、设备及存储介质
CN113553458A (zh) * 2021-08-10 2021-10-26 北京明略软件***有限公司 图数据库中的数据导出方法及装置
CN115563187A (zh) * 2022-10-17 2023-01-03 中航信移动科技有限公司 一种数据转换方法、存储介质及电子设备
CN115563187B (zh) * 2022-10-17 2023-08-04 中航信移动科技有限公司 一种数据转换方法、存储介质及电子设备
CN115481298A (zh) * 2022-11-14 2022-12-16 阿里巴巴(中国)有限公司 图数据处理方法及电子设备
CN115481298B (zh) * 2022-11-14 2023-03-14 阿里巴巴(中国)有限公司 图数据处理方法及电子设备

Similar Documents

Publication Publication Date Title
CN112632015A (zh) 数据格式的转换方法及装置、存储介质、电子设备
CN108334609B (zh) Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质
CN109582831B (zh) 一种支持非结构化数据存储与查询的图数据库管理***
CN111090417B (zh) 二进制文件解析方法、装置、设备及介质
CN103927314B (zh) 一种数据批量处理的方法和装置
CN114691786A (zh) 数据血缘关系的确定方法及装置、存储介质、电子装置
CN103500196A (zh) 多并发大数据量环境下excel数据导出方法及其导出装置
CN108052635A (zh) 一种异构数据源统一联合查询方法
CN111241182A (zh) 数据处理方法和装置、存储介质和电子装置
CN110866029B (zh) sql语句构建方法、装置、服务器及可读存储介质
CN103177094A (zh) 一种物联网数据清洗方法
CN111460232A (zh) 功能模块的查找方法、装置、终端和计算机可读存储介质
CN104951565B (zh) 一种基于内存数据库的xml配置维护方法及***
CN107368500B (zh) 数据抽取方法及***
CN115525652A (zh) 用户访问数据处理方法及装置
CN114862449A (zh) 唯一自然人标识计算的方法、装置、电子设备和存储介质
CN104021216A (zh) 消息代理服务器及信息发布订阅方法和***
CN113934807A (zh) 一种基于gis的国土空间规划***及方法
CN113297339A (zh) 数据存储的方法、设备、存储介质及产品
CN111859863A (zh) 一种文档的结构转换方法、装置、存储介质及电子设备
CN112905600A (zh) 数据查询方法、装置和存储介质及电子设备
CN116431637A (zh) 物联网平台的物模型转换方法、装置及计算机设备
CN112487251A (zh) 一种用户id数据关联方法及装置
CN112052254B (zh) 数据封装方法、电子设备及存储介质
CN115080594A (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