[发明专利]一种数字化地质资料包目录与文件关联关系自动识别方法有效
申请号: | 201911043047.5 | 申请日: | 2019-10-30 |
公开(公告)号: | CN110795520B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 刘文毅;邓吉秋;程广国;何美香;王振生;马鹏远;周斌;孙宏伟 | 申请(专利权)人: | 河南省有色金属地质矿产局第七地质大队 |
主分类号: | G06F16/29 | 分类号: | G06F16/29 |
代理公司: | 郑州先风知识产权代理有限公司 41127 | 代理人: | 马柯柯 |
地址: | 450000 河南*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数字化 地质 资料 目录 文件 关联 关系 自动识别 方法 | ||
1.一种地质资料包目录与文件关联关系自动识别方法,其特征在于,包括如下步骤:
(1)遍历:从地质资料包所在目录local_root开始,逐层对当前目录文件与子目录进行遍历处理:设每次遍历的当前目录为root,当前目录root所含文件集为files,文件集files中的具体文件为file,当前目录root所含子目录集为dirs、子目录集dirs中的具体目录为dir;逐层遍历时,当前目录root开始,然后以子目录名的字母顺序先后进行处理,每次处理目录root所含子目录集dirs中一个子目录dir,每一子目录dir的处理亦即下一层的遍历;遍历完所有的子目录dir,即处理完子目录集,之后处理当前目录的文件集files,以文件名的字母顺序循环,每次处理文件集files中的当前具体文件file;当前文件集files处理完后,进入下一个文件集files,文件集files的处理顺序是按照其名称字母在字母表中的顺序进行;之后,返回上级目录,直至所有文件和子目录遍历完毕;
(2)关联关系类别定义:
建立各目录与文件类型之间的基本关联关系表,如下述表1所示:
表1基本关联关系定义
其中Class定义的是关联关系中主体的关联文件类别,Relation定义的是主体与被关联客体之前的关系,其中:
所述的“独立”,表示主体未关联其它客体,但有可能当作客体被其它主体关联;
所述的“包含”,表示主体被其它客体所包含或覆盖;
所述的“连带”,表示主体是客体的附带文件;
所述的“备份”,表示主体是客体的备份;
所述的“设置”,表示主体是客体的某种设置文件;
所述的“输入”,表示主体是转换前或更新前客体的原始文件;
所述的“输出”,表示主体是客体的输出结果;
所述的“过滤”,表示主体对当前文件夹及当前文件夹中的文件无实际意义;
所述的“未明”,表示主体暂不考虑关联关系且作用暂时不定;
根据表1的基本定义,为各种目录与文件类型之间的关联关系进行定义,目录与文件类型之间的关联关系规则如表2:
表2目录与文件类型关联关系规则表
上述Object为空,说明是独立主文件,无关联客体;Rules为空,说明是无客体的文件,无需判别准则;
表2中的Object是对应客体类型,表2以数据库表的方式存储;
(3)关联类型识别与客体提取方法
A.关联类型与准则提取:获得当前目录与文件类型,通过读取关联关系规则表,查询得到当前目录与文件类型ID的关联客体类型Object和客体识别准则Rules;
B.客体扩展名提取:对关联关系规则表进行二次查询,查找ID为当前关联客体类型Object的记录,获得该客体Object的扩展名Extension;
C.实际客体提取:根据当前关联准则Rules,并满足扩展名为Extension,获得当前主体的实际客体对象ID,从而实现主体即当前目录或文件与客体即被关联目录或文件之间的关联关系的建立,主体与客体之间的关联关系类别编号为Relation;
(4)关联类型识别与客体提取过程:
4-1)进入系统初始化;之后进入4-2);
4-2)获取步骤(2)中目录文件关联关系规则表file_types,创建目录文件列表file_lists,记录目录文件的编号ID、名称name、上级目录root、文件类别编号type、关联关系类别编号relation、关联客体编号object,获取当前需要识别的目录路径root_dir;
循环遍历目录root_dir下各层级子目录,获取每个目录文件的编号ID、名称name、上级目录root;如所获取的目录文件是文件系统中的目录、则设其扩展名设为DIR,否则从名称name中提取文件扩展名;基于目录文件扩展名,从规则表file_types中查找Extension等于该扩展名的记录集,计算记录集的记录数n;如果n=1则目录文件的类别编号type赋值为记录集中唯一记录的类型ID,如果n1则依据表2中的Rules匹配文件类别、将目录文件的类别编号type赋值为记录集中匹配成功记录的类型ID,如n=0则目录文件的类别编号type赋值为90109;将目录文件的编号ID、名称name、上级目录root、文件类别编号type作为当前所获取目录文件的属性,追加至目录文件列表file_lists;
循环遍历结束后,进入步骤4-3-3-3);
4-3)循环遍历目录文件列表file_lists,识别目录与文件之间的关联关系,提取关联客体,直到遍历完所有目录文件,具体循环步骤如下:
4-3-1)从目录列表file_lists读取一个目录文件的名称name及文件类别编号type,进入步骤4-3-2);
4-3-2)获取规则表file_types中类型ID为当前file类别编号type的记录,该记录有且仅有1条记录,获得该记录的关系类型编号Relation、客体类型编号Object和关联准则Rules,进入步骤4-3-3);
4-3-3)如关系类型编号Relation0且客体类型Object0,则表示该类型文件有关联客体对象,按关联准则Rules提取具体对象,具体过程见下述步骤4-3-3-1)~4-3-3-4);如Relation=0或客体类型Object为空,则表示无关联客体,进入步骤4-3-4);
4-3-3-1)初始化当前关联客体对象编号object_id为0,进入步骤4-3-3-2);
4-3-3-2)判断关联准则Rules中是否出现字符串LIKE或*\DIR LIKE,若有,则该规则限定关联客体对象为对应目录,判断当前目录Root或上级、并行等目录是否匹配Rules,如匹配成功则通过file_lists查询匹配成功目录编号ID、赋值给当前客体对象编号object_id,进入步骤4-3-3-4);如Rules未出现字符串LIKE或*\DIR LIKE,则进入步骤4-3-3-3);
4-3-3-3)如关联准则Rules中出现字符串FILE,则该规则限定关联客体对象为对应文件,其中NAME表示与当前文件file同名、但扩展名不同的文件,*.str表示扩展名为.str的任一文件,image表示任一图片文件;判断当前目录下是否有匹配文件:如匹配成功,则通过file_lists查询匹配成功文件的ID,赋值给当前客体对象编号object_id,进入步骤4-3-3-4);若匹配不成功,则不进入步骤4-3-3-4);如关联准则Rules中未出现”FILE”字符串,则进入步骤4-3-3-4);
4-3-3-4)如关联关系规则表file_types存在下一条准则,读取下一条准则进入步骤4-3-3-1);如无下一条准则则进入步骤4-3-4);
4-3-4)更新目录文件列表file_lists中当前目录文件file对应记录的relation为当前关联准则表的Relation,更新客体object为当前object_id,进入步骤4-3-5);
4-3-5)如目录文件列表file_lists遍历未结束,则将下一目录文件作为当前目录文件,进入步骤4-3-1);如目录文件遍历结束则输出目录文件列表file_lists。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南省有色金属地质矿产局第七地质大队,未经河南省有色金属地质矿产局第七地质大队许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911043047.5/1.html,转载请声明来源钻瓜专利网。