一种数据库的数据处理方法技术

技术编号:8723108 阅读:267 留言:0更新日期:2013-05-22 17:15
本发明专利技术公开了一种数据库的数据处理方法,包括:主节点服务器接收客户端的数据处理请求,所述数据处理请求包括数据存储请求。所述主节点服务器接收待存储数据;所述主节点服务器提取所述待存储数据中的一个字段的各个字段值,并计算出对应的哈希值,确定每个哈希值所对应的存储位置;所述主节点服务器将待存储数据和哈希值发送给数据节点服务器;所述数据节点服务器将所述哈希值所对应的行数据存储到相应的主硬盘上;主节点服务器对所述数据节点服务器中存储的数据进行镜像备份。所述数据处理请求包括数据检索请求。本发明专利技术提供的数据库的数据处理方法,数据处理效率更高,容量更大,并避免了集群中的单点故障的发生。

【技术实现步骤摘要】

本专利技术涉及数据库
,尤其涉及。
技术介绍
数据库技术从20世纪60年代末期开始发展至今,已经有三十多年,其主要目的是有效地管理和存取大量的数据资源。数据库技术主要研究如何存储、使用和管理数据。数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术的发展过程大体上包括层次数据库系统、关系数据库系统和面向对象数据库系统三个阶段,目前的数据库技术主要处于关系数据库系统阶段。数据库技术研究和解决了在计算机信息处理过程中,如何有效地存储和组织大量数据的问题,使得在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地存储数据和检索数据。单点故障(Single Point Of Failure),通常是指出现在计算机系统及网络中的单个节点所发生的故障。在设计信息技术(Information Technology,简称IT)基础设施时,单点故障应尽量避免发生。其中,“单点”是指节点设备只有一台。在集群计算机系统中,通常将单个计算机称为节点,并将系统中的作为应用服务器的计算机称为主节点服务器,将存放数据的计算机称为数据节点服务器。为避免单点故障的发生,当前大部分设计主要针对主节点服务器进行“双机热备”,通常做法是增加节点服务器,对主节点服务器的磁盘数据进行备份。但该解决方案使得现有集群计算机系统过于注重保护应用服务器,而忽视了更为重要的存储设备。数据节点服务器通常采用定期导出文件的方式进行备份,而未采用多机热备,因此,因磁盘等硬件故障而引起的数据丢失风险大。一旦存放数据的存储设备或存储介质损坏,将导致非常严重的损失。目前,在数据库技术中,数据处理大致可以分成两大类:联机事务处理OLTP(On-Line Transaction Processing)、联机分析处理 OLAP (On-Line AnalyticalProcessing)。OLTP是传统的关系型数据库的主要应用,其主要工作是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,其支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLTP每次存取通常为数十条记录,而OLAP每次存取通常为上百万条记录,且前者的数据库DB (Data Base)大小通常处于100MB (兆字节)到100GB (十亿字节)之间,后者的数据库DB大小通常为100GB以上。当前的数据库系统在数据存储方式上常常采用“行式”存储方式对数据进行管理,其数据关系模型表现为二维表形式,即使用唯一的行号和唯一的列号来标识数据,在对数据进行存储或读取时,数据库系统必须进行全表扫描。因应用需要,数据库需频繁更新数据,数据量大的情况下增加维护索引等额外工作;查询时需要解压被压缩的数据,数据量大时压缩延迟不可忽视。就目前的数据库发展速度而言,以行的形式存储数据,对OLTP是自然、方便、快速的;但对OLAP的支持来说,“行式存储”对大量索引等问题并没有很好的解决办法,特别是在进行大数据量的分析时,行式数据库系统的数据处理效率会大大降低。
技术实现思路
本专利技术所要解决的技术问题是,提供,提高数据库系统对数据的处理效率,并避免单点故障的发生。为解决以上技术问题,本专利技术实施例提供,包括: 主节点服务器接收客户端的数据处理请求,所述数据处理请求包括数据存储请求; 所述主节点服务器接收待存储数据; 所述主节点服务器提取所述待存储数据的其中一个字段的所有字段值,并采用哈希函数计算出与所述字段的各个字段值一一对应的哈希值; 所述主节点服务器根据计算出的哈希值,确定每个哈希值所对应的存储位置;每个存储位置对应一个数据节点服务器上的一个主硬盘;所述主节点服务器通过信令传输通道与多个数据节点服务器连接,且所述数据节点服务器上设有至少一个主硬盘; 所述主节点服务器将所述待存储数据和所述字段的各个字段值所对应的哈希值,发送至与所述主节点服务器连接的数据节点服务器; 所述数据节点服务器从所述字段的各个字段值所对应的哈希值中,筛选出与本节点的主硬盘相对应的哈希值,并将与所述哈希值对应的字段值所在的行数据存储到所述主硬盘上; 所述主节点服务器对所述数据节点服务器中存储的数据进行镜像备份。其中,在一种可实现方式中,所述数据节点服务器从所述字段的字段值所对应的哈希值中,筛选出与本节点的主硬盘相对应的哈希值,并将与所述哈希值对应的字段值所在的行数据存储到所述主硬盘上,包括: 所述主节点服务器对所述数据节点服务器上的每一个主硬盘设置一个标签; 所述数据节点服务器逐一判断所述字段的各个字段值所对应的哈希值与所述主硬盘的标签是否匹配; 若匹配,则所述数据节点服务器对与所述标签匹配的哈希值进行解析,获得所述哈希值所对应的字段值,并根据所述字段值对所述待存储数据进行过滤,获得所述字段值所在的行数据,并将所述行数据存储在与所述标签对应的主硬盘中; 若不匹配,则所述数据节点服务器将与所述哈希值对应的字段值所在的行数据删除。进一步地,所述数据处理请求还包括数据检索请求。所述主节点服务器接收所述数据检索请求后,判断所述数据检索请求中是否含有查询地址; 若所述主节点服务器判定所述数据检索请求中含有查询地址,则所述主节点服务器将所述数据检索请求发送至与所述查询地址对应的数据节点服务器中;所述数据节点服务器根据所述数据检索请求,对本节点的各个硬盘进行检索,并将检索得到的数据反馈至所述主节点服务器;所述主节点服务器将所述检索得到的数据发送至所述客户端; 若所述主节点服务器判定所述数据检索请求中不含有查询地址,则所述主节点服务器将所述数据检索请求发送至与所述主节点服务器连接的所有数据节点服务器;所述的所有数据节点服务器根据所述数据检索请求,分别对本节点的各个硬盘进行检索,并将检索得到的数据反馈至所述主节点服务器;所述主节点服务器将所述的所有数据节点服务器检索得到的数据进行汇总后,发送至所述客户端。更进一步地,所述主节点服务器连接有备份节点服务器。所述备份节点服务器对所述主节点服务器中的数据和信令进行实时备份。本专利技术提供的,主节点服务器将待存储数据中的其中一个字段的所有字段值提取出来,并通过对各个字段值的处理,得到各个字段值所对应的哈希值;将所述待存储数据的各行数据,分别存储在与主节点服务器连接的各个数据节点服务器中,提高了数据写入效率;进一步地,本专利技术提供的数据库的数据处理方法还进一步将各个数据节点服务器中存储的数据进行备份,避免数据节点服务器发生单点故障;本专利技术提供的数据库的数据处理方法还可以进行数据查询,且进一步对主节点服务器的磁盘数据和流通信令进行实时备份,当主节点服务器在发生故障进行主备切换时,备份节点服务器具有与主节点服务器相同的数据和状态,保证了切换的无缝进行。附图说明图1是本专利技术提供的的第一实施例的方法流程 图2是无共享(Share Nothing)架构的结构示意 图3是本专利技术提供的第一实施例中根据哈希值进行数据存储的一种实现方法流程图; 图4是本专利技术提供的的第二实施例的方法流程 图5是本专利技术提供的第二实施例的第一数据节点服务器发生故障时,主节点服务器所执行的数据库的数据处理方法流程 图6是本专利技术提供的第二实施例的第一数据本文档来自技高网
...

【技术保护点】
一种数据库的数据处理方法,其特征在于,包括:主节点服务器接收客户端的数据处理请求,所述数据处理请求包括数据存储请求;所述主节点服务器接收待存储数据;所述主节点服务器提取所述待存储数据的其中一个字段的所有字段值,并采用哈希函数计算出与所述字段的各个字段值一一对应的哈希值;所述主节点服务器根据计算出的哈希值,确定每个哈希值所对应的存储位置;每个存储位置对应一个数据节点服务器上的一个主硬盘;所述主节点服务器通过信令传输通道与多个数据节点服务器连接,且所述数据节点服务器上设有至少一个主硬盘;所述主节点服务器将所述待存储数据和所述字段的各个字段值所对应的哈希值,发送至与所述主节点服务器连接的数据节点服务器;所述数据节点服务器从所述字段的各个字段值所对应的哈希值中,筛选出与本节点的主硬盘相对应的哈希值,并将与所述哈希值对应的字段值所在的行数据存储到所述主硬盘上;所述主节点服务器对所述数据节点服务器中存储的数据进行镜像备份。

【技术特征摘要】
1.一种数据库的数据处理方法,其特征在于,包括: 主节点服务器接收客户端的数据处理请求,所述数据处理请求包括数据存储请求; 所述主节点服务器接收待存储数据; 所述主节点服务器提取所述待存储数据的其中一个字段的所有字段值,并采用哈希函数计算出与所述字段的各个字段值一一对应的哈希值; 所述主节点服务器根据计算出的哈希值,确定每个哈希值所对应的存储位置;每个存储位置对应一个数据节点服务器上的一个主硬盘;所述主节点服务器通过信令传输通道与多个数据节点服务器连接,且所述数据节点服务器上设有至少一个主硬盘; 所述主节点服务器将所述待存储数据和所述字段的各个字段值所对应的哈希值,发送至与所述主节点服务器连接的数据节点服务器; 所述数据节点服务器从所述字段的各个字段值所对应的哈希值中,筛选出与本节点的主硬盘相对应的哈希值,并将与所述哈希值对应的字段值所在的行数据存储到所述主硬盘上; 所述主节点服务器对所述数据节点服务器中存储的数据进行镜像备份。2.如权利要求1所述的数据库的数据处理方法,其特征在于,所述数据节点服务器从所述字段的字段值所对应的哈希值中,筛选出与本节点的主硬盘相对应的哈希值,并将与所述哈希值对应的字段值所在的行数据存储到所述主硬盘上,包括: 所述主节点服务器对所述数据节点服务器上的每一个主硬盘设置一个标签; 所述数据节点服务器逐一判断所述字段的各个字段值所对应的哈希值与所述主硬盘的标签是否匹配; 若匹配,则所述数据节点服务器对与所述标签匹配的哈希值进行解析,获得所述哈希值所对应的字段值,并根据所述字段值对所述待存储数据进行过滤,获得所述字段值所在的行数据,并将所述行数据存储在与所述标签对应的主硬盘中; 若不匹配,则所述数据节点服务器将与所述哈希值对应的字段值所在的行数据删除。3.如权利要求1或2所述的数据库的数据处理方法,其特征在于,所述主节点服务器通过所述信令传输通道,定期向所述数据节点服务器发送状态检测信令,对所述数据节点服务器的工作状态进行监控。4.如权利要求3所述的数据库的数据处理方法,其特征在于,所述哈希值所对应的存储位置包括第一数据节点服务器上的第一主硬盘;所述主节点服务器通过信令传输通道与所述第一数据节点服务器连接; 则所述主节点服务器将所述待存储数据和所述字段的各个字段值所对应的哈希值,发送给所述每个存储位置所分别对应的数据节点服务器,包括:所述主节点服务器将所述待存储数据和所述字段的字段值所对应的哈希值,发送给所述第一数据节点服务器; 所述数据节点服务器从所述字段的各个字段值所对应的哈希值中,筛选出与本节点的主硬盘相对应的哈希值,并将与所述哈希值对应的字段值所在的行数据存储到所述主硬盘上,包括:所述第一数据节点服务器从所述字段的各个字段值所对应的哈希值中,筛选出与本节点的第一主硬盘相对应的第一哈希值,并将所述第一哈希值所对应的字段值所在的行数据存储到所述第一主硬盘中。5.如权利要求4所述的数据库的数据处理...

【专利技术属性】
技术研发人员:张起飞
申请(专利权)人:广东宜通世纪科技股份有限公司
类型:发明
国别省市:广东;44

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

1