CN110795520B - 一种数字化地质资料包目录与文件关联关系自动识别方法 - Google Patents

一种数字化地质资料包目录与文件关联关系自动识别方法 Download PDF

Info

Publication number
CN110795520B
CN110795520B CN201911043047.5A CN201911043047A CN110795520B CN 110795520 B CN110795520 B CN 110795520B CN 201911043047 A CN201911043047 A CN 201911043047A CN 110795520 B CN110795520 B CN 110795520B
Authority
CN
China
Prior art keywords
file
directory
type
current
association
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.)
Active
Application number
CN201911043047.5A
Other languages
English (en)
Other versions
CN110795520A (zh
Inventor
刘文毅
邓吉秋
程广国
何美香
王振生
马鹏远
周斌
孙宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seventh Geological Brigade Of Henan Nonferrous Metals Bureau
Original Assignee
Seventh Geological Brigade Of Henan Nonferrous Metals Bureau
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seventh Geological Brigade Of Henan Nonferrous Metals Bureau filed Critical Seventh Geological Brigade Of Henan Nonferrous Metals Bureau
Priority to CN201911043047.5A priority Critical patent/CN110795520B/zh
Publication of CN110795520A publication Critical patent/CN110795520A/zh
Application granted granted Critical
Publication of CN110795520B publication Critical patent/CN110795520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Abstract

本发明提供了一种数字化地质资料包目录与文件关联关系自动识别方法,包括如下步骤:(1)遍历过程:按逐级深入的方式,对地质资料包每个子目录与文件进行遍历扫描;(2)关联关系类别定义,建立不同目录与文件类型之间的基本关联关系表,根据基本关联关系表,为各种目录与文件类型之间的关联关系进行定义;(3)关联类型识别与客体提取技术过程,循环结束则输出目录文件列表。

Description

一种数字化地质资料包目录与文件关联关系自动识别方法
技术领域
本发明涉及数字化地质资料信息处理技术领域,尤其涉及一种数字化地质资料包目录与文件关联关系自动识别方法。
背景技术
数字化地质资料是地质工作形成的信息资源,是地质勘查和科学研究的依据与基础,具有重要的保存价值和服务利用价值。数字化地质资料内容包含各种有原始地质资料、实物地质资料与成果地质资料数字化后的各种内容,譬如各种报告、地质图件图、统计表格、实物照片视频等,不同内容与形式特征如下:
1)文字资料:包括各种地质报告、地质文献等文字资料,文件格式有Word、PDF、TXT、HTML、CAJ、PPT等;
2)地图资料:包括各种地质图、剖面图、物化探图等跟地质工作相关的各种图件资料,文件格式有MapGIS、ArcGIS、MapInfo、Surfer、Grapher、CorelDRAW、CAD等;
3)表格资料:包括各种钻孔与巷道等编录、采样与样品分析测试、其它记录与列表等表数据,文件格式有Excel、CSV、DBF、MDB等;
4)图片资料:包括各种野外与室内照片、地质文档插图、地图制图输出、遥感影像等图片型数据,文件格式有JPG、BMP、TIF、IMG等;
5)影音资料:包括各种记录地质及相关信息的语音、视频、动画等,文件格式有AVI、MPG、WMV、MP3/4等。
地质资料多数情况下是多种内容与形式的集合体,对应一个地质项目或工程,其所有相关地质资料的集合可以称之为地质资料包,通常情况下地质资料包在未进行规范化整理与登记及录入相应的管理系统前均是在文件系统中以文件夹(含子目录与文件)的形式存储。
存于文件夹下的不同内容的地质资料其数字化文件格式类型可能相同、亦可能不同,如地质报告可能是Word文件、亦可能是PDF文件;同一格式类型的文件其实际文档性质亦可能不同,譬如后缀名为DBF的文件可能是ESRI Shapefile中的属性文件、亦可能是FoxPro/dBase等数据库表文件;目录或同一扩展名文件,从管理的需求上有时需进一步分类;另外,地质资料文件夹中的某些子目录具有特殊性质,需当作某种文件或特殊目录处理。此类复杂的类型关系一般需要有经验的专业人员才能很好地判断、清理、登记,使之适用于后续的各种可能的人为或计算机管理。
文件类型的识别一般通过文件扩展名来识别,通过扩展名操作系统(或应用系统)能初步确定文件类型与打开方式,但是扩展名是可以随意修改的。事实上,所有的文件都是以二进制的形式进行存储的,本质上没有差别,之所以类型及使用方法不同,只是因为其内容的组织形式不同。在每一个文件(包括图片,视频或其他的非ASCII文件)的开头(十六进制表示)实际上都有一片区域来显示这个文件的实际类型,这就是文件头标志,一般情况下不同的类型的文件其文件头标志不同,但亦存在相同文件头的情况。
文件夹中的子目录被当成目录处理,一般没做进一步的识别。在不同用途条件下的目录或同扩展名文件的进一步分类一般未涉及。
针对地质资料文件类型的识别,现有技术采用扩展名识别、通过人工判断或计算机识别文件类型。人工判断需要有经验的操作人员才能完成,速度慢、效率低、无法避免人为疏忽带来的判断错误;计算机判断无法有效避免具有相同文件扩展名、但实际类型不同文件的类型误判。
基于文件系统的文件之间的关联及目录与文件之间的关联,一般由目录或文件的生产者或管理者(软件系统或人)维护。
特定类型软件可以对其生产或管理的文件进行关系维护,如MapGIS软件可管理MPJ工程文件及其所涉及的各种图形、图像图层文件的关系,即MPJ工程包括所涉及的各图层(可称为包含关系)。
更多数的文件之间、目录与文件之间的各种关系,未被软件或系统有效识别与管理,只能靠有经验的技术人员理解、管理或掌控。
现有的特定类型软件只能管理其本身数据文件,且其前提是所涉及文件(或其路径)未被其它软件或人为修改、移动等,且脱离该软件或系统后上述关系得不到有效维护。
面对庞大的地质资料,针对地质资料文件类型的识别成了目前的研究方向和亟待解决的问题。
发明内容
为解决上述技术问题,本发明提供了一种数字化地质资料包目录与文件关联关系自动识别方法。
一种地质资料包目录与文件关联关系自动识别方法,其中,包括如下步骤:
(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基本关联关系定义
ID Class Relation Description
0 目录 独立 非特殊目录,Coverage文件夹及附属的info属特殊目录
1 主文件 独立 非其它文件包含、连带、备份的文件,无关联客体
2 包含文件 包含 被其它文件所包含或覆盖的文件
3 连带文件 连带 和其它文件的一起组成主文件
4 备份文件 备份 是其它文件的备份
5 设置文件 设置 是主文件的某方面设置文件
6 输入文件 输入 是其它格式转换前的格式
7 输出文件 输出 是其它文件的输出文件
8 过滤文件 过滤 与实际内容无关、或无意义的文件
9 未明确文件 未明 作用暂时不定的文件
其中Class定义的是关联关系中主体的关联文件类别,Relation定义的是主体与被关联客体之前的关系,其中:
所述的“独立”,表示主体未关联其它客体,但有可能当作客体被其它主体关联;
所述的“包含”,表示主体被其它客体所包含或覆盖;
所述的“连带”,表示主体是客体的附带文件;
所述的“备份”,表示主体是客体的备份;
所述的“设置”,表示主体是客体的某种设置文件;
所述的“输入”,表示主体是转换前或更新前客体的原始文件;
所述的“输出”,表示主体是客体的输出结果;
所述的“过滤”,表示主体对当前文件夹及当前文件夹中的文件无实际意义;
所述的“未明”,表示主体暂不考虑关联关系且作用暂时不定;
根据表1的基本定义,为各种目录与文件类型之间的关联关系进行定义,目录与文件类型之间的关联关系规则如表2:
表2目录与文件类型关联关系规则表
Figure BDA0002253381870000061
Figure BDA0002253381870000071
Figure BDA0002253381870000081
上述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,如果n>1则依据表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)如关系类型编号Relation>0且客体类型Object>0,则表示该类型文件有关联客体对象,按关联准则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。
本发明提供的一种数字化地质资料包目录与文件关联关系自动识别方法,实现地质资料包目录与文件关联关系自动识别:在目录与文件类型识别的基础上,进行目录与文件类型关联关系类别定义、目录文件遍历、关联关系类型识别、具体类型的关联目录与文件提取;本发明代替了人工操作,能提高地质资料包目录与文件关联关系识别的效率与准确度,可为文件关系清理、操作与管理及其完整性与一致性维护提供依据,大大减少人工判断与后续升级工作量,降低成本,具有通用性与可扩充性。
附图说明
图1为本发明地质资料包目录与文件关联关系自动识别方法的流程图;
图2为本发明一个具体实例的示意图。
具体实施方式
本发明的一种地质资料包目录与文件关联关系自动识别方法,如图1所示流程图,包括如下步骤:
(1)遍历:从地质资料包所在目录local_root开始,逐层对当前目录文件与子目录进行遍历处理:设每次遍历的当前目录为root,当前目录root所含文件集为files,文件集files中的具体文件为file,当前目录root所含子目录集为dirs、子目录集dirs中的具体目录为dir;逐层遍历时,当前目录root开始,然后以子目录名的字母顺序先后进行处理(是针对子目录集继续循环处理,子目录集中的具体子目录只处理一遍),每次处理目录root所含子目录集dirs中一个子目录dir,每一子目录dir的处理亦即下一层的遍历(子目录所包含的内容包括其子目录集、文件集,每一层子目录结构都是类似的,只是具体子目录与文件名称不同);遍历完所有的子目录dir,即处理完子目录集,之后处理当前目录的文件集files(目录包括子目录集和文件集,子目录包含0到多个目录,文件集包含0到多个文件;子目录集中的一个目录,又可以包含子目录集和文件集,一层层往下嵌套),以文件名的字母顺序循环(即以文件名的字母为依据,按照字母表的顺序依次处理),每次处理文件集files中的当前具体文件file(即为每次处理一个具体文件file,将文件集files中的所有具体文件file处理完,具体文件file的处理顺序是按其名称字母在字母表中的顺序);当前文件集files处理完后,进入下一个文件集files,文件集files的处理顺序是按照其名称字母在字母表中的顺序进行(当前文件集files处理完后,当前目录处理完毕,需返回上级目录,按照字母名称顺序对下一个文件集files进行处理);之后;返回上级目录,直至所有文件和子目录遍历完毕;
(2)关联关系类别定义:
建立各目录与文件类型之间的基本关联关系表,如下述表1所示:
表1基本关联关系定义
Figure BDA0002253381870000131
其中Class定义的是关联关系中主体的关联文件类别,Relation定义的是主体与被关联客体之前的关系,其中:
所述的“独立”,表示主体未关联其它客体,但有可能当作客体被其它主体关联;
所述的“包含”,表示主体被其它客体所包含或覆盖;
所述的“连带”,表示主体是客体的附带文件;
所述的“备份”,表示主体是客体的备份;
所述的“设置”,表示主体是客体的某种设置文件;
所述的“输入”,表示主体是转换前或更新前客体的原始文件;
所述的“输出”,表示主体是客体的输出结果;
所述的“过滤”,表示主体对当前文件夹及当前文件夹中的文件无实际意义;
所述的“未明”,表示主体暂不考虑关联关系且作用暂时不定;
根据表1的基本定义,为各种目录与文件类型之间的关联关系进行梳理与定义,目录与文件类型之间的关联关系规则如表2:
表2目录与文件类型关联关系规则表
Figure BDA0002253381870000141
Figure BDA0002253381870000151
Figure BDA0002253381870000161
Figure BDA0002253381870000171
上述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,如果n>1则依据表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)如关系类型编号Relation>0且客体类型Object>0,则表示该类型文件有关联客体对象,按关联准则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。
下面举出一个具体实例来说明本发明,一个无子目录的简单实例:
如2图所示目录结构与文件,当前目录为:联幅地质图,通过步骤4-2)遍历目录生成的初始目录文件列表为:
Figure BDA0002253381870000201
步骤4-3)按ID顺序从1至15依次处理每个目录文件,以ID为8的文件为例:
4-3-1)获得的当前目录文件的名称name为:实际材料图.JPG,文件类别编号type为:30131;
4-3-2)从规则表file_types获取类型ID为30131的记录,只有1条,得到关系类型编号Relation为:7,客体类型编号Object为:10101,关联准则Rules为:FILE NAME;
4-3-3)关系类型编号Relation>0且客体类型Object>0,该类型有关联客体对象,进入步骤4-3-3-1)~4-3-3-4)
4-3-3-1)当前关联客体对象编号object_id为0;
4-3-3-2)关联准则FILE NAME没出现字符串LIKE或*\DIR LIKE,进入步骤4-3-3-3);
4-3-3-3)关联准则FILE NAME表示与当前文件file同名、但扩展名不同的文件,从file_lists查询能匹配的文件是:实际材料图.MPJ,其ID为9,进入步骤4-3-3-4);
4-3-3-4)不存在下一条类型ID为30131的关联准则,进入步骤4-3-4);
4-3-4)更新目录文件列表file_lists中ID为8的记录:Relation为关联准则表中该关联准则的Relation,就是7;更新客体object为实际材料图.MPJ对应的ID,就是9,进入步骤4-3-5);
4-3-5)依次处理完完目录文件列表file_lists中的目录文件,输出最终列表:
Figure BDA0002253381870000221
本发明提供的一种数字化地质资料包目录与文件关联关系自动识别方法,实现地质资料包目录与文件关联关系自动识别:在目录与文件类型识别的基础上,进行目录与文件类型关联关系类别定义、目录文件遍历、关联关系类型识别、具体类型的关联目录与文件提取,其中关联关系定义、关联关系识别与客体提取是本发明的核心。
本发明具有如下特点:
1)定义目录与文件类型之间的基本关联关系类型,用以表示目录或文件之间错综复杂的关联关系;
2)基于基本关联关系,依据主体的目录或文件类型,设计关联客体类型与扩展名及其关联准则,基本关联关系及具体关客体与准则具有可扩充性;;
3)只需更改或完善规则表,无需(或很少)更改程序编码,即可实现地质资料包目录与文件关联关系的高效自动化识别;
4)该方法可扩展至任何类型基于文件系统、文件夹存储的资料包其目录与文件关联关系的自动识别。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (1)

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基本关联关系定义
Figure FDA0002253381860000011
Figure FDA0002253381860000021
其中Class定义的是关联关系中主体的关联文件类别,Relation定义的是主体与被关联客体之前的关系,其中:
所述的“独立”,表示主体未关联其它客体,但有可能当作客体被其它主体关联;
所述的“包含”,表示主体被其它客体所包含或覆盖;
所述的“连带”,表示主体是客体的附带文件;
所述的“备份”,表示主体是客体的备份;
所述的“设置”,表示主体是客体的某种设置文件;
所述的“输入”,表示主体是转换前或更新前客体的原始文件;
所述的“输出”,表示主体是客体的输出结果;
所述的“过滤”,表示主体对当前文件夹及当前文件夹中的文件无实际意义;
所述的“未明”,表示主体暂不考虑关联关系且作用暂时不定;
根据表1的基本定义,为各种目录与文件类型之间的关联关系进行定义,目录与文件类型之间的关联关系规则如表2:
表2目录与文件类型关联关系规则表
Figure FDA0002253381860000022
Figure FDA0002253381860000031
Figure FDA0002253381860000041
Figure FDA0002253381860000051
上述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,如果n>1则依据表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)如关系类型编号Relation>0且客体类型Object>0,则表示该类型文件有关联客体对象,按关联准则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。
CN201911043047.5A 2019-10-30 2019-10-30 一种数字化地质资料包目录与文件关联关系自动识别方法 Active CN110795520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911043047.5A CN110795520B (zh) 2019-10-30 2019-10-30 一种数字化地质资料包目录与文件关联关系自动识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911043047.5A CN110795520B (zh) 2019-10-30 2019-10-30 一种数字化地质资料包目录与文件关联关系自动识别方法

Publications (2)

Publication Number Publication Date
CN110795520A CN110795520A (zh) 2020-02-14
CN110795520B true CN110795520B (zh) 2022-02-01

Family

ID=69442005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911043047.5A Active CN110795520B (zh) 2019-10-30 2019-10-30 一种数字化地质资料包目录与文件关联关系自动识别方法

Country Status (1)

Country Link
CN (1) CN110795520B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680122B (zh) * 2020-05-18 2023-04-07 国家基础地理信息中心 空间数据主动推荐方法、装置、存储介质及计算机设备
CN113590882B (zh) * 2021-08-03 2024-01-05 武汉品致汽车技术有限公司 一种汽车电路电子图册整合方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1354424A (zh) * 2000-11-21 2002-06-19 松下电器产业株式会社 文件管理方法以及内容记录/重放装置
CN1359068A (zh) * 2000-12-12 2002-07-17 松下电器产业株式会社 文件管理方法和存储信息记录重放装置及存储信息记录媒体
JP2006039913A (ja) * 2004-07-27 2006-02-09 Mitsubishi Electric Corp ファイル管理方式およびファイル管理システム
CN105373733A (zh) * 2014-08-20 2016-03-02 中国石油天然气股份有限公司 防止地质研究数据泄密的方法和装置
CN108614821A (zh) * 2016-12-09 2018-10-02 中国地质调查局发展研究中心 地质资料互联互查系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1354424A (zh) * 2000-11-21 2002-06-19 松下电器产业株式会社 文件管理方法以及内容记录/重放装置
CN1359068A (zh) * 2000-12-12 2002-07-17 松下电器产业株式会社 文件管理方法和存储信息记录重放装置及存储信息记录媒体
JP2006039913A (ja) * 2004-07-27 2006-02-09 Mitsubishi Electric Corp ファイル管理方式およびファイル管理システム
CN105373733A (zh) * 2014-08-20 2016-03-02 中国石油天然气股份有限公司 防止地质研究数据泄密的方法和装置
CN108614821A (zh) * 2016-12-09 2018-10-02 中国地质调查局发展研究中心 地质资料互联互查系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Research of Catalogue Service System based on China Geological Survey Information Grid platform;Miaomiao Song et al.;《IEEE》;20100909;全文 *
大数据环境下地质资料的存储策略与文本化导入技术;刘文毅 等;《地质学刊》;20190930;全文 *
导航电子地图增量式更新关键技术研究;付兴;《导航电子地图增量式更新关键技术研究》;20140830;全文 *

Also Published As

Publication number Publication date
CN110795520A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
JP5798503B2 (ja) ファイルリスト生成方法及びシステム、ファイルリスト生成装置並びにプログラム
US20080270351A1 (en) System and Method of Generating and External Catalog for Use in Searching for Information Objects in Heterogeneous Data Stores
JP5759915B2 (ja) ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置
CN111259006A (zh) 一种通用的分布式异构数据一体化物理汇聚、组织、发布与服务方法及系统
CN113434623B (zh) 一种基于多源异构空间规划数据的融合方法
CN109144968B (zh) 一种数据分布管理系统
US7991767B2 (en) Method for providing a shared search index in a peer to peer network
US7769719B2 (en) File system dump/restore by node numbering
CN108470040B (zh) 一种非结构化数据的入库方法及装置
CN110795397B (zh) 一种地质资料包目录与文件类型自动识别方法
CN106970958B (zh) 一种流文件的查询与存储方法和装置
JP6645850B2 (ja) 情報管理装置、情報管理方法及び情報管理プログラム
CN110795520B (zh) 一种数字化地质资料包目录与文件关联关系自动识别方法
US20180067941A1 (en) Media Search Processing Using Partial Schemas
CN206411669U (zh) 一种SaaS古籍知识服务云平台
CN112269883A (zh) 人员信息的查询方法、装置、电子设备及存储介质
US20180225314A1 (en) Managing a single database management system
CN112434250A (zh) 一种基于在线网站的cms识别特征规则提取方法
US20120197909A1 (en) Method for determining a similarity of objects
CN113553458A (zh) 图数据库中的数据导出方法及装置
JP2014134920A (ja) 設計書の検索システム、設計書の検索システムの構築方法およびそのためのプログラム
CN111651531A (zh) 数据导入方法、装置、设备及计算机存储介质
CN113391916A (zh) 组织架构数据处理方法、装置、计算机设备和存储介质
CN112835857B (zh) 一种工作群组的文件主名管理方法
CN105531697B (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
GR01 Patent grant
GR01 Patent grant