首页 / 专利库 / 无土农业 / 过滤器 / 一种基于分布式数据库消息数据管理方法及系统

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

阅读:226发布:2021-04-11

专利汇可以提供一种基于分布式数据库消息数据管理方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于分布式 数据库 消息数据管理方法及系统,所述方法包括:基于分布式数据库,利用数据库对象集合设计对结构化消息数据进行存储的步骤、通过数据 块 的方式对非结构化消息数据进行存储的步骤、通过主键方式对结构化消息数据进行查询的步骤、通过 过滤器 方式对非结构化消息数据进行查询的步骤。本发明采用Hadoop和HBase作为底层存储 支撑 技术,利用它们的高扩展性以支持大型消息数据高性能存储管理,克服了现有RDBMS管理消息数据技术无法支持大并发快速读写的不足,同时可存储管理数据类型包括了结构化数据和非结构化数据,满足了具有 大数据 、时序性强、结构简单等特点的消息系统的数据管理需求。,下面是一种基于分布式数据库消息数据管理方法及系统专利的具体信息内容。

1.一种基于分布式数据库消息数据管理方法,所述消息数据包括结构化消息数据、非结构化消息数据,其特征在于,所述方法包括:
基于分布式数据库,利用数据库对象集合设计对结构化消息数据进行存储的步骤、通过数据的方式对非结构化消息数据进行存储的步骤、通过主键方式对结构化消息数据进行查询的步骤、通过过滤器方式对非结构化消息数据进行查询的步骤,
所述利用数据库对象集合设计对结构化消息数据进行存储,包括:
将结构化消息数据按照类型分别建立领域模型;
在分布式数据库中建立数据库表,设计该数据库表的数据库对象集合,所述数据库对象集合包括表名称、列簇、列、主表主键生成规则、索引主键生成规则,索引列;
将待存储的结构化消息数据按照领域模型进行转换,然后存入所述数据库表中单独的列簇,
所述通过数据块的方式对非结构化消息数据进行存储,包括:
在分布式数据库中新增一个列簇,将待存储非结构化消息数据存储于该列簇中,同时通过其他列簇存储待存储非结构化消息数据的相关信息;
在每个列簇存储信息时,以键、值的方式存储每行单元格中的数据,形成若干数据块,然后将数据块保存到分布式数据库的格式文件中,最后将格式文件保存到后台的分布式文件系统中。
2.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述通过主键方式对结构化消息数据进行查询的步骤包括:
实例化对象,根据所述实例化对象获取对应的实例;
根据客户端的需求,在获取的实例中设置起始主键以及截止主键;
设置函数查询方式获取分布式数据库表中的记录;
调用解析器读取待查询的结构化消息数据,并将其封装为值对象返回数据给上层服务。
3.如权利要求2所述的基于分布式数据库消息数据管理方法,其特征在于,所述通过过滤器方式对非结构化消息数据进行查询的步骤包括:
设置过滤器读取待查询消息的消息基本信息,从中获取元数据信息;
根据元数据信息,针对不同的非结构化消息数据内容,编写不同的解析器进行解析读取;
将解析出的内容与消息基本信息,按照约定的格式与数据结构封装为一个值对象发送给上层服务。
4.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述数据库对象集合包括表名称、列簇、列、主表主键生成规则,索引主键生成规则、索引列。
5.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述非结构化消息数据的相关信息包括:内容类型、存储大小、创建时间、修改时间。
6.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述结构化消息数据包括:数字、符号;所述非结构化消息数据包括:文本、图像、声音、网页、视频。
7.如权利要求1所述的基于分布式数据库消息数据管理方法,其特征在于,所述消息数据具体为:个人消息数据、订阅号消息数据、关注/订阅消息数据、组织机构消息数据。
8.一种基于分布式数据库消息数据管理系统,包括服务端,其特征在于,所述服务端包括:
结构化消息数据存储单元,用于通过数据库对象集合,将待存储的结构化消息数据存储至分布式数据库中,具体包括:
将结构化消息数据按照类型分别建立领域模型,在分布式数据库中建立数据库表,设计该数据库表的数据库对象集合,所述数据库对象集合包括表名称、列簇、列、主表主键生成规则、索引主键生成规则,索引列,将待存储的结构化消息数据按照领域模型进行转换,然后存入所述数据库表中单独的列簇;
非结构化消息数据存储单元,用于通过数据块的方式,将待存储的非结构化消息数据存储至分布式数据库中,具体包括:
在分布式数据库中新增一个列簇,将待存储非结构化消息数据存储于该列簇中,同时通过其他列簇存储待存储非结构化消息数据的相关信息;
在每个列簇存储信息时,以键、值的方式存储每行单元格中的数据,形成若干数据块,然后将数据块保存到分布式数据库的格式文件中,最后将格式文件保存到后台的分布式文件系统中;
结构化消息数据查询单元,用于通过主键方式,从分布式数据库中查询待查询的结构化消息数据;
非结构化消息数据查询单元,用于通过过滤器方式,从分布式数据库查询待查询的非结构化消息数据。

