一种NoSQL数据库的模式管理方法及系统的制作方法

文档序号:6526573阅读:377来源:国知局
一种NoSQL数据库的模式管理方法及系统的制作方法
【专利摘要】本发明涉及一种NoSQL数据库的模式管理方法,具体包括以下步骤:步骤1:接收访问或更新请求;步骤2:按照模式类型对访问或更新请求进行分类,或者按照访问或更新请求进行创建新模式类型及对应新模式类型对应的接口;步骤3:根据所述访问或更新请求通过对应模式类型的接口链接到数据库中的模式管理表;步骤4:根据模式管理表提供的路径,按照所述访问或更新请求访问或更新数据库中保存在不同模式类型下的数据。本发明实现了对多种异构数据在NoSQL数据库中的统一管理;针对数据的不同类型和特征,实现了差异化的模式和接口设计,保证读写的高性能;同时,提供通用的schema管理策略和读写接口,为数据模式的扩展提供了便利。
【专利说明】一种NoSQL数据库的模式管理方法及系统
【技术领域】
[0001]本发明涉及一种NoSQL数据库的模式管理方法及系统。
【背景技术】
[0002]随着海量数据时代的到来,各行各业的数据都在快速膨胀。传统的关系型数据库受限于其自身的数据模型和系统架构,难以应对数据量急剧增长带来的存储和管理的挑战。在这样的背景下,NoSQL数据库得到了快速的发展。NoSQL数据库具有分布式的架构,对数据进行水平划分,数据结构灵活,能很好地应对海量数据存储的需求,读写性能也较关系库有明显优势。
[0003]在现实生活中,存在着多种具有不同的数据类型,命名规则各异,同时具备不同读写特征的数据,我们将这样的数据称之为“异构数据”。异构数据结构各异,不具有固定的表格Schema (模式),而NoSQL数据库本身不提供对Schema的完备管理。在读写过程中,数据以二进制数据流的形式存在,损失了包含数据类型、数据长度在内的各种属性和约束条件。同时,异构数据具有不同的读写特征,用NoSQL本身提供的接口无法获取高效的读写性能。因此,异构数据存储在NoSQL数据库中时,需要统一的schema管理方法,来管理不同类型的schema,同时针对数据的不同读写特征,需要设计差异化的策略,以提供高效的读写性能。

【发明内容】

