CN117061516B - 基于分布式的多方安全计算方法、系统和可读存储介质 - Google Patents
基于分布式的多方安全计算方法、系统和可读存储介质 Download PDFInfo
- Publication number
- CN117061516B CN117061516B CN202311119983.6A CN202311119983A CN117061516B CN 117061516 B CN117061516 B CN 117061516B CN 202311119983 A CN202311119983 A CN 202311119983A CN 117061516 B CN117061516 B CN 117061516B
- Authority
- CN
- China
- Prior art keywords
- data
- calculation
- files
- computing
- file
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 137
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 238000007781 pre-processing Methods 0.000 claims abstract description 38
- 238000012216 screening Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 8
- 239000003999 initiator Substances 0.000 claims description 24
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005094 computer simulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的一种基于分布式的多方安全计算方法、系统和可读存储介质,其中方法包括:获取参与计算的数据文件;基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发;基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。本发明提出了一种分布式大规模数据处理的多方安全计算方法,可以结合XSCE多方安全计算算法和协议,高效、可靠、及时的对参与各方数据进行计算,拓宽XSCE的使用范围。
Description
技术领域
本发明涉及数据处理技术领域,更具体的,涉及一种基于分布式的多方安全计算方法、系统和可读存储介质。
背景技术
XSCE(XDP Secure Computing Engine)作为统一MPC框架提供最常用的MPC算法,易于被上层应用软件集成。其中,XSCE是一个以基于密码学的多方安全计算协议为基础的多方安全计算框架,集成并自研了当前主流的多方安全计算算法,该框架是单节点的模式,即参与计算的各方以单节点形式存在,各计算方网络通信只需要考虑一对一的情况,算法在节点内部的数据分桶、任务多线程等都可以通过内存的方式共享数据,基于该框架,可快速响应隐私计算方向对新算法的需求。
需要参与计算的数据,以文件形式提供给计算节点,计算节点收到计算任务请求后,会将数据全部加载到内存,并根据数据量和不同的算法,进行数据分桶和多线程并发计算的动态配置,然后启动算法流程,对参与各方数据进行安全的计算。
当前框架需要一次性将所有数据加载到内存,然后再进行并发计算,随着数据规模的增长,对内存的开销会更大,单节点内存的限制将导致加载大规模数据失败。数据规模越大,并发计算需要的CPU资源也更多,单节点CPU的限制将导致计算的时间更长,从而影响计算结果的实效性。由此,单节点框架的计算模式,限制了XSCE框架在更大数据规模的应用。
发明内容
本发明的目的是提供一种基于分布式的多方安全计算方法、系统和可读存储介质,提出了一种分布式大规模数据处理的多方安全计算方法,可以结合XSCE多方安全计算算法和协议,高效、可靠、及时的对参与各方数据进行计算,拓宽XSCE的使用范围。
本发明第一方面提供了一种基于分布式的多方安全计算方法,包括以下步骤:
获取参与计算的数据文件;
基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发;
基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;
基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。
本方案中,所述获取参与计算的数据文件,具体包括:
基于参与用户识别计算发起方以及计算参与方;
基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
本方案中,所述基于所述数据文件进行预处理得到分片文件,具体包括:
下发预处理任务到所述计算发起方以及计算参与方对应的计算层以加载所述数据文件;
基于所述计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,并将所述分片文件反馈给所述调度层。
本方案中,所述基于所述分片文件进行计算,具体包括:
基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算,其中,
每个所述计算节点计算得到一个独立结果文件。
本方案中,所述基于各所述执行结果进行汇总合并得到总输出结果,具体包括:
基于各所述独立结果文件结合所述计算节点进行汇总;
汇总过程中,结合参与用户输入的下发参数进行合并得到所述总输出结果。
本方案中,所述基于所述总输出结果输出给用户,具体包括:
获取所述总输出结果,基于所述调度层反馈给所述参与用户;和/或
获取所述总输出结果,基于共享存储方式反馈给所述参与用户。
本发明第二方面还提供一种基于分布式的多方安全计算系统,包括存储器和处理器,所述存储器中包括基于分布式的多方安全计算方法程序,所述基于分布式的多方安全计算方法程序被所述处理器执行时实现如下步骤:
获取参与计算的数据文件;
基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发;
基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;
基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。
本方案中,所述获取参与计算的数据文件,具体包括:
基于参与用户识别计算发起方以及计算参与方;
基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
本方案中,所述基于所述数据文件进行预处理得到分片文件,具体包括:
下发预处理任务到所述计算发起方以及计算参与方对应的计算层以加载所述数据文件;
基于所述计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,并将所述分片文件反馈给所述调度层。
本方案中,所述基于所述分片文件进行计算,具体包括:
基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算,其中,
每个所述计算节点计算得到一个独立结果文件。
本方案中,所述基于各所述执行结果进行汇总合并得到总输出结果,具体包括:
基于各所述独立结果文件结合所述计算节点进行汇总;
汇总过程中,结合参与用户输入的下发参数进行合并得到所述总输出结果。
本方案中,所述基于所述总输出结果输出给用户,具体包括:
获取所述总输出结果,基于所述调度层反馈给所述参与用户;和/或
获取所述总输出结果,基于共享存储方式反馈给所述参与用户。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括机器的一种基于分布式的多方安全计算方法程序,所述基于分布式的多方安全计算方法程序被处理器执行时,实现如上述任一项所述的一种基于分布式的多方安全计算方法的步骤。
本发明公开的一种基于分布式的多方安全计算方法、系统和可读存储介质,提出了一种分布式大规模数据处理的多方安全计算方法,可以结合XSCE多方安全计算算法和协议,高效、可靠、及时的对参与各方数据进行计算,拓宽XSCE的使用范围。
附图说明
图1示出了本发明一种基于分布式的多方安全计算方法的流程图;
图2示出了本发明一种基于分布式的多方安全计算系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本申请一种基于分布式的多方安全计算方法的流程图。
如图1所示,本申请公开了一种基于分布式的多方安全计算方法,包括以下步骤:
S102,获取参与计算的数据文件;
S104,基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发;
S106,基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;
S108,基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。
需要说明的是,本申请提出的一种基于分布式的多方安全计算方法需要应用于两层架构,其中,一层是调度层,一层是计算层,具体地,调度层对外给参与用户提供输入、输出接口,对内负责管理分布式计算的各节点和将一个计算任务拆分为多个可并发计算的子任务,根据各节点的负载情况,进行子任务的分发,每个参与方都是两层架构,各参与方的调度层之间通过GRPC(Google Remote Procedure Call,Google远程过程调用)网络通信,同步任务数据,而计算层负责具体的计算任务执行,包括预处理、计算、合并等子任务。各参与方的计算层之间相互隔离,每个计算方的计算层由多个节点组成,多个节点采用分布式技术,进行数据交换、数据同步、数据计算。
进一步地,于本实施例中,本发明提出的基于分布式的多方安全计算方法包括下列步骤:预处理对要参与计算的数据文件做加载、筛选、分发等处理,大规模数据量的文件,一般比较大,一次性加载到内存中过,会导致内存不够用,所以需要进行加载预处理,对大的文件进行分片,分片规则可以是根据某列数据进行hash、或者直接根据数据总行数进行均分,分片后的文件大小,需要保障算法在计算时,能一次性加载到内存中,该大小可以在用户下发计算任务时进行动态配置。筛选是预处理的一个数据清洗过程,将满足一定条件的数据提取出来,分片到文件中,这个条件可以在用户下发计算任务时指定,比如:某一列数据的值在某取值范围内的数据参与计算,从而进一步减轻数据计算的负载。分发是将分片好的文件,通过网络或者共享存储的方式,分发给分布式计算的各个节点,这些节点可以并发的对分片后的文件进行计算任务的执行。
而后是计算,具体地,对分片后的文件进行计算,这些文件负载均衡的方式分配给各计算节点,各计算节点并发的执行响应算法,并输出各自执行的结果;最后合并,通过各计算节点会各自输出执行结果,这些结果数据需要汇总、合并后,形成总的输出结果,这样从算法调用者角度来看,只会得到一个结果文件,分布式和非分布式的输入、输出接口是统一的。
根据本发明实施例,所述获取参与计算的数据文件,具体包括:
基于参与用户识别计算发起方以及计算参与方;
基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
需要说明的是,于本实施例中,接收算法执行请求,参与用户以API的形式,向本方调度层下发算法执行参数,请求算法执行,其中,本方即是计算发起方,参与用户即是计算参与方,而后算法请求同步,本方调度层与其余各参与方同步算法执行参数,协商文件分片算法、分片数以及每个计算任务的分桶数、线程数等,因此,可以基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
根据本发明实施例,所述基于所述数据文件进行预处理得到分片文件,具体包括:
下发预处理任务到所述计算发起方以及计算参与方对应的计算层以加载所述数据文件;
基于所述计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,并将所述分片文件反馈给所述调度层。
需要说明的是,于本实施例中,各方调度层根据协商好的参数(参与用户的下发参数)下发预处理任务到计算层,从而基于计算层加载得到所述数据文件,并对大规模数据文件进行数据筛选、文件分片,得到所述分片文件。
根据本发明实施例,所述基于所述分片文件进行计算,具体包括:
基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算,其中,
每个所述计算节点计算得到一个独立结果文件。
需要说明的是,于本实施例中,所述调度层根据预处理结果负载均衡的调度各节点,对分片后的数据文件进行数据计算,每个计算任务会生成一个独立的结果文件,即基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算以得到所述独立结果文件。
根据本发明实施例,所述基于各所述执行结果进行汇总合并得到总输出结果,具体包括:
基于各所述独立结果文件结合所述计算节点进行汇总;
汇总过程中,结合参与用户输入的下发参数进行合并得到所述总输出结果。
需要说明的是,于本实施例中,计算节点计算完成后,需要对各个计算节点对应的独立结果文件进行汇总,其中,根据参与用户下发的下发参数,对这些独立结果文件进行合并以得到所述总输出结果。
根据本发明实施例,所述基于所述总输出结果输出给用户,具体包括:
获取所述总输出结果,基于所述调度层反馈给所述参与用户;和/或
获取所述总输出结果,基于共享存储方式反馈给所述参与用户。
需要说明的是,于本实施例中,合并后的总输出结果,可以通过调度层返回给参与用户,也可以通过共享存储的方式,将对应的总输出结果存放在共享存储上以反馈给所述参与用户。
值得一提的是,所述下发预处理任务到所述计算发起方以及计算参与方对应的计算层以加载所述数据文件,具体包括:
获取所述下发参数;
基于所述下发参数作为索引遍历所述任务数据以得到所述数据文件。
需要说明的是,于本实施例中,基于参与用户不同的下发参数而言,对应的数据文件存在差异,因此,在加载数据文件时,需要基于所述下发参数作为索引去遍历任务数据得到与之匹配的参数以得到所述数据文件,其中,遍历的下发参数可以是关键词匹配,也可以是计算因子匹配,也可以是数据类型匹配,只要是能够满足数据进行区分即可。
值得一提的是,所述基于所述计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,具体包括:
基于筛选机制对所述数据文件进行筛选,其中,筛选机制包括特定关键词,和/或特定计算因子,和/或特定数据类型;
识别筛选后的数据文件对应的线程相关性进行文件分片作业以得到所述分片文件。
需要说明的是,上述实施例中说明了基于所述下发参数作为索引去遍历任务数据得到与之匹配的参数以得到所述数据文件,于本实施例中,对匹配到的数据文件需要进行筛选,相应地,筛选机制应与索引机制一致,也即筛选机制包括特定关键词,和/或特定计算因子,和/或特定数据类型,进一步地,在对筛选后的数据文件进分片时,具体是通过识别筛选后的数据文件对应的线程相关性进行文件分片作业,其中,可以基于相关程度值进行区域划分,或者基于相关程度值聚类划分,以得到最终的所述分片文件。
值得一提的是,所述基于相关程度值进行区域划分,具体包括:
识别筛选后的数据文件对应的线程相关性得到所述数据文件对应的不同相关程度值;
基于所述相关程度值进行阈值划分以划分不同区域来识别当前数据文件所属的分片。
需要说明的是,于本实施例中,在对数据文件进行分片作业时,可以基于当前数据文件与其他数据文件的线程相关性对应的相关程度值进行阈值划分,通过限定的区域来区分不同的分片数据,例如阈值为[A,B],只有在其他数据文件的相关程度值位于此阈值范围内时,才可与当前数据文件进行同一分片,相应地,一个数据文件有且仅属于其中一个分片。
图2示出了本发明一种基于分布式的多方安全计算系统的框图。
如图2所示,本发明公开了一种基于分布式的多方安全计算系统,包括存储器和处理器,所述存储器中包括基于分布式的多方安全计算方法程序,所述基于分布式的多方安全计算方法程序被所述处理器执行时实现如下步骤:
获取参与计算的数据文件;
基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发;
基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;
基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。
需要说明的是,本申请提出的一种基于分布式的多方安全计算方法需要应用于两层架构,其中,一层是调度层,一层是计算层,具体地,调度层对外给参与用户提供输入、输出接口,对内负责管理分布式计算的各节点和将一个计算任务拆分为多个可并发计算的子任务,根据各节点的负载情况,进行子任务的分发,每个参与方都是两层架构,各参与方的调度层之间通过GRPC(Google Remote Procedure Call,Google远程过程调用)网络通信,同步任务数据,而计算层负责具体的计算任务执行,包括预处理、计算、合并等子任务。各参与方的计算层之间相互隔离,每个计算方的计算层由多个节点组成,多个节点采用分布式技术,进行数据交换、数据同步、数据计算。
进一步地,于本实施例中,本发明提出的基于分布式的多方安全计算方法包括下列步骤:预处理对要参与计算的数据文件做加载、筛选、分发等处理,大规模数据量的文件,一般比较大,一次性加载到内存中过,会导致内存不够用,所以需要进行加载预处理,对大的文件进行分片,分片规则可以是根据某列数据进行hash、或者直接根据数据总行数进行均分,分片后的文件大小,需要保障算法在计算时,能一次性加载到内存中,该大小可以在用户下发计算任务时进行动态配置。筛选是预处理的一个数据清洗过程,将满足一定条件的数据提取出来,分片到文件中,这个条件可以在用户下发计算任务时指定,比如:某一列数据的值在某取值范围内的数据参与计算,从而进一步减轻数据计算的负载。分发是将分片好的文件,通过网络或者共享存储的方式,分发给分布式计算的各个节点,这些节点可以并发的对分片后的文件进行计算任务的执行。
而后是计算,具体地,对分片后的文件进行计算,这些文件负载均衡的方式分配给各计算节点,各计算节点并发的执行响应算法,并输出各自执行的结果;最后合并,通过各计算节点会各自输出执行结果,这些结果数据需要汇总、合并后,形成总的输出结果,这样从算法调用者角度来看,只会得到一个结果文件,分布式和非分布式的输入、输出接口是统一的。
根据本发明实施例,所述获取参与计算的数据文件,具体包括:
基于参与用户识别计算发起方以及计算参与方;
基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
需要说明的是,于本实施例中,接收算法执行请求,参与用户以API的形式,向本方调度层下发算法执行参数,请求算法执行,其中,本方即是计算发起方,参与用户即是计算参与方,而后算法请求同步,本方调度层与其余各参与方同步算法执行参数,协商文件分片算法、分片数以及每个计算任务的分桶数、线程数等,因此,可以基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
根据本发明实施例,所述基于所述数据文件进行预处理得到分片文件,具体包括:
下发预处理任务到所述计算发起方以及计算参与方对应的计算层以加载所述数据文件;
基于所述计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,并将所述分片文件反馈给所述调度层。
需要说明的是,于本实施例中,各方调度层根据协商好的参数(参与用户的下发参数)下发预处理任务到计算层,从而基于计算层加载得到所述数据文件,并对大规模数据文件进行数据筛选、文件分片,得到所述分片文件。
根据本发明实施例,所述基于所述分片文件进行计算,具体包括:
基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算,其中,
每个所述计算节点计算得到一个独立结果文件。
需要说明的是,于本实施例中,所述调度层根据预处理结果负载均衡的调度各节点,对分片后的数据文件进行数据计算,每个计算任务会生成一个独立的结果文件,即基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算以得到所述独立结果文件。
根据本发明实施例,所述基于各所述执行结果进行汇总合并得到总输出结果,具体包括:
基于各所述独立结果文件结合所述计算节点进行汇总;
汇总过程中,结合参与用户输入的下发参数进行合并得到所述总输出结果。
需要说明的是,于本实施例中,计算节点计算完成后,需要对各个计算节点对应的独立结果文件进行汇总,其中,根据参与用户下发的下发参数,对这些独立结果文件进行合并以得到所述总输出结果。
根据本发明实施例,所述基于所述总输出结果输出给用户,具体包括:
获取所述总输出结果,基于所述调度层反馈给所述参与用户;和/或
获取所述总输出结果,基于共享存储方式反馈给所述参与用户。
需要说明的是,于本实施例中,合并后的总输出结果,可以通过调度层返回给参与用户,也可以通过共享存储的方式,将对应的总输出结果存放在共享存储上以反馈给所述参与用户。
值得一提的是,所述下发预处理任务到所述计算发起方以及计算参与方对应的计算层以加载所述数据文件,具体包括:
获取所述下发参数;
基于所述下发参数作为索引遍历所述任务数据以得到所述数据文件。
需要说明的是,于本实施例中,基于参与用户不同的下发参数而言,对应的数据文件存在差异,因此,在加载数据文件时,需要基于所述下发参数作为索引去遍历任务数据得到与之匹配的参数以得到所述数据文件,其中,遍历的下发参数可以是关键词匹配,也可以是计算因子匹配,也可以是数据类型匹配,只要是能够满足数据进行区分即可。
值得一提的是,所述基于所述计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,具体包括:
基于筛选机制对所述数据文件进行筛选,其中,筛选机制包括特定关键词,和/或特定计算因子,和/或特定数据类型;
识别筛选后的数据文件对应的线程相关性进行文件分片作业以得到所述分片文件。
需要说明的是,上述实施例中说明了基于所述下发参数作为索引去遍历任务数据得到与之匹配的参数以得到所述数据文件,于本实施例中,对匹配到的数据文件需要进行筛选,相应地,筛选机制应与索引机制一致,也即筛选机制包括特定关键词,和/或特定计算因子,和/或特定数据类型,进一步地,在对筛选后的数据文件进分片时,具体是通过识别筛选后的数据文件对应的线程相关性进行文件分片作业,其中,可以基于相关程度值进行区域划分,或者基于相关程度值聚类划分,以得到最终的所述分片文件。
值得一提的是,所述基于相关程度值进行区域划分,具体包括:
识别筛选后的数据文件对应的线程相关性得到所述数据文件对应的不同相关程度值;
基于所述相关程度值进行阈值划分以划分不同区域来识别当前数据文件所属的分片。
需要说明的是,于本实施例中,在对数据文件进行分片作业时,可以基于当前数据文件与其他数据文件的线程相关性对应的相关程度值进行阈值划分,通过限定的区域来区分不同的分片数据,例如阈值为[A,B],只有在其他数据文件的相关程度值位于此阈值范围内时,才可与当前数据文件进行同一分片,相应地,一个数据文件有且仅属于其中一个分片,进一步地,在基于相关程度值进行聚类划分时,不同的簇有着不同的划分结果,具体划分步骤在此不做赘述。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种基于分布式的多方安全计算方法程序,所述基于分布式的多方安全计算方法程序被处理器执行时,实现如上述任一项所述的一种基于分布式的多方安全计算方法的步骤。
本发明公开的一种基于分布式的多方安全计算方法、系统和可读存储介质,提出了一种分布式大规模数据处理的多方安全计算方法,可以结合XSCE多方安全计算算法和协议,高效、可靠、及时的对参与各方数据进行计算,拓宽XSCE的使用范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (8)
1.一种基于分布式的多方安全计算方法,其特征在于,包括以下步骤:
获取参与计算的数据文件,其中,具体包括基于计算发起方和其余各计算参与方同步执行算法参数,协商文件分片算法、分片数以及每个计算任务的分桶数以及线程数,具体基于下发参数作为索引遍历任务数据以得到所述数据文件,所述下发参数至少包括关键词、计算因子以及数据类型;
基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发,其中,
基于计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,具体基于筛选机制对所述数据文件进行筛选,筛选机制包括特定关键词,和/或特定计算因子,和/或特定数据类型,识别筛选后的数据文件对应的线程相关性进行文件分片作业以得到所述分片文件,其中,识别筛选后的数据文件对应的线程相关性得到所述数据文件对应的不同相关程度值,并基于所述相关程度值进行阈值划分以划分不同区域来识别当前数据文件所属的分片;以及
将所述分片文件反馈给调度层,其中,根据对应列数据进行hash处理,或者根据数据总行数进行均分以进行加载预处理,在用户下发计算任务时指定一列数据的值在对应取值范围内的数据参与计算以完成筛选,以及将分片后的文件通过网络或者共享存储的方式,分发给分布式计算的各个节点;
基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;
基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。
2.根据权利要求1所述的一种基于分布式的多方安全计算方法,其特征在于,所述获取参与计算的数据文件,具体包括:
基于参与用户识别计算发起方以及计算参与方;
基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
3.根据权利要求2所述的一种基于分布式的多方安全计算方法,其特征在于,所述基于所述分片文件进行计算,具体包括:
基于所述调度层负载均衡调度各计算节点对所述分片文件进行计算,其中,
每个所述计算节点计算得到一个独立结果文件。
4.根据权利要求3所述的一种基于分布式的多方安全计算方法,其特征在于,所述基于各所述执行结果进行汇总合并得到总输出结果,具体包括:
基于各所述独立结果文件结合所述计算节点进行汇总;
汇总过程中,结合参与用户输入的下发参数进行合并得到所述总输出结果。
5.根据权利要求4所述的一种基于分布式的多方安全计算方法,其特征在于,所述基于所述总输出结果输出给用户,具体包括:
获取所述总输出结果,基于所述调度层反馈给所述参与用户;和/或
获取所述总输出结果,基于共享存储方式反馈给所述参与用户。
6.一种基于分布式的多方安全计算系统,其特征在于,包括存储器和处理器,所述存储器中包括基于分布式的多方安全计算方法程序,所述基于分布式的多方安全计算方法程序被所述处理器执行时实现如下步骤:
获取参与计算的数据文件,其中,具体包括基于计算发起方和其余各计算参与方同步执行算法参数,协商文件分片算法、分片数以及每个计算任务的分桶数以及线程数,具体基于下发参数作为索引遍历任务数据以得到所述数据文件,所述下发参数至少包括关键词、计算因子以及数据类型;
基于所述数据文件进行预处理得到分片文件,其中,所述预处理的方式至少包括加载、筛选以及分发,其中,
基于计算层对所述数据文件进行数据筛选以及文件分片得到所述分片文件,具体基于筛选机制对所述数据文件进行筛选,筛选机制包括特定关键词,和/或特定计算因子,和/或特定数据类型,识别筛选后的数据文件对应的线程相关性进行文件分片作业以得到所述分片文件,其中,识别筛选后的数据文件对应的线程相关性得到所述数据文件对应的不同相关程度值,并基于所述相关程度值进行阈值划分以划分不同区域来识别当前数据文件所属的分片;以及
将所述分片文件反馈给调度层,其中,根据对应列数据进行hash处理,或者根据数据总行数进行均分以进行加载预处理,在用户下发计算任务时指定一列数据的值在对应取值范围内的数据参与计算以完成筛选,以及将分片后的文件通过网络或者共享存储的方式,分发给分布式计算的各个节点;
基于所述分片文件进行计算,其中,各计算节点并发执行响应算法得到执行结果;
基于各所述执行结果进行汇总合并得到总输出结果,从而基于所述总输出结果输出给参与用户。
7.根据权利要求6所述的一种基于分布式的多方安全计算系统,其特征在于,所述获取参与计算的数据文件,具体包括:
识别计算发起方以及计算参与方;
基于所述计算发起方以及所述计算参与方的调度层对应的通信数据得到任务数据,从而基于所述任务数据得到所述数据文件。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种基于分布式的多方安全计算方法程序,所述基于分布式的多方安全计算方法程序被处理器执行时,实现如权利要求1至5中任一项所述的一种基于分布式的多方安全计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311119983.6A CN117061516B (zh) | 2023-09-01 | 2023-09-01 | 基于分布式的多方安全计算方法、系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311119983.6A CN117061516B (zh) | 2023-09-01 | 2023-09-01 | 基于分布式的多方安全计算方法、系统和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117061516A CN117061516A (zh) | 2023-11-14 |
CN117061516B true CN117061516B (zh) | 2024-04-26 |
Family
ID=88667537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311119983.6A Active CN117061516B (zh) | 2023-09-01 | 2023-09-01 | 基于分布式的多方安全计算方法、系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061516B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672122B1 (en) * | 2014-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Fault tolerant distributed tasks using distributed file systems |
CN112395642A (zh) * | 2020-11-20 | 2021-02-23 | 湖南智慧政务区块链科技有限公司 | 一种安全多方隐私计算方法、装置、设备及存储介质 |
CN112632569A (zh) * | 2019-10-09 | 2021-04-09 | 华控清交信息科技(北京)有限公司 | 数据处理方法、系统、装置、电子设备及可读存储介质 |
CN112965809A (zh) * | 2019-12-12 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 深度学习任务处理系统和方法 |
CN113177034A (zh) * | 2021-05-06 | 2021-07-27 | 南京大学 | 一种跨平台统一的分布式图数据处理方法 |
CN116303303A (zh) * | 2023-03-20 | 2023-06-23 | 中国工商银行股份有限公司 | 批量数据处理方法、装置、设备及介质 |
CN116467266A (zh) * | 2023-04-19 | 2023-07-21 | 维恩贝特科技有限公司 | 一种批量文件智能联机处理方法、装置及可存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11436671B2 (en) * | 2020-06-05 | 2022-09-06 | Capital One Services, Llc | Secure multi-party computation for sensitive credit score computation |
-
2023
- 2023-09-01 CN CN202311119983.6A patent/CN117061516B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672122B1 (en) * | 2014-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Fault tolerant distributed tasks using distributed file systems |
CN112632569A (zh) * | 2019-10-09 | 2021-04-09 | 华控清交信息科技(北京)有限公司 | 数据处理方法、系统、装置、电子设备及可读存储介质 |
CN112965809A (zh) * | 2019-12-12 | 2021-06-15 | 深圳市优必选科技股份有限公司 | 深度学习任务处理系统和方法 |
CN112395642A (zh) * | 2020-11-20 | 2021-02-23 | 湖南智慧政务区块链科技有限公司 | 一种安全多方隐私计算方法、装置、设备及存储介质 |
CN113177034A (zh) * | 2021-05-06 | 2021-07-27 | 南京大学 | 一种跨平台统一的分布式图数据处理方法 |
CN116303303A (zh) * | 2023-03-20 | 2023-06-23 | 中国工商银行股份有限公司 | 批量数据处理方法、装置、设备及介质 |
CN116467266A (zh) * | 2023-04-19 | 2023-07-21 | 维恩贝特科技有限公司 | 一种批量文件智能联机处理方法、装置及可存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117061516A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9171044B2 (en) | Method and system for parallelizing database requests | |
Barazzutti et al. | Streamhub: A massively parallel architecture for high-performance content-based publish/subscribe | |
CN111708627B (zh) | 基于分布式调度框架的任务调度方法以及装置 | |
WO2019184739A1 (zh) | 一种数据查询方法、装置及设备 | |
CN112035258A (zh) | 数据处理方法、装置、电子设备及介质 | |
US9495411B2 (en) | Increased parallelism performance of batch requests | |
CN110058940B (zh) | 一种多线程环境下的数据处理方法及装置 | |
EP3769232B1 (en) | Method and system for performing inner-joins on a sharded data set | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN113900598A (zh) | 基于区块链的数据存储方法、装置、设备以及存储介质 | |
CN107204998B (zh) | 处理数据的方法和装置 | |
US11947534B2 (en) | Connection pools for parallel processing applications accessing distributed databases | |
CN113297188B (zh) | 数据处理方法以及装置 | |
CN117061516B (zh) | 基于分布式的多方安全计算方法、系统和可读存储介质 | |
CN109285015B (zh) | 一种虚拟资源的分配方法及系统 | |
CN116662001A (zh) | 一种事件处理方法及装置 | |
CN111666509A (zh) | 基于跨网络地理数据的云查询方法及系统 | |
CN114860460B (zh) | 一种数据库加速的方法、装置、计算机设备 | |
CN112632569A (zh) | 数据处理方法、系统、装置、电子设备及可读存储介质 | |
CN116226178A (zh) | 一种数据查询方法、装置、存储介质及电子装置 | |
CN110909072A (zh) | 一种数据表建立方法、装置及设备 | |
Prasad et al. | Performance Analysis of Schedulers to Handle Multi Jobs in Hadoop Cluster. | |
Wang et al. | On the design of a time, resource and energy efficient multi-installment large-scale workload scheduling strategy for network-based compute platforms | |
CN113238839B (zh) | 一种基于云计算数据管理方法及装置 | |
CN111221858A (zh) | 一种数据处理方法、装置及设备 |
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 |