CN107016115A - 数据导出方法、装置、计算机可读存储介质及电子设备 - Google Patents

数据导出方法、装置、计算机可读存储介质及电子设备 Download PDF

Info

Publication number
CN107016115A
CN107016115A CN201710254477.6A CN201710254477A CN107016115A CN 107016115 A CN107016115 A CN 107016115A CN 201710254477 A CN201710254477 A CN 201710254477A CN 107016115 A CN107016115 A CN 107016115A
Authority
CN
China
Prior art keywords
data
interval
level
export
module
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
Application number
CN201710254477.6A
Other languages
English (en)
Other versions
CN107016115B (zh
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.)
Netease Youdao Information Technology Hangzhou Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201710254477.6A priority Critical patent/CN107016115B/zh
Publication of CN107016115A publication Critical patent/CN107016115A/zh
Application granted granted Critical
Publication of CN107016115B publication Critical patent/CN107016115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

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

Abstract

本发明的实施方式提供了一种数据导出方法、装置、计算机可读存储介质及电子设备。该数据导出方法包括:根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。本发明的方法通过将数据均匀分布,提高了数据导出效率。

Description

数据导出方法、装置、计算机可读存储介质及电子设备
技术领域
本发明的实施方式涉及数据处理技术领域,更具体地,本发明的实施方式涉及数据导出方法、数据导出装置、计算机可读存储介质及电子设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着信息技术的日益发展以及数据量的高速增长,涌现了各种用于数据处理的数据库,其中,分布式数据库(Distributed Database,DDB)在大型商业系统中的应用变得越来越普遍。
现有的数据处理技术方案中,大多使用数据库导入导出工具Sqoop从数据库中导出数据。Sqoop在导出数据时,会根据指定的数据表中的列,将数据划分为多个不同的数据组或数据段,然后构建多个任务,从而将数据同时导出。
发明内容
在现有方案中,Sqoop在导出数据时,由于分布式数据库中的数据量较大、进行数据导出时是无序导出的以及划分的数据段不均衡的原因,现有技术会导致多个任务运行时间长、效率低下、可靠性低的问题。因此在现有技术中,将所有数据高效导出这是非常令人烦恼的过程。
为此,非常需要一种改进的数据导出方法,以使得能够高效、可靠地对数据库中的数据进行导出。
在本上下文中,本发明的实施方式期望提供一种数据导出方法、数据导出装置、计算机可读存储介质及电子设备。
在本发明实施方式的第一方面中,提供了一种数据导出方法,包括:
根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;
根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;其中,每一所述第二级别区间均包括一个或连续的多个所述第一级别区间;
将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
在本发明的一个实施例中,统计所述多个第一级别区间数据的分布情况包括:
统计各所述第一级别区间记录的数据数量。
在本发明的又一个实施例中,统计所述多个第一级别区间数据的分布情况还包括:
判断多个所述第一级别区间中是否存在未记录数据的区间;
在判断多个所述第一级别区间中存在所述未记录数据的区间时,跳过所述未记录数据的区间。
在本发明的一个实施例中,将所述多个第一级别区间聚合为预设数量的第二级别区间包括:
通过动态规划算法将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本发明的一个实施例中,通过动态规划算法将多个所述第一级别区间聚合包括:
将所有所述第一级别区间划分为预设数量的数据组,并统计各所述数据组的数据量;其中每一所述数据组均包括一个或连续的多个所述第一级别区间;
以所有所述数据组的数据量中的最大值最小为目标,将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本发明的一个实施例中,将各所述第二级别区间分配给一执行节点包括:
所述执行节点有多个且多个所述执行节点并行导出数据。
在本发明的一个实施例中,该数据导出方法还包括:
在所述执行节点导出数据时,统计所述第二级别区间的数据分布情况信息并对所述第二级别区间的数据分布情况信息进行存储。
在本发明实施方式的第二方面中,提供了一种数据导出方法,包括:
根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;
根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;
将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
在本发明的一个实施例中,在聚合为预设数量的当前第二级别区间时,该数据导出方法还包括:
统计当前各所述第二级别区间记录的数据数量。
在本发明的一个实施例中,将当前各所述第二级别区间分配给一执行节点包括:
所述执行节点有多个且多个所述执行节点并行导出数据。
在本发明实施方式的第三方面中,提供了一种数据导出装置,包括:
第一数据评估模块,用于根据数据源中数据表的主键的值的分布,将数据粗略划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;
第一区间聚合模块,用于根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;
第一数据导出模块,用于将每个所述第二级别区间的数据分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
在本发明的一个实施例中,所述第一数据评估模块包括:
第一统计模块,用于统计各所述第一级别区间记录的数据数量。
在本发明的又一个实施例中,所述第一数据评估模块还包括:
第一判断模块,用于判断多个所述第一级别区间中是否存在未记录数据的区间;
区间筛选模块,用于在判断多个所述第一级别区间中存在所述未记录数据的区间时,跳过所述未记录数据的区间。
在本发明的一个实施例中,所述第一区间聚合模块包括:
聚合模块,用于通过动态规划算法将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本发明的一个实施例中,所述聚合模块包括:
划分模块,用于将所有所述第一级别区间划分为预设数量的数据组,并统计各所述数据组的数据量;其中每一所述数据组均包括一个或连续的多个所述第一级别区间;
目标聚合模块,用于以所有所述数据组的数据量中的最大值最小为目标,将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本发明的一个实施例中,所述第一数据导出模块包括:
第一并行导出模块,用于所述执行节点有多个且多个所述执行节点并行导出数据。
在本发明的一个实施例中,该数据导出装置还包括:
存储模块,用于在所述执行节点导出数据时,统计所述第二级别区间的数据分布情况信息并对所述第二级别区间的数据分布情况信息进行存储。
在本发明实施方式的第四方面中,提供了一种数据导出装置,包括:
第二数据评估模块,用于根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;
第二数据聚合模块,用于根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;
第二数据导出模块,用于将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
在本发明的一个实施例中,在聚合为预设数量的当前第二级别区间时,该数据导出装置还包括:
第二统计模块,用于统计当前各所述第二级别区间记录的数据数量。
在本发明的一个实施例中,所述第二数据导出模块包括:
第二并行导出模块,用于所述执行节点有多个且多个所述执行节点并行导出数据。
在本发明实施方式的第五方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据上述第一方面和第二方面的数据导出方法。
在本发明实施方式的第六方面中,提供了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面和第二方面的数据导出方法。
根据本发明实施方式的数据导出方法和数据导出装置,通过将多个第一级别区间聚合为预设数量的第二级别区间,可以对数据库中的数据进行精确划分区间,从而实现数据的均衡划分。因此,根据本发明实施方式的数据导出方法,可以在数据导出过程中,将需要导出的目标数据聚合为均衡的区间,进一步地,可以将数据均匀的分配到多个任务中同时执行导出,而避免大部分数据集中在一个任务中,从而显著地避免了数据导出时间过长的情况,提高了数据导出的效率以及可靠性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性示出了根据本发明实施方式的一个示例性应用场景的框架示意图;
图2示意性示出了根据本发明一实施例的数据导出方法的流程图;
图3示意性示出了根据本发明另一实施例的数据导出方法的流程图;
图4示意性示出了根据本发明一实施例的数据导出装置的示意框图;
图5示意性示出了根据本发明另一实施例的数据导出装置的示意框图;
图6示意性示出了根据本发明实施例的电子设备的一种方框图;以及
图7示意性示出了根据本发明实施例的用于数据导出的一种程序产品。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种数据导出方法和数据导出装置。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,使用现有技术中的普通数据导出方法进行数据导出时,由于将数据划分的多个数据段分布十分不均衡的原因,导致大部分的数据集中在一个任务中,而大部分数据通过一个任务进行导出时,经常需要耗费较长的时间,而且可能会有出错情况出现,从而导致整个数据导出过程体验较差。
基于上述内容,本发明的基本思想在于:将数据库中的数据划分为第一级别区间,并按照第一级别区间中数据的分布情况将多个第一级别区间划分为第二级别区间,第一级别区间和第二级别区间用于将数据快速精确地划分为均匀分布的区间。在对数据进行区间划分后,将所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。因此,根据本发明的实施方式可以对数据库中的目标数据进行精准均衡划分,并且能够将划分的数据分配到多个任务中,从而显著地降低了导出数据时用时太长的情况,提高了数据导出的效率并且提升了整个数据导出体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,图1示出了本发明的实施方式的一个示例性应用场景的框架示意图。如图1所示,用户可以将服务器101中的目标数据导出到服务器102中。本领域技术人员应该理解,图1所示的示意框架仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。
需要说明的是,本发明的示例性附图以两个服务器为例,然而,本发明的应用场景不限于两个服务器。本发明的应用场景也可以应用于包含任意数量的分布式服务器集群中。
还需要说明的是,服务器101和服务器102均可以是本地服务器或远程服务器,此外,服务器101还可以是其他能够提供存储功能或者处理功能的产品例如云服务器,本发明的实施方式在此不做特殊限定。
应该理解的是,本发明的应用场景中,本发明实施方式的动作可以由服务器102执行,但是这些动作中的部分也可以由服务器101执行,当然也可以部分由服务器102执行、部分由服务器101执行。本发明在执行主体方面不受任何限制,只要执行了本发明实施方式所公开的动作即可。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的用于数据导出的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示出了根据本发明一实施例的数据导出方法的流程图。需要说明的是,图2中所示的步骤S210至步骤S230可以用于首次导出数据。参照图2所示,该数据导出方法可以包括以下步骤:
步骤S210.根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;
步骤S220.根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;其中,每一所述第二级别区间均包括一个或连续的多个所述第一级别区间;
步骤S230.将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
根据本发明实施方式的数据导出方法和数据导出装置,一方面,根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间,可以快速统计数据库中的数据的分布情况;另一方面,根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间,可以对上述统计的数据进行精确划分区间,从而实现数据的均衡划分。因此,根据本发明实施方式的数据导出方法和数据导出装置,可以在数据导出过程中,将需要导出的目标数据划分为均衡的区间,并分配到多个任务中同时执行导出,而避免大部分数据集中在一个任务中,从而显著地避免了数据导出时间过长的情况,提高了数据导出的效率及可靠性,为用户带来了更好的体验。
接下来,将对本示例实施例中的数据导出方法进一步进行说明。
在步骤S210中,根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况。
在本示例实施例中,数据源可以为提供所需要的数据的器件,也可以为原始媒体、网站、系统、终端或者其他任意形式的数据源。数据表可以按照相应的原则对数据或者信息进行分类,但是每个数据表中只可以包括一个主题的信息,且数据表中不能包括重复信息。举例来说,在“教学管理系统”中,教学管理数据库可以包括以下6个主题的数据表:“教师”表、“课程”表、“成绩”表、“学生”表、“班级”表和“授课”表,用来管理教学过程中学生、教师、课程等信息。但是本公开的示例实施例中的数据表不限于此,例如数据表还可以为任意数量的主题数据表等,数据库也可以为商品销售系统或者是其他任意系统中的数据,这也在本公开的保护范围内。举例来说,教师基本信息应当保存在“教师”表中。如果将这些基本信息保存在“授课”表中,则在删除某教师的授课信息,就会将其基本信息一同删除;每条信息只保存在一个数据表中,需要时只在一处进行更新,效率更高。例如,每个学生的姓名、性别等信息,只在“学生”表中保存,而“成绩”中不再保存这些信息。
此外,在本示例实施例中,主键可以为一个列或者是多个列的组合,作为每一行的身份标识号码ID唯一地标识数据表中的每一行。主键可以用编号或者是有特殊意义的字段来表示,例如,登录名、订单编号等;也可以用GUID(Globally Unique Identifier,全局唯一标识符)表示,主键的值可以由GUID唯一生成,以便于数据的导入导出。GUID可以自动生成,也可以由程序生成;主键可以为字符类型,也可以为其他类型。
具体而言,在本示例实施例中,可以通过数据评估模块将数据库中的目标数据粗粒度划分为第一级别区间,第一级别区间可以是记录数据量比较小的区间,多个第一级别区间中的数据数量可以相同,也可以不同。其中,可以将只考虑对象的类别,不考虑对象的某个特定实例的划分称为粗粒度划分。例如,用户管理中,创建、删除,对所有的用户都相同,并不区分操作的具体对象实例。
进一步地,为了对数据进行更精确的划分,可以在将数据划分为第一级别区间时对应的统计每个第一级别区间中数据的分布情况,统计所述多个第一级别区间数据的分布情况还可以包括:统计各所述第一级别区间记录的数据数量。在本示例实施例中,可以通过SQL(Structured Query Language,结构化查询语言)实现对数据库中的数据分布的粗略统计。例如,可以通过where语句统计某一区间内的数据分布情况。具体地,可以通过where id>=A and where id<=B,统计区间[A,B]中记录的数据数量,此外,也可以通过其他语句例如when语句或者是其他方式统计某个区间内的数据条数。接下来可以对整个数据库进行循环,可以统计出每个第一级别区间中记录的数据数量。
此外,本示例实施例中,统计所述多个第一级别区间数据的分布情况还可以包括:
判断多个所述第一级别区间中是否存在未记录数据的区间;
在判断多个所述第一级别区间中存在所述未记录数据的区间时,跳过所述未记录数据的区间。
在本示例实施例中,可以通过SQL实现对数据的剔除或者优化。由于数据库中有多个第一级别区间,而第一级别区间内可能存在容量或者空间非常大,但是并未记录任何一条数据的区间,这种现象可以称为数据空洞。基于分布式文件存储的数据库MongoDB顺序的原因,一个数据表经历了频繁的更新和删除后,其数据文件的尺寸大于其数据实际尺寸。在删除部分无用数据后,它的StorageSize和FileSize并不会变小,从而可能会造成大量的数据空洞。这些数据空洞除了占用磁盘之外,也可能会加载到内存中,从而降低内存效率。因此,需要对数据空洞进行处理。具体地,可以通过offset语句实现跳过数据空洞的功能,例如,在区间[A,B]中,可以通过offset X语句,跳过区间中的X个数据,即可以将未记录数据的区间直接忽略。具体而言,在本示例实施例中,可以通过循环判断数据是否为空数据的方式,判断多个第一级别区间内是否存在未记录数据的区间。然后在判断出存在未记录数据的区间时,可以通过上述offset语句跳过该数据空洞。需要说明的是,各所述第一级别区间可以不存在未记录数据的区间,也可以存在一个或多个未记录数据的区间。未记录数据的区间可以完全未记录数据,也可以一部分记录数据,一部分未记录数据,这种情况下,可以从起始位置地址使用循环和指针,将未记录数据的部分跳过或者删除,从而较精确地统计出数据的分布情况。
接下来,在步骤S220中,根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;其中,每一所述第二级别区间均包括一个或连续的多个所述第一级别区间。
在本示例实施例中,在跳过目标数据中的数据空洞以及统计第一级别区间的分布情况之后,可以根据统计的第一级别区间数据的分布情况将多个记录数据条数较小的第一级别区间聚合为记录数据条数较大的第二级别区间。所述预设数量可以为系统设置,也可以根据用户需要自定义设置。其中,每个第二级别区间都可以包括一个或者是连续的多个第一级别区间。可以设置每个第二级别区间包括的第一级别区间的个数相同,也可以设置每个第二级别区间记录的数据条数相同,也可以通过其他方式将第一级别区间聚合为固定数量的第二级别区间。
举例来说,在对商品销售信息进行处理时,可以先对每个商品的销售信息进行区间划分,然后可以将其聚合成大区间,比如按照品牌划分,这样在数据导出时,只需要对品牌进行汇总,就可以得到结果。通过这种区间聚合方式,可以缩短导出数据的响应时间,间接地提高数据导出效率。在此过程中,可以在将数据进行粗粒度划分之后,将数据进行细粒度划分,其中,可以将需要考虑具体对象的实例的划分称为细粒度划分,即在考虑粗粒度的对象类别之后才再考虑特定实例。例如,合同管理中,列表、删除,需要区分该合同实例是否为当前用户所创建。
此外,本示例实施例中,将所述多个第一级别区间聚合为预设数量的第二级别区间可以包括:
通过动态规划算法将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本示例实施例中,可以通过所述动态规划算法将多个第一级别区间聚合为预设数量的第二级别区间。其中,预设数量可以根据系统设置或者是根据用户需求自定义设置。动态规划算法可以用于计算当前状态到目标状态的最优值,同时也可以计算中间状态的最优值。举例来说,数据库的输入数据一般可以包括100-1000个数据区间,而输出数据一般情况下不大于20个数据区间。即可以通过动态规划算法将100-1000个第一级别区间聚合为少于20个的第二级别区间。第二级别区间记录的数据可以远大于第一级别区间记录的数据数量。
此外,本示例实施例中,通过动态规划算法将多个所述第一级别区间聚合可以包括:
将所有所述第一级别区间划分为预设数量的数据组,并统计各所述数据组的数据量;其中每一所述数据组均包括一个或连续的多个所述第一级别区间;
以所有所述数据组的数据量中的最大值最小为目标,将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本示例实施例中,可以通过将所有的第一级别区间划分为预设数量的数据组来确定将第一级别区间聚合为第二级别区间的最优区间聚合方法。数据组的预设数量可以与第二级别区间的预设数量相同。具体而言,可以建立数学模型,例如,对于N个连续的第一级别区间,每个第一级别区间中记录的数据数量为bi(1<=i<=N),可以将N个第一级别区间划分为M个连续的数据组,并统计每个数据组中记录的数据总数量Sj(1<=j<=M),其中,N、M都是自然数,且每个数据组中都包括一个或者是连续的多个第一级别区间。接下来,可以通过动态规划算法计算一种最优区间划分方案。动态规划算法是一种广泛使用的最优化算法,可以将多阶段决策过程化为多个单阶段决策过程。每个决策对所有的划分方法分别求最大值,最后得出最优划分方法。动态规划算法可以计算当前状态到目标状态的最优值,同时也可以计算中间状态的最优值。
在本示例实施例中,所述区间划分方案可以以所有所述数据组的数据量中的最大值最小为目标,即使得max(Sj)(1<=j<=M)最小。针对建立的数学模型,可以首先统计每个第一级别区间中记录的数据数量,然后可以统计每个连续的数据组中的数据数量。各第一级别区间bi中的数据数量不完全相同,数据组有多种划分方法,从而导致Sj有多种bi组合方式且各数据组中的数据总数量Sj随机,例如,b1=2,b2=4,b3=5;S1=b1+b2,S2=b3+b4+b5等。进一步地,求出一种最优的bi组合方式得出所有Sj的数值中的最大值max(Sj)(1<=j<=M),并且使得最大值max(Sj)(1<=j<=M)最小。可以通过编程语言实现该算法,从而确定如何将N个第一级别区间划分为M个连续的数据组,进一步确定将第一级别区间聚合为第二级别区间的方法,以实现数据的均匀分布。此外,还可以通过贪婪算法、分冶算法或者是其他算法将多个第一级别区间最优地聚合为第二级别区间。
接下来,在步骤S230中,将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
本示例实施例中,可以将第二级别区间中的每个数据分配给数据导出模块中的执行节点,执行节点可以包括名称节点和数据节点,其中,名称节点可以用于维护所有的文件和索引目录,名称节点也记录着每个文件所在的数据节点;可以通过数据节点对目标数据进行存储、序列化等处操作。可以通过SQL语句创建存储过程,也可以通过其他语句、其他方式进行存储。目标存储模块可以为基于客户机/服务器模式的分布式文件系统,例如,Hadoop、FastDFS等传统分布式文件系统。在分布式文件系统中,文件系统管理的物理存储资源可以通过计算机网络与节点相连接。目标存储模块也可以为与服务器连接的文件系统,例如邮箱、网盘、云服务器等。在将数据分配给对应的执行节点后,可以控制所述执行节点将第二级别区间的数据导出到目标存储模块。本示例实施例中,可以通过不同的语言程序将第二级别区间的数据导出为本地文件,也可以导出为HDFS文件,还可以导出到另外的数据表中。
此外,本示例实施例中,将各所述第二级别区间分配给一执行节点可以包括:
所述执行节点有多个且多个所述执行节点并行导出数据。
在本示例实施例中,所述执行节点可以有多个,将每个第二级别区间分配给一个对应的执行节点,其中,每个第二级别区间可以与每个执行节点一一对应,从而通过一个执行节点导出与该节点对应的第二级别区间的目标数据,并且多个执行节点可以同时并行导出数据,通过多个执行节点并行导出数据可以有效地提高数据导出效率,缩短数据导出耗费的时间。
此外,本示例实施例中,所述数据导出方法还可以包括:
在所述执行节点导出数据时,统计所述第二级别区间的数据分布情况信息并对所述第二级别区间的数据分布情况信息进行存储。
在本示例实施例中,可以在多个执行节点导出数据时,统计第二级别区间的数据分布情况,并且可以通过元数据管理模块将统计的第二级别区间的数据分布情况存储在数据库中。该元数据管理模块可以用于存储和获取统计出的第一级别区间和第二级别区间数据的分布情况。在第一次导出数据时,存储细粒度划分的第二级别区间的数据分布情况,可以在后续进行数据导出时,直接调用最新的历史数据,而不需要再对所有数据进行细粒度区间划分,因此可以避免对历史数据的重复划分,缩短导出数据的时间。
图3示出了根据本发明另一实施例的数据导出方法的流程图。需要说明的是,图3中所示的步骤S310至步骤S330可以用于第二次以及第二次以后的全量导出数据。参照图3所示,该数据导出方法可以包括以下步骤:
步骤S310.根据数据源中数据表的主键值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;
步骤S320.根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;
步骤S330.将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
根据本发明实施方式的数据导出方法,通过获取预存的第二级别区间数据的历史分布情况信息,并将所述第一级别区间聚合为预设数量的当前第二级别区间,可以避免历史数据的重新划分和聚合,从而实现数据的高效划分。因此,根据本发明实施方式的数据导出方法可以在数据导出过程中,将需要导出的目标数据划分为均衡的区间,并且可以直接使用划分好的区间结果,从而显著地避免了数据导出时间过长的情况,提高了数据导出的效率及可靠性,为用户带来了更好的体验。
接下来,将对本示例实施例中的数据导出方法进一步进行说明。
在步骤S310中,根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息。
在本示例实施例中,数据可以包括所有数据,也可以只包括新增的数据。在后续全量导出数据的过程中,可以只将新增的数据按照主键的值的分布情况划分为第一级别区间,需要说明的是,此处的划分标准可以与第一次导出数据使得划分标准相同。在将新增的数据划分为第一级别区间之后,可以获取第一次执行数据导出时,存储在数据库中的第二级别区间数据的历史分布情况。
在步骤S320中,根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间。
在本示例实施例中,可以根据预存的第二级别区间数据的历史分布情况信息,将第一级别区间聚合为与第二级别区间数据的历史分布情况信息相对应的预设数量的当前第二级别区间。此处的预设数量可以与历史第二级别区间的数量相同,也可以不同,还可以根据用户需求自定义进行设置。举例来说,对于商品销售信息,在新增了多个商品后,可以根据原来的分类标准将新增的商品聚合为与历史第二级别区间相同标准的当前第二级别区间,比如按照品牌聚合。在将新增数据聚合为当前第二级别区间数据之后,可以将历史第二级别区间与当前第二级别区间的数据聚合以方便导出所有数据,也可以不聚合历史第二级别区间与当前第二级别区间,以分别导出历史数据、新增数据或者是所有数据。
此外,本示例实施例中,在聚合为预设数量的当前第二级别区间时,所述数据导出方法还可以包括:
统计当前各所述第二级别区间记录的数据数量。
在本示例实施例中,可以统计当前各所述第二级别区间记录的数据数量。统计方法与上述方法相同,因此此处不再赘述。
在步骤S330中,将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
在本示例实施例中,可以将当前第二级别区间中的每个数据分配给数据导出模块中的执行节点,执行节点可以包括名称节点和数据节点,其中,名称节点可以用于维护所有的文件和索引目录,名称节点也记录着每个文件所在的数据节点;可以通过数据节点对目标数据进行存储、序列化等处操作。可以通过SQL语句创建存储过程,也可以通过其他语句或者是其他方式进行存储。目标存储模块可以为基于客户机/服务器模式的分布式文件系统,在分布式文件系统中,文件系统管理的物理存储资源可以通过计算机网络与节点相连接。在将数据分配给对应的执行节点后,可以控制所述执行节点将对应的当前第二级别区间的数据导出到目标存储模块。
此外,本示例实施例中,将当前各所述第二级别区间分配给一执行节点可以包括:
所述执行节点有多个且多个所述执行节点并行导出数据。
在本示例实施例中,所述执行节点可以有多个,可以将每个当前第二级别区间分配给一个对应的执行节点,以执行将当前所述第二级别区间的数据并行导出到目标存储模块,从而提高导出数据的效率。
示例性设备
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明一示例性实施方式的数据导出装置400进行详细描述。如图4所示,数据导出装置400可以包括:第一数据评估模块410、第一数据聚合模块420、以及第一数据导出模块430。其中:
第一数据评估模块410,可以用于根据数据源中数据表的主键的值的分布,将数据粗略划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;
第一区间聚合模块420,可以用于根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;
第一数据导出模块430,可以用于将每个所述第二级别区间的数据分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
在本发明的一个实施例中,所述第一数据评估模块410可以包括:
第一统计模块,可以用于统计各所述第一级别区间记录的数据数量。
在本发明的又一个实施例中,所述第一数据评估模块410还可以包括:
第一判断模块,可以用于判断多个所述第一级别区间中是否存在未记录数据的区间;
区间筛选模块,可以用于在判断多个所述第一级别区间中存在所述未记录数据的区间时,跳过所述未记录数据的区间。
在本发明的一个实施例中,第一区间聚合模块420可以包括:
聚合模块,可以用于通过动态规划算法将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本发明的一个实施例中,所述聚合模块可以包括:
划分模块,可以用于将所有所述第一级别区间划分为预设数量的数据组,并统计各所述数据组的数据量;其中每一所述数据组均包括一个或连续的多个所述第一级别区间;
目标聚合模块,可以用于以所有所述数据组的数据量中的最大值最小为目标,将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
在本发明的一个实施例中,第一数据导出模块430可以包括:
第一并行导出模块,可以用于所述执行节点有多个且多个所述执行节点并行导出数据。
在本发明的一个实施例中,该数据导出装置400还可以包括:
存储模块,可以用于在所述执行节点导出数据时,统计所述第二级别区间的数据分布情况信息并对所述第二级别区间的数据分布情况信息进行存储。
接下来,参考图5对本发明又一示例性实施方式的数据导出装置500进行详细描述。如图5所示,数据导出装置500可以包括:第二数据评估模块510、第二数据聚合模块520、以及第二数据导出模块530。其中:
第二数据评估模块510,可以用于根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;
第二数据聚合模块520,可以用于根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;
第二数据导出模块530,可以用于将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
在本发明的一个实施例中,在聚合为预设数量的当前第二级别区间时,该数据导出装置500还可以包括:
第二统计模块,可以用于统计当前各所述第二级别区间记录的数据数量。
在本发明的一个实施例中,第二数据导出模块530可以包括:
第二并行导出模块,可以用于所述执行节点有多个且多个所述执行节点并行导出数据。
由于本发明的示例实施例中的数据导出装置400和数据导出装置500的各个功能模块与上述数据导出方法的各个步骤对应,因此在此将不再赘述。
需要说明的是,对比现有技术方案,本发明的系统架构中增加了数据评估模块,区间聚合模块,元数据管理模块,并且优化了数据导出模块。其中,数据评估模块可以用于统计数据库中数据的大概分布情况,区间聚合模块可以用于将数据的大概分布情况以及历史统计的详细分布聚合成预设数量的区间,元数据管理模块可以用于与评估数据模块交互,以负责存储和获取数据导出模块统计的区间分布情况的数据。
示例性设备
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的用于数据导出的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的数据导出设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据导出方法中的步骤。例如,所述处理单元可以执行如图2中所示的步骤S210:根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;步骤S220:根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;其中,每一所述第二级别区间均包括一个或连续的多个所述第一级别区间;步骤S230:将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。所述处理单元也可以执行如图3中所示的步骤S310:根据数据源中数据表的主键值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;步骤S320:根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;步骤S330:将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
下面参照图6来描述根据本发明的这种实施方式的用于数据导出的电子设备600。图6所示的数据导出设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,数据导出设备600以通用计算设备的形式表现。数据导出设备600的组件可以包括但不限于:上述至少一个处理单元601、上述至少一个存储单元602、连接不同系统组件(包括存储单元602和处理单元601)的总线603。
总线603表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,还可以进一步包括只读存储器(ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
数据导出设备600也可以与一个或多个外部设备604(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与数据导出设备600交互的设备通信,和/或与使得数据导出设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口605进行。并且,数据导出设备600还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器606通过总线603与数据导出设备600的其它模块通信。应当明白,尽管图6中未示出,可以结合数据导出设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据导出方法中的步骤,例如,所述处理单元可以执行如图2中所示的步骤S210:根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;步骤S220:根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;其中,每一所述第二级别区间均包括一个或连续的多个所述第一级别区间;步骤S230:将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。所述处理单元也可以执行如图3中所示的步骤S310:根据数据源中数据表的主键值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;步骤S320:根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;步骤S330:将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图7所示,描述了根据本发明的实施方式的用于数据导出的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了数据导出设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (14)

1.一种数据导出方法,其特征在于,包括:
根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;
根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;其中,每一所述第二级别区间均包括一个或连续的多个所述第一级别区间;
将各所述第二级别区间分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
2.根据权利要求1所述的数据导出方法,其特征在于,统计所述多个第一级别区间数据的分布情况包括:
统计各所述第一级别区间记录的数据数量。
3.根据权利要求1所述的数据导出方法,其特征在于,统计所述多个第一级别区间数据的分布情况还包括:
判断多个所述第一级别区间中是否存在未记录数据的区间;
在判断多个所述第一级别区间中存在所述未记录数据的区间时,跳过所述未记录数据的区间。
4.根据权利要求1所述的数据导出方法,其特征在于,将所述多个第一级别区间聚合为预设数量的第二级别区间包括:
通过动态规划算法将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
5.根据权利要求4所述的数据导出方法,其特征在于,通过动态规划算法将多个所述第一级别区间聚合包括:
将所有所述第一级别区间划分为预设数量的数据组,并统计各所述数据组的数据量;其中每一所述数据组均包括一个或连续的多个所述第一级别区间;
以所有所述数据组的数据量中的最大值最小为目标,将多个所述第一级别区间聚合为所述预设数量的第二级别区间。
6.根据权利要求1所述的数据导出方法,其特征在于,将各所述第二级别区间分配给一执行节点包括:
所述执行节点有多个且多个所述执行节点并行导出数据。
7.根据权利要求1所述的数据导出方法,其特征在于,所述数据导出方法还包括:
在所述执行节点导出数据时,统计所述第二级别区间的数据分布情况信息并对所述第二级别区间的数据分布情况信息进行存储。
8.一种数据导出方法,其特征在于,包括:
根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;
根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;
将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
9.根据权利要求8所述的数据导出方法,其特征在于,在聚合为预设数量的当前第二级别区间时,所述数据导出方法还包括:
统计当前各所述第二级别区间记录的数据数量。
10.根据权利要求8所述的数据导出方法,其特征在于,将当前各所述第二级别区间分配给一执行节点包括:
所述执行节点有多个且多个所述执行节点并行导出数据。
11.一种数据导出装置,其特征在于,包括:
数据评估模块,用于根据数据源中数据表的主键的值的分布,将数据粗略划分为多个第一级别区间并统计所述多个第一级别区间数据的分布情况;
区间聚合模块,用于根据统计的所述第一级别区间数据的分布情况将多个所述第一级别区间聚合为预设数量的第二级别区间;
数据导出模块,用于将每个所述第二级别区间的数据分配给一执行节点执行以将所述第二级别区间的数据导出到目标存储模块。
12.一种数据导出装置,其特征在于,包括:
数据评估模块,用于根据数据源中数据表的主键的值的分布,将数据划分为多个第一级别区间并获取预存的第二级别区间数据的历史分布情况信息;
数据聚合模块,用于根据预存的第二级别区间数据的历史分布情况信息将所述第一级别区间聚合为预设数量的当前第二级别区间;
数据导出模块,用于将当前各所述第二级别区间分配给一执行节点执行以将当前所述第二级别区间的数据导出到目标存储模块。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项或权利要求8-10任一项所述的数据导出方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项或权利要求8-10任一项所述的数据导出方法。
CN201710254477.6A 2017-04-18 2017-04-18 数据导出方法、装置、计算机可读存储介质及电子设备 Active CN107016115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710254477.6A CN107016115B (zh) 2017-04-18 2017-04-18 数据导出方法、装置、计算机可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710254477.6A CN107016115B (zh) 2017-04-18 2017-04-18 数据导出方法、装置、计算机可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN107016115A true CN107016115A (zh) 2017-08-04
CN107016115B CN107016115B (zh) 2020-06-19

Family

ID=59448388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710254477.6A Active CN107016115B (zh) 2017-04-18 2017-04-18 数据导出方法、装置、计算机可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN107016115B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038199A (zh) * 2017-12-12 2018-05-15 清华大学 一种层次结构的传感器时序数据存储方法和系统
CN108776692A (zh) * 2018-06-06 2018-11-09 北京京东尚科信息技术有限公司 用于处理信息的方法和装置
CN109241045A (zh) * 2018-08-29 2019-01-18 宜人恒业科技发展(北京)有限公司 一种预处理数据的方法和装置
CN110019558A (zh) * 2017-12-27 2019-07-16 航天信息股份有限公司 基于Sqoop的数据传输方法、装置、计算机可读存储介质及设备
CN114706922A (zh) * 2021-11-04 2022-07-05 金篆信科有限责任公司 数据导出方法、节点、服务器、系统、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120059823A1 (en) * 2010-09-03 2012-03-08 International Business Machines Corporation Index partition maintenance over monotonically addressed document sequences
US20130325794A1 (en) * 2009-05-13 2013-12-05 Hamid Hatami-Hanza Unified Semantic Ranking of Compositions of Ontological Subjects
CN103886060A (zh) * 2014-03-17 2014-06-25 北京国双科技有限公司 用于联机分析处理分区的数据处理方法和装置
CN104376119A (zh) * 2014-12-03 2015-02-25 天津南大通用数据技术股份有限公司 一种适应超大规模列存数据库的数据访问方法及装置
CN106202121A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 数据存储及导出的方法和设备
CN106250477A (zh) * 2016-07-29 2016-12-21 厦门天锐科技股份有限公司 一种分表数据的分页方法
CN106250519A (zh) * 2016-08-04 2016-12-21 曙光信息产业(北京)有限公司 用于并行数据库的数据查询方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130325794A1 (en) * 2009-05-13 2013-12-05 Hamid Hatami-Hanza Unified Semantic Ranking of Compositions of Ontological Subjects
US20120059823A1 (en) * 2010-09-03 2012-03-08 International Business Machines Corporation Index partition maintenance over monotonically addressed document sequences
CN103886060A (zh) * 2014-03-17 2014-06-25 北京国双科技有限公司 用于联机分析处理分区的数据处理方法和装置
CN104376119A (zh) * 2014-12-03 2015-02-25 天津南大通用数据技术股份有限公司 一种适应超大规模列存数据库的数据访问方法及装置
CN106202121A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 数据存储及导出的方法和设备
CN106250477A (zh) * 2016-07-29 2016-12-21 厦门天锐科技股份有限公司 一种分表数据的分页方法
CN106250519A (zh) * 2016-08-04 2016-12-21 曙光信息产业(北京)有限公司 用于并行数据库的数据查询方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038199A (zh) * 2017-12-12 2018-05-15 清华大学 一种层次结构的传感器时序数据存储方法和系统
CN110019558A (zh) * 2017-12-27 2019-07-16 航天信息股份有限公司 基于Sqoop的数据传输方法、装置、计算机可读存储介质及设备
CN108776692A (zh) * 2018-06-06 2018-11-09 北京京东尚科信息技术有限公司 用于处理信息的方法和装置
CN109241045A (zh) * 2018-08-29 2019-01-18 宜人恒业科技发展(北京)有限公司 一种预处理数据的方法和装置
CN114706922A (zh) * 2021-11-04 2022-07-05 金篆信科有限责任公司 数据导出方法、节点、服务器、系统、设备和存储介质

Also Published As

Publication number Publication date
CN107016115B (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN107016115A (zh) 数据导出方法、装置、计算机可读存储介质及电子设备
US11681695B2 (en) Aggregation in dynamic and distributed computing systems
US10656979B2 (en) Structural and temporal semantics heterogeneous information network (HIN) for process trace clustering
US10120930B2 (en) Identifying entity mappings across data assets
US11182691B1 (en) Category-based sampling of machine learning data
CA2953969C (en) Interactive interfaces for machine learning model evaluations
CN106980669B (zh) 一种数据的存储、获取方法及装置
US10452702B2 (en) Data clustering
US20150379430A1 (en) Efficient duplicate detection for machine learning data sets
US10303690B1 (en) Automated identification and classification of critical data elements
US20190370599A1 (en) Bounded Error Matching for Large Scale Numeric Datasets
Silva et al. Integrating big data into the computing curricula
US11797722B2 (en) Method and system for optimizing shipping methodology for 2-directional floor joists
CN107026897A (zh) 一种数据处理的方法、装置和系统
US11487824B2 (en) Automated database query filtering for spatial joins
CN104090895B (zh) 获取基数的方法、装置、服务器及系统
CN106649314A (zh) 数据查询的方法及装置
US20220043789A1 (en) Data deduplication in data platforms
US10025838B2 (en) Extract transform load input suggestion
CN109582476A (zh) 数据处理方法、装置及系统
US11868349B2 (en) Row secure table plan generation
US11094405B2 (en) Cognitive care plan recommendation system
CN113934894A (zh) 基于指标树的数据显示方法、终端设备
CN110764907A (zh) 一种云计算资源图谱构建方法
CN110942345A (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
TA01 Transfer of patent application right

Effective date of registration: 20190821

Address after: 310052 Room 309, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Netease Youdao Information Technology (Hangzhou) Co., Ltd.

Address before: Hangzhou City, Zhejiang province Binjiang District 310052 River Street Network Road No. 599 building 4 layer 7

Applicant before: NetEase (Hangzhou) Network Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant