一种基于区块链的数据存证数据处理方法与流程

文档序号:18884599发布日期:2019-10-15 20:41阅读:298来源:国知局
一种基于区块链的数据存证数据处理方法与流程
本发明涉及数据存证系统及其数据处理技术。
背景技术
:随着互联网技术的迅速发展,电子产品的大规模普及,电子数据开始走入大众视野。因传输和使用的高效性,电子数据迅速成为时下主流数据类型之一。电子数据具有易创建、易存储、易传输和高利用率等特点,是可靠、有证明力度的电子数据证据。目前,司法部门已不再满足于传统的证据材料,电子合同、电话录音、电子订单和电子邮件等电子数据材料都已成为新型的证据材料。然而,恶意入侵攻击、病毒感染等危险行为常常会对电子数据造成泄密、篡改、伪造和破坏等严重后果,极大地影响了电子数据的真实性和完整性。因此,为了保证电子数据的真实性和完整性,需要依据法规对其进行存证保管[2]2016.广西师范大学涂香宜,《电子数据证据研究[d]》,做到抗攻击、防篡改。传统的电子数据存证系统存在下述缺陷:1)第三方信任危机。系统以自身为中心进行电子数据的存储和管理工作,拥有电子数据最高的读写权限。用户往往会对系统的诚实程度产生质疑,担心自己所上传的数据被泄露或者恶意破坏,不利于系统与用户建立长期的信任关系。2)数据安全隐患。系统完全依赖于中心服务器,一旦中心服务器遭受恶意入侵或者意外宕机,中心服务器及其所控制的若干服务器上的电子数据将面临整性、隐私性和可修复性的巨大考验。3)资源开销巨大。为满足海量存储需求,系统往往具备多个数据库,这极大地考验了系统存储资源分配及负载均衡的能力。此外,由于执法人员掌握的计算机知识普遍有限,对电子证据的认定可能会出现误判的情况。因此,为了确保电子证据的效力,减少对电子证据的真实性和完整性认定上的分歧,需要从源头保证电子证据的真实性和完整性,即做好电子数据的存证保管工作。国内外发展现状现今,许多学者对电子数据的存证展开了研究。文献[3]2012刘云龙,《电子证据保全公证若干问题研究[j]》从理论上总结了电子证据保全的三大原则:合法性、及时性和完整性。文献[4]2017,倪云英,《电子数据完整性检测与修复存储的研究[j]》,以数字地质材料的存储为切入点,研发出了检测和修复电子数据完整性的存储系统,极大地提升了电子数据的真实性、一致性和可读性。文献[5]厦门大学2017,葛威,《基于hadoop的电子数据存证管理系统的设计与实现[d]》在结合云计算和hadoop技术的基础上,实现了高存储性能的电子数据存证管理。文献[6]《2017厦门大学,徐蕾.,基于区块链的云取证系统研究与实现[d]》提出了一种将区块链技术融入云取证方案,实现了存储在区块链上电子证据的可验证和可追溯。文献[7]《2017李兆森,李彩虹.,基于区块链的电子数据存证应用研究[j].》基于区块链技术,创新性地加入了公证处、司法鉴定中心等第三方司法机构,开发出了一个存证服务系统。文献[8]提到安存科技考虑到电子数据难存证、难取证、难鉴定真实性的特点,创新利用互联网技术如分布式云存储、国家密码局486位密码器、公证处专用的vpn通道等,对电子数据展开存管证明,既保证电子数据的完整性和不可否认性,也提高了其存证的安全性。2008年中本聪在其论文《bitcoin:apeer-to-peerelectroniccashsystem》[9]中首次提出了区块链的概念。从bitcoin演化发展而来的区块链技术,以其去中心化、不可篡改、匿名性、开放性等特点,构建出一个可以相互牵制的可信环境,解决了在虚拟与匿名情况下网络世界的信用与管理的问题。目前,该技术应用在多个领域的多个方面,如金融服务、公益慈善、公共服务区域、供应链管理和物联网等。文献[11]《2017吴振铨,梁宇辉,康嘉文,余荣,何昭水.,基于联盟区块链的智能电网数据安全存储与共享系统[j].计算机应用.》针对现有的智能电网存储方式可能带来的安全威胁展开研究,利用联盟区块链技术搭建了一个去中心化的智能电网数据安全存储与共享系统,并通过编写智能合约完成节点间的数据共享和对数据访问权限的约束。文献[12]《2017,安瑞,何德彪,张韵茹,李莉.基于区块链技术的防伪系统的设计与实现[j]》将区块链技术与智能芯片技术相结合,开发出了一套安全可靠的智能卡防伪系统。在保证系统高度不可伪造性的同时,也考虑到了生产成本问题,具有很强的市场竞争力。技术实现要素:本发明是为了在保证所存证数据的真实性、完整性和安全性的同时,也能在一定程度保护用户的隐私信息,从而提供一种基于区块链的数据存证数据处理方法。所述方法利用web3j交互功能,编写智能合约,以结构体的形式将封装后的关键信息锚定在区块链的主链上,保证电子数据的不可篡改;同时,在所述智能合约的编写过程中引入索引思想来约束不同的用户对电子数据的访问权限,使用分布式存储容错技术完成电子数据的多点碎片化存储,实现以较小的冗余代价确保各节点的数据分片存储的安全性;系统围绕网络和存储提出评价用户节点性能的方案,为存储用户节点的选择提供依据。1、基于区块链的电子存证数据的处理方法,其特征是:它包括电子数据的上传方法、电子数据的保全方法、电子数据的查询方法、电子数据的下载方法和电子数据的授权方法、电子数据的比对方法和用户积分建立方法;所述电子数据的上传方法包括如下步骤:步骤a1、计算本次上传操作的积分花费m;步骤a2、获取当前用户的积分c;步骤a3、判断c是否大于或等于m;如果判断结果为是,则执行步骤a41;如果判断结果为否,则执行步骤a42;步骤a41、提供上传功能,然后执行步骤a5;步骤a42、提醒用户当前积分不足;然后结束;步骤a5、在区块链上更新用户的积分信息;然后结束;所述电子数据的保全方法包括如下步骤:步骤b1、对电子数据文件进行分片操作;步骤b2、选择topn用户节点;步骤b3、向选中的用户节点随机分发文件分片;步骤b4、将文件分片信息写入区块链;然后结束;所述电子数据的查询方法包括如下步骤:步骤c1、获取待查询的文件序号i;步骤c2、判断步骤c1的文件是否属于用户节点,如果判断结果为是,则执行步骤c31;如果判断结果为否,则执行步骤c32;步骤c31、获取文件的相关信息;然后结束,步骤c32、提醒用户没有权限;然后结束;所述电子数据的下载方法包括如下步骤:步骤d1、查询待下载文件;步骤d2、判断步骤d1的文件是否属于用户节点,如果判断结果为是,则执行步骤d31;如果判断结果为否,则执行步骤d23;步骤d31、从区块链中读取文件及其分片信息,执行步骤d23;步骤d32、根据分片信息前往各用户节点下载文件分片,执行步骤d23;步骤d33、利用分片文件重建文件;然后结束;步骤d23、提醒用户没有权限;然后结束;所述电子数据的授权方法包括如下步骤:步骤e1、输入待授权文件序号和授权账户;步骤e2、将授权信息写入区块链;然后结束;所述电子数据的比对方法包括如下步骤:步骤f1、读取待比对的文件a和文件b;步骤f2、分别计算待比对的文件a和待比对的文件b的哈希值;步骤f3、判断待比对的文件a和待比对的文件b的哈希值是否相同,如果判断结果为是,则执行步骤f41;如果判断结果为否,则执行步骤f42;步骤f41、提醒文件尚未改动;然后结束;步骤f42、提醒文件被篡改;然后结束;所述用户积分建立方法的机制具体为:1.新用户奖励:每位新注册用户,系统会奖励100个积分作为注册礼包;2.上传服务:当用户需要上传服务时,系统按照20积分/电子数据的方式进行收费;积分机制对rmf模型改进如下三个指标:1)r指标:定义1:r指用户节点最近一次上线时间占系统运行总时间的比值;公式如下:其中,t2是用户节点最近一次上线时间,t0是用户节点的注册时间,t是系统的运行总时间;若r较大,则说明该用户节点较短时间内在本方法使用过某项服务,则做出一个合理推测,该用户节点再次使用本方法的可能性很高;若用户节点的r较高,则本方法应该提高对该用户节点的重视程度,以保证能持续吸引该用户节点访问本方法;2)f指标定义2:f指用户节点平均每次的上传花费占系统规定的上传花费的比值;公式如下:3)m指标定义3:m指用户节点的积分在系统所有用户节点的积分的水平情况;公式如下:其中,ci是用户节点i的积分,μ是系统所有积分的均值,σ是系统所有积分的标准差;积分规则如下:1.新用户奖励:每位新注册用户,系统会奖励100个积分作为注册礼包;2.上传服务:当用户需要上传服务时,系统按照20积分/电子数据的方式进行收费。本发明利用web3j交互功能,编写智能合约,以结构体的形式将封装后的关键信息锚定在区块链的主链上,保证电子数据的不可篡改。同时,考虑到区块链会因信息的透明公开而产生隐私泄露的安全问题,合约的编写过程中引入索引思想来约束不同的用户对电子数据的访问权限。使用分布式存储容错技术完成电子数据的多点碎片化存储,实现以较小的冗余代价确保各节点的数据分片存储的安全性。系统围绕网络和存储提出评价用户节点性能的方案,为存储用户节点的选择提供合理依据。基于rfm模型制定积分规则,通过吸引用户节点的加入,以增加系统的可靠程度。总的来说,本发明所述的方法能在保证电子数据的真实性、完整性、唯一性的同时,也能对用户的隐私进行保护。该方法围绕去中心化、不可篡改的核心思想,能有效缓和司法机关的执法人员因电子数据证据误判造成的矛盾和冲突。同时,论文的研究成果将为电子数据存证的研究和区块链技术的学习提供一定的理论方向和技术参考。附图说明图1是区块链结构图;图2是本发明中电子数据文件的上传流程示意图;图3是本发明中电子数据保全流程示意图;图4是本发明中电子数据查询流程示意图;图5是本发明中电子数据下载流程示意图;图6是本发明中电子数据授权流程示意图;图7是本发明中电子数据比对流程示意图;图8是本发明中用户节点性能评估框架示意图;图9(a)、(b)、(c)分别是本发明中数据文件分片信息的查询、数据文件分片信息的写入和数据文件的授权的流程图。具体实施方式具体实施方式一、本实施方式所述的基于区块链的电子存证数据的处理方法包括电子数据的上传方法、电子数据的保全方法、电子数据的查询方法、电子数据的下载方法和电子数据的授权方法、电子数据的比对方法和用户积分建立方法;所述电子数据的上传方法包括如下步骤:步骤a1、计算本次上传操作的积分花费m;步骤a2、获取当前用户的积分c;步骤a3、判断c是否大于或等于m;如果判断结果为是,则执行步骤a41;如果判断结果为否,则执行步骤a42;步骤a41、提供上传功能,然后执行步骤a5;步骤a42、提醒用户当前积分不足;然后结束;步骤a5、在区块链上更新用户的积分信息;然后结束;所述电子数据的保全方法包括如下步骤:步骤b1、对电子数据文件进行分片操作;步骤b2、选择topn用户节点;步骤b3、向选中的用户节点随机分发文件分片;步骤b4、将文件分片信息写入区块链;然后结束;所述电子数据的查询方法包括如下步骤:步骤c1、获取待查询的文件序号i;步骤c2、判断步骤c1的文件是否属于用户节点,如果判断结果为是,则执行步骤c31;如果判断结果为否,则执行步骤c32;步骤c31、获取文件的相关信息;然后结束,步骤c32、提醒用户没有权限;然后结束;所述电子数据的下载方法包括如下步骤:步骤d1、查询待下载文件;步骤d2、判断步骤d1的文件是否属于用户节点,如果判断结果为是,则执行步骤d31;如果判断结果为否,则执行步骤d23;步骤d31、从区块链中读取文件及其分片信息,执行步骤d23;步骤d32、根据分片信息前往各用户节点下载文件分片,执行步骤d23;步骤d33、利用分片文件重建文件;然后结束;步骤d23、提醒用户没有权限;然后结束;所述电子数据的授权方法包括如下步骤:步骤e1、输入待授权文件序号和授权账户;步骤e2、将授权信息写入区块链;然后结束;所述电子数据的比对方法包括如下步骤:步骤f1、读取待比对的文件a和文件b;步骤f2、分别计算待比对的文件a和待比对的文件b的哈希值;步骤f3、判断待比对的文件a和待比对的文件b的哈希值是否相同,如果判断结果为是,则执行步骤f41;如果判断结果为否,则执行步骤f42;步骤f41、提醒文件尚未改动;然后结束;步骤f42、提醒文件被篡改;然后结束;所述用户积分建立方法的机制具体为:1.新用户奖励:每位新注册用户,系统会奖励100个积分作为注册礼包;2.上传服务:当用户需要上传服务时,系统按照20积分/电子数据的方式进行收费;积分机制对rmf模型改进如下三个指标:1)r指标:定义1:r指用户节点最近一次上线时间占系统运行总时间的比值;公式如下:其中,t2是用户节点最近一次上线时间,t0是用户节点的注册时间,t是系统的运行总时间;若r较大,则说明该用户节点较短时间内在本方法使用过某项服务,则做出一个合理推测,该用户节点再次使用本方法的可能性很高;若用户节点的r较高,则本方法应该提高对该用户节点的重视程度,以保证能持续吸引该用户节点访问本方法;2)f指标定义2:f指用户节点平均每次的上传花费占系统规定的上传花费的比值;公式如下:3)m指标定义3:m指用户节点的积分在系统所有用户节点的积分的水平情况;公式如下:其中,ci是用户节点i的积分,μ是系统所有积分的均值,σ是系统所有积分的标准差;积分规则如下:1.新用户奖励:每位新注册用户,系统会奖励100个积分作为注册礼包;2.上传服务:当用户需要上传服务时,系统按照20积分/电子数据的方式进行收费。本实施方式所述的方法用web3j交互功能,编写智能合约,以结构体的形式将封装后的关键信息锚定在区块链的主链上,保证电子数据的不可篡改。同时,在所述智能合约的编写过程中引入索引思想来约束不同的用户对电子数据的访问权限,使用分布式存储容错技术完成电子数据的多点碎片化存储,实现以较小的冗余代价确保各节点的数据分片存储的安全性。系统围绕网络和存储提出评价用户节点性能的方案,为存储用户节点的选择提供依据。工作原理:区块链技术1、基本原理及其特点区块链作为一项新兴科技,运用了分布式存储、共识机制、p2p网络、加密算法等技术。它实质上是提供拜占庭容错(详见2018,钱卫宁,邵奇峰,朱燕超,金澈清,周傲英《区块链与可信数据管理:问题与方法[j]》)以保证一致性的去中心化分布式数据库。与传统的数据库将读写数据库的权限完全交付给某个公司或者管理员的中心化方式不同,区块链以去中心化和去信任的方式允许全球范围内任何有能力的节点成为区块链网络的成员之一,享受与其他所有节点同等的读写操作权利,集体维护区块链的运行。最终,区块链系统中的所有节点通过共识机制同步彼此的数据信息,以保证在区块链网络中所有数据的一致性和可靠性。区块链将经共识机制认定的区块以时间戳为序首尾有序相连,产生如图1所示的链式数据结构(详见2017,何蒲,于戈,张岩峰,鲍玉斌.《区块链技术与应用前瞻综述[j].计算机科学》)。在一定时间内系统的所有数据信息和交易记录都被写入区块中,保证区块中信息的可溯源性。区块分为区块头和区块体两部分。区块头主要记录的是当前区块的元信息,包括上一区块哈希、时间戳、merkel根哈希,难度值等,区块体则记录了实际的数据信息。经过上述对区块链的简单介绍,我们不难发现区块链主要有四大特点(详见2017,祝烈煌,高峰,沈蒙,李艳东,郑宝昆,毛洪亮,吴震,《区块链隐私保护研究综述[j].计算机研究与发展》),去中心化、不可篡改性、匿名性和开放性。1)去中心化。区块链系统与其他中心化系统相比,不再依赖第三方信任机构背书,随着系统中加入的节点增多,系统将更加可靠。同时,任意节点的离线都不会对系统的运作产生致命的影响。2)不可篡改性。区块链严格采用共识机制完成每次区块的选举工作,并将选中的区块按照时间顺序链式固定。根据51%攻击理论可知,任何篡改区块链上信息的行为都将付出极高的代价。这显著提高了区块链上数据的真实性和可靠性。3)匿名性。在共识机制的保证下,交易各方默认是相互信任的。因此,无需公开自身真实身份即可让双方信任彼此的交易行为。4)开放性。除了交易各方的私有信息(如私钥)被保护以外,区块链上其他信息均是公开、透明、可溯源的。这一特点加强了区块链上的各方之间的信任。2、智能合约简述智能合约(详见《bitcoin:apeer-to-peerelectroniccashsystem》)最早是由nickszabo上世纪90年代提出,由于当时缺少可信的执行环境,智能合约并没有被应用到实际产业中。ethereum作为主流的区块链系统,率先进行了智能合约的开发。智能合约本质上是传统合约的数字化版本,以计算机程序的方式运行在区块链系统。当系统的状态满足源码中预先设定的条件时,自动触发预设的行为的执行。智能合约一旦经参与方达成协议写入区块链后就不可更改,这一点可以让用户对智能合约产生信任。3、多目标决策模型3.1模糊层次分析法层次分析法(ahp)是一种通过定量和定性协作完成方案评估的方法。在遇到一些因素繁多、不好直接定量分析的难题时,使用频率很高。由于该方法的各因素的相对重要程度是由人为设定的,评价结果受主观思维的影响较大。因此,人们把模糊理论融入其中,提出了模糊层次分析法(fahp)(详见《bitcoin:apeer-to-peerelectroniccashsystem》)。fahp的使用,具体可按下述四个步骤进行:1)建立优先判别矩阵f=(fij)n×n在构造优先判别矩阵f=(fij)n×n时,选择使用表2.2来描述元素ai与元素aj之间的相对重要程度fij。表2.2fahp过程中使用的数量标度2)将优先判别矩阵f=(fij)n×n转化成模糊一致矩阵r=(rij)n×n,公式见(2-5)。其中,3)排序法计算排序向量w0,公式如下。其中,4)引入幂法对排序向量w0进行迭代计算,得到权重s。具体步骤如下:(1)将模糊一致矩阵r=(rij)n×n转化成互反模糊矩阵e=(eij)n×n,其中(2)对公式(2-7)完成迭代运算,当条件满足公式(2-8)时结束运算。|m(k+1)|即为最大特征值。其中,排序向量w0作为初始向量m0,ε为预设的误差,k=1,2,...。|m(k+1)|-|mk|<ε(2-8)(3)对m(k+1)归一化处理,获得权重3.2理想解法理想解法(topsis)是一种根据相对贴近度进行排序的算法。该方法能够定量评估各方案的优劣程度。具体的实现步骤如下:1)计算理想优基点和反理想优基点将各优基点中每一属性的最大值聚集,生对于当前多种方案而言“最理想”的点,称为理想优基点,记作sδ=(s1δ,s2δ,...,smδ)t。将各优基点中每一属性的最小值聚集,产生对于当前多种方案而言“最不理想”点,称为反理想优基点,记作sδ=(s1δ,s2δ,...,smδ)t,计算各点与理想优基点和反理想优基点之间的距离,在m维空间上,我们不难发现优基点均以点的形式出现。利用欧氏距离计算方法,我们可以算出各优基点与理想优基点的距离diδ和反理想优基点的距离公式如下:3)计算综合距离,利用2)中的diδ和计算优基点的综合距离,公式见(2-11)。它通过度量当前方案与最优和最坏情况的理想方案之间的差距,评判出当前各方案的优劣情况。根据最小距离原则,选择综合距离di最小的点所对应的方案为最优方案。4、区块链的分类区块链主要分为公有区块链,联盟区块链和私有区块链三类。1)公有区块链公有区块链上每个节点有参与共识过程竞争决定主链区块的权利,访问门槛低,因此又称其为“完全去中心化”的区块链。bitcoin、ethereum、hyperledger都是常见的主流公有区块链产品。2)联盟区块链联盟区块链实现了由若干个联盟机构共同管理区块链系统。与公有区块链相比,它只允许身处联盟机构内的节点参与共识过程。因此认为它是一个“部分去中心化”的系统。3)私有区块链在私有区块链中,参与运行的节点都是具有高信任度的,因此,其交易速度、隐私保护水平和交易成本也较前两类有很大的提高。相比中心化数据库,私有链能够监测并防止机构内单节点故意隐瞒或者篡改数据。5、共识算法简述作为解决区块的容错一致性问题的数学算法,共识算法(详见《bitcoin:apeer-to-peerelectroniccashsystem》)主要分为三类。1)工作量证明(pow)pow通过计算能力解决数学难题来获取记账权,每次需要全网共同参与。它的容错性高,但在资源消耗、可监管性和性能效率方面表现欠佳。bitcoin、thereum的前三个阶段等均使用的是pow算法。2)权益证明(pos)pos认为节点打包权的难度应与其所持有的权益成反比。作为pow的升级算法,它能一定程度上减少因数学运算带来的资源消耗问题,使性能得以提升。但可监管性和容错性与pow相比,没有显著的提升。3)股份授权证明(dpos)。dpos提出让节点选举若干代表,由他们完成验证和记账工作。若代表不能按照规定产生区块,节点将重新选举出新的代表继续完成工作。dpos的可监管性、资源消耗程度、容错性和性能水平与pos算法相似。本实施方式所述的方法向成功注册的用户提供电子数据文件的上传服务。为了让本方法更贴合实际环境,引入了积分机制,即用户的每次电子数据文件的上传都需要花费积分。流程图2所示。当用户提交电子数据文件给系统时,系统后台会对电子数据文件进行分片编码。随后,会选择当前系统若干性能最优的节点,完成各分片的接收存储工作。同时,与之对应的文件和分片信息会经过区块链的共识算法固定到区块链的存储区中,以完成电子数据的保全工作。流程如图3所示。用户可以随时在本方法使用电子数据的查询功能来获取具有文件的保全信息。结合电子数据存证的用户需求,默认情况下电子数据文件仅上传者可见。当用户欲查看其他用户的电子数据文件信息时,需要得到对应用户的授权。这个做法可以在满足电子数据的存证保管需求的同时,保护用户的隐私信息。流程如图4所示。当用户通过向系统提交下载请求后,系统会在区块链的存储区定位相应的数据信息,实现自动化文件分片的下载和文件的解码重组工作。与电子数据的查询类似的是,用户所能下载的文件必须是自己上传或者他人授权的,以保证用户的隐私安全。流程如图5所示。出于对用户的隐私保护,系统默认电子数据文件是用户私有资产。用户可以通过授权操作,让其他用户有权查询和下载自己对应的电子数据文件。流程如图6所示。电子数据的比对本方法使用hash算法提供电子数据文件的比对功能。待系统下载并恢复文件后,用户使用本方法提供的电子数据比对功能,判断原始文件是否被篡改或伪造。其中,本方法使用的hash算法包括md5、sha-1和sha-256。流程图7所示。本方法作为一个电子数据存证方法,依赖于多个用户节点共同完成电子数据的存证保管工作。这一过程涉及到对用户节点的选择,如何挑选出当前性能最优的若干节点协同完成分布式的存储工作是不能避免的问题。图8展示了用户节点性能评估的主要过程。网络性能的评估具体实现步骤如下:1)构建网络参数的优先判别矩阵网络性能参数之间的相对重要程度如下表所示。表1网络参数的相对重要程度带宽网络时延丢包率带宽0.50.80.7网络时延0.20.50.5丢包率0.30.50.52)计算模糊一致矩阵3)排序法计算排序向量w04)计算权重使用幂法迭代矩阵,当精度ε=0.0001时,将结果保留四位小数输出,即为权重信息。经计算得到了三个参数的权重,见表2。其中带宽是正相关参数,网络时延和丢包率是负相关参数。表2网络参数的权重信息5)计算网络性能得分读取iperf的测试结果,带入公式(4-1)计算,并将结果以ip.txt命名的文件发送给对应节点服务器存储。其中,是网络参数的权重,是读取的iperf参数值,i=1,2,....。用户排名和选择—双基法当用户节点成功登录后,系统会在后台定时完成性能的测试,并将性能测试文件广播给系统其他在线的服务器。在上传过程中,当用户节点需要选择若干性能优秀的节点时,系统会读取该节点服务器端所有ip.txt文件,生成网络性能和存储容量二维空间的优基点,按照双基法进行综合排名。考虑到用户节点与其性能水平一一对应,选择数据结构map以<ip,propertydata>的形式参与计算。其中,propertydata是一个用于存储用户节点性能的类,成员变量nodeproperties是一个double型的数组。其中,nodeproperties[0]保存用户节点的存储容量,nodeproperties[1]保存用户节点的网络性能,nodeproperties[2]保存用户节点的综合距离。系统利用双基法实现用户节点的综合排名的具体过程如下:(1)性能数据的预处理本方法采用min-max标准化方法对nodeproperties[3]中的数据进行处理,把数据调节到[0,1]边界内,供后续计算使用。公式如下:其中,x是原始数据,x′是经过处理后的标准化数据,xmax是当前数据样本中的最大值,xmin是当前数据样本中的最小值。(2)得到理想优基点和反理想优基点遍历当前所有的优基点,根据公式(2-9)分别得到各维的最大值作为理想优基点,得到各维的最小值作为反理想优基点。(3)计算综合距离根据公式(2-10)分别计算各优基点与理想优基点和反理想优基点的欧氏距离,并带入式(2-11)计算出优基点的综合距离,写入nodeproperties[2]。(4)排名通过重写比较器comparator的compare()方法,对map<ip,propertydata>进行一个升序排名。其中,排名是依据propertydata类中的nodeproperties[2]。用户积分机制—rfm模型为了吸引更多用户访问系统,以增强电子数据存证方法的可靠性,本方法引入了积分机制。rfm模型是一种客户价值分析模型。它从客户的消费频率、总开销和最近一次购买时间进行综合评估,能够较好地描绘出客户的消费行为,进而精准定位客户的长期价值,为公司制定恰当的营销策略提供依据。因此,本方法选择rfm模型作为积分机制的参考原型。系统积分规则集1.新用户奖励:每位新注册用户,系统会奖励100个积分作为注册礼包。2.上传服务:当用户需要上传服务时,系统按照20积分/电子数据的方式进行收费。rfm模型指标的选择和预处理考虑到本方法的自身特点,对rfm模型的三个指标进行了下述改进。1)r指标定义1:r指用户节点最近一次上线时间占系统运行总时间的比值。公式如下:其中,t2是用户节点最近一次上线时间,t0是用户节点的注册时间,t是系统的运行总时间。若r较大,则说明该用户节点较短时间内在本方法使用过某项服务,可以做出一个合理推测,该用户节点再次使用本方法的可能性很高。若用户节点的r较高,则本方法应该提高对该用户节点的重视程度,以保证能持续吸引该用户节点访问本方法。2)f指标定义2:f指用户节点平均每次的上传花费占系统规定的上传花费的比值。公式如下:其中,c是用户节点上传的总花费,n是用户节点上传的总次数,s是系统规定单次上传的花费。若f较大,则说明该用户节点使用上传服务的开销较大。为了留住该用户节点继续在本方法中使用上传服务,本方法应该适当降低其单次上传的开销。3)m指标定义3:m指用户节点的积分在系统所有用户节点的积分的水平情况。公式如下:其中,ci是用户节点i的积分,μ是系统所有积分的均值,σ是系统所有积分的标准差。m较大,则说明该用户节点的积分对于积分系统的稳定作用较大,对于i避免积分系统出现垄断情况有一定的帮助,需要给予一定的奖励。本方法通过调用已成功部署的智能合约上的getuserinfo()等方法,从区块链系统中获得相应的数据,完成上述三个指标的计算。用户积分水平的计算考虑到现有的文献对已有rfm模型的三项指标没有明确的权重分配,以及本方法对rfm模型的三项指标有所改动,因此选择使用fahp方法计算本方法r、f、m三个指标的权重。其中,三个指标的相对重要程度如下表所示。表3rfm模型三大指标的相对重要程度关于fahp方法计算权重的过程此处不再赘述,只展示权重结果,如下表所示。表4rfm模型三大指标的权重信息rfm0.22960.34590.4245将当前用户节点计算出来的指标值代入公式(4-1)进行计算,得到对应的评分结果si。其中,w=[0.2296,0.3459,0.4245]。积分制度的优化为了避免因个别用户持有的积分过多造成垄断情况的发生,需要对前面提及的积分制度有所优化。将每个用户的积分水平si划分成三个等级,按照不同的等级给予不同力度的优惠,其余作为系统的手续费,如下表所示。表5积分优惠政策具体实施方式二、本具体实施方式与具体实施方式一所述的一种基于区块链的数据存证数据处理方法的区别在于,所述在所述智能合约的编写过程中引入索引思想来约束不同的用户对电子数据的访问权限中。在智能合约的编写过程中,定义了file、record、member和user四个结构体变量,分别存储电子数据文件的关键信息、电子数据文件分片的关键信息、用户资料和电子数据文件的所有关系。基于上述四个变量,依次编写了电子数据信息的写入、电子数据信息的查询、电子数据的授权、用户信息的更新和用户信息的查询。考虑到ethereum数据写入的速度较慢,容易影响用户体验,因此采用异步请求方式(sendasync())执行事务。信息的写入和查询方法实现思路类似,故只选取数据文件分片信息的查询(getrecordlnfo)、数据文件分片信息的写入(sendfilepart)和数据文件的授权(delegate)这三个方法简述其实现的过程,如图9的(a),(b),(c)所示。智能合约的部署主要分为以下几步:1)sole工具编译智能合约,获得对应的evm字节码;2)在geth中创建智能合约对象mycontractforstorage,将evm字节码中的abi部分写入mycontractforstorage;3)在geth中发起一个发给区块链的交易,将智能合约写入ethereum的存储区;4)利用共识机制pow完成智能合约的确认。当geth提示"contractmined!"以及智能合约的地址等信息,表明智能合约部署成功。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1