一种隐私计算中间数据流零拷贝装置及方法制造方法及图纸

技术编号:38212781 阅读:11 留言:0更新日期:2023-07-25 11:20
本发明专利技术公开一种隐私计算中间数据流零拷贝装置及方法,零拷贝装置包括隐私计算联盟网络模块,隐私计算联盟网络模块包括多个节点,节点与节点之间进行隐私计算,节点与节点之间互相传输加密过程数据和中间因子以优化和计算各自节点本地模型与算法;节点具有两种服务状态,两种服务状态分别为用户态和内核态,用户态为节点的上层应用程序和底层计算引擎,内核态为节点在硬件上的数据共享流通。本发明专利技术零拷贝装置采用一种在软件层面+内核+硬件+网络传输层面上进行数据零拷贝的装置,以达到节点内系统之间数据内存共享、网络传输无需序列化反序列化、提升数据执行的执行效率,使得整体系统在整个数据传输、数据共享、数据执行过程中达到数据零拷贝。中达到数据零拷贝。中达到数据零拷贝。

【技术实现步骤摘要】
一种隐私计算中间数据流零拷贝装置及方法


[0001]本专利技术属于隐私计算
,具体涉及一种隐私计算中间数据流零拷贝装置及方法。

技术介绍

[0002]目前已知的各种隐私计算技术,每一种技术都有其具体的应用场景,从而产生独特的安全保护作用。
[0003]但往往在网络数据传输、节点数据执行时等过程中产生很多效率性问题,同时因为节点内应用层系统与底层系统之间或底层系统与底层系统之间使用了不同的技术或不同的编程语言,造成在节点内系统之间的数据共享过程中损耗了大量的时间和资源,比如把CPU宝贵资源完全浪费在对数据的序列化和反序列化过程。
[0004]目前已存在得隐私计算技术再大多致力于解决隐私安全问题,没有重点解决数据传输、共享、序列化反序列化上出现得时效性和资源浪费等问题。

技术实现思路

[0005]针对现有技术的不足,本专利技术的目的在于提供一种隐私计算中间数据流零拷贝装置及方法,致力于在原有隐私计算技术体系下,进一步提升网络数据传输、节点数据执行、数据序列化反序列化等影响时效性和硬件资源的性能,采用一种在软件层面+内核+硬件+网络传输层面四种层面上进行数据零拷贝的装置,以达到节点内系统之间数据内存共享、网络传输无需序列化反序列化、提升数据执行的执行效率,使得整体系统在整个数据传输、数据共享、数据执行过程中达到数据零拷贝。
[0006]本专利技术的目的可以通过以下技术方案实现:
[0007]一种隐私计算中间数据流零拷贝装置,零拷贝装置包括隐私计算联盟网络模块,所述隐私计算联盟网络模块包括多个节点,节点与节点之间进行隐私计算,节点与节点之间互相传输加密过程数据和中间因子以优化和计算各自节点本地模型与算法。
[0008]所述节点具有两种服务状态,两种服务状态分别为用户态和内核态,用户态为节点的上层应用程序和底层计算引擎,内核态为节点在硬件上的数据共享流通。
[0009]进一步的,所述上层应用程序使用java语言实现,底层计算引擎则使用python或rust语言实现。
[0010]所述上层应用程序部署有用于将本地隐私数据进行数据预处理和转换成内存数据格式的平台应用,转换成内存数据格式使用的转换技术为ApacheArrow。
[0011]所述底层计算引擎部署有多种隐私计算底层技术。
[0012]进一步的,所述上层应用程序和底层计算引擎均通过Arrow和相关mmap、sendfile和DMA技术充分实现内存共享。
[0013]所述内核态在硬件层面上使用DMA,内核态在指令方面使用mmap和sendfi le+DMA方式,内核态在网卡传输数据至外部时,用户态中采用ApacheArrowF light技术进行网络
传输。
[0014]上述的零拷贝装置的零拷贝方法,其特征在于,所述零拷贝方法包括如下步骤:
[0015]S1:用户态上层服务转换隐私数据。
[0016]S2:用户态切换内核态内存映射并落盘。
[0017]S3:用户态上层调用底层并内存共享数据机制。
[0018]S4:用户态底层对数据执行计算。
[0019]S5:用户态切换内核态计算结果内存映射并外部传输。
[0020]S6:用户态接收传输数据并参与底层运算。
[0021]进一步的,所述S1的具体操作如下:用户态上层应用程序接入用户的隐私数据,首先需要对隐私数据进行预处理,隐私数据进行预处理的具体方法如下:
[0022]S11:null值填充,null值使用其他的已知标识符进行代替。
[0023]S12:同类数据类型筛选组合,对数据集中相同类型的数据进行筛选组合,使相同类型的数据归为一列或邻近的列。
[0024]int8和int16两类数据类型归为一列,int32、int64规模比较大的列则分别归为一列,突出数据范围计算设计成临近列,float、double列分别归为一列,突出数据范围计算设计成临近列。
[0025]S13:通过S11和S12进行隐私数据预处理完成之后,使用Arrow技术对其进行连续转换在内存上形成列式数据表,记为:arrow_private_data。
[0026]进一步的,所述S2的具体操作如下:
[0027]用户态和内核态进行一次的服务状态切换,同时用户态上层应用程序调用mmap指令,将用户态内存缓冲区与内核态的内核缓冲区进行地址映射,内核态内核缓冲区直接共享得到用户态内存缓存区中的arrow_private_data数据。
[0028]用户态程序将arrow_private_data进行落盘,服务状态切换到内核态,内核态CPU通知DMA设备将用户态已写入至用户态内存缓冲区共享到内核缓冲区中的arrow_private_data进行写入落盘至本地磁盘,记为arrow_private_dat a_file。
[0029]进一步的,所述S3的具体操作如下:
[0030]用户态中的底层计算引擎对本地隐私数据进行数据计算或模型训练,由用户态上层应用调用发起。
[0031]用户态与内核态进行一次的服务状态切换,并调用mmap指令,将内核态内核缓冲区与用户态内存缓冲区再次进行地址映射,实现用户态内存缓冲区直接共享得到内核态的内核缓冲区的数据,服务状态切换到内核态后,CPU通过Arr ow技术的特性指向到了磁盘中的arrow_private_data_file。
[0032]内核态读Arrow文件时以零拷贝的方式直接写到内核态内存缓冲区,服务状态从内核态切换回用户态,用户态底层计算引擎读用户态内存缓冲区中已经由内核态内核缓冲区共享的arrow_private_data_file数据。
[0033]用户态底层计算引擎使用python、rust语言编写,使用arrow的python、rust库来进行接收arrow_private_data_file数据。
[0034]进一步的,所述S4的具体操作如下:
[0035]用户态底层计算引擎对arrow_private_data_file进行计算,计算过程包括:机器
学习、深度学习、数据治理清洗、数据加解密、同态计算。
[0036]计算过程中会在用户态的内存中输出一份以当前节点计算出来的过程数据、密文数据,过程数据使用同态加密方式进行同态加密。
[0037]用户态底层计算引擎使用Arrow技术对过程数据进行数据连续转换和数据预处理,方式与S1步骤一致,最终得到列式过程数据、列式密文数据,记为arrow_process_encrypt_data、arrow_encrypt_data。
[0038]进一步的,所述S5的具体操作如下:
[0039]用户态底层计算引擎将arrow_process_encrypt_data、arrow_encrypt_da ta进行临时性落盘。
[0040]落盘操作与S2步骤一致,得到arrow_process_encryp本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种隐私计算中间数据流零拷贝装置,零拷贝装置包括隐私计算联盟网络模块,其特征在于,所述隐私计算联盟网络模块包括多个节点,节点与节点之间进行隐私计算,节点与节点之间互相传输加密过程数据和中间因子以优化和计算各自节点本地模型与算法;所述节点具有两种服务状态,两种服务状态分别为用户态和内核态,用户态为节点的上层应用程序和底层计算引擎,内核态为节点在硬件上的数据共享流通。2.根据权利要求1所述的一种隐私计算中间数据流零拷贝装置,其特征在于,所述上层应用程序使用java语言实现,底层计算引擎则使用python或ru st语言实现;所述上层应用程序部署有用于将本地隐私数据进行数据预处理和转换成内存数据格式的平台应用,转换成内存数据格式使用的转换技术为ApacheArrow;所述底层计算引擎部署有多种隐私计算底层技术。3.根据权利要求2所述的一种隐私计算中间数据流零拷贝装置,其特征在于,所述上层应用程序和底层计算引擎均通过Arrow和相关mmap、sendfile和DMA技术充分实现内存共享;所述内核态在硬件层面上使用DMA,内核态在指令方面使用mmap和sendfi le+DMA方式,内核态在网卡传输数据至外部时,用户态中采用ApacheArrowF light技术进行网络传输。4.根据权利要求3所述的零拷贝装置的零拷贝方法,其特征在于,所述零拷贝方法包括如下步骤:S1:用户态上层服务转换隐私数据;S2:用户态切换内核态内存映射并落盘;S3:用户态上层调用底层并内存共享数据机制;S4:用户态底层对数据执行计算;S5:用户态切换内核态计算结果内存映射并外部传输;S6:用户态接收传输数据并参与底层运算。5.根据权利要求4所述的零拷贝方法,其特征在于,所述S1的具体操作如下:用户态上层应用程序接入用户的隐私数据,首先需要对隐私数据进行预处理,隐私数据进行预处理的具体方法如下:S11:null值填充,null值使用其他的已知标识符进行代替。S12:同类数据类型筛选组合,对数据集中相同类型的数据进行筛选组合,使相同类型的数据归为一列或邻近的列;int8和int16两类数据类型归为一列,int32、int64规模比较大的列则分别归为一列,突出数据范围计算设计成临近列,float、double列分别归为一列,突出数据范围计算设计成临近列;S13:通过S11和S12进行隐私数据预处理完成之后,使用Arrow技术对其进行连续转换在内存上形成列式数据表,记为:arrow_private_data。6.根据权利要求5所述的零拷贝方法,其特征在于,所述S2的具体操作如下:用户态和内核态进行一次的服务状态切换,同时用户态上层应用程序调用mmap指令,将用户态内存缓冲区与内核态的内核缓冲区进行地址映射,内核态内核缓冲区直接共享得到用户态内存缓存区中的arrow_private_data数据;
用户态程序将arrow_private_data进行落盘,服务状态切换到内核态,内核态CPU通知DMA设备将用户态已写入至用户态内存缓冲区共享到内核缓冲区中的arrow_private_data进行写入落盘至本地磁盘,记为arrow_private_dat a_file,CPU只负责通知作用,后续的落盘至磁盘由DMA来处理,释放CPU资源。7.根据权利要求6所述的零拷贝方法,其特征在于,所述S3的具体操作如下:用户态中的底层计算引擎对本地隐私数据进行数据计算或模型训练,由用户态上层应用调用发起;用户态与内核态进行一次的服务状态切换,并调用mmap指令,将内核态内核缓冲区与用户态内存缓冲区再次进行地址映射,实现用户态内存缓冲区直接共享得到内...

【专利技术属性】
技术研发人员:王济平黎刚高俊杰汤克云杨劲业梁孟
申请(专利权)人:京信数据科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1