一种用于区块链的文件传输与实时计算系统及方法技术方案

技术编号:29465016 阅读:22 留言:0更新日期:2021-07-27 17:52
本发明专利技术涉及一种用于区块链的文件传输与实时计算系统及方法。该系统中容器创建模块负责创建用于算法执行的容器环境;实时计算模块用于执行任务对应的算法文件并向RocketMQ实时发送计算结果;数据请求模块用于计算节点向数据节点请求数据资源;数据发送和数据接收模块通过RocketMQ进行文件传输。本发明专利技术能够基于区块链的思想对多源数据进行拉取和管理,为不确定来源的用户程序提供所需的数据及安全的执行环境,提高数据传输与计算的效率。

【技术实现步骤摘要】
一种用于区块链的文件传输与实时计算系统及方法
本专利技术涉及区块链系统领域,特别是涉及一种用于区块链的文件传输与实时计算系统及方法。
技术介绍
区块链是一个信息
的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。通常情况下,基于区块链思想的系统中,各个机构或用户可以共享系统中的资源,且不会担心数据安全等风险问题。现有的基于区块链的文件传输采用FTP传输方式,计算节点只能从一个站点下载数据,这样不利于文件快速传输,导致传输效率和计算效率低。
技术实现思路
本专利技术的目的是提供一种用于区块链的文件传输与实时计算系统及方法,以提高文件传输效率和计算效率。为实现上述目的,本专利技术提供了如下方案:一种用于区块链的文件传输与实时计算系统,包括:所述容器创建模块,用于创建每个待执行任务对应的Docker容器,使计算节点执行待执行任务的算法文件和所需的数据文件处于同一个容器环境;数据请求模块,用于在所述计算节点根据待执行任务向数据节点请求所述待执行任务所需的数据文件;数据发送模块,用于根据所述待执行任务将所需的数据文件发送至所述RocketMQ集群;RocketMQ集群,用于对区块链各节点之间的数据进行传输;数据接收模块,用于在所述计算节点接收从所述RocketMQ集群传输的所述数据文件;实时计算模块,用于根据所述数据文件在所述计算节点执行所述待执行任务对应的算法文件得到计算结果,并将所述计算结果发送至RocketMQ集群。可选的,还包括:数据请求监听模块,用于监听来自所述数据请求模块的请求,并对每个请求对应的待执行任务进行验证。可选的,还包括:容器删除模块,用于删除无待执行任务的Docker容器和缓存数据,所述缓存数据为从其他数据节点传输过来的超过预定时限的数据文件。可选的,所述数据发送模块用于根据所述待执行任务将所需的数据文件进行切片后发送至所述RocketMQ集群;所述数据接收模块用于在所述计算节点接收从所述RocketMQ集群传输的切片文件,并在所述计算节点对所述切片文件进行拼接。可选的,所述容器创建模块具体包括:任务分析单元,用于从待执行任务队列中读取待执行任务,并对所述待执行任务进行分析,确定所述待执行任务对应的计算节点、算法文件和所需的数据文件;算法文件存储单元,用于将所述待执行任务对应的算法文件存储至对应的计算节点的算法指定目录中;数据文件分析单元,用于判断所述待执行任务所需的数据文件是否已存在于对应的计算节点;数据调用单元,用于当所述待执行任务所需的数据文件未存在于对应的计算节点时,调用所述数据请求模块向数据节点请求所述待执行任务所需的数据文件;加密单元,用于以数据中心的公钥加密所述待执行任务的任务信息,并发送至数据请求主题,以容器的动态码为标签,在数据传输信道主题中订阅动态码标签的消息,以供读取拉取的数据;任务描述创建单元,用于创建待执行任务的任务描述,所述任务描述包括数据文件的路径、算法文件的路径、数据拉取的信道编号和算法结果的大小限制;容器创建单元,用于为所述待执行任务创建Docker容器,在创建好的Docker容器中执行所述待执行任务。可选的,所述容器创建单元具体包括:数据接收调用子单元,用于通过所述动态码调用所述数据接收模块,所述数据接收模块从所述动态码标签对应的信息中读取相应数据,存储至对应计算节点的数据指定目录,并更新数据文件生命周期表;所述数据文件生命周期表用于存储拉取数据的时间点,并周期性删除已拉取的数据;容器创建子单元,用于通过创建DockerFile来创建Docker容器,并将所述Docker容器的相关信息和动态码存储至Docker与动态码映射表;计算调用子单元,用于调用所述实时计算模块,执行对应的算法文件,并以所述动态码为标签将计算结果发送至日志主题。可选的,所述数据请求模块具体包括:数据文件判断单元,用于判断所述数据文件的路径下是否存在所述待执行任务所需的数据文件;数据拉取单元,当所述数据文件的路径下不存在所述待执行任务所需的数据文件时,向数据节点请求拉取数据。可选的,所述数据接收模块具体包括:数据订阅单元,用于订阅数据传输信道主题中相应动态码的数据;解密单元,用于使用加密单元的对称解密密钥解密数据订阅的大数据,并更新所述数据文件生命周期表;计算调用单元,用于调用所述实时计算模块进行计算。本专利技术还提供一种用于区块链的文件传输与实时计算方法,包括:创建每个待执行任务对应的Docker容器,使计算节点执行待执行任务的算法文件和所需的数据文件处于同一个容器环境;在所述计算节点根据待执行任务向数据节点请求所述待执行任务所需的数据文件;根据所述待执行任务将所需的数据文件发送至所述RocketMQ集群;所述RocketMQ集群用于对区块链各节点之间的数据进行传输;在所述计算节点接收从所述RocketMQ集群传输的所述数据文件;根据所述数据文件在所述计算节点执行所述待执行任务对应的算法文件得到计算结果,并将所述计算结果发送至所述RocketMQ集群。可选的,所述创建每个待执行任务对应的Docker容器,具体包括:从待执行任务队列中读取待执行任务,并对所述待执行任务进行分析,确定所述待执行任务对应的计算节点、算法文件和所需的数据文件;将所述待执行任务对应的算法文件存储至对应的计算节点的算法指定目录中;判断所述待执行任务所需的数据文件是否已存在于对应的计算节点;当所述待执行任务所需的数据文件未存在于对应的计算节点时,调用所述数据请求模块向数据节点请求所述待执行任务所需的数据文件;以数据中心的公钥加密所述待执行任务的任务信息,并发送至数据请求主题,以容器的动态码为标签,在数据传输信道主题中订阅动态码标签的消息,以供读取拉取的数据;创建待执行任务的任务描述,所述任务描述包括数据文件的路径、算法文件的路径、数据拉取的信道编号和算法结果的大小限制;为所述待执行任务创建Docker容器,在创建好的Docker容器中执行所述待执行任务。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:RocketMQ是分布式消息中间件,本专利技术使用RocketMQ的方式来进行文件分割摘取,可以极大的提升系统各个模块之间的通信效率,而且同时拉取多个节点的数据,来实现多源数据的融合分析,提高整个区块链中数据传输和计算的效率,且更为安全。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根本文档来自技高网...

