掌桥专利:专业的专利平台
掌桥专利
首页

一种区块链节点间文件传输方法

文献发布时间:2023-06-19 13:26:15


一种区块链节点间文件传输方法

技术领域

本发明涉及视频内容分析技术领域,具体而言,涉及一种区块链节点间文件传输方法。

背景技术

区块链技术构建在传输网络例如点对点网络之上,传输网络中的分布式节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据,实现了防止数据篡改的机制;

现有的区块链网络中的各交易节点只能进行链上交易,而在实际运用中,区块链网络不仅要承接节点间正常的交易数据,还需要承接大量的非交易数据,尤其对于内存占用较大的非交易性的文件数据传输,且传统的数据传输方式已无法直接适用于现有的区块链网络。

发明内容

本发明的目的在于提供一种区块链节点间文件传输方法、装置、设备及可读存储介质,以改善上述问题。

为了实现上述目的,本申请实施例提供了如下技术方案:

一方面,本申请实施例提供了一种区块链节点间文件传输方法,所述方法应用于区块链网络中的任意数据发送节点,包括:

接收发送方数据服务器发送的传输任务数据,所述传输任务数据用于触发区块链节点服务器执行节点间的链下数据传输操作;

根据所述传输任务数据在所述数据服务器中读取文件数据,并通过网络通道将所述文件数据写入接收方数据服务器;

检测所述文件数据写入接收方数据服务器的完成状态,若所述完成状态为已完成,则向所述发送方数据服务器发送完成指令,所述完成指令用于触发所述发送方数据服务器使业务系统提示数据发起者已完成数据传输任务。

可选地,所述根据所述传输任务数据在所述数据服务器中读取文件数据,并通过网络通道将所述文件数据写入接收方数据服务器,包括:

调取所述传输任务数据,所述传输任务数据包括数据发起者签名、数据接收方信息和所述文件数据的存储位置信息;

检验所述数据发起者签名的有效性,若所述数据发起者签名有效,则执行传输操作,所述传输操作为通过所述文件数据的存储位置信息在所述发送方数据服务器内读取到所述文件数据,并根据所述数据接收方信息选择对应的所述网络通道,然后通过对应的所述网络通道将读取到的所述文件数据写入到所述接收方数据服务器。

可选地,所述检验所述数据发起者签名的有效性,若所述数据发起者签名有效,则执行传输操作,包括:

通过所述文件数据的存储位置信息在所述发送方数据服务器内扫描所述文件数据的大小;

根据所述文件数据的大小,将所述文件数据分割为多个子数据;

依次对每个所述子数据进行加密传输操作,所述加密传输操作为读取一个所述子数据记为第一子数据,并对所述第一子数据加密,得到第一加密子数据,然后将所述第一加密子数据通过对应的所述网络通道写入所述接收方数据服务器内。

可选地,所述对所述第一子数据加密,得到第一加密子数据,包括:

根据所述数据接收方信息,调取数据接收方的公钥;

调取数据发送节点自身的私钥;

通过所述公钥和所述私钥对所述第一子数据进行加密,得到所述第一加密子数据。

可选地,所述检验所述数据发起者签名的有效性,若所述数据发起者签名有效之后,还包括:

根据所述数据发起者签名,获取所述数据发起者的权限范围;

根据所述文件数据的存储位置信息,获取所述文件数据的类型;

判断所述数据发起者的权限范围是否覆盖所述文件数据的类型,若所述数据发起者的权限范围已覆盖所述文件数据的类型,则调取所述数据接收方信息,并判定所述数据接收方信息对应的数据接收方是否为已授权对象,若所述数据接收方为已授权对象,则判定数据传输操作合规。

可选地,所述检验所述数据发起者签名的有效性,若所述数据发起者签名有效之后,还包括:

根据所述数据发起者签名,获取所述数据发起者的权限范围;

根据所述文件数据的存储位置信息,获取所述文件数据的类型;

判断所述数据发起者的权限范围是否覆盖所述文件数据的类型,若所述数据发起者的权限范围已覆盖所述文件数据的类型,则调取所述数据接收方信息,并判定所述数据接收方信息对应的数据接收方是否为已授权对象,若所述数据接收方为非授权对象,则判定传输操作违规,并终止后续的传输操作,并向所述发送方数据服务器发送违规提示。

可选地,所述检验所述数据发起者签名的有效性,若所述数据发起者签名有效之后,还包括:

根据所述数据发起者签名,获取所述数据发起者的权限范围;

根据所述文件数据的存储位置信息,获取所述文件数据的类型;

判断所述数据发起者的权限范围是否覆盖所述文件数据的类型,若所述数据发起者的权限范围未覆盖所述文件数据的类型,则判定传输操作违规,并终止后续的传输操作,并向所述发送方数据服务器发送违规提示。

可选地,所述若所述完成状态为已完成,则向所述发送方数据服务器发送完成指令之后,还包括:

计算所述文件数据对应的哈希值;

将所述文件数据对应的哈希值上传至区块链网络。

第二方面,本申请实施例提供了一种区块链节点间文件传输方法,所述方法应用于区块链网络中的任意数据接收节点,包括:

