技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于隐私保护联合构建图数据、进行图查询的方法和装置与流程  >  正文

基于隐私保护联合构建图数据、进行图查询的方法和装置与流程

  • 国知局
  • 2025-01-10 13:37:51

本说明书一个或多个实施例涉及计算机,尤其涉及一种基于隐私保护联合构建图数据的方法和装置,一种基于隐私保护进行图查询的方法和装置,一种计算机可读存储介质,以及一种计算设备。

背景技术:

1、关系网络图,或简称图(graphs)是对现实世界中实体之间的关系的描述,因其固有的互联性,在金融行业、社交网络、公共卫生等多个领域发挥了重要作用。一般地,关系网络图包含节点集合和边集合,节点(node)或者说顶点(vertex)表示现实世界中的实体,边(edge)表示现实世界中实体之间的联系。例如,在社交网络中,用户就是实体,两个用户之间的关系或联系就是边。

2、图上的一个关键应用是以自我为中心的查询(ego-centric queries),这种查询聚焦于一个中心节点及其所有直接连接的邻居(即一阶邻居)。例如,在金融行业,通过查询交易图中交易账户之间的关系,可以辅助检测非法资金转移、识别高风险账户等。

3、基于多方图融合的图查询在多个领域都有很大的应用前景。例如,联合多方银行的数据可以进行更全面的风险账户或风险交易检测;又例如,联合多个社交平台的数据可以进行更全面的社交数据查询,从而为用户提供更加精准的推荐内容等。然而,出于隐私保护需求,各个数据方往往无法直接共享图数据。

4、理论上,安全多方计算(secure multi-party computation,简称mpc)技术可以让多个参与方在不直接共享数据的前提下完成约定好的计算任务,包括图查询。然而,由于实际应用场景中图数据的规模往往很大,导致现有的多方隐私图查询方式难以高效完成图查询,实用性有限。

5、因此,迫切需要一种方案,可以在不破坏隐私性的同时实现高效的多方联合图查询。

技术实现思路

1、本说明书实施例描述一种基于隐私保护联合构建图数据、进行图查询的方法和装置,对于任一基础查询,可以在不遍历全图的基础上得到查询结果,从而实现高效的图查询。

2、根据第一方面,提供一种基于隐私保护联合构建图数据的方法,应用于多个计算方中的任一计算方,包括:

3、从n个数据方中的任一数据方接收其私有图数据在秘密分享下的私有图分片,所述私有图数据组织为b*b个块构成的矩阵,其中第i行第j列的块记录:该数据方的私有图中起点和终点分别位于第i个和第j个节点范围的连接边列表,其中b为公开参数。组合接收到的n份私有图分片,从而构建本方中针对全局图数据的全局图分片,所述全局图数据为所述n个数据方的n个私有图数据的融合结果。基于所述全局图分片,构建两个数组和对应的两套索引数据;其中第一数组包含b个第一元素,单个第一元素对应所述全局图分片中一行b个块的数据;第二数组包含b2个第二元素,其分别对应所述全局图分片中b2个块的数据。

4、在一些实施例中,所述连接边列表中的多个连接边按照起点和终点的联合键顺序排列。

5、在一些实施例中,所述b*b个块中各个块记录的连接边条数相同;所述b*b块中至少有一个块包含填充的空边。

6、在一些实施例中,组合接收到的n份私有图分片,包括:获取所述n份私有图分片中均位于第i行第j列的n个块中的n份连接边列表分片;通过与其他计算方进行用于联合比较的mpc计算,对所述n份连接边列表分片中的连接边分片进行按照起点标识的联合排序;基于联合排序后的连接边分片形成所述全局图分片中第i行第j列的块。

7、在一些实施例中,基于所述全局图分片,构建两个数组和对应的两套索引数据,包括:对所述全局图分片按行进行顺序提取,每行作为单个数组元素形成第三数组,所述第三数组的物理索引序列和其逻辑索引序列一致;对所述全局图分片逐行进行块的顺序提取,每个块作为单个数组元素形成第四数组,所述第四数组的物理索引序列和其逻辑索引序列一致;基于所述第三和第四数组及其各自的逻辑索引序列,确定所述两个数组和对应的两套索引数据。

8、进一步,在一些具体的实施例中,基于所述第三和第四数组及其各自的逻辑索引序列,确定所述两个数组和对应的两套索引数据,包括:分别将第三数组和第四数组作为原始数组;基于所述原始数组和其逻辑索引序列,与其他计算方联合进行用于乱序重排的mpc计算,得到原始数组对应的重排后数组,以及指示所述逻辑索引序列映射到所述重排后数组的物理索引序列的索引映射分片;将所述重排后数组归入所述两个数组,以及,将所述原始数组的逻辑索引序列作为所述重排后数组的逻辑索引序列,与所述索引映射分片一并归入该重排后数组对应的一套索引数据。

