一种基于分布式数据库消息数据管理方法及系统的制作方法_4

文档序号:9667391阅读:来源:国知局
对象获取HTable实例。
[0104]步骤502、根据Hbase客户端的需求,在获取的HTable实例中设置起始RowKey以及截止 RowKey。
[0105]步骤503、设置通过getScanner函数查询HBase数据库表中的记录。
[0106]步骤504、调用解析器读取待查询的结构化消息数据,并将其封装为值对象返回数据给上层服务。
[0107]四、非结构化消息数据的查询步骤,如图6所示,包括:
[0?08] 步骤601、设置filter (过滤器)读取消息基本信息,然后读取消息的metadata (元数据)信息,其中包含了待查询数据内容的各项信息。
[0?09] metadata(元数据),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
[0110]步骤602、针对不同的非结构化内容,编写不同的解析器进行读取。
[0111 ]步骤603、将解析出的内容与消息基本信息一起,按照约定的格式与数据结构,将数据封装为一个值对象发送给上层服务。
[0112]针对结构化消息数据和非结构化消息数据,本实施例采用不同的查询方式,前者采用按RowKey查询的方式,后者采用的是利用filter的查询方式,查询方式的考虑到了两种消息数据的区别特点,使得效率最高。
[0113]实施例二
[0114]本实施例二提供了一种基于HBase的大型消息数据管理系统,包括客户端和服务端,所述服务端包括:
[0115]结构化消息数据存储单元,用于通过Schema信息设计,将待存储的结构化消息数据存储至HBase数据库中;其具体的实现方法为:将结构化消息数据按照类型分别建立领域模型,在HBase数据库中建立数据库表,设计该数据表的Schema信息,将待存储的结构化消息数据转换为领域模型,然后存入数据库表中单独的列簇。
[0116]非结构化消息数据存储单元,用于通过数据块的方式,将待存储的非结构化消息数据存储至HBase数据库中;其具体的实现方法为:在HBase数据库中新增一个列簇,将待存储非结构化消息数据存储于该列簇中,在HBase数据库中通过其他列簇存储待存储非结构化消息数据的相关信息,在每个列簇存储信息时,以Key(键)、Value(值)的方式存储每行单元格中的数据,形成若干数据块,然后将数据块保存到HBase数据库的HFile文件中,最后将HFile文件保存到后台的Hadoop分布式文件系统中。
[0117]结构化消息数据查询单元,用于通过RowKey方式,从HBase数据库中查询待查询的结构化消息数据;其具体的实现方法为:实例化HTablePool对象,根据实例化的HTablePool对象获取HTable实例,根据Hbase客户端的需求,在获取的HTable实例中设置起始RowKey以及截止RowKey,设置通过getScanner查询HBase数据库表中的记录,调用解析器读取待查询的结构化消息数据,并将其封装为值对象返回数据给上层服务。
[0118]非结构化消息数据查询单元,用于通过过滤器方式,从HBase数据库查询待查询的非结构化消息数据;其具体的实现方法为:设置filter读取消息基本信息,然后读取消息的metadata信息,针对不同的非结构化内容编写不同的解析器进行读取,将解析出的内容与消息基本信息一起,按照约定的格式与数据结构,将数据封装为一个值对象发送给上层服务。
[0119]本实施例的大型消息数据管理系统可以应用于各种大型消息系统,实现了大型消息数据的并发快速读写。
[0120]往复需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0121]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0122]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,月艮务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0123]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种基于分布式数据库消息数据管理方法,所述消息数据包括结构化消息数据、非结构化消息数据,其特征在于,所述方法包括: 基于分布式数据库,利用数据库对象集合设计对结构化消息数据进行存储的步骤、通过数据块的方式对非结构化消息数据进行存储的步骤、通过主键方式对结构化消息数据进行查询的步骤、通过过滤器方式对非结构化消息数据进行查询的步骤。2.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述利用数据库对象集合设计对结构化消息数据进行存储的步骤包括: 将结构化消息数据按照类型分别建立领域模型; 在分布式数据库中建立数据库表,设计该数据表的数据库对象集合; 将待存储的结构化消息数据按照领域模型进行转换,然后存入所述数据库表中单独的列簇。3.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述通过数据块的方式对非结构化消息数据进行存储的步骤包括: 在分布式数据库中新增一个列簇,将待存储非结构化消息数据存储于该列簇中,同时通过其他列簇存储待存储非结构化消息数据的相关信息; 在每个列簇存储信息时,以键、值的方式存储每行单元格中的数据,形成若干数据块,然后将数据块保存到分布式数据库的格式文件中,最后将格式文件保存到后台的分布式文件系统中。4.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述通过主键方式对结构化消息数据进行查询的步骤包括: 实例化对象,根据所述实例化对象获取对应的实例; 根据客户端的需求,在获取的实例中设置起始主键以及截止主键; 设置函数查询方式获取分布式数据库表中的记录; 调用解析器读取待查询的结构化消息数据,并将其封装为值对象返回数据给上层服务。5.如权利要求4所述的基于分布式数据库消息数据管理方法,其特征在于,所述通过过滤器方式对非结构化消息数据进行查询的步骤包括: 设置过滤器读取待查询消息的消息基本信息,从中获取元数据信息; 根据元数据信息,针对不同的非结构化消息数据内容,编写不同的解析器进行解析读取; 将解析出的内容与消息基本信息,按照约定的格式与数据结构封装为一个值对象发送给上层服务。6.如权利要求2所述的基于分布式数据库消息数据管理方法,其特征在于,所述数据库对象集合包括表名称、列簇、列、主表主键生成规则,索引主键生成规则、索引列。7.如权利要求3所述的基于分布式数据库消息数据管理方法,其特征在于,所述非结构化消息数据的相关信息包括:内容类型、存储大小、创建时间、修改时间。8.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述结构化消息数据包括:数字、符号;所述非结构化消息数据包括:文本、图像、声音、网页、视频。9.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述消息数据具体为:个人消息数据、订阅号消息数据、关注/订阅消息数据、组织机构消息数据。10.—种基于分布式数据库消息数据管理系统,包括服务端,其特征在于,所述服务端包括: 结构化消息数据存储单元,用于通过数据库对象集合,将待存储的结构化消息数据存储至分布式数据库中; 非结构化消息数据存储单元,用于通过数据块的方式,将待存储的非结构化消息数据存储至分布式数据库中; 结构化消息数据查询单元,用于通过主键方式,从分布式数据库中查询待查询的结构化消息数据; 非结构化消息数据查询单元,用于通过过滤器方式,从分布式数据库查询待查询的非结构化消息数据。
【专利摘要】本发明公开了一种基于分布式数据库消息数据管理方法及系统,所述方法包括:基于分布式数据库,利用数据库对象集合设计对结构化消息数据进行存储的步骤、通过数据块的方式对非结构化消息数据进行存储的步骤、通过主键方式对结构化消息数据进行查询的步骤、通过过滤器方式对非结构化消息数据进行查询的步骤。本发明采用Hadoop和HBase作为底层存储支撑技术,利用它们的高扩展性以支持大型消息数据高性能存储管理,克服了现有RDBMS管理消息数据技术无法支持大并发快速读写的不足,同时可存储管理数据类型包括了结构化数据和非结构化数据,满足了具有大数据、时序性强、结构简单等特点的消息系统的数据管理需求。
【IPC分类】G06F17/30
【公开号】CN105426442
【申请号】CN201510750569
【发明人】林浩
【申请人】努比亚技术有限公司
【公开日】2016年3月23日
【申请日】2015年11月6日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1