CN106776598B - 一种信息处理方法及装置 - Google Patents

一种信息处理方法及装置 Download PDF

Info

Publication number
CN106776598B
CN106776598B CN201510801280.0A CN201510801280A CN106776598B CN 106776598 B CN106776598 B CN 106776598B CN 201510801280 A CN201510801280 A CN 201510801280A CN 106776598 B CN106776598 B CN 106776598B
Authority
CN
China
Prior art keywords
partition
partitioning
algorithm
data
column
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
Application number
CN201510801280.0A
Other languages
English (en)
Other versions
CN106776598A (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.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications 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 China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201510801280.0A priority Critical patent/CN106776598B/zh
Publication of CN106776598A publication Critical patent/CN106776598A/zh
Application granted granted Critical
Publication of CN106776598B publication Critical patent/CN106776598B/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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof

Landscapes

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

Abstract

本发明公开了一种信息处理方法及装置,所述方法包括:获取列式数据库中存储的列文件中数据;获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。

Description

一种信息处理方法及装置
技术领域
本发明涉及电子技术,尤其涉及一种信息处理方法及装置。
背景技术
在多数查询的总体时间中,磁盘数据的扫描占据了至少50%以上的时间,因此,为了优化数据查询和扫描速度,在磁盘数据库(包括关系数据库管理系统(RelationalDatabase Management System,RDBMS)和非关系型的数据库(NoSQL))中对数据表进行分区是一种常见方法,目的是减少处理查询时扫描的数据规模。通过分区技术可以将数据表分开保存到不同的实体(逻辑实体或者物理服务器)中,通过在处理查询时仅扫描相关的分区来减少查询时间。目前有多种已有的分区的技术,按照类型可以分为范围分区、列表分区和哈希分区,其中:
范围分区(Range):按照选定列的数值范围分区,如大于20000的数据保存在分区1中,小等于20000的数据保存到分区2中。其中这个选定的列也被称为分区键(PartitionKey,PK),下同。
列表分区(List):按照分区键的离散取值来确定分区,如“中国”、“日本”、“韩国”均可以放置到“东亚”这个分区中。
哈希分区(Hash):哈希分区根据一个hash函数确定到底应该将数据保存到哪个分区中。一个哈希函数是事先确定的计算函数,可以将输入的数据,按照实现确定的规则放置到适当的分区中,一个简单的哈希函数是取余数。
列式数据库如SybaseIQ、Vertica、InfoBright等在存储方式方面将数据按照列存储为一个实体(如文件),然后按照范围来分区存储。这种方式减少了数据扫描时处理的数据量,但是当需要扫描很多列时,会遇到性能下降的情况,主要是因为将列连接成行以及扫描文件数量较多造成的。NoSQL数据库也采用了相似的分区技术,如HBase采用了动态范围分区技术,而Cassandra采用了哈希分区技术。在此类系统中,为了减少数据扫描的数量,还将相关列当做列族(Column Family)存储,以便进一步减少数据扫描数量。
在日志详单、网管(NMS)信令监测、商务智能(BI)等大数据应用中,针对不同系统产生的数据如何进行数据分区存在问题:如何选择合理的分区方法?面对庞大的数据,如何分区才能使查询效率最高,分区算法1会比分区算法2效率高多少?分区算法会导致多少磁盘空间的浪费?这些都是目前面临的重要且难以解决的问题。分区方法如何最优化查询?选定算法后,算法因子如何设置才是最优的。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种信息处理方法及装置,能够提高查询效率。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种信息处理方法,所述方法包括:
获取列式数据库中存储的列文件中数据;
获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
第二方面,本发明实施例提供一种信息处理装置,所述装置包括第一获取单元、第二获取单元、分区单元、计算单元和存储单元,其中:
所述第一获取单元,用于获取列式数据库中存储的列文件中数据;
所述第二获取单元,用于获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
所述分区单元,用于将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
所述计算单元,用于利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
所述存储单元,用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
本发明实施例提供的一种信息处理方法及装置,其中先获取列式数据库中存储的列文件中数据;获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来,如此,能够提高查询效率。
附图说明
图1-1为本发明实施例提出的几种分区方式的对比示意图;
图1-2为本发明实施例一信息处理方法的实现流程示意图;
图2为本发明实施例二信息处理方法的实现流程示意图;
图3-1为本发明实施例装置架构的组成结构示意图;
图3-2为本发明实施例分区算法模块的组成结构示意图;
图3-3为本发明实施例日志数据管理模块工作时的流程示意图;
图3-4为本发明实施例中控制模块在工作时的流程示意图;
图4为本发明实施例四信息处理装置的组成结构示意图。
具体实施方式
为了提高查询效率,在本发明以下的实施例中提出一种智能分析数据的分区方式,这种方法的特点是:1)智能分析数据库的最佳分区算法;2)对各种分区算法进行分区效率度量;3)对分区后数据的查询性能进行度量。
考察各种分区算法对数据的处理,图1-1显示了这几种分区方式的差异:从上图1-1可以看出,对不同的分区算法对数据的分区处理有很大的变化。但对于给定的数据,没法判断应该用什么算法进行分区才能取得最优的分区效率和最优的查询效率。比如对于分布非常均匀的数据,采用列族分区显然不是很合适的,因为当数据分布非常均匀时,按范围分区就可以取得最佳的分区效率和最佳的查询效率。本发明实施例在某种程度上就是为了智能的发现对应给定的数据,采用什么分区算法才是最优的。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
本发明实施例提供一种信息处理方法,该方法应用于分析数据库的最佳分区算法,应用于计算设备,该信息处理方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。在具体实施的过程中,所述计算设备可以个人计算机(PC)、工控机、笔记本电脑或其他具有计算能力的电子设备。
图1-2为本发明实施例一信息处理方法的实现流程示意图,如图1-2所示,该方法包括:
步骤S101,获取列式数据库中存储的列文件中数据;
这里,所述列式数据库至少包括SybaseIQ、Vertica、InfoBright。本发明实施例中,可以应用于针对一种列式数据库而进行两种以上的分区算法比较,但是需要说明的是,并不局限于此。
这里,所述获取列式数据库中存储的列文件中数据,包括:通过FTP方式从所述列式数据库获取原始日志,将所述原始日志按列生成多个列文件数据。
步骤S102,获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
这里,所述分区算法集合至少包括:范围分区算法、列式分区算法和列族分区算法。
步骤S103,将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
步骤S104,利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
步骤S105,将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
这里,需要说明的是,在存储的过程中可以按照对应关系将列式数据库的标识信息、所采用的分区算法及其对应的分区效率存储起来,在具体实施的过程中,还可以按照分区效率进行排序,这样如果用户分区效率优先,那么在配置库中排除分区比例最低的分区算法。
本发明实施例中,步骤S104,所述利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率,包括:
步骤S141,根据各个分区算法分区后的文件进行分区评估,得到分区比例;
步骤S142,对分区后的文件进行查询测试,得到查询时间;
步骤S143,根据分区算法的分区效率=分区比例/平均查询时间,计算得到分区算法的分区效率。
对应地,所述方法还包括:将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
本发明实施例中,所述方法还可以包括:根据查询时间进行排序,这样如果用户设置查询效率优先,那么在配置库排除查询速度最慢的分区算法。
本发明实施例中,先获取列式数据库中存储的列文件中数据;获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来,如此,能够提高查询效率。
实施例二
基于前述的实施例,本发明实施例提供一种信息处理方法,该方法应用于分析数据库的最佳分区算法,应用于计算设备,该信息处理方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。在具体实施的过程中,所述计算设备可以个人计算机(PC)、工控机、笔记本电脑或其他具有计算能力的电子设备。
图2为本发明实施例二信息处理方法的实现流程示意图,如图2所示,该方法包括:
步骤S201,获取列式数据库中存储的列文件中数据;
这里,所述列式数据库至少包括SybaseIQ、Vertica、InfoBright。本发明实施例中,可以应用于针对一种列式数据库而进行两种以上的分区算法比较,但是需要说明的是,并不局限于此。
这里,所述获取列式数据库中存储的列文件中数据,包括:通过FTP方式从所述列式数据库获取原始日志,将所述原始日志按列生成多个列文件数据。
步骤S202,获取分区规则,分析所述列文件中数据的特征;
步骤S204,将所述列文件中数据的特征与所述分区规则进行比对;
这里,所述列文件中数据的特征至少包括:数据库表的索引均匀分布,例如当数据库表的索引均匀分布,直接选择范围分区,比如索引是按从1到1000的分布,并且每一行的数据大小一致。
步骤S205,判断所述列文件中数据的特征是否与所述分区规则匹配,得到判断结果;
步骤S206,当所述判断结果表明所述列文件中数据的特征与所述分区规则不匹配时,获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
这里,所述分区算法集合至少包括:范围分区算法、列式分区算法和列族分区算法。
步骤S207,将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
步骤S208,利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
步骤S209,将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
步骤S209,当所述判断结果表明所述列文件中数据的特征与所述分区规则匹配时,获取所述分区规则对应的分区算法及其对应的分区效率。
步骤S210,将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
本发明实施例中,所述装置还包括:将分区后的文件作为列文件中数据,然后再获取分区算法集合,将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;通过所述分区算法集合中每一种分区算法的分区效率。
本发明实施例中,所述利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率,包括:
根据各个分区算法分区后的文件进行分区评估,得到分区比例;
对分区后的文件进行查询测试,得到查询时间;
根据分区算法的分区效率=分区比例/平均查询时间,计算得到分区算法的分区效率。
对应地,所述方法还包括:将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
实施例三
本发明实施例提供一种信息处理方法,在介绍该方法之前,先介绍一种信息处理装置,图3-1为本发明实施例装置架构的组成结构示意图,如图3-1所示,该装置中包含五个主要模块和一个分区规则库120,其中五个模块即为分区算法模块121、日志数据管理模块122、控制模块123、性能评估模块124和配置模块125,其中:
分区规则库120,用于存储分区的一些规则;具体来说,分区规则库用于提供对原始数据分析的规则,将规则模板应用于抽样数据,当数据属于某一规则时,无需进行分区算法测试,直接选择分区算法。分区规则库提供的规则有如下几种:1)当数据库表的索引均匀分布,直接选择范围分区,比如索引是按从1到1000的分布,并且每一行的数据大小一致。2)当数据的某些列高度关联,则直接选择按列族分区。
分区算法模块121,图3-2为本发明实施例分区算法模块的组成结构示意图,如图3-2所示,分区算法模块121用于提供对文件的进行分区的各种算法,并提供对外的扩展接口,方便用户自定义分区算法。本发明实施例中,分区算法至少包括范围分区算法、列式分区算法和列族分区算法等。
日志数据管理模块122,用于完成日志的装载以及按列分割,包括两个方面的工作:1)将数据通过FTP等方式装载到文件系统;2)将原始日志数据按列生成多个列文件。图3-3为本发明实施例日志数据管理模块工作时的流程示意图,如图3-3所示,该流程包括:
步骤S41,从存储原始文件除获取原始文件;
步骤S42,加载原始文件;
步骤S43,对原始文件进行分割;
步骤S44,将分割后的文件加入到数据库文件系统中。
控制模块123,用于接受文件的输入,并将分区算法应用于输入的文件,将最终分区后数据输出,图3-4为本发明实施例中控制模块在工作时的流程示意图,如图3-4所示,该流程包括:
步骤S51,获取列文件,计算列文件中数据的均匀程度等与分区规则库中的规则进行比对;
步骤S52,如果有匹配的规则,将此规则应用到该列,保存列对应的最优压缩算法;
步骤S53,如果没有匹配的规则,进行下一步骤。
步骤S54,将列文件作为各种分区算法的输入,通过分区算法输出分区后的文件。
步骤S55,计算应用于该列的各种分区算法的分区效率将结果存于配置模块中。
这里,该流程还可以包括:重复操作步骤S53,将步骤S53产生的数据作为输入进行再次数据分区。重复操作步骤S54,将分区比例录入到配置模块。
性能评估模块124,用于根据各个算法分区后的数据进行分区评估,比较分区比例,并且对分区后数据进行查询测试,算法效率=分区比例/平均查询时间。
配置模块125,用于用户根据查询系统的要求,利用配置模块将本发明实施例提供的系统配置为分区性能优先还是查询性能优先。
本发明实施例中,将评估后结果保存到配置表中,并根据用户选择的性能优先或者查询优先,为后续数据入库提供分区算法,并为解分区提供解压依据。
在本发明实施例提供的装置中,分区算法模块可以提供分区算法接口,用户可以自定义分区算法添加到分区算法模块中,对比自定义分区算法与已有分区算法的性能。
下面介绍一下本发明实施例提供的装置在工作时的流程,该流程包括:
步骤S61,首先加载原始日志的样本数据到文件系统,通过日志的预处理,将日志按列分成多个文件。
步骤S62,计算列文件中数据的均匀程度等与分区规则库中的规则进行比对,如果有匹配的规则,将此规则应用到该列,如果没有匹配的规则,进行下一步骤。
步骤S63,将列文件作为各种分区算法的输入,通过分区算法输出分区后的文件。
步骤S64,计算应用于该列的各种分区算法的分区效率将结果存于配置模块中。
步骤S65,重复操作步骤S63,将步骤S63产生的数据作为输入进行再次数据分区。
步骤S66,重复操作步骤S64,将分区比例录入到配置模块。
步骤S67,对各种分区算法产生的数据进行并发查询,记录查询平均用时到配置库。
步骤S68,如果用户设置的为查询效率优先(或者装置默认为查询效率优先),那么在配置模块排除查询速度最慢的分区算法;如果分区效率优先(或者装置默认为分区效率优先),那么在配置模块中排除分区比例最低的分区算法。
步骤S69,将分区比例除以查询平均用时,结果最大的选为该列的分区算法,将列与算法对应记录到配置模块。
实施例四
基于前述的方法,本发明实施例提供一种信息处理装置,该装置所包括的各单元,以及各单元所包括的各模块,都可以通过计算设备中的处理器来实现,当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图4为本发明实施例四信息处理装置的组成结构示意图,如图4所示,所述装置400包括第一获取单元401、第二获取单元402、分区单元403、计算单元404和存储单元405,其中:
所述第一获取单元401,用于获取列式数据库中存储的列文件中数据;
这里,所述分区算法集合至少包括:范围分区算法、列式分区算法和列族分区算法。
这里,所述第一获取单元包括获取模块和生成模块,其中:
所述获取模块,用于通过FTP方式从所述列式数据库获取原始日志;
所述生成模块,用于将所述原始日志按列生成多个列文件数据。
所述第二获取单元402,用于获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
所述分区单元403,用于将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
所述计算单元404,用于利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
所述存储单元405,用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
本发明实施例中,所述计算单元,包括评估模块、测试模块和计算模块,其中:
所述评估模块,用于根据各个分区算法分区后的文件进行分区评估,得到分区比例;
所述测试模块,用于对分区后的文件进行查询测试,得到查询时间;
所述计算模块,用于根据分区算法的分区效率=分区比例/平均查询时间,计算得到分区算法的分区效率。
本发明实施例中,所述装置还包括存储单元,还用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
本发明实施例中,所述装置包括:所述第一获取单元,还用于将分区后的文件作为列文件中数据。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
实施例五
基于前述的方法,本发明实施例提供一种信息处理装置,该装置所包括的各单元,以及各单元所包括的各模块,都可以通过计算设备中的处理器来实现,当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
本发明实施例四信息处理装置包括第一获取单元401、第二获取单元402、分区单元403、计算单元404、存储单元406、第三获取单元407、分析单元408、比对单元409和判断单元410,其中:
所述第一获取单元401,用于获取列式数据库中存储的列文件中数据;
这里,所述分区算法集合至少包括:范围分区算法、列式分区算法和列族分区算法。
这里,所述第一获取单元包括获取模块和生成模块,其中:
所述获取模块,用于通过FTP方式从所述列式数据库获取原始日志;
所述生成模块,用于将所述原始日志按列生成多个列文件数据。
所述第三获取单元407,用于获取分区规则;
所述分析单元408,用于分析所述列文件中数据的特征;
所述比对单元409,用于将所述列文件中数据的特征与所述分区规则进行比对;
所述判断单元410,用于判断所述列文件中数据的特征是否与所述分区规则匹配,得到判断结果;当所述判断结果表明所述列文件中数据的特征与所述分区规则不匹配时,触发所述第二获取单元。
所述第二获取单元402,用于获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
所述分区单元403,用于将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
所述计算单元404,用于利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
所述存储单元405,用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
所述存储单元,还用于当所述判断结果表明所述列文件中数据的特征与所述分区规则匹配时,获取所述分区规则对应的分区算法及其对应的分区效率。
本发明实施例中,所述计算单元,包括评估模块、测试模块和计算模块,其中:
所述评估模块,用于根据各个分区算法分区后的文件进行分区评估,得到分区比例;
所述测试模块,用于对分区后的文件进行查询测试,得到查询时间;
所述计算模块,用于根据分区算法的分区效率=分区比例/平均查询时间,计算得到分区算法的分区效率。
本发明实施例中,所述装置还包括存储单元,还用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
本发明实施例中,所述装置包括:所述第一获取单元,还用于将分区后的文件作为列文件中数据。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
本发明以上的各实施例与现有技术相比,具有如下的技术效果:
在现有技术中,现有列数据库存储的分区算法选择是通过人工配置完成的,而人工配置的方式选择分区算法本身没有数据依据,存在盲目性;人工配置的方式增加人力成本,需要考察大量的数据才能确定某个列应该使用的分区算法。而本发明实施例通过样本数据来分析列最佳分区算法,是有依据的选择;通过自动化选择分区算法,节省人力成本。
现有列数据库分区方案没有对系统是查询优先还是分区性能优先做出区分,这样导致查询优先的系统查询效率不是最优,而分区性能优先的系统分区比例又不是最好。比如中国移动的实时详单查询就是查询性能优先系统,最好各列的分区算法相同,以保证查询效率,而历史详单查询就是分区性能优先的系统,最好各列按分区算法最高的算法进行分区。
目前没有分区算法评估的手段,不能对分区算法的选择是否合适进行量化,一般是通过不断的测试来完成算法评估的,而本发明实施例提供了量化分区算法优劣的方法。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种信息处理方法,其特征在于,所述方法包括:
获取列式数据库中存储的列文件中数据;
获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
2.根据权利要求1所述的方法,其特征在于,所述分区算法集合至少包括:范围分区算法、列式分区算法和列族分区算法。
3.根据权利要求1所述的方法,其特征在于,所述获取列式数据库中存储的列文件中数据,包括:
通过FTP方式从所述列式数据库获取原始日志,将所述原始日志按列生成多个列文件数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
获取分区规则;
分析所述列文件中数据的特征;
将所述列文件中数据的特征与所述分区规则进行比对;
判断所述列文件中数据的特征是否与所述分区规则匹配,得到判断结果;
当所述判断结果表明所述列文件中数据的特征与所述分区规则不匹配时,在将所述列文件中数据作为所述分区算法结合中各种分区算法的输入。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述判断结果表明所述列文件中数据的特征与所述分区规则匹配时,获取所述分区规则对应的分区算法及其对应的分区效率。
6.根据权利要求1或2或3或5所述的方法,其特征在于,所述方法还包括:将分区后的文件作为列文件中数据,然后再获取分区算法集合,将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;通过所述分区算法集合中每一种分区算法的分区效率。
7.根据权利要求1或2或3或5所述的方法,其特征在于,所述利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率,包括:
根据各个分区算法分区后的文件进行分区评估,得到分区比例;
对分区后的文件进行查询测试,得到查询时间;
根据分区算法的分区效率=分区比例/平均查询时间,计算得到分区算法的分区效率。
8.根据权利要求1或2或3或5所述的方法,其特征在于,所述方法还包括:将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
9.一种信息处理装置,其特征在于,所述装置包括第一获取单元、第二获取单元、分区单元、计算单元和存储单元,其中:
所述第一获取单元,用于获取列式数据库中存储的列文件中数据;
所述第二获取单元,用于获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;
所述分区单元,用于将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;
所述计算单元,用于利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;
所述存储单元,用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。
10.根据权利要求9所述的装置,其特征在于,所述第一获取单元,包括获取模块和生成模块,其中:
所述获取模块,用于通过FTP方式从所述列式数据库获取原始日志;
所述生成模块,用于将所述原始日志按列生成多个列文件数据。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括第三获取单元、分析单元、比对单元和判断单元,其中:
所述第三获取单元,用于获取分区规则;
所述分析单元,用于分析所述列文件中数据的特征;
所述比对单元,用于将所述列文件中数据的特征与所述分区规则进行比对;
所述判断单元,用于判断所述列文件中数据的特征是否与所述分区规则匹配,得到判断结果;当所述判断结果表明所述列文件中数据的特征与所述分区规则不匹配时,触发所述第二获取单元。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括第四获取单元,用于当所述判断结果表明所述列文件中数据的特征与所述分区规则匹配时,获取所述分区规则对应的分区算法及其对应的分区效率。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述装置还包括:所述第一获取单元,还用于将分区后的文件作为列文件中数据。
14.根据权利要求9至12任一项所述的装置,其特征在于,所述计算单元,包括评估模块、测试模块和计算模块,其中:
所述评估模块,用于根据各个分区算法分区后的文件进行分区评估,得到分区比例;
所述测试模块,用于对分区后的文件进行查询测试,得到查询时间;
所述计算模块,用于根据分区算法的分区效率=分区比例/平均查询时间,计算得到分区算法的分区效率。
15.根据权利要求9至12任一项所述的装置,所述装置还包括存储单元,还用于将列式数据库的标识信息、所采用的分区算法及其对应的分区效率以及查询时间对应地存储起来。
CN201510801280.0A 2015-11-19 2015-11-19 一种信息处理方法及装置 Active CN106776598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510801280.0A CN106776598B (zh) 2015-11-19 2015-11-19 一种信息处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510801280.0A CN106776598B (zh) 2015-11-19 2015-11-19 一种信息处理方法及装置

Publications (2)

Publication Number Publication Date
CN106776598A CN106776598A (zh) 2017-05-31
CN106776598B true CN106776598B (zh) 2019-12-13

Family

ID=58916399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510801280.0A Active CN106776598B (zh) 2015-11-19 2015-11-19 一种信息处理方法及装置

Country Status (1)

Country Link
CN (1) CN106776598B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159162B (zh) * 2019-12-31 2023-07-25 中国联合网络通信集团有限公司 数据库配置方法及设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028054B2 (en) * 2001-07-02 2006-04-11 International Business Machines Corporation Random sampling as a built-in function for database administration and replication
US6931395B2 (en) * 2001-10-25 2005-08-16 International Business Machines Corporation Method and apparatus for optimizing queries in a logically partitioned computer system
CN101087203A (zh) * 2006-06-11 2007-12-12 上海全成通信技术有限公司 一种海量数据统计方法
CN101145158A (zh) * 2007-06-06 2008-03-19 中兴通讯股份有限公司 一种数据库表分区的方法
CN102799628B (zh) * 2012-06-21 2015-10-07 新浪网技术(中国)有限公司 在key-value数据库中进行数据分区的方法和装置
CN104216893B (zh) * 2013-05-31 2018-01-16 中国电信股份有限公司 多租户共享数据表的分区管理方法、服务器与系统
CN103440301B (zh) * 2013-08-21 2017-06-13 曙光信息产业股份有限公司 一种数据多副本混合存储方法及系统
CN104424314B (zh) * 2013-09-06 2019-06-11 Sap欧洲公司 对列状表数据库的数据库操作
CN103530378B (zh) * 2013-10-15 2017-01-18 福建榕基软件股份有限公司 数据分页查询与数据库的构建的方法与装置
CN103810256B (zh) * 2014-01-24 2017-09-26 武汉虹翼信息有限公司 基于分区技术在大数据网优平台中快速分发数据的方法
CN103984695B (zh) * 2014-03-21 2017-06-20 华为技术有限公司 一种数据库中的数据查询方法及装置
CN104133661B (zh) * 2014-07-30 2017-01-18 西安电子科技大学 基于列存储的多核并行哈希分区优化方法
CN104516985A (zh) * 2015-01-15 2015-04-15 浪潮(北京)电子信息产业有限公司 一种基于HBase数据库的海量数据快速导入方法

