一种信息处理方法及装置制造方法及图纸

技术编号:15542007 阅读:65 留言:0更新日期:2017-06-05 11:09
本发明专利技术公开了一种信息处理方法及装置,所述方法包括:获取列式数据库中存储的列文件中数据;获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。

Information processing method and device

The invention discloses an information processing method and device, the method comprises: acquiring the column data type column files stored in the database; obtain partition algorithm set, the set partitioning algorithm includes partitioning algorithm two and more than two kinds; the documents listed in the data in the various input partition algorithm for the partitioning algorithm combined by the partitioning algorithm output the partition file; calculating the set partitioning algorithm for each partition algorithm using the partition file partition efficiency; storage partition algorithm using the identification information, the column database and the corresponding partition efficiency corresponding to it.

【技术实现步骤摘要】
一种信息处理方法及装置
本专利技术涉及电子技术,尤其涉及一种信息处理方法及装置。
技术介绍
在多数查询的总体时间中,磁盘数据的扫描占据了至少50%以上的时间,因此,为了优化数据查询和扫描速度,在磁盘数据库(包括关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)和非关系型的数据库(NoSQL))中对数据表进行分区是一种常见方法,目的是减少处理查询时扫描的数据规模。通过分区技术可以将数据表分开保存到不同的实体(逻辑实体或者物理服务器)中,通过在处理查询时仅扫描相关的分区来减少查询时间。目前有多种已有的分区的技术,按照类型可以分为范围分区、列表分区和哈希分区,其中:范围分区(Range):按照选定列的数值范围分区,如大于20000的数据保存在分区1中,小等于20000的数据保存到分区2中。其中这个选定的列也被称为分区键(PartitionKey,PK),下同。列表分区(List):按照分区键的离散取值来确定分区,如“中国”、“日本”、“韩国”均可以放置到“东亚”这个分区中。哈希分区(Hash):哈希分区根据一个hash函数确定到底应该将数据保存到哪个分区中。一个哈希函数是事先确定的计算函数,可以将输入的数据,按照实现确定的规则放置到适当的分区中,一个简单的哈希函数是取余数。列式数据库如SybaseIQ、Vertica、InfoBright等在存储方式方面将数据按照列存储为一个实体(如文件),然后按照范围来分区存储。这种方式减少了数据扫描时处理的数据量,但是当需要扫描很多列时,会遇到性能下降的情况,主要是因为将列连接成行以及扫描文件数量较多造成的。NoSQL数据库也采用了相似的分区技术,如HBase采用了动态范围分区技术,而Cassandra采用了哈希分区技术。在此类系统中,为了减少数据扫描的数量,还将相关列当做列族(ColumnFamily)存储,以便进一步减少数据扫描数量。在日志详单、网管(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,将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。这里,需要说明的是,在存储的过程中可以按照对应关系将列式数据库的标识信息、所采用的分区算法及其对本文档来自技高网
...
一种信息处理方法及装置

【技术保护点】
一种信息处理方法,其特征在于,所述方法包括:获取列式数据库中存储的列文件中数据;获取分区算法集合,所述分区算法集合包括两种及两种以上的分区算法;将所述列文件中数据作为所述分区算法结合中各种分区算法的输入,通过所述分区算法输出分区后的文件;利用分区后的文件计算所述分区算法集合中每一种分区算法的分区效率;将列式数据库的标识信息、所采用的分区算法及其对应的分区效率对应地存储起来。

【技术特征摘要】
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.一种信息处理装置,其特征在于,所述...

【专利技术属性】
技术研发人员:陈洪岭
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1