【技术实现步骤摘要】
一种数据文件的存取方法与系统
[0001]本申请属于数据存储的
,具体涉及一种数据文件的存取方法与系统。
技术介绍
[0002]云存储系统,是一种将许多硬盘组合成一块大容量虚拟盘供客户端使用的系统。客户端可以使用http方式调用或者使用NFS方式挂载到自己的服务器上当硬盘使用。对客户端来说,使用比较简单。但是云存储系统需要采购,价格比较昂贵,而且有些厂家的云存储性能无法得到保障,不适合存储大批量小文件。
[0003]使用Hadoop体系的HDFS。其实HDFS是不适合存储小文件的,因为它有规定系统的最小块设置,正常为32M或者64M。但是许多人在写入HDFS前添加了一个合并文件的步骤,这样是可以实现存储,但是又得增加一个存储文件位置的数据库,以供后续查询使用,且后续提取文件需要解压合并后的文件,十分繁琐与耗时。
[0004]直接使用NoSql的大数据组件来存储,例如HBase、Cassandra等等。但是如果同时进行高并发读写操作,性能撑不住。
[0005]有鉴于此,提出一种数据文件的存取方法与 ...
【技术保护点】
【技术特征摘要】
1.一种数据文件的缓存方法,其特征在于,该方法包括:步骤S1、获取设备ID匹配文件服务进行数据的写入操作,将所述数据文件写入缓存区;以及步骤S2、同时记录设备ID最新的数据采集时间;其中,所述缓存区包括一级缓存、二级缓存以及三级存储,所述一级缓存采用基于Redis组件的内存缓存,所述二级缓存采用基于固态硬盘的存储,所述三级存储采用基于机械硬盘的大数据组件存储。2.根据权利要求1所述的数据文件的缓存方法,其特征在于,在步骤S1中,所述数据文件同时写入一级缓存与二级缓存,具体还包括以下步骤:步骤S11、获取数据文件的Byte数据转换成Base64字符串,与数据文件的主键ID组成Key
‑
Value形式,存储至一级缓存中,并设置过期时间为A分钟;步骤S12、设定写入二级缓存的存储路径为:/年/年月/年月日/年月日时/设备ID/主键ID.文件类型,并存储数据文件。3.根据权利要求2所述的数据文件的缓存方法,其特征在于,在步骤S2中,还包括以下步骤:步骤S21、设定设备ID
‑
年月日为Key,采集时间为Value;步骤S22、将步骤S21设定的信息与之前记录的最新采集时间进行比较,存储更大的时间值至一级缓存中;步骤S23、并设定最新的数据采集时间的失效时间为一天。4.根据权利要求3所述的数据文件的缓存方法,其特征在于,还包括以下步骤:步骤S3、设定每隔N分钟执行一次以下命令:从二级缓存中扫描B小时前的数据目录,将二级缓存内的数据按设备目录批量写入三级存储中,写入完成后删除二级缓存中的数据目录,同时记录各个设备的最新写入三级存储的时间。5.一种数据文件的读取方法,其特征在于,该方法包括:步骤S4、获取设备ID匹配文件服务进行数据的读取操作;步骤S5、比较执行步骤S4时的数据采集时间T、步骤S2中记录的当天最新的数据采集时间H以及步骤S3中记录的该设备已经写入三级存储的最新时间I;步骤S6、判断从一级缓存、二级缓存或三级存储中读取数据文件;步骤S7、根据步骤S6的判断结果读取数据文件。6.根据权利要求5所述的数据文件的读取方法,其特征在于,步骤S5中具体还包括:步骤S51、设定以设备ID
‑
...
【专利技术属性】
技术研发人员:范志建,陈生坚,李国煌,李仁杰,张翔,
申请(专利权)人:罗普特厦门系统集成有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。