[0004]本发明所要解决的技术问题是,针对现有技术的不足,提供一种对不同类型和读写特征的数据及模式进行统一管理的NoSQL数据库的模式管理方法。
[0005]本发明解决上述技术问题的技术方案如下:一种NoSQL数据库的模式管理方法,具体包括以下步骤:
[0006]步骤1:接收访问或更新请求;
[0007]步骤2:按照模式类型对访问或更新请求进行分类,或者按照访问或更新请求进行创建新模式类型及对应新模式类型对应的接口;
[0008]步骤3:根据所述访问或更新请求连接到数据库中的模式管理表,获取模式管理表中的模式信息;
[0009]步骤4:根据模式管理表提供的模式信息,按照所述访问或更新请求通过对应模式类型的接口访问或更新数据库中保存在不同模式类型下的数据。
[0010]本发明的有益效果是:本发明通过提供NoSQL数据库的schema模式管理方法,实现了对多种异构数据在数据库中的统一管理;针对数据的不同类型和特征,提供了优化的数据模式设计,并提供差异化的读写接口,保证读写的高性能;同时,提供通用的schema管理策略和基本的读写接口,能很好地兼容已存在的数据,并为数据模式的扩展提供了便利。
[0011]在上述技术方案的基础上,本发明还可以做如下改进。
[0012]进一步,所述步骤2具体包括以下步骤:
[0013]步骤2.1:判断所述访问或更新请求是否存在对应的模式类型,如果存在,按照模式类型对访问或更新请求进行分类,进行步骤3 ;否则,进行下一步;
[0014]步骤2.2:判断是访问请求还是更新请求;如果是访问请求,结束;否则,进行下一
I K
少;
[0015]步骤2.3:在数据库中创建对应所述更新请求的模式类型,将此模式类型保存到模式管理表,创建对应此模式类型的接口,并通过此接口保存所述更新请求传输的数据。
[0016]进一步,所述模式类型包括时标键值模式、数据记录模式和目录文件模式。
[0017]进一步,所述步骤3中,访问或更新请求中包含模式类型,根据模式类型在模式管理表中获取模式的相关信息。
[0018]进一步,所述模式管理表内数据存储的格式为模式名加用户表名加列名;存储内容包括数据类型、数据长度、是否为主键、是否为空、数据标度、数据精度和默认值等标示列。
[0019]进一步,所述步骤2和步骤3中所述接口带有时间戳信息,支持对带有不同时间戳信息的数据的更新和访问。
[0020]本发明所要解决的技术问题是,针对现有技术的不足,提供一种对不同类型和读写特征的数据及模式进行统一管理的NoSQL数据库的模式管理系统。
[0021]本发明解决上述技术问题的技术方案如下:一种NoSQL数据库的模式管理系统,包括:接收模块、接口模块、链接管理表模块和数据处理模块;
[0022]所述接收模块用于接收访问或更新请求;
[0023]所述接口模块用于按照模式类型对访问或更新请求进行分类,或者按照访问或更新请求进行创建新模式类型及对应新模式类型对应的接口 ;
[0024]所述链接管理表模块用于根据所述访问或更新请求连接到数据库中的模式管理表,获取模式管理表中的模式信息;
[0025]所述数据处理模块用于根据模式管理表提供的模式信息,按照所述访问或更新请求通过对应模式类型的接口访问或更新数据库中保存在不同模式类型下的数据。
[0026]本发明的有益效果是:本发明通过提供NoSQL数据库的schema模式管理系统,实现了对多种异构数据在数据库中的统一管理;针对数据的不同类型和特征,提供了优化的数据模式设计,并提供了差异化的读写接口,保证读写的高性能;同时,提供通用的schema管理策略和基本的读写接口,能很好地兼容已存在的数据,并为数据模式的扩展提供了便利。
[0027]在上述技术方案的基础上,本发明还可以做如下改进。
[0028]进一步,所述接口模块包括判断模块和模式创建模块;
[0029]所述判断模块用于判断所述访问或更新请求是否存在对应的模式类型,如果存在,按照模式类型对访问或更新请求进行分类;否则,判断是访问请求还是更新请求;如果是访问请求,结束;否则,将更新请将方式到模式创建模块;
[0030]所述模式创建模块用于在数据库中创建对应所述更新请求的模式类型,将此模式类型保存到模式管理表,创建对应此模式类型的接口,并通过此接口保存所述更新请求传输的数据。
[0031]进一步,所述模式类型包括时标键值模式、数据记录模式和目录文件模式。
[0032]进一步,所述链接管理表模块中,访问或更新请求中包含模式类型,根据模式类型在模式管理表中获取模式的相关信息。
[0033]进一步,所述模式管理表内数据存储的格式为模式名加用户表名加列名;存储内容包括数据类型、数据长度、是否为主键、是否为空、数据标度、数据精度和默认值等标示列。
[0034]进一步,所述接口模块和链接管理表模块中所述接口带有时间戳信息,支持对带有不同时间戳信息的数据的更新和访问。
【专利附图】

