CN109657008A - 基于Spark和区块链的数据处理系统 - Google Patents
基于Spark和区块链的数据处理系统 Download PDFInfo
- Publication number
- CN109657008A CN109657008A CN201811551575.7A CN201811551575A CN109657008A CN 109657008 A CN109657008 A CN 109657008A CN 201811551575 A CN201811551575 A CN 201811551575A CN 109657008 A CN109657008 A CN 109657008A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- maincenter
- block chain
- spark
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Spark和区块链的数据处理系统,属于区块链技术领域。由数据上传模块、中枢数据模块、数据处理模块、数据应用模块组成。系统架构建立在区块链上,数据上传模块、数据处理模块皆为区块链的一个子节点;数据上传模块用于将原始数据上传到中枢数据模块;数据处理模块采用基于Spark平台的机器学习算法,用于训练中枢数据模块中的原始数据以得到训练后的数据B,并将B返回至中枢数据模块;数据应用模块用于从中枢数据模块中取得B并应用;中枢数据模块用于存储原始数据以及处理后的数据,并接受数据上传模块、数据处理模块、以及数据应用模块的调用。本发明具有深度挖掘数据价值的功能。
Description
技术领域
本发明属于区块链技术领域、计算机网络通信领域、大数据分析领域,可应用于任何区块链数据应用领域。
背景技术
Spark是加州伯克利分校AMPLab实验室于2009年提出的MapReduce分布式计算的替代方案,是一个新的分布式计算框架,从设计开始便注重对低延迟任务的优化,并将中间数据和结果保存在内存中。Spark目前自带的一个分布式机器学习和数据挖掘工具包MLlib,本发明中将会用到该工具包中的多种工具,其中包括:机器学习算法,例如分类、聚类、协同过滤算法等;特征化:特征提取、转换、降维和选择等;实用程序:线性代数、统计、数据处理等。
区块链是由网络中各节点共同维护的分布式数据库系统,其去中心化特点保证区块链可以安全地存储交易或其他数据,由于区块链本身的特点,也可保证数据一旦入链后不可篡改和伪造,最大化地保证了数据的安全性,也让数据具有了可追溯性。区块链的去中心化,无需任何中心化机构的维护,使得该技术大大地降低了现实经济、社会活动的信任成本,提高了效率。当前,各行各业都开始关注这一项技术,积极探索并利用该技术存储交易数据、债权、版权等信息,促进行业创新发展。
根据区块链的去中心化和数据不可篡改性以及可追溯性,区块链已应用于多个领域。科技领域、能源领域、食品溯源领域、医疗领域、数字产品版权领域等。在食品溯源领域中已开发多个应用,用户可以通过扫描产品包装上二维码得知食品溯源信息、生产信息、物流信息等诸多相关信息。在数字产品版权领域,用户可以与创作者直接形成点对点交易,既保证了用户所购买产品的质量,又保护了创作者的直接利益,鼓励原创,同时抑制了近年来盗版产品的猖獗。以上可以看到区块链技术确实给我们的生活带来了很多便利,解决了交易间最不好控制的信任问题,但是随着如今区块链应用的使用者越来越多,区块链中存储的相应数据也随之变多。数据的爆炸式增长,急需功能强大和通用的工具,以便从这些海量数据中发现有价值的信息,把这些数据转化成有组织的知识。
发明内容
本发明为了解决现有区块链存在的,缺乏从海量数据中发现有价值信息,并把这些信息转化成有组织的知识的问题,将机器学习算法挖掘数据的能力应用于区块链中,使得区块链中的数据可以被再次利用,为用户带来更多的价值与知识,同时优化了区块链应用的用户体验。具体实现方式如下:
基于Spark和区块链的数据处理系统,
整个系统由数据上传模块、数据处理模块、中枢数据模块、数据应用模块这四个部分组成;整个系统架构建立在区块链上,数据上传模块、数据处理模块皆为区块链的一个子节点,各个子节点各司其职,完成自己任务的同时与其他节点实时通信,提高了区块链数据处理系统的效率。由于中枢数据模块存储了该系统所有数据,并需要与其他各个模块连接以完成数据的流通,所以中枢数据模块为整个系统的核心;
所述的数据上传模块用于将原始数据A上传到中枢数据模块,包括原始数据A的上传接口文件,其中上传接口文件通过web3接口调用智能合约中的数据上传函数完成数据的上传;
所述的数据处理模块采用基于Spark平台的机器学习算法,用于训练中枢数据模块中的原始数据A以得到训练后的数据B,并将B返回至中枢数据模块;具体包括取数据的接口文件、spark数据训练模块、上传处理后数据B的接口文件,
其中取数据的接口文件用于从中枢数据模块获得原始数据A并传给spark数据训练模块,取数据的接口文件通过web3接口调用智能合约中的数据下载函数实现数据下载功能;
其中spark数据训练模块包括数据处理、训练模型、使用模型三部分,数据处理用于对原始数据A进行标准化,然后对选择的模型进行训练,接下来使用训练好的模型对标准化后的数据进行训练并得到数据B;
其中上传处理后数据B的接口文件用于将数据B上传至中枢数据模块,该文件所包括信息及所实现功能与数据上传模块中的上传接口文件相同;
所述的数据应用模块用于从中枢数据模块中取得B并应用,;
所述的中枢数据模块用于存储原始数据以及处理后的数据并接受数据上传模块、数据处理模块、以及数据应用模块的调用,包括区块链数据系统和智能合约,
其中区块链数据系统用于存储数据A、B,
其中智能合约用于实现数据上传功能、数据下载功能,包括规定数据结构的结构体、数据上传函数、数据下载函数等。
所述的spark数据训练模块可以采用最小二乘模型、线性回归模型、决策树、支持向量机进行数据训练。
所述的数据应用模块使用基于以太坊平台所搭建的去中心化应用DApp完成。
有益效果
本文提出的基于Spark和区块链的数据处理系统,将Spark机器学习平台应用于区块链系统中,利用机器学习现有算法训练区块链中已有数据,既保证了数据训练的安全可溯性,又解决了传统区块链中数据的无规则、无管理的问题,提高了区块链中数据的使用价值。
附图说明
图1为整个数据处理系统的结构图
图2为整个系统的运行流程图
图3为数据上传模块运行流程图
图4为数据处理模块运行流程图
具体实施方式
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明做进一步说明,并通过系统实际运行情况检验实际数据处理效果。
本案例搭建了一个基于spark和区块链的电影数据处理系统,完成对用户进行电影推荐的功能。
步骤1:编写创世块文件,规定挖矿难度,初始化时间戳、幸运数等,建立至少两个区块链节点,如图1所示,一个作为数据上传模块的数据上传节点上传数据,另外一个作为数据处理模块的数据处理节点处理数据,同时在该节点部署spark开发环境。
步骤2:使用solidity语言编写智能合约,按照该实施例需要,编写两份合约。可根据实际需要进行合约设计及编写。如图1中枢输入模块所示,一份负责存储由数据上传节点上传来的原始数据,其中包括数据结构体、数据入链函数和调用数据函数,以下称为智能合约1;另一份智能合约负责存储由数据处理节点处理过的数据,同样包括数据结构体、数据入链函数和调用数据函数,以下简称智能合约2。
步骤3:如图1所示的中枢数据模块中的以太坊区块链数据系统的搭建使用geth客户端,开发框架使用truffle。部署truffle中的geth网络,保证truffle可以连接到本地的以太坊区块链节点。启动geth客户端,建立区块链数据存储系统,使用truffle框架编译、部署合约到区块链。
步骤4:使用nodejs编写数据上传模块的接口文件,调用Web3对象连接到本地的开放的以太坊节点,如图1所示,同时通过truffle-contract模块获取到智能合约1的实例化对象,以使用合约1中的数据上传函数。通过调用数据上传函数将原始用户电影评分数据上传到通过web3对象连接的以太坊节点,此时即发起了一笔交易,待geth客户端挖矿处理之后数据即可入链,即将数据分别保存到每一个节点的分布式账本中。具体流程如图3所示,数据上传功能即完成。
步骤5:电影评分数据入链之后,数据处理模块同样调用Web3对象与以太坊节点相连接,同步骤4相同的调用智能合约1中的数据调用函数,将区块链中的电影评分数据传输到数据处理模块,在数据处理模块内部,数据首先进行预处理以提取有效特征,包括用户id、电影id、用户给电影的评分,选取最小二乘模型,对提取后的数据进行模型的训练,训练完成后得到一个模型,然后使用该模块对每个用户进行电影的推荐,将电影的推荐数据保存到本地后,再次调用web3对象连接到本地的以太坊节点,调用智能合约2将本地推荐数据存入区块链。具体流程如图4所示,数据处理模块功能即完成。不同的应用场景对数据的处理需求不同,可根据实际情况选择预处理方式、训练模型。
步骤6:数据应用模块,即一个简易DApp,由一个html页面和接口文件构成。Html页面负责显示数据的窗口,供用户查看被处理后的数据结果。接口文件连接html页面和以太坊区块链系统,实时调用区块链中各类数据给html页面显示。该页面可以使得用户查询系统为某用户进行的电影推荐。
通过各个子模块的集成以及一系列顺利的操作和对接,本发明着重在于发明了一种系统框架,将spark机器学习平台应用于区块链系统中,能够保证为用户提供一个公开透明的区块链数据处理系统,不仅利用区块链保护了用户数据的安全与不可篡改,还能为用户挖掘数据中更内部的价值,提高用户的效益。
Claims (3)
1.基于Spark和区块链的数据处理系统,其特征在于:
整个系统由数据上传模块、数据处理模块、中枢数据模块、数据应用模块这四个部分组成;整个系统架构建立在区块链上,数据上传模块、数据处理模块皆为区块链的一个子节点,中枢数据模块存储该系统所有数据,并与其他各个模块连接以完成数据的流通,中枢数据模块为整个系统的核心;
所述的数据上传模块用于将原始数据A上传到中枢数据模块,包括原始数据A的上传接口文件,其中上传接口文件通过web3接口调用智能合约中的数据上传函数完成数据的上传;
所述的数据处理模块采用基于Spark平台的机器学习算法,用于训练中枢数据模块中的原始数据A以得到训练后的数据B,并将B返回至中枢数据模块;具体包括取数据的接口文件、spark数据训练模块、上传处理后数据B的接口文件,
其中取数据的接口文件用于从中枢数据模块获得原始数据A并传给spark数据训练模块,取数据的接口文件通过web3接口调用智能合约中的数据下载函数实现数据下载功能;
其中spark数据训练模块包括数据处理、训练模型、使用模型三部分,数据处理用于对原始数据A进行标准化,然后对选择的模型进行训练,接下来使用训练好的模型对标准化后的数据进行训练并得到数据B;
其中上传处理后数据B的接口文件用于将数据B上传至中枢数据模块,该文件所包括信息及所实现功能与数据上传模块中的上传接口文件相同;
所述的数据应用模块用于从中枢数据模块中取得B并应用;
所述的中枢数据模块用于存储原始数据以及处理后的数据,并接受数据上传模块、数据处理模块、以及数据应用模块的调用,具体包括区块链数据系统和智能合约,
其中区块链数据系统用于存储数据A、B,
其中智能合约用于实现数据上传功能、数据下载功能,包括规定数据结构的结构体、数据上传函数、数据下载函数。
2.根据权利要求1所述的基于Spark和区块链的数据处理系统,其特征在于:所述的spark数据训练模块可以采用最小二乘模型、线性回归模型、决策树、支持向量机进行数据训练。
3.根据权利要求1所述的基于Spark和区块链的数据处理系统,其特征在于:
所述的数据应用模块使用基于以太坊平台所搭建的去中心化应用DApp完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551575.7A CN109657008A (zh) | 2018-12-18 | 2018-12-18 | 基于Spark和区块链的数据处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551575.7A CN109657008A (zh) | 2018-12-18 | 2018-12-18 | 基于Spark和区块链的数据处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109657008A true CN109657008A (zh) | 2019-04-19 |
Family
ID=66114659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811551575.7A Pending CN109657008A (zh) | 2018-12-18 | 2018-12-18 | 基于Spark和区块链的数据处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657008A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222721A (zh) * | 2019-05-10 | 2019-09-10 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置,区块链节点及存储介质 |
CN110532329A (zh) * | 2019-09-02 | 2019-12-03 | 智慧谷(厦门)物联科技有限公司 | 一种基于区块链技术的智能手环数据处理与共享方法 |
CN110532320A (zh) * | 2019-08-01 | 2019-12-03 | 立旃(上海)科技有限公司 | 基于区块链的训练数据管理方法及装置 |
CN110675685A (zh) * | 2019-09-29 | 2020-01-10 | 张华平 | 一种基于区块链的工商管理专业实训系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103087A (zh) * | 2017-05-02 | 2017-08-29 | 成都中远信电子科技有限公司 | 区块链大数据商情分析系统 |
CN108596345A (zh) * | 2018-04-23 | 2018-09-28 | 薛泽 | 基于区块链的机器学习与犯错预警装置及方法 |
CN108648071A (zh) * | 2018-05-17 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 基于区块链的资源价值评估方法和装置 |
-
2018
- 2018-12-18 CN CN201811551575.7A patent/CN109657008A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103087A (zh) * | 2017-05-02 | 2017-08-29 | 成都中远信电子科技有限公司 | 区块链大数据商情分析系统 |
CN108596345A (zh) * | 2018-04-23 | 2018-09-28 | 薛泽 | 基于区块链的机器学习与犯错预警装置及方法 |
CN108648071A (zh) * | 2018-05-17 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 基于区块链的资源价值评估方法和装置 |
Non-Patent Citations (2)
Title |
---|
琚春华等: "融入区块链技术的大数据征信平台的设计与应用研究", 《计算机科学》 * |
陈敏: "《认知计算导论》", 30 April 2017, 华中科技大学出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222721A (zh) * | 2019-05-10 | 2019-09-10 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置,区块链节点及存储介质 |
CN110532320A (zh) * | 2019-08-01 | 2019-12-03 | 立旃(上海)科技有限公司 | 基于区块链的训练数据管理方法及装置 |
CN110532320B (zh) * | 2019-08-01 | 2023-06-27 | 立旃(上海)科技有限公司 | 基于区块链的训练数据管理方法及装置 |
CN110532329A (zh) * | 2019-09-02 | 2019-12-03 | 智慧谷(厦门)物联科技有限公司 | 一种基于区块链技术的智能手环数据处理与共享方法 |
CN110675685A (zh) * | 2019-09-29 | 2020-01-10 | 张华平 | 一种基于区块链的工商管理专业实训系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657008A (zh) | 基于Spark和区块链的数据处理系统 | |
WO2018207723A1 (ja) | 要約生成装置、要約生成方法及びコンピュータプログラム | |
CN110489755A (zh) | 文本生成方法和装置 | |
CN107203511A (zh) | 一种基于神经网络概率消歧的网络文本命名实体识别方法 | |
CN109977428A (zh) | 一种答案获取的方法及装置 | |
CN110020424A (zh) | 合同信息的提取方法、装置和文本信息的提取方法 | |
CN107239443A (zh) | 一种词向量学习模型的训练方法及服务器 | |
CN106844442A (zh) | 基于fcn特征提取的多模态循环神经网络图像描述方法 | |
CN114943789A (zh) | 一种图像处理方法、模型训练方法及相关装置 | |
CN105989067B (zh) | 从图片生成文本摘要的方法、用户设备及训练服务器 | |
CN109446927A (zh) | 基于先验知识的双人交互行为识别方法 | |
KR101986345B1 (ko) | 기계독해 성능향상을 위해 표·이미지에 메타 문장을 생성하는 장치 | |
CN109800307A (zh) | 产品评价的分析方法、装置、计算机设备及存储介质 | |
CN107291680A (zh) | 一种基于模板的自动生成作文的系统及实现方法 | |
CN109325040A (zh) | 一种faq问答库泛化方法、装置及设备 | |
CN106502979A (zh) | 一种自然语言信息的数据处理方法和装置 | |
CN109033390A (zh) | 自动生成相似问句的方法和装置 | |
CN109801349A (zh) | 一种声音驱动的三维动画角色实时表情生成方法和系统 | |
CN111444725B (zh) | 语句的生成方法、装置、存储介质和电子装置 | |
CN111651989B (zh) | 命名实体识别方法和装置、存储介质及电子装置 | |
CN116010581A (zh) | 一种基于电网隐患排查场景的知识图谱问答方法及系统 | |
CN116541492A (zh) | 一种数据处理方法及相关设备 | |
CN110991279A (zh) | 文档图像分析与识别方法及系统 | |
CN108288296B (zh) | 数字图像上色方法及数字化出版的图片批量上色方法 | |
CN110211032A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190419 |
|
WD01 | Invention patent application deemed withdrawn after publication |