CN109660493B - 一种基于区块链的新能源集控云存储方法 - Google Patents

一种基于区块链的新能源集控云存储方法 Download PDF

Info

Publication number
CN109660493B
CN109660493B CN201710940045.0A CN201710940045A CN109660493B CN 109660493 B CN109660493 B CN 109660493B CN 201710940045 A CN201710940045 A CN 201710940045A CN 109660493 B CN109660493 B CN 109660493B
Authority
CN
China
Prior art keywords
file
block chain
node
storage
contract
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
CN201710940045.0A
Other languages
English (en)
Other versions
CN109660493A (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.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
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 NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201710940045.0A priority Critical patent/CN109660493B/zh
Publication of CN109660493A publication Critical patent/CN109660493A/zh
Application granted granted Critical
Publication of CN109660493B publication Critical patent/CN109660493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本发明公开了一种基于区块链的新能源集控云存储方法:步骤1、部署区块链客户端、区块链API和文件合约管理器;步骤2、租用者通过区块链客户端生成区块链账号和密码PrivateKey;步骤3、文件合约管理器将每日存储的采集数据打包成一个文件F,并进行分割;步骤4、设置冗余倍数N;步骤5、按照设定的冗余倍数N分别对分割后的文件fx按照设定的尺寸大小U进行分片;步骤6、获得满足冗余存储历史文件的托管主机列表NodeList;步骤7、区块链API形成文件合约并广播;步骤8、区块链API用PrivateKey加密上传各历史文件Pxj到NodeList中的各个托管节点。克服现有新能源集控数据存储方案中的高成本、低安全性和外部访问不够便捷的问题。

Description

一种基于区块链的新能源集控云存储方法
技术领域
本发明涉及一种基于区块链的新能源集控云存储方法。
背景技术
目前,新能源集控数据量巨大甚至到达PB级,传统的解决方案如图1所示,采用自行构建私有云数据中心存储历史数据,即在新能源集控III区设置数据存储设备,其成本高昂、安全性差且外部访问不够便利,而且随着系统的扩建,数据中心的扩展成本较高。
发明内容
针对上述问题,本发明提供一种基于区块链的新能源集控云存储方法,克服现有新能源集控数据存储方案中的高成本、低安全性和外部访问不够便捷的问题。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于区块链的新能源集控云存储方法,包括如下步骤:
步骤1、在新能源集控III区服务器上部署区块链客户端、区块链API和文件合约管理器:
其中,区块链API为第三方程序访问文件存储区块链提供接口;
文件合约管理器管理系统当日产生的文件并自动生成对应的文件合约;
文件合约用于存储租用者和存储主机之间建立的文件存储约定;
步骤2、租用者通过区块链客户端生成区块链账号和密码PrivateKey;
步骤3、文件合约管理器将每日存储的采集数据打包成一个文件F,并对文件F按照设定的尺寸大小Q进行分割,设文件F一共可以分割为k个块,设分割后的块文件为fx,x=1,2,3……k;
步骤4、设置冗余倍数N;
步骤5、按照设定的冗余倍数N分别对分割后的文件fx按照设定的尺寸大小U进行分片,设分割后的文件fx一共可以分割为m片,则m=(Q*N)/U,设文件fx分割后的片文件为Pxj,j=1,2,3……m;
步骤6、区块链API在文件存储区块链上搜索有效的文件存储节点,获得满足冗余存储历史文件的托管主机列表NodeList;
步骤7、区块链API根据Nodelist用PrivateKey形成文件合约并广播到文件存储区块链;
步骤8、区块链API按照建立的文件合约,用PrivateKey加密上传各历史文件Pxj到NodeList中的各个托管节点。
优选,租用者用PrivateKey登陆区块链客户端,检索上传的历史文件并下载。
优选,步骤6中,每个存储节点携带声誉评分、地理位置、存储价格和空余空间信息,获得满足冗余存储历史文件的托管主机列表NodeList的具体步骤如下:
A)选择存储空间满足条件的节点集合S1并进入步骤B;
B)如果节点集合S1中满足此条件的节点只有一个的话,则选择此节点并返回结果,否则,进入步骤C;
C)在节点集合S1中选取声誉最高的节点集合S2,如果满足此条件的节点只有一个的话,则选择此节点,删掉节点集合S1中选中的该节点,更新节点集合S1并进入步骤B,否则,进入步骤D;
D)在节点集合S2中选取价格最低的节点集合S3,如果满足此条件的节点只有一个的话,则选择此节点,删掉节点集合S1和S2中选中的该节点,更新节点集合S1和S2并进入步骤C,否则,进入步骤E;
E)在节点集合S3中选取地理位置最近的节点,删掉节点集合S1和S2中选中的该节点,更新节点集合S1和S2并进入步骤D;
在上述各步骤中每获得一个新的存储节点时,判断存储节点数量是否满足需求,若满足则终止,否则重复各步骤至获得存储节点列表NodeList。
优选,步骤1中,文件存储约定包括约定存储的文件内容、大小、时间和费用。
优选,Q取值为40MB。
优选,N取值为2或3。
优选,步骤5中,每个分片使用Reed-Solomon erasure编码。
优选,对于相同的x,同一个托管主机最多可存储一个Pxj,其中,x=1,2,3……k,j=1,2,3……m。
本发明的有益效果是:
第一、不需要建设历史存储数据中心,存储价格低廉,按空间时间付费,更经济适用。
第二、冗余倍数可自由定制,完全规避单点故障问题。
第三、文件加密,只有拥有文件加密私钥的用户才能读取存储的内容。
第四、文件分散下载,下载速度比中心化服务器更快,而且随时随地可以访问。
第五、极大节省了新能源集控业务数据存储的经济性,安全性,易用性。
附图说明
图1是现有技术的方案架构示意图;
图2是本发明一种基于区块链的新能源集控云存储方案架构示意图;
图3是本发明托管主机列表示意图;
图4是本发明一种基于区块链的新能源集控云存储方法的流程图。
具体实施方式
下面结合附图和具体的实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
一种基于区块链的新能源集控云存储方法,方案架构示意图如图2所示,其流程图如图4所示,包括如下步骤:
步骤1、在新能源集控III区服务器上部署区块链客户端、区块链API和文件合约管理器:
其中,区块链客户端以友好和简单的方式为存储租用者(即用户)提供文件合约的核心功能,采用此客户端用户可以将文件分块存储到区块链网络中,或者下载已存储的文件,其为存储租用者与云存储进行交互提供服务。
区块链API为第三方程序访问文件存储区块链提供接口。
文件合约管理器管理系统当日产生的文件并自动生成对应的文件合约。
文件合约用于存储租用者和存储主机之间建立的文件存储约定,一般的,文件存储约定包括约定存储的文件内容、大小、时间和费用等。
步骤2、租用者通过区块链客户端生成区块链账号和密码PrivateKey。
步骤3、文件合约管理器将每日存储的采集数据打包成一个文件F,并对文件F按照设定的尺寸大小Q进行分割,设文件F一共可以分割为k个块,设分割后的块文件为fx,x=1,2,3……k一般的,Q取值为40MB。
步骤4、设置冗余倍数N,一般的,N最好取值为2或3。
步骤5、按照设定的冗余倍数N分别对分割后的文件fx按照设定的尺寸大小U进行分片,设分割后的文件fx一共可以分割为m片,则m=(Q*N)/U,设文件fx分割后的片文件为Pxj,j=1,2,3……m。
假设在III区服务器里将当天mysql的日统计数据导出到history.dat,其为1GB的文件,设冗余倍数为3倍,则将history.dat按照40MB每个块(chunk)进行分割,共有26个chunk,对每个块文件使用Reed-Solomon erasure编码,使每个块成为30个4MB的片,共有780个片(piece)。其中,Reed-Solomon erasure编码就像一个多对多(比如H对G)的协议。对数据来说,一共G个部分,只需要H个部分就可以恢复出完整的一个40M的chunk。Erasure是更高级别的冗余机制,每个piece都用Twofish算法加密。
步骤6、区块链API在文件存储区块链上搜索有效的文件存储节点,获得满足冗余存储历史文件的托管主机列表NodeList。
每个存储节点(托管主机)携带声誉评分、地理位置、存储价格和空余空间等信息,区块链API根据这些综合条件搜索满足存储条件的托管主机列表NodeList(托管主机1,托管主机2,托管主机3,…),托管主机的公开信息包括:声誉评分、地理位置、存储价格、空余空间、总空间和IP地址。
优选,步骤6中,每个存储节点携带声誉评分、地理位置、存储价格和空余空间信息,获得满足冗余存储历史文件的托管主机列表NodeList的具体步骤如下:
A)选择存储空间满足条件的节点集合S1并进入步骤B;
B)如果节点集合S1中满足此条件的节点只有一个的话,则选择此节点并返回结果,否则,进入步骤C;
C)在节点集合S1中选取声誉最高的节点集合S2,如果满足此条件的节点只有一个的话,则选择此节点,删掉节点集合S1中选中的该节点,更新节点集合S1并进入步骤B,否则,进入步骤D;
D)在节点集合S2中选取价格最低的节点集合S3,如果满足此条件的节点只有一个的话,则选择此节点,删掉节点集合S1和S2中选中的该节点,更新节点集合S1和S2并进入步骤C,否则,进入步骤E;
E)在节点集合S3中选取地理位置最近的节点,删掉节点集合S1和S2中选中的该节点,更新节点集合S1和S2并进入步骤D;
在上述各步骤中每获得一个新的存储节点时,判断存储节点数量是否满足需求,若满足则终止,否则重复各步骤至获得存储节点列表NodeList。
节点列表一如图3所示,选择托管主机1,托管主机2,托管主机3进行文件托管,则托管主机1存储history.dat的chunk1-chunk26的piece1(即Pxj,j=1,x=1,2,3……26,以下不再赘述),则托管主机2存储history.dat的chunk1-chunk26的piece2,则托管主机3存储history.dat的chunk1-chunk26的piece3。
步骤7、区块链API根据Nodelist用PrivateKey形成文件合约并广播到文件存储区块链。合约的内容包含:文件尺寸、文件Merkle树、合约开始时间、合约结束时间、存储费用。托管主机1对应文件合约FileContract1,托管主机2对应文件合约FileContract2,托管主机3对应文件合约FileContract3,以此类推。
步骤8、区块链API按照建立的文件合约,用PrivateKey加密上传各历史文件Pxj到NodeList中的各个托管节点。
优选,对于相同的x,同一个托管主机最多可存储一个Pxj,其中,x=1,2,3……k,j=1,2,3……m。比如,托管主机1可能包含chunk1,chunk2,chunk3及其他chunk的第一个piece(即j=1)。而托管主机2可能包含这些chunk的第二个piece(即j=2)……。
优选,在公网上,租用者用PrivateKey登陆区块链客户端(手机或者PC均可),检索上传的历史文件并下载。由于各文件分散存储到托管主机1,托管主机2……下载的时候,客户端分别从各个主机同时下载文件,下载速度将会比从单个服务器下载要快很多倍。
本发明的有益效果是:
第一、不需要建设历史存储数据中心,存储价格低廉,按空间时间付费,更经济适用。
第二、冗余倍数可自由定制,完全规避单点故障问题。
第三、文件加密,只有拥有文件加密私钥的用户才能读取存储的内容。
第四、文件分散下载,下载速度比中心化服务器更快,而且随时随地可以访问。
第五、极大节省了新能源集控业务数据存储的经济性,安全性,易用性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或者等效流程变换,或者直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种基于区块链的新能源集控云存储方法,其特征在于,包括如下步骤:
步骤1、在新能源集控III区服务器上部署区块链客户端、区块链API和文件合约管理器:
其中,区块链API为第三方程序访问文件存储区块链提供接口;
文件合约管理器管理系统当日产生的文件并自动生成对应的文件合约;
文件合约用于存储租用者和存储主机之间建立的文件存储约定;
步骤2、租用者通过区块链客户端生成区块链账号和密码PrivateKey;
步骤3、文件合约管理器将每日存储的采集数据打包成一个文件F,并对文件F按照设定的尺寸大小Q进行分割,设文件F一共可以分割为k个块,设分割后的块文件为fx,x=1,2,3……k;
步骤4、设置冗余倍数N;
步骤5、按照设定的冗余倍数N分别对分割后的文件fx按照设定的尺寸大小U进行分片,设分割后的文件fx一共可以分割为m片,则m=(Q*N)/U,设文件fx分割后的片文件为Pxj,j=1,2,3……m;
步骤6、区块链API在文件存储区块链上搜索有效的文件存储节点,获得满足冗余存储历史文件的托管主机列表NodeList;
步骤7、区块链API根据Nodelist用PrivateKey形成文件合约并广播到文件存储区块链;
步骤8、区块链API按照建立的文件合约,用PrivateKey加密上传各历史文件Pxj到NodeList中的各个托管节点。
2.根据权利要求1所述的一种基于区块链的新能源集控云存储方法,其特征在于,租用者用PrivateKey登陆区块链客户端,检索上传的历史文件并下载。
3.根据权利要求1所述的一种基于区块链的新能源集控云存储方法,其特征在于,步骤6中,每个存储节点携带声誉评分、地理位置、存储价格和空余空间信息,获得满足冗余存储历史文件的托管主机列表NodeList的具体步骤如下:
A)选择存储空间满足条件的节点集合S1并进入步骤B;
B)如果节点集合S1中满足此条件的节点只有一个的话,则选择此节点并返回结果,否则,进入步骤C;
C)在节点集合S1中选取声誉最高的节点集合S2,如果满足此条件的节点只有一个的话,则选择此节点,删掉节点集合S1中选中的该节点,更新节点集合S1并进入步骤B,否则,进入步骤D;
D)在节点集合S2中选取价格最低的节点集合S3,如果满足此条件的节点只有一个的话,则选择此节点,删掉节点集合S1和S2中选中的该节点,更新节点集合S1和S2并进入步骤C,否则,进入步骤E;
E)在节点集合S3中选取地理位置最近的节点,删掉节点集合S1和S2中选中的该节点,更新节点集合S1和S2并进入步骤D;
在上述各步骤中每获得一个新的存储节点时,判断存储节点数量是否满足需求,若满足则终止,否则重复各步骤至获得存储节点列表NodeList。
4.根据权利要求1所述的一种基于区块链的新能源集控云存储方法,其特征在于,步骤1中,文件存储约定包括约定存储的文件内容、大小、时间和费用。
5.根据权利要求1所述的一种基于区块链的新能源集控云存储方法,其特征在于,Q取值为40MB。
6.根据权利要求5所述的一种基于区块链的新能源集控云存储方法,其特征在于,N取值为2或3。
7.根据权利要求6所述的一种基于区块链的新能源集控云存储方法,其特征在于,步骤5中,每个分片使用Reed-Solomon erasure编码。
8.根据权利要求7所述的一种基于区块链的新能源集控云存储方法,其特征在于,对于相同的x,同一个托管主机最多可存储一个Pxj,其中,x=1,2,3……k,j=1,2,3……m。
CN201710940045.0A 2017-10-11 2017-10-11 一种基于区块链的新能源集控云存储方法 Active CN109660493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710940045.0A CN109660493B (zh) 2017-10-11 2017-10-11 一种基于区块链的新能源集控云存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710940045.0A CN109660493B (zh) 2017-10-11 2017-10-11 一种基于区块链的新能源集控云存储方法

