CN113342418B - 基于区块链的分布式机器学习任务卸载方法 - Google Patents

基于区块链的分布式机器学习任务卸载方法 Download PDF

Info

Publication number
CN113342418B
CN113342418B CN202110707242.4A CN202110707242A CN113342418B CN 113342418 B CN113342418 B CN 113342418B CN 202110707242 A CN202110707242 A CN 202110707242A CN 113342418 B CN113342418 B CN 113342418B
Authority
CN
China
Prior art keywords
data
key
value
quality
dependency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110707242.4A
Other languages
English (en)
Other versions
CN113342418A (zh
Inventor
金志勇
李俊
关心
刘永楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mudanjiang university
State Grid Heilongjiang Electric Power Co Ltd
Heilongjiang University
Original Assignee
Mudanjiang university
State Grid Heilongjiang Electric Power Co Ltd
Heilongjiang University
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 Mudanjiang university, State Grid Heilongjiang Electric Power Co Ltd, Heilongjiang University filed Critical Mudanjiang university
Priority to CN202110707242.4A priority Critical patent/CN113342418B/zh
Publication of CN113342418A publication Critical patent/CN113342418A/zh
Application granted granted Critical
Publication of CN113342418B publication Critical patent/CN113342418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

基于区块链的分布式机器学习任务卸载方法,涉及计算机任务卸载技术领域,针对现有技术中任务卸载时不能保护隐私的问题,包括步骤一:对区块链上共享的数据进行质量评估;步骤二:根据数据质量评估模块的质量评估结果,对低质量数据进行修复;步骤三:利用分布式强化学习算法获得近似最优化的策略,并利用该策略对修复后的低质量数据上的任务进行卸载。本申请形式化了低质量数据上基于区块链的面向边缘计算的任务卸载问题,这个问题考虑了严格的延迟约束,同时最大化了任务结果的质量和系统的效用。为低质量数据上的任务卸载提供高质量的策略。针对能源互联网中的低质量数据,实验结果说明了本文提出的面向边缘计算的任务卸载框架的有效性。

Description

基于区块链的分布式机器学习任务卸载方法
技术领域
本发明涉及计算机任务卸载技术领域,具体为基于区块链的分布式机器学习任务卸载 方法。
背景技术
随着能源互联网的发展,越来越多的用户通过不同类型的边缘设备分享数据,如智能 手机、笔记本电脑、智能汽车和台式电脑等。这些数据中包含了丰富的信息,如负载需求 或者电能出力,这促使了大量的计算任务来发现数据中包含的有价值的知识(N.Bui,A.P. Castellani,P.Casari,and M.Zorzi,“The internet of energy:a web-enabledsmart grid system,” IEEE Network,vol.26,no.4,pp.39–45,July-August 2012.)。
然而,在实际的任务中,在这些多源数据上进行计算是具有挑战性的(Z.Xiong,Y.Zhang,D.Niyato,P.Wang,and Z.Han,“When mobile blockchain meets edgecomputing,”IEEE Communications Magazine,vol.56,no.8,pp.33–39,August 2018.)。第一,这些多源的数据来 自于能源互联网中异构的设备(H.-N.Dai,Z.Zheng,and Y.Zhang,“Blockchain for internet of things:A survey,”IEEE Internet of Things Journal,vol.6,no.5,pp.8076–8094,October 2019.), 这会导致在数据集成中很多的挑战,比如数值的缺失。这些低质量的数据可能无法支持各 种各样的任务,也会导致计算结果中存在潜在的风险。第二,能源互联网中边缘设备产生 了大量的数据,这使得很难在资源受限的边缘设备上进行快速的计算(T.X.Tran and D. Pompili,“Joint task offloading andresource allocation for multi-server mobile-edge computing networks,”IEEETransactions on Vehicular Technology,vol.68,no.1,pp.856–868,January 2019.)。一个替代性的想法是上传所有数据到服务器中来获得结果,但是由于通信带宽的 限制这也是低效的。这些设备上的任务可以在本地计算一部分,也可以通过服务器计算一 部分,这样可以减少时间代价。基于这个想法,人们设计了任务卸载算法,在边缘节点和 附近的服务器之间分担计算负担(Y.Gu,Z.Chang,M.Pan,L.Song,and Z.Han,“Joint radio andcomputational resource allocation in iot fog computing,”IEEE Transactions onVehicular Technology,vol.67,no.8,pp.7475–7484,August 2018.)(A.Ndikumana,N.H.Tran,T.M.Ho, Z.Han,W.Saad,D.Niyato,and C.S.Hong,“Joint communication,computation,caching,and control in big data multi-access edge computing,”IEEETransactions on Mobile Computing,vol. 19,no.6,pp.1359–1374,June 2020.)。然而,当在边缘节点之间分享数据的时候,需要在分 布式算法中仔细地考虑隐私问题(Z.Cai,Z.He,X.Guan,and Y.Li,“Collective data- sanitization for preventing sensitiveinformation inference attacks in social networks,”IEEE Transactions onDependable and Secure Computing,vol.15,no.4,pp.577–590,July-August 2018.)(Z.Cai and X.Zheng,“A private and efficient mechanism for data uploading insmart cyber-physical systems,”IEEE Transactions on Network Science andEngineering,vol.7,no.2, pp.766–775,April-June 2020.)(X.Zheng and Z.Cai,“Privacy-preserved data sharing towards multiple parties in industrial iots,”IEEE Journal on Selected Areas in Communications,vol.38, no.5,pp.968–979,May2020.)。用户的敏感信息可能被泄露给没有授权的攻击者,从而引 发风险(Z.Cai,X.Zheng,and J.Yu,“A differential-private framework for urban traffic flowsestimation via taxi companies,”IEEE Transactions on Industrial Informatics,vol.15,no.12,pp. 6492–6499,December 2019.)。第三,分布式任务卸载算法给边缘计算节点提供了任务分配 方法,以此来协同高效地计算部分任务。然而,低质量数据可能影响任务卸载后的计算结 果。例如,即使采用了最优化的任务卸载方案,边缘节点单独地计算包含不一致数值的任 务(S.Ma,L.Duan,W.Fan,C.Hu,and W.Chen,“Extendingconditional dependencies with built-in predicates,”IEEE Transactions onKnowledge and Data Engineering,vol.27,no.12,pp. 3274–3288,December 2015.)也会导致冲突的结果,这将导致诸如深度学习这样的计算任务 的收敛缓慢。因此,有必要在设计任务卸载算法时考虑数据集合的质量,进而避免产生带 有风险的结果。
在现有的研究中,为了解决上面提出的任务卸载中的三个主要问题,研究者从不同的 角度提出了多种方法。为了提高数据质量,多种数据修复和数据清洗的理论和算法(S.Hao, N.Tang,G.Li,J.He,N.Ta,and J.Feng,“A novel cost-based model for datarepairing,”IEEE Trans-actions on Knowledge and Data Engineering,vol.29,no.4,pp.727–742,April 2016.)被 提出了。通过修复规则(S.Ma,L.Duan,W.Fan,C.Hu,andW.Chen,“Extending conditional dependencies with built-in predicates,”IEEETransactions on Knowledge and Data Engineering, vol.27,no.12,pp.3274–3288,December 2015.)低质量的数据可以通过迭代式的步骤发现和 修复,比如修复缺失值,改正不一致的数值,进行实体识别。为了在数据分享时保护隐私, 基于区块链的方法(Y.Lu,X.Huang,K.Zhang,S.Maharjan,and Y.Zhang,“Blockchain empowered asynchronousfederated learning for secure data sharing in internet of vehicles,” IEEETransactions on Vehicular Technology,vol.69,no.4,pp.4298–4311,April 2020.)(V.Hassija,V.Chamola,S.Garg,N.G.K.Dara,G.Kaddoum,and D.N.K.Jayakody,“Ablockchain-based framework for lightweight data sharing and energy trading inv2g network,” IEEE Transactions on Vehicular Technology,June 2020.)被提出了。区块链是一个分布式的无 法更改的账本,用户可以将数据上传到区块链上,并通过内嵌的去中心化的信任机制与其 它的用户进行分享(Z.Xiong,S.Feng,W.Wang,D.Niyato,P.Wang,and Z.Han,“Cloud/fog computing resource management and pricing forblockchain networks,”IEEE Internet of Things Journal,vol.6,no.3,pp.4585–4600,June 2019.)。不仅如此,联邦学习也是一种有效地分享 信息的方法(Y.Lu,X.Huang,K.Zhang,S.Maharjan,and Y.Zhang,“Blockchain empowered asynchronous federatedlearning for secure data sharing in internet of vehicles,”IEEE Transactionson Vehicular Technology,vol.69,no.4,pp.4298–4311,April 2020.)(D.Chen,C.S.Hong,L.Wang,Y.Zha,Y.Zhang,X.Liu,and Z.Han,“Matching theory based low-latencyscheme for multi-task federated learning in mec networks,”IEEE Internet ofThings Journal,pp. 1–1,2021.)(L.U.Khan,S.R.Pandey,N.H.Tran,W.Saad,Z.Han,M.N.H.Nguyen,and C.S. Hong,“Federated learning for edge networks:Resourceoptimization and incentive mechanism,” IEEE Communications Magazine,vol.58,no.10,pp.88–93,October 2020.)。不是数据本身, 联邦学习算法与其它的节点分享所学到的模型的参数。为了提升计算的效率,研究者也提 出了很多任务卸载方法(K.Zhang,Y.Zhu,S.Leng,Y.He,S.Maharjan,and Y.Zhang,“Deep learning empowered taskoffloading for mobile edge computing in urban informatics,”IEEE Internet ofThings Journal,vol.6,no.5,pp.7635–7647,October 2019.)(Z.Zhang,Z.Hong,W. Chen,Z.Zheng,and X.Chen,“Joint computation offloading and coin loaning forblockchain-empowered mobile-edge computing,”IEEE Internet of Things Journal,vol.6,no.6, pp.9934–9950,December 2019.)。在多种场景下的优化卸载计划可以通过不同的理论获得, 比如基于联合优化理论(Z.Zhang,Z.Hong,W.Chen,Z.Zheng,and X.Chen,“Joint computation offloading and coin loaning for blockchain-empoweredmobile-edge computing,” IEEE Internet of Things Journal,vol.6,no.6,pp.9934–9950,December 2019.)。
然而,为了在低质量数据上有效且高效的卸载任务,上面的这些研究还要面临另外三 个主要的挑战。第一,当提高数据质量时,数据修复算法可能没有保护隐私。第二,基于 区块链的算法在分享数据或者模型时没有数据质量的保证。第三,现有的任务卸载算法专 注于优化任务的计算量,但是没有考虑分布式计算节点上待处理数据的质量。
发明内容
本发明的目的是:针对现有技术中任务卸载时不能保护隐私的问题,提出基于区块链 的分布式机器学习任务卸载方法。
本发明为了解决上述技术问题采取的技术方案是:
基于区块链的分布式机器学习任务卸载方法,包括以下步骤:
步骤一:对区块链上共享的数据进行质量评估;
步骤二:根据数据质量评估模块的质量评估结果,对低质量数据进行修复;
步骤三:利用分布式强化学习算法获得近似最优化的策略,并利用该策略对修复后的 低质量数据上的任务进行卸载。
本发明的有益效果是:
本申请采用了联盟区块链来保护分布式的数据的隐私。在这个框架中,被分享的数据 的质量将被评估和提升,来获得高质量的任务卸载策略。本申请形式化了低质量数据上基 于区块链的面向边缘计算的任务卸载问题,这个问题考虑了严格的延迟约束,同时最大化 了任务结果的质量和系统的效用。本申请为低质量数据上的任务卸载提供高质量的策略。 针对能源互联网中的低质量数据,实验结果说明了本文提出的面向边缘计算的任务卸载框 架的有效性。
附图说明
图1为本申请的任务卸载框架图;
图2为用于修复的共识示意图;
图3为面向任务卸载的分布式强化学习网络示意图;
图4为数据质量的评估中原始的数据质量示意图;
图5为数据质量的评估中组织1的数据质量示意图;
图6为数据质量的评估中组织2的数据质量示意图;
图7为数据质量的评估中组织3的数据质量示意图;
图8为数据修复结果中原始的数据质量示意图;
图9为数据修复结果中组织1的数据质量示意图;
图10为数据修复结果中组织2的数据质量示意图;
图11为数据修复结果中组织3的数据质量示意图;
图12为DELTA的训练过程中损失的变化图;
图13为DELTA的训练过程中奖励的变化图;
图14为DELTA中的学习率的影响中对于损失的影响示意图;
图15为DELTA中的学习率的影响中对于奖励的影响示意图;
图16为不同场景下DELTA的性能变化中对于损失的影响示意图;
图17为不同场景下DELTA的性能变化中奖励的变化示意图;
图18为DELTA在不同的设备上的性能中对损失的影响示意图;
图19为DELTA在不同的设备上的性能中奖励示意图。
具体实施方式
需要特别说明的是,在不冲突的情况下,本申请公开的各个实施方式之间可以相互组 合。
具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的基于区块链的分 布式机器学习任务卸载方法,包括以下步骤:
步骤一:对区块链上共享的数据进行质量评估;
步骤二:根据数据质量评估模块的质量评估结果,对低质量数据进行修复;
步骤三:利用分布式强化学习算法获得近似最优化的策略,并利用该策略对修复后的 低质量数据上的任务进行卸载。
具体实施方式二:本实施方式是对具体实施方式一的进一步说明,本实施方式与具体 实施方式一的区别是所述质量评估的度量参数为信息质量和组织因子;
所述信息质量包括数据完整性、数据冗余、数据一致性和数据精确性四个质量维度。
具体实施方式三:本实施方式是对具体实施方式二的进一步说明,本实施方式与具体 实施方式二的区别是所述步骤一中对区块链上共享的数据进行质量评估的顺序为:
数据完整性<数据冗余,
数据冗余<数据一致性,
数据完整性<数据一致性,
数据完整性<数据精确性;
所述质量评估的步骤为:
对于数据完整性,键-值对通过联盟中的计算节点进行收集,当算法DataCplEva在键- 值对中发现了一个缺失值,对于每个给定的数据类型和条件包含依赖集合,如果这个键-值 对匹配了某条条件包含依赖的左手边,则在键-值对中的缺失值能在这条给定的条件包含依 赖中找到,算法DataCplEva不会标记这个缺失值为缺失,否则,算法DataCplEva会标记 这个缺失值为缺失;
对于数据冗余度,键-值对通过联盟中的计算节点进行收集,对于每个类型和给定的匹 配依赖集合,如果两个键-值对匹配了某条匹配依赖的左手边,则匹配了这条匹配依赖的右 手边的值会被判定为相似的或者冗余的,算法DataCplEva将标记两个键-值对为冗余的;
对于数据一致性,键-值对通过联盟中的计算节点进行收集,对于每个类型和给定的条 件函数依赖集合,如果两个键-值对匹配了某条条件函数依赖的左手边,但是它们的值没有 匹配条件函数依赖的右手边,算法DataConsEva将标记两个键-值对为不一致的;
对于数据精确性,键-值对通过联盟中的计算节点进行收集,对于每个类型和给定的条 件包含依赖和精确性需求集合,如果一个键-值对匹配了某条精确性需求的左手边,而其值 没有匹配精确性需求的右手边,则算法DataAccEva发现了一条错误值,如果这个键值对匹 配了一条条件包含依赖的左手边,并且可以根据条件包含依赖中给出的值来改正键-值对中 的错误值,算法DataAccEva将不会标记这个错误值为不精确的,否则,DataAccEva将标 记这个值为不精确的;
最后,根据四个质量维度的结果评估区块链上分享的数据的质量。
具体实施方式四:本实施方式是对具体实施方式三的进一步说明,本实施方式与具体 实施方式三的区别是所述数据完整性表示为:
Figure BDA0003131850450000041
其中,key(i,CCIND,B,ty)表示从组织i在区块链B上分享的ty类型的全部的键值集合, key(i,CCIND,B,ty)满足CIND的集合CCIND,key(CCIND,ty)表示在条件包含依赖集合CCIND中的 ty类型的所有键值集合,CIND表示条件包含依赖。
具体实施方式五:本实施方式是对具体实施方式四的进一步说明,本实施方式与具体 实施方式四的区别是所述数据冗余表示为:
Figure BDA0003131850450000042
其中Pair(i,CMD,B,ty)表示从组织i分享在区块链B上的类型为ty,并被给定的匹配依赖 集合CMD确认为冗余数据的键值对集合,Pair(B,ty)表示分享在区块链B上类型为ty的键值 对的集合,MD表示匹配依赖。
具体实施方式六:本实施方式是对具体实施方式五的进一步说明,本实施方式与具体 实施方式五的区别是所述数据一致性表示为:
Figure BDA0003131850450000051
其中Pair(i,CCFD,B,ty)表示组织i在区块链B上分享的类型为ty的键-值对集合,且被 给定的条件函数依赖集合CCFD判定为一致的,Pair(B,ty)表示在区块链B上类型为ty的键- 值对集合,CFD表示条件函数依赖。
具体实施方式七:本实施方式是对具体实施方式六的进一步说明,本实施方式与具体 实施方式六的区别是所述数据精确性表示为:
Figure BDA0003131850450000052
其中key(i,CCIND,Creq,B,ty)表示组织i在区块链B上分享的ty类型的数据的全部键的集合, 全部键的集合满足精确性需求或者匹配给定的条件包含依赖集合CCIND,key(B,ty)表示区块 链B上ty类型数据的全部键的集合,Creq表示精确性需求。
具体实施方式八:本实施方式是对具体实施方式七的进一步说明,本实施方式与具体 实施方式七的区别是所述步骤一对区块链上共享的数据进行质量评估表示为:
Figure BDA0003131850450000053
Figure BDA0003131850450000054
Figure BDA0003131850450000055
Figure BDA0003131850450000056
Figure BDA0003131850450000057
其中,
Figure BDA0003131850450000058
表示组织i的数据质量维度,ty表示分享的键-值对的类型,组织意愿OrgWi∈[0,1],OrgCnt表示必须要进行数据修复的组织的数量,RepCost(j,ty)是修复第j个组织的 类型为ty的低质量数据的代价,j是需要进行数据修复的其它组织的编号,w1,w2,w3,w4∈[0,1], w1,w2,w3,w4表示权值,i表示组织的序号,OrgFac表示组织因子。
具体实施方式九:本实施方式是对具体实施方式八的进一步说明,本实施方式与具体 实施方式八的区别是所述对低质量数据进行修复的修复方法为:
1)对于数据完整性,键-值对由联盟中的一个计算节点收集,当某个键-值对中的缺失值 被算法DataCplRep发现时,对于每个给定的类型和条件包含依赖集合,如果这个键-值对 匹配了一条条件包含依赖的左部,则在键-值对中缺失的值可以在给定的条件包含依赖中的 值中找到,DataCplRep将填充这个缺失值;
2)对于数据冗余性,键-值对由联盟中的一个计算节点收集,对于每个给定的类型和匹 配依赖集合,如果两个键-值对匹配了一条匹配依赖的左部,则在键-值对中匹配了匹配依赖 右部的值将被判定为相似的或者冗余的,DataDupRep将删掉这两个键值对中的一个;
3)对于数据一致性,键-值对由联盟中的一个计算节点收集,对于每个给定的类型和条 件函数依赖集合,如果两个键-值对匹配了一条条件函数依赖的左部,键-值对匹配了条件函 数依赖的右部,DataConsRep将通过相同的值来修复键值对;
4)对于数据精确性,键-值对通过联盟中的计算节点进行收集,对于每个类型、给定的 条件包含依赖和精确性需求集合,如果一个键-值对匹配了某条精确性需求的左手边,而其 值没有匹配精确性需求的右手边,则算法DataAccRep发现了一条错误值,如果这个键值对 匹配了一条条件包含依赖的左手边,并且可以根据条件包含依赖中给出的值来改正键-值对 中的错误值,算法DataAccRep将通过匹配的条件包含依赖来改正错误的值。
具体实施方式十:本实施方式是对具体实施方式九的进一步说明,本实施方式与具体 实施方式九的区别是所述分布式强化学习算法基于DELTA,DELTA具体执行如下步骤:
首先初始化网络和多个分布式执行者,执行者进行动作后计算奖励,即任务卸载的效 果,然后进行迭代,每次迭代中,通过计算目标分布与当前分布的损失,计算出折扣后的 奖励的影响和带来的误差,通过误差的反向传播来更新执行者和评论者网络,每一步中, 目标网络和分布式的行动者通过学到的参数进行更新。
具体的执行步骤如下:
首先初始化网络和若干个分布式执行者,执行者进行动作后计算奖励,即任务卸载的 效果。每次迭代中,采用经验回放来学习任务卸载带来的变化。通过计算目标分布与当前 分布的损失,可以计算出折扣后的奖励的影响和带来的误差。通过误差的反向传播来更新 执行者和评论者网络。每一步中,目标网络和分布式的行动者通过学到的参数进行更新。 对于每个分布式的行动者,它们只是尝试采取不同的动作,并存储不同的转移结果。
策略定义为π:X→A,并利用该定义将每一个观察映射为动作,状态-动作值函数描述根 据策略π,在状态s执行了动作a后在不同时刻后期望的折扣后的回报,表示为:
Figure BDA0003131850450000061
采用基于D4PG的策略梯度方法,获得Q值,考虑带有参数的策略πθ,通过优化
Figure BDA0003131850450000062
最大化参数后的策略,通过采用确定性策略梯度定理,这一目标的梯度定义为
Figure BDA0003131850450000063
其中ρ是某个行为策略下的状态-访问分布;
对应的损失函数定义为:
L(w)=Eρ[d(Tπθ′Zw′(x,a),Z(x,a))]
其中d是个度量,
采用N步回报来估计时序差分的误差,用改进的N步更新Bellman操作符,表示为:
Figure BDA0003131850450000071
其中,xt表示t时刻的状态,at表示t时刻的动作、t表示时刻、γt表示折扣率的t次幂、r()表示奖励、Eρ表示在分布ρ下的期望、
Figure BDA0003131850450000072
表示θ的梯度、πθ表示带有参数的策略、 x表示一个状态、
Figure BDA0003131850450000073
表示a的梯度、
Figure BDA0003131850450000074
表示以πθ为策略的状态-动作值函数、a表示动作、 T表示分布操作符、Zw′表示以w′为参数的状态-动作分布、πθ′表示以θ′为参数的策略、Z表 示状态-动作的分布、r(x0,a0)表示在初始状态执行第一个动作后的奖励、N表示一个整数、 n表示步数、γn表示折扣率的n次幂、r(xn,an)表示在状态xn,执行动作an后的奖励、γN表示折扣率的N次幂、Q表示状态-动作值函数、xN表示第N步的状态。
本申请的原理是:
在本申请中,为了克服现有技术的缺点和挑战,我们的目标是获得高质量的面向边缘 计算的任务卸载策略,并可以保护隐私。为了解决上面的问题,提出了一个面向边缘计算 的基于区块链和分布式强化学习的任务卸载框架。因为具有利于任务卸载高效的共识机制, 联盟区块链被用作一个重要的设施。这个框架分为三个重要的部分:数据质量评估(DQ), 数据修复(DR)和面向任务指派的分布式强化学习算法(DELTA)。
1)在DQ模块中,以规则形式考虑了多种数据质量维度,对区块链上共享的数据进行 了全面的质量评估。
2)在DR模块中,提出了用于修复区块链上低质量数据的共识机制,基于这种机制设 计了修复算法来为计算任务提供高质量的数据。
3)在DELTA模块中,在低质量数据上基于区块链进行任务卸载问题(BTOLD)的复杂性 被证明为NP-难的。设计了低质量数据的分发策略来为这些任务提供质量的结果。基于这 种数据分发策略,设计了一个分布式强化学习算法来指派低质量数据上的计算任务。
本申请的主要贡献如下:
1)提出了一个面向边缘计算的任务卸载框架,它采用了联盟区块链来保护分布式的数 据的隐私。在这个框架中,被分享的数据的质量将被评估和提升,来获得高质量的任务卸 载策略。
2)形式化了低质量数据上基于区块链的面向边缘计算的任务卸载问题,这个问题考虑 了严格的延迟约束,同时最大化了任务结果的质量和系统的效用。
3)提出了一个分布式的强化学习算法,来为低质量数据上的任务卸载提供高质量的策 略。针对能源互联网中的低质量数据,实验结果说明了本文提出的面向边缘计算的任务卸 载框架的有效性。
本申请余下的部分如下组织。第二部分提出了任务卸载框架,它包含了以下部分:数 据质量评估模块,将在第三部分详细介绍;数据修复模块,将在第四部分详细介绍;以及分布式强化学习方法,将在第五部分详细介绍。仿真结果将在第六部分展示。本申请的结论将在第七部分给出。
低质量数据上基于区块链的面向边缘计算的任务卸载框架
在这部分中,将介绍一个在低质量数据上面向边缘计算的任务卸载框架。这个框架是 基于Hyperledger Fabric实现的联盟区块链。需要注意的是,私有区块链的数据通常无法被 许多边缘设备访问和更新,这使得在边缘计算时无法进行任务卸载。与其它类型的公链相 比,采用联盟区块链来进行带有隐私保护的任务卸载更为有效和高效的原因,主要有以下 三点:
1)任何用户都可以上传数据到公有区块链中,这不仅引入了更多的不同质量的数据, 而且使得很难通过基于多数投票的采用规则的方法来修复数据。
2)在公链上产生一个新的区块是十分缓慢的,这是因为其共识机制是很耗时的,比如 工作量证明这种共识机制,这将给资源受限的边缘设备带来很大的计算负担,而且将带来 额外的待卸载的任务。
3)在公有区块链上任何用户都可以访问存储的数据,但是不需要严格的身份认证,这 将使得一个用户可以通过设计多个查询来发现一些敏感的信息。
图1展示了低质量数据上面向边缘计算的任务卸载框架。区块链上不同组织中的用户 通过交易来分享不同的边缘设备中的异构数据。
在Fabric中,通过身份认证机构颁发身份认证,组织中的用户或者管理员可以发起组 织之间的交易。然后,组织中的背书节点将确认签名,并执行交易。当客户端在一个交易 中收集了足够的背书后,交易将被确认和提交,这将使得账本被更新。一个联盟由多个认 证后组织组成,同时经它们同意后也将通过一系列的策略来定义许可条件。通常,通过背 书和共识机制,错误的数据,比如缺失值,可以被检测到和阻挡,这将不会使得联盟的账本被更新。
但是,一些缺失的信息可能不容易被发现,除非经过仔细的检查。例如,一个组织中 的一名用户或者管理员想要分享5本书的信息,但是他忘记了1本书的信息,这使得账本中只存储了4本书的信息。如果不知道数目的总数,其它的组织也将同意这笔交易,因为 它们不会发现那本缺失的书的信息,这将引发区块链上的数据不完整。
因此,在框架中,为了有效且高效地分析低质量的数据,正如第一部分中提到的,有 三个关键的连续模块:数据质量评估、数据修复和高质量的任务卸载。在数据质量评估模 块,多个组织中的经过认证的边缘用户将从第3部分中设计的4个不同的质量维度来检查 数据的质量,然后与其它组织中的用户分享数据质量评估的分数。在数据修复模块,根据 数据质量的评分,在4个维度中,多个组织中经过认证的边缘用户首先决定数据修复的顺 序,然后通过第4部分设计的算法来修复区块链上分享的低质量的数据。为了提供低延迟 高质量的结果,在本文中研究了BTOLD问题。因为BTOLD问题是NP-难的,在第5部分 中提出了一个基于D4PG的分布式强化学习算法,它为任务卸载的场景提供了近似最优化 的策略。
数据质量评估
为了获得高质量的结果,数据必须提供必要的信息。然而,由于关键信息的错误,在 区块链上分享的数据可能无法支持各种任务。因此,全面的评估分享在联盟区块链上的数 据的质量是很重要的,这不仅能为数据修复提供引导,而且可以避免在低质量数据上进行 任务卸载获得错误的结果。联盟区块链上数据的质量度量
为了全面的评估联盟区块链上的数据质量,考虑了多个质量维度的影响。数据质量度 量的参数MDQ=(IQ,OrgFac)由两个分量组成,信息质量IQ和组织因子OrgFac,它们的定 义如下:
信息质量IQ是基于下面4个质量维度的:
1)数据完整性:数据完整性时一个数据质量维度,它度量了一个数据集合包含某一种 类的数据的程度。数据完整性越高,某一种类数据可以提供的信息就越多。因为交易中包 含了键-值对这样的分享的数据,并且交易需要被多个组织中的许多用户和管理员来确认, 缺失值可以很容易地被发现。然而,这些决策者可能并不知道数据的分享者遗忘了哪些键- 值对。
因此,为了发现这些缺失值,需要提供额外的知识。不同的数据质量规则(S.Ma,L.Duan, W.Fan,C.Hu,and W.Chen,“Extending conditional dependencies with built-in predicates,” IEEE Transactions on Knowledge and Data Engineering,vol.27,no.12,pp.3274–3288, December 2015.)可以用来发现缺失数据。件包含依赖CIND定义为一个数据对,它包含了一 个包含依赖
Figure BDA0003131850450000091
以及一个模式表,表中通过语义信息定义了R1和R2中对应的 键-值对的对应关系。例如,一个CINDCIND Book定义如下:
Figure BDA0003131850450000092
它说明了对于每一个在区块链上分享的数据集合SharedData中的键-值对KVSD,如果 它的类型是‘book’(类型信息可以通过对应的值给出),那么在Book的集合上一定存在一个 键值对KVBook。对应的KVSD和KVBook具有一致的键-值对。因此,通过包含CINDBook,在Book中可以找到SharedData中缺失的键值对,并且可以在新的交易中通过对应值修复在区块链上的键值对。本文中,采用条件函数依赖来确定新的键值对是否要与已经在区块链上分享的键值对一起分享。
基于给定的CCIND,组织i分享的数据的数据完整性Cpl(i,CCIND,B,ty)(简写为Cplty i)定义 为:
Figure BDA0003131850450000093
其中key(i,CCIND,B,ty)是从组织i在区块链B上分享的ty类型的全部的键值集合,它满 足CIND的集合CCIND,而key(i,CCIND,ty)是在CIND集合CCIND中的ty类型的所有键值集合。通过 包含Cpl(i,CCIND,B,ty),基于给定的CIND集合可以衡量区块链上存储的某一类型数据的程度, 它可以为后续的任务卸载算法选择完整的数据提供支持。
2)数据冗余:数据冗余(W.Fan,S.Ma,N.Tang,and W.Yu,“Interaction betweenrecord matching and data repairing,”Journal of Data and Information Quality(JDIQ),vol.4,no.4,pp.1–38,May 2014.)是一个数据质量维度,它度量了数据集合 中包含某个类型的冗余数据的程度。冗余度越高,数据集合中包含的多余数据越多。当多 源数据进行集成和分享在区块链上时,指代相同实体或者资产的键值,可能被不同的组织 以不同的形式表示,而且其对应的值可能包含了多种特征。因此,在多源异构数据上进行 去重时,可以将描述相同实体的键值进行连接,进而将部分信息合并为全面的信息,这些 信息可以为后续的任务提供有效地支持。
然而,对于分享在区块链上的数据进行去重可能是一项困难的任务,因为在键中包含 的信息是有限的。为了找到同一实体的键值对,可以利用包含在值中的数据来获得更多的 信息。为了高效地确认这样的键值对,匹配依赖(MDs)可以在不同的值上提供简洁的规则。 一个针对两个键值对(R1,R2)的匹配依赖
Figure BDA0003131850450000101
定义为:
Figure BDA0003131850450000102
其中(X1,X2)(以及(Y1,Y2))是定义在(R1,R2)上的可比较列表,并且,对于每个j∈[1,k],≈j是 一个相似性操作符,以及k=|X1|。把
Figure BDA0003131850450000103
Figure BDA0003131850450000104
分别称作
Figure BDA0003131850450000105
的左手 边和右手边。直观上,
Figure BDA0003131850450000106
说明如果R1[X1]R2[X2]是关于某个相似度量是相似的,那么R1[Z1]和 R2[Z2]描述了相同的特征,并且可以被合并。
基于给定的MD集合CMD,组织i分享的数据的数据冗余度Dup(i,CMD,B,ty)(简写为
Figure BDA0003131850450000107
) 可以定义为:
Figure BDA0003131850450000108
其中Pair(i,CMD,B,ty)是从组织i分享在区块链B上的类型为ty,并被给定的MD集合CMD确 认为冗余数据的键值对集合,Pair(B,ty)是分享在区块链B上类型为ty的键值对的集合。通 过Dup(i,CMD,B,ty),基于给定的MD集合可以度量存储在区块链上的某一类型数据的冗余度, 可以为任务卸载算法选择简洁的数据提供支持。
3)数据一致性:数据一致性(S.Ma,L.Duan,W.Fan,C.Hu,and W.Chen, “Extendingconditional dependencies with built-in predicates,”IEEE Transactions onKnowledge and Data Engineering,vol.27,no.12,pp.3274–3288,December 2015.)是数据质量的一个维度,它衡量了一个数据集合中包含了某一类型的数据中的冲突 值的程度。数据一致性越高,数据集合中包含的不一致的信息越少。由于共识机制和对交 易的确认,通常在联盟中通常不会出现。然而,当多源数据被集成到一起和分享时,对于 来自于不同的异构数据源中的冗余键值对,一些对应于冗余键的值可能会产生冲突,虽然 这些值在原本的数据集合中都被认为是正确的。例如,某位作者的名字是“Richard Wang”, 但是可能在不同的集合中被存为“R.Wang”或者“Richard Wang”。维护多源异构的被分享的数 据的一致性可以为不同的任务提供相同的信息,进而获取同一实体或者资产的知识。
不一致的键值对可以通过条件函数依赖CFD高效地发现,CFD明确了如果两个键值对 匹配了一个给定的CFD的条件,那么它们必须提供CFD中指定的相同的值。一个定义在包含了键-值对的特征集合R上的函数依赖表示为一个二元组:(R:X→Y,Tp)其中(1)X, Y是值中描述的特征,(2)X→Y是标准的函数依赖(FD),(3)Tp是一个包含了X和Y的 表,对于每个在X∪Y中的特征A,以及每个键-值对p∈Tp,p[A]是一个常数“a”或者匿名 的变量“*”。
例如,一个CFDφ定义为:
([UniName,DepNo]→[DepName],Tp)
Tp:(‘UniName’=‘HIT’,DepNo=‘03’,DepName=‘CS’)
这个CFDφ说明了在描述了大学信息的键-值对集合中,对每个键-值对,如果以所大 学的名称是“HIT”,以及学院的编号是“03”,那么这个学院的名字一定是“CS”。
基于给定的CFD集合CCFD,组织i分享的数据的数据一致性Cons(i,CCFD,B,ty)(简写为
Figure BDA0003131850450000111
) 定义为:
Figure BDA0003131850450000112
其中Pair(i,CCFD,B,ty)是组织i在区块链B上分享的类型为ty的键-值对集合,且被给 定的CFD集合CCFD判定为一致的,Pair(B,ty)表示在区块链B上类型为ty的键-值对集合。 通过Cons(i,CCFD,B,ty),给定CFD集合时可以度量区块链上存储的某一类型数据的一直程度,它 可以为任务卸载算法选择一致的数据提供支持。
4)数据精确性:数据精确性(Y.Cao,W.Fan,and W.Yu,“Determining therelative accuracy of attributes,”in Proceedings of the 2013ACM SIGMODInternational Conference on Management of Data.New York,NY,USA: Associationfor Computing Machinery,June 2013,pp.565–576.)是一个数据质量维 度,它衡量了一个数据集合中包含的某个类型数据距离真实值的程度。数据精确性越高, 数据集合包含的数据越接近真实值。当多源异构的数据被集成和共享在区块链上时,通过 共识机制和交易的确认,根据公司或者法规给定的规则认可的数据被分享在区块链上。然 而,随着时间的变化,一些规则会被新的组织更改,这使得一些被分享在区块链上的数据 远离真实值,或者对更进一步的应用来说是不准确的。例如,在一个键-值对中,一个雇员 的薪水实际是每个月6321元,根据之前的规则链上分享的数据中记录的是“5k+”元。然而, 一个最近的任务是分析薪水和销售之间的关联,由于之前的粗略的规则将使得这个任务无 法获得精细的分析结果。保持分享的数据的精确性可以为不同的任务提供准确的信息,这 些任务可以从实体或者资产中获得精细的知识。
不正确的键-值对也可以被CIND集合高效的识别,它可以提供一种方法根据区块链上 分享的值访问最新的值或者对应的精确值。
条件包含依赖与“数据完整性”中定义的形式一样。基于给定的CIND集合CCIND和精确性 需求Creq,组织i分享的数据的数据精确性Acc(CCIND,Creq,B,ty)(简写为
Figure BDA0003131850450000113
)定义为:
Figure BDA0003131850450000114
其中key(i,CCIND,Creq,B,ty)是组织i在区块链B上分享的ty类型的数据的全部键的集合,它 们满足Creq或者匹配给定的CIND集合CCIND,key(B,ty)是区块链B上ty类型数据的全部键的集 合。通过Acc(CCIND,Creq,B,ty),区块链上存储的某个类型的数据的准确程度可以通过给定的CIND 集合和精确性需求来度量,可以为精细的任务提供支持。
组织因子OrgFac定义如下:
5)组织因子:联盟区块链由组织组成,它们根据自己的目的分享不同类型的数据。然 后,只要由各个组织制定的基本的策略被满足,共识机制和交易的确认就可以成功进行。 不同的组织经常根据自己的原则提供不同质量的数据。因此,从数据质量的角度,某个组 织分享的数据与其它的组织是不同的。例如,如之前讨论的,组织A愿意更多的分享某个类型的数据,而组织B只愿意分享部分信息。虽然关键信息被分享了,并且对应的交易被 确认了,但是这些信息对于更为深入的任务是非常有限的。对于某个任务,组织A较组织 B提供了数据质量更好的数据,这使得在组织B提供的数据上要先运行数据修复算法,然 后才能获得高质量的结果。
根据某个组织的数据质量来计算组织因子是必要的,它不仅能帮助不同的任务在低质 量的数据选择合适的算法,而且可以帮助数据修复算法来高效地修复相关的数据。然而, 组织因子不容易度量,因为分享于区块链上的数据经常更新,因而数据质量经常变化。因 此,考虑到组织愿意分享高质量数据的信用,以及数据修复的算法的代价,度量方式将在 下面进行定义,并且这个因子会根据(5)随着后续的修复算法持续更新。
Figure BDA0003131850450000121
其中ty是分享的键-值对的类型,组织意愿OrgWi∈[0,1]反映了一个组织愿意分享高 质量数据的程度,OrgCnt是必须要进行数据修复的组织的数量,RepCost(j,ty)是修复第j个 组织的类型为ty的低质量数据的代价。在每个组织开始时,OrgW可以设置为1,或者从其 它数据源进行集成,而RepCost(j,ty)和OrgCnt与分享的数据有关,这两个变量可以通过考虑 了上面4个维度的数据修复算法进行更新。
数据质量度量DQM基于以上讨论的维度定义如下:组织i的所有类型的分享的数据信 息质量(IQ)定义如下
Figure BDA0003131850450000122
其中w1,w2,w3,w4∈[0,1]是根据需求设定的权值。
组织i的所有类型的分享数据的组织因子OrgFaci定义如下:
Figure BDA0003131850450000123
基于(6)和(7),组织i的数据质量维度MDQi定义如下
Figure BDA0003131850450000124
因此,联盟链上所有组织的数据质量度量定义如下
Figure BDA0003131850450000125
考虑了上面的4个维度,MDQ反映了在联盟中所有分享的数据的质量,它的某个分量的值越高说明了对于任务能很好的支持,越低则说明要进行数据修复。
数据质量评估算法
基于(9)中定义的数据质量度量,数据质量可以通过额外的知识来定义,如CFD、MD和CIND的集合。然而,数据质量评估也是一个挑战。因为有许多质量维度,从不同的质 量维度出发,确定准确的顺序来正确地评估数据质量是很重要的。
1)评估的顺序:为了确定评估的顺序,需要分析维度之间的关系。在4个维度中,数据完整性可以保证有足够的数据来支持其它的维度。数据一致性和数据冗余性可能互相影响,因为它们都描述了实体的不同特征。数据精确性要依赖于数据质量需求,可能会引起不同的评估结果。为了表达不同的维度之间的评估顺序,评估顺序操作符<定义如下:
定义1(评估顺序操作符<):A<B表示数据质量维度A要先于数据质量维度B来保证公式(9)能够获得正确结果。
基于定义1,定理1给出了在低质量数据上进行质量评估的顺序。
定理1(评估顺序):数据质量评估应该满足下面的顺序:1)数据完整性<数据冗余,2)数据冗余<数据一致性,3)数据完整性<数据一致性,4)数据完整性<数据精确性。
证明:对于(1),(3)和(4),数据完整性为其它的三个度量:数据冗余、数据一致性、数 据精确性提供了足够的信息;对于(2),数据冗余尽可能多得减少了键-值对,这使得数据冗 余的评估应该早于数据一致性。否则,数据一致性可能会引起更多的冗余的键-值对,因为 根据给定的MD集合,某些值可能会被修改为新的其它的相似的值。
基于定理1,算法1给出了数据质量评估算法。
1)对于数据完整性,键-值对通过联盟中的计算节点进行收集。当算法DataCplEva在键 -值对中发现了一个缺失值,对于每个给定的数据类型和CIND集合,如果这个键-值对匹配 了某条CIND的左手边,那么在键-值对中的缺失值可以在这条给定的CIND中找到,算法 DataCplEva不会标记这个缺失值为“缺失”。否则,算法DataCplEva会标记这个缺失值为“缺 失”,因为无法通过给定的CIND来填充这个缺失值。当标记了区块链上某一类型的所有键 -值对后,记录数据完整性的变量Cpl可以通过公式(1)来计算。
2)对于数据冗余度,键-值对通过联盟中的计算节点进行收集。对于每个类型和给定的 MD集合,如果两个键-值对匹配了某条MD的左手边,那么匹配了这条MD的右手边的值会被判定为“相似的”或者“冗余的”,算法DataCplEva将标记两个键-值对为“冗余的”。当标记了区块链上某一类型的所有键-值对后,记录数据冗余度的变量Dup可以通过公式(2)来计算。
3)对于数据一致性,键-值对通过联盟中的计算节点进行收集。对于每个类型和给定的 CFD集合,如果两个键-值对匹配了某条CFD的左手边,但是它们的值没有匹配CFD的右手边,算法DataConsEva将标记两个键-值对为“不一致的”。当标记了区块链上某一类型的所有键-值对后,记录数据一致性的变量Cons可以通过公式(3)来计算。
Figure BDA0003131850450000131
Figure BDA0003131850450000141
4)对于数据精确性,键-值对通过联盟中的计算节点进行收集。对于每个类型和给定的 CIND和Creq集合(简写为req),如果一个键-值对匹配了某条req的左手边,而其值没有 匹配req的右手边,那么算法DataAccEva就发现了一条错误值。如果这个键值对匹配了一 条CIND的左手边,并且可以根据CIND中给出的值来改正键-值对中的错误值,算法DataAccEva将不会标记这个错误值为“不精确的”。否则,DataAccEva将表示这个值为“不精确的”,因为找个错误的值无法被给定的CIND修复。当标记了区块链上某一类型的所有键-值对后,记录数据精确性的变量Acc可以通过公式(4)来计算。
计算完所有四个维度的结果后,根据公式(9)中定义的结果,可以评估区块链上分享的 数据的质量。
基于区块链的数据修复
如果分享在区块链上的数据质量或者DMQ很低,那么后续的任务无法获得高质量的 结果,即使算法是高效的。因此,对于低质量的数据上的任务来说,数据修复是重要的。在这部分中,将给出修复区块链上的数据的高效算法。
区块链上的修复规则
为了修复区块链上的数据,一个组织的用户或者管理者需要额外的知识和数据。数据 质量评估规则将从4个维度来修复数据。通过数据修复规则的引导,如CIND集合,在不同的组织中的用于修复的数据可以被分享和通过新的交易进行更新。
为了利用区块链,修复规则以键-值对的形式分享在区块链上。键-值对形式的修复规则 如下给出:
1)条件包含依赖(CINDs):根据CIND的定义,键的形式为“CIND+类型+编号”,而值的 部分包含IND的内容和表格。因此,一条CIND的键值对形式是(key=‘CIND+类型+编号’,value=IND的内容+表格)。
2)匹配依赖(MDs):根据MD的定义(W.Fan,S.Ma,N.Tang,and W.Yu, “Interactionbetween record matching and data repairing,”Journal of Data and InformationQuality(JDIQ),vol.4,no.4,pp.1–38,May 2014.),键的形式为“MD+ 类型+编号”,而值的部分包含MD的内容。因此,一条MD的键值对形式是(key=‘MD+类 型+编号’,value=MD的内容)。
3)条件函数依赖(CFDs):根据CFD的定义(W.Fan,F.Geerts,X.Jia,and A.Kementsietsidis,“Conditional functional dependencies for capturing datainconsistencies,”ACM Transactions on Database Systems(TODS),vol.33,no.2,pp.1–48,June 2008.),键的形式为“CFD+类型+编号”,而值的部分包含FD的内容和表 格。因此,一条CFD的键值对形式是(key=‘CFD+类型+编号’,value=FD的内容+表格)。
4)精确性需求(ARs):对于精确性需求,键的形式为“AR+类型+编号”,而值的部分包含 在不同值上的精确性需求。因此,一条AR的键值对形式是(key=‘AR+类型+编号’,value= 需求的内容)。
区块链上的修复算法
基于上面定义的修复规则,通过不同组织中的额外数据,低质量的数据可以被修复。 为了尽可能多的修复数据,下面将考虑两个重要的问题:不同维度间的修复顺序,以及修 复时使用的策略。
1)修复顺序:因为将从4个维度来修复低质量的数据,顺序是很重要的。然而,修复的顺序应该与评估的顺序是一样的,如下面的定理所示。
定理2(修复顺序):修复的顺序与定理1中的顺序一样。
由于与定理1的证明类似,定理2的证明此处省略。
2)用于修复的共识:在区块链上共识机制在进行决策时是重要的,共识机制描述了谁 能在交易中做决定,以及账本是否可以被更新。因此,支持数据修复的共识机制应该被仔 细地确立。
数据修复过程可能与一般的交易不同。有时,组织A分享的数据在组织B中的任务中 被确认是低质量的。那么组织B可以通过额外的来自于组织A,或者其它组织提供的相关数据来运行数据修复算法。为了在后续的任务前高效地修复数据,用于数据修复的共识机制可能会被更改,这是由于只有少部分的组织知道如何修复某些数据,或者谁在过去提供过高质量的数据。被修复的数据或者学到的模型可以共享在区块链上,并被更多的组织使用。因此,某个种类的数据修复可以是某种特殊的交易,这种交易被少数的组织背书和确认。
图2给出了用于数据修复的共识,即修复的共识,它的过程如下:对于一个指定数据 修复请求,通过检索与区块链上请求相关的节点,来选择共识委员会的成员。委员会负责 发起共识过程,以及修复错误数据。通过分享过的数据的质量可以选出委员会,它们执行 共识过程。委员会节点是所有参与者的一个子集。由于没有在全部节点之间传递信息,只 在委员会节点之间发送共识信息,因而可以减少通信代价。然而,减少了共识参与者的数 量也可能导致无法获得高质量的共识。为了平衡代价和安全性,提出了分享数据的质量的 证明机制。委员会领袖的选择基于分享的数据的质量。因为每个委员会节点共享和修复错 误数据,在共识过程中分享过的数据的质量将被确认和度量。通过公式中(9)定义的数据质 量度量来量化数据质量。
标记低质量数据后,每个委员会节点会获得修复值Vi。然后会执行共识过程。在响应 修复请求时,一个委员会节点Pi发送它修复后的值给下一个委员会节点。传输的值包含修 复交易tvi中。然后,Pi广播修复后的值给其它的委员会节点。一个委员会节点Pj收集修复 后的值,然后存储在本地,当作候选区块。作为数据质量的证明,Pj根据数据质量规则检查修复后的数据,然后确认所有的它收到的交易。
当共识过程开始时,当时具有最高数据质量的委员会节点在交易确认中将被选为领袖。 领袖在参与节点中发起用于数据修复的共识过程。如前面提过的,领袖收集它收到的所有 的交易。如果包含了所有的修复交易的区块被足够的委员会节点同意了,节点将发送带有 它的签名的区块数据到所有其它节点。然后,这些记录将在区块链上更新,它们是无法被 更改的
3)修复算法:基于仔细设计的修复顺序和修复策略,针对区块链上分享的数据的数据 修复算法如下算法所示:
1)对于数据完整性,键-值对由联盟中的一个计算节点收集。当某个键-值对中的缺失值 被算法DataCplRep发现时,对于每个给定的类型和CIND集合,如果这个键-值对匹配了 一条CIND的左部,那么在键-值对中缺失的值可以在给定的CIND中的值中找到,DataCplRep将填充这个缺失值。尽可能多的填充区块链上的某一类型的键值对后,对应数据完整性代价的变量CplCost可以通过没有被填充的值的数目计算得到。
2)对于数据冗余性,键-值对由联盟中的一个计算节点收集。对于每个给定的类型和 MD集合,如果两个键-值对匹配了一条MD的左部,那么在键-值对中匹配了MD右部的 值将被判定为“相似的”或者“冗余的”,DataDupRep将删掉这两个键值对中的一个。当删除 区块链上所有冗余的某一类型的键值对后,对应数据完整性的变量DupCost可以通过删除 的值的数目计算得到。
3)对于数据一致性,键-值对由联盟中的一个计算节点收集。对于每个给定的类型和 CFD集合,如果两个键-值对匹配了一条CFD的左部,键-值对匹配了CFD的右部,DataConsRep将通过相同的值来修复键值对。当修复了区块链上某一类型的所有键值对后,对应数据一致性的变量ConsCost可以通过修复的值的数目计算得到。
4)对于数据精确性,键-值对通过联盟中的计算节点进行收集。对于每个类型、给定的 CIND和req集合,如果一个键-值对匹配了某条req的左手边,而其值没有匹配req的右手 边,那么算法DataAccRep就发现了一条错误值。如果这个键值对匹配了一条CIND的左手边,并且可以根据CIND中给出的值来改正键-值对中的错误值,算法DataAccRep将通过 匹配的CIND来改正错误的值。当改变了区块链上某一类型的所有错误的键值对后,对应 数据精确性的变量AccCost可以通过改变的值的数目计算得到。
通过所有维度的代价,RepCost可以通过计算得到,它描述了一个组织的数据质量,并 可以在数据质量评估中用来更新OrgFac。
Figure BDA0003131850450000161
Figure BDA0003131850450000171
低质量数据上基于分布式强化学习的任务指派方法
在边缘设备上计算任务会引发高延迟(K.Zhang,Y.Zhu,S.Leng,Y.He,S.Maharjan,and Y.Zhang,“Deep learning empowered task offloading for mobile edgecomputing in urban informatics,”IEEE Internet of Things Journal,vol.6,no. 5,pp.7635–7647,October 2019.),因此需要通过任务卸载方法,在附近的计算节点间 分配任务。然而,输入给低质量的数据的任务将给用户导致低质量的结果,这将降低如下 定义的系统效用,并消耗边缘节点或者附近服务器的计算资源。因此,在将任务卸载到附 近服务器前,这些任务要先进行数据修复。为了保护隐私,可以采用联盟区块链在边缘设 备间分享用于修复的数据。因为在区块链上修复数据需要修复一些时间,任务卸载算法要 决定在所有的低质量数据中,多少比例的数据要进行修复。因此,为了获得高系统效用和 低延迟,任务卸载算法要仔细选择修复的比例。
任务卸载的系统模型
在这部分中,将介绍用于任务卸载的系统模型。在这个网络中,有M个服务器,它的计算资源是有限的。这些服务器的序号是{1,…,M}。根据无线设备,将公路划分为M个分 段其长度分别为{L1,…,LM}。有N个边缘设备,每个设备上有一些计算任务,以及一个 待计算的全局特征集合Fea={f1,…,fn}。计算任务可以表示为Di=(di,ci,Ti max,hi),i∈{1,2,...,N}, 其中di表示输入数据的大小,ci表示任务Di需要的计算资源,Ti max表示完成任务允许的最 大延迟,
Figure BDA0003131850450000172
是任务Di覆盖的集合。每个任务可以被卸载到附近的服务器或者在本地计 算。设备i可以将di卸载到服务器j或者在本地计算di。变量xij∈{0,1}表示卸载的决策变量, 即xij=1表示设备i选择了服务器j作为卸载的目标服务器,并把它的输入数据di卸载到这 个服务器,否则xij=0。用xi0=1表示设备i在本地计算任务。
处理一个计算密集任务的时间代价主要分为三个部分,设备的移动,无线传输和任务 计算。因此,任务的处理延迟分为相应的三个部分。第一部分的代价是设备i以速度v从 开始点移动到服务器j覆盖的范围,表示为
Figure BDA0003131850450000173
第二部分是传输时间代价,设备i通过无线信道将任务传输到服务器j。第三部分,任务的计算代价依赖于分配的计算资源和任务的描述。进一步的,因为设备和服务器间的无线传输技术通常基于IEEE 802.11p,它包含了基于内容的MAC协议,因此对传输建模时可以考虑这个协议。而且,区块链产生的延 迟也要考虑,因为低质量数据将为计算任务进行评估和修复。接下来,将介绍区块链确认 的延迟、传输时间、计算代价、任务处理延迟和系统效用。
区块链确认延迟
虽然低质量的数据可以通过区块链在隐私保护的条件下进行修复,但是确认过程也会 因为来自于不同组织的委员会而变慢。其时间消耗可以定义为:
Figure BDA0003131850450000181
其中yil∈{0,1},yil=1说明了在第i个任务的第l个特征应该被卸载,
Figure BDA0003131850450000182
是在区块链B上 的修复的总时间,
Figure BDA0003131850450000183
是在区块链B上在第hi个记录中,修复第l个特征的时间,ty是一种 上面讨论过的数据质量的维度,如数据完整性。
传输时间
IEEE 802.11p在数据传输时,采用了具有碰撞避免的多信道载波监听协议(CSMA/CA)。 根据(CSMA/CA),在一个时间槽内传输一个卸载的任务需要经历以下的过程之一:1)成功 的数据包传输;2)数据包碰撞;和3)退避。
在这篇论文中,我们只考虑从设备到服务器的成功的数据传输。给定从设备i到目标 服务器j的传输带宽Bij,传输延迟可以定义为:
Figure BDA0003131850450000184
计算时间
计算模型通过任务的计算时间定义的。对于每个任务Di,某个设备可以通过自己的计 算资源,在本地计算输入数据di,或者将di卸载到一个服务器上进行计算。
设备i可以在本地计算任务Di中的输入数据di。fi表示设备i的计算资源,它会随着不 同的需求而改变,具体的值可以通过分析得到。本地计算时间Ti local可以表示为
Figure BDA0003131850450000185
对于在服务器上计算的任务,设备i通过无线传输卸载它的任务中的输入数据di到目 标服务器j。因为Nj个设备选择卸载它们的任务到服务器j,并且计算资源是有限的。计算 资源要在Nj个设备间进行分配。用Fj表示服务器j的总计算资源,fij表示服务器j给设备i 分配的计算资源,有
Figure BDA0003131850450000186
因此,服务器j的计算时间
Figure BDA0003131850450000187
表示为
Figure BDA0003131850450000188
任务处理延迟
因为每个任务可以本地计算或者上传到服务器,任务处理延迟由一个本地的设备或者 服务器来决定。如果设备处理延迟由本地设备决定,任务处理延迟等于本地计算的时间代 价,因为没有数据通过无线信道传输。如果设备处理延迟由服务器决定,任务处理延迟由 三部分组成:1)移动时间,2)传输时间,3)服务器的计算时间。因此远程的任务处理延迟定 义为:
Figure BDA0003131850450000189
因此,任务处理延迟定义为:
Figure BDA0003131850450000191
系统效用函数
系统处理延迟在能源互联网中是一个评价任务的关键度量,它在任务决策和用户满意 度方面有重要的影响。因此,基于任务处理延迟可以设计一个基于Qos的效用函数。在这 里,数据质量起到了重要作用。
因为任务处理时间通常较小,移动设备可能具有较高的满意度,基于满意度函数的效 用函数应该随着处理延迟Ti的增加单调递减。而且,因为服务器的计算资源是有限的,如 果设备将任务卸载到相同的服务器,任务卸载可能不够高效,并会导致高延迟。效用函数 应该在服务器间平衡负载。一个方法是采用对负载均衡的对数效应函数,因为它也被称为 均衡的公平(E.L.Li,M.Pal,and Y.R.Yang,“Proportional fairness in multi-rate wireless lans,”in 27th IEEE International Conference on ComputerCommunications,Joint Conference of the IEEE Computer and CommunicationsSocieties.New York,NY,USA:IEEE,April 2008,pp.1004–1012.)。而且,数据质量 也是任务计算中的重要因素。因此,效用函数定义为
Ui=αlog(1+β-Ti)+qi, (16)
其中α是一个满足度参数,β用来保证满意度函数是非负的,qi是第i个任务的数据质 量。较高的α使得满意度的收益较大。
问题形式化
在这一小节中,将BTOLD形式化为一个优化问题,它的目标是最大化系统效用。分别用x={xij}表示服务器选择的决策变量,f={fij}表示计算资源的向量,y={yil}表示修复 向量。这个优化问题定义如下:
Figure BDA0003131850450000192
s.t. Ti≤Ti max i∈[1,...,N], (18)
Figure BDA0003131850450000193
xij∈{0,1} i∈[1,...,N] j∈[1,...,M], (20)
Figure BDA0003131850450000194
yil∈{0,1} l∈[1,|hi|] i∈[1,...,N]. (22)
第一个约束保证了任务处理延迟不会超过允许的最大延迟Ti max。约束(19)和(20)说明每 个设备不能卸载任务到多个服务器。约束(21)确保了在服务器j上,分配到所有任务上的计 算资源不会超过最大的计算资源能力。约束(22)说明了第i个任务的第l个特征是否应该被 修复。
整数约束xij∈{0,1}给这个问题带来了挑战,它使得BTOLD称为一个混合整数非线性 规划问题,而且这个问题一般是非凸的,NP-难的(M.R.Garey and D.S.Johnson,Computers and In-tractability;A Guide to the Theory of NP-Completeness.NewYork,USA:W.H.Freeman,1990.)。
分布式强化学习算法DELTA
因为BTOLD是NP-难的,为了高效地解决这个优化问题,在这部分中提出了一个基于 D4PG[24]的分布式强化学习算法DELTA。
为了采用强化学习,需要将BTOLD问题转化为一个Markov决策过程,然后用强化学习算法解决这个问题。
1)Markov决策过程:我们首先根据所提出的为问题定义状态空间,动作空间和奖励函 数。然后,我们将效用最大化问题转化为Markov过程。
在强化学习算法中,有三个重要因素即状态、动作和奖励函数,如下进行定义:
1)状态空间:对于每个时刻t,要分别描述3种类型的变量:xt表示服务器选择向量, ft表示计算资源向量,yt表示修复向量。因此,状态向量表示为St={xt,ft,yt}。
2)动作空间:在提出的网络中,任务卸载的管理者需要决定计算资源的分配策略:选 择本地的计算资源,或者卸载任务到服务器。同时,可以通过区块链修复低质量的数据。因此,在时刻t,当前的动作向量At可以表示为At={axt,aft,ayt}。
3)奖励函数:奖励函数就是BTOLD问题的目标函数,描述了考虑数据质量的网络效用。
奖励函数的收益由系统的动作来决定。因此,为了最大化长期的任务卸载的效用,累 积的效用表示为
Figure BDA0003131850450000201
提出的任务卸载过程可以通过Markov决策过程来近似。在Markov决策问题中,时刻 t表示为St,动作表示为At。当网络管理者执行动作At时,可以用St+1来表示网络的下一个状态。然后,状态转移概率表示为
Figure BDA0003131850450000202
递归等式可以写作:
Figure BDA0003131850450000203
2)低质量数据分发策略:如在(17)中显示的,数据质量也是BTOLD的一个目标,分布式的执行者应该在选择动作的时候考虑数据质量。然而,执行者随机地选择动作,并根据随机的动作来获得奖励,由于任务中重复的特征这样可能会不够高效。因此,为了加速执行者获得经验的速度,不同特征上的低质量的数据应该分发给执行者,这使得执行者几乎在每一步都能获得新的经验。因此,可以制定如下的策略:每个执行者依次选择覆盖了最多的未覆盖的特征的任务。假设有个K个执行者,我们可以知道通过一轮中的贪心选择,这K个执行者覆盖的特征与最优化算法覆盖的特征的比值至少是(1-1/e)。
3)分布式强化学习:通过上面描述的Markov决策过程,可以采用强化学习来获得近似 最优化的策略,这个策略可以用在低质量的数据上的任务卸载。
在分布式强化学习中,智能体的行为可以通过策略来控制,策略定义为π:X→A,它将每一个观察映射为动作。状态-动作值函数可以描述根据策略π,在状态s执行了动作a 后在不同时刻后期望的折扣后的回报,它可以定义为:
Figure BDA0003131850450000211
面对连续的动作空间,为了获得上面定义的较高的Q值,可以采用基于D4PG的策略梯度方法。考虑带有参数的策略πθ,通过优化
Figure BDA0003131850450000212
可以最大化参数后的策略。通过采用确定性策略梯度定理,这一目标的梯度可以定义为
Figure BDA0003131850450000213
其中ρ是某个行为策略下的状态-访问分布。
为了在执行者-评论者框架中使用分布式的Bellman操作符,分布必须要参数化,对应 的损失函数可以定义为:
L(w)=Eρ[d(Tπθ′Zw′(x,a),Z(x,a))], (26)
其中d是某个度量,它衡量了两个分布之间的距离。需要注意的是,参数化Zw和选择 d来衡量状态之间的时序差分误差的策略,将对学习算法的性能产生很大影响。
为了获得较高的性能,采用N步回报来估计时序差分的误差,这不同于DDPG(T.P.Lillicrap,J.J.Hunt,A.Pritzel,N.Heess,T.Erez,Y.Tassa,D.Silver,and D. Wierstra,“Continuous control with deep reinforcement learning,”in 4th InternationalConference on Learning Representations,ICLR 2016,May 2016.)所 采用的策略。可以看作是用N步的改进版本来更新Bellman操作符。
Figure BDA0003131850450000214
其中期望是关于给定策略的N步转移的。这种N步的修改可以用在分布的评论者网络 来更新参数。
通过修改标准的训练过程,分布式的执行者可以通过不同的动作和状态来收集经验。 执行者和评论者都完全基于状态-访问分布ρ来更新各自的网络的参数。我们可以用K个独 立的执行者来并行化这一过程,同时这一过程也将面对低质量数据的分发策略。每个执行 者都发送它的经验到一个相同的回放表中。然后,一个学习进程将从回放表中抽取大小为 R的样本,然后通过这些样本来更新网络。在图3中,展示了这种面向任务卸载的分布式 的强化学习网络。
在执行者和评论者的网络中,都有三层全连接的隐含层,其中包括了256个神经单元 和ReLU激活函数。在隐含层和输入层之间的激活函数也是ReLU函数。在行动者网络的最终输出要经过sigmoid函数,因为决策变量的范围是[0,1]。评判者网络的最终输出要经过ReLU函数,它提供过了对于行动者网络参数的评判。为了获得任务卸载的决策,如果 在动作axt中的第j个分量是最大值,那么xij将被设置为1,其余的设置为0。对于每个修 复的决策,如果在ayt中的第l个分量不小于0.5,那么yil将被设为1。
下列算法给出了分布式强化学习算法DELTA,分布式的执行者的行为在下列算法中给 出了。下列算法中,经过初始化网络和K个执行者,可以根据(16)计算奖励。每次迭代中, DELTA用经验回放来学习基本的权重,相关的变量的定义可以在问题BTOLD中找到。在第7行中计算了目标分布,说明了折扣后的奖励的影响,以及另一个分布中得到的折扣后的奖励。通过δw和来δθ更新执行者和评论者。每一步中,目标网络和分布式的行动者通过 学到的参数进行更新。对于每个分布式的行动者,它们只是尝试采取不同的动作,并存储 不同的转移结果。
Figure BDA0003131850450000221
Figure BDA0003131850450000222
仿真结果
在这部分中,将用区块链上不同的数据集合来评估所提出的框架的性能。不同组织所 分享的数据的质量先经过数据质量评估模块进行评估,然后通过数据修复算法在保护隐私 的条件下对低质量数据进行修复。最后,基于这些低质量数据,来分析分布式强化学习算 法DELTA的性能。
实验配置
网络初始化。基于Hyperledger Fabric的联盟区块链有3个组织。每个组织中有1个管 理者和4个用户。每个用户以不同的速率通过不同的设备在区块链上分享各种数据。
数据集合和任务卸载场景。通过不同组具有不同数据质量的合成数据来评估所提出的 模型。这些集合中包含了5~15个特征。数据中包含了所讨论过的4中错误:数完整性(Cpl)、 数据一致性(Cons)、数据冗余(Dup)和数据精确性(Acc),它们模拟了用户分享的数据的不同 场景。由不同类型的特征组成的全局特征集合包含了10~20个特征。仿真中包括了10~20 个设备,4个服务器。数据质量评估的目标是对来自于某个组织的管理员分享的数据的质 量进行评估。数据修复的目标是对来自于不同组织和管理员所分享的数据进行尽可能多地 修复。BTOLD的目标是安排k个任务来获得尽可能高的系统效用,其中k的范围是500到 2000。
数据质量评估结果
为了评估分享在联盟区块链上的数据的质量,生成了三种不同数据质量数据集合,它 们相似于文献(K.Zhang,Y.Zhu,S.Leng,Y.He,S.Maharjan,and Y.Zhang,“Deeplearning empowered task offloading for mobile edge computing in urbaninformatics,”IEEE Internet of Things Journal,vol.6,no.5,pp.7635–7647, October2019.)中的数据集合。包括CIND、CFD、MD和精确性要求的4种规则的集合 被用来在这三个不同的数据集合上发现低质量的数据。需要注意的是,在这3个组织中的 数据质量规则是不同的,它模拟了不用组织中对数据质量的需求。评估的结果如图4所示。
如第3部分所介绍的,原始数据集合的数据质量通过4个质量维度进行了评估,其结 果如图4所示。如图4所示,采用不同的数据质量规则这三个数据集合的质量是不同的。低质量的数据,如缺失值,不一致的键值对可以被检测到,避免了低质量的数据在仿真中的联盟链上进行分享。然而,分享的数据中也可能包含低质量的数据。如图5所示的,组 织1中的数据的质量与图4展示的不同,因为用于评估的数据质量的规则是不同的。组织 2和组织3的数据质量评估结果分别如图6和图7所示。不同的数据质量评估结果说明了 所提出的评估算法的有效性,因为提出的模型可以在不同的数据质量要求下,给出不同的 数据质量评估结果。
数据修复结果
与数据质量评估相似,生成了三个不同的数据集合来分析所提出的数据修复算法的性 能。包括CIND、CFD、MD和精确性要求的4种规则的集合,被用来在这三个不同的数据集合上发现低质量的数据。需要注意的是,在这3个组织中的数据质量规则是不同的,它 模拟了不用组织中对数据质量的需求。修复的结果如图8至图11所示,比如对于数据完整 度的修复结果(CplRep)。
数据质量评估和修复的结果如图8所示。如图8至图11所示,一些错误可以通过额外 的数据和给定的规则来修复。但是仍然有些错误无法修复,他们将导致错误的挖掘结果。 如图9所示的,组织1中尝试修复了一些低质量的数据,而且修复了一些数据,并得到了较高的评估结果,比如在数据集合1中的准确性。然而,仍然有一些严重的质量问题无法 修复,比如数据集合3上的完整性问题。组织2和组织3的其它的数据修复结果分别如图 10和图11所示。数据质量的提升说明了所提出的算法的有效性,这个算法能够根据不同 的修复规则来提供用户定义的数据修复。
低质量数据上任务卸载结果
为了分析DELTA的性能,选择了不同低质量数据上的任务来模拟。每个任务能覆盖全 局特征的一个子集合来进行计算。目标是使得任务卸载和数据修复的决策获得一个较高的 系统效用和高质量的结果。据我们所知,因为DELTA是第一个在任务卸载中考虑数据质量 的算法,DELTA将与相同的学习网络只是没有考虑数据质量的部分进行对比。本文提出的 算法表示为WithDQ,而其它的没有考虑数据质量的算法表示为NoDQ。DELTA的奖励是
Figure BDA0003131850450000241
只在下面的第一组模拟中,NoDQ与WithDQ进行了对比。其余组的实验只是基于DELTA算法的,即WithDQ。
第一组模拟分析了在训练过程中损失和奖励的变化。仿真中将行动者和评论者的学习 率分布设为5e–8和5e–7。这组实验中,有10台设备和100个任务。实验结果如图6所示,展示了每轮中的损失和每80轮中的奖励的变化,因为训练中奖励的变化是非常缓慢的。如图12所示,WithDQ的损失始终高于NoDQ,因为在进行任务卸载的决策中要考虑数据 质量。由于要考虑修复向量y,WithDQ的训练过程要慢于NoDQ,如图13这能带来更多 的收益。
第二组仿真分析了DELTA的学习率的影响。采用了同上一组实验相似的参数,只是执 行者和评论者的学习率分别从(5e-8,5e-7)变化到了(5e-6,5e-5),结果如图7所 示。
如图14所示,不同的学习率有很大的影响,因为在学习过程中执行者和评论者的行为 有很大不同。然而,如图15所示,奖励几乎是不变的,因为即使奖励变化很小也可以引导 执行者和评论者的更新。
第三组实验分析了DELTA在不同的场景下的性能变化。采用了同第一组实验相似的参 数,除了场景的数目变化是50到150。其结果如图8所示。如图16所示的,更多的场景提供了更多的计算任务,也使得任务卸载和数据修复要做更多的决定。因此,多场景带来了更多的损失。然而,如图17所示,奖励在不同的场景下也收敛地很快。
第四组实验分析了DELTA在不同的设备数目下的性能变化。采用了同第一组实验相似 的参数,除了设备的数目变化是10到20。其结果如图18和图19所示。如图18所示的,更多的设备使得更多的任务卸载到服务器或者要修复更多的数据,这使得每一步要面对更多的损失。因此,多场景带来了更多的损失,但是它可以随着轮数的增加而收敛。然而, 如图19所示,奖励在不同的设备数目下也收敛地很快。
从上面的模拟可以发现,即使面对不同要求的计算任务,DELTA也能够平衡数据质量 和延迟,从而在边缘计算中恰当地分配计算资源。
在这篇论文中,我们研究了低质量数据上面向边缘计算的基于区块链的任务卸载问题。 考虑严格的延迟时,这个问题可以形式化为同时最大化任务的质量和系统的效用。为了获 得高质量的任务卸载策略,提出了一个面向边缘计算的任务卸载框架,它采用了联盟区块 链来保护分布式的数据的隐私。在这个网络中,可以通过评估和提升分享的数据的质量, 来获得高质量的任务卸载策略。设计了一个低质量数据的分发策略后,文中提出了一个分 布式的强化学习算法在低质量的数据上获得高质量的任务卸载结果。通过平衡任务卸载决 策和数据修复决策,DELTA在边缘计算网络中可以提供灵活的资源分配方法。在能源互联 网中,本文的仿真的结果说明了所提出的低质量数据上面向边缘计算的任务卸载框架是有 效的。
需要注意的是,本申请中图4至图11中数据的顺序与标注是一致的,如图4中标注的 Clp、Dup、Cons、Acc、OrgFac,对应图中的三组数据的横向顺序分别为Clp、Dup、Cons、Acc、OrgFac。
需要注意的是,具体实施方式仅仅是对本发明技术方案的解释和说明,不能以此限定 权利保护范围。凡根据本发明权利要求书和说明书所做的仅仅是局部改变的,仍应落入本 发明的保护范围内。

