CN114880015A - 任务配置方法、装置、设备及存储介质 - Google Patents
任务配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114880015A CN114880015A CN202110845569.8A CN202110845569A CN114880015A CN 114880015 A CN114880015 A CN 114880015A CN 202110845569 A CN202110845569 A CN 202110845569A CN 114880015 A CN114880015 A CN 114880015A
- Authority
- CN
- China
- Prior art keywords
- node
- json
- task
- element assembly
- type
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种任务配置方法、装置、设备及存储介质,所述方法包括:获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。本发明实现了用户无需关注繁琐的配置文件,也无需编写复杂的隐私计算算法,降低了隐私计算任务配置方案的门槛和开发成本。
Description
技术领域
本发明涉及隐私计算技术领域,尤其涉及一种任务配置方法、装置、设备及存储介质。
背景技术
在隐私计算领域,上层应用需要一种配置方案来表达隐私计算任务,用于描述该计算任务的数据集和计算流程。各参与方将使用同一个任务配置和各自的数据集完成隐私计算任务。目前已有的任务配置方案有编程语言方案,通过提供特定的编程语言描述隐私计算算法,例如MP-SPDZ(一个安全多方计算的开源项目)安全多方计算的框架采用类似python语言的方式描述安全多方计算算法,参与各方使用相同的算法描述文件和使用各自的数据集完成安全多方计算任务。但是编程语言方案因为需要学习相关的语法,门槛和开发成本都比较高。
发明内容
本发明的主要目的在于提供一种任务配置方法、装置、设备及存储介质,旨在解决目前隐私计算任务配置方案门槛和开发成本高的技术问题。
为实现上述目的,本发明提供一种任务配置方法,所述方法包括以下步骤:
获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
可选地,对于各所述元素组件中类型为节点的节点元素组件,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤包括:
当所述节点元素组件的节点类型是数据源时,为所述节点元素组件分配唯一的数据源类型的节点标识;
当所述节点元素组件的节点类型是任务单元时,为所述节点元素组件初始化一个JSON对象,为所述节点元素组件分配唯一的任务单元类型的节点标识,并在所述JSON对象中初始化一个节点标识属性和一个任务类型属性用于分别记录所述节点元素组件的节点标识和任务类型,以及在所述JSON对象中初始化一个为空的输入属性和一个为空的依赖属性。
可选地,对于各所述元素组件中类型为连接线的连接线元素组件,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤还包括:
当所述连接线元素组件的连接线类型是数据流时,将第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中输入属性的属性值,其中,所述第一节点元素组件是所述连接线元素组件所连接的作为输入节点的节点元素组件,所述第二节点元素组件是所述连接线元素组件所连接的作为输出节点的节点元素组件;
当所述连接线元素组件的连接线类型是依赖关系时,将第三节点元素组件的节点标识作为第四节点元素组件对应的JSON对象中依赖属性的属性值,其中,所述第三节点元素组件是所述连接线元素组件所连接的作为被依赖节点的节点元素组件,所述第四节点元素组件是所述连接线元素组件所连接的作为依赖节点的节点元素组件。
可选地,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤还包括:
当所述节点元素组件的节点类型是单元参数时,则获取在所述流程图绘制界面中针对所述节点元素组件设置的参数内容,并生成包含所述参数内容的JSON对象;
当所述连接线元素组件的连接线类型是参数绑定时,将第五节点元素组件对应的JSON对象添加至第六节点元素组件对应的JSON对象中,其中,所述第五节点元素组件是所述连接线元素组件所连接的节点类型为单元参数的节点元素组件,所述第六节点元素组件是是所述连接线元素组件所连接的节点类型为任务单元的节点元素组件。
可选地,所述对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规的步骤包括:
检测节点类型为任务单元的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含,检测节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值是否为空,以及检测节点类型为数据源的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含;
若一个节点类型为任务单元的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,且所述节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值均为空,则确定所述节点类型为任务单元的节点元素组件为孤立节点;
若一个节点类型为数据源的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,则确定所述节点类型为数据源的节点元素组件为孤立节点;
若所述隐私计算任务流程图的各个元素组件中存在孤立节点,则确定所述隐私计算任务流程图不合规,否则,确定所述隐私计算任务流程图合规。
可选地,所述对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规的步骤之后,还包括:
若确定所述隐私计算任务流程图不合规,则输出提示所述隐私计算任务流程图中存在孤立节点的提示信息。
可选地,所述若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件的步骤之后,还包括:
解析所述JSON格式配置文件得到所述JSON格式配置文件中各所述JSON对象对应的预设隐私计算组件;
解析各所述JSON对象的属性值得到各所述预设隐私计算组件的初始化参数和调度顺序;
按照所述初始化参数对各所述预设隐私计算组件进行初始化后,按照所述调度顺序调度各所述预设隐私计算组件执行隐私计算任务,得到隐私计算任务计算结果并输出。
为实现上述目的,本发明还提供一种任务配置装置,所述装置包括:
生成模块,用于获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
检测模块,用于对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
拼接模块,用于若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
为实现上述目的,本发明还提供一种任务配置设备,所述任务配置设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务配置程序,所述任务配置程序被所述处理器执行时实现如上所述的任务配置方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有任务配置程序,所述任务配置程序被处理器执行时实现如上所述的任务配置方法的步骤。
本发明中,通过获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各元素组件的类型对应预设的JSON生成规则,基于各元素组件生成各个JSON对象;对各JSON对象中与预设规则相关的属性值进行检测,以检测隐私计算任务流程图是否合规;若合规,则将各JSON对象进行拼接得到隐私计算任务流程图对应的JSON格式配置文件,以基于JSON格式配置文件进行隐私计算任务调度。实现了用户通过图形化的流程图绘制界面绘制隐私计算任务流程图,即可自动根据绘制的流程图中的元素组件生成合规的用于描述隐私计算任务流程的JSON格式配置文件,整个过程用户无需关注繁琐的配置文件,也无需编写复杂的隐私计算算法,降低了隐私计算任务配置方案的门槛和开发成本。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明任务配置方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种元素组件显示样式示意图;
图4为本发明实施例涉及的一种示例性的隐私计算任务流程图;
图5为本发明任务配置装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例任务配置设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
如图1所示,该任务配置设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对任务配置设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及任务配置程序。操作系统是管理和控制设备硬件和软件资源的程序,支持任务配置程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的任务配置程序,并执行以下操作:
获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
进一步地,对于各所述元素组件中类型为节点的节点元素组件,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象包括:
当所述节点元素组件的节点类型是数据源时,为所述节点元素组件分配唯一的数据源类型的节点标识;
当所述节点元素组件的节点类型是任务单元时,为所述节点元素组件初始化一个JSON对象,为所述节点元素组件分配唯一的任务单元类型的节点标识,并在所述JSON对象中初始化一个节点标识属性和一个任务类型属性用于分别记录所述节点元素组件的节点标识和任务类型,以及在所述JSON对象中初始化一个为空的输入属性和一个为空的依赖属性。
进一步地,对于各所述元素组件中类型为连接线的连接线元素组件,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象还包括:
当所述连接线元素组件的连接线类型是数据流时,将第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中输入属性的属性值,其中,所述第一节点元素组件是所述连接线元素组件所连接的作为输入节点的节点元素组件,所述第二节点元素组件是所述连接线元素组件所连接的作为输出节点的节点元素组件;
当所述连接线元素组件的连接线类型是依赖关系时,将第三节点元素组件的节点标识作为第四节点元素组件对应的JSON对象中依赖属性的属性值,其中,所述第三节点元素组件是所述连接线元素组件所连接的作为被依赖节点的节点元素组件,所述第四节点元素组件是所述连接线元素组件所连接的作为依赖节点的节点元素组件。
进一步地,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象还包括:
当所述节点元素组件的节点类型是单元参数时,则获取在所述流程图绘制界面中针对所述节点元素组件设置的参数内容,并生成包含所述参数内容的JSON对象;
当所述连接线元素组件的连接线类型是参数绑定时,将第五节点元素组件对应的JSON对象添加至第六节点元素组件对应的JSON对象中,其中,所述第五节点元素组件是所述连接线元素组件所连接的节点类型为单元参数的节点元素组件,所述第六节点元素组件是是所述连接线元素组件所连接的节点类型为任务单元的节点元素组件。
进一步地,所述对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规包括:
检测节点类型为任务单元的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含,检测节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值是否为空,以及检测节点类型为数据源的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含;
若一个节点类型为任务单元的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,且所述节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值均为空,则确定所述节点类型为任务单元的节点元素组件为孤立节点;
若一个节点类型为数据源的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,则确定所述节点类型为数据源的节点元素组件为孤立节点;
若所述隐私计算任务流程图的各个元素组件中存在孤立节点,则确定所述隐私计算任务流程图不合规,否则,确定所述隐私计算任务流程图合规。
进一步地,所述对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规之后,还包括:
若确定所述隐私计算任务流程图不合规,则输出提示所述隐私计算任务流程图中存在孤立节点的提示信息。
进一步地,所述若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件之后,还包括:
解析所述JSON格式配置文件得到所述JSON格式配置文件中各所述JSON对象对应的预设隐私计算组件;
解析各所述JSON对象的属性值得到各所述预设隐私计算组件的初始化参数和调度顺序;
按照所述初始化参数对各所述预设隐私计算组件进行初始化后,按照所述调度顺序调度各所述预设隐私计算组件执行隐私计算任务,得到隐私计算任务计算结果并输出。
基于上述的结构,提出任务配置方法的各个实施例。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
低代码:(Low Code)用户在少代码甚至无代码的情况下完成开发任务的一种模式,通常会提供图形化界面的操作平台。
隐私计算:指在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一类信息技术,保障数据在产生、存储、计算、应用、销毁等信息流程全过程的各个环节中“可用不可见”。隐私计算包括安全多方计算、联邦学习(联合建模)、可信执行环境等。
安全多方计算:(Secure Multi-Party Computation,MPC)安全多方计算是指在无可信第三方的情况下,多个参与方协同计算一个约定的函数,并且保证每一方仅获取自己的计算结果,无法通过计算过程中的交互数据推测出其他任意一方的输入和输出数据。
联邦学习:(Federated Learning,FL)指多个参与方在保证各自原始私有数据不出数据方定义的私有边界的前提下,协作完成某项机器学习任务的机器学习模式。
隐私求交:(Private Set Intersection,PSI)允许持有各自数据集合的两方执行双方集合的交集运算。PSI协议结束之后,一方或两方能够得到交集结果,但是双方都无法获知交集以外的对方集合数据的任何信息。
隐私求并:(Private Set Union,PSU)允许持有各自数据集合的两方执行双方集合的并集运算。PSU协议结束之后,一方或两方能够得到并集结果。
参照图2,图2为本发明任务配置方法第一实施例的流程示意图。
本发明实施例提供了任务配置方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在本实施例中,任务配置方法执行主体可以是智能手机、个人计算机、服务器等设备,为便于描述,以下以配置系统为执行主体进行各实施例的阐述。在本实施例中,任务配置方法包括:
步骤S10,获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
本实施例针对联合报表、联合建模等常见的隐私计算场景,针对性地设计了一套低代码的隐私计算任务配置方案。用户只需要通过图形化界面进行拖拽、连线等流程图绘制操作,就能实现隐私计算任务的配置。整个过程用户无需关注繁琐的配置文件,也无需编写复杂地隐私计算算法。
具体地,在配置系统中可以设置一个流程图绘制界面,供用户绘制隐私计算任务流程图。流程图绘制界面中可设置控件区和绘图区两个区域,控件区中设置可供用户选择的多类元素组件,例如可包括节点、连接线等各类流程图元素对应的元素组件。其中,节点类型的元素组件可称为节点元素组件,节点元素组件的节点类型可进一步包括任务单元类型,或者还可包括数据源类型,或者还可包括单元参数类型;任务单元类型的节点元素组件用于表示流程中需要执行的隐私计算任务,任务单元类型的节点元素组件还可进一步划分为多种任务类型的节点元素组件,以表示需要执行的不同类型的隐私计算任务,例如隐私求交、隐私求并等任务类型;数据源类型的节点元素组件用于表示流程中隐私计算任务所需的数据源;单元参数类型的节点元素组件用于表示流程中隐私计算任务执行时所需要设置的参数。连接线类型的元素组件可称为连接线元素组件,连接线元素组件的连接线类型可进一步包括数据流类型,或者还可进一步包括依赖关系类型,或者还可进一步包括参数绑定类型;数据流类型的连接线元素组件用于表示流程中隐私计算任务之间的数据流向;依赖关系类型的连接线元素组件用于表示流程中隐私计算任务之间的依赖关系,即用于限定一个隐私计算任务必须在另一个隐私计算任务之后执行;参数绑定类型的连接线元素组件用于关联流程中隐私计算任务与执行隐私计算任务时所需设置的参数。元素组件可配置为通过鼠标点击或拖拽等操作选中,绘图区用于显示被用户选中的元素组件,绘图区还配置为可调整各个被选中元素组件的位置,以使得用户可以绘制隐私计算任务流程图。
配置系统可以获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各元素组件的类型对应预设的JSON生成规则,基于各个元素组件生成各个JSON对象。其中,配置系统中预先设置了各种类型的元素组件分别对应的JSON生成规则,也即,不同类型的元素组件对应的JSON生成规则不同;例如,当元素组件的类型包括任务单元类型的节点元素组件时,对应的JSON生成规则可以设置为生成该节点元素组件对应的一个JSON对象;当元素组件的类型包括数据流类型的连接线元素组件时,对应的JSON生成规则可以设置为生成该连接线元素组件所连接的节点元素组件对应的JSON对象中的属性值。针对每个元素组件,配置系统按照该元素组件的类型对应的JSON生成规则,生成该元素组件对应的JSON信息;JSON信息可以是一个完整的JSON对象,或者是JSON对象中的属性或属性值,也即,根据一个元素组件可能生成一个完整的JSON对象,也可能生成JSON对象中的部分属性或属性值,那么,根据多个不同类型的元素组件生成的JSON信息,可得到多个JSON对象,生成的JSON对象的数量是小于或等于元素组件的数量的。
在一实施方式中,配置系统可以在用户选中元素组件时,即按照被选中的该元素组件的类型对应预设的JSON生成规则,根据该元素组件生成JSON信息,也即,用户一边绘制,配置系统一边生成JSON信息;在此基础上,进一步地,配置系统也可以基于用户取消选中元素组件的操作,删除该被取消选中的元素组件对应的JSON信息。
在另一实施方式中,可在流程图绘制界面设置一个生成控件,供用户在绘制完隐私计算任务流程图后,基于该生成控件触发JSON生成指令,配置系统在检测到JSON生成指令后,再根据流程图绘制界面中绘制完成的隐私计算任务流程图中的各个元素组件生成JSON对象。
步骤S20,对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
在根据隐私计算任务流程图中的各个元素组件生成各个JSON对象后,配置系统可以对各JSON对象中与预设规则相关的属性值进行检测,以检测隐私计算任务流程图是否合规。其中,预设规则是预先根据需要设置的流程图规则,例如,不能有孤立节点和/或不能有闭环等规则,预先可设置预设规则相关的属性值,配置系统通过对各个JSON对象中与预设规则相关的属性值进行检测,来检测隐私计算任务流程图是否符合预设规则,也即是否合规。例如,对于不能有闭环的规则,设置需要检测的属性值包括JSON对象中的输入属性对应属性值,也即,配置系统可检测各个JSON对象的输入属性对应的属性值,以确定是否有多个JSON对象形成一个闭环,若没有,则确定隐私计算任务流程图符合不能有闭环的规则,否则,确定隐私计算任务流图不符合不能有闭环的规则。其中,对于编号1-N的N个JSON对象,若满足JSON对象i中输入属性对应的属性值与JSON对象i+1中节点标识属性对应的属性值相同,且JSON对象N中输入属性对应的属性值与JSON对象1中节点标识属性对应的属性值相同,i∈[1,N-1],则确定该N个JSON对象形成了一个闭环。
步骤S30,若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
若配置系统检测到隐私计算任务流程图合规,则可将各个JSON对象进行拼接得到隐私计算任务流程图对应的JSON格式配置文件。具体地,配置系统可以将各个JSON对象拼接为一个JSON对象,也即,拼接得到的JSON对象中包括各个JSON对象,配置系统将拼接得到的JSON对象进行保存,即得到了一个JSON格式的文件,该文件即JSON格式配置文件。配置系统可以基于生成得到的JSON格式配置文件进行隐私计算任务调度,或者将该JSON格式配置文件发送给其他系统,由其他系统基于该JSON格式配置文件进行隐私计算任务调度。
在本实施例中,通过获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各元素组件的类型对应预设的JSON生成规则,基于各元素组件生成各个JSON对象;对各JSON对象中与预设规则相关的属性值进行检测,以检测隐私计算任务流程图是否合规;若合规,则将各JSON对象进行拼接得到隐私计算任务流程图对应的JSON格式配置文件,以基于JSON格式配置文件进行隐私计算任务调度。实现了用户通过图形化的流程图绘制界面绘制隐私计算任务流程图,即可自动根据绘制的流程图中的元素组件生成合规的用于描述隐私计算任务流程的JSON格式配置文件,整个过程用户无需关注繁琐的配置文件,也无需编写复杂的隐私计算算法,降低了隐私计算任务配置方案的门槛和开发成本。
进一步地,在一实施方式中,配置系统或其他系统可基于开源的DAG(DirectedAcyclic Graph,有向无环图)任务流框架,按照该JSON格式配置文件完成隐私计算的任务调度,在执行每个任务单元时,根据任务单元类型初始化对应的隐私计算组件来完成计算,最后输出隐私计算任务的计算结果。
具体地,所述步骤S30之后,还包括:
步骤S40,解析所述JSON格式配置文件得到所述JSON格式配置文件中各所述JSON对象对应的预设隐私计算组件;
对于流程图绘制界面中各个任务单元类型的节点元素组件,可以预先编写与各个节点元素组件的任务类型分别对应的隐私计算组件,通过隐私计算组件封装实现该任务类型对应的任务功能,例如,任务类型为隐私求交的节点元素组件对应的隐私计算组件能够实现基于输入的两个数据集,基于隐私求交的协议,计算得到两个数据集的交集结果。将各个隐私计算组件配置为可供配置系统调用,并在配置系统中配置各任务类型与各个隐私计算组件之间的对应关系。
配置系统在基于JSON格式配置文件进行隐私计算任务调度时,可先解析JSON格式配置文件,得到JSON格式配置文件中各个JSON对象对应的隐私计算组件。具体地,可以解析JSON格式配置文件中各个JSON对象的任务类型属性,根据任务类型属性对应的属性值查找预先配置的对应关系,得到属性值对应的隐私计算组件,即可确定各个JSON对象分别对应的隐私计算组件。
步骤S50,解析各所述JSON对象的属性值得到各所述预设隐私计算组件的初始化参数和调度顺序;
配置系统还可解析各个JSON对象的属性值,得到各个预设隐私计算组件的初始化参数和调度顺序。具体地,可以解析JSON对象的参数属性,将参数属性对应的属性值作为该JSON对象对应的隐私计算组件的初始化参数。其中,JSON对象的参数属性和参数属性对应的属性值,可以是配置系统根据在流程图绘制界面中针对单元参数类型的节点元素组件设置的参数内容生成的;或者也可以是预先设置各种任务类型对应的默认参数项和各默认参数项对应的参数值,配置系统对于任务单元类型的节点元素组件,根据该节点元素组件的任务类型对应的默认参数项生成该节点元素组件对应的JSON对象中的参数属性,根据该默认参数项对应的参数值,生成该参数属性对应的属性值。
隐私计算组件的调度顺序是指隐私计算组件之间调度的先后顺序。对于每个JSON对象,可以获取该JSON对象的输入属性对应的属性值,将节点标识属性对应的属性值与该JSON对象的输入属性对应的属性值相同的另一JSON对象作为该JSON对象的前一节点,该JSON对象对应的隐私计算组件的调度顺序在作为该JSON对象的前一节点的另一JSON对象对应的隐私计算组件的调度顺序之后。或者,对于每个JSON对象,可以获取该JSON对象的依赖属性对应的属性值,将节点标识属性对应的属性值与该JSON对象的依赖属性对应的属性值相同的另一JSON对象作为该JSON对象的前一节点,该JSON对象对应的隐私计算组件的调度顺序在作为该JSON对象的前一节点的另一JSON对象对应的隐私计算组件的调度顺序之后。
步骤S60,按照所述初始化参数对各所述预设隐私计算组件进行初始化后,按照所述调度顺序调度各所述预设隐私计算组件执行隐私计算任务,得到隐私计算任务计算结果并输出。
配置系统在解析得到各JSON对象对应的隐私计算组件的初始化参数和调度顺序后,可按照隐私计算组件的初始化参数对该隐私计算组件进行初始化,再按照各个隐私计算组件的调度顺序调度各个隐私计算组件来执行隐私计算任务,调度结束后,配置系统获取负责输出结果的隐私计算组件输出的隐私计算任务计算结果,并可根据输出需求将该计算结果输出。
进一步地,基于上述第一实施例,提出本发明任务配置方法第二实施例,在本实施例中,所述步骤S10中按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤包括:
步骤S101,当所述节点元素组件的节点类型是数据源时,为所述节点元素组件分配唯一的数据源类型的节点标识;
在本实施例中,在流程图绘制界面中可以设置类型为节点的节点元素组件,并设置数据源和任务单元两种节点类型的节点元素组件,预先在配置系统中设置针对数据源和任务单元两种节点元素组件的不同JSON生成规则,当配置系统获取到的用户绘制的隐私计算任务流程图中包括节点元素组件时,采用节点元素组件的节点类型对应的JSON生成规则生成该节点元素组件相应的JSON信息。
具体地,当配置系统获取到隐私计算任务流程图中的节点元素组件时,可以先检测节点元素组件的节点类型。
当节点类型是数据源时,配置系统可以为该节点元素组件分配一个唯一的数据源类型的节点标识。其中,生成唯一节点标识的方式有很多种,在本实施例中并不做限制,例如可以采用随机数生成算法来生成唯一的节点标识,也可以采用编号的方式来生成节点标识;如对第一个数据源类型的节点元素组件,分配的节点标识是“source0”,对第二个数据源类型的节点元素组件,分配的节点标识是“source1”,依存类推,第N个数据源类型的节点元素组件,分配的节点标识是“sourceN”。可以理解的是,数据源类型的节点元素组件分配的节点标识是数据源类型的,区别于其他类型的节点元素组件的节点标识。
步骤S102,当所述节点元素组件的节点类型是任务单元时,为所述节点元素组件初始化一个JSON对象,为所述节点元素组件分配唯一的任务单元类型的节点标识,并在所述JSON对象中初始化一个节点标识属性和一个任务类型属性用于分别记录所述节点元素组件的节点标识和任务类型,以及在所述JSON对象中初始化一个为空的输入属性和一个为空的依赖属性。
当配置系统检测到节点元素组件的节点类型是任务单元时,配置系统可以为该节点元素组件初始化一个JSON对象,并为该节点元素组件分配一个唯一的任务单元类型的节点标识。其中,生成唯一节点标识的方式有很多种,在本实施例中并不做限制,例如可以采用随机数生成算法来生成唯一的节点标识,也可以采用编号的方式来生成节点标识;如对第一个任务单元类型的节点元素组件,分配的节点标识是“001”,对第二个任务单元类型的节点元素组件,分配的节点标识是“002”,依存类推,第N个任务单元类型的节点元素组件,分配的节点标识是“N”。可以理解的是,任务单元类型的节点元素组件分配的节点标识是任务单元类型的,区别于其他类型的节点元素组件的节点标识。
配置系统可在该节点元素组件的JSON对象中初始化一个节点标识属性和一个任务类型属性;节点标识属性用于记录该节点元素组件的节点标识,也即,将为该节点元素组件分配的节点标识作为该节点标识属性对应的属性值;任务类型属性用于记录该节点元素组件的任务类型,也即,将该节点元素组件的任务类型作为该任务类型属性对应的属性值。需要说明的是,任务单元类型的节点元素组件预先绑定一个任务类型,用于表示该节点元素组件代表哪一种任务,并且,在流程图绘制界面中不同任务类型的节点元素组件采用不同的样式展示,以便于用户区分。
进一步地,任务类型可以设置为包括与计算相关的各种任务类型,例如,逻辑运算:求交、求并,算术运行:加、减、乘、除,函数运算:求平均值、求和、分组、最大值、最小值、排序、计数等,机器学习:逻辑回归、K-Means等,以及自定义算法。任务类型还可以包括用于表示输出功能的输出类型。对于任务类型是与计算相关的任务类型的节点元素组件,其节点类型也可以称为计算单元类型,对于任务类型是输出类型的节点元素组件,其节点类型也可以称为输出单元类型,也即,将节点类型中的任务单元类型进一步可划分为计算单元类型和输出单元类型,两种类型的节点元素组件的JSON生成规则没有区别。
配置系统还进一步在JSON对象中初始化一个为空的输入属性和一个为空的依赖属性。需要说明的是,由于是初始化,所以输入属性的属性值和依赖属性的属性值都为空,在根据其他元素组件生成JSON信息的过程中,可以为填入输入属性和依赖属性对应的属性值。
进一步地,在一实施方式中,对于各所述元素组件中类型为连接线的连接线元素组件,所述步骤S10中按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤还包括:
步骤S103,当所述连接线元素组件的连接线类型是数据流时,将第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中输入属性的属性值,其中,所述第一节点元素组件是所述连接线元素组件所连接的作为输入节点的节点元素组件,所述第二节点元素组件是所述连接线元素组件所连接的作为输出节点的节点元素组件;
在本实施例中,在流程图绘制界面中可以设置类型为连接线的连接线元素组件,并设置数据流和依赖关系两种连接线类型的连接线元素组件,预先在配置系统中设置针对数据流和依赖关系两种连接线元素组件的不同JSON生成规则,当配置系统获取到的用户绘制的隐私计算任务流程图中包括连接线元素组件时,采用连接线元素组件的连接线类型对应的JSON生成规则生成该连接线元素组件相应的JSON信息。
具体地,当配置系统获取到隐私计算任务流程图中的连接线元素组件时,可以先检测连接线元素组件的连接线类型。
当连接线类型是数据流时,配置系统可以获取连接线元素组件所连接的第一节点元素组件的节点标识,以及获取连接线元素组件所连接的第二节点元素组件对应的JSON对象。具体地,连接线元素组件是用于连接两个节点元素组件的元素组件,而数据流类型的连接线元素组件有一个数据流向方向,配置系统可以根据该数据流向方向确定连接线元素组件所连接的两个节点元素组件中的输入节点和输出节点,也即,数据流是从输入节点指向输出节点的。在本实施例中,将作为输入节点的节点元素组件称为第一节点元素组件,将作为输出节点的节点元素组件称为第二节点元素组件以示区别。配置系统将获取到的第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中输入属性的属性值。在此基础上,在一实施方式中,当第一节点元素组件的节点类型是任务单元时,配置系统也可以将第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中依赖属性的属性值,也即,此时,第二节点元素组件对应的JSON对象中输入属性和依赖属性的属性值都包括第一节点元素组件的节点标识。
需要说明的是,一个JSON对象中输入属性包括另一节点元素组件的节点标识,说明该JSON对象对应的隐私计算任务需要以另一节点元素组件的输出数据作为输入。例如,若另一节点元素组件是数据源类型的,那么该JSON对象对应的隐私计算任务需要以该数据源节点元素组件对应的数据源作为输入;若另一节点元素组件是任务单元类型的,那么该JSON对象对应的隐私计算任务需要以另一节点元素组件对应的隐私计算任务的计算结果作为输入。
一个JSON对象中依赖属性包括另一节点元素组件的节点标识,说明该JSON对象对应的隐私计算任务需要在另一节点元素组件对应的隐私计算任务之后执行,也即,该JSON对象对应的隐私计算任务的执行可能不需要以另一节点元素组件对应的隐私计算任务的计算结果作为输入,但是需要另一节点元素组件对应的隐私计算任务执行完成后才能执行该JSON对象对应的隐私计算任务。
步骤S104,当所述连接线元素组件的连接线类型是依赖关系时,将第三节点元素组件的节点标识作为第四节点元素组件对应的JSON对象中依赖属性的属性值,其中,所述第三节点元素组件是所述连接线元素组件所连接的作为被依赖节点的节点元素组件,所述第四节点元素组件是所述连接线元素组件所连接的作为依赖节点的节点元素组件。
当连接线类型是依赖关系时,配置系统可以获取连接线元素组件所连接的第三节点元素组件的节点标识,以及获取连接线元素组件所连接的第四节点元素组件对应的JSON对象。具体地,连接线元素组件是用于连接两个节点元素组件的元素组件,而依赖关系类型的连接线元素组件有一个依赖关系的指向方式,即表示谁依赖谁,谁是依赖者,谁是被依赖者,配置系统可以根据该指向方向确定连接线元素组件所连接的两个节点元素组件中的依赖节点和被依赖节点,也即,依赖节点是需要依赖被依赖节点的。在本实施例中,将作为被依赖节点的节点元素组件称为第三节点元素组件,将作为依赖节点的节点元素组件称为第四节点元素组件以示区别。配置系统将获取到的第三节点元素组件的节点标识作为第四节点元素组件对应的JSON对象中依赖属性的属性值。
进一步地,在一实施方式中,所述步骤S10中按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤还包括:
步骤S105,当所述节点元素组件的节点类型是单元参数时,则获取在所述流程图绘制界面中针对所述节点元素组件设置的参数内容,并生成包含所述参数内容的JSON对象;
在本实施例中,在流程图绘制界面中还可以设置节点类型为单元参数的节点元素组件,并预先在配置系统中设置针对该单元参数类型的节点元素组件的JSON生成规则,当配置系统获取到的用户绘制的隐私计算任务流程图中包括单元参数类型的节点元素组件时,采用该单元参数类型对应的JSON生成规则生成该节点元素组件相应的JSON信息。另外,在流程图绘制界面中还可以设置供用户针对单元参数类型的节点元素组件设置参数内容的设置窗口,用户可以在设置窗口中输入单元参数类型的节点元素组件对应的参数内容,参数内容可包括参数项和参数项对应的参数值。
具体地,当配置系统获取到隐私计算任务流程图中的节点元素组件时,先检测节点元素组件的节点类型,当节点类型是单元参数时,配置系统可获取在流程图绘制界面针对该节点元素组件设置的参数内容,并生成包含该参数内容的JSON对象。具体地,配置系统可以针对该节点元素组件生成一个JSON对象,并提取参数内容中的参数项作为该JSON对象中的参数属性,并提取该参数项对应的参数值作为该参数属性对应的属性值,当参数内容中包括多个参数项时,JSON对象中也包括多个参数属性。
步骤S106,当所述连接线元素组件的连接线类型是参数绑定时,将第五节点元素组件对应的JSON对象添加至第六节点元素组件对应的JSON对象中,其中,所述第五节点元素组件是所述连接线元素组件所连接的节点类型为单元参数的节点元素组件,所述第六节点元素组件是是所述连接线元素组件所连接的节点类型为任务单元的节点元素组件。
在本实施例中,在流程图绘制界面中还可以设置连接线类型为参数绑定的连接线元素组件,并预先在配置系统中设置针对该参数绑定类型的连接线元素组件的JSON生成规则,当配置系统获取到的用户绘制的隐私计算任务流程图中包括参数绑定类型的连接线元素组件时,采用该参数绑定类型对应的JSON生成规则生成该连接线元素组件相应的JSON信息。
当配置系统获取到隐私计算任务流程图中的连接线元素组件时,可以先检测连接线元素组件的连接线类型,当连接线类型是参数绑定时,配置系统可以获取连接线元素组件所连接的第五节点元素组件对应的JSON对象,以及获取连接线元素组件所连接的第六节点元素组件对应的JSON对象。具体地,连接线元素组件是用于连接两个节点元素组件的元素组件,而参数绑定类型的连接线元素组件用于连接一个单元参数类型的节点元素组件和一个任务单元类型的节点元素组件。在本实施例中,将该连接线元素组件所连接的单元参数类型的节点元素组件称为第五节点元素组件,将该连接线元素组件所连接的任务单元类型的节点元素组件称为第六节点元素组件以示区别。配置系统将获取到的第五节点元素组件的JSON对象添加至第六节点元素组件对应的JSON对象中。
进一步地,在一实施方式中,流程图绘制界面中设置的元素组件的类型可以只包括数据源类型、任务单元类型和数据流类型三种,通过数据源、任务单元和数据流三种元素即可绘制得到一个完整的流程图。在此基础上,在其他实施方式中,流程图绘制界面中可以再增设依赖关系类型的元素组件,或者再增设单元参数类型和参数绑定类型的元素组件。
进一步地,基于上述第一和/或第二实施例,提出本发明任务配置方法第三实施例,在本实施例中,所述步骤S20包括:
步骤S201,检测节点类型为任务单元的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含,检测节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值是否为空,以及检测节点类型为数据源的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含;
在本实施例中,可以预设规则可以是隐私计算任务流程图中不能存在孤立节点,对于该预设规则,设置需要检测的属性值包括JSON对象中的输入属性和依赖属性对应属性值。
具体地,对于节点类型为任务单元的节点元素组件,如果所有的JSON对象中输入属性和依赖属性的属性值都不包括该节点元素组件的节点标识,该节点元素组件对应的JSON对象中输入属性和依赖属性的属性值都为空,则说明该节点元素组件是个孤立节点。对于节点类型为数据源的节点元素组件,如果所有的JSON对象中输入属性和依赖属性的属性值都不包括该节点元素组件的节点标识,则说明该节点元素组件是个孤立节点。
因此,配置系统可以检测隐私计算任务流程图中各个节点类型为任务单元的节点元素组件的节点标识是否被各JSON对象的输入属性和依赖属性对应的属性值包含,以及检测各个节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性对应的属性值是否为空,以检测各个节点类型为任务单元的节点元素组件是否为孤立节点。配置系统还可以检测隐私计算任务流程图中各个节点类型为数据源的节点元素组件的节点标识是否被各JSON对象的输入属性和依赖属性对应的属性值包含,以检测各节点类型为数据源的节点元素组件是否为孤立节点。
步骤S202,若一个节点类型为任务单元的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,且所述节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值均为空,则确定所述节点类型为任务单元的节点元素组件为孤立节点;
若一个节点类型为任务单元的节点元素组件的节点标识未被各JSON对象中任一一个输入属性和依赖属性对应的属性值包含,且该节点元素组件对应的JSON对象中输入属性和依赖属性的属性值均为空,则配置系统确定该节点元素组件为孤立节点。
步骤S203,若一个节点类型为数据源的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,则确定所述节点类型为数据源的节点元素组件为孤立节点;
若一个节点类型为数据源的节点元素组件的节点标识未被各JSON对象中任一一个输入属性和依赖属性对应的属性值包含,则配置系统确定该节点元素组件为孤立节点。
步骤S204,若所述隐私计算任务流程图的各个元素组件中存在孤立节点,则确定所述隐私计算任务流程图不合规,否则,确定所述隐私计算任务流程图合规。
若配置系统确定隐私计算任务流程图的各个元素组件中存在孤立节点,则确定该隐私计算任务流程图不合规,否则,可确定该隐私计算任务流程图合规。
进一步地,在一实施方式中,所述步骤S20之后,还包括:
步骤S70,若确定所述隐私计算任务流程图不合规,则输出提示所述隐私计算任务流程图中存在孤立节点的提示信息。
当配置系统确定隐私计算任务流程图不合规时,可以输出提示隐私计算任务流程图中存在孤立节点的提示信息,以使得用户能够了解隐私计算任务流程图不合规,并对流程图进行修改。具体地,提示信息可以是在流程图绘制界面中输出一个文本提示框,显示表示哪个元素组件是孤立节点的文本提示信息,还可以是在流程图绘制界面展示的隐私计算任务流程图中将属于孤立节点的元素组件以闪烁或标记的方式标出,以提示用户该元素组件是孤立节点。
进一步地,在一实施方式中,如图3所示为流程图绘制界面的各类元素组件的一种显示样式。一共可分为输入、计算单元、单元参数、输出和连接线五类,其中,输入类型即上述实施例中的数据源类型,计算单元和输出类型即上述实施例中的任务单元类型。
以联邦学习中的客户分类场景为例:有两个数据提供方,首先需要进行隐私求交PSI,然后做聚类执行K-Means算法。该场景下,用户可绘制如图4所示的隐私计算任务流程图,配置系统根据该流程图生成配置文件的步骤可包括:
1)当用户从流程图绘制界面的控件区拖拽一个节点类型的节点元素组件到绘图区域时,配置系统执行如下步骤:
a)如果拖拽的节点元素组件的节点类型是数据源,则为该节点元素组件分配一个全局唯一的数据源类型的节点标识,例如source0;
b)如果拖拽的节点元素组件的节点类型是任务单元,则为该节点元素组件初始化一个JSON对象:
{job_unit_id:001,job_unit_type:PSI,inputs:[],upstream:[]},其中job_unit_id表示节点标识属性,001是配置系统自动生成的全局唯一任务单元类型的节点标识,job_unit_type表示任务类型属性,PSI是该节点元素组件的任务类型,inputs表示输入属性,upstream表示依赖属性,[]表示属性值为空;
c)如果拖拽的节点元素组件的节点类型是单元参数,则保存参数中的内容到params对象中。例如params={k:3,m-itera:10,type:clustering},其中,k表示k-means算法中的k值,m-itera表示k-means算法中的最大迭代次数,type表示k-means算法中的评估类型;
2)当用户用连接线链接两个节点元素组件X和Y时,例如表示为X->Y,系统执行如下步骤:
a)如果连接线类型是数据流,那么找到Y对应的JSON对象,将X对应的节点标识保存到JSON对象的inputs中,如果X是一个任务单元类型的节点元素组件,则还将X对应的节点标识保存到JSON对象的upstream中;
b)如果连接线的类型是依赖关系,那么找到Y对应的JSON对象,将X对应的节点标识保存到JSON对象的upstream中;
c)如果连接线的类型是参数绑定,那么将Y的params添加到X对应的JSON对象中。
3)当用户确认完成流程图绘制时,系统执行如下步骤:
a)检查流程图合法性;
b)如果流程图不合法则向用户提示具体错误;
c)如果流程图合法,系统遍历所有的JSON对象,然后拼接成一个新的JSON对象,并输出到算法配置文件secure_job.json。
按照上述步骤,可为图4所示的隐私计算任务流程图生成如下JSON格式的配置文件:
本发明实施例方案实现了用户以低代码的方式完成配置,操作简单、使用成本低、易于学习,方便配置和维护,且能够支持多类型隐私计算单元的组合和嵌套,能支持复杂的应用场景。
此外,本发明实施例还提出一种任务配置装置,参照图5,所述装置包括:
生成模块10,用于获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
检测模块20,用于对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
拼接模块30,用于若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
进一步地,对于各所述元素组件中类型为节点的节点元素组件,所述生成模块10还用于:
当所述节点元素组件的节点类型是数据源时,为所述节点元素组件分配唯一的数据源类型的节点标识;
当所述节点元素组件的节点类型是任务单元时,为所述节点元素组件初始化一个JSON对象,为所述节点元素组件分配唯一的任务单元类型的节点标识,并在所述JSON对象中初始化一个节点标识属性和一个任务类型属性用于分别记录所述节点元素组件的节点标识和任务类型,以及在所述JSON对象中初始化一个为空的输入属性和一个为空的依赖属性。
进一步地,对于各所述元素组件中类型为连接线的连接线元素组件,所述生成模块10还用于:
当所述连接线元素组件的连接线类型是数据流时,将第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中输入属性的属性值,其中,所述第一节点元素组件是所述连接线元素组件所连接的作为输入节点的节点元素组件,所述第二节点元素组件是所述连接线元素组件所连接的作为输出节点的节点元素组件;
当所述连接线元素组件的连接线类型是依赖关系时,将第三节点元素组件的节点标识作为第四节点元素组件对应的JSON对象中依赖属性的属性值,其中,所述第三节点元素组件是所述连接线元素组件所连接的作为被依赖节点的节点元素组件,所述第四节点元素组件是所述连接线元素组件所连接的作为依赖节点的节点元素组件。
进一步地,所述生成模块10还用于:
当所述节点元素组件的节点类型是单元参数时,则获取在所述流程图绘制界面中针对所述节点元素组件设置的参数内容,并生成包含所述参数内容的JSON对象;
当所述连接线元素组件的连接线类型是参数绑定时,将第五节点元素组件对应的JSON对象添加至第六节点元素组件对应的JSON对象中,其中,所述第五节点元素组件是所述连接线元素组件所连接的节点类型为单元参数的节点元素组件,所述第六节点元素组件是是所述连接线元素组件所连接的节点类型为任务单元的节点元素组件。
进一步地,所述检测模块20还用于:
检测节点类型为任务单元的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含,检测节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值是否为空,以及检测节点类型为数据源的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含;
若一个节点类型为任务单元的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,且所述节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值均为空,则确定所述节点类型为任务单元的节点元素组件为孤立节点;
若一个节点类型为数据源的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,则确定所述节点类型为数据源的节点元素组件为孤立节点;
若所述隐私计算任务流程图的各个元素组件中存在孤立节点,则确定所述隐私计算任务流程图不合规,否则,确定所述隐私计算任务流程图合规。
进一步地,所述装置还包括:
提示模块,用于若确定所述隐私计算任务流程图不合规,则输出提示所述隐私计算任务流程图中存在孤立节点的提示信息。
进一步地,所述装置还包括:
第一解析模块,用于解析所述JSON格式配置文件得到所述JSON格式配置文件中各所述JSON对象对应的预设隐私计算组件;
第二解析模块,用于解析各所述JSON对象的属性值得到各所述预设隐私计算组件的初始化参数和调度顺序;
调度模块,用于按照所述初始化参数对各所述预设隐私计算组件进行初始化后,按照所述调度顺序调度各所述预设隐私计算组件执行隐私计算任务,得到隐私计算任务计算结果并输出。
本发明任务配置装置的具体实施方式的拓展内容与上述任务配置方法各实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有任务配置程序,所述任务配置程序被处理器执行时实现如下所述的任务配置方法的步骤。
本发明任务配置设备和计算机可读存储介质各实施例,均可参照本发明任务配置方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种任务配置方法,其特征在于,所述方法包括以下步骤:
获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
2.如权利要求1所述的任务配置方法,其特征在于,对于各所述元素组件中类型为节点的节点元素组件,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤包括:
当所述节点元素组件的节点类型是数据源时,为所述节点元素组件分配唯一的数据源类型的节点标识;
当所述节点元素组件的节点类型是任务单元时,为所述节点元素组件初始化一个JSON对象,为所述节点元素组件分配唯一的任务单元类型的节点标识,并在所述JSON对象中初始化一个节点标识属性和一个任务类型属性用于分别记录所述节点元素组件的节点标识和任务类型,以及在所述JSON对象中初始化一个为空的输入属性和一个为空的依赖属性。
3.如权利要求2所述的任务配置方法,其特征在于,对于各所述元素组件中类型为连接线的连接线元素组件,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤还包括:
当所述连接线元素组件的连接线类型是数据流时,将第一节点元素组件的节点标识作为第二节点元素组件对应的JSON对象中输入属性的属性值,其中,所述第一节点元素组件是所述连接线元素组件所连接的作为输入节点的节点元素组件,所述第二节点元素组件是所述连接线元素组件所连接的作为输出节点的节点元素组件;
当所述连接线元素组件的连接线类型是依赖关系时,将第三节点元素组件的节点标识作为第四节点元素组件对应的JSON对象中依赖属性的属性值,其中,所述第三节点元素组件是所述连接线元素组件所连接的作为被依赖节点的节点元素组件,所述第四节点元素组件是所述连接线元素组件所连接的作为依赖节点的节点元素组件。
4.如权利要求3所述的任务配置方法,其特征在于,所述按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象的步骤还包括:
当所述节点元素组件的节点类型是单元参数时,则获取在所述流程图绘制界面中针对所述节点元素组件设置的参数内容,并生成包含所述参数内容的JSON对象;
当所述连接线元素组件的连接线类型是参数绑定时,将第五节点元素组件对应的JSON对象添加至第六节点元素组件对应的JSON对象中,其中,所述第五节点元素组件是所述连接线元素组件所连接的节点类型为单元参数的节点元素组件,所述第六节点元素组件是是所述连接线元素组件所连接的节点类型为任务单元的节点元素组件。
5.如权利要求4所述的任务配置方法,其特征在于,所述对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规的步骤包括:
检测节点类型为任务单元的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含,检测节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值是否为空,以及检测节点类型为数据源的节点元素组件的节点标识是否被各所述JSON对象中输入属性和依赖属性对应的属性值包含;
若一个节点类型为任务单元的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,且所述节点类型为任务单元的节点元素组件对应的JSON对象中输入属性和依赖属性的属性值均为空,则确定所述节点类型为任务单元的节点元素组件为孤立节点;
若一个节点类型为数据源的节点元素组件的节点标识未被各所述JSON对象中任意一个输入属性和依赖属性对应的属性值包含,则确定所述节点类型为数据源的节点元素组件为孤立节点;
若所述隐私计算任务流程图的各个元素组件中存在孤立节点,则确定所述隐私计算任务流程图不合规,否则,确定所述隐私计算任务流程图合规。
6.如权利要求5所述的任务配置方法,其特征在于,所述对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规的步骤之后,还包括:
若确定所述隐私计算任务流程图不合规,则输出提示所述隐私计算任务流程图中存在孤立节点的提示信息。
7.如权利要求1至6任一项所述的任务配置方法,其特征在于,所述若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件的步骤之后,还包括:
解析所述JSON格式配置文件得到所述JSON格式配置文件中各所述JSON对象对应的预设隐私计算组件;
解析各所述JSON对象的属性值得到各所述预设隐私计算组件的初始化参数和调度顺序;
按照所述初始化参数对各所述预设隐私计算组件进行初始化后,按照所述调度顺序调度各所述预设隐私计算组件执行隐私计算任务,得到隐私计算任务计算结果并输出。
8.一种任务配置装置,其特征在于,所述装置包括:
生成模块,用于获取在流程图绘制界面绘制的隐私计算任务流程图中的各个元素组件,并按照与各所述元素组件的类型对应预设的JSON生成规则,基于各所述元素组件生成各个JSON对象;
检测模块,用于对各所述JSON对象中与预设规则相关的属性值进行检测,以检测所述隐私计算任务流程图是否合规;
拼接模块,用于若合规,则将各所述JSON对象进行拼接得到所述隐私计算任务流程图对应的JSON格式配置文件,以基于所述JSON格式配置文件进行隐私计算任务调度。
9.一种任务配置设备,其特征在于,所述任务配置设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务配置程序,所述任务配置程序被所述处理器执行时实现如权利要求1至7中任一项所述的任务配置方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有任务配置程序,所述任务配置程序被处理器执行时实现如权利要求1至7中任一项所述的任务配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845569.8A CN114880015B (zh) | 2021-07-26 | 2021-07-26 | 任务配置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845569.8A CN114880015B (zh) | 2021-07-26 | 2021-07-26 | 任务配置方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114880015A true CN114880015A (zh) | 2022-08-09 |
CN114880015B CN114880015B (zh) | 2023-04-18 |
Family
ID=82667339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110845569.8A Active CN114880015B (zh) | 2021-07-26 | 2021-07-26 | 任务配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880015B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760647A (zh) * | 2023-08-22 | 2023-09-15 | 翼方健数(北京)信息科技有限公司 | 基于参数自适应的多方安全计算方法、系统和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049568A1 (en) * | 2008-08-21 | 2010-02-25 | Clevest Solutions Inc. | System and Method for an Extensible Workflow Management |
US20140006078A1 (en) * | 2009-08-20 | 2014-01-02 | William Jason McGauley | Workflow management and task tracking |
CN105976158A (zh) * | 2016-04-26 | 2016-09-28 | 中国电子科技网络信息安全有限公司 | 一种可视化的etl流程管理与调度监控方法 |
CN110764753A (zh) * | 2019-09-18 | 2020-02-07 | 亚信创新技术(南京)有限公司 | 一种业务逻辑代码生成方法、装置、设备及存储介质 |
CN111142933A (zh) * | 2019-05-29 | 2020-05-12 | 浙江大搜车软件技术有限公司 | 工作流生成方法、装置、计算机设备和存储介质 |
CN111260752A (zh) * | 2020-01-14 | 2020-06-09 | 北京明略软件系统有限公司 | 一种流程图绘制方法、装置及设备、存储介质 |
CN112101895A (zh) * | 2020-08-24 | 2020-12-18 | 中国电子科技集团公司第三十八研究所 | 一种支持工作流客户端与工作流引擎适配的建立方法及系统 |
CN113065779A (zh) * | 2021-04-07 | 2021-07-02 | 网易(杭州)网络有限公司 | 数据处理方法、装置和电子设备 |
-
2021
- 2021-07-26 CN CN202110845569.8A patent/CN114880015B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100049568A1 (en) * | 2008-08-21 | 2010-02-25 | Clevest Solutions Inc. | System and Method for an Extensible Workflow Management |
US20140006078A1 (en) * | 2009-08-20 | 2014-01-02 | William Jason McGauley | Workflow management and task tracking |
CN105976158A (zh) * | 2016-04-26 | 2016-09-28 | 中国电子科技网络信息安全有限公司 | 一种可视化的etl流程管理与调度监控方法 |
CN111142933A (zh) * | 2019-05-29 | 2020-05-12 | 浙江大搜车软件技术有限公司 | 工作流生成方法、装置、计算机设备和存储介质 |
CN110764753A (zh) * | 2019-09-18 | 2020-02-07 | 亚信创新技术(南京)有限公司 | 一种业务逻辑代码生成方法、装置、设备及存储介质 |
CN111260752A (zh) * | 2020-01-14 | 2020-06-09 | 北京明略软件系统有限公司 | 一种流程图绘制方法、装置及设备、存储介质 |
CN112101895A (zh) * | 2020-08-24 | 2020-12-18 | 中国电子科技集团公司第三十八研究所 | 一种支持工作流客户端与工作流引擎适配的建立方法及系统 |
CN113065779A (zh) * | 2021-04-07 | 2021-07-02 | 网易(杭州)网络有限公司 | 数据处理方法、装置和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760647A (zh) * | 2023-08-22 | 2023-09-15 | 翼方健数(北京)信息科技有限公司 | 基于参数自适应的多方安全计算方法、系统和存储介质 |
CN116760647B (zh) * | 2023-08-22 | 2023-11-10 | 翼方健数(北京)信息科技有限公司 | 基于参数自适应的多方安全计算方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114880015B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569288B2 (en) | Application pattern discovery | |
US11132114B2 (en) | Method and apparatus for generating customized visualization component | |
Argyriou et al. | Microsoft recommenders: Best practices for production-ready recommendation systems | |
CN109359194B (zh) | 用于预测信息类别的方法和装置 | |
US20160283849A1 (en) | Automated decision support provenance and simulation | |
CN109117141B (zh) | 简化编程的方法、装置、电子设备、计算机可读存储介质 | |
CN109409419B (zh) | 用于处理数据的方法和装置 | |
CN110647322B (zh) | 列表渲染方法、装置、电子设备和计算机可读介质 | |
Lada et al. | Determining factors related to artificial intelligence (AI) adoption among Malaysia's small and medium-sized businesses | |
US10229513B2 (en) | Cognitive color scheme advisor for dynamic modification of digital media in a collaborative environment with color blind individuals | |
CN110781180A (zh) | 一种数据筛选方法和数据筛选装置 | |
CN114240340A (zh) | 业务数据处理方法、装置、电子设备及可读存储介质 | |
CN114880015B (zh) | 任务配置方法、装置、设备及存储介质 | |
US20190317748A1 (en) | Machine learning multimedia conversion assignment | |
US9635072B1 (en) | System and method for remote presentation | |
Shrivastava | Learning Salesforce Einstein | |
CN111506305A (zh) | 工具包生成方法、装置、计算机设备及可读存储介质 | |
US20200125483A1 (en) | Systems and methods for testing a customer environment | |
CN110287171A (zh) | 一种数据处理方法及系统 | |
US20160004982A1 (en) | Method and system for estimating the progress and completion of a project based on a bayesian network | |
Tajima et al. | Step-by-step case ID identification based on activity connection for cross-organizational process mining | |
CN113051355A (zh) | 一种单据生成方法、装置、计算机设备及存储介质 | |
CN112783483A (zh) | 基于悬浮按钮组件的功能创建方法、装置、设备及介质 | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
Hess et al. | Opportunities and Limitations of AI in Human-Centered Design a Research Preview |
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 |