CN112948083B - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112948083B CN112948083B CN202110222488.2A CN202110222488A CN112948083B CN 112948083 B CN112948083 B CN 112948083B CN 202110222488 A CN202110222488 A CN 202110222488A CN 112948083 B CN112948083 B CN 112948083B
- Authority
- CN
- China
- Prior art keywords
- model
- sequence
- unit
- node
- storage node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 121
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 29
- 230000011218 segmentation Effects 0.000 claims abstract description 13
- 108020004414 DNA Proteins 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 102000053602 DNA Human genes 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 108091032973 (ribonucleotides)n+m Proteins 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- KDCGOANMDULRCW-UHFFFAOYSA-N 7H-purine Chemical compound N1=CNC2=NC=NC2=C1 KDCGOANMDULRCW-UHFFFAOYSA-N 0.000 description 2
- ISAKRJDGNUQOIC-UHFFFAOYSA-N Uracil Chemical compound O=C1C=CNC(=O)N1 ISAKRJDGNUQOIC-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- OPTASPLRGRRNAP-UHFFFAOYSA-N cytosine Chemical compound NC=1C=CNC(=O)N=1 OPTASPLRGRRNAP-UHFFFAOYSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- UYTPUPDQBNUYGX-UHFFFAOYSA-N guanine Chemical compound O=C1NC(N)=NC2=C1N=CN2 UYTPUPDQBNUYGX-UHFFFAOYSA-N 0.000 description 2
- 108020004999 messenger RNA Proteins 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- RWQNBRDOKXIBIV-UHFFFAOYSA-N thymine Chemical compound CC1=CNC(=O)NC1=O RWQNBRDOKXIBIV-UHFFFAOYSA-N 0.000 description 2
- -1 A-T Chemical compound 0.000 description 1
- 229930024421 Adenine Natural products 0.000 description 1
- GFFGJBXGBJISGV-UHFFFAOYSA-N Adenine Chemical compound NC1=NC=NC2=C1N=CN2 GFFGJBXGBJISGV-UHFFFAOYSA-N 0.000 description 1
- CZPWVGJYEJSRLH-UHFFFAOYSA-N Pyrimidine Chemical compound C1=CN=CN=C1 CZPWVGJYEJSRLH-UHFFFAOYSA-N 0.000 description 1
- 229960000643 adenine Drugs 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 229940104302 cytosine Drugs 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229940113082 thymine Drugs 0.000 description 1
- 229940035893 uracil Drugs 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种数据处理方法、装置及电子设备,涉及区块链数据处理技术领域,该方法包括如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据加密序列确定对应运算模型的各个模型单元之间的运算顺序;接收该目标数据的处理结果;其中,该处理结果由第一存储节点根据该运算顺序处理该处理请求得到。本发明实施例通过将运算模型和目标数据进行分割,并结合碱基配对的方式,对分割得到的模型单元以及模型的运算顺序进行加密,该加密方式安全高效且操作简便,可以节省加密以及解密过程对系统算力和资源的开销。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种数据处理方法、装置及电子设备。
背景技术
现有针对模型运算过程加密主要是同态加密方法。为了增加安全性水平,同态加密后的运算过程,往往通过添加“噪声”的方法,以避免加密后的模型接触者获悉运算过程处理的变量种类和变量名称等。作为噪声的运算过程,同样要经过加密、传输、解析过程,这对整个系统的算力开销和资源占用造成额外负担。并且,噪声越大,虽然加密效果越好,但由此导致的算力开销和系统资源的占用也往往呈几何级数上升。同时,由于背景噪声的解析难度的加大,导致原始模型的还原难度增加,会造成解析后的运算过程及结果与原始模型产生偏离,导致“失真”,且噪声越大,这种失真越严重。
整体而言,现有对运算模型的运算过程进行加解密的方式,加解密过程较为复杂,且该加解密过程对算力和系统资源的开销较大。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理方法、装置及电子设备,可以简化对运算模型的运算过程进行加解密的操作,在保证运算模型安全保密的前提下,节省加解密过程对算力和系统资源的开销。
第一方面,本发明实施例提供了一种数据处理方法,应用于区块链的运算模型提供节点,该方法包括:如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,该运算模型用于处理该目标数据,该加密序列由该运算模型提供节点生成,该加密序列包括至少一个第一序列元素,每个第一序列元素对应一个第二序列元素,每个第二序列元素对应一种运算操作;该第一序列元素和第二序列元素之间的第一对应关系、以及第二序列元素与运算操作之间的第二对应关系均由该运算模型提供节点确定;该模型单元预先由运算模型提供节点对该运算模型进行分割得到;接收该目标数据的处理结果;其中,该处理结果由第一存储节点根据该运算顺序处理该处理请求得到。
在本发明可选的实施例中,上述第一存储节点通过下述方式处理该处理请求得到该处理结果:根据确定出的运算顺序,向预设调度节点发送待运算的模型单元的信息,以使该调度节点根据接收到的该待运算的模型单元的信息处理预设的数据单元,得到该目标数据的处理结果;其中,该数据单元预先由该目标数据的提供节点对该目标数据进行分割得到。
在本发明可选的实施例中,上述调度节点根据接收到的该待运算的模型单元的信息处理预设的数据单元,得到该目标数据的处理结果的步骤,包括:接收第一存储节点根据该运算顺序顺次发送的待运算的模型单元的信息,对接收到的每个该待运算的模型单元的信息依次进行下述处理:根据该待运算的模型单元的信息,向预存有该待运算的模型单元对应的运算单元的第二存储节点发送第二指令,以使该第二存储节点在接收到该第二指令后,根据该运算单元处理得到对应的运算结果;直至该运算顺序中的最后一次运算处理结束,得到该目标数据的处理结果;其中,该运算单元包括模型单元和与该模型单元对应的数据单元。
在本发明可选的实施例中,上述第二存储节点在接收到该第二指令后,根据该运算单元处理得到对应的运算结果的步骤,包括:该第二存储节点在接收到该第二指令后,向预先确定出的计算节点发送该运算单元,以在该计算节点上,通过该运算单元中的模型单元计算对应的数据单元,得到对应的运算结果。
在本发明可选的实施例中,上述计算节点通过下述方式确定得到:向该调度节点发送第三指令,以使该调度节点在接收到该第三指令后,从区块链中随机选取预设数目的计算节点。
在本发明可选的实施例中,在上述通过该运算单元中的模型单元计算对应的数据单元,得到对应的运算结果的步骤之后,该方法包括:将该运算结果保存到区块链中的第三存储节点;删除该计算节点和该第二存储节点中保存的该运算单元的数据。
在本发明可选的实施例中,上述方法还包括:当该第三存储节点接收到该运算结果时,向该第一存储节点发送通知消息,以使该第一存储节点在接收到该通知消息后,按该运算顺序向该调度节点发送下一个待运算的模型单元的信息。
在本发明可选的实施例中,上述根据该加密序列确定对应运算模型的运算顺序的步骤,包括:根据该加密序列中该第一序列元素的排列顺序,以及该第一对应关系,确定与该加密序列对应的匹配序列;根据该匹配序列和该第二对应关系,得到对应运算模型的运算顺序。
在本发明可选的实施例中,上述加密序列由该运算模型提供节点通过下述方式生成:选取预设数目的不同碱基标识;按照预设的匹配规则,为选取的每个该碱基标识匹配唯一对应的运算操作;根据该模型单元对应的运算操作和该运算操作对应的碱基标识,确定该模型单元对应的碱基标识;根据该模型单元的分割顺序排列该模型单元对应的碱基标识,得到该运算模型的碱基序列;根据该碱基序列和该第一对应关系,确定该运算模型的加密序列。
在本发明可选的实施例中,在上述根据该模型单元对应的运算操作,为该模型单元匹配对应的碱基标识的步骤之后,该方法还包括:根据该模型单元和该模型单元匹配对应的碱基标识,组合得到模型-碱基对;加密该模型-碱基对;将加密后的该模型-碱基对存储到区块链中预先确定出的第二存储节点。
在本发明可选的实施例中,上述加密该模型-碱基对的步骤,包括:通过同态加密的方式加密该模型-碱基对。
在本发明可选的实施例中,该第二存储节点通过下述方式确定得到:根据该碱基标识的预设数目,从区块链中随机选取相同数量的存储节点;将选取出的存储节点确定为用于存储加密后的该模型-碱基的第二存储节点。
在本发明可选的实施例中,上述将加密后的该模型-碱基对存储到区块链中预先确定出的第二存储节点的步骤,包括:将具有相同类型碱基的该模型-碱基对存储到区块链中的同一个该第二存储节点。
在本发明可选的实施例中,上述运算模型的提供节点通过下述方式对该运算模型进行分割:抽取该运算模型中各个变量项的系数项,根据抽取的该系数项组成该运算模型的权重序列;根据预设的运算规则,对抽取系数项后的该运算模型进行逻辑运算分割,得到有序排列的至少一个模型单元;其中,该模型单元对应处理单一的运算操作。
在本发明可选的实施例中,上述目标数据的提供节点通过下述方式对该目标数据进行分割:根据该运算模型分割得到的模型单元对应的输入变量,对该目标数据进行分割,得到至少一个数据单元。
第二方面,本发明实施例还提供了一种数据处理装置,应用于区块链的运算模型提供节点,该装置包括:指令发送模块,用于如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据该加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,该运算模型用于处理该目标数据,该加密序列由该运算模型提供节点生成,该加密序列包括至少一个第一序列元素,每个该第一序列元素对应一个第二序列元素,每个该第二序列元素对应一种运算操作;该第一序列元素和该第二序列元素之间的第一对应关系、以及该第二序列元素与该运算操作之间的第二对应关系均由该运算模型提供节点确定;该模型单元预先由该运算模型提供节点对该运算模型进行分割得到;处理结果接收模块,用于接收该目标数据的处理结果;其中,该处理结果由该第一存储节点根据该运算顺序处理该处理请求得到。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述数据处理方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种数据处理方法、装置及电子设备,如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,该运算模型用于处理该目标数据,该加密序列由该运算模型提供节点生成,该加密序列包括至少一个第一序列元素,每个第一序列元素对应一个第二序列元素,每个第二序列元素对应一种运算操作;该第一序列元素和第二序列元素之间的第一对应关系、以及第二序列元素与运算操作之间的第二对应关系均由该运算模型提供节点确定;该模型单元预先由运算模型提供节点对该运算模型进行分割得到;接收该目标数据的处理结果;其中,该处理结果由第一存储节点根据该运算顺序处理该处理请求得到。该方式中,通过预先将运算模型按照运算逻辑切割成多个模型单元,并通过第二序列元素(如DNA链的碱基)对模型单元的运算操作进行加密,再通过加密序列(例如与DNA链对应的RNA链)对模型单元的运算顺序进行加密,在需要通过运算模型对目标数据进行处理时,首先通过获取加密序列获得各个模型单元的运算顺序,并根据该运算顺序依次提取模型单元和对应的数据分别在“暗箱”中进行运算,最终得到目标数据的处理结果,该方式可以简单且安全地对运算模型和运算过程进行加密,该加密方式安全高效且操作简便,可以节省加密以及解密过程对系统算力和资源的开销。
此外,该方法还通过调度节点随机选取区块链中的节点参与运算,例如运算节点、秘钥存储节点(也即第一存储节点)、锁存储节点(也即第二存储节点)、中间变量存储节点(也即第三存储节点)等,它们都只是以任务调度的方式参与其中一部分运算,且数据用完后即清除,实现“用后即焚”,提升了运算的安全性。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的流程示意图;
图2为本发明实施例提供的一种对模型单元进行碱基配对的示意图;
图3为本发明实施例提供的一种通过DNA单链获得加密序列的示意图;
图4为本发明实施例提供的一种生成加密序列的流程示意图;
图5为本发明实施例提供的一种对模型-碱基对进行存储的示意图;
图6为本发明实施例提供的一种对数据单元进行存储的示意图;
图7为本发明实施例提供的一种数据处理装置的结构示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
图标:71-指令发送模块;72-处理结果接收模块;81-处理器;82-存储器;83-总线;84-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有针对隐私计算的多种方案中,以数据加密、模型加密等多见。其中,数据加密的方案和技术较为成熟,模型加密较为复杂。从模型加密来看,其涉及到模型运算逻辑的拆解和加密两个部分,其中,运算逻辑的拆解依照运算规则进行,经拆解后的运算逻辑通过全同态加密的方式传输。由于运算逻辑的复杂性和加密过程的困难度等原因,全同态加密技术尚处于发展之中,并不能做到模型拆分之后自动并简洁地加密,且为了增加模型处理数据对象的保密性,有时会通过增加“噪声”的方式增加破解难度,但随着保密效果的增加,由此导致的算力开销和失真率提高成为问题。
其中,在进行模型拆分时,模型提供方通常根据运算规则,对模型算法进行拆分。模型算法的拆分过程,是将复杂计算分解为简单计算的过程,严格进行运算率规定的程序进行,包括大小括号、不同运算层次、不同变量处理的先后顺序等。作为模型拆分的结果,是一个个小的运算脚本,这些脚本共同构成模型运算。最后拆分出来的脚本,是一个有序的序列,并且,其运算顺序不能变,此顺序一旦破坏,整个运算过程都将无效。
其次,现有针对模型运算过程加密主要是同态加密方法,具体地,同态加密分为半同态加密和全同态加密。其中,半同态加密只能处理乘法(包括多次幂运算)和加法(包括减法),但对于对数等运算无能为力;全同态加密则可以处理大部分运算法则,但由于其尚处于发展过程中,现在真正大规模推广的全同态加密算法还有很大的提升空间,由此导致的算力开销和失真率等问题还有待完全解决。
在模型经过加密后,无论通过线上还是线下传输,都可以达到一定的保密性。当模型达到使用者或者运算环境后,需要将整个加密包进行反向解密,以及模型的解析,并将不同部分组装在一起,最终还原到原始模型状态。这里需要注意的是,有的模型并不一定需要解析到最原始状态,可以通过“加密模型处理加密数据”的方式,以保证运算的安全性水平,但最终得到的结果,与原始的模型运算结果不能有差异。
为了增加安全性水平,同态加密后的运算过程,往往通过添加“噪声”的方法,以避免加密后的模型接触者能获悉运算过程处理的变量种类和变量名称等。这些噪声对于整个运算过程来说是完全无益的,其处理变量、给出结果,只是为了防止模型机密被未授权获取,起到“迷惑”作用。
在实际操作中,在增加背景噪声时,往往需要在保密性和效率之间求得平衡,因为增加噪声有助于提高运算模型的保密性,却会相应地降低运算效率。但是,这种平衡关系并不好把握,由此用户对增加的运算和保密的工作量也不好掌握,反而一定程度增加了复杂性。
此外,由于噪声的运算过程同样要经过加密、传输、解析过程,这对整个系统的算力开销和资源占用造成额外负担,且噪声越大,相应算力开销和系统资源的占用也往往呈几何级数上升。同时,由于背景噪声的解析难度的加大,导致原始模型的还原难度增加,会造成解析后的运算过程及结果会与原始模型产生偏离,导致“失真”,且噪声越大,这种失真也越严重。
考虑到现有对运算模型的运算过程进行加解密的方式,加解密过程较为复杂,且该加解密过程对算力和系统资源的开销较大的问题,本发明实施例提供的一种数据处理方法、装置及电子设备,该技术可以应用于通过区块链进行隐私计算的各种应用场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据处理方法进行详细介绍。
参见图1,其为本发明实施例提供的一种数据处理方法的流程示意图,其中,该方法应用于区块链的运算模型提供节点,且该区块链可以是联盟链或公有链。由图1可见,该方法包括下述步骤:
步骤S102:如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,该运算模型用于处理该目标数据,该加密序列由该运算模型提供节点生成,该加密序列包括至少一个第一序列元素,每个第一序列元素对应一个第二序列元素,每个第二序列元素对应一种运算操作;该第一序列元素和第二序列元素之间的第一对应关系、以及第二序列元素与运算操作之间的第二对应关系均由该运算模型提供节点确定;该模型单元预先由运算模型提供节点对该运算模型进行分割得到。
这里,上述运算模型提供节点用于提供处理目标数据的运算模型。其中,模型提供节点预先对运算模型进行了分割,得到对应的多个模型单元。在其中一种可能的实施方式中,上述运算模型的提供节点通过下述步骤11-12对该运算模型进行分割:
(11)抽取该运算模型中各个变量项的系数项,根据抽取的该系数项组成该运算模型的权重序列。
例如,假设模型公式为:M=0.3d1+0.5d2 2+0.2(d3-d4)/d5;那么,抽取该运算模型的系数项得到的权重序列为(0.3,0.5,0.2)。
(12)根据预设的运算规则,对抽取系数项后的该运算模型进行逻辑运算分割,得到有序排列的至少一个模型单元;其中,该模型单元对应处理单一的运算操作。
这里,预设的运算规则可以是:括号优先运算,乘除先于加减运算等。其中,对于分割得到的每一个模型单元,其仅处理唯一的一项运算,例如,假设上述模型M最终分割得到9个模型单元,则每一个模型单元仅处理加、减、乘、除四种运算中的一种。
在实际操作中,在模型提供节点将运算模型分割为模型单元之后,还将模型单元分布式存储到区块链中的多个存储节点,为了提升运算模型的保密性,还可以对各个运算模型进行加密后进行存储。
其中,对于由上述运算模型分割得到多个模型单元,其构成一个有序的序列,并且,该序列中各个模型单元的排序决定了整体的运算顺序,该运算顺序是确定的,该运算顺序一旦被破坏则整个运算过程都将无效。为了提升该运算顺序的保密性,还对该运算顺序进行了加密处理,具体如下:
首先,为每一种运算操作设置对应的第二序列元素,这里,第二序列元素是构成序列的元素,其可以是数字、字母或其他形式的标识。例如,其可以是碱基标识,例如A、T、G、C等等。其中,假设该运算模型分割得到的模型单元对应的运算操作包括加、减、乘、除四种运算,则可以随机设置每种运算和上述碱基标识之间的匹配,例如,A对应加,T对应减,G对应乘,C对应除,这里,运算操作和第二序列元素之间的对应关系即为第二对应关系。
这样,基于上述第二对应关系,即可为分割得到的模型单元对应匹配第二序列元素,从而由该模型单元构成的序列得到对应的第二序列,以上述碱基标识为例,则该第二序列对应为由碱基标识构成的DNA单链。参见图2,即为一种对模型单元进行碱基配对的示意图,在图2示出的实施方式中,该运算模型分割得到10个模型单元,分别对应s1至s10,根据每个模型单元对应的运算操作,以及运算操作和碱基标识的第二对应关系,得到该模型单元的序列对应的第二序列(也即DNA单链)为“T-A-G-C-C-A-G-T-T-G-A”,这里,该顺序包含了整个运算模型的运行顺序,也即各个模型单元的运算顺序,该运算顺序也是该运行模型加解密的关键内容。
其次,为了对上述模型单元的运算顺序进行保密,还基于“碱基配对”的思想为上述第二序列元素设置了进行配对的第一序列元素,其中,每个第一序列元素对应一个第二序列元素。这里,第一序列元素可以是和第二序列元素具有相同的标识,例如,第二序列元素是A、T、G、C,第一序列元素也可以是A、T、G、C,但设置随机的对应关系,例如,A和T、G和C之间配对,或者,A和G、T和C之间配对等。此外,第一序列元素还可以是与第二序列元素具有不同的标识,例如,第二序列元素是A、T、G、C,而第一序列元素设置为M、N、P、Q,并且也可以随机设置他们之间的对应关系,例如:A和M、T和P、G和N、C和Q之间配对,或者,A和N、T和M、G和Q、C和P之间配对等。这里,第一序列元素和第二序列元素之间的对应关系即为第一对应关系。
这样,基于上述第一对应关系,即可由第二序列匹配得到对应的第一序列,在其中一种可能的实施方式中,若以上述第二序列为DNA单链为例,可以设置对应的信使RNA链作为与该第二序列对应的第一序列。可见,该第一序列中也包含了模型单元的运算顺序,这里,该第一序列即为上述加密序列。参见图3,其为一种通过DNA单链获得加密序列的示意图,在图3示出的实施方式中,以“A-T、C-G”的方式进行碱基配对,对应得到加密序列(也即RNA链)为:“A-T-C-G-G-T-C-A-A-C-T”。
在实际操作中,在模型提供节点生成运算模型的加密序列后,由调度节点随机选取存储节点,并将该加密序列存储到该存储节点中(也即上述第一存储节点)。
当模型提供节点接收到针对目标数据的处理请求时,其向存储有加密序列的第一存储节点发送第一指令,通过该第一指令激活该第一存储节点,其中,第一存储节点在接收到该第一指令后,根据该第一指令和预存的加密序列确定对应运算模型的各个模型单元之间的运算顺序,在其中一种可能的实施方式中,可以通过下述步骤21-22确定该运算顺序:
(21)根据该加密序列中第一序列元素的排列顺序,以及上述第一对应关系,确定与该加密序列对应的匹配序列。
这里,该匹配序列即是由第二序列元素构成的第二序列。以图3示出的实施方式为例,根据第一序列元素的排列顺序(也即RNA链中碱基标识的顺序),结合第一对应关系,配对得到对应的第二序列,也即DNA单链。
(22)根据该匹配序列和该第二对应关系,得到对应运算模型的运算顺序。
同样,以图3的实施方式为例,基于得到的匹配序列(本例中也即DNA单链),结合碱基标识和运算操作直接的第二对应关系,则可得到对应运算模型的运算顺序,图3中,DNA单链为“T-A-G-C-C-A-G-T-T-G-A”,假设A对应加,T对应减,G对应乘,C对应除,则该运算模型的运算顺序为:减-加-乘-除-除-加-乘-减-减-乘-加。
在实际操作中,上述第一存储节点负责存储加密序列,但并不知道上述第一对应关系和第二对应关系,在通过第一存储节点确定各个模型单元的运算顺序时,可以由模型提供节点将第一序列元素和第二序列元素的第一对应关系发送给第一存储节点,从而由该存储节点确定出模型的运算顺序。
步骤S104:接收该目标数据的处理结果;其中,该处理结果由第一存储节点根据该运算顺序处理该处理请求得到。
这里,上述第一存储节点根据确定出的运算模型的运算顺序,结合按分割顺序排列的多个模型单元,处理目标数据,即可得到最终该目标数据的处理结果。在其中一种可能的实施方式中,具体对目标数据的运算可以在区块链中的计算节点上进行,并由第一存储节点按上述运算顺序将每次运算对应的模型单元的信息发送给调度节点,由调度节点负责调度计算节点处理每次的运算操作。并且,在处理得到最终的处理结果后,将该处理结果返回给模型提供节点。
这样,通过本实施例中前述步骤S102至S104,预先将运算模型按照运算逻辑切割成多个模型单元,并通过第二序列元素(如DNA链的碱基)对模型单元的运算操作进行加密,再通过加密序列(例如与DNA链对应的RNA链)对模型单元的运算顺序进行加密,在需要通过运算模型对目标数据进行处理时,首先通过获取加密序列获得各个模型单元的运算顺序,并根据该运算顺序依次提取模型单元和对应的数据分别在“暗箱”中进行运算,最终得到目标数据的处理结果。相比于传统的同态加密方式,该方式不需要在加密过程中增加任何噪声,仅涉及到碱基的随机配对,且其逆运算完全还原初始的运算逻辑和顺序,不会造成失真问题;再者,通过设置“信使RNA”检验机制,可以进一步确认原始运算模型的运算逻辑和顺序的正确性,做到“完整、无损”还原。
本发明实施例提供的一种数据处理方法、装置及电子设备,如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,该运算模型用于处理该目标数据,该加密序列由该运算模型提供节点生成,该加密序列包括至少一个第一序列元素,每个第一序列元素对应一个第二序列元素,每个第二序列元素对应一种运算操作;该第一序列元素和第二序列元素之间的第一对应关系、以及第二序列元素与运算操作之间的第二对应关系均由该运算模型提供节点确定;该模型单元预先由运算模型提供节点对该运算模型进行分割得到;接收该目标数据的处理结果;其中,该处理结果由第一存储节点根据该运算顺序处理该处理请求得到。该方式可以简单且安全地对运算模型和运算过程进行加密,该加密方式安全高效且操作简便,可以节省加密以及解密过程对系统算力和资源的开销。
在前述实施例的基础上,本实施例重点描述了上述步骤S102中生成加密序列的具体实现过程。如图4所示,其为一种生成加密序列的流程示意图,由图4可见,该方式包括下述步骤:
步骤S402:选取预设数目的不同碱基标识。
这里,碱基标识可以是遗传DNA链中用以标识核碱基的A、T、G、C、U等字符,其中,分别对应为腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)、胸腺嘧啶(T)和尿嘧啶(U),并且,在典型的双螺旋DNA中,每个碱基对都含有一个嘌呤和一个嘧啶,例如,A-T、G-C的配对。
其中,选取碱基标识的数目可以根据运算模型分割后各个模型单元实际执行的运算操作种类确定,假设仅有2种运算,则可以选择2种碱基标识,如果有4中运算,则可以选择4种碱基标识。
步骤S404:按照预设的匹配规则,为选取的每个该碱基标识匹配唯一对应的运算操作。
例如,可以按照预设的随机算法进行匹配,其中,每种碱基标识仅和唯一的运算操作进行匹配。假设选取了4种碱基标识A、T、G、C,且分割得到的模型单元执行的运算操作包括加减乘除4种,则可以随机配对,例如:A对应加,T对应减,G对应乘,C对应除。
步骤S406:根据该模型单元对应的运算操作和该运算操作对应的碱基标识,确定该模型单元对应的碱基标识。
例如,假设分割得到的模型单元s1对应的运算操作为加,而加的运算对应的碱基标识为A,则该模型单元s1对应的碱基标识为A。
在实际操作中,在确定各个模型单元对应的碱基标识之后,还按下述步骤31-33将模型单元和对应的碱基标识进行存储:
(31)根据该模型单元和该模型单元匹配对应的碱基标识,组合得到模型-碱基对。
例如,模型单元s1对应的碱基标识为A,则组合得到模型-碱基对为s1-A。
(32)加密该模型-碱基对。
在其中一种可能的实施方式中,可以通过同态加密的方式加密该模型-碱基对。例如,由模型提供方通过DApp(去中心化应用)实现对模型-碱基对进行加密。这里,将经过加密后的模型-碱基对形象地称之为“锁”。
(33)将加密后的该模型-碱基对存储到区块链中预先确定出的第二存储节点。
其中,该第二存储节点可以通过下述步骤41-42确定得到:
(41)根据该碱基标识的预设数目,从区块链中随机选取相同数量的存储节点。
例如,假设选取了A、T、G、C共4中碱基标识,则从区块链中随机选取4个存储节点。同理,如果选取了3中碱基标识,则随机选取3个存储节点。
(42)将选取出的存储节点确定为用于存储加密后的该模型-碱基的第二存储节点。
在本实施例中,将具有相同类型碱基的模型-碱基对存储到区块链中的同一个第二存储节点。这里,参见图5,所示为一种对模型-碱基对进行存储的示意图,其中,在图5示出的实施方式中,从区块链中共选取了4个第二存储节点,分别为LA、LT、LC、LG,其中,LA中存入的模型-碱基对均包含碱基标识A,它们均具有相同类型的碱基;同理,其他三个存储节点也对应存入具有相同类型碱基标识的模型-碱基对。在本实施例中,由于存入第二存到节点的各个模型-碱基对均是经过加密后的“锁”,因而,图5所示的存储结构也称为“锁存储结构”。
步骤S408:根据该模型单元的分割顺序排列该模型单元对应的碱基标识,得到该运算模型的碱基序列。
运算模型按照预设的运算法则进行分割,该分割顺序包含了模型的运算顺序,假设运算模型为S,按分割顺序依次得到的模型单元为s1、s2、s3,并且,s1对应减法(T),s2对应加法(A)、s3对应乘法(G),那么,该运算模型的碱基序列为T-A-G。这里,该碱基序列即对应前述实施例中的第二序列。
步骤S410:根据该碱基序列和该第一对应关系,确定该运算模型的加密序列。
其中,第一对应关系为第二序列元素和第一序列元素之间的对应关系,假设该第一对应关系为A-T、G-C进行对应,则上述碱基序列T-A-G对应的加密序列为:A-T-C。
这样,通过上述步骤S402至S410即可得到运算模型的加密序列,并且,该加密序列中包含有运算模型的运算顺序。该方式通过遗传DNA链和碱基配对的过程,将运算模型按逻辑切分后形成的运算顺序进行加密,并分开存储,期中,碱基与模型单元的配对是随机的,碱基之间的配对规则由模型提供节点进行设定,该方式可以有效提升运算模型和模型的运算过程的保密性,且操作更为简便。
在前述实施例的基础上,本实施例还针对上述步骤S104中目标数据的处理结果的求取过程进行了重点描述。
在至少一种可能的实施方式中,上述第一存储节点在确定出运算模型的运算顺序之后,通过下述方式处理该处理请求得到目标数据的处理结果:根据该确定出的运算顺序,向预设调度节点发送待运算的模型单元的信息,以使该调度节点根据接收到的该待运算的模型单元的信息处理预设的数据单元,得到该目标数据的处理结果。
这里,该数据单元预先由该目标数据的提供节点对该目标数据进行分割得到。在其中一种可能的实施方式中,可以根据该运算模型分割得到的模型单元对应的输入变量,对该目标数据进行分割,得到至少一个数据单元。例如,假设将运算模型分割后得到的各模型单元的输入变量有5个,则需要将该目标数据分割为5个数据单元。以前述运算模型M=0.3d1+0.5d2 2+0.2(d3-d4)/d5为例,则需要将目标数据对应分割为d1、d2、d3、d4、d5共5个数据单元。
在实际操作中,为了在计算时更方便获取模型单元对应的数据单元,在模型提供节点对目标数据分割之后,还将分割得到的数据单元存入其对应模型单元所在的存储节点。以图5中对模型-碱基对的存储为例,相应的,也将与模型-碱基对中模型单元对应的数据单元存入其所在的存储节点,参见图6,为一种对数据单元进行存储的示意图,图6示出了将数据单元存入对应模型单元所在存储节点的最终效果。
在本实施例中,第一存储节点(也即存储秘钥序列的存储节点)在确定出运算模型的运算顺序之后,按照该运算顺序,逐个向调度节点发送待运算的模型单元的信息,这里,调度节点根据该模型单元的信息可以获取到模型单元和该模型单元对应的数据单元,并根据该模型单元计算该数据单元得到对应的计算结果,当该运算顺序中的最后一次运算结束之后,即可得到该目标数据的处理结果。可见,对于调度节点而言,在第一存储节点按运算顺序发送待运算的模型单元的信息之前,该调度节点不知道哪个存储节点上存储的模型单元是s1(第一个分割得到的模型单元,也是第一个进行运算的模型单元),也不知道哪个是s2,其并不知道模型单元的运算顺序。
在其中一种可能的实施方式中,调度节点通过下述方式得到该目标数据的处理结果:
接收第一存储节点根据该运算顺序顺次发送的待运算的模型单元的信息,对接收到的每个该待运算的模型单元的信息依次进行下述处理:根据该待运算的模型单元的信息,向预存有该待运算的模型单元对应的运算单元的第二存储节点发送第二指令,以使该第二存储节点在接收到该第二指令后,根据该运算单元处理得到对应的运算结果;直至该运算顺序中的最后一次运算处理结束,得到该目标数据的处理结果;其中,该运算单元包括模型单元和与该模型单元对应的数据单元。
这里,以图6中示出的存储方式为例,图中s2-d2、s6-d6和s10-d2等均为运算单元,这三个运算单元均存储在LA存储节点中。对于每个存储有运算单元的存储节点而言,其只存储有部分的模型单元和部分的数据单元,且无法对模型-碱基对进行解密,也不知道模型的运算顺序。
在本实施例中,该第二存储节点在接收到该第二指令后,向预先确定出的计算节点发送该运算单元,以在该计算节点上,通过该运算单元中的模型单元计算对应的数据单元,得到对应的运算结果。其中,上述计算节点通过下述方式确定:由模型提供节点向调度节点发送第三指令,以使该调度节点在接收到该第三指令后,从区块链中随机选取预设数目的计算节点。
计算节点在接收到的运算单元之后,首先需要对模型-碱基对的加密信息进行解析,由于之前在存储模型-碱基对时进行了加密(例如同态加密),因而需要先进行解密,再运算解密后的模型单元处理数据单元,得到运算结果。在实际操作中,某些运算结果会作为其他模型单元的“输入变量”,因而,在每一次计算节点得到运算结果后,还将该运算结果保存到区块链中的第三存储节点(也即中间变量管理节点);然后,删除该计算节点和该第二存储节点中保存的该运算单元的数据。也即,在第二存储节点给出待计算的运算单元之后,将该运算单元的数据(包括模型单元和数据单元)删除,实现“用后即焚”。
并且,当该第三存储节点接收到运算结果时,向第一存储节点发送通知消息,以使该第一存储节点在接收到该通知消息后,按该运算顺序向调度节点发送下一个待运算的模型单元的信息。也即,中间变量管理节点(第三存储节点)每接收到一个运算结果,即通知秘钥序列的存储节点(第一存储节点),表示当前运算结束,可以进行下一步运算,从而,该第一存储节点继续将下一个待运算的模型单元信息发送给调度节点,以使调度节点可以继续调度运算单元和计算节点进行运算,直至运算顺序中的最后一次运算结束,得到目标数据的处理结果。
本实施例中,介绍了第一存储节点(秘钥存储节点)、调度节点、第二存储节点(锁存储节点)、第三存储节点(中间变量管理节点)和计算节点之间的相互配合,以实现根据确定出的运算顺序,结合预先加密存储的模型单元和数据单元,计算得到目标数据的处理结果的过程。该方式中,除模型提供节点之外的其他节点,都通过随机算法选取,且这些节点都只是以任务调度的方式参与其中一部分运算,且数据用完后即清除,保证每个节点执行完任务后删除缓存数据,实现“用后即焚”,并与下一步任务脱离接触,从而保证任务执行过程中的随机性和安全性。
对应于图1中所示的数据处理方法,本发明实施例还提供了一种数据处理装置,其中,该装置应用于区块链的运算模型提供节点。如图7所示,其为一种数据处理装置的结构示意图,由图7可见,该装置包括依次相连的指令发送模块71和处理结果接收模块72,其中,各个模块的功能如下:
指令发送模块71,用于如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使该第一存储节点在接收到该第一指令后,根据该加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,该运算模型用于处理该目标数据,该加密序列由该运算模型提供节点生成,该加密序列包括至少一个第一序列元素,每个该第一序列元素对应一个第二序列元素,每个该第二序列元素对应一种运算操作;该第一序列元素和该第二序列元素之间的第一对应关系、以及该第二序列元素与该运算操作之间的第二对应关系均由该运算模型提供节点确定;该模型单元预先由该运算模型提供节点对该运算模型进行分割得到;
处理结果接收模块72,用于接收该目标数据的处理结果;其中,该处理结果由该第一存储节点根据该运算顺序处理该处理请求得到。
该数据处理装置中,通过预先将运算模型按照运算逻辑切割成多个模型单元,并通过第二序列元素(如DNA链的碱基)对模型单元的运算操作进行加密,再通过加密序列(例如与DNA链对应的RNA链)对模型单元的运算顺序进行加密,在需要通过运算模型对目标数据进行处理时,首先通过获取加密序列获得各个模型单元的运算顺序,并根据该运算顺序依次提取模型单元和对应的数据分别在“暗箱”中进行运算,最终得到目标数据的处理结果,该方式可以简单且安全地对运算模型和运算过程进行加密,该加密方式安全高效且操作简便,可以节省加密以及解密过程对系统算力和资源的开销。
在其中一种可能的实施方式中,上述第一存储节点通过下述方式处理该处理请求得到该处理结果:根据确定出的运算顺序,向预设调度节点发送待运算的模型单元的信息,以使该调度节点根据接收到的该待运算的模型单元的信息处理预设的数据单元,得到该目标数据的处理结果;其中,该数据单元预先由该目标数据的提供节点对该目标数据进行分割得到。
在另一种可能的实施方式中,上述调度节点根据接收到的该待运算的模型单元的信息处理预设的数据单元,得到该目标数据的处理结果的步骤,包括:接收第一存储节点根据该运算顺序顺次发送的待运算的模型单元的信息,对接收到的每个该待运算的模型单元的信息依次进行下述处理:根据该待运算的模型单元的信息,向预存有该待运算的模型单元对应的运算单元的第二存储节点发送第二指令,以使该第二存储节点在接收到该第二指令后,根据该运算单元处理得到对应的运算结果;直至该运算顺序中的最后一次运算处理结束,得到该目标数据的处理结果;其中,该运算单元包括模型单元和与该模型单元对应的数据单元。
在另一种可能的实施方式中,上述第二存储节点在接收到该第二指令后,根据该运算单元处理得到对应的运算结果的步骤,包括:该第二存储节点在接收到该第二指令后,向预先确定出的计算节点发送该运算单元,以在该计算节点上,通过该运算单元中的模型单元计算对应的数据单元,得到对应的运算结果。
在另一种可能的实施方式中,上述计算节点通过下述方式确定得到:向该调度节点发送第三指令,以使该调度节点在接收到该第三指令后,从区块链中随机选取预设数目的计算节点。
在另一种可能的实施方式中,在上述通过该运算单元中的模型单元计算对应的数据单元,得到对应的运算结果的步骤之后,还包括:将该运算结果保存到区块链中的第三存储节点;删除该计算节点和该第二存储节点中保存的该运算单元的数据。
在另一种可能的实施方式中,上述第三存储节点还用于:当该第三存储节点接收到该运算结果时,向该第一存储节点发送通知消息,以使该第一存储节点在接收到该通知消息后,按该运算顺序向该调度节点发送下一个待运算的模型单元的信息。
在另一种可能的实施方式中,上述根据该加密序列确定对应运算模型的运算顺序的步骤,包括:根据该加密序列中该第一序列元素的排列顺序,以及该第一对应关系,确定与该加密序列对应的匹配序列;根据该匹配序列和该第二对应关系,得到对应运算模型的运算顺序。
在另一种可能的实施方式中,上述加密序列由该运算模型提供节点通过下述方式生成:选取预设数目的不同碱基标识;按照预设的匹配规则,为选取的每个该碱基标识匹配唯一对应的运算操作;根据该模型单元对应的运算操作和该运算操作对应的碱基标识,确定该模型单元对应的碱基标识;根据该模型单元的分割顺序排列该模型单元对应的碱基标识,得到该运算模型的碱基序列;根据该碱基序列和该第一对应关系,确定该运算模型的加密序列。
在另一种可能的实施方式中,在上述根据该模型单元对应的运算操作,为该模型单元匹配对应的碱基标识的步骤之后,还包括:根据该模型单元和该模型单元匹配对应的碱基标识,组合得到模型-碱基对;加密该模型-碱基对;将加密后的该模型-碱基对存储到区块链中预先确定出的第二存储节点。
在另一种可能的实施方式中,上述加密该模型-碱基对的步骤,包括:通过同态加密的方式加密该模型-碱基对。
在另一种可能的实施方式中,该第二存储节点通过下述方式确定得到:根据该碱基标识的预设数目,从区块链中随机选取相同数量的存储节点;将选取出的存储节点确定为用于存储加密后的该模型-碱基的第二存储节点。
在另一种可能的实施方式中,上述将加密后的该模型-碱基对存储到区块链中预先确定出的第二存储节点的步骤,包括:将具有相同类型碱基的该模型-碱基对存储到区块链中的同一个该第二存储节点。
在另一种可能的实施方式中,上述运算模型的提供节点通过下述方式对该运算模型进行分割:抽取该运算模型中各个变量项的系数项,根据抽取的该系数项组成该运算模型的权重序列;根据预设的运算规则,对抽取系数项后的该运算模型进行逻辑运算分割,得到有序排列的至少一个模型单元;其中,该模型单元对应处理单一的运算操作。
在另一种可能的实施方式中,上述目标数据的提供节点通过下述方式对该目标数据进行分割:根据该运算模型分割得到的模型单元对应的输入变量,对该目标数据进行分割,得到至少一个数据单元。
本发明实施例提供的数据处理装置,其实现原理及产生的技术效果和前述数据处理方法实施例相同,为简要描述,数据处理装置的实施例部分未提及之处,可参考前述数据处理方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图8所示,为该电子设备的结构示意图,其中,该电子设备包括处理器81和存储器82,该存储器82存储有能够被该处理器81执行的机器可执行指令,该处理器81执行该机器可执行指令以实现上述数据处理方法。
在图8示出的实施方式中,该电子设备还包括总线83和通信接口84,其中,处理器81、通信接口84和存储器82通过总线连接。
其中,存储器82可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口84(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器81可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器81中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器81可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器81读取存储器82中的信息,结合其硬件完成前述实施例的数据处理方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述数据处理方法,具体实现可参见前述方法实施例,在此不再赘述。
本发明实施例所提供的数据处理方法、数据处理装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的数据处理方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种数据处理方法,其特征在于,应用于区块链的运算模型提供节点,所述方法包括:
如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使所述第一存储节点在接收到所述第一指令后,根据所述加密序列确定对应运算模型的各个模型单元之间的运算顺序;
其中,所述运算模型用于处理所述目标数据,所述加密序列由所述运算模型提供节点生成,所述加密序列包括至少一个第一序列元素,每个所述第一序列元素对应一个第二序列元素,每个所述第二序列元素对应一种运算操作;所述第一序列元素和所述第二序列元素之间的第一对应关系、以及所述第二序列元素与所述运算操作之间的第二对应关系均由所述运算模型提供节点确定;所述模型单元预先由所述运算模型提供节点对所述运算模型进行分割得到;
接收所述目标数据的处理结果;其中,所述处理结果由所述第一存储节点根据所述运算顺序处理所述处理请求得到。
2.根据权利要求1所述的数据处理方法,其特征在于,所述第一存储节点通过下述方式处理所述处理请求得到所述处理结果:
根据确定出的所述运算顺序,向预设调度节点发送待运算的模型单元的信息,以使所述调度节点根据接收到的所述待运算的模型单元的信息处理预设的数据单元,得到所述目标数据的处理结果;其中,所述数据单元预先由所述目标数据的提供节点对所述目标数据进行分割得到。
3.根据权利要求2所述的数据处理方法,其特征在于,所述调度节点根据接收到的所述待运算的模型单元的信息处理预设的数据单元,得到所述目标数据的处理结果的步骤,包括:
接收所述第一存储节点根据所述运算顺序顺次发送的待运算的模型单元的信息,对接收到的每个所述待运算的模型单元的信息依次进行下述处理:
根据该待运算的模型单元的信息,向预存有该待运算的模型单元对应的运算单元的第二存储节点发送第二指令,以使所述第二存储节点在接收到所述第二指令后,根据所述运算单元处理得到对应的运算结果;
直至所述运算顺序中的最后一次运算处理结束,得到所述目标数据的处理结果;其中,所述运算单元包括模型单元和与该模型单元对应的数据单元。
4.根据权利要求3所述的数据处理方法,其特征在于,所述第二存储节点在接收到所述第二指令后,根据所述运算单元处理得到对应的运算结果的步骤,包括:
所述第二存储节点在接收到所述第二指令后,向预先确定出的计算节点发送所述运算单元,以在所述计算节点上,通过所述运算单元中的模型单元计算对应的数据单元,得到对应的运算结果。
5.根据权利要求4所述的数据处理方法,其特征在于,所述计算节点通过下述方式确定得到:
向所述调度节点发送第三指令,以使所述调度节点在接收到所述第三指令后,从区块链中随机选取预设数目的计算节点。
6.根据权利要求4所述的数据处理方法,其特征在于,在所述通过所述运算单元中的模型单元计算对应的数据单元,得到对应的运算结果的步骤之后,所述方法包括:
将所述运算结果保存到区块链中的第三存储节点;
删除所述计算节点和所述第二存储节点中保存的所述运算单元的数据。
7.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括:
当所述第三存储节点接收到所述运算结果时,向所述第一存储节点发送通知消息,以使所述第一存储节点在接收到所述通知消息后,按所述运算顺序向所述调度节点发送下一个待运算的模型单元的信息。
8.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述加密序列确定对应运算模型的运算顺序的步骤,包括:
根据所述加密序列中所述第一序列元素的排列顺序,以及所述第一对应关系,确定与所述加密序列对应的匹配序列;
根据所述匹配序列和所述第二对应关系,得到对应运算模型的运算顺序。
9.根据权利要求1所述的数据处理方法,其特征在于,所述加密序列由所述运算模型提供节点通过下述方式生成:
选取预设数目的不同碱基标识;
按照预设的匹配规则,为选取的每个所述碱基标识匹配唯一对应的运算操作;
根据所述模型单元对应的运算操作和所述运算操作对应的碱基标识,确定所述模型单元对应的碱基标识;
根据所述模型单元的分割顺序排列所述模型单元对应的碱基标识,得到所述运算模型的碱基序列;
根据所述碱基序列和所述第一对应关系,确定所述运算模型的加密序列。
10.根据权利要求9所述的数据处理方法,其特征在于,在所述根据所述模型单元对应的运算操作,为所述模型单元匹配对应的碱基标识的步骤之后,所述方法还包括:
根据所述模型单元和所述模型单元匹配对应的碱基标识,组合得到模型-碱基对;
加密所述模型-碱基对;
将加密后的所述模型-碱基对存储到区块链中预先确定出的第二存储节点。
11.根据权利要求10所述的数据处理方法,其特征在于,所述加密所述模型-碱基对的步骤,包括:
通过同态加密的方式加密所述模型-碱基对。
12.根据权利要求10所述的数据处理方法,其特征在于,所述第二存储节点通过下述方式确定得到:
根据所述碱基标识的预设数目,从区块链中随机选取相同数量的存储节点;
将选取出的存储节点确定为用于存储加密后的所述模型-碱基的第二存储节点。
13.根据权利要求10所述的数据处理方法,其特征在于,将加密后的所述模型-碱基对存储到区块链中预先确定出的第二存储节点的步骤,包括:
将具有相同类型碱基的所述模型-碱基对存储到区块链中的同一个所述第二存储节点。
14.根据权利要求1所述的数据处理方法,其特征在于,所述运算模型的提供节点通过下述方式对所述运算模型进行分割:
抽取所述运算模型中各个变量项的系数项,根据抽取的所述系数项组成所述运算模型的权重序列;
根据预设的运算规则,对抽取系数项后的所述运算模型进行逻辑运算分割,得到有序排列的至少一个模型单元;其中,所述模型单元对应处理单一的运算操作。
15.根据权利要求1所述的数据处理方法,其特征在于,所述目标数据的提供节点通过下述方式对所述目标数据进行分割:
根据所述运算模型分割得到的模型单元对应的输入变量,对所述目标数据进行分割,得到至少一个数据单元。
16.一种数据处理装置,其特征在于,应用于区块链的运算模型提供节点,所述装置包括:
指令发送模块,用于如果接收到针对目标数据的处理请求,向预存有加密序列的第一存储节点发送第一指令,以使所述第一存储节点在接收到所述第一指令后,根据所述加密序列确定对应运算模型的各个模型单元之间的运算顺序;其中,所述运算模型用于处理所述目标数据,所述加密序列由所述运算模型提供节点生成,所述加密序列包括至少一个第一序列元素,每个所述第一序列元素对应一个第二序列元素,每个所述第二序列元素对应一种运算操作;所述第一序列元素和所述第二序列元素之间的第一对应关系、以及所述第二序列元素与所述运算操作之间的第二对应关系均由所述运算模型提供节点确定;所述模型单元预先由所述运算模型提供节点对所述运算模型进行分割得到;
处理结果接收模块,用于接收所述目标数据的处理结果;其中,所述处理结果由所述第一存储节点根据所述运算顺序处理所述处理请求得到。
17.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至15任一项所述的数据处理方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至15任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110222488.2A CN112948083B (zh) | 2021-02-25 | 2021-02-25 | 数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110222488.2A CN112948083B (zh) | 2021-02-25 | 2021-02-25 | 数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948083A CN112948083A (zh) | 2021-06-11 |
CN112948083B true CN112948083B (zh) | 2023-10-27 |
Family
ID=76246775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110222488.2A Active CN112948083B (zh) | 2021-02-25 | 2021-02-25 | 数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948083B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048741A (zh) * | 2021-10-28 | 2023-05-02 | 华为技术有限公司 | 一种数据处理的方法、装置和计算设备 |
CN117707992A (zh) * | 2022-09-13 | 2024-03-15 | 华为技术有限公司 | 一种数据运算方法、装置及设备 |
CN115860768B (zh) * | 2023-02-16 | 2023-06-02 | 浙江天演维真网络科技股份有限公司 | 一种基于区块链的溯源方法、装置及其电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480559A (zh) * | 2017-08-25 | 2017-12-15 | 北京中星仝创科技有限公司 | 一种区块链离链数据的安全存储系统及方法 |
CN111478764A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 区块链网络中的数据处理方法、节点及存储介质 |
WO2020232800A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳市网心科技有限公司 | 一种区块链网络中的数据处理方法、系统及相关设备 |
WO2020253234A1 (zh) * | 2019-06-18 | 2020-12-24 | 创新先进技术有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
-
2021
- 2021-02-25 CN CN202110222488.2A patent/CN112948083B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480559A (zh) * | 2017-08-25 | 2017-12-15 | 北京中星仝创科技有限公司 | 一种区块链离链数据的安全存储系统及方法 |
CN111478764A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 区块链网络中的数据处理方法、节点及存储介质 |
WO2020232800A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳市网心科技有限公司 | 一种区块链网络中的数据处理方法、系统及相关设备 |
WO2020253234A1 (zh) * | 2019-06-18 | 2020-12-24 | 创新先进技术有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于区块链与人工智能的网络多服务器SIP信息加密系统设计;任仪;;计算机科学(第S1期);全文 * |
基于同态加密的可信云存储平台;李美云;李剑;黄超;;信息网络安全(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112948083A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948083B (zh) | 数据处理方法、装置及电子设备 | |
CN110378139B (zh) | 一种数据密钥保护方法、系统及电子设备和存储介质 | |
CN107038383B (zh) | 一种数据处理的方法和设备 | |
CN110138744B (zh) | 更换通信号码的方法、装置、系统、计算机设备及存储介质 | |
US10924289B2 (en) | Public-private key pair account login and key manager | |
CN101099328B (zh) | 定制的静态Diffie-Helman群 | |
CN102782694A (zh) | 用于数据安全设备的事务审计 | |
WO2016161583A1 (zh) | 一种gprs系统密钥增强的方法、sgsn设备、ue、hlr/hss及gprs系统 | |
CN110912920A (zh) | 数据处理方法、设备及介质 | |
CN110149209A (zh) | 物联网设备及其提高数据传输安全性的方法和装置 | |
EP3134994A1 (en) | Method of obfuscating data | |
CN101964789A (zh) | 安全访问受保护资源的方法及系统 | |
CN113836506A (zh) | 身份认证方法、装置、系统、电子设备、存储介质 | |
KR102250430B1 (ko) | Pki 기반의 일회성 아이디를 사용하여 서비스를 사용하는 방법, 및 이를 사용한 사용자 단말 | |
CN113225297A (zh) | 数据混合加密方法、装置及设备 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN114285575A (zh) | 图像加密和解密方法和装置、存储介质及电子装置 | |
CN115632777B (zh) | 数据处理方法及电子设备 | |
CN113395281B (zh) | 可验证声明的验证方法、装置和电子设备 | |
CN108512657B (zh) | 一种密码生成方法及装置 | |
CN112865981B (zh) | 一种令牌获取、验证方法及装置 | |
KR101118605B1 (ko) | 보안이 강화된 로그인 시스템 및 방법 | |
US20220116220A1 (en) | Password management system and method | |
CN113852624A (zh) | 一种数据跨网传输方法、装置及其计算机介质 | |
CN112948080B (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 |