CN114254353A - 基于隐私保护的数据处理方法、装置和服务器 - Google Patents

基于隐私保护的数据处理方法、装置和服务器 Download PDF

Info

Publication number
CN114254353A
CN114254353A CN202111579678.6A CN202111579678A CN114254353A CN 114254353 A CN114254353 A CN 114254353A CN 202111579678 A CN202111579678 A CN 202111579678A CN 114254353 A CN114254353 A CN 114254353A
Authority
CN
China
Prior art keywords
data
preset
ciphertext
current
target data
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.)
Pending
Application number
CN202111579678.6A
Other languages
English (en)
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.)
Shanghai Qianfang Technology Co ltd
Original Assignee
Shanghai Qianfang 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 Shanghai Qianfang Technology Co ltd filed Critical Shanghai Qianfang Technology Co ltd
Priority to CN202111579678.6A priority Critical patent/CN114254353A/zh
Publication of CN114254353A publication Critical patent/CN114254353A/zh
Pending legal-status Critical Current

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/602Providing cryptographic facilities or services
    • 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

Landscapes

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

Abstract

本说明书提供了基于隐私保护的数据处理方法、装置和服务器。计算节点在获取得到包含有多个目标数据的密文数据的第一数据组之后,可以先根据预设的协议规则,通过逐次从第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理该次已经取出所有的目标数据的密文数据来构建得到基于最小堆结构的排序后的第一数据结构体;按照上述方式进行多次处理,直到取出第一数据组中所有目标数据的密文数据,得到符合预设的排序要求的第二数据结构体;再根据该第二数据结构体,构建得到按照预设的排序规则排列的第二数据组。从而能够在保护数据隐私的前提下,实现对目标数据的密文数据的排序,得到按照数据值有序排列的排序结果。

Description

基于隐私保护的数据处理方法、装置和服务器
技术领域
本说明书属于互联网技术领域,尤其涉及基于隐私保护的数据处理方法、装置和服务器。
背景技术
在一些数据处理场景中,多个数据方可以分别持有不同数据值的属性数据(例如,出价金额、资源数据等)。当前,由于业务需要,多个数据方期望通过合作进行相应的数据处理,以将各自所持有的属性数据按照数据值的大小进行排序,得到对应排序结果;同时,还要求在进行上述数据处理过程中,要保护数据方的数据隐私,避免向其他数据方泄露己方所持有的属性数据的数据值。
因此,亟需一种能够在保护数据隐私的前提下,实现对多个数据方各自持有的属性数据的排序处理得到按照数据值排列的排序结果的方法。
发明内容
本说明书提供了一种基于隐私保护的数据处理方法、装置和服务器,能够在保护数据隐私、避免目标数据的数据值遭到泄露的前提下,实现对目标数据的密文数据的排序处理,得到按照目标数据的数据值排列的排序结果。
本说明书实施例提供了一种基于隐私保护的数据处理方法,应用于计算节点,包括:
获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体;
根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
本说明书实施例还提供了一种基于隐私保护的数据处理方法,应用于计算节点,包括:
获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
在一些实施例中,获取第一数据组,包括:
接收多个数据方根据预设的协议规则提供的多个目标数据的密文数据;
组合所述多个目标数据的密文数据,得到第一数据组。
在一些实施例中,根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,包括:
从第一数据组中按序取出一个目标数据的密文数据作为当前次的目标数据的密文数据;获取上一次排序后的第一数据结构体;
将当前次的目标数据的密文数据,连入上一次排序后的第一数据结构体中,得到当前次的第一数据结构体;
根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次排序后的第一数据结构体。
在一些实施例中,所述目标数据包括数值型的属性数据。
在一些实施例中,所述排序后的数据结构包括基于最小堆结构的数据结构体。
在一些实施例中,预设的处理顺序包括:从位于下方的结构层向位于上方的结构层的处理顺序。
在一些实施例中,根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,包括:
按照以下方式对当前次的第一数据结构体中相邻的第一结构层和第二结构层中相连的当前父节点、当前第一子节点和当前第二子节点的目标数据的密文数据进行预设的数据处理:
根据预设的协议规则,取出当前父节点的目标数据的密文数据、当前第一子节点的目标数据的密文数据,和当前第二子节点的目标数据的密文数据;
调用预设的比较函数处理当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据,得到对应的当前第一比较结果的密文数据;
调用预设的选择函数根据所述当前第一比较结果的密文数据,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,得到当前父节点的第一更新后的目标数据的密文数据和当前第一子节点的更新后的目标数据的密文数据;
调用预设的比较函数处理当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据,得到对应的当前第二比较结果的密文数据;
调用预设的选择函数根据所述当前第二比较结果的密文数据,对当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据进行更新操作,得到当前父节点的第二更新后的目标数据的密文数据和当前第二子节点的更新后的目标数据的密文数据。
在一些实施例中,调用预设的选择函数根据所述当前第一比较结果的密文数据,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,包括:
调用预设的选择函数根据所述当前第一比较结果的密文数据,从当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据中确定出一个目标数据的密文数据赋值于当前父节点,作为当前父节点的第一更新后的目标数据的密文数据;将当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据中剩余的另一个目标数据的密文数据赋值于当前第一子节点,作为当前第一子节点更新后的目标数据的密文数据。
在一些实施例中,在得到第二数据结构体之后,所述方法还包括:
根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
在一些实施例中,根据第二数据结构体,构建得到第二数据组,包括:
对所述第二数据结构体进行多次预设的取数处理,并将每次预设的取数处理所取出的目标数据的密文数据按序存入数据组中,以得到第二数据组。
在一些实施例中,对所述第二数据结构体进行多次预设的取数处理,包括:
按照以下方式对第二数据结构体进行当前次预设的取数处理:
取出上一次的第二数据结构体中根节点的目标数据的密文数据按序存入数据组中;并将上一次的第二数据结构体中末尾叶子节点的目标数据的密文数据赋值给根节点,得到上一次的更新后的第二数据结构体;
根据预设的协议规则,按照与预设的处理顺序相反的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对上一次的更新后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次的第二数据结构体。
在一些实施例中,在得到第二数据结构体之后,所述方法还包括:
接收待插入的目标数据的密文数据;
在第二数据结构体中插入更新的末尾叶子节点;并将待插入的目标数据的密文数据赋值给更新的末尾叶子节点,得到插入后的第二数据结构体;
根据预设的协议规则,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对插入后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到符合预设的排序要求的插入后的第二数据结构体。
本说明书实施例还提供了一种基于隐私保护的数据处理装置,包括:
获取模块,用于获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
第一构建模块,用于根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
在一些实施例中,所述装置还包括第二构建模块,所述第二构建模块用于根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
本说明书实施例还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述基于隐私保护的数据处理方法的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述基于隐私保护的数据处理方法的步骤。
基于本说明书实施例提供的基于隐私保护的数据处理方法、装置和服务器,计算节点在获取得到包含有多个目标数据的密文数据的第一数据组之后,可以先根据预设的协议规则,通过逐次从第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理该次已经取出的目标数据的密文数据来构建得到对应该次的基于最小堆结构的排序后的第一数据结构体;按照上述方式进行多次处理,直到取出第一数据组中所有目标数据的密文数据完成相应处理之后,可以得到符合预设的排序要求的第二数据结构体;进而可以根据第二数据结构体,构建得到数据值按照预设的排序规则排列的第二数据组。从而能够在保护数据隐私、避免目标数据的数值遭到泄露的前提下,实现对目标数据的密文数据的排序处理,得到按照数据值大小有序排列的排序结果。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的基于隐私保护的数据处理方法的流程示意图;
图2是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图8是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图9是本说明书的一个实施例提供的基于隐私保护的数据处理方法的流程示意图;
图10是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图;
图11是本说明书的一个实施例提供的服务器的结构组成示意图;
图12是本说明书的一个实施例提供的基于隐私保护的数据处理装置的结构组成示意图;
图13是本说明书的一个实施例提供的基于隐私保护的数据处理装置的结构组成示意图;
图14是在一个场景示例中,应用本说明书实施例提供的基于隐私保护的数据处理方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参阅图1所示,本说明书实施例提供了一种基于隐私保护的数据处理方法。其中,该方法具体应用于计算节点一侧。具体实施时,该方法可以包括以下内容。
S101:获取第一数据组;其中,第一数据组包括多个目标数据的密文数据。
S102:根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
S103:根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
在一些实施例中,上述计算节点具体可以理解为配置有预设的协议规则、预设的比较函数、预设的选择函数的安全计算节点。其中,上述计算节点具体可以理解为具有一定数据处理功能的实体的设备器件或虚拟的计算模块。具体的,例如,上述计算节点可以是服务器、计算机、智能手机、计算芯片等,也可以是计算单元、运算模块、处理系统等。上述计算节点具体可以包括一个或多个计算节点。
在一些实施例中,上述预设的协议规则具体可以包括基于安全多方计算和秘密分享的协议规则。
其中,上述秘密分享(Secret Sharing,SS)也称秘密共享,具体可以是指一种多方安全协议。基于秘密分享,可以将秘密以适当的方式拆分,拆分后的每一个份额(记为一个share)可以由不同的参与者持有和管理,且单个参与者无法基于单个份额恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。
上述安全多方计算(Secure Muti-Party Computation,MPC)具体可以是指一种保护数据隐私安全的算法。多方安全计算能让多个数据方在不泄漏自身数据的前提下进行协作计算。
进一步,上述预设的协议规则还可以是结合不经意传输的协议规则。其中,上述不经意传输(Oblivious Transfer,OT)具体可以是指一种可保护双方数据隐私的通信协议。基于该协议,通信双方无法知晓对方输入的具体数据,使得通信双方可以以一种选择模糊化的方式来传送数据信息。
在一些实施例中,预设的比较函数具体可以包括基于预设的协议规则所构建得到的能够保护数据隐私的加密后的比较函数,可以表示为:private_compare(·)。预设的选择函数具体可以包括基于预设的协议规则所构建得到的能够保护数据隐私的加密后的选择函数,可以表示为:private_select(·)。这样,计算节点后续在使用上述预设的比较函数、预设的选择函数进行相应函数运算的过程中,无法知晓函数输入、函数输出的真实的明文数据值,从而能够较好地保护数据方的数据隐私。
在一些实施例中,上述第一数据组包含有没有按照数据值大小排序的目标数据的密文数据。
在一些实施例中,上述目标数据具体可以包括数值型的属性数据。具体的,例如,上述目标数据可以为以下所列举的属性数据中的任意一种:出价金额、资源数量、身高参数、产量数据等等。
当然,需要说明的是,上述所列举的目标数据只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,上述目标数据还可以包括其他类型的属性数据。对此,本说明书不作限定。
在一些实施例中,上述多个目标数据的密文数据具体可以为多个不同的数据方,预先根据预设的协议规则,将所持有的目标数据进行加密后,提供给计算节点的。
在一些实施例中,参阅图2和图3,上述计算节点可以与多个数据方(例如,数据方1、数据方2……数据方n等)相连。其中,多个数据方各自持有一个或多个目标数据的数据值。具体的,例如,数据方1持有目标数据1,数据方2持有目标数据2……数据方n持有目标数据n。多个目标数据为相同类型的数值型属性数据。多个数据方还分别配置有预设的协议规则。多个数据方可以根据预设的协议规则加密所持有的目标数据,得到目标数据的密文数据,再将目标数据的密文数据分别发送给计算节点。
相应的,计算节点可以接收得到多个数据方分别提供的各自持有的目标数据的密文数据。例如,数据方1发送的目标数据1的密文数据,数据方2发送的目标数据2的密文数据,数据方n发送的目标数据n的密文数据等。
计算节点可以先组合所接收到的多个目标数据的密文数据,得到没有按照数据值的大小顺序排列的第一数据组。
进一步,计算节点可以通过在密文的前提下,对第一数据组进行相关排序处理,以得到按照数据值的大小顺序排序的、符合预设的排序规则的第二数据组。
在一些实施例中,上述获取第一数据组,具体实施时,可以包括:接收多个数据方根据预设的协议规则提供的多个目标数据的密文数据;组合所述多个目标数据的密文数据,得到第一数据组。
在一些实施例中,具体的,可以参阅图3所示,多个数据方中的任意一个数据方,或者计算节点可以发起关于目标数据的数据处理请求。
多个数据方可以接收并响应该数据处理请求,根据预设的协议规则,对所持有的目标数据进行加密处理,得到目标数据的密文数据;再将目标数据的密文数据发送给计算节点。相应的,计算节点可以接收到多个数据方所发送的多个目标数据的密文数据。由于计算节点不持有相应的解密秘钥,因此,计算节点无法知晓目标数据的真实的明文数据值,从而可以避免向计算节点泄露目标数据。
在一些实施例中,计算节点具体组合所述多个目标数据的密文数据,得到第一数据组,可以包括以下内容:根据目标数据的密文数据的接收时间,排列多个目标数据的密文数据,得到第一数据组;或者,随机排列多个目标数据的密文数据,得到第一数据组。
上述第一数据组可以记为A[i]。参阅图4所示,在第一数据组中,多个目标数据的密文数据是不是按照数据值大小排序的,可以理解为是一种基于数据值排列无序数据组。其中,图4中所示的第一数据组中的数据值为目标数据的密文数据,不是目标数据真实的明文数据值。
此外,在该第一数据组中,每一个目标数据的密文数可以据根据在第一数据组的所在位置,被分配对应的序列号(可以记为i)。其中,序列号为大于等于0的整数。
例如,在第一数据组中的第一个位置处的目标数据的密文数据的序列号为0,在第一数据组中的第二个位置处的目标数据的密文数据的序列号为1。以此类推,在第一数据组中的第N个位置处的目标数据的密文数据的序列号为(N-1)。
在一些实施例中,计算节点可以根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理本次已经取出的目标数据的密文数据,构建得到排序后的第一数据结构体。
具体的,参阅图3所示,可以先进行第一次处理,从第一数据组中取出并利用第一个目标数据的密文数据,构建得到第一次排序后的第一数据结构体。再进行第二次处理,从第一数据组中取出并利用第二个目标数据的密文数据,结合第一次排序后的第一数据结构体,通过调用预设的比较函数和预设的选择函数,进行预设的数据处理,得到第二次排序后的第一数据结构体。以此类推。
按照上述方式,可以根据预设的协议规则依次进行多次处理后,直到最后一次(记为第M次),从第一数据组中取出并利用最后一个目标数据的密文数据(记为第M个目标数据的密文数据),结合第M-1次排序后的第一数据结构体,通过调用预设的比较比较函数和预设的选择函数对该次已经取出的目标数据的密文数据进行预设的数据处理,构建得到最后一次的排序后的第一数据结构体(记为第M次排序后的第一数据结构体)。
进而,可以将上述第M次排序后的第一数据结构体确定为符合预设的排序要求的第二数据结构体,从而得到第二数据结构体。
在一些实施例中,每次构建的排序后的第一数据结构体,以及第二数据结构体具体可以为基于最小堆结构或基于最大堆结构的数据结构体。
下面主要以最小堆结构为例进行具体说明。
其中,上述最小堆结构具体可以理解为一种经过排序的完全二叉树结构,并且该结构还满足以下的数值关系:父节点的数据值不大于相连的左子节点的数据值和相连的右子节点的数据值。
在一些实施例中,参阅图3所示,计算节点可以根据预设的协议规则,通过逐次进行多次处理,以构建得到第二数据结构体。其中,每一次的数据处理可以得到一个排序后的第一数据结构体。在每一次的数据处理中,都会从第一数据组中按序取出一个目标数据的密文数据,并将该目标数据的密文数据连入上一次处理后得到的排序后的第一数据结构体,得到本次的第一数据结构体。由于本次的第一数据结构体是将目标数据的密文数据未经排序直接连入到上一次处理后得到的排序后的第一数据结构体中所得到的,这时本次的第一数据结构体,可能不满足以下的数值关系:父节点的数据值不大于相连的左子节点的数据值和相连的右子节点的数据值。因此,在每一次处理中,直接连入目标数据的密文数据所得到的第一数据结构体可能不属于最小堆结构体。还需要再调用预设的比较函数和预设的选择函数逐层对本次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据依次进行预设的数据处理,以得到属于最小堆结构体的本次排序后的第一数据结构体。
在一些实施例中,具体实施时,计算节点可以根据序列号逐次从第一数据组中按序取出一个目标数据的密文数据,并连入上一次排序后的第一数据结构体,得到本次的第一数据结构体。
具体的,每一次处理时,计算节点具体可以将本次新取出的目标数据连入上一次排序后的第一数据结构体时,可以根据完全二叉树结构规则,先在上一次排序后的第一数据结构体插入新的末尾叶子节点;并将新取出的目标数据的密文数据赋值给该新的末尾叶子节点,得到本次的第一数据结构体。
在一些实施例中,上述第一数据结构体具体可以包括多个结构层。其中,每一个结构层上包含有一个或多个节点,每一个节点被赋值一个目标数据的密文数据。第一数据结构体具体包含有本次已经从第一数据组中取出的目标数据的密文数据。
进一步,相邻的两个结构层中,位于偏上方的结构层中的一个节点可以与位于偏下方的结构层中的一个或两个节点相连,这时位于偏上方的结构层中的节点可以记为父节点,偏下方的结构层中与该父节点相连靠左侧的节点可以记为左子节点,偏下方的结构层中与该父节点相连靠右侧的节点可以记为右子节点。该数据结构中的顶点(例如,位于标识为0的结构层中的节点)可以被记为根节点。位于最下方结构层中的,没有相连的子节点的节点可以被记为叶子节点。其中,叶子节点中位于最右侧的叶子节点可以被记为末尾叶子节点。
具体的,例如,参阅图5所示,为在对第一数据组A[i]进行第五次处理时,所生成的第一数据结构体。在该第一数据结构体中,目标数据的密文数据a(0)位于标识为0的结构层,且与位于下方的相邻的标识为1的结构层中目标数据的密文数据a(1)和a(2)分别相连。其中,目标数据的密文数据a(0)所在的节点可以记为父节点,目标数据的密文数据a(1)所在的相对偏左侧的节点可以记为该父节点的左子节点(或称为第一子节点),目标数据的密文数据a(2)所在的相对偏右侧的节点可以记为该父节点的右子节点(或称为第二子节点)。
在一些实施例中,上述根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,具体实施时,可以包括按照以下方式进行多次处理中的当前次处理,得到当前次排序后的第一数据结构体:
S1:从第一数据组中按序取出一个目标数据的密文数据作为当前次的目标数据的密文数据;获取上一次排序后的第一数据结构体;
S2:将当前次的目标数据的密文数据,连入上一次排序后的第一数据结构体中,得到当前次的第一数据结构体;
S3:根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次排序后的第一数据结构体。
在将当前次的目标数据的密文数据,连入上一次排序后的第一数据结构体中,得到当前次的第一数据结构体之后,进一步,计算节点可以根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次排序后的第一数据结构体。
在一些实施例中,上述预设的处理顺序具体可以包括:从位于下方的结构层向位于上方的结构层的处理顺序。
在一些实施例中,上述父节点具体可以理解为位于相对上方位置的结构层中的节点;上述第一子节点、第二子节点具体可以理解为位于相对下方位置的结构层中的,且与该父节点相连的节点。上述第一子节点具体可以包括位于左侧的左子节点,上述第二子节点具体可以包括位于右侧的右子节点。有些情况下,父节点也可以只连接有第一子节点这一个子节点。
在一些实施例中,上述按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,具体实施时,可以包括以下内容:按照以下方式对当前次的第一数据结构体中相邻的第一结构层和第二结构层中相连的当前父节点、当前第一子节点和当前第二子节点的目标数据的密文数据进行预设的数据处理:
S1:根据预设的协议规则,取出当前父节点的目标数据的密文数据、当前第一子节点的目标数据的密文数据,和当前第二子节点的目标数据的密文数据;
S2:调用预设的比较函数处理当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据,得到对应的当前第一比较结果的密文数据;
S3:调用预设的选择函数根据所述当前第一比较结果的密文数据,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,得到当前父节点的第一更新后的目标数据的密文数据和当前第一子节点的更新后的目标数据的密文数据;
S4:调用预设的比较函数处理当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据,得到对应的当前第二比较结果的密文数据;
S5:调用预设的选择函数根据所述当前第二比较结果的密文数据,对当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据进行更新操作,得到当前父节点的第二更新后的目标数据的密文数据和当前第二子节点的更新后的目标数据的密文数据。
按照上述方式,计算节点可以通过对当前次的第一数据结构体按照预设的处理顺序进行多次预设的数据处理,完成对当前次的第一数据结构体的堆排序,得到属于最小堆结构的当前次排序后的第一数据结构体。
在一些实施例中,上述预设的数据处理可以理解为一种堆排序处理(可以记为heapify)。上述第一结构层具体可以理解为当前次所针对处理的相邻的两个结构层中位于相对上方的结构层,上述第二结构层具体可以理解为当前次所针对处理的相邻的两个结构层中位于相对下方的结构层。父节点为第一结构层中的节点,第一子节点和第二子节点为第二结构层中与父节点相连的节点。一些情况下,父节点也可以只连接有一个子节点。
在一些实施例中,在进行第一次处理时,可以根据序列号,按序从第一数据组取出第一个目标数据的密文数据a(0),并将目标数据的密文数据a(0)直接填入完全二叉树结构中,得到第一次的第一数据结构体。由于第一次的第一数据结构体只包含有一个目标数据的密文数据,不需要再另外进行排序,因此,可以直接将第一次的第一数据结构体确定为第一次排序后的第一数据结构体,完成第一次处理。
参阅图6所示,在完成第一次处理之后,可以进行第二次处理。具体的,可以根据序列号,按序从第一数据组取出第二个目标数据的密文数据a(1),并根据完全二叉树结构的规则,将目标数据的密文数据a(1)连入第一次排序后的第一数据结构体中,得到第二次的第一数据结构体。参阅图6可知,第二次的第一数据结构体包含有相邻的两个结构层:位于上方的0结构层和位于下方的1结构层,其中,第二次新取出的a(1)位于1结构层,第一次取出的a(0)位于0结构层。其中,a(0)与a(1)相连。由于a(0)相对于a(1)位于相对上方的结构层,a(0)可以记为a(1)的父节点,a(1)可以记为a(0)的第一子节点。
由于第二次的第一数据结构体包含有两个目标数据的密文数据,需要再另外进行排序。可以将a(1)所在的1结构层记为第二结构层,将a(0)所在的0结构层记为第一结构层。可以取出父节点的目标数据的密文数据a(0),以及与该父节点相连的第一子节点的目标数据的密文数据a(1);并调用预设的比较函数和预设的选择函数对a(0)、a(1)进行预设的数据处理。具体的,可以调用预设的比较函数处理a(0)和a(1),得到对应第二次处理中的第一次的第一比较结果的密文数据:c(2)1-1:c(2)1-1=private_compare(a(0),a(1))。再调用预设的选择函数按照以下方式处理c(2)1-1、a(0)和a(1):private_select(c(2)1-1,a(0),a(1)),以根据c(2)1-1从a(0)和a(1)中选出数据值较小的一个目标数据的密文数据赋值给父节点,得到父节点的第一更新后的目标数据的密文数据,记为a(0)’;将剩余的另一个目标数据的密文数据赋值给第一子节点,得到第一子节点的更新后的目标数据的密文数据,记为a(1)’。
具体的,例如,如果a(1)的数据值小于等于a(0),则将父节点的目标数据的密文数据改为a(1),作为父节点的第一更新后的目标数据的密文数据(a(0)’);将第一子节点的密文数据改为a(0),作为第一子节点的更新后的目标数据的密文数据(a(1)’)。
相反,如果a(1)的数据值大于a(0),则将父节点的目标数据的密文数据保持为原来的a(0),作为父节点的第一更新后的目标数据的密文数据;将第一子节点的密文数据保持为原来的a(1),作为第一子节点的更新后的目标数据的密文数据。
经过上述预设的数据处理后的第一次的第一数据结构满足最小堆结构体的数值关系,即第一次排序后的第一数据结构体。
接着,在进行后续多次处理中的任意的当前次处理时,可以根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,即从位于下方的结构层位于上方的结构层的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,以完成对当前次的第一数据结构体的排序,得到当前次排序后的第一数据结构体。
具体的,以进行第五次处理为例。可以参阅图5所示,先根据序列号,按序从第一数据组取出第五个目标数据的密文数据a(4),并根据完全二叉树结构的规则,将目标数据的密文数据a(4)连入第四次排序后的第一数据结构体中,得到第五次的第一数据结构体。
接着,参阅图7所示,可以将a(4)所在的2结构层作为起始结构层,从2结构层开始向上按序依次调用预设的比较函数和预设的选择函数对相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理。
具体的,在第五次处理中,具体进行第一次预设的数据处理时,可以将1结构层和2结构层作为当前待进行预设的数据处理的相邻两个结构层。可以确定当前父节点为1结构层中a(1)所在的节点,确定当前第一子节点为2结构层中a(3)所在的节点,确定当前第二子节点为位于2结构层的a(4)所在的节点。根据预设的协议规则,可以先取出当前父节点的目标数据的密文数据a(1)、当前第一子节点的目标数据的密文数据a(3),和当前第二子节点的目标数据的密文数据a(4);再调用预设的比较函数处理当前父节点的目标数据的密文数据a(1)和当前第一子节点的目标数据的密文数据a(3),得到对应的当前第一比较结果的密文数据c(5)1-1;再调用预设的选择函数根据所述当前第一比较结果的密文数据c(5)1-1,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,得到当前父节点的第一更新后的目标数据的密文数据和当前第一子节点的更新后的目标数据的密文数据。接着,再调用预设的比较函数处理当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据,得到对应的当前第二比较结果的密文数据c(5)1-2;再调用预设的选择函数根据所述当前第二比较结果的密文数据,对当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据进行更新操作,得到当前父节点的第二更新后的目标数据的密文数据和当前第二子节点的更新后的目标数据的密文数据。从而完成第五次处理中的第一次预设的数据处理。
接着,可以进行第五次处理中的第二次预设的数据处理。具体的,参阅图7所示,可以按照预设的处理顺序,向上将0结构层和1结构层作为当前待进行预设的数据处理的相邻两个结构层。可以确定出当前父节点为0结构层中a(0)所在的节点,确定当前第一子节点为1结构层中a(1)所在的节点,确定当前第二子节点为位于1结构层的a(2)所在的节点。根据预设的协议规则,可以先取出当前父节点的目标数据的密文数据a(0)、当前第一子节点的目标数据的密文数据a(1),和当前第二子节点的目标数据的密文数据a(2);再调用预设的比较函数处理当前父节点的目标数据的密文数据a(0)和当前第一子节点的目标数据的密文数据a(1),得到对应的当前第一比较结果的密文数据c(5)2-1;再调用预设的选择函数根据所述当前第一比较结果的密文数据c(5)2-1,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,得到当前父节点的第一更新后的目标数据的密文数据和当前第一子节点的更新后的目标数据的密文数据。接着,再调用预设的比较函数处理当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据,得到对应的当前第二比较结果的密文数据c(5)2-2;再调用预设的选择函数根据所述当前第二比较结果的密文数据,对当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据进行更新操作,得到当前父节点的第二更新后的目标数据的密文数据和当前第二子节点的更新后的目标数据的密文数据。从而完成第五次处理中的第二次预设的数据处理。
按照预设的处理顺序,通过对第五次的第一数据结构体进行了两次预设的数据处理后,完成对第五次的第一数据结构的排序,得到基于最小堆结构体的第五次排序后的第一数据结构体,从而完成第五次的数据处理。
基于递归算法,可以按照上述方式,进行多次处理后,直到最后一次(例如,第M次),从第一数据组中取出最后一个目标数据的密文数据,并将该目标数据的密文数据连入上一次(M-1次)排序后的第一数据结构体中,得到最后一次的第一数据结构体。再根据预设的协议规则,以最后一次取出的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对最后一次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到最后一次排序后的第一数据结构体。进而可以将上述最后一次处理所得到的最后一次排序后的第一数据结构体作为符合预设的排序要求的第二数据结构体。
在一些实施例中,具体进行预设的数据处理时,可以先确定出当前父节点的节点编号、当前第一子节点的节点编号,以及当前第二子节点的节点编号;再根据当前父节点的节点编号、当前第一子节点的节点编号,以及当前第二子节点的节点编号,取出当前父节点的目标数据的密文数据、当前第一子节点的目标数据的密文数据,和当前第二子节点的目标数据的密文数据。
具体确定当前父节点的节点编号、当前第一子节点的节点编号,以及当前第二子节点的节点编号,可以包括以下内容:
S1:确定出当前父节点的节点编号;
S2:根据预设的编号规则,利用当前父节点的节点编号,计算得到当前第一子节点的节点编号,和当前第二子节点的节点编号;
具体的,例如,获取的上一次预设的数据处理中父节点的节点编号为i-1,将上一次预设的数据处理中父节点的节点编号加1,可以得到当前父节点的节点编号i。再根据当前父节点的节点编号,根据预设的编号规则,分别计算出当前第一子节点的节点编号以及当前第二子节点的节点编号。
其中,上述预设的编号规则具体可以包括第一编号关系式:No1=2i+1;以及第二编号关系式:No2=2i+2。其中,第一编号关系式用于计算与父节点相连的第一子节点的节点编号,第二编号关系式用于计算与父节点相连的第二子节点的节点编号,i为父节点的节点编号。
具体实施时,可以根据第一编号关系式,计算得到当前第一子节点的节点编号为2i+1;根据第二编号关系式,计算得到当前第二子节点的节点编号为2i+2。
进一步,可以根据当前父节点的节点编号、当前第一子节点的节点编号,和当前第二子节点的节点编号,查询第一数据组,找到相同序列号的目标数据的密文数据,从而可以取出当前父节点的目标数据的密文数据、当前第一子节点的目标数据的密文数据,和当前第二子节点的目标数据的密文数据,可以分别记为:a(i)、a(2i+1)和a(2i+2)。
在一些实施例中,具体实施时,还可以直接根据第一数据组,进行堆排序操作,以得到符合预设的排序要求的第二数据结构体。
具体的,可以参阅图14所示。以数据组[5,8,4,7,9,6]作为第一数据组为例。需要说明的是,该数据组中出现的字符“5”、“8”、“4”、“7”、“9”、“6”分别表征该数据组中不同目标数据的密文数据,不表征目标数据的真实的数据值。
具体进行堆排序操作时,计算节点可以根据第一数据组中目标数据的密文数据的序列号,按序每次从第一数据组中取出一个目标数据的密文数据进行操作。例如,第一次取出第一数据组中在第一个数据位的目标数据的密文数据“5”,第二次取出第一数据组中在第二个数据位的目标数据的密文数据“4”等等。每次具体操作时,除第一次以外,计算节点在每次取出一个目标数据的密文数据,可以先基于完全二叉树的结构规则将新取出的目标数据的密文数据与上一次已连接的目标数据的密文数据进行连接,得到当前次已连接的目标数据的密文数据。接着,计算节点可以根据预设的协议规则,调用预设的比较函数和预设的选择函数通过处理当前次已连接的目标数据的密文数据,对目标数据的密文数据之间的连接关系进行调整,以使得调整后的当前次已连接的目标数据的密文数据满足最小堆的数值关系,即:父节点的数据值不大于相连的左子节点的数据值和相连的右子节点的数据值。在得到上述满足最小堆的数值关系的当前次已连接的目标数据的密文数据之后,再从第一数据组中取出下一次的目标数据的密文数据进行操作。基于递归算法,重复上述操作,直到取出第一数据组中所有的目标数据的密文数据为止。进而可以将最后所得到的当前次已连接的目标数据的密文数据的整体作为符合预设的排序要求的第二数据结构体。从而可以更为高效、快速地得到对应的第二数据结构体。
在一些实施例中,在得到第二数据结构体之后,所述方法具体实施时,还可以包括:根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
其中,上述预设的排序规则具体可以是指基于数据值从小到大的排序规则,或基于数据值从大到小的排序规则。
在一些实施例中,上述根据第二数据结构体,构建得到第二数据组,具体实施时,可以包括以下内容:对所述第二数据结构体进行多次预设的取数处理,并将每次预设的取数处理所取出的目标数据的密文数据按序存入数据组中,以得到第二数据组。
在一些实施例中,对所述第二数据结构体进行多次预设的取数处理,具体实施时,可以包括:按照以下方式对第二数据结构体进行当前次预设的取数处理:
S1:取出上一次的第二数据结构体中根节点的目标数据的密文数据按序存入数据组中;并将上一次的第二数据结构体中末尾叶子节点的目标数据的密文数据赋值给根节点,得到上一次的更新后的第二数据结构体;
S2:根据预设的协议规则,按照与预设的处理顺序相反的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对上一次的更新后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次的第二数据结构体。
其中,上述与预设的处理顺序相反的处理顺序具体可以为包括:从位于上方的结构层向位于下方的结构层的处理顺序。
具体的,可以以上一次的更新后的第二数据结构体中根节点的目标数据的密文数据所在的0结构层作为起始结构层,调用预设的比较函数和预设的选择函数往下逐层对相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,直到处理完最下方的结构层,得到当前次的第二数据结构体。
具体的,参阅图8所示,计算节点每一次进行预设的取数处理时,可以从上一次的第二数据结构体中取出根节点(顶点)的目标数据的密文数据(例如,a(0)),并将该目标数据的密文数据紧挨着上一次取出的目标数据的密文数据存入数据组中。或者,计算节点还可以从上一次的第二数据结构体中取出根节点的目标数据的密文数据存入数据组中,并为该目标数据的密文数据设置对应的序列标签;其中,该序列标签用于表征该目标数据的密文数据是在第几次的预设的取数处理中取出并存入的。
同时,参阅图8所示,计算节点还会将上一次的第二数据结构体中末尾叶子节点的目标数据的密文数据赋值给根节点,得更新后的第二数据结构体。
进而,可以根据预设的协议规则,按照与预设的处理顺序相反的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对上一次的更新后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,实现对上述更新后的第二数据结构体进行整体的堆排序,得到符合预设的排序要求的数据结构体,作为当前次的第二数据结构体。完成当前次预设的取数处理。
通过上述方式,可以进行多次预设的取数处理,直到从第二结构数据体中取出所有的目标数据的密文数据为止,可以将此时按序存入有多个目标数据的密文数据的数据组,确定为第二数据组。
在一些实施例中,在得到第二数据组之后,所述方法具体实施时,还可以包括以下内容:
S1:根据预设的协议规则,将第二数据组反馈给数据使用方;
S2:数据使用方根据所述第二数据组,进行目标数据处理。
在一些实施例中,上述数据使用方具体可以理解为基于预设的协议规则能够获取并使用第二数据组的数据方。对应于不同的应用场景,上述数据使用方可以是不同类型的数据方。
具体的,例如,在商品竞拍场景中,上述数据使用方可以是拍卖方的服务器,多个数据方可以是计划购买拍卖方所负责拍卖的目标商品的竞买方。相应的,多个数据方各自提供给计算节点的目标数据的密文数据可以是竞买方针对目标商品的出价金额的密文数据。计算节点在接收到多个竞买方各自提供的多个出价金额的密文数据之后,可以基于本说明书实施例提供的基于隐私保护的数据处理方法得到对应的第二数据组。其中,第二数据组中包含有按照出价金额的真实数据值由小到大顺序排列的多个出价金额的密文数据。每一个出价金额的密文数据可以携带有竞买方的标识信息。计算节点可以将上述第二数据组发送给拍卖方的服务器。拍卖方的服务器根据第二数据组可以确定出价金额数据值最大的竞买方,并判定该竞买方成功拍到了该目标商品,但是拍卖方的服务器无法知晓该竞买方以及其他竞买方所给出的出价金额的具体数据值。
又例如,在资源合作调用场景中,数据使用方可以是计划寻求能够提供可调用资源的资源方进行合作的资源需求方,多个数据方可以是拥有一定的资源量(例如,存储器资源、CPU资源、GPU资源等)期望与该资源需求方达成合作的资源方。相应的,多个数据方各自提供给计算节点的目标数据的密文数据可以是愿意提供给资源需求方使用的资源数量的密文数据。计算节点可以基于本说明书实施例提供的基于隐私保护的数据处理方法得到对应的第二数据组。其中,第二数据组中包含有按照出资源数量的真实数据值由大到小顺序排列的多个资源数量的密文数据。计算节点可以将上述第二数据组发送给资源需求方。资源需求方根据第二数据组,确定出排序靠前的三个资源数量的密文数据所对应的资源方作为达成合作的资源方。但是,在上述过程中没有泄露其他没达成合作的资源方所提供的资源数量。
当然,需要说明的是,上述所列举的应用场景和关于第二数据组的使用方式只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以应用于其他合适的应用场景,采用其他合适的方式来处理第二数据组。
在一些实施例中,具体实施时,计算节点还可以根据第二数据组,确定出目标数据的数据值的排序结果;并将该排序结果提供给多个数据方。这样可以使得多个数据方在无法知晓其他数据方的目标数据的数据值的前提下,知晓己方所持有的目标数据在所有目标数据中的排序情况。
由上可见,本说明书实施例提供的基于隐私保护的数据处理方法,计算节点在获取得到包含有多个目标数据的密文数据的第一数据组之后,可以先根据预设的协议规则,通过逐次从第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理该次已经取出所有的目标数据的密文数据来构建得到基于最小堆结构的排序后的第一数据结构体;按照上述方式进行多次处理,直到取出第一数据组所有目标数据的密文数据后,可以得到符合预设的排序要求的第二数据结构体;进而可以根据第二数据结构体,构建得到数据值按照预设的排序规则排列的第二数据组。从而能够在保护数据隐私、避免目标数据的数值遭到泄露的前提下,实现对目标数据的密文数据的排序处理,得到按照数据值有序排列的排序结果。
参阅图9所示,本说明书实施例还提供了一种基于隐私保护的数据处理方法。该方法应用于计算节点,具体实施时,可以包括以下内容:
S901:获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
S902:根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
在一些实施例中,在得到第二数据结构体之后,所述方法具体实施时,还可以包括以下内容:
S1:接收待插入的目标数据的密文数据;
S2:在第二数据结构体中插入更新的末尾叶子节点;并将待插入的目标数据的密文数据赋值给更新的末尾叶子节点,得到插入后的第二数据结构体;
S3:根据预设的协议规则,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对插入后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到符合预设的排序要求的插入后的第二数据结构体。
在一些实施例中,具体的,可以参阅图10所示,待插入的目标数据的密文数据可以记为X。结合完全二叉树的特性,根据第二数据结构体中当前已有的末尾叶子节点找到并插入下一个新末尾叶子节点,作为更新的末尾叶子节点(例如,位于最下方的2结构层中与a(2)相连靠右侧的叶子节点)。再将X幅值给更新的末尾叶子节点,得到插入后的第二数据结构体。进一步,可以根据预设的协议规则,按照预设的处理顺序(从位于下方的结构层向位于上方的结构层的处理顺序)通过调用预设的比较函数和预设的选择函数逐层对插入后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,完成针对插入后的第二数据结构体的堆排序处理,从而可以得到符合预设的排序要求的插入后的第二数据结构体。
通过上述实施例,在对第二数据结构体进行数据插入后,也能够高效地通过预设的数据处理,得到符合预设的排序要求的插入后的第二数据结构体。
由上可见,本说明书实施例提供的基于隐私保护的数据处理方法,计算节点在获取得到包含有多个目标数据的密文数据的第一数据组之后,可以先根据预设的协议规则,通过逐次从第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理该次已经取出所有的目标数据的密文数据来构建得到基于最小堆结构的排序后的第一数据结构体;按照上述方式进行多次处理,直到取出第一数据组所有目标数据的密文数据后,可以得到符合预设的排序要求的第二数据结构体;进而可以根据第二数据结构体,构建得到数据值按照预设的排序规则排列的第二数据组。从而能够在保护数据隐私、避免目标数据的数值遭到泄露的前提下,实现对多个目标数据的密文数据的数据处理,得到符合预设的排序要求的第二数据结构体。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体;根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
为了能够更加准确地完成上述指令,参阅图11,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口1101、处理器1102以及存储器1103,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口1101,具体可以用于获取第一数据组;其中,第一数据组包括多个目标数据的密文数据。
所述处理器1102,具体可以用于根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
所述存储器1103,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口1101可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器1102可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器1103可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述基于隐私保护的数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图12所示,在软件层面上,本说明书实施例还提供了一种基于隐私保护的数据处理装置,该装置具体可以包括以下的结构模块:
获取模块1201,具体可以用于获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
第一构建模块1202,具体可以用于根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
在一些实施例中,所述装置具体还可以包括第二构建模块,所述第二构建模块具体可以用于根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
在一些实施例中,所述第二构建模块具体实施时,可以按照以下方式根据第二数据结构体,构建得到第二数据组:对所述第二数据结构体进行多次预设的取数处理,并将每次预设的取数处理所取出的目标数据的密文数据按序存入数据组中,以得到第二数据组。
在一些实施例中,所述第二构建模块具体实施时,可以按照以下方式对所述第二数据结构体进行多次预设的取数处理:按照以下方式对第二数据结构体进行当前次预设的取数处理:取出上一次的第二数据结构体中根节点的目标数据的密文数据按序存入数据组中;并将上一次的第二数据结构体中末尾叶子节点的目标数据的密文数据赋值给根节点,得到上一次的更新后的第二数据结构体;根据预设的协议规则,按照与预设的处理顺序相反的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对上一次的更新后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次的第二数据结构体。
在一些实施例中,所述获取模块1201具体实施时,可以用于接收多个数据方根据预设的协议规则提供的多个目标数据的密文数据;组合所述多个目标数据的密文数据,得到第一数据组。
在一些实施例中,所述目标数据具体可以包括数值型的属性数据。
在一些实施例中,所述排序后的数据结构包括基于最小堆结构的数据结构体。相应的,所述第二数据结构体也包括基于最小堆结构的数据结构体。
在一些实施例中,预设的处理顺序具体可以包括:从位于下方的结构层向位于上方的结构层的处理顺序。
在一些实施例中,上述第一构建模块1202具体实施时,可以按照以下方式,进行当前次处理:从第一数据组中按序取出一个目标数据的密文数据作为当前次的目标数据的密文数据;获取上一次排序后的第一数据结构体;将当前次的目标数据的密文数据,连入上一次排序后的第一数据结构体中,得到当前次的第一数据结构体;根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次排序后的第一数据结构体。
在一些实施例中,上述第一构建模块1202具体实施时,可以按照以下方式对当前次的第一数据结构体中相邻的第一结构层和第二结构层中相连的当前父节点、当前第一子节点和当前第二子节点的目标数据的密文数据进行预设的数据处理:根据预设的协议规则,取出当前父节点的目标数据的密文数据、当前第一子节点的目标数据的密文数据,和当前第二子节点的目标数据的密文数据;调用预设的比较函数处理当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据,得到对应的当前第一比较结果的密文数据;调用预设的选择函数根据所述当前第一比较结果的密文数据,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,得到当前父节点的第一更新后的目标数据的密文数据和当前第一子节点的更新后的目标数据的密文数据;调用预设的比较函数处理当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据,得到对应的当前第二比较结果的密文数据;调用预设的选择函数根据所述当前第二比较结果的密文数据,对当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据进行更新操作,得到当前父节点的第二更新后的目标数据的密文数据和当前第二子节点的更新后的目标数据的密文数据。
在一些实施例中,上述第一构建模块1202具体实施时,可以按照以下方式调用预设的选择函数根据所述当前第一比较结果的密文数据,从当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据中确定出一个目标数据的密文数据赋值于当前父节点,作为当前父节点的第一更新后的目标数据的密文数据;将当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据中剩余的另一个目标数据的密文数据赋值于当前第一子节点,作为当前第一子节点更新后的目标数据的密文数据。
在一些实施例中,上述装置还可以包括插入模块,具体可以用于接收待插入的目标数据的密文数据;在第二数据结构体中插入更新的末尾叶子节点;并将待插入的目标数据的密文数据赋值给更新的末尾叶子节点,得到插入后的第二数据结构体;根据预设的协议规则,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对插入后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到符合预设的排序要求的插入后的第二数据结构体。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
参阅图13所示,本说明书实施例还提供了另一种基于隐私保护的数据处理装置,具体可以包括:
获取模块1301,具体可以用于获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
第一构建模块1302,具体可以用于根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体;
第二构建模块1303,具体可以用于根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
由上可见,基于本说明书实施例提供的基于隐私保护的数据处理装置,在获取得到包含有多个目标数据的密文数据的第一数据组之后,可以先根据预设的协议规则,通过逐次从第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理该次已经取出所有的目标数据的密文数据来构建得到基于最小堆结构的排序后的第一数据结构体;按照上述方式进行多次处理,直到取出第一数据组所有目标数据的密文数据后,可以得到符合预设的排序要求的第二数据结构体;进而可以根据第二数据结构体,构建得到数据值按照预设的排序规则排列的第二数据组。从而能够在保护数据隐私的前提下,实现对目标数据的密文数据的排序,得到按照数据值有序排列的排序结果。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (17)

