CN115065688A - 一种数据传输方法、装置、设备及计算机可读存储介质 - Google Patents
一种数据传输方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115065688A CN115065688A CN202210633382.6A CN202210633382A CN115065688A CN 115065688 A CN115065688 A CN 115065688A CN 202210633382 A CN202210633382 A CN 202210633382A CN 115065688 A CN115065688 A CN 115065688A
- Authority
- CN
- China
- Prior art keywords
- block
- hash value
- transmission port
- data transmission
- node
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种数据传输方法、装置、设备及计算机可读存储介质,涉及通信技术领域。该方法包括:确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。本发明的方案,无需通过主节点将数据传输端口发送给各个节点,每个节点均根据第一区块和第二区块的确定出第一数据传输端口,从而使得每个节点的传输端口保持一致,解决了发送新端口的过程中因为节点会发生异常状况引起新端口的发送失败的问题。
Description
技术领域
本发明涉及通信技术领域,特别是指一种数据传输方法、装置、设备及计算机可读存储介质。
背景技术
随着区块链技术的发展,区块链中节点的数量越来越大,在每个新的数据传输周期,数据传输端口通过某一个节点的计算结果确定,然后将确定的新端口发送给区块链的其余节点。在发送新端口的过程中因为节点会存在夯死、重启或者受到外界恶意攻击的问题引起新端口的发送失败,从而区块链中节点的数据传输端口不一致,进而导致区块链数据传输失败。
发明内容
本发明的目的是提供一种数据传输方法、装置、设备及计算机可读存储介质,用以解决现有技术中发送新端口的过程中因为节点会存在夯死、重启或者受到外界恶意攻击的问题引起新端口的发送失败的问题。
第一方面,本发明的实施例提供了一种数据传输方法,应用于第一节点,包括:
确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;
通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
可选地,所述根据所述第一区块信息以及所述第二区块的哈希值,确定第一传输端口,包括:
获取所述第一区块的第一区块信息以及所述第二区块的哈希值;
对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值;
根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口。
可选地,所述根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口,包括:
根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数;
通过切割函数对所述第一中间参数进行处理,得到第二中间参数;
根据所述第二中间参数,得到所述第一传输端口的端口号。
可选地,所述根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数,包括:
通过哈希函数和异或函数对所述第一区块信息和所述第一哈希值进行处理,得到所述第一中间参数。
可选地,所述第一区块信息,包括:
第一区块的版本号、第一区块的节点数量、第二区块的哈希值、第一区块的时间戳、第一区块预设时间内资源分配模块的任务数量以及根据所述第一区块预设时间内资源分配模块的任务数量确定的第一区块的第二哈希值。
可选地,所述通过所述第一传输端口和第二传输端口进行下一数据传输周期的数据发送或接收,包括:
在数据传输周期的预设时间段内通过所述第二传输端口进行数据发送,并在数据传输周期的剩余时间内通过所述第一传输端口进行数据发送;
或者,通过所述第二传输端口进行数据接收,并在所述第一传输端口接收到数据之后,采用所述第一传输端口进行数据接收。
可选地,所述对所述第一区块信息进行哈希处理,得到第一区块的哈希值之后,还包括:
根据区块链中所有节点的贡献值确定主节点;
接收所述主节点的目标哈希值,根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理;
其中,所述目标哈希值为当前区块以及当前区块之前N个区块的哈希值,N大于等于2。
可选地,所述根据区块链中所有节点的贡献值确定主节点,包括:
对所述第一区块的主节点的贡献值进行清零;
根据节点每秒的数据请求响应数以及节点每秒的资源分配大小,确定所述第一区块中所有节点的贡献值;
将所述第一区块中所有节点中贡献值最大的节点作为主节点。
可选地,所述根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理,包括:
与所述目标哈希值进行对比;
在第一节点的哈希值与所述目标哈希值不一致的情况下,将所述第一节点的哈希值更改为所述目标哈希值。
第二方面,本发明的实施例提供了一种数据传输装置,应用于第一节点,包括:
确定模块,用于确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;
传输模块,用于通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
第三方面,本发明的实施例提供了一种电子设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现如上所述的数据传输方法。
第四方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的数据传输方法中的步骤。
本发明实施例的数据传输方法,无需通过主节点将数据传输端口发送给各个节点,区块链中的每个节点均获取所述第一区块的第一区块信息以及所述第二区块的哈希值;并根据所述第一区块信息以及所述第二区块的哈希值,确定第一传输端口;每个节点均通过第一传输端口和区块链当前数据传输周期的第二传输端口进行数据的发送或者接收,使得所述区块链中的每个节点的数据传输端口保持一致。本方案解决了发送新端口的过程中因为节点会存在夯死、重启或者受到外界恶意攻击的问题引起新端口的发送失败的问题。并且,通过双端口进行数据的发送或接收,保证了数据的安全性,可以有效防止区块链中的节点因其他因素导致没有及时更新端口而出现数据丢失的问题。
附图说明
图1为本发明实施例的数据传输方法的流程示意图;
图2为本发明实施例的主节点确定方法的逻辑示意图;
图3为本发明实施例的主节点确定方法的流程示意图;
图4为本发明实施例的数据传输方法的逻辑示意图;
图5为本发明实施例的数据传输装置的模块示意图;
图6为本发明实施例的电子设备的实施结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改为不脱离本发明的范围和精神。另外,为了清除和简洁,省略了对抑制功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
如图1所示,本发明实施例的一种本发明的实施例提供了一种数据传输方法,应用于第一节点,该方法包括如下步骤:
步骤101,确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块。
步骤102,通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
需要说明的是,当前区块可以理解为当前数据传输周期下的区块。
本发明一实施例中,所述第一节点可以为所述区块链中的任意节点。
本发明实施例的数据传输方法,无需通过主节点将下一数据传输周期的数据传输端口发送给各个节点,即可使得所述区块链中的每个节点的数据传输端口保持一致,解决了发送新端口的过程中因为节点会存在夯死、重启或者受到外界恶意攻击的问题引起新端口的发送失败的问题。
本发明一实施例中,获取所述当前区块的区块信息和所述当前区块的父区块的哈希值,确定出当前区块的子区块的数据传输端口。
本发明另一实施例中,采用当前区块之前的区块信息进行第一传输端口的计算,例如,当前区块中节点身份验证信息中有10个区块,则采用第8个区块的区块信息、第7个区块的哈希值作为算法中进行第一传输端口的生成,采用第8个区块的区块信息和第7个区块的哈希值,因为第8个区块的区块信息以及第7个区块的哈希值均经过了同步更新,每个节点处的第8个区块的区块信息以及第7个区块的哈希值均相同,因此本发明实施例中,通过当前区块之前区块的区块信息进行所述第一传输端口的生成,确保了每个节点生成所述第一传输端口所依据的区块信息为同步信息,可以有效解决因区块链中各个节点出生成的第一数据传输端口不一致导致区块分叉的问题。
本发明实施例的数据传输方法,通过双端口进行数据的发送或接收,保证了数据的安全性,可以有效防止区块链中的节点因其他因素导致没有及时更新端口而出现数据丢失的问题。
可选地,所述根据所述第一区块信息以及所述第二区块的哈希值,确定第一传输端口,包括:
获取所述第一区块的第一区块信息以及所述第二区块的哈希值;
对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值;
根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口。
本发明实施例的数据传输方法,通过对所述第一区块信息和所述第一哈希值进行哈希处理,每个节点均得到一致的第一区块的哈希值,从而得到相同的第一传输端口。
可选地,所述根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口,包括:
根据端口跳变生成算法对所述第一区块信息和所述第一哈希值所述进行处理,得到第一中间参数;
通过切割函数对所述第一中间参数进行处理,得到第二中间参数;
根据所述第二中间参数,得到所述第一传输端口的端口号。
可选地,所述第一区块信息,包括:
第一区块的版本号、第一区块的节点数量、第一区块的时间戳和第一区块预设时间内资源分配模块的任务数量。
可选地,根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数,包括:
通过哈希函数和异或函数对所述第一区块信息和所述第一哈希值进行处理,得到所述第一中间参数。
具体地,所述端口跳变生成算法的计算公式为:
R1=Ceor(H((T+N),V,t),Ceor(Hp,Hc));
其中,R1为所述第一中间参数;Ceor为异或函数;H为哈希函数;T为第一区块预设时间内资源分配模块的任务数量;N为第一区块的节点数量;V为第一区块的版本号;t为第一区块的时间戳;Hp为第二区块的哈希值;Hc为第一区块的哈希值。
本发明一实施例中,按照4为切割通过切割函数对所述第一中间参数进行处理,得到第二中间参数,计算公式如下:
Pi=fsplit(R1,4);
其中,R1为所述第一中间参数;Pi为第二中间数据,i=1,2,3…。
本发明一实施例中,根据所述第二中间参数通过以下方式确定所述第一传输端口的端口号:
R2=Ceor(P1,P2,…Pi);
其中,R2为第三中间参数;Ceor为异或函数;
将所述第三中间参数R2进行十进制转换得到第三中间参数R3,并通过以下算法得到所述第一传输端口的端口号:
R4=(1000<R3mod65535<65535);
其中,R4即为所述第一传输端口的端口号。
本发明的方案,通过端口跳变算法,并基于第一区块的哈希值、第一区块的区块信息以及第二区块的哈希值进行计算,能够保证区块链中各个节点生成的端口号一致性,同时,各个节点同时生成所述第一传输端口的端口号,无需所述第一传输端口的端口号在各个节点之间进行传输,避免了所述第一传输端口的端口号在各个节点传输过程中泄露的风险。
可选地,通过所述第一传输端口和第二传输端口进行数据的发送或接收,包括:
在数据传输周期的预设时间段内通过所述第二传输端口进行数据发送,并在数据传输周期的剩余时间内通过所述第一传输端口进行数据发送;
或者,通过所述第二传输端口进行数据接收,并在所述第一传输端口接收到数据之后,采用所述第一传输端口进行数据接收。
本发明一实施例中,采用双端口接收模式,可通过延迟1/4数据传输周期的方式进行发送端口变换。若端口Port8为所述第一传输端口,则发送节点会先通过旧端口Port7进行1/4个数据传输周期的数据发送,然后转到新端口Port8继续进行剩余3/4个数据传输周期的数据发送,并关闭旧端口Port7。其余节点则通过双端口(Port7、Port8)接收数据,当接收节点收到来自Port8端口数据后,即关闭Port7端口,最后将数据组合起来。
本发明实施例的方案,在整个新一轮的数据传输过程中,通过延迟预设时间段进行发送端口以及接收端口变更,可以有效防止区块链中的节点因其他因素导致没有及时更新端口而出现数据丢失的问题,且数据传输过程始终保持只有一个端口发送数据或者接收数据,节约了通信开销。
可选地,所述对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值之后,还包括:
根据区块链中所有节点的贡献值确定主节点;
接收所述主节点的目标哈希值,根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理;
其中,所述目标哈希值为当前区块以及当前区块之前N个区块的哈希值,N大于等于2。
本发明一实施例中,各个节点接收到主节点每隔一定时间广播带有签名的最新3个区块哈希值(h1,h2,h3),并对哈希值列表进行签名验证,然后判断h1与自己当前最新哈希是否一致。若不一致,再判断h2是否与自己当前最新哈希是否一致,若一致,则更新区块的哈希值为h1。若不一致,再判断h3是否与自己当前最新哈希是否一致,若一致,则更新区块的哈希值为h1,若都不一致则向主节点发起同步身份验证区块请求并附上自己的签名信息。如此时区块网络有分叉区块时,则会出现h3不一致,从而向主节点发起区块同步请求,并将自己的哈希值更新成为与主节点的哈希值一致,有效解决区块分叉问题。
根据区块链中所有节点的贡献值确定主节点,包括:将所有节点中贡献值最大的节点作为所述主节点。
本发明的方案,通过对区块链中各个节点的哈希值进行更新,使得所述对区块链中各个节点的哈希值保持一致,能够使得每个节点得到相同的第一终端传输端口。
可选地,所述根据区块链中所有节点的贡献值确定主节点,包括:
对所述第一区块的主节点的贡献值进行清零;
根据节点每秒的数据请求响应数以及节点每秒的资源分配大小,确定所述第一区块中所有节点的贡献值;
将所述第一区块中所有节点中贡献值最大的节点作为主节点。
本发明一实施例中,根据每个节点接收到的请求数和Yarn分配的资源数并通过如下计算公式计算节点的贡献值:
其中,C为计算得到的节点贡献值;Req为节点每秒的数据请求响应数;Res为节点每秒的资源分配大小;y为节点每秒的数据请求响应数的权重系数和z表示节点每秒的资源分配大小的占权重系数;且y+z=1。
如图2所示,区块链中的各个节点计算节点的贡献值,并根据各个节点的贡献值中最高的节点作为下一数据传输周期的主节点,并通过主节点维护区块信息,其余的节点也可只有退出所述区块链。
如图3所示,本发明的一实施例中,假设区块链中存在3个节点,节点贡献值的单位为:万。A、B、C三个节点的初始贡献值都为0,三个节点依次申请主权限,最先申请朱权限的节点即为第一个数据传输周期的主节点,且拥有0个节点贡献值,所有第一个数据传输周期的记账权交给A节点。在10分钟内,A节点有4W的贡献值;B节点拥有2W贡献值,C节点拥有3W贡献值,此时A节点获胜,取得下轮记账权,进入下一轮数据传输周期。下轮开始时,A节点贡献值清理,即初始节点的贡献值为0,B节点初始贡献值为2W,C节点为3W。经过第二个10分钟,A的节点贡献值为3W,B节点为4W,C节点为6W,则C节点获胜,成为新的主节点。同理,下轮10分钟后,A节点为5W,B节点为6W,C节点为5W,则B节点获胜,成为新的主节点。
可选地,所述根据所述第一哈希值进行更新处理,包括:
与所述第一哈希值进行对比;
在第一节点的哈希值与所述第一哈希值不一致的情况下,将所述第一节点的哈希值更改为所述第一哈希值。
本发明一实施例中,所述第一哈希值为当前区块以及当前区块之前2个区块的哈希值,判断h1与自己当前最新哈希是否一致。若不一致,再判断h2是否与自己当前最新哈希是否一致,若一致,则更新区块的哈希值为h1。若不一致,再判断h3是否与自己当前最新哈希是否一致,若一致,则更新区块的哈希值为h1,若都不一致则向主节点发起同步身份验证区块请求并附上自己的签名信息。
本发明实施例的数据传输方法的逻辑示意图如图4所示:
在所述区块链确定出主节点后,主节点广播哈希值,各个节点对自身的哈希值进行验证,与所述主节点哈希值不一致的节点根据接收到的主节点的哈希值进行初始化,将与所述主节点哈希值不同的节点进行哈希值的同步;再通过本发明实施例的端口跳变生成算法确定出所述第一传输端口;同时,发送节点在新的数据传输周期的前1/4周期使用所述第二传输端口进行数据的发送,二在新的数据传输周期的剩余3/4周期使用所述第一传输端口进行数据的发送;接收节点也采用新旧两个端口进行数据接收,并在所述第一传输端口接收到数据后即关闭所述第二传输端口。
如图5所示,本发明的实施例提供了一种数据传输装置500,包括:
确定模块501,用于确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;
传输模块502,用于通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
可选地,所述确定模块501,包括:
获取单元,用于获取所述第一区块的第一区块信息以及所述第二区块的哈希值;
第一确定单元,用于对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值;
第二确定单元,用于根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口。可选地,所述第二确定单元,包括:
第一确定子单元,用于根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数;
第二确定子单元,用于通过切割函数对所述第一中间参数进行处理,得到第二中间参数;
第三确定子单元,用于根据所述第二中间参数,得到所述第一传输端口的端口号。
可选地,所述传输模块502,包括:
发送单元,用于在进行下一数据传输周期的数据发送时,在所述下一数据传输周期的预设时间段内通过所述第二传输端口进行数据发送,并在下一数据传输周期的剩余时间通过所述第一传输端口进行数据发送;
接收单元,用于或者,在进行下一数据传输周期的数据接收时,通过所述第二传输端口进行数据接收,并在所述第一传输端口接收到数据之后,采用所述第一传输端口进行数据接收。
可选地,第一确定单元,还包括:
第四确定子单元,用于根据区块链中所有节点的贡献值确定主节点;
更新子单元,用于接收所述主节点的目标哈希值,根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理;
其中,所述目标哈希值为当前区块以及当前区块之前N个区块的哈希值,N大于等于2。
可选地,所述第四确定子单元,还用于:
对所述第一区块的主节点的贡献值进行清零;
根据节点每秒的数据请求响应数以及节点每秒的资源分配大小,确定所述第一区块中所有节点的贡献值;
将所述第一区块中所有节点中贡献值最大的节点作为主节点。
可选地,所述更新子单元,,还用于:
与所述目标哈希值进行对比;
在第一节点的哈希值与所述目标哈希值不一致的情况下,将所述第一节点的哈希值更改为所述目标哈希值。
如图6所示,本发明的实施例提供了一种电子设备,包括收发器610、处理器600、存储器620及存储在所述存储器620上并可在所述处理器600上运行的程序或指令;所述处理器600执行所述程序或指令时实现上述应用于如上所述的数据传输方法。
所述收发器610,用于在处理器600的控制下接收和发送数据。
其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口630还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。
可选地,所述处理器600用于确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;
所述收发器610用于通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
可选地,所述收发器610用于获取所述第一区块的第一区块信息以及所述第二区块的哈希值;
所述处理器600还用于对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值;
根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口。
可选地,所述处理器600还用于根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数;
通过切割函数对所述第一中间参数进行处理,得到第二中间参数;
根据所述第二中间参数,得到所述第一传输端口的端口号。
可选地,所述收发器610还用于在在数据传输周期的预设时间段内通过所述第二传输端口进行数据发送,并在数据传输周期的剩余时间内通过所述第一传输端口进行数据发送;
或者,通过所述第二传输端口进行数据接收,并在所述第一传输端口接收到数据之后,采用所述第一传输端口进行数据接收。
可选地,所述处理器600还用于根据区块链中所有节点的贡献值确定主节点;
接收所述主节点的目标哈希值,根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理;
其中,所述目标哈希值为当前区块以及当前区块之前N个区块的哈希值,N大于等于2。
可选地,所述处理器600还用于对所述第一区块的主节点的贡献值进行清零;
根据节点每秒的数据请求响应数以及节点每秒的资源分配大小,确定所述第一区块中所有节点的贡献值;
将所述第一区块中所有节点中贡献值最大的节点作为主节点。
可选地,所述处理器600还用于与所述目标哈希值进行对比;
在第一节点的哈希值与所述目标哈希值不一致的情况下,将所述第一节点的哈希值更改为所述目标哈希值。
本发明的实施例提供了一种计算机可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的数据传输方法中的步骤。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种数据传输方法,应用于第一节点,其特征在于,包括:
确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;
通过所述第一传输端口和第二传输端口进行数据的发送或接收;所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
2.根据权利要求1所述的数据传输方法,其特征在于,所述确定第一传输端口,包括:
获取所述第一区块的第一区块信息以及所述第二区块的哈希值;
对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值;
根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述第一区块信息和所述第一哈希值所述,确定所述第一传输端口,包括:
根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数;
通过切割函数对所述第一中间参数进行处理,得到第二中间参数;
根据所述第二中间参数,得到所述第一传输端口的端口号。
4.根据权利要求3所述的数据传输方法,其特征在于,所述根据端口跳变生成算法对所述第一区块信息和所述第一哈希值进行处理,得到第一中间参数,包括:
通过哈希函数和异或函数对所述第一区块信息和所述第一哈希值进行处理,得到所述第一中间参数。
5.根据权利要求2至4任一项所述的数据传输方法,其特征在于,所述第一区块信息,包括:
第一区块的版本号、第一区块的节点数量、第二区块的哈希值、第一区块的时间戳、第一区块预设时间内资源分配模块的任务数量以及根据所述第一区块预设时间内资源分配模块的任务数量确定的第一区块的第二哈希值。
6.根据权利要求1所述的数据传输方法,其特征在于,所述通过所述第一传输端口和第二传输端口进行数据的发送或接收,包括:
在数据传输周期的预设时间段内通过所述第二传输端口进行数据发送,并在数据传输周期的剩余时间内通过所述第一传输端口进行数据发送;
或者,通过所述第二传输端口进行数据接收,并在所述第一传输端口接收到数据之后,采用所述第一传输端口进行数据接收。
7.根据权利要求2所述的数据传输方法,其特征在于,所述对所述第一区块信息进行哈希处理,得到第一区块的第一哈希值之后,还包括:
根据区块链中所有节点的贡献值确定主节点;
接收所述主节点的目标哈希值,根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理;
其中,所述目标哈希值为当前区块以及当前区块之前N个区块的哈希值,N大于等于2。
8.根据权利要求7所述的数据传输方法,其特征在于,所述根据区块链中所有节点的贡献值确定主节点,包括:
对所述第一区块的主节点的贡献值进行清零;
根据节点每秒的数据请求响应数以及节点每秒的资源分配大小,确定所述第一区块中所有节点的贡献值;
将所述第一区块中所有节点中贡献值最大的节点作为主节点。
9.根据权利要求7所述的数据传输方法,其特征在于,所述根据所述目标哈希值对所述区块链中所有节点的哈希值进行更新处理,包括:
与所述目标哈希值进行对比;
在第一节点的哈希值与所述目标哈希值不一致的情况下,将所述第一节点的哈希值更改为所述目标哈希值。
10.一种数据传输装置,应用于第一节点,其特征在于,包括:
确定模块,用于确定第一传输端口,所述第一传输端口是根据第一区块以及第二区块确定的,其中,所述第一区块为区块链中当前区块或者当前区块之前的区块;所述第二区块为所述第一区块的父区块;
传输模块,用于通过所述第一传输端口和第二传输端口进行数据的发送或接收;
所述第二传输端口为所述区块链当前数据传输周期的数据传输端口。
11.一种电子设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求1-9任一项所述的数据传输方法。
12.一种计算机可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-9任一项所述的数据传输方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210633382.6A CN115065688A (zh) | 2022-06-06 | 2022-06-06 | 一种数据传输方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210633382.6A CN115065688A (zh) | 2022-06-06 | 2022-06-06 | 一种数据传输方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115065688A true CN115065688A (zh) | 2022-09-16 |
Family
ID=83199582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210633382.6A Pending CN115065688A (zh) | 2022-06-06 | 2022-06-06 | 一种数据传输方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115065688A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342078A1 (en) * | 2017-02-17 | 2019-11-07 | Alibaba Group Holding Limited | Blockchain system and data storage method and apparatus |
WO2020004686A1 (ko) * | 2018-06-25 | 2020-01-02 | 조진한 | 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법 |
CN111404955A (zh) * | 2020-03-25 | 2020-07-10 | 周晓明 | 一种用于发布信息的多点控制信道传输的方法和系统 |
CN111432014A (zh) * | 2020-03-30 | 2020-07-17 | 上海玳鸽信息技术有限公司 | 一种区块链共识算法中主节点选取的方法和装置 |
US20200311583A1 (en) * | 2019-04-01 | 2020-10-01 | Hewlett Packard Enterprise Development Lp | System and methods for fault tolerance in decentralized model building for machine learning using blockchain |
CN112437082A (zh) * | 2020-11-22 | 2021-03-02 | 深圳市赛宇景观设计工程有限公司 | 一种基于区块链的数据发送方法 |
CN113204787A (zh) * | 2021-05-06 | 2021-08-03 | 广州大学 | 基于区块链的联邦学习隐私保护方法、系统、设备和介质 |
CN113645278A (zh) * | 2021-07-23 | 2021-11-12 | 湖南大学 | 一种区块链的跨链消息传输方法、设备、存储介质 |
CN113922864A (zh) * | 2021-10-09 | 2022-01-11 | 郑州大学 | 一种基于拜占庭共识的多层卫星网络安全保障方法 |
-
2022
- 2022-06-06 CN CN202210633382.6A patent/CN115065688A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190342078A1 (en) * | 2017-02-17 | 2019-11-07 | Alibaba Group Holding Limited | Blockchain system and data storage method and apparatus |
WO2020004686A1 (ko) * | 2018-06-25 | 2020-01-02 | 조진한 | 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법 |
US20200311583A1 (en) * | 2019-04-01 | 2020-10-01 | Hewlett Packard Enterprise Development Lp | System and methods for fault tolerance in decentralized model building for machine learning using blockchain |
CN111404955A (zh) * | 2020-03-25 | 2020-07-10 | 周晓明 | 一种用于发布信息的多点控制信道传输的方法和系统 |
CN111432014A (zh) * | 2020-03-30 | 2020-07-17 | 上海玳鸽信息技术有限公司 | 一种区块链共识算法中主节点选取的方法和装置 |
CN112437082A (zh) * | 2020-11-22 | 2021-03-02 | 深圳市赛宇景观设计工程有限公司 | 一种基于区块链的数据发送方法 |
CN113204787A (zh) * | 2021-05-06 | 2021-08-03 | 广州大学 | 基于区块链的联邦学习隐私保护方法、系统、设备和介质 |
CN113645278A (zh) * | 2021-07-23 | 2021-11-12 | 湖南大学 | 一种区块链的跨链消息传输方法、设备、存储介质 |
CN113922864A (zh) * | 2021-10-09 | 2022-01-11 | 郑州大学 | 一种基于拜占庭共识的多层卫星网络安全保障方法 |
Non-Patent Citations (1)
Title |
---|
李佩丽;徐海霞;马添军;穆永恒;: "可更改区块链技术研究", 密码学报, no. 05 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107295080B (zh) | 应用于分布式服务器集群的数据存储方法和服务器 | |
AU2021266341B2 (en) | Session processing method, device, and system | |
US10735435B2 (en) | Communication system, management node, normal node, counter synchronization method, and storage medium | |
RU2420894C2 (ru) | Системы и способы для воссоединения второй группы узлов с первой группой узлов с использованием общего ключа группы | |
CN109714757B (zh) | 一种共用准备eSIM卡的方法及装置 | |
CN110557452A (zh) | 区块链的节点管理方法、装置、存储介质和计算机设备 | |
CN110381603B (zh) | 一种随机接入方法及终端 | |
CN108810129A (zh) | 物联网控制系统及方法、终端设备和本地网络服务设备 | |
CN111597536A (zh) | 一种hadoop集群kerberos高可用认证方法 | |
JP2022084661A (ja) | 同期方法および装置 | |
CN114491656A (zh) | 区块链网络中的方法和设备 | |
CN113347219B (zh) | 区块链节点共识的方法和装置 | |
SE521456C2 (sv) | Förfarande och anordning vid ett distribuerat system | |
CN110602732B (zh) | 无线配置参数同步方法、装置、网络设备和计算机可读存储介质 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN115065688A (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
CN111343220B (zh) | 转发器、分布式文件传输方法、系统、介质及电子设备 | |
CN112202896A (zh) | 边缘计算方法、框架、终端和存储介质 | |
CN112969244B (zh) | 一种会话恢复方法及其装置 | |
CN116235467A (zh) | 一种关联控制方法及相关装置 | |
CN104426775A (zh) | 一种路由更新的实现方法及装置 | |
CN113746942A (zh) | 基于集群消息同步的信息收发方法、装置、设备及介质 | |
CN112398934A (zh) | 基于区块链的信赖广播方法 | |
CN107948243B (zh) | 一种物联网通信方法、终端及系统 | |
CN110224794B (zh) | 通信数据传输方法及系统 |
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 |