本发明涉及数据共享,尤其是指一种基于区块链及云计算的数据共享系统。
背景技术:
1、云计算是一种分布式计算,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统处理和分析这些小程序,并将得到的结果返回给用户,其核心概念是资源池化和按需分配,这使得计算资源的使用更加灵活和高效。通过云计算技术,用户可以在很短的时间内完成对数以万计的数据的处理,从而达到强大的网络服务。
2、区块链是一种去中心化的分布式账本技术,从本质上讲,它是一个共享数据库,存储于其中的数据或信息具有广阔的运用前景。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
3、数据共享技术旨在实现多个系统、应用或组织之间的数据交换和共享,提升数据的可用性和价值。随着大数据、云计算和区块链等技术的发展,数据共享技术变得更加复杂和多样化。现有的数据共享技术因为数据存储存在泄漏、篡改等安全性问题,导致数据共享程度低,难以建立可靠的共享、合作关系,使得数据形成一个个孤岛,使得数据共享的上传和读取效率较低。
技术实现思路
1、为此,本发明所要解决的技术问题在于克服现有技术中由于数据存储存在安全性问题导致数据共享的上传和读取效率较低的问题。
2、为解决上述技术问题,本发明提供了一种基于区块链及云计算的数据共享系统,包括:
3、用户终端模块,包括多个数据共享用户终端,用于发起数据上传请求或数据下载请求;
4、云计算模块,与用户终端模块连接,包括多个任务调度节点、数据处理节点和数据存储节点;
5、所述任务调度节点与用户终端模块中的数据共享用户终端连接,用于基于数据上传请求或数据下载请求,在多个数据处理节点中确定上传数据处理节点或下载数据处理节点;
6、所述数据处理节点分别与任务调度节点和数据存储节点连接,其中上传数据处理节点用于对目标共享数据进行数据切分,并根据每个数据存储节点的剩余存储空间,基于均衡原则将切分后的目标共享数据并行传输至多个数据存储节点中的至少两个进行存储,并生成目标共享数据的存储路径及存储路径的哈希值,进行哈希值碰撞检测;当哈希值碰撞检测通过时,将目标共享数据的存储路径上传至区块链保存;
7、所述下载数据处理节点用于基于目标共享数据的哈希值,从区块链获取目标共享数据的存储路径,进而根据目标共享数据的存储路径,并行从多个数据存储节点读取目标共享数据;
8、区块链,与云计算模块中的任务处理节点连接,用于存储共享数据的存储路径。
9、优选地,任务调度节点基于数据上传请求或数据下载请求,在多个数据处理节点中确定上传数据处理节点或下载数据处理节点,包括:
10、任务调度节点获取每个数据处理节点在多个时间点的运行参数信息和任务调度信息,基于每个数据处理节点在多个时间点的运行参数信息和任务调度信息,确定数据处理节点的运行异常参数;
11、基于每个数据处理节点的运行异常参数,根据负载均衡原则从多个数据处理节点中确定目标数据处理节点。
12、优选地,数据处理节点的运行参数信息包括cpu的使用率、已用内存占总内存的比例、发送的数据包数量、接收的数据包数量、发送的数据字节数、接收的数据字节数;数据处理节点的任务调度信息包括分配的数据上传请求的数量、每个数据上传请求对应的数据量、分配的数据下载请求的数量、每个数据下载请求对应的数据量。
13、优选地,任务调度节点基于每个数据处理节点在多个时间点的运行参数信息和任务调度信息,通过异常确认模型确定数据处理节点的运行异常参数,所述异常确认模型包括长短期记忆网络模型。
14、优选地,上传数据处理节点对目标共享数据进行数据切分,包括:
15、上传数据处理节点获取目标共享数据所在数据共享用户终端已上传共享数据的历史下载次数;
16、基于目标共享数据所在数据共享用户终端已上传共享数据的历史下载次数及该数据共享用户终端的下载次数均值,计算该数据共享终端的下载次数波动参数;
17、基于目标共享数据所在数据共享用户终端的下载次数波动参数,确定目标共享数据的数据切分大小;
18、根据目标共享数据的数据切分大小,对目标共享数据进行数据切分。
19、优选地,上传数据处理节点进行哈希值碰撞检测,包括:
20、获取用于存储目标共享数据的所有数据存储节点,作为目标数据存储节点;计算所有的任意两个目标数据存储节点之间的任务协同参数,取平均值后得到目标共享数据的任务协同参数均值;
21、所述任意两个目标数据存储节点之间的任务协同参数的计算方法为:若一条已上传共享数据的至少一部分使用这两个目标数据存储节点进行存储,则将该已上传共享数据记为目标已上传共享数据;将将目标已上传共享数据的总数与已上传共享数据的总数之间的比值作为这两个数据存储节点之间的任务协同参数;
22、基于任意两个目标数据存储节点之间的任务协同参数和目标共享数据的任务协同参数均值,计算目标共享数据的任务协同参数波动参数;
23、基于目标共享数据的任务协同参数均值和目标共享数据的任务协同参数波动参数,计算目标共享数据的碰撞风险参数;
24、当目标共享数据的碰撞风险参数小于预设碰撞风险参数阈值时,采用第一碰撞检测方式进行哈希值碰撞检测;
25、当目标共享数据的碰撞风险参数大于或等于预设碰撞风险参数阈值时,采用第二碰撞检测方式进行哈希值碰撞检测;
26、若目标共享数据的哈希值碰撞检测不通过,则生成目标共享数据的防碰撞哈希值,对目标共享数据的存储路径的哈希值进行更新,并再次进行哈希值碰撞检测,直到目标共享数据通过哈希值碰撞检测。
27、优选地,所述基于任意两个目标数据存储节点之间的任务协同参数和目标共享数据的任务协同参数均值,计算目标共享数据的任务协同参数波动参数,公式为:
28、
29、其中,w(e,2)为目标共享数据的任务协同参数波动参数,p(g,h)为第g个目标数据存储节点与第h个目标数据存储节点之间的任务协同参数,p(e,mean)为目标共享数据的任务协同参数均值,g为目标数据存储节点的总数;
30、所述基于目标共享数据的任务协同参数均值和目标共享数据的任务协同参数波动参数,计算目标共享数据的碰撞风险参数,公式为:
31、
32、其中,re为目标共享数据的碰撞风险参数,a3和a4均为权重参数,p0为预设任务协同参数均值,w1为预设任务协同参数波动参数,r0为预设碰撞风险参数。
33、优选地,所述采用第一碰撞检测方式进行哈希值碰撞检测,包括:
34、对每个已上传共享数据的存储路径的哈希值在多个随机位置进行抽样,生成已上传共享数据的抽样哈希值;
35、对目标共享数据的存储路径的哈希值在同样位置进行抽样,生成目标共享数据的抽样哈希值;
36、若位于相同位置的目标共享数据的抽样哈希值与任一已上传共享数据的抽样哈希值相同,则判定存在哈希碰撞,目标共享数据不通过哈希值碰撞检测。
37、优选地,所述采用第二碰撞检测方式进行哈希值碰撞检测,包括:
38、采用k均值聚类算法对所有已上传共享数据的存储路径的哈希值进行聚类,确定多个存储路径聚类簇;
39、计算目标共享数据的存储路径的哈希值与每个存储路径聚类簇的聚类中心之间的哈希值相似度,将哈希值相似度最大的存储路径聚类簇作为目标存储路径聚类簇;
40、若目标存储路径聚类簇中存在一个已上传共享数据的存储路径的哈希值与目标共享数据的存储路径的哈希值一致,则判定存在哈希碰撞,目标共享数据不通过哈希值碰撞检测。
41、优选地,生成目标共享数据的防碰撞哈希值的方法包括:抽取目标共享数据的存储路径的哈希值中的随机片段作为防碰撞哈希值。
42、本发明的上述技术方案相比现有技术具有以下有益效果:
43、本发明所述的一种基于区块链及云计算的数据共享系统,基于云计算的分布式存储,即多个数据存储节点,以及区块链技术构建数据共享系统,其中分布式存储能够将共享数据分散存储在多台计算机或服务器上,增加了数据的可靠性,而区块链技术以其去中心化、不可篡改的特性,可以确保分布式存储路径的完整性和真实性,进一步增强了数据的可靠性。本发明构建的数据共享系统中,任务调度节点充分利用各个数据处理节点的处理能力,自适应地选择数据处理节点对目标共享数据进行处理,实现了负载均衡,提高了共享数据处理效率。
44、上传数据处理节点将目标共享数据切分后并行传输至多个数据存储节点,加快了共享数据的存储速度,减少了数据上传的等待时间;同理,下载数据处理节点通过区块链快速获取目标共享数据的存储路径,减少了数据查找时间,提高了数据访问的响应速度,下载数据处理节点并行从多个数据存储节点读取目标共享数据,加快了数据聚合和传输的速度,提高了共享数据的读取效率,缩短了用户等待时间,提升了用户体验。
45、除此之外,上传数据处理节点对目标共享数据进行哈希值碰撞检测,进一步确保了存储路径的唯一性和安全性,防止了潜在的存储路径的哈希值冲突和错误。并且,本发明设置了两种碰撞检测方式进行哈希值碰撞检测,根据碰撞风险参数和预设碰撞风险参数阈值,选择合适碰撞检测方式,提高了碰撞检测的效率,进一步提高了目标共享数据存储的效率与安全性。