CN110968895B - 一种数据的处理方法、装置、电子设备及存储介质 - Google Patents

一种数据的处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110968895B
CN110968895B CN201911204494.4A CN201911204494A CN110968895B CN 110968895 B CN110968895 B CN 110968895B CN 201911204494 A CN201911204494 A CN 201911204494A CN 110968895 B CN110968895 B CN 110968895B
Authority
CN
China
Prior art keywords
algorithm
node
type
output value
computing
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
CN201911204494.4A
Other languages
English (en)
Other versions
CN110968895A (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 CN201911204494.4A priority Critical patent/CN110968895B/zh
Publication of CN110968895A publication Critical patent/CN110968895A/zh
Application granted granted Critical
Publication of CN110968895B publication Critical patent/CN110968895B/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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

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

Abstract

本申请公开了一种数据的处理方法、装置、电子设备及存储介质,涉及隐私数据处理领域。具体实现方案为:将接收的数据计算任务进行解析,得到具有预定执行顺序的多个计算节点;获取各所述计算节点的输出值采用的算法的类型;在存在至少一个所述算法的类型为预定类型的情况下,依照所述预定执行顺序执行所述多个计算节点,得到所述数据计算任务的计算结果。通过上述方案,由于采用了预订类型的算法,满足根据数据计算任务得到的计算结果不会泄露隐私数据。

Description

一种数据的处理方法、装置、电子设备及存储介质
技术领域
本申请涉及云计算领域,尤其涉及隐私数据处理领域。
背景技术
大规模数据处理通常基于计算引擎实现。通过在计算引擎中执行不同算法实现对于原始数据的计算,得到计算结果。已有技术中,由于缺乏对于算法执行的监控,有可能导致计算结果泄露原始数据。在原始数据为隐私数据的情况下,便会出现隐私泄露的情况。
例如,已有技术中针对数据处理,尤其是隐私数据的处理,可以采用脱敏技术、差分隐私技术或算法代码的审核技术对隐私数据进行保护。
脱敏技术的实现原理可以包括:数据脱敏方将隐私数据进行脱敏后公开,交由数据处理方进行计算。例如:将用户手机号进行脱敏,脱敏后的手机号可以表示为150xxxx1234,由此实现隐私数据的保密。但采用上述技术的弊端在于,脱敏后的隐私数据成为不完整数据,使用该脱敏技术的隐私数据进行计算可能会导致计算结果失真。
差分隐私技术的实现原理可以包括:利用差分隐私算法在隐私数据中加入随机噪音,利用加入随机噪音的数据代替隐私数据。上述技术主要应用于数据查询场景,对于数据计算,仍然会出现计算结果失真的情况。
算法代码审核技术采用人工对算法代码进行审核,一方面需要付出人力成本,另一方面无法保证审核结果的精准度。
综上所述,已有技术无法很好地兼顾隐私数据的保护和计算结果的准确性。
发明内容
本申请提供用于数据的处理方法、装置、电子设备和存储介质。
第一方面,本申请实施例提供一种数据的处理方法,包括:
将接收的数据计算任务进行解析,得到具有预定执行顺序的多个计算节点;
获取各所述计算节点的输出值采用的算法的类型;
在存在至少一个所述算法的类型为预定类型的情况下,依照所述预定执行顺序执行所述多个计算节点,得到所述数据计算任务的计算结果。
通过上述方案,对多个计算节点中的算法的类型进行自动审核,满足至少存在一个预定类型的算法的情况下对数据计算任务进行计算,使得计算结果不会泄露隐私数据,实现了对于隐私数据的保护,并且由于无需对参与计算的数据进行其他处理,满足了计算结果的准确性。
在一种实施方式中,该方法还包括:
统计各所述预定类型的算法的输入值的数量;
在至少一个所述预定类型的算法的输入值的数量大于数量阈值的情况下,输出所述数据计算任务的计算结果。
通过上述方案,对预定类型的算法输入值的数量进行检测,在达到数量阈值的情况下才会输出计算结果,进一步的使得计算结果不会泄露隐私数据。
在一种实施方式中,获取各所述计算节点的输出值采用的算法的类型,包括:
根据在后执行的计算节点的输出值与在先执行的计算节点的对应关系,依次获取各所述计算节点的输出值采用的算法的类型。
通过上述方案,利用各计算节点的对应关系,将具有先后执行顺序的计算节点建立对应关系。以便于对建立对应关系的各节点采用的算法的类型进行检测,可以确认建立对应关系的计算节点最终输出的计算结果不会泄露隐私数据。
在一种实施方式中,确定所述对应关系,包括:
确定在后执行计算节点的输出值所对应的输入值;
获取输出值等于所述确定的输入值的计算节点;
将获取的计算节点确定为所述在后执行计算节点的输出值对应的在先执行计算节点。
通过上述方案,利用输入值和输出值的相等关系将先后执行的各计算节点建立对应关系。从而可以对具有对应关系的各个节点中的算法类型进行判断。以便准确的判断出是否至少存在一个预定类型的算法。
在一种实施方式中,依次获取各所述计算节点的输出值采用的算法的类型,包括:
确定所述预定执行顺序的多个计算节点中,最后执行的计算节点;将所述最后执行的计算节点作为第一节点;
将所述第一节点的输出值加入待检验变量集合;
在所述待检验变量集合不为空的情况下,从所述变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从所述待检验变量集合中删除提取的输出值;
确定提取的输出值对应的在先执行计算节点,将所述在先执行计算节点作为第一节点,返回执行所述将所述第一节点的输出值加入待检验变量集合的步骤。
通过上述方案,对待检验变量集合进行循环检测,将检测完成的输出值从集合中删除。满足对各计算节点的所有输出值的检测,避免漏检。从而提高了检测的准确度。
在一种实施方式中,预定类型包括聚合类型。
通过上述方案,聚合类型的算法可以使输出值不会反推出输入值,从而满足计算结果不会泄露隐私数据。
第二方面,本申请实施例提供一种数据的处理装置,包括:
任务解析模块,用于将接收的数据计算任务进行解析,得到具有预定执行顺序的多个计算节点;
算法类型获取模块,用于获取各所述计算节点的输出值采用的算法的类型;
计算任务执行模块,用于在存在至少一个所述算法的类型为预定类型的情况下,依照所述预定执行顺序执行所述多个计算节点,得到所述数据计算任务的计算结果。
在一种实施方式中,还包括:
数量统计模块,用于统计各所述预定类型的算法的输入值的数量;
计算结果输出模块,在至少一个所述预定类型的算法的输入值的数量大于数量阈值的情况下,输出所述数据计算任务的计算结果。
在一种实施方式中,算法类型获取模块,包括:
算法类型获取执行子模块,用于根据在后执行的计算节点的输出值与在先执行的计算节点的对应关系,依次获取各所述计算节点的输出值采用的算法的类型。
在一种实施方式中,算法类型获取执行子模块,包括:
输入值确定单元,用于确定在后执行计算节点的输出值所对应的输入值;
计算节点获取单元,用于获取输出值等于所述确定的输入值的计算节点;
对应关系确定单元,用于将获取的计算节点确定为所述在后执行计算节点的输出值对应的在先执行计算节点。
在一种实施方式中,算法类型获取执行子模块,包括:
第一节点选择单元,用于确定所述预定执行顺序的多个计算节点中,最后执行的计算节点;将所述最后执行的计算节点作为第一节点;
待检验变量集合构建单元,用于将所述第一节点的输出值加入待检验变量集合;
算法类型确定单元,用于在所述待检验变量集合不为空的情况下,从所述变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从所述待检验变量集合中删除提取的输出值;
所述待检验变量集合构建单元还用于确定提取的输出值对应的在先执行计算节点,将所述在先执行计算节点作为第一节点,将所述第一节点的输出值加入待检验变量集合。
在一种实施方式中,预定类型包括聚合类型。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施例所提供的方法。
第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,计算机指令用于使计算机执行本申请任意一项实施例所提供的方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图;
图2是根据本申请第一实施例的示意图;
图3是根据本申请第一实施例的示意图;
图4是根据本申请第一实施例的示意图;
图5是根据本申请第二实施例的示意图;
图6是根据本申请第二实施例的示意图;
图7是根据本申请第三实施例的示意图;
图8是根据本申请第三实施例的示意图;
图9是根据本申请第三实施例的示意图;
图10是根据本申请第三实施例的示意图;
图11是用来实现本申请实施例的数据的处理的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
结合图1所示,本申请提出了一种数据的处理方法,包括以下步骤:
S101:将接收的数据计算任务进行解析,得到具有预定执行顺序的多个计算节点。
S102:获取各计算节点的输出值采用的算法的类型。
S103:在存在至少一个算法的类型为预定类型的情况下,依照预定执行顺序执行多个计算节点,得到数据计算任务的计算结果。
对接收到数据计算任务进行解析,可以得到具有预定执行顺序的多个计算节点。多个计算节点可以以树型结构表示,也可以以表格等其他形式表示。
对于各个计算节点,可以分别获取该节点的输入值、输出值,以及得到输出值所采用的算法的类型。算法的类型可以根据对数据计算任务的解析结果得到。例如,数据计算任务的解析结果中包括算法的代码,通过代码即可确定出该算法的类型。
对于最终执行的计算节点,其输出值是根据依次执行的多个计算节点中的算法进行计算得到的。以各计算节点为树形结构为例,树形结构可以是一个有向无环的结构。第一个执行的计算节点的输出值可以是a1,该输出值作为第二个执行的计算节点的输入值。第二个执行的计算节点的输入值是a1,通过算法对输入值a1进行计算后,得到输出值a2。以此类推,第N个计算节点作为最终执行的节点,该计算节点的输入值可以是aN-1,通过算法对输入值aN-1进行计算后,得到输出值aN。由此,第一计算节点至第N计算节点组成一个计算串,该计算串的输入值是a1,输出值是aN
预定类型的算法可以满足:利用该类型的算法得到的输出值,无法反推出(泄露)输入值。在计算串中,存在至少一个计算节点采用的算法是预定类型的情况下,可以满足计算串最终的输出值aN不会泄露输入值a1。在此情况下,可以依照预定执行顺序执行所述多个计算节点,得到计算结果。
需要说明的是,在最终执行的计算节点有多个输出值,且存在至少一个输出值是未采用预定类型的算法计算得到的情况下,可以拒绝执行步骤S103对应的计算任务。
如图2所示,在一种实施方式中,还包括:
S201:统计各预定类型的算法的输入值的数量。
S202:在至少一个预定类型的算法的输入值的数量大于数量阈值的情况下,输出数据计算任务的计算结果。
对于计算串中采用了预定类型的算法。可以对参与预定类型的算法的输入值的数量进行统计。输入值的数量可以是参与预定类型的算法的数据条目。
例如,在计算串中存在两个计算节点采用了预定类型的算法的情况,则需要统计在两个计算节点中的预定类型的算法的输入值的数量。在至少一个预定类型的算法的输入值的数量大于数量阈值的情况下,才会向用户输出计算串的计算结果,即将最后执行的第N个计算节点的输出值aN输出给用户。数量阈值可以设置为1,即只有在预定类型的算法的输入值的数量大于1的情况下,才认为经过预定类型的算法得到的输出值不会泄露输入值。
在一种实施方式中,获取各计算节点的输出值采用的算法的类型,包括:
根据在后执行的计算节点的输出值与在先执行的计算节点的对应关系,依次获取各计算节点的输出值采用的算法的类型。
对应关系可以包括具有先后执行顺序的关系。例如,第一计算节点的输出值为第三计算节点的输入值,那么作为在后执行的第三计算节点的输出值与在先执行的第一计算节点之间具有对应关系。即,第一计算节点和第三计算节点在一个计算串上。计算串可以是一个有向无环图的结构,例如可以是线型结构的计算串,也可以是树形结构的计算串。
按照上述对应关系,可以一并获取到在一个计算串上的各个计算节点的输出值采用的算法的类型。
如图3所示,在一种实施方式中,确定对应关系包括:
S301:确定在后执行的计算节点的输出值所对应的输入值。
S302:获取输出值等于确定的输入值的计算节点。
S303:将获取的计算节点确定为在后执行计算节点的输出值对应的在先执行计算节点。
在一个计算串中,各个计算节点是具有先后执行顺序的。比较在后计算节点的输入值和在先计算节点的输出值,在二者相等的情况下,即可确定两个计算节点是在一个计算串中。
上述比较方式可以应用于数据的不同存储场景。
例如,在表格存储场景,各个计算节点并非按照执行顺序存储,可以是以随机顺序随机存储。在此场景下,可以同时获取所有计算节点的输入值和输出值。循环比较各个计算节点的输出值与其他计算节点的输入值之间是否相同,即可确定出参与比较的两个计算节点是否在一个计算串中。可以对同一个计算串中的各计算节点的算法加入相同的标签,作为同一个计算串的标记。
再例如,在树形结构存储场景,树形结构可以以树状图的形式表示。每个计算节点作为树状图的一个节点。首先找到输出最终节点结果的计算节点,将该节点作为树状图的根节点。将根节点作为当前节点,获取当前节点的输入值,在其余节点中查找输出值等于该输入值的节点,将查找到的节点作为该根节点的子节点。再将该节点作为当前节点,查找该节点的输入值,在其余节点中查找输出值等于该节点的输入值的节点,将查找到的节点作为该节点的子节点。以此重复执行,直至查找到第N子节点的输出值为原始数据。原始数据可以是数据库中的隐私数据。
需要强调的是,一个节点可能对应多个子节点,也就是说,一个计算节点的多个输入值由不同的计算节点提供。由树形结构的根节点起,获取根节点的输入值。确定与根节点的输入值相等的子节点的输出值。确定根节点和参与比较的子节点在一个计算串中。
如图4所示,在一种实施方式中,依次获取各所述计算节点的输出值采用的算法的类型,包括:
S401:确定预定执行顺序的多个计算节点中,最后执行的计算节点;将最后执行的计算节点作为第一节点。
S402:将第一节点的输出值加入待检验变量集合。
S403:在待检验变量集合不为空的情况下,从变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从待检验变量集合中删除提取的输出值。
S404:确定提取的输出值对应的在先执行计算节点,将在先执行计算节点作为第一节点,返回执行将第一节点的输出值加入待检验变量集合的步骤。
可以设置一个待检验变量集合,在该集合中写入各个计算节点的输出值。逐个对该集合中的输出值进行检验,可以确定各个输出值是否为通过预定类型的算法得到的。
例如,最后执行的计算节点可以是第N个计算节点。第N个计算节点的输出值至少为一个,可以为多个。将该计算节点的输出值加入待检验变量集合。从待检验变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从待检验变量集合中删除提取的输出值。
在第N个计算节点的输出值为多个的情况下,可以并行对第N个计算节点的各个输出值采用的算法的类型进行检验。
确定当前计算节点的输出值的情况下,根据输出值对应的至少一个在先执行的计算节点,将该在先执行的计算节点的输出值作为第一节点,重复执行步骤S402。直至待检验变量集合为空。
在一种实施方式中,预定类型包括聚合类型。
预定类型的算法可以包括聚合类型,例如:求最小值计算,对应的代码可以是min。求最大值计算,对应的代码可以是max。求平均值计算,对应的代码可以是avg。求和计算,对应的代码可以是sum。求标准偏差计算,对应的代码可以是stddev。求总体标准偏差计算,对应的代码可以是stddev_pop。求中位数计算,对应的代码可以是mean。求方差计算,对应的代码可以是variance。求总体方差计算,对应的代码可以是var_pop。通过算法的代码即可确定出该算法的类型。
聚合类型的算法可以使输出值不会反推出输入值,从而使得计算结果不会泄露隐私数据。
在一种实施方式中,本申请提出的数据的处理方法可以应用于Spark数据处理引擎的优化器(Catalyst)系统。如图5所示,Spark数据处理引擎的优化器系统可以包括:
一、利用分析器,将接收到SQL或Dataframe等字符串形式的数据计算任务进行解析,得到逻辑计划树。
二、利用优化器,对逻辑计划树进行遍历,基于规则优化策略或者代价优化策略,对逻辑计划树进行优化。常见的优化策略可以包括:谓词下推优化策略、常量累加优化策略和列值裁剪优化策略等。对逻辑计划树进行优化可以理解为将原有的逻辑计划树等价地转换为另一逻辑计划树。
在优化器中,可以加入对于各节点中的算法类型的检测。逻辑计划树中的各个节点相当于前述实施例中的各计算节点。对逻辑计划树中的各个节点所采用的算法的类型进行检测,保证逻辑计划树中最后执行的节点所输出的结果是经过至少一次聚合算法计算得到的。在满足上述检测结果的情况下,才会执行后续步骤;否则,会对接收到的数据计算任务进行报错,或者拒绝继续执行等处理。
结合图6所示的一实例场景,对数据计算任务进行解析后,得到六个节点。图6中的箭头指向可以表示各节点的先后执行顺序。分析器可以得到每个节点的输入值、输出值,以及得到输出值所采用的算法的类型。
第六节点的输出值为a12、a13。则需要验证a12、a13是否通过聚合算法得到的。
将a12、a13写入待判断集合。待判断集合可以相当于前述实施例中的待检验变量集合。在此情况下,待判断集合中包括a12和a13。
以a12为例进行说明:验证过程包括:
从待判断集合中提取输出值a12。在第六节点中,根据算法代码可以确定,输出值a12不是通过聚合算法计算得到的。
在第六节点中,获取输出值a12对应的输入值a10和a11。
输入值a10和a11是第五节点的输出值,将a10、a11写入待判断集合。在此情况下,待判断集合中包括a10和a11。由于a12处于判断过程当中,在此情况下待判断集合中不包括a12。
首先判断a10,从待判断集合中抽取a10。在第五节点中,根据算法代码可以确定,输出值a10是通过聚合算法计算得到的。将a10从待判断集合中删除。在此情况下,待判断集合中包括a11。
从待判断集合中提取输出值a11。在第五节点中,根据算法代码可以确定,输出值a11不是通过聚合算法计算得到的。在第五节点中,获取输出值a11对应的输入值a9。
a9是第四节点的输出值,将a9写入待判断集合。此时判断集合中包括a9。由于a12、a11处于判断过程当中,在此情况下待判断集合中不包括a12、a11。
从待判断集合中提取输出值a9,在第四节点中,根据算法代码可以确定,输出值a9不是通过聚合算法计算得到的。在第四节点中,获取输出值a9对应的输入值a6。
a6是第三节点的输出值,将a6写入待判断集合。此时待判断集合中包括a6。由于a12、a11、a9处于判断过程当中,在此情况下待判断集合中不包括a12、a11、a9。
从待判断集合中提取输出值a6,在第三节点中,根据算法代码可以确定,输出值a6是通过聚合算法计算得到的。将a6从待判断集合中删除。
至此,可以确定第六节点的输出值a12是通过聚合算法得到的。将输出值a12从判断集合中删除。
此时查询判断集合中是否还有其他输出值,判断出还有输出值a13,则提取出a13,依照前述方法确定a13是否通过聚合算法得到的。
前述实施方式是按照各个节点的执行顺序,首先将最后执行的节点的输出值写入待判断结合。根据对应关系由在后的节点开始判断输出值采用的算法的类型,逐个根据对应关系判断在先节点。
另外,还可以将各个节点的输出值一起写入待判断集合,在待判断集合中随机或并行提取输出值进行判断,确定得到输出值的算法的类型。后续再根据输出值和输入值的计算关系,将各个输出值连接成计算串,确定该计算串中是否包括聚合类型的算法。
三、利用查询计划,将优化器优化后的逻辑计划树中的各个逻辑计划节点转换为物理执行计划节点。例如Join算法,查询计划根据不同场景为该算法制定了不同的算法策略,有Broadcast Hash Join(广播哈希聚合)算法策略、Shuffle Hash Join(洗牌哈希聚合)算法策略以及Sort Merge Join(排序合并聚合)算法策略等。物理执行计划实际上就是在上述算法策略中挑选一个耗时最小的算法策略。
对于前述的聚合算法,例如sum算法、min算法、max算法和avg算法,查询计划可以采用自定义聚合函数UDAF(UserDefinedAggregateFunction)进行转换。例如stddev算法、mean算法、variance算法、stddev_pop算法和var_pop算法,可以采用CentralMomentAgg进行转换。
在确定算法策略后,还可以加入对于参与上述聚合算法的数据量进行检测。即对上述聚合算法的输入值的数量进行检测。例如,可以采用数据量动态检测函数(evaluateExpression函数)实现。结合图6的场景实例,则需要检测得到a10的聚合算法的输入值的数量,以及检测得到a6的聚合算法的输入值的数量。只有在输入值的数量达到数量阈值的情况下,才会将后续的计算结果输出给用户。
四:在物理执行计划节点中加入对聚合算法的输入值的数量的检测逻辑。
五:弹性分布式数据集(RDD,Resilient Distributed Dataset)执行。从数据库中获取原始数据,在参与上述聚合算法的数据量超过预定数量的情况下,才会最终输出计算结果。否则,可以进行报错处理,或者拒绝输出计算结果。例如,检测出所有聚合算法的输入值的数量均不大于数量阈值,则对用户进行报错,并显示数据计算任务为非法任务。
在一个适应性的例子中,预定的数量阈值可以是1。
在上述场景下,自动对数据计算任务进行审核。保证计算结果是通过足够多的数据采用聚合算法得到的,从而保护隐私数据不被泄漏。另外,支持Spark数据处理引擎,无需修改上述引擎的原生代码,只需增加判断代码即可实现,并充分利用了Spark数据处理引擎的扩展能力。
如图7所示,本申请提出了一种数据的处理装置,该装置包括以下部件:
任务解析模块701,用于将接收的数据计算任务进行解析,得到具有预定执行顺序的多个计算节点。
算法类型获取模块702,用于获取各计算节点的输出值采用的算法的类型。
计算任务执行模块703,用于在存在至少一个算法的类型为预定类型的情况下,依照预定执行顺序执行多个计算节点,得到数据计算任务的计算结果。
如图8所示,在一种实施方式中,该装置还包括以下部件:
数量统计模块801,用于统计各预定类型的算法的输入值的数量。
计算结果输出模块802,在至少一个预定类型的算法的输入值的数量大于数量阈值的情况下,输出数据计算任务的计算结果。
在一种实施方式中,算法类型获取模块可以包括:
算法类型获取执行子模块,用于根据在后执行的计算节点的输出值与在先执行的计算节点的对应关系,依次获取各计算节点的输出值采用的算法的类型。
如图9所示,在一种实施方式中,算法类型获取执行子模块可以包括:
输入值确定单元901,用于确定在后执行计算节点的输出值所对应的输入值。
计算节点获取单元902,用于获取输出值等于确定的输入值的计算节点。
对应关系确定单元903,用于将获取的计算节点确定为在后执行计算节点的输出值对应的在先执行计算节点。
如图10所示,在一种实施方式中,算法类型获取执行子模块可以包括:
第一节点选择单元1001,用于确定预定执行顺序的多个计算节点中,最后执行的计算节点;将最后执行的计算节点作为第一节点。
待检验变量集合构建单元1002,用于将第一节点的输出值加入待检验变量集合。
算法类型确定单元1003,用于在待检验变量集合不为空的情况下,从变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从待检验变量集合中删除提取的输出值。
待检验变量集合构建单元1002还用于确定提取的输出值对应的在先执行计算节点,将在先执行计算节点作为第一节点,将第一节点的输出值加入待检验变量集合。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图11所示,是根据本申请实施例的数据的处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,该电子设备包括:一个或多个处理器1110、存储器1120,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器1110为例。
存储器1120即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的数据的处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的数据的处理的方法。
存储器1120作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的数据的处理的方法对应的程序指令/模块(例如,附图7所示的任务解析模块701、算法类型获取模块702和计算任务执行模块703)。处理器1110通过运行存储在存储器1120中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据的处理的方法。
存储器1120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据的处理的电子设备的使用所创建的数据等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1120可选包括相对于处理器1110远程设置的存储器,这些远程存储器可以通过网络连接至数据的处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据的处理的方法的电子设备还可以包括:输入装置1130和输出装置1140。处理器1110、存储器1120、输入装置1130和输出装置1140可以通过总线或者其他方式连接,图11中以通过总线连接为例。
输入装置1130可接收输入的数字或字符信息,以及产生与数据的处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1140可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(Light EmittingDiode,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.根据权利要求1所述的方法,其特征在于,所述获取各所述计算节点的输出值采用的算法的类型,包括:
根据在后执行的计算节点的输出值与在先执行的计算节点的对应关系,依次获取各所述计算节点的输出值采用的算法的类型。
4.根据权利要求3所述的方法,其特征在于,确定所述对应关系,包括:
确定在后执行计算节点的输出值所对应的输入值;
获取输出值等于所述确定的输入值的计算节点;
将获取的计算节点确定为所述在后执行计算节点的输出值对应的在先执行计算节点。
5.根据权利要求3所述的方法,其特征在于,所述依次获取各所述计算节点的输出值采用的算法的类型,包括:
确定所述预定执行顺序的多个计算节点中,最后执行的计算节点;将所述最后执行的计算节点作为第一节点;
将所述第一节点的输出值加入待检验变量集合;
在所述待检验变量集合不为空的情况下,从所述变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从所述待检验变量集合中删除提取的输出值;
确定提取的输出值对应的在先执行计算节点,将所述在先执行计算节点作为第一节点,返回执行所述将所述第一节点的输出值加入待检验变量集合的步骤。
6.根据权利要求1至5任一所述的方法,其特征在于,所述预定类型包括聚合类型。
7.一种数据的处理装置,其特征在于,包括:
任务解析模块,用于将接收的数据计算任务进行解析,得到具有预定执行顺序的多个计算节点;
算法类型获取模块,用于获取各所述计算节点的输出值采用的算法的类型;
计算任务执行模块,用于在存在至少一个所述算法的类型为预定类型的情况下,依照所述预定执行顺序执行所述多个计算节点,得到所述数据计算任务的计算结果;所述预定类型的算法的输入值相对于利用所述预定类型的算法的输出值是保密的。
8.根据权利要求7所述的装置,其特征在于,还包括:
数量统计模块,用于统计各所述预定类型的算法的输入值的数量;
计算结果输出模块,在至少一个所述预定类型的算法的输入值的数量大于数量阈值的情况下,输出所述数据计算任务的计算结果。
9.根据权利要求7所述的装置,其特征在于,所述算法类型获取模块,包括:
算法类型获取执行子模块,用于根据在后执行的计算节点的输出值与在先执行的计算节点的对应关系,依次获取各所述计算节点的输出值采用的算法的类型。
10.根据权利要求9所述的装置,其特征在于,所述算法类型获取执行子模块,包括:
输入值确定单元,用于确定在后执行计算节点的输出值所对应的输入值;
计算节点获取单元,用于获取输出值等于所述确定的输入值的计算节点;
对应关系确定单元,用于将获取的计算节点确定为所述在后执行计算节点的输出值对应的在先执行计算节点。
11.根据权利要求9所述的装置,其特征在于,所述算法类型获取执行子模块,包括:
第一节点选择单元,用于确定所述预定执行顺序的多个计算节点中,最后执行的计算节点;将所述最后执行的计算节点作为第一节点;
待检验变量集合构建单元,用于将所述第一节点的输出值加入待检验变量集合;
算法类型确定单元,用于在所述待检验变量集合不为空的情况下,从所述变量集合中提取一个输出值,确定提取的输出值采用的算法的类型,并从所述待检验变量集合中删除提取的输出值;
所述待检验变量集合构建单元还用于确定提取的输出值对应的在先执行计算节点,将所述在先执行计算节点作为第一节点,将所述第一节点的输出值加入待检验变量集合。
12.根据权利要求7至11任一所述的装置,其特征在于,所述预定类型包括聚合类型。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN201911204494.4A 2019-11-29 2019-11-29 一种数据的处理方法、装置、电子设备及存储介质 Active CN110968895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911204494.4A CN110968895B (zh) 2019-11-29 2019-11-29 一种数据的处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911204494.4A CN110968895B (zh) 2019-11-29 2019-11-29 一种数据的处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110968895A CN110968895A (zh) 2020-04-07
CN110968895B true CN110968895B (zh) 2022-04-05

Family

ID=70032353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911204494.4A Active CN110968895B (zh) 2019-11-29 2019-11-29 一种数据的处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110968895B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487415B (zh) * 2020-12-09 2023-10-03 华控清交信息科技(北京)有限公司 计算任务的安全性检测方法及装置
CN113541923B (zh) * 2021-09-09 2021-12-10 华控清交信息科技(北京)有限公司 一种多方安全计算的计算任务调整方法、装置及电子设备
CN114461677B (zh) * 2022-04-12 2022-07-26 天津南大通用数据技术股份有限公司 一种基于选择度传递调整连接顺序的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022662A (zh) * 2014-04-22 2015-11-04 中国银联股份有限公司 一种分布式任务分配方法
CN106502791A (zh) * 2016-10-14 2017-03-15 浪潮电子信息产业股份有限公司 一种任务分配方法及装置
CN107122443A (zh) * 2017-04-24 2017-09-01 中国科学院软件研究所 一种基于Spark SQL的分布式全文检索系统及方法
CN109284302A (zh) * 2018-08-10 2019-01-29 新华三大数据技术有限公司 数据处理方法及装置
CN109409120A (zh) * 2017-08-18 2019-03-01 中国科学院信息工程研究所 一种面向Spark的访问控制方法及系统
CN109657497A (zh) * 2018-12-21 2019-04-19 北京思源互联科技有限公司 安全文件系统及其方法
CN109740376A (zh) * 2018-12-21 2019-05-10 哈尔滨工业大学(深圳) 基于近邻查询的位置隐私保护方法、系统、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1898335A1 (en) * 2006-09-07 2008-03-12 Emotional Brain B.V. Method and system for verifying the equality of a first secret code and a second secret code without revealing the first secret code and the second secret code
JP4222403B2 (ja) * 2006-10-16 2009-02-12 沖電気工業株式会社 不正端末推定システム、不正端末推定装置及び通信端末装置
US20130301830A1 (en) * 2012-05-08 2013-11-14 Hagai Bar-El Device, system, and method of secure entry and handling of passwords
CN107592200A (zh) * 2016-07-08 2018-01-16 展讯通信(上海)有限公司 数据加密、解密的方法及装置
CN112073184B (zh) * 2017-10-23 2022-01-14 华为技术有限公司 一种生成密钥的方法、装置及系统
US11036735B2 (en) * 2018-01-16 2021-06-15 Oracle International Corporation Dimension context propagation techniques for optimizing SQL query plans
CN113438068B (zh) * 2019-05-31 2024-01-09 创新先进技术有限公司 基于区块高度实现动态加密的方法及装置
CN110489238A (zh) * 2019-08-21 2019-11-22 北京百度网讯科技有限公司 节点检测方法、装置、电子设备及存储介质
CN110473530B (zh) * 2019-08-21 2021-12-07 北京百度网讯科技有限公司 指令分类方法、装置、电子设备及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022662A (zh) * 2014-04-22 2015-11-04 中国银联股份有限公司 一种分布式任务分配方法
CN106502791A (zh) * 2016-10-14 2017-03-15 浪潮电子信息产业股份有限公司 一种任务分配方法及装置
CN107122443A (zh) * 2017-04-24 2017-09-01 中国科学院软件研究所 一种基于Spark SQL的分布式全文检索系统及方法
CN109409120A (zh) * 2017-08-18 2019-03-01 中国科学院信息工程研究所 一种面向Spark的访问控制方法及系统
CN109284302A (zh) * 2018-08-10 2019-01-29 新华三大数据技术有限公司 数据处理方法及装置
CN109657497A (zh) * 2018-12-21 2019-04-19 北京思源互联科技有限公司 安全文件系统及其方法
CN109740376A (zh) * 2018-12-21 2019-05-10 哈尔滨工业大学(深圳) 基于近邻查询的位置隐私保护方法、系统、设备及介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Presto: SQL on Everything;Raghav Sethi;《2019 IEEE 35th International Conference on Data Engineering (ICDE)》;20190606;第1802-1813页 *
Spark SQL Catalyst优化器;chenfh5;《https://www.jianshu.com/p/410c23efb565》;20180311;文章第3-15页 *
SparkSQL-从0到1认识Catalyst;石山园;《https://www.cnblogs.com/shishanyuan/p/8456250.html》;20180211;全文 *
基于云计算的Web数据挖掘;程苗;《计算机科学》;20111031;第38卷(第10A期);第146-149页 *
智能分析最佳实践——指标逻辑树;美团技术团队;《https://cloud.tencent.com、developer/article/1058405》;20180313;全文 *

Also Published As

Publication number Publication date
CN110968895A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN110968895B (zh) 一种数据的处理方法、装置、电子设备及存储介质
US10552390B2 (en) Root cause analysis of performance problems
KR102528748B1 (ko) 지식 그래프를 구축하는 방법, 장치, 기기 및 저장 매체
CN111523001B (zh) 用于存储数据的方法、装置、设备以及存储介质
US20170206354A1 (en) Detecting anomalous events through runtime verification of software execution using a behavioral model
US9727568B2 (en) Method and system for game data collection
CN112115313A (zh) 正则表达式的生成、数据提取方法、装置、设备及介质
CN112395333A (zh) 用于排查数据异常的方法、装置、电子设备及存储介质
CN110472034B (zh) 问答系统的检测方法、装置、设备及计算机可读存储介质
CN112084150A (zh) 模型训练、数据检索方法,装置,设备以及存储介质
CN111625625A (zh) 确定异常日志的方法、装置、计算机设备和存储介质
US9460393B2 (en) Inference of anomalous behavior of members of cohorts and associate actors related to the anomalous behavior based on divergent movement from the cohort context centroid
CN112487021B (zh) 业务数据的关联分析方法、装置及设备
CN112183052B (zh) 一种文档重复度检测方法、装置、设备和介质
CN110909390B (zh) 一种任务审核方法、装置、电子设备及存储介质
CN112699314A (zh) 热点事件确定方法、装置、电子设备及存储介质
CN111488972A (zh) 数据迁移方法、装置、电子设备和存储介质
CN111177479A (zh) 获取关系网络图中节点的特征向量的方法以及装置
CN115589339A (zh) 网络攻击类型识别方法、装置、设备以及存储介质
CN110995649B (zh) 一种基于贝叶斯网络的网络安全态势预测方法及装置
CN111340222B (zh) 神经网络模型搜索方法、装置以及电子设备
CN110704848B (zh) 脆弱点量化评估方法及装置
CN111125362B (zh) 一种异常文本确定方法、装置、电子设备和介质
CN112540904A (zh) 机器操作行为识别方法、装置、电子设备以及计算机介质
CN116738413B (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