基于隶属关系的数据系统及方法

文档序号:9766059阅读:381来源:国知局
基于隶属关系的数据系统及方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种基于隶属关系的数据系统及方法。
【背景技术】
[0002]车联网业务拓展和个性化服务对数据库负载造成了巨大压力,以redis为代表的nosql数据库很好的解决了负载问题。但与此同时,redis数据结构并不支持隶属关系,各个数据之间无法判断相互关系,因此各个数据只能单独查询。如在单位车辆查询业务中,要显示某部门及其下属部门车辆状态数据,现有技术中,存储方案有如下两种方式:
[0003]第一,将该部门所属车辆状态数据以及下属部门所属车辆状态数据存储在该部门的哈希表或者集合中,查询时读取。此种存储方式在查询时拥有良好的响应能力,但实际上,造成了数据的重复存储,浪费大量存储空间。
[0004]第二,将各个部门所属车辆状态数据存储在各个部门的哈希表或集合中,查询时,首先确定该部门的下属部门,然后分别查询该部门所属车辆状态数据以及下属部门所属车辆状态数据,将结果汇总。此种存储方式不需要重复存储,但在进行查询操作时需要分别查询存在隶属关系的各个部门所属车辆状态数据,增加了查询时间和使用者的工作量。

【发明内容】

