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

数据处理方法和装置、存储介质和电子设备

文献发布时间:2023-06-19 10:24:22


数据处理方法和装置、存储介质和电子设备

技术领域

本公开涉及数据处理领域,具体地,涉及一种数据处理方法和装置、存储介质和电子设备。

背景技术

区块链具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征,其信息的高安全性使其在很多场景下具有广阔的应用前景。

但是,由于区块链网络需要存储大量的数据,且随着使用的增多,数据量也会变得更加庞大,而由于存储资源的价格不菲,进行存储空间的扩容则需要耗费大量的成本,这阻碍了区块链网络的应用。

发明内容

本公开的目的是提供一种数据处理方法和装置、存储介质和电子设备,用于解决上述的技术问题。

为了实现上述目的,本公开的第一方面,提供一种数据处理方法,所述方法应用于区块链网络中的节点,所述方法包括:确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻;基于所述调用操作和所述调用时刻,确定各所述数据块的调用分值;基于所述调用分值,将各数据块从原始存储区移入与该数据块的调用分值所对应的存储区域;其中,所述存储区域包括用于存储高调用频率的数据块的热存储区域,和用于存储低调用频率的数据块的冷存储区域,所述热存储区域的读写速度高于所述冷存储区域。

可选地,所述基于所述调用操作和所述调用时刻,确定各所述数据块的调用分值,包括:针对各数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;基于各时间段对应的权重值和该时间段对应的操作频率,计算该数据块在各时间段内的单位分值;确定各所述单位分值的总分为所述调用分值。

可选地,所述针对各数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率,包括:确定各数据块的存入时长,并判断所述各数据块的存入时长是否小于预设时长;针对所述存入时长大于或等于所述预设时长的数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;所述方法还包括:针对所述存入时长小于所述预设时长的数据块,将该数据块的调用操作的总量和该数据块对应的存入时长的比值作为该数据块的调用分值。

可选地,所述时间段对应任意数据块的权重值是基于该数据块的写入时刻与该时间段之间的时长确定的,其中,所述权重值与所述时长正相关。

可选地,在将各数据块从原始存储区移入与该数据块的调用分值所对应的存储区域之后,所述方法还包括:确定所述热存储区域中的低调用频率的数据块,并将该低调用频率的数据块移入冷存储区域中;和/或,确定所述冷存储区域中的高调用频率的数据块,并将该高调用频率的数据块移入热存储区域中。

可选地,所述方法还包括:在原始存储区存储建立与各数据块对应的映射文件,所述映射文件用于基于查询请求从热存储区域或冷存储区域中调用与所述查询请求对应的数据块中的数据。

可选地,所述确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻,包括:响应于预设归档条件,确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻;其中,所述预设归档条件包括:获取到归档指令,或者到达预设归档时刻,或者原始存储区中的数据量到达归档阈值。

本公开的第二方面,提供一种数据处理装置,所述装置应用于区块链网络中的节点,所述装置包括:调用确定模块,用于确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻;分值确定模块,用于基于所述调用操作和所述调用时刻,确定各所述数据块的调用分值;数据归档模块,用于基于所述调用分值,将各数据块从原始存储区移入与该数据块的调用分值所对应的存储区域;其中,所述存储区域包括用于存储高调用频率的数据块的热存储区域,和用于存储低调用频率的数据块的冷存储区域,所述热存储区域的读写速度高于所述冷存储区域。

可选地,所述分值确定模块,用于针对各数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;基于各时间段对应的权重值和该时间段对应的操作频率,计算该数据块在各时间段内的单位分值;确定各所述单位分值的总分为所述调用分值。

可选地,所述分值确定模块,还用于确定各数据块的存入时长,并判断所述各数据块的存入时长是否小于预设时长;针对所述存入时长大于或等于所述预设时长的数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;针对所述存入时长小于所述预设时长的数据块,将该数据块的调用操作的总量和该数据块对应的存入时长的比值作为该数据块的调用分值。

可选地,所述时间段对应任意数据块的权重值是基于该数据块的写入时刻与该时间段之间的时长确定的,其中,所述权重值与所述时长正相关。

可选地,所述装置还包括数据迁移模块,用于确定所述热存储区域中的低调用频率的数据块,并将该低调用频率的数据块移入冷存储区域中;和/或,确定所述冷存储区域中的高调用频率的数据块,并将该高调用频率的数据块移入热存储区域中。

可选地,所述装置还包括数据映射模块,用于在原始存储区存储建立与各数据块对应的映射文件,所述映射文件用于基于查询请求从热存储区域或冷存储区域中调用与所述查询请求对应的数据块中的数据。

可选地,所述调用确定模块,用于响应于预设归档条件,确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻;其中,所述预设归档条件包括:获取到归档指令,或者到达预设归档时刻,或者原始存储区中的数据量到达归档阈值。

第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面中所述方法的步骤。

第四方面,本公开提供一种电子设备,包括存储装置和处理装置,存储介质上存储有计算机程序,处理装置用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面中所述方法的步骤。

通过上述技术方案,至少可以达到以下的技术效果:

可以基于数据块的调用操作和调用操作对应的调用时间,将区块链网络中的数据块按照调用的频率进行分区,将调用频率较低的数据块存入冷存储区域,将调用频率较高的数据块存入热存储区域,通过数据归档的方式解决区块链数据膨胀的问题,并提升数据的读写效率,并且,由于热存储介质和冷存储介质的价格不同,本公开还可以降低扩容所需的成本。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性公开实施例示出的一种数据处理方法的流程图。

图2是根据一示例性公开实施例示出的一种时间段划分的示意图。

图3是根据一示例性公开实施例示出的一种数据归档流程的示意图。

图4是根据一示例性公开实施例示出的一种数据处理装置的框图。

图5是根据一示例性公开实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

首先对本公开的应用场景进行说明,随着区块链应用越来越广泛,区块链数据的“膨胀”的问题也随之而来。目前,区块链的数据通常都存储在一个文件路径下,而且区块数据只能追加,不能修改和删除,所以随着区块链应用时间变长,区块链的数据也越来越多,原来的存储路径下无法存储过多的数据。本公开可以对区块链中的数据块进行归档,解决存储路径下无法存储过多数据的问题。

图1是根据一示例性公开实施例示出的一种数据处理方法的流程图,在本公开中,区块链网络可以是账务系统所用的区块链网络,相对应的,区块链网络中的数据也可以是账本数据。如图1所示,所述数据处理方法包括以下步骤:

S11、确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻。

当数据写入区块链以后,区块链网络的智能合约对账本数据的调用操作以及每次调用操作的调用时刻可以被记录,并在需要进行数据归档时进行提取使用。

在本公开中,可以是在满足预设的归档条件的情况下开始执行步骤S11,其中,归档可以为手动触发,也就是相应于用户的归档指令进行触发,还可以为自动触发,例如,到达预设归档时刻、原始存储区中的数据量到达归档阈值,或者原始存储区中的数据占用率超过占用率阈值。

S12、基于所述调用操作和所述调用时刻,确定各所述数据块的调用分值。

其中,调用时刻距离当前时刻越远,则调用操作的可参考性越低,调用时刻距离当前时刻越近,则调用操作的可参考性越高,因此,可以通过建立调用操作、调用时刻和调用分值的对应关系,使得调用时刻越靠近当前时刻的调用操作对应的调用分值越高,调用时刻越远离当前时刻的调用操作对应的调用分值越低,即可通过调用操作、调用时刻得到各数据块的调用分值,该调用分值用于表征数据块的被调用频率,调用分值越高,则数据块在近期被调用的频率越高。

在一种可能的实施方式中,调用分值可以通过以下方式确定:

针对各数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;基于各时间段对应的权重值和该时间段对应的操作频率,计算该数据块在各时间段内的单位分值;确定各所述单位分值的总分为所述调用分值。

