CN106874358A - 一种文件管理方法和装置 - Google Patents

一种文件管理方法和装置 Download PDF

Info

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
Application number
CN201611238896.2A
Other languages
English (en)
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.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201611238896.2A priority Critical patent/CN106874358A/zh
Publication of CN106874358A publication Critical patent/CN106874358A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

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所述的文件管理装置,其特征在于,所述操作模块包括:
第二获取模块,用于根据所述属性操作信息,获取所述第二文件节点属性的路径信息,并且确定所述第二文件节点属性的父路径信息;
匹配模块,用于将所述父路径信息和所述映射关系表相匹配,以确定所述第二文件节点;
查找遍历模块,用于通过所述多叉树查找所述第二文件节点对应的第一树节点,并且遍历所述树节点,以确定所述第二文件节点属性对应的第二树节点,以及对所述第二树节点进行操作。
CN201611238896.2A 2016-12-28 2016-12-28 一种文件管理方法和装置 Pending CN106874358A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324577A (zh) * 2018-12-17 2020-06-23 大唐移动通信设备有限公司 一种Yml文件读写的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
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 金蝶软件(中国)有限公司 树型结构数据的访问方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
岳琨,廷芳,王伟峰: "基于ECFLOW 的数值预报业务流程监控***开发", 《第32届中国气象学会年会S3军用数值天气预报技术及应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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