CN116233135A - 一种数据传输方法、系统、装置和可读存储介质 - Google Patents
一种数据传输方法、系统、装置和可读存储介质 Download PDFInfo
- Publication number
- CN116233135A CN116233135A CN202310504518.8A CN202310504518A CN116233135A CN 116233135 A CN116233135 A CN 116233135A CN 202310504518 A CN202310504518 A CN 202310504518A CN 116233135 A CN116233135 A CN 116233135A
- Authority
- CN
- China
- Prior art keywords
- program
- cluster
- data
- forwarding rule
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000005540 biological transmission Effects 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 239000003795 chemical substances by application Substances 0.000 description 96
- 238000007726 management method Methods 0.000 description 61
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 210000004081 cilia Anatomy 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据传输方法、系统、装置和可读存储介质。其中的方法应用于多方安全计算系统中的集群代理,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法包括:通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。本发明实施例可以提高数据传输效率以及提高多方安全计算系统的性能。
Description
技术领域
本发明涉及多方安全计算领域,尤其涉及一种数据传输方法、系统、装置和可读存储介质。
背景技术
多方安全计算(Multi-party Computation,MPC),又称为安全多方计算,指多个参与方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据。
各参与方可以利用各自拥有的计算集群进行多方安全计算,从而可以实现计算隔离,保证数据安全。一个计算集群(以下简称为集群)可以包括多个计算设备,每个计算设备可以称为一个计算节点。
然而,由于多方安全计算中的流量数据需要跨集群进行传输,因此,流量数据都需要先到达各集群应用层的网关,再通过应用层的网关转发至集群中的计算节点。多方安全计算通常需要大量的网络交互,将影响多方安全计算系统的性能。
发明内容
本发明实施例提供一种数据传输方法、系统、装置和可读存储介质,可以提高数据传输效率以及多方安全计算系统的性能。
第一方面,本发明实施例公开了一种数据传输方法,应用于多方安全计算系统中的集群代理,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法包括:
通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;
通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。
第二方面,本发明实施例公开了一种数据传输方法,应用于多方安全计算系统中的任务管控平台,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法包括:
生成流量数据、第一程序、以及所述流量数据对应的转发规则;
将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核。
第三方面,本发明实施例公开了一种多方安全计算系统,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理;其中,
所述任务管控平台,用于生成流量数据、第一程序、以及所述流量数据对应的转发规则;将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核;
所述集群代理,用于通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。
再一方面,本发明实施例公开了一种用于数据传输的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据传输方法的指令。
又一方面,本发明实施例公开了一种机器可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据传输方法。
本发明实施例包括以下优点:
在本发明实施例提出了一种应用于多方安全计算系统的数据传输方法。所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理。集群代理通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。本发明实施例基于应用层和网络层的结合,将应用层的转发规则透传至网络层,实现了信息的共享,使得集群代理直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率。此外,由于每个集群对应有各自的集群代理,将集群代理作为收发流量数据的出入口,既可以保证集群之间相互隔离,提高安全性,同时又可以提高多方安全计算系统的整体性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据传输方法实施例的步骤流程图;
图2是本发明一种多方安全计算场景的示意图;
图3是本发明一种集群代理转发流量数据的示意图;
图4是本发明的另一种数据传输方法实施例的步骤流程图;
图5是本发明的一种多方安全计算系统实施例的结构框图;
图6是本发明的一种用于数据传输的装置800的框图;
图7是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,示出了本发明的一种数据传输方法实施例的步骤流程图,所述方法应用于多方安全计算系统中的集群代理,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法可以包括如下步骤:
步骤101、通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;
步骤102、通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。
本发明实施例提供的数据传输方法可应用于多方安全计算系统中的集群代理。所述多方安全计算系统是一种保护数据隐私安全的计算系统,多个参与方可以在不泄露自身数据的前提下,基于多方安全计算协议进行协同计算,得到计算结果,参与计算的数据、中间结果,以及最终结果可以保证不被泄露。
本发明实施例对所述多方安全计算系统基于的多方安全计算协议不做限制。示例性地,所述多方安全计算系统可以基于秘密分享、半同态、不经意传输等技术实现的多方安全计算协议。其中,秘密分享协议,是密码学中由多个参与方进行秘密分发、保存、计算、恢复的信息保护协议。各个参与方可以将一份数据分成多份,每份称为一个分享(或分片)并分发给其他参与方,之后通过计算和通信,可以完成对这些数据正确的函数计算并且保障参与方数据的隐私。
所述多方安全计算系统包括任务管控平台(Task Master,TM)和至少两个参与方,每个参与方拥有各自的集群(ES Cluster),每个集群包括至少两个计算节点(ES),每个集群对应有各自的集群代理(ES-Proxy)。
计算节点(ES)是以密文进行计算或处理的节点,即在不知道数据的明文的情况下,根据数据的密文仍然能进行计算或处理的节点。所述多方安全计算系统中还可以包括数据方,数据方可以提供数据存储、数据提供、计算结果存储等服务。进一步地,数据方可以是计算节点自身或者是数据提供方的节点。数据方用于提供多方安全计算使用的数据(一般以密文的形式)。
任务管控平台(TM)可用于发布多方安全计算任务,并且为多方安全计算任务配置任务参与节点,所述任务参与节点可以包括计算节点,进一步地,所述任务参与节点还可以包括数据节点。本发明实施例中将参与多方安全计算任务的集群称为参与方。参与方利用各自的目标计算节点基于数据方提供的数据,按照指定的计算方法进行多方协同计算,完成任务管控平台发布的多方安全计算任务。
在本发明实施例中,任务管控平台可以对多方安全计算系统中的各个计算节点(ES)进行统一管理。需要说明的是,本发明实施例对任务管控平台的类型不做限制。例如,所述任务管控平台可以是服务器。所述服务器可以是一台服务器、若干台服务器组成的服务器集群或云计算中心,对此并不进行限制。多方安全计算系统中的各个计算节点可以向任务管控平台上报注册信息,所述注册信息包括但不限于计算节点所属集群的地址信息(也即该集群的集群代理的地址信息)以及计算节点的标识信息、地址信息和端口信息等。
任务管控平台生成多方安全计算任务后,可以为该多方安全计算任务分配目标计算节点,并将该多方安全计算任务通过目标计算节点的集群代理转发至目标计算节点。
需要说明的是,本发明实施例中提到的任务管控平台、集群代理以及计算节点,是从角色上给出的名称,在物理上可以由一个模块、一台计算设备或者计算集群构成。任务管控平台与各集群代理之间可以建立网络连接,通过网络连接传输流量数据。
所述多方安全计算任务可以包括但不限于如下任意一项或多项:基于MPC的PSI(Private Set Intersection,隐私集合求交集)/PIR(Private Information Retrieval,隐私信息检索)、基于隐私保护的模型训练及预测、基于隐私保护的数据库查询操作等等。可以理解,本发明实施例对所述多方安全计算任务的具体类型不加以限制。
在本发明实施例中,每个参与方可以分别对应相应的管理域,一个多方安全计算任务的参与方可以具有不同的管理域。管理域是一些资源的集合,域内的行为服从于一个系统管理的政策。多方安全计算任务需要多个参与方共同参与协同执行,每个参与方的计算资源属于一个管理域,管理域可用于保证多方不串通,从而保证计算的安全。在执行一个多方安全计算任务的过程中,一个参与方管控一个管理域。一个管理域内有若干计算资源。计算资源指计算机程序运行时所需的CPU(Central Processing Unit,计算机处理器)资源、内存资源、硬盘资源和网络资源等。
在本发明实施中,每个参与方的计算资源以集群的形式表示,本发明实施例对所述集群的类型不做限制。在本发明的一种可选实施例中,所述集群可以为K8s(Kubernetes)集群。多个K8s集群与多方安全计算的多个参与方一一对应。
Kubernetes(简称K8s)是一种开源的容器集群管理系统。在Docker(容器虚拟化)技术的基础上,K8s为容器化的服务(也可以称作应用)提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,能够提高大规模容器集群管理的便捷性。
参照图2,示出了本发明实施例中一种多方安全计算场景的示意图。如图2所示,参与方A和参与方B共同执行多方安全计算任务,参与方A拥有的集群如记为ES Cluster1,假设ES Cluster1中包括计算节点ES1、ES2、ES3和ES4。参与方B拥有的集群如记为ESCluster2,假设ES Cluster2中包括计算节点ES5、ES6、ES7、ES8。ES Cluster1对应有自身的集群代理,如记为ES-Proxy1;ES Cluster2对应有自身的集群代理,如记为ES-Proxy2。
需要说明的是,本发明实施例中以两个参与方执行一个多方安全计算任务为例进行说明,三个或者三个以上参与方的场景相类似,相互参照即可。
在本发明实施例中,集群代理可用于代理集群中各计算节点对外进行通信,如所述集群代理可以是网关。示例性地,所述集群为K8s集群,所述集群代理可以为Nginx/Envoy。
在具体实施中,多个多方安全计算任务可以同时进行,如图2所示,计算节点的多种填充形式表示不同的多方安全计算任务在同时进行。对于每个集群(ES Cluster),该集群通过集群代理(ES-Proxy)作为收发流量数据的出入口,可以简化数据管理过程并增强数据的安全性。
在本发明的一种可选实施例中,所述流量数据可以包括所述集群代理接收到的数据,所述目标设备可以包括所述集群代理对应集群中的目标计算节点;或者,所述流量数据可以包括所述集群代理待发送的数据,所述目标设备可以包括所述多方安全计算系统中待接收所述流量数据的目标集群代理。
在所述多方安全计算系统中,集群代理可以通过内核接收流量数据,接收的流量数据可以包括任务管控平台下发的多方安全计算任务,或者,接收的流量数据可以包括执行多方安全计算任务的过程中其他参与方发送的数据。
以图2为例,ES-Proxy1可以通过内核接收流量数据,假设该流量数据为任务管控平台下发的多方安全计算任务,且该流量数据需要发送至ES Cluster1中的计算节点ES1,则ES-Proxy1通过内核调用所述第一程序,所述第一程序基于所述转发规则将该流量数据转发至目标计算节点ES1的内核。
在所述多方安全计算系统中,集群代理可以作为集群的入口接收流量数据,还可以作为集群的出口发送流量数据。例如,ES-Proxy1可以通过内核接收流量数据,假设该流量数据来自ES Cluster1中的计算节点ES1,且该流量数据需要发送至ES Cluster2中的计算节点ES5,则ES-Proxy1通过内核调用所述第一程序,所述第一程序基于所述转发规则将该流量数据转发至目标集群代理ES Cluster2的内核。再由ES Cluster2的内核转发至ESCluster2中的计算节点ES5的内核。
在本发明的一种可选实施例中,所述流量数据可以包括多方安全计算任务,所述转发规则可以包括参与所述多方安全计算任务的目标计算节点的标识信息。
在本发明实施例中,任务管控平台将多方安全计算任务发送至各目标计算节点所在集群的集群代理的内核,还向该集群代理的内核发送该多方安全计算任务对应的转发规则和第一程序。所述转发规则中包括参与该多方安全计算任务的目标计算节点的标识信息。所述第一程序可用于解析所述转发规则,通过解析所述转发规则可以得到参与该多方安全计算任务的目标计算节点的标识信息,从而可以将该多方安全计算任务转发至目标计算节点的内核。
示例性地,图2所示的多方安全计算任务的参与方包括集群ES Cluster1和ESCluster2,假设目标计算节点包括ES Cluster1中的ES1和ES2以及ES Cluster2中的ES5和ES6。任务管控平台将该多方安全计算任务、转发规则和第一程序分别下发给ES-Proxy1和ES-Proxy2。该转发规则包括参与该多方安全计算任务的目标计算节点的标识信息,如ES1、ES2、ES5和ES6的标识信息。
ES-Proxy1的内核接收到该多方安全计算任务、转发规则和第一程序后,调用第一程序,该第一程序基于该转发规则将该多方安全计算任务转发至集群ES Cluster1中的目标计算节点ES1的内核和ES2的内核,以调用目标计算节点ES1和ES2执行该多方安全计算任务。同样的,ES-Proxy2的内核接收到该多方安全计算任务、转发规则和第一程序后,调用第一程序,该第一程序基于该转发规则将该多方安全计算任务转发至集群ES Cluster2中的目标计算节点ES5的内核和ES6的内核,以调用目标计算节点ES5和ES6执行该多方安全计算任务。
在本发明的一种可选实施例中,所述流量数据可以包括所述多方安全计算任务中的计算数据,所述转发规则可以包括所述计算数据的接收方的标识信息。
在具体实施中,n(n≥2)个参与方可以基于多方安全计算协议执行多方安全计算任务,n个参与方在执行多方安全计算任务的过程中,需要传输流量数据。所述流量数据可以包括所述多方安全计算任务中的计算数据。
其中,所述计算数据可以包括所述多方安全计算任务的输入数据、所述多方安全计算任务的中间数据、或者所述多方安全计算任务的结果数据等。所述转发规则中可以包括所述多方安全计算任务中各计算数据的转发路径,所述转发路径包括发送方的标识信息和接收方的标识信息。
可以理解的是,多方安全计算任务中的计算数据可以为密文数据。所述多方安全计算任务的输入数据可以为数据方的隐私数据,隐私数据可以是任何不便于公开的数据,可以但不限于代表用户的个人信息的数据,或者商业秘密等。
参照图3,示出了本发明实施例的一种集群代理转发流量数据的示意图。如图3所示,集群代理服务器转发流量数据只需要步骤101和步骤102两个步骤,从而可以极大提升多方安全计算系统的整体性能。
本发明实施例提出的数据传输方法是一种基于云原生的方法。云原生指充分利用原生云能力(自动扩展、无中断部署、自动化管理、弹性等)来进行应用设计、部署和智能化运维的方法。云原生技术主要指以容器、持续交付、DevOps(一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合)、微服务、ServiceMesh(服务网络)和声明API(应用程序编程接口)为代表的技术体系。
在本发明实施例中,集群代理通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至所在集群中的目标计算节点的内核。也即,集群代理直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率,并且提高多方安全计算系统的整体性能。
所述集群代理的内核指集群代理所在物理机的操作系统内核(Kernel)。
在本发明的一种可选实施例中,所述第一程序可以是eBPF(extended BerkeleyPacket Filter,可扩展数据包过滤器)程序。所述第一程序根据所述转发规则生成,可用于解析所述转发规则。
eBPF 可以在不需要重新编译内核的情况下为内核提供一些拓展的能力。eBPF允许编写在内核中运行的程序,可以将eBPF程序加载到内核中,并将其附加到一个特定事件中,每当该特定事件发生时,将触发eBPF程序运行。所述特定事件不做限制,例如可以是网络数据包的到来等。该特定事件可以是在内核或用户空间中进行的函数调用,或者,可以是一个跟踪点等。
基于eBPF机制,集群代理可以直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率。
进一步地,本发明实施例可以对每个集群进行独立部署,进而实现对集群跨管理域部署,从而可以确保拥有某个集群访问权限的人(如集群管理员)无法获取多个集群的数据分片,避免数据分片被整合在一起恢复成明文数据,造成数据泄露的风险。此外,每个集群可以启动多个计算节点执行多个安全计算任务。
在本发明的一种可选实施例中,所述基于所述转发规则将所述流量数据转发至目标设备的内核,可以包括:
步骤S11、通过解析所述流量数据的头部信息,得到所述流量数据对应的目标设备的标识信息;
步骤S12、根据所述目标设备的标识信息查询所述转发规则,得到所述目标设备的地址信息;
步骤S13、根据所述目标设备的地址信息,将所述流量数据发送至所述目标设备的内核。
在所述多方安全计算系统中,任务管控平台与各集群的集群代理之间可以建立网络连接,通过网络连接传输流量数据。进一步地,所述多方安全计算系统中的流量数据以预置的网络数据包的格式进行传输。所述预置的网络数据包的格式根据网络连接的协议确定,本发明实施例对此不做限制。例如,在网络连接为HTTP(Hyper Text TransferProtocol,超文本传输协议)连接的场景下,所述流量数据可以基于HTTP的gRPC(RemoteProcedure Calls,远程过程调用)格式。
本发明实施例在所述流量数据的头部信息中增加一个预设字段,用于指示目标设备的标识信息,例如,HTTP消息的头部信息(Header)中包括Content-Type、Authorization等标准字段,本发明实施例在此基础上增加一个预设字段,用于指示目标设备的标识信息。第一程序通过解析所述流量数据的头部信息,如解析HTTP消息的头部信息(Header),可以得到目标设备的标识信息。
以图2为例,假设ES-Proxy1通过内核接收到需要发送至ES1的流量数据。ES-Proxy1通过内核调用第一程序,第一程序解析该流量数据的HTTP消息的头部信息,可以得到目标设备ES1的标识信息。通过查询所述转发规则中ES1的标识信息与地址信息之间的映射关系,可以得到目标设备ES1的地址信息。根据目标设备ES1的地址信息,可以将该流量数据发送至目标设备ES1的内核。
在本发明实施例中,所述转发规则中可以包括所述多方安全计算系统中设备的标识信息与地址信息之间的对应关系。例如,所述转发规则中可以包括参与所述多方安全计算任务的各计算节点的标识信息和地址信息之间的对应关系。第一程序解析得到目标设备的标识信息后,如解析到目标设备的标识信息为ID1,则根据标识信息ID1查询所述转发规则,可以得到ID1对应的地址信息。
进一步地,在所述集群为k8s集群时,所述标识信息可以是k8s集群中计算节点的标签(label),一个k8s集群中可以有多个计算节点(ES),每个ES拥有自身的label。ES-Proxy通过将计算节点的label作为标识信息可以查询到该计算节点的地址信息。
以第一程序为eBPF程序,网络连接为HTTP连接为例,基于所述转发规则将所述流量数据转发至目标设备的内核,可以包括如下步骤:
步骤A1、获取网络数据包。
所述流量数据以预置的网络数据包的格式进行传输,eBPF程序可以使用eBPF map或BPF perf event等机制从内核中获取网络数据包。eBPF map是驻留在内核中的以键/值方式存储的数据结构,可以被BPF程序访问。BPF perf event是面向事件的观察工具。
步骤A2、解析网络数据包。
eBPF程序可以对获取的网络数据包进行解析,以从所述网络数据包中提取头部信息(Header)。该过程可以使用网络协议栈的相关API(Application ProgrammingInterface,应用程序编程接口),如bpf_skb_load_bytes()等。bpf_skb_load_bytes()通过遵循上下文结构中的指针来访问数据包字节。
步骤A3、获取头部信息。
eBPF程序根据HTTP Header的格式和字段规则,从网络数据包中提取HTTP Header信息。该步骤可以使用BPF map等数据结构来存储HTTP Header的字段规则和对应的字段值。具体地,可以从头部信息中识别目标设备的标识信息,并保存目标设备的标识信息。
步骤A4、根据目标设备的标识信息查询转发规则。
eBPF程序根据HTTP Header信息中的目标设备的标识信息查询所述转发规则,可以得到所述目标设备的标识信息对应的地址信息。
步骤A5、执行转发操作。
eBPF程序根据查询到的目标设备的地址信息,向该目标设备发送该网络数据包,该目标设备可以通过内核接收该网络数据包。
在本发明的一种可选实施例中,所述集群代理中内置有用于与内核交互的第二程序;所述通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则,可以包括:
步骤S21、通过所述第二程序接收所述流量数据、第一程序、以及所述流量数据对应的转发规则;
步骤S22、所述第二程序将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述集群代理的内核。
所述第二程序可用于与内核进行交互,并且所述第二程序支持eBPF程序的下发。示例性地,所述第二程序可以为网络插件cillium的代理(cilium-agent)。cilimu是一个网络插件,用于透明地保护容器应用之间的网络连接。cilium基于eBPF技术开发。
cilium-agent可以在集群中的每个节点上运行。cilium-agent通过 Kubernetes或API接受配置,这些配置描述了网络、服务负载平衡、网络策略以及可见性和监控要求。cilium-agent侦听来自Kubernetes等编排系统的事件,以了解容器何时启动和停止。cilium-agent管理Linux内核的eBPF程序(eBPF控制所有进出这些容器的网络访问)。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S31、通过内核接收更新后的第一程序和更新后的转发规则;
步骤S32、基于所述更新后的第一程序和所述更新后的转发规则,对接收到的流量数据或者待发送的流量数据进行转发。
在本发明实施例中,任务管控平台向集群代理发送流量数据外,还发送转发规则和第一程序,第一程序可用于解析转发规则。进一步地,第一程序可以为eBPF程序。由于eBPF是可编程的,因此可以满足应用层的多样化需求。
在应用层的需要发生改变时,任务管控平台可以更新所述转发规则,并根据更新后的转发规则,更新所述第一程序。所述更新可以包括但不限于如下任意一项或多项:增加、减少或者修改参与所述多方安全计算任务的计算节点。任务管控平台在更新转发规则后,可以确定更新后的转发规则对应的集群代理,并且向所述更新后的转发规则对应的集群代理发送所述更新后的转发规则和更新后的第一程序。
集群代理通过内核接收到所述更新后的第一程序和更新后的转发规则之后,基于所述更新后的第一程序和所述更新后的转发规则,对接收到的流量数据或者待发送的流量数据进行转发。
在转发规则发生变化的情况下,本发明实施例只需修改第一程序的逻辑并统一下发即可,不用修改每个集群代理以及每个目标计算节点的处理逻辑,可以实现动态修改转发规则,从而可以满足应用层的多样化需求。
本发明实施例的数据传输方法,既可以兼顾多方安全计算过程中需要通过网关来保证安全性的诉求,还可以减少用户态的操作,提高多方安全计算系统的整体性能,并且可以满足应用层的多样化需求,因此,有助于实现多方安全计算的标准化和大规模应用。
一个示例中,所述流量数据包括多方安全计算任务,所述转发规则包括参与所述多方安全计算任务的目标计算节点的标识信息。当所述多方安全计算任务的目标计算节点发生变更时,任务管控平台可以更新转发规则,进而更新第一程序,并且下发更新后的第一程序和转发规则。
另一个示例中,所述流量数据包括所述多方安全计算任务中待转发的计算数据,所述转发规则包括待使用所述计算数据的目标计算节点的标识信息。当所述多方安全计算任务的算法发生变更时,多方安全计算任务中的计算数据的接收方可能也随之发生变更时,任务管控平台可以更新转发规则,进而更新第一程序,并且下发更新后的第一程序和转发规则。
在具体实施中,为保证安全性,一个多方安全计算任务的参与方可以来自不同的管理域。也即,参与一个多方安全计算任务的目标计算节点可以来自多个不同的集群,每个集群对应各自的管理域。进一步地,在一个多方安全计算任务中,可以为不同管理域的目标计算节点赋予不同的角色,所述不同的角色针对所述多方安全计算任务执行不同的目标计算和/或目标传输。为进一步保证安全性,为不同管理域的目标计算节点赋予的角色可以在多方安全计算过程中动态改变,此时只需修改转发规则和第一程序,并且下发更新后的第一程序和转发规则即可。
此外,eBPF程序在运行时会运行eBPF验证器,用于确保eBPF程序的安全。验证器会将待执行的指令创建为一个有向无环图,确保程序中不包含不可达指令;接着再模拟指令的执行过程,确保不会执行无效指令,可以保证安全性。
综上,在本发明实施例中,集群代理通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至所在集群中的目标计算节点的内核。本发明实施例基于应用层和网络层的结合,将应用层的转发规则透传至网络层,实现了信息的共享,使得集群代理直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率。此外,由于每个集群对应有各自的集群代理,将集群代理作为收发流量数据的出入口,既可以保证集群之间相互隔离,提高安全性,同时又可以提高多方安全计算系统的整体性能。
参照图4,示出了本发明实施例另一种数据传输方法实施例的步骤流程图,所述方法应用于多方安全计算系统中的任务管控平台,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法可以包括如下步骤:
步骤401、生成流量数据、第一程序、以及所述流量数据对应的转发规则;
步骤402、将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核。
任务管控平台(TM)用于发布多方安全计算任务,并且为多方安全计算任务配置任务参与节点,所述任务参与节点可以包括计算节点,进一步地,所述任务参与节点还可以包括数据节点。本发明实施例中将参与多方安全计算任务的集群称为参与方。参与方利用各自的目标计算节点基于数据方提供的数据,按照指定的计算方法进行多方协同计算,完成任务管控平台发布的多方安全计算任务。
在本发明实施例中,任务管控平台可以对多方安全计算系统中的各个计算节点(ES)进行统一管理。需要说明的是,本发明实施例对任务管控平台的类型不做限制。例如,所述任务管控平台可以是服务器。所述服务器可以是一台服务器、若干台服务器组成的服务器集群或云计算中心,对此并不进行限制。多方安全计算系统中的各个计算节点可以向任务管控平台上报注册信息,所述注册信息包括但不限于计算节点所属集群的地址信息(也即该集群的集群代理的地址信息)以及计算节点的端口信息。
任务管控平台生成多方安全计算任务后,可以为该多方安全计算任务配置目标计算节点,并将该多方安全计算任务通过目标计算节点的集群代理转发至目标计算节点。
在本发明实施例中,任务管控平台生成流量数据、第一程序、以及所述流量数据对应的转发规则;并将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核。集群代理直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率。
在本发明的一种可选实施例中,所述流量数据可以包括所述任务管控平台下发的多方安全计算任务,所述转发规则包括参与所述多方安全计算任务的目标计算节点的标识信息。
在本发明实施例中,任务管控平台将多方安全计算任务发送至各目标计算节点所在集群的集群代理的内核,还向该集群代理的内核发送该多方安全计算任务对应的转发规则和第一程序。所述转发规则中包括参与该多方安全计算任务的目标计算节点的标识信息。所述第一程序可用于解析所述转发规则,通过解析所述转发规则可以得到参与该多方安全计算任务的目标计算节点的标识信息,从而可以将该多方安全计算任务转发至目标计算节点的内核。
在本发明的一种可选实施例中,所述转发规则包括所述多方安全计算任务中的计算数据的接收方的标识信息。
所述计算数据可以包括所述多方安全计算任务的输入数据、所述多方安全计算任务的中间数据、或者所述多方安全计算任务的结果数据等。
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S41、更新所述转发规则,并根据更新后的转发规则,更新所述第一程序;
步骤S42、确定更新后的转发规则对应的集群代理;
步骤S43、向所述更新后的转发规则对应的集群代理发送所述更新后的转发规则和更新后的第一程序。
在应用层的需要发生改变时,任务管控平台可以更新所述转发规则,并根据更新后的转发规则,更新所述第一程序。所述更新可以包括但不限于如下任意一项或多项:增加、减少或者修改参与所述多方安全计算任务的计算节点。任务管控平台在更新转发规则后,可以确定更新后的转发规则对应的集群代理,并且向所述更新后的转发规则对应的集群代理发送所述更新后的转发规则和更新后的第一程序。
集群代理通过内核接收到所述更新后的第一程序和更新后的转发规则之后,基于所述更新后的第一程序和所述更新后的转发规则,对接收到的流量数据或者待发送的流量数据进行转发。
在转发规则发生变化的情况下,本发明实施例只需修改第一程序的逻辑并统一下发即可,不用修改每个集群代理的处理逻辑,可以实现动态修改转发规则,从而可以满足应用层的多样化需求。
在本发明的一种可选实施例中,所述第一程序可以为eBPF程序。
在本发明的一种可选实施例中,所述集群可以为K8s集群。
需要说明的是,任务管控平台侧的操作流程在前述实施例中已详细说明,此处不再进行赘述。
综上,在本发明实施例中,任务管控平台向多方安全计算任务的各参与方的集群代理下发流量数据、第一程序、以及所述流量数据对应的转发规则;集群代理通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至所在集群中的目标计算节点的内核。本发明实施例基于应用层和网络层的结合,将应用层的转发规则透传至网络层,实现了信息的共享,使得集群代理直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率。此外,由于每个集群对应有各自的集群代理,将集群代理作为收发流量数据的出入口,既可以保证集群之间相互隔离,提高安全性,同时又可以提高多方安全计算系统的整体性能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种多方安全计算系统实施例的结构框图,所述多方安全计算系统包括任务管控平台501和至少两个参与方,每个参与方拥有各自的集群502,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理503;其中,
所述任务管控平台,用于生成流量数据、第一程序、以及所述流量数据对应的转发规则;将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核;
所述集群代理,用于通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。
可选地,所述流量数据包括所述集群代理接收到的数据,所述目标设备包括所述集群代理对应集群中的目标计算节点;或者,所述流量数据包括所述集群代理待发送的数据,所述目标设备包括所述多方安全计算系统中待接收所述流量数据的目标集群代理。
可选地,所述流量数据包括所述任务管控平台下发的多方安全计算任务,所述转发规则包括参与所述多方安全计算任务的目标计算节点的标识信息。
可选地,所述转发规则包括所述多方安全计算任务中的计算数据的接收方的标识信息。
可选地,所述任务管控平台,还用于更新所述转发规则,并根据更新后的转发规则,更新所述第一程序;确定更新后的转发规则对应的集群代理;向所述更新后的转发规则对应的集群代理发送所述更新后的转发规则和更新后的第一程序;
所述集群代理,还用于通过内核接收更新后的第一程序和更新后的转发规则;基于所述更新后的第一程序和所述更新后的转发规则,对接收到的流量数据或者待发送的流量数据进行转发。
可选地,所述集群代理中内置有用于与内核交互的第二程序;
所述集群代理,具体用于通过所述第二程序接收所述流量数据、第一程序、以及所述流量数据对应的转发规则;所述第二程序将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述集群代理的内核。
可选地,所述第一程序为eBPF程序。
可选地,所述集群为K8s集群。
综上,在本发明实施例的多方安全计算系统中,任务管控平台向多方安全计算任务的各参与方的集群代理下发流量数据、第一程序、以及所述流量数据对应的转发规则;集群代理通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至所在集群中的目标计算节点的内核。本发明实施例基于应用层和网络层的结合,将应用层的转发规则透传至网络层,实现了信息的共享,使得集群代理直接通过内核接收、处理以及转发流量数据,无需向用户态复制数据,可以提高数据传输效率。此外,由于每个集群对应有各自的集群代理,将集群代理作为收发流量数据的出入口,既可以保证集群之间相互隔离,提高安全性,同时又可以提高多方安全计算系统的整体性能。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据传输的装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的数据传输方法的指令。
图6是根据一示例性实施例示出的一种用于数据传输的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图7是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据传输方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中数据传输方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图1所对应实施例中数据传输方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据传输方法、一种多方安全计算系统、一种用于数据传输的装置和一种可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (24)
1.一种数据传输方法,其特征在于,应用于多方安全计算系统中的集群代理,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法包括:
通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;
通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。
2.根据权利要求1所述的方法,其特征在于,所述流量数据包括所述集群代理接收到的数据,所述目标设备包括所述集群代理对应集群中的目标计算节点;或者,所述流量数据包括所述集群代理待发送的数据,所述目标设备包括所述多方安全计算系统中待接收所述流量数据的目标集群代理。
3.根据权利要求1所述的方法,其特征在于,所述流量数据包括所述任务管控平台下发的多方安全计算任务,所述转发规则包括参与所述多方安全计算任务的目标计算节点的标识信息。
4.根据权利要求1所述的方法,其特征在于,所述流量数据包括多方安全计算任务中的计算数据,所述转发规则包括所述计算数据的接收方的标识信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过内核接收更新后的第一程序和更新后的转发规则;
基于所述更新后的第一程序和所述更新后的转发规则,对接收到的流量数据或者待发送的流量数据进行转发。
6.根据权利要求1所述的方法,其特征在于,所述集群代理中内置有用于与内核交互的第二程序;所述通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则,包括:
通过所述第二程序接收所述流量数据、第一程序、以及所述流量数据对应的转发规则;
所述第二程序将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述集群代理的内核。
7.根据权利要求1至6任一所述的方法,其特征在于,所述第一程序为eBPF程序。
8.根据权利要求1至6任一所述的方法,其特征在于,所述集群为K8s集群。
9.一种数据传输方法,其特征在于,应用于多方安全计算系统中的任务管控平台,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理,所述方法包括:
生成流量数据、第一程序、以及所述流量数据对应的转发规则;
将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核。
10.根据权利要求9所述的方法,其特征在于,所述流量数据包括所述任务管控平台下发的多方安全计算任务,所述转发规则包括参与所述多方安全计算任务的目标计算节点的标识信息。
11.根据权利要求9所述的方法,其特征在于,所述转发规则包括多方安全计算任务中的计算数据的接收方的标识信息。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
更新所述转发规则,并根据更新后的转发规则,更新所述第一程序;
确定更新后的转发规则对应的集群代理;
向所述更新后的转发规则对应的集群代理发送所述更新后的转发规则和更新后的第一程序。
13.根据权利要求9至12任一所述的方法,其特征在于,所述第一程序为eBPF程序。
14.根据权利要求9至12任一所述的方法,其特征在于,所述集群为K8s集群。
15.一种多方安全计算系统,其特征在于,所述多方安全计算系统包括任务管控平台和至少两个参与方,每个参与方拥有各自的集群,每个集群包括至少两个计算节点,每个集群对应有各自的集群代理;其中,
所述任务管控平台,用于生成流量数据、第一程序、以及所述流量数据对应的转发规则;将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述多方安全计算系统中各集群代理的内核;
所述集群代理,用于通过内核接收流量数据、第一程序、以及所述流量数据对应的转发规则;通过内核调用所述第一程序,利用所述第一程序基于所述转发规则将所述流量数据转发至目标设备的内核。
16.根据权利要求15所述的系统,其特征在于,所述流量数据包括所述集群代理接收到的数据,所述目标设备包括所述集群代理对应集群中的目标计算节点;或者,所述流量数据包括所述集群代理待发送的数据,所述目标设备包括所述多方安全计算系统中待接收所述流量数据的目标集群代理。
17.根据权利要求15所述的系统,其特征在于,所述流量数据包括所述任务管控平台下发的多方安全计算任务,所述转发规则包括参与所述多方安全计算任务的目标计算节点的标识信息。
18.根据权利要求15所述的系统,其特征在于,所述转发规则包括多方安全计算任务中的计算数据的接收方的标识信息。
19.根据权利要求15所述的系统,其特征在于,
所述任务管控平台,还用于更新所述转发规则,并根据更新后的转发规则,更新所述第一程序;确定更新后的转发规则对应的集群代理;向所述更新后的转发规则对应的集群代理发送所述更新后的转发规则和更新后的第一程序;
所述集群代理,还用于通过内核接收更新后的第一程序和更新后的转发规则;基于所述更新后的第一程序和所述更新后的转发规则,对接收到的流量数据或者待发送的流量数据进行转发。
20.根据权利要求15所述的系统,其特征在于,所述集群代理中内置有用于与内核交互的第二程序;
所述集群代理,具体用于通过所述第二程序接收所述流量数据、第一程序、以及所述流量数据对应的转发规则;所述第二程序将所述流量数据、第一程序、以及所述流量数据对应的转发规则发送至所述集群代理的内核。
21.根据权利要求15至20任一所述的系统,其特征在于,所述第一程序为eBPF程序。
22.根据权利要求15至20任一所述的系统,其特征在于,所述集群为K8s集群。
23.一种用于数据传输的装置,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1至8或9至14中任一所述的数据传输方法的指令。
24.一种可读存储介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至8或9至14中任一所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310504518.8A CN116233135B (zh) | 2023-05-06 | 2023-05-06 | 一种数据传输方法、系统、装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310504518.8A CN116233135B (zh) | 2023-05-06 | 2023-05-06 | 一种数据传输方法、系统、装置和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116233135A true CN116233135A (zh) | 2023-06-06 |
CN116233135B CN116233135B (zh) | 2023-07-11 |
Family
ID=86587629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310504518.8A Active CN116233135B (zh) | 2023-05-06 | 2023-05-06 | 一种数据传输方法、系统、装置和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233135B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389900A (zh) * | 2019-07-10 | 2019-10-29 | 深圳市腾讯计算机系统有限公司 | 一种分布式数据库集群测试方法、装置及存储介质 |
CN111683109A (zh) * | 2020-08-17 | 2020-09-18 | 烽火通信科技股份有限公司 | 一种微服务架构 |
CN113301174A (zh) * | 2020-07-14 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理、转换规则部署方法和装置 |
CN113612732A (zh) * | 2021-07-06 | 2021-11-05 | 华控清交信息科技(北京)有限公司 | 一种资源调用方法、装置和多方安全计算系统 |
US20210406386A1 (en) * | 2018-05-28 | 2021-12-30 | Royal Bank Of Canada | System and method for multiparty secure computing platform |
CN115766829A (zh) * | 2022-11-11 | 2023-03-07 | 蚂蚁区块链科技(上海)有限公司 | 通信处理方法和通信节点 |
CN115914404A (zh) * | 2022-11-30 | 2023-04-04 | 招联消费金融有限公司 | 集群流量管理方法、装置、计算机设备和存储介质 |
EP4160409A1 (en) * | 2021-10-04 | 2023-04-05 | Juniper Networks, Inc. | Cloud native software-defined network architecture for multiple clusters |
CN115941538A (zh) * | 2023-02-21 | 2023-04-07 | 华控清交信息科技(北京)有限公司 | 一种针对多方安全计算的测试系统、测试方法及装置 |
-
2023
- 2023-05-06 CN CN202310504518.8A patent/CN116233135B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210406386A1 (en) * | 2018-05-28 | 2021-12-30 | Royal Bank Of Canada | System and method for multiparty secure computing platform |
CN110389900A (zh) * | 2019-07-10 | 2019-10-29 | 深圳市腾讯计算机系统有限公司 | 一种分布式数据库集群测试方法、装置及存储介质 |
CN113301174A (zh) * | 2020-07-14 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理、转换规则部署方法和装置 |
CN111683109A (zh) * | 2020-08-17 | 2020-09-18 | 烽火通信科技股份有限公司 | 一种微服务架构 |
CN113612732A (zh) * | 2021-07-06 | 2021-11-05 | 华控清交信息科技(北京)有限公司 | 一种资源调用方法、装置和多方安全计算系统 |
EP4160409A1 (en) * | 2021-10-04 | 2023-04-05 | Juniper Networks, Inc. | Cloud native software-defined network architecture for multiple clusters |
CN115766829A (zh) * | 2022-11-11 | 2023-03-07 | 蚂蚁区块链科技(上海)有限公司 | 通信处理方法和通信节点 |
CN115914404A (zh) * | 2022-11-30 | 2023-04-04 | 招联消费金融有限公司 | 集群流量管理方法、装置、计算机设备和存储介质 |
CN115941538A (zh) * | 2023-02-21 | 2023-04-07 | 华控清交信息科技(北京)有限公司 | 一种针对多方安全计算的测试系统、测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116233135B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11785056B2 (en) | Web browser interface for spatial communication environments | |
CA3053980C (en) | Task management based on instant communication message | |
US9813463B2 (en) | Phoning into virtual communication environments | |
KR20210064294A (ko) | 통신 접속 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체 | |
CN106211159B (zh) | 基于蓝牙的身份识别方法及装置 | |
CN112187862B (zh) | 一种任务处理方法、装置和用于任务处理的装置 | |
US20130132058A1 (en) | Creating and managing virtual areas | |
CN112235121A (zh) | 一种线上会议实现方法、装置、设备及存储介质 | |
AU2013280679A1 (en) | Communication system | |
CN113014625B (zh) | 一种任务处理方法、装置和用于任务处理的装置 | |
CN104871481B (zh) | 用于本地网络设备的基于云的功率管理的方法和装置 | |
CN113420338B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN113783774A (zh) | 一种跨集群的网络配置方法、装置、通信设备及存储介质 | |
CN108053241B (zh) | 数据分析方法、装置及计算机可读存储介质 | |
CN114422460A (zh) | 一种在即时通信应用中建立同屏交流分享的方法、系统 | |
US20170373870A1 (en) | Multimedia Communication System | |
CN112131135B (zh) | 一种密文运算调试方法、系统和用于密文运算调试的装置 | |
CN116233135B (zh) | 一种数据传输方法、系统、装置和可读存储介质 | |
CN114915455B (zh) | 一种密文数据传输方法、装置和用于密文数据传输的装置 | |
CN106850556A (zh) | 服务访问方法、装置及设备 | |
CN112929271B (zh) | 一种路由配置方法、装置和用于配置路由的装置 | |
CN112463332B (zh) | 一种数据处理方法、密文计算系统和用于数据处理的装置 | |
CN112866222B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN114430410A (zh) | 基于虚拟域名的系统访问方法、装置及设备 | |
JP2022046431A (ja) | 二重着信転換基盤の仮想番号接続方法およびシステム{method and system for connecting virtual number based on double call forwarding} |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |