一种对区块链中存储数据升序排序系统
技术领域
本发明涉及区块链数据存储技术领域,具体为一种对区块链中存储数据升序排序系统。
背景技术
区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。
目前区块链的应用范围广,其中数据存储便是其中之一,对于一些数据的存储在后续处理过程中需要对其进行排序,依据不同的数据变化,调整排列的顺序,为此,我们提出一种对区块链中存储数据升序排序系统。
发明内容
本发明的目的在于提供一种对区块链中存储数据升序排序系统,通过计算分析操作的设置,对采集单元和监测单元获取的数据进行数据分析和计算,从而得出对应相关数据所对应的计算结果,增加数据的准确性,提高数据的说服力度,节省分析数据所消耗的时间,提高工作效率,通过判定单元的设置,对计算分析单元分析的对应数据进行增长和浏览判断,从而对数据进行重要性划分,依据重要性划分进行备份分类,并通过存储单元进行存储,快速对数据进行分类备份,节省分类所消耗的时间,提高工作效率,通过处理单元的设置,对不同类型的数据进行升序排序,保障升序排序的精确性,节省人为操作所消耗的时间,提高工作效率。
本发明的目的可以通过以下技术方案实现:一种对区块链中存储数据升序排序系统,包括采集单元、识别单元、监测单元、计算分析单元、判定单元、存储单元和处理单元;
所述采集单元用于实时采集区块链中存储的数据信息,并将其传输至识别单元,识别单元对数据信息进行识别操作,识别操作的具体过程为:
S1:获取数据信息,将其内每个数字、符号和汉字依次标记为ZFi,i=1,2,3......n1,将其内的逗号和顿号标定为分段符号,并将其标记为FDi,i=1,2,3......n1,将其内的点、符号以及引号标定为类别符号,并将其标记为LBi,i=1,2,3......n1,其中,符号表示为“+”和“-”;
S2:识别所述S1中获取的数据信息,识别依次设置的字符,选取两个逗号或两个顿号或一个逗号一个顿号之间的字符组,将其标定为选定字符组,并对字符组进一步匹配,当选定字符组内没有匹配到点、符号以及引号中的任意一种时,则判定所述数据为uint数据,即uint类型数据,当识别到点时,则判定所述数据为float数据,即float类型数据,当识别到引号时,则判定所述数据为string数据,即string类型数据,当识别到当识别到符号时,则判定所述数据为int数据,即int类型数据;
S3:将所述S2中的uint类型数据、float类型数据、int类型数据和string类型数据传输至监测单元;
所述监测单元依据uint类型数据、float类型数据、int类型数据和string类型数据,监测对应数据的调用查询的记录,并自动获取调用记录信息,将其传输至计算分析单元;
所述计算分析单元获取调用记录信息,并对其进行计算分析操作,得到浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值,并将其一同传输至判定单元;
所述判定单元用于对浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值进行判定操作,得到双重备份数据、重点备份数据和备份数据,并将其传输至存储单元;
所述存储单元用于对双重备份数据、重点备份数据和备份数据进行存储操作,具体为:获取双重备份数据、重点备份数据和备份数据,对其进行备份,获取重点备份数据,将其进行进一步标中备份,获取双重备份数据,并对其进行复制,再次备份存储;
所述处理单元从识别单元内获取uint类型数据、float类型数据、int类型数据和string类型数据,并对其进行升序排序。
作为本发明的进一步改进方案:计算分析操作的具体操作过程为:
H1:获取记录信息,将其内数据的种类标定为类型数据,并将类型数据标记为LXl,l=1,2,3......n2,将其内数据的名称标定为数据名,并将数据名标记为SMl,l=1,2,3......n2,将其内每种个对应的数据名的查询次数标定为浏览次数数据,并将浏览次数数据标记为LCl,l=1,2,3......n2,将其内每个数据名对应数据的大小标定为数据大小数据,并将数据大小数据标记为SDl,l=1,2,3......n2,将其内数据的字符数量标定为字符数据,并将字符数据标记为ZFl,l=1,2,3......n2,将其内对记录信息监测的时间标定为时间数据,并将时间数据标记为SJl,l=1,2,3......n2;
H2:提取所述H1中的类型数据、数据名、浏览次数数据、数据大小数据和字符数据,将浏览次数数据、数据大小数据和字符数据归属到对应的数据名内,并将数据名归属到对应的类型数据内;
H3:获取类型数据内数据名对应的浏览次数数据和时间数据,并将其一同带入到计算式:浏览频率=浏览次数数据/时间数据,计算得到浏览频率数据,将多个不同时间段的浏览频率数据带入到计算式:
,其中,
表示为多个不同时间段的浏览频率的平均值,即浏览频率均值,选取两个不同的时间点,并将其标记为T1和T2,将两个时间点对应的数据大小数据和字符数据进行对应标记,具体为:将两个数据大小数据分别标记为SD1和SD2,将两个字符数据标分别标记为ZF1和ZF2;
H4:将所述H3中的两个时间点对应的数据大小数据和字符数据分别带入到差值计算式中,从而计算出数据大小数据的差值,即数据大小差值,以及字符数据对应的差值,即字符差值,对数据大小差值和字符差值依据进行正负值标定,当数据大小差值大于等于零时,则判定所述数据大小差值为正向值,即大小正向值,当数据大小差值小于零时,则判定所述数据大小差值为负向值,即大小负向值,当字符差值大于等于零时,则判定所述字符差值为正向值,即字符正向值,当字符差值小于零时,则判定所述字符差值为负向值,即字符负向值;
H5:依据数据名对浏览频率均值进行从大到小的排序,并将排序后的数据名依次标记为A1、A2、A3......Al,并将其标记为浏览频率排序。
作为本发明的进一步改进方案:判定操作的具体操作过程为:
G1:获取字符负向值、字符正向值、大小负向值和大小正向值,并将其转换成对应的信号,即字符负向值信号、字符正向值信号、大小负向值信号和大小正向值信号,当识别到字符正向值信号和大小正向值信号时,则判定所述数据正常,生成正常信号,当识别到字符负向值信号和大小负向值信号,则判定所述数据存在损坏,生成损坏信号,当字符负向值信号和大小正向值信号同时出现时,则判定所述数据字符变动,生成变动信号,当字符正向值信号和大小负向值信号同时出现时,则判定所述数据存在异常,生成异常信号;
G2:获取所述G1中损坏信号、变动信号和异常信号,并提取对应数据名,获取浏览频率排序,将对应数据名在浏览频率排序上标记出来,并识别数据名在浏览频率排序中的序列数,对其进行二次排序,从而得出二次排序数据,选取出二次排序数据中排在前面三个的数据名,并将其标记为双重备份数据,选取二次排序数据中除前三的数据以外的数据,并将其标记为重点备份数据,选取出浏览频率排序中除二次排序数据的数据名,并将其标记为备份数据。
作为本发明的进一步改进方案:升序排序操作的具体操作过程为:
K1:识别类型数据,当识别到uint8,uint16,uint32,uint64类型的数据,先将其直接转为uint64,再以大端字节序编码,将高位字节设置在前,低位字节设置在后,具体为:
b[0]=byte(v>>56);
b[1]=byte(v>>48);
b[2]=byte(v>>40);
b[3]=byte(v>>32);
b[4]=byte(v>>24);
b[5]=byte(v>>16);
b[6]=byte(v>>8);
b[7]=byte(v>>0);
K2:识别类型数据,当识别到int8,int16,int32,int64类型的数据时,先直接转为int64,再通过异或0x8000000000000000将最高位bit设置为1,得到可比较的uint64值,再用上一步中编码uint64的方式进行最终编码;
K3:识别类型数据,当识别到float32,float64类型的数据时,先直接转为float64,如果一个值大于等于0,通过异或0x8000000000000000将最高位bit设置为1,对于负数,直接取反,负数的字节序列是原码表示,对原码进行取反即可保证字节序和数值序一致;
K4:识别类型数据,当识别到string,[]byte类型的数据时,首先将字符串按照8字节为一组,分成若干组,group_num=len(str)/8 + 1;最后一组不够8字节,对其补足若干个二进制0;
K5:针对任意要进行索引的数据,根据类型以所述K1-K4中的方式进行编码得到V1,在其后接上两字节的经过最高位取反的id字段,组成一个key写入KV中即可;
K6:在需要查询的时候,创建KV数据库的迭代器,seek到起始值,之后遍历迭代器有效值得到的就是需要查询的结果。
本发明的有益效果:
(1)通过采集单元采集区块链中存储的数据信息,并将其传输至识别单元,识别单元对数据信息进行识别操作,得到S2中的uint类型数据、float类型数据、int类型数据和string类型数据传输至监测单元;监测单元依据uint类型数据、float类型数据、int类型数据和string类型数据,监测得到调用记录信息,计算分析单元获取调用记录信息,并对其进行计算分析操作,通过计算分析操作的设置,对采集单元和监测单元获取的数据进行数据分析和计算,从而得出对应相关数据所对应的计算结果,增加数据的准确性,提高数据的说服力度,节省分析数据所消耗的时间,提高工作效率。
(2)判定单元对浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值进行判定操作,得到双重备份数据、重点备份数据和备份数据,并将其传输至存储单元;通过存储单元对将双重备份数据、重点备份数据和备份数据进行存储操作,具体为:获取双重备份数据、重点备份数据和备份数据,对其进行备份,获取重点备份数据,将其进行进一步标中备份,获取双重备份数据,并对其进行复制,再次备份存储,通过判定单元的设置,对计算分析单元分析的对应数据进行增长和浏览判断,从而对数据进行重要性划分,依据重要性划分进行备份分类,并通过存储单元进行存储,快速对数据进行分类备份,节省分类所消耗的时间,提高工作效率;
(3)通过处理单元从识别单元内获取uint类型数据、float类型数据、int类型数据和string类型数据,并对其进行升序排序;通过处理单元的设置,对不同类型的数据进行升序排序,保障升序排序的精确性,节省人为操作所消耗的时间,提高工作效率。
附图说明
下面结合附图对本发明作进一步的说明。
图1是本发明的系统框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种对区块链中存储数据升序排序系统,包括采集单元、识别单元、监测单元、计算分析单元、判定单元、存储单元和处理单元:
采集单元用于实时采集区块链中存储的数据信息,并将其传输至识别单元,识别单元对数据信息进行识别操作,识别操作的具体过程为:
S1:获取数据信息,将其内每个数字、符号和汉字依次标记为ZFi,i=1,2,3......n1,将其内的逗号和顿号标定为分段符号,并将其标记为FDi,i=1,2,3......n1,将其内的点、符号以及引号标定为类别符号,并将其标记为LBi,i=1,2,3......n1,其中,符号表示为“+”和“-”;
S2:识别所述S1中获取的数据信息,识别依次设置的字符,选取两个逗号或两个顿号或一个逗号一个顿号之间的字符组,将其标定为选定字符组,并对字符组进一步匹配,当选定字符组内没有匹配到点、符号以及引号中的任意一种时,则判定所述数据为uint数据,即uint类型数据,当识别到点时,则判定所述数据为float数据,即float类型数据,当识别到引号时,则判定所述数据为string数据,即string类型数据,当识别到当识别到符号时,则判定所述数据为int数据,即int类型数据;
S3:将所述S2中的uint类型数据、float类型数据、int类型数据和string类型数据传输至监测单元;
监测单元依据uint类型数据、float类型数据、int类型数据和string类型数据,监测对应数据的调用查询的记录,并自动获取调用记录信息,将其传输至计算分析单元;
计算分析单元获取调用记录信息,并对其进行计算分析操作,计算分析操作的具体操作过程为:
H1:获取记录信息,将其内数据的种类标定为类型数据,并将类型数据标记为LXl,l=1,2,3......n2,将其内数据的名称标定为数据名,并将数据名标记为SMl,l=1,2,3......n2,将其内每种个对应的数据名的查询次数标定为浏览次数数据,并将浏览次数数据标记为LCl,l=1,2,3......n2,将其内每个数据名对应数据的大小标定为数据大小数据,并将数据大小数据标记为SDl,l=1,2,3......n2,将其内数据的字符数量标定为字符数据,并将字符数据标记为ZFl,l=1,2,3......n2,将其内对记录信息监测的时间标定为时间数据,并将时间数据标记为SJl,l=1,2,3......n2;
H2:提取所述H1中的类型数据、数据名、浏览次数数据、数据大小数据和字符数据,将浏览次数数据、数据大小数据和字符数据归属到对应的数据名内,并将数据名归属到对应的类型数据内;
H3:获取类型数据内数据名对应的浏览次数数据和时间数据,并将其一同带入到计算式:浏览频率=浏览次数数据/时间数据,计算得到浏览频率数据,将多个不同时间段的浏览频率数据带入到计算式:
,其中,
表示为多个不同时间段的浏览频率的平均值,即浏览频率均值,选取两个不同的时间点,并将其标记为T1和T2,将两个时间点对应的数据大小数据和字符数据进行对应标记,具体为:将两个数据大小数据分别标记为SD1和SD2,将两个字符数据标分别标记为ZF1和ZF2;
H4:将所述H3中的两个时间点对应的数据大小数据和字符数据分别带入到差值计算式中,从而计算出数据大小数据的差值,即数据大小差值,以及字符数据对应的差值,即字符差值,对数据大小差值和字符差值依据进行正负值标定,当数据大小差值大于等于零时,则判定所述数据大小差值为正向值,即大小正向值,当数据大小差值小于零时,则判定所述数据大小差值为负向值,即大小负向值,当字符差值大于等于零时,则判定所述字符差值为正向值,即字符正向值,当字符差值小于零时,则判定所述字符差值为负向值,即字符负向值;
H5:依据数据名对浏览频率均值进行从大到小的排序,并将排序后的数据名依次标记为A1、A2、A3......Al,并将其标记为浏览频率排序;
H6:将浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值传输至判定单元;
判定单元对浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值进行判定操作,判定操作的具体操作过程为:
G1:获取字符负向值、字符正向值、大小负向值和大小正向值,并将其转换成对应的信号,即字符负向值信号、字符正向值信号、大小负向值信号和大小正向值信号,当识别到字符正向值信号和大小正向值信号时,则判定所述数据正常,生成正常信号,当识别到字符负向值信号和大小负向值信号,则判定所述数据存在损坏,生成损坏信号,当字符负向值信号和大小正向值信号同时出现时,则判定所述数据字符变动,生成变动信号,当字符正向值信号和大小负向值信号同时出现时,则判定所述数据存在异常,生成异常信号;
G2:获取所述G1中损坏信号、变动信号和异常信号,并提取对应数据名,获取浏览频率排序,将对应数据名在浏览频率排序上标记出来,并识别数据名在浏览频率排序中的序列数,对其进行二次排序,从而得出二次排序数据,选取出二次排序数据中排在前面三个的数据名,并将其标记为双重备份数据,选取二次排序数据中除前三的数据以外的数据,并将其标记为重点备份数据,选取出浏览频率排序中除二次排序数据的数据名,并将其标记为备份数据;
G3:将双重备份数据、重点备份数据和备份数据传输至存储单元;
存储单元用于对双重备份数据、重点备份数据和备份数据进行存储操作,具体为:获取双重备份数据、重点备份数据和备份数据,对其进行备份,获取重点备份数据,将其进行进一步标中备份,获取双重备份数据,并对其进行复制,再次备份存储;
处理单元从识别单元内获取uint类型数据、float类型数据、int类型数据和string类型数据,并对其进行升序排序操作,升序排序操作的具体操作过程为:
K1:识别类型数据,当识别到uint8,uint16,uint32,uint64类型的数据,先将其直接转为uint64,再以大端字节序编码,将高位字节设置在前,低位字节设置在后,具体为:
b[0]=byte(v>>56);
b[1]=byte(v>>48);
b[2]=byte(v>>40);
b[3]=byte(v>>32);
b[4]=byte(v>>24);
b[5]=byte(v>>16);
b[6]=byte(v>>8);
b[7]=byte(v>>0);
K2:识别类型数据,当识别到int8,int16,int32,int64类型的数据时,先直接转为int64,再通过异或0x8000000000000000将最高位bit设置为1,得到可比较的uint64值,再用上一步中编码uint64的方式进行最终编码;
K3:识别类型数据,当识别到float32,float64类型的数据时,先直接转为float64,如果一个值大于等于0,通过异或0x8000000000000000将最高位bit设置为1,对于负数,直接取反,负数的字节序列是原码表示,对原码进行取反即可保证字节序和数值序一致;
K4:识别类型数据,当识别到string,[]byte类型的数据时,首先将字符串按照8字节为一组,分成若干组,group_num=len(str)/8 + 1;最后一组不够8字节,对其补足若干个二进制0;
K5:针对任意要进行索引的数据,根据类型以所述K1-K4中的方式进行编码得到V1,在其后接上两字节的经过最高位取反的id字段,组成一个key写入KV中即可;
K6:在需要查询的时候,创建KV数据库的迭代器,seek到起始值,之后遍历迭代器有效值得到的就是需要查询的结果。
本发明在工作时,通过采集单元采集区块链中存储的数据信息,并将其传输至识别单元,识别单元对数据信息进行识别操作,具体为:获取数据信息,将其内每个数字、符号和汉字依次标记为ZFi,i=1,2,3......n1,将其内的逗号和顿号标定为分段符号,并将其标记为FDi,i=1,2,3......n1,将其内的点、符号以及引号标定为类别符号,并将其标记为LBi,i=1,2,3......n1,其中,符号表示为“+”和“-”;识别所述S1中获取的数据信息,识别依次设置的字符,选取两个逗号或两个顿号或一个逗号一个顿号之间的字符组,将其标定为选定字符组,并对字符组进一步匹配,当选定字符组内没有匹配到点、符号以及引号中的任意一种时,则判定所述数据为uint数据,即uint类型数据,当识别到点时,则判定所述数据为float数据,即float类型数据,当识别到引号时,则判定所述数据为string数据,即string类型数据,当识别到当识别到符号时,则判定所述数据为int数据,即int类型数据;将所述S2中的uint类型数据、float类型数据、int类型数据和string类型数据传输至监测单元;监测单元依据uint类型数据、float类型数据、int类型数据和string类型数据,监测对应数据的调用查询的记录,并自动获取调用记录信息,将其传输至计算分析单元;计算分析单元获取调用记录信息,并对其进行计算分析操作,得到浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值,并将其一同传输至判定单元;判定单元对浏览频率排序、字符负向值、字符正向值、大小负向值和大小正向值进行判定操作,得到双重备份数据、重点备份数据和备份数据,并将其传输至存储单元;通过存储单元对将双重备份数据、重点备份数据和备份数据进行存储操作,具体为:获取双重备份数据、重点备份数据和备份数据,对其进行备份,获取重点备份数据,将其进行进一步标中备份,获取双重备份数据,并对其进行复制,再次备份存储;处理单元从识别单元内获取uint类型数据、float类型数据、int类型数据和string类型数据,并对其进行升序排序。
以上内容仅仅是对本发明结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。