CN114493594B - 基于区块链和联邦学习的海洋数据共享方法、系统及介质 - Google Patents
基于区块链和联邦学习的海洋数据共享方法、系统及介质 Download PDFInfo
- Publication number
- CN114493594B CN114493594B CN202210099069.9A CN202210099069A CN114493594B CN 114493594 B CN114493594 B CN 114493594B CN 202210099069 A CN202210099069 A CN 202210099069A CN 114493594 B CN114493594 B CN 114493594B
- Authority
- CN
- China
- Prior art keywords
- data
- learning
- user
- blockchain
- federal learning
- 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
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000012549 training Methods 0.000 claims abstract description 68
- 230000007246 mechanism Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000009826 distribution Methods 0.000 claims abstract description 15
- 230000002776 aggregation Effects 0.000 claims abstract description 11
- 238000004220 aggregation Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 13
- 230000003993 interaction Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 239000006185 dispersion Substances 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 35
- 238000007726 management method Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 13
- 239000004744 fabric Substances 0.000 description 13
- 238000011161 development Methods 0.000 description 11
- 230000018109 developmental process Effects 0.000 description 11
- 230000008520 organization Effects 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000009877 rendering Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012876 topography Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001676573 Minium Species 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000000981 bystander Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 239000003305 oil spill Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000013535 sea water Substances 0.000 description 1
- 239000013049 sediment Substances 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了基于区块链和联邦学习的海洋数据共享方法、系统及介质,方法包括:根据数据共享及权项分配机制搭建区块链网络;将数据共享及权项分配机制转变为智能合约;响应于数据使用方的联邦学习请求,在区块链网络进行学习检索;根据学习检索的结果,发送检索数据至数据使用方;根据检索数据,确定数据提供方;根据智能合约,在数据使用方和数据提供方之间建立支链;根据支链,数据提供方从数据使用方获取训练模型进行全局模型训练;根据智能合约结合所述全局模型训练的结果,进行参数聚合处理得到全局模型参数。本发明能够解决海洋数据分散、统一协调性差等问题,进而实现对基于区块链和联邦学习的海洋数据共享,可广泛应用于区块链技术领域。
Description
技术领域
本发明涉及区块链技术领域,尤其是基于区块链和联邦学习的海洋数据共享方法、系统及介质。
背景技术
伴随着国家对海洋资源的逐渐重视和海洋观测能力的提升,逐渐产生了大量的海洋相关数据,目前已在北海、东海、南海一带成立多个海洋信息中心和研究部门。同时,随着目前信息化技术的快速发展,各部门及研究机构都在积极展开电子信息业务,各部门和机构间的数据共享和交流需求日渐增多。以及,目前人工智能技术已在多领域的进行发展应用,而在海洋数据的综合利用方面也必然是未来的趋势。而人工智能,或者进一步说,机器学习对于高质量数据样本的需求是巨大的。综合以上几点因素,就需要对海洋数据的共享方式提出更高的要求。
现有的海洋数据共享平台采用的方式大致分为中心式和分布式两种。
我国的海洋遥感数据的存储采用由千兆交换机连接构成的NAS(网络接入存储)三级存储体系,主要采用磁盘阵列加光盘存储的方式。国外的海洋大数据存储采用了逻辑上集中,物理上分散的分布式服务器集群存储架构;而国内的海洋大数据还属于地域上的集中式服务器存储——随着数据量的增长,在线存储资源有限,难以实现在线存储资源的动态扩展和灵活配置,离线数据获取耗时,无法在线直接访问任意数据。
目前我国海洋科学数据资源仍缺乏综合性的国家海洋信息化规划,跨部门、跨系统间的海洋科学数据信息资源相对分散,海洋数据的使用服务统一协调性差。大多数现有的海洋数据库系统仍处于原始的离散状态,系统的性能和功能难以满足海洋数据共享服务的需求,国家急需的对海洋开发、海洋综合管理等起支撑作用的有效信息也未被充分提取使用。同时,由于数据保密的相关规定,很多共享平台在建设完成后只能在局域网内运行,外界人士无法从中获取需要的数据资料。
过去的中心式数据共享系统,参与数据共享的各方将各自的数据上传存储于专门的数据中心,或在本地自主建立存储系统将数据存放与本地,这些方法都存在一些弊端。基于中心式系统的数据共享系统,一旦某个节点出现了故障,数据的安全性便无法得到保障;其次,数据的集中存储,使得一次安全事故就可能带来极大地损失。同时,将数据上传使得数据的提供方失去了对数据的所有权,也无法控制数据的使用权。这大大削减了数据提供方的参与积极性。以及数据的集中存储给数据的存储方带来极大的负担,并且假如平台上存储的数据没有采取加密措施,数据可能会被恶意使用,侵犯数据提供方的权利。
同时,现有的海洋数据共享平台与方式,仅处于数据共享的最基础层面,通过中心化系统或分布式系统将多个单一机构的海洋数据联合共享共多方查询使用。并没有打通从数据流通共享到数据融合、数据深层信息挖掘再到最终海洋综合应用服务层的全流程海洋数据共享平台。
发明内容
有鉴于此,本发明实施例提供一种基于区块链和联邦学习的海洋数据共享方法、系统及介质,能够解决海洋数据分散、统一协调性差等问题,进而实现对基于区块链和联邦学习的海洋数据共享。
第一方面,本发明实施例提供了一种基于区块链和联邦学习的海洋数据共享方法,包括:
根据数据共享及权项分配机制搭建区块链网络;将所述数据共享及权项分配机制转变为智能合约;
根据所述智能合约确定数据提供方与数据使用方的区块链权限;
响应于数据使用方的联邦学习请求,在所述区块链网络进行学习检索;
根据所述区块链权限,结合所述学习检索的结果发送检索数据至所述数据使用方;
根据所述检索数据,确定数据提供方;根据所述智能合约,在所述数据使用方和所述数据提供方之间建立支链;根据所述支链,所述数据提供方从所述数据使用方获取训练模型进行全局模型训练;
根据所述智能合约结合所述全局模型训练的结果,进行参数聚合处理得到全局模型参数。
可选地,所述方法还包括:
根据所述智能合约,记录联邦学习数据,所述联邦学习数据包括历史学习数据、模型数据、模型参数数据、学习摘要数据和用户权限数据;
根据所述联邦学习数据,进行虚拟现实交互处理。
可选地,所述根据所述智能合约,记录联邦学习数据,包括以下至少之一:
根据所述智能合约,记录所述历史学习数据、所述模型数据、所述模型参数数据于所述支链的支链账本;
根据所述智能合约,记录所述学习摘要数据于所述区块链。
可选地,所述响应于数据使用方的联邦学习请求,在所述区块链网络进行学习检索这一步骤中,采用TF-IDF加权统计结合B+树索引结构进行学习检索。
可选地,所述根据所述区块链权限,结合所述学习检索的结果发送检索数据至所述数据使用方,包括:
根据所述用户权限数据,确定数据使用方的下载权项;
根据所述学习检索的学习记录存在结果发送学习记录数据至数据使用方;或,
根据所述学习检索的学习记录不存在结果,进行学习任务广播处理;根据所述学习任务广播处理的反馈数据,发送元数据至所述数据使用方。
可选地,所述根据所述学习任务广播处理的反馈数据,发送元数据至所述数据使用方,包括:
根据所述学习任务广播处理的反馈数据,结合所述智能合约确定数据提供节点;
根据所述数据提供节点,确定节点公钥和元数据信息并发送至所述数据使用方。
可选地,根据所述支链,所述数据提供方从所述数据使用方获取训练模型进行全局模型训练,包括:
获取所述数据使用方的所述训练模型,上传所述训练模型至所述支链的支链账本;
根据所述数据提供方的计算中心数据,对所述支链账本下载的所述训练模型进行全局模型训练。
第二方面,本发明实施例提供了一种基于区块链和联邦学习的海洋数据共享系统,包括:
第一模块,用于根据数据共享及权项分配机制搭建区块链网络;将所述数据共享及权项分配机制转变为智能合约;
第二模块,用于根据所述智能合约确定数据提供方与数据使用方的区块链权限;
第三模块,用于响应于数据使用方的联邦学习请求,在所述区块链网络进行学习检索;
第四模块,用于根据所述区块链权限,结合所述学习检索的结果发送检索数据至所述数据使用方;
第五模块,根据所述检索数据,确定数据提供方;根据所述智能合约,在所述数据使用方和所述数据提供方之间建立支链;根据所述支链,所述数据提供方从所述数据使用方获取训练模型进行全局模型训练;
第六模块,根据所述智能合约结合所述全局模型训练的结果,进行参数聚合处理得到全局模型参数。
第三方面,本发明实施例的提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明实施例首先根据数据共享及权项分配机制搭建区块链网络;将数据共享及权项分配机制转变为智能合约;响应于数据使用方的联邦学习请求,在区块链网络进行学习检索;根据学习检索的结果,发送检索数据至数据使用方;根据检索数据,确定数据提供方;根据智能合约,在数据使用方和数据提供方之间建立支链;根据支链,数据提供方从数据使用方获取训练模型进行全局模型训练;根据智能合约结合所述全局模型训练的结果,进行参数聚合处理得到全局模型参数。本发明能够解决海洋数据分散、统一协调性差等问题,进而实现对基于区块链和联邦学习的海洋数据共享。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于区块链和联邦学习的海洋数据共享方法的流程示意图;
图2为本发明一具体实施例提供的基于区块链和联邦学习的海洋数据共享方法的整体框架流程示意图;
图3为本发明实施例提供的Fabric系统框架示意图;
图4为本发明实施例提供的Fabric交易流程示意图;
图5为本发明实施例提供的联邦学习任务发布流程示意图;
图6为本发明实施例提供的模拟数据集示意图;
图7为本发明实施例提供的连续时间序列模拟数据集示意图;
图8为本发明实施例提供的虚拟海洋架构示意图;
图9为本发明实施例提供的数据集提取流程示意图;。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1所示为本发明实施例提供的基于区块链和联邦学习的海洋数据共享方法的流程图,方法包括:
根据数据共享及权项分配机制搭建区块链网络;将数据共享及权项分配机制转变为智能合约;
根据所述智能合约确定数据提供方与数据使用方的区块链权限;
响应于数据使用方的联邦学习请求,在区块链网络进行学习检索;
根据所述区块链权限,结合学习检索的结果发送检索数据至数据使用方;
根据检索数据,确定数据提供方;根据智能合约,在数据使用方和数据提供方之间建立支链;根据支链,数据提供方从数据使用方获取训练模型进行全局模型训练;
根据智能合约结合全局模型训练的结果,进行参数聚合处理得到全局模型参数。
在一些实施例中,方法还包括:
根据智能合约,记录联邦学习数据,联邦学习数据包括历史学习数据、模型数据、模型参数数据、学习摘要数据和用户权限数据;
根据联邦学习数据,进行虚拟现实交互处理。
在一些实施例中,根据智能合约,记录联邦学习数据,包括以下至少之一:
根据智能合约,记录历史学习数据、模型数据、模型参数数据于支链的支链账本;
根据智能合约,记录学习摘要数据于区块链。
在一些实施例中,响应于数据使用方的联邦学习请求,在区块链网络进行学习检索这一步骤中,采用TF-IDF加权统计结合B+树索引结构进行学习检索。
在一些实施例中,根据区块链权限,结合学习检索的结果发送检索数据至数据使用方,包括:
根据用户权限数据,确定数据使用方的下载权项;
根据学习检索的学习记录存在结果发送学习记录数据至数据使用方;或,
根据学习检索的学习记录不存在结果,进行学习任务广播处理;根据学习任务广播处理的反馈数据,发送元数据至所述数据使用方。
在一些实施例中,根据学习任务广播处理的反馈数据,发送元数据至所述数据使用方,包括:
根据学习任务广播处理的反馈数据,结合智能合约确定数据提供节点;
根据数据提供节点,确定节点公钥和元数据信息并发送至数据使用方。
在一些实施例中,根据支链,数据提供方从数据使用方获取训练模型进行全局模型训练,包括:
获取数据使用方的训练模型,上传训练模型至支链的支链账本;
根据数据提供方的计算中心数据,对支链账本下载的所述训练模型进行全局模型训练。
在一些具体的实施例中,通过以下步骤实现上述方法,参照图2,步骤包括:
步骤1:参与方共同搭建区块链网络,在区块链进行初始部署时,多方联合约定一套数据共享及权限分配机制,并将其转变为智能合约。
步骤2:当数据使用方发起联邦学习请求时,首先在区块链中进行检索,检查是否已有相应的学习记录。
步骤3:当检索到一条学习记录已存在于区块链时,首先通过智能合约对用户权限进行判定,当判定用户具有下载权限时,将支链中记录的具体学习记录发送给数据使用方。
步骤4:当检索结果不存在时,由智能合约根据数据使用方注册时提供的元数据信息在联邦学习记录区块链中查找相关的数据提供节点,并将节点公钥和元数据信息打包发送至数据使用方进行选择。
步骤5:数据使用方根据自身的需求选择合适的数据提供方合作开展联邦学习。联邦学习智能合约在数据使用方与数据提供方间建立支链,上传训练模型至支链账本之上,参与联邦学习的数据提供方从支链账本上下载全局模型至本地计算中心,在其本地计算中心利用本地数据对全局模型进行训练。
步骤6:当智能合约检测到参与本次联邦学习的全部各方都已上传中间参数时,启动参数聚合过程,生成全局模型的最终参数,将学习过程、模型、相关参数记录于支链账本之上。联邦学习智能合约将本次联邦学习的内容摘要记录于联邦学习区块链之中。
步骤7:采用虚拟现实技术同用户进行交互。
具体地,上述步骤的详细说明如下:
步骤一、参与方共同搭建区块链网络,在区块链进行初始部署时,多方联合约定一套数据共享及权限分配机制,并将其转变为智能合约。
(1)区块链本质上是一种去中心化的新型分布式数据库,以密码学为基础,实现点到点的传输。通过合理的运用区块链技术,可以将不同应用的数据进行有机合并,并实现数据的基础操作(如共享、迁移、复制等)。其技术上解决了基于信任的中心化模型带来的安全问题,安全地保障了链上价值的转移,通过哈希锁和时间戳机制实现了链上数据的不可篡改、易于追踪等特点,基于共识机制确保了多方数据的一致性。基于区块链天然特性而构造的价值网络,可以更好地保障海洋数据跨部门使用过程中所有者的权益,防止数据被篡改和违规拷贝,同时降低因第三方存在造成的数据交易成本,提升了各部门在数据资产价值网络上进行数据共享和开放的动力,进一步形成良性发展的生态环境。
现有的区块链模式可以分为三大类,分别是公有链、私有链和联盟链三大类。公有链中无中心化的官方组织及管理机构,参与的节点可自由进出网络,不受系统限制,任何节点间都能够基于共识机制建立信任从而开展工作,网络中数据读写权限不受限制。私有链建立在企业、政府等相关机构内部,网络中的所有节点被一个组织控制,系统的运行规则及共识机制由该组织自行决定,不同节点被赋予了不同的操作能力,写入权限仅限在该组织内部节点,读取权限有限对外开放.由少数高能力节点对全局节点进行管理,不同节点间的地位可能不平等,但同时也保留区块链的不可篡改、安全和部分去中心的特征。盟链由若干机构联合发起组成,部分节点可以任意接入,一部分则必须通过授权才可以接入,介于公有链和私有链之间,具有多中心或部分去中心的特征,兼顾了公有链和私有链的特点。
相对于公有链,联盟链具有一些优势。例如,成员只要得到管理方的许可,即可改变区块链运行规则,无需征求网络中其他节点的意见,效率较高。同时,交易的确认只在联盟或机构内部人员间进行,不涉及到大量低信任度的外部用户,因此共识成本会显著降低。由于联盟链使用过程不会匿名化,更容易被监管,所以更适合带有政府监管的海洋数据共享平台。
Hyperledger项目作为一类联盟链,其致力于借助区块链技术打造一个企业间共享的、经过授权的、冗余的账本,账本由链上的成员共同维护和管理,并引入监管机构进行账本的独立监管,以构建一个全新的企业间生态。系统具有以下特点:账本在每个节点间进行复制,保证所有的项目参与方共享同样的帐本,确保海洋数据共享过程的准确性和有效性;链上成员通过背书参与数据验证,网络依赖排序机制保持数据一致;引入身份管理和加密算法确保参与者仅能查看与其相关的账本内容,交易是授权的、保密的和可追溯的,保证海洋数据共享过程中全程可控;交易中嵌入可编程内容,即智能合约,实现交易的功能化,利用智能合约进行联邦学习,增加海洋数据的利用率,避免数据孤岛的问题。Fabric作为Hyperledger中最重要的子项目,其采用联盟链思想实现了分布式的账本平台,可以支持企业间建立分布式账本的需求。如图3所示,为Fabric的系统框架图,其主要分为四大模块,分别是成员管理服务、区块链服务、智能合约和事件流。
其中,成员服务主要保证Fabric平台访问的身份机制,主要提供成员的注册,管理以及审核等功能;区块链服务是Fabric框架的核心功能,其主要包括负责节点通讯的P2P协议、节点的分布式账本、账本存储数据库以及维护账本的共识机制管理;智能合约服务主要是提供包括安全的链码容器环境和安全的注册仓库等功能;链码是一个可以对区块链账本进行操作的组件,通常情况下需要开发人员按照相应的需求场景编写对应的逻辑。之后,这些链码被部署在一个安全的容器中去,客户端通过调用链码中的函数实现相应的业务逻辑操作。在Fabric框架中,Fabric服务是由不同的服务节点所提供的,按照不同的角色的划分,节点可以大致分为三种类型。第一种是背书节点,它主要负责的是对客户端提交参数执行进行计算、检查其他背书节点执行结果、并对检查通过的结果签名背书等功能。第二种是确认节点,它主要在交易结果提交前再次检验合法性,如果合法则记入账本中去。第三种是排序节点,这个节点是为了保证所有节点所获得的账本具有一致性,对交易按照配置中的约定进行排序,并分发给其他节点。
如图4所示,为在Fabric中完成一次交易的流程,客户端或者应用程序需要在CA节点或者使用Fabric官方提供的工具生成公私钥证书以此来证明自己的身份。之后客户端需要构造交易的请求。背书节点上部署的智能合约负责执行有相关操作并对执行结果进行签名背书,并将参数通过P2P协议传递调用参数,通知其他背书节点进行计算背书。接下来,客户端收集结果并提交到排序节点。排序节点对其打包处理,并分发给网络的中的提交节点。最终提交节点对交易进行合法性检测(交易的背书签名是否符合策略,交易的结构是否合法等),检查通过后写入账本。
需要说明的是,区块链网络搭建步骤如下:
1)Orderer节点和Peer节点生成证书文件:使用HyperledgerFabric框架官方提供的crytogen工具为Orderer和Peer节点生成证书文件。证书文件代表Orderer节点和Peer节点的身份、交易签名,同时可以在交易过程中,对交易者的身份进行验证。接着,利用cryptogen工具根据这个文件上的网络拓扑信息为每个Peer节点和Orderer节点生成对应的证书文件。在该海洋数据共享系统中,每个组织维护两个peer节点,同时创建两个排序节点,从而组成区块链网络。
2)生成海洋数据共享交易相关的文件:在生成相关证书之后,使用configtxgen工具生成Orderer节点的genesis.block文件、组织之间的channcl.tx文件以及组织内锚节点的anchor.tx文件。紧接着在启动之前指定锚节点负责组织的对外通信。锚节点配置文件包含了对外通信相关的配置。使用configtx.yaml文件生成这些相关文件,这个文件主要包含了上述信息的配置。例如:在Fabric提供的多种共识算法在这里指定、节点服务地址与端口号、通道内区块的批处理信息等。最后使用configtxgen工具指定设置的configtx.yaml的信息,即可生成前面提到的配置文件。
3)通过docker启动相关的容器:该海洋数据共享系统使用docker-compose工具来启动区块链网络上所有需要启动的节点。使用docker-compose.yaml文件配置节点网络端口映射关系和相关证书文件的挂载路径,然后通过启动命令启动相关镜像,从而完成搭建节点网络工作。
(2)智能合约是一种无需中介、自我验证、自动执行合约条款的计算机交易协议,是一种基于区块链技术的数字资产控制程序。利用智能合约可以将人、法律协议和网络之间的复杂关系进行程序化,从而部署在区块链网络上。一旦将智能合约部署于区块链网络上时,就能实现自我执行与自我验证。
智能合约全生命周期包括:合约生成、合约发布、合约执行3个部分。合约生成,主要包含合约多方协商、制定合约规范、进行合约验证、获得合约代码4个环节.具体实现过程为:由合约参与方进行协商,明确各方的权利与义务,确定标准合约文本并将文本程序化,经验证后获得标准合约代码。其中涉及2个重要环节:合约规范和合约验证。合约规范由具有相关领域专业知识的专家和合作方进行协商制定。合约验证在基于系统抽象模型的虚拟机上进行,它是关乎到合约执行过程安全性的重要环节,必须保证合约代码和合约文本的一致性。
合约发布与交易发布类似,经签名后的合约通过P2P的方式分发至每一个节点,每个节点会将收到的合约暂存在内存中并等待进行共识。
智能合约的执行是基于“事件触发”机制的。基于区块链的智能合约都包含事务处理和保存机制以及一个完备的状态机,用于接受和处理各种智能合约。智能合约会定期遍历每个合约的状态机和触发条件,将满足触发条件的合约推送至待验证队列。待验证的合约会扩散至每一个节点,与普通区块链交易一样,节点会首先进行签名验证,以确保合约的有效性,验证通过的合约经过共识后便会成功执行。整个合约的处理过程都由区块链底层内置的智能合约系统自动完成,公开透明,不可篡改。
智能合约的实现,本质上是通过赋予对象数字特性,即将对象程序化并部署在区块链上,成为全网共享的资源,再通过外部事件触发合约的自动生成与执行,进而改变区块链网络中数字对象的状态(如分配、转移)和数值。智能合约可以实现主动或被动的接受、存储、执行和发送数据,以及调用智能合约,以此实现控制和管理链上数字对象。目前已经出现的智能合约技术平台有以太坊、Hyperledger等。在Hyperledger Fabric上的智能合约其实质是在节点(peer)上运行的分布式交易程序。
在该海洋数据共享系统中,各个模块功能的实现离不开智能合约的调用,在本系统中智能合约主要负责区块链中用户权限管理和联邦学习过程的实现这两个主要功能。具体的将制定两种不同的智能合约,分别为用户管理智能合约和联邦学习智能合约。
具体的,用户管理智能合约能够实现的功能为用户注册和权限管理。
用户身份的注册是通过已授权的监管中心运行该智能合约所实现的。该智能合约采用CP-ABE算法进行基于属性基的加密。其用户的的私钥关联一个属性集,密文则关联一个属性策略,当且仅当属性集满足属性策略时,用户才可解密。CP-ABE方案通常由以下4个算法组成:1)Setup(λ)→(PK,MK),给定安全参数λ,生成公共参数PK和主密钥MK。2)KeyGen(MK,S)→SK输入主密钥MK和属性集合S,得到解密密钥SK。3)Eenrypy(PK,M,T)→CT输入公共参数PK、明文消息M和访问结构T,得到密文CT。4)Decrypt(CT,SK,PK)→M输入密文CT、解密密钥SK和公共参数PK,得到明文消息M。通过初始化算法Setup(λ)产生主密钥Mk和公共参数Pk。每个用户需要向监管中心(一般由政府监管部门担任)提交相关注册信息,只有监管中心授权后才能获得公私钥对以及属性私钥和数字证书。首先,用户向监管中心提交注册信息(身份信息、数据相关信息等),监管中心验证用户的身份资质,使用非对称加密算法为通过验证的用户生成公私钥对UPK、USK,并使用其私钥对用户的公钥UPK进行签名生成数字证书UCert。然后,监管中心根据用户的身份特征分配一个属性集合SU并运行密钥分发算法KeyGen(MK,SU)生成用户的属性私钥U′SK。最后,将公钥UPK、私钥USK、数字证书UCert和属性私钥U′SK通过安全信道发送给用户保存。在联盟链系统中,用户经监管中心注册后成为一个合法的实体,其账户由公钥进行标识。用户将签名后的事务请求上传至联盟链,链上节点根据数字证书验证签名,可以保证事务来源的真实性。数据用户的注册信息可以表示为:User{UPK,USK,UCert,U′SK}。对于用户权限管理,首先将权限共分为三个不同的等级:
(1)读取权限,指具有读取区块链中明文内容的权限,该权限是在经过授权认证模块的认证后的合法用户才可拥有的。
(2)读写权限,指具有对区块链中明文内容进行读、写以及更新的操作,该权限是在经过授权认证模块的认证后的合法用户才可拥有的。
(3)无读取权限,该类权限的用户无法从区块链中直接获取明文信息,即便获取了链上信息也是加密后的信息。
当用户上传数据时,该智能合约为用户分配该数据的所有权限,使用户能够授权或取消授权其他机构或组织查看自己上传的数据,同时能够在区块链上对该数据的访问情况进行查看。
数据的所有者通过该智能合约将主体对数据的权限写入利用HyperledgerFabric框架所创建的联盟区块链中,通过智能合约的方式设置数据权限集合Permission,集合中的内容包括数据共享的权限条件、时长和次数等参数,然后添加权限有效期和数据所有者的数字签名。链下数据的存储将会按照联邦用户管理区块链中存储的数据权限集合Permission来控制不同用户对数据的访问,自动相应不同数据请求者的共享请求。当被授予的权限Permission为空集时,表明撤销其所有权限。在数据的访问控制交易中,全部的链下数据利用元数据集合表单进行表示,数据所有者的主体用其公钥UPK进行标识。
当数据提供方准备共享其数据时,首先将其制定的该共享数据的访问策略T发送至peer节点,授权节点对该海洋数据的共享信息进行记录。Peer节点将元数据信息加密存储在联盟链当中。为了提高加密效率,使用对称加密算法加密元数据信息,再用CP-ABE算法加密对称密钥。首先,Peer节点从密钥空间中随机选取一个对称密钥K加密海洋元数据M,将得到的密文EncK(M)存储至联盟链,再将联盟链中所获数据的访问地址LC加密得到L′C=EncK(LC)。然后,加密对称密钥K,将公共参数PK、数据访问结构T、对称密钥K作为输入,输出密文K′=Eenrypy(PK,K,T)。为海洋元数据生成哈希值H(M),确保联盟链中的海洋元数据不被篡改和伪造。最后,将加密元数据Mdata→{L′C,K′,H(M)}以事务的方式提交到联盟链,并将事务消息标识号Tid发送给海洋数据上传方。
具体的,为该海洋数据共享系统所设计的一种元数据结构包含以下内容:数据标识符、数据来源、数据采集时间、数据采集位置、其他信息。数据标识符中又包含了,编号、数据格式、数据大小、单位名称、统一资源定位符;数据来源包含了,数据采集平台名称、采集设备的名称、采集计划的名称、数据发布者名称;数据采集时间包含了,数据采样时间、采样间隔、步长、时间跨度;数据采集位置包含了,采样点经纬度、采集区边界位置、采样深度和高度信息;其他信息包含了,存储类型、用途种类、数据简述和快照。
步骤二、当数据使用方发起联邦学习请求时,首先在区块链中进行检索,检查是否已有相应的学习记录。
对于其发布的联邦学习任务,本发明所构建的海洋数据共享系统首先在账本区块链当中进行检索,检查是否在账本区块链当中已有该联邦学习任务的记录。具体的检索过程采用TF-IDF加权统计方法结合B+树索引结构进行账本区块链中的学习记录检索。
其中,TF-IDF加权统计方法是一种用于信息检索的加权技术,用来度量一个关键词对于文件集中的其中一份文件的重要程度。TF是词频表示一个关键词在某个文件中出现的频率,IDF是逆文档频率用来衡量一个关键词的普遍重要性。在向量模型中,每个文件可以表示成一个向量,该向量由关键字的TF值组成,查询向量由检索关键词的IDF值组成。B+树索引结构是数据检索中常用的一种数据结构其检索时间与树的高度成正比。其中B+树的每一个叶子节点存储着与文档相关的信息,内部节点是基于叶子节点生成的。为了使检索过程能够在区块上快速查找到与数据交易相关的密文文档的交易标识符,数据拥有者将与密文交易相关的交易标识符存储B+树的叶子节点中。利用TF-IDF加权统计方法对用户输入的搜算关键词进行计算,得到相应的TF值。紧接着将账本区块链中的元数据梗概信息构建B+树索引,再利用TF值对树中节点值进行查找比对。当找到节点值TF值与计算得到的TF值误差在1%以内时,认为在账本区块链中检索到相关节点。否则可认为不存在相关学习记录。
步骤三、当检索到一条学习记录已存在于区块链时,首先通过用户管理智能合约对用户权限进行判定,当判定用户具有下载权限时,将支链中记录的具体学习记录发送给数据使用方。
如果在账本区块链中检索到该联邦学习任务的相关记录,用户管理智能合约首先通过检查学习记录中的数据权限集合Permission,将其与数据用户的注册信息进行比较。如果Permission集合中记录的数据可查看方包含了用户注册信息中的该用户的公钥UPK,则表示该用户可以访问该数据。接下来检查User{UPK,USK,UCert,U′SK}中的U’sk和Ucert确认用户的合法身份。接着将该区块的地址返还给该联邦学习任务的发布者,从而数据使用方可以根据所提供的区块链地址检索下载相应的联邦学习模型,进行本地训练。这里所指的区块地址为该联邦学习任务所存储的支链上的区块的地址。具体的,每次进行新的联邦学习过程时,联邦学习智能合约将为本次联邦学习过程生成一条支链,所有的学习过程将在支链中展开。在支链上进行学习可以节省联盟主链的存储负担,同时生成可信的联邦学习成果。在支链上所存储的相关数据包括,参与本次联邦学习的各方的身份信息User{UPK,USK,UCert,U′SK}、联邦学习过程中间参数、联邦学习全局模型等。支链的运行采用PBFT作为其共识机制,适用于无数字货币验证的本海洋数据共享系统。具体的,该支链所采用的数据结构同主链的数据结构相似,支链的每一个区块维持一个默克尔根,从而维持当前区块的数据状态,默克尔根下的叶子节点则存储当前区块下的各个联邦学习记录和相应的联邦学习成果的哈希值。区块哈希是以区块头中所有信息为参数的哈希结果。一旦叶子结点数据出现变化,默克尔根也会发生变化,进而引起区块哈希发生变。因此,各支链机构通过维护默克尔根的一致性来保障支链账本的一致性。
当训练结果收敛,训练参数达到阈值时,说明联邦学习模型适用于该联邦学习任务。如果结果不收敛或参数未达到阈值,则向此前的联邦学习模型的任务发布者发送请求链接。当此前的模型的任务发布者接受请求时,两者建立联系,互通其元数据类型结构及将此前联邦学习模型的中间参数进行传递(中间参数由此前的差分隐私联邦学习的来,对于参与学习的任意一方都有数据保护作用,保障数据隐私不被泄漏),此次联邦学习发布者1.结合所接受的元数据模型,如果满足要求,同之前的联邦学习发布者进行联邦学习,联合两方数据重新建模;2.结合利用之前的联邦学习中间参数,同本地数据训练得到的中间参数进行参数聚合。
步骤四、当检索结果不存在时,由智能合约根据数据使用方注册时提供的元数据信息在联邦学习记录区块链中查找相关的数据提供节点,并将节点公钥和元数据信息打包发送至数据使用方进行选择。
具体地,参照图5,当检索结果不存在时,在账本区块链中广播此次联邦学习任务,向海洋数据共享系统中的已注册用户发起共享请求。假如在账本区块链当中未查找到该类型联邦学习的任务记录,则通过账本区块链将其联邦学习任务在一定范围内进行广播,广播的内容包括本次联邦学习的任务、其所需数据的元数据结构,进而寻找此次联邦学习的合作者。接收到本次广播的联邦学习合作者,如果在其本地有相应的学习记录,则将之前所缓存的数据模型作为结果返回。否则,如有加入本次联邦学习的意愿,则发送其联邦学习请求及其所拥有的海洋数据的元数据结构、数据体量、节点公钥UPK等相关联邦学习节点信息至本次联邦学习任务发布者供其选择。
步骤五、数据使用方根据自身的需求选择合适的数据提供方合作开展联邦学习。联邦学习智能合约在数据使用方与数据提供方间建立支链,上传训练模型至支链账本之上,参与联邦学习的数据提供方从支链账本上下载全局模型至本地计算中心,在其本地计算中心利用本地数据对全局模型进行训练。
(1)首先根据所接收到的联邦学习节点信息选择合适的联邦学习合作方:
联邦学习任务发布者根据请求加入学习的节点所发来的信息,首先判断其信息是否正确。例如,联合南海海上浮标对南海海域浪高进行统计分析建模。则预先判断请求加入学习的浮标的时空信息是否正确,是否与本次学习的要求相符。首先,根据所上传的元数据信息中的数据采集位置进行判断,当数据采集位置信息与数据使用方发布的数据要求中的数据采集区域信息一致时,判定数据的空间位置信息满足本次联邦学习建模。接着再对所上传的元数据信息中的数据采集时间进行核对,当数据采样时间与数据采样位置同数据使用方的数据使用需求一致时,将该节点初步纳入为本次联邦学习的联邦学习合作方。另一具体实例为,联合分属于不同机构的高频地波雷达海表流观测数据来对同一地区的海表流进行联邦学习训练模型,从而对该区域的海表流进行更高精度、长时间窗口的预测。具体的,当任务发布者发布该类型任务时,高频雷达数据提供方首先上传其共享数据的元数据信息至支链账本之上,紧接着由任务发布者根据其元数据信息中的雷达站位置(经纬度坐标)、数据覆盖范围(雷达最远量程和多站时的共同覆盖面积)、雷达观测核心区位置以及其他一些高频雷达工作参数判断数据是否可用。当雷达数据区域与任务发布者所需要预测的区域的重合度达到任务发布者的要求时,认为该数据是可用的,类似的判定数据是否满足要求的标准可以是雷达数据覆盖区域的重合度、观测核心区在预测区中所占的百分比、雷达数据的时间空间分布率同预测模型的精度要求的差异、雷达数据中是否有大段的缺失值、缺失值是否位于模型预测所需的时间段内等。当判定该数据可用时,将该高频地波雷达数据提供方纳入本次联邦学习的联邦学习合作方。
(2)将全局模型上传至支链,数据提供方下载后进行本地模型训练:
联邦学习智能合约采用与联盟链主链相同的创建方法为参与本次联邦学习过程的全体参与方建立支链,从而在支链上进行本次联邦学习。任务发布者首先根据联邦学习的任务要求,从预定义的范围内选择一个初始的学习模型(初始模型参数)、判断联邦学习类型(横向、纵向、迁移)作为全局共享模型。然后由任务发布者向所有的联邦学习节点发布这个共享的全局模型,每个节点独立的使用其本地数据对模型进行训练。例如,当联合隶属于多方的高频地波雷达数据进行联邦学习训练模型,从而预测同一区域的海表流时,使用长短期记忆网络即LSTM作为全局模型对具有时序性的高频地波雷达数据进行深度学习,从而预测海表流场的u、v分量、建立用于海流短期预测的机器学习模型。同时可以获得经过本地高频地波雷达数据训练后的相关参数。例如,输入变量、隐含层层数、相关系数R、最终损失函数(MSE)、均方根误差(RMSE)以及平均绝对百分误差(MAPE)等。在开展本地模型训练前,联邦学习智能合约首先针对节点所上传的数据进行处理。首先,将原始数据集分成两个部分,分别是训练集和数据集。训练集用来进行本地模型训练,通过本地模型训练分析本地原始数据,获得本地模型参数。测试集用来对模型的训练结果进行测试验证,经过对比从而获得最优的模型参数结果。接着对训练集进行数据清洗,数据清洗是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性。数据清洗包括检查数据一致性,处理无效值和缺失值等。通过数据清洗可以优化本地模型的训练,提升本地模型的训练质量,节约本地模型的训练时长。具体的,可由联邦学习智能合约对海洋数据进行数据清洗,数据清洗主要包括探测异常值和修正异常值2个部分。由于海洋数据探测周期短和时间序列长,数据庞大,信息细节较多,而异常值的出现常常没有规律可循,且由于天气和周边环境等因素影响,时而会出现时段性的探测误差,产生具有连续性的异常值,因此在联邦学习智能合约中设置有中值滤波模型和最小值滤波模型来对异常值探测进行探测。
中值滤波模型的公式为:
式中:表示探测序列中的k时刻的探测值;{-N,···,0,···,N}表示滤波窗口,窗口长度L=2N+1;mediumn函数表示取序列中值。
最小滤波模型的公式为:
式中:miniumn函数表示取序列中的最小值。
当探测到异常值之后,就需要对异常值进行修正。海洋数据探测记录的异常值常表现为异常大值或异常小值,而在实际记录中常无法确定,因此在判定异常数据时选择离差法。如果某个时刻的探测记录值相较前一时刻或后一时刻有较大偏差时,则认为该时刻的记录值有较大概率为异常值。利用Δd来判断记录值是否为异常值,离差定义为:
左离差ΔdL(k)=|d(k)-d(k-1)|
右离差ΔdR(k)=|d(k)-d(k+1)|
离差Δd(k)=ΔdL(k)+ΔdR(k)
接着利用Δd来判断记录值是否为异常值。相应的判断方法如下。
令窗口标准差为:
其中,为窗口标准差;N表示滤波窗口的个数;d(k-j)代表探测序列中第k-j个时刻的探测值;/>表示探测序列中k时刻的探测值在滤波窗口中的平均值。
当时,则k时刻的记录值为异常值。利用清洗后的本地数据对所下载的全局模型进行训练。经过训练得到相应的本地模型参数,将参数及相应的时间节点上传于支链之上。
步骤六、当智能合约检测到参与本次联邦学习的全部各方都已上传中间参数时,启动参数聚合过程,生成全局模型的最终参数,将学习过程、模型、相关参数记录于支链账本之上。联邦学习智能合约将本次联邦学习的内容摘要记录于联邦学习区块链之中。
联邦学习智能合约聚合所有的参数来对模型进行更新。更新后的全局模型再次上传于支链账本之上,接着重复步骤五,对本地模型训练进行迭代。在此过程中,联邦学习智能合约记录每次迭代过程中各个节点上传的本地模型更新,并通过测试集来评价模型更新的真实性、可靠性。同时可以通过比较各个节点所上传的模型参数的质量来对节点进行打分,当整个联邦学习结束时将对各个节点的评分结果上传至账本区块链中做记录。当模型达到任务发布者的要求(模型训练结果收敛或参数结果达到相应阈值)时,结束本次联邦学习过程。最后,将相应的参数信息、节点意见评价值等上传记录于联盟链主链账本,即账本区块链当中。
步骤七、采用虚拟现实技术同用户进行交互
①首先,对已有的数据结构进行修改,创建虚拟模型中已知点的模拟数据集,参照图6,在模拟数据集中包含该点的经纬度信息、高程信息、时间信息以及其他信息。其中,参照图7,任意一点在不同的时间戳下其模拟数据集内的信息都是不同的,在确定好每一时间戳下的模拟数据集信息以后,再通过连续的时间步长将模拟空间中一点的变化连续的表现出来,最终形成一点的连续时间序列模拟数据集。连续时间序列模拟数据集按照时间顺序将某点的模拟数据集串联在一起,形成一个链表状的数据结构。其中,每一时间戳节点中的信息结构同模拟数据集的信息结构相同。具体包括信息:
(1)位置信息包含该点在WGS84地心坐标系下的经度坐标、纬度坐标
(2)高程信息包含该点的水深信息
(3)时间戳为以长度大小为12的数字串,从左往右分别代表年、月、日、时、分、秒,例如211105130511代表着21年11月05日13时05分11秒。
(4)其他信息中包含着该点的类型标识符及该点相应的数据元素。类型标识符标记该点的数据类型是标量、矢量还是张量,以及标记该点记录的数据是风、波浪、潮流、泥沙、温度、浊度、盐度等等。根据不同的类型标识符对应不同的具体的数据元素。例如,在类型标识符为标量、温度时,其对应的数据元素为:温度最小值、最大值即(Tmin,Tmax)。当类型标识符为矢量、波浪时,其对应的数据元素为:风矢量的方向、大小即(Vx,Vy,X,Y)。
其中,具体信息的来源为上层服务层联邦学习得到的模型预测结果。通过调用服务层提供的API接口可以获取实时、连续的海洋要素信息,将调用得到的海洋要素信息按照虚拟现实系统的要求进行嵌套整合,最终获得虚拟海洋中任意一点的连续时间序列模拟数据集。
②将整合后的数据集投射到虚拟海洋之上:
利用i4Ocean搭建数字海洋系统框架,将多类型的海洋信息进行融合,将ArcGIS、Map、AI、联邦学习模型等多源信息进行融合,形成数字海洋系统。参照图8,具体的系统结构为:数字海洋场景信息数据、图像生成与场景渲染模块、场景适配模块、海洋模型和VR窗口端,具体为:
(1)数字海洋场景信息数据包括地理信息数据和VR模型数据
地理信息数据使用ArcGIS对多元海洋地理环境信息进行空间基准的统一,采用的空间基准的基础是地球大地坐标系,以地球参考椭球面为基准面建立。参考椭球面是真实地球的数学化形状,以其作为测量计算的基准面,将不同的海洋地理环境信息在ArcGIS中均统一至WGS84坐标系下。其次,对不同的海洋地理环境信息的高程/深度基准进行统一。高程基准是以海水平均水平面的高度为基准,陆地任意一点的高程由此基准面测量推算获得。目前,我国常用的高程系统有两种,一是年黄海高程系,二是国家高程基准。两者都以青岛水准原点为依据,两者相差0.0289m。深度基准是表示海洋深度的起算面,在平均海水面以下,它与平均海水面的距离叫基准深度。深度基准面的确定原则是,既要保证航行安全,又要顾及航运的使用率,所以深度基准面必须在平均海水面以下,最低潮位面以上。由于陆部高程基准是固定不变的,所以海洋地理环境信息高程深度数据的融合必须以陆部高程基准为准,在ArcGIS中统一将海洋地理信息数据高程标准转化为国家高程基准。对于不同海域海路基准的换算问题采用以下方法解决:各自计算出该区域内多个验潮站测得的深度基准的均值与高程基准的间距基准深度,再将间距加入该区域海洋深度数据中。紧接着对来源不同的海洋地理信息数据进行投影方式的统一,将各类不同的数据坐标利用各自的投影反算公式将坐标统一为地理坐标。最终输出相应的标记为同一空间位置下的海底地形数据、测量控制点位置、居民及附属设施、陆地交通信息、海底管线位置、水域陆域划分、海底底质、礁石、沉船、碍行障碍物、水文、陆地地貌与土质、境界与行政界、植被、助航设施及航道、海上区域界限、注记等。
VR模型数据利用渲染引擎Unity3D作为相关开发工具。在虚拟海洋模型的开发过程中,首先需要创造出虚拟的三维人工环境,然后是虚拟环境的立体显示和实时渲染,以及最后添加用户与虚拟环境的互动。本专利的以上三部分全部都在Unity3D引擎中完成。Unity3D引擎是一款跨平台综合型开发工具,用户使用Unity3D引擎可以进行三维游戏开发、创造二维或三维的交互式体验,包括医疗模拟以及建筑结构视觉化。Unity3D是一种开创性的开发平台,具有层级式的综合开发环境,编辑器可以在Windows和MacOSX平台下运行,可以在多平台发布应用,包括移动端、PC端、Web、游戏主机等多种平台。Unity3D最大的优势体现在三维渲染的效果和跨平台特性,利用该特点可将虚拟海洋的窗口端部署在各种不同的平台、窗口之上。使用Unity3D引擎可以制作出绚丽的3D视景,并实时生成查看,这都归功于Unity3D引擎集成了强大的图像引擎和物理引擎。Unity3D作为一个综合性的集成开发环境,它最大的特点是层级式,具有可视化的编辑器、详尽的属性编辑器和动态的内容预览,提供给开发者的是一种可视化开发工作的方式。Unity3D程序构成的基本单元是场景(Scene),多个或单个Scene组成一个Unity3D程序,其中单个Scene又由多个Gameobject(对象)组成,其中Gameobject的行为是由代码脚本(script)控制的,Unity3D支持三种语言来编写脚本,分别是C#、JavaScript和Boo。
在构建VR模型前首先对所获得的海洋地形数据集进行数据清洗。例如,所获得海洋地形数据集为某地的海洋洋流数据,文件格式为nc格式,这是一种基于数组的科研数据,与zip、rar等文件类似。利用matlab工具以及结合PanoplyWin工具打开该数据集,首先使用ncinfo函数读取文件,可以得到各种变量和文件属性,文件属性是对相应变量的具体描述,通过阅读文件属性就可以了解该变量的含义、类型、性质。紧接着对数据集进行清理,将有效的、完整的数据提取出来。如图9所示,具体提取过程为:对于元素是否有效的判断首先从数据集中筛选出所需元素。例如,要构建一区域的海洋洋流VR模型,此时数据集中的经纬度值、数据集区域的经纬度坐标范围即为需要的值,便将其保存在相应的变量当中。进一步的,还有h(测深)、time(时间)、uv分量、平均uv分量的值、temp(水温)、salinity(盐度)、km(对于动量的湍流涡流粘度)、kh(对于标量的湍流涡流粘度)、q2(湍流动能)、东西向风速等有用的数据变量。当筛选出所需元素后,对数据的完整性进行判断,利用python的pandas模块对csv格式的数据进行筛查,检查是否存在不完整的数据,将不完整的数据剔除。另外,对数据集中错误的数据进行筛查,检查数据的合法性。例如,一数据集包含经纬度和测深信息,经检查其测深信息远超当地地形数据提供的海底底高程值,故将该数据视为非法数据进行剔除。经过以上三次判断,对原有的数据集进行筛选得到处理后的数据集,数据集以csv格式进行存储。接着将上述处理后的数据集导入虚幻4引擎中构建当地数字海洋VR模型。
(2)海洋模型包含各类海洋相关模型,包括海面风场模型、海面波浪模型、海洋潮汐模型、海洋温盐度模型、大洋环流模型、海面溢油扩散模型、船舶运动模型、海洋观测设备模型以及其他模型等。以上模型包含账本区块链中所记录的经联邦学习得到的联邦模型,例如,经由联邦建模所得的海面风场模型、海面波浪模型等。还包含一些由外部数据库导入的模型,例如船舶运动模型、海洋观测设备模型的获取来自相应的数据中心,例如Argo海洋浮标数据中心、船舶信息中心等。对于数据的传递,联邦模型可通过调用服务层的API接口获取相应数据,外部模型也可从相应的数据中心获得文件或API接口。
(3)场景适配模块:该模块具有相机工具、海洋表面生成工具以及一系列其他模型的适配工具。利用相机工具控制VR中的视角和视线范围,以第一人称为镜头视角,WASD键进行移动控制,将各个设备的功能触发融入具体的场景部件中以主导者而非旁观者的身份置身于数字海洋之中,基于收集的数据结果实时动态将要素通过相机传入用户眼中。对于用户行为的控制,首先检测触发按键,利用Input输入系统判断是否按下按键来触发人物的移动功能。由于场景中存在船舶和浮标等复杂结构,简单的水平移动无法满足平台的设计要求,因此,利用Rigibody的刚体系统模拟现实中的物理状态,赋予虚拟人物重力和支撑力的作用,进而实现复杂场景漫游的功能。交互方面使用RayCasHit射线检测系统实时检测是否有需要交互的物体以及物体的轮廓和属性。通过上述这3个系统相互配合,实现三维操作和物体交互的功能。
海洋表面生成工具使用海浪谱方法生成海浪模型具体的:利用Phillips谱构建基本的海浪模型。
Ⅰ.建立海浪高度函数,如公式(1):
这是一个基于频域空间的海浪高度的函数,其中x为水平方向的位置,t为时间分量,K是二维向量,代表了相位参数,可视为风向,为海浪谱相关函数,eiK·x为欧拉公式,eiK·x=cos(Kx)+i·sin(Kx),其中i为虚数单位,其平方等于1。
Ⅱ.Phillips谱函数可用如下公式(2)表示:
该式中exp表示指数函数,l=v2/g,v为风速,g是重力加速度,g通常为常数,为归一化的风向,影响海浪的波动方向,k为波数向量K的模,A是浪高系数。如此可得到海浪谱相关函数,如公式(3):
/>
其中,ξp和ξii是两个独立的高斯随机数,用于增加海浪的随机性。
Ⅲ.引入时间增量,公式(4)如下:
其中即为引入时间增量后某一时间某一方向上的随即波高,ω为海浪的前进速度相关量,是影响尖浪效果的参数,ω与海浪的前进方向的关系为ω2(K)=gk,K为风向向量,g为重力加速度,k为K的模。
Ⅳ.将(3)代入(1)中,并通过FFT求解,可计算出任意时间任意位置的海浪高度。
(4)图像生成与场景渲染模块:本平台使用3DMAX中的Unfold3D工具梳理展开模型UV,再用Substance Painter软件进行PBR贴图和纹理的处理,形成FBX格式的模型文件与PNG格式的贴图纹理文件,输出成组群元件,导入至Unity3D进行场景搭建。为进一步改进观感,利用Bakery功能对静态物体进行灯光烘焙,形成逼真的静态光照。而动态物体则应用Light Probe Group功能融入静态光照环境中。动画方面利用Unity3D中的Animation功能及3DMAX中Bone系统进行元件动画制作,形成互动动画。为凸显面向海洋的平台特性,开发时利用Shader工具形成了动态的海浪运动,并配合使用Particle System进行波浪的动画处理,实现对海洋环境的模拟。
(5)VR窗口端:本平台使用移动端VR、头戴式VR(HMD)、多方投影显示模式(CAVE)作为VR显示的窗口段。其中,移动式VR采用封装式VR眼镜结合在智能手机中相配套的虚拟现实应用软件实现移动式VR;其中,头戴式VR采用Oculus VR公司推出的Oculus Rift系列虚拟现实穿戴设备。使用Oculus Rift时,用户通过它的双目视觉系统能够立体的感知由计算机打造的虚拟世界。Oculus Rift中内置了陀螺仪、加速计等传感器设备,可以检测用户的头部姿态角来对图像渲染的视角进行实时更新,因此用户的每一次头部转动都会得到相应的虚拟视角更新。Oculus Rift作为显示设备,通过HDMI或DVI与电脑连接,用户将它佩戴在头部时,它的屏幕直接将计算机渲染的画面呈现给用户。一套完整Oculus Rift套件包含如下的部分:显示器1280×800的7寸LED背光LCD、驱动器、一对凸透镜、电源、HDMI和USB接线。Oculus Rift的本质是一个具有检测用户身体位姿功能的显示设备,通过驱动接口与计算机相连接来显示计算机的画面。用户在使用Oculus Rift时,需要使用HDMI线将它和计算机的接口连接,并且接通电源和USB接口;其中,多方显示投影模式(CAVE)是由4个独立的投影通道构成的立方体结构,每个投影面为单独的投影通道,具有各自独立的视图变换和透视投影变换矩阵,每个通道的视景体在空间中共用一个相机视点,4个通道的视景体共同构成了一个无缝拼接的立体空间。
本发明实施例提供了基于区块链和联邦学习的海洋数据共享系统,包括:
第一模块,用于根据数据共享及权项分配机制搭建区块链网络;将数据共享及权项分配机制转变为智能合约;
第二模块,用于根据智能合约确定数据提供方与数据使用方的区块链权限;
第三模块,用于响应于数据使用方的联邦学习请求,在区块链网络进行学习检索;
第四模块,用于根据学习检索的结果,发送检索数据至数据使用方;
第五模块,根据检索数据,确定数据提供方;根据智能合约,在数据使用方和数据提供方之间建立支链;根据支链,数据提供方从数据使用方获取训练模型进行全局模型训练;
第六模块,根据智能合约结合全局模型训练的结果,进行参数聚合处理得到全局模型参数。
本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例提供了一种电子设备,包括处理器以及存储器;
存储器用于存储程序;
处理器执行程序实现基于区块链和联邦学习的海洋数据共享方法。
本发明方法实施例的内容均适用于本电子设备实施例,本电子设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
综上所述,本发明实施例不仅具有联邦学习的相关特征:①学习过程中数据不做上传仅存于本地②参与者利用自身拥有的数据训练全局模型③每个参与方都参与学习过程④模型损失可控⑤训练过程中考虑隐私和安全。同时,相比于传统的分布式计算,在联邦学习系统中引入了加密机制,这种学习方式使得联邦学习模型具有了安全合规、涉密数据无需迁移、不泄露隐私信息的优点,相比于传统分布式系统使用的数据脱敏技术对隐私的保护更加彻底、安全和高效。并且联邦学习系统所涉及的多个参与方具有同等地位,共同参与贡献并分享结果。因此,利用联邦学习技术的联邦特性,联合多方的海洋数据,可以较好的解决海洋数据分散、统一协调性差等问题;利用联邦学习的加密及数据本地保存的特性,保障学习参与各方的权益,调动各方积极性,加强海洋数据共享融合;利用其参数融合技术,保证参与各方的贡献度与模型的适配性相吻合,保证了多方学习下的公平性。通过本发明实施例能够解决下列问题:
(1)数据孤岛问题:目前中国海洋数据不断丰富,主要分散在科研机构、管理部门以及相关企业的手中。各单位、组织、机构之间独立工作,出于维护数据资产安全的角度考虑,主动进行数据的共享交换非常困难,产生了非常严重的“数据孤岛”现象。单某个机构组织来讲均存在数据量有限、数据质量较差的问题,在数据应用时较少的数据样本难以支撑人工智能和机器学习模型。因此,虽然数据量巨大,蕴藏着丰富的信息,但是数据之间无法建立联系,遏制了综合信息的挖掘利用;
(2)隐私保护问题:分布式机器学习将训练数据或模型参数分布在各个计算或储存节点,利用中心服务其对其进行调度,加速模型的训练。但是分布式机器学习的中心调度将会给用户数据带来极大的隐私泄露风险。在联邦学习的过程中,为了保护参与学习的各方的数据安全,各个数据提供方只上传局部模型计算的中间结果,从而最小化所需传输的信息,并且,这些信息在使用完成后会被立刻丢弃,不会保存。从而最大化的保护数据提供方的隐私。
(3)贡献分配问题:联邦学习模型所涉及的多个参与方具有同等的地位,共同参与贡献分享成果。并且,这种分布式联邦学习的建模方式所取得的实际效果与整合多方数据集中建模的效果相差无几;
(4)资源分散问题:现有的海洋数据共享平台,虽然已经能够满足局部地区的业务要求。但由于其数量多,类别杂、分布广、联动性差,造成其资源整合度较差。而通过数字孪生与联邦学习技术,将分散在各地区或不同业务部门的海洋数据进行整合,整合其服务于功能,构建通用的数据表达方式,进而发挥出海洋数据的整体效益,实现多领域协同业务建设,实现跨领域协同。帮助研究人员更简便的查询相关历史数据,避免反复的实地调查、系统重复开发等资源浪费情况的出现。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (9)
1.一种基于区块链和联邦学习的海洋数据共享方法,其特征在于,包括:
根据数据共享及权项分配机制搭建区块链网络;将所述数据共享及权项分配机制转变为智能合约;
根据所述智能合约确定数据提供方与数据使用方的区块链权限;
响应于数据使用方的联邦学习请求,在所述区块链网络进行学习检索;
根据所述区块链权限,结合所述学习检索的结果发送检索数据至所述数据使用方;
根据所述检索数据,确定数据提供方;根据所述智能合约,在所述数据使用方和所述数据提供方之间建立支链;根据所述支链,所述数据提供方从所述数据使用方获取训练模型进行全局模型训练;
根据所述智能合约结合所述全局模型训练的结果,进行参数聚合处理得到全局模型参数;
其中,所述方法还包括:
根据所述智能合约,记录联邦学习数据,所述联邦学习数据包括历史学习数据、模型数据、模型参数数据、学习摘要数据和用户权限数据;
根据所述联邦学习数据,进行虚拟现实交互处理。
2.根据权利要求1所述的一种基于区块链和联邦学习的海洋数据共享方法,其特征在于,所述根据所述智能合约,记录联邦学习数据,包括以下至少之一:
根据所述智能合约,记录所述历史学习数据、所述模型数据、所述模型参数数据于所述支链的支链账本;
根据所述智能合约,记录所述学习摘要数据于所述区块链。
3.根据权利要求1所述的一种基于区块链和联邦学习的海洋数据共享方法,其特征在于,所述响应于数据使用方的联邦学习请求,在所述区块链网络进行学习检索这一步骤中,采用TF-IDF加权统计结合B+树索引结构进行学习检索。
4.根据权利要求1所述的一种基于区块链和联邦学习的海洋数据共享方法,其特征在于,所述根据所述区块链权限,结合所述学习检索的结果发送检索数据至所述数据使用方,包括:
根据所述用户权限数据,确定数据使用方的下载权项;
根据所述学习检索的学习记录存在结果发送学习记录数据至数据使用方;或,
根据所述学习检索的学习记录不存在结果,进行学习任务广播处理;根据所述学习任务广播处理的反馈数据,发送元数据至所述数据使用方。
5.根据权利要求4所述的一种基于区块链和联邦学习的海洋数据共享方法,其特征在于,所述根据所述学习任务广播处理的反馈数据,发送元数据至所述数据使用方,包括:
根据所述学习任务广播处理的反馈数据,结合所述智能合约确定数据提供节点;
根据所述数据提供节点,确定节点公钥和元数据信息并发送至所述数据使用方。
6.根据权利要求1所述的一种基于区块链和联邦学习的海洋数据共享方法,其特征在于,所述根据所述支链,所述数据提供方从所述数据使用方获取训练模型进行全局模型训练,包括:
获取所述数据使用方的所述训练模型,上传所述训练模型至所述支链的支链账本;
根据所述数据提供方的计算中心数据,对所述支链账本下载的所述训练模型进行全局模型训练。
7.一种基于区块链和联邦学习的海洋数据共享系统,其特征在于,包括:
第一模块,用于根据数据共享及权项分配机制搭建区块链网络;将所述数据共享及权项分配机制转变为智能合约;
第二模块,用于根据所述智能合约确定数据提供方与数据使用方的区块链权限;
第三模块,用于响应于数据使用方的联邦学习请求,在所述区块链网络进行学习检索;
第四模块,用于根据所述学习检索的结果,发送检索数据至所述数据使用方;
第五模块,根据所述检索数据,确定数据提供方;根据所述智能合约,在所述数据使用方和所述数据提供方之间建立支链;根据所述支链,所述数据提供方从所述数据使用方获取训练模型进行全局模型训练;
第六模块,根据所述智能合约结合所述全局模型训练的结果,进行参数聚合处理得到全局模型参数;
其中,所述系统还包括:
用于根据所述智能合约,记录联邦学习数据的模块;所述联邦学习数据包括历史学习数据、模型数据、模型参数数据、学习摘要数据和用户权限数据;
用于根据所述联邦学习数据,进行虚拟现实交互处理的模块。
8.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210099069.9A CN114493594B (zh) | 2022-01-27 | 2022-01-27 | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210099069.9A CN114493594B (zh) | 2022-01-27 | 2022-01-27 | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114493594A CN114493594A (zh) | 2022-05-13 |
CN114493594B true CN114493594B (zh) | 2023-11-21 |
Family
ID=81477190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210099069.9A Active CN114493594B (zh) | 2022-01-27 | 2022-01-27 | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114493594B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698322A (zh) * | 2020-06-11 | 2020-09-22 | 福州数据技术研究院有限公司 | 一种基于区块链和联邦学习的医疗数据安全共享方法 |
CN112395640A (zh) * | 2020-11-16 | 2021-02-23 | 国网河北省电力有限公司信息通信分公司 | 一种基于区块链的行业物联数据轻量可信共享技术 |
CN112861152A (zh) * | 2021-02-08 | 2021-05-28 | 北京航空航天大学 | 一种基于许可链的联邦学习激励方法及系统 |
CN113537512A (zh) * | 2021-07-15 | 2021-10-22 | 青岛海尔工业智能研究院有限公司 | 基于联邦学习的模型训练方法、装置、系统、设备和介质 |
CN113792347A (zh) * | 2021-08-24 | 2021-12-14 | 上海点融信息科技有限责任公司 | 基于区块链的联邦学习方法、装置、设备及存储介质 |
CN113837761A (zh) * | 2021-11-26 | 2021-12-24 | 北京理工大学 | 一种基于区块链和可信执行环境的联邦学习方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645582B2 (en) * | 2020-03-27 | 2023-05-09 | International Business Machines Corporation | Parameter sharing in federated learning |
-
2022
- 2022-01-27 CN CN202210099069.9A patent/CN114493594B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698322A (zh) * | 2020-06-11 | 2020-09-22 | 福州数据技术研究院有限公司 | 一种基于区块链和联邦学习的医疗数据安全共享方法 |
CN112395640A (zh) * | 2020-11-16 | 2021-02-23 | 国网河北省电力有限公司信息通信分公司 | 一种基于区块链的行业物联数据轻量可信共享技术 |
CN112861152A (zh) * | 2021-02-08 | 2021-05-28 | 北京航空航天大学 | 一种基于许可链的联邦学习激励方法及系统 |
CN113537512A (zh) * | 2021-07-15 | 2021-10-22 | 青岛海尔工业智能研究院有限公司 | 基于联邦学习的模型训练方法、装置、系统、设备和介质 |
CN113792347A (zh) * | 2021-08-24 | 2021-12-14 | 上海点融信息科技有限责任公司 | 基于区块链的联邦学习方法、装置、设备及存储介质 |
CN113837761A (zh) * | 2021-11-26 | 2021-12-24 | 北京理工大学 | 一种基于区块链和可信执行环境的联邦学习方法及系统 |
Non-Patent Citations (3)
Title |
---|
区块链上基于B+树索引结构的密文排序搜索方案;牛淑芬等;电子与信息学报(第10期);第2409-2414页 * |
基于区块链和联邦学习的数据安全研究;叶晋;CNKI优秀硕士学位论文全文库(第1期);全文 * |
边缘计算环境下基于区块链和联邦学习的医疗健康数据共享模型;邢丹等;医学信息学杂志(第2期);第33-37页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114493594A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11727120B2 (en) | Blockchain cybersecurity solutions | |
US20190036895A1 (en) | Data distribution over nodal elements | |
EP3070630A2 (en) | Data system and method | |
CN108960594A (zh) | 基于区块链与bim模型的建筑多供应链协调系统及方法 | |
Zhang et al. | Construction site information decentralized management using blockchain and smart contracts | |
Panda et al. | Bitcoin and blockchain: history and current applications | |
Fadaeddini et al. | Secure decentralized peer-to-peer training of deep neural networks based on distributed ledger technology | |
CN115049398A (zh) | 一种完备的数据资产可信管理和价值流转系统和方法 | |
JP2023535914A (ja) | 機密保護プロトコルを使用するサプライ・チェーン用の持続可能なトークン | |
CN113129149A (zh) | 基于区块链和安全多方计算的交易风险识别方法和装置 | |
US20220036323A1 (en) | Electronic wallet allowing virtual currency expiration date | |
Duan et al. | Attacks against cross-chain systems and defense approaches: A contemporary survey | |
Pervez et al. | Signed: Smart city digital twin verifiable data framework | |
Wen et al. | Application of blockchain technology in data management: advantages and solutions | |
CN114493594B (zh) | 基于区块链和联邦学习的海洋数据共享方法、系统及介质 | |
Guo et al. | B 2 sfl: A bi-level blockchained architecture for secure federated learning-based traffic prediction | |
CN116684160A (zh) | 一种公益诉讼数据安全共享与隐私保护方法和系统 | |
CN114830594A (zh) | 合作伙伴的匿名化 | |
Wibowo et al. | The utilization of blockchain for enhancing big data security and veracity | |
CN115514762A (zh) | 数据可信共享方法、边缘服务器、终端及系统 | |
Johansson | Assessing blockchain technology for transport data logger | |
Swapna et al. | An efficient distributive framework for preserving data privacy through block chain | |
Han et al. | Research on blockchain cross-chain model based on “NFT+ Cross-chain bridge” | |
Yu et al. | Blockchain-based solutions for mobile crowdsensing: A comprehensive survey | |
Auvolat | Probabilistic methods for collaboration systems in large-scale trustless networks |
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 |