CN110909390B - 一种任务审核方法、装置、电子设备及存储介质 - Google Patents

一种任务审核方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110909390B
CN110909390B CN201911222036.3A CN201911222036A CN110909390B CN 110909390 B CN110909390 B CN 110909390B CN 201911222036 A CN201911222036 A CN 201911222036A CN 110909390 B CN110909390 B CN 110909390B
Authority
CN
China
Prior art keywords
calculation
data
task
node
flow
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
Application number
CN201911222036.3A
Other languages
English (en)
Other versions
CN110909390A (zh
Inventor
吕亮亮
冯智
张宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911222036.3A priority Critical patent/CN110909390B/zh
Publication of CN110909390A publication Critical patent/CN110909390A/zh
Application granted granted Critical
Publication of CN110909390B publication Critical patent/CN110909390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种任务审核方法、装置、电子设备及存储介质。涉及大数据领域,尤其涉及数据分析领域。具体实现方案为:接收任务;对所述任务进行解析,确定至少一个计算流程;根据预先设定的白名单及审核规则,判断所述计算流程的输出数据是否存在数据泄露风险;在所述至少一个计算流程的输出数据均不存在数据泄露风险的情况下,将所述任务认定为审核通过。本申请实施例能够对数据使用方提交到计算平台的任务进行审核,降低数据被泄露的风险,提高数据安全性。

Description

一种任务审核方法、装置、电子设备及存储介质
技术领域
本申请涉及一种大数据领域,尤其涉及一种数据分析领域。
背景技术
在数据分析技术中,数据使用者向计算平台提交计算任务;计算平台利用自身的原始数据执行该计算任务,生成计算结果;并将计算结果返回至该数据使用者。目前的技术中,从一些计算结果能够反推出原始数据,造成原始数据的泄露。
现有技术中,允许数据使用者直接将计算任务的代码提交到计算平台,并不对计算任务的输出数据是否存在泄露原始数据的可能进行判断,存在数据安全隐患。
发明内容
为了解决现有技术中至少一个问题,本申请实施例提供一种任务审核方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供一种任务审核方法,包括:
接收任务;
对任务进行解析,确定至少一个计算流程;
根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险;
在至少一个计算流程的输出数据均不存在数据泄露风险的情况下,将任务认定为审核通过。
本申请实施例中,根据任务确定计算流程,然后对计算流程进行审核,并根据计算流程的输出结果是否存在数据泄露风险而生成审核结果,有助于为计算平台排除存在数据泄露风险的任务,保护数据不被泄露,提高计算平台的数据安全性。
在一种实施方式中,计算流程包括多个计算步骤;计算步骤包括方法、变量、参数及计算结果中的至少一项;
每个计算流程对应一个流程树,计算流程中的每个计算步骤作为流程树中的一个结点;
确定计算流程,包括:
确定计算流程的最终计算步骤,将最终计算步骤作为对应流程树的根结点;
采用预设规则建立对应流程树,以确定计算流程;其中,预设规则包括,流程树中的子结点的计算结果是父结点的变量或参数。
在本申请实施例中,根据计算流程生成流程树,流程树的下一层结点的输出结果等于上一层结点的变量或参数,有助于快速判断计算流程的输出数据是否存在数据泄露风险。
在一种实施方式中,确定计算流程的最终计算步骤,包括:
查找方法的类型为写入类型的计算步骤;
将查找到的计算步骤确定为最终计算步骤。
本申请实施例根据写入类型确定最终计算步骤,有利于准确确定最终计算步骤,并进一步根据最终计算步骤确定计算结果。
在一种实施方式中,白名单中记录方法及变量中的至少一项;
根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险,包括:在计算流程的各个计算步骤的方法及变量在白名单中均不存在的情况下,判定计算流程的输出数据存在数据泄露风险。
在本申请实施例中,在计算步骤的方法及变量在白名单中均不存在的情况下,判定计算流程的输出数据存在数据泄露风险,能够加快判断速度,减少判断步骤,提高审核效率。
在一种实施方式中,计算流程的输出数据包括最终计算步骤的变量及参数中的至少一项;
根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险,还包括:
在任一计算步骤的方法或变量在白名单中存在的情况下,从流程树的叶结点开始、逐层向上判断流程树的各个结点的计算结果是否为通过数据;
根据判断结果,在计算流程的输出数据为通过数据的情况下,判定计算流程的输出数据不存在数据泄露风险。
在本申请实施例中,通过判定计算流程的输出数据不存在数据泄露风险,能够发现具有风险的任务,从而可将存在风险的任务进行过滤,保证数据使用方既能够使用数据,满足数据使用需求,又能够保证数据安全。
在一种实施方式中,在满足以下至少之一的情况下,判定结点的计算结果为通过数据:
结点的方法或变量在白名单中存在;
结点的变量均为通过数据;
结点的参数均为通过数据。
在本申请实施例中,通过判断结点的计算结果是否为通过数据,可以从流程树的叶子结点开始向根结点进行判断,最终得到输出数据是否为通过数据的结果,进而能够确定任务是否具有泄露数据的风险。
第二方面,本申请实施例提供一种任务审核装置,包括:
任务接收模块:用于接收任务;
任务解析模块:用于对任务进行解析,确定至少一个计算流程;
判断模块:用于根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险;
认定模块:用于在至少一个计算流程的输出数据均不存在数据泄露风险的情况下,将任务认定为审核通过。
在一种实施方式中,计算流程包括多个计算步骤;计算步骤包括方法、变量、参数及计算结果中的至少一项;
每个计算流程对应一个流程树,计算流程中的每个计算步骤作为流程树中的一个结点;
任务解析模块包括:
步骤确定单元:用于确定计算流程的最终计算步骤,将最终计算步骤作为对应流程树的根结点;
流程树建立单元:用于采用预设规则建立对应流程树,以确定计算流程;其中,预设规则包括,流程树中的子结点的计算结果是父结点的变量或参数。
在一种实施方式中,步骤确定模块还用于:
查找方法的类型为写入类型的计算步骤;
将查找到的计算步骤确定为最终计算步骤。
在一种实施方式中,白名单中记录方法及变量中的至少一项;
判断模块还用于:在计算流程的各个计算步骤的方法及变量在白名单中均不存在的情况下,判定计算流程的输出数据存在数据泄露风险。
在一种实施方式中,计算流程的输出数据包括最终计算步骤的变量及参数中的至少一项;
判断模块还用于:
在任一计算步骤的方法或变量在白名单中存在的情况下,从流程树的叶结点开始、逐层向上判断流程树的各个结点的计算结果是否为通过数据;
根据判断结果,在计算流程的输出数据为通过数据的情况下,判定计算流程的输出数据不存在数据泄露风险。
在一种实施方式中,在满足以下至少之一的情况下,判定结点的计算结果为通过数据:
结点的方法或变量在白名单中存在;
结点的变量均为通过数据;
结点的参数均为通过数据。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施例的方法。
第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请任意一项实施例的方法。
上述申请中的一个实施例具有如下优点或有益效果:本申请实施例能够根据任务的计算流程和白名单进行审核,判断计算流程的输出数据是否存在泄露数据的风险,从而能够通过任务审核判定存在数据泄露风险的任务,提高数据使用者使用数据平台的数据时的安全性。因为采用对任务进行解析和审核、判断输出数据是否存在泄露数据的风险的技术手段,所以克服了计算平台执行计算任务生成的计算结果泄露数据的技术问题,进而达到保障数据安全的技术效果。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的任务审核方法流程示意图;
图2是根据本申请第二实施例的流程树结构示意图;
图3是根据本申请第三实施例的任务审核方法流程示意图;
图4是根据本申请第四实施例的流程树结构示意图;
图5是根据本申请第五实施例的任务审核装置结构示意图;
图6是根据本申请第六实施例的任务审核装置结构示意图;
图7是用来实现本申请实施例的任务审核方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请实施例在数据使用者与计算平台之间增加任务审核机制。例如,可以在前述二者之间设置任务审核装置,任务审核装置接收数据使用者提交的任务,对该任务进行审核,如果审核通过,则可以将该任务传入计算平台,计算平台可以正常为数据使用者提供数据服务;如果审核不通过,则可以将该情况反馈给数据使用者,数据使用者可以根据情况修改任务或重新请求。参照图1,本申请实施例提供的任务审核方法包括:
步骤S11:接收任务;
步骤S12:对任务进行解析,确定至少一个计算流程;
步骤S13:根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险;
步骤S14:在至少一个计算流程的输出数据均不存在数据泄露风险的情况下,将任务认定为审核通过。
本申请实施例中的任务可以为数据使用者准备提交到计算平台的任务,任务用于获取计算平台的数据,并将获取的数据通过至少一个计算流程进行计算,最终向数据使用者输出各计算流程的输出数据。
具体的,本申请实施例中的任务可以用于利用计算平台提供的数据对模型进行训练,输出优化后的模型参数等。
本申请实施例的计算流程,可以从计算平台获取数据,再利用计算流程对数据进行计算,向数据使用者提供输出数据。计算平台可以用于向数据使用方提供数据,以供数据使用方采用计算流程对数据进行利用。
本申请实施例中,审核规则可以用于对计算流程进行判断,确定计算流程的输出数据是否会泄露数据平台的数据,也就是说能否根据计算流程的输出数据反推出计算平台向计算流程提供的数据。
本申请实施例中,计算流程的输出数据不存在数据泄露风险,可以指数据使用方无法根据计算流程的输出数据推算出计算流程中使用的计算平台的数据。
本申请实施例中,计算流程的输出数据均不存在数据泄露风险,可以指任务的所有的计算流程的输出数据都不存在数据泄露风险。
本申请实施例中,任务可以请求计算平台的数据,根据计算流程,计算平台的数据会被加入一个或多个计算步骤中,由这一个或多个计算步骤输出中间计算结果到下一个或多个计算步骤中,逐层计算,直到完成本计算流程,获得输出数据。
本申请实施例提供的任务审核方法,能够对数据使用方预计提交到计算平台的任务进行审核,从而能够根据审核结果确定是否将任务提交到计算平台,保证数据使用者能够利用计算平台的数据,又不会因为使用计算平台的数据获得输出数据而导致数据泄露。
在一种实施方式中,计算流程包括多个计算步骤;计算步骤包括方法、变量、参数及计算结果中的至少一项;
每个计算流程对应一个流程树,计算流程中的每个计算步骤作为流程树中的一个结点;
确定计算流程,包括:
确定计算流程的最终计算步骤,将最终计算步骤作为对应流程树的根结点;
采用预设规则建立对应流程树,以确定计算流程;其中,预设规则包括,流程树中的子结点的计算结果是父结点的变量或参数。
在本申请实施例中,流程树的最终计算步骤可以用于提供输出数据。
在本申请实施例中,流程树为一种数据结构,是由有限个结点组成一个具有层次关系的集合。树的特点包括:每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多个不相交的子树。一个流程树包括根结点和子结点。最上一层为根结点。子结点和父结点为相对概念,在两个相连的结点中,处于相对下层的结点为处于相对上层的结点的子结点,处于相对上层的结点为处于相对下层的结点的父结点。处于流程树最下层、没有子结点的结点为叶结点。
在本申请实施例中,最终计算步骤可以为计算步骤中的最后一个,用于产生输出数据。在流程树中,如图2所示,叶结点21代表最初计算步骤,叶结点的计算结果输送到其上一层结点,然后逐层向上,直到第一层根结点。在图2所示的示例中,叶结点21有三个,一个位于第四层,两个位于第三层。每个结点对应一个计算步骤,包括方法、变量、至少一个参数和计算结果。图2中所示的流程树包括三层结点。第三层结点的计算结果为第二层相应的父结点的变量或参数,第二层结点的计算结果等于根结点22的变量或参数。对于每一层结点,即对于每个计算步骤,计算结果都是根据本计算步骤的方法、变量和参数获得的。
在本申请实施例中,确定计算流程的最终计算步骤,包括:
查找方法的类型为写入类型的计算步骤;
将查找到的计算步骤确定为最终计算步骤。
在本申请实施例中,写入类型的计算步骤可以包括方法为write(写)、print(打印)、show(展示)、collect(收集)和save(保存)等。
在一种实施方式中,白名单中记录方法及变量中的至少一项;
根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险,包括:在计算流程的各个计算步骤的方法及变量在白名单中均不存在的情况下,判定计算流程的输出数据存在数据泄露风险。
在本申请实施例中,若计算步骤中的方法为白名单中记录的方法,例如训练方法,则无法根据计算步骤的计算结果推算出本计算步骤的参数和变量中的任意一个,因而不存在数据泄露风险。
若计算步骤中的变量为白名单中记录的变量,则无法根据计算步骤的计算结果推出本计算步骤的参数和变量中的任意一个,因而不存在数据泄露风险。
在本申请实施例中,计算流程的输出数据包括最终计算步骤的变量及参数中的至少一项;
根据预先设定的白名单及审核规则,判断计算流程的输出数据是否存在数据泄露风险,还包括:
在任一计算步骤的方法或变量在白名单中存在的情况下,从流程树的叶结点开始、逐层向上判断流程树的各个结点的计算结果是否为通过数据;
根据判断结果,在计算流程的输出数据为通过数据的情况下,判定计算流程的输出数据不存在数据泄露风险。
在本申请实施例中,计算流程的输出数据可以是最终计算步骤的变量,也可以是最终计算步骤的参数,还可以是最终计算步骤的变量和参数。在具体示例中,可建立方法和输出数据的对应关系,例如,对于方法1,对应的输出数据为变量;对于方法2,对应的输出数据为参数;对于方法3,对应的输出结果为变量和参数,等等。
上述任一计算步骤可以是最终计算步骤或非最终计算步骤。
在本申请实施例中,可以从流程树的叶结点开始,逐层判断各个结点中是否存在白名单中记载的方法或者白名单中的变量。若存在,则可按照预设规则,逐层向上判断结点的计算结果是否为通过数据。
在一种实施方式中,在满足以下至少之一的情况下,判定结点的计算结果为通过数据:
结点的方法或变量在白名单中存在;
结点的变量均为通过数据;
结点的参数均为通过数据。
在本申请实施例中,若结点的方法在白名单中存在,则结点的计算结果为通过数据。若结点的变量为在白名单中存在,则结点的计算结果为通过数据。若结点的变量为通过数据,则结点的计算结果为通过数据。若结点的参数为通过数据,则结点的计算结果为通过数据。
在本申请一种实施例中,本申请实施例提供的方法包括如图3所示的步骤:
步骤S31:获取数据使用方待提交到计算平台的代码。代码可以是用于实现本申请实施例的任务的代码,包括至少一个计算流程。代码的一个输出语句对应一个计算流程,若代码中存在多个输出语句,则代码对应多个计算流程。
在具体示例中,代码可以是Python(蟒蛇)代码。在本步骤中,数据使用方需要使用计算平台的数据,向计算平台提交相应的代码。该代码可以用于请求计算平台提供的数据,将计算平台的数据作为样本,进行模型训练等操作。
步骤S32:将代码输入过滤器(Filter)组件,判断能否根据输出语句的目标数据反推出代码中请求使用的原始数据。过滤器根据代码和白名单对输出语句和非输出语句进行判断。
在具体示例中,白名单中包括方法和变量。例如白名单中可包括如下变量:
LogisticRegressionModel(逻辑回归模型);
SVMModel(Support Vector MachineModel,支持向量机模型);
SVMWithSGD(SVW with Stochastic Gradient Descent,带有随机梯度下降的支持向量机);
NaiveBayesModel(朴素贝叶斯模型);
NaiveBayes(朴素贝叶斯模型);
StreamingLogisticRegressionWithSGD(带有随机梯度下降的流逻辑回归);
BisectingKMeansModel(二分K均值算法模型);
BisectingKMeans(二分K均值算法)。
再如,白名单中的方法可以是:
Train(训练)。
数据使用方将代码输入过滤器之后,在过滤器中可根据代码确定至少一个计算流程,生成流程树。如果数据使用方提交的是Python代码,代码中的一个语句对应一个计算步骤,可以通过Python代码的Dis库方法,将代码中的每个语句分解成计算结果、变量、方法和参数的组成形式。上述Dis库为Python自带的一个库,可以用来分析字节码。具体例如,a=b+1的计算结果就是a,变量为b,方法名为+,参数为1。
步骤S33:如果经过判断,确定无法根据输出数据反推出代码中请求使用的数据,则确定不存在数据泄露的风险。在本申请示例中,如果无法确定是否存在数据泄露的风险,则将代码返回至数据使用方,或者将代码输送到人工审核等其它审核渠道进行重新判断。
在本申请示例中,最终计算步骤的方法的不同,对应的输出数据也不同。例如,如果根结点方法名为print,则计算结果和变量为空,如果参数名1-n都为通过数据,则判断通过审核,输出数据为参数。如果根结点方法名为write,则计算结果为空,如果变量为通过数据,则判断通过审核,输出数据为变量。如果根结点方法名为save,则计算结果为空,如果变量为通过数据,则判断通过审核,输出数据为变量。如果根结点方法名为collect或者show,判断方法和save,write相同。例如,对于语句print(result),result为参数,需要判断result是否为通过数据。对于语句result.write(“d:xx”),result为变量,需要判断result是否为通过数据;而“d:xx”仅是地址,地址不是根据原始数据计算得到的,必然无法推算出任何原始数据,因此无需判断。对于语句result.show(),result为变量,需要判断result是否为通过数据。
步骤S34:将代码提交到计算平台。
步骤S35:获取代码在计算平台的运行结果。运行结果可以是,例如,训练后的模型的相关参数等。
在一个示例中,代码转化的流程树如图4所示,以代码中的一个最终计算步骤对应的语句为根结点41,包括计算结果、变量、方法和两个参数。在具体示例中,最终计算步骤可以是Print、Write、Save等写入文件系统的方法对应的步骤。代码中的每一行语句对应于一个计算步骤,可以转化为流程树中的一个结点。
在流程树中,除根结点外的所有结点均为根结点的子结点。在图4所示的流程树中,根结点41的子结点分别为结点42、结点43、结点44,其中,结点42的计算结果等于根结点41的变量;结点43的计算结果等于根结点41的第一参数;结点44的计算结果等于根结点的第二参数。
在生成流程树之后,首先从叶结点开始,逐层判断流程树中是否具有通过结点,即结点的方法是否与白名单中的方法一致或者结点的变量是否与白名单中的变量一致。若不存在通过结点,则无法确定能否数据泄露的风险,可不进行后续判断。
如果流程树中存在通过结点,则对通过结点到根结点之间的每个结点进行判断。判断规则为:结点的方法或变量在白名单中存在;结点的变量均为通过数据;结点的参数均为通过数据。
最终推算到根结点,计算流程的输出数据为根结点的变量或者参数。最终计算步骤的方法不同,对应的输出数据不同。可预先建立输出数据和具体的最终计算步骤的方法之间的关系,在判断每一个计算流程时,查找输出数据,然后判断输出数据是否为通过数据。
本申请实施例提供一种任务审核装置,如图5所示,包括:
任务接收模块51:用于接收任务;
任务解析模块52:用于对任务进行解析,确定至少一个计算流程;
判断模块53:用于根据预先设定的白名单及审核规则,判断计算流程的输出结果是否存在数据泄露风险;
认定模块54:用于在计算流程的输出结果均不存在数据泄露风险的情况下,将任务认定为审核通过。
在一种实施方式中,计算流程包括多个计算步骤;计算步骤包括方法、变量、参数及计算结果中的至少一项;
每个计算流程对应一个流程树,计算流程中的每个计算步骤作为流程树中的一个结点;
参照图6所示,任务解析模块包括:
步骤确定单元61:用于确定计算流程的最终计算步骤,将最终计算步骤作为对应流程树的根结点;
流程树建立单元62:用于采用预设规则建立对应流程树,以确定计算流程;其中,预设规则包括,流程树中的子结点的计算结果是父结点的变量或参数。
在一种实施方式中,步骤确定模块还用于:
查找方法的类型为写入类型的计算步骤;
将查找到的计算步骤确定为最终计算步骤。
在一种实施方式中,白名单中记录方法及变量中的至少一项;
判断模块还用于:在计算流程的各个计算步骤的方法及变量在白名单中均不存在的情况下,判定计算流程的输出结果存在数据泄露风险。
在一种实施方式中,计算流程的输出结果包括最终计算步骤的变量及参数中的至少一项;
判断模块还用于:
在任一计算步骤的方法或变量在白名单中存在的情况下,从流程树的叶结点开始、逐层向上判断流程树的各个结点的计算结果是否为通过数据;
根据判断结果,在计算流程的输出结果为通过数据的情况下,判定计算流程的输出结果不存在数据泄露风险。
在一种实施方式中,在满足以下至少之一的情况下,判定结点的计算结果为通过数据:
结点的方法或变量在白名单中存在;
结点的变量均为通过数据;
结点的参数均为通过数据。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的任务审核方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的任务审核方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的任务审核方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的任务审核方法对应的程序指令/模块(例如,附图5所示的任务接收模块51、任务解析模块52、判断模块53、认定模块54)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的任务审核方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据任务审核电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至任务审核电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
任务审核方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与任务审核电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light Emitting Diode,LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuits,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(programmable logic device,PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode Ray Tube,阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,能够对数据使用方的任务进行审核,并获得该任务是否存在泄露数据的风险的审核结果,从而能够为数据平台过滤存在风险的任务提供参考。有助于数据平台拒绝存在风险的任务,保证数据安全提供有效的依据。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种任务审核方法,其特征在于,包括:
接收任务;
对所述任务进行解析,确定至少一个计算流程;
根据预先设定的白名单及审核规则,判断所述计算流程的输出数据是否存在数据泄露风险;所述白名单记录所述计算流程的方法或变量中的至少一项;
在所述至少一个计算流程的输出数据均不存在数据泄露风险的情况下,将所述任务认定为审核通过;
其中,所述判断所述计算流程的输出数据是否存在数据泄露风险,包括:
将所述任务的代码输入过滤器组件,判断能否根据输出语句的目标数据反推出代码中请求使用的原始数据;如果经过判断,确定无法根据输出数据反推出代码中请求的数据,则确定不存在数据泄露风险。
2.根据权利要求1所述的方法,其特征在于,所述计算流程包括多个计算步骤;所述计算步骤包括方法、变量、参数及计算结果中的至少一项;每个所述计算流程对应一个流程树,所述计算流程中的每个计算步骤作为所述流程树中的一个结点;
确定所述计算流程,包括:
确定所述计算流程的最终计算步骤,将所述最终计算步骤作为对应流程树的根结点;
采用预设规则建立所述对应流程树,以确定所述计算流程;其中,所述预设规则包括,所述流程树中的子结点的计算结果是父结点的变量或参数。
3.根据权利要求2所述的方法,其特征在于,所述确定所述计算流程的最终计算步骤,包括:
查找所述方法的类型为写入类型的计算步骤;
将查找到的计算步骤确定为所述最终计算步骤。
4.根据权利要求2所述的方法,其特征在于,所述白名单中记录方法及变量中的至少一项;
所述根据预先设定的白名单及审核规则,判断所述计算流程的输出数据是否存在数据泄露风险,包括:在所述计算流程的各个计算步骤的方法及变量在所述白名单中均不存在的情况下,判定所述计算流程的输出数据存在数据泄露风险。
5.根据权利要求4所述的方法,其特征在于,所述计算流程的输出数据包括所述最终计算步骤的变量及参数中的至少一项;
所述根据预先设定的白名单及审核规则,判断所述计算流程的输出数据是否存在数据泄露风险,还包括:
在任一所述计算步骤的方法或变量在所述白名单中存在的情况下,从所述流程树的叶结点开始、逐层向上判断所述流程树的各个结点的计算结果是否为通过数据;
根据所述判断结果,在所述计算流程的输出数据为所述通过数据的情况下,判定所述计算流程的输出数据不存在数据泄露风险。
6.根据权利要求5所述的方法,其特征在于,在满足以下至少之一的情况下,判定结点的计算结果为通过数据:
所述结点的方法或变量在所述白名单中存在;
所述结点的变量均为通过数据;
所述结点的参数均为通过数据。
7.一种任务审核装置,其特征在于,包括:
任务接收模块:用于接收任务;
任务解析模块:用于对所述任务进行解析,确定至少一个计算流程;
判断模块:用于根据预先设定的白名单及审核规则,判断所述计算流程的输出数据是否存在数据泄露风险;所述白名单记录所述计算流程的方法或变量中的至少一项;
认定模块:用于在所述至少一个计算流程的输出数据均不存在数据泄露风险的情况下,将所述任务认定为审核通过;
所述判断模块还用于:
将所述任务的代码输入过滤器组件,判断能否根据输出语句的目标数据反推出代码中请求使用的原始数据;如果经过判断,确定无法根据输出数据反推出代码中请求的数据,则确定不存在数据泄露风险。
8.根据权利要求7所述的装置,其特征在于,所述计算流程包括多个计算步骤;所述计算步骤包括方法、变量、参数及计算结果中的至少一项;
每个所述计算流程对应一个流程树,所述计算流程中的每个计算步骤作为所述流程树中的一个结点;
所述任务解析模块包括:
步骤确定单元:用于确定所述计算流程的最终计算步骤,将所述最终计算步骤作为对应流程树的根结点;
流程树建立单元:用于采用预设规则建立所述对应流程树,以确定所述计算流程;其中,所述预设规则包括,所述流程树中的子结点的计算结果是父结点的变量或参数。
9.根据权利要求8所述的装置,其特征在于,所述步骤确定模块还用于:
查找所述方法的类型为写入类型的计算步骤;
将查找到的计算步骤确定为所述最终计算步骤。
10.根据权利要求8所述的装置,其特征在于,所述白名单中记录方法及变量中的至少一项;
所述判断模块还用于:在所述计算流程的各个计算步骤的方法及变量在所述白名单中均不存在的情况下,判定所述计算流程的输出数据存在数据泄露风险。
11.根据权利要求10所述的装置,其特征在于,所述计算流程的输出数据包括所述最终计算步骤的变量及参数中的至少一项;
所述判断模块还用于:
在任一所述计算步骤的方法或变量在所述白名单中存在的情况下,从所述流程树的叶结点开始、逐层向上判断所述流程树的各个结点的计算结果是否为通过数据;
根据所述判断结果,在所述计算流程的输出数据为所述通过数据的情况下,判定所述计算流程的输出数据不存在数据泄露风险。
12.根据权利要求11所述的装置,其特征在于,在满足以下至少之一的情况下,判定结点的计算结果为通过数据:
所述结点的方法或变量在所述白名单中存在;
所述结点的变量均为通过数据;
所述结点的参数均为通过数据。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN201911222036.3A 2019-12-03 2019-12-03 一种任务审核方法、装置、电子设备及存储介质 Active CN110909390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911222036.3A CN110909390B (zh) 2019-12-03 2019-12-03 一种任务审核方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911222036.3A CN110909390B (zh) 2019-12-03 2019-12-03 一种任务审核方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110909390A CN110909390A (zh) 2020-03-24
CN110909390B true CN110909390B (zh) 2022-06-24

Family

ID=69822093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911222036.3A Active CN110909390B (zh) 2019-12-03 2019-12-03 一种任务审核方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110909390B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085590B (zh) * 2020-09-02 2023-03-14 支付宝(杭州)信息技术有限公司 规则模型的安全性的确定方法、装置和服务器
CN112487415B (zh) * 2020-12-09 2023-10-03 华控清交信息科技(北京)有限公司 计算任务的安全性检测方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7917705B2 (en) * 2007-05-17 2011-03-29 International Business Machines Corporation Scalable performance-based volume allocation in large storage controller collections
CN102521101B (zh) * 2011-12-08 2015-05-13 曙光信息产业(北京)有限公司 一种基于进程扫描的非法作业监控方法
US8898800B1 (en) * 2013-03-15 2014-11-25 Google Inc. Mechanism for establishing the trust tree
CN103294558B (zh) * 2013-05-29 2016-09-21 北京大学 一种支持动态信任评估的MapReduce调度方法
US8880757B1 (en) * 2013-09-24 2014-11-04 International Business Machines Corporation RDMA resource leakage detection and reporting
CN107577944A (zh) * 2017-09-08 2018-01-12 杭州安恒信息技术有限公司 基于代码语法分析器的网站恶意代码检测方法及装置
CN109146662A (zh) * 2018-07-16 2019-01-04 蜜小蜂智慧(北京)科技有限公司 一种风险控制方法及装置

Also Published As

Publication number Publication date
CN110909390A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
US20200125635A1 (en) Systems and methods for intelligently predicting accurate combinations of values presentable in data fields
CN111080243A (zh) 业务处理的方法、装置、系统、电子设备及存储介质
US20210224879A1 (en) Method, electronic device and storage medium for item recommendation
CN111078878B (zh) 文本处理方法、装置、设备及计算机可读存储介质
US20150293969A1 (en) In-memory based database view for a business rule management application
CN111913808A (zh) 任务分配的方法、装置、设备以及存储介质
CN110909390B (zh) 一种任务审核方法、装置、电子设备及存储介质
CN112000330B (zh) 建模参数的配置方法、装置、设备和计算机存储介质
CN112506479A (zh) 页面编辑的方法、装置、设备以及存储介质
CN111475164A (zh) 组件依赖关系检测方法、装置以及电子设备
CN111126063B (zh) 文本质量评估方法及装置
CN111158666A (zh) 实体归一化处理方法、装置、设备及存储介质
US20240126789A1 (en) Model mining and recommendation engine with simulation interfaces
JP7128311B2 (ja) 文書種別の推奨方法、装置、電子機器、可読記憶媒体及びコンピュータプログラム製品
CN111125445B (zh) 社区主题生成方法、装置、电子设备及存储介质
CN112580723A (zh) 多模型融合方法、装置、电子设备和存储介质
CN111738325A (zh) 图像识别方法、装置、设备以及存储介质
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN111680508B (zh) 文本的处理方法和装置
US10025838B2 (en) Extract transform load input suggestion
CN111325006B (zh) 一种信息交互方法、装置、电子设备和存储介质
CN111723318B (zh) 页面数据处理方法、装置、设备和存储介质
CN111767444B (zh) 页面特征构建方法、装置、设备和存储介质
CN112052347A (zh) 图像存储方法、装置以及电子设备
CN112989219A (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