1.一种基于多核处理器的轮廓层次查询并行处理方法,其特征在于实施步骤包括:1)输入包含n个数据元组的数据集D={Q 1 ,Q 2 ,...,Q n }以及分块大小α,数据集D中第i个数据元组 表示第i个数据元组Q i 的第j个属性值,d表示数据元组的属性数目;2)将数据集D中的数据元组按照升序进行排序;3)将待输出的层次轮廓Skyline layers置为空集;4)对数据集D以分块大小α划分分块后进行轮廓层次查询批处理,在每一个分块中,线程并行处理分块中的点并更新层次轮廓Skyline layers,当分块中的点都被处理完成之后,再串行对分块之中所有点进行处理更新层次轮廓Skyline layers,当数据集D的所有分块都处理完成之后,得到数据集D的层次轮廓Skyline layers并输出;步骤4)的详细步骤包括:4.1)从数据集D中取出前α个数据元组复制到数据集D′,其中α为输入的分块大小;4.2)将从数据集D中取出前α个数据元组从数据集D中移除,其中α为输入的分块大小;4.3)对数据集D′中的任意数据元组D′[i]基于多核处理器并行执行步骤①;步骤①:从层次序列layer=<layer 1 ,layer 2 ,...,layer K >中顺序选出laydr j (1≤j≤K),如果对于任意Q∈layer j 满足 将D′[i]的层次设置为j;数据集D的层次轮廓Skyline layers为层次序列layer=<layer 1 ,layer 2 ,...,layer K >满足以下三个条件(a)(b)(c):(a)layer 1 即为数据集D的Skyline;(b)对于任意i(1≤i≤K),layer i 是数据集 的Skyline;(c) 数据集D的Skyline包含了不被其他数据元组所支配的数据元组;对于两个元组Q j 和Q i ,若g j 支配Q i 表示为 表示当且仅当Q j 在所有属性上都优于或等于Q i ,并且至少在一个属性上严格优于Q i ;4.4)对数据集D′中的任意数据元组 基于多核处理器并行执行步骤②;步骤②:如果存在j<i,满足 将数据元组D′[j]放入数据元组D′[i]的支配列表中;对于两个元组Q j 和Q i ,若Q j 支配Q i 表示为 表示当且仅当Q j 在所有属性上都优于或等于Q i ,并且至少在一个属性上严格优于Q i ;4.5)对数据集D′中的任意数据元组D′[i]串行执行步骤③和步骤④;步骤③:如果数据元组 支配列表中数据元组的最大层次数大于等于数据元组 的层次数,将数据元组D′[i]的层次数置为数据元组D′[i]支配列表中数据元组的最大层次数+1;步骤④:将数据元组 插入对应的层次轮廓Skyline layers中;4.6)判断数据集D是否为空,如果数据集D非空则跳转执行步骤4);否则,将层次轮廓Skyline layers作为轮廓层次查询并行处理结果输出。
2.根据权利要求1所述的基于多核处理器的轮廓层次查询并行处理方法,其特征在于,步骤2)将数据集D中的数据元组按照升序进行排序具体是指将数据集D中的数据元组按照给定的函数L 1 进行排序。
3.根据权利要求2所述的基于多核处理器的轮廓层次查询并行处理方法,其特征在于,给定的函数L 1 的表达式为 其中Q i 为数据元组Q的第i个属性值,d表示数据元组的属性数目。