说明书全文

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

技术领域

[0001] 本发明涉及数据管理技术领域,尤其涉及一种基于分布式数据库消息数据管理方法及系统。

背景技术

[0002] 随着当今互联网的发展,各类消息系统面临数据量每年剧增的考验。同时随着消息输入方式的多样化,系统将存在大量半结构化、非结构化的数据。这使得数据库设计人员难以事先确定符合业务要求的数据关系模型,而传统RDBMS的横向扩展能通常比较差,数据库表结构的变更将产生高昂的代价,这对大型消息系统来说无疑是一场灾难。
[0003] 并且,消息系统对于实时性有着很高的要求,所以数据库对于高并发读写的性能变得尤为重要。由于庞大的数据量,单台DB进行存储将付出高昂的成本代价,同时无法满足高并发的读写需求。由此,使用大型的分布式数据存储系统,才有办法从根本上解决消息数据海量存储以及高并发读写的问题。

发明内容

[0004] 本发明的主要目的在于提出一种基于分布式数据库消息数据管理方法及系统,克服现有RDBMS管理消息数据技术无法支持大并发快速读写的不足。
[0005] 为实现上述目的,本发明提供了一种基于分布式数据库消息数据管理方法,所述消息数据包括结构化消息数据、非结构化消息数据,所述方法包括:
[0006] 基于分布式数据库,利用数据库对象集合设计对结构化消息数据进行存储的步骤、通过数据的方式对非结构化消息数据进行存储的步骤、通过主键方式对结构化消息数据进行查询的步骤、通过过滤器方式对非结构化消息数据进行查询的步骤。
[0007] 可选地,所述利用数据库对象集合设计对结构化消息数据进行存储的步骤包括:
[0008] 将结构化消息数据按照类型分别建立领域模型;
[0009] 在分布式数据库中建立数据库表,设计该数据表的数据库对象集合;
[0010] 将待存储的结构化消息数据按照领域模型进行转换,然后存入所述数据库表中单独的列簇。
[0011] 可选地,所述通过数据块的方式对非结构化消息数据进行存储的步骤包括:
[0012] 在分布式数据库中新增一个列簇,将待存储非结构化消息数据存储于该列簇中,同时通过其他列簇存储待存储非结构化消息数据的相关信息;
[0013] 在每个列簇存储信息时,以键、值的方式存储每行单元格中的数据,形成若干数据块,然后将数据块保存到分布式数据库的格式文件中,最后将格式文件保存到后台的分布式文件系统中。
[0014] 可选地,所述通过主键方式对结构化消息数据进行查询的步骤包括:
[0015] 实例化对象,根据所述实例化对象获取对应的实例;
[0016] 根据客户端的需求,在获取的实例中设置起始主键以及截止主键;
[0017] 设置函数查询方式获取分布式数据库表中的记录;
[0018] 调用解析器读取待查询的结构化消息数据,并将其封装为值对象返回数据给上层服务。
[0019] 可选地,所述通过过滤器方式对非结构化消息数据进行查询的步骤包括:
[0020] 设置过滤器读取待查询消息的消息基本信息,从中获取元数据信息;
[0021] 根据元数据信息,针对不同的非结构化消息数据内容,编写不同的解析器进行解析读取;
[0022] 将解析出的内容与消息基本信息,按照约定的格式与数据结构封装为一个值对象发送给上层服务。
[0023] 可选地,所述数据库对象集合包括表名称、列簇、列、主表主键生成规则,索引主键生成规则、索引列。
[0024] 可选地,所述非结构化消息数据的相关信息包括:内容类型、存储大小、创建时间、修改时间。
[0025] 可选地,所述结构化消息数据包括:数字、符号;所述非结构化消息数据包括:文本、图像、声音、网页、视频。
[0026] 可选地,所述消息数据具体为:个人消息数据、订阅号消息数据、关注/订阅消息数据、组织机构消息数据。
[0027] 一种基于分布式数据库消息数据管理系统,包括服务端,所述服务端包括:
[0028] 结构化消息数据存储单元,用于通过数据库对象集合,将待存储的结构化消息数据存储至分布式数据库中;
[0029] 非结构化消息数据存储单元,用于通过数据块的方式,将待存储的非结构化消息数据存储至分布式数据库中;
[0030] 结构化消息数据查询单元,用于通过主键方式,从分布式数据库中查询待查询的结构化消息数据;
[0031] 非结构化消息数据查询单元,用于通过过滤器方式,从分布式数据库查询待查询的非结构化消息数据。
[0032] 与现有技术相比,本发明具有以下技术效果:
[0033] 本发明采用Hadoop和HBase作为底层存储支撑技术,利用它们的高扩展性以支持大型消息数据高性能存储管理,将其应用于目前的消息系统中,克服了现有RDBMS管理消息数据技术无法支持大并发快速读写的不足,同时可存储管理数据类型包括了结构化数据和非结构化数据,满足了具有大数据、时序性强、结构建等等特点的消息系统的数据管理需求。附图说明
[0034] 图1为实现本发明各个实施例的移动终端的硬件结构示意图;
[0035] 图2为如图1所示的移动终端的无线通信系统示意图;
[0036] 图3为本发明实施例一提供的结构化消息数据的存储方法流程图
[0037] 图4为本发明实施例一提供的非结构化消息数据的存储方法流程图;
[0038] 图5为本发明实施例一提供的结构化消息数据的查询方法流程图;
[0039] 图6为本发明实施例一提供的非结构化消息数据的查询方法流程图;
[0040] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0041] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042] 现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
[0043] 移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
[0044] 图1为实现本发明各个实施例的移动终端的硬件结构示意图。
[0045] 移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
[0046] 无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
[0047] 广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播系统接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFLO@)的数据广播系统、地面数字广播综合服务(ISDB-T)等等的数字广播系统接收数字广播。广播接收模块111可以被构造为适合提供广播信号的各种广播系统以及上述数字广播系统。经由广播接收模块111接收的广播信号和/或广播相关信息可以存储在存储器160(或者其它类型的存储介质)中。
[0048] 移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
[0049] 无线互联网模块113支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
[0050] 短程通信模块114是用于支持短程通信的模块。短程通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
[0051] 位置信息模块115是用于检查或获取移动终端的位置信息的模块。位置信息模块的典型示例是GPS(全球定位系统)。根据当前的技术,GPS模块115计算来自三个或更多卫星的距离信息和准确的时间信息并且对于计算的信息应用三测量法,从而根据经度、纬度和高度准确地计算三维当前位置信息。当前,用于计算位置和时间信息的方法使用三颗卫星并且通过使用另外的一颗卫星校正计算出的位置和时间信息的误差。此外,GPS模块115能够通过实时地连续计算当前位置信息来计算速度信息。
[0052] A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克1220,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机1210。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
[0053] 用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏
[0054] 感测单元140检测移动终端100的当前状态,(例如,移动终端100的打开或关闭状态)、移动终端100的位置、用户对于移动终端100的接触(即,触摸输入)的有无、移动终端100的取向、移动终端100的加速或减速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。例如,当移动终端100实施为滑动型移动电话时,感测单元140可以感测该滑动型电话是打开还是关闭。另外,感测单元140能够检测电源单元190是否提供电力或者接口单元170是否与外部装置耦接。感测单元140可以包括接近传感器1410将在下面结合触摸屏来对此进行描述。
[0055] 接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
[0056] 另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。
[0057] 显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
[0058] 同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
[0059] 音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。
[0060] 警报单元153可以提供输出以将事件的发生通知给移动终端100。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或视频输出之外,警报单元153可以以不同的方式提供输出以通知事件的发生。例如,警报单元153可以以振动的形式提供输出,当接收到呼叫、消息或一些其它进入通信(incoming communication)时,警报单元153可以提供触觉输出(即,振动)以将其通知给用户。通过提供这样的触觉输出,即使在用户的移动电话处于用户的口袋中时,用户也能够识别出各种事件的发生。警报单元153也可以经由显示单元151或音频输出模块152提供通知事件的发生的输出。
[0061] 存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
[0062] 存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
[0063] 控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块1810,多媒体模块1810可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
[0064] 电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
[0065] 这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程阵列(FPGA)、处理器、控制器、微控制器微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
[0066] 至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
[0067] 如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。
[0068] 现在将参考图2描述其中根据本发明的移动终端能够操作的通信系统。
[0069] 这样的通信系统可以使用不同的空中接口和/或物理层。例如,由通信系统使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信系统(UMTS)(特别地,长期演进(LTE))、全球移动通信系统(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信系统,但是这样的教导同样适用于其它类型的系统。
[0070] 参考图2,CDMA无线通信系统可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。
回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的系统可以包括多个BSC2750。
[0071] 每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
[0072] 分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子系统(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
[0073] 如图2中所示,广播发射器(BT)295将广播信号发送给在系统内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位系统(GPS)卫星300。卫星300帮助定位多个移动终端
100中的至少一个。
[0074] 在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的GPS模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
[0075] 作为无线通信系统的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
[0076] 基于上述移动终端硬件结构以及通信系统,提出本发明各个实施例。
[0077] 实施例一
[0078] 当前,在流程工业面临着海量数据时序存储管理的困境时,互联网公司也在面临着海量数据管理的难题。以Hadoop、HBase等为代表的大数据技术为海量数据管理提供了一种解决方案,并为当前淘宝、百度、搜狐等许多互联网公司采用。Hadoop是一种可靠、可伸缩的分布式文件系统,HBase(Hadoop Database,分布式数据库)是一个分布式、可伸缩的NoSQL(Not Only Structured Query Language,非关系型数据库)数据库,它构建在Hadoop基础设施之上,依托于Hadoop的迅猛发展,HBase在大数据领域的应用越来越广泛。本发明实施例是基于HBase的分布式数据库展开说明,HBase分布式数据库中主键称为RowKey主键,数据库中的Schema信息称为数据库对象的集合,包括表,索引,视图,图表,缺省值,规则,触发器,语法,函数等。
[0079] 采用HBase作为消息存储的持久层对比RDBMS的优点如下:
[0080] (1)HBase是一个分布式的、面向列的数据存储系统。HBase自底层设计开始将聚焦于各种可伸缩性的问题:表可以很大,将其平分区并在上千个普通节点上自动复制。而RDBMS只能支持单机,或者手动采用横向切分的方式将数据分配到不同服务器上,如果采用横向切分的方式,不仅增加了程序的复杂度,而且很难以进行多库查询,同时无法自动负载均衡,灵活性很差。
[0081] (2)由于HBase没有真正的索引,由于行是顺序存储的,每行中的列也是顺序存储的所以不存在索引膨胀的问题,而且插入性能与表的大小无关。而RDBMS随着数据量的增大,由于索引膨胀,插入速度将越来越慢。
[0082] (3)HBase支持分布式写,可以多台服务器同时并发写。而RDBMS无法支持,即使使用主从模式,通常情况下也只能一台DB作为写操作的DB,因为多台DB进行写将面临非常复杂的数据同步问题。
[0083] (4)HBase具有高速插入快速读取的优点。经过对比实验,典型的RDBMS数据库MySQL单表插入速度为每秒6500条,HBase单台机器能够实现1w~3w之间的插入速度,这充分说明HBase插入数据的速度比MySQL高很多。在MySQL单机随机读写能力测试中,单条数据全表随机读取时间是指依据主键去MySQL单表取数据花费的时间;在HBase基本说明与性能测试中,大数据量下查询响应时间是指依照Rowkey到HBase取数据所花费的时间。30ms对5ms,这说明HBase取数据的速度之快也是MySQL望尘莫及的。
[0084] 而大型消息系统的消息数据具有以下特点:数据大、结构简单、时间相关,因而结合上述HBase的优点,本实施例采用Hadoop和HBase作为底层存储支撑技术,利用它们的高扩展性以支持海量消息数据高性能存储管理。
[0085] 消息数据可以划分为两大类:一类消息数据能够用数字或统一的结构加以表示,称之为结构化数据,如数字、符号;而另一类消息数据无法用数字或统一的结构表示,如文本、图像、声音、网页等,称之为非结构化数据。本发明涉及到的消息数据类型即包括结构化消息数据类型和非结构化消息数据类型。
[0086] 由于结构化消息数据和非结构化消息数据的差异化,本实施例提出的基于HBase的大型消息数据管理方法包括以下几个方面:结构化消息数据的存储步骤、非结构化消息数据的存储步骤、结构化消息数据的查询步骤、非结构化消息数据的查询步骤。下面将分别进行描述。
[0087] 一、结构化消息数据的存储步骤,如图3所示,包括:
[0088] 步骤301、将结构化消息数据按照类型分别建立领域模型。
[0089] 在不同场景下,结构化数据的具体类型也会不同,典型场景比如企业ERP、财务系统、医疗HIS数据库、教育一卡通、政府行政审批、其他核心数据库等,因而本步骤中需要首先按照结构化消息数据类型来分别建立相应的领域模型。
[0090] 步骤302、在HBase数据库中建立数据库表,设计该数据表的Schema信息。
[0091] 其中所述Schema信息包括table name(表名称),families(列簇),columns(列),main table rowkey生成规则(主表主键生成规则),index rowkey生成规则(索引主键生成规则),index columns(索引列)。
[0092] 该Schema信息是常用的一种表征用户所创建的对象(包括表,索引,存储过程)的集合,其属于数据库对象管理的范畴,所以此处不再对其原理和内容进行说明。
[0093] 此外,Schema信息中包含的的table name,families,columns,main table rowkey生成规则,index rowkey生成规则,index columns就是上述用户所创建的对象(包括表,索引,存储过程等),而且在现有的数据库技术中上述对象均是常用地对象内容,所以此处同样不再对上述对象的内容和原理进行解释说明。
[0094] 本实施例正是充分利用Schema信息来为HBase的数据表进行定义,实现大并发的快速写入。
[0095] 步骤303、将待存储的结构化消息数据按照领域模型进行转换,然后存入数据库表中单独的列簇。
[0096] 上述流程中,通过Schema信息的设计,可以实现结构化消息数据的高效读写,可满足消息系统的需求。
[0097] 二、非结构化消息数据的存储步骤,如图4所示,包括:
[0098] 步骤401、在HBase数据库中新增一个列簇,将待存储非结构化消息数据存储于该列簇中。
[0099] 非结构化消息数据的种类包括:文本、图像、声音、网页、视频等。
[0100] 步骤402、在HBase数据库中通过其他列簇存储待存储非结构化消息数据的相关信息,包括这类内容的类型、存储大小、创建时间、修改时间。
[0101] 步骤403、在每个列簇存储信息时,以Key(键)、Value(值)的方式存储每行单元格中的数据,形成若干数据块;然后将数据块保存到HBase数据库的HFile文件(格式文件)中,最后将HFile文件保存到后台的Hadoop分布式文件系统中。
[0102] 三、结构化消息数据的查询步骤,如图5所示,包括:
[0103] 步骤501、实例化HTablePool对象,根据实例化的HTablePool对象获取HTable实例。
[0104] 步骤502、根据Hbase客户端的需求,在获取的HTable实例中设置起始RowKey以及截止RowKey。
[0105] 步骤503、设置通过getScanner函数查询HBase数据库表中的记录。
[0106] 步骤504、调用解析器读取待查询的结构化消息数据,并将其封装为值对象返回数据给上层服务。
[0107] 四、非结构化消息数据的查询步骤,如图6所示,包括:
[0108] 步骤601、设置filter(过滤器)读取消息基本信息,然后读取消息的metadata(元数据)信息,其中包含了待查询数据内容的各项信息。
[0109] metadata(元数据),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(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] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0123] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