检测所述文件数据写入接收方数据服务器的完成状态,若所述完成状态为已完成,则向所述接收方数据服务器发送完成指令,所述完成指令用于触发所述接收方数据服务器使业务系统提示数据接收者已接收到完整的文件数据。

第三方面,本申请实施例提供了一种区块链节点间文件传输装置,所述装置包括:

数据接收模块,用于接收发送方数据服务器发送的传输任务数据,所述传输任务数据用于触发区块链节点服务器执行节点间的链下数据传输操作;

第一计算单元,用于根据所述传输任务数据在所述数据服务器中读取文件数据,并通过网络通道将所述文件数据写入接收方数据服务器;

第二计算单元,用于检测所述文件数据写入接收方数据服务器的完成状态,若所述完成状态为已完成,则向所述发送方数据服务器发送完成指令,所述完成指令用于触发所述发送方数据服务器使业务系统提示数据发起者已完成数据传输任务。

第四方面,本申请实施例提供了一种区块链节点间文件传输设备,所述设备包括存储器和处理器。存储器用于存储计算机程序;处理器用于执行所述计算机程序时实现上述区块链节点间文件传输方法的步骤。

第五方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链节点间文件传输方法的步骤。

本发明的有益效果为:

本发明通过利用现有的区块链网络中的网络通道发送仅在数据发送方节点和数据接收方节点之间传输的文件数据,进而实现区块链网络的非交易数据的链下传输,丰富了区块链网络的运用场景。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例中所述的一种适用于数据发送节点的区块链节点间文件传输方法流程示意图;

图2是本发明实施例中所述的一种适用于数据接收节点的区块链节点间文件传输方法流程示意图;

图3是本发明实施例中所述的一种区块链节点间文件传输设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号或字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例1

如图1所示,本实施例提供了一种区块链节点间文件传输方法,该方法应用于区块链网络中的任意数据发送节点,包括步骤S1、步骤S2和步骤S3。

步骤S1.数据发送节点接收发送方数据服务器发送的传输任务数据,所述传输任务数据用于触发区块链节点服务器执行节点间的链下数据传输操作,其中,所述传输任务数据是所述发送方数据服务器根据业务系统生成的相应操作指令;

步骤S2.数据发送节点根据所述传输任务数据在所述数据服务器中读取文件数据,并通过网络通道将所述文件数据写入接收方数据服务器;

其中,所述步骤S2中包括:

步骤S21.数据发送节点调取所述传输任务数据,所述传输任务数据包括数据发起者签名、数据接收方信息和所述文件数据的存储位置信息;

步骤S22.数据发送节点检验所述数据发起者签名的有效性,若所述数据发起者签名有效,则执行传输操作,所述传输操作为数据发送节点通过所述文件数据的存储位置信息在所述发送方数据服务器内读取到所述文件数据,并根据所述数据接收方信息选择对应的所述网络通道,然后通过对应的所述网络通道将读取到的所述文件数据写入到所述接收方数据服务器。

其中,在步骤S22中,数据发送节点通过所述文件数据的存储位置信息在所述发送方数据服务器内读取到所述文件数据的具体操作步骤为:

步骤S221.通过所述文件数据的存储位置信息在所述发送方数据服务器内找到文件数据,并扫描所述文件数据的大小,本实施例所述的文件数据为内存占用较大的数据,如占用6G-20G内存的文档、图片等,扫描文件数据的大小方便系统根据给大小划分局部传送块;

步骤S222.根据所述文件数据的大小,将所述文件数据分割为多个子数据,具体的分块标准通过人为预设在相应的代码程序中,应当说明的是,系统允许设置一个预设最大值,如200G内存,当单个所述文件数据大于该最大预设值时,系统会直接禁止本次传输任务;

步骤S223.依次对每个所述子数据进行加密传输操作,所述加密传输操作为读取一个所述子数据记为第一子数据,并对所述第一子数据加密,得到第一加密子数据,然后将所述第一加密子数据通过对应的所述网络通道写入所述接收方数据服务器内,所述加密传输操作用于防止所述子数据在网络通道中被第三方截取,进而导致局部数据泄露;

其次,该子数据经网络通道到达数据接收节点后并不会直接写入数据接收节点对应地服务器内,而是由所述数据接收节点将该子数据转录到数据所述接收方数据服务器内;

其次,该子数据在发送时,还需要检测当前数据发送节点与数据接收节点之间的网络通道的占用率,将用于发送该子数据的带宽控制在空闲通道的20%-30%,进而避免因占用过多的网络通道的带宽,降低区块链网络的某一分支运行速度;

其次,在该子数据发送之前,数据发送节点会先发送一个第一准备接收指令给数据接收节点,该第一准备接收指令包括数据发起者签名,数据接收节点会通过区块链网络上的链上数据验证发起者签名的有效性,在确认有效以后,数据接收节点会向所述接收方数据服务器发送第二接收指令,同时向数据发起节点发送准备就绪指令,用于提示数据发起节点可以发送该子数据;