其中,时间段可以是预先划分得到的,根据不同的归档需求,可以按照不同的形式进行划分。例如,在数据调用频繁的场景下,时间段的划分更细,可以将每小时划分为一个时间段,在数据调用不频繁的场景下,可以按天、周、月等时间单位进行划分,本公开对时间段的具体划分规则不做限制。时间段划分完毕后,可以对距离当前时刻较远的时间段赋较低的权重,为距离当前时刻较近的时间段赋较高的权重。

通过将调用时刻可以确定各调用操作所对应的时间段,针对每个数据块,可以计算出其在各个时间段内的调用频率,并将该调用频率与时间段对应的权重相乘,将乘积相加即可得到调用分值。

例如,数据块1在时间段1、时间段2、时间段3中的调用频率分别为2、4、4,且时间段1、时间段2、时间段3的权重值分别为0.2、0.3、0.5,则数据块1的调用分值为3.6。

在一种可能的实施方式中,所述时间段对应任意数据块的权重值是基于该数据块的写入时刻与该时间段之间的时长确定的,其中,所述权重值与所述时长正相关。

例如,对数据块f

在一种可能的实施方式中,时间段a

其中,数据块f

在一种可能的实施方式中,可以确定各数据块的存入时长,并判断所述各数据块的存入时长是否小于预设时长,针对所述存入时长大于或等于所述预设时长的数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率,针对所述存入时长小于所述预设时长的数据块,将该数据块的调用操作的总量和该数据块对应的存入时长的比值作为该数据块的调用分值。

也就是说,在进行调用分值的计算之前,可以先确定数据块的存入时长是否小于预设时长,如果小于预设时长,则表明该数据块为新写入的数据,其调用操作均具有参考价值,因此,可以省去对该数据块的各时间段进行权重值计算的步骤,直接将其调用频率,也就是调用次数与存入时长的比值作为调用分值,以节省计算资源。

如图2所示的为一种时间段划分的示意图,如图2所示,共有5个时间段,分别为时间段1至5,且前4个时间段的长度为t,为数据历史区,最后一个时间段为当前正在进行的时间周期,长度小于t,为数据新增区。其中,数据块f

S13、基于所述调用分值,将各数据块从原始存储区移入与该数据块的调用分值所对应的存储区域。

其中,所述存储区域包括用于存储高调用频率的数据块的热存储区域,和用于存储低调用频率的数据块的冷存储区域,所述热存储区域的读写速度高于所述冷存储区域。

例如,热存储区可以采用SSD(Solid State Disk,固态驱动器)进行存储,其读写速度较快,但价格较高,扩容成本高;冷存储区可以采用其他价格较低的磁盘进行存储,扩容成本低。

在一种可能的实施方式中,可以将调用分值高于分区阈值的数据块存入热存储区域,将低于分区阈值的数据块存入冷存储区域,该分区阈值可以是预设的数值,也可以是基于每次归档时计算得到各数据块的调用分值进行动态调整的数值。

例如,该分区阈值的计算可以通过以下的形式进行:

设数据块f

每次归档后新写入的数据可以存入区块链网络的预设存储路径中,也可以存在专门存储新增数据的新增硬盘内。

为了方便文件查找,可以在原始存储区存储建立与各数据块对应的映射文件,所述映射文件用于基于查询请求从热存储区域或冷存储区域中调用与所述查询请求对应的数据块中的数据,其中,该原始存储区为区块链网络的默认存储路径,通过上述的映射方式,可以在不改变原有的存储结构的基础上进行扩容,提升了数据的迁移效率。

在一种可能的实施方式中,在进行数据转移之后,可以确定所述热存储区域中的低调用频率的数据块,并将该低调用频率的数据块移入冷存储区域中;和/或,确定所述冷存储区域中的高调用频率的数据块,并将该高调用频率的数据块移入热存储区域中。

也就是说,当热存储区中的数据块的调用频率变低,或冷存储区域中的数据块的调用频率变高时,可以对该数据块进行转移,使其存入与其调用频率相匹配的存储区域中。该数据块的调用频率的检测可以基于用户的手动操作触发,也可以经过预设时间后自动触发,或者,可以在每次进行新数据归档时,对已经归档完成的数据块再进行与新数据相同的调用分值的计算操作,并对已经归档完成的数据块的存储位置进行相应的调整。在进行存储位置的调整后,可以更新原有的映射文件,以提升数据的查询效率。