9、更进一步地,在一些示例中,所述用于乱序重排的mpc计算通过目标协议实现,所述目标协议的输入包括所述原始数组和其对应的逻辑索引序列,以及本地随机生成的针对所述乱序重排的重排函数分片和重排函数的逆函数分片。

10、在一些实施例中,所述多个计算方为3个计算方,所述秘密分享的实现基于(2,3)-秘密分享方案。

11、根据第二方面,提出一种基于隐私保护进行图查询的方法,应用于多个计算方中的任一计算方,其中维护基于第一方面提供的方法而构建的两个数组和对应的两套索引数据。所述方法包括:

12、根据从客户端接收的图查询请求,从所述两个数组中确定目标数组;所述图查询请求包括目标对象标识在秘密分享下的对象标识分片;其中目标对象为节点或边。基于所述对象标识分片,以及所述目标数组对应的目标索引数据,通过与其他计算方联合进行第一mpc计算,定位到所述目标数组的单个数组元素。基于所述对象标识分片,以及所述单个数组元素包含的全局子图分片,通过与其他计算方联合进行第二mpc计算,得到图查询结果的结果分片,用于提供给所述客户端。

13、在一些实施例中,根据从客户端接收的图查询请求,从所述两个数组中确定目标数组,包括:在所述目标对象为节点的情况下,将所述两个数组中的第一数组确定为目标数组;在所述目标对象为边的情况下,将所述两个数组中的第二数组确定为目标数组。

14、在一些实施例中,定位到目标数组的单个数组元素,包括:利用所述对象标识分片,确定目标对象在目标数组中的目标逻辑索引的索引分片;基于所述索引分片和所述目标索引数据,通过执行所述第一mpc计算,定位到所述单个数组元素。

15、进一步,在一些具体的实施例中,所述目标数组是对原始数组进行重排而得到,所述原始数组和目标数组具有相同的逻辑索引序列,且所述原始数组的物理索引序列与其逻辑索引序列一致;所述目标索引数据包括:指示所述逻辑索引序列映射到所述目标数组的物理索引序列的索引映射分片。其中,基于所述索引分片和所述目标索引数据,通过执行所述第一mpc计算,定位到所述单个数组元素,包括:基于所述索引分片和所述索引映射分片,执行所述第一mpc计算,得到所述目标逻辑索引对应的目标物理索引;根据所述目标物理索引,定位到存储的所述单个数组元素。

16、在一些实施例中,所述目标对象为目标边,其边标识分片包括目标起点子分片和目标终点子分片,所述全局子图分片中包括对应l个连接边的l份边分片,各份边分片包括起点子分片和终点子分片。其中,基于所述对象标识分片,以及所述单个数组元素包含的全局子图分片,通过与其他计算方联合进行第二mpc计算,得到图查询结果的结果分片,包括:将所述目标边的边标识分片复制成l份;基于l份边标识分片和所述l份边分片执行所述第二mpc计算,得到所述结果分片。

17、进一步,在一些具体的实施例中,所述图查询请求指示查询所述目标边是否被包含在全局图数据中;其中,基于l份边标识分片和所述l份边分片执行所述第二mpc计算,得到所述结果分片,包括:

18、基于l份边标识分片中的l份目标起点子分片,以及所述l份边分片中的l份起点子分片,通过与其他计算方联合进行用于按位相等判别的第一mpc子计算,得到第一掩码分片;基于l份边标识分片中的l份目标终点子分片,以及所述l份边分片中的l份终点子分片,通过与其他计算方联合进行用于按位相等判别的第二mpc子计算,得到第二掩码分片;基于所述第一掩码分片和第二掩码分片,通过与其他计算方联合进行用于按位逻辑与运算的第三mpc子计算,得到第三掩码分片;基于所述第三掩码分片,通过与其他计算方联合进行用于判别是否存在数值为1的比特位的第四mpc子计算,得到所述结果分片。

19、在一些实施例中,所述目标对象为目标节点,所述全局子图分片中包括对应l个连接边的l份边分片,各份边分片包括起点子分片和终点子分片。其中,基于所述对象标识分片,以及所述单个数组元素包含的全局子图分片,通过与其他计算方联合进行第二mpc计算,得到图查询结果的结果分片,包括:将目标节点的标识分片复制成l份,得到l份目标点分片;基于l份目标点分片和所述l份边分片执行所述第二mpc计算,得到所述结果分片。

