本发明涉及最小社区搜索领域,特别涉及一种最小社区搜索方法、装置、系统及计算机可读存储介质。
背景技术:
1、作为图论中的一类基础问题,社区搜索旨在从大型网络中搜索高质量的社区,适用于事件组织、朋友推荐、电子商务等各种应用。然而随着社交网络的继续发展,社区搜索已经不能满足人们日益增长的客观需求。例如某活动的主办方出于活动场地的限制,希望邀请的用户在关联度高的情况下尽可能的少。上述问题被称为最小社区搜索问题。与社区搜索不同的是,最小社区搜索问题要求返回的社区(子图)在关联紧密的情况下规模尽可能的小。
2、现有的最小社区搜索研究存在效率低,结果社区的质量不高以及不适用于多个查询节点的问题。为了提高社区搜索的效率,一些研究提出使用云技术来完成社区搜索,在解放客户端存储负担的同时可以利用云服务器的高性能大幅提高搜索速度。然而由于社交网络中包含大量用户的隐私数据,直接将索引外包给云服务器会带来隐私数据泄露的隐患。
技术实现思路
1、本发明的目的在于提供一种最小社区搜索方法、装置、系统及存储介质,应用于最小社区搜索领域,该方法通过对最小社区搜索进行加密避免了现有技术中在云服务器进行最小社区搜索而导致的隐私泄露问题,保护数据安全。
2、为解决上述技术问题,本发明提供一种最小社区搜索方法,包括:
3、接收数据端发送的经过bgn算法加密后的邻接索引与核树索引;其中,所述数据端对所述核树索引中每个树结点构造对应的布隆过滤器数组;
4、当接收到客户端生成的查询陷门令牌时,在所述核树索引中根据所述布隆过滤器数组定位初始社区;
5、使用数组比较协议基于所述初始社区与所述邻接索引生成目标社区;
6、将所述目标社区发送至所述客户端,以使所述客户端对所述目标社区进行解密,得到目标结果。
7、可选的,所述在所述核树索引中根据所述布隆过滤器数组定位初始社区,包括:
8、根据所述查询陷门令牌中每个查询节点的陷门与对应所述树结点的结点标识计算对应位置陷门;
9、根据所述位置陷门在所述核树索引中根据所述布隆过滤器数组定位包括所述查询节点的最低祖先;
10、将所述最低祖先包含的全部节点确定为所述初始社区。
11、可选的,所述使用数组比较协议基于所述初始社区与所述邻接索引生成目标社区,包括:
12、建立所述初始社区的状态数组;
13、根据所述邻接索引计算所述初始社区中每个所述节点的评估值;
14、使用所述数组比较协议更新所述评估值的所述状态数组,根据更新后的所述状态数组从所述初始社区中确定所述目标社区。
15、可选的,所述建立所述初始社区的状态数组,包括:
16、第一云服务器根据所述初始社区中的节点标识与所述查询陷门令牌中的所述节点标识计算第一辅助参数,将所述第一辅助参数发送至第二云服务器;
17、所述第二云服务器根据bgn密钥参数与所述第一辅助参数生成第二辅助参数,根据所述第二辅助参数返回状态值至所述第一云服务器;
18、所述第一云服务器根据所述状态值更新所述状态数组,建立所述初始社区的所述状态数组。
19、可选的,所述接收数据端发送的经过bgn算法加密后的邻接索引,包括:
20、所述数据端调用bgn密钥对节点标志位与节点标识进行bgn加密,生成加密后的所述邻接索引发送至云服务器;
21、所述云服务器接收所述数据端发送的加密后的所述邻接索引。
22、可选的,所述接收数据端发送的经过bgn算法加密后的核树索引,包括:
23、所述数据端调用bgn密钥对每个树结点的核值与节点标识进行bgn加密,生成加密后的所述核树索引发送至云服务器;
24、所述云服务器接收所述数据端发送的加密后的所述核树索引。
25、可选的,所述客户端对所述目标社区进行解密,得到目标结果,包括:
26、所述客户端使用所述bgn密钥对所述目标社区中的所述状态数组进行解密;
27、根据解密后的所述状态数组与所述初始社区得到目标节点;
28、使用所述bgn密钥对所述目标节点进行解密,得到目标结果。
29、为解决上述技术问题,本发明还提供一种最小社区搜索装置,包括:
30、接收模块,用于接收数据端发送的经过bgn算法加密后的邻接索引与核树索引;其中,所述数据端对所述核树索引中每个树结点构造对应的布隆过滤器数组;
31、定位模块,用于当接收到客户端生成的查询陷门令牌时,在所述核树索引中根据所述布隆过滤器数组定位初始社区;
32、筛选模块,用于使用数组比较协议基于所述初始社区与所述邻接索引生成目标社区;
33、结果模块,用于将所述目标社区发送至所述客户端,以使所述客户端对所述目标社区进行解密,得到目标结果。
34、为解决上述技术问题,本发明还提供一种最小社区搜索系统,包括:
35、数据端,用于将经过bgn算法加密后的邻接索引与核树索引发送至云服务器;其中,对所述核树索引中每个树结点构造对应的布隆过滤器数组;
36、云服务器,用于接收所述邻接索引与所述核树索引;当接收到查询陷门令牌时,在所述核树索引中根据所述布隆过滤器数组定位初始社区;使用数组比较协议基于所述初始社区与所述邻接索引生成目标社区;将所述目标社区发送至客户端;
37、客户端,用于生成所述查询陷门令牌发送至云服务器;对接收到的所述目标社区进行解密,得到目标结果。
38、为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现上述对应所述最小社区搜索方法。
39、可见,本发明方法通过接收数据端发送的经过bgn算法加密后的邻接索引与核树索引;其中,数据端对核树索引中每个树结点构造对应的布隆过滤器数组;当接收到客户端生成的查询陷门令牌时,在核树索引中根据布隆过滤器数组定位初始社区;使用数组比较协议基于初始社区与邻接索引生成目标社区;将目标社区发送至客户端,以使客户端对目标社区进行解密,得到目标结果。通过对最小社区搜索进行加密避免了现有技术中在云服务器进行最小社区搜索而导致的隐私泄露问题,保护数据安全。
1.一种最小社区搜索方法,其特征在于,包括:
2.根据权利要求1所述的最小社区搜索方法,其特征在于,所述在所述核树索引中根据所述布隆过滤器数组定位初始社区,包括:
3.根据权利要求1所述的最小社区搜索方法,其特征在于,所述使用数组比较协议基于所述初始社区与所述邻接索引生成目标社区,包括:
4.根据权利要求3所述的最小社区搜索方法,其特征在于,所述建立所述初始社区的状态数组,包括:
5.根据权利要求1所述的最小社区搜索方法,其特征在于,所述接收数据端发送的经过bgn算法加密后的邻接索引,包括:
6.根据权利要求1所述的最小社区搜索方法,其特征在于,所述接收数据端发送的经过bgn算法加密后的核树索引,包括:
7.根据权利要求1至6任一项所述的最小社区搜索方法,其特征在于,所述客户端对所述目标社区进行解密,得到目标结果,包括:
8.一种最小社区搜索装置,其特征在于,包括:
9.一种最小社区搜索系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现如权利要求1至4任一项所述最小社区搜索方法。