CN115729893A - 数据存取方法、装置、非易失性存储介质及电子装置 - Google Patents
数据存取方法、装置、非易失性存储介质及电子装置 Download PDFInfo
- Publication number
- CN115729893A CN115729893A CN202111017406.7A CN202111017406A CN115729893A CN 115729893 A CN115729893 A CN 115729893A CN 202111017406 A CN202111017406 A CN 202111017406A CN 115729893 A CN115729893 A CN 115729893A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- measuring point
- folder
- identification code
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据存取方法、装置、非易失性存储介质及电子装置。该方法包括:接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段;根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径;从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据。通过本申请,解决了相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题。
Description
技术领域
本申请涉及数据存储技术领域,具体而言,涉及一种数据存取方法、装置、非易失性存储介质及电子装置。
背景技术
在监控系统中,需要在采集器设备当中存储历史数据,以方便监控中心从设备查询历史数据与历史告警,进行系统分析。
需要说明的是,根据接入采集器接入测点数量以及存储时长要求,需要存储的历史数据的数据量较大,可以达到几个T字节,而在监控中心查询历史数据时,对采集器的响应速度要求较高,例如3秒以内响应查询请求。
为了实现历史数据的存储与查询,相关技术中传统上可采用数据库来存储数据,但是,在采集器设备中,一方面,由于采集器设备一般都是嵌入式系统,其内存、存储空间有限,满足不了传统数据库对存储空间、内存的要求。另一方面,采集器设备的CPU计算能力有限,采用传统数据库的方式也达不到响应时间要求。再一方面,嵌入式系统多采用SD卡或者NAND FLASH进行物理存储,传统数据库一旦表结构字段被破坏,将丢失整个或很大一部分数据。
针对相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种数据存取方法、装置、非易失性存储介质及电子装置,以解决相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题。
根据本申请的一个方面,提供了一种数据存取方法。该方法包括:接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据;根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据;从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据。
可选地,在接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,该方法还包括:确定待监控对象的测点的数量;根据测点的数量确定历史数据的分级目录的分级数以及每级目录对应的预设文件夹数量,其中,预设文件夹数量为每级目录的一个文件夹所包含的下一级文件夹的个数,分级目录的最后一级目录下包含的所有文件夹的个数与测点的数量相同。
可选地,在接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,该方法还包括:获取待监控对象的各个测点的标识码,得到多个标识码;计算每个测点的标识码对应的哈希值,依次对哈希值的每个字节按照对应的预设数值进行取模,得到取模结果,并将取模结果组合成测点的标识码对应的存储路径,其中,哈希值的各个字节与历史数据的分级目录的各级目录对应,对应的预设数值为字节对应的级别的目录的一个文件夹所包含的下一级文件夹的个数;将每个测点下采集到的数据存储在测点的标识码对应的存储路径下的文件夹中。
可选地,该方法还包括:在测点下采集到的数据存在更新的情况下,将更新后的数据存储至测点的标识码对应的存储路径下的文件夹中。
可选地,根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径包括:计算目标测点的标识码对应的哈希值,得到目标哈希值;依次对目标哈希值的每个字节按照对应的预设数值进行取模,得到目标取模结果,并将目标取模结果组合成目标存储路径。
可选地,目标文件夹中包括多个按时间区段划分的子文件夹,每个子文件夹中存储有目标测点在所对应时间区段下采集到的数据,根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据包括:遍历目标文件夹中的多个子文件夹,得到查询时间段对应的至少一个目标子文件夹;从至少一个目标子文件中获取查询时间段内采集到的数据,得到数据查询请求所请求的数据。
可选地,在各个测点下采集到的数据为待监控对象的监控数据。
根据本申请的另一方面,提供了一种数据存取装置。该装置包括:接收单元,用于接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据;第一确定单元,用于根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据;第一获取单元,用于从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种数据存取方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种数据存取方法。
通过本申请,采用以下步骤:接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据;根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据;从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据,解决了相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题。通过历史数据的分级目录存储各个测点下采集到的数据,进而达到了提高数据查询时的响应速度的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的数据存取方法的流程图;
图2是根据本申请实施例提供的可选的数据存取方法的流程图;
图3是根据本申请实施例提供的数据存取装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请的实施例,提供了一种数据存取方法。
图1是根据本申请实施例的数据存取方法的流程图。如图1所示,该方法包括以下步骤:
步骤S102,接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据。
具体地,数据查询请求可以为监控中心向采集器设备发送的数据查询请求,采集器设备包括多个测点,每个测点对待监控对象进行监测,并在监测的过程中采集数据,而每个测点都对应一个存储采集数据的文件夹。
其中,数据查询请求中至少包括目标测点的标识码和查询时间段,其中,查询时间段为目标测点采集数据的时间段中的一段,目标测点为采集器设备的多个测点中的测点,标识码用于唯一标识目标测点,由用户定义,为字符串即可,且标识码与存放目标测点的采集数据的目标文件夹的存储路径之间具有映射关系,也即,获知目标测点的标识码后,即可获知目标文件夹的存储路径。
可选地,在本申请实施例提供的数据存取方法中,在各个测点下采集到的数据为待监控对象的监控数据。
例如,待监控对象可以为特定的区域空间,监控数据可以为监控视频。
步骤S104,根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据。
需要说明的是,为了节省存储空间,同时便于快速查询到各个测点下采集到的数据,本实施例采用分级目录的方式存储各个测点对应的文件夹,并在文件夹下存储对应测点下采集到的数据,其中,测点的标识码和文件夹路径之间映射关系,该映射关系由转换关系式来确定。
例如,分级目录包括4级,每级目录下包含13个文件夹,则分级目录的最后一级目录下所包含多个文件夹的个数为:13*13*13*13=28561,需要说明的是,分级目录的最后一级目录下的各个文件夹不止包括一个测点对应的文件夹,若分级目录的最后一级目录下的各个文件夹下分别存储有100个测点对应的文件夹,则分级目录可以存储2856100个测点下采集到的数据,满足大规模的测点的数据的存储需求。根据映射关系对应的转换关系式计算目标测点的标识码对应的夹路径,从而在28561个文件夹中快速定位至目标文件夹的位置,再在目标文件夹中最大遍历100次,即可得到目标测点所在的文件夹。
步骤S106,从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据。
具体地,目标文件夹中可以按时间存储目标测点下采集到的数据,查询时间段为目标测点采集数据的时间段中的一段,可以根据查询时间从目标文件夹中获取对应的数据,并将获取的数据返回发出查询请求的监控中心。
例如,标识码为202765416abc_237344541,查询时间段为2021年6月29日10点,返回的数据是路径为“rootdir/11/4/12/11/202765416abc_237344541/20210629/10”的文件下对应的测点数据,其中,rootdir表示历史数据存储根目录,如SD卡的根目录;11/4/12/11表示rootdir下的分级子目录,每级目录下的文件夹个数可以为素数,具体的个数可以根据测点的数量进行确定,例如为13,即表示每级目录下的文件夹个数不超过13;202765416abc_237344541为测点的标识码,可以是由用户自己定义的字符串;20210629对应测点的日期目录,20210629表征数据存储的日期;10对应日期目录下的存储文件,总共24个,以当天的小时数命名,10表征表示该文件的所有数据是当天10点采集的历史数据。
再例如,标识码为1_221487861,查询时间段为2021年6月29日9点,返回的数据是路径为“rootdir/9/8/2/3/1_221487861/20210629/9”的文件下对应的测点数据,其中,rootdir表示历史数据存储根目录;9/8/2/3表示rootdir下的分级子目录;1_221487861为测点的标识码;20210629为数据存储的日期;9为存储当天的小时时刻,表示该文件的所有数据是20210629中9点采集的历史数据。
具体地,返回的20210629中9点采集的历史数据的格式可以为:
2021-06-29 09:55:12|18233.3
2021-06-29 09:56:12|18233.3
2021-06-29 09:57:12|18233.3
2021-06-29 09:58:12|18233.3
2021-06-29 09:59:12|18233.3。
本申请实施例提供的数据存取方法,通过接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据;根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据;从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据,解决了相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题。通过历史数据的分级目录存储各个测点下采集到的数据,进而达到了提高数据查询时的响应速度的效果。
历史数据的分级目录的结构由测点的数量确定,可选地,在本申请实施例提供的数据存取方法中,在接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,该方法还包括:确定待监控对象的测点的数量;根据测点的数量确定历史数据的分级目录的分级数以及每级目录对应的预设文件夹数量,其中,预设文件夹数量为每级目录的一个文件夹所包含的下一级文件夹的个数,分级目录的最后一级目录下包含的所有文件夹的个数与测点的数量相同。
例如,待监控对象的测点的数量为2850000个,采集器的存储介质的分级目录的分级数可以设定为4,每级目录对应的预设文件夹数量可以设定为13,最后一级目录下的每个文件夹存储100个测点对应的文件夹,则分级目录共可以存储的测点对应的文件夹的个数为:13*13*13*13*100=2856100,从而满足2850000个测点的数据存储需求。
再例如,待监控对象的测点的数量为13000000个,采集器的存储介质的分级目录的分级数可以设定为4,每级目录对应的预设文件夹数量可以设定为19,最后一级目录下的每个文件夹存储100个测点对应的文件夹,则分级目录共可以存储的测点对应的文件夹的个数为:19*19*19*19*100=13032100,从而满足13000000个测点的数据存储需求。
需要说明的是,测点数从2850000增加到13000000,增加了10150000个测点,而查询一条历史数据的计算量,只是增加了(19-13)+(19-13)+(19-13)+(19-13)=6*4=24个目录扫描计算量,如果查询一个测点某天的历史数据,总的目录扫描计算量最大为19*4+100+365+24=565。
此外,需要说明的是,每级目录的一个文件夹所包含的下一级文件夹的个数可以相同,也可以不同,本申请不限定每级目录的一个文件夹所包含的下一级文件夹的个数的设定方式。
通过本实施例,当测点过多的情况下,监控中心可以通过网络远程访问历史数据的分级目录,网络需传输时分级目录对应的信息量较小,能够快速返回分级目录对应的文件列表信息,从而找到目标测点对应的文件夹。
每个测点在存储采集数据时确定了标识码,可选地,在本申请实施例提供的数据存取方法中,在接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,该方法还包括:获取待监控对象的各个测点的标识码,得到多个标识码;计算每个测点的标识码对应的哈希值,依次对哈希值的每个字节按照对应的预设数值进行取模,得到取模结果,并将取模结果组合成测点的标识码对应的存储路径,其中,哈希值的各个字节与历史数据的分级目录的各级目录对应,对应的预设数值为字节对应的级别的目录的一个文件夹所包含的下一级文件夹的个数;将每个测点下采集到的数据存储在测点的标识码对应的存储路径下的文件夹中。
具体地,标识码可以为用户设置的字符串,相当于键值,计算标识码对应的哈希值,对于4层的分级目录,对标识码进行哈希计算得到包含4个字节数的哈希值,对4个字节依次按照每级目录对应的文件夹数进行取模,得到4个取模结果,将4个取模结果拼接,得到测点的标识码对应的存储路径。
查询测点下的数据的方式与存储测点下的数据的方式一致,可选地,在本申请实施例提供的数据存取方法中,根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径包括:计算目标测点的标识码对应的哈希值,得到目标哈希值;依次对目标哈希值的每个字节按照对应的预设数值进行取模,得到目标取模结果,并将目标取模结果组合成目标存储路径。
例如,分级目录的级数为4,每级对应的预设文件夹数量为13,目标测点的标识码为“202765416abc_237344541”,通过设定的哈希算法,算出其32位4字节哈希值为0x5967AD4C,对每个字节再与每级对应的预设文件夹数量13取模值:0x59%13=11,0x67%13=4,0x AD%13=12,0x4C%13=11,根据4个取模结果组合得出目标数据文件夹的完整路径为“11/4/12/11/202765416abc_237344541/”。
为了准确获取每个测点在各个时间下采集到的数据,可选地,在本申请实施例提供的数据存取方法中,目标文件夹中包括多个按时间区段划分的子文件夹,每个子文件夹中存储有目标测点在所对应时间区段下采集到的数据,根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据包括:遍历目标文件夹中的多个子文件夹,得到查询时间段对应的至少一个目标子文件夹;从至少一个目标子文件中获取查询时间段内采集到的数据,得到数据查询请求所请求的数据。
具体地,可以在目标文件夹中按天创建多个子文件夹,例如,可以创建一个月内的子文件夹,也即,目标文件夹中的子文件夹的最大个数为31,并在各个子文件夹下按小时存储多个文件,其中,每个文件中按照分钟数存储采集数据。若每个测点保存一条记录需32字节,每一分钟存储一次,存30天,则按照本实施例的方式可以存储的总的历史数据大小为32*60*24*30*2856100字节,也即3.6T字节。
在一种可选的实施方式中,采集数据对应的文件中的数据存储格式如表1所示:
表1:
其中,文件中的每一行是一个存储数据,数据字段以符号“|”进行分割,例如,“2021-06-29 10:00:12”是历史数据的实际采集时间点,“62131.3”为采集时刻具体采集到的数据值。
通过本实施例,将每个测点的数据按照子文件夹下的文件进行存储,当存储介质的某个字段损坏情况下,如文件中的某一行被清0,由于查询其余部分数据与已被破坏数据在存储结构上并无关联,丢失数据限于损坏部分,从而减小了数据损失。
每个测点下采集的数据是动态变化的,可选地,在本申请实施例提供的数据存取方法中,该方法还包括:在测点下采集到的数据存在更新的情况下,将更新后的数据存储至测点的标识码对应的存储路径下的文件夹中。
通过本实施例,可以在不改变其他采集数据的存储位置的情况下,方便增加额外字段,提高了历史数据的字段扩展性。
图2是根据本申请实施例的可选的数据存取方法的流程图。如图2所示,该方法包括:
输入查询请求,查询请求包含测点key、开始时间、结束时间参数。
进一步的,先通过测点key得到测点的历史数据存储目录,也即确定测点下的采集到的数据所在的文件;再遍历文件夹下的日期目录获取在查询时间范围内的日期文件夹列表,例如,在1个月内,列表内最多包含31个文件夹;然后再遍历满足要求的日期文件夹下的以小时命名的数据内容,取得数据内容,例如,一天内,最多包含24个文件。
最后,将符合查询条件的历史数据合并返回。
本实施例的步骤计算量低、对内存要求均低,程序实现简单,发布的可执行程序小。在采集器设备本身内存小、CPU性能不高,且历史数据规模很大的情况下,能够快速响应历史数据的查询操作,满足用户的查询需求。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种数据存取装置,需要说明的是,本申请实施例的数据存取装置可以用于执行本申请实施例所提供的用于数据存取装置。以下对本申请实施例提供的数据存取装置进行介绍。
图3是根据本申请实施例的数据存取装置的示意图。如图3所示,该装置包括:接收单元10、第一确定单元20和第一获取单元30。
具体地,接收单元10,用于接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据。
第一确定单元20,用于根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据。
第一获取单元30,用于从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据。
本申请实施例提供的数据存取装置,通过接收单元10接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,目标测点的标识码与目标文件夹的存储路径之间具有映射关系,目标文件夹中存储有目标测点下采集到的数据;第一确定单元20根据目标测点的标识码以及映射关系,在历史数据的分级目录下确定目标文件夹的存储路径,得到目标存储路径,其中,分级目录的最后一级目录下包含多个文件夹,多个文件夹分别用于存储各个测点下采集到的数据;第一获取单元30从目标存储路径下获取目标文件夹,并根据查询时间段从目标文件夹中获取数据,得到数据查询请求所请求的数据,解决了相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题,通过历史数据的分级目录存储各个测点下采集到的数据,进而达到了提高数据查询时的响应速度的效果。
可选地,在本申请实施例提供的数据存取装置中,该装置还包括:第二确定单元,用于在接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,确定待监控对象的测点的数量;第三确定单元,用于根据测点的数量确定历史数据的分级目录的分级数以及每级目录对应的预设文件夹数量,其中,预设文件夹数量为每级目录的一个文件夹所包含的下一级文件夹的个数,分级目录的最后一级目录下包含的所有文件夹的个数与测点的数量相同。
可选地,在本申请实施例提供的数据存取装置中,该装置还包括:第二获取单元,用于在接收数据查询请求,并对数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,获取待监控对象的各个测点的标识码,得到多个标识码;计算单元,用于计算每个测点的标识码对应的哈希值,依次对哈希值的每个字节按照对应的预设数值进行取模,得到取模结果,并将取模结果组合成测点的标识码对应的存储路径,其中,哈希值的各个字节与历史数据的分级目录的各级目录对应,对应的预设数值为字节对应的级别的目录的一个文件夹所包含的下一级文件夹的个数;第一存储单元,用于将每个测点下采集到的数据存储在测点的标识码对应的存储路径下的文件夹中。
可选地,在本申请实施例提供的数据存取装置中,该装置还包括:第二存储单元,用于在测点下采集到的数据存在更新的情况下,将更新后的数据存储至测点的标识码对应的存储路径下的文件夹中。
可选地,在本申请实施例提供的数据存取装置中,第一确定单元20包括:第一计算模块,用于计算目标测点的标识码对应的哈希值,得到目标哈希值;第二计算模块,用于依次对目标哈希值的每个字节按照对应的预设数值进行取模,得到目标取模结果,并将目标取模结果组合成目标存储路径。
可选地,在本申请实施例提供的数据存取装置中,目标文件夹中包括多个按时间区段划分的子文件夹,每个子文件夹中存储有目标测点在所对应时间区段下采集到的数据,第一获取单元30包括:遍历模块,用于遍历目标文件夹中的多个子文件夹,得到查询时间段对应的至少一个目标子文件夹;获取模块,用于从至少一个目标子文件中获取查询时间段内采集到的数据,得到数据查询请求所请求的数据。
可选地,在本申请实施例提供的数据存取装置中,在各个测点下采集到的数据为待监控对象的监控数据。
所述数据存取装置包括处理器和存储器,上述接收单元10、第一确定单元20和第一获取单元30等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中在采集器设备中采用数据库形式存储各个测点对应的大量历史数据,在查询数据时的响应速度慢的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种数据存取方法。
本申请实施例还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种数据存取方法。本文中的电子装置可以是服务器、PC、PAD、手机等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种数据存取方法,其特征在于,包括:
接收数据查询请求,并对所述数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,所述目标测点的标识码与目标文件夹的存储路径之间具有映射关系,所述目标文件夹中存储有所述目标测点下采集到的数据;
根据所述目标测点的标识码以及所述映射关系,在历史数据的分级目录下确定所述目标文件夹的存储路径,得到目标存储路径,其中,所述分级目录的最后一级目录下包含多个文件夹,所述多个文件夹分别用于存储各个测点下采集到的数据;
从所述目标存储路径下获取所述目标文件夹,并根据所述查询时间段从所述目标文件夹中获取数据,得到所述数据查询请求所请求的数据。
2.根据权利要求1所述的方法,其特征在于,在所述接收数据查询请求,并对所述数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,所述方法还包括:
确定待监控对象的测点的数量;
根据所述测点的数量确定所述历史数据的分级目录的分级数以及每级目录对应的预设文件夹数量,其中,所述预设文件夹数量为每级目录的一个文件夹所包含的下一级文件夹的个数,所述分级目录的最后一级目录下包含的所有文件夹的个数与所述测点的数量相同。
3.根据权利要求1所述的方法,其特征在于,在所述接收数据查询请求,并对所述数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,所述方法还包括:
获取待监控对象的各个测点的标识码,得到多个标识码;
计算每个所述测点的标识码对应的哈希值,依次对所述哈希值的每个字节按照对应的预设数值进行取模,得到取模结果,并将所述取模结果组合成所述测点的标识码对应的存储路径,其中,所述哈希值的各个字节与所述历史数据的分级目录的各级目录对应,所述对应的预设数值为所述字节对应的级别的目录的一个文件夹所包含的下一级文件夹的个数;
将每个所述测点下采集到的数据存储在所述测点的标识码对应的存储路径下的文件夹中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述测点下采集到的数据存在更新的情况下,将更新后的数据存储至所述测点的标识码对应的存储路径下的文件夹中。
5.根据权利要求3所述的方法,其特征在于,所述根据所述目标测点的标识码以及所述映射关系,在历史数据的分级目录下确定所述目标文件夹的存储路径,得到目标存储路径包括:
计算所述目标测点的标识码对应的哈希值,得到目标哈希值;
依次对所述目标哈希值的每个字节按照所述对应的预设数值进行取模,得到目标取模结果,并将所述目标取模结果组合成所述目标存储路径。
6.根据权利要求1所述的方法,其特征在于,所述目标文件夹中包括多个按时间区段划分的子文件夹,每个子文件夹中存储有所述目标测点在所对应时间区段下采集到的数据,所述根据所述查询时间段从所述目标文件夹中获取数据,得到所述数据查询请求所请求的数据包括:
遍历所述目标文件夹中的多个所述子文件夹,得到所述查询时间段对应的至少一个目标子文件夹;
从所述至少一个目标子文件中获取所述查询时间段内采集到的数据,得到所述数据查询请求所请求的数据。
7.根据权利要求1所述的方法,其特征在于,在所述各个测点下采集到的数据为待监控对象的监控数据。
8.一种数据存取装置,其特征在于,包括:
接收单元,用于接收数据查询请求,并对所述数据查询请求进行解析,得到目标测点的标识码以及查询时间段,其中,所述目标测点的标识码与目标文件夹的存储路径之间具有映射关系,所述目标文件夹中存储有所述目标测点下采集到的数据;
第一确定单元,用于根据所述目标测点的标识码以及所述映射关系,在历史数据的分级目录下确定所述目标文件夹的存储路径,得到目标存储路径,其中,所述分级目录的最后一级目录下包含多个文件夹,所述多个文件夹分别用于存储各个测点下采集到的数据;
第一获取单元,用于从所述目标存储路径下获取所述目标文件夹,并根据所述查询时间段从所述目标文件夹中获取数据,得到所述数据查询请求所请求的数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于在所述接收数据查询请求,并对所述数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,确定待监控对象的测点的数量;
第三确定单元,用于根据所述测点的数量确定所述历史数据的分级目录的分级数以及每级目录对应的预设文件夹数量,其中,所述预设文件夹数量为每级目录的一个文件夹所包含的下一级文件夹的个数,所述分级目录的最后一级目录下包含的所有文件夹的个数与所述测点的数量相同。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于在所述接收数据查询请求,并对所述数据查询请求进行解析,得到目标测点的标识码以及查询时间段之前,获取待监控对象的各个测点的标识码,得到多个标识码;
计算单元,用于计算每个所述测点的标识码对应的哈希值,依次对所述哈希值的每个字节按照对应的预设数值进行取模,得到取模结果,并将所述取模结果组合成所述测点的标识码对应的存储路径,其中,所述哈希值的各个字节与所述历史数据的分级目录的各级目录对应,所述对应的预设数值为所述字节对应的级别的目录的一个文件夹所包含的下一级文件夹的个数;
第一存储单元,用于将每个所述测点下采集到的数据存储在所述测点的标识码对应的存储路径下的文件夹中。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二存储单元,用于在所述测点下采集到的数据存在更新的情况下,将更新后的数据存储至所述测点的标识码对应的存储路径下的文件夹中。
12.根据权利要求10所述的装置,其特征在于,所述第一确定单元包括:
第一计算模块,用于计算所述目标测点的标识码对应的哈希值,得到目标哈希值;
第二计算模块,用于依次对所述目标哈希值的每个字节按照所述对应的预设数值进行取模,得到目标取模结果,并将所述目标取模结果组合成所述目标存储路径。
13.根据权利要求8所述的装置,其特征在于,所述目标文件夹中包括多个按时间区段划分的子文件夹,每个子文件夹中存储有所述目标测点在所对应时间区段下采集到的数据,所述第一获取单元包括:
遍历模块,用于遍历所述目标文件夹中的多个所述子文件夹,得到所述查询时间段对应的至少一个目标子文件夹;
获取模块,用于从所述至少一个目标子文件中获取所述查询时间段内采集到的数据,得到所述数据查询请求所请求的数据。
14.一种非易失性存储介质,其特征在于,所非易失性存储介质包括存储的程序,其中,所述程序运行时控制所述非易失性存储介质所在的设备执行权利要求1至7中任意一项所述的数据存取方法。
15.一种电子装置,其特征在于,包含处理器和存储器,所述存储器中存储有计算机可读指令,所述处理器用于运行所述计算机可读指令,其中,所述计算机可读指令运行时执行权利要求1至7中任意一项所述的数据存取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111017406.7A CN115729893A (zh) | 2021-08-31 | 2021-08-31 | 数据存取方法、装置、非易失性存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111017406.7A CN115729893A (zh) | 2021-08-31 | 2021-08-31 | 数据存取方法、装置、非易失性存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729893A true CN115729893A (zh) | 2023-03-03 |
Family
ID=85291869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111017406.7A Pending CN115729893A (zh) | 2021-08-31 | 2021-08-31 | 数据存取方法、装置、非易失性存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729893A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591495A (zh) * | 2024-01-18 | 2024-02-23 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN118427164A (zh) * | 2024-04-25 | 2024-08-02 | 上海能誉科技股份有限公司 | 采用txt文本格式存储物联网设备数据的方法、装置、电子设备及存储介质 |
-
2021
- 2021-08-31 CN CN202111017406.7A patent/CN115729893A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591495A (zh) * | 2024-01-18 | 2024-02-23 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN117591495B (zh) * | 2024-01-18 | 2024-05-03 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN118427164A (zh) * | 2024-04-25 | 2024-08-02 | 上海能誉科技股份有限公司 | 采用txt文本格式存储物联网设备数据的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767407B (zh) | 用可搜索的地理时间值对知识图条目进行编码以评估实体提及的传递地理时间接近度 | |
CN109033360B (zh) | 一种数据查询方法、装置、服务器及存储介质 | |
CN115729893A (zh) | 数据存取方法、装置、非易失性存储介质及电子装置 | |
US20110258198A1 (en) | Using behavior data to quickly improve search ranking | |
CN109918341B (zh) | 日志处理方法及装置 | |
CN111475105B (zh) | 监控数据存储方法、设备、服务器及存储介质 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
CN111061752B (zh) | 数据处理方法、装置及电子设备 | |
CN111083008A (zh) | 一种基于nginx的流量采集分析方法 | |
US10503713B1 (en) | Criterion-based retention of data object versions | |
CN111427976B (zh) | 道路鲜度的获取方法及装置 | |
CN110580253B (zh) | 时序数据组的加载方法、装置、存储介质及电子设备 | |
CN111309677A (zh) | 一种分布式文件系统的文件管理方法及装置 | |
CN109471901B (zh) | 一种数据同步方法及装置 | |
CN108427675B (zh) | 构建索引的方法及设备 | |
CN108062323B (zh) | 一种日志读取方法及装置 | |
CN111078753B (zh) | 基于HBase数据库的时序数据的存储方法及装置 | |
CN111581220A (zh) | 用于时间序列数据的存储及检索方法、装置、设备及存储介质 | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
CN115374109B (zh) | 数据访问方法、装置、计算设备和系统 | |
CN112632058A (zh) | 轨迹确定方法、装置及设备、存储介质 | |
CN112765170B (zh) | 一种嵌入式时间序列数据管理方法及设备 | |
CN114691610A (zh) | 目录的处理方法和装置、存储介质及处理器 | |
CN115795187A (zh) | 资源访问方法、装置及设备 | |
CN110020348B (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 |