1.一种基于隐私保护的数据处理方法,应用于计算节点,其特征在于,包括:
获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体;
根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
2.一种基于隐私保护的数据处理方法,应用于计算节点,其特征在于,包括:
获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
3.根据权利要求2所述的方法,其特征在于,根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,包括:
从第一数据组中按序取出一个目标数据的密文数据作为当前次的目标数据的密文数据;获取上一次排序后的第一数据结构体;
将当前次的目标数据的密文数据,连入上一次排序后的第一数据结构体中,得到当前次的第一数据结构体;
根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次排序后的第一数据结构体。
4.根据权利要求3所述的方法,其特征在于,所述目标数据包括数值型的属性数据。
5.根据权利要求3所述的方法,其特征在于,所述排序后的数据结构包括基于最小堆结构的数据结构体。
6.根据权利要求5所述的方法,其特征在于,预设的处理顺序包括:从位于下方的结构层向位于上方的结构层的处理顺序。
7.根据权利要求6所述的方法,其特征在于,根据预设的协议规则,以当前次的目标数据的密文数据所在的结构层为起始结构层,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对当前次的第一数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,包括:
按照以下方式对当前次的第一数据结构体中相邻的第一结构层和第二结构层中相连的当前父节点、当前第一子节点和当前第二子节点的目标数据的密文数据进行预设的数据处理:
根据预设的协议规则,取出当前父节点的目标数据的密文数据、当前第一子节点的目标数据的密文数据,和当前第二子节点的目标数据的密文数据;
调用预设的比较函数处理当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据,得到对应的当前第一比较结果的密文数据;
调用预设的选择函数根据所述当前第一比较结果的密文数据,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,得到当前父节点的第一更新后的目标数据的密文数据和当前第一子节点的更新后的目标数据的密文数据;
调用预设的比较函数处理当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据,得到对应的当前第二比较结果的密文数据;
调用预设的选择函数根据所述当前第二比较结果的密文数据,对当前父节点的更新后的目标数据的密文数据和当前第二子节点的目标数据的密文数据进行更新操作,得到当前父节点的第二更新后的目标数据的密文数据和当前第二子节点的更新后的目标数据的密文数据。
8.根据权利要求7所述的方法,其特征在于,调用预设的选择函数根据所述当前第一比较结果的密文数据,对当前父节点和当前第一子节点的目标数据的密文数据进行更新操作,包括:
调用预设的选择函数根据所述当前第一比较结果的密文数据,从当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据中确定出一个目标数据的密文数据赋值于当前父节点,作为当前父节点的第一更新后的目标数据的密文数据;将当前父节点的目标数据的密文数据和当前第一子节点的目标数据的密文数据中剩余的另一个目标数据的密文数据赋值于当前第一子节点,作为当前第一子节点更新后的目标数据的密文数据。
9.根据权利要求2所述的方法,其特征在于,在得到第二数据结构体之后,所述方法还包括:
根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
10.根据权利要求9所述的方法,其特征在于,根据第二数据结构体,构建得到第二数据组,包括:
对所述第二数据结构体进行多次预设的取数处理,并将每次预设的取数处理所取出的目标数据的密文数据按序存入数据组中,以得到第二数据组。
11.根据权利要求10所述的方法,其特征在于,对所述第二数据结构体进行多次预设的取数处理,包括:
按照以下方式对第二数据结构体进行当前次预设的取数处理:
取出上一次的第二数据结构体中根节点的目标数据的密文数据按序存入数据组中;并将上一次的第二数据结构体中末尾叶子节点的目标数据的密文数据赋值给根节点,得到上一次的更新后的第二数据结构体;
根据预设的协议规则,按照与预设的处理顺序相反的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对上一次的更新后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到当前次的第二数据结构体。
12.根据权利要求2所述的方法,其特征在于,在得到第二数据结构体之后,所述方法还包括:
接收待插入的目标数据的密文数据;
在第二数据结构体中插入更新的末尾叶子节点;并将待插入的目标数据的密文数据赋值给更新的末尾叶子节点,得到插入后的第二数据结构体;
根据预设的协议规则,按照预设的处理顺序,通过调用预设的比较函数和预设的选择函数逐层对插入后的第二数据结构体中相邻两个结构层中相连的父节点、第一子节点和第二子节点的目标数据的密文数据进行预设的数据处理,得到符合预设的排序要求的插入后的第二数据结构体。
13.根据权利要求2所述的方法,其特征在于,获取第一数据组,包括:
接收多个数据方根据预设的协议规则提供的多个目标数据的密文数据;
组合所述多个目标数据的密文数据,得到第一数据组。
14.一种基于隐私保护的数据处理装置,其特征在于,包括:
获取模块,用于获取第一数据组;其中,第一数据组包括多个目标数据的密文数据;
第一构建模块,用于根据预设的协议规则,通过逐次从所述第一数据组中取出一个目标数据的密文数据,并利用预设的比较函数和预设的选择函数处理所取出的目标数据的密文数据来构建排序后的第一数据结构体,以得到符合预设的排序要求的第二数据结构体。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括第二构建模块,所述第二构建模块用于根据第二数据结构体,构建得到第二数据组;其中,第二数据组包括按照预设的排序规则排列的多个目标数据的密文数据。
16.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1,或2至13中任一项所述方法的步骤。
17.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被处理器执行时实现权利要求1,或2至13中任一项所述方法的步骤。
CN202111579678.6A 2021-12-22 2021-12-22 基于隐私保护的数据处理方法、装置和服务器 Pending CN114254353A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111579678.6A CN114254353A (zh) 2021-12-22 2021-12-22 基于隐私保护的数据处理方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111579678.6A CN114254353A (zh) 2021-12-22 2021-12-22 基于隐私保护的数据处理方法、装置和服务器

Publications (1)

Publication Number Publication Date
CN114254353A true CN114254353A (zh) 2022-03-29

Family

ID=80794170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111579678.6A Pending CN114254353A (zh) 2021-12-22 2021-12-22 基于隐私保护的数据处理方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN114254353A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114648259A (zh) * 2022-05-23 2022-06-21 科大天工智能装备技术(天津)有限公司 一种城市道路井盖管理方法
CN115834062A (zh) * 2023-02-20 2023-03-21 浙江奥鑫云科技有限公司 一种用于数据托管服务的企业数据传输加密方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114648259A (zh) * 2022-05-23 2022-06-21 科大天工智能装备技术(天津)有限公司 一种城市道路井盖管理方法
CN115834062A (zh) * 2023-02-20 2023-03-21 浙江奥鑫云科技有限公司 一种用于数据托管服务的企业数据传输加密方法

Similar Documents

Publication Publication Date Title
CN112800466B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN105335409B (zh) 一种目标用户的确定方法、设备和网络服务器
CN114254353A (zh) 基于隐私保护的数据处理方法、装置和服务器
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN110414567A (zh) 数据处理方法、装置和电子设备
CN109687952A (zh) 数据处理方法及其装置、电子装置及存储介质
CN110266682B (zh) 数据加密方法、装置、移动终端及解密方法
CN110162551A (zh) 数据处理方法、装置和电子设备
CN107688733B (zh) 业务接口调用方法、装置、用户终端和可读存储介质
CN111428887A (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN114818000B (zh) 隐私保护的集合混淆求交方法、系统及相关设备
CN109582452A (zh) 一种容器调度方法、调度装置及电子设备
CN114255037A (zh) 隐私保护下的多方联合排序方法和数据处理方法
CN109359476A (zh) 一种隐藏输入的两方模式匹配方法及装置
CN112737772B (zh) 私有集合交集数据的安全统计方法、终端设备及系统
CN112073444B (zh) 数据集的处理方法、装置和服务器
CN115907043A (zh) 基于多方多模型隐私求交的联邦学习内容推送方法及装置
CN104618390A (zh) 网站数据反馈方法、显示方法及系统、处理系统
CN110874481B (zh) 一种基于gbdt模型的预测方法和装置
CN106788993A (zh) 一种加密通信方法、装置及电子设备
CN113254989B (zh) 目标数据的融合方法、装置和服务器
CN113094739B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN106779899A (zh) 恶意订单识别方法及装置
CN116681141A (zh) 隐私保护的联邦学习方法、终端及存储介质
CN110059097A (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