一种反轮廓查询方法、装置及系统的制作方法

文档序号:6402199阅读:222来源:国知局
专利名称:一种反轮廓查询方法、装置及系统的制作方法
技术领域
本发明涉及数据库查询技术领域,更具体的说,是涉及一种反轮廓查询方法、装置及系统。
背景技术
随着社会信息化和自动化程度的不断加深,需要对海量数据进行管理和应用,因此近年来,数据库查询技术也得到了积极的深入研究及快速的发展。在数据库查询技术领域,反轮廓数据点是数据库中以查询点作为其动态轮廓点集中一员的数据点。反轮廓查询能够返回查询点的反轮廓数据点集,从而用户可以从中获得有用的信息以支持决策工作,因此反轮廓查询在决策支持、数据库可视化和用户信息系统等方面都得到了广泛的应用。反轮廓查询是在轮廓查询的基础上提出的,与轮廓查询的服务对象相对,通过反轮廓查询可以确定查询点在数据集中的影响度,用户可以根据确定的影响度做出一些重要决策。近年来,基于容错、性能等多方面的考虑,现代数据的存储方式越来越趋向于分布式存储,因而分布式数据上的数据挖掘成为数据库领域的研究热点。但是,现有的反轮廓查询方法都是应用于集中式数据环境的查询方法,现有技术中并不存在能够应用于分布式数据环境的反轮廓查询方法。

发明内容
有鉴于此,本发明提供了一种反轮廓查询方法、装置及系统,以实现在分布式数据集环境中进行反轮廓查询。为实现上述目的,本发明提供如下技术方案:一种反轮廓查询方法,应用于分布式数据集,包括:中央节点接收用户输入的查询点,并将所述查询点发送至所有的分布节点;各个分布节点分别将在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集发送至所述中央节点;中央节点将接收到的所有全局轮廓点集和第二层全局轮廓点集合并为总数据集;中央节点根据所述查询点从所述总数据集中获取所述查询点的全局轮廓点集和第二层全局轮廓点集;中央节点根据从所述总数据集中获取的所述全局轮廓点集和所述第二层全局轮廓点集计算获得所述查询点的反轮廓点集。可选的,所述第二层全局轮廓点集包括一个或多个第二层全局轮廓点;所述查询点的第二层全局轮廓点为在数据集去除全局轮廓点后的数据集中不存在任何数据点全局支配的数据点。可选的,所述总数据集中的全局轮廓点集和第二层全局轮廓点集分别存储。
可选的,所述分布节点在本地数据集中获取全局轮廓点集和第二层全局轮廓点集,包括:分布节点将本地数据集读入内存;以所述查询点为中心,对所述本地的数据集建立网格索引,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序;从每一个网格内的、已经升序排序好的数据点中获取网格全局轮廓点集和网格第二层全局轮廓点集;将所有的网格全局轮廓点集合并为全局轮廓点集,并将所有的网格第二层全局轮廓点集合并为第二层全局轮廓点集。可选的,所述中央节点计算获得所述查询点的反轮廓点集,包括:中央节点将从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集读入内存,生成反轮廓点集并初始化为空集;根据所述查询点,采用所述全局轮廓点中非当前窗口剪枝的数据点的其他数据点和第二层全局轮廓点集中所有的数据点对所述全局轮廓点集中的每一个数据点进行窗口剪枝;将没有被窗口剪枝掉的数据点存入所述反轮廓点集。一种反轮廓查询装置,应用于分布式数据集中的中央节点,包括:查询点接收模块,用于接收用户输入的查询点;数据接口模块,用于将所述查询点发送至所有的分布节点,并接收各个分布节点发送的全局轮廓点集和第二层全局轮廓点集;数据集合并模块,用于将接收到的所有全局轮廓点集和第二层全局轮廓点集合并为总数据集;第一数据集获取模块,用于根据所述查询点从所述总数据集中获取所述查询点的全局轮廓点集和第二层全局轮廓点集;数据计算模块,用于根据从所述总数据集中获取的所述全局轮廓点集和所述第二层全局轮廓点集计算获得所述查询点的反轮廓点集。可选的,所述数据计算模块包括:第一数据准备模块,用于将从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集读入内存,生成反轮廓点集并初始化为空集;窗口剪枝模块,用于根据所述查询点,采用所述全局轮廓点中非当前窗口剪枝的数据点的其他数据点和第二层全局轮廓点集中所有的数据点对所述全局轮廓点集中的每一个数据点进行窗口剪枝;数据生成模块,用于将没有被窗口剪枝掉的数据点存入所述反轮廓点集。一种反轮廓查询装置,应用于分布式数据集中的分布节点,包括:查询点接收模块,用于接收中央节点发送的查询点;第二数据集获取模块,用于在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集;数据集发送模块,用于将在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集发送至所述中央节点,以使得所述中央节点根据由分布节点在本地数据集中获取的全局轮廓点集和第二层全局轮廓点集合并而成的总数据集,获取所述查询点的全局轮廓点集和第二层全局轮廓点集,并根据从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集计算得到所述查询点的反轮廓点集。可选的,所述第二数据集获取模块包括:第二数据准备模块,用于将本地数据集读入内存;数据划分及排序模块,用于以所述查询点为中心,对所述本地的数据集建立网格索引,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序; 网格数据集获取模块,用于从每一个网格内的、已经升序排序好的数据点中获取网格全局轮廓点集和网格第二层全局轮廓点集;网格数据集合并模块,用于将所有的网格全局轮廓点集合并为全局轮廓点集,并将所有的网格第二层全局轮廓点集合并为第二层全局轮廓点集。一种反轮廓查询系统,应用于分布式数据集,包括应用于中央节点的第一装置和应用于分布节点的第二装置;所述第一装置为上述应用于分布式数据集中的中央节点的反轮廓查询装置;所述第二装置为上述应用于分布式数据集中的分布节点的反轮廓查询装置。经由上述的技术方案可知,与现有技术相比,本发明实施例公开了一种反轮廓查询方法、装置及系统,该反轮廓查询方法、装置及系统应用于分布式数据集,所述反轮廓查询方法利用全局支配的概念,在中央节点和分布节点计算查询点的全局轮廓点集后,会进一步计算出第二层全局轮廓点集;结合数据摘要的思想,分布节点采用基于两层轮廓点传送方法,避免发送全部数据集,通信开销合理,且中央节点和分布节点的负载也比较平衡,能够很好的应用于分布式数据集环境。通过本发明实施例公开的反轮廓查询方法、装置及系统,填补了分布式数据集环境中反轮廓查询技术的空白,实现了分布式数据集环境中的反轮廓查询。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本发明实施例公开的反轮廓查询方法流程图;图2为本发明实施例公开的分布节点获取全局轮廓点集和第二层全局轮廓点集的流程图;图3为本发明实施例公开的另一个分布节点获取全局轮廓点集和第二层全局轮廓点集的流程图;图4为本发明实施例公开的中央节点获取查询点的反轮廓点集流程图;图5为本发明实施例公开的另一个中央节点获取查询点的反轮廓点集流程图;图6为本发明实施例公开的反轮廓查询装置结构示意图;图7为本发明实施例公开的数据计算模块结构示意图8为本发明实施例公开的另一个反轮廓查询装置结构示意图;图9为本发明实施例公开的第二数据集获取模块结构示意图。
具体实施例方式为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:数据点:给定一个d维的数据空间S= {Sl, S2, , sd} ο如果数据集D={Pl, P2,, pn}中的每一点都是数据空间S上d维的点,则称数据集D是S上的数据集。用P1.Sj表示数据点Pi在第j维度上的值。支配:称一个数据点Pj在空间S上支配另外一个数据点Pi,当且仅当Pj上所有维度的值都优于(本案中所述优于可以指大于,也可以指小于,具体可以根据用户的需求来配置)或者等于Pi上所有维度的值,并且至少存在一个维度t,使得Py St优于P1.St。动态支配:称一个数据点Pi在d维空间S上动态支配另外一个数据点P」,当且仅当给定一个映射函数f (P),Pi, Pj根据该映射函数转换到新的d’维数据空间S’得到相对应的动态点p/,ρ/,满足p/在新数据空间s’上支配p/。由于反轮廓点特性。(本发明中规定映射函数f (P) = I P.S1-q.Si I , i e {I,…,d}, q为给定的查询数据点。)此时Pi在d维空间S上相对于查询点q动态支配另外一个数据点Pp即为数据点Pi在所有维度上的值与查询点q的绝对距离都优于或者等于Pj相应维度的值与查询点q的绝对距离。并且至少存在一个维度 t,使得 I P1.St-q.St I 优于 I Pj.St-q.St |。全局支配:以查询点q为中心,将数据点所在平面或空间划分为2d个象限(d为数据空间维度),称数据点Pi在数据空间S上数据集D中相对于查询点q全局支配数据点Pj,当且仅当数据点Pi和P」在同一个象限,且数据点Pi在所有维度上的值与查询点q的绝对距离都优于或者等于Pj相应维度 的值与查询点q的绝对距离。并且至少存在一个维度t,使得 I Pi.st-q.St I 优于 I Pj.St-q.St |。轮廓点:称数据点Pi是数据空间S上关于数据集D的一个轮廓点,当且仅当在数据集D中不存在任何数据点支配Pi。用SP(D,S)代表空间S上关于数据集D的轮廓点集。为了区别于动态轮廓点,一般用传统轮廓点来表示本定义的轮廓点。动态轮廓点:称一个数据点Pi是数据空间S上数据集D中查询点q的动态轮廓点,当且仅当数据集D中不存在任何数据点相对于q动态支配Pi。用DSP (D,S,q)代表空间S上数据集D中相对于查询点q的动态轮廓点集。反轮廓点:称数据点Pi是数据空间S上数据集D中查询点q的一个反轮廓点,当且仅当在数据集D中,q点是Pi点的动态轮廓点集中一员。用RSP (D,S,q)代表空间S上数据集D中q点的反轮廓点集。全局轮廓点:称数据点Pi是数据空间S上数据集D中查询点q的一个全局轮廓点,当且仅当在数据集D中不存在任何点全局支配Pi。用GSL(D,S,q)代表空间S上数据集D中q点的全局轮廓点集。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一图1为本发明实施例公开的反轮廓查询方法流程图,所述方法应用于分布式数据集,参见图1所示,所述反轮廓查询方法可以包括:步骤101:中央节点接收用户输入的查询点,并将所述查询点发送至所有的分布节点。为了保证最终得到的反轮廓点集的完整性,需要将所述查询点发送到所有的分布节点,使得所有分布节点中存储的数据都参与到反轮廓查询中。步骤102:各个分布节点分别将在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集发送至所述中央节点。其中,所述第二层全局轮廓点集包括一个或多个第二层全局轮廓点。所述第二层全局轮廓点的定义可以是:称数据点Pi是数据空间S上数据集D中查询点q的一个第二层全局轮廓点,当且仅当在数据集D去除全局轮廓点以外的数据集D’中不存在任何点全局支配Pi。用S2nd(D,S,q)代表空间S上数据集D中q点的第二层全局轮廓点集。通俗一点来说,所述查询点的第二层全局轮廓点为在数据集去除全局轮廓点后的数据集中不存在任何数据点能够全局支配的数据点。在一个示意性的示例中,分布节点在本地数据集中获取全局轮廓点集和第二层全局轮廓点集的具体过程可以参见图2,图2为本发明实施例公开的分布节点获取全局轮廓点集和第二层全局轮廓点集的流程图,如图2所示,可以包括:步骤201:分布节点将本地数据集读入内存。步骤202:以所述查询点为中心,对所述本地的数据集建立网格索引,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序(在规定第一数据点某属性值优于第二数据点相同的属性值为第一数据点某属性值小于第二数据点的相同属性值情况下)。其中,对网格内的数据点进行升序排序是为后续步骤203计算全局轮廓点集和第二层全局轮廓点集做准备。按照数据点各个维度与所述查询点各个维度距离之和排序后,后面的数据点的各个维度与所述查询点各个维度距离之和大于前面数据点的各个维度与所述查询点各个维度距离之和,根据全局支配的定义可知,排在后面的数据点不可能全局支配前面的数据点,这样就大大减少了判断全局支配关系时进行比较的次数。步骤203:从每一个网格内的、已经升序排序好的数据点中获取网格全局轮廓点集和网格第二层全局轮廓点集。步骤204:将所有的网格全局轮廓点集合并为全局轮廓点集,并将所有的网格第二层全局轮廓点集合并为第二层全局轮廓点集。需要说明的是,上述步骤202中,是将每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序,这是在规定第一数据点某属性值优于第二数据点相同的属性值为第一数据点某属性值小于第二数据点相同属性值的前提下确定的,如果用户配置的定义是第一数据点某属性值优于第二数据点相同属性值为第一数据点某属性值大于第二数据点相同属性值,则在步骤202中就应当是将每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和降序排序。在另外的一个实施例中,分布节点在本地数据集中获取全局轮廓点集和第二层全局轮廓点集的具体过程可以参见图3,图3为本发明实施例公开的另一个分布节点获取全局轮廓点集和第二层全局轮廓点集的流程图,如图3所示,可以包括:步骤301:读入经过预处理的数据集。其中,所述预处理可以是以所述查询点为中心,对所述本地的数据集建立网格索弓丨,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序。步骤302:对每个网格,生成候选集(为了便于在附图中标记及理解,将全局轮廓点集记为侯选集)和筛选集(为了便于在附图中标记及理解,将第二层全局轮廓点集记为筛选集),并分别初始化为空集。步骤303:读取一个网格。步骤304:判断是否是最后一个网格,是则转步骤315 ;否则转步骤305。步骤305:判断网格是否为空,为空则转步骤303 ;否则转步骤306。步骤306:读取网格内的一个数据点。步骤307:判断筛选集是否为空,为空则转步骤310 ;不为空则转步骤308。步骤308:计算该数据点与筛选集中各点的全局支配关系。步骤309:判断是否被筛选集中某个数据点全局支配,是则舍弃该数据点,转步骤305 ;否则转步骤310。步骤310:判断候选集是否为空,为空则转步骤314 ;不为空则转步骤311。步骤311:计算该数据点与候选集中各点的全局支配关系。步骤312:判断是否被候选集中某个数据点全局支配,是则转步骤313 ;否则转步骤 314。步骤313:将该数据点插入到筛选集中,转步骤305。步骤314:将该数据点插入到候选集中,转步骤305。步骤315:计算结束。类似的,后续中央节点计算获取全局轮廓点集和第二层全局轮廓点集,也可以采用上述图2或图3所示的方法。步骤102后,进入步骤103。步骤103:中央节点将接收到的所有全局轮廓点集和第二层全局轮廓点集合并为总数据集。其中,所有的全局轮廓点集和第二层全局轮廓点集可以取并集。考虑到后续中央节点计算总数据集的全局轮廓点集和第二层全局轮廓点集的复杂性,步骤103中,可以将所有全局轮廓点集和所有第二层全局轮廓点集分别进行合并存储。因为基于全局支配、全局轮廓点和第二层全局轮廓点的概念可清楚的知道,全局轮廓点肯定全局支配第二层全局轮廓点,这样,将合并的全局轮廓点集和第二层全局轮廓点集分别存储,减少了后续中央节点计算总数据集的全局轮廓点集和第二层全局轮廓点集时判断全局支配关系的次数。步骤104:中央节点根据所述查询点从所述总数据集中获取所述查询点的全局轮廓点集和第二层全局轮廓点集。步骤105:中央节点根据从所述总数据集中获取的所述全局轮廓点集和所述第二层全局轮廓点集计算获得所述查询点的反轮廓点集。
在一个示意性的示例中,步骤105的具体过程可以参见图4,图4为本发明实施例公开的中央节点获取查询点的反轮廓点集流程图,如图4所示,可以包括:步骤401:中央节点将从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集读入内存,生成反轮廓点集并初始化为空集。步骤402:根据所述查询点,采用所述全局轮廓点中非当前窗口剪枝的数据点的其他数据点和第二层全局轮廓点集对所述全局轮廓点集中的每一个数据点进行窗口剪枝。由于反轮廓点集是全局轮廓点集中满足一定要求的子集,因此,通过遍历全局轮廓点集中的每一个数据点,用全局轮廓点集中非该点的其他数据点和第二层全局轮廓点集中所有数据点对该点进行窗口剪枝,直至全局轮廓点集中非该点的其他数据点和第二层全局轮廓点集中所有的数据点都被判断完毕,全局轮廓点集中未被窗口剪枝掉的数据点构成最终的反轮廓点集。由于窗口剪枝为现有技术,在本实施例中不对窗口剪枝的具体内容作详细介绍。步骤403:将没有被窗口剪枝掉的数据点存入所述反轮廓点集。在另外的一个示意性的示例中,步骤105的具体过程可以参见图5,图5为本发明实施例公开的另一个中央节点获取查询点的反轮廓点集流程图,如图5所示,可以包括:步骤501:读入候选集和筛选集,生成反轮廓点集并初始化为空集。步骤502:读取候选集中一个数据点P1。步骤503:判断是否为最后一个数据点,如果是,则转步骤508 ;如果不是,转步骤504。步骤504:以该数据点P1为中心,以查询点q为顶点确定中心对称的区域。步骤505:计算候选集中其他数据点和候选集中所有数据点与该区域的位置关系O步骤506:判断是否存在某个数据点P2落在该区域内,存在则转步骤502 ;否则转步骤507。步骤507:将数据点P1插入反轮廓点集中,转步骤502。步骤508:计算结束。本实施例中,所述反轮廓查询方法应用于分布式数据集,利用全局支配的概念,在中央节点和分布节点计算查询点的全局轮廓点集后,会进一步计算出第二层全局轮廓点集;结合数据摘要的思想,分布节点采用基于两层轮廓点传送方法,避免发送全部数据集,通信开销合理,且中央节点和分布节点的负载也比较平衡,能够很好的应用于分布式数据集环境。通过本发明实施例公开的反轮廓查询方法,实现了分布式数据集环境中的反轮廓查询。上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了对应于上述实施例记载方法的装置,下面给出具体的实施例进行详细说明。实施例二图6为本发明实施例公开的反轮廓查询装置结构示意图,该装置应用于分布式数据集中的中央节点,参见图6所示,所述反轮廓查询装置60可以包括:查询点接收模块601,用于接收用户输入的查询点。
数据接口模块602,用于将所述查询点发送至所有的分布节点,并接收各个分布节点发送的全局轮廓点集和第二层全局轮廓点集。其中,所述第二层全局轮廓点集可以包括一个或多个第二层全局轮廓点;所述查询点的第二层全局轮廓点为在数据集去除全局轮廓点后的数据集中不存在任何数据点全局支配的数据点。数据集合并模块603,用于将接收到的所有全局轮廓点集和第二层全局轮廓点集合并为总数据集。其中,所有的全局轮廓点集和第二层全局轮廓点集可以取并集。考虑到后续中央节点计算总数据集的全局轮廓点集和第二层全局轮廓点集的复杂性,可以将所有全局轮廓点集和所有第二层全局轮廓点集分别进行合并存储。第一数据集获取模块604,用于根据所述查询点从所述总数据集中获取所述查询点的全局轮廓点集和第二层全局轮廓点集。数据计算模块605,用于根据从所述总数据集中获取的所述全局轮廓点集和所述第二层全局轮廓点集计算获得所述查询点的反轮廓点集。在一个示意性的示例中,所述数据计算模块605的具体结构可以参见图7,图7为本发明实施例公开的数据计算模块结构示意图,如图7所示,所述数据计算模块605可以包括:第一数据准备模块701,用于将从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集读入内存,生成反轮廓点集并初始化为空集。窗口剪枝模块702,用于根据所述查询点,采用所述全局轮廓点中非当前窗口剪枝的数据点的其他数据点和第二层全局轮廓点集中所有的数据点对所述全局轮廓点集中的每一个数据点进行窗口剪枝。数据生成模块703,用于将没有被窗口剪枝掉的数据点存入所述反轮廓点集。本实施例中,所述反轮廓查询装置应用于分布式数据集中的中央节点,该装置利用全局支配的概念,在中央节点和分布节点计算查询点的全局轮廓点集后,会进一步计算出第二层全局轮廓点集;结合数据摘要的思想,分布节点采用基于两层轮廓点传送方法,避免发送全部数据集,通信开销合理,且中央节点和分布节点的负载也比较平衡,能够很好的应用于分布式数据集环境。实施例三图8为本发明实施例公开的另一个反轮廓查询装置结构示意图,该装置应用于分布式数据集中的分布节点,参见图8所示,所述反轮廓查询装置80可以包括:查询点接收模块801,用于接收中央节点发送的查询点。第二数据集获取模块802,用于在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集。在一个示意性的示例中,所述第二数据集获取模块802的具体结构可以参见图9,图9为本发明实施例公开的第二数据集获取模块结构示意图,如图9所示,所述第二数据集获取模块802可以包括:第二数据准备模块901,用于将本地数据集读入内存。数据划分及排序模块902,用于以所述查询点为中心,对所述本地的数据集建立网格索引,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序。网格数据集获取模块903,用于从每一个网格内的、已经升序排序好的数据点中获取网格全局轮廓点集和网格第二层全局轮廓点集。网格数据集合并模块904,用于将所有的网格全局轮廓点集合并为全局轮廓点集,并将所有的网格第二层全局轮廓点集合并为第二层全局轮廓点集。数据集发送模块803,用于将在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集发送至所述中央节点,以使得所述中央节点根据由分布节点在本地数据集中获取的全局轮廓点集和第二层全局轮廓点集合并而成的总数据集,获取所述查询点的全局轮廓点集和第二层全局轮廓点集,并根据从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集计算得到所述查询点的反轮廓点集。本实施例中,所述反轮廓查询装置应用于分布式数据集中的分布节点,该装置利用全局支配的概念,在中央节点 和分布节点计算查询点的全局轮廓点集后,会进一步计算出第二层全局轮廓点集;结合数据摘要的思想,分布节点采用基于两层轮廓点传送方法,避免发送全部数据集,通信开销合理,且中央节点和分布节点的负载也比较平衡,能够很好的应用于分布式数据集环境。此外,本发明实施例还公开了一种反轮廓查询系统,所述反轮廓查询系统应用于分布式数据集,该系统可以包括应用于分布式数据集中的中央节点的第一装置和应用于分布式数据集中的分布节点的第二装置。其中,所述第一装置可以是上述实施例二公开的应用于中央节点的反轮廓装置;所述第二装置可以是上述是实例三公开的应用于分布节点的反轮廓装置。本发明实施例公开的反轮廓查询系统应用于分布式数据集,同样能够利用全局支配的概念,在中央节点和分布节点计算查询点的全局轮廓点集后,会进一步计算出第二层全局轮廓点集;结合数据摘要的思想,分布节点采用基于两层轮廓点传送方法,避免发送全部数据集,通信开销合理,且中央节点和分布节点的负载也比较平衡,能够很好的应用于分布式数据集环境。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种反轮廓查询方法,应用于分布式数据集,其特征在于,包括: 中央节点接收用户输入的查询点,并将所述查询点发送至所有的分布节点; 各个分布节点分别将在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集发送至所述中央节点; 中央节点将接收到的所有全局轮廓点集和第二层全局轮廓点集合并为总数据集;中央节点根据所述查询点从所述总数据集中获取所述查询点的全局轮廓点集和第二层全局轮廓点集; 中央节点根据从所述总数据集中获取的所述全局轮廓点集和所述第二层全局轮廓点集计算获得所述查询点的反轮廓点集。
2.根据权利要求1所述的方法,其特征在于,所述第二层全局轮廓点集包括一个或多个第二层全局轮廓点;所述查询点的第二层全局轮廓点为在数据集去除全局轮廓点后的数据集中不存在任何数据点全局支配的数据点。
3.根据权利要求1所述的方法,其特征在于,所述总数据集中的全局轮廓点集和第二层全局轮廓点集分别存储。
4.根据权利要求1所述的方法,其特征在于,所述分布节点在本地数据集中获取全局轮廓点集和第二层全局轮廓点集,包括: 分布节点将本地数据集读入内存; 以所述查询点为中心,对所述本地的数据集建立网格索弓I,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序; 从每一个网格内的、已经升序排序好的数据点中获取网格全局轮廓点集和网格第二层全局轮廓点集; 将所有的网格全局轮廓点集合并为全局轮廓点集,并将所有的网格第二层全局轮廓点集合并为第二层全局轮廓点集。
5.根据权利要求1所述的方法,其特征在于,所述中央节点计算获得所述查询点的反轮廓点集,包括: 中央节点将从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集读入内存,生成反轮廓点集并初始化为空集; 根据所述查询点,采用所述全局轮廓点中非当前窗口剪枝的数据点的其他数据点和第二层全局轮廓点集中所有的数据点对所述全局轮廓点集中的每一个数据点进行窗口剪枝; 将没有被窗口剪枝掉的数据点存入所述反轮廓点集。
6.一种反轮廓查询装置,应用于分布式数据集中的中央节点,其特征在于,包括: 查询点接收模块,用于接收用户输入的查询点; 数据接口模块,用于将所述查询点发送至所有的分布节点,并接收各个分布节点发送的全局轮廓点集和第二层全局轮廓点集; 数据集合并模块,用于将接收到的所有全局轮廓点集和第二层全局轮廓点集合并为总数据集; 第一数据集获取模块,用于根据所述查询点从所述总数据集中获取所述查询点的全局轮廓点集和第二层全局轮廓点集;数据计算模块,用于根据从所述总数据集中获取的所述全局轮廓点集和所述第二层全局轮廓点集计算获得所述查询点的反轮廓点集。
7.根据权利要求6所述的装置,其特征在于,所述数据计算模块包括: 第一数据准备模块,用于将从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集读入内存,生成反轮廓点集并初始化为空集; 窗口剪枝模块,用于根据所述查询点,采用所述全局轮廓点中非当前窗口剪枝的数据点的其他数据点和第二层全局轮廓点集中所有的数据点对所述全局轮廓点集中的每一个数据点进行窗口剪枝; 数据生成模块,用于将没有被窗口剪枝掉的数据点存入所述反轮廓点集。
8.一种反轮廓查询装置,应用于分布式数据集中的分布节点,其特征在于,包括: 查询点接收模块,用于接收中央节点发送的查询点; 第二数据集获取模块,用于在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集; 数据集发送模块,用于将在本地数据集中获取的所述查询点的全局轮廓点集和第二层全局轮廓点集发送至所述中央节点,以使得所述中央节点根据由分布节点在本地数据集中获取的全局轮廓点集和第二层全局轮廓点集合并而成的总数据集,获取所述查询点的全局轮廓点集和第二层全局轮廓点集,并根据从所述总数据集中获取的全局轮廓点集和第二层全局轮廓点集计算得到所述查询点的反轮廓点集。
9.根据权利要求8所述的装置,其特征在于,所述第二数据集获取模块包括:第二数据准备模块,用于将本地数据集读入内存; 数据划分及排序模块,用于以所述查询点为中心,对所述本地的数据集建立网格索引,并对生成的每一个网格内的数据点按其各个维度与所述查询点各个维度距离之和升序排序; 网格数据集获取模块,用于从每一个网格内的、已经升序排序好的数据点中获取网格全局轮廓点集和网格第二层全局轮廓点集; 网格数据集合并模块,用于将所有的网格全局轮廓点集合并为全局轮廓点集,并将所有的网格第二层全局轮廓点集合并为第二层全局轮廓点集。
10.一种反轮廓查询系统,应用于分布式数据集,其特征在于,包括应用于中央节点的第一装置和应用于分布节点的第二装置;所述第一装置为如权利要求5-7任一项所述的反轮廓查询装置;所述第二装置为如权利要求8-9任一项所述的反轮廓查询装置。
全文摘要
本发明公开了一种反轮廓查询方法、装置及系统,该反轮廓查询方法、装置及系统应用于分布式数据集,所述反轮廓查询方法利用全局支配的概念,在中央节点和分布节点计算查询点的全局轮廓点集后,会进一步计算出第二层全局轮廓点集;结合数据摘要的思想,分布节点采用基于两层轮廓点传送方法,避免发送全部数据集,通信开销合理,且中央节点和分布节点的负载也比较平衡,能够很好的应用于分布式数据集环境。通过本发明实施例公开的反轮廓查询方法、装置及系统,填补了分布式数据集环境中反轮廓查询技术的空白,实现了分布式数据集环境中的反轮廓查询。
文档编号G06F17/30GK103207915SQ201310136508
公开日2013年7月17日 申请日期2013年4月18日 优先权日2013年4月18日
发明者赵雷, 杨萍萍 申请人:苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1