CN108694241B - 一种数据的存储方法及设备 - Google Patents
一种数据的存储方法及设备 Download PDFInfo
- Publication number
- CN108694241B CN108694241B CN201810457642.2A CN201810457642A CN108694241B CN 108694241 B CN108694241 B CN 108694241B CN 201810457642 A CN201810457642 A CN 201810457642A CN 108694241 B CN108694241 B CN 108694241B
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- amount
- buffer amount
- initial buffer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于信息处理技术领域,提供了一种数据的存储方法及设备,包括:基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系;接收数据同步帧,并提取数据同步帧中包含的待存储数据的数据类型;查询对应关系表,分配与数据类型对应的初始缓存量匹配的缓存区域;将接收到的待存储数据导入到缓存区域;基于待存储数据的实际数据量,调整初始缓存量。本发明利用同步帧实现数据发送端与数据的存储设备进行信道同步的过程中,确定待发送数据的数据类型,从而使得数据的存储设备能够对待发送数据的数据量进行预判,调整所需分配的缓存区域的大小,使得分配的缓存区域与待接收数据的数据量相匹配,从而减少缓存区域浪费的情况发生。
Description
技术领域
本发明属于信息处理技术领域,尤其涉及一种数据的存储方法及设备。
背景技术
随着信息化进程的不断深入,设备相互之间进行数据收发的频率也越来越高,当接收其他设备发送的数据时,需要先将接收到的数据存储在缓存区域,然后再进行后续的处理。现有的数据存储方法,在接收到其他设备发送的数据时,会分配固定长度的缓存区域。然而接收到的数据类型各异,固定分配并不能与接收到的数据匹配,造成缓存资源浪费,降低了缓存区域的利用率。
发明内容
有鉴于此,本发明实施例提供了一种数据的存储方法及设备,以解决现有数据的存储方法,容易造成缓存资源浪费,降低了缓存区域的利用率的问题。
本发明实施例的第一方面提供了一种数据的存储方法,包括:
基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系;
接收数据同步帧,并提取所述数据同步帧包含的待存储数据的数据类型;
查询所述对应关系,分配与所述数据类型对应的初始缓存量匹配的缓存区域,以存储所述待存储数据;
将接收到的所述待存储数据导入到所述缓存区域;
基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量。
本发明实施例的第二方面提供了一种数据的存储设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种数据的存储方法及终端设备具有以下有益效果:
本发明实施例通过基于已经存储在数据的历史数据,确定不同数据类型的数据量范围,创建数据类型与初始缓存量的对应关系。当设备向数据的存储设备发送待接收数据之前,会发送一个同步帧,以进行信道同步并告知待发送数据的数据类型;数据的存储设备可以根据该数据类型确定所需分配的初始缓存量,并将接收到的待存储数据导入到基于初始缓存量分配的缓存区域内,在接收完毕后,还可以基于实际数据量对初始缓存量进行调节,实现动态分配缓存区域的目的,提高了缓存区域的利用率。与现有的数据存储方法相比,本发明实施例中可以利用同步帧实现数据发送端与数据的存储设备进行信道同步的过程中,确定待发送数据的数据类型,从而使得数据的存储设备能够对待发送数据的数据量进行预判,调整所需分配的缓存区域的大小,使得分配的缓存区域与待接收数据的数据量相匹配,从而减少缓存区域浪费的情况发生。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种数据的存储方法的实现流程图;
图2是本发明第二实施例提供的一种数据的存储方法S101具体实现流程图;
图3是本发明第三实施例提供的一种数据的存储方法S105具体实现流程图;
图4是本发明第四实施例提供的一种数据的存储方法具体实现流程图;
图5是本发明第五实施例提供的一种数据的存储方法的具体实现流程图;
图6是本发明一实施例提供的一种数据的存储设备的结构框图;
图7是本发明另一实施例提供的一种数据的存储设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过基于已经存储在数据的历史数据,确定不同数据类型的数据量范围,创建数据类型与初始缓存量的对应关系。当设备向数据的存储设备发送待接收数据之前,会发送一个同步帧,以进行信道同步并告知待发送数据的数据类型;数据的存储设备可以根据该数据类型确定所需分配的初始缓存量,并将接收到的待存储数据导入到基于初始缓存量分配的缓存区域内,在接收完毕后,还可以基于实际数据量对初始缓存量进行调节,实现动态分配缓存区域的目的,提高了缓存区域的利用率,解决了现有数据的存储方法,容易造成缓存资源浪费,降低了缓存区域的利用率的问题。
在本发明实施例中,流程的执行主体为数据的存储设备。该数据的存储设备包括但不限于:服务器、计算机、智能手机以及平板电脑等具有数据的存储功能的设备。图1示出了本发明第一实施例提供的数据的存储方法的实现流程图,详述如下:
在S101中,基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系。
在本实施例中,上述数据库可以为安装于数据的存储设备本地的数据库,在该情况下,数据库中存储的历史数据即为存储设备本地已保存的数据。可选地,该数据库为一外设的数据库服务器,该数据库服务器用于存储来自不同设备发送的数据,存储设备可以与该数据库服务器进行通信连接,从而读取该数据库服务器中存储的历史数据,并构建上述数据类型与初始缓存量的对应关系。
在本实施例中,构建数据类型与初始缓存量之间的对应关系可以为:存储设备会解析数据库服务器内的历史数据,基于数据类型对每个历史数据进行分类,并统计每个数据类型中包含的历史数据的数据量,继而得到该数据类型的初始缓存量。根据各个数据类型的初始缓存量生成上述对应关系。可选地,该初始缓存量可以为该数据类型中历史数据的最大值,由于该初始缓存量用于在接收数据之前划分预设数据量的缓存区域,并在接收到该数据时导入到缓存区域内,因此为了避免初始分配的缓存区域不足而进行扩容,存储设备可以将该数据类型中记录有的历史数据中数据量最大的值作为该初始缓存量。当然,为了兼顾缓存区域的利用率以及减少扩容操作次数两个方面,还可以选取该数据类型中历史数据的数据量均值作为初始缓存量。
在本实施例中,数据类型可以基于数据内容的不同进行区分,例如文本类型数据、图像类型数据、视频类型数据、音频类型数据等;还可以基于数据格式的不同进行区分,例如Word文档类型数据、PDF类型数据、Excel表格类型数据等。数据类型划分的规则可以由用户自行设置,还可以基于数据库预设的数据分类算法对历史数据划分为不同数据类型。
可选地,若该数据库中并未存储有历史数据,即该数据库刚启用,并未接收到需要存储的数据,在该情况下,存储设备可以向局域网内的其他设备广播一个对应关系获取请求,若局域网内的任一其他数据数据库或存储设备存储有该数据类型与初始缓存量的对应关系,则会将该对应关系返回给数据的存储设备。
在S102中,接收数据同步帧,并提取所述数据同步帧包含的待存储数据的数据类型。
在本实施例中,其他装置需要向数据的存储设备发送数据之前,为了声明有待存储数据准备发送,或进行不同的数据包进行连续发送的过程中,区分不同的数据包的起始位置,会在每个待存储数据的首部添加一个数据同步帧,以使数据的接收端,在本实施例即为数据的存储设备,进行信道同步并划分缓存区域以存储待接收数据。该数据同步帧的帧格式是数据接发双方预先定义的,例如在进行通信连接握手的过程中,可以将数据同步帧的帧格式添加到握手请求指令中,因此当通信连接建立完成后,即可以直接进行数据交互。
在本实施例中,数据同步帧可以为预设频率的脉冲信号,还可以为持续预设时长的全0或全1的数据流,存储设备会对各个接口接收到的数据进行数据同步帧校验,若检测到某一接口获取的数据满足预设的数据同步帧的帧格式,则提取该数据同步帧携带有的待存储数据的数据类型。具体地,该数据类型可以存储在数据同步帧的保留字段内,基于该保留字段的位值不同,标识后续发送的待接收数据的数据类型。在该情况下,数据的存储设备存储有数据类型编码规则,存储设备基于该保留字段位值查询该编码规则中对应的数据类型,从而确定待存储数据的数据类型。
在本实施例中,无需对数据接发的方式进行修改,只需在同步数据帧中声明后续待存储数据的数据类型即可以让数据的存储设备动态调整所分配的缓存区域的大小,提高了数据的存储方法的适用性以及可操作性。
在S103中,查询所述对应关系,分配与所述数据类型对应的初始缓存量匹配的缓存区域,以存储所述待存储数据。
在本实施例中,存储设备在确定了待接收数据的数据类型后,会基于S101构建的数据类型与初始缓存量的对应关系,查询该数据类型所对应的初始缓存量,并在缓存区域内划分与该初始缓存量对应的存储空间,作为待存储数据的缓存区域。需要说明的是,存储设备初始分配的缓存区域会设有一定的存储余量,以便在实际接收到的数据超过初始分配的缓存量时,可以进行扩容操作。该存储余量可以为初始缓存量的整数倍,以便在待接收数据并未超过初始缓存量时,该余量的缓存区域可以存储下一个同样类型的待存储数据,提高了缓存区域的利用率。
在本实施例中,若所述对应关系并未记录有待接收数据的数据类型所对应的初始缓存量,可以基于对应关系表中各个已有数据类型的初始缓存量,确定未记录数据类型的初始缓存量,例如取各个已有数据类型的初始缓存量的中间值或平均值,作为待接收数据的初始缓存量。存储设备还可以与其他存储设备进行通信,查询其他存储设备的对应关系表中是否记录有该数据类型的初始缓存量,并将其他存储设备记录的初始缓存量在本地的对应关系中添加对应到的条目。
可选地,在本实施例,存储设备还会检测当前传输待接收数据的通信信道的传输速率,并基于初始缓存量确定传输该待存储数据的标准速率阈值,若所述当前时刻的传输速率小于所述标准速率阈值,则会为该通信信道分配额外的带宽资源,以使传输速率不小于所述标准速率阈值。通过对通信信道的传输速率进行动态调整,能够提高数据接收的效率。
在S104中,将接收到的所述待存储数据导入到所述缓存区域。
在本实施例中,存储数据为待存储数据分配了对应的缓存区域后,会将该待存储数据导入该缓存区域内。由于该缓存区域的容量是基于待存储数据的数据类型确定的,从而对于不同的数据类型,且分配的缓存区域将不同,从而实现动态调节缓存的目的。
在本实施例中,若该初始分配的缓存区域的缓存量小于待存储数据的实际数据量,则存储设备开放余留缓存区域的使用权限,将超出初始分配的缓存区域部分的数据存储在余留缓存区域内,在检测到待存储数据已接收完毕后,会将初始分配的缓存区域的数据与余留缓存区域的数据进行合并,得到完整的待存储数据,并将合并后的待存储数据存储与本地的存储区域内。
在S105中,基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量。
在本实施例中,数据的存储设备在对待存储数据进行存储完成后,会统计该接收到的数据的实际数据量,基于该实际数据量对该数据类型的初始缓存量进行调整,具体调整的方式可以基于S101构建对应关系时的方式进行相应调整,例如,若S101中是基于该数据类型包含的历史数据的数据量均值,则重新将该待存储数据识别为历史数据,并重新计算该数据类型的数据量均值,作为调整后的初始缓存量。
以上可以看出,本发明实施例提供的一种数据的存储方法通过基于已经存储在数据的历史数据,确定不同数据类型的数据量范围,创建数据类型与初始缓存量的对应关系。当设备向数据的存储设备发送待接收数据之前,会发送一个同步帧,以进行信道同步并告知待发送数据的数据类型;数据的存储设备可以根据该数据类型确定所需分配的初始缓存量,并将接收到的待存储数据导入到基于初始缓存量分配的缓存区域内,在接收完毕后,还可以基于实际数据量对初始缓存量进行调节,实现动态分配缓存区域的目的,提高了缓存区域的利用率。与现有的数据存储方法相比,本发明实施例中可以利用同步帧实现数据发送端与数据的存储设备进行信道同步的过程中,确定待发送数据的数据类型,从而使得数据的存储设备能够对待发送数据的数据量进行预判,调整所需分配的缓存区域的大小,使得分配的缓存区域与待接收数据的数据量相匹配,从而减少缓存区域浪费的情况发生。
图2示出了本发明第二实施例提供的一种数据的存储方法S101的具体实现流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种数据的存储方法中S101包括:S1011~S1014,具体详述如下:
在S1011中,基于各个所述历史数据的数据类型,将所述数据库的历史数据划分为多个数据组;每个所述数据组包含的历史数据的数据类型相同。
在本实施例中,数据的存储设备会对数据库存储的各个历史数据进行解析操作,确定每个历史数据所对应的数据类型以及数据量。继而存储设备可以确定该数据库包含的数据类型的个数,该数据类型的个数即为所需划分数据组的组数,每个数据组对应一个数据类型。存储设备将属于同一个数据类型的历史数据导入到该数据类型对应的数据组内,从而将数据库的历史数据划分为多个数据组。需要说明的是,每个数据组至少包含一个数据,由于数据组是基于数据库中包含的历史数据的数据类型确定的,因此不存在数据组为空,即某一数据类型没有对应历史数据的情况。
可选地,在S1011之前,还包括:数据库将其存储空间划分为多个区域,为每个区域配置一种数据类型;在接收到待存储数据时,会检测该待存储数据的数据类型,并基于该数据类型,将待存储数据存储在对应的存储空间内。通过上述方式对数据进行保存后,数据库中各个历史数据已经预先基于数据类型划分存储在不同的存储空间内,因此在该情况下,存储设备会将每个存储空间的历史数据导入同一个数据组,并将该存储空间所对应的数据类型,作为该数据组的数据类型。
在S1012中,基于所述数据组内各个所述历史数据的数据量,拟合所述数据组的数据量概率分布曲线;所述数据量概率分布曲线具体为:
在本实施例中,由于相同数据类型的历史数据的数据量是随机分布的,因此接收到该数据类型的数据量的分布情况也会满足正态分布。基于上述原理,终端设备对数据库内的历史数据划分为多个数据组后,会统计该数据组内历史数据的数据量均值,以及该数据组中历史数据的数据量标准差,从而得到该数据组所对应的数据量概率分布曲线。对于各个数据组均执行上述操作,从而得到N个数据量概率分布曲线,其中N的值为数据组的组数。
可选地,存储设备在拟合该数据组中的数据量概率分布曲线之前,可以对该数据组内的历史数据进行预处理,将数据组内的歧异数据进行滤除后,再进行拟合,从而提高了数据量概率分布曲线的准确性。具体地,进行预处理的方式可以为:获取数据组内历史数据的个数;若该历史数据的个数大于预设的个数阈值,则选取数据量与该数据组的数据量均值大于预设阈值的历史数据,作为歧异历史数据,基于数据组内除歧异历史数据外的其他数据,拟合该数据组的数据量概率分布曲线。其中,预设阈值与该数据组的数据量均值相关,即在数据量均值的基础上乘以一个加权系数得到的数值。
在S1013中,确定所述数据量概率分布曲线的对称轴,并计算所述对称轴为中心的预设区间内所述数据量分布曲线的积分值,基于所述积分值确定所述数据组的初始缓存量。
在本实施例中,存储设备在确定了该数据组的数据量概率分布曲线后,可以在预设的坐标轴上绘制该概率分布曲线,其中纵轴为历史数据的数据量,横轴为取该数据量的概率值。由于拟合的概率分布曲线为正态分布曲线,因而在绘制完成后可以确定其对应的对称轴,然后标记出以该对称轴为中心的预设区间,基于该概率分布曲线对该预设区间进行积分计算,具体的计算过程如下:
其中,δj+max为预设区间的上限值,δj=min为预设区间的下限值,Integral为基于该区间的积分值。
在本实施例中,存储设备可以将该积分值作为初始缓存量,还可以将该积分值与预设区间之间的比值作为初始缓存量。当然,还可以设置其他的转换算法,在此不一一进行限定。
在S1014中,基于各个所述数据组的初始缓存量,生成所述数据类型与初始缓存量的对应关系。
在本实施例中,存储设备对各个数据组进行S1012以及S1013的操作,得到各个数据组的初始缓存量,而每个数据组又对应一个数据类型,因而可以生产数据类型与初始缓存量的对应关系。
在本发明实施例中,通过对数据库中的历史数据基于数据类型进行分类,得到多个数据组,分别计算各个数据组的数据量概率分布曲线,从而确定各个数据类型的初始缓存量,提高了初始缓存量的准确率以及代表性。
图3示出了本发明第三实施例提供的一种数据的存储方法S105的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种数据的存储方法中S105包括S1051~S1054,具体详述如下:
在S1051中,若所述实际数据量超出所述初始缓存量对应浮动区间的上限值,则调整扩容计数器的第一计数值。
在本实施例中,数据的存储设备在启动时,会创建两个计数器,即扩容计数器以及压缩计数器,并设置上述两个计数器的初始值,优选地,上述两个计数器的初始值为0。当接到其他装置向数据的存储设备发送数据并存储完毕后,会执行S1051以及S1053的相关操作。
可选地,上述浮动区间的上限值以及下限值可以与初始缓存量相关,即可以为基于初始缓存量乘以预设加权系数,得到该初始缓存量的上限值以及下限值,例如,浮动区间的上限值的加权系数为120%,下限值的加权系数为80%,若某一数据类型的初始缓存量为10M,则其浮动区间的上限值为12M,下限值为8M。当然,也可以对于各个数据类型其浮动区间大小是固定的,即以初始缓存量为基准,增减预设的数据量后,得到该浮动区间的上限值以及下限值。
在本实施例中,若存储设备识别到待存储数据的实际数据量超出缓存区域浮动区间的上限值,则表示当前数据较大,需要进一步判断是否需要调整缓存分配策略。由于接收到大容量的数据可能是突发情况,并不一定具有持续性,因此存储设备并不会立即增大初始缓存量,而是会增加扩容计数器的第一计数值,并检测第一计数值是否大于扩容阈值,若是,则执行S1052的操作;反之,若第一计数值小于或等于扩容阈值,则保持当前的初始缓存量。
可选地,在本实施例中,若连续N次接收到的待存储数据的实际数据量均未超出初始缓存量对应的上限值,则对初始化所述扩容计数器的计数值,从而避免因多次间断接收到大容量的数据而增大初始缓存量,造成大多数时间下缓存资源浪费。
在S1052中,若所述第一计数值大于扩容阈值,则基于实际数据量与所述上限值之间的差值,确定扩容比例,并根据所述扩容比例增大所述初始缓存量。
在本实施例中,若第一计数值大于扩容阈值,则表示数据的存储设备多次出现初始缓存量与接收到的数据的实际数据量不匹配,需要增加初始缓存量,以减少后续接收到数据时需要对缓存区域进行扩容操作。
在本实施例中,存储设备会基于实际数据量与上限值之间的差值,计算需要增大初始缓存量的增加幅度,即上述的扩容比例。由于差值越大,则表示初始缓存量与实际数据量之间的差异越大,从而对应的调整比例也越大;反之,越该差值越小,则表示两者之间的差异较小,从而调整比例也越小。存储设备可以将该差值导入到预设的扩容转换哈希函数,计算该差值所对应的扩容比例。
在S1053中,若所述实际数据量低于所述初始缓存量对应浮动区间的下限值,则调整压缩计数器的第二计数值。
在本实施例中,若存储设备识别到待存储数据的实际数据量低于缓存区域浮动区间的下限值,则表示当前数据较小,与数据量较大的情况一致,也需要进一步判断是否需要调整缓存分配策略。由于接收到的待存储数据的数据量骤减,可能是突发情况,并不一定具有持续性,因此并不会立即减少初始缓存量,而是会增加压缩计数器的第二计数值,并检测第二计数值是否大于压缩阈值,若是,则执行S1054的操作;反之,若第二计数值小于或等于压缩阈值,则保持当前的初始缓存量。
与S1051相同,在连续接收的待存储数据的数据量均在初始缓存量对应的浮动区间内,则会对压缩计数器进行初始化。
在S1054中,若所述第二计数值大于压缩阈值,则基于所述下限值与所述初始缓存量之间的差值,确定压缩比例,并根据所述压缩比例减少所述初始缓存量。
在本实施例中,若第二计数值大于压缩阈值,则表示数据的存储设备多次出现初始缓存量与接收到的数据的实际数据量不匹配,造成缓存资源浪费的情况,需要减少初始缓存量。
在本实施例中,存储设备会基于实际数据量与下限值之间的差值,计算需要减少初始缓存量的减少幅度,即上述的压缩比例。由于差值越大,则表示初始缓存量与实际数据量之间的差异越大,从而对应的压缩比例也越大;反之,越该差值越小,则表示两者之间的差异较小,从而压缩比例也越小。存储设备可以将该差值导入到预设的压缩转换哈希函数,计算该差值所对应的压缩比例,并根据压缩比例对初始缓存量进行等比例减少。
在本发明实施例中,通过设置扩容计数器以及压缩计数器,从而避免初始缓存量频繁变动,也能够对突发的数据量变化有一定的抵御性,增加数据的存储设备的稳定性。
图4示出了本发明第四实施例提供的一种数据的存储方法的具体实现流程图。参见图4所示,相对于图1~图3所述实施例,本实施例提供的一种数据的存储方法中在所述接收数据同步帧之后,还包括:S401~S403,具体详述如下:
在S401中,若所述数据同步帧不包含所述待存储数据的数据类型,则基于数据库中各个所述历史数据的发送时间,确定当前时刻各个数据类型的接收概率。
在本实施例中,部分装置可能首次向数据的存储设备发送数据,并未对同步帧进行调整,即该同步帧并没有包含待存储数据的数据类型。因此,存储设备在接收到数据同步帧之后,会识别该数据同步帧是否包含待存储数据的数据类型,若包含,则执行S103的相关操作;反之,若数据同步帧不包含待储存数据的数据类型,则执行S401的相关操作。
在本实施例中,为了预判接收的数据是哪一种数据类型,存储设备会获取数据库中各个历史数据的发送时间,提取发送时间与当前时刻对应的历史数据,例如当前时刻为15点,则获取不同日期发送时间也为15点的历史数据,从而统计当前时刻各个数据类型的出现次数,并计算接收概率。继续利用上述例子进行说明,发送时间为15点的历史数据一共有20个,其中,文本类型的数据发送了5次,图片类型的数据发送了10次,视频类型的数据发送了5次,即文本类型的接收概率为5/20=0.25,图片类型的接收概率为0.5,而视频类型的接收概率为0.25。
在S402中,将各个数据类型的接收概率以及所述初始缓存量导入预判缓存量计算模型,确定当前时刻的预判缓存量;所述预判缓存量计算模型具体为:
其中,Buffer∈为当前时刻的所述预判缓存量;Prj为第j个数据类型的接收概率;Bufferintial(j)为第j个数据类型的初始缓存量;m为数据类型的个数。
在本实施例中,存储设备会查询S101中创建的对应关系,查询上述获取得到的各个数据类型对应的初始缓存量,基于各个数据类型的接收概率以及初始缓存量,计算待接收数据的预判缓存量,实现对未知数据类型的待接收数据的数据量进行预判。
需要说明的是,该数据类型的个数具体为基于当前时刻在不同日期获取到的历史数据的数据类型的个数,而并非数据库中包含的数据类型的个数。若某一数据类型的各个历史数据的发送时刻均与当前时刻不匹配,表示当前时刻接收到该类型数据的概率为0,因此不会获取来进行计算待接收数据的预判缓存量。
在S403中,分配与所述预判缓存量匹配的缓存区域,以存储所述待存储数据。
在本实施例中,在确定了预判缓存量后,存储设备会在缓存区域中划分与预判缓存量对应的存储空间作为待接收数据的缓存区域,在后续接收到上述数据同步帧对应的待接收数据时,会导入到该缓存区域中予以存储。
在本发明实施例中,在数据同步帧并未声明待接收数据的数据类型是,存储设备基于历史数据对当前时刻接收到的数据进行预判,从而提高了动态调整缓存区域方法的适用范围。
图5示出了本发明第五实施例提供的一种数据的存储方法的具体实现流程图。参见图5所示,相对于图1-图3所述实施例,本实施例提供的一种数据的存储方法在所述接收数据同步帧之前,还包括:S501以及S502,具体详述如下:
在S501中,若接收到数据存储请求,则提取所述数据存储请求的设备标识。
在本实施例中,其他装置向数据的存储设备发送数据之前,会向存储设备发送一个数据存储请求,该数据存储请求中包含数据发送端的设备标识。当存储设备接收到该数据存储请求时,则会提取该数据存储请求的设备标识,通过该设备标识判断该数据发送端是否为首次向存储设备发送数据。
在本实施例中,每个数据发送端向数据的存储设备发送数据均会生成一条存储记录,因此若存在与该设备标识匹配的存储记录,则表示该数据发送端并非首次向存储设备发送数据,因此会执行S102的相关操作;反之,若任一存储记录均与该设备标识不匹配,则表示该存数据发送端是首次发送数据,执行S502的相关操作。
在S502中,若不存在所述设备标识的存储记录,则返回关于获取数据类型编码规则的信息。
在本实施例中,为了让数据发送端在后续进行发送数据时,数据同步帧所携带的数据类型的编号与存储设备的编码规则是一致,从而能够正确识别待接收数据的数据类型,存储设备会把关于数据类型编码规则的信息返回给数据发送端。
在本发明实施例中,通过将设备标识与存储记录进行比对,判断数据发送端是否为首次发送数据,对于首次发送的设备返回获取数据类型的编码规则的信息,保证能够正确识别数据同步帧的数据类型,提高了动态调整缓存区域的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种数据的存储设备的结构框图,该数据的存储设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述数据的存储设备包括:
对应关系构建单元61,用于基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系;
数据类型确定单元62,用于接收数据同步帧,并提取所述数据同步帧包含的待存储数据的数据类型;
缓存区域划分单元63,用于查询所述对应关系,分配与所述数据类型对应的初始缓存量匹配的缓存区域,以存储所述待存储数据;
数据导入单元64,用于将接收到的所述待存储数据导入到所述缓存区域;
初始缓存量调整单元65,用于基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量。
可选地,对应关系构建单元61包括:
数据组划分单元,用于基于各个所述历史数据的数据类型,将所述数据库的历史数据划分为多个数据组;每个所述数据组包含的历史数据的数据类型相同;
概率分布曲线拟合单元,用于基于所述数据组内各个所述历史数据的数据量,拟合所述数据组的数据量概率分布曲线;所述数据量概率分布曲线具体为:
初始缓存量计算单元,用于确定所述数据量概率分布曲线的对称轴,并计算所述对称轴为中心的预设区间内所述数据量分布曲线的积分值,基于所述积分值确定所述数据组的初始缓存量;
对应关系生成单元,用于基于各个所述数据组的初始缓存量,生成所述数据类型与初始缓存量的对应关系。
可选地,所述初始缓存量调整单元65包括:
扩容计数器调整单元,用于若所述实际数据量超出所述初始缓存量对应浮动区间的上限值,则调整扩容计数器的第一计数值;
扩容执行单元,用于若所述第一计数值大于扩容阈值,则基于实际数据量与所述上限值之间的差值,确定扩容比例,并根据所述扩容比例增大所述初始缓存量;
压缩计数器调整单元,用于若所述实际数据量低于所述初始缓存量对应浮动区间的下限值,则调整压缩计数器的第二计数值;
压缩执行单元,用于若所述第二计数值大于压缩阈值,则基于所述下限值与所述初始缓存量之间的差值,确定压缩比例,并根据所述压缩比例减少所述初始缓存量。
可选地,所述数据的存储设备还包括:
接收概率确定单元,用于若所述数据同步帧不包含所述待存储数据的数据类型,则基于数据库中各个所述历史数据的发送时间,确定当前时刻各个数据类型的接收概率;
预判缓存量计算单元,用于将各个数据类型的接收概率以及所述初始缓存量导入预判缓存量计算模型,确定当前时刻的预判缓存量;所述预判缓存量计算模型具体为:
其中,Buffer∈为当前时刻的所述预判缓存量;Prj为第j个数据类型的接收概率;Bufferintial(j)为第j个数据类型的初始缓存量;m为数据类型的个数;
预判缓存划分单元,用于分配与所述预判缓存量匹配的缓存区域,以存储所述待存储数据。
可选地,所述数据的存储设备还包括:
设备标识提取单元,用于若接收到数据存储请求,则提取所述数据存储请求的设备标识;
编码规则返回单元,用于若不存在所述设备标识的存储记录,则返回关于获取数据类型编码规则的信息。
因此,本发明实施例提供的数据的存储设备同样可以利用同步帧实现数据发送端与数据的存储设备进行信道同步的过程中,确定待发送数据的数据类型,从而使得数据的存储设备能够对待发送数据的数据量进行预判,调整所需分配的缓存区域的大小,使得分配的缓存区域与待接收数据的数据量相匹配,从而减少缓存区域浪费的情况发生。
图7是本发明另一实施例提供的一种数据的存储设备的示意图。如图7所示,该实施例的数据的存储设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如数据的存储程序。所述处理器70执行所述计算机程序72时实现上述各个数据的存储方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至65功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述数据的存储设备7中的执行过程。例如,所述计算机程序72可以被分割成对应关系构建单元、数据类型确定单元、缓存区域划分单元、数据导入单元以及初始缓存量调整单元,各单元具体功能如上所述。
所述数据的存储设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述数据的存储设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是数据的存储设备7的示例,并不构成对数据的存储设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述数据的存储设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述数据的存储设备7的内部存储单元,例如数据的存储设备7的硬盘或内存。所述存储器71也可以是所述数据的存储设备7的外部存储设备,例如所述数据的存储设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述数据的存储设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述数据的存储设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据的存储方法,其特征在于,包括:
基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系;
接收数据同步帧,并提取所述数据同步帧包含的待存储数据的数据类型;
查询所述对应关系,分配与所述数据类型对应的初始缓存量匹配的缓存区域,以存储所述待存储数据;
将接收到的所述待存储数据导入到所述缓存区域;
基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量;
所述基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系,包括:
基于各个所述历史数据的数据类型,将所述数据库的历史数据划分为多个数据组;每个所述数据组包含的历史数据的数据类型相同;
基于所述数据组内各个所述历史数据的数据量,拟合所述数据组的数据量概率分布曲线;所述数据量概率分布曲线具体为:
确定所述数据量概率分布曲线的对称轴,并计算所述对称轴为中心的预设区间内所述数据量分布曲线的积分值,基于所述积分值确定所述数据组的初始缓存量;
基于各个所述数据组的初始缓存量,生成所述数据类型与初始缓存量的对应关系;
所述基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量,包括:
若所述实际数据量超出所述初始缓存量对应浮动区间的上限值,则调整扩容计数器的第一计数值;
若所述第一计数值大于扩容阈值,则基于实际数据量与所述上限值之间的差值,确定扩容比例,并根据所述扩容比例增大所述初始缓存量;
若所述实际数据量低于所述初始缓存量对应浮动区间的下限值,则调整压缩计数器的第二计数值;
若所述第二计数值大于压缩阈值,则基于所述下限值与所述初始缓存量之间的差值,确定压缩比例,并根据所述压缩比例减少所述初始缓存量。
3.根据权利要求1-所述的存储方法,其特征在于,在所述接收数据同步帧之前,还包括:
若接收到数据存储请求,则提取所述数据存储请求的设备标识;
若不存在所述设备标识的存储记录,则返回关于获取数据类型编码规则的信息。
4.一种数据的存储设备,其特征在于,所述数据的存储设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系;
接收数据同步帧,并提取所述数据同步帧包含的待存储数据的数据类型;
查询所述对应关系,分配与所述数据类型对应的初始缓存量匹配的缓存区域,以存储所述待存储数据;
将接收到的所述待存储数据导入到所述缓存区域;
基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量;
所述基于数据库中存储的历史数据,构建数据类型与初始缓存量的对应关系,包括:
基于各个所述历史数据的数据类型,将所述数据库的历史数据划分为多个数据组;每个所述数据组包含的历史数据的数据类型相同;
基于所述数据组内各个所述历史数据的数据量,拟合所述数据组的数据量概率分布曲线;所述数据量概率分布曲线具体为:
确定所述数据量概率分布曲线的对称轴,并计算所述对称轴为中心的预设区间内所述数据量分布曲线的积分值,基于所述积分值确定所述数据组的初始缓存量;
基于各个所述数据组的初始缓存量,生成所述数据类型与初始缓存量的对应关系;
所述基于所述待存储数据的实际数据量,调整所述数据类型的初始缓存量,包括:
若所述实际数据量超出所述初始缓存量对应浮动区间的上限值,则调整扩容计数器的第一计数值;
若所述第一计数值大于扩容阈值,则基于实际数据量与所述上限值之间的差值,确定扩容比例,并根据所述扩容比例增大所述初始缓存量;
若所述实际数据量低于所述初始缓存量对应浮动区间的下限值,则调整压缩计数器的第二计数值;
若所述第二计数值大于压缩阈值,则基于所述下限值与所述初始缓存量之间的差值,确定压缩比例,并根据所述压缩比例减少所述初始缓存量。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457642.2A CN108694241B (zh) | 2018-05-14 | 2018-05-14 | 一种数据的存储方法及设备 |
PCT/CN2018/097309 WO2019218468A1 (zh) | 2018-05-14 | 2018-07-27 | 一种数据的存储方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810457642.2A CN108694241B (zh) | 2018-05-14 | 2018-05-14 | 一种数据的存储方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694241A CN108694241A (zh) | 2018-10-23 |
CN108694241B true CN108694241B (zh) | 2023-04-18 |
Family
ID=63847506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810457642.2A Active CN108694241B (zh) | 2018-05-14 | 2018-05-14 | 一种数据的存储方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108694241B (zh) |
WO (1) | WO2019218468A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446271B (zh) * | 2018-10-31 | 2023-02-14 | 创新先进技术有限公司 | 一种数据同步方法、装置、设备及介质 |
CN109918379B (zh) * | 2019-03-08 | 2020-02-28 | 新加坡贝尔信息科技有限公司 | 一种基于区块链的大数据的处理系统及处理方法 |
CN110362630B (zh) * | 2019-07-19 | 2023-11-28 | 深圳前海微众银行股份有限公司 | 数据管理方法、装置、设备与计算机可读存储介质 |
CN111090662B (zh) * | 2019-12-19 | 2024-01-30 | 浪潮通用软件有限公司 | 从实时数据库获取数据到关系数据库的方法及设备、介质 |
CN111143580B (zh) * | 2019-12-26 | 2024-04-09 | 惠州Tcl移动通信有限公司 | 多媒体数据存储方法、装置、存储介质及电子设备 |
CN114371810B (zh) * | 2020-10-15 | 2023-10-27 | 中国移动通信集团设计院有限公司 | Hdfs的数据存储方法及装置 |
CN112800092A (zh) * | 2021-01-26 | 2021-05-14 | 苏州浪潮智能科技有限公司 | 一种数据缓存管理方法、装置、设备及可读存储介质 |
CN112861049B (zh) * | 2021-03-17 | 2024-04-19 | Vidaa美国公司 | 动态管理图片缓存空间的方法及显示设备 |
CN112925793B (zh) * | 2021-03-29 | 2023-12-29 | 北京赛博云睿智能科技有限公司 | 一种多种结构数据分布式混合存储方法和系统 |
CN113672682B (zh) * | 2021-08-18 | 2022-04-01 | 广州有信科技有限公司 | 一种基于同步帧的数量同步方法及同步装置 |
CN113805814B (zh) * | 2021-09-22 | 2023-08-15 | 深圳宏芯宇电子股份有限公司 | 缓存管理方法、装置、存储设备和可读存储介质 |
CN114629748B (zh) * | 2022-04-01 | 2023-08-15 | 日立楼宇技术(广州)有限公司 | 一种楼宇数据的处理方法、楼宇的边缘网关及存储介质 |
CN115328400A (zh) * | 2022-08-16 | 2022-11-11 | 浙江中控技术股份有限公司 | 一种工业数据存储缓存的方法、装置及相关产品 |
CN115509463B (zh) * | 2022-11-15 | 2023-04-11 | 北京云成金融信息服务有限公司 | 一种基于数据中台的均衡化数据存储方法及系统 |
CN115878352B (zh) * | 2023-03-08 | 2023-06-16 | 深圳市思为软件技术有限公司 | 一种基于预先订阅的事件投递处理方法及装置 |
CN116610492B (zh) * | 2023-05-25 | 2024-02-02 | 深圳市数存科技有限公司 | 一种增量数据特征分析方法及数据备份装置 |
CN117539799B (zh) * | 2023-11-29 | 2024-07-05 | 沐曦集成电路(上海)有限公司 | 一种可配置Cache存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012234277A (ja) * | 2011-04-28 | 2012-11-29 | Fujitsu Frontech Ltd | サーバ装置、メモリ管理方法及びメモリ管理プログラム |
CN105718384A (zh) * | 2014-12-05 | 2016-06-29 | 中兴通讯股份有限公司 | 缓存的配置方法及装置 |
CN107291530A (zh) * | 2016-04-01 | 2017-10-24 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838680B (zh) * | 2012-11-23 | 2018-03-23 | 北京四达时代软件技术股份有限公司 | 一种数据缓存方法和装置 |
US11030635B2 (en) * | 2013-12-11 | 2021-06-08 | Skyscanner Limited | Method and server for providing a set of price estimates, such as air fare price estimates |
CN105743950B (zh) * | 2014-12-11 | 2019-11-19 | 深圳市腾讯计算机系统有限公司 | 数据缓存方法、装置及电子设备 |
-
2018
- 2018-05-14 CN CN201810457642.2A patent/CN108694241B/zh active Active
- 2018-07-27 WO PCT/CN2018/097309 patent/WO2019218468A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012234277A (ja) * | 2011-04-28 | 2012-11-29 | Fujitsu Frontech Ltd | サーバ装置、メモリ管理方法及びメモリ管理プログラム |
CN105718384A (zh) * | 2014-12-05 | 2016-06-29 | 中兴通讯股份有限公司 | 缓存的配置方法及装置 |
CN107291530A (zh) * | 2016-04-01 | 2017-10-24 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019218468A1 (zh) | 2019-11-21 |
CN108694241A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108694241B (zh) | 一种数据的存储方法及设备 | |
US11467975B2 (en) | Data processing method and NVMe storage device | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN110209348B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN107341033A (zh) | 一种数据统计方法、装置、电子设备和存储介质 | |
CN110708256B (zh) | Cdn调度方法、装置、网络设备及存储介质 | |
CN106713028B (zh) | 业务降级方法、装置和分布式任务调度系统 | |
US9088540B1 (en) | Processing data formatted for efficient communication over a network | |
WO2020220646A1 (zh) | 基于分布式存储系统的数据存储方法、存储节点及介质 | |
CN110336677B (zh) | 区块打包、广播方法和系统、设备及存储介质 | |
WO2021057623A1 (zh) | 内存回收方法、装置、电子设备及存储介质 | |
WO2021164164A1 (zh) | 一种存储服务质量控制方法、装置、设备及存储介质 | |
WO2021179170A1 (zh) | 数据推送方法、装置、服务器及存储介质 | |
CN112328688A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN114155026A (zh) | 一种资源分配方法、装置、服务器及存储介质 | |
US12056087B2 (en) | Data transmission method, electronic device, and computer-readable storage medium | |
CN105988941B (zh) | 缓存数据处理方法和装置 | |
CN116860470A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN110347726A (zh) | 一种高效时序数据集成存储查询系统及方法 | |
WO2021143010A1 (zh) | 一种分布式计算任务的响应方法及设备 | |
CN114896086A (zh) | 消息处理方法、装置、计算机设备及存储介质 | |
CN114528274A (zh) | 权限管理方法及相关装置 | |
CN110677463B (zh) | 并行数据传输方法、装置、介质及电子设备 | |
WO2021051540A1 (zh) | 基于距离的信息发送方法、装置、计算机设备和存储介质 | |
CN113111083A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |