一种分布式数据存储方法及系统技术方案

技术编号:20545861 阅读:38 留言:0更新日期:2019-03-09 18:47
本发明专利技术提供了一种分布式数据存储方法,使用键值数据库存储数据,所述方法包括:所述键值数据库获取数据处理请求;所述键值数据库根据所述数据处理请求处理数据;在处理所述数据的过程中,所述键值数据库直接访问存储所述数据的存储器,直至完成对所述数据的处理。利用本发明专利技术提供的方法,能够减少处理数据时读写本地存储的次数,提升系统的性能。本发明专利技术还提供了一种分布式数据存储系统。

A Distributed Data Storage Method and System

The invention provides a distributed data storage method, which uses a key value database to store data. The method includes: the key value database obtains data processing requests; the key value database processes data according to the data processing requests; and in the process of processing the data, the key value database directly accesses the memory storing the data until the completion of the data processing request. Data processing. The method provided by the invention can reduce the times of reading and writing local storage in data processing and improve the performance of the system. The invention also provides a distributed data storage system.

【技术实现步骤摘要】
一种分布式数据存储方法及系统
本专利技术涉及数据存储
,尤其涉及一种分布式数据存储方法及系统。
技术介绍
分布式系统凭借其具有的高度内聚性和透明性,被广泛应用于数据存储
分布式存储系统将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性,还易于扩展。分布式存储系统由各个节点的本地存储经统一管理构成集群,对外提供存储服务。参见图1,该图为传统的分布式数据存储系统的结构图。分布式存储软件101处理请求并下发到本地事务处理模块102,本地事务处理模块102通过可移植操作系统接口(PortableOperatingSystemInterfaceofUNIX,POSIX)与虚拟文件系统(VirtualFileSystem,VFS)103连接,实现软件处理后再通过文件系统104处理大量的数据及元数据,将处理结果发送给存储器105以实现对数据的读写。由于管理本地存储使用的本地文件系统具有复杂的系统数据和元数据体系,在处理数据时需要实现复杂的事务机制,会导致处理数据时读写本地存储的次数多,造成性能的大幅下降。
技术实现思路
为了解决现有技术存在的上述技术问题,本专利技术提供了一种分布式数据存储方法及系统,能够减少处理数据时读写本地存储的次数,提升系统的性能。本专利技术提供了一种分布式数据存储方法,所述方法使用了键值数据库存储数据,所述方法包括:所述键值数据库获取数据处理请求;所述键值数据库根据所述数据处理请求处理数据;在处理所述数据的过程中,所述键值数据库直接访问存储所述数据的存储器,直至完成对所述数据的处理。可选的,所述所述键值数据库获取数据处理请求,具体为:所述键值数据库通过键值数据库接口直接从分布式存储软件获取所述数据处理请求。可选的,所述数据处理请求至少包括以下其中的一种:索引、存储、修改和删除。可选的,所述方法还包括:在处理所述数据的过程中构建事务机制。可选的,所述存储器至少包括以下其中的一种:固态硬盘、机械硬盘和混合硬盘。本专利技术实施例还提供了一种分布式数据存储系统,所述系统包括:获取模块、事务处理模块和读写模块;所述获取模块,用于所述键值数据库获取数据处理请求;所述事务处理模块,用于所述键值数据库根据所述数据处理请求处理数据;所述读写模块,用于在处理所述数据的过程中,所述键值数据库直接访问存储所述数据的存储器,直至完成对所述数据的处理。可选的,所述获取模块,用于所述键值数据库获取数据处理请求,具体为:所述获取模块,用于所述键值数据库通过键值数据库接口直接从分布式存储软件获取所述数据处理请求。可选的,所述数据处理请求至少包括以下其中的一种:索引、存储、修改和删除。可选的,所述事务处理模块,还用于在处理所述数据的过程中构建事务机制。可选的,所述存储器至少包括以下其中的一种:固态硬盘、机械硬盘和混合硬盘。与现有技术相比,本专利技术至少具有以下优点:本专利技术提供的分布式数据存储方法,使用键值数据库存储数据,所述键值数据库获取数据处理请求,不需要通过内存,也不需要进行系统调用,即不需要进行用户态到内核态的转换,整个处理过程都在用户态下完成;所述键值数据库根据所述数据处理请求处理数据;在处理所述数据的过程中,所述键值数据库直接访问存储所述数据的存储器,直至完成对所述数据的处理。使用本专利技术提供的方法,用键值数据库代替了传统的分布式数据存储系统的本地事务处理模块、虚拟文件系统和文件系统,简化了IO流程,避免了用户态到内核态的转换,减少了读写本地存储的次数。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为传统的分布式数据存储系统的结构图;图2为本申请实施例一提供的一种分布式数据存储方法的流程图;图3为本申请实施例二提供的一种分布式数据存储系统的结构图;图4为本申请实施例二提供的分布式数据存储系统的应用场景结构图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一:参见图2,该图为本申请实施例一提供的一种分布式数据存储方法的流程图。所述方法包括如下步骤:S201:所述键值数据获库取数据处理请求。本申请实施例所述方法使用键值(key-value)数据库存储数据,键值数据库应用于分布式存储系统中,具有查询速度快、存放数据量大、支持高并发处理的特点。具体的,所述键值数据库通过键值数据库接口直接从分布式存储软件获取所述数据处理请求。所述数据库接口可以采用开放数据库连接(OpenDatabaseConnectivity,ODBC)也可以采用java数据库连接(JavaDatabaseConnectivity,JDBC),本申请对此不作具体限定。下面介绍内核态和用户态的含义:当一个处理请求或进程进行系统调用而陷入内核代码中执行时,则进程处于内核态,此时处理器在特权级最高的内核代码中执行系统调用。反之,当一个处理请求或进程仅仅执行其代码自身所包含的内容而不需要进行系统调用时,则其处于用户态,即此时处理器在特权级最低的用户代码中完成处理请求。需要注意的是,用户空间的软件程序,通过进行系统调用,进入内核空间,这时用户空间的进程要传递很多变量、参数的值给内核,内核态运行的时候也要保存用户进程的一些寄存器值、变量等,导致了本地的读写次数增多。结合本步骤,由于所述键值数据库在键值数据库接收到处理请求时,可以直接所述处理请求进行对数据库进行调用,在数据库中完成对数据的处理,即执行所述处理请求的进程不需要进行系统调用,由此可见,使用键值数据库替换传统的本地文件系统后不需要经过由用户态到内核态的转换,可以减少本地的读写次数。所述键值数据库是一种NoSQL(NotOnlyStructuredQueryLanguage,非关系型数据库)模型,按照键值对的形式对数据进行组织与存储,可用于处理大量数据的高访问负载。所述数据处理请求至少包括以下其中的一种:索引、存储、修改和删除。所述分布式存储软件下发的处理请求还可以是上述几种请求的组合,例如索引、修改和存储的组合可以实现:对数据库中的特定数据的查找,查找到后可以获取其存储地址信息及其它相关属性;对所述特定数据进行修改,还可以同时修改其在数据库中的对应键值对以完成数据库信息的更新;最后将修改结果存储。S202:所述键值数据库根据所述数据处理请求处理数据。具体的,在处理所述数据的过程中构建事务机制(transactionmechanism)。所述事务指数据库中一系列严密的操作,事务的结束有两种条件:第一种:事务中的所述步骤全部成功执行时,事务提交,同时事务结束。第二种:如果其中至少出现一个步骤失败或错误,则发生回滚操作,撤销事务开始执本文档来自技高网
...

【技术保护点】
1.一种分布式数据存储方法,其特征在于,使用键值数据库存储数据,所述方法包括:所述键值数据库获取数据处理请求;所述键值数据库根据所述数据处理请求处理数据;在处理所述数据的过程中,所述键值数据库直接访问存储所述数据的存储器,直至完成对所述数据的处理。

【技术特征摘要】
1.一种分布式数据存储方法,其特征在于,使用键值数据库存储数据,所述方法包括:所述键值数据库获取数据处理请求;所述键值数据库根据所述数据处理请求处理数据;在处理所述数据的过程中,所述键值数据库直接访问存储所述数据的存储器,直至完成对所述数据的处理。2.根据权利要求1所述的方法,其特征在于,所述所述键值数据库获取数据处理请求,具体为:所述键值数据库通过键值数据库接口直接从分布式存储软件获取所述数据处理请求。3.根据权利要求1所述的方法,其特征在于,所述数据处理请求至少包括以下其中的一种:索引、存储、修改和删除。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在处理所述数据的过程中构建事务机制。5.根据权利要求1所述的方法,其特征在于,所述存储器至少包括以下其中的一种:固态硬盘、机械硬盘和混合硬盘。6.一种分布式数据存储系统,其特征在于,所述系统包括:...

【专利技术属性】
技术研发人员:张子奇
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1