数据读写方法及装置制造方法及图纸

技术编号:11365161 阅读:59 留言:0更新日期:2015-04-29 15:31
本发明专利技术提供一种数据读写方法及装置,本发明专利技术的数据读写方法包括步骤:接收外部应用系统的数据操作请求,并对数据操作请求进行预处理,以获取数据操作请求的操作类型;根据数据操作请求的操作类型以及与数据操作请求相应的存储设备,确定数据操作请求的操作设备;以及根据数据操作请求,使用数据操作请求的操作设备进行数据读操作或写操作。本发明专利技术还提供一种数据读写装置,本发明专利技术的数据读写方法及装置通过对数据操作请求的操作类型进行自动识别,然后根据识别结果自动确定进行数据读操作或写操作的操作设备,解决了现有的数据读写方法及装置连接的外围应用系统的服务质量较差以及对外围应用系统的数据请求服务的质量难以控制的技术问题。

【技术实现步骤摘要】
数据读写方法及装置
本专利技术涉及数据处理领域,特别是涉及一种数据读写方法及装置。
技术介绍
按照访问接口、数据模型和性能的不同,目前主要的数据读写设备可分为两类:关系数据库与高速缓存。关系数据库,以下简称数据库。是建立在关系数据库模型基础上的数据库,可借助于集合代数等概念和方法来处理该数据库中的数据。一个数据库通常包含预先定义的一组表,每个表代表一类数据。数据库的优点是功能强大接口丰富,缺点是随着数据量的增加和用户数的增多,会导致数据库的性能变得很低,从而使得数据库成为整个应用系统的瓶颈。高速缓存,以下简称缓存。是指基于key-value(键值对)的分布式存储方案。目前主流缓存有memcacheDB、Tokyo、Redis等。缓存的优点是查询速度快、存放数据量大以及支持高并发。通常为了避免数据库成为整个应用系统的瓶颈,一般都会使用缓存保存数据库中的结果,应用系统通过访问缓存,减轻直接访问数据库而对数据库造成的读写压力和计算压力,改善数据访问性能,提高应用系统的处理能力。但缓存的缺点是其数据结构比较简单,只能支持简单的键值对的数据模型,无法支持带有复杂条件的数据操作。同时根据并发量、延迟以及请求复杂性的不同,数据读写设备的数据读写请求也可分为两类:快速数据请求以及慢速数据请求。快速数据请求,此类请求基本是查询操作,查询条件比较简单,根据互联网的海量应用尤其是社交应用的海量数据生成。此类请求一般具有高并发低延迟的请求特点,因此此类请求数据一般存储于缓存中。慢速数据请求,此类请求通常是带有复杂条件的查询操作,或者增加、删除、修改操作,此类请求并发量不会很高,对延迟的要求也不是非常严格。因此此类请求的数据通常存储于数据库中,以利用数据库强大丰富的SQL(结构化查询语言,StructuredQueryLanguage)接口满足各种复杂条件的数据请求。请参照图1,图1为现有的数据读写装置的结构示意图。该数据读写装置包括数据访问中间层11、缓存12以及数据库13。其中数据库13用于处理慢速数据请求,缓存12用于处理快速数据请求,外围应用系统14通过数据访问中间层11选择访问缓存12或数据库13。但现有的数据读写装置存在以下缺点:一、外围应用系统14通过数据访问中间层11访问数据读写装置时,需要自行区分数据请求的类型,将快速数据请求发送至缓存12,将慢速数据请求发送至数据库13。外围应用系统14的开发人员必须了解数据读写装置中数据库13和缓存12的构建情况,并根据该构建情况对各种数据请求进行区分,以将数据请求分发到相应的数据库13或缓存12中。这样导致不易对数据请求服务的质量进行控制。二、缓存12与数据库13独立工作,之间完全没有关联。当外围应用系统14进行数据请求调整(如将部分慢速数据请求调整为快速数据请求)时,外围应用系统14的开发人员需要对待调整的数据在缓存12和数据库13之间进行数据迁移,并需要重新开发新的接口以满足调整后的数据请求。导致外围应用系统14的开发人员重复劳动,影响了外围应用系统的服务质量。
技术实现思路
本专利技术实施例的目的在于提供一种数据读写方法,以解决现有的数据读写装置及方法没有基于数据库与缓存不同特点来高效的处理各种不同类型的数据请求,使得外围应用系统接入到数据读写装置的效率较低的技术问题。本专利技术实施例的目的在于还提供一种数据读写装置,以解决现有的数据读写装置及方法没有基于数据库与缓存不同特点来高效的处理各种不同类型的数据请求,使得外围应用系统接入到数据读写装置的效率较低的技术问题。为解决上述问题,本专利技术提供的技术方案如下:提供一种数据读写方法,其包括步骤:接收外部应用系统的数据操作请求,并对所述数据操作请求进行预处理,以获取所述数据操作请求的操作类型;根据所述数据操作请求的操作类型以及与所述数据操作请求相应的存储设备,确定所述数据操作请求的操作设备;以及根据所述数据操作请求,使用所述数据操作请求的操作设备进行数据读操作或写操作。还提供一种数据读写装置,其包括:类型获取模块,用于接收外部应用系统的数据操作请求,并对所述数据操作请求进行预处理,以获取所述数据操作请求的操作类型;操作设备确定模块,用于根据所述数据操作请求的操作类型以及与所述数据操作请求相应的存储设备,确定所述数据操作请求的操作设备;以及读写模块,用于根据所述数据操作请求,使用所述数据操作请求的操作设备进行数据读操作或写操作。相较于现有技术,本专利技术的数据读写方法及装置,本专利技术的数据读写方法及装置通过对数据操作请求的操作类型进行自动识别,然后根据识别结果自动确定进行数据读操作或写操作的操作设备,解决了现有的数据读写方法及装置需要外围应用系统的开发人员对操作设备进行区分,从而影响外围应用系统的服务质量以及对外围应用系统的数据请求服务的质量难以控制的技术问题。附图说明图1为现有的数据读写装置的结构示意图;图2为本专利技术的数据读写装置所在的电子设备的工作环境结构示意图;图3为本专利技术的数据读写装置的第一优选实施例的结构示意图;图4为本专利技术的数据读写方法的第一优选实施例的流程图;图5A为本专利技术的数据读写装置的第二优选实施例的结构示意图;图5B为本专利技术的数据读写装置的第二优选实施例的格式转换单元的结构示意图;图6为本专利技术的数据读写方法的第二优选实施例的流程图;图7为本专利技术的数据读写方法及装置的具体实施例的流程图。具体实施方式请参照图式,其中相同的组件符号代表相同的组件,本专利技术的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本专利技术具体实施例,其不应被视为限制本专利技术未在此详述的其它具体实施例。在以下的说明中,本专利技术的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本专利技术原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。而且,要求保护的主题可以被实现为使用标准编程和/或工程技术产生软件、固件、硬件或其任意组合以控制计算机实现所公开的主题的方法、装置或制造品。本文所使用的术语“制造品”旨在包含可从任意计算机可读设备、载体或介质访问的计算机程序。当然,本领域技术人员将认识到可以对该配置进行许多修改,而不脱离要求保护的主题的范围或精神。图2和随后的讨论提供了对实现本专利技术所述的数据读写装置所在本文档来自技高网
...

