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

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

Info

Publication number
CN112905687A
CN112905687A CN202110328499.9A CN202110328499A CN112905687A CN 112905687 A CN112905687 A CN 112905687A CN 202110328499 A CN202110328499 A CN 202110328499A CN 112905687 A CN112905687 A CN 112905687A
Authority
CN
China
Prior art keywords
key
data
key value
target data
target
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
CN202110328499.9A
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.)
OneConnect Smart Technology Co Ltd
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN202110328499.9A priority Critical patent/CN112905687A/zh
Publication of CN112905687A publication Critical patent/CN112905687A/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

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

Abstract

本发明涉及大数据技术领域,提供一种数据转换方法、装置、电子设备及存储介质,所述方法包括:接收客户端发送的目标数据的转换请求;根据目标数据的转换请求在MongoDB数据库中抽取目标数据,并将目标数据转换为JSON格式的数据;在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;解析每个键的第一键值得到每个键的第二键值,将每个键的第二键值写入二维表中;将二维表转换到预设的sql数据库表中。本发明通过将二维表转换到预设的sql数据库表中,将读取到的目标键值转换为sql数据,提高了数据转换的效率和有效性。

Description

数据转换方法、装置、电子设备及存储介质
技术领域
本发明涉及大数据技术领域,具体涉及一种数据转换方法、装置、电子设备及存储介质。
背景技术
随着业务系统的增加,大部分业务系统都有多个数据集需要存储,例如,将不同的数据集存储至不同的数据库中,故在进行业务数据分析过程中,需要不同的数据集之间的数据可以相互转换,现有的数据转换只针对sql作数据转换,但不同的数据集之间的数据进行相互转换过程中,存在MongeDB数据。
然而,目前存储的MongeDB数据无法在sql中进行数据转换,或者类似的MongeDB数据存储在sql中也无法直接进行数据转换,导致数据转换的有效性及效率低下。
因此,有必要提供一种可以提高数据转换效率的数据转换方法。
发明内容
鉴于以上内容,有必要提出一种数据转换方法、装置、电子设备及存储介质,通过将二维表转换到预设的sql数据库表中,将读取到的目标键值转换为sql数据,提高了数据转换的效率和有效性。
本发明的第一方面提供一种数据转换方法,所述方法包括:
接收客户端发送的目标数据的转换请求;
根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据;
在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;
解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中;
将所述二维表转换到预设的sql数据库表中。
可选地,所述解析所述每个键的第一键值得到所述每个键的第二键值包括:
计算每个键的第一键值的长度;
根据所述每个键的第一键值的长度确定解析规则;
按照确定的解析规则将所述每个键的第一键值划分为多个数据集;
对每个所述数据集按照预设的转换规则进行转换得到每个数据集的结构化数据;
合并所述多个数据集的结构化数据得到每个键的第二键值。
可选地,所述将所述每个键的第二键值写入所述二维表中包括:
根据每个键的对应的列数和行数确定所述每个键位于所述二维表对应的目标位置坐标;
将所述每个键的第二键值写入所述二维表对应的目标位置坐标中。
可选地,所述将所述二维表转换到预设的sql数据库表中包括:
从预设的数据库表中匹配到与所述二维表的表名称对应的预设的sql数据库表;
识别所述预设的sql数据库表中转换的目标键及所述转换的目标键对应的读逻辑,采用所述读逻辑从所述二维表中读取所述目标键对应的目标键值;
识别所述预设的sql数据库表中转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值映射为sql数据;
识别所述目标键值对应的目标键位于所述预设的sql数据库表中的位置坐标,并将所述sql数据转换到所述预设的sql数据库表对应的位置坐标中。
可选地,所述二维表的创建过程包括:
依次遍历已转换的目标数据中的每一列的键值,判断每一列返回的键值是否为空,当任意一列返回的键值为空时,计算已转换的目标数据的列数;
依次遍历已转换的目标数据中的每一行的键值,判断每一行返回的键值是否为空,当任意一行返回的键值为空时,计算已转换的目标数据的行数;
根据计算得到的已转换的目标数据的列数和已转换的目标数据的行数创建二维表。
可选地,所述遍历已转换的目标数据中每个键的第一键值包括:
从已转换的目标数据的第一列开始依次遍历每个键的第一键值,并记录每个键的对应的列数;
从已转换的目标数据的第一行开始依次遍历每个键的第一键值,并记录每个键的对应的行数。
可选地,所述根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据包括:
解析所述目标数据的转换请求获取调用接口;
根据所述调用接口配置MongoDB服务;
启动所述MongoDB服务连接到MongeDB数据库中;
从所述MongeDB数据库中获取数据集,并从所述数据集中抽取所述目标数据。
本发明的第二方面提供一种数据转换装置,所述装置包括:
接收模块,用于接收客户端发送的目标数据的转换请求;
抽取模块,用于根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据;
创建模块,用于在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;
解析模块,用于解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中;
转换模块,用于将所述二维表转换到预设的sql数据库表中。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的数据转换方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据转换方法。
综上所述,本发明所述的数据转换方法、装置、电子设备及存储介质,一方面,通过解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中,避免在进行数据解析过程中出现遗漏的现象,提高了所述目标数据的解析的准确率,并将每个第一键值解析成特定的格式后写入所述二维表对应的目标位置坐标中,提高了所述第二键值的管理效率;另一方面,通过将所述二维表转换到预设的sql数据库表中,根据所述预设的sql数据库表的转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值转换为sql数据,提高了数据的转换效率和有效性;最后,通过在预先创建二维表中遍历已转换的目标数据中每个键的第一键值,通过计算已转换的目标数据的行数和已转换的目标数据的列数创建二维表数据,同时记录每个键的行数和列数,便于确定每个键对应的位置坐标,确保了已转换的目标数据的完整性。
附图说明
图1是本发明实施例一提供的数据转换方法的流程图。
图2是本发明实施例二提供的数据转换装置的结构图。
图3是本发明实施例三提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
图1是本发明实施例一提供的数据转换方法的流程图。
在本实施例中,所述数据转换方法可以应用于电子设备中,对于需要进行数据转换的电子设备,可以直接在电子设备上集成本发明的方法所提供的数据转换的功能,或者以软件开发工具包(Software Development Kit,SDK)的形式运行在电子设备中。
如图1所示,所述数据转换方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,接收客户端发送的目标数据的转换请求。
本实施例中,所述目标数据是指需要进行格式转换的数据,客户端在进行数据分析时,由于MongoDB数据库中的数据无法在sql中进行分析,故需要将MongoDB数据库中的数据转换为sql格式数据进行数据分析。具体地,客户端在进行数据转换时,通过客户端发起目标数据的转换请求至服务端,其中,所述客户端可以是智能手机、IPAD或者其他现有的设备,所述服务端可以为数据转换子系统,在数据转换过程中,如所述客户端可以向所述数据转换子系统发送目标数据的转换请求,所述数据转换子系统用于接收所述客户端发送的目标数据的转换请求。
S12,根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据。
本实施例中,所述MongoDB是指可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库,在MongoDB数据库中,数据都是以文档形式存储的,从所述MongoDB数据库抽取目标数据,通过fastJSON将所述目标数据转换为JSON格式的数据。
在一个可选的实施例中,所述根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据包括:
解析所述目标数据的转换请求获取调用接口;
根据所述调用接口配置MongoDB服务;
启动所述MongoDB服务连接到MongeDB数据库中;
从所述MongeDB数据库中获取数据集,并从所述数据集中抽取所述目标数据。
本实施例中,每个转换请求对应有调用接口,根据转换请求对应的调用接口连接到对应的数据库中进行数据抽取,避免数据抽取过程中出现抽取错误的现象,提高了数据抽取的准确率。
在一个可选的实施例中,所述将所述目标数据转换为JSON格式的数据包括:
调用预设的字符串转换规则将所述目标数据转换为多个JSON字符串;
将每个所述JSON字符串转换为一个JSON对象,其中,每个JSON对象中包含有键及每个键的键值;
将多个JSON对象进行合并得到JSON格式的数据。
本实施例中,数据转换子系统中安装有解析工具,所述解析工具中包含有预设的字符串转换规则,调用所述解析工具中的所述预设的字符串转换规则可以将所述目标数据转换为多个JSON字符串,并将每个JSON字符串转换为一个JSON对象,将多个JSON对象进行合并得到JSON格式的数据,具体地,所述JSON格式就是将所述JSON对象存为键值对的形式,在所述JSON格式的数据中,键和键值之间用冒号隔开;每个键/键值之间用逗号隔开,同一个文档中的一组键/键值包含在一个花括号({})中。
本实施例中,通过将所述目标数据转换为JSON格式的数据,统一了所述目标数据的格式,提高了所述目标数据的管理效率。
S13,在预先创建二维表中遍历已转换的目标数据中每个键的第一键值。
本实施例中,在进行数据转换过程中,由于无法确定所述待转存数据的数量,故创建二维表,具体地,在一个可选的实施例中,所述二维表的创建过程包括:
依次遍历已转换的目标数据中的每一列的键值,判断每一列返回的键值是否为空,当任意一列返回的键值为空时,计算已转换的目标数据的列数;
依次遍历已转换的目标数据中的每一行的键值,判断每一行返回的键值是否为空,当任意一行返回的键值为空时,计算已转换的目标数据的行数;
根据计算得到的已转换的目标数据的列数和已转换的目标数据的行数创建二维表。
进一步地,所述方法还包括:
当所述任意一列返回的键值不为空时,确定继续遍历所述任意一列的下一列,或者当所述任意一行返回的键值不为空时,确定继续遍历所述任意一行的下一行。
在一个可选的实施例中,所述遍历已转换的目标数据中每个键的第一键值包括:
从已转换的目标数据的第一列开始依次遍历每个键的第一键值,并记录每个键的对应的列数;
从已转换的目标数据的第一行开始依次遍历每个键的第一键值,并记录每个键的对应的行数。
本实施例中,通过计算已转换的目标数据的行数和已转换的目标数据的列数创建二维表数据,同时记录每个键的行数和列数,便于确定每个键对应的位置坐标,确保了已转换的目标数据的完整性。
S14,解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中。
本实施例中,所述第二键值是通过对每个键的第一键值进行解析得到的。
在一个可选的实施例中,所述解析所述每个键的第一键值得到所述每个键的第二键值包括:
计算每个键的第一键值的长度;
根据所述每个键的第一键值的长度确定解析规则;
按照确定的解析规则将所述每个键的第一键值划分为多个数据集;
对每个所述数据集按照预设的转换规则进行转换得到每个数据集的结构化数据;
合并所述多个数据集的结构化数据得到每个键的第二键值。
本实施例中,可以预先设置多个解析规则,所述预设的解析规则可以根据客户端的转换要求进行设置,具体地,不同的长度对应不同的解析规则,根据每个键的第一键值的长度从预设的多个解析规则中进行选取,例如,循环解析到每个键:datakey,所述datakey键对应的键值长度为20,从多个预设的解析规则中选取键值长度为20对应的解析规则,并根据选取的解析规则将所述datakey键对应的键值解析为2个数据集:{数据集1:‘aaa’,‘bbb’,‘ccc’;数据集2:‘aaa’,‘bbb’,‘ccc’},对每个所述数据集按照预设的转换规则进行转换得到每个数据集的结构化数据,例如,数据集1对应的转换规则为:{‘X-XXX’,‘XXXX/XX/XX’,‘XXXX’},数据集2对应的转换规则为:{‘XXXX’,‘XXXX-XX-XX’,‘XX-XX’}。
在一个可选的实施例中,所述将所述每个键的第二键值写入所述二维表中包括:
根据每个键的对应的列数和行数确定所述每个键位于所述二维表对应的目标位置坐标;
将所述每个键的第二键值写入所述二维表对应的目标位置坐标中。
本实施例中,由于在数据转换的过程中,需要对已转换的目标数据进行动态解析,具体的,所述动态解析过程就是循环遍历已转换的目标数据中的每一列和每一行中的每个键的第一键值,避免在进行数据解析过程中出现遗漏的现象,提高了所述目标数据的解析的准确率,并将每个第一键值解析成特定的格式后写入所述二维表对应的目标位置坐标中,提高了所述第二键值的管理效率。
S15,将所述二维表转换到预设的sql数据库表中。
本实施例中,所述预设的sql数据库表是指用于存储所述二维表中的第二键值。
在一个可选的实施例中,所述将所述二维表转换到预设的sql数据库表中包括:
从预设的数据库表中匹配到与所述二维表的表名称对应的预设的sql数据库表;
识别所述预设的sql数据库表中转换的目标键及所述转换的目标键对应的读逻辑,采用所述读逻辑从所述二维表中读取所述目标键对应的目标键值;
识别所述预设的sql数据库表中转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值映射为sql数据;
识别所述目标键值对应的目标键位于所述预设的sql数据库表中的位置坐标,并将所述sql数据转换到所述预设的sql数据库表对应的位置坐标中。
本实施例中,由于所述二维表中的每个第二键值具有特定的格式,提高了所述第二键值的格式的多样性,根据所述预设的sql数据库表的转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值转换为sql数据,提高了数据转换的效率和有效性。
综上所述,本实施例所述的数据的转换方法,通过接收客户端发送的目标数据的转换请求;根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据;在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中;将所述二维表转换到预设的sql数据库表中。
本实施例,一方面,通过解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中,避免在进行数据解析过程中出现遗漏的现象,提高了所述目标数据的解析的准确率,并将每个第一键值解析成特定的格式后写入所述二维表对应的目标位置坐标中,提高了所述第二键值的管理效率;另一方面,通过将所述二维表转换到预设的sql数据库表中,根据所述预设的sql数据库表的转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值转换为sql数据,提高了数据转换的效率和有效性;最后,通过在预先创建二维表中遍历已转换的目标数据中每个键的第一键值,通过计算已转换的目标数据的行数和已转换的目标数据的列数创建二维表数据,同时记录每个键的行数和列数,便于确定每个键对应的位置坐标,确保了已转换的目标数据的完整性。
实施例二
图2是本发明实施例二提供的数据转换装置的结构图。
在一些实施例中,所述数据转换装置20可以包括多个由程序代码段所组成的功能模块。所述数据转换装置20中的各个程序段的程序代码可以存储于电子设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)数据转换的功能。
本实施例中,所述数据转换装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块201、抽取模块202、创建模块203、解析模块204、及转换模块205。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
接收模块201,用于接收客户端发送的目标数据的转换请求。
本实施例中,所述目标数据是指需要进行格式转换的数据,客户端在进行数据分析时,由于MongoDB数据库中的数据无法在sql中进行分析,故需要将MongoDB数据库中的数据转换为sql格式数据进行数据分析,具体地,客户端在进行数据转换时,通过客户端发起目标数据的转换请求至服务端,其中,所述客户端可以是智能手机、IPAD或者其他现有的设备,所述服务端可以为数据转换子系统,在数据转换过程中,如所述客户端可以向所述数据转换子系统发送目标数据的转换请求,所述数据转换子系统用于接收所述客户端发送的目标数据的转换请求。
抽取模块202,用于根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据。
本实施例中,所述MongoDB是指可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库,在MongoDB数据库中,数据都是以文档形式存储的,从所述MongoDB数据库抽取目标数据,通过fastJSON将所述目标数据转换为JSON格式。
在一个可选的实施例中,所述抽取模块202根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据包括:
解析所述目标数据的转换请求获取调用接口;
根据所述调用接口配置MongoDB服务;
启动所述MongoDB服务连接到MongeDB数据库中;
从所述MongeDB数据库中获取数据集,并从所述数据集中抽取所述目标数据。
本实施例中,每个转换请求对应有调用接口,根据转换请求对应的调用接口连接到对应的数据库中进行数据抽取,避免数据抽取过程中出现抽取错误的现象,提高了数据抽取的准确率。
在一个可选的实施例中,所述抽取模块202将所述目标数据转换为JSON格式的数据包括:
调用预设的字符串转换规则将所述目标数据转换为多个JSON字符串;
将每个所述JSON字符串转换为一个JSON对象,其中,每个JSON对象中包含有键及每个键的键值;
将多个JSON对象进行合并得到JSON格式的数据。
本实施例中,数据转换子系统中安装有解析工具,所述解析工具中包含有预设的字符串转换规则,调用所述解析工具中的所述预设的字符串转换规则可以将所述目标数据转换为多个JSON字符串,并将每个JSON字符串转换为一个JSON对象,将多个JSON对象进行合并得到JSON格式的数据,具体地,所述JSON格式就是将所述JSON对象存为键值对的形式,在所述JSON格式的数据中,键和键值之间用冒号隔开;每个键/键值之间用逗号隔开,同一个文档中的一组键/键值包含在一个花括号({})中。
本实施例中,通过将所述目标数据转换为JSON格式的数据,统一了所述目标数据的格式,提高了所述目标数据的管理效率。
创建模块203,用于在预先创建二维表中遍历已转换的目标数据中每个键的第一键值。
本实施例中,在进行数据转换过程中,由于无法确定所述待转存数据的数量,故创建二维表,具体地,在一个可选的实施例中,所述创建模块203用于二维表的创建过程包括:
依次遍历已转换的目标数据中的每一列的键值,判断每一列返回的键值是否为空,当任意一列返回的键值为空时,计算已转换的目标数据的列数;
依次遍历已转换的目标数据中的每一行的键值,判断每一行返回的键值是否为空,当任意一行返回的键值为空时,计算已转换的目标数据的行数;
根据计算得到的已转换的目标数据的列数和已转换的目标数据的行数创建二维表。
进一步地,当所述任意一列返回的键值不为空时,确定继续遍历所述任意一列的下一列,或者当所述任意一行返回的键值不为空时,确定继续遍历所述任意一行的下一行。
在一个可选的实施例中,所述创建模块203遍历已转换的目标数据中的每个键的第一键值包括:
从已转换的目标数据的第一列开始依次遍历每个键的第一键值,并记录每个键的对应的列数;
从已转换的目标数据的第一行开始依次遍历每个键的第一键值,并记录每个键的对应的行数。
本实施例中,通过计算已转换的目标数据的行数和已转换的目标数据的列数创建二维表数据,同时记录每个键的行数和列数,便于确定每个键对应的位置坐标,确保了已转换的目标数据的完整性。
解析模块204,用于解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中。
本实施例中,所述第二键值是通过对每个键的第一键值进行解析得到的。
在一个可选的实施例中,所述解析模块204解析所述每个键的第一键值得到所述每个键的第二键值包括:
计算每个键的第一键值的长度;
根据所述每个键的第一键值的长度确定解析规则;
按照确定的解析规则将所述每个键的第一键值划分为多个数据集;
对每个所述数据集按照预设的转换规则进行转换得到每个数据集的结构化数据;
合并所述多个数据集的结构化数据得到每个键的第二键值。
本实施例中,可以预先设置多个解析规则,所述预设的解析规则可以根据客户端的转换要求进行设置,具体地,不同的长度对应不同的解析规则,根据每个键的第一键值的长度从预设的多个解析规则中进行选取,例如,循环解析到每个键:datakey,所述datakey键对应的键值长度为20,从多个预设的解析规则中选取键值长度为20对应的解析规则,并根据选取的解析规则将所述datakey键对应的键值解析为2个数据集:{数据集1:‘aaa’,‘bbb’,‘ccc’;数据集2:‘aaa’,‘bbb’,‘ccc’},对每个所述数据集按照预设的转换规则进行转换得到每个数据集的结构化数据,例如,数据集1对应的转换规则为:{‘X-XXX’,‘XXXX/XX/XX’,‘XXXX’},数据集2对应的转换规则为:{‘XXXX’,‘XXXX-XX-XX’,‘XX-XX’}。
在一个可选的实施例中,所述解析模块204将所述每个键的第二键值写入所述二维表中包括:
根据每个键的对应的列数和行数确定所述每个键位于所述二维表对应的目标位置坐标;
将所述每个键的第二键值写入所述二维表对应的目标位置坐标中。
本实施例中,由于在数据转换的过程中,需要对已转换的目标数据进行动态解析,具体的,所述动态解析过程就是循环遍历已转换的目标数据中的每一列和每一行中的每个键的第一键值,避免在进行数据解析过程中出现遗漏的现象,提高了所述目标数据的解析的准确率,并将每个第一键值解析成特定的格式后写入所述二维表对应的目标位置坐标中,提高了所述第二键值的管理效率。
转换模块205,用于将所述二维表转换到预设的sql数据库表中。
本实施例中,所述预设的sql数据库表是指用于存储所述二维表中的第二键值。
在一个可选的实施例中,所述转换模块205将所述二维表转换到预设的sql数据库表中包括:
从预设的数据库表中匹配到与所述二维表的表名称对应的预设的sql数据库表;
识别所述预设的sql数据库表中转换的目标键及所述转换的目标键对应的读逻辑,采用所述读逻辑从所述二维表中读取所述目标键对应的目标键值;
识别所述预设的sql数据库表中转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值映射为sql数据;
识别所述目标键值对应的目标键位于所述预设的sql数据库表中的位置坐标,并将所述sql数据转换到所述预设的sql数据库表对应的位置坐标中。本实施例中,由于所述二维表中的每个第二键值具有特定的格式,提高了所述第二键值的格式的多样性,根据所述预设的sql数据库表的转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值转换为sql数据,提高了数据转换的效率和有效性。
综上所述,本实施例所述的数据的转换装置,通过接收客户端发送的目标数据的转换请求;根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据;在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中;将所述二维表转换到预设的sql数据库表中。
本实施例,一方面,通过解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中,避免在进行数据解析过程中出现遗漏的现象,提高了所述目标数据的解析的准确率,并将每个第一键值解析成特定的格式后写入所述二维表对应的目标位置坐标中,提高了所述第二键值的管理效率;另一方面,通过将所述二维表转换到预设的sql数据库表中,根据所述预设的sql数据库表的转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值转换为sql数据,提高了数据转换的效率和有效性;最后,通过在预先创建二维表中遍历已转换的目标数据中每个键的第一键值,通过计算已转换的目标数据的行数和已转换的目标数据的列数创建二维表数据,同时记录每个键的行数和列数,便于确定每个键对应的位置坐标,确保了已转换的目标数据的完整性。
实施例三
参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述电子设备3中的数据转换装置20,并在电子设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述电子设备3的控制核心(Control Unit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),可选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述电子设备3的操作装置以及安装的各类应用程序(如所述的数据转换装置20)、程序代码等,例如,上述的各个模块。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到数据转换的目的。
在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现数据转换的功能。
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种数据转换方法,其特征在于,所述方法包括:
接收客户端发送的目标数据的转换请求;
根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据;
在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;
解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中;
将所述二维表转换到预设的sql数据库表中。
2.如权利要求1所述的数据转换方法,其特征在于,所述解析所述每个键的第一键值得到所述每个键的第二键值包括:
计算每个键的第一键值的长度;
根据所述每个键的第一键值的长度确定解析规则;
按照确定的解析规则将所述每个键的第一键值划分为多个数据集;
对每个所述数据集按照预设的转换规则进行转换得到每个数据集的结构化数据;
合并所述多个数据集的结构化数据得到每个键的第二键值。
3.如权利要求1所述的数据转换方法,其特征在于,所述将所述每个键的第二键值写入所述二维表中包括:
根据每个键的对应的列数和行数确定所述每个键位于所述二维表对应的目标位置坐标;
将所述每个键的第二键值写入所述二维表对应的目标位置坐标中。
4.如权利要求1所述的数据转换方法,其特征在于,所述将所述二维表转换到预设的sql数据库表中包括:
从预设的数据库表中匹配到与所述二维表的表名称对应的预设的sql数据库表;
识别所述预设的sql数据库表中转换的目标键及所述转换的目标键对应的读逻辑,采用所述读逻辑从所述二维表中读取所述目标键对应的目标键值;
识别所述预设的sql数据库表中转换的目标键与预设的sql数据格式中的相同的键的映射关系,将读取到的所述目标键值映射为sql数据;
识别所述目标键值对应的目标键位于所述预设的sql数据库表中的位置坐标,并将所述sql数据转换到所述预设的sql数据库表对应的位置坐标中。
5.如权利要求1所述的数据转换方法,其特征在于,所述二维表的创建过程包括:
依次遍历已转换的目标数据中的每一列的键值,判断每一列返回的键值是否为空,当任意一列返回的键值为空时,计算已转换的目标数据的列数;
依次遍历已转换的目标数据中的每一行的键值,判断每一行返回的键值是否为空,当任意一行返回的键值为空时,计算已转换的目标数据的行数;
根据计算得到的已转换的目标数据的列数和已转换的目标数据的行数创建二维表。
6.如权利要求5所述的数据转换方法,其特征在于,所述遍历已转换的目标数据中每个键的第一键值包括:
从已转换的目标数据的第一列开始依次遍历每个键的第一键值,并记录每个键的对应的列数;
从已转换的目标数据的第一行开始依次遍历每个键的第一键值,并记录每个键的对应的行数。
7.如权利要求1所述的数据转换方法,其特征在于,所述根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据包括:
解析所述目标数据的转换请求获取调用接口;
根据所述调用接口配置MongoDB服务;
启动所述MongoDB服务连接到MongeDB数据库中;
从所述MongeDB数据库中获取数据集,并从所述数据集中抽取所述目标数据。
8.一种数据转换装置,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的目标数据的转换请求;
抽取模块,用于根据所述目标数据的转换请求在MongoDB数据库中抽取所述目标数据,并将所述目标数据转换为JSON格式的数据;
创建模块,用于在预先创建二维表中遍历已转换的目标数据中每个键的第一键值;
解析模块,用于解析所述每个键的第一键值得到所述每个键的第二键值,将所述每个键的第二键值写入所述二维表中;
转换模块,用于将所述二维表转换到预设的sql数据库表中。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的数据转换方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的数据转换方法。
CN202110328499.9A 2021-03-26 2021-03-26 数据转换方法、装置、电子设备及存储介质 Pending CN112905687A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110328499.9A CN112905687A (zh) 2021-03-26 2021-03-26 数据转换方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110328499.9A CN112905687A (zh) 2021-03-26 2021-03-26 数据转换方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112905687A true CN112905687A (zh) 2021-06-04