Publications (2)

Publication Number Publication Date
CN109660493A CN109660493A (zh) 2019-04-19
CN109660493B true CN109660493B (zh) 2020-12-18

Family

ID=66108273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710940045.0A Active CN109660493B (zh) 2017-10-11 2017-10-11 一种基于区块链的新能源集控云存储方法

Country Status (1)

Country Link
CN (1) CN109660493B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质
CN110276544A (zh) * 2019-06-19 2019-09-24 华北电力大学(保定) 基于区块链的多元信息交互综合能源服务系统及方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505473A (zh) * 2008-02-05 2009-08-12 华为技术有限公司 电信网络用户数据存储管理的方法及装置
CN102307221A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种云存储系统及其实现方法
CN102306157A (zh) * 2011-07-12 2012-01-04 中国人民解放军国防科学技术大学 数据中心环境下一种面向节能的高可靠数据存储方法
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN103257958A (zh) * 2012-02-16 2013-08-21 中兴通讯股份有限公司 一种基于云存储的翻译方法及系统
CN103984607A (zh) * 2013-02-08 2014-08-13 华为技术有限公司 分布式存储的方法、装置和系统
CN105592098A (zh) * 2016-01-16 2016-05-18 杭州复杂美科技有限公司 区块链上的投票及ca证书的管理方法
CN106302702A (zh) * 2016-08-10 2017-01-04 华为技术有限公司 数据的分片存储方法、装置及系统
CN106296359A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的可信电力网络交易平台
CN106534317A (zh) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10255108B2 (en) * 2016-01-26 2019-04-09 International Business Machines Corporation Parallel execution of blockchain transactions

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505473A (zh) * 2008-02-05 2009-08-12 华为技术有限公司 电信网络用户数据存储管理的方法及装置
CN102307221A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种云存储系统及其实现方法
CN102306157A (zh) * 2011-07-12 2012-01-04 中国人民解放军国防科学技术大学 数据中心环境下一种面向节能的高可靠数据存储方法
CN103257958A (zh) * 2012-02-16 2013-08-21 中兴通讯股份有限公司 一种基于云存储的翻译方法及系统
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
CN103984607A (zh) * 2013-02-08 2014-08-13 华为技术有限公司 分布式存储的方法、装置和系统
CN105592098A (zh) * 2016-01-16 2016-05-18 杭州复杂美科技有限公司 区块链上的投票及ca证书的管理方法
CN106302702A (zh) * 2016-08-10 2017-01-04 华为技术有限公司 数据的分片存储方法、装置及系统
CN106296359A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的可信电力网络交易平台
CN106534317A (zh) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法

