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

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

【发明内容】

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