CN104298736B - 数据集合连接方法、装置及数据库系统 - Google Patents
数据集合连接方法、装置及数据库系统 Download PDFInfo
- Publication number
- CN104298736B CN104298736B CN201410523412.3A CN201410523412A CN104298736B CN 104298736 B CN104298736 B CN 104298736B CN 201410523412 A CN201410523412 A CN 201410523412A CN 104298736 B CN104298736 B CN 104298736B
- Authority
- CN
- China
- Prior art keywords
- data
- acquisition system
- record
- data acquisition
- subset
- 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.)
- Active
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据集合连接方法、装置及数据库系统,属于数据库技术领域。所述方法包括:将多个数据集合中的每个数据集合分割为多个数据子集;每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合,将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接;输出连接后的数据记录。采用这样一种方法,能够有效解决现有数据集合的连接方法常存在的数据连接性能低、硬件配置要求高问题。
Description
技术领域
本发明涉及数据库技术领域,特别涉及一种数据集合连接方法、装置及数据库系统。
背景技术
随着现代企业的发展壮大,企业所积累的信息数据也随之剧增。然而,企业所积累的信息数据往往是多样化的,是比较零散的,它们可能来自于不同的职能部门,存储着企业不同维度的业务信息。企业要想从大量零散的数据中提取有价值的信息,则必须要对这些数据信息进行关联、整合和分析,从而形成一份比较全面的、有价值的数据集合。为了便于对这些海量数据进行有效的管理,数据仓库管理系统逐渐得到广泛的应用。在数据仓库管理系统的建设中常使用抽取、转换、装载(英文:Extract、Transform、Load;简称:ETL)工具来对数据进行集成。在使用ETL工具对数据进行集成时,通常会频繁使用到数据集合的连接技术,即从多个分散数据集合中进行数据抽取、连接处理,分别从不同的数据集合中选取有用的字段信息,最终组合形成一份比较完整的数据集合,以供用户进行综合决策分析。
现有技术中,一种比较常用的数据集合连接方法是基于关系数据库表的关联查询方式实现数据集合连接。例如,在图1所示的关系数据库管理系统中对A和B两个原始表进行关联查询,其关联条件是要求A表中field_1值等于B表中field_1值,然后分别从A表和B表中选取一些字段作为输出字段,所得的输出字段的集合即为需要的数据集合。该方法虽然易于实现和使用,但其不足之处在于,在对海量数据库表进行关联查询时,其查询性能将会非常慢,很难满足用户的需求。另一种比较常用的技术方案是基于内存来实现数据集合连接。同样以数据集合A和B为例,如图2所示,首先把A和B两个数据集合加载到内存中,然后根据数据集合连接条件,即A数据集field_1字段等于B数据集合的field_1字段,分别从A数据集合和B数据集合中选取一些字段作为输出字段,最后的输出结果集即为需要的数据集合。该方法虽然可以获得较高的数据集合连接性能,但是对服务器硬件配置要求非常高,尤其是对内存消耗非常大,通常情况下,该方法对于海量数据集合的连接场景是不能适用的。
综上所述,在对海量数据集合进行连接处理时,尤其是在数据仓库管理系统的数据集成过程中,现有数据集合的连接方法常存在数据连接性能较低、服务器硬件配置无法满足要求的问题。
发明内容
为了解决现有数据集合的连接方法常存在的数据连接性能低、硬件配置要求高问题,本发明实施例提供了一种数据集合连接方法、装置及数据库系统。所述技术方案如下:
第一方面,提供一种数据集合连接装置,所述装置包括:
分割单元,用于将多个数据集合中的每个数据集合分割为多个数据子集;
连接单元,用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接,对于所述多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合;
输出单元,用于输出连接后的数据记录。
在第一方面的第一种可能实现方式中,所述分割单元还用于:
对于所述数据集合中的每个数据集合,根据所述数据集合中数据记录的标识信息将所述数据记录分配至对应的数据子集,所述数据集合包括预设数量的数据子集。
结合第一方面的第一种可能实现方式,在第二种可能实现方式中,所述数据记录的标识信息包括:数据记录的哈希值;
所述分割单元包括:
第一读取模块,用于从数据集合中顺序读取数据记录;
处理模块,用于根据当前数据记录的关键字段生成对应的哈希值;
计算模块,用于对所述当前数据记录的哈希值按照预设的数据子集数量取模,得到所述当前数据记录对应的数据子集序号;
分配模块,用于将所述当前数据记录以及所述当前数据记录的哈希值分配至对应的数据子集。
结合第一方面的第二种可能实现方式,在第三种可能实现方式中,所述处理模块还用于:
以当前数据记录的关键字段作为输入参数,通过算法生成一个与所述当前数据记录唯一对应的整型哈希值。
结合第一方面的第二种可能实现方式,在第四种可能实现方式中,所述分割单元还包括:
计数模块,用于当数据子集内的数据记录达到预设条数时,将所述预设条数的数据记录作为所述数据子集的子块并按照哈希值排序;
写入模块,用于将所述子块写入本地磁盘;
数据清除模块,用于清空内存中的所述数据子集的数据。
结合第一方面的第四种可能实现方式,在第五种可能实现方式中,所述连接单元包括:
第二读取模块,用于从所述第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
所述第二读取模块还用于从所述第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录;
比较模块,用于将所述第一数据集合中的第一数据子集的当前匹配记录的哈希值与所述第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
结合第一方面的第五种可能实现方式,在第六种可能实现方式中,所述比较模块还用于:
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值等于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值小于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第一数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第一数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值大于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第二数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第二数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录。
第二方面,提供了一种数据集合连接方法,所述方法包括:
将多个数据集合中的每个数据集合分割为多个数据子集;
每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合,将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接;
输出连接后的数据记录。
在第二方面的第一种可能实现方式中,所述将多个数据集合中的每个数据集合分割为多个数据子集包括:
对于所述数据集合中的每个数据集合,根据所述数据集合中数据记录的标识信息将所述数据记录分配至对应的数据子集,所述数据集合包括预设数量的数据子集。
结合第二方面的第一种可能实现方式,在第二种可能实现方式中,所述数据记录的标识信息包括:数据记录的哈希值;
所述根据数据集合中数据记录的标识信息将所述数据记录分配至对应的数据子集包括:
从数据集合中顺序读取数据记录;
根据当前数据记录的关键字段生成对应的哈希值;
对所述当前数据记录的哈希值按照预设的数据子集数量取模,得到所述当前数据记录对应的数据子集序号;
将所述当前数据记录以及所述当前数据记录的哈希值分配至对应的数据子集。
结合第二方面的第二种可能实现方式,在第三种可能实现方式中,所述根据当前数据记录的关键字段生成对应的哈希值包括:
以当前数据记录的关键字段作为输入参数,通过算法生成一个与所述当前数据记录唯一对应的整型哈希值。
结合第二方面的第二种可能实现方式,在第四种可能实现方式中,所述方法还包括:
当数据子集内的数据记录达到预设条数时,将所述预设条数的数据记录作为所述数据子集的子块并按照哈希值排序;
将所述子块写入本地磁盘;
清空内存中的所述数据子集的数据。
结合第二方面的第四种可能实现方式,在第五种可能实现方式中,所述将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接包括:
从所述第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
从所述第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录;
将所述第一数据集合中的第一数据子集的当前匹配记录的哈希值与所述第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
结合第二方面的第五种可能实现方式,在第六种可能实现方式中,所述将所述第一数据集合中的第一数据子集的当前匹配记录的哈希值与所述第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接包括:
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值等于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值小于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第一数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第一数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值大于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第二数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第二数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录。
结合第二方面的第五种可能实现方式或第六种可能实现方式,在第七种可能实现方式中,所述当前匹配记录标记有所在子块的位置信息。
第三方面,提供一种数据库系统,包括数据库和数据集合连接装置,所述数据集合连接装置包括:
分割单元,用于将多个数据集合中的每个数据集合分割为多个数据子集;
连接单元,用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接,对于所述多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合;
输出单元,用于输出连接后的数据记录。
本发明实施例提供的数据集合连接方法、装置及数据库系统,通过将多个数据集合中的每个数据集合分割为多个数据子集,在进行数据集合的连接过程中,通过将不同数据集合中的数据子集内的数据记录逐条匹配,将相匹配的数据记录进行连接并输出连接后的数据。这样一来,在进行数据集合的连接时,通过对比不同数据集合内的每个数据子集的首条数据记录以查找相匹配的数据记录,从而可以无需加载全部的数据记录,采用这样一种方法,能够有效提高数据连接的性能,尤其是对于企业级的海量数据,数据整合效率得到了显著的提升,这样一种技术方案还可以有效降低对服务器硬件配置的要求,从而为企业节约了系统的建设成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据库的物理存储方式的结构示意图;
图2是本发明实施例提供的一种数据集合连接装置的结构示意图;
图3是本发明实施例提供的一种数据集合连接方法的流程示意图;
图4是图3中步骤301的详细方法流程示意图;
图5是图3中步骤302的详细方法流程示意图;
图6是本发明实施例提供的一种数据集合连接方法的实现流程框图;
图7是本发明实施例提供的一种数据集合连接装置的结构示意图;
图8是图7中分割单元的结构示意图;
图9是图7中连接单元的结构示意图;
图10是本发明实施例提供的一种数据库系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1示出了本发明实施例提供的数据集合连接方法所涉及的一种数据库的物理存储方式的结构示意图。在该数据库结构中,包括多个数据集合,每一个数据集合中包含多个数据子集,每一个数据子集又可以划分为多个子块。
为了实现不同数据集合之间的高效连接,降低不同数据集合之间匹配数据记录的查找时间,提高数据抽取性能就显得尤为重要。如图1所示,在数据库存储管理的过程中,可以将数据记录按照一定的规则逐条分配至不同的数据子集中去,以使得每一个数据子集内部的数据记录按照顺序排列,相邻的数据子集之间的数据记录同样按照顺序排列。在进行数据记录查找的过程中,通过对比不同数据子集内首条数据记录的序号既能够快速找到目标数据记录所在的数据子集,在数据抽取的过程中,数据选择范围被大大的缩小,从而能够有效提高数据抽取的性能。
本发明实施例提供的数据集合连接装置正是基于以上分析,该数据集合连接装置可以应用于如图1所示的数据库,如图2所示,数据集合连接装置20包括:
处理器201,用于将多个数据集合中的每个数据集合分割为多个数据子集。
该处理器21还用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至第一数据集合中的所有数据子集与第二数据集合中的数据子集实现数据记录连接,对于多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合。
发射机202,该发射机202与处理器201电连接,用于输出连接后的数据记录。
本发明实施例提供的数据集合连接装置,通过将多个数据集合中的每个数据集合分割为多个数据子集,在进行数据集合的连接过程中,通过将不同数据集合中的数据子集内的数据记录逐条匹配,将相匹配的数据记录进行连接并输出连接后的数据。这样一来,在进行数据集合的连接时,通过对比不同数据集合内的每个数据子集的首条数据记录以查找相匹配的数据记录,从而可以无需加载全部的数据记录,采用这样一种方法,能够有效提高数据连接的性能,尤其是对于企业级的海量数据,数据整合效率得到了显著的提升,这样一种技术方案还可以有效降低对服务器硬件配置的要求,从而为企业节约了系统的建设成本。
可选的,处理器201具体用于:
对于数据集合中的每个数据集合,根据数据集合中数据记录的标识信息将数据记录分配至对应的数据子集,该数据集合包括预设数量的数据子集。
进一步的,数据记录的标识信息可以包括:数据记录的哈希值。
处理器201具体还可以用于:
从数据集合中顺序读取数据记录;根据当前数据记录的关键字段生成对应的哈希值;对所述当前数据记录的哈希值按照预设的数据子集数量取模,得到所述当前数据记录对应的数据子集序号;将所述当前数据记录以及所述当前数据记录的哈希值分配至对应的数据子集。
进一步的,处理器201具体还可以用于:
以当前数据记录的关键字段作为输入参数,通过算法生成一个与所述当前数据记录唯一对应的整型哈希值。
进一步的,处理器201具体还可以用于:
当数据子集内的数据记录达到预设条数时,将所述预设条数的数据记录作为所述数据子集的子块并按照哈希值排序;将所述子块写入本地磁盘;清空内存中的所述数据子集的数据。
进一步的,处理器201具体还可以用于:
从第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为第一数据集合中的第一数据子集的当前匹配记录;从第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为第二数据集合中的第一数据子集的当前匹配记录;将第一数据集合中的第一数据子集的当前匹配记录的哈希值与第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
进一步的,处理器201具体还可以用于:
当第一数据集合中的第一数据子集的当前匹配记录的哈希值等于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接;当第一数据集合中的第一数据子集的当前匹配记录的哈希值小于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从第一数据集合中的第一数据子集内的哈希值最小的子块中读取下一条记录作为第一数据集合中的第一数据子集的当前匹配记录;当第一数据集合中的第一数据子集的当前匹配记录的哈希值大于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从第二数据集合中的第一数据子集内的哈希值最小的子块中读取下一条记录作为第二数据集合中的第一数据子集的当前匹配记录。
采用这样一种方法,能够有效提高数据连接的性能,尤其是对于企业级的海量数据,数据整合效率得到了显著的提升,这样一种技术方案还可以有效降低对服务器硬件配置的要求,从而为企业节约了系统的建设成本。
本发明实施例提供的数据集合连接方法,如图3所示,该方法包括:
步骤301、将多个数据集合中的每个数据集合分割为多个数据子集。
步骤302、对多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合,将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至第一数据集合中的所有数据子集与第二数据集合中的数据子集实现数据记录连接。
步骤303、输出连接后的数据记录。
本发明实施例提供的数据集合连接方法,通过将多个数据集合中的每个数据集合分割为多个数据子集,在进行数据集合的连接过程中,通过将不同数据集合中的数据子集内的数据记录逐条匹配,将相匹配的数据记录进行连接并输出连接后的数据。这样一来,在进行数据集合的连接时,通过对比不同数据集合内的每个数据子集的首条数据记录以查找相匹配的数据记录,从而可以无需加载全部的数据记录,采用这样一种方法,能够有效提高数据连接的性能,尤其是对于企业级的海量数据,数据整合效率得到了显著的提升,这样一种技术方案还可以有效降低对服务器硬件配置的要求,从而为企业节约了系统的建设成本。
具体的,数据子集分割的步骤301包括:
对于数据集合中的每个数据集合,根据数据集合中数据记录的标识信息将数据记录分配至对应的数据子集,该数据集合包括预设数量的数据子集。
其中,数据记录的标识信息具体包括数据记录的哈希值。
如图4所示,步骤301进一步包括:
步骤3011、从数据集合中顺序读取数据记录。
步骤3012、根据当前数据记录的关键字段生成对应的哈希值。
具体的,可以以当前数据记录的关键字段作为输入参数,通过算法生成一个与当前数据记录唯一对应的整型哈希值。
需要说明的是,在本发明实施例中并不限定哈希算法的具体类型,只要能够根据输入字符串参数,也即数据记录的关键字生成一个唯一固定的整数型值的哈希算法,都可以应用于本方案。例如,可以采用如下所示的BKDR哈希算法:
步骤3013、对当前数据记录的哈希值按照预设的数据子集数量取模,得到当前数据记录对应的数据子集序号。
步骤3014、将当前数据记录以及当前数据记录的哈希值分配至对应的数据子集。
重复上述步骤,直至完成数据集合中所有数据记录的哈希分割。
需要说明的是,在本发明实施例所提供的数据集合连接方法中,数据集合的连接性能主要取决于每个数据集合中分割的数据子集的数量。其中,假设数据集合内的数据记录数量为一定值,如果每个数据集合中数据子集的数量过少,则每一个数据子集内将存在大量的数据记录,这样当根据数据子集的首条数据记录确定数据连接所需要抽取的数据子集之后,仍需加载该数据子集内的大量数据记录,从而影响了数据连接的性能。相对的,如果每个数据集合中数据子集的数量过多,当进行数据连接时则需要考察大量的数据子集以查找到需要的数据子集,影响了数据连接的性能。
在实际应用的过程中,每一个数据集合中数据子集的数量可以根据实际需要以及设备的实际运算能力进行预设,例如数据子集的数量可以为数据记录数量的平方根等,本发明实施例对此并不做限定。
另一方面,影响数据集合连接性能的因素还包括每一个数据子集内数据记录的数量。在实际应用的过程中,在将每个数据集合中的数据记录分配至多个数据子集时有可能会出现数据记录分配不均匀的现象,导致少数几个数据子集内被分配有大量的数据记录,这样在抽取这些数据子集时同样需要加载大量的数据,严重影响数据连接的效率。
为了克服数据子集内数据记录分配不均匀的问题,可选的,如图4所示,步骤301还可以包括:
步骤3015、当数据子集内的数据记录达到预设条数时,将预设条数的数据记录作为数据子集的子块并按照哈希值排序。
这样一来,可以将数据子集划分为多个子块,如图1所示,每个子块中的数据记录数量大致相同。
步骤3016、将子块写入本地磁盘。
步骤3017、清空内存中的数据子集的数据。
通过将每一个数据子集内的数据记录划分为多个子块,每一个子块中包括预设条目数量的数据记录,这样可以有效限定一个数据子集内数据记录的数量,使得每一个数据子集内的数据记录数量大致相近,从而避免了大量的数据记录过于集中在少数几个数据子集的情况出现,保证了数据连接的性能。
进一步的,如图5所示,步骤302具体可以包括:
步骤3021、从第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为第一数据集合中的第一数据子集的当前匹配记录。
步骤3022、从第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为第二数据集合中的第一数据子集的当前匹配记录。
需要说明的是,步骤3021与步骤3022并没有严格的先后关系,步骤3021与步骤3022可以分别先后执行,或者还可以同时进行,本发明实施例对此并不做限定。
步骤3023、将第一数据集合中的第一数据子集的当前匹配记录的哈希值与第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
具体的,当第一数据集合中的第一数据子集的当前匹配记录的哈希值等于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接。
当第一数据集合中的第一数据子集的当前匹配记录的哈希值小于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从第一数据集合中的第一数据子集内的哈希值最小的子块中,读取下一条数据记录,将读取到的数据记录与第一数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为第一数据集合中的第一数据子集的当前匹配记录。
当第一数据集合中的第一数据子集的当前匹配记录的哈希值大于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从第二数据集合中的第一数据子集内的哈希值最小的子块中,读取下一条数据记录,将读取到的数据记录与第二数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为第二数据集合中的第一数据子集的当前匹配记录。
其中,当前匹配记录标记有所在子块的位置信息。重复上述步骤直至完成第一数据集合中的第一数据子集与第二数据集合中的第一数据子集内所有子块中的数据记录的连接处理。进一步的,重复上述过程,直至完成第一数据集合与第二数据集合中所有数据子集的连接处理。
本发明实施例所提供的数据集合的连接方法通过利用哈希文件可以实现海量数据集合的高效连接。
例如,假设对于数据集合A和数据集合B需要按照关键字段field_1进行数据连接处理,其实现方案可以如下:
打开数据集合A,顺序从数据集合A中读取数据记录。
以当前记录的关键字段(field_1)作为输入参数,通过算法生成一个唯一的整型哈希数值。
对当前记录的哈希值按照设定的数据子集数目(N)取模,即:H(哈希值)%N(数据子集数目)=m(数据子集序号)。
将当前记录连同哈希值一起分配到第m个数据子集(Am)中,检查Am数据子集大小,如果Am记录数达到指定大小时(如:100,000),则对Am数据子集按哈希值排序,然后将其作为Am数据子集的一个子块(#Block)写入本地磁盘文件,清空内存中Am数据子集。
重复上述步骤,直到完成数据集合A的所有记录的哈希分割、分块、排序、输出块文件处理。
采用相同的方式完成数据集合B的哈希分割、分块、排序、输出块文件处理。
在完成对数据集合A、B的哈希分割、分块、排序、输出块文件处理之后,接着开始按数据块进行连接处理。其实现过程可以如图6所示,具体包括:
打开数据集合A中数据子集A1内的所有子块文件,从A1的每一个子块文件中顺序读取一条记录,以哈希值最小的作为A1的当前匹配记录,并标记当前记录来自于哪一个块文件(A1#Block n)。
相应的打开数据集合B中数据子集B1内的所有子块文件,从B1的每一个子块文件中顺序读取一条记录,以哈希值最小的作为B1的当前匹配记录,并标记当前记录来自于哪一个块文件(B1#Block n)。
将A1与B1的当前记录的哈希值进行比较,具体的:
如果A1与B1的当前记录的哈希值相等,则将两条记录进行连接并输出结果,然后分别从A1和B1的哈希值最小的块中读取下一条记录。
如果A1的当前记录的哈希值小于B1的当前记录的哈希值,则从A1的哈希值最小的块中读取下一条记录。
如果A1的当前记录的哈希值大于B1的当前记录的哈希值,则从B1的哈希值最小的块中读取下一条记录。
分别比较A1和B1内各个子块文件当前记录的哈希值大小,同样以哈希值最小的记录作为A1、B1的当前记录,并标记当前记录来自于哪一个子块。
重复上述步骤,直到完成A1和B1中所有子块内的所有数据记录连接处理。
对于其他数据子集采用相同的方式处理,直到完成数据集合A和B内的所有数据子集的连接处理。
本发明实施例所提供的数据集合的连接方法通过利用哈希文件来实现海量数据集合的高效连接,从而提升企业海量数据的整合效率;同时,该技术方案还可以降低对服务器硬件配置的要求,为企业节约系统建设成本。
本发明实施例还提供一种数据集合连接装置70,如图7所示,包括:
分割单元701,用于将多个数据集合中的每个数据集合分割为多个数据子集。
连接单元702、用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至第一数据集合中的所有数据子集与第二数据集合中的数据子集实现数据记录连接,对于多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合。
输出单元703,用于输出连接后的数据记录。
本发明实施例提供的数据集合连接装置,通过将多个数据集合中的每个数据集合分割为多个数据子集,在进行数据集合的连接过程中,通过将不同数据集合中的数据子集内的数据记录逐条匹配,将相匹配的数据记录进行连接并输出连接后的数据。这样一来,在进行数据集合的连接时,通过对比不同数据集合内的每个数据子集的首条数据记录以查找相匹配的数据记录,从而可以无需加载全部的数据记录,采用这样一种方法,能够有效提高数据连接的性能,尤其是对于企业级的海量数据,数据整合效率得到了显著的提升,这样一种技术方案还可以有效降低对服务器硬件配置的要求,从而为企业节约了系统的建设成本。
可选的,分割单元701还可以用于:
对于数据集合中的每个数据集合,根据数据集合中数据记录的标识信息将数据记录分配至对应的数据子集,数据集合包括预设数量的数据子集。
进一步的,所述数据记录的标识信息包括:数据记录的哈希值;
具体的,如图8所示,分割单元701包括:
第一读取模块7011,用于从数据集合中顺序读取数据记录。
处理模块7012,用于根据当前数据记录的关键字段生成对应的哈希值。
计算模块7013,用于对当前数据记录的哈希值按照预设的数据子集数量取模,得到当前数据记录对应的数据子集序号。
分配模块7014,用于将当前数据记录以及所述当前数据记录的哈希值分配至对应的数据子集。
其中,处理模块7012还可以用于:
以当前数据记录的关键字段作为输入参数,通过算法生成一个与当前数据记录唯一对应的整型哈希值。
进一步的,如图8所示,分割单元701还可以包括:
计数模块7015,用于当数据子集内的数据记录达到预设条数时,将预设条数的数据记录作为数据子集的子块并按照哈希值排序。
写入模块7016,用于将子块写入本地磁盘。
数据清除模块7017,用于清空内存中的数据子集的数据。
进一步的,如图9所示,连接单元702可以包括:
第二读取模块7021,用于从第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为第一数据集合中的第一数据子集的当前匹配记录。
该第二读取模块7021还可以用于从第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为第二数据集合中的第一数据子集的当前匹配记录;
比较模块7022,用于将第一数据集合中的第一数据子集的当前匹配记录的哈希值与第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
具体的,比较模块7022还可以用于:
当第一数据集合中的第一数据子集的当前匹配记录的哈希值等于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接。
当第一数据集合中的第一数据子集的当前匹配记录的哈希值小于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从第一数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据,将读取到的数据记录与第一数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录记录作为第一数据集合中的第一数据子集的当前匹配记录。
当第一数据集合中的第一数据子集的当前匹配记录的哈希值大于第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从第二数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的数据记录与第二数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为第二数据集合中的第一数据子集的当前匹配记录。
需要说明的是:上述实施例提供的数据集合连接装置在进行数据集合的连接时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据集合连接装置与前述实施例所述的数据集合连接方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供一种数据库系统,如图10所示,包括数据库100和数据集合连接装置70,该数据集合连接装置70的结构可以如图7所示,包括:
分割单元701,用于将多个数据集合中的每个数据集合分割为多个数据子集。
连接单元702,用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至第一数据集合中的所有数据子集与第二数据集合中的数据子集实现数据记录连接,对于多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合。
输出单元703,用于输出连接后的数据记录。
其中,数据集合连接装置70的分割单元701、连接单元702以及输出单元703的实现细节可以参见前述实施例,此处不再赘述。
本发明实施例提供的数据库系统,包括数据集合连接装置,该装置通过将多个数据集合中的每个数据集合分割为多个数据子集,在进行数据集合的连接过程中,通过将不同数据集合中的数据子集内的数据记录逐条匹配,将相匹配的数据记录进行连接并输出连接后的数据。这样一来,在进行数据集合的连接时,通过对比不同数据集合内的每个数据子集的首条数据记录以查找相匹配的数据记录,从而可以无需加载全部的数据记录,采用这样一种方法,能够有效提高数据连接的性能,尤其是对于企业级的海量数据,数据整合效率得到了显著的提升,这样一种技术方案还可以有效降低对服务器硬件配置的要求,从而为企业节约了系统的建设成本。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种数据集合连接装置,其特征在于,所述装置包括:
分割单元,用于将多个数据集合中的每个数据集合分割为多个数据子集;
连接单元,用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接,对于所述多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合;
输出单元,用于输出连接后的数据记录。
2.根据权利要求1所述的装置,其特征在于,所述分割单元还用于:
对于所述数据集合中的每个数据集合,根据所述数据集合中数据记录的标识信息将所述数据记录分配至对应的数据子集,所述数据集合包括预设数量的数据子集。
3.根据权利要求2所述的装置,其特征在于,所述数据记录的标识信息包括:数据记录的哈希值;
所述分割单元包括:
第一读取模块,用于从数据集合中顺序读取数据记录;
处理模块,用于根据当前数据记录的关键字段生成对应的哈希值;
计算模块,用于对所述当前数据记录的哈希值按照预设的数据子集数量取模,得到所述当前数据记录对应的数据子集序号;
分配模块,用于将所述当前数据记录以及所述当前数据记录的哈希值分配至对应的数据子集。
4.根据权利要求3所述的装置,其特征在于,所述处理模块还用于:
以当前数据记录的关键字段作为输入参数,通过算法生成一个与所述当前数据记录唯一对应的整型哈希值。
5.根据权利要求3所述的装置,其特征在于,所述分割单元还包括:
计数模块,用于当数据子集内的数据记录达到预设条数时,将所述预设条数的数据记录作为所述数据子集的子块并按照哈希值排序;
写入模块,用于将所述子块写入本地磁盘;
数据清除模块,用于清空内存中的所述数据子集的数据。
6.根据权利要求5所述的装置,其特征在于,所述连接单元包括:
第二读取模块,用于从所述第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
所述第二读取模块还用于从所述第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录;
比较模块,用于将所述第一数据集合中的第一数据子集的当前匹配记录的哈希值与所述第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
7.根据权利要求6所述的装置,其特征在于,所述比较模块还用于:
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值等于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值小于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第一数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第一数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值大于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第二数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第二数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录。
8.一种数据集合连接方法,其特征在于,所述方法包括:
将多个数据集合中的每个数据集合分割为多个数据子集;
对所述多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合,将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接;
输出连接后的数据记录。
9.根据权利要求8所述的方法,其特征在于,所述将多个数据集合中的每个数据集合分割为多个数据子集包括:
对于所述数据集合中的每个数据集合,根据所述数据集合中数据记录的标识信息将所述数据记录分配至对应的数据子集,所述数据集合包括预设数量的数据子集。
10.根据权利要求9所述的方法,其特征在于,所述数据记录的标识信息包括:数据记录的哈希值;
所述根据数据集合中数据记录的标识信息将所述数据记录分配至对应的数据子集包括:
从数据集合中顺序读取数据记录;
根据当前数据记录的关键字段生成对应的哈希值;
对所述当前数据记录的哈希值按照预设的数据子集数量取模,得到所述当前数据记录对应的数据子集序号;
将所述当前数据记录以及所述当前数据记录的哈希值分配至对应的数据子集。
11.根据权利要求10所述的方法,其特征在于,所述根据当前数据记录的关键字段生成对应的哈希值包括:
以当前数据记录的关键字段作为输入参数,通过算法生成一个与所述当前数据记录唯一对应的整型哈希值。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当数据子集内的数据记录达到预设条数时,将所述预设条数的数据记录作为所述数据子集的子块并按照哈希值排序;
将所述子块写入本地磁盘;
清空内存中的所述数据子集的数据。
13.根据权利要求12所述的方法,其特征在于,所述将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接包括:
从所述第一数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
从所述第二数据集合中的第一数据子集内的每一个子块中顺序读取一条数据记录,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录;
将所述第一数据集合中的第一数据子集的当前匹配记录的哈希值与所述第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接。
14.根据权利要求13所述的方法,其特征在于,所述将所述第一数据集合中的第一数据子集的当前匹配记录的哈希值与所述第二数据集合中的第一数据子集的当前匹配记录的哈希值进行比较,将哈希值相等的当前匹配记录进行连接包括:
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值等于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,将两条当前匹配记录进行连接;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值小于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第一数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第一数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第一数据集合中的第一数据子集的当前匹配记录;
当所述第一数据集合中的第一数据子集的当前匹配记录的哈希值大于所述第二数据集合中的第一数据子集的当前匹配记录的哈希值时,从所述第二数据集合中的第一数据子集内的哈希值最小的子块中读取下一条数据记录,将读取到的所述数据记录与所述第二数据集合中的第一数据子集内的其他子块的当前数据记录比较,以哈希值最小的数据记录作为所述第二数据集合中的第一数据子集的当前匹配记录。
15.根据权利要求13或14所述的方法,其特征在于,所述当前匹配记录标记有所在子块的位置信息。
16.一种数据库系统,包括数据库和数据集合连接装置,其特征在于,所述数据集合连接装置包括:
分割单元,用于将多个数据集合中的每个数据集合分割为多个数据子集;
连接单元,用于将第一数据集合中的数据子集中的数据记录与第二数据集合中的数据子集中的数据记录逐条匹配,将相匹配的数据记录进行连接,直至所述第一数据集合中的所有数据子集与所述第二数据集合中的数据子集实现数据记录连接,对于所述多个数据集合中每两个数据集合,将其中一个作为第一数据集合,将另一个作为第二数据集合;
输出单元,用于输出连接后的数据记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410523412.3A CN104298736B (zh) | 2014-09-30 | 2014-09-30 | 数据集合连接方法、装置及数据库系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410523412.3A CN104298736B (zh) | 2014-09-30 | 2014-09-30 | 数据集合连接方法、装置及数据库系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298736A CN104298736A (zh) | 2015-01-21 |
CN104298736B true CN104298736B (zh) | 2017-10-17 |
Family
ID=52318461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410523412.3A Active CN104298736B (zh) | 2014-09-30 | 2014-09-30 | 数据集合连接方法、装置及数据库系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298736B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095413B (zh) * | 2015-07-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 一种解决数据倾斜的方法及装置 |
CN106598969B (zh) * | 2015-10-14 | 2019-12-03 | 北京国双科技有限公司 | 数据查询方法和装置 |
CN107203550B (zh) * | 2016-03-17 | 2021-01-01 | 华为技术有限公司 | 一种数据处理方法和数据库服务器 |
CN105930479A (zh) * | 2016-04-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种数据倾斜处理方法及装置 |
CN106066860B (zh) * | 2016-05-24 | 2020-02-04 | 广东电网有限责任公司 | 一种电能计量装置管理的方法 |
CN106372668A (zh) * | 2016-08-31 | 2017-02-01 | 新浪网技术(中国)有限公司 | 一种数据匹配方法及装置 |
CN108694205B (zh) * | 2017-04-11 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 匹配目标字段的方法、装置 |
CN108319632A (zh) * | 2017-10-17 | 2018-07-24 | 杨宇平 | 一种基于关系数据库的数据组合显示方法 |
CN110427362B (zh) * | 2018-04-27 | 2022-03-08 | 杭州海康威视数字技术股份有限公司 | 一种获取数据库类型的方法及装置 |
CN110362722A (zh) * | 2019-06-04 | 2019-10-22 | 苏州神州数码捷通科技有限公司 | 基于大数据的一种手册数据校验方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000615A (zh) * | 2006-12-31 | 2007-07-18 | 华为技术有限公司 | 一种基于数据库的业务处理方法及装置 |
CN101739398A (zh) * | 2008-11-11 | 2010-06-16 | 山东省标准化研究院 | 分布式数据库多连接查询优化算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207940B (zh) * | 2010-03-31 | 2014-11-05 | 国际商业机器公司 | 用于验证数据的方法和系统 |
-
2014
- 2014-09-30 CN CN201410523412.3A patent/CN104298736B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000615A (zh) * | 2006-12-31 | 2007-07-18 | 华为技术有限公司 | 一种基于数据库的业务处理方法及装置 |
CN101739398A (zh) * | 2008-11-11 | 2010-06-16 | 山东省标准化研究院 | 分布式数据库多连接查询优化算法 |
Also Published As
Publication number | Publication date |
---|---|
CN104298736A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104298736B (zh) | 数据集合连接方法、装置及数据库系统 | |
CN106844507B (zh) | 一种数据批处理的方法及设备 | |
US11620397B2 (en) | Methods and apparatus to provide group-based row-level security for big data platforms | |
CN104685497B (zh) | 通过过滤方法操作的聚合/分组的硬件实现 | |
CN103488709B (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN102831122B (zh) | 工作流表的数据保存方法、查询方法及装置 | |
EP1585073A1 (en) | Method for duplicate detection and suppression | |
US20160188723A1 (en) | Cloud website recommendation method and system based on terminal access statistics, and related device | |
CN103714096A (zh) | 基于Lucene的倒排索引系统构建、数据处理方法及装置 | |
CN110109910A (zh) | 数据处理方法及系统、电子设备和计算机可读存储介质 | |
CN108446391A (zh) | 数据的处理方法、装置、电子设备和计算机可读介质 | |
CN102169491B (zh) | 一种多数据集中重复记录动态检测方法 | |
CN107169075A (zh) | 基于特征分析的数据存取方法、存储设备及存储系统 | |
CN103765421A (zh) | 内容控制方法、内容控制装置以及程序 | |
WO2017053779A1 (en) | Data storage and retrieval system using online supervised hashing | |
CN106407442A (zh) | 一种海量文本数据处理方法及装置 | |
CN107273529A (zh) | 基于哈希函数的高效层级索引构建及检索方法 | |
CN110245155A (zh) | 数据处理方法、装置、计算机可读存储介质及终端设备 | |
CN110457398A (zh) | 区块数据存储方法及装置 | |
CN111045994B (zh) | 一种基于kv数据库的文件分类检索方法及系统 | |
Bøgh et al. | Hashcube: A data structure for space-and query-efficient skycube compression | |
CN110825747B (zh) | 一种信息存取方法、装置和介质 | |
US9852166B2 (en) | Task handling in a multisystem environment | |
CN110297836A (zh) | 基于压缩位图方式的用户标签存储方法和检索方法 | |
CN112131215B (zh) | 自底向上的数据库信息获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200206 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |