发明名称 一种实现在单个文件中循环存储记录及其定位读取偏移方法
摘要 本发明公开了一种实现在单个文件中循环存储记录的方法,其包括以下步骤:1)设定文件可存储记录条数的上限值N;2)设定M为不能被N整除的任意正整数;3)按顺序往文件中写入记录,为每条记录分配一个标号A;4)设定标号的方法为:A=(Apre+1)%M,其中Apre为上一条记录标号值;5)当文件中的记录数达到上限值后,扫描所有记录的标号,若(A+1)%M!=Anext,则标号为Anext的记录位置即是继续写入新记录的位置。本发明通过给记录分配标号和取模的方法,实现了在单文件中循环添加记录,可简便定位循环文件中的写游标位置,从而很好地实现读取记录和写入记录,又可有效控制了文件占用空间的大小。
申请公布号 CN103226602A 申请公布日期 2013.07.31
申请号 CN201310150557.9 申请日期 2013.04.26
申请人 福建联迪商用设备有限公司 发明人 王斌
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 福州君诚知识产权代理有限公司 35211 代理人 戴雨君
主权项 一种实现在单个文件中循环存储记录的方法,其特征在于:所述方法包括以下步骤:1)设定文件可存储记录条数的上限值N;2)设定M为不能被N整除的任意正整数,即N%M!=0,%为取模操作;3)按顺序往文件中写入记录,为每条记录分配一个标号,首条记录的标号为0,标号为非负整数,用A表示;4)设定标号的方法为:A=(Apre+1)%M,其中Apre为上一条记录标号值,%为取模操作即(Apre+1)与M相除取余数操作;5)当文件中的记录条数首次达到上限值N时,下次从文件头部重新写入记录,并覆盖最旧的记录;6)当文件中的记录数达到上限值后,扫描所有记录的标号,若(A+1)%M!=Anext,则标号为Anext的记录位置即是继续写入新记录的位置;其中,Anext为位于当前记录的后一条记录标号;若当前记录位于文件末尾时,Anext为文件头部记录的标号。
地址 350003 福建省福州市鼓楼区洪山园路68号实达科技城