CN113393553B - 生成流程图的方法、装置和电子设备 - Google Patents
生成流程图的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113393553B CN113393553B CN202110677158.2A CN202110677158A CN113393553B CN 113393553 B CN113393553 B CN 113393553B CN 202110677158 A CN202110677158 A CN 202110677158A CN 113393553 B CN113393553 B CN 113393553B
- Authority
- CN
- China
- Prior art keywords
- node
- flow
- flow chart
- value
- nodes
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims description 23
- 230000008520 organization Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 229920000535 Tan II Polymers 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- 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/04845—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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种生成流程图的方法、装置和电子设备,应用于云计算或金融领域等。由服务器端执行的方法包括:接收流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;响应于流程图编辑指令,生成流程节点,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作;以及基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
Description
技术领域
本公开涉及云计算和金融技术领域,更具体地,涉及一种生成流程图的方法、装置和电子设备。
背景技术
近几年来,随着互联网,工业自动化的快速发展,各行各业对流程图的依赖越来越多。
在实现本公开构思的过程中,申请人发现相关技术中至少存在如下问题。随着各行各业自动化程度的不断提高,各种系统的关联性也越来越多,需要提供一个专业的流程定制系统和方案,以支持多工种协同定制能够用来调度执行的流程图。
发明内容
有鉴于此,本公开提供了一种支持多工种协同定制能够用来调度执行的流程图的生成流程图的方法、装置和电子设备。
本公开的一个方面提供了一种由服务器端执行的生成流程图的方法,包括:接收流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;响应于流程图编辑指令,生成流程节点,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作;以及基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
根据本公开的实施例,上述方法还包括:接收流程图创建请求;以及响应于流程图创建请求,生成流程图标识和与流程图标识对应的节点数组和节点关系数组,以生成流程图,其中,节点数组用于存储操作指令和操作对象属性信息,节点关系数组用于存储节点关联关系。
根据本公开的实施例,在生成流程图或者更新流程图之后,上述方法还包括:对流程图进行死循环检测,得到死循环检测结果;如果死循环检测结果通过,则允许运行流程图以基于操作指令和操作对象属性信息对目标对象进行操作;如果死循环检测结果通过,则禁止运行流程图。
根据本公开的实施例,对流程图进行死循环检测,得到死循环检测结果包括:将流程图中起始节点作为当前节点,将与当前节点相关联的所有后流程节点构成临时数组,如果临时数组中包括当前节点,则确定当前节点存在死循环,如果临时数组中不包括当前节点,则确定当前节点不存在死循环;以及如果确定当前节点不存在死循环,则重复执行如下操作直至当前节点存在死循环、针对当前节点的临时数组为空、或者循环次数超过节点数组中元素的总个数:将临时数组中各节点分别作为当前节点,针对每个当前节点,将与当前节点相关联的所有节点构成临时数组,如果临时数组中包括当前节点,则确定当前节点存在死循环,如果临时数组中不包括当前节点,则确定当前节点不存在死循环。
根据本公开的实施例,上述方法还包括:基于来自客户端的指定权限信息给指定用户分配操作权限;和/或获取发起流程图创建请求的用户的属性信息,属性信息包括用户所在组织的架构信息;基于架构信息分配组织中各用户针对流程图的操作权限;其中,操作权限包括:查看权限、编辑权限和运行权限中至少一种。
根据本公开的实施例,节点关联关系使用有向线条进行表示;以及生成有向线条包括:基于节点关联关系生成所针对的两个流程节点的路径信息,路径信息具有路径标识。
根据本公开的实施例,上述方法还包括:输出流程图以便在客户端进行展示;响应于针对流程图中流程节点的拖拽指令,更新有向线条,并且输出更新后的有向线条,包括:基于与路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与第一正切值对应的第一弧度,并且计算与第一弧度对应的第一正弦值和第一余弦值;以后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与第二正切值对应的第二弧度,计算与第二弧度对应的第二正弦值和第二余弦值;以路径信息建立针对路径标识的第二坐标系,并且在第二坐标系的原点初始化新有向线条;对新有向线条执行偏移操作,其中,当第一正弦值小于或等于第二正弦值时,偏移量是后流程节点宽度的一半与第一余弦值之间的比值;当第一正弦值大于第二正弦值时,偏移量是后流程节点高度的一半与第一正弦值之间的比值;以及更新针对路径标识的路径信息。
本公开的另一个方面提供了一种由客户端执行的生成流程图的方法,包括:响应于用户操作,生成流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;发送流程图编辑指令给服务器端,以便服务器端响应于流程图编辑指令,生成流程节点;并且基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图;以及接收并展示来自服务器端的流程图;其中,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。
根据本公开的实施例,上述方法还包括:响应于来自客户端的针对流程图中流程节点的拖拽操作,更新流程图中针对被拖拽的流程节点的有向线条,有向线条是基于节点关联关系生成的针对两个流程节点的路径信息,路径信息具有路径标识;以及将更新后的有向线条发送给服务器端。
根据本公开的实施例,响应于来自客户端的针对流程图中流程节点的拖拽操作,更新流程图中针对被拖拽的流程节点的有向线条,包括:基于与路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与第一正切值对应的第一弧度,并且计算与第一弧度对应的第一正弦值和第一余弦值;以后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与第二正切值对应的第二弧度,计算与第二弧度对应的第二正弦值和第二余弦值;以路径信息建立针对路径标识的第二坐标系,并且在第二坐标系的原点初始化新有向线条;对新有向线条执行偏移操作,其中,当第一正弦值小于或等于第二正弦值时,偏移量是后流程节点宽度的一半与第一余弦值之间的比值;当第一正弦值大于第二正弦值时,偏移量是后流程节点高度的一半与第一正弦值之间的比值;以及更新针对路径标识的路径信息。
本公开的另一个方面提供了一种生成流程图的装置,设置于服务器端中,该装置包括:指令接收模块、节点生成模块和流程图更新模块,其中,指令接收模块用于接收流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;节点生成模块用于响应于流程图编辑指令,生成流程节点,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作;以及流程图更新模块用于基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
本公开的另一个方面提供了一种生成流程图的装置,设置于客户端中,该装置包括:用户操作接收模块、指令发送模块和流程图接收模块。其中,用户操作接收模块用于响应于用户操作,生成流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;指令发送模块用于发送流程图编辑指令给服务器端,以便服务器端响应于流程图编辑指令,生成流程节点;并且基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图;以及流程图接收模块用于接收并展示来自服务器端的流程图;其中,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。
本公开的另一方面提供了一种电子设备,包括一个或多个处理器以及存储装置,其中,存储装置用于存储可执行指令,可执行指令在被处理器执行时,实现如上的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,指令在被执行时用于实现如上的方法。
本公开的另一方面提供了一种计算机程序,计算机程序包括计算机可执行指令,指令在被执行时用于实现如上的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用生成流程图的方法、装置和电子设备的示例性系统架构;
图2示意性示出了根据本公开实施例的生成流程图的方法的流程图;
图3示意性示出了根据本公开实施例的流程图的示意图;
图4示意性示出了根据本公开实施例的死循环检测方法的流程图;
图5示意性示出了根据本公开实施例的基于分配操作权限进行操作的流程图;
图6示意性示出了根据本公开另一实施例的生成流程图的方法的流程图;
图7示意性示出了根据本公开实施例的更新有向线条方法的流程图;
图8示意性示出了根据本公开实施例的生成流程图的装置的方框图;
图9示意性示出了根据本公开另一实施例的生成流程图的装置的方框图;以及
图10示意性示出了根据本公开实施例的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。
随着互联网和工业自动化的快速发展,各行各业自动化程度的不断提高,各种系统的关联性也越来越多。这导致各行各业亟需一个专业的流程定制系统和方案,如能够支持多工种协同定制且可用来调度执行的流程定制工具。
以银行机构的数据中心为例,在进行多服务节点恢复时,就需要定制一个多专业共同协作而成的恢复流程。例如,可以进行调度和恢复服务的流程。此外,在按照流程图执行流程时出现死循环是非常危险的,因此,在流程图保存时,需要对流程图中各步骤的调用关系进行校验,有助于提升基于该流程图进行流程调度的安全性。
相关技术中,不同专业类别的人员在定制、修改、交接流程图时反复交接,反复沟通的痛处。本公开实施例在一个专业修改了流程图时,流程图的修改记录会被所有相关人员知晓,而且相关人员都能直接看到最新一版流程图。
本公开实施例克服单纯意义上的流程图,使流程图成为可执行的调度器。在定制流程图时,支持对流程节点属性进行定制,以达到不同的节点根据定制属性的不同,实现不同的执行效果,从而实现流程图的调度效果。
本公开实施例加强流程图调度的安全性,增加流程图死循环校验功能,确保所保存流程图不存在死循环现象。
本公开实施例增加流程图定制快捷性,只需鼠标右键调用连线功能后,点击开始节点和结束几点即可自动在两个节点之间确立前后项关系。建立关系之后无论拖拽还是缩放流程图,两个节点关系始终能自动保持。
本公开的实施例提供了一种生成流程图的方法、装置和电子设备。该生成流程图的方法包括流程节点生成过程和流程图更新过程。在流程节点生成过程中,首先,接收流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息,然后,响应于流程图编辑指令,生成流程节点,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。在完成流程节点生成过程之后进入流程图更新过程,基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
本公开实施例提供的生成流程图的方法、装置和电子设备,尤其涉及多人远程协作定制,及流程图节点可执行定制;同时增加在流程图保存过程的流程判断,自动判断出首节点、确保流程图的节点关系不存在死循环;在流程图定制过程中进行拖拽、缩放,能够自动保持节点关系。
本公开实施例提供的生成流程图的方法、装置和电子设备可用于云计算领域在生成流程图的相关方面,也可用于除云计算领域之外的多种领域,如金融领域,本公开实施例提供的生成流程图的方法、装置和电子设备的应用领域不做限定。
图1示意性示出了根据本公开实施例的可以应用生成流程图的方法、装置和电子设备的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105、106、107。网络104可以包括多个网关、路由器、集线器、网线等,用以在终端设备101、102、103和服务器105、106、107之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与其他终端设备和服务器105、106、107进行交互,以接收或发送信息等,如接收流程图标识、发送流程图等。终端设备101、102、103可以安装有各种通讯客户端应用。例如,制图类应用、软件开发类应用、银行类应用、政务类应用、监控类应用、网页浏览器应用、搜索类应用、办公类应用、即时通信工具、邮箱客户端、社交平台软件等应用(仅为示例)。例如,用户可以使用终端设备101编辑流程图。例如,用户可以使用终端设备102查看流程图。例如,用户可以使用终端103执行流程图等。
终端设备101、102、103包括但不限于能够使用网页浏览器的智能手机、虚拟现实设备、增强现实设备、平板电脑、膝上型便携计算机、台式电脑等等。
服务器105、106、107可以接收请求,并对请求进行处理,具体可以为存储服务器、后台管理服务器、服务器集群等。例如,服务器105可以存储有流程图标识和流程图,服务器106可以用于生成流程图,服务器107可以基于流程图进行调度等操作。
需要说明的是,本公开实施例所提供的生成流程图的方法一般可以由服务器105、106、107或者终端设备101、102、103执行。相应地,本公开实施例所提供的生成流程图的装置一般可以设置于服务器105、106、107或者终端设备101、102、103中。本公开实施例所提供的生成流程图的方法也可以由不同于服务器105、106、107且能够与终端设备101、102、103和/或服务器105、106、107通信的服务器或服务器集群执行。
应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本公开实施例提供了一种生成流程图的方法、装置和电子设备,以实现多人远程协同定制流程图,如基于矢量图(Scalable Vector Graphics,简称svg)制作的流程图。通过建立一个共享服务器,并给每个流程图分配一个唯一标识,使每个对该流程图有定制权限的人员可以在远端进行流程图定制。此外,通过共享服务器把流程图定制情况共享给其他相关人员。同时考虑到流程图的应用场景,本系统支持对流程节点属性进行定制,实现流程图的执行调度功能。
图2示意性示出了根据本公开实施例的生成流程图的方法的流程图。该生成流程图的方法由服务器端执行。
如图2所示,该生成流程图的方法可以包括操作S210~操作S230。
在操作S210,接收流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息。
在本实施例中,客户端可以响应于用户操作生成流程图编辑指令,并将该流程图编辑指令发送给服务器端。其中,流程图编辑指令可以包括节点关联关系、操作指令和操作对象属性信息。
节点关联关系可以是对象和对象之间的依赖关系,如节点A的操作执行完成后,执行节点B的操作,则节点关联关系可以是从节点A指向节点B的有向线条。
操作指令可以是调用指令、读写指令、恢复指令、网络状态检查指令、配置指令等。
操作对象可以是服务器、端口、接口、数据库或后台程序等。操作对象的属性信息包括但不限于以下至少一种:互联网协议地址(Internet Protocol Address,简称IP地址)、端口号、路径、数据的索引信息等。
例如,流程图编辑指令可以是执行多个服务节点恢复的指令,则该流程图编辑指令可以包括:多个服务节点的IP地址、恢复操作指令等。
此外,流程图编辑指令还可以包括流程图标识,这样便于基于流程图标识确定流程图编辑指令所针对的对象,如所针对的已有流程图。
需要说明的是,在本公开的技术方案中,所涉及的取值的获取,存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在操作S220,响应于流程图编辑指令,生成流程节点,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。
例如,流程节点可以以数组的方式进行保存,如针对一个流程节点的信息可以存储在一个或多个数组中。
在某些实施例中,上述方法还可以包括:接收流程图创建请求;以及响应于流程图创建请求,生成流程图标识和与流程图标识对应的节点数组和节点关系数组,以生成流程图,其中,节点数组用于存储操作指令和操作对象属性信息,节点关系数组用于存储节点关联关系。
例如,流程图创建请求包括但不限于以下至少一种信息:时间(Time),主机名(HostName),用户标识(User_Id),用户名(User_Name),部门(Department),IP地址,操作(Action),操作中变量的取值等。其中,至少部分变量的取值可以是空。上述格式仅为示例,可以仅抽取其中部分变量,也可以抽取更多变量,在此不做限定。
例如,使所有节点和所有节点关系以数组的格式存在。如所有节点allNode:[节点1,节点2,节点3,节点4,……],所有节点关系nodeRelation:[节点1→节点2,节点2→节点3,节点3→节点4,……,节点n→节点4]。其中,节点1、节点2、节点3、节点4等可以分别关联存储有操作对象属性信息和操作指令。
需要说明的是,可以对上述数组进行图形化处理,以便生成直观的流程图。
在操作S230,基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
在某些实施例中,一个或多个用户可以分别对已生成的流程图进行编辑,如在与流程图对应的数组中增加新的流程节点和针对该流程节点的关联关系。
图3示意性示出了根据本公开实施例的流程图的示意图。
如图3所示,用户1定制的流程图中可以仅包括流程节点1。用户2在已有流程图中可以新增流程节点2。用户3在用户2的基础上,在已有流程图中可以新增流程节点4。用户4在用户3的基础上,在已有流程图中可以新增流程节点3、流程节点5和流程节点6。此外,其他有权限的用户同样可以在该流程图的基础上再新增其它流程节点。
在某些实施例中,上述方法在生成流程图或者更新流程图之后,还可以包括如下操作。
对流程图进行死循环检测,得到死循环检测结果。
如果死循环检测结果通过,则允许运行流程图以基于操作指令和操作对象属性信息对目标对象进行操作。
如果死循环检测结果通过,则禁止运行流程图。
例如,在用户对编辑后的流程图进行保存操作时,先进行死循环检测。其中,进行死循环操作检测的对象可以是用户进行编辑的部分,如新增的节点和关联关系、编辑的节点和关联关系等。此外,进行死循环操作检测的对象也可以是流程图中的所有节点和关联关系。
图4示意性示出了根据本公开实施例的死循环检测方法的流程图。
如图4所示,对流程图进行死循环检测,得到死循环检测结果可以包括操作S401~操作S402。
在操作S401,将流程图中起始节点作为当前节点,将与当前节点相关联的所有后流程节点构成临时数组,如果临时数组中包括当前节点,则确定当前节点存在死循环,如果临时数组中不包括当前节点,则确定当前节点不存在死循环。
在操作S402,如果确定当前节点不存在死循环,则重复执行如下操作直至当前节点存在死循环、针对当前节点的临时数组为空、或者循环次数超过节点数组中元素的总个数:将临时数组中各节点分别作为当前节点,针对每个当前节点,将与当前节点相关联的所有节点构成临时数组,如果临时数组中包括当前节点,则确定当前节点存在死循环,如果临时数组中不包括当前节点,则确定当前节点不存在死循环。
例如,使所有节点和所有节点关系以数组的格式存在,参考如上所示的所有节点allNode和所有节点关系nodeRelation。
首先判断所有节点中的第一个节点“节点1”在不在环路上:如把“节点1”的所有后项节点储存为一个临时数组List1:[节点2],判断临时数组List1中是否存在“节点1”,如果存在就确认存在环路,即存在死循环。如果不存在环路就执行下一步骤。
如果不存在环路,则继续获取数组List1中所有节点的后项节点储存为List2:[节点3];如把List2替换List1,再次判断“节点1”是否在与List1:[节点3]中,如果“节点1”仍然不在List1中,那么依照此判断逻辑继续循环步骤;当循环次数小于所有节点关系nodeRelation这个数组长度,且“节点1”存在于List1中,这样就确认“节点1”在环路上,就代表该流程图存在死循环,此时结束判断程序。当循环次数与所有节点关系nodeRelation这个数组长度相等时“节点1”仍然不在List1中,这样就确认“节点1”不在环路上,开始判断下一个节点是否在环路上。
重复执行以上判断逻辑,依次判断单个流程节点在不在环路上,当有一个节点出现在环路上时就代表该流程图存在死循环,结束流程。如果所有节点都执行完成判断程序,仍未有节点出现在环路上,那么就确认该流程图不存在死循环。
在某些实施例中,上述方法还可以包括如下操作。
例如,基于来自客户端的指定权限信息给指定用户分配操作权限。这样便于灵活地分配用户操作权限。其中,操作权限包括:查看权限、编辑权限、审批权限和运行权限中至少一种。
又例如,获取发起流程图创建请求的用户的属性信息,属性信息包括用户所在组织的架构信息;基于架构信息分配组织中各用户针对流程图的操作权限。这样便于基于组织架构进行权限分配。如创建流程图的用户所在小组都具有编辑权限。如创建流程图的用户所在架构中审核部门的用户具有查看权限。如创建流程图的用户所在小组和上级组织具有审批权限。如创建流程图的用户所需服务器对应的运维人员,具有运行权限等。
图5示意性示出了根据本公开实施例的基于分配操作权限进行操作的流程图。
如图5所示,该方法可以包括操作S501~操作S504。
在操作S501,用户可以通过浏览器访问svg流程图定制页面,创建流程图并在该页面保存svg流程图信息,包括流程图的唯一识别标识(ID),流程图对应权限人员,流程图各节点之间的关系,以及各个节点的属性。
在操作S502,拥有步骤S501中流程图访问权限的人员在流程定制页面打开步骤S501中流程图,根据最新流程图,继续定制流程图并保存,如未完成流程图定制,相关人员重复步骤S502完成流程图定制。
在操作S503,拥有步骤S501中流程图执行权限的人员,在流程图执行页面执行步骤S502中完成的流程图。并实时监控流程图执行情况。
在操作S504,拥有步骤S501中流程图查询权限的人员,在流程图查询页面查看流程图修订记录及流程图执行记录。
在某些实施例中,节点关联关系使用有向线条进行表示。
例如,生成有向线条包括:基于节点关联关系生成所针对的两个流程节点的路径信息,路径信息具有路径标识。
在某些实施例中,可以由服务器端对有向线条进行更新,例如,上述方法还可以包括如下操作。
首先,输出流程图以便在客户端进行展示。
然后,响应于针对流程图中流程节点的拖拽指令,更新有向线条,并且输出更新后的有向线条。
其中,更新有向线条,并且输出更新后的有向线条可以包括如下所示的操作。
首先,基于与路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与第一正切值对应的第一弧度,并且计算与第一弧度对应的第一正弦值和第一余弦值。
然后,以后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与第二正切值对应的第二弧度,计算与第二弧度对应的第二正弦值和第二余弦值。
接着,以路径信息建立针对路径标识的第二坐标系,并且在第二坐标系的原点初始化新有向线条。
然后,对新有向线条执行偏移操作,其中,当第一正弦值小于或等于第二正弦值时,偏移量是后流程节点宽度的一半与第一余弦值之间的比值;当第一正弦值大于第二正弦值时,偏移量是后流程节点高度的一半与第一正弦值之间的比值。
接着,更新针对路径标识的路径信息。
在一个具体实施例中,用户在进行拖拽、缩放流程图过程中,需要保证流程图任意两个节点之间的指向箭头永远是从前项节点中心指向后项节点中心,且指向箭头一直围绕在后项节点边缘。
例如,两个节点建立前后项关系后,会建立一个唯一id的路径信息,根据两个节点的坐标,计算前项节点到后项节点的正切值(tan1):tan1=(|x1-x2|)/(|y1-y2|),利用反三角函数计算出tan1的弧度(radian1),并计算出这个弧度的正弦值(sinValue1)、余弦值(cosValue1)。
接着,以后项节点的高度计算出一个正切值(tan2):tan2=(后项节点高度/后项节点宽度),利用反三角函数计算出tan2的弧度(radian2),并计算出弧度radian2的正弦值(sinValue2)、余弦值(cosValue2)。
然后,以两个节点间的路径建立新的坐标系,在新的坐标系X轴0位置上初始化一个箭头,箭头在新坐标系X轴方向的偏移量为:
当sinValue1<=sinValue2时,偏移量=(后项节点宽度/2)/cosValue1。
当sinValue1>sinValue2时,偏移量=(后项节点高度/2)/sinValue1。
接着,当拖拽某个节点导致相关联节点的路径信息发生改变时,根据原有id移除原有路径信息,并重复上述步骤,重新绘制出新的路径。因为每次重新建立两个节点的路径关系,并且箭头是初始化在新建立的坐标系的X轴0位置上,这样就保证了只做X轴方向的偏移就可以实现箭头一直围绕在后项节点边缘。
本公开实施例可实现各行业对流程图协同定制的需求,协同人员可随时了解流程图定制情况,无需专门找对应人员去了解定制进度。
本公开实施例具有较好地推广性,可通过对流程图属性的扩展上,对应增加流程图对不同系统的调度功能。可适用于数据中心的服务恢复、工业自动化流程的状态监控等。
本公开实施例具有较高的安全性,对流程图进行死循环判断,防止流程执行陷入死循环。
本公开实施例还具有定制快捷性,用户可以随意拖动缩放流程图,均能自动保持原有流程关系,完全不用担心改变某个节点位置就需要相应调整相关节点到该节点的关系路径。
本公开的另一方面提供了一种由客户端执行的生成流程图的方法。
图6示意性示出了根据本公开另一实施例的生成流程图的方法的流程图。
如图6所示,生成流程图的方法可以包括操作S610~操作S630。
在操作S610,响应于用户操作,生成流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息。
节点关联关系、操作指令和操作对象属性信息可以参考如上所示的相关内容,在此不再赘述。
在操作S620,发送流程图编辑指令给服务器端,以便服务器端响应于流程图编辑指令,生成流程节点;并且基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
其中,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。
服务器端执行的操作可以参考如上所示的相关内容,在此不再赘述。
在操作S630,接收并展示来自服务器端的流程图。
例如,用户可以通过终端设备接收流程图,并在终端设备的显示屏上显示流程图。
在某些实施例中,可以由客户端对有向线条进行更新,有助于提升响应速度,并且降低网络资源占用。例如,上述方法还可以包括如下操作。
首先,响应于来自客户端的针对流程图中流程节点的拖拽操作,更新流程图中针对被拖拽的流程节点的有向线条,有向线条是基于节点关联关系生成的针对两个流程节点的路径信息,路径信息具有路径标识。
然后,将更新后的有向线条发送给服务器端。
在某些实施例中,响应于来自客户端的针对流程图中流程节点的拖拽操作,更新流程图中针对被拖拽的流程节点的有向线条。
图7示意性示出了根据本公开实施例的更新有向线条方法的流程图。
参考图7所示,该方法可以包括操作S701~操作S705。
在操作S701,基于与路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与第一正切值对应的第一弧度,并且计算与第一弧度对应的第一正弦值和第一余弦值。
在操作S702,以后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与第二正切值对应的第二弧度,计算与第二弧度对应的第二正弦值和第二余弦值。
在操作S703,以路径信息建立针对路径标识的第二坐标系,并且在第二坐标系的原点初始化新有向线条。
在操作S704,对新有向线条执行偏移操作。
其中,当第一正弦值小于或等于第二正弦值时,偏移量是后流程节点宽度的一半与第一余弦值之间的比值。当第一正弦值大于第二正弦值时,偏移量是后流程节点高度的一半与第一正弦值之间的比值。
在操作S705,更新针对路径标识的路径信息。
具体地,参考指向箭头一直围绕在后项节点边缘的相关实施例部分内容,在此不再赘述。
本公开的另一方面提供了一种生成流程图的装置,设置于服务器端中。
图8示意性示出了根据本公开实施例的生成流程图的装置的方框图。
如图8所示,上述装置800可以包括:指令接收模块810、节点生成模块820和流程图更新模块830。
指令接收模块810用于接收流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息。
节点生成模块820用于响应于流程图编辑指令,生成流程节点,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。
流程图更新模块830用于基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
本公开的另一方面提供了一种生成流程图的装置,设置于客户端。
图9示意性示出了根据本公开另一实施例的生成流程图的装置的方框图。
如图9所示,上述装置900可以包括:用户操作接收模块910、指令发送模块920和流程图接收模块930。
用户操作接收模块910用于响应于用户操作,生成流程图编辑指令,流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息。
指令发送模块920用于发送流程图编辑指令给服务器端,以便服务器端响应于流程图编辑指令,生成流程节点;并且基于节点关联关系和流程节点生成流程图,或者,基于节点关联关系、流程节点和已有流程节点更新流程图。
流程图接收模块930用于接收并展示来自服务器端的流程图;其中,流程节点被运行时能够基于操作指令和操作对象属性信息对目标对象进行操作。
需要说明的是,装置部分实施例中各模块/单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再一一赘述。
根据本公开的实施例的模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,指令接收模块810、节点生成模块820和流程图更新模块830中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,指令接收模块810、节点生成模块820和流程图更新模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,指令接收模块810、节点生成模块820和流程图更新模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的电子设备的方框图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此通讯连接。处理器1001通过执行ROM 1002和/或RAM 1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的图像模型训练方法或图像处理方法。
在该计算机程序被处理器1001执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种由服务器端执行的生成流程图的方法,包括:
接收流程图编辑指令,所述流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;
响应于所述流程图编辑指令,生成流程节点,所述流程节点被运行时能够基于所述操作指令和所述操作对象属性信息对目标对象进行操作;
基于所述节点关联关系和所述流程节点生成流程图,或者,基于所述节点关联关系、所述流程节点和已有流程节点更新流程图,所述节点关联关系使用有向线条进行表示,基于所述节点关联关系生成所针对的两个流程节点的路径信息,所述路径信息具有路径标识,其中包括:
输出所述流程图以便在客户端进行展示;
基于与所述路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与所述第一正切值对应的第一弧度,并且计算与所述第一弧度对应的第一正弦值和第一余弦值;
以所述后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与所述第二正切值对应的第二弧度,计算与所述第二弧度对应的第二正弦值和第二余弦值;
以所述路径信息建立针对所述路径标识的第二坐标系,并且在所述第二坐标系的原点初始化新有向线条;
对所述新有向线条执行偏移操作,其中,当所述第一正弦值小于或等于所述第二正弦值时,偏移量是所述后流程节点宽度的一半与所述第一余弦值之间的比值;当所述第一正弦值大于所述第二正弦值时,偏移量是所述后流程节点高度的一半与所述第一正弦值之间的比值;以及
更新针对所述路径标识的路径信息。
2.根据权利要求1所述的方法,还包括:
接收流程图创建请求;以及
响应于所述流程图创建请求,生成流程图标识和与所述流程图标识对应的节点数组和节点关系数组,以生成所述流程图,其中,所述节点数组用于存储所述操作指令和所述操作对象属性信息,所述节点关系数组用于存储所述节点关联关系。
3.根据权利要求2所述的方法,在生成所述流程图或者更新所述流程图之后,所述方法还包括:
对所述流程图进行死循环检测,得到死循环检测结果;
如果所述死循环检测结果通过,则允许运行所述流程图以基于所述操作指令和所述操作对象属性信息对目标对象进行操作;
如果所述死循环检测结果未通过,则禁止运行所述流程图。
4.根据权利要求3所述的方法,其中,所述对所述流程图进行死循环检测,得到死循环检测结果包括:
将所述流程图中起始节点作为当前节点,将与所述当前节点相关联的所有后流程节点构成临时数组,如果所述临时数组中包括所述当前节点,则确定所述当前节点存在死循环,如果所述临时数组中不包括所述当前节点,则确定所述当前节点不存在死循环;以及
如果确定所述当前节点不存在死循环,则重复执行如下操作直至当前节点存在死循环、针对当前节点的临时数组为空、或者循环次数超过所述节点数组中元素的总个数:将所述临时数组中各节点分别作为当前节点,针对每个当前节点,将与所述当前节点相关联的所有节点构成临时数组,如果所述临时数组中包括所述当前节点,则确定所述当前节点存在死循环,如果所述临时数组中不包括所述当前节点,则确定所述当前节点不存在死循环。
5.根据权利要求2所述的方法,还包括:
基于来自客户端的指定权限信息给指定用户分配操作权限;和/或
获取发起所述流程图创建请求的用户的属性信息,所述属性信息包括所述用户所在组织的架构信息;基于所述架构信息分配所述组织中各用户针对所述流程图的操作权限;
其中,所述操作权限包括:查看权限、编辑权限和运行权限中至少一种。
6.一种由客户端执行的生成流程图的方法,包括:
响应于用户操作,生成流程图编辑指令,所述流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;
发送流程图编辑指令给服务器端,以便所述服务器端响应于所述流程图编辑指令,生成流程节点;并且基于所述节点关联关系和所述流程节点生成流程图,或者,基于所述节点关联关系、所述流程节点和已有流程节点更新流程图,其中,所述节点关联关系使用有向线条进行表示,基于所述节点关联关系生成所针对的两个流程节点的路径信息,所述路径信息具有路径标识;
接收并展示来自所述服务器端的流程图;
响应于来自所述客户端的针对所述流程图中流程节点的拖拽操作,更新所述流程图中针对被拖拽的流程节点的有向线条,所述有向线条是基于所述节点关联关系生成的针对两个流程节点的路径信息,所述路径信息具有路径标识,其中包括:
基于与所述路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与所述第一正切值对应的第一弧度,并且计算与所述第一弧度对应的第一正弦值和第一余弦值;
以所述后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与所述第二正切值对应的第二弧度,计算与所述第二弧度对应的第二正弦值和第二余弦值;
以所述路径信息建立针对所述路径标识的第二坐标系,并且在所述第二坐标系的原点初始化新有向线条;
对所述新有向线条执行偏移操作,其中,当所述第一正弦值小于或等于所述第二正弦值时,偏移量是所述后流程节点宽度的一半与所述第一余弦值之间的比值;当所述第一正弦值大于所述第二正弦值时,偏移量是所述后流程节点高度的一半与所述第一正弦值之间的比值;以及
更新针对所述路径标识的路径信息。
7.一种生成流程图的装置,设置于服务器端,所述装置包括:
指令接收模块,用于接收流程图编辑指令,所述流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;
节点生成模块,用于响应于所述流程图编辑指令,生成流程节点,所述流程节点被运行时能够基于所述操作指令和所述操作对象属性信息对目标对象进行操作;
流程图更新模块,用于基于所述节点关联关系和所述流程节点生成流程图,或者,基于所述节点关联关系、所述流程节点和已有流程节点更新流程图,所述节点关联关系使用有向线条进行表示,基于所述节点关联关系生成所针对的两个流程节点的路径信息,所述路径信息具有路径标识,其中包括:
输出所述流程图以便在客户端进行展示;
基于与所述路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与所述第一正切值对应的第一弧度,并且计算与所述第一弧度对应的第一正弦值和第一余弦值;
以所述后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与所述第二正切值对应的第二弧度,计算与所述第二弧度对应的第二正弦值和第二余弦值;
以所述路径信息建立针对所述路径标识的第二坐标系,并且在所述第二坐标系的原点初始化新有向线条;
对所述新有向线条执行偏移操作,其中,当所述第一正弦值小于或等于所述第二正弦值时,偏移量是所述后流程节点宽度的一半与所述第一余弦值之间的比值;当所述第一正弦值大于所述第二正弦值时,偏移量是所述后流程节点高度的一半与所述第一正弦值之间的比值;以及
更新针对所述路径标识的路径信息。
8.一种生成流程图的装置,设置于客户端,所述装置包括:
用户操作接收模块,用于响应于用户操作,生成流程图编辑指令,所述流程图编辑指令包括节点关联关系、操作指令和操作对象属性信息;
指令发送模块,用于发送流程图编辑指令给服务器端,以便所述服务器端响应于所述流程图编辑指令,生成流程节点;并且基于所述节点关联关系和所述流程节点生成流程图,或者,基于所述节点关联关系、所述流程节点和已有流程节点更新流程图,其中,所述节点关联关系使用有向线条进行表示,基于所述节点关联关系生成所针对的两个流程节点的路径信息,所述路径信息具有路径标识;
流程图接收模块,用于接收并展示来自所述服务器端的流程图;其中,所述流程节点被运行时能够基于所述操作指令和所述操作对象属性信息对目标对象进行操作,响应于来自所述客户端的针对所述流程图中流程节点的拖拽操作,更新所述流程图中针对被拖拽的流程节点的有向线条,所述有向线条是基于所述节点关联关系生成的针对两个流程节点的路径信息,所述路径信息具有路径标识,其中包括:
基于与所述路径信息对应的两个流程节点在第一坐标系上的坐标,得到前流程节点到后流程节点的第一正切值,利用反三角函数计算出与所述第一正切值对应的第一弧度,并且计算与所述第一弧度对应的第一正弦值和第一余弦值;
以所述后流程节点的高宽比计算出第二正切值,利用反三角函数计算出与所述第二正切值对应的第二弧度,计算与所述第二弧度对应的第二正弦值和第二余弦值;
以所述路径信息建立针对所述路径标识的第二坐标系,并且在所述第二坐标系的原点初始化新有向线条;
对所述新有向线条执行偏移操作,其中,当所述第一正弦值小于或等于所述第二正弦值时,偏移量是所述后流程节点宽度的一半与所述第一余弦值之间的比值;当所述第一正弦值大于所述第二正弦值时,偏移量是所述后流程节点高度的一半与所述第一正弦值之间的比值;以及
更新针对所述路径标识的路径信息。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现根据权利要求1~6任一项所述的方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述可执行指令在被处理器执行时,实现根据权利要求1~6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677158.2A CN113393553B (zh) | 2021-06-18 | 2021-06-18 | 生成流程图的方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110677158.2A CN113393553B (zh) | 2021-06-18 | 2021-06-18 | 生成流程图的方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113393553A CN113393553A (zh) | 2021-09-14 |
CN113393553B true CN113393553B (zh) | 2024-06-28 |
Family
ID=77621928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110677158.2A Active CN113393553B (zh) | 2021-06-18 | 2021-06-18 | 生成流程图的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113393553B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986203B (zh) * | 2021-10-25 | 2022-05-17 | 重庆允成互联网科技有限公司 | 一种触发器自动校验方法、系统、电子设备及存储介质 |
CN114219373A (zh) * | 2022-02-21 | 2022-03-22 | 浪潮通用软件有限公司 | 数字工艺可视化流程图生成的方法、系统、设备和介质 |
CN116185425B (zh) * | 2023-03-23 | 2024-02-23 | 苏州峰之鼎信息科技有限公司 | 基于节点组合的事件流程编排方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666740A (zh) * | 2020-06-22 | 2020-09-15 | 深圳壹账通智能科技有限公司 | 流程图生成方法、装置、计算机设备和存储介质 |
CN111949170A (zh) * | 2020-07-17 | 2020-11-17 | 上海淇馥信息技术有限公司 | 一种配置任务流程的方法、装置和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7430711B2 (en) * | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
CN106599256B (zh) * | 2016-12-21 | 2020-05-22 | 上海智臻智能网络科技股份有限公司 | 结构信息生成方法及装置、交互方法及装置 |
CN112906356B (zh) * | 2021-02-05 | 2024-06-11 | 武汉先峰誉得科技有限公司 | 报告编写流程自定义的方法及装置、客户端、服务器 |
-
2021
- 2021-06-18 CN CN202110677158.2A patent/CN113393553B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666740A (zh) * | 2020-06-22 | 2020-09-15 | 深圳壹账通智能科技有限公司 | 流程图生成方法、装置、计算机设备和存储介质 |
CN111949170A (zh) * | 2020-07-17 | 2020-11-17 | 上海淇馥信息技术有限公司 | 一种配置任务流程的方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113393553A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113393553B (zh) | 生成流程图的方法、装置和电子设备 | |
US20210333984A1 (en) | Method and apparatus for generating customized visualization component | |
EP3622447A1 (en) | Interoperation of machine learning algorithms | |
WO2018206406A1 (en) | Adaptation of machine learning algorithms | |
EP3622450A1 (en) | Management of interoperating machine leaning algorithms | |
WO2018206374A1 (en) | Load balancing of machine learning algorithms | |
EP3622449A1 (en) | Autonomous logic modules | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
KR101928481B1 (ko) | 메시지와 대응되는 태스크를 생성, 처리, 관리하는 컴퓨터 프로그램 및 전자 기기 | |
CN111427701A (zh) | 一种工作流引擎系统和业务处理方法 | |
CN110070394A (zh) | 数据处理方法、系统、介质和计算设备 | |
CN108885686B (zh) | 用于视频分析的基于云的主动调试系统 | |
CN111787041B (zh) | 用于处理数据的方法和装置 | |
CN115203487B (zh) | 基于多方安全图的数据处理方法及相关装置 | |
CN111580883A (zh) | 应用程序启动方法、装置、计算机系统和介质 | |
KR20200076273A (ko) | 얼굴 이미지와 메신저 계정의 연동에 기반한 이미지 관리 방법 및 시스템 | |
CN108810105A (zh) | 用于推送信息、显示信息的方法和设备 | |
CN115857878A (zh) | 一种开发框架生成方法及应用方法 | |
CN110089076A (zh) | 实现信息互动的方法和装置 | |
CN114611144A (zh) | 权限控制方法、装置、设备、介质及程序产品 | |
CN113254825A (zh) | 页面生成的方法、装置、电子设备和存储介质 | |
CN112905970A (zh) | 权限校验方法、装置、计算机可读存储介质及电子设备 | |
CN113741868A (zh) | 业务计算任务处理方法、装置、计算机设备和存储介质 | |
CN108811036A (zh) | 用于显示无线接入点信息的方法和装置 | |
CN115604000B (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 | ||
GR01 | Patent grant |