其次,应当说明的是,每个子数据在传输完毕后,数据发送节点会向数据接收节点发送进度读取指令,用于使所述数据接收节点确认该子数据是否已经全部被写入收方数据服务器内,确认无误后,数据接收节点会发送接收无误指令,用于使所述数据发送节点继续发送新的子数据;

其次,应当说明的是,在传输过程中,数据发送节点至读取子数据并将其转录给数据接收节点,其本身是不会对子数据进行存储,进而进一步保证了文件数据的安全性。

其次,在步骤S223中,所述对所述第一子数据加密,得到第一加密子数据的具体操作为:

步骤S2231.根据所述数据接收方信息,调取数据接收方的公钥;

步骤S2232.调取数据发送节点自身的私钥;

步骤S2233.通过所述公钥和所述私钥,利用ECDH密钥协商算法对所述第一子数据进行加密,得到所述第一加密子数据,该加密算法能够有效保证数据发送方在不泄露自己的私钥的同时,数据接收方亦能够通过自己的私钥和数据发送方的公钥对第一加密子数据解密,进而得到文件数据。

其次,在步骤S22中的,当数据发送节点检验所述数据发起者签名为有效签名后,数据发起节点会辨别数据发起者的身份,用于确认其对应的权限,然后判定该数据发起者是否有执行传输数据的权限,该检测判定过程会发以下三种情况:

第一种检验过程:

步骤S2241.根据所述数据发起者签名,获取所述数据发起者的权限范围;

步骤S2242.根据所述文件数据的存储位置信息,获取所述文件数据的类型;

步骤S2243.判断所述数据发起者的权限范围是否覆盖所述文件数据的类型,若所述数据发起者的权限范围已覆盖所述文件数据的类型,则调取所述数据接收方信息,并判定所述数据接收方信息对应的数据接收方是否为已授权对象,若所述数据接收方为已授权对象,则判定数据传输操作合规。

第二种检验过程:

步骤S2251.根据所述数据发起者签名,获取所述数据发起者的权限范围;

步骤S2252.根据所述文件数据的存储位置信息,获取所述文件数据的类型;

步骤S2253.判断所述数据发起者的权限范围是否覆盖所述文件数据的类型,若所述数据发起者的权限范围已覆盖所述文件数据的类型,则调取所述数据接收方信息,并判定所述数据接收方信息对应的数据接收方是否为已授权对象,若所述数据接收方为非授权对象,则判定传输操作违规,并终止后续的传输操作,并向所述发送方数据服务器发送违规提示。

第三种检验过程:

步骤S2261.根据所述数据发起者签名,获取所述数据发起者的权限范围;

步骤S2262.根据所述文件数据的存储位置信息,获取所述文件数据的类型;

步骤S2263.判断所述数据发起者的权限范围是否覆盖所述文件数据的类型,若所述数据发起者的权限范围未覆盖所述文件数据的类型,则判定传输操作违规,并终止后续的传输操作,并向所述发送方数据服务器发送违规提示。

步骤S3.检测所述文件数据写入接收方数据服务器的完成状态,若所述完成状态为已完成,则向所述发送方数据服务器发送完成指令,所述完成指令用于触发所述发送方数据服务器使业务系统提示数据发起者已完成数据传输任务。

其中在步骤S3中的发送完成指令之后,还可以包括:

步骤S4.计算所述文件数据对应的哈希值;

步骤S5.将所述文件数据对应的哈希值上传至区块链网络,用于进一步确保数据在传输过程中的完整性和防篡改性,即当数据接收方接收到完整的数据后,可以通过链上的所述文件数据对应的哈希值来检验其受到的数据是否是完整且未被改动的原始的文件数据。

实施例2

如图2所示,本实施例提供了一种区块链节点间文件传输方法,该方法应用于区块链网络中的任意数据接收节点,包括步骤S6。

步骤S6.检测所述文件数据写入接收方数据服务器的完成状态,若所述完成状态为已完成,则向所述接收方数据服务器发送完成指令,所述完成指令用于触发所述接收方数据服务器使业务系统提示数据接收者已接收到完整的文件数据。

实施例3

相应于上面的方法实施例,本公开实施例还提供了一种区块链节点间文件传输设备,下文描述的一种区块链节点间文件传输设备与上文描述的一种区块链节点间文件传输方法可相互对应参照。

图3是根据一示例性实施例示出的一种区块链节点间文件传输设备800的框图。如图3所示,该电子设备800可以包括:处理器 801,存储器802。该电子设备800还可以包括多媒体组件803,输入 /输出(I/O)接口804,以及通信组件805中的一者或多者。

其中,处理器801用于控制该电子设备800的整体操作,以完成上述的区块链节点间文件传输方法中的全部或部分步骤。存储器402 用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器 (Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803 可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备 800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(NearFieldCommunication,简称NFC),2G、3G或 4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块。

在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal ProcessingDevice,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的区块链节点间文件传输方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的区块链节点间文件传输方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801 执行以完成上述的区块链节点间文件传输方法。

实施例4

相应于上面的方法实施例,本公开实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种区块链节点间文件传输方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的区块链节点间文件传输方法的步骤。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(Random Access Memory, RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种区块链节点间文件传输方法
  • 一种区块链节点及其数据传输方法
技术分类

06120113675287