【技术保护点】
一种数据读写方法,其特征在于,包括步骤:接收外部应用系统的数据操作请求,并对所述数据操作请求进行预处理,以获取所述数据操作请求的操作类型;根据所述数据操作请求的操作类型以及与所述数据操作请求相应的存储设备,确定所述数据操作请求的操作设备;以及根据所述数据操作请求,使用所述数据操作请求的操作设备进行数据读操作或写操作。

【技术特征摘要】
1.一种数据读写方法,其特征在于,包括步骤:接收外部应用系统的数据操作请求,并对所述数据操作请求进行预处理,以获取所述数据操作请求的操作类型;根据所述数据操作请求的操作类型以及与所述数据操作请求相应的存储设备,确定所述数据操作请求的操作设备;以及根据所述数据操作请求,使用所述数据操作请求的操作设备进行数据读操作或写操作;所述使用所述数据操作请求的操作设备进行数据读操作或写操作的步骤包括:根据所述数据操作请求的操作设备,对所述数据操作请求进行格式转换;以及根据所述格式转换后的数据操作请求,使用所述数据操作请求的操作设备进行数据读操作或写操作;如所述数据操作请求的操作设备为缓存,则将结构化查询语言编写的数据操作请求转换为键值对结构的数据操作请求;如所述数据操作请求的操作设备为数据库,则不对所述数据操作请求进行格式转换。2.根据权利要求1所述的数据读写方法,其特征在于,还包括步骤:使用结构化查询语言生成所述数据操作请求;其中所述对所述数据操作请求进行预处理的步骤包括:对所述数据操作请求中的结构化查询语言进行解析,以生成相应的语法树;根据所述语法树以及所述结构化查询语言的编写规则,获取所述数据操作请求的操作类型;其中所述操作类型包括查询操作、增加操作、删除操作以及修改操作。3.根据权利要求2所述的数据读写方法,其特征在于,所述对所述数据操作请求进行预处理的步骤还包括:根据所述语法树以及所述结构化查询语言的编写规则,删除不安全的数据操作请求。4.根据权利要求2所述的数据读写方法,其特征在于,所述确定所述数据操作请求的操作设备的步骤包括:如所述数据操作请求的操作类型为查询操作,且与所述数据操作请求相应的存储设备为数据库和缓存,则确定所述数据操作请求的操作设备为缓存;如所述数据操作请求的操作类型为查询操作,且所述数据操作请求的读操作或写操作数据保存在数据库中,则确定所述数据操作请求的操作设备为数据库;如所述数据操作请求的操作类型为增加、删除或修改操作,则确定所述数据操作请求的操作设备为数据库。5.根据权利要求2所述的数据读写方法,其特征在于,所述将结构化查询语言编写的数据操作请求转换为键值对结构的数据操作请求的步骤包括:获取所述语法树的列信息,并根据所述语法树的列信息生成所述数据操作请求的查询列表;获取所述语法树的查询条件,并根据所述语法树的查询条件生成所述数据操作请求的查询主键;以及将所述数据操作请求的查询列表和所述数据操作请求的查询主键转换为所述键值对结构的数据操作请求。6.根据权利要求1所述的数据读写方法,其特征在于,如不能将结构化查询语言编写的数据操作请求转换为键值对结构的数据操作请求;则将所述数据操作请求的操作设备改为数据库。7.根据权利要求1所述的数据读写方法,其特征在于,所述数据读写方法还包括步骤:对不同的所述操作设备中的所述数据读操作或写操作的数据进行同步。8.一种数据读写装置,其特征在于,包括...

【专利技术属性】
技术研发人员:王继群鹿宝生周立发
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1