【技术保护点】
1.一种用于区块链的文件传输与实时计算系统,其特征在于,包括:/n容器创建模块,用于创建每个待执行任务对应的Docker容器,使计算节点执行待执行任务的算法文件和所需的数据文件处于同一个容器环境;/n数据请求模块,用于在所述计算节点根据待执行任务向数据节点请求所述待执行任务所需的数据文件;/n数据发送模块,用于根据所述待执行任务将所需的数据文件发送至RocketMQ集群;/nRocketMQ集群,用于对区块链各节点之间的数据进行传输;/n数据接收模块,用于在所述计算节点接收从所述RocketMQ集群传输的所述数据文件;/n实时计算模块,用于根据所述数据文件在所述计算节点执行所述待执行任务对应的算法文件得到计算结果,并将所述计算结果发送至RocketMQ集群。/n

【技术特征摘要】
1.一种用于区块链的文件传输与实时计算系统,其特征在于,包括:
容器创建模块,用于创建每个待执行任务对应的Docker容器,使计算节点执行待执行任务的算法文件和所需的数据文件处于同一个容器环境;
数据请求模块,用于在所述计算节点根据待执行任务向数据节点请求所述待执行任务所需的数据文件;
数据发送模块,用于根据所述待执行任务将所需的数据文件发送至RocketMQ集群;
RocketMQ集群,用于对区块链各节点之间的数据进行传输;
数据接收模块,用于在所述计算节点接收从所述RocketMQ集群传输的所述数据文件;
实时计算模块,用于根据所述数据文件在所述计算节点执行所述待执行任务对应的算法文件得到计算结果,并将所述计算结果发送至RocketMQ集群。


2.根据权利要求1所述的用于区块链的文件传输与实时计算系统,其特征在于,还包括:
数据请求监听模块,用于监听来自所述数据请求模块的请求,并对每个请求对应的待执行任务进行验证。


3.根据权利要求1所述的用于区块链的文件传输与实时计算系统,其特征在于,还包括:
容器删除模块,用于删除无待执行任务的Docker容器和缓存数据,所述缓存数据为从其他数据节点传输过来的超过预定时限的数据文件。


4.根据权利要求1所述的用于区块链的文件传输与实时计算系统,其特征在于,所述数据发送模块用于根据所述待执行任务将所需的数据文件进行切片后发送至所述RocketMQ集群;所述数据接收模块用于在所述计算节点接收从所述RocketMQ集群传输的切片文件,并在所述计算节点对所述切片文件进行拼接。


5.根据权利要求1所述的用于区块链的文件传输与实时计算系统,其特征在于,所述容器创建模块具体包括:
任务分析单元,用于从待执行任务队列中读取待执行任务,并对所述待执行任务进行分析,确定所述待执行任务对应的计算节点、算法文件和所需的数据文件;
算法文件存储单元,用于将所述待执行任务对应的算法文件存储至对应的计算节点的算法指定目录中;
数据文件分析单元,用于判断所述待执行任务所需的数据文件是否已存在于对应的计算节点;
数据调用单元,用于当所述待执行任务所需的数据文件未存在于对应的计算节点时,调用所述数据请求模块向数据节点请求所述待执行任务所需的数据文件;
加密单元,用于以数据中心的公钥加密所述待执行任务的任务信息,并发送至数据请求主题,以容器的动态码为标签,在数据传输信道主题中订阅动态码标签的消息,以供读取拉取的数据;
任务描述创建单元,用于创建待执行任务的任务描述,所述任务描述包括数据文件的路径、算法文件的路径、数据拉取的信道编号和算法结果的大小限制;
容器创建单元,用于为所述待执行任务创建Docker容器,在创建好的Docker容器中执行所述待执行任务。


6.根据权利要求5所述的用于区块链的文件传输与实时计算系统,其特征在于,所述容器创建单元具体包括:
数据接收调用子单元,用于通过所述动态码调用所述数据接收模块,所述...

【专利技术属性】
技术研发人员:杜博文孙磊磊他旭翔
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1