本发明涉及计算机,尤其涉及一种基于隐私集合求交大数据测试的数据构造方法及系统。
背景技术:
1、隐私集合求交(private set intersection,psi)属于隐私计算领域的特定应用场景,psi允许持有各自隐私数据集的多方计算他们数据的交集,同时不泄露任何交集以外的信息,在实际落地的应用场景中,各自持有的隐私数据集会先转换成密文的数据在与多方计算他们的数据交集。
2、基于隐私集合求交的大数据测试场景下,测试数据需要满足多样性,常常需要明文和密文的二维测试数据,并且明文和密文的二维测试数据需要支持多种类型,比如md5加密的16位、32位以及64位字符串,还有支持整形、浮点型、字符串、中文、布尔值、时间格式的数据等,测试数据还需要满足一定的量级,百万级、千万级、亿级,列的维度普通场景支持需要支持到十维左右,极端场景需要支持到百维度,更有甚者千维等。人工手动去构造这些数据显然是不合理的。
3、现有的技术是通过随机数、字符拼接以及自然数的md5值来构造多行多列的二维数据,构造生成的测试数据在满足测试需求的前提下与实际业务场景对比还是不够真实,其次在构造异常测试数据上还存在一定不足,例如需要整数列数据中存在一定的缺失值或者异常值等,其次如若将此工具构造的测试数据用来扩展到联邦场景的下的模型训练时,数据不满足收敛性,训练出来的模型精度较差。
4、针对上述技术问题,本发明提出一种基于隐私集合求交大数据测试的数据构造方法及系统。
技术实现思路
1、本发明的目的是针对现有技术的缺陷,提供了一种基于隐私集合求交大数据测试的数据构造方法及系统。
2、为了实现以上目的,本发明采用以下技术方案:
3、一种基于隐私集合求交大数据测试的数据构造方法,包括:
4、s1.输入命令行参数,并对输入的命令行参数进行词法分析,得到需要构造的多行多列二维数据的规格信息;
5、s2.判断规格信息相对应的目录中是否存在写权限,若是,则执行步骤s3;
6、s3.根据命令行参数中的分片参数构造对应的每一片数据,并写入文件中,得到二维数据;
7、s4.对参与双方得到的二维数据进行隐私集合求交处理,得到交集结果。
8、进一步的,所述步骤s1中多行多列二维数据的规格信息包括数据量、特征列、每列类型、分片数、是否额外增加目标列、id列类型、文件名称。
9、进一步的,所述步骤s4中参与双方的id列类型一致。
10、相应的,还提供一种基于隐私集合求交大数据测试的数据构造系统,包括:
11、分析模块,用于输入命令行参数,并对输入的命令行参数进行词法分析,得到需要构造的多行多列二维数据的规格信息;
12、判断模块,用于判断规格信息相对应的目录中是否存在写权限;
13、构造模块,用于根据命令行参数中的分片参数构造对应的每一片数据,并写入文件中,得到二维数据;
14、处理模块,用于对参与双方得到的二维数据进行隐私集合求交处理,得到交集结果。
15、进一步的,所述分析模块中多行多列二维数据的规格信息包括数据量、特征列、每列类型、分片数、是否额外增加目标列、id列类型、文件名称。
16、进一步的,所述处理模块中参与双方的id列类型一致。
17、与现有技术相比,本发明在隐匿集合求交的业务测试场景中,发起方和参与方通过此数据构造工具生成对应的测试数据既可以验证交中的场景,也可以验证交不中的场景,还可以验证部分交中的场景,并且此工具还可以扩展到联邦建模场景中建模测试数据的生成,生成数据之前根据那方拥有目标列来生成带目标列和不带目标列的数据。
1.一种基于隐私集合求交大数据测试的数据构造方法,其特征在于,包括:
2.根据权利要求1所述的一种基于隐私集合求交大数据测试的数据构造方法,其特征在于,所述步骤s1中多行多列二维数据的规格信息包括数据量、特征列、每列类型、分片数、是否额外增加目标列、id列类型、文件名称。
3.根据权利要求1所述的一种基于隐私集合求交大数据测试的数据构造方法,其特征在于,所述步骤s4中参与双方的id列类型一致。
4.一种基于隐私集合求交大数据测试的数据构造系统,其特征在于,包括:
5.根据权利要求4所述的一种基于隐私集合求交大数据测试的数据构造系统,其特征在于,所述分析模块中多行多列二维数据的规格信息包括数据量、特征列、每列类型、分片数、是否额外增加目标列、id列类型、文件名称。
6.根据权利要求4所述的一种基于隐私集合求交大数据测试的数据构造系统,其特征在于,所述处理模块中参与双方的id列类型一致。
