CN108243250B - 一种基于分布式网络的分片快速选择方法 - Google Patents
一种基于分布式网络的分片快速选择方法 Download PDFInfo
- Publication number
- CN108243250B CN108243250B CN201810013875.3A CN201810013875A CN108243250B CN 108243250 B CN108243250 B CN 108243250B CN 201810013875 A CN201810013875 A CN 201810013875A CN 108243250 B CN108243250 B CN 108243250B
- Authority
- CN
- China
- Prior art keywords
- distance
- hash
- fragment
- target
- nodes
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的一种基于分布式网络的分片快速选择方法,涉及网络技术领域,包括如下步骤:(1)节点信息注册:将所有参与分片的节点注册于某个分布式存储系统;(2)分片信息配置:创建者设置所述分片所采用的共识方式,以及所需要的共识节点数等参数;(3)快速分片选择:节点通过比较计算所得的哈希距离与目标哈希距离来确定自己是否被选中来参与该分片。本方案不仅不需要额外的存储空间来保存分片的从属信息,而且可以实现对单个合约的分片控制,实现分片的细分控制,以及在合约的生命周期内都采用同一分片,减少数据存储的负担。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种基于分布式网络的分片快速选择方法。
背景技术
分片作为去中心化网络的提高处理速度、提高并行处理能力的有效方法,受到越来越多的重视。在区块链技术中,由于分布式网络的去中心化特点,在大量的节点之间选择符合要求的分片,是一个挑战。这些挑战在于几个方面:1.分片的选择必须完全随机,或者满足正态分布;2.必须保证在所有的分布式节点都得到同样的结果;3.必须快速简单的实现以支持快速的处理速度。4.分片的选择不可以事先通过某种方式获得,从而使得恶意节点共谋参与同一分片。
现有的技术一般通过两种方法来实现。第一种是在分布式网络中维持一个全局一致的节点列表,然后通过某种排序方法,将节点分成若干片。第二种是通过某种工作量证明的方式(pow),根据节点递交工作量的先后次序来将节点分配到分片之中。
现有的技术的主要缺陷:
1)算法比较复杂或者需要消耗系统资源。
排序的复杂度是o(n log(n)),对于大量的节点,这样的处理会有不可忽略的延迟。如果用工作量证明,必须选择合适的难度,保证在有限的时间范围内作出有效的区分。而Pow造成的延迟更加明显。
2)需要维持一个全局的状态
由于分布式网络的特点,每个节点必须要得出统一的分片结果,这就要求全局保持一个一致性的存储状态。这样一方面带来了额外的存储负担,另一方面也大大提高了系统的复杂程度。
3)分片的选择周期性的更新
由于分片的选择比较昂贵,通常会采用周期性的分片重选。在这个周期内部,节点属于哪个分片都是固定的。到周期结束时,才对节点参与的分片进行重新洗牌。这样有几个缺点:1.在节点快速变动的时候,不能有效的应对;2.如果某个分片的活跃节点数低于最低标准的时候,这个分片无法正常共识,必须等到周期结束重新分配后才能正常运行,造成该分片的长时间不可用性;3.如果某个合约的生存周期大于分片选择周期,分片重新选择之后会造成不必要的数据存储的负担。
发明内容
本发明的目的在于克服上述现有技术的问题,提供了一种基于分布式网络的分片快速选择方法,节点通过比较计算所得的哈希距离与目标哈希距离来确定自己是否被选中来参与该分片。
上述目的是通过以下技术方案来实现:
一种基于分布式网络的分片快速选择方法,包括如下步骤:
(1)节点信息注册:将所有参与分片的节点注册于某个分布式存储系统,注册信息至少包括所述节点的唯一32位哈希值标识(id);
(2)分片信息配置:创建某个分片,所述分片至少包含所述分片的唯一32位哈希值标识(sid);创建者设置所述分片所采用的共识方式,以及所需要的共识节点数等参数;所述共识节点数通过计算一个选择参数来实现,所述选择参数包括比较的位置,以及目标哈希距离,如下式:
Select(index_range,hash_distance_target);
其中,index_range表示比较的位置,hash_distance_target表示目标哈希距离;
(3)快速分片选择:
a.首先计算步骤(1)中所述节点的标识(id)与步骤(2)中所述分片的标识(sid)之间的哈希距离,公式如下:
Hash_distance=∑i char_dist(id[i]-sid[i])*base^i
其中,hash_distance表示哈希距离;Char_dist表示单个字符的距离;i表示标识位置的循环索引,即对步骤(2)中的每个所述比较的位置进行循环;base表示标识编码的最长距离;
b.然后比较步骤(a)中计算所得的所述哈希距离与步骤(2)中所述目标哈希距离的大小;当所述哈希距离<所述目标哈希距离时,所述节点被所述分片选中;当所述哈希距离≥所述目标哈希距离时,所述节点未被所述分片选中。
进一步地,还包括分片验证系统,所述分片验证系统通过循环步骤(2)和步骤(3)来验证;
当所述哈希距离<所述目标哈希距离时,验证成功,系统反馈所述节点对应的所述注册信息;
当所述哈希距离≥所述目标哈希距离时,验证失败,系统提示发布新的分片请求。
进一步地,步骤(2)中所述目标哈希距离的选择标准,如下式:
Hash_distance_target=(s/n)*mean_distance;
其中,n表示系统中注册的所有参与节点数,s表示当前分片所需的节点数;mean_distance表示所用字符编码的平均字符距离。
进一步地,步骤(3)中被所述分片选中的所述节点通过显式确认的方式来确认参与所述分片。
进一步地,步骤(3)中还可通过附加工作量证明(POW)来对所述节点进行筛选,并参与所述分片。
有益效果
通过本发明所述一种基于分布式网络的分片快速选择方法,具有如下优点:
1)可以以常数复杂度o(1)来选择节点是否参与某个分片;
2)所有节点都可以以常数复杂度o(1)来验证某个节点是否属于某个分片;
3)不需要额外的存储空间来保存分片的从属信息;
4)实现对单个合约的分片控制,实现分片的细分控制,以及在合约的生命周期内都采用同一分片,减少数据存储的负担;
5)实现任意时刻的分片重新选择;
6)分片的选择不可以事先获得。
具体实施方式
下面将对本发明实施例作详细说明。
一种基于分布式网络的分片快速选择方法,包括如下步骤:
(1)节点信息注册:将所有参与分片的节点注册于某个分布式存储系统,注册信息至少包括所述节点的唯一32位哈希值标识(id);具体的,所有参与分片的节点必须预先注册,这个可以通过一个区块链的智能合约实现;
(2)分片信息配置:创建某个分片,所述分片至少包含所述分片的唯一32位哈希值标识(sid);创建者设置所述分片所采用的共识方式,以及所需要的共识节点数等参数;所述共识节点数通过计算一个选择参数来实现,所述选择参数包括比较的位置,以及目标哈希距离,如下式:
Select(index_range,hash_distance_target);
其中,index_range表示比较的位置,hash_distance_target表示目标哈希距离;
(3)快速分片选择:
a.首先计算步骤(1)中所述节点的标识(id)与步骤(2)中所述分片的标识(sid)之间的哈希距离,公式如下:
Hash_distance=∑i char_dist(id[i]-sid[i])*base^i
其中,hash_distance表示哈希距离;Char_dist表示单个字符的距离;i表示标识位置的循环索引,即对步骤(2)中的每个所述比较的位置进行循环;base表示标识编码的最长距离;
b.然后比较步骤(a)中计算所得的所述哈希距离与步骤(2)中所述目标哈希距离的大小;当所述哈希距离<所述目标哈希距离时,所述节点被所述分片选中;当所述哈希距离≥所述目标哈希距离时,所述节点未被所述分片选中。
作为本实施例的进一步改进,还包括分片证系统,所述分片验证系统通过循环步骤(2)和步骤(3)来验证;即当所述哈希距离<所述目标哈希距离时,节点验证成功,系统反馈所述节点对应的所述注册信息;当所述哈希距离≥所述目标哈希距离时,验证失败,系统提示发布新的分片请求,具体的,如果在指定的时间内,分片发起者没有获得足够(比如目标数为100个,没有达到80%的节点参与)的参与节点,分片发起者重新发布新的分片请求。
本实施例中,步骤(2)中所述目标哈希距离的选择标准,如下式:
Hash_distance_target=(s/n)*mean_distance;
其中,n表示系统中注册的所有参与节点数,s表示当前分片所需的节点数;mean_distance表示所用字符编码的平均字符距离。
作为本实施例的进一步改进,步骤(3)中被所述分片选中的所述节点通过显式确认的方式来确认参与所述分片,即当所述哈希距离<所述目标哈希距离时,节点验证成功,系统反馈所述节点对应的所述注册信息,并广播通知分片参与者确认自己将参与该分片。
作为本实施例的进一步改进,步骤(3)中还可通过附加工作量证明(POW)来筛选有足够运算能力、内存、网络带宽等系统资源的节点参与分片。
作为对实施例的进一步说明,举如下案例:
Hsh_dist=|0-A|*8+|E-9|=53
设定hash_distance_target(目标哈希距离)的参数为30,案例中,参与分片的节点标识为B60EF19A,分片标识为42A9880C时,当index_range(比较的位置)为2-3时,此时Hash_distance(哈希距离)为53,由于53>30(即哈希距离>目标哈希距离),所以验证失败,该节点未被选中参与分片。
上述实施例中,利用本方案的分片节点的选择有如下特征:
1.节点的标识以及分片的标识都是随机产生
2.对于标识任一位置的字符也是符合随机产生
3.两个随机产生的字符距离符合正态分布
4.多个字符的距离集合符合正态分布
5.字符距离与目标距离的差值符合正态分布
综述,本分片节点选择方法符合随机方式或正态分布。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,均可想到的变化或替换都涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求保护的范围为准。
Claims (5)
1.一种基于分布式网络的分片快速选择方法,其特征在于,包括如下步骤:
(1)节点信息注册:将所有参与分片的节点注册于某个分布式存储系统,注册信息至少包括所述节点的唯一32位哈希值标识(id);
(2)分片信息配置:创建某个分片,所述分片至少包含所述分片的唯一32位哈希值标识(sid);创建者设置所述分片所采用的共识方式,以及所需要的共识节点数等参数;所述共识节点数通过计算一个选择参数来实现,所述选择参数包括比较的位置,以及目标哈希距离,如下式:
Select(index_range,hash_distance_target);
其中,index_range表示比较的位置,hash_distance_target表示目标哈希距离;
(3)快速分片选择:
a.首先计算步骤(1)中所述节点的标识(id)与步骤(2)中所述分片的标识(sid)之间的哈希距离,公式如下:
Hash_distance=∑ichar_dist(id[i]-sid[i])*base^i
其中,hash_distance表示哈希距离;Char_dist表示单个字符的距离;i表示标识位置的循环索引,即对步骤(2)中的每个所述比较的位置进行循环;base表示标识编码的最长距离;
b.然后比较步骤(a)中计算所得的所述哈希距离与步骤(2)中所述目标哈希距离的大小;当所述哈希距离<所述目标哈希距离时,所述节点被所述分片选中;当所述哈希距离≥所述目标哈希距离时,所述节点未被所述分片选中。
2.根据权利要求1所述的一种基于分布式网络的分片快速选择方法,其特征在于,还包括分片验证系统,所述分片验证系统通过循环步骤(2)和步骤(3)来验证;
当所述哈希距离<所述目标哈希距离时,验证成功,系统反馈所述节点对应的所述注册信息;
当所述哈希距离≥所述目标哈希距离时,验证失败,系统提示发布新的分片请求。
3.根据权利要求1所述的一种基于分布式网络的分片快速选择方法,其特征在于,步骤(2)中所述目标哈希距离的选择标准,如下式:
Hash_distance_target=(s/n)*mean_distance;
其中,n表示系统中注册的所有参与节点数,s表示当前分片所需的节点数;mean_distance表示所用字符编码的平均字符距离。
4.根据权利要求1所述的一种基于分布式网络的分片快速选择方法,其特征在于,步骤(3)中被所述分片选中的所述节点通过显式确认的方式来确认参与所述分片。
5.根据权利要求1所述的一种基于分布式网络的分片快速选择方法,其特征在于,步骤(3)中还可通过附加工作量证明(POW)来对所述节点进行筛选,并参与所述分片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810013875.3A CN108243250B (zh) | 2018-01-05 | 2018-01-05 | 一种基于分布式网络的分片快速选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810013875.3A CN108243250B (zh) | 2018-01-05 | 2018-01-05 | 一种基于分布式网络的分片快速选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108243250A CN108243250A (zh) | 2018-07-03 |
CN108243250B true CN108243250B (zh) | 2020-12-15 |
Family
ID=62699383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810013875.3A Active CN108243250B (zh) | 2018-01-05 | 2018-01-05 | 一种基于分布式网络的分片快速选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108243250B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146447B (zh) * | 2018-07-09 | 2022-07-05 | 矩阵元技术(深圳)有限公司 | 区块链透明分片方法、装置及系统 |
CN109040783A (zh) * | 2018-09-11 | 2018-12-18 | 北京朗达和顺科技有限公司 | 一种视频防伪系统、方法及装置 |
CN111008835B (zh) * | 2018-10-08 | 2024-05-28 | 上海派链信息科技有限公司 | 用于确定区块链的交易验证节点的方法、设备、计算机可读存储介质和计算机程序产品 |
CN111309801A (zh) * | 2018-12-11 | 2020-06-19 | 航天信息股份有限公司 | 一种联盟链分片的方法及装置 |
CN112883038B (zh) * | 2021-04-29 | 2021-07-23 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据管理方法、计算机及可读存储介质 |
CN112988852B (zh) * | 2021-05-11 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据管理方法、设备以及介质 |
CN114140115B (zh) * | 2021-10-28 | 2022-09-06 | 湖南天河国云科技有限公司 | 区块链交易池的分片方法、系统、存储介质和计算机系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
WO2017200438A1 (en) * | 2016-05-19 | 2017-11-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for handling hash-tree based data signatures |
WO2017220115A1 (en) * | 2016-06-20 | 2017-12-28 | Rwe International Se | Software defined networking system |
-
2018
- 2018-01-05 CN CN201810013875.3A patent/CN108243250B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017200438A1 (en) * | 2016-05-19 | 2017-11-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for handling hash-tree based data signatures |
WO2017220115A1 (en) * | 2016-06-20 | 2017-12-28 | Rwe International Se | Software defined networking system |
CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
Non-Patent Citations (2)
Title |
---|
A Prototype Evaluation of a Tamper-resistant High Performance Blockchain-based Transaction Log for a Distributed Database;Leonardo Aniello等;《 2017 13th European Dependable Computing Conference (EDCC)》;20170908;全文 * |
区块链的存储容量可扩展模型;贾大宇等;《计算机科学与探索2018年》;20170928(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108243250A (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108243250B (zh) | 一种基于分布式网络的分片快速选择方法 | |
US11375010B2 (en) | Sharding block chain generation method based on tree structure | |
US11070361B2 (en) | Block generation method in blockchain-based system | |
CN112235379B (zh) | 一种区块链底层共享存储方法 | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
US20210073186A1 (en) | Permissionless blockchain consensus method with adjusting block weight, system and p2p network | |
US20220038280A1 (en) | Technique for computing a block in a blockchain network | |
CN115665170A (zh) | 基于信誉和节点压缩机制的区块链共识方法 | |
US20220166842A1 (en) | Data distribution method and electronic device | |
US10848472B2 (en) | Method and WLAN controller for managing authentication data of STA | |
CN110139274A (zh) | 一种蓝牙设备的鉴权方法、电子设备和可存储介质 | |
WO2020032937A1 (en) | System and method for accessing a data repository | |
WO2022141024A1 (zh) | 基于区块链技术的业务交易方法、系统及存储介质 | |
CN112748996A (zh) | 一种非集中式拓扑系统的负载均衡策略方法及系统 | |
CN114866558B (zh) | 基于数字服务技术的区块链认证平台与方法 | |
CN116980281A (zh) | 节点选取方法、装置、第一节点、存储介质及程序产品 | |
US20230185597A1 (en) | Virtualized network function deployment method, management and orchestration platform, and medium | |
CN112418861A (zh) | 一种应用于工业物联网的节点快速共识方法 | |
CN115102899B (zh) | 一种基于负载均衡的区块链节点树形分片方法 | |
CN116633699B (zh) | 基于区块链的产品防伪溯源信息可信处理方法及系统 | |
US20220405384A1 (en) | Blockchain-based method and system for securing a network of virtual wireless base stations | |
CN113923166B (zh) | 负载均衡方法和分布式集群系统 | |
CN115002111B (zh) | 一种基于群组树架构的区块链共识方法 | |
CN118869184A (zh) | 一种基于信誉值与分片技术的pbft共识方法 | |
JP2024529217A (ja) | コンセンサスネットワークのデータ処理方法、装置、プログラム、及び機器 |
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 |