Family

ID=76109259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110328499.9A Pending CN112905687A (zh) 2021-03-26 2021-03-26 数据转换方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112905687A (zh)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078063A1 (en) * 2000-12-15 2002-06-20 International Business Machines Corporation Encapsulating form and function in user data in a relational database in order to eliminate database schema changes
CN101021875A (zh) * 2007-03-22 2007-08-22 金蝶软件(中国)有限公司 面向对象的数据库访问方法及系统
CN103064689A (zh) * 2013-01-04 2013-04-24 大唐软件技术股份有限公司 一种动态生成报表页面的实现方法及系统
CN104391826A (zh) * 2014-10-31 2015-03-04 北京思特奇信息技术股份有限公司 一种数据格式转换方法及数据格式转换器
CN105404665A (zh) * 2015-11-12 2016-03-16 南威软件股份有限公司 一种json格式数据的查询管理系统
US9507762B1 (en) * 2015-11-19 2016-11-29 International Business Machines Corporation Converting portions of documents between structured and unstructured data formats to improve computing efficiency and schema flexibility
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和系统
CN108733689A (zh) * 2017-04-18 2018-11-02 北京京东尚科信息技术有限公司 一种json文本的比对方法和装置
CN109062872A (zh) * 2018-07-13 2018-12-21 摩诃科技无锡有限公司 一种对不同格式报关文件进行统一处理的算法
CN109684324A (zh) * 2017-10-18 2019-04-26 阿里巴巴集团控股有限公司 一种数据处理方法及其相关产品
CN110019518A (zh) * 2017-11-22 2019-07-16 阿里巴巴集团控股有限公司 数据处理方法及设备
CN110109924A (zh) * 2019-04-23 2019-08-09 重庆紫光华山智安科技有限公司 检索方法及装置
CN110222008A (zh) * 2019-05-06 2019-09-10 平安国际智慧城市科技股份有限公司 一种数据格式的转换方法、系统、介质及电子设备
CN110347732A (zh) * 2019-05-20 2019-10-18 中国平安人寿保险股份有限公司 一种数据转换方法及装置
CN110377291A (zh) * 2019-06-19 2019-10-25 深圳壹账通智能科技有限公司 结构化数据转换方法、装置、计算机设备和存储介质
CN110928939A (zh) * 2019-11-21 2020-03-27 浪潮软件股份有限公司 一种基于树形结构的Sql结果集向Json数据转换的方法
CN111291074A (zh) * 2020-02-27 2020-06-16 北京思特奇信息技术股份有限公司 一种数据库查询方法、系统、介质及设备
CN111367874A (zh) * 2020-02-28 2020-07-03 北京神州绿盟信息安全科技股份有限公司 一种日志处理方法、装置、介质和设备
CN112036124A (zh) * 2020-08-28 2020-12-04 中国平安财产保险股份有限公司 表格转换方法、装置、计算机设备和存储介质
CN112364041A (zh) * 2020-12-01 2021-02-12 苏宁金融科技(南京)有限公司 一种数据处理方法、装置、计算机设备及存储介质

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078063A1 (en) * 2000-12-15 2002-06-20 International Business Machines Corporation Encapsulating form and function in user data in a relational database in order to eliminate database schema changes
CN101021875A (zh) * 2007-03-22 2007-08-22 金蝶软件(中国)有限公司 面向对象的数据库访问方法及系统
CN103064689A (zh) * 2013-01-04 2013-04-24 大唐软件技术股份有限公司 一种动态生成报表页面的实现方法及系统
CN104391826A (zh) * 2014-10-31 2015-03-04 北京思特奇信息技术股份有限公司 一种数据格式转换方法及数据格式转换器
CN105404665A (zh) * 2015-11-12 2016-03-16 南威软件股份有限公司 一种json格式数据的查询管理系统
US9507762B1 (en) * 2015-11-19 2016-11-29 International Business Machines Corporation Converting portions of documents between structured and unstructured data formats to improve computing efficiency and schema flexibility
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和系统
CN108733689A (zh) * 2017-04-18 2018-11-02 北京京东尚科信息技术有限公司 一种json文本的比对方法和装置
CN109684324A (zh) * 2017-10-18 2019-04-26 阿里巴巴集团控股有限公司 一种数据处理方法及其相关产品
CN110019518A (zh) * 2017-11-22 2019-07-16 阿里巴巴集团控股有限公司 数据处理方法及设备
CN109062872A (zh) * 2018-07-13 2018-12-21 摩诃科技无锡有限公司 一种对不同格式报关文件进行统一处理的算法
CN110109924A (zh) * 2019-04-23 2019-08-09 重庆紫光华山智安科技有限公司 检索方法及装置
CN110222008A (zh) * 2019-05-06 2019-09-10 平安国际智慧城市科技股份有限公司 一种数据格式的转换方法、系统、介质及电子设备
CN110347732A (zh) * 2019-05-20 2019-10-18 中国平安人寿保险股份有限公司 一种数据转换方法及装置
CN110377291A (zh) * 2019-06-19 2019-10-25 深圳壹账通智能科技有限公司 结构化数据转换方法、装置、计算机设备和存储介质
CN110928939A (zh) * 2019-11-21 2020-03-27 浪潮软件股份有限公司 一种基于树形结构的Sql结果集向Json数据转换的方法
CN111291074A (zh) * 2020-02-27 2020-06-16 北京思特奇信息技术股份有限公司 一种数据库查询方法、系统、介质及设备
CN111367874A (zh) * 2020-02-28 2020-07-03 北京神州绿盟信息安全科技股份有限公司 一种日志处理方法、装置、介质和设备
CN112036124A (zh) * 2020-08-28 2020-12-04 中国平安财产保险股份有限公司 表格转换方法、装置、计算机设备和存储介质
CN112364041A (zh) * 2020-12-01 2021-02-12 苏宁金融科技(南京)有限公司 一种数据处理方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾海峰,等: "传统RDBMS向非关系型MongoDB数据模型转换与数据迁移方法研究", 《计算机应用研究》, vol. 34, no. 11, 15 November 2017 (2017-11-15), pages 3339 - 3340 *