Also Published As

Publication number Publication date
CN106776598A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
US11526799B2 (en) Identification and application of hyperparameters for machine learning
US20210357697A1 (en) Techniques to embed a data object into a multidimensional frame
KR102104193B1 (ko) 서비스 파라미터 선택 방법 및 관련된 디바이스
CN104751055A (zh) 一种基于纹理的分布式恶意代码检测方法、装置及系统
CN108108384B (zh) 一种数据存储方法及装置
CN112765473B (zh) 获取目标关联设备的数据处理系统
CN110059288B (zh) 用于获得促进机器学习任务用的最佳母小波的系统和方法
CN110472659B (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN106776598B (zh) 一种信息处理方法及装置
CN114049463A (zh) 一种二叉树的数据网格化、网格点数据的获取方法及装置
Kamat et al. A unified correlation-based approach to sampling over joins
CN113886821A (zh) 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
CN113094899A (zh) 一种随机潮流计算方法、装置、电子设备及存储介质
CN106936561B (zh) 一种侧信道攻击防护能力评估方法和系统
US11868332B2 (en) Data index establishment method, and apparatus
CN112463785B (zh) 一种数据质量监控方法、装置、电子设备及存储介质
Kamat et al. Perfect and maximum randomness in stratified sampling over joins
CN106776264B (zh) 应用程序代码的测试方法和装置
US11515995B2 (en) Efficient computation of univariate statistical moments for side channel vulnerability evaluation
US20190065503A1 (en) Generating cohorts using automated weighting and multi-level ranking
KR101363335B1 (ko) 문서 분류모델 생성장치 및 방법
Chądzyńska-Krasowska et al. Quality of histograms as indicator of approximate query quality
CN116578583B (zh) 异常语句识别方法、装置、设备、存储介质
CN116303696B (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
GR01 Patent grant
GR01 Patent grant