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

文档序号:8445552阅读:123来源:国知局
数据存储方法及装置的制造方法
【技术领域】
[0001] 本发明涉及数据库领域,尤其涉及一种数据存储方法及装置。
【背景技术】
[0002] 随着互联网的快速发展,企业的业务数据量也在不断地攀升,数据存储及其访问 方法逐渐成为业内关注的焦点。传统的数据库系统是基于单台数据库对数据进行管理。随 着数据量的增加,数据库中的数据量会越来越大,当数据量达到一定程度的时候,对数据的 查询会逐渐变慢,势必会在数据的访问上产生瓶颈。
[0003]目前已有一些对数据库进行分库分表的方法,可以按照逻辑将数据库中一些数据 量比较大的数据表切分出来放在另外的数据存储设备中,例如可按照业务种类的数据量大 小,将数据量大的业务种类对应的数据表切分出来放在另外的存储设备中。
[0004] 然而,现有的分库分表的方法在一个逻辑数据表的数据量持续增长的情况下(例 如,某业务种类的数据量持续增长),仍然存在数据查询减慢的问题,造成数据访问的瓶颈, 从而降低数据库的性能。

【发明内容】

[0005] 针对现有技术的缺陷,本发明提供一种数据存储方法及装置。
[0006] 本发明提供的数据存储方法,包括:
[0007] 将待存储的数据的标识信息对预设数值进行取模运算,所述标识信息为数值,所 述预设数值为存储节点的个数;
[0008] 将所述待存储的数据存储在所述取模运算的结果对应的存储节点中。
[0009] 本发明提供的数据存储装置,包括:
[0010] 运算模块,用于将待存储的数据的标识信息对预设数值进行取模运算,所述标识 信息为数值,所述预设数值为存储节点的个数;
[0011] 存储模块,用于将所述待存储的数据存储在所述取模运算的结果对应的存储节点 中。
[0012] 本发明提供的数据存储方法及装置,克服了现有技术中由于数据量持续增长而导 致数据查询减慢的缺陷,使得可以通过取模运算将数据存储在多个存储节点中,从而在查 询数据时可先通过取模运算将待查询的数据定位在一个存储节点上,缩小查询范围,然后 再在该存储节点中进一步查询数据,提高了查询效率。
【附图说明】
[0013] 图1为本发明提供的数据存储方法的一个实施例的流程图;
[0014] 图2为本发明提供的数据存储方法的另一个实施例的流程图;
[0015] 图3为本发明提供的数据存储装置的一个实施例的结构示意图;
[0016] 图4为本发明提供的数据存储装置的另一个实施例的结构示意图。
【具体实施方式】
[0017] 图1为本发明提供的数据存储方法的一个实施例的流程图,本实施例提供的数据 存储方法具体可以用于对大型数据库中的数据进行存储,但并不以此为限。如图1所示,该 方法具体可以包括:
[0018] 步骤10、将待存储的数据的标识信息对预设数值进行取模运算,所述标识信息为 数值,所述预设数值为存储节点的个数;
[0019] 本发明实施例中,所述待存储的数据可以是单个数据,也可以是具有某种特定关 系的一组数据,例如,由用户名、真实姓名、联系方式等组成的属于某个用户的信息数据,本 发明可将所述具有多个内容字段的用户信息数据作为一个待存储的数据来考虑,本发明对 数据的类型、结构等均不作限制;所述存储节点可以是存储设备,例如存储器、专用存储系 统等,也可以是将一个存储设备中的存储空间按照一定的方式划分成的多个存储空间,例 如按照存储空间的容量进行平均划分后得到的多个存储空间等,本发明对此不作限制。
[0020] 与传统的将待存储的数据按照存储的先后顺序依次存储在一个存储设备中不同, 本发明实施例中,首先可以为待存储的数据设置多个存储节点,确定所述多个存储节点的 个数以及每个存储节点的序号,例如第一个存储节点、第二个存储节点等。当接收到一个待 存储的数据(本发明实施例中均指具有某种特定关系的一组数据)时,首先获取所述待存储 的数据的标识信息,所述标识信息可以是一个数值,具体的获取方式可包括自动为所述待 存储的数据生成一个标识信息,优选地,可根据存储数据的先后顺序为各个待存储的数据 生成逐渐递增的标识信息,并将所述标识信息与所述待存储的数据关联在一起。可选地,所 述待存储的数据可包括所述标识信息,相应地,所述获取方式还可包括从所述待存储的数 据中提取所述标识信息。
[0021] 获取所述标识信息后,可将所述标识信息对预设数值进行取模运算,所述预设数 值即为上述预先确定的存储节点的个数。取模运算就是求余运算,将所述标识信息对所述 预设数值进行取模运算,可得到所述标识信息中的数值除以所述存储节点的个数后所得的 余数。
[0022] 步骤11、将所述待存储的数据存储在所述取模运算的结果对应的存储节点中。
[0023] 所述取模运算的结果就是步骤10中得到的所述标识信息中的数值除以所述存储 节点的个数后的余数,可将所述待存储的数据存储在所述取模运算的结果对应的存储节点 中,也就是说,可将所述待存储的数据存储在序号为所述余数的存储节点中,例如,如果所 述取模运算的结果为3,则可将所述待存储的数据存储在序号为3的存储节点中,即存储在 第三个存储节点中。
[0024] 可以理解的是,本发明实施例对所述标识信息的获取方式并不作限制,只要按照 本发明提供的存储方法可根据所述标识信息将数据分布式地存储在多个存储节点中即可。
[0025] 本发明实施例提供的数据存储方法,克服了现有技术中由于数据量持续增长而导 致数据查询减慢的缺陷,使得可以通过取模运算将数据存储在多个存储节点中,从而在查 询数据时可先通过取模运算将待查询的数据定位在一个存储节点上,缩小查询范围,然后 再在该存储节点中进一步查询数据,提高了查询效率。
[0026] 图2为本发明提供的数据存储方法的另一个实施例的流程图,该方法包括:
[0027] 步骤20、生成所述待存储的数据的所述标识信息,所述标识信息为已存储的数据 的个数加1 ;
[0028] 步骤21、将待存储的数据的标识信息对预设数值进行取模运算,所述标识信息为 数值,所述预设数值为存储节点的个数;
[0029] 步骤22、将所述待存储的数据存储在所述取模运算的结果对应的存储节点中。
[0030] 为使数据可以水平地分布在多个存储节点中,待存储的数据的所述标识信息可按 照存储数据的顺序逐渐增大,也就是说,后存储的数据的所述标识信息要大于之前存储的 数据的所述标识信息。本实施例中,获取待存储的数据的标识信息的方式采用生成所述待 存储的数据的标识信息的方式,其中,所述标识信息为已存储的数据的个数加1。具体地,可 记录所有存储节点中当前已存储的数据的个数,当接收到新的待存储的数据时,则将所述 记录的当前已存储的数据的个数加1作为该待存储的数据的标识信息,生成所述标识信息 后,可将所述标识信息作为一个预先确定的字段加入所述待存储的数据中,使其与所述待 存储的数据相关联。可以理解的是,在完成所述数据的存储后,可相应地更新所述记录的当 前已存储的数据的个数。
[0031] 可选地,可预先在某一个存储节点上建立一个数据表,用于存放当前已存储的数 据的标识信息的最大值,即当前最后一个存储的数据的标识信息,当接收到一个新的待存 储的数据时,首先获取所述数据表中的所述最大值,然后在此基础上进行加1操作,并将所 得的结果作为所述新的待存储的数据的标识信息,最后将所述标识信息与所述待存储的数 据相关联。可以理解的是,在生成新的待存储的数据的所述标识信息后,可相应地将所述数 据表中的最大值更新为所述生成的新的待存储的数据的标识信息。
[0032] 下面结合具体的示例对本实施例进行详细说明。本实施例中,所述待存储的数据 为具有某种特定关系的一组数据,例如用户信息数据,包括:用户名、真实姓名、联系方式、 电子邮箱。首先可以为数据存储设置多个存储节点,例如设置三个存储节点,其序号分别为 1、2和3,即第一个存储节点、第二个存储节点和第三个存储节点。每个存储节点中均包括 可存储上述用户信息数据的数据表,所述三个存储节点的数据表结构如表1、表2和表3所 /Jn〇
[0033] 表1第一个存储节点的数据表
【主权项】
1. 一种数据存储方法,其特征在于,包括: 将待存储的数据的标识信息对预设数值进行取模运算,所述标识信息为数值,所述预 设数值为存储节点的个数; 将所述待存储的数据存储在所述取模运算的结果对应的存储节点中。
2. 根据权利要求1所述的方法,其特征在于,所述标识信息按照存储数据的顺序逐渐 增大。
3. 根据权利要求2所述的方法,其特征在于,在所述将待存储的数据的标识信息对预 设数值进行取模运算之前,还包括: 生成所述待存储的数据的所述标识信息,所述标识信息为已存储的数据的个数加1。
4. 根据权利要求1-3任一所述的方法,其特征在于,在所述将所述待存储的数据存储 在所述取模运算的结果对应的存储节点中之后,还包括: 将待查询的数据的所述标识信息对所述预设数值进行取模运算; 在所述取模运算的结果对应的存储节点中查询所述待查询的数据。
5. -种数据存储装置,其特征在于,包括: 运算模块,用于将待存储的数据的标识信息对预设数值进行取模运算,所述标识信息 为数值,所述预设数值为存储节点的个数; 存储模块,用于将所述待存储的数据存储在所述取模运算的结果对应的存储节点中。
6. 根据权利要求5所述的装置,其特征在于,所述标识信息按照存储数据的顺序逐渐 增大。
7. 根据权利要求6所述的装置,其特征在于,还包括: 生成模块,用于生成所述待存储的数据的所述标识信息,所述标识信息为已存储的数 据的个数加1。
8. 根据权利要求5-7任一所述的装置,其特征在于,所述运算模块还用于,将待查询的 数据的所述标识信息对所述预设数值进行取模运算; 所述装置还包括: 查询模块,用于在所述取模运算的结果对应的存储节点中查询所述待查询的数据。
【专利摘要】本发明提供一种数据存储方法及装置。该方法包括:将待存储的数据的标识信息对预设数值进行取模运算,所述标识信息为数值,所述预设数值为存储节点的个数;将所述待存储的数据存储在所述取模运算的结果对应的存储节点中。本发明提供的数据存储方法及装置,克服了现有技术中由于数据量持续增长而导致数据查询减慢的缺陷,使得可以通过取模运算将数据存储在多个存储节点中,从而在查询数据时可先通过取模运算将待查询的数据定位在一个存储节点上,缩小查询范围,然后再在该存储节点中进一步查询数据,提高了查询效率。
【IPC分类】G06F17-30
【公开号】CN104765754
【申请号】CN201410008394
【发明人】李平
【申请人】北大方正集团有限公司, 北京北大方正电子有限公司
【公开日】2015年7月8日
【申请日】2014年1月8日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1