Also Published As

Publication number Publication date
CN109660493A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN108111585B (zh) 基于区块链的分布式存储方法
US10924511B2 (en) Systems and methods of chunking data for secure data storage across multiple cloud providers
US10318189B2 (en) Determining respective mappings for logically defined dispersed storage units
US9888076B2 (en) Encoded data slice caching in a distributed storage network
US11025965B2 (en) Pre-fetching content among DVRs
CN109302495A (zh) 一种数据存储方法及装置
US10635360B1 (en) Adjusting data ingest based on compaction rate in a dispersed storage network
US11704195B1 (en) Pre-positioning target content in a storage network
CN109660493B (zh) 一种基于区块链的新能源集控云存储方法
US11928230B2 (en) Adjusting efficiency of storing data
US20220179831A1 (en) Management of content
US9959076B2 (en) Optimized disk load distribution
CN110419029A (zh) 在分布式存储网络中部分更新数据内容的方法
WO2018081816A1 (en) Segmented cloud storage
CN104967660A (zh) 一种面向多云架构的网络性能提升方法
KR101666064B1 (ko) 분산 파일 시스템에서 url정보를 이용한 데이터 관리 장치 및 그 방법
CN108897497B (zh) 一种无中心的数据管理方法及装置
CN106254477B (zh) 一种基于多公共云的分布式数据上传和下载方法
US10296760B2 (en) System of shared secure data storage and management
US11019146B2 (en) Segmenting and merging data in a dispersed storage network
US9338210B2 (en) Distributing content items to users
WO2017039538A1 (en) Systems and methods for unified storage services
US10503595B2 (en) Combining deduplication with locality for efficient and fast storage
Al_Hachemi Cloud Computing Services with Minimal Redundancy, Storage, and Effective Processing Capabilities
AU2015101745A4 (en) System of shared secure data storage and management

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