本技术涉及金融科技,特别涉及一种有向图环检测方法、装置、计算机设备和可读存储介质。
背景技术:
1、近年来,随着电商、金融、物联网等行业的快速发展,现实社会织起了一张庞大而复杂的关系网。对于这种关系网中的数据关联关系,关系型数据库并不能很好地表现样本之间的联系,一些非关系型数据库又不能表现特征之间的联系,而图数据库能够适用于上述金融行业场景,图数据库是以图的结构形式来存储数据的,能够存储关联的数据。在有向图结构中,环结构反映了物理实体在现实世界的一种特殊的数据流动,因而对于环结构的检测是图数据库中一项具有重要意义的功能。但传统的环检测算法基于全图信息,当图结构分布在多个数据持有方时,传统环检测算法在进行环检测时,图中的数据信息容易被泄露,导致金融行业数据安全性低。
技术实现思路
1、本技术的旨在至少一定程度解决现有技术的问题,提供一种有向图环检测方法、装置、计算机设备和可读存储介质,能够在金融行业对有向图进行检测过程中不泄露隐私数据,数据安全性较高。
2、本技术实施例的技术方案如下:
3、第一方面,本技术提供了一种有向图环检测方法,所述方法包括:
4、获取待检测有向图,所述待检测有向图包括多个图节点;
5、对每一个所述图节点进行数据预处理,得到各个所述图节点对应的节点标识;
6、向预设的服务器发送各个所述图节点对应的所述节点标识,接收所述服务器返回的各个所述图节点对应的类别;
7、对于类别为公有节点的所述图节点,利用多方秘钥分享算法对所述图节点进行初始化处理,得到公共初始值;
8、对于类别为私有节点的所述图节点,利用预设的规则对所述图节点进行初始化处理,得到本地初始值;
9、基于所述图节点、所述公共初始值和所述本地初始值进行环检测处理,得到检测结果。
10、根据本技术的一些实施例,每一个所述图节点设置有检测标签和栈标签,所述检测标签指示所述图节点是否被检测,所述栈标签指示所述图节点是否在栈中;
11、所述对于类别为公有节点的所述图节点,利用多方秘钥分享算法对所述图节点进行初始化处理,得到公共初始值,包括:
12、利用所述多方秘钥分享算法分别对所述检测标签和所述栈标签进行标签赋值,得到所述检测标签对应的第一检测值和所述栈标签对应的第一栈值;
13、所述第一检测值和所述第一栈值构成所述公共初始值。
14、根据本技术的一些实施例,所述基于所述图节点、所述公共初始值和所述本地初始值进行环检测处理,得到检测结果,包括:
15、对于类别为公有节点的所述图节点,利用所述多方秘钥分享算法对所述第一检测值和所述第一栈值进行标签求值处理,得到所述检测标签对应的第二检测值和所述栈标签对应的第二栈值;
16、在所述第二检测值为第一预设值,并且所述第二栈值为所述第一预设值的情况下,将所述第二检测值和所述第二栈值均设置为第二预设值,对所述图节点的邻居节点进行环检测;
17、在所述邻居节点的返回结果为所述第二预设值的情况下,确定所述图节点在环上。
18、根据本技术的一些实施例,所述对于类别为私有节点的所述图节点,利用预设的规则对所述图节点进行初始化处理,得到本地初始值,包括:
19、利用所述预设的规则分别对所述检测标签和所述栈标签进行标签赋值,得到所述检测标签对应的第三检测值和所述栈标签对应的第三栈值;
20、所述第三检测值和所述第三栈值构成所述本地初始值。
21、根据本技术的一些实施例,所述基于所述图节点、所述公共初始值和所述本地初始值进行环检测处理,得到检测结果,包括:
22、对于类别为私有节点的所述图节点,在所述第三检测值为第一预设值,并且所述第三栈值为所述第一预设值的情况下,将所述第三检测值和所述第三栈值均设置为第二预设值,对所述图节点的邻居节点进行环检测;
23、在所述邻居节点的返回结果为所述第二预设值的情况下,确定所述图节点在环上。
24、根据本技术的一些实施例,所述对每一个所述图节点进行数据预处理,得到各个所述图节点对应的节点标识,包括:
25、对每一个图节点进行初始化处理,得到各个所述图节点对应的初始标识;
26、对每一个所述初始标识进行脱敏处理,得到所述节点标识。
27、根据本技术的一些实施例,在所述对所述图节点的邻居节点进行环检测之后,所述方法还包括:
28、在所述邻居节点的返回结果为第三预设值的情况下,确定所述图节点不在环上。
29、第二方面,本技术提供了一种有向图环检测装置,包括:
30、图获取模块,用于获取待检测有向图,所述待检测有向图包括多个图节点;
31、预处理模块,用于对每一个所述图节点进行数据预处理,得到各个所述图节点对应的节点标识;
32、交互模块,用于向预设的服务器发送各个所述图节点对应的所述节点标识,接收所述服务器返回的各个所述图节点对应的类别;
33、第一处理模块,用于对于类别为公有节点的所述图节点,利用多方秘钥分享算法对所述图节点进行初始化处理,得到公共初始值;
34、第二处理模块,用于对于类别为私有节点的所述图节点,利用预设的规则对所述图节点进行初始化处理,得到本地初始值;
35、检测模块,用于基于所述图节点、所述公共初始值和所述本地初始值进行环检测处理,得到检测结果。
36、第三方面,本技术提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如上第一方面描述的任一项所述方法的步骤。
37、第四方面,本技术还提供了一种计算机可读存储介质,所述存储介质可被处理器读写,所述存储介质存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上第一方面描述的任一项所述方法的步骤。
38、本技术实施例所提供的技术方案具有如下的有益效果:
39、本技术实施例提出一种有向图环检测方法、装置、计算机设备和可读存储介质,该有向图环检测方法获取待检测有向图,待检测有向图包括多个图节点;对每一个图节点进行数据预处理,得到各个图节点对应的节点标识;向预设的服务器发送各个图节点对应的节点标识,接收服务器返回的各个图节点对应的类别,有利于后续根据图节点对应的类别进行对应的处理操作;对于类别为公有节点的图节点,利用多方秘钥分享算法对图节点进行初始化处理,得到公共初始值,保证类别为公有节点的图节点的隐私数据不泄露;对于类别为私有节点的图节点,利用预设的规则对图节点进行初始化处理,得到本地初始值,保证类别为私有节点的图节点的隐私数据不泄露;基于图节点、公共初始值和本地初始值进行环检测处理,得到检测结果。与现有金融行业技术中数据分布于多个持有方导致信息泄露相比,本技术实施例通过得到图节点的类别,针对不同类别的图节点,利用多方秘钥分享算法和预设的规则分别对相对应的图节点进行处理,能够在多数据持有方的情况下,不泄露金融行业隐私数据的情况下进行环检测,提高数据安全性。