Claims (8)

1.基于区块链的分布式机器学习任务卸载方法,其特征在于包括以下步骤:
步骤一:对区块链上共享的数据进行质量评估;
步骤二:根据数据质量评估模块的质量评估结果,对低质量数据进行修复;
步骤三:利用分布式强化学习算法获得近似最优化的策略,并利用该策略对修复后的低质量数据上的任务进行卸载;
所述质量评估的度量参数为信息质量和组织因子;
所述信息质量包括数据完整性、数据冗余、数据一致性和数据精确性四个质量维度;
所述步骤一中对区块链上共享的数据进行质量评估的顺序为:
数据完整性<数据冗余,
数据冗余<数据一致性,
数据完整性<数据一致性,
数据完整性<数据精确性;
所述质量评估的步骤为:
对于数据完整性,键-值对通过联盟中的计算节点进行收集,当算法DataCplEva在键-值对中发现了一个缺失值,对于每个给定的数据类型和条件包含依赖集合,如果这个键-值对匹配了某条条件包含依赖的左手边,则在键-值对中的缺失值能在这条给定的条件包含依赖中找到,算法DataCplEva不会标记这个缺失值为缺失,否则,算法DataCplEva会标记这个缺失值为缺失;
对于数据冗余度,键-值对通过联盟中的计算节点进行收集,对于每个类型和给定的匹配依赖集合,如果两个键-值对匹配了某条匹配依赖的左手边,则匹配了这条匹配依赖的右手边的值会被判定为相似的或者冗余的,算法DataCplEva将标记两个键-值对为冗余的;
对于数据一致性,键-值对通过联盟中的计算节点进行收集,对于每个类型和给定的条件函数依赖集合,如果两个键-值对匹配了某条条件函数依赖的左手边,但是它们的值没有匹配条件函数依赖的右手边,算法DataConsEva将标记两个键-值对为不一致的;
对于数据精确性,键-值对通过联盟中的计算节点进行收集,对于每个类型和给定的条件包含依赖和精确性需求集合,如果一个键-值对匹配了某条精确性需求的左手边,而其值没有匹配精确性需求的右手边,则算法DataAccEva发现了一条错误值,如果这个键值对匹配了一条条件包含依赖的左手边,并且可以根据条件包含依赖中给出的值来改正键-值对中的错误值,算法DataAccEva将不会标记这个错误值为不精确的,否则,DataAccEva将标记这个值为不精确的;
最后,根据四个质量维度的结果评估区块链上分享的数据的质量。
2.根据权利要求1所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述数据完整性表示为:
Figure FDA0003818046470000021
其中,key(i,CCIND,B,ty)表示从组织i在区块链B上分享的ty类型的全部的键值集合,key(i,CCIND,B,ty)满足CIND的集合CCIND,key(CCIND,ty)表示在条件包含依赖集合CCIND中的ty类型的所有键值集合,CIND表示条件包含依赖。
3.根据权利要求2所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述数据冗余表示为:
Figure FDA0003818046470000022
其中Pair(i,CMD,B,ty)表示从组织i分享在区块链B上的类型为ty,并被给定的匹配依赖集合CMD确认为冗余数据的键值对集合,Pair(B,ty)表示分享在区块链B上类型为ty的键值对的集合,MD表示匹配依赖。
4.根据权利要求3所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述数据一致性表示为:
Figure FDA0003818046470000023
其中Pair(i,CCFD,B,ty)表示组织i在区块链B上分享的类型为ty的键-值对集合,且被给定的条件函数依赖集合CCFD判定为一致的,Pair(B,ty)表示在区块链B上类型为ty的键-值对集合,CFD表示条件函数依赖。
5.根据权利要求4所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述数据精确性表示为:
Figure FDA0003818046470000024
其中key(i,CCIND,Creq,B,ty)表示组织i在区块链B上分享的ty类型的数据的全部键的集合,全部键的集合满足精确性需求或者匹配给定的条件包含依赖集合CCIND,key(B,ty)表示区块链B上ty类型数据的全部键的集合,Creq表示精确性需求。
6.根据权利要求5所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述步骤一对区块链上共享的数据进行质量评估表示为:
Figure FDA0003818046470000031
Figure FDA0003818046470000032
Figure FDA0003818046470000033
Figure FDA0003818046470000034
Figure FDA0003818046470000035
其中,
Figure FDA0003818046470000036
表示组织i的数据质量维度,ty表示分享的键-值对的类型,组织意愿OrgWi∈[0,1],OrgCnt表示必须要进行数据修复的组织的数量,RepCost(j,ty)是修复第j个组织的类型为ty的低质量数据的代价,j是需要进行数据修复的其它组织的编号,w1,w2,w3,w4∈[0,1],w1,w2,w3,w4表示权值,i表示组织的序号,OrgFac表示组织因子。
7.根据权利要求6所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述对低质量数据进行修复的修复方法为:
1)对于数据完整性,键-值对由联盟中的一个计算节点收集,当某个键-值对中的缺失值被算法DataCplRep发现时,对于每个给定的类型和条件包含依赖集合,如果这个键-值对匹配了一条条件包含依赖的左部,则在键-值对中缺失的值可以在给定的条件包含依赖中的值中找到,DataCplRep将填充这个缺失值;
2)对于数据冗余性,键-值对由联盟中的一个计算节点收集,对于每个给定的类型和匹配依赖集合,如果两个键-值对匹配了一条匹配依赖的左部,则在键-值对中匹配了匹配依赖右部的值将被判定为相似的或者冗余的,DataDupRep将删掉这两个键值对中的一个;
3)对于数据一致性,键-值对由联盟中的一个计算节点收集,对于每个给定的类型和条件函数依赖集合,如果两个键-值对匹配了一条条件函数依赖的左部,键-值对匹配了条件函数依赖的右部,DataConsRep将通过相同的值来修复键值对;
4)对于数据精确性,键-值对通过联盟中的计算节点进行收集,对于每个类型、给定的条件包含依赖和精确性需求集合,如果一个键-值对匹配了某条精确性需求的左手边,而其值没有匹配精确性需求的右手边,则算法DataAccRep发现了一条错误值,如果这个键值对匹配了一条条件包含依赖的左手边,并且可以根据条件包含依赖中给出的值来改正键-值对中的错误值,算法DataAccRep将通过匹配的条件包含依赖来改正错误的值。
8.根据权利要求7所述的基于区块链的分布式机器学习任务卸载方法,其特征在于所述分布式强化学习算法基于DELTA,DELTA具体执行如下步骤:
首先初始化网络和多个分布式执行者,执行者进行动作后计算奖励,即任务卸载的效果,然后进行迭代,每次迭代中,通过计算目标分布与当前分布的损失,计算出折扣后的奖励的影响和带来的误差,通过误差的反向传播来更新执行者和评论者网络,每一步中,目标网络和分布式的行动者通过学到的参数进行更新。
CN202110707242.4A 2021-06-24 2021-06-24 基于区块链的分布式机器学习任务卸载方法 Active CN113342418B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110707242.4A CN113342418B (zh) 2021-06-24 2021-06-24 基于区块链的分布式机器学习任务卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110707242.4A CN113342418B (zh) 2021-06-24 2021-06-24 基于区块链的分布式机器学习任务卸载方法

