[发明专利]一种文件写入方法和装置有效
申请号: | 201510031102.4 | 申请日: | 2015-01-21 |
公开(公告)号: | CN104516988B | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 金友兵 | 申请(专利权)人: | 天津书生云科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京布瑞知识产权代理有限公司 11505 | 代理人: | 杨晞 |
地址: | 300308 天津市滨海新区空港经*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件写入 包文件 方法和装置 起点信息 写入 待写入文件 创建文件 存储介质 写入存储 数据库 存储 合并 记录 | ||
1.一种文件写入方法,其特征在于,包括:
将多个待写入文件合并写入存储介质中的一个包文件,并记录每一个文件在该包文件中的写入起点信息;
将各文件在该包文件中的写入起点信息存储在数据库中;
将一待写入文件合并写入存储介质中的一个包文件之前,进一步包括:
判断当前包文件是否已被写满;
在当前包文件未被写满时,继续向所述未写满的包文件中写入所述待写入文件;
其中,所述数据库包括数据库临时表和数据库全局表;
其中,所述数据库临时表存放未写满的包文件的文件信息;数据库全局表存储所有包文件的文件信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当判断当前包文件未存满时,将所述待写入文件的写入起点信息分别写入数据库临时表中所述包文件的文件信息以及数据库全局表中所述包文件的文件信息;
当判断当前包文件已存满时,将所述待写入文件的写入起点信息写入数据库全局表中所述包文件的文件信息,并删除所述数据库临时表中对应的所述包文件的文件信息。
3.根据权利要求1至2中任一所述的方法,其特征在于,通过打包实例队列中的一打包实例控制将多个待写入文件合并写入存储介质中的一个包文件,并记录每一个文件在该包文件中的写入起点信息;以及将各文件在该包文件中的写入起点信息存储在数据库中。
4.根据权利要求3所述的方法,其特征在于,将多个待写入文件合并写入存储介质中的一个包文件包括:
从所述打包实例队列底部获取一个打包实例;
判断待写入文件是否被成功写入;
当待写入文件被成功写入时,将该打包实例归还至队列底部;当待写入文件写入失败时,将该打包实例归还至队列顶部。
5.根据权利要求3所述的方法,其特征在于,在判断待写入文件是否被成功写入之前,进一步包括:
判断所述获取的打包实例是否已打开一个文件句柄;
当判断结果返回为否时,为该打包实例打开一个文件句柄。
6.根据权利要求5所述的方法,其特征在于,在将多个待写入文件合并写入存储介质中的一个包文件之前,进一步包括:
从数据库中加载所有未写满包文件的文件信息至内存;其中,所述包文件的文件信息包括已被写入该包文件中所有文件的写入起点信息;
从内存中提取当前获取的打包实例所对应的包文件的文件信息;
若无法提取,则为该打包实例生成一个包文件的文件信息,将该文件信息存储在数据库中,根据所述生成的文件信息创建包文件。
7.根据权利要求1所述的方法,其特征在于,所述写入起点信息包括用户文件名、包文件名和数据起始地址信息。
8.根据权利要求7所述的方法,其特征在于,所述数据起始地址信息为数据存储的起始指针位置信息。
9.根据权利要求8所述的方法,其特征在于,所述用户文件名采用文件摘要字段表示;和/或,
所述包文件名采用全球通用唯一识别码字段+PACK后缀表示;和/或,
所述数据起始地址信息采用当前待写入文件在当前包文件中的存储起点位置字段表示。
10.根据权利要求1至2、4至9中任一所述的方法,其特征在于,在将多个待写入文件合并写入存储介质中的一个包文件之前,进一步包括:
判断待写入文件的文件大小是否小于等于一预设阈值;
当结果为是时,将待写入文件与其他待写入文件一起写入存储介质的一个包文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津书生云科技有限公司,未经天津书生云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510031102.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:光纤光栅振动传感器
- 下一篇:一种确定卸载邻区的方法及装置