图3是一种数据归档流程的示意图,如图3所示,检测到满足归档条件之后,可以对时间段进行分割,并统计数据块的调用频次,并进行调用分值的计算,在计算调用分值之后,可以计算冷/热存储区的划分标准(亦即计算分区阈值),并将数据块按照其调用分值进行冷热区域的归档,在归档完成后,可以基于数据的调用频率进行冷/热区域中数据块的更新。

通过上述技术方案,至少可以达到以下的技术效果:

可以基于数据块的调用操作和调用操作对应的调用时间,将区块链网络中的数据块按照调用的频率进行分区,将调用频率较低的数据块存入冷存储区域,将调用频率较高的数据块存入热存储区域,通过数据归档的方式解决区块链数据膨胀的问题,并提升数据的读写效率,并且,由于热存储介质和冷存储介质的价格不同,本公开还可以降低扩容所需的成本。

图4是根据一示例性公开实施例示出的一种数据处理装置的框图,如图4所示,所述装置400包括:

调用确定模块410,用于确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻。

分值确定模块420,用于基于所述调用操作和所述调用时刻,确定各所述数据块的调用分值。

数据归档模块430,用于基于所述调用分值,将各数据块从原始存储区移入与该数据块的调用分值所对应的存储区域。

其中,所述存储区域包括用于存储高调用频率的数据块的热存储区域,和用于存储低调用频率的数据块的冷存储区域,所述热存储区域的读写速度高于所述冷存储区域。

可选地,所述分值确定模块,用于针对各数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;基于各时间段对应的权重值和该时间段对应的操作频率,计算该数据块在各时间段内的单位分值;确定各所述单位分值的总分为所述调用分值。

可选地,所述分值确定模块,还用于确定各数据块的存入时长,并判断所述各数据块的存入时长是否小于预设时长;针对所述存入时长大于或等于所述预设时长的数据块,根据该数据块的各调用操作对应的调用时刻所处的时间段,确定各时间段对应的操作频率;针对所述存入时长小于所述预设时长的数据块,将该数据块的调用操作的总量和该数据块对应的存入时长的比值作为该数据块的调用分值。

可选地,所述时间段对应任意数据块的权重值是基于该数据块的写入时刻与该时间段之间的时长确定的,其中,所述权重值与所述时长正相关。

可选地,所述装置还包括数据迁移模块,用于确定所述热存储区域中的低调用频率的数据块,并将该低调用频率的数据块移入冷存储区域中;和/或,确定所述冷存储区域中的高调用频率的数据块,并将该高调用频率的数据块移入热存储区域中。

可选地,所述装置还包括数据映射模块,用于在原始存储区存储建立与各数据块对应的映射文件,所述映射文件用于基于查询请求从热存储区域或冷存储区域中调用与所述查询请求对应的数据块中的数据。

可选地,所述调用确定模块,用于响应于预设归档条件,确定各待处理的数据块的调用操作和和各调用操作对应的调用时刻;其中,所述预设归档条件包括:获取到归档指令,或者到达预设归档时刻,或者原始存储区中的数据量到达归档阈值。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

通过上述技术方案,至少可以达到以下的技术效果:

可以基于数据块的调用操作和调用操作对应的调用时间,将区块链网络中的数据块按照调用的频率进行分区,将调用频率较低的数据块存入冷存储区域,将调用频率较高的数据块存入热存储区域,通过数据归档的方式解决区块链数据膨胀的问题,并提升数据的读写效率,并且,由于热存储介质和冷存储介质的价格不同,本公开还可以降低扩容所需的成本。

图5是根据一示例性实施例示出的一种电子设备500的框图。如图5所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。

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

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

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的数据处理方法。

在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的数据处理方法的代码部分。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

相关技术
  • 数据处理方法、装置、电子设备及存储介质
  • 门禁管理的数据处理方法、装置、电子设备与存储介质
技术分类

06120112533953