CN114792088A - 一种数字地球工作流的编辑方法及装置 - Google Patents
一种数字地球工作流的编辑方法及装置 Download PDFInfo
- Publication number
- CN114792088A CN114792088A CN202210715237.2A CN202210715237A CN114792088A CN 114792088 A CN114792088 A CN 114792088A CN 202210715237 A CN202210715237 A CN 202210715237A CN 114792088 A CN114792088 A CN 114792088A
- Authority
- CN
- China
- Prior art keywords
- workflow
- client
- file
- task
- workflow component
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种数字地球工作流的编辑方法及装置,其中,该方法包括:向服务器发送访问请求;接收所述服务器发送的所述工作流组件配置文件;接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点;根据所述第一工作流组件的属性确定多条边;根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件。本申请将数字地球中的各项工作抽象成通用的工作流组件,通过可视化操作,将数字地球工作流程中涉及的各个关键节点连接在一起,形成一个可执行的自定义工作流文件,从而满足用户的个性化需求。
Description
技术领域
本申请涉及系统开发领域,尤其涉及一种数字地球工作流的编辑方法及装置。
背景技术
在一个已部署的数字地球系统或者3D GIS(Geographic Information System)系统中,各项功能已经确定,例如系统所支持的数据类型、系统操作、数据处理流程等。当用户的需求超出系统所支持的功能范围时,系统无法满足这些需求,例如通过自定义参数的方式加载自己的数据,或实现一个记载数据、对处理后的数据进行漫游等自定义的工作流程。这些需求往往具有鲜明的个性化,即使通过不断的系统功能迭代也无法完全满足。此外,通过用户编写插件的方式进行功能的扩展又会对用户的编程水平有很高的要求。
类似的拖拽式工作流编辑在其他领域有相关的案例,例如游戏引擎中的蓝图编辑器,但在目前的数字地球系统或3D GIS系统中,尚没有相关的工作流定制、编辑与执行方法及工具。
因此,急需设计一种符合数字地球系统特点与应用的工作流编辑流程,从而满足用户的个性化需求。
发明内容
有鉴于此,本申请提供了一种数字地球工作流编辑方法及装置,仅仅通过可视化拖拽、连线、属性编辑等简单的操作,将工作流程中涉及的各个关键节点连接在一起,形成一个可执行的自定义工作流文件,从而满足用户的个性化需求。
其技术方案如下:
第一方面,本申请提供了一种数字地球工作流的编辑方法,应用于客户端,所述方法包括:
向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件;
接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上;
接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件;
根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;
根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件;
发送所述工作流文件至所述服务器。
优选地,所述访问请求,包括所述用户的角色和权限。
优选地,所述方法还包括:
从所述拖拽指令中获取目标位置;
根据所述目标位置对同一条边连接的两个任务节点中至少一个任务节点进行位置移动;
根据移动后的任务节点的位置重新生成移动后的任务节点对应的边。
优选地,在生成所述多个任务节点对应的工作流文件之后,所述方法还包括:
接收所述用户触发的执行指令,所述执行指令用于对所述工作流文件进行完整性校验;
当所述工作流文件通过所述完整性校验后,根据所述工作流文件中的各个任务节点的关系,确定所述工作流文件中各个任务节点的执行顺序;
根据所述工作流文件中各个任务节点的执行顺序,执行所述工作流文件;
监控所述工作流文件的执行过程,将所述工作流文件中的每个任务节点的状态反馈给所述用户。
第二方面,本申请提供了一种数字地球工作流的编辑方法,应用于服务器,包括:
接收客户端发送的访问请求;
根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件;
接收并存储所述客户端发送的工作流文件;其中,所述工作流文件是所述客户端根据多条边以及通过同一条边连接的两个任务节点的信息生成的;所述多条边是根据第一工作流组件的属性确定的,同一条边用于连接多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;所述第一工作流组件是使用所述客户端的用户从多个种类的工作流组件中选择的一个工作流组件。
可选地,所述接收客户端发送的访问请求之前,所述方法还包括:
根据工作流组件规范和所述工作流组件的分类生成所述工作流组件配置文件;其中,所述工作流组件规范包括:所述工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
可选地,所述根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件,包括:
根据所述访问请求确定使用所述客户端的用户的角色和权限;
根据所述用户的角色和权限发送对应的所述工作流组件配置文件。
第三方面,本申请提供了一种数字地球工作流的编辑装置,应用于客户端,包括:
发送模块,用于向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件;
显示模块,用于接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上;
接收模块,用于接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件;
确定模块,用于根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;
生成模块,用于根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件;
所述发送模块,还用于发送所述工作流文件至所述服务器。
第四方面,本申请提供了一种数字地球工作流的编辑装置,应用于服务器,包括:
接收模块,用于接收客户端发送的访问请求;
发送模块,用于根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件;
所述接收模块,还用于接收并存储所述客户端发送的工作流文件;其中,所述工作流文件是所述客户端根据多条边以及通过同一条边连接的两个任务节点的信息生成的;所述多条边是根据第一工作流组件的属性确定的,同一条边用于连接多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;所述第一工作流组件是使用所述客户端的用户从多个种类的工作流组件中选择的一个工作流组件。
上述技术方案具有如下有益效果:
本申请实施例提供的一种数字地球工作流编辑方法及装置,所述方法包括:向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件;接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上;接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件;根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件;发送所述工作流文件至所述服务器。
可见,本申请实施例将数字地球中的各项工作抽象成通用的工作流组件,通过可视化拖拽、连线等简单的操作,将数字地球工作流程中涉及的各个关键节点连接在一起,形成一个可执行的自定义工作流文件,从而满足用户的个性化需求,降低操作人员开发周期,提高工作效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数字地球工作流编辑方法的流程图;
图2为本申请实施例提供的另一种数字地球工作流编辑方法的流程图;
图3为本申请实施例提供的一种数字地球工作流编辑装置的总体架构举例示意图;
图4为本申请实施例提供的一种工作流定制与编辑的流程举例示意图;
图5为本申请实施例提供的一种工作流定制与编辑的流程举例示意图;
图6为本发明实施例提供的一种数字地球工作流编辑装置的结构示意图;
图7为本发明实施例提供的另一种数字地球工作流编辑装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了设计一种符合数字地球系统特点与应用的工作流编辑流程,从而满足用户的个性化需求,本申请实施例提供了一种数字地球工作流编辑方法,请参阅图1,为本申请实施例提供的一种数字地球工作流编辑方法的流程图,该方法应用于客户端,可以包括:
步骤S101:向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件。
需要说明的是,为简要起见,后续将“数字地球工作流”简称为“工作流”。
本申请实施例中,由客户端向服务器发送访问请求,该访问请求用于从服务器读取数字地球工作流组件配置文件。
需要说明的是,本申请实施例中,采用面向对象的思想,将数字地球的各项工作抽象成通用的工作流组件,方便自由组合以定制丰富样的工作流,满足多变的个性化需求。
作为一种优选的实施方式,所述访问请求可以包括:用户的角色和权限。
具体地,客户端可以根据用户的角色和权限访问服务器不同等级的工作流组件配置文件。例如,用户的权限越高,可以访问更高等级的工作流组件配置文件。
步骤S102:接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上。
本申请实施例中,客户端接收由服务器发送的工作流组件配置文件,根据该配置文件,将多个种类的工作流组件显示在客户端的界面上。其中,客户端可以以树状或层次结构等方式显示在界面上,供使用客户端的用户选择。
步骤S103:接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件。
本申请实施例中,当接收到用户拖拽第一工作流组件的指令后,可以根据第一工作流组件,在客户端的界面上的工作区生成多个任务节点。
需要说明的是,本申请实施例将数字地球的各项工作抽象成通用的工作流组件,通过简单的可视化操作,方便操作人员更快的构建出想要的工作流程,满足个性化的自定义功能需求,实现工作任务的定制。
步骤S104:根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同。
具体的,本发明实施例中,可以根据第一工作流组件的属性确定多条边。其中,多条边中的同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同,即当一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同时,说明这两个任务节点之间适配成功,自动生成两个任务节点之间的边。
需要说明的是,本申请实施例还可以根据工作流组件的属性生成任务节点的属性面板,用户可以使用交互式键盘来编辑工作流属性编辑。
作为一种优选的实施方式,还包括:
从所述拖拽指令中获取目标位置;
根据所述目标位置对同一条边连接的两个任务节点中至少一个任务节点进行位置移动;
根据移动后的任务节点的位置重新生成移动后的任务节点对应的边。
本申请实施例中,根据拖拽指令,在工作区生成多个任务节点之后,从拖拽指令获取用户拖拽任务节点的目标位置,根据该目标位置,同一条边连接的两个任务节点中至少一个任务节点进行位置移动,并根据移动后的任务节点的位置重新生成移动后的任务节点对应的边。
需要说明的是,在拖拽过程中,任务节点和任务节点之间的边会随着节点的位置变化而自动变化。
步骤S105:根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件。
步骤S106:发送所述工作流文件至所述服务器。
本申请实施例中,根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件,并将该工作流文件发送给服务器,以便服务器存储该工作流文件。其中,任务节点的信息可以包括任务节点ID、任务节点对应的工作流组件名称、任务节点输入参数类型、任务节点属性配置参数。边信息可以包括边的ID、边的起点任务节点ID、边的终点任务节点ID、边生效条件、边的终点任务节点参数等。
需要说明的是,客户端可以从服务器读取工作流文件,以树状或者层次结构等方式将工作流文件显示出来。进一步地,服务器还提供了用户在客户端界面上,对工作流文件的文件管理功能,包括新建文件夹、新建文件、删除文件夹、删除文件、文件夹重命名、文件重命名等。
从上述技术方案可以看出,本申请实施例提供的一种数字地球工作流编辑方法及装置,所述方法包括:向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件;接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上;接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件;根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件;发送所述工作流文件至所述服务器。
可见,本申请实施例将数字地球中的各项工作抽象成通用的工作流组件,通过可视化拖拽、连线等简单的操作,将数字地球工作流程中涉及的各个关键节点连接在一起,形成一个可执行的自定义工作流文件,从而满足用户的个性化需求,降低操作人员开发周期,提高工作效率。
而且,本申请实施例提供可视化的工作流程,方便操作人员更快的构建出想要的工作流程,满足个性化的自定义功能需求,对用户编程水平无要求。
可选地,在上述任一实施例的基础上,还包括:
根据工作流组件规范生成新的工作流组件;所述工作流组件规范包括:工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
具体地,本申请实施例中用户可以根据工作流组件规范生成新的工作流组件,从而实现工作流组件的自定义扩展,满足用户的个性化需求。
由此可见,本申请实施例中采用面向对象思想对数字地球系统或3D GIS系统各项功能、工作流程进行分解、抽象与分类,每个工作流组件能够独立进行编辑和执行,各工作流文件之间的节点松耦合,方便自由组合以定制丰富样的工作流文件,满足多变的个性化需求。
需要说明的是,所述工作流组件规范可以包括:工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
其中,工作流组件的名称为工作流组件的ID,是一个必选项;工作流组件的参数为工作流组件的参数类型的定义,是一个可选项,每个参数可以包括参数名称、参数类型、参数默认值等配置规则;工作流组件的属性为工作流组件可配置的属性类型,用户可以进行属性编辑,是一个可选项;工作流组件的返回值为工作流组件返回值类型,是一个必选项;工作流组件的执行方法为工作流组件运行时的执行方法,是一个必选项;工作流组件的清除方法为工作流组件的结果清理函数,是一个必选项。
可选地,在上述任一实施例的基础上,在生成所述多个任务节点对应的工作流文件之后,还包括:
接收所述用户触发的执行指令,所述执行指令用于对所述工作流文件进行完整性校验;
当所述工作流文件通过所述完整性校验后,根据所述工作流文件中的各个任务节点的关系,确定所述工作流文件中各个任务节点的执行顺序;
根据所述工作流文件中各个任务节点的执行顺序,执行所述工作流文件;
监控所述工作流文件的执行过程,将所述工作流文件中的每个任务节点的状态反馈给所述用户。
本申请实施例中,在生成多个任务节点对应的工作流文件之后,当接收用户触发的执行指令,对工作流文件进行完整性校验,用于校验工作流的完整性,避免出现工作流节点未连接、节点连接错误等问题。
在工作流文件通过所述完整性校验之后,根据所述工作流文件中的各个任务节点的关系,确定工作流文件中各个任务节点的执行顺序,根据所述工作流文件中各个任务节点的执行顺序,执行所述工作流文件。
具体地,根据所述工作流文件中各个任务节点的执行顺序,执行所述工作流文件的过程可以是为工作流默认创建开始事件;为工作流中的每个节点创建对应的节点结束事件;为工作流中的每个边创建对应的边事件;为开始事件建立触发节点,具体为所有没有输入的节点;为每个节点结束事件建立触发任务,具体为触发每个输出边事件;为每个边建立触发节点,触发节点中包含判断逻辑,当输入达到时开始执行对应节点的业务逻辑;当所有节点都执行完毕后,整个工作流即执行完成。
监控工作流文件的执行过程,以避免出现工作流节点无法正确执行、工作流程阻塞等问题。例如,对于已经开始执行但长时间处于等待状态的节点,需要中断这个流程的执行并反馈执行超时的错误,并将每个节点的执行状态反馈给用户。
需要说明的是,当工作流文件执行结果后,可以将工作流文件执行后的结果进行清除,包括已加载的数据、执行状态、提示信息等,便于工作流文件再次执行。
请参阅图2,为本申请实施例公开的另一种数字地球工作流的编辑方法的流程图,该方法应用于服务器,可以包括:
步骤S201:接收客户端发送的访问请求。
步骤S202:根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件。
本申请实施例中,当接收到客户端发送的访问请求时,根据该访问请求,向客户端发送预先存储的工作流组件配置文件。
作为一种优选的实施方式,所述根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件,可以包括:
根据所述访问请求确定使用所述客户端的用户的角色和权限;
根据所述用户的角色和权限发送对应的所述工作流组件配置文件。
具体地,服务器根据访问请求确定用户的角色和权限,根据用户的角色和权限发送对应的所述工作流组件配置文件。例如,用户的权限越高,可以访问更高等级的工作流组件配置文件。
步骤S203:接收并存储所述客户端发送的工作流文件;其中,所述工作流文件是所述客户端根据多条边以及通过同一条边连接的两个任务节点的信息生成的;所述多条边是根据第一工作流组件的属性确定的,同一条边用于连接多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;所述第一工作流组件是使用所述客户端的用户从多个种类的工作流组件中选择的一个工作流组件。
本申请实施例中,工作流文件的生成过程可以参见步骤S101~步骤S106的介绍,在此不再赘述。
需要说明的是,本申请实施例中服务器可以提供常用的文件管理接口供客户端调用,包括对文件夹和文件的常规操作:新建文件夹、新建文件、删除文件夹、删除文件、文件夹重命名、文件重命名等。用户拥有自己的存储空间来保存已编辑的工作流文件,可访问自己的工作流文件,别的用户无法访问。
可见,本申请实施例将数字地球中的各项工作抽象成通用的工作流组件,通过可视化拖拽、连线等简单的操作,将数字地球工作流程中涉及的各个关键节点连接在一起,形成一个可执行的自定义工作流文件,从而满足用户的个性化需求,降低操作人员开发周期,提高工作效率。
可选地,在上述任一实施例的基础上,所述接收客户端发送的访问请求之前,可以包括:
根据工作流组件规范和所述工作流组件的分类生成所述工作流组件配置文件;其中,所述工作流组件规范包括:所述工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
本申请实施例中,根据工作流组件规范和所述工作流组件的分类生成所述工作流组件配置文件,所述工作流组件规范可以包括:工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
其中,工作流组件的名称为工作流组件的ID,是一个必选项;工作流组件的参数为工作流组件的参数类型的定义,是一个可选项,每个参数可以包括参数名称、参数类型、参数默认值等配置规则;工作流组件的属性为工作流组件可配置的属性类型,用户可以进行属性编辑,是一个可选项;工作流组件的返回值为工作流组件返回值类型,是一个必选项;工作流组件的执行方法为工作流组件运行时的执行方法,是一个必选项;工作流组件的清除方法为工作流组件的结果清理函数,是一个必选项。
需要说明的是,本申请实施例中采用面对对象的思想,对数字地球系统或3D GIS系统的各项功能、工作流程进行抽象与分类。
其中,主要的工作流组件类别与示例如下表所示:
组件类型 | 类型描述 | 组件示例 |
数据源 | 数字地球支持的数据源 | 远程数据源、图层、KML数据、Json数据、模型、场景相机、风、云等 |
数据加载 | 各类数据源加载方法 | 加载图层、加载场景对象、加载KML、加载Json等 |
可视化 | 数字地球支持的可视化方法和可视化方式 | 三维标注、三维对象(圆锥、圆柱等)、脉冲特效、流线特效、粒子系统、体渲染等 |
分析 | 各类数据分析与空间分析方法 | 统计分析、视域分析、遥感指标计算方法等 |
相机操作 | 三维场景相机的各类操作方法 | 平移、旋转、缩放、定位至某位置、回到初始位置等 |
图表 | 常用的图表 | 折线图、柱状图、饼图、桑基图等 |
数学运算 | 常用的数学运算 | 加、减、乘、除、对数等 |
数据适配 | 数据类型的适配与合并,便于灵活的组件参数配置 | 数据转换、数据合并等 |
条件分支 | 条件判断,便于工作流中按照不同条件执行后续的工作流 | 条件判断节点 |
其他类别 | 根据实际情况扩展其他类型 |
接下来以一个具体的应用场景例进行详细说明。
请参阅图3,为本申请实施例提供的一种数字地球工作流编辑装置的总体架构举例示意图。
在图3中,客户端主要负责工作流定制与编辑、工作流执行、工作流管理。其中,工作流定制与编辑可以包括工作流任务节点管理、连线(边)管理、ID管理、拖拽编辑、属性编辑、接口适配等。
工作流任务节点管理包括根据工作流组件类型自动生成任务节点、根据组件属性配置生成任务节点的属性面板,便于用户进行编辑、节点位置管理、输入输出节点管理、节点执行状态管理、拖拽式节点定位、节点删除等。连线(边)管理包括拖拽式的线段/曲线生成、边的形状跟随任务节点位置自动变化、生效条件编辑、线段/曲线删除等。ID管理主要为工作流任务节点和边提供全局的ID配置与管理。拖拽编辑支持通过拖拽的方式自动生成工作流任务节点和工作流节点的位置编辑。用户将工作流组件拖拽至工作区后,可根据工作流组件类型自动生成任务节点、根据组件属性配置生成任务节点的属性面板,便于用户进行编辑。用户可拖拽工作区中的工作流任务节点进行位置编辑,拖拽过程中,连线(边)的形状随节点位置变化而自动变化。属性编辑支持交互式键盘输入来编辑工作流属性编辑。接口适配支持以连线的方式完成不同节点之间的接口匹配和连接。在接口适配过程中,一个工作流节点的输出类型和另一个节点的输入参数类型相同时才能适配成功,并自动生成边,否则适配失败。
请参阅图4,为本申请实施例提供的一种工作流定制与编辑的流程举例示意图。
工作流执行可以包括流程校验、执行调度、执行监控、异常处理、结果清除等。
工作流的流程校验用于校验工作流的完整性,避免出现工作流节点未连接、节点连接错误等问题。工作流执行调度为根据工作流节点的上下游关系安排每个工作流节点的执行次序,以保证每个工作流节点在执行时都可以获取到所需的输入参数。执行调度支持顺序执行、条件判断、同步执行、竞争执行等功能。例如:工作流执行调度的工作流程可以如下所示:为工作流默认创建开始事件;为工作流中的每个节点创建对应的节点结束事件;为工作流中的每个边创建对应的边事件;为开始事件建立触发节点,具体为所有没有输入的节点;为每个节点结束事件建立触发任务,具体为触发每个输出边事件;为每个边建立触发节点,触发节点中包含判断逻辑,当输入达到时开始执行对应节点的业务逻辑;当所有节点都执行完毕后,整个工作流即执行完成。
工作流执行监控用于监控工作流的执行过程,以避免出现工作流节点无法正确执行、工作流程阻塞等问题。执行引擎通过监控每个节点的执行,对于已经开始执行但长时间处于等待状态的节点,需要中断这个流程的执行并反馈执行超时的错误。
工作流执行过程中监控每个节点的执行状态,例如等待、执行中、执行完成、出错等,并把每个节点的执行状态反馈给用户。
工作流异常处理指的是对于执行出错的工作流节点,执行引擎可以捕获异常,并把异常信息反馈给调用方并展示给用户。结果清除指的是将工作流执行后的结果进行清除,包括已加载的数据、执行状态、提示信息等,便于工作流再次执行。
请参阅图5,为本申请实施例提供的一种工作流定制与编辑的流程举例示意图。
服务器主要负责工作流组件管理、工作流文件管理、工作流访问控制等。
其中,工作流组件管理可以包括根据上述工作流组件规范和工作流分类,编写工作流组件配置文件,并存储在服务器端。用户根据访问权限获取工作流组件配置后显示在客户端。
工作流文件管理可以包括以文件管理的形式实现用户定制的工作流管理,工作流以文件的形式存储在服务器上。提供常用的文件管理接口供客户端调用,包括对文件夹和文件的常规操作:新建文件夹、新建文件、删除文件夹、删除文件、文件夹重命名、文件重命名等。
工作流访问控制主要包括工作流组件的访问控制和工作流文件的访问控制。工作流组件的访问控制指的是用户根据自己的角色和权限访问不同等级的工作流组件类型;工作流文件的访问控制指的是用户拥有自己的存储空间来保存已编辑的工作流文件,可访问自己的工作流文件,别的用户无法访问。
需要说明的是,由于本申请实施例采用面向对象的思想,将数字地球的各项工作抽象成通用的工作流组件,因此需要对工作流组件进行规范。其中,工作流组件规范包括组件名称、参数类型定义、返回值类型定义、组件执行方法、结果清理方法等。关于工作流组件规范和工作流组件分类已经在前一实施例中详细介绍,在此不再赘述。
在生成工作流文件时,需要对工作流文件进行规范。其中,工作流规范包括工作流文件ID、工作流任务节点、边等。
工作流文件ID为工作流文件的名称,是一个必选项,且全局唯一。
任务节点为工作流文件的任务节点,每个任务节点都是某个工作流组件的实例;任务节点定义规则包括节点ID、节点名称、节点对应的工作流组件名称、节点输入参数类型、节点属性配置参数等。
边为连接工作流文件任务节点的线条,例如折线或曲线等;边定义规则包括边ID、边的起点节点ID、边的终点节点ID、边生效条件、边的终点节点参数等。
从上述技术方案可以看出,本申请具有如下优点:
(1)提出了一种可视化、交互式、拖拽式的数字地球工作流编辑方法及装置,填补了数字地球系统中的工作流编辑方式的空白。
(2)通过提供可视化的工作流程,方便操作人员更快的构建出想要的工作流程,满足个性化的自定义功能需求,零代码,对用户编程水平无要求,能够降低开发周期,减少工作量并提高工作效率。
(3)采用面向对象的思想对数字地球系统或3D GIS系统各项功能、工作流程进行分解、抽象与分类,每个工作流组件和边均有自己配置规范、参数、属性配置与方法,能够独立进行属性编辑和执行。各工作流节点间松耦合,方便自由组合以定制丰富样的工作流,满足多变的个性化需求。
本申请实施例还提供了一种数字地球工作流的编辑装置,应用于客户端,请参阅图6,示出了该装置的结构示意图,可以包括:发送模块601、显示模块602、接收模块603、确定模块604、生成模块605。
发送模块601,用于向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件。
显示模块602,用于接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上。
接收模块603,用于接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件。
确定模块604,用于根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同。
生成模块605,用于根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件。
所述发送模块,还用于发送所述工作流文件至所述服务器。
本申请实施例还提供了一种数字地球工作流的编辑装置,应用于服务器,请参阅图7,示出了该装置的结构示意图,可以包括:接收模块701、发送模块702。
接收模块701,用于接收客户端发送的访问请求。
发送模块702,用于根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件。
所述接收模块,还用于接收并存储所述客户端发送的工作流文件;其中,所述工作流文件是所述客户端根据多条边以及通过同一条边连接的两个任务节点的信息生成的;所述多条边是根据第一工作流组件的属性确定的,同一条边用于连接多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;所述第一工作流组件是使用所述客户端的用户从多个种类的工作流组件中选择的一个工作流组件。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本领域技术人员可以理解,图所示的流程图仅是本申请的实施方式可以在其中得以实现的一个示例,本申请实施方式的适用范围不受到该流程图任何方面的限制。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数字地球工作流的编辑方法,其特征在于,应用于客户端,所述方法包括:
向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件;
接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上;
接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件;
根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;
根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件;
发送所述工作流文件至所述服务器。
2.根据权利要求1所述的方法,其特征在于,所述访问请求,包括所述用户的角色和权限。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据工作流组件规范生成新的工作流组件;所述工作流组件规范包括:工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述拖拽指令中获取目标位置;
根据所述目标位置对同一条边连接的两个任务节点中至少一个任务节点进行位置移动;
根据移动后的任务节点的位置重新生成移动后的任务节点对应的边。
5.根据权利要求1所述的方法,其特征在于,在生成所述多个任务节点对应的工作流文件之后,所述方法还包括:
接收所述用户触发的执行指令,所述执行指令用于对所述工作流文件进行完整性校验;
当所述工作流文件通过所述完整性校验后,根据所述工作流文件中的各个任务节点的关系,确定所述工作流文件中各个任务节点的执行顺序;
根据所述工作流文件中各个任务节点的执行顺序,执行所述工作流文件;
监控所述工作流文件的执行过程,将所述工作流文件中的每个任务节点的状态反馈给所述用户。
6.一种数字地球工作流的编辑方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的访问请求;
根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件;
接收并存储所述客户端发送的工作流文件;其中,所述工作流文件是所述客户端根据多条边以及通过同一条边连接的两个任务节点的信息生成的;所述多条边是根据第一工作流组件的属性确定的,同一条边用于连接多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;所述第一工作流组件是使用所述客户端的用户从多个种类的工作流组件中选择的一个工作流组件。
7.根据权利要求6所述的方法,其特征在于,所述接收客户端发送的访问请求之前,所述方法还包括:
根据工作流组件规范和所述工作流组件的分类生成所述工作流组件配置文件;其中,所述工作流组件规范包括:所述工作流组件的名称、参数、属性、返回值、执行方法、清除方法。
8.根据权利要求6所述的方法,其特征在于,所述根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件,包括:
根据所述访问请求确定使用所述客户端的用户的角色和权限;
根据所述用户的角色和权限发送对应的所述工作流组件配置文件。
9.一种数字地球工作流的编辑装置,其特征在于,应用于客户端,所述装置包括:
发送模块,用于向服务器发送访问请求,其中,所述访问请求用于从所述服务器读取工作流组件配置文件;
显示模块,用于接收所述服务器发送的所述工作流组件配置文件,将多个种类的工作流组件显示在所述客户端的界面上;
接收模块,用于接收使用所述客户端的用户对第一工作流组件的拖拽指令,根据所述拖拽指令在所述客户端的界面上的工作区生成多个任务节点,所述第一工作流组件为所述用户从所述多个种类的工作流组件中选择的一个工作流组件;
确定模块,用于根据所述第一工作流组件的属性确定多条边,其中,同一条边用于连接所述多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;
生成模块,用于根据所述多条边以及通过同一条边连接的两个任务节点的信息,生成所述多个任务节点对应的工作流文件;
所述发送模块,还用于发送所述工作流文件至所述服务器。
10.一种数字地球工作流的编辑装置,其特征在于,应用于服务器,所述装置包括:
接收模块,用于接收客户端发送的访问请求;
发送模块,用于根据所述访问请求,向所述客户端发送预先存储的工作流组件配置文件;
所述接收模块,还用于接收所述客户端发送的工作流文件;
存储模块,用于存储所述客户端发送的工作流文件;
其中,所述工作流文件是所述客户端根据多条边以及通过同一条边连接的两个任务节点的信息生成的;所述多条边是根据第一工作流组件的属性确定的,同一条边用于连接多个任务节点中的两个任务节点,所述两个任务节点中一个任务节点的输出参数类型和另一个任务节点的输入参数类型相同;所述第一工作流组件是使用所述客户端的用户从多个种类的工作流组件中选择的一个工作流组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210715237.2A CN114792088A (zh) | 2022-06-23 | 2022-06-23 | 一种数字地球工作流的编辑方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210715237.2A CN114792088A (zh) | 2022-06-23 | 2022-06-23 | 一种数字地球工作流的编辑方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114792088A true CN114792088A (zh) | 2022-07-26 |
Family
ID=82463038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210715237.2A Pending CN114792088A (zh) | 2022-06-23 | 2022-06-23 | 一种数字地球工作流的编辑方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114792088A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813391A (zh) * | 2020-07-21 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 工作流生成方法、装置、计算机设备及存储介质 |
CN112162727A (zh) * | 2020-09-16 | 2021-01-01 | 深圳晶泰科技有限公司 | 云端高性能科学计算工作流设计控制系统及用户图形界面 |
WO2021238271A1 (zh) * | 2020-05-28 | 2021-12-02 | 浪潮电子信息产业股份有限公司 | 基于容器云的应用创建方法、装置及电子设备和存储介质 |
WO2022056735A1 (zh) * | 2020-09-16 | 2022-03-24 | 深圳晶泰科技有限公司 | 云端高性能科学计算工作流设计控制系统及用户图形界面 |
CN114385233A (zh) * | 2022-03-24 | 2022-04-22 | 山东省计算中心(国家超级计算济南中心) | 一种跨平台自适应数据处理工作流系统及方法 |
-
2022
- 2022-06-23 CN CN202210715237.2A patent/CN114792088A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021238271A1 (zh) * | 2020-05-28 | 2021-12-02 | 浪潮电子信息产业股份有限公司 | 基于容器云的应用创建方法、装置及电子设备和存储介质 |
CN111813391A (zh) * | 2020-07-21 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 工作流生成方法、装置、计算机设备及存储介质 |
CN112162727A (zh) * | 2020-09-16 | 2021-01-01 | 深圳晶泰科技有限公司 | 云端高性能科学计算工作流设计控制系统及用户图形界面 |
WO2022056735A1 (zh) * | 2020-09-16 | 2022-03-24 | 深圳晶泰科技有限公司 | 云端高性能科学计算工作流设计控制系统及用户图形界面 |
CN114385233A (zh) * | 2022-03-24 | 2022-04-22 | 山东省计算中心(国家超级计算济南中心) | 一种跨平台自适应数据处理工作流系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634598B (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN109213754B (zh) | 一种数据处理系统及数据处理方法 | |
US7974896B2 (en) | Methods, systems, and computer program products for financial analysis and data gathering | |
US9245256B2 (en) | Assigning and managing reviews of a computing file | |
AU2017216248B2 (en) | Systems and methods for generating electronic document templates and electronic documents | |
CN112015412A (zh) | 基于表单引擎生成业务模型的装置及方法 | |
CN108388623B (zh) | Er关系生成方法、装置、计算机设备及存储介质 | |
CN106155719A (zh) | 一种利用USB装置实现openstack快速部署的方法及系统 | |
CN115310420A (zh) | 一种仿真分析报告的生成方法、装置、设备以及存储介质 | |
CN111723515A (zh) | 一种运行算子的方法、装置及系统 | |
CN113590097B (zh) | 一种api接口的生成方法、装置、电子设备及存储介质 | |
CN108388576B (zh) | 交互式生成图谱的方法和系统 | |
CN114489762A (zh) | 一种多版本应用的实现方法、系统及电子设备 | |
CN114386920A (zh) | 基于数据共享的信息化运行系统及方法 | |
CN101118536A (zh) | 一种分解任务表单的方法和装置 | |
CN114792088A (zh) | 一种数字地球工作流的编辑方法及装置 | |
WO2019242167A1 (zh) | 一种需求管理方法及计算机设备 | |
US11699115B2 (en) | System and method for modular customization of intermediate business documentation generation | |
CN114936152A (zh) | 应用测试方法及设备 | |
CN112464085B (zh) | 一种房源推荐的方法、装置、电子设备及存储介质 | |
CN114510180A (zh) | 一种应用程序的角色权限控制方法、装置和移动终端 | |
CN113377368A (zh) | 项目开发方法、装置、服务器及存储介质 | |
CN113806327A (zh) | 一种数据库设计方法、装置及相关设备 | |
CN113704593B (zh) | 一种运营数据处理方法及相关装置 | |
CN112130841B (zh) | Sql开发方法、装置及终端设备 |
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 |