CN109922131A - 基于区块链的数据存储方法、装置、设备及存储介质 - Google Patents
基于区块链的数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109922131A CN109922131A CN201910046958.7A CN201910046958A CN109922131A CN 109922131 A CN109922131 A CN 109922131A CN 201910046958 A CN201910046958 A CN 201910046958A CN 109922131 A CN109922131 A CN 109922131A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- block
- block chain
- storage
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于区块链技术领域,公开了一种基于区块链的数据存储方法、装置、设备及存储介质。该方法包括:接收待存储数据,确定待存储数据的数据类型和待存储数据对应的目标关键词;根据数据类型和目标关键词,在区块链中查找用于存储待存储数据的存储区块;若在区块链中未查找到用于存储待存储数据的存储区块,则根据数据类型、目标关键词和预设的存储区块创建模板,在区块链上创建用于存储待存储数据的目标存储区块,并将待存储数据添加到目标存储区块。通过上述方式,使得基于区块链的数据存储方式能够根据市场需求及环境变化实现实时动态调整,从而实现了针对任意数据类型的数据的存储。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的数据存储方法、装置、设备及存储介质。
背景技术
随着计算机技术的不断发展,区块链技术(又称之为分布式账本技术)作为一种新的分布式数据存储技术,由于其具备不可篡改的特性,使得存储至区块链中的数据具备公正、公信力等特点,进而使得基于区块链的存储方式被广泛使用。
目前,基于区块链的数据存储方式,大多是在投入使用前,先根据预先制定的数据存储计划中规定的数据类型来创建用于存储数据的区块链,然后再部署并启用创建好的区块链。然而,在实际应用中,现有基于区块链的数据存储方式,在数据存储过程中,根本无法根据市场需求及环境变化实时动态调整用于存储数据的区块链,这就导致未能预料到的数据类型的数据没有办法进行存储。也就是说,会导致预先没有预料到的数据类型的数据丢失,无法存储。
所以,亟需提供一种能够适应市场需求及环境变化,实现针对任意数据类型的数据进行存储的数据存储方法。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于区块链的数据存储方法、装置、设备及存储介质,旨在使基于区块链的数据存储方式能够根据市场需求及环境变化实现实时动态调整,实现针对任意数据类型的数据进行存储。
为实现上述目的,本发明提供了一种基于区块链的数据存储方法,所述方法包括以下步骤:
接收待存储数据,确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词;
根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块;
若在所述区块链中未查找到用于存储所述待存储数据的存储区块,则根据所述数据类型、所述目标关键词和预设的存储区块创建模板,在所述区块链上创建用于存储所述待存储数据的目标存储区块,并将所述待存储数据添加到所述目标存储区块。
优选地,所述确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词之前,所述方法还包括:
基于机器学习算法,对预先收集的样本数据进行训练,构建数据类型分析模型;
其中,所述确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词,包括:
利用所述数据类型分析模型对所述待存储数据进行分析,确定所述待存储数据的数据类型;
基于关键词提取技术对所述待存储数据进行关键词提取操作,得到所述目标关键词。
优选地,所述确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词之后,所述方法还包括:
将所述待存储数据添加到高速缓冲存储器;
其中,所述将所述待存储数据添加到所述目标存储区块,包括:
从所述高速缓冲存储器读取所述待存储数据,将所述待存储数据添加到所述目标存储区块。
优选地,所述将所述待存储数据添加到所述目标存储区块之前,所述方法还包括:
确定所述待存储数据的格式;
若所述待存储数据为语音格式,则基于语音识别技术,将语音格式的待存储数据转换为文本格式的待存储数据;
若所述待存储数据为图片格式,则基于图像识别文字技术,将图片格式的待存储数据转换为文本格式的待存储数据;
其中,所述将所述待存储数据添加到所述目标存储区块,包括:
将所述文本格式的待存储数据添加到所述目标存储区块。
优选地,所述将所述文本格式的待存储数据添加到所述目标存储区块,包括:
根据预设的数据处理标准,对所述文本格式的待存储数据进行格式化处理,获得符合所述数据处理标准的待存储数据;
将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块。
优选地,所述将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块之前,所述方法还包括:
采用预设的压缩机制对所述符合所述数据处理标准的待存储数据进行压缩处理,得到压缩后的待存储数据;
将所述压缩后的待存储数据添加到所述目标存储区块。
优选地,所述根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块,包括:
根据所述数据类型、所述目标关键词、预设的查询表达式模板和查询表达式支持的运算符,生成存储区块查询表达式;
利用预设的存储区块查询引擎,从区块链上查询符合所述存储区块查询表达式指定的存储区块。
此外,为实现上述目的,本发明还提出一种基于区块链的数据存储装置,所述装置包括:
确定模块,用于接收待存储数据,确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词;
查找模块,用于根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块;
创建模块,用于在所述区块链中未查找到用于存储所述待存储数据的存储区块时,根据所述数据类型、所述目标关键词和预设的存储区块创建模板,在所述区块链上创建用于存储所述待存储数据的目标存储区块;
添加模块,用于将所述待存储数据添加到所述目标存储区块。
此外,为实现上述目的,本发明还提出一种基于区块链的数据存储设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的数据存储程序,所述基于区块链的数据存储程序配置为实现如上文所述的基于区块链的数据存储方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于区块链的数据存储程序,所述基于区块链的数据存储程序被处理器执行时实现如上文所述的基于区块链的数据存储方法的步骤。
在使用区块链进行数据存储的过程中,本发明通过确定接收到的待存储数据的数据类型和目标关键词,根据确定的数据类型和目标关键词在区块链中查找用于存储所述待存储数据的存储区块,并在所述区块链中不存在用于存储所述待存储数据的存储区块时,直接根据确定的数据类型、目标关键词以及预设的存储区块创建模板来生成用于存储所述待存储数据的目标存储区块,使得已经部署投入使用的区块链能够更好的适应市场需求及环境变化,从而大大提升了基于区块链进行数据存储的灵活性,实现了对任意数据类型的数据进行存储。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于区块链的数据存储设备的结构示意图;
图2为本发明基于区块链的数据存储方法第一实施例的流程示意图;
图3为本发明基于区块链的数据存储方法第一实施例中列举的C语音的数据类型示意图;
图4为本发明基于区块链的数据存储方法第一实施例中区块链上存储的数据的分布方式示意图;
图5为本发明基于区块链的数据存储方法第二实施例的流程示意图;
图6为本发明基于区块链的数据存储装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于区块链的数据存储设备结构示意图。
如图1所示,该基于区块链的数据存储设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于区块链的数据存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的数据存储程序。
在图1所示的基于区块链的数据存储设备中,网络接口1004主要用于与部署有区块链的网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明基于区块链的数据存储设备中的处理器1001、存储器1005可以设置在基于区块链的数据存储设备中,所述基于区块链的数据存储设备通过处理器1001调用存储器1005中存储的基于区块链的数据存储程序,并执行本发明实施例提供的基于区块链的数据存储方法。
本发明实施例提供了一种基于区块链的数据存储方法,参照图2,图2为本发明一种基于区块链的数据存储方法第一实施例的流程示意图。
本实施例中,所述基于区块链的数据存储方法包括以下步骤:
步骤S10,接收待存储数据,确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词。
具体的说,本实施例中的执行主体为用户可以操作的任意终端设备,比如个人计算机、平板电脑、智能手机等,此处不再一一列举,对此也不做任何限制。
此外,应当理解的是,在实际应用中,由于采用的编程语言的不同,因而数据类型的分类也会有所差异。
以C语言(一种通用计算机编程语言)为例,其数据类型大致如图3所示。
此外,在不同的系统上,这些数据类型占据的字节长度也不相同。比如,在32位的系统上:short占据的内存大小是2个byte;int占据的内存大小是4个byte;long占据的内存大小是4个byte;float占据的内存大小是4个byte;double占据的内存大小是8个byte;char占据的内存大小是1个byte。
因而,基于这些特征,通过对接收到的待存储数据的分析,便可以确定所述待存储数据的数据类型。
为了实现快速、精准的确定数据类型,在实际应用中,可以预先构建一个数据类型分析模型。
比如说,通过基于机器学习算法,对预先收集的样本数据(可以预先从各大数据平台获取的)进行训练,来构建数据类型分析模型。
需要说明的是,上述所说的机器学习算法,具体可以是有监督学习算法,如目前较为流行的卷积神经网络算法(Convolutional neural networks,CNNs);也可以是无监督学习算法,如目前较为流行的深度置信网(Deep Belief Nets,DBNs)。
关于机器学习算法的选取,本领域的技术人员可以根据实际需要进行选择,此处不做限制。
相应地,在构建好数据类型分析模型之后,数据类型的确定具体可以是通过利用所述数据类型分析模型对所述待存储数据进行分析,进而确定所述待存储数据的数据类型。
关于使用所述数据类型分析模型确定所述待存储数据的数据类型的操作,在具体实现中只需将待存储数据输入所述数据类型分析模型,即可输出所述待存储数据的对应的数据类型。
此外,应当理解的上,在确定所述待存储数据对应的目标关键词时,具体可以利用目前较为成熟的关键词提取技术来进行提取。
比如说,所述待存储数据为“张三2018年9月的各科成绩信息,各成绩为:语文90分,数学95,英语88,政治92”。
基于关键词提取技术对所述待存储数据进行关键词提取操作,得到的关键词为:张三、2018年9月、成绩、语文90分、数学95、英语88、政治92。基于语义分析,从提取的关键词中确定的目标关键词为:张三、2018年9月、成绩,即在后续需要创建用于存储上述待存储数据的目标存储区块时,创建的目标存储区块的标识信息为“张三,2018年9月的成绩”。
需要说明的是,以上仅为举例说明,对本案的技术方案并构成任何限定,在具体实现中,本领域的技术人员可以根据需要设置,此处不做限制。
步骤S20,根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块。
具体的说,此处所说的区块链为预先部署好的一条作为主链(也称为:母链)的区块链,该区块链在创建的时候可以限定具体的数据类型,且该区块链中不用于直接存储数据。所有待存储数据是存储在该区块链上生成的由各个存储区块构成的侧链(子链)中的。
为了便于理解,可以结合图4来理解:
图4给出的基于区块链的数据存储方式是应用于某一学校各学生历年的考核成绩的。图4中,张三、李四、王五、赵六分别为该学校的学生,且张三在2015年至2018年均在该校就读,所以存储张三历年成绩的侧链中,分别以每一年为一个存储区块,来存储张三在当年的各科成绩;而李四在校就读的时间为2015年至2018年,相应的存储李四历年成绩的侧链中,具有2015、2016、2017三个存储区块,分别用来存储对应年份李四的各科成绩;而王五在校就读的时间为2016年至2018年,相应的存储王五历年成绩的侧链中,具有2016、2017、2018三个存储区块,分别用来存储对应年份王五的各科成绩;而赵六在校就读的时间为2017年至2018年,相应的存储赵六历年成绩的侧链中,具有2017和2008两个存储区块,分别用来存储对应年份赵六的各科成绩。
因而,在根据分析获得的待存储数据的数据类型和目标关键词,在区块链中查找用于存储所述待存储数据的存储区块时,只需根据数据类型和目标关键词遍历与主链连接的各条侧链中的存储区块即可。
需要说明的是,以上仅为举例说明,对本案的技术方案并构成任何限定,在具体实现中,本领域的技术人员可以根据需要设置,此处不做限制。
步骤S30,若在所述区块链中未查找到用于存储所述待存储数据的存储区块,则根据所述数据类型、所述目标关键词和预设的存储区块创建模板,在所述区块链上创建用于存储所述待存储数据的目标存储区块,并将所述待存储数据添加到所述目标存储区块。
具体的说,在本实施例中,预存的存储区块创建模板可以是按照预先规定的语法规范编写的脚本文件,其语法格式大致如下:
在实际应用中,该表达式的具体含义为:创建一个名叫“存储区块名称”的存储区块,它包含了类型为“数据类型”的字段“filed”。
应当理解的是,上述所说的“存储区块名称”在实际应用中可以为提取到的目标关键词,数据类型即为确定的待存储数据的数据类型,“filed”字段中对应的存储空间即为用于所述数据类型的待存储数据,其存储空间的大小即为该数据类型对应的最小值和最大值的取值范围。
比如,在数据类型为整型时,可以根据系统,分配如表1所示中最大值和最小值对应的存储空间。
表1数据类型为整型的取值表
类型名称 | 最小值 | 最大值 |
int8 | -128 | 127 |
int16 | -32768 | 32767 |
int32 | -2147483648 | 2147483647 |
int64 | -9223372036854775808 | 9223372036854775807 |
此外,在实际应用中,还可以限定存储区块名称仅能包含字母、数字和下划线,比如:zhangsan_2018_chengji。
需要说明的是,以上举例说明,对本发明的技术方案并不构成任何限定,在具体实现中,本领域的技术人员可以根据需要进行设置,此处不做限制。
此外,值得一提的是,为了提升数据存储速度,在实际应用中,在确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词之后,可以先将待存储数据添加到终端设备的高速缓冲存储器,然后在创建好所述目标存储区块进行存储所述待存储数据的操作时,先从所述高速缓冲存储器读取所述待存储数据,然后再将所述待存储数据添加到所述目标存储区块。
应当理解的是,由于高速缓冲存储器是存在于主存与中央处理器(CentralProcessing Unit/Processor,CPU)之间的一级存储器,它是由静态存储芯片(SRAM)组成的,虽然容量比较小但速度比主存高得多,基本可以接近于CPU的速度,因此通过将确定数据类型和目标关键词的待存储数据存储到高速缓冲存储器中,再由高速缓冲存储器将待存储数据写入到对应的目标存储区块中,从而可以大大加快数据的存储速度。
此外,在将数据添加到对应的目标存储区块中时,还可以根据预先为不同数据类型设置的优先级来进行数据存储,即优先存储优先级高的待存储数据到对应的目标存储区块中。关于各数据类型对应的优先级,可以由技术人员预先根据应用场景来设置,也可以根据当前时刻接收到的待存储数据的数据类型出现的次数来设置,还可以根据当前排队等待添加到对应存储区块中的数据类型的占比来设置,具体的设置方式,此处不做限制。
此外,值得一提的是,由于本实施例中对用户提供的待存储数据的格式不做限制,而为了便于管理,用于存储待存储数据的区块链在开发过程中通常会设置为仅存储文本格式的数据,因而为了保证存储到区块链中的待存储数据均为文本格式,在将所述待存储数据添加到所述目标存储区块之前。
其中,所述格式确定模块,用于确定所述待存储数据的格式,可以先确定所述待存储数据的格式,然后根据确定的格式进行相应处理。
比如说,在所述待存储数据为语音格式时,先基于语音识别技术,将语音格式的待存储数据转换为文本格式的待存储数据;然后将所述文本格式的待存储数据添加到所述目标存储区块。
还比如说,在所述待存储数据为图片格式时,先基于图像识别文字技术,比如光学字符识别技术(Optical Character Recognition,ORC),将图片格式的待存储数据转换为文本格式的待存储数据;然后将所述文本格式的待存储数据添加到所述目标存储区块。
需要说明的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体实现中,本领域的技术人员可以根据需求进行设置,此处不做限制。
此外,为了便于对待存储数据的存储,也便于后续对相关数据的查询,以及分析处理的使用,在将所述文本格式的待存储数据添加到所述目标存储区块时,可以先根据预设的数据处理标准,对所述文本格式的待存储数据进行格式化处理,获得符合所述数据处理标准的待存储数据;然后,再将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块。
本实施例中所说的格式处理,可以是去停用词,即去掉待存储数据中含有的如:呢、吗、啊等没有实际意义的词;也可以是根据前后文语义,进行自动换行、合并等,具体的数据处理标准,本领域的技术人员可以根据实际需要进行设置,此处不做限制。
进一步地,为了尽可能的减小对存储区块存储区间的占用,以及达到从整体上降低区块链占用服务器的空间,在将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块之前,可以先采用预设的压缩机制对所述符合所述数据处理标准的待存储数据进行压缩处理,得到压缩后的待存储数据;然后将所述压缩后的待存储数据添加到所述目标存储区块。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
通过上述描述不难发现,本实例中提供的基于区块链的数据存储方法,在使用区块链进行数据存储的过程中,在接收到待存储数据时,通过确定接收到的待存储数据的数据类型和目标关键词,根据确定的数据类型和目标关键词在区块链中查找用于存储所述待存储数据的存储区块,并在所述区块链中不存在用于存储所述待存储数据的存储区块时,直接根据确定的数据类型、目标关键词以及预设的存储区块创建模板来生成用于存储所述待存储数据的目标存储区块,使得已经部署投入使用的区块链能够更好的适应市场需求及环境变化,从而大大提升了基于区块链进行数据存储的灵活性,实现了对任意数据类型的数据进行存储。
参考图5,图5为本发明一种基于区块链的数据存储方法第二实施例的流程示意图。
基于上述第一实施例,本实施例提供了一种根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块的具体实现方式,为了便于说明,本实施例中将步骤S20细化为三个子步骤,详见图5。
步骤S201,根据所述数据类型、所述目标关键词、预设的查询表达式模板和查询表达式支持的运算符,生成存储区块查询表达式。
具体的说,本实施中所说的预设的查询表达式模板中的查询表达式为技术人员自定义的,其语法结构如下所示:
select{*|field[,…]}from blockchain[where search_condition];
其中,blockchain为要查询的区块链的名称,search_condition为所述数据类型,field为所述目标关键词。
在实际应用中,该表达式的具体含义为:从某个“blockchain(区块链)”中查询出即符合“search_conditions”条件,又符合“field”条件的存储区块。
应当理解的是,在具体应用中,“blockchain”所在的位置可以直接更换为要查询的区块链的名称或者地址,“search_conditions”所在的位置可以直接更换为确定的所述数据类型,“field”所在的位置可以直接更换为确定的所述目标关键词。
也可以将“blockchain”、“search_conditions”、“field”这些变量预先定义为全局变量,直接在主函数中为上述各变量赋予相应的变量值,这样便可以无需替换区块链查询表达式中的出现的上述变量。
此外,上述所说的所述查询表达式支持的运算符大致如表1所示:
表1运算符表
类别 | 运算符 | 说明 |
比较运算符 | =,<,>,<=,>=,<> | 比较两个表达式 |
逻辑运算符 | AND,OR,NOT | 组合两个表达式或取反 |
范围运算符 | BETWEEN,NOT BETWEEN | 搜索值是否在范围内 |
列表运算符 | IN,NOT IN | 查询值是否属于列表值之一 |
需要说明的是,以上举例说明,对本发明的技术方案并不构成任何限定,在具体实现中,本领域的技术人员可以根据需要进行设置,此处不做限制。
步骤S202,利用预设的存储区块查询引擎,从区块链上查询符合所述存储区块查询表达式指定的存储区块。
具体的说,在查询过程中,所述存储区块查询引擎可以是先以数据类型为第一查询目标,对区块链中的存储区块进行匹配筛选,查询出符合所述第一查询目标的所有存储区块;然后再将所述目标关键词作为第二查询目标,从符合要求的各个存储区块中查询出能够存储当前接收到的待存储数据的存储区块。
需要说明的是,以上给出的仅仅为一种利用预设的存储区块查询引擎,从区块链上查询符合所述存储区块查询表达式指定的存储区块的具体操作,对本发明的技术方案并不构成任何限定,在具体实现中,本领域的技术人员可以根据需要进行设置,此处不做限制。
通过上述描述不难发现,本实例中提供的基于区块链的数据存储方法,在根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块的时候,通过采用所述数据类型、所述目标关键词、预设的查询表达式模板和查询表达式支持的运算符来生成存储区块查询表达式,使得生成的存储区块查询表达式同时具备了数据类型和目标关键词两个筛选条件,从而在查询过程中,只需通过一次查询请求,便可以实现对整个区块链的查询,从而快速、准确的过滤出同时符合数据类型和目标关键词两个条件的存储区块,大大提高了查询速度,进而有效地缩短了数据存储所需的时间。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于区块链的数据存储程序,所述基于区块链的数据存储程序被处理器执行时实现如上文所述的基于区块链的数据存储方法的步骤。
参照图6,图6为本发明基于区块链的数据存储装置第一实施例的结构框图。
如图6所示,本发明实施例提出的基于区块链的数据存储装置包括:确定模块6001、查找模块6002、创建模块6003和添加模块6004。
其中,确定模块6001,用于接收待存储数据,确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词;查找模块6002,用于根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块;创建模块6003,用于在所述区块链中未查找到用于存储所述待存储数据的存储区块时,根据所述数据类型、所述目标关键词和预设的存储区块创建模板,在所述区块链上创建用于存储所述待存储数据的目标存储区块;添加模块6004,用于将所述待存储数据添加到所述目标存储区块。
此外,在具体实现中,为了实现快速、精准的确定数据类型,可以预先构数据类型分析模型。也就是说,本实施例提供的基于区块链的数据存储装置还可以包括:数据类型分析模型构建模块。
具体的说,在实际应用中,所述数据类型分析模型构建模块主要用于基于机器学习算法,对预先收集的样本数据进行训练,构建数据类型分析模型。
需要说明的是,上述所说的机器学习算法,具体可以是有监督学习算法,如目前较为流行的卷积神经网络算法(Convolutional neural networks,CNNs);也可以是无监督学习算法,如目前较为流行的深度置信网(Deep Belief Nets,DBNs)。
关于机器学习算法的选取,本领域的技术人员可以根据实际需要进行选择,此处不做限制。
相应地,在实际应用中,为便于管理和实现,还可以将确定模块6001细化为:数据类型确定子模块和目标关键词确定子模块。
具体的说,所述数据类型确定子模块,用于利用所述数据类型分析模型对所述待存储数据进行分析,确定所述待存储数据的数据类型。
所述目标关键词确定子模块,用于基于关键词提取技术对所述待存储数据进行关键词提取操作,得到所述目标关键词。
进一步地,为了提升数据存储速度,在实际应用中,还可以设置确定模块6001在确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词之后,将所述待存储数据添加到终端设备的高速缓冲存储器,以使添加模块6004在执行将所述待存储数据添加到所述目标存储区块的操作时,先从所述高速缓冲存储器读取所述待存储数据,然后再将所述待存储数据添加到所述目标存储区块。
由于高速缓冲存储器是存在于主存与中央处理器(Central Processing Unit/Processor,CPU)之间的一级存储器,它是由静态存储芯片(SRAM)组成的,虽然容量比较小但速度比主存高得多,基本可以接近于CPU的速度,因此通过将确定数据类型和目标关键词的待存储数据存储到高速缓冲存储器中,再由高速缓冲存储器将待存储数据写入到对应的目标存储区块中,从而可以大大加快数据的存储速度。
此外,在将数据添加到对应的目标存储区块中时,还可以根据预先为不同数据类型设置的优先级来进行数据存储,即优先存储优先级高的待存储数据到对应的目标存储区块中。关于各数据类型对应的优先级,可以由技术人员预先根据应用场景来设置,也可以根据当前时刻接收到的待存储数据的数据类型出现的次数来设置,还可以根据当前排队等待添加到对应存储区块中的数据类型的占比来设置,具体的设置方式,此处不做限制。
此外,值得一提的是,由于本实施例中对用户提供的待存储数据的格式不做限制,而为了便于管理,用于存储待存储数据的区块链在开发过程中通常会设置为仅存储文本格式的数据,因而为了保证存储到区块链中的待存储数据均为文本格式,所述基于区块链的数据存储装置还可以包括:格式确定模块、语音转文本模块和图片转文本模块。
其中,所述格式确定模块,用于确定所述待存储数据的格式。
所述语音转文本模块,用于在所述待存储数据为语音格式时,基于语音识别技术,将语音格式的待存储数据转换为文本格式的待存储数据。
所述图片转文本模块,用于在所述待存储数据为图片格式时,基于图像识别文字技术,比如光学字符识别技术(Optical Character Recognition,ORC),将图片格式的待存储数据转换为文本格式的待存储数据。
相应地,所述添加模块6004在将所述待存储数据添加到所述目标存储区块时,具体是将所述文本格式的待存储数据添加到所述目标存储区块。
需要说明的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体实现中,本领域的技术人员可以根据需求进行设置,此处不做限制。
此外,为了便于对待存储数据的存储,也便于后续对相关数据的查询,以及分析处理的使用,所述添加模块6004在将所述文本格式的待存储数据添加到所述目标存储区块时,可以先根据预设的数据处理标准,对所述文本格式的待存储数据进行格式化处理,获得符合所述数据处理标准的待存储数据;然后,再将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块。
进一步地,为了尽可能的减小对存储区块存储区间的占用,以及达到从整体上降低区块链占用服务器的空间,所述基于区块链的数据存储装置还可以包括:压缩模块。
其中,所述压缩模块,用于采用预设的压缩机制对所述符合所述数据处理标准的待存储数据进行压缩处理,得到压缩后的待存储数据。
相应地,所述添加模块6004在将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块时,具体是将所述压缩后的待存储数据添加到所述目标存储区块。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
通过上述描述不难发现,本实例中提供的基于区块链的数据存储装置,在使用区块链进行数据存储的过程中,在接收到待存储数据时,通过确定接收到的待存储数据的数据类型和目标关键词,根据确定的数据类型和目标关键词在区块链中查找用于存储所述待存储数据的存储区块,并在所述区块链中不存在用于存储所述待存储数据的存储区块时,直接根据确定的数据类型、目标关键词以及预设的存储区块创建模板来生成用于存储所述待存储数据的目标存储区块,使得已经部署投入使用的区块链能够更好的适应市场需求及环境变化,从而大大提升了基于区块链进行数据存储的灵活性,实现了对任意数据类型的数据进行存储。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于区块链的数据存储方法,此处不再赘述。
基于上述基于区块链的数据存储装置的第一实施例,提出本发明基于区块链的数据存储装置第二实施例。
具体的说,本实施例主要提供了一种根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块的具体实现方式。为了便于实现,在实际应用中可以将基于区块链的数据存储装置中的查找模块细化为:存储区块查询表达式生成子模块和存储区块查找子模块。
相应地,所述存储区块查询表达式生成子模块,用于根据所述数据类型、所述目标关键词、预设的查询表达式模板和查询表达式支持的运算符,生成存储区块查询表达式。
所述存储区块查找子模块,用于利用预设的存储区块查询引擎,从区块链上查询符合所述存储区块查询表达式指定的存储区块。
应当理解的是,以上给出的仅为一种从区块链中查询用于存储待存储数据的存储区块的具体实现方式,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
此外,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
通过上述描述不难发现,本实例中提供的基于区块链的数据存储装置,在根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块的时候,通过采用所述数据类型、所述目标关键词、预设的查询表达式模板和查询表达式支持的运算符来生成存储区块查询表达式,使得生成的存储区块查询表达式同时具备了数据类型和目标关键词两个筛选条件,从而在查询过程中,只需通过一次查询请求,便可以实现对整个区块链的查询,从而快速、准确的过滤出同时符合数据类型和目标关键词两个条件的存储区块,大大提高了查询速度,进而有效地缩短了数据存储所需的时间。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于区块链的数据存储方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于区块链的数据存储方法,其特征在于,所述方法包括以下步骤:
接收待存储数据,确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词;
根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块;
若在所述区块链中未查找到用于存储所述待存储数据的存储区块,则根据所述数据类型、所述目标关键词和预设的存储区块创建模板,在所述区块链上创建用于存储所述待存储数据的目标存储区块,并将所述待存储数据添加到所述目标存储区块。
2.如权利要求1所述的方法,其特征在于,所述确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词之前,所述方法还包括:
基于机器学习算法,对预先收集的样本数据进行训练,构建数据类型分析模型;
其中,所述确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词,包括:
利用所述数据类型分析模型对所述待存储数据进行分析,确定所述待存储数据的数据类型;
基于关键词提取技术对所述待存储数据进行关键词提取操作,得到所述目标关键词。
3.如权利要求2所述的方法,其特征在于,所述确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词之后,所述方法还包括:
将所述待存储数据添加到高速缓冲存储器;
其中,所述将所述待存储数据添加到所述目标存储区块,包括:
从所述高速缓冲存储器读取所述待存储数据,将所述待存储数据添加到所述目标存储区块。
4.如权利要求3所述的方法,其特征在于,所述将所述待存储数据添加到所述目标存储区块之前,所述方法还包括:
确定所述待存储数据的格式;
若所述待存储数据为语音格式,则基于语音识别技术,将语音格式的待存储数据转换为文本格式的待存储数据;
若所述待存储数据为图片格式,则基于图像识别文字技术,将图片格式的待存储数据转换为文本格式的待存储数据;
其中,所述将所述待存储数据添加到所述目标存储区块,包括:
将所述文本格式的待存储数据添加到所述目标存储区块。
5.如权利要求4所述的方法,其特征在于,所述将所述文本格式的待存储数据添加到所述目标存储区块,包括:
根据预设的数据处理标准,对所述文本格式的待存储数据进行格式化处理,获得符合所述数据处理标准的待存储数据;
将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块。
6.如权利要求5所述的方法,其特征在于,所述将所述符合所述数据处理标准的待存储数据添加到所述目标存储区块之前,所述方法还包括:
采用预设的压缩机制对所述符合所述数据处理标准的待存储数据进行压缩处理,得到压缩后的待存储数据;
将所述压缩后的待存储数据添加到所述目标存储区块。
7.如权利要求1至6任一项所述的方法,其特征在于,所述根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块,包括:
根据所述数据类型、所述目标关键词、预设的查询表达式模板和查询表达式支持的运算符,生成存储区块查询表达式;
利用预设的存储区块查询引擎,从区块链上查询符合所述存储区块查询表达式指定的存储区块。
8.一种基于区块链的数据存储装置,其特征在于,所述装置包括:
确定模块,用于接收待存储数据,确定所述待存储数据的数据类型和所述待存储数据对应的目标关键词;
查找模块,用于根据所述数据类型和所述目标关键词,在区块链中查找用于存储所述待存储数据的存储区块;
创建模块,用于在所述区块链中未查找到用于存储所述待存储数据的存储区块时,根据所述数据类型、所述目标关键词和预设的存储区块创建模板,在所述区块链上创建用于存储所述待存储数据的目标存储区块;
添加模块,用于将所述待存储数据添加到所述目标存储区块。
9.一种基于区块链的数据存储设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的数据存储程序,所述基于区块链的数据存储程序配置为实现如权利要求1至7中任一项所述的基于区块链的数据存储方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于区块链的数据存储程序,所述基于区块链的数据存储程序被处理器执行时实现如权利要求1至7任一项所述的基于区块链的数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910046958.7A CN109922131A (zh) | 2019-01-17 | 2019-01-17 | 基于区块链的数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910046958.7A CN109922131A (zh) | 2019-01-17 | 2019-01-17 | 基于区块链的数据存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109922131A true CN109922131A (zh) | 2019-06-21 |
Family
ID=66960383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910046958.7A Pending CN109922131A (zh) | 2019-01-17 | 2019-01-17 | 基于区块链的数据存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109922131A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648233A (zh) * | 2019-09-10 | 2020-01-03 | 中国人民大学 | 一种基于区块链的供应链平台侧链拓展方法及装置 |
CN112429622A (zh) * | 2020-12-09 | 2021-03-02 | 中铁第四勘察设计院集团有限公司 | 一种基于区块链和ipfs的自动扶梯监测网络系统 |
CN113420169A (zh) * | 2021-06-22 | 2021-09-21 | 重庆紫光华山智安科技有限公司 | 档案存储、查询方法、系统、电子设备及介质 |
CN114357534A (zh) * | 2022-03-18 | 2022-04-15 | 中科互联科技(广州)有限公司 | 基于区块链的课室实训平台构建方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462362A (zh) * | 2014-12-08 | 2015-03-25 | 曙光信息产业(北京)有限公司 | 一种数据存储、查询、加载方法及装置 |
CN106548412A (zh) * | 2016-09-21 | 2017-03-29 | 广西电网有限责任公司电力科学研究院 | 一种变电站在线监测时序数据的高效压缩存储方法 |
CN107203344A (zh) * | 2017-05-31 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种数据存储方法及数据存储系统 |
CN107330014A (zh) * | 2017-06-15 | 2017-11-07 | 武汉斗鱼网络科技有限公司 | 一种数据表的创建方法与设备 |
CN108446314A (zh) * | 2018-02-07 | 2018-08-24 | 平安科技(深圳)有限公司 | 一种学生信息存储方法、计算机可读存储介质及终端设备 |
-
2019
- 2019-01-17 CN CN201910046958.7A patent/CN109922131A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462362A (zh) * | 2014-12-08 | 2015-03-25 | 曙光信息产业(北京)有限公司 | 一种数据存储、查询、加载方法及装置 |
CN106548412A (zh) * | 2016-09-21 | 2017-03-29 | 广西电网有限责任公司电力科学研究院 | 一种变电站在线监测时序数据的高效压缩存储方法 |
CN107203344A (zh) * | 2017-05-31 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种数据存储方法及数据存储系统 |
CN107330014A (zh) * | 2017-06-15 | 2017-11-07 | 武汉斗鱼网络科技有限公司 | 一种数据表的创建方法与设备 |
CN108446314A (zh) * | 2018-02-07 | 2018-08-24 | 平安科技(深圳)有限公司 | 一种学生信息存储方法、计算机可读存储介质及终端设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648233A (zh) * | 2019-09-10 | 2020-01-03 | 中国人民大学 | 一种基于区块链的供应链平台侧链拓展方法及装置 |
CN112429622A (zh) * | 2020-12-09 | 2021-03-02 | 中铁第四勘察设计院集团有限公司 | 一种基于区块链和ipfs的自动扶梯监测网络系统 |
CN112429622B (zh) * | 2020-12-09 | 2023-08-01 | 中铁第四勘察设计院集团有限公司 | 一种基于区块链和ipfs的自动扶梯监测网络系统 |
CN113420169A (zh) * | 2021-06-22 | 2021-09-21 | 重庆紫光华山智安科技有限公司 | 档案存储、查询方法、系统、电子设备及介质 |
CN114357534A (zh) * | 2022-03-18 | 2022-04-15 | 中科互联科技(广州)有限公司 | 基于区块链的课室实训平台构建方法、装置、设备及介质 |
CN114357534B (zh) * | 2022-03-18 | 2022-06-03 | 中科互联科技(广州)有限公司 | 基于区块链的课室实训平台构建方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922131A (zh) | 基于区块链的数据存储方法、装置、设备及存储介质 | |
CN111507099A (zh) | 文本分类方法、装置、计算机设备及存储介质 | |
CN104735468B (zh) | 一种基于语义分析将图像合成新视频的方法及系统 | |
CN107679082A (zh) | 问答搜索方法、装置以及电子设备 | |
CN109783651A (zh) | 提取实体相关信息的方法、装置、电子设备和存储介质 | |
CN110020422A (zh) | 特征词的确定方法、装置和服务器 | |
CN110020424A (zh) | 合同信息的提取方法、装置和文本信息的提取方法 | |
CN110619050B (zh) | 意图识别方法及设备 | |
CN109446328A (zh) | 一种文本识别方法、装置及其存储介质 | |
CN109933671A (zh) | 构建个人知识图谱的方法、装置、计算机设备和存储介质 | |
CN104021198A (zh) | 基于本体语义索引的关系数据库信息检索方法及装置 | |
CN112579733B (zh) | 规则匹配方法、规则匹配装置、存储介质及电子设备 | |
CN109491708A (zh) | 文档生成方法、系统、设备和介质 | |
US20220067284A1 (en) | Systems and methods for controllable text summarization | |
WO2024011813A1 (zh) | 一种文本扩展方法、装置、设备及介质 | |
CN111651572A (zh) | 一种多领域任务型对话系统、方法和终端 | |
CN110286903A (zh) | 用户信息表单的构建方法、装置、设备及存储介质 | |
CN111553138B (zh) | 用于规范内容结构文档的辅助写作方法及装置 | |
CN109710732A (zh) | 信息查询方法、装置、存储介质和电子设备 | |
CN110334334A (zh) | 一种摘要生成方法、装置及计算机设备 | |
CN109903122A (zh) | 房产交易信息处理方法、装置、设备及存储介质 | |
CN108829651A (zh) | 一种公文处理的方法、装置、终端设备及存储介质 | |
CN107315833A (zh) | 基于应用程序的检索与下载的方法和装置 | |
CN104021117B (zh) | 语言处理方法与电子设备 | |
US11789940B2 (en) | Natural language interface to databases |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190621 |