半结构化数据的存储方法及存储系统技术方案

技术编号:8682800 阅读:258 留言:0更新日期:2013-05-09 02:44
本发明专利技术公开了一种半结构化数据的存储方法及存储系统。该方法包括:关系型数据库插件接收用户的数据查询请求,调用关系型数据库存储引擎查询内存,所述内存通过所述关系型数据库存储引擎用最近最少使用队列维护数据,将预定时间内未被使用的数据从内存中逐出,存放在外部的固态硬盘中;关系型数据库存储引擎判断内存中是否存储有数据查询请求对应的数据;如果有,将查询得到的数据携带在数据查询请求结果中进行输出;如果未存储有,从外部的固态硬盘中进行查询,通过外部的固态硬盘查询,获取数据查询请求结果进行输出。应用本发明专利技术,可以提高资源利用率、提升查询响应速度。

【技术实现步骤摘要】
半结构化数据的存储方法及存储系统
本专利技术涉及数据存储技术,尤其涉及一种半结构化数据的存储方法及存储系统。
技术介绍
随着计算机网络的飞速发展和信息技术的进步,半结构化数据呈现出日益繁荣的趋势。由于半结构化数据的数据结构是不固定、不完全或不规则的,形式是多样化的。主要应用于对存储数据无严格模式限制的万维网以及电子邮件、电子商务、文献检索中。半结构化数据介于模式固定的结构化数据,例如,关系库中的表/元组和对象库中的类型/对象,与完全没有模式的无序数据,例如,正文、声音、图像之间。半结构化数据的存取方式较为简单,使用开源、高性能的键/值(Key/Value)的Redis存储方式,键/值可根据实际需要进行扩充。大多数的Key/Value数据,随着时间推移,较少被访问,只是作为存档数据,成为冷数据。研究表明,实际数据的访问一般都符合齐普夫(Zipf)分布,大约有90%的Key/Value数据是冷数据,存储后再也没有被访问过,6.5%的Key/Value数据是偏冷数据,只是偶尔被访问,只有约3.5%的Key/Value数据是偏热数据,经常被访问。在很多应用场景,对于被经常访问的偏热数据,半结本文档来自技高网...
半结构化数据的存储方法及存储系统

【技术保护点】
一种半结构化数据的存储方法,包括:关系型数据库插件接收用户的数据查询请求,调用关系型数据库存储引擎查询内存,所述内存通过所述关系型数据库存储引擎采用最近最少使用队列维护数据,将预定时间内未被使用的数据从内存中逐出,存放在外部的固态硬盘中;关系型数据库存储引擎判断内存中是否存储有数据查询请求对应的数据;如果有,将查询得到的数据携带在数据查询请求结果中进行输出;如果未存储有,从外部的固态硬盘中进行查询,通过外部的固态硬盘查询,获取数据查询请求结果进行输出。

【技术特征摘要】
1.一种半结构化数据的存储方法,包括:关系型数据库插件接收用户的数据查询请求,调用关系型数据库存储引擎查询内存,所述内存通过所述关系型数据库存储引擎采用最近最少使用队列维护数据,将预定时间内未被使用的数据从内存中逐出,存放在外部的固态硬盘中;关系型数据库存储引擎判断内存中是否存储有数据查询请求对应的数据;如果有,将查询得到的数据携带在数据查询请求结果中进行输出;如果未存储有,从外部的固态硬盘中进行查询,通过外部的固态硬盘查询,获取数据查询请求结果进行输出;其中,所述关系型数据库插件包括应用层模块和MySQL服务层模块,所述应用层模块包括:业务逻辑单元以及服务访问客户端单元,其中,服务访问客户端单元包括:MySQL客户端子单元以及Handlersocket客户端子单元,所述MySQL服务层模块包括:监听程序单元、SQL语句解析层单元、服务器端的接口单元以及Handlersocket插件单元,所述关系型数据库插件接收用户的数据查询请求,调用关系型数据库存储引擎包括:业务逻辑单元接收用户的数据查询请求,如果确定进行MySQL查询,将数据查询请求通过MySQL客户端子单元输出至监听程序单元,如果确定进行Handlersocket查询,将数据查询请求通过Handlersocket客户端子单元输出至Handlersocket插件单元;监听程序单元监听MySQL客户端子单元的请求,将接收的数据查询请求转发给SQL语句解析层单元;SQL语句解析层单元接收数据查询请求,调用服务器端的接口单元,以在内存中进行数据查询;Handlersocket插件单元接收数据查询请求,调用服务器端的接口单元,以在内存中进行数据查询。2.根据权利要求1所述的方法,其中,所述方法进一步包括:将数据查询请求结果中携带的数据从固态硬盘中写入内存。3.一种半结构化数据的存储系统,其特征在于,该系统包括:关系型数据库插件、关系型数据库存储引擎以及固态硬盘,其中,关系型数据库插件,用于接收用户的数据查询请求,调用关系型数据库存储引擎以使关系型数据库存储引擎访问数据;通过关系型数据库存储引擎接收数据查询请求结果,进行输出;关系型数据库存储引擎,用于在内存中维护最近最少使用队列,将预定时间内未被使用的数据从内存中逐出,存放在底层的固态硬盘中;接收数据查询请求,查询内存,如果存储有数据查询请求对应的数据,将查询得到的数据携带在数据查询请求结果中,输出至关系型数据库插件;如果未存储有数据查询请求对应的数据,将数据查询请求输出至固态硬盘,接收固态硬盘输出的数据查询请求结果,输出至关系型数据库插件;固态硬盘,用于接收数据查询请求,进行查询,获取数据查询请求对应的数据,将查询得到的数据携带在数据查询请求结果中,输出至关系型数据库存储引擎;其中,所述关系型数据库插件为Handlersocket,所述Handlersocket包括应用层模块和MySQL服务层模块,其中,应用层模块,用于接收用户的数据查询请求,输出至MySQL服务层模块;接收MySQL服务层模块输出的数据查询请求结果,进行输出;MySQL服务层模块,用于根据接收的数据查询请求,调用MySQL存储引擎;接收MySQL存储引擎输出的数据查询请求结果,输出至应用层模块;其中,所述应用层模块包括:业...

【专利技术属性】
技术研发人员:侯军伟关启盼杨海朝
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

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

1