存储数据的方法和装置制造方法及图纸

技术编号:7219538 阅读:362 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了一种存储数据的方法和装置。该方法包括:基于原有数据记录建立热点数据模型;根据该热点数据模型从上述原有数据记录和/或新的数据记录中筛选出热点数据;将筛选出的热点数据存储到第一存储设备中。本发明专利技术实施例可以在数据记录层面上根据热点数据模型筛选出热点数据,并将筛选出的热点数据存储到特定的存储设备中,从而在数据记录层面上实现有效的存储策略。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术实施例涉及计算机
,并且更具体地,涉及一种存储数据的方法和直O
技术介绍
新型存储设备的出现,改变了传统的存储架构,促使数据库进行相应的改进。例如,新型的高速存储设备SSD(Solid State Disk,固态硬盘)和PCM(Phase Change Memory, 相变存储器)的读写速度比普通磁盘快,比内存慢,数据掉电不丢失,经常作为数据库的二级缓存(Cache)使用。而如何识别出需要缓存的热点数据(Hot Data),以及如何在新型的高速存储设备上对数据进行组织是有效实现数据存储或缓存需要解决的重要问题。目前,数据块级别的热点数据识别(Identification)和预识别 (Pre-identification)技术已经较为完善。在现有技术中,热点数据是指在服务器的数据库(Database)运行过程中经常被使用的数据,一般指数据块,即热点数据主要以数据块的形式被存储。用于识别这种热点数据的识别算法相对比较成熟,例如,通过统计数据块的命中次数获知该数据块是否为热点数据。这种存储方法在数据块层面(即数据库下层)对热点数据进行识别和存储,无法在数据记录层面(数据库上层)上实现有效的存储策略。
技术实现思路
本专利技术实施例提供一种存储数据的方法和装置,能够在数据记录层面上实现有效的存储策略。一方面,提供了一种存储数据的方法,包括基于原有数据记录建立热点数据模型;根据该热点数据模型从上述原有数据记录或新的数据记录中筛选出热点数据;将筛选出的热点数据存储到第一存储设备中。另一方面,提供了一种存储数据的装置,包括建立模块,用于基于原有数据记录建立热点数据模型;筛选模块,用于根据该热点数据模型从上述所述原有数据记录或新的数据记录中筛选出热点数据;存储模块,用于将筛选出的热点数据存储到第一存储设备中。本专利技术实施例可以在数据记录层面上根据热点数据模型筛选出热点数据,并将筛选出的热点数据存储到特定的存储设备中,从而在数据记录层面上实现有效的存储策略。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术一个实施例的存储数据的方法的示意性流程图。图2是根据本专利技术的另一实施例的存储数据的方法的示意性流程图。图3是根据本专利技术的实施例的存储数据的过程的示意性流程图。图4是根据本专利技术的一个实施例的存储数据的装置的结构性示意图。图5是根据本专利技术的另一实施例的存储数据的装置的结构性示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应理解,本专利技术的技术方案可以应用于各种使用计算机的领域,例如,可以应用于电信领域,电子商务,社交平台等,尤其是涉及大数据量的应用。在数据库的实际应用过程中,经常涉及到大数据量的查询,例如,数据的查询在数据库的应用中的比重占70%以上,从磁盘中搜索大量数据要花费较大的代价,而用户需要查询的数据通常只是数据表中20%左右的数据。目前,数据块级别的热点识别与预识别技术识别出的热点数据通常以块形式存储在缓存中,因此,没有办法对特定的场景和应用做相应的优化。另外,虽然可以根据数据记录的创建时间来识别与数据记录相关的热点数据,(例如,可以将预设时段内创建的数据块作为热点数据,并对该数据块进行缓存),但仅根据创建时间确定热点数据,灵活性不够,并且决策因子过于简单。根据本专利技术的实施例可以在数据记录层面(级别)上预识别(或预判断)热点数据,并在数据记录层面上将通过这种预识别技术得到的热点数据存储或缓存在高速存储设备上,以提高了数据库的查询效率。图1是根据本专利技术的一个实施例的存储数据的方法100的示意性流程图。图1的方法100可以由服务器执行。110,基于原有数据记录建立热点数据模型。根据本专利技术的实施例的热点数据指的是数据库中经常被使用的数据记录。在关系数据库中,数据记录是指对应于数据源中的一行信息的一组相关信息,可以是数据表中的一行,每一行包括η个属性(字段或数据项)。上述原有数据记录可以是存储在原有存储设备(例如,普通磁盘)上的数据记录。根据本专利技术实施例的热点数据模型可以是用于识别热点数据的函数模型,例如, 可通过人工智能方法(例如,贝叶斯分类算法)自动生成该热点数据模型,并可根据实际应用情况的变化更新该模型。该热点数据模型用于将数据记录进行分类,以将数据记录分成热点数据和非热点数据。120,根据上述热点数据模型从上述原有数据记录或新的数据记录中筛选出热点数据,或者从上述原有数据记录和新的数据记录中筛选出热点数据。根据本专利技术的实施例将原有数据记录输入到热点数据模型中,以确定原有数据记录中各个数据记录是热点数据还是非热点数据。进一步地,也可以将新存储的数据记录输入到热点数据模型中,以确定新的数据记录是否为热点数据。130,将筛选出的热点数据存储到第一存储设备中。5例如,第一存储设备可以是高速存储设备,也可以是作为缓存或内存的存储设备。本专利技术实施例可以在数据记录层面上根据热点数据模型筛选出热点数据,并将筛选出的热点数据存储到特定的存储设备中,从而在数据记录层面上实现有效的存储策略。 另外,根据本专利技术的实施例在数据记录层面进行热点数据的识别和预识别,使得热点数据的识别和预识别对应用程序透明。根据本专利技术的另一实施例,还包括将原有数据记录中不是热点数据的数据记录存储到第二存储设备中,其中第一存储设备的存储速率高于第二存储设备的存储速率。例如,根据本专利技术的实施例,将筛选出的热点数据存储在存储速率较高的存储设备(例如,高速存储设备、缓存或内存)中,可以显著提高查询效率。根据本专利技术的实施例,第一存储设备为高速存储设备,其中在120中,从上述原有数据记录中抽取出样本数据记录;确定上述样本数据记录的命中次数;将上述样本数据记录作为用于建立上述热点数据模型的数据源,并且基于上述命中次数建立上述热点数据模型。例如,为了减少建模的开销,可以随机从普通磁盘上的原有数据记录中提取一定数量的数据记录作为样本,并且可以计算这些样本在预设时间内被命中的次数,再根据命中次数将这些样本数据记录分为热点数据和非热点数据。然后,可以利用人工智能方法对这些分类后的热点数据和非热点数据进行分析,以确定数据记录的属性值对热点数据分类的影响,从而得到热点数据模型。根据本专利技术的另一实施例,还包括在上述热点数据模型过期的情况下,重新进行上述建立热点数据模型的过程,并且根据重新建立的热点数据模型更新第一存储设备中的热点数据。根据本专利技术的实施例,上述热点数据模型过期包括该热点数据模型的生命周期超过预设时间或者上述热点数据在第一存储设备中的命中率太低。例如,数据库在运行一段时间之后,数据库中的数据记录可能会变化,相应地,基于原数据记录建立的热点数据模型就会过期,另外,可能出现高速存储设备中的热点数据的命中率太低的情况,这时,本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:张振龙巩玉旺
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1
相关领域技术