Similar Documents

Publication Publication Date Title
US9009175B2 (en) System and method for database migration and validation
CN112948427B (zh) 数据查询方法、装置、设备及存储介质
CN111797157B (zh) 一种数据处理方法、系统及电子设备和存储介质
CN111428458A (zh) 通用报表生成方法、装置及计算机可读存储介质
CN112506486A (zh) 搜索系统建立方法、装置、电子设备及可读存储介质
CN112612462A (zh) 话术配置调整方法、装置、电子设备及存储介质
CN114416849A (zh) 数据处理方法、装置、电子设备及存储介质
CN114979120A (zh) 数据上传方法、装置、设备及存储介质
CN115129753A (zh) 数据血缘关系分析方法、装置、电子设备及存储介质
CN111401691A (zh) 业务进度监控方法、装置及计算机可读存储介质
CN114398346A (zh) 数据迁移方法、装置、设备及存储介质
CN114691050A (zh) 基于kubernetes的云原生存储方法、装置、设备及介质
CN113434542A (zh) 数据关系识别方法、装置、电子设备及存储介质
CN113468175A (zh) 数据压缩方法、装置、电子设备及存储介质
CN109460234B (zh) 应用程序瘦身方法、装置、终端及存储介质
CN113138841A (zh) 一种资源调度方法以及资源调度系统
CN113722324B (zh) 基于人工智能的报表生成方法、装置、电子设备及介质
CN112905687A (zh) 数据转换方法、装置、电子设备及存储介质
CN114840522A (zh) 基于人工智能的数据查询方法、装置、电子设备及介质
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
CN115237706A (zh) 埋点数据处理方法、装置、电子设备及存储介质
CN114741260A (zh) 接口兼容性检测方法、装置、电子设备及存储介质
CN113724808A (zh) 医学调查问卷生成方法、装置、电子设备及存储介质
CN114896164A (zh) 接口优化方法、装置、电子设备及存储介质
CN114881313A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40049908

Country of ref document: HK