[0005]针对现有技术中的缺陷,本发明提供一种基于隶属关系的数据系统及方法,用于有效处理隶属关系数据,既不会造成数据的重复存储,同时拥有良好的响应能力。
[0006]第一方面,本发明提供了一种基于隶属关系的数据系统,包括关键词单元,数据单元和指针单元,
[0007]所述关键词单元,用于存储至少两个关键词,所述至少两个关键词存在隶属关系;
[0008]所述数据单元,用于存储所述关键词单元中的每个关键词对应的直属数据;
[0009]所述指针单元,用于存储所述关键词单元中的每个关键词对应的指针数据,所述指针数据为每个关键词直接下属关键词的地址。
[0010]优选地,所述关键词单元中的关键词和所述数据单元中的直属数据通过键值对key-value结构存储。
[0011 ]优选地,所述数据单元包括数据编号单元和数据信息单元;
[0012]所述数据编号单元,用于存储数据编号;
[0013]所述数据信息单元,用于存储所述数据编号对应的数据信息;
[0014]所述数据编号单元中的数据编号和所述数据信息单元中的数据信息通过键值对key-value结构存储;
[0015]所述直属数据为一个或多个数据编号及其对应的数据信息。
[0016]优选地,所述键值对key-value结构存储为哈希表hash。
[0017]优选地,所述指针单元中的指针数据通过链表Iist结构存储。
[0018]第二方面,本发明提供了一种处理隶属关系数据的方法,包括数据读取阶段,所述数据读取阶段包括以下步骤:
[0019]接收客户端发送的检索关键词,所述检索关键词为关键词单元中的一个关键词;
[0020]根据所述检索关键词获取的关键词,获取该关键词的直属数据;
[0021 ]检测当前关键词是否存在直接下属关键词;
[0022]如果存在,获取当前直接下属关键词的直属数据,并执行所述检测当前关键词是否存在直接下属关键词的步骤,直至当前关键词不存在直接下属关键词为止。
[0023]优选地,所述数据读取阶段之前,还包括数据写入阶段,所述数据写入阶段包括以下步骤:
[0024]接收客户端发送的至少两个关键词,以及所述每个关键词对应的直属数据,所述至少两个关键词存在隶属关系;
[0025]将所述关键词存储至关键词单元,将所述每个关键词对应的直属数据存储至数据单元;
[0026]根据所述关键词单元中的关键词的隶属关系,建立每个关键词与所述每个关键词的直接下属关键词之间的连接;
[0027]将所述每个关键词的直接下属关键词的地址存储至指针单元。
[0028]优选地,所述数据写入阶段之前,还包括初始化阶段,所述初始化阶段包括初始化关键词单元、数据单元、指针单元和数据库集群连接。
[0029]优选地,所述数据读取阶段之后,还包括数据显示阶段,所述数据显示阶段包括以下步骤:
[0030]显示依据检索关键词获取的关键词的直属数据以及该关键词的每个下属关键词的直属数据。
[0031]由上述技术方案可知,本发明提供一种基于隶属关系的数据系统及方法,通过关键词单元存储至少两个关键词,数据单元存储每个关键词对应的直属数据,指针单元存储每个关键词对应的指针数据,实现对隶属关系数据的有效处理。对于整个的数据处理过程来说,一方面,既不会造成数据的重复存储,节省存储空间,另一方面,又拥有良好的响应能力和易于扩展的特性。与此同时,操作简便,不需要分别查询,减少使用者的工作量。
【附图说明】
[0032]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
[0033]图1为本发明一实施例关键词的隶属关系不意图;
[0034]图2为本发明一实施例关键词的直属数据示意图;
[0035]图3为本发明一实施例基于隶属关系的数据系统的结构示意图;
[0036]图4为本发明另一实施例基于隶属关系的数据系统的结构示意图;
[0037]图5为本发明一实施例处理隶属关系数据的方法的流程示意图;
[0038]图6为本发明另一实施例处理隶属关系数据的方法的流程示意图。
【具体实施方式】
[0039]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0040]图3为本发明一实施例提供的基于隶属关系的数据系统的结构示意图,如图3所示,本实施例中的基于隶属关系的数据系统30包括:关键词单元31,数据单元32和指针单元33,
[0041 ]关键词单元31,用于存储至少两个关键词,所述至少两个关键词存在隶属关系;
[0042]数据单元32,用于存储所述关键词单元31中的每个关键词对应的直属数据;
[0043]指针单元33,用于存储所述关键词单元31中的每个关键词对应的指针数据,所述指针数据为每个关键词直接下属关键词的地址。
[0044]可理解的是,隶属关系是指在类目表中下位类带有上位类的属性,上位类包含它所属的各级下位类。在本实施例中,关键词存在隶属关系是指关键词之间存在直接或间接从属的关系。除了顶层关键词以外,每个关键词存在直接上属关键词,除了底层关键词外,每个关键词存在直接下属关键词。
[0045]举例来说,如图1、图2所示,关键词A为顶层关键词,关键词AAA、AAB、ABA、ABB和ABC为底层关键词。关键词A的直接下属关键词是关键词AA、AB,关键词AA、AB的直接上属关键词是关键词A。
[0046]图4为本发明另一实施例提供的基于隶属关系的数据系统的结构示意图,如图4所示,在具体实现过程中,可以理解的是,由于每个关键词和其对应的直属数据存在唯一对应关系,为了方便存储与读取,关键词单元中的关键词和数据单元的直属数据通过键值对key-value结构存储。
[0047]优选地,为了拥有良好的响应能力,所述键值对key-value结构存储为哈希表
hasho
[0048]数据单元42包括数据编号单元421和数据信息单元422,其中,数据编号单元421用于存储数据编号,数据信息单元422用于存储数据编号对应的数据信息。
[0049]可以理解的是,数据编号可以是数字编码,如001,或具有唯一性的识别编码,如车牌号或身份证号。
[0050]其中,直属数据为一个或多个数据编号以及其对应的数据信息。
[0051 ]举例来说,如图1、图2所示,关键词A对应的直属数据为数据编号001-003以及其对应的数据信息。
[0052]可以理解的是,由于每个数据编号和其对应的数据信息存在唯一对应关系,为了方便存储与读取,数据编号单元中的数据编号和数据信息单元中的数据信息通过键值对key-value结构存储。
[0053]优选地,为了拥有良好的响应能力,所述键值对key-value结构存储为哈希表
hasho
[0054]举例来说,如图1、图2所示,关键词A与数据编号001-003以及其对应的数据信息通过哈希表hash存储,数据编号001-003与其对应的数据信息通过哈希表hash存储,由此,通过关键词A可以获取其对应的直属数据,即数据编号001-
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1