一种自动化文件处理系统的制作方法

allin2022-07-12  228



1.本发明涉及自动化数据处理相关领域,具体为一种自动化文件处理系统。


背景技术:

2.cg制片管理系统署于一种专用项目管理系统(与“专用”相对,通用项 目管理系统包括著名的atlassian jira;而oa、erp等系统本质上也属于一 类专用项目管理系统)。一般来讲,项目管理系统的核心就是“表单”——也 因此,最为原始的项目管理方式就是excel表格(作坊式项目管理的核心)。 excel虽然能完成所有项目管理表单的需求,并在各类初级团队中广泛使用, 但因为其存在无强制权限管理、无强制流程约束、无法实现团队同步等各类 问题,而成为了项目管理系统的主要消灭目标。项目管理系统在简单的表单 基础上,增加了预制的流程及消息传递程序,实现工作流程的自动化。而cg 制片管理系统,就是在通用项目管理系统的基础上,增加了针对cg影片制作 的程序功能。使用项目管理系统的团队我们称之为工业化项目管理。
3.项目管理软件的主要目的是对“人”的管理,通过软件平台简化项目组 内人员沟通的流程,提高沟通效率。对于传统项目来说这已经足够了,而cg 项目管理系统通过开发插件实现了有限的生产自动化,但本质上,cg制片管 理系统的核心用法都是需要“人”来操作,这里的人指的是除开发人员以外 的团队成员,如艺术家、项目经理等人员;其软件本质,继承于excel表单 时代的思想,也是人的操作实现人对人的管理。正是因为该种思想,现今所 有cg制片管理系统都有如下问题:1.操作繁琐,概念繁复,用户学习成本极 高;2.功能有限,无法完全适应cg项目的多变性;3.没有充分解决数据处理 自动化的问题;4.项目信息的客观性较差。针对上述一些问题,设计了一种 自动化文件处理系统。


技术实现要素:

4.本发明的目的在于提供一种自动化文件处理系统,以解决上述背景技术 中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:一种自动化文件处理系统, 包括数据库子系统、流程执行子系统、操作执行子系统和用户交互子系统, 其特征在于:所述数据库子系统用于存储项目文件的自定义文件属性表;
6.所述流程执行子系统用于负责执行用户定义的流程脚本;
7.所述操作执行子系统用于负责执行用户定义的操作;
8.所述用户交互子系统用于以图形界面的方式,供用户查看其他子系统所 产生的信息,以及向其他子系统发送指令。
9.优选的,所述数据库子系统储存的自定义文件属性表为用户自定义的附 加在项目文件上的一个属性表,一个属性表可以包括多个字段,每个字段由 属性名和属性值构成。
10.优选的,所述流程执行子系统执行的流程脚本为用户用一种图灵完备的 计算机
脚本语言编写的脚本程序,目的是将文件属性信息转换为项目流程属 性信息,用户在流程脚本中可以定义项目的生产流程包含的环节、每个环节 具有的属性和属性与文件的属性构成的关系。
11.优选的,所述操作执行子系统用于执行的操作是针对一个目标文件,且 在执行的过程中操作可以读取和写入目标文件的自定义属性表,操作的主要 目的有两个,一是对一个项目文件进行生产性操作,如修改文件内容、数据 导入导出;二是将文件内容的信息转换为文件自定义属性。
12.优选的,其具体操作步骤包括:
13.步骤s1、当用户指令为执行操作脚本时,用户交互子系统将发送指令告 知操作执行子系统执行用户所指定的操作脚本;
14.步骤s2、操作脚本子系统在收到指令后,找到对应的操作脚本,并针对 每一个目标文件,都执行一次操作脚本;
15.步骤s3、当操作脚本执行完后,将通知用户交互子系统执行是顺利完成 还是失败,用户交互子系统将脚本执行成功或者失败的结果显示给用户;
16.步骤s4、当用户指令为执行流程脚本时,用户交互子系统将发送指令告 知流程执行子系统执行用户所指定的流程脚本;
17.步骤s5、流程执行子系统在收到指令后,找到对应的流程脚本,并执行 该脚本;
18.步骤s6、在步骤s5流程脚本的执行过程中,流程执行子系统根据脚本中 的指令进行操作,包括枚举项目文件、读取每个文件属性数据库,最终生成 脚本执行的结果数据,并将数据返回给用户交互子系统,之后用户交互子系 统将结果呈现给用户。
19.优选的,所述操作脚本中的操作完全由用户自定义,对目标文件进行任 意的读写,运行系统中的其他软件作为子进程,通过读写文件属性数据库, 来读写目标文件的自定义文件属性,操作脚本执行中信息将主要存储于自定 义文件属性中,未来用户执行流程脚本的时候,由流程脚本负责将自定义文 件属性以用户友好的方式进行格式化再给用户。
20.与现有技术相比,本发明的有益效果是:
21.1.本发明能能够做到最大程度的自动化处理,通过“操作”,将项目中的 各类机械性的文件处理流程变成可以无人值守且并发运行的计算机程序。用 户可同时针对大批量文件发起“操作”,而不需要一个文件一个文件的处理。
22.2.本发明功能适应性强,可随时根据需求修改流程或操作,无论是反应 项目流程的“流程脚本”还是反应数据处理环节的“操作”,都是可编程的, 且存储项目相关信息的“文件属性表”也是完全可自定义的,这样的设计可 以应对所有的项目流程需求,因为是使用图灵完备的计算机语言对项目流程 进行描述,当用户需求发生变化时,只需由td部门修改对应的程序代码,即 可立即让项目流程重新符合用户需求;对于td部门来说,因为“流程脚本
”ꢀ
和“操作”都是直接的生产业务逻辑,不需要考虑人机交互、适配性、兼容 性等,也涉及不到程序架构等高层次概念,因此其开发相当简单,由普通的 td人员经过简单培训即可胜任。团队也因此无需聘用高价格的高级开发人员。
23.3.本发明项目信息客观及时,项目经理所要知道的项目当前状态,都可 以通过“流程脚本”与“操作”自动从项目文件中提取整合出来,而不需要 人工操作进行信息提取整合。这就基本消灭了人为干预的可能性,消灭了因 人为错误而导致的偶发性信息错误。
也因为是程序自动提取整合信息,无需 等待人工处理,效率更高,信息更及时。
24.4.本发明操作简单,学习成本极低,团队中,只有td部门人员需要了解 该系统的技术内容,而不需要项目经理等非技术人员了解项目流程的规则逻 辑等等。td部门所擅长的便是将生产需求以计算机程序的形式进行实现,因 此应对各种需求、解决技术问题的效率更高。而项目经理等非技术人员不擅 长技术,也因此无需学习任何技术知识,只需根据自己的需求,点击td部门 所提供的按钮和查看程序反馈的信息即可,做到完全的简单化。
附图说明
25.图1为本发明的系统架构图;
26.图2为本发明的模型maya文件和动画maya文件操作流程图;
27.图3为本发明的灯光渲染maya文件操作流程图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.请参阅图1-3,本发明提供一种技术方案:一种自动化文件处理系统,包 括数据库子系统、流程执行子系统、操作执行子系统和用户交互子系统,其 特征在于:所述数据库子系统用于存储项目文件的自定义文件属性表;
30.所述流程执行子系统用于负责执行用户定义的流程脚本;
31.所述操作执行子系统用于负责执行用户定义的操作;
32.所述用户交互子系统用于以图形界面的方式,供用户查看其他子系统所 产生的信息,以及向其他子系统发送指令。
33.进一步的,所述数据库子系统储存的自定义文件属性表为用户自定义的 附加在项目文件上的一个属性表,一个属性表可以包括多个字段,每个字段 由属性名和属性值构成。
34.进一步的,所述流程执行子系统执行的流程脚本为用户用一种图灵完备 的计算机脚本语言编写的脚本程序,目的是将文件属性信息转换为项目流程 属性信息,用户在流程脚本中可以定义项目的生产流程包含的环节、每个环 节具有的属性和属性与文件的属性构成的关系。
35.进一步的,所述操作执行子系统用于执行的操作是针对一个目标文件, 且在执行的过程中操作可以读取和写入目标文件的自定义属性表,操作的主 要目的有两个,一是对一个项目文件进行生产性操作,如修改文件内容、数 据导入导出;二是将文件内容的信息转换为文件自定义属性。
36.进一步的,其具体操作步骤包括:
37.步骤s1、当用户指令为执行操作脚本时,用户交互子系统将发送指令告 知操作执行子系统执行用户所指定的操作脚本;
38.步骤s2、操作脚本子系统在收到指令后,找到对应的操作脚本,并针对 每一个目
标文件,都执行一次操作脚本;
39.步骤s3、当操作脚本执行完后,将通知用户交互子系统执行是顺利完成 还是失败,用户交互子系统将脚本执行成功或者失败的结果显示给用户;
40.步骤s4、当用户指令为执行流程脚本时,用户交互子系统将发送指令告 知流程执行子系统执行用户所指定的流程脚本;
41.步骤s5、流程执行子系统在收到指令后,找到对应的流程脚本,并执行 该脚本;
42.步骤s6、在步骤s5流程脚本的执行过程中,流程执行子系统根据脚本中 的指令进行操作,包括枚举项目文件、读取每个文件属性数据库,最终生成 脚本执行的结果数据,并将数据返回给用户交互子系统,之后用户交互子系 统将结果呈现给用户。
43.进一步的,所述操作脚本中的操作完全由用户自定义,对目标文件进行 任意的读写,运行系统中的其他软件作为子进程,通过读写文件属性数据库, 来读写目标文件的自定义文件属性,操作脚本执行中信息将主要存储于自定 义文件属性中,未来用户执行流程脚本的时候,由流程脚本负责将自定义文 件属性以用户友好的方式进行格式化再给用户。
44.工作原理:以下针对一个虚构的项目,举例介绍系统的工作原理。
45.在该项目中,项目经理规定,各类文件按如下规则存放:
46.x:/project/asset/maya/存放模型资产的maya文件
47.x:/project/anim/maya/存放动画的maya文件
48.x:/project/anim/alembic/存放导出的动画alembic文件
49.x:/project/lighting/maya/存放灯光渲染的maya文件
50.x:/project/render/存放渲染输出的序列帧文件
51.例1:
52.模型maya文件和动画maya文件已制作完毕,且已按要求存放至对应的 文件夹中,现在需要将所有动画都导出为alembic文件。参见附图1。
53.例2:
54.灯光渲染maya文件制作完毕,且已按要求存放至对应的文件夹中,现在 需要确认所有灯光渲染maya文件都设置正确。参见附图2。
55.具体内容为:
56.1.用户准备流程脚本和操作脚本;
57.2.在流程脚本中需要定义好如何将所有项目文件的自定义属性转换为可 供用户读取的项目状态报告信息,一个流程脚本范例伪码如下:
[0058][0059]
在操作脚本中定义要需要针对单个文件执行的处理操作,包括要将该文 件的自定义属性设定为何值。一个操作脚本范例伪代码如下:
[0060][0061][0062]
3.用户将流程脚本和操作脚本复制到软件中指定的位置,以能被软件读 取;
[0063]
4.用户通过在用户交互子系统中点击按钮,执行期望被执行的操作脚本;
[0064]
5.用户交互子系统将需要执行的脚本名发送给操作执行子系统;
[0065]
6.操作执行子系统找到脚本,然后枚举项目中的所有文件,针对每一个 文件,通过壳命令的方式(posix的exec函数或等价的方法)运行操作脚本。 可以采取一些手段选择性的只针对某些文件运行,但是并不影响该系统的设 计;
[0066]
7.当针对所有文件都运行完脚本后,操作执行子系统将执行结果(成功 或者失败)反馈给用户交互子系统;
[0067]
8.用户得知操作执行完毕后,在用户交互子系统中点击按钮,执行被期 望执行的流程脚本;
[0068]
9.用户交互子系统将需要执行的脚本名发送给流程执行子系统;
[0069]
10.流程执行子系统找到脚本,然后以壳命令的方式(posix的exec函数 或等价的方法)或者直接解释执行脚本(如内嵌lua虚拟机运行lua脚本) 的方式运行流程脚本,脚本在执行过程中,将项目文件的属性汇总处理,将 信息格式化后,透过流程执行子系统,反馈给用户交互子系统;
[0070]
11.用户即得知目前项目的各类信息。
[0071]
本发明能能够做到最大程度的自动化处理,通过“操作”,将项目中的各 类机械性的文件处理流程变成可以无人值守且并发运行的计算机程序,用户 可同时针对大批量文件发起“操作”,而不需要一个文件一个文件的处理,且 可随时根据需求修改流程或操作,无论是反应项目流程的“流程脚本”还是 反应数据处理环节的“操作”,都是可编程的,且存储项目相关信息的“文件 属性表”也是完全可自定义的,这样的设计可以应对所有的项目流程需求, 因为是使用图灵完备的计算机语言对项目流程进行描述,当用户需求发生变 化时,只需由td部门修改对应的程序代码,即可立即让项目流程重新符合用 户需求;对于td部门来说,因为“流程脚本”和“操作”都是直接的生产业 务逻辑,不需要考虑人机交互、适配性、兼容性等,也涉及不到程序架构等 高层次概念,因此其开发相当简单,由普通的td人员经过简单培训即可胜任。 团队也因此无需聘用高价格的高级开发人员;通过“流程脚本”与“操作
”ꢀ
自动从项目文件中提取整合出来,而不需要人工操作进行信息提取整合,这 就基本消灭了人为干预的可能性,消灭了因人为错误而导致的偶发性信息错 误。也因为是程序自动提取整合信息,无需等待人工处理,效率更高,信息 更及时;本发明操作简单,学习成本极低,团队中,只有td部门人员需要了 解该系统的技术内容,而不需要项目经理等非技术人员了解项目流程的规则 逻辑等等,td部门所擅长的便是将生产需求以计算机程序的形式进行实现, 因此应对各种需求、解决技术问题的效率更高。而项目经理等非技术人员不 擅长技术,也因此无需学习任何技术知识,只需根据自己的需求,点击td部 门所提供的按钮和查看程序反馈的信息即可,做到完全的简单化。
[0072]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而 言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行 多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限 定。
转载请注明原文地址: https://www.8miu.com/read-165.html

最新回复(0)