Publications (2)

Publication Number Publication Date
CN113342418A CN113342418A (zh) 2021-09-03
CN113342418B true CN113342418B (zh) 2022-11-22

Family

ID=77478582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110707242.4A Active CN113342418B (zh) 2021-06-24 2021-06-24 基于区块链的分布式机器学习任务卸载方法

Country Status (1)

Country Link
CN (1) CN113342418B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113887743B (zh) * 2021-09-29 2022-07-22 浙江大学 一种联邦学习中数据遗忘与验证的平台
CN114760306B (zh) * 2022-03-31 2024-04-09 四川链向科技集团有限公司 一种基于区块链对云雾边缘协同环境的任务调度方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614283A (zh) * 2018-10-24 2019-04-12 世纪龙信息网络有限责任公司 分布式数据库集群的监控系统
CN110262845A (zh) * 2019-04-30 2019-09-20 北京邮电大学 区块链使能的分布式计算任务卸载方法及系统
CN111062632A (zh) * 2019-12-24 2020-04-24 国网黑龙江省电力有限公司 一种基于边缘智能的5g能源互联网虚拟电厂经济调度方法
CN111988806A (zh) * 2020-09-01 2020-11-24 重庆邮电大学 一种基于全双工中继的移动边缘计算网络资源分配方法
CN112073929A (zh) * 2020-08-05 2020-12-11 浙江理工大学 一种在边缘计算中基于区块链的任务卸载方法及系统
CN112162863A (zh) * 2020-10-20 2021-01-01 哈尔滨工业大学 一种边缘卸载决策方法、终端及可读存储介质
CN112217879A (zh) * 2020-09-24 2021-01-12 江苏方天电力技术有限公司 一种基于配电物联网的边缘计算技术和云边协同方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175788A (zh) * 2019-05-31 2019-08-27 国网上海市电力公司 一种智慧城市能源云平台
CN110442644A (zh) * 2019-07-08 2019-11-12 深圳壹账通智能科技有限公司 区块链数据归档存储方法、装置、计算机设备和存储介质
CN111371588A (zh) * 2020-02-11 2020-07-03 广州广大通电子科技有限公司 基于区块链加密的sdn边缘计算网络系统、加密方法及介质
CN112288433B (zh) * 2020-11-17 2022-09-20 国网辽宁省电力有限公司信息通信分公司 一种支持边端协同的区块链共识任务处理系统及方法
CN112104517B (zh) * 2020-11-23 2021-02-05 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法及相关装置
CN112579194B (zh) * 2020-11-27 2023-04-07 国网河南省电力公司信息通信公司 基于时延和事务吞吐量的区块链共识任务卸载方法及装置
CN112654058A (zh) * 2020-12-17 2021-04-13 中国刑事警察学院 D2d多播网络中的移动边缘计算卸载与资源分配算法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614283A (zh) * 2018-10-24 2019-04-12 世纪龙信息网络有限责任公司 分布式数据库集群的监控系统
CN110262845A (zh) * 2019-04-30 2019-09-20 北京邮电大学 区块链使能的分布式计算任务卸载方法及系统
CN111062632A (zh) * 2019-12-24 2020-04-24 国网黑龙江省电力有限公司 一种基于边缘智能的5g能源互联网虚拟电厂经济调度方法
CN112073929A (zh) * 2020-08-05 2020-12-11 浙江理工大学 一种在边缘计算中基于区块链的任务卸载方法及系统
CN111988806A (zh) * 2020-09-01 2020-11-24 重庆邮电大学 一种基于全双工中继的移动边缘计算网络资源分配方法
CN112217879A (zh) * 2020-09-24 2021-01-12 江苏方天电力技术有限公司 一种基于配电物联网的边缘计算技术和云边协同方法
CN112162863A (zh) * 2020-10-20 2021-01-01 哈尔滨工业大学 一种边缘卸载决策方法、终端及可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Blockchain-Based Task Offloading for Edge Computing on Low-Quality Data via Distributed Learning in the Internet of Energy";Yongnan Liu.etc;《IEEE Journal on Selected Areas in Communications》;20211008;第657-675页 *
"一种基于深度强化学习的电力操作票生成方法研究";江海洋等;《黑龙江大学自然科学学报》;20200825;第499-504页 *
"数据完整性模型及评估算法的研究";刘永楠;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140315;I138-26 *

Also Published As

Publication number Publication date
CN113342418A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
Fan et al. Performance evaluation of blockchain systems: A systematic survey
US11599393B2 (en) Guaranteed quality of service in cloud computing environments
CN114297722B (zh) 一种基于区块链的隐私保护异步联邦共享方法及系统
CN112534452A (zh) 用于改进自动执行能源、计算、存储和其它资源的现货和远期市场中的分布式账本和其它交易的机器和系统的方法和系统
Zhang et al. Faithful edge federated learning: Scalability and privacy
WO2022179008A1 (zh) 基于区块链的供应链金融AI DaaS算法仓库平台
CN113191484A (zh) 基于深度强化学习的联邦学习客户端智能选取方法及系统
CN113342418B (zh) 基于区块链的分布式机器学习任务卸载方法
Salem et al. An artificial bee colony algorithm for data replication optimization in cloud environments
Liu et al. Blockchain-based task offloading for edge computing on low-quality data via distributed learning in the internet of energy
Rahman et al. Replica selection strategies in data grid
Filatovas et al. A MCDM-based framework for blockchain consensus protocol selection
CN112799708A (zh) 联合更新业务模型的方法及系统
JP7219325B2 (ja) 対象システムおよびアプリケーションに対するアクセス権を制御するシステム
CN109710406A (zh) 数据分配及其模型训练方法、装置、及计算集群
Anders et al. Cooperative resource allocation in open systems of systems
Wen et al. CPU usage prediction for cloud resource provisioning based on deep belief network and particle swarm optimization
CN115544377A (zh) 基于云端存储的档案的热度评估和更新方法
Altowim et al. ProgressER: adaptive progressive approach to relational entity resolution
Chen et al. Generative adversarial reward learning for generalized behavior tendency inference
Xu et al. Optimizing long-term value for auction-based recommender systems via on-policy reinforcement learning
Stübs et al. Business-driven blockchain-mempool model for cooperative optimization in smart grids
Ye et al. Parameters tuning of multi-model database based on deep reinforcement learning
Zhou et al. Ensuring Long-Term Trustworthy Collaboration in IoT Networks using Contract Theory and Reputation Mechanism on Blockchain
Deng et al. Label propagation on k-partite graphs with heterophily

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