CN106874358A - 一种文件管理方法和装置 - Google Patents
一种文件管理方法和装置 Download PDFInfo
- Publication number
- CN106874358A CN106874358A CN201611238896.2A CN201611238896A CN106874358A CN 106874358 A CN106874358 A CN 106874358A CN 201611238896 A CN201611238896 A CN 201611238896A CN 106874358 A CN106874358 A CN 106874358A
- Authority
- CN
- China
- Prior art keywords
- file
- node
- information
- tree
- operated
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种文件管理方法和装置,该文件管理方法包括:获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;根据操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作;根据属性操作信息,通过多叉树对第二文件节点的属性进行操作。本发明利用PYTHON脚本程序调用的API接口和操作多叉树实现DEF文件的编写,从而操作都在本地完成,不需要上传到服务端,减少资源消耗,并且每次操作完后都会对DEF文件进行检验,保证DEF文件的正确性,此外,定位文件节点可通过映射表实现快速定位,避免了每次都遍历树的情况,从而加快了查询效率。
Description
技术领域
本发明涉及计算机领域,具体来说,涉及一种文件管理方法和装置。
背景技术
ECFLOW是一个C/S(Client/Server Structs,客户机和服务器结构)工作流包,允许用户在一个可控的环境下运行多个程序,并且其编写作业包定义DEF文件,通过一套类SHELL(一种程序设计语言)的业务描述脚本语言,并且其脚本语言包括结构控制语句、变量定义及操作语法,从而完成业务组成、业务逻辑关系、业务对象控制结构定义,并且实现复杂业务对象的逻辑结构设计,其中,该DEF文件是一个ASCII(American Standard Code forInformation Interchange,美国信息交换标准代码)文本文件。
目前,编写DEF文件的技术是通过编辑器按照DEF文件的语法规则来编写ASCII文本文件,并且其没有一个比较好的工具来实现DEF文件的编写,编写的DEF文件必须要提交到ECFLOW_Server上才能检查DEF文件是否正确,其中,该ECFLOW_Server是整个***的服务端,负责调度作业和响应客户端的请求,因此,现有技术存在如下缺点:
编写人员必须对DEF文件的语法规则要特别了解,而且DEF文件里的内容很多很复杂时,就需要人为的去比对或检查,虽然也可以把DEF文件提交到ECFLOW_Server上检查该DEF文件的正确性,但是这样会消耗网络带宽,占用ECFLOW_Server上的资源,增加了ECFLOW_Server的负担,来回提交检查也增加了操作的麻烦。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种文件管理方法和装置,利用ECFLOW软件包提供的PYTHON脚本程序调用的API接口和操作多叉树实现DEF文件的编写,从而操作都在本地完成,不需要上传到服务端,减少资源消耗,提高***性能,并且每次操作完后都会对DEF文件进行检验,保证DEF文件的正确性,此外,定位文件节点可通过映射表实现快速定位,避免了每次都遍历树的情况,从而加快了查询效率。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种文件管理方法。
该管理方法包括:获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;根据第一文件节点的操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作;根据属性操作信息,通过多叉树对第二文件节点的属性进行操作。
根据本发明的一个实施例,操作信息包括:添加信息、删除信息、更改信息。
根据本发明的一个实施例,进一步包括:将每个文件节点的路径信息保存在映射关系表中。
根据本发明的一个实施例,根据第二文件节点的属性操作信息,通过多叉树对第二文件节点的属性进行操作包括:根据属性操作信息,获取第二文件节点属性的路径信息,并且确定第二文件节点属性的父路径信息;将父路径信息和映射关系表相匹配,以确定第二文件节点;通过多叉树查找第二文件节点对应的第一树节点,并且遍历树节点,以确定第二文件节点属性对应的第二树节点,以及对第二树节点进行操作。
根据本发明的另一方面,提供了一种文件管理装置。
该管理装置包括:第一获取模块,用于获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;调用操作模块,用于根据第一文件节点的操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作;操作模块,用于根据属性操作信息,通过多叉树对第二文件节点的属性进行操作。
根据本发明的一个实施例,操作信息包括:添加信息、删除信息、更改信息。
根据本发明的一个实施例,进一步包括:映射模块,用于将每个文件节点的路径信息保存在映射关系表中。
根据本发明的一个实施例,操作模块包括:第二获取模块,用于根据属性操作信息,获取第二文件节点属性的路径信息,并且确定第二文件节点属性的父路径信息;匹配模块,用于将父路径信息和映射关系表相匹配,以确定第二文件节点;查找遍历模块,用于通过多叉树查找第二文件节点对应的第一树节点,并且遍历树节点,以确定第二文件节点属性对应的第二树节点,以及对第二树节点进行操作。
本发明通过获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树,随后根据操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作,随后根据属性操作信息,通过多叉树对第二文件节点的属性进行操作,从而利用ECFLOW软件包提供的PYTHON脚本程序调用的API接口和操作多叉树实现DEF文件的编写,从而操作都在本地完成,不需要上传到服务端,减少资源消耗,提高***性能,并且每次操作完后都会对DEF文件进行检验,保证DEF文件的正确性,此外,定位文件节点可通过映射表实现快速定位,避免了每次都遍历树的情况,从而加快了查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的文件管理方法的流程图;
图2是根据本发明实施例的文件管理方法的具体流程图;
图3是根据本发明实施例的多叉树的示意图;
图4是根据本发明实施例的映射关系表的示意图;
图5是根据本发明实施例的文件管理装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种文件管理方法。
如图1所示,根据本发明实施例的管理方法包括:
步骤S101,获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;
步骤S103,根据第一文件节点的操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作;
步骤S105,根据属性操作信息,通过多叉树对第二文件节点的属性进行操作。
通过上述技术方法,通过获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树,随后根据操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作,随后根据属性操作信息,通过多叉树对第二文件节点的属性进行操作,从而利用ECFLOW软件包提供的PYTHON脚本程序调用的API接口和操作多叉树实现DEF文件的编写,从而操作都在本地完成,不需要上传到服务端,减少资源消耗,提高***性能,并且每次操作完后都会对DEF文件进行检验,保证DEF文件的正确性,此外,定位文件节点可通过映射表实现快速定位,避免了每次都遍历树的情况,从而加快了查询效率。
根据本发明的一个实施例,操作信息包括:添加信息、删除信息、更改信息。
根据本发明的一个实施例,进一步包括:将每个文件节点的路径信息保存在映射关系表中。
根据本发明的一个实施例,根据第二文件节点的属性操作信息,通过多叉树对第二文件节点的属性进行操作包括:根据属性操作信息,获取第二文件节点属性的路径信息,并且确定第二文件节点属性的父路径信息;将父路径信息和映射关系表相匹配,以确定第二文件节点;通过多叉树查找第二文件节点对应的第一树节点,并且遍历树节点,以确定第二文件节点属性对应的第二树节点,以及对第二树节点进行操作。
为了更好的描述本发明,下面通过具体的实施例进行详细的描述,并且下面以DEF文件为例进行描述,当然可以理解,本发明同样适用其他类型的文件。
如图2所示,判断节点(或文件节点)是否进行操作,其中,节点指DEF文件中的Suite(层次节点树,它描述了任务的运行和交互,,每个节点都有一个名称和一个相对于Suite的路径)、Family(家族)、Task(任务)具体地,判断是否操作节点以及属性,由于PYTHON语言调用的API(Application Programming Interface,应用程序编程接口)接口无法提供对节点的属性进行操作,所以利用PYTHON语言调用的API接口对DEF文件中的节点进行操作,此外,如图3所示,把DEF文件中的内容组成一个多叉树,利用多叉树对节点的属性进行操作,此外,在更改后进一步检查该DEF文件的正确性,并且保存该DEF文件,直至DEF文件正确位置。
此外,通过多叉树中定位DEF文件中属性的算法是通过把DEF文件中的每个节点都以Key_Value(路径或节点指针)的方式保存到一个如图4所示的映射表中,查找属性先定位属性的父节点,然后遍历父节点下面的属性,找到匹配的属性,然后对该属性进行操作,其中,属性是用来描述节点的时间、周期、条件的值,下面通过定位Task_11(节点3)下面的time20:20属性为例,具体如下:
1、加载DEF文件组成如图3所示的多叉树,当然可以理解,可根据实际需求对多叉树进行设置,本发明对此不作限定;
2、把节点组织为如图4所示的映射关系表,当然可以理解,可根据实际需求对映射关系表进行设置,本发明对此不作限定;
3、输入属性的路径为(/suite1/Family_1/Task_11/time 20:20);
4、获得属性的父路径为(/suite1/Family_1/Task_11);
5、在映射关系表中查找(/suite1/Family_1/Task_11),从而找到节点3,然后定位到多叉树中的Task_11节点;
6、接下来遍历Task_11子树下的节点找到匹配值为(time 20:20)的树节点,然后对该树节点可以进行增、删、改操作。
根据本发明的实施例,还提供了一种文件管理装置。
如图5所示,根据本发明实施例的文件管理装置包括:
第一获取模块51,用于获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;调用操作模块52,用于根据第一文件节点的操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作;操作模块53,用于根据属性操作信息,通过多叉树对第二文件节点的属性进行操作。
根据本发明的一个实施例,操作信息包括:添加信息、删除信息、更改信息。
根据本发明的一个实施例,进一步包括:映射模块(未示出),用于将每个文件节点的路径信息保存在映射关系表中。
根据本发明的一个实施例,操作模块包括:第二获取模块(未示出),用于根据属性操作信息,获取第二文件节点属性的路径信息,并且确定第二文件节点属性的父路径信息;匹配模块(未示出),用于将父路径信息和映射关系表相匹配,以确定第二文件节点;查找遍历模块(未示出),用于通过多叉树查找第二文件节点对应的第一树节点,并且遍历树节点,以确定第二文件节点属性对应的第二树节点,以及对第二树节点进行操作。
综上所述,借助于本发明的上述技术方案,通过获取文件的操作信息,其中,操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树,随后根据操作信息,通过PYTHON脚本程序调用的API接口对第一文本节点进行操作,随后根据属性操作信息,通过多叉树对第二文件节点的属性进行操作,从而利用ECFLOW软件包提供的PYTHON脚本程序调用的API接口和操作多叉树实现DEF文件的编写,从而操作都在本地完成,不需要上传到服务端,减少资源消耗,提高***性能,并且每次操作完后都会对DEF文件进行检验,保证DEF文件的正确性,此外,定位文件节点可通过映射表实现快速定位,避免了每次都遍历树的情况,从而加快了查询效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种文件管理方法,其特征在于,包括:
获取文件的操作信息,其中,所述操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;
根据所述第一文件节点的操作信息,通过PYTHON脚本程序调用的API接口对所述第一文本节点进行操作;
根据所述属性操作信息,通过所述多叉树对所述第二文件节点的属性进行操作。
2.根据权利要求1所述的文件管理方法,其特征在于,所述操作信息包括:添加信息、删除信息、更改信息。
3.根据权利要求1所述的文件管理方法,其特征在于,进一步包括:
将每个文件节点的路径信息保存在映射关系表中。
4.根据权利要求3所述的文件管理方法,其特征在于,根据所述第二文件节点的属性操作信息,通过所述多叉树对所述第二文件节点的属性进行操作包括:
根据所述属性操作信息,获取所述第二文件节点属性的路径信息,并且确定所述第二文件节点属性的父路径信息;
将所述父路径信息和所述映射关系表相匹配,以确定所述第二文件节点;
通过所述多叉树查找所述第二文件节点对应的第一树节点,并且遍历所述树节点,以确定所述第二文件节点属性对应的第二树节点,以及对所述第二树节点进行操作。
5.一种文件管理装置,其特征在于,包括:
第一获取模块,用于获取文件的操作信息,其中,所述操作信息包括第一文件节点的操作信息和/或第二文件节点的属性操作信息,并且根据全部的文件节点及其对应的属性信息,建立多叉树;
调用操作模块,用于根据所述第一文件节点的操作信息,通过PYTHON脚本程序调用的API接口对所述第一文本节点进行操作;
操作模块,用于根据所述属性操作信息,通过所述多叉树对所述第二文件节点的属性进行操作。
6.根据权利要求5所述的文件管理装置,其特征在于,所述操作信息包括:添加信息、删除信息、更改信息。
7.根据权利要求5所述的文件管理装置,其特征在于,进一步包括:
映射模块,用于将每个文件节点的路径信息保存在映射关系表中。
8.根据权利要求7所述的文件管理装置,其特征在于,所述操作模块包括:
第二获取模块,用于根据所述属性操作信息,获取所述第二文件节点属性的路径信息,并且确定所述第二文件节点属性的父路径信息;
匹配模块,用于将所述父路径信息和所述映射关系表相匹配,以确定所述第二文件节点;
查找遍历模块,用于通过所述多叉树查找所述第二文件节点对应的第一树节点,并且遍历所述树节点,以确定所述第二文件节点属性对应的第二树节点,以及对所述第二树节点进行操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611238896.2A CN106874358A (zh) | 2016-12-28 | 2016-12-28 | 一种文件管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611238896.2A CN106874358A (zh) | 2016-12-28 | 2016-12-28 | 一种文件管理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106874358A true CN106874358A (zh) | 2017-06-20 |
Family
ID=59164116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611238896.2A Pending CN106874358A (zh) | 2016-12-28 | 2016-12-28 | 一种文件管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874358A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324577A (zh) * | 2018-12-17 | 2020-06-23 | 大唐移动通信设备有限公司 | 一种Yml文件读写的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947392B2 (en) * | 2001-07-16 | 2005-09-20 | International Business Machines Corporation | Methods and arrangements for building a subsource address multicast distribution tree using traced routes |
CN101719141A (zh) * | 2009-12-24 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于目录对象的文件处理方法和*** |
CN102043622A (zh) * | 2010-12-14 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种电子控制器基础软件通用配置器 |
CN102446218A (zh) * | 2011-11-25 | 2012-05-09 | 浙江大学城市学院 | 一种支持xml数据动态更新的编码方法 |
CN103186568A (zh) * | 2011-12-28 | 2013-07-03 | 金蝶软件(中国)有限公司 | 树型结构数据的访问方法及*** |
-
2016
- 2016-12-28 CN CN201611238896.2A patent/CN106874358A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947392B2 (en) * | 2001-07-16 | 2005-09-20 | International Business Machines Corporation | Methods and arrangements for building a subsource address multicast distribution tree using traced routes |
CN101719141A (zh) * | 2009-12-24 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于目录对象的文件处理方法和*** |
CN102043622A (zh) * | 2010-12-14 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种电子控制器基础软件通用配置器 |
CN102446218A (zh) * | 2011-11-25 | 2012-05-09 | 浙江大学城市学院 | 一种支持xml数据动态更新的编码方法 |
CN103186568A (zh) * | 2011-12-28 | 2013-07-03 | 金蝶软件(中国)有限公司 | 树型结构数据的访问方法及*** |
Non-Patent Citations (1)
Title |
---|
岳琨,廷芳,王伟峰: "基于ECFLOW 的数值预报业务流程监控***开发", 《第32届中国气象学会年会S3军用数值天气预报技术及应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324577A (zh) * | 2018-12-17 | 2020-06-23 | 大唐移动通信设备有限公司 | 一种Yml文件读写的方法及装置 |
CN111324577B (zh) * | 2018-12-17 | 2023-11-17 | 大唐移动通信设备有限公司 | 一种Yml文件读写的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9582556B2 (en) | Automatic generation of an extract, transform, load (ETL) job | |
US11099973B2 (en) | Automated test case management systems and methods | |
US20150058315A1 (en) | Self-learning semantic search engine | |
CN102982075B (zh) | 支持访问异构数据源的***和方法 | |
CN102693302B (zh) | 快速文件比对方法、***及客户端 | |
US8458166B2 (en) | Dynamic context definitions in distributed databases | |
CN107491485A (zh) | 生成执行计划的方法、计划单元和分布式NewSQL数据库*** | |
US20130166563A1 (en) | Integration of Text Analysis and Search Functionality | |
CN110134705A (zh) | 一种数据查询方法、缓存服务器及终端 | |
US11216474B2 (en) | Statistical processing of natural language queries of data sets | |
US20110029822A1 (en) | Tracking of java objects during request processing | |
CN105956087A (zh) | 数据及代码版本管理***及方法 | |
US20230315619A1 (en) | Lineage-driven source code generation for building, testing, deploying, and maintaining data marts and data pipelines | |
US11720543B2 (en) | Enforcing path consistency in graph database path query evaluation | |
CN105975489A (zh) | 一种基于元数据的在线sql代码补全方法 | |
BR112021006722A2 (pt) | carregamento incremental correlacionado de múltiplos conjuntos de dados para um aplicativo de preparação de dados interativo | |
Paulus et al. | PLASMA: Platform for Auxiliary Semantic Modeling Approaches. | |
US20190354511A1 (en) | Database and file structure configurations for managing text strings to be provided by a graphical user interface | |
US20200097260A1 (en) | Software application developer tools platform | |
US10983997B2 (en) | Path query evaluation in graph databases | |
US10460044B2 (en) | Methods and systems for translating natural language requirements to a semantic modeling language statement | |
US20170132195A1 (en) | Method and Apparatus Providing Contextual Suggestion in Planning Spreadsheet | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
US9280361B2 (en) | Methods and systems for a real time transformation of declarative model and layout into interactive, digital, multi device forms | |
CN106874358A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |