1.一种安全多目标数据对象查询方法,其特征在于,所述方法包括:
获取明文数据集,所述明文数据集中包括至少一个明文数据对象,每个所述明文数据对象包括至少一个维度的属性数据;
对所述明文数据集中的各个明文数据对象进行第一加密,得到所述明文数据对象对应的第一加密数据对象,得到第一加密数据对象集;对所述明文数据集中的各个明文数据对象进行第二加密,得到所述明文数据对应的第二加密数据对象,得到第二加密数据对象集;
构建第一加密数据对象集和所述第二加密数据对象集的映射,具有映射关系的第一加密数据对象和第二加密数据对象指向相同的明文数据对;
对所述第一加密数据对象集进行多目标数据对象查询,得到目标第一加密数据对象集;
根据所述映射得到所述目标第一加密数据对象集对应的目标第二加密数据对象集;
对所述目标第二加密数据对象集进行解密,得到目标明文数据对象集。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一加密数据对象集进行多目标数据对象查询,得到目标第一加密数据对象集,包括:基于所述第一加密数据对象集得到N个第一加密数据对象子集,其中,第i(i≤N)个第一加密数据对象子集中的第一加密数据对象满足下述要求:所述第一加密数据对象中第i(i≤N)个属性对应的属性数据的值大于所述第一加密数据对象中其它属性对应的属性数据的值;
对所述N个所述第一加密数据对象子集中的第一加密数据对象进行排序,所述排序满足下述要求:第i(i≤N)个第一加密数据对象子集按照标志维度中的属性数据的取值降序的顺序排列其中的第一数据对象,所述标志维度为第i(i≤N)个维度;
对每一个排序后的第一加密数据对象子集构建其对应的索引;
基于所述索引进行多目标数据对象查询,得到目标第一加密数据对象集。
3.根据权利要求2所述的方法,其特征在于,所述对每一个排序后的第一加密数据对象子集构建其对应的索引,包括:使用B+树构建索引,将每一个排序后的第一加密数据对象子集内的数据对象按照顺序将其对应的第一加密数据对象存入B+树中;
对B+树叶子节点中的值建立双向的指针链接。
4.根据权利要求3所述的方法,其特征在于,所述基于所述索引进行多目标数据对象查询,得到目标第一加密数据对象集,包括:初始化目标第一加密数据对象集为空集;
设定当前分区标识i和与所述当前分区标识对应的当前分区对象集,将所述当前分区对象集初始化为空集,将所述当前分区标识初始化为1;
根据所述当前分区标识和所述第一加密数据对象集得到当前加密对象集,所述当前加密对象集中的数据对象均满足下述条件:被所述第一加密数据对象集命中,并且其具备的属性数据命中当前分区标识i对应的目标数据,所述目标数据为这样一种数据:提取所述第一加密数据对象集中全部数据对象的全部属性数据得到数据集,对所述数据集去除取值相同的数据后进行降序排列得到数据排序结果,所述数据排序结果中的第i个数据即为当前分区标识i对应的目标数据;
对所述当前加密对象集进行多目标数据对象查询,查询结果存储在当前分区对象集,将所述当前分区对象集合并入所述目标第一加密数据对象集;
判断查询停止条件是否被满足,若否,则分区标识i自增一,清空所述当前分区对象集,返回执行步骤:根据所述当前分区标识和所述第一加密数据对象集得到当前加密对象集,所述当前加密对象集中的数据对象均满足下述条件:被所述第一加密数据对象集命中,并且其具备的属性数据命中当前分区标识i对应的目标数据,所述目标数据为这样一种数据:提取所述第一加密数据对象集中全部数据对象的全部属性数据得到数据集,对所述数据集去除取值相同的数据后进行降序排列得到数据排序结果,所述数据排序结果中的第i个数据即为当前分区标识i对应的目标数据。
5.根据权利要求4所述的方法,其特征在于,为某个第一加密数据对象子集更新其访问标记的方法为:获取各个第一加密数据对象子集的最大标记值maxi和最小标记值mini,所述最大标记值为所述第一加密数据对象子集对应的B+树索引的最右值指向的第一加密数据对象的各个属性数据中的最大值;所述最小标记值为所述第一加密数据对象子集对应的B+树索引的最右值指向的第一加密数据对象的各个属性数据中的最小值;
将各个最大标记值maxi的最大值确定为最大参考标记值mx,将各个最大标记值mini的最大值确定为最大参考标记值mn;
对于某个第一加密数据对象子集,若其对应的最大标记值maxi小于最大参考标记值mn,则所述第一加密数据对象子集的访问标记被更新为false。
6.根据权利要求5所述的方法,其特征在于,所述从满足预设条件的目标第一加密数据对象子集中提取具备的属性数据命中目标数据的第一加密数据对象,构成当前加密对象集,包括:对于各个满足预设条件的目标第一加密数据对象子集,执行下述步骤:
初始化待选集合为空集;
循环执行下述步骤:若所述目标第一加密数据对象子集的最大标记值maxi等于最大参考标记值mx,将其对应的B+树索引的最右值指向的第一加密数据对象确定为标记对象,将所述标记对象加入所述待选集合;根据所述第一加密数据对象子集的索引寻找所述标记对象的左节点,将其更新为新的标记对象,将目标第一加密数据对象子集的最大标记值maxi更新为所述标记对象各个属性数据中的最大值;
将待选集合合并入当前加密对象集。
7.根据权利要求6所述的方法,其特征在于,所述对所述当前加密对象集进行多目标数据对象查询,包括:使用块嵌套环算法实现多目标查询。
8.根据权利要求1所述的方法,其特征在于:
基于所述多目标查询产生的目标第一加密数据对象集中的第一加密数据对象均满足这样的条件:目标第一加密数据对象集中的第一加密数据对象均不会被所述目标第一加密数据对象集中的其它第一加密数据对象控制;控制的含义为:若一个数据对象A控制另一个数据对象B,当且仅当,数据对象A的任何属性数据的值都大于等于数据对象B的相应的属性数据的值,并且数据对象A的属性数据不能全部等于数据对象B的相应的属性数据的值。
9.根据权利要求8所述的方法,其特征在于:
所述查询停止条件可以根据实际需要进行设置,包括:
所述目标第一加密数据对象集中元素数量达到预设阈值;
或,
分区标识i达到预设阈值。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-9任意一项所述的一种安全多目标数据对象查询方法。