一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流程处理方法、装置及计算机系统与流程

2022-02-20 05:24:35 来源:中国专利 TAG:


1.本技术涉及可视化流程设计技术领域,特别是涉及流程处理方法、装置及计算机系统。


背景技术:

2.可视化应用程序设计是一种快捷、高效的程序设计方法,通过对预先设计好的页面元素(输入框、下拉选择框、搜索框等)的拖拽选择,以及相关文案、数据等信息的配置等,便可以设计出具体的应用页面。其优点是应用设计人员可以不用编写或者只需编写很少的程序代码,就能完成应用页面的设计,从而极大地提高了应用设计人员的工作效率以及技术门槛,即使是非专业的人员等,也可以设计出符合需求的应用程序。这在企业管理类应用程序的设计方面的价值尤为明显,例如,企业内部的财务人员可以设计出财务报销方面的应用,客户经理人员可以设计出客户关系管理应用,等等,实现企业管理各项服务的系统化、线上化。
3.企业管理类应用的可视化应用设计器中,通常可以将待设计的页面分为基础信息、工作协同、数据展示等几个方面。其中工作协同部分可能会涉及到很多流程设计的部分。例如,某财务报销类的应用,所需的基础信息包括报销类型、费用发生日期、金额、描述、附件等,基础信息页面中就可以设计出用于录入上述信息的表单;在流程设计部分,对具体的审批流程进行设计,例如,首先由一级主管审批,然后根据具体金额确定是否提交到部门对应的财务审批,等等。完成基础信息页面以及流程设计后,可以对具体的应用进行上线发布,具体的企业员工在需要进行财务报销时,便可以通过基础信息页面填写具体需要报销的数据,之后,会按照设定好的流程流转到各级审批人员处进行审批,还可以通过页面查询各级审批节点的状态,等等。
4.其中,在流程设计器中,一种方式是提供添加审批人、审批条件等元素的操作选项,由设计人员根据具体的需求选择向流程中添加各级审批人,设定流转条件等。或者,针对一些比较复杂的流程,流程中可能包括多个分支判断,则还可以采用一种相对高级的流程设计。具体的,可以提供流程图中所需的节点、线条等元素,使得设计人员可以对照已有的或者手绘的流程图,通过对节点、线条等进行拖拽的方式,绘制电子版的流程图结构,之后再对具体节点、连线上的数据,包括具体的审批人、流转条件、相关的数据等进行配置,以完成流程设计。
5.但是,在对流程图中的数据进行配置时,需要用户感知设计器中定义的一些概念,例如,事件、活动、网关、流向,等等。用户在配置一个完整的流程过程中需要不断运用到上述概念,才能将线下的流程转换成线上的流程。这对于非专业人员来说,领域壁垒比较高,流程转化效率较低,不利于普通人员快速、准确地实现流程。
6.因此,如何更方便快捷地进行可视化流程设计,成为需要本领域技术人员解决的技术问题。


技术实现要素:

7.本技术提供了流程处理方法、装置及计算机系统,能够提升流程设计效率。
8.本技术提供了如下方案:
9.一种流程处理方法包括:
10.获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
11.将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
12.根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码。
13.一种流程处理方法,包括:
14.获取纸质流程图的扫描图像;
15.根据扫描图像识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
16.将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
17.根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码;
18.将所述流程处理代码集成到关联的应用程序的代码中,以便在所述应用程序运行过程中,生成下一流程节点的待执行任务,并将所述待执行任务流转到所述下一流程节点。
19.一种生成应用程序的方法,包括:
20.提供用于对基础表单数据进行可视化设计的操作界面,所述操作界面中包括候选表单元素列表,编辑区域,以及用于对表单元素的内容和/或属性进行配置的操作选项;
21.根据被选择到编辑区域的表单元素,表单元素之间的布局信息,以及被配置的内容和/或属性信息,生成基础表单代码;
22.获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
23.将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
24.根据所述流程元素对象的属性信息以及布局关系信息,生成流程处理代码;
25.将所述基础表单代码以及所述流程处理代码组合生成目标应用程序的代码;
26.提供所述目标应用程序的链接,以便根据所述链接访问所述目标应用程序的页面,通过所述页面接收到基础数据后,根据所述流程处理代码生成下一流程节点的待执行任务,并将所述任务流转到所述下一流程节点。
27.一种表单处理方法,包括:
28.获取包含有表单图的图像数据,并根据图像数据识别出所述表单图中包含的组成元素以及组成元素之间的布局关系信息;
29.将所述组成元素映射为通过编程语言定义的表单元素对象,并确定所述表单元素对象关联的数据内容和/或属性信息;
30.根据所述表单元素对象的数据内容和/或属性信息以及所述布局关系信息,生成表单代码。
31.一种流程处理装置,包括:
32.图像识别单元,用于获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
33.映射单元,用于将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
34.代码生成单元,用于根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码。
35.一种流程处理装置,包括:
36.图像扫描单元,用于获取纸质流程图的扫描图像;
37.关系识别单元,用于根据扫描图像识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
38.元素映射单元,用于将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
39.代码确定单元,用于根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码;
40.代码处理单元,用于将所述流程处理代码集成到关联的应用程序的代码中,以便在所述应用程序运行过程中,生成下一流程节点的待执行任务,并将所述待执行任务流转到所述下一流程节点。
41.一种生成应用程序的装置,包括:
42.界面提供单元,用于提供用于对基础表单数据进行可视化设计的操作界面,所述操作界面中包括候选表单元素列表,编辑区域,以及用于对表单元素的内容和/或属性进行配置的操作选项;
43.基础代码生成单元,用于根据被选择到编辑区域的表单元素,表单元素之间的布局信息,以及被配置的内容和/或属性信息,生成基础表单代码;
44.布局信息识别单元,用于获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
45.对象映射单元,用于将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
46.流程代码生成单元,用于根据所述流程元素对象的属性信息以及布局关系信息,生成流程处理代码;
47.目标代码生成单元,用于将所述基础表单代码以及所述流程处理代码组合生成目标应用程序的代码;
48.目标链接提供单元,用于提供所述目标应用程序的链接,以便根据所述链接访问所述目标应用程序的页面,通过所述页面接收到基础数据后,根据所述流程处理代码生成下一流程节点的待执行任务,并将所述任务流转到所述下一流程节点。
49.一种表单处理装置,包括:
50.布局信息确定单元,用于获取包含有表单图的图像数据,并根据图像数据识别出所述表单图中包含的组成元素以及组成元素之间的布局关系信息;
51.元素对象处理单元,用于将所述组成元素映射为通过编程语言定义的表单元素对
象,并确定所述表单元素对象关联的数据内容和/或属性信息;
52.表单代码生成单元,用于根据所述表单元素对象的数据内容和/或属性信息以及所述布局关系信息,生成表单代码。
53.根据本技术提供的具体实施例,本技术公开了以下技术效果:
54.通过本技术实施例提供的技术方案,可以通过对包含有流程图的图像进行识别的方式,识别出其中包含的组成元素以及相互之间的布局关系信息,并且可以将组成元素映射为通过编程语言定义的流程元素对象,并确定出所述流程元素对象的属性信息。进而,可以根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码。通过该方案,在进行可视化流程设计时,不再需要用户一一拖拽具体的图元,或者对图元的属性进行手动配置(即使需要也只是执行部分微调处理),而是可以直接自动识别获得,因此,可以提升可视化流程设计的效率,相对于现有技术的方案,可以进一步降低领域壁垒,使得非程序开发领域的人员也可以方便高效地进行应用程序设计。
55.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
56.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1-1至1-9是本技术实施例提供的应用示意图;
58.图2是本技术实施例提供的应用架构示意图;
59.图3是本技术实施例提供的第一方法的流程图;
60.图4是本技术实施例提供的流程元素示意图;
61.图5本技术实施例提供的组织架构模拟示意图;
62.图6是本技术实施例提供的第二方法的流程图;
63.图7是本技术实施例提供的第三方法的流程图;
64.图8是本技术实施例提供的第四方法的流程图;
65.图9是本技术实施例提供的第一装置的示意图;
66.图10是本技术实施例提供的第二装置的示意图;
67.图11是本技术实施例提供的第三装置的示意图;
68.图12是本技术实施例提供的第四装置的示意图;
69.图13是本技术实施例提供的计算机系统的示意图。
具体实施方式
70.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
71.为便于将本技术实施例提供的技术方案与现有技术中的方案进行对比,下面首先
对背景技术部分提到的相对高效的可视化的流程处理方案进行介绍。
72.假设某企业的财务报销审批流程如图1-1所示,在利用可视化应用设计器进行应用设计时,首先可以对基础数据进行配置,具体的,如图1-2所示,设计器中可以提供多种可选的表单元素,包括单行输入框、多行输入框、下拉选择等等,可以根据具体基础数据的类型等,选择表单元素,进行基础数据页面的搭建。在选择具体某个表单元素后,还可以对具体表单元素进行配置,包括标题,描述信息,提示文字,宽度,等等。最终配置完成的基础数据页面可以如图1-3所示。其中可以包括报销类型、费用发生日期、金额、描述、附件等字段,后续应用上线后,具体的企业员工等用户在需要进行报销时,便可以在相应的页面中填写上述信息并发起报销请求。
73.完成基础数据的配置后,可以进入到具体的审批流程配置。为进行流程配置,如图1-4所示,设计器页面中可以提供可供选择的流程元素,这些流程元素通常是系统中按照流程元素的类型、功能等进行抽象后进行定义的,例如,可以包括人工节点、自动节点、分支节点、聚合节点、抄送节点等。用户在进行流程设计的过程中,可以根据需求从中选择对应的节点拖拽到中央的编辑区。例如,对应图1-1中的流程图,首先可以选择一个人工节点拖拽到编辑区。在编辑区选择具体的节点后,界面中还可以提供用于对节点进行配置的选项,如图1-5所示,可以对节点所需的审批人规则进行配置,包括选择具体的审批人,等等。之后还可以将更多的其他节点拖拽到编辑区,还可以在编辑区绘制节点之间的连线,并设置线执行规则,如图1-6所示。最终经过多次的节点拖拽,连线绘制,以及相应的审批人规则、线执行规则进行设置完成后,便可以生成如图1-7所示的电子流程图。该电子流程图在后台对应着一份json等格式的页面数据,在将电子流程图完成设计并保存后,可以通过设计器页面进行发布。之后,可以为具体的应用页面生成对应的访问链接,企业内的员工等用户便可以通过该链接访问到上述通过设计器设计的页面。例如,如图1-8所示,用户访问的页面中可以展示出用于填写基础数据的表单,在用户完成填写并提交之后,便可以按照前述设置的流程在各级审批人之间进行流转。报销发起人还可以在自己的页面中查看到申请内容,以及相应的流程状态,等等。
74.可见,在上述进行可视化流程设计的过程中,需要用户理解什么是人工节点,什么是自动节点、分支节点、聚合节点,等等,另外,还需要针对具体节点上的审批人规则,节点间的线执行规则等进行手动配置,领域壁垒比较高,过程比较耗时。
75.针对上述情况,在本技术实施例中提供了新的解决方案,在该方案中,可以通过对纸质等载体上的流程图(例如,可以是已有的文献资料中的流程图,或者手动绘制的流程图等)进行识别(例如ocr识别等)的方式,识别出其中的流程图中包含的组成元素,具体可以包括图形、符号、文字等等。之后,可以根据预先建立的规则库,将具体的组成元素映射为流程建模中的标记符号,以便确定对应的流程建模含义。例如,识别出流程图中包括一矩形框,可以映射为“人工节点”,含义是需要人工审批的活动;将圆角矩形映射为“自动节点”,含义是自动完成,不需要人工审批的活动,等等。在完成上述映射后,还可以根据具体的流程建模含义,映射为流程元素对象,并确定出对应的属性信息(名称,描述信息等)。其中,所谓的流程元素对象具体可以是指通过面向对象的编程语言定义的对象,具体实现时,可以预先定义一批流程元素对象,分别与流程建模中的多个标记符号相对应,并建立第二规则库。这样,在识别出某个组成元素对应的流程建模含义后,可以根据第二规则库映射为对应
的流程元素对象。之后,还可以通过自动识别和/或人工配置等方式,确定出流程元素对象的属性信息。最后,再根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码,例如,json代码,等等。该流程处理代码在进行保存并与基础数据进行上线发布后,可以用于进行基础数据的提交,并基于流程处理代码,对提交的申请进行后续的流转处理,包括对流转条件进行判断,并流转到各级审批人处进行处理,等等。
76.也就是说,在本技术实施例中,用户只需要准备已有的纸质流程图,或者通过制图工具绘制的流程图,甚至是手绘的流程图,即可通过ocr识别等方式(如果是纸质图,则可以首先扫描为电子版图像)进行识别,并自动将其中的流程图中包含的组成元素转换为通过编程语言定义的流程元素对象,并确定出所述流程元素对象的属性信息,进而可以根据流程图中的布局关系,组装成流程处理代码,使其成为关联的应用程序代码的一部分。另外,设计器中还可以提供手动配置界面,在自动识别的基础上,用户还可以进行一些微调,包括修改、新增、删除一些配置,等等。这样,不需要用户逐个拖动流程元素,也就不再需要理解系统抽象出的流程元素对象的含义,另外,还可以自动确定出具体流程元素对象的属性信息,因此,不需要用户对具体的节点或者连线进行手动的配置,或者仅需要在自动识别结果基础上进行微调。因此,可以提高流程设计效率,进一步降低领域壁垒。
77.从产品的系统架构角度而言,本技术实施例可以面向具有应用程序可视化设计需求的用户,提供应用程序可视化设计器,该设计器可以是独立的应用程序,或者,也可以以web等页面的形式存在。例如,对于后者,如图2所示,用户可以登录到设计页面,通过页面中提供的编辑界面等完成对应用程序的可视化设计,其中就可以包括对流程的设计,之后可以进行保存并发布。发布之后,设计器系统可以生成对应的链接,用户可以通过分享链接的方式,使得应用程序的用户可以访问对应的页面。
78.下面对本技术实施例提供的具体技术方案进行详细介绍。
79.实施例一
80.首先,本技术实施例一提供了一种流程处理方法,参见图3,该方法具体可以包括:
81.s310:获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
82.其中,流程图的图像数据可以是通过对纸质流程图进行扫描获得,或者,也可以是通过制图工具绘制的电子版的流程图。在本技术实施例中,主要的流程图可以包括需要进行可视化设计的应用程序中所涉及到的流程,例如,不同的企业等组织机构中,由于员工组织架构、规章制度等的不同,各类事务的流程会有所不同,因此,通过需要针对具体的组织机构进行个性化的企业管理类应用程序设计。通过可视化应用程序设计器,组织机构中的人力等非程序开发领域的专业人员都可以进行应用程序的设计。在对这种企业管理类的应用程序过程中,通常都会涉及到对流程的设计,例如,包括报销审批流程、请假审批流程、招聘跟进流程,等等。其中,对于一些组织机构而言,可能会存在规范的规章制度规定,关于各种流程可能存在已有的流程图(纸质或者电子版),此时,在本技术实施例中可以直接在这种流程图基础上进行识别。或者,如果并不存在已有的流程图,则用户也可以利用制图工具进行流程图的绘制,甚至可以手绘。由于绘制流程图的过程只需要按照人类能够理解的语言进行绘制,包括对具体节点的绘制,用文字来表达具体的审批人角色、流转条件,等等,因此,该过程对于用户而言并不存在技术性的难度。
83.其中,流程图中的组成元素可以包括图形、符号、文字等,具体的图形可以包括矩形框等节点类图形,还可以包括连线类图形。文字可以包括标注在具体节点内用于描述具体审批人等信息的文字,例如,“一级主管审批”,“财务接口人审批”等;或者,标注在连线上用于描述流转条件的文字,例如,“金额大于等于10000”,等等。可以通过ocr等技术对上述组成元素进行识别,另外,还可以识别出具体组成元素之间的布局信息,包括连线所连接的上下节点,等等。
84.s320:将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息。
85.由于设计器中通常是通过编程语言定义出流程元素对象,具体的代码都是基于这种流程元素对象进行表达。因此,在识别出流程图中的组成元素之后,可以将其映射为这种通过编程语言定义的流程元素对象,并确定出流程元素对象的属性信息。
86.其中,具体的映射方式可以有多种,例如,其中一种方式下,可以预先建立两个规则库。其中一个规则库中可以保存流程图中的组成元素与流程元素类型之间的对应关系,另一个规则库中则保存流程元素类型与流程元素对象之间的对应关系。其中,流程元素类型具体可以是bpmn(事务流程建模与标注)等标准中对具体的流程元素进行分类并定义的类型信息,具体可以包括人工节点、自动节点、连接线,等等;流程元素对象则可以是通过面向对象的编程语言定义的对象(这里的“对象”是面向对象编程领域的概念),其中,每个流程元素对象可以对应各自的id,以及名称、描述等属性信息,通过确定出流程元素对象的属性信息,可以使得计算机能够识别流程图中的具体的组成元素,进而才能够通过具体的可执行代码的形式对具体的流程进行表达。
87.例如,在一种具体实现方式下,系统中对人工审批节点类的流程元素对象的定义可以如下表达:
88.{
89."id":"xxxxx",
90."name":"人工审批",
91."type":"user",
92."description":"人工审批",
93."props":{
94."position":{},
95."userrule":{},
96."finishrule":true,
97."actions":[{
[0098]
"name":"同意"
[0099]
}]
[0100]
}
[0101]
}
[0102]
也即,人工审批类节点这一流程元素对象,可以具有以下属性字段:id、名称(name)、类型(type)、描述(description)、传值(props)、位置(position)、用户规则(userrule)、结束规则(finishrule)、动作(actions)等。在从流程图中识别出一个人工审
批节点后,便可以确定出对应的流程元素对象的id、名称、类型等多个属性字段上的属性信息,以此生成完整的流程元素对象实例。
[0103]
需要说明的是,为了能够进行元素映射,具体的流程图中可以采用标准化的流程建模符号进行绘制。例如,在实际应用中,可以利用bpmn(business process model and notation,事务流程建模与标记)标准进行绘制。其中,bpmn是用于构建服务流程图的一种建模语言标准,其对具体的图元如何组成流程图进行了定义,包括具体图元对应的流程元素类型以及含义,等等。例如,具体定义可以如图4所示。或者,在另一种方式下,也可以由用户对图元对应的流程元素类型以及含义进行自定义或者指定,例如,在bpmn标准中,矩形对应人工节点,圆角矩形对应自动节点,在自定义的方式下,也可以是矩形对应自动节点,圆角矩形对应人工节点,等等。用户可以在完成自定义或者指定后,进行流程图的绘制,然后再通过ocr识别的方式对其中包含的组成元素进行识别,并映射到流程元素类型以及含义。
[0104]
另外,在将具体的组成元素映射为流程元素对象后,还可以确定出流程元素对象的属性信息。具体确定属性信息的方法可以有多种,例如,一种方式下,可以直接在识别结果页面中提供人工配置入口,由用户手动配置具体流程元素对象的属性信息。或者,在另一种方式下,由于流程图中通常还可以包括一些文字信息,能够表达出具体的组成元素的属性,因此,还可以实现对配置信息的自动识别。
[0105]
其中,关于流程元素对象的属性信息具体可以包括名称、类型信息、描述信息等。具体实现时,所述第一映射规则库中还可以保存有所述流程元素类型对应的流程建模含义,此时,可以在根据第一映射规则库确定出组成元素对应的流程元素类型后,还可以根据所述流程建模含义,确定所述流程元素对象的名称和/或类别属性。
[0106]
而关于流程元素对象的描述信息,则可以根据流程图中具体的文字内容等进行确定。例如,一种情况下,如果所述流程元素对象的类型为需要人工处理的节点,则可以根据流程图中对应的组成元素关联的文字元素,确定该节点上对应的流程处理人员的角色信息;然后,从预先建立的机构成员组织架构信息中确定与所述角色信息对应的目标角色标识,并根据该目标角色标识确定所述节点类型的流程元素对象的描述信息。例如,如图1-1所示的某节点上关联的文字为“一级主管审批”,则可以在关联的组织架构信息中搜索出属于一级主管的角色id等信息,并配置到关联的流程节点上,等等。其中,关于组织架构信息,可以是在用户通过当前的设计器创建具体的应用程序之前,通过关联的即时通信等类别的工具进行创建的。例如,假设某公司的部分组织架构可以如图5所示,具体员工所在的各个部门,以及相互之间的上下级关系等都可以通过组织架构信息进行体现。在预先完成对组织架构信息的创建后,系统可以为具体的人员等分配对应的id,并关联所在的部门、角色等属性,之后,便可以实现对流程图中包含的审批人等信息的自动识别,并自动完成相关处理代码的生成。
[0107]
另外,如果所述流程元素对象的类型为自动处理的节点,则可以根据流程图中对应的组成元素关联的文字元素,确定自动执行的动作信息,例如,结束动作,等等。这种自动执行的动作信息也可以预先在系统中进行定义,在识别出需要自动执行某个动作后,可以确定出该动作对应的id等信息,并生成对应的动作执行代码。
[0108]
再者,如果所述流程元素对象的类型为连接线,则可以根据流程图中对应的组成元素关联的文字元素,以及所述连接线所在位置的上下文信息,确定所述连接线的执行规
则信息。其中,如果所述执行规则中包括对相关数据的判断,则根据所述文字元素确定预先配置的基础数据中关联的目标数据对象,以便根据所述目标数据对象的标识信息确定所述连接线的执行规则信息。例如,如图1-1中所示的流程图中,其中某条线的执行规则是,金额大于等于10000,则相关的数据对象是“金额”,如前文所述,在进行流程设计之前,通常还会首先进行基础数据的配置。在财务报销的相关应用中,“金额”会作为一项基础数据预先进行配置,相应的,系统可以生成该数据对象对应的id等信息。因此,在进行流程设计的过程中,识别出具体的线执行规则中涉及到对其中某个数据的取值等进行判断的情况时,可以直接将具体的数据对应到之前配置的基础数据对象,之后,可以利用该基础数据对象的id等信息,生成具体的线执行规则代码。
[0109]
具体实现时,还可以通过对所述流程图中的文字元素进行识别以及自然语言理解,确定所述文字元素的含义;然后根据所述文字元素的含义,确定所述流程元素对象的属性信息。
[0110]
需要说明的是,在完成对流程元素对象及其属性信息以及布局关系信息的识别之后,还可以提供用于手动调整的操作选项,使得用户可以在自动识别结果的基础上进行微调,包括修改某流程元素的属性值,或者增加某流程节点,删除某流程节点,等等。
[0111]
s330:根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码。
[0112]
在确定出多个流程元素对象及其对应的属性信息、布局关系信息之后,可以生成流程处理代码。具体实现时,具体的流程节点对象都可以对应着各自的流程引擎,这种流程引擎可以负责从某个节点到某个节点做调度,某个事件是谁发出的,识别出事件属性,连接线的关系,找到下一个审批的节点,等等。最终生成的流程处理代码将会成为关联的应用程序代码的一部分,在应用程序上线后,涉及到流程处理的部分,则可以根据这部分流程处理代码来进行具体的流程流转。
[0113]
需要说明的是,由于同一类别的流程图对应的流程代码通常具有高度相似性,尤其是具体流程元素的类型,位置,布局关系,等等,不同之处可能仅在于具体的值(例如,具体的执行人等)。因此,在具体实现时,为了进一步提高效率,还可以预先提供流程代码模板,并建立所述流程代码模板与流程图类别标识之间的对应关系。这样,在具体需要对某流程图生成流程代码时,还可以获取所述图像数据中包含的流程图所属的目标类别标识信息,然后,可以将所述流程元素对象的属性信息、布局关系信息写入所述目标类别标识信息对应的流程代码模板中,以生成所述流程处理代码。其中,可以直接在所述图像数据中包括所述目标类别标识信息,例如,图像数据中可以包括二维码或者类别代码等信息,用以代表流程图的类别标识。此时,可以从所述图像数据中识别出所述目标类别标识信息。
[0114]
或者,另一种方式下,还可以预先提供流程代码模板,并建立所述流程代码模板与关键词之间的对应关系;此时,在对所述图像数据进行识别后,可以判断所识别出的文字元素中是否包含目标关键词;如果包含目标关键词,则可以将所述流程元素对象的属性信息、布局关系信息写入所述目标关键词对应的流程代码模板中,以生成所述流程处理代码。例如,某流程图中包括“报销”这一关键词,则可以使用报销类的模板生成具体的流程代码,等等。
[0115]
另外,还可以提供用于对生成的流程处理代码进行分步确认/调整的操作选项;然
后,根据用户的操作结果,对所述流程代码模板进行优化调整。
[0116]
总之,通过本技术实施例提供的技术方案,可以通过对包含有流程图的图像进行识别的方式,识别出其中包含的组成元素以及相互之间的布局关系信息,并且可以将组成元素映射为通过编程语言定义的流程元素对象,并确定出所述流程元素对象的属性信息。进而,可以根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码。通过该方案,在进行可视化流程设计时,不再需要用户一一拖拽具体的图元,或者对图元的属性进行手动配置(即使需要也只是执行部分微调处理),而是可以直接自动识别获得,因此,可以提升可视化流程设计的效率,相对于现有技术的方案,可以进一步降低领域壁垒,使得非程序开发领域的人员也可以方便地进行应用程序设计。
[0117]
实施例二
[0118]
该实施例二是针对实施例一在实际应用中的一种具体实现方案,提供了另一种流程处理方法,参见图6,该方法具体可以包括:
[0119]
s610:获取纸质流程图的扫描图像;
[0120]
s620:根据扫描图像识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
[0121]
s630:将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
[0122]
s640:根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码;
[0123]
s650:将所述流程处理代码集成到关联的应用程序的代码中,以便在所述应用程序运行过程中,生成下一流程节点的待执行任务,并将所述待执行任务流转到所述下一流程节点。
[0124]
实施例三
[0125]
该实施例三针对一种具体的应用场景,提供了一种生成应用程序的方法,参见图7,该方法具体可以包括:
[0126]
s710:提供用于对基础表单数据进行可视化设计的操作界面,所述操作界面中包括候选表单元素列表,编辑区域,以及用于对表单元素的内容和/或属性进行配置的操作选项;
[0127]
s720:根据被选择到编辑区域的表单元素,表单元素之间的布局信息,以及被配置的内容和/或属性信息,生成基础表单代码;
[0128]
s730:获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
[0129]
s740:将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
[0130]
s750:根据所述流程元素对象的属性信息以及布局关系信息,生成流程处理代码;
[0131]
s760:将所述基础表单代码以及所述流程处理代码组合生成目标应用程序的代码;
[0132]
s770:提供所述目标应用程序的链接,以便根据所述链接访问所述目标应用程序的页面,通过所述页面接收到基础数据后,根据所述流程处理代码生成下一流程节点的待
执行任务,并将所述任务流转到所述下一流程节点。
[0133]
其中,所述应用程序包括企业管理类应用程序。
[0134]
具体实现时,还可以根据所述流程处理代码,在所述目标应用程序的页面中提供流程处理状态信息。
[0135]
实施例四
[0136]
前述实施例中主要针对流程处理方法提供了相应的解决方案,在具体实现时,类似的解决方案也可以应用于表单处理过程中。因此,该实施例四还提供了一种表单处理方法,参见图8,该方法具体可以包括:
[0137]
s810:获取包含有表单图的图像数据,并根据图像数据识别出所述表单图中包含的组成元素以及组成元素之间的布局关系信息;
[0138]
s820:将所述组成元素映射为通过编程语言定义的表单元素对象,并确定所述表单元素对象关联的数据内容和/或属性信息;
[0139]
s830:根据所述表单元素对象的数据内容和/或属性信息以及所述布局关系信息,生成表单代码。
[0140]
与前述方法实施例一相对应,本技术实施例还提供了一种流程处理装置,参见图9,该装置具体可以包括:
[0141]
图像识别单元910,用于获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
[0142]
映射单元920,用于将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
[0143]
代码生成单元930,用于根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码。
[0144]
其中,映射单元具体可以包括:
[0145]
第一映射子单元,用于根据预先建立的第一映射规则库,将所述组成元素映射到流程建模中的流程元素类型;
[0146]
第二映射子单元,用于根据预先建立的第二映射规则库以及所述组成元素对应的流程元素类型,将所述组成元素映射为所述流程元素对象。
[0147]
其中,所述第一映射规则库中还保存有所述流程元素类型对应的流程建模含义;
[0148]
所述映射单元还可以用于:
[0149]
根据所述流程建模含义,确定所述流程元素对象的名称和/或类别属性。
[0150]
所述流程图中包含的组成元素包括图形元素;
[0151]
所述第一映射规则库中具体可以保存有图形元素与流程建模中的流程元素类型之间的对应关系。
[0152]
另外,所述流程图中包含的组成元素包括文字元素;
[0153]
所述流程元素对象的属性信息包括:流程元素对象的描述信息;
[0154]
所述映射单元具体还可以用于:
[0155]
通过识别所述流程图中的文字元素,确定所述流程元素对象的描述信息。
[0156]
具体的,所述映射单元具体可以用于:
[0157]
如果所述流程元素对象的类型为需要人工处理的节点,则根据流程图中对应的组
成元素关联的文字元素,确定该节点上对应的流程处理人员的角色信息;
[0158]
从预先建立的机构成员组织架构信息中确定与所述角色信息对应的目标角色标识,并根据该目标角色标识确定所述节点类型的流程元素对象的描述信息。
[0159]
或者,所述映射单元具体可以用于:
[0160]
如果所述流程元素对象的类型为自动处理的节点,则根据流程图中对应的组成元素关联的文字元素,确定自动执行的动作信息。
[0161]
或者,所述映射单元具体可以用于:
[0162]
如果所述流程元素对象的类型为连接线,则根据流程图中对应的组成元素关联的文字元素,以及所述连接线所在位置的上下文信息,确定所述连接线的执行规则信息。
[0163]
另外,所述映射单元还可以用于:
[0164]
如果所述执行规则中包括对相关数据的判断,则根据所述文字元素确定预先配置的基础数据中关联的目标数据对象,以便根据所述目标数据对象的标识信息确定所述连接线的执行规则信息。
[0165]
与本技术实施例二相对应,本技术实施例还提供了一种流程处理装置,参见图10,该装置具体可以包括:
[0166]
图像扫描单元1010,用于获取纸质流程图的扫描图像;
[0167]
关系识别单元1020,用于根据扫描图像识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
[0168]
元素映射单元1030,用于将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
[0169]
代码确定单元1040,用于根据所述流程元素对象的属性信息以及所述布局关系信息,生成流程处理代码;
[0170]
代码处理单元1050,用于将所述流程处理代码集成到关联的应用程序的代码中,以便在所述应用程序运行过程中,生成下一流程节点的待执行任务,并将所述待执行任务流转到所述下一流程节点。
[0171]
与本技术实施例三相对应,本技术实施例还提供了一种生成应用程序的装置,参见图11,该装置具体可以包括:
[0172]
界面提供单元1110,用于提供用于对基础表单数据进行可视化设计的操作界面,所述操作界面中包括候选表单元素列表,编辑区域,以及用于对表单元素的内容和/或属性进行配置的操作选项;
[0173]
基础代码生成单元1120,用于根据被选择到编辑区域的表单元素,表单元素之间的布局信息,以及被配置的内容和/或属性信息,生成基础表单代码;
[0174]
布局信息识别单元1130,用于获取包含有流程图的图像数据,并根据图像数据识别出所述流程图中包含的组成元素以及组成元素之间的布局关系信息;
[0175]
对象映射单元1140,用于将所述组成元素映射为通过编程语言定义的流程元素对象,并确定所述流程元素对象的属性信息;
[0176]
流程代码生成单元1150,用于根据所述流程元素对象的属性信息以及布局关系信息,生成流程处理代码;
[0177]
目标代码生成单元1160,用于将所述基础表单代码以及所述流程处理代码组合生
成目标应用程序的代码;
[0178]
目标链接提供单元1170,用于提供所述目标应用程序的链接,以便根据所述链接访问所述目标应用程序的页面,通过所述页面接收到基础数据后,根据所述流程处理代码生成下一流程节点的待执行任务,并将所述任务流转到所述下一流程节点。
[0179]
与本技术实施例四相对应,本技术实施例还提供了一种表单处理装置,参见图12,该装置具体可以包括:
[0180]
布局信息确定单元1210,用于获取包含有表单图的图像数据,并根据图像数据识别出所述表单图中包含的组成元素以及组成元素之间的布局关系信息;
[0181]
元素对象处理单元1220,用于将所述组成元素映射为通过编程语言定义的表单元素对象,并确定所述表单元素对象关联的数据内容和/或属性信息;
[0182]
表单代码生成单元1230,用于根据所述表单元素对象的数据内容和/或属性信息以及所述布局关系信息,生成表单代码。
[0183]
另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
[0184]
以及一种计算机系统,包括:
[0185]
一个或多个处理器;以及
[0186]
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
[0187]
其中,图13示例性的展示出了计算机系统的架构,具体可以包括处理器1310,视频显示适配器1311,磁盘驱动器1312,输入/输出接口1313,网络接口1314,以及存储器1320。上述处理器1310、视频显示适配器1311、磁盘驱动器1312、输入/输出接口1313、网络接口1314,与存储器1320之间可以通过通信总线1330进行通信连接。
[0188]
其中,处理器1310可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术所提供的技术方案。
[0189]
存储器1320可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1320可以存储用于控制电子设备1300运行的操作系统1321,用于控制电子设备1300的低级别操作的基本输入输出系统(bios)。另外,还可以存储网页浏览器1323,数据存储管理系统1324,以及流程设计处理系统1325等等。上述流程设计处理系统1325就可以是本技术实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本技术所提供的技术方案时,相关的程序代码保存在存储器1320中,并由处理器1310来调用执行。
[0190]
输入/输出接口1313用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0191]
网络接口1314用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式
(例如移动网络、wifi、蓝牙等)实现通信。
[0192]
总线1330包括一通路,在设备的各个组件(例如处理器1310、视频显示适配器1311、磁盘驱动器1312、输入/输出接口1313、网络接口1314,与存储器1320)之间传输信息。
[0193]
需要说明的是,尽管上述设备仅示出了处理器1310、视频显示适配器1311、磁盘驱动器1312、输入/输出接口1313、网络接口1314,存储器1320,总线1330等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本技术方案所必需的组件,而不必包含图中所示的全部组件。
[0194]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
[0195]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0196]
以上对本技术所提供的流程处理方法、装置及计算机系统,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献