【附图说明】
[0035]图1为本发明具体实施例1所述的一种NoSQL数据库的模式管理方法流程图;
[0036]图2为本发明具体实施例1所述的一种NoSQL数据库的模式管理系统结构框图;
[0037]图3为本发明具体实施例2所述的一种NoSQL数据库的模式管理方法构成的NoSQL数据库结构示意图;
[0038]图4为采用本发明所述的模式管理方法的schemal与原始schema单点查询对比图;
[0039]图5为采用本发明所述的模式管理方法的schema2与原始schema更新性能对比图。
[0040]附图中,各标号所代表的部件列表如下:
[0041 ] 1、接收模块,2、接口模块,3、链接管理表模块,4、数据处理模块,21、判断模块,22、模式创建模块。
【具体实施方式】
[0042]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0043]如图1所示,本发明具体实施例1所述的一种NoSQL数据库的模式管理方法,具体包括以下步骤:
[0044]步骤1:接收访问或更新请求;
[0045]步骤2:判断所述访问或更新请求是否存在对应的模式类型,如果存在,按照模式类型对访问或更新请求进行分类,进行步骤5 ;否则,进行下一步;
[0046]步骤3:判断是访问请求还是更新请求;如果是访问请求,结束;否则,进行下一
I K
少;
[0047]步骤4:在数据库中创建对应所述更新请求的模式类型,将此模式类型保存到模式管理表,创建对应此模式类型的接口,并通过此接口保存所述更新请求传输的数据;
[0048]步骤5:根据所述访问或更新请求连接到数据库中的模式管理表,获取模式管理表中的模式信息;
[0049]步骤6:根据模式管理表提供的模式信息,按照所述访问或更新请求通过对应模式类型的接口访问或更新数据库中保存在不同模式类型下的数据。
[0050]所述模式类型包括时标键值模式、数据记录模式和目录文件模式。
[0051]所述步骤5中,访问或更新请求中包含模式类型,根据模式类型在模式管理表中获取模式的相关信息。[0052]所述模式管理表内数据存储的格式为模式名加用户表名加列名;存储内容包括数据类型、数据长度、是否为主键、是否为空、数据标度、数据精度和默认值等标示列。
[0053]所述步骤4和步骤5中所述接口带有时间戳信息,支持对带有不同时间戳信息的数据的更新和访问。
[0054]如图2所示,为本发明具体实施例1所述的一种NoSQL数据库的模式管理系统,包括:接收模块1、接口模块2、链接管理表模块3和数据处理模块4 ;
[0055]所述接收模块I用于接收访问或更新请求;
[0056]所述接口模块2用于按照模式类型对访问或更新请求进行分类,或者按照访问或更新请求进行创建新模式类型及对应新模式类型对应的接口 ;
[0057]所述链接管理表模块3用于根据所述访问或更新请求连接到数据库中的模式管理表,获取模式管理表中的模式信息;
[0058]所述数据处理模块4用于根据模式管理表提供的模式信息,按照所述访问或更新请求通过对应模式类型的接口访问或更新数据库中保存在不同模式类型下的数据。
[0059]所述接口模块2包括判断模块21和模式创建模块22 ;
[0060]所述判断模块21用于判断所述访问或更新请求是否存在对应的模式类型,如果存在,按照模式类型对访问或更新请求进行分类;否则,判断是访问请求还是更新请求;如果是访问请求,结束;否则,将更新请将方式到模式创建模块22 ;
[0061]所述模式创建模块22用于在数据库中创建对应所述更新请求的模式类型,保存所述更新请求传输的数据,将此模式类型保存到模式管理表,并创建对应此模式类型的接□。
[0062]所述模式类型包括时标键值模式、数据记录模式和目录文件模式。
[0063]所述链接管理表模块中,访问或更新请求中包含模式类型,根据模式类型在模式管理表中获取模式的相关信息。
[0064]所述模式管理表内数据存储的格式为模式名加用户表名加列名;存储内容包括数据类型、数据长度、是否为主键、是否为空、数据标度、数据精度和默认值等标示列。
[0065]所述接口模块2和链接管理表模块3中所述接口带有时间戳信息,支持对带有不同时间戳信息的数据的更新和访问。
[0066]如果3所示,是本发明具体实施例2所述的一种NoSQL数据库的模式管理方法构成的NoSQL数据库结构;具体如下:
[0067](一)在NoSQL数据库中建立Schema管理表SchemaMgrTable(如附表I所不),该表的Rowkey为模式名+用户表名+列名,包含Type (数据类型)、Length (数据长度)、Key(是否为主键)、Null (是否非空)、SCA (数据标度)、PRE (数据精度)、DEF (默认值)等标示
列,分别标示用户表中某一列的对应属性。
[0068]
【权利要求】
1.一种NoSQL数据库的模式管理方法,其特征在于,具体包括以下步骤: 步骤1:接收访问或更新请求; 步骤2:按照模式类型对访问或更新请求进行分类,或者按照访问或更新请求进行创建新模式类型及对应新模式类型对应的接口; 步骤3:根据所述访问或更新请求连接到数据库中的模式管理表,获取模式管理表中的模式信息; 步骤4:根据模式管理表提供的模式信息,按照所述访问或更新请求通过对应模式类型的接口访问或更新数据库中保存在不同模式类型下的数据。
2.根据权利要求1所述的一种NoSQL数据库的模式管理方法,其特征在于,所述步骤2具体包括以下步骤: 步骤2.1:判断所述访问或更新请求是否存在对应的模式类型,如果存在,按照模式类型对访问或更新请求进行分类,进行步骤3 ;否则,进行下一步; 步骤2.2:判断是访问请求还是更新请求;如果是访问请求,结束;否则,进行下一步; 步骤2.3:在数据库中创建对应所述更新请求的模式类型,将此模式类型保存到模式管理表,创建对应此模式类型的接口,并通过此接口保存所述更新请求传输的数据。
3.根据权利要求2所述的一种NoSQL数据库的模式管理方法,其特征在于,所述模式类型包括时标键值模式、数据记录模式和目录文件模式。
4.根据权利要求1-·3任一项所述的一种NoSQL数据库的模式管理方法,其特征在于,所述步骤3中,访问或更新请求中包含模式类型,根据模式类型在模式管理表中获取模式的相关信息。
5.根据权利要求4任一项所述的一种NoSQL数据库的模式管理方法,其特征在于,所述模式管理表内数据存储的格式为模式名加用户表名加列名;存储内容包括数据类型、数据长度、是否为主键、是否为空、数据标度、数据精度和默认值标示列。
6.根据权利要求5所述的一种NoSQL数据库的模式管理方法,其特征在于,所述步骤2和步骤3中所述接口带有时间戳信息,支持对带有不同时间戳信息的数据的更新和访问。
7.—种NoSQL数据库的模式管理系统,包括:接收模块、接口模块、链接管理表模块和数据处理模块; 所述接收模块用于接收访问或更新请求; 所述接口模块用于按照模式类型对访问或更新请求进行分类,或者按照访问或更新请求进行创建新模式类型及对应新模式类型对应的接口 ; 所述链接管理表模块用于根据所述访问或更新请求连接到数据库中的模式管理表,获取模式管理表中的模式信息; 所述数据处理模块用于根据模式管理表提供的模式信息,按照所述访问或更新请求通过对应模式类型的接口访问或更新数据库中保存在不同模式类型下的数据。
8.根据权利要求7所述的一种NoSQL数据库的模式管理系统,其特征在于,所述接口模块包括判断模块和模式创建模块; 所述判断模块用于判断所述访问或更新请求是否存在对应的模式类型,如果存在,按照模式类型对访问或更新请求进行分类;否则,判断是访问请求还是更新请求;如果是访问请求,结束;否则,将更新请将方式到模式创建模块;所述模式创建模块用于在数据库中创建对应所述更新请求的模式类型,将此模式类型保存到模式管理表,创建对应此模式类型的接口,并通过此接口保存所述更新请求传输的数据。
9.根据权利要求8所述的一种NoSQL数据库的模式管理系统,其特征在于,所述模式类型包括时标键值模式、数据记录模式和目录文件模式。
10.根据权利要求7-9任一项所述的一种NoSQL数据库的模式管理系统,其特征在于,所述模式管理表内数据存储的格式为模式名加用户表名加列名;存储内容包括数据类型、数据长度、是否为主键、是否为空、数据标度、数据精度和默认值标示列。
11.根据权利要求10所述的一种NoSQL数据库的模式管理系统,其特征在于,所述链接管理表模块中,访问或更新请求中包含模式类型,根据模式类型在模式管理表中获取模式的相关信息。
12.根据权利要求11所述的一种NoSQL数据库的模式管理系统,其特征在于,所述接口模块和链接管理表模块中所述接口带有时间戳信息,支持对带有不同时间戳信息的数据的更新和访问。
【文档编号】G06F17/30GK103714163SQ201310744369
【公开日】2014年4月9日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】文杰, 戴娇, 韩冀中 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1