20、进一步,在一些具体的实施例中,所述图查询请求指示查询所述目标节点的一阶邻居节点数量;其中,基于l份目标点分片和所述l份边分片执行所述第二mpc计算,得到所述结果分片,包括:

21、基于l份目标点分片,以及所述l份边分片中的l份起点子分片,通过与其他计算方联合进行用于按位相等判别的第一mpc子计算,得到第一掩码分片,其属于布尔分片;基于所述第一掩码分片,通过与其他计算方联合进行用于分片类型转换的第二mpc子计算,得到第二掩码分片,其属于算数分片;基于所述第二掩码分片,通过与其他计算方联合进行用于计算比特位和值的第三mpc子计算,得到所述结果分片。

22、在另一些具体的实施例中,所述图查询请求指示查询所述目标节点的一阶邻居节点;其中,基于l份目标点分片和所述l份边分片执行所述第二mpc计算,得到所述结果分片,包括:

23、基于l份目标点分片,以及所述l份边分片中的l份起点子分片,通过与其他计算方联合进行用于按位相等判别的第一mpc子计算,得到第一掩码分片;基于所述第一掩码分片和所述l份边分片中的l份终点子分片,通过与其他计算方联合进行用于对位相乘的第二mpc子计算,得到候选节点分片;基于所述候选节点分片确定所述结果分片。

24、更进一步地,在一些例子中,基于所述候选节点分片确定所述结果分片,包括:基于所述候选节点分片,通过与其他计算方联合进行用于去重处理的第三mpc子计算,得到去重节点分片;基于所述去重节点分片确定所述结果分片。

25、在一些更具体的例子中,所述全局子图中的l个边分片被按照对应的起点标识预先排序,所述第三mpc子计算的计算协议针对相邻元素的去重而设计。

26、在一些更具体的例子中,基于所述去重节点分片确定所述结果分片,包括:基于所述去重后分片,通过与其他计算方联合进行用于乱序重排的第四mpc子计算,得到所述结果分片。

27、根据第三方面,提供一种基于隐私保护联合构建图数据的装置,集成于多个计算方中的任一计算方,包括:

28、私有图分片接收模块,配置为从n个数据方中的任一数据方接收其私有图数据在秘密分享下的私有图分片,所述私有图数据组织为b*b个块构成的矩阵,其中第i行第j列的块记录:该数据方的私有图中起点和终点分别位于第i个和第j个节点范围的连接边列表,其中b为公开参数。私有图分片组合模块,配置为组合接收到的n份私有图分片,从而构建本方中针对全局图数据的全局图分片,所述全局图数据为所述n个数据方的n个私有图数据的融合结果。全局图数构建模块,配置为基于所述全局图分片,构建两个数组和对应的两套索引数据;其中第一数组包含b个第一元素,单个第一元素对应所述全局图分片中一行b个块的数据;第二数组包含b2个第二元素,其分别对应所述全局图分片中b2个块的数据。

29、根据第四方面,提供一种基于隐私保护进行图查询的装置,集成于多个计算方中的任一计算方,其中维护基于第一方面提供的方法而构建的两个数组和对应的两套索引数据;所述装置包括:

30、目标数组确定模块,配置为根据从客户端接收的图查询请求,从所述两个数组中确定目标数组;所述图查询请求包括目标对象标识在秘密分享下的对象标识分片;其中目标对象为节点或边。第一mpc计算模块,配置为基于所述对象标识分片,以及所述目标数组对应的目标索引数据,通过与其他计算方联合进行第一mpc计算,定位到所述目标数组的单个数组元素。第二mpc计算模块,配置为基于所述对象标识分片,以及所述单个数组元素包含的全局子图分片,通过与其他计算方联合进行第二mpc计算,得到图查询结果的结果分片,用于提供给所述客户端。

31、根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序在计算机中执行时,令计算机执行第一方面或第二方面提供的方法。

32、根据第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一方面或第二方面提供的方法。

33、综上,采用本说明书实施例披露的上述方法及装置,支持任意数量的数据提供方进行隐私保护的图融合,同时,对于任意一个关于点或关于边的查询,可以提取出对应的子图在上面进行分析,进而避免了全图遍历。进一步,通过构建图原生的图查询引擎goram,也就是基于图数据的特性进行分块的图ram,可以进一步提高获取子图的安全性同时可以保证查询地高效性,实现实时的查询响应。

本文地址:https://www.jishuxx.com/zhuanli/20250110/354357.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。