CN117850305A - 自动化流程中变量的编辑方法和自动化流程的控制方法 - Google Patents
自动化流程中变量的编辑方法和自动化流程的控制方法 Download PDFInfo
- Publication number
- CN117850305A CN117850305A CN202311790944.9A CN202311790944A CN117850305A CN 117850305 A CN117850305 A CN 117850305A CN 202311790944 A CN202311790944 A CN 202311790944A CN 117850305 A CN117850305 A CN 117850305A
- Authority
- CN
- China
- Prior art keywords
- variable
- script
- information
- expression
- editing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 194
- 230000008569 process Effects 0.000 title claims abstract description 106
- 238000013515 script Methods 0.000 claims abstract description 410
- 230000014509 gene expression Effects 0.000 claims abstract description 242
- 238000012795 verification Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 25
- 238000004364 calculation method Methods 0.000 abstract description 18
- 238000012544 monitoring process Methods 0.000 abstract description 9
- 230000003993 interaction Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 230000036962 time dependent Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请的实施例提供了一种自动化流程中变量的编辑方法和自动化流程的控制方法。该编辑方法包括:显示流程编辑界面,其中,流程编辑界面中包括自动化流程的流程图;基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,其中变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式;存储变量赋值指令的脚本信息。该方案实现了对流程中的各种期望赋值的变量的值的计算方法的个性化编辑,可以满足用户的个性化数据处理需求,对自动化流程的监控效率更高。用户体验也更好。
Description
技术领域
本申请涉及自动化领域,更具体地涉及一种自动化流程中变量的编辑方法、一种自动化流程的控制方法、一种自动化流程中变量的编辑系统、一种自动化流程的控制系统、一种电子设备及一种存储介质。
背景技术
近年来,自动化领域的业务流程和业务逻辑日趋复杂,固定、单一的流程很难满足不断变化的用户需求和应用场景。能否快速、灵活地应对不断变化的业务需求,已经成为自动化流程的控制软件的核心竞争力。
例如,在自动化流程的运行过程中,需要实时获取流程中的一些变量的实际值,诸如统计某个流程实际循环运行的次数、某些设备的主操作的实际持续时间等等,从而方便对自动化流程进行优化管理。
现有技术中,对于一些简单变量的实际值的获取,诸如移液工作站在对样本执行移液操作之前需要获取的待移液的实际样本数量,大多通过弹窗由用户手动输入或者从配置文件中导入。然而,这种方法由于是固化在程序中的,因此仅限于一些几乎不涉及运算的变量的值的获取,而对于一些需要进行诸如逻辑运算或数学运算等运算的复杂变量的值则无法通过程序实时获取到。
发明内容
考虑到上述问题而提出了本申请。根据本申请的第一方面,提供了一种自动化流程中变量的编辑方法,包括:
显示流程编辑界面,其中,流程编辑界面中包括自动化流程的流程图;
基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,其中变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式;以及
存储变量赋值指令的脚本信息。
示例性地,在存储变量赋值指令的脚本信息之前,编辑方法还包括:
对变量赋值指令的脚本信息进行校验,以确定变量赋值指令的脚本信息是否合理;
其中,存储变量赋值指令的脚本信息是在确定变量赋值指令的脚本信息合理的条件下执行。
示例性地,对变量赋值指令的脚本信息进行校验,包括:
对表达式的脚本信息的语法进行校验,以确定表达式的脚本信息的语法是否合法;
计算表达式的值并对表达式的值进行校验,以确定表达式是否合理;以及
在确定表达式的脚本信息的语法合法并且确定表达式合理的情况下,确定变量赋值指令的脚本信息合理。
示例性地,计算表达式的值并对表达式的值进行校验是在确定表达式的脚本信息的语法合法的条件下执行。
示例性地,计算表达式的值并对表达式的值进行校验,包括:
根据表达式的脚本信息中所包含的、目标变量的关联变量的默认值,计算表达式的值,其中目标变量的关联变量是目标变量的表达式中涉及的变量;
判断所计算的表达式的值所属的类型和目标变量的类型是否一致,并在一致的情况下确定表达式合理。
示例性地,编辑方法还包括:
响应于用户对流程编辑界面的第二操作,确定自动化流程中的各个自定义变量的定义信息,其中,自定义变量包括目标变量;以及
存储各个自定义变量的定义信息;
其中,定义信息包括变量的名称、类型和默认值,变量的类型是用户所定义的变量的值的数字格式。
示例性地,关于待赋值的目标变量的名称的信息是目标变量的名称对应的编号,定义信息还包括变量的名称所对应的编号以及名称与编号的对应关系;
在对变量赋值指令的脚本信息进行校验之前,编辑方法还包括:
根据对应关系,对变量赋值指令的脚本信息进行预处理,以将目标变量的编号和变量赋值指令中包含的、目标变量的关联变量的编号分别替换为各自变量的名称;
对变量赋值指令的脚本信息进行校验,包括:
利用所替换的变量的名称,对变量赋值指令的脚本信息进行校验。
示例性地,编辑方法还包括:
响应于用户对流程图的第三操作,在自动化流程中添加脚本执行节点。
示例性地,基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,包括:
响应于用户对脚本执行节点的第一操作,显示第一变量编辑界面,其中第一变量编辑界面中包括可输入文本框;
接收用户利用可输入文本框所输入的目标变量的名称的信息;以及
接收用户利用可输入文本框所输入的目标变量的值的表达式。
示例性地,基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,包括:
响应于用户对脚本执行节点的第一操作,显示第二变量编辑界面,其中第二变量编辑界面中包括对应变量赋值指令的指令设置控件;以及
基于用户对指令设置控件的第四操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息。
示例性地,基于用户对指令设置控件的第四操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,包括:
响应于用户对指令设置控件的第四操作,显示第三变量编辑界面,其中第三变量编辑界面中包括变量名选择控件和表达式编辑控件;
响应于用户对变量名选择控件的第五操作,确定目标变量的名称的信息;以及
响应于用户对表达式编辑控件的第六操作,确定用于计算目标变量的值的表达式。
示例性地,脚本执行节点包括设置在自动化流程中的任一设备节点之前的第一脚本执行节点和/或设置在设备节点之后的第二脚本执行节点,
其中,在第一脚本执行节点处执行的变量赋值指令是在该设备的主操作执行之前执行,在第二脚本执行节点处执行的变量赋值指令是在该设备的主操作执行之后执行。
根据本申请的另一方面,还提供一种自动化流程的控制方法,包括:
在运行自动化流程之前,利用上述自动化流程中变量的编辑方法,确定并存储在自动化流程的脚本执行节点处执行的变量赋值指令的脚本信息;
在运行自动化流程的过程中,在运行至包含变量赋值指令的脚本执行节点时,获取已存储的变量赋值指令的脚本信息,其中变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式;
对变量赋值指令的脚本信息进行语法解析,确定目标变量的名称和表达式;以及
根据目标变量的名称和表达式,对目标变量进行赋值。
根据本申请的另一方面,还提供一种自动化流程中变量的编辑系统,包括:
显示模块,用于显示流程编辑界面,其中,流程编辑界面中包括自动化流程的流程图;
确定模块,用于基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,其中变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式;以及
存储模块,用于存储变量赋值指令的脚本信息。
根据本申请的另一方面,还提供一种自动化流程的控制系统,包括:
编辑模块,用于在运行自动化流程之前,利用上述自动化流程中变量的编辑方法,确定并存储在自动化流程的脚本执行节点处执行的变量赋值指令的脚本信息;
获取模块,用于在运行自动化流程的过程中,在运行至包含变量赋值指令的脚本执行节点时,获取已存储的变量赋值指令的脚本信息,其中变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式;
确定模块,用于对变量赋值指令的脚本信息进行语法解析,确定目标变量的名称和表达式;以及
赋值模块,用于根据目标变量的名称和表达式,对目标变量进行赋值。
根据本申请的另一方面,还提供一种电子设备,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述自动化流程中变量的编辑方法和/或上述自动化流程的控制方法。
根据本申请的另一方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述自动化流程中变量的编辑方法和/或上述自动化流程的控制方法。
根据上述方案,可以为用户提供流程编辑界面,并通过用户与界面的人机交互操作,确定并存储在脚本执行节点处执行的变量赋值指令的脚本信息。由于这些脚本信息中不仅包括待赋值的目标变量的名称,还包括用于计算目标变量的值的表达式,因此实现了对流程中的各种期望赋值的变量的值的计算方法的个性化编辑。从而无需修改程序代码即可通过简单的操作灵活地定义对期望赋值的目标变量,并可以灵活地设置用于计算目标变量的值的表达式。这样,在执行自动化流程中只要执行该脚本,即可快速且准确地实现对多种变量的赋值。这种方案可以适用于各种自动化流程的使用场景,从而可以充分满足用户的个性化数据处理需求,对自动化流程的监控效率更高,方便实现对自动化流程的优化管理。并且,用户体验也更好。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本申请一个实施例的自动化流程中变量的编辑方法的示意性流程图;
图2示出根据本申请一个实施例的自动化流程的局部的示意图;
图3出根据本申请另一实施例的自动化流程中变量的编辑方法的流程图;
图4示出根据本申请一个实施例的自动化流程的控制方法的示意性流程图;
图5示出根据本申请实施例的自动化流程中变量的编辑系统的示意性框图
图6示出根据本申请实施例的自动化流程的控制系统的示意性框图;以及
图7示出根据本申请实施例的电子设备的示意性框图。
具体实施方式
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。
为了至少部分地解决上述技术问题,根据本申请的第一方面,提供了一种自动化流程中变量的编辑方法。根据本申请实施例的编辑方法可以应用于各种领域中的自动化流程。为了简便,下文以生物化学领域的自动化系统中的自动化流程为例进行展开阐释。
图1示出了根据本申请一个实施例的自动化流程中变量的编辑方法100的示意性流程图。如图1所示,该编辑方法100可以包括步骤S120、步骤S140和步骤S170。
步骤S120,显示流程编辑界面。其中,流程编辑界面中包括自动化流程的流程图。
根据本申请实施例,在利用自动化系统的设备执行自动化流程之前,用户可以根据实际需求对自动化流程进行编辑。示例性地,用户可以利用任意合适的人机交互设备进行自动化流程的编辑。示例性地,该人机交互设备可以包括控制主体以及连接控制主体的输入装置和显示装置。例如,该控制主体是主机,在主机的操作系统可以预先安装有自动化流程的编辑软件。示例性地,可以响应于用户利用输入装置的输入操作,利用显示装置显示流程编辑界面。该流程编辑界面可以具有任意合适的显示形式,本申请不对其进行限制。
流程编辑界面中至少包括流程图。该流程图可以是整个自动化流程的完整流程图或局部流程图。示例性而非限制性地,流程编辑界面可以默认显示整个自动化流程的完整流程图。可以响应于用户利用输入装置的不同操作,对默认流程图进行放大或缩小,即显示放大。例如,在放大一定比例之后,显示在流程编辑界面中的流程图可以是局部流程图。
流程图中可以是由多个节点按照一定的连接顺序连接而成的流程图。每个节点可以对应至少一个任务,不同的节点所对应的任务不同。此外,该多个节点可以包括不同类型的节点,不同类型的节点所对应的任务的类型不同。示例性地,在流程编辑界面所显示的流程图中,不同类型的节点的显示样式可以不同。例如,可以用图标表示节点,不同类型的节点的图标的形状、填充颜色、边框颜色、边框粗度、边框大小可以不同。
根据本申请实施例,流程图中的多个节点的节点类型至少包括设备节点和脚本执行节点。示例性地,流程图中的多个节点还可以包括耗材节点、循环节点等其他节点类型,本申请不对其进行限制。
每个设备节点对应的任务包括在该节点执行的设备操作。每个设备节点对应一个或多个设备。设备节点对应的设备中至少包括主要设备。在设备节点执行的设备操作至少包括主要设备所执行的主操作。在一些示例中,设备节点对应的设备还可以包括辅助设备。辅助设备用于执行辅助操作,辅助操作包括在主操作之前执行的前操作和/或在主操作之后执行的后操作。辅助设备可以包括诸如机械臂的转运设备、诸如开盖设备和关盖设备等的辅助主操作设备。可以理解,转运设备可以将用于承载样本的耗材从上一设备节点转运至当前设备节点,以使当前设备节点的主要设备能够对耗材所承载的样本进行操作。转运设备还可以将耗材从当前设备节点转运至下一设备节点。并且,每个设备节点关联至少一种耗材,不同的设备节点关联的耗材可以相同,也可以不同。
每个脚本执行节点对应的任务包括在该节点执行的数据处理指令。每个脚本执行节点均对应至少一个变量。该变量是关于自动化流程中的设备操作的数据的变量。这些数据可以是各种类型的数据,包括但不限于设备操作所涉及的时间、样本或耗材的数量、设备操作的执行次数等等,本申请不对其进行限制。在脚本执行节点所执行的数据处理指令的类型可以包括多种。数据处理指令的类型至少可以包括变量赋值指令。容易理解,变量赋值指令是对已定义的变量进行赋值的指令。在执行该变量赋值指令时,可以根据指令脚本中预设的运算方法,确定已定义的变量的值。在一些其他的示例中,数据处理指令的类型还可以包括导出变量指令、修改变量指令等其他与变量相关的数据处理指令。
每个脚本执行节点均可以连接一个设备节点。在脚本执行节点处执行的数据处理指令与所连接的设备节点涉及的设备操作相关。可以理解,设备节点涉及的设备操作是在设备节点执行的设备操作,其可以包括主要设备执行的主操作,也可以包括辅助设备执行的前操作和后操作。示例性地,每个脚本执行节点对应的变量可以是该节点连接的设备节点涉及的主操作的相关数据的变量。例如,该变量可以是连接的设备节点涉及的主操作的开始时间、结束时间、持续时间等时间变量,还可以是主操作所操作的样本的数量等数量变量。
根据本申请实施例,用户还可以通过流程编辑界面设置自动化流程的各个节点对应的任务的执行顺序。自动化流程的流程图中还可以包括连接不同节点的线条。该线条可以包括有向线条,也可以包括无向线条。有向线条的方向可以表示不同节点对应的任务的先后执行顺序。例如,有向线条上包括箭头。箭头的朝向可以表示流程执行的方向。示例性地,对于通过有向线条连接的两个设备节点,箭头起始方向的前端设备节点涉及的设备操作先执行,箭头指向的后端节点涉及的设备操作后执行。示例性地,对于通过有向线条连接的脚本执行节点和设备节点,如果脚本执行节点设置在设备节点之前,则与脚本执行节点对应的数据处理指令(例如,变量赋值指令)在与设备节点对应的主操作之前执行,也可以理解为,在脚本执行节点处执行的数据处理指令其执行时间先于在设备节点处执行的主操作;如果脚本执行节点设置在设备节点之后,则与脚本执行节点对应的数据处理指令(例如,变量赋值指令)在与设备节点对应的主操作之后执行,也可以理解为,在脚本执行节点处执行的数据处理指令其执行时间晚于在设备节点处执行的主操作。因此,本文中类似“脚本执行节点处执行的数据处理指令”的表达,其也可以理解为“与脚本执行节点对应的数据处理指令”。
示例性地,脚本执行节点包括设置在自动化流程中的任一设备节点之前的第一脚本执行节点和/或设置在设备节点之后的第二脚本执行节点。其中,在第一脚本执行节点处执行的变量赋值指令是在该设备的主操作执行之前执行,在第二脚本执行节点处执行的变量赋值指令是在该设备的主操作执行之后执行。下面参考图2。图2示出根据本申请一个实施例的自动化流程的局部流程图。如图2所示,该局部流程图中包括两个设备节点和两个脚本执行节点。其中,设备节点和脚本执行节点的显示形式不同,设备节点用纯白色填充的圆角矩形框表示,脚本执行节点用包含“fx”字样图标的直角矩形框表示。并且,这四个节点通过有向线条连接在一起。在每个节点的位置附近可以示出该节点的名称。示例性地,设备节点的名称可以用设备的名称或节点编号表示。例如,对于图中的“设备节点1”对应的主要设备是撕膜仪的情况,还可以直接在该设备节点的位置附近显示“撕膜仪”。如图2所示,脚本执行节点的名称可以用节点编号表示。可以理解,对于图中所显示的4个节点,如果两个脚本执行节点对应的任务均包括变量赋值指令,则在这4个节点对应的任务按照执行顺序排序为“脚本执行节点1”的变量赋值指令、“设备节点1”的主操作、“脚本执行节点2”的变量赋值指令、“设备节点2”的主操作。这样,方便实现对主要设备执行的主操作中所涉及的数据的处理,对自动化流程的监控效率更高。
示例性地,流程编辑界面中还可以包括流程编辑控件。用户可以利用流程编辑控件对流程图进行编辑。该流程编辑控件可以至少包括节点添加控件。
在一个示例中,流程图中的设备节点是预先设置好的,而脚本执行节点则可以是用户通过节点添加控件添加的。示例性地,该编辑方法100还包括步骤S111。步骤S111,响应于用户对流程图的第三操作,在自动化流程中添加脚本执行节点。该第三操作可以是任何合适的人机交互操作。例如,输入装置包括鼠标,流程编辑界面中可以包括脚本执行节点添加控件。可选地,该第三操作可以是用户拖动脚本执行节点添加控件至该设备节点处的操作。具体地,流程图可以显示在界面的中间位置,在流程图的左右两侧均可以设置有包括脚本执行节点添加控件的菜单栏。如果用户期望在某一设备节点之前添加脚本执行节点,则可以从左侧的菜单栏中将脚本执行节点添加控件向右拖动至该设备节点处;如果用户期望在某一设备节点之后添加脚本执行节点,则可以从右侧的菜单栏中将脚本执行节点添加控件向左拖动至该设备节点处。在用户拖动操作完成后,即可在流程图中的、该设备节点之前或之后显示出脚本执行节点。替代地,该第三操作也可以是用户利用鼠标双击脚本执行节点添加控件的操作。例如,在用户双击脚本执行节点添加控件后,可以在图2中示出的流程图的任意位置显示一浮动的“脚本执行节点3”(图中未示出)。示例性地,流程编辑界面中还可以包括线条控件。还可以在接收到用户利用鼠标依次单击线条控件、“设备节点2”和“脚本执行节点3”的操作信息之后,显示新的流程图。在新的流程图中,“设备节点2”向后连接“脚本执行节点3”。在其他的示例中,还可以根据用户利用多个输入装置的第三操作,在流程图中添加脚本执行节点。示例性而非限制性地,在用户利用鼠标单击选中任意设备节点之后,还可以利用键盘快捷键实现在设备节点之前或之后添加脚本执行节点。例如,可以在识别到用户利用键盘按下快捷键“shift”+“←”之后,在设备节点之前添加脚本执行节点;并可以在识别到用户利用键盘按下快捷键“shift”+“→”后,在设备节点之后添加脚本执行节点。由此,用户可以根据实际需求通过流程编辑界面自由添加脚本执行节点,可以实现在自动化流程中的任意节点添加变量赋值指令。这样,在执行自动化流程时,可以在执行到对应节点时,才执行相应的变量赋值指令。从而,在这种方案中变量赋值时机是可以自由设置,可以充分满足用户的个性化需求,用户体验更好,对自动化流程的监控效率更高,方便实现对自动化流程的优化管理。
在另一个示例中,流程图中的设备节点和脚本执行节点均可以是用户通过流程编辑界面中的节点添加控件添加的。可以采用任意合适的方法添加设备节点,本申请不对其进行限制。
步骤S140,基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息。其中,变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式。
在此步骤中,可以通过人机交互操作,在脚本执行节点对应添加变量赋值指令的脚本,这样,在自动化流程的执行过程中,在执行到该脚本执行节点时,即可通过执行该变量赋值指令的脚本,实现对相应的待赋值变量进行赋值。
目标变量是当前的脚本执行节点对应的变量中涉及变量赋值指令的变量。换言之,目标变量是当前的脚本执行节点所对应的变量中的待赋值变量。如前所述,每个脚本执行节点对应的变量可以是该节点连接的设备节点涉及的主操作的相关数据的变量。该变量可以是连接的设备节点涉及的主操作的开始时间、结束时间、持续时间等时间变量,还可以是主操作所操作的样本的数量等数量变量。再次参考图2,以“设备节点2”对应的主要设备是移液工作站为例。“脚本执行节点2”中的目标变量例如是移液工作站执行的移液操作的运行时长。在此步骤中,可以至少根据用户对“脚本执行节点2”的第一操作的操作信息,在“脚本执行节点2”添加对表示该运行时长的变量进行赋值的变量赋值指令,并且确定出该变量赋值指令的脚本信息。
根据本申请实施例,变量赋值指令的脚本信息至少包括关于目标变量的名称的信息和用于计算目标变量的值的表达式。关于目标变量的名称的信息可以具有任何合适的形式。以图2中的“脚本执行节点2”的目标变量是移液操作的运行时长为例,该目标变量的名称的信息可以用诸如“运行时长”的字符串表示,也可以用诸如“0001”的编号值表示。当然,目标变量的名称的信息也可以用其他形式表示,只要通过这些信息可以将该目标变量与其他变量区分开即可。用于计算目标变量的值的表达式可以是算术表达式、比较表达式、条件表达式和逻辑运算表达式等多种形式,本申请不对其进行限制。下面以用于计算目标变量的值的表达式是算术表达式为例进行展开说明。可以理解,算术表达式可以包括常量、变量、函数、圆括号、运算符等。示例性地,用于计算目标变量的值的表达式包括至少一个变量。可选地,用于计算目标变量的值的表达式可以包括唯一变量。该唯一变量可以是目标变量本身,也可以是其他变量。替代地,用于计算目标变量的值的表达式也可以包括多个变量。表达式中所包含的变量可以是系统预设好的预定义变量,也可以是用户通过人机交互操作自定义出的其他自定义变量。例如,预定义变量包括名称为“当前时间”的变量。可以理解,对于目标变量的表达式中包括变量“当前时间”的情况,在对目标变量进行赋值时,可以直接获取该时刻的实际时间作为变量“当前时间”的值,进而计算目标变量的值。自定义变量例如是名称为“开始时间”、“结束时间”之类的时间变量、名称是“运行次数”、“样本数量”之类的数值变量。
第一操作可以是任意合适的人机交互操作,本申请不对其进行限制。第一操作可以包括一个操作,也可以包括依次执行的多个操作。同样以输入装置是鼠标为例。示例性而非限制性地,第一操作可以是用户用鼠标点击脚本执行节点的操作。在一个示例中,第一操作可以包括用户利用鼠标双击脚本执行节点的双击操作。在用户用鼠标双击脚本执行节点之后,可以显示新的用户界面或者在当前的流程编辑界面的基础上弹出新的窗口。
可选地,该新的用户界面或窗口可以是直接供用户对变量赋值指令的脚本信息进行编辑的变量编辑界面。换言之,在用户执行对脚本执行节点的第一操作之后,可以直接显示用于确定变量赋值指令的脚本信息的变量编辑界面。例如,在变量编辑界面中可以包括可输入文本框或各种合适的操作控件,可以进一步基于用户对可输入文本框和/或操作控件的操作信息,确定在该脚本执行节点处执行的变量赋值指令的脚本信息。具体地,在变量编辑界面中可以包括名称脚本控件。该名称脚本控件可以是可输入文本框或下拉选择框等任意合适的控件。用户可以通过操作可输入文本框输入已定义的目标变量的名称,或者利用下拉选择框选择已定义的目标变量的名称。可选地,目标变量可以是预先定义好的。在此步骤中,用户可以输入或选择已定义的目标变量的名称。替代地,目标变量也可以是临时定义的。例如,在变量编辑界面中还可以包括变量定义控件。在用户输入期望定义的目标变量的名称之后,还可以继续操作该变量定义控件。响应于用户对该变量定义控件的操作,还可以弹出变量定义界面。用户还可以利用该变量定义界面中的各种控件对目标变量进行定义。基于用户的操作,可以确定目标变量的其他定义信息。目标变量的其他定义信息可以包括目标变量的类型和目标变量的默认值、目标变量的值的范围、模式、上限、下限等。在变量编辑界面中还可以包括表达式脚本控件。示例性地,与编辑目标变量的名称的方案类似地,表达式脚本控件可以是用于提供表达式的输入接口的可输入文本框或者是用于提供表达式的选择接口的选择控件。可以基于用户对表达式脚本控件的操作,确定目标变量的值的表达式。例如,用户可以直接在可输入文本框中输入用于计算目标变量的值的表达式等。
替代地,在显示上述变量编辑界面之前,还可以先显示指令设置界面。指令设置界面中可以包括指令类型设置区。如前所述,数据处理指令的类型可以具有多种,变量赋值指令可以是其中一种。在此步骤中,在用户执行对脚本执行节点的第一操作之后,可以先显示指令设置界面。示例性地,指令设置界面中可以包括多个指令类型选择控件,其中包括对应变量赋值指令的第一指令类型选择控件。可以响应于用户对第一指令类型选择控件的选择操作,才显示上述变量编辑界面。进而,可以根据用户对该变量编辑界面中的各种控件的操作,确定待赋值的目标变量的名称和表达式等。
在一个示例中,待赋值的目标变量可以是待移液的样本数量。例如,图2中的“设备节点2”所对应的设备可以是移液工作站。例如,移液工作站在开始移液之前需要从程序中获取待移液的样本数量,该数量为进入移液工作站的深孔板中有样本的孔位的数量。具体地,用户可以预先利用流程编辑软件,在程序中定义一个名为“移液样本数量”的变量,并确定目标变量的其他定义信息。并可以通过与流程编辑界面的交互,在流程图中的主要设备为移液工作站的设备节点之前添加一个脚本执行节点,例如添加图2中的“脚本执行节点2”。接着,可以在用户利用鼠标双击“脚本执行节点2”后,显示指令设置界面。指令设置界面中可以包括与各种数据处理指令一一对应的选择控件,其中包括对应变量赋值指令的第一指令类型选择控件。可以在用户利用鼠标双击第一指令类型选择控件之后,显示变量编辑界面。变量编辑界面中可以包括名称脚本控件。例如,变量编辑界面中包括名称编辑区和表达式编辑区。在名称编辑区显示有“名称”字样,在“名称”后面显示一可输入文本框。用户可以在可输入文本框中输入目标变量的名称,例如输入“移液样本数量”。在表达式编辑区显示有“表达式”字样,在“表达式”后面显示一可输入文本框。用户可以在可输入文本框中输入用于计算“移液样本数量”的值的表达式。例如,输入“深孔板样本数量属性”。可以理解,“深孔板样本数量属性”是系统中预定义好的一变量的名称。通过上述人机交互操作,即可确定针对“移液样本数量”的目标变量的变量赋值指令的脚本信息。这样,在执行自动化流程的过程中,在移液工作站执行移液操作之前,可以根据所确定的变量赋值指令的脚本信息执行该变量赋值指令,可以获取深孔板中的样本数量,并作为目标变量“移液样本数量”的值。示例性地,还可以配合诸如“导出变量”指令,将“移液样本数量”的值写入到指定文件中,完成数据交互。这样,移液工作站可以从该指定文件中获取待移液的样本数量,从而可以高效且准确地执行进移液操作。
在另一示例中,待赋值的目标变量可以是某个流程循环运行的次数。与上述示例类似地,用户可以预先通过流程编辑软件定义一个名为“运行次数”的目标变量,并确定该目标变量的其他定义信息,例如设置其默认初始值为0。然后,可以在接收到用户将鼠标光标放在循环流程中的某一设备节点(以图2中的“设备节点1”为例)处并单击鼠标右键的操作信息的情况下,弹出一列表控件。其中包括名称为“向前添加脚本执行节点”的选择控件和名称为“向后添加脚本执行节点”的选择控件。在用户用鼠标单击“向后添加脚本执行节点”的选择控件之后,可以在例如图2的流程图中的“设备节点1”之后添加一脚本执行节点,如图2中的“脚本执行节点2”。在用户先后利用鼠标执行双击“脚本执行节点2”、选择随即显示的指令设置界面中的第一指令类型选择控件的操作之后,显示变量编辑界面。与上述示例类似地,变量编辑界面中可以包括名称编辑区和表达式编辑区。在名称编辑区显示有“名称”字样,在“名称”后面显示一可输入文本框。用户可以在可输入文本框中输入目标变量的名称,例如输入“运行次数”。在表达式编辑区显示有“表达式”字样,在“表达式”后面显示一可输入文本框。用户可以在可输入文本框中输入用于计算“运行次数”的值的表达式。例如,输入“运行次数+1”。通过上述人机交互操作,即可确定针对“运行次数”的目标变量的变量赋值指令的脚本信息。这样,在执行自动化流程的过程中,每当该循环流程运行一次,在执行到该设备节点对应的设备主操作之后,可以根据所确定的脚本信息,执行针对该目标变量的变量赋值指令,即目标变量“运行次数”均会在上一循环中对该目标变量的所赋的值的基础上加1,流程运行结束后可以在变量监控界面查看变量“运行次数”的当前值,即为该循环流程循环运行的次数。
在另一示例中,待赋值的目标变量可以是某一设备节点对应的主要设备的主操作的开始时间。再次参考图2,例如“设备节点1”对应的主要设备是撕膜仪,可以利用变量赋值指令统计撕膜仪的开始运行时间。由于撕膜仪的运行指令的下发需要时间,即通信有延时。例如,流程控制的上位机发出运行指令开始到撕膜仪接收到该指令之间的时间大约为1秒,则通信延时时间约为1秒。因此,可以采用上述示例的方法预先定义一变量“通信延时”,并确定该变量的其他定义信息,如定义其类型为时长,默认值为1秒。同时定义一目标变量“撕膜开始时间”,定义其类型为时间,默认值为当前时间。并可以根据用户对流程编辑界面的操作信息,在撕膜仪的“前操作”中添加针对目标变量“撕膜开始时间”的变量赋值指令,并确定该变量赋值指令的脚本信息。例如,可以在用户先后将鼠标光标放在“设备节点1”处并单击鼠标右键、点击弹出的列表控件中的名称为“向前添加脚本执行节点”的选择控件之后,在流程图中添加“脚本执行节点1”。然后,在用户先后利用鼠标执行双击“脚本执行节点1”、选择随即显示的指令设置界面中的第一指令类型选择控件的操作之后,显示变量编辑界面。接着,用户可以在该界面中的名称编辑区中的可输入文本框中输入目标变量的名称“撕膜开始时间”。并可以在该界面中的表达式编辑区的可输入文本框中输入表达式“当前时间+通信延时”。“当前时间”可以是系统预定义好的变量,其表示实际时间。“通信延时”是用户预先自定义的变量。通过上述人机交互操作,即可确定对目标变量“撕膜开始时间”的变量赋值指令的脚本信息。这样,在执行自动化流程的过程中,在撕膜仪开始运行前,可以根据所确定的脚本信息执行该变量赋值指令。具体地,可以计算表达式“当前时间”+“通信延时”的值并赋值给“撕膜开始时间”变量。从而,在流程运行结束后,用户可以在变量监控界面查看变量“撕膜开始时间”的当前值,即为撕膜仪的撕膜操作的开始运行时间。
在另一示例中,待赋值的变量可以是在流程中需要统计的某一设备的主操作的运行时长。以统计图2中的“设备节点2”对应的主要设备“移液工作站”的运行时长为例。用户可以利用流程编辑软件预先定义多个变量。可以定义变量“移液开始时间”和变量“移液结束时间”,并可以确定这两个变量的类型为时间,默认值为当前时间。还可以定义变量“移液运行时长”和变量“通信延时”,并可以确定这两个变量的类型为时长,默认值例如为0秒和1秒。然后,可以通过用户与流程编辑界面的交互,在图2的流程图中的“设备节点2”前后分别添加一个脚本执行节点,例如添加图2中的“脚本执行节点2”和“脚本执行节点3”。然后,一方面可以在用户先后利用鼠标执行双击“脚本执行节点2”、选择随即显示的指令设置界面中的第一指令类型选择控件的操作之后,显示变量编辑界面。进而,用户可以在该界面中的名称编辑区中的可输入文本框中输入名称“移液开始时间”,以将变量“移液开始时间”作为目标变量。并可以在该界面中的表达式编辑区的可输入文本框中输入表达式“当前时间+通信延时”,作为计算变量“移液开始时间”的值的表达式。另一方面,可以在用户先后利用鼠标执行双击“脚本执行节点3”、选择随即显示的指令设置界面中的第一指令类型选择控件的操作之后,显示变量编辑界面。进而,用户可以在该界面中的名称编辑区中的可输入文本框中输入名称“移液结束时间”,以将变量“移液结束时间”作为目标变量。并可以在该界面中的表达式编辑区的可输入文本框中输入表达式“当前时间-通信延时”,作为计算变量“移液结束时间”的值的表达式。然后,可以在用户再次利用鼠标双击“脚本执行节点3”,并选择随即显示的指令设置界面中的第一指令类型选择控件之后,再次显示变量编辑界面。进而,用户可以在该界面中的名称编辑区中的可输入文本框中输入名称“移液运行时长”,以将变量“移液运行时长”作为目标变量。并可以在该界面中的表达式编辑区的可输入文本框中输入表达式“移液结束时间-移液开始时间”,作为计算变量“移液运行时长”的值的表达式。可以理解,在这种示例中,需要在设备节点前后的两个脚本执行节点共添加针对3个目标变量的3个变量赋值指令。其中,在“脚本执行节点3”需要添加分别针对目标变量“移液结束时间”和目标变量“移液运行时长”的2个变量赋值指令。可以理解,针对目标变量“移液运行时长”的变量赋值指令需要在针对目标变量“移液结束时间”的变量赋值指令之后执行。因此,还可以利用流程编辑界面设置两个变量赋值指令的执行顺序。例如,还可以响应于用户对任意脚本执行节点的第一操作,显示指令顺序设置界面。对于每个脚本执行节点对应多个指令的情况,还可以响应于对指令顺序设置界面的操作,确定在该节点执行的多个指令的执行顺序。例如,指令顺序设置界面可以包括依次排列的多个指令控件。多个指令控件与在该节点执行的多个数据处理指令一一对应。每个指令控件的名称可以包括对应的数据处理指令的类型、目标变量名称和表达式,用户可以通过拖动各个指令控件对各个数据处理指令进行排序。例如,用户可以将对应目标变量“移液结束时间”的变量赋值指令的指令控件拖至对应目标变量“移液运行时长”的变量赋值指令的指令控件之前。这样,在执行自动化流程的过程中,在移液工作站开始运行前,可以计算赋值表达式“当前时间+通信延时”的值并赋值给“移液开始时间”变量;当移液工作站结束运行后,先计算赋值表达式“当前时间-通信延时”的值并赋值给“移液结束时间”变量。然后,计算表达式“移液结束时间-移液开始时间”的值并赋值给“移液运行时长”变量。并且,流程运行结束后可以在变量监控界面查看变量“移液运行时长”的当前值,即为移液工作站的运行时长。
步骤S170,存储变量赋值指令的脚本信息。
根据本申请实施例,在确定变量赋值指令的脚本信息之后,可以基于预设条件,调用接口将脚本保存到预设数据库中。预设条件可以是任何表示变量赋值指令的脚本编辑成功的条件。在一个示例中,该预设条件可以是接收到用户的“保存指令脚本”指令的条件。在这种示例中,还可以在对变量赋值指令的脚本信息存储成功之后,在界面上显示“存储成功”的提示信息。在另一示例中,该预设条件还可以是对当前变量赋值指令的脚本校验成功的条件。换言之,在存储当前变量赋值指令的脚本信息之前,还可以执行对该指令的脚本信息的校验操作,如果校验成功则执行步骤S170的存储脚本操作;如果校验不成功则不执行步骤S170。
可以理解,对于现有技术中的自动化流程,如果要在流程运行过程中改变流程中某些“变量”的值,通常是从配置文件中导入或者弹窗由用户手动输入相应的值。该方案中对变量的赋值逻辑必须事先写死在程序中,其执行的时机是固定的,变量的名称,变量值的计算方式等都是固定写死的,程序编译后便无法更改。如果需要调整,就需要专业人员修改代码,因此其可操作性极差。并且,这种方案中的变量赋值逻辑仅能赋予变量以简单的固定值,不能支持表达式计算。
而根据本申请实施例的上述自动化流程中的变量编辑方法,可以为用户提供流程编辑界面,并通过用户与界面的人机交互操作,确定并存储在脚本执行节点处执行的变量赋值指令的脚本信息。由于这些脚本信息中不仅包括待赋值的目标变量的名称,还包括用于计算目标变量的值的表达式,因此实现了对流程中的各种期望赋值的变量的值的计算方法的个性化编辑。从而无需修改程序代码即可通过简单的操作灵活地定义对期望赋值的目标变量,并可以灵活地设置用于计算目标变量的值的表达式。这样,在执行自动化流程中只要执行该脚本,即可快速且准确地实现对多种变量的赋值。这种方案可以适用于各种自动化流程的使用场景,从而可以充分满足用户的个性化数据处理需求,对自动化流程的监控效率更高,方便实现对自动化流程的优化管理。并且,用户体验也更好。
示例性地,该编辑方法100还包括步骤S112和步骤S113。
步骤S112,响应于用户对流程编辑界面的第二操作,确定自动化流程中的各个自定义变量的定义信息。其中,自定义变量包括目标变量。示例性地,流程编辑界面中除了包括流程图之外,还可以包括变量定义区。变量定义区可以包括对应变量的各个定义信息的设置控件。这些设置控件可以是任意合适的控件,包括但不限于各种选择控件、输入控件等。例如,流程编辑界面中的变量定义区为变量列表,列表的每一行对应一个变量,列表的每一列对应一种定义信息。定义信息包括变量的名称、类型和默认值,变量的类型是用户所定义的变量的值的数字格式。例如,列表的每一行包括名称输入文本框、类型选择控件和默认值输入文本框。在此步骤中,可以接收用户利用名称输入文本框中所输入的期望定义的变量的名称、用户利用类型选择控件所选择的变量的类型和用户利用默认值输入文本框所输入的变量的默认初始值。示例性地,变量的名称中可以由数字、字母、特殊符号等一种或多种字符组成。变量的类型可以是数值型、文本型、日期型、时间型、时长型等。变量的默认值可以是对应类型的任意合适的固定值。默认值可以作为变量的初始值。例如,用户可以通过流程编辑界面定义变量“移液开始时间”和变量“移液结束时间”,可以确定这两个变量的类型为时间型,并可以设置其默认值为任意时间。例如,可以设置默认值为定义该变量时的实际时间(例如,12:00:00)。在一些示例中,自定义变量的定义信息还可以包括其他信息。例如,还可以包括变量名称对应的变量编号以及变量名称和变量编号的对应关系。根据本申请实施例,变量编号可以是根据预设规则自动生成的,也可以是随机生成的,还可以是用户利用输入装置针对变量编辑界面中的文本框或操作控件设置出的,本申请不对其进行限制,只要保证每个目标变量的编号的唯一性即可。
可以理解,由于变量类型可以通过用户和界面的人机交互操作而自由设置。其可以支持例如整型、浮点型、布尔型等多种可变的赋值类型。从而,也支持多种类型的变量表达式,不仅支持复杂地计算方式,并且表达式的最终计算结果也具有类型可变的优点。例如,支持时间相关变量表达式,支持的类型运算包括:时间-时间=时长,日期-日期=时长,时长+时长=时长及其逆运算等。此外,以时间相关变量表达式为例,由于时间相关表达式中涉及的变量可变化,可灵活选择不同类型的变量进行运算,因此也使得表达式的最终计算结果具有类型可变的优点。例如,时间相关表达式的计算结果支持日期、时间、时长三种类型。
步骤S113,存储各个自定义变量的定义信息。示例性地,在接收到用户利用户对自动化流程中的各个自定义变量的定义信息之后,可以将这些变量的定义信息存储至变量数据库中,以方便后续校验或赋值时获取这些变量的定义信息。
可以理解,对于现有技术中的方案,待赋值的变量的计算方式、变量的值的类型、默认值均无法更改,其通常只支持一种类型对应一种值的设置。而在本申请实施例的上述方案中,流程编辑界面可以向用户提供自定义变量的名称、类型、默认值等定义信息的接口,这样用户不仅可以自定义变量的名称,还可以自由设置变量的类型和默认值。换言之,变量赋值指令可以从多个维度进行灵活编辑,可灵活选择不同类型的变量、不同类型的表达式,因此具有赋值类型可变、支持复杂运算方式的优点。从而,可以准确且高效地获得自动化流程中的各种类型的数据,对自动化流程的管理效率更高。
示例性地,步骤S140基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,包括步骤S141、步骤S142和步骤S143。
步骤S141,响应于用户对脚本执行节点的第一操作,显示第一变量编辑界面。其中,第一变量编辑界面中包括可输入文本框。步骤S142,接收用户利用可输入文本框所输入的目标变量的名称的信息。步骤S143,接收用户利用可输入文本框所输入的用于计算目标变量的值的表达式。
如前所述,第一操作可以是用户利用任何合适的输入装置针对脚本执行节点所执行的任何合适的操作,本申请不对其进行限制。例如,第一操作可以是用户利用鼠标对脚本执行节点的单击或双击操作等。在识别到用户利用输入装置执行第一操作之后,可以在例如显示屏的显示装置上直接显示第一变量编辑界面。该变量编辑界面可以是针对当前的目标变量的变量赋值指令的脚本编辑界面。在该界面中可以包括变量名编辑区和表达式编辑区。示例性地,变量名编辑区中可以显示“名称”字样,在“名称”后面可以设置有可输入文本框,用户可以利用鼠标和键盘之类的输入装置在文本框中输入待赋值的目标变量的名称。示例性地,表达式编辑区中可以显示“请输入表达式”字样,在“请输入表达式”后面可以显示另一可输入文本框。用户可以将鼠标光标置于可输入文本框内,并可以利用诸如键盘的输入装置输入针对当前目标变量的表达式。
在一个示例中,在识别到用户的上述操作之后,可以接收并存储用户所输入的目标变量的名称和表达式,作为针对该目标变量的变量赋值指令的脚本信息。
在另一示例中,也可以根据用户所输入的目标变量的名称和步骤S113中所存储的各个变量的定义信息,确定针对该目标变量的变量赋值指令的脚本信息。其中,可以根据该目标变量的名称、步骤S113中所存储的各个变量的变量名称和变量编号的对应关系,确定该目标变量的编号,作为目标变量的名称的信息;并可以根据该目标变量的表达式中所包括的各个变量的名称、步骤S113中所存储的变量的名称和编号的对应关系,确定该目标变量的表达式中所包含的各个变量的编号,并可以将表达式中变量的名称用编号替代。换言之,在所确定的变量赋值指令的脚本信息中,目标变量的名称的信息和表达式中包含的各个变量的名称均可以用唯一的编号表示。可以理解,对于任一变量,在定义之后,变量的编号可以是不再变化且唯一的。而变量名称可以是允许用户随时修改的,这样,变量赋值指令中变量名称用编号替代的方案,即使用户在编辑脚本结束后修改变量的名称,依然也可以在执行脚本时通过变量编号找到对应的变量。
在这种方案中,可以在用户操作流程图的脚本执行节点后,直接显示变量编辑界面,并可以通过该界面中的可输入文本框向用户提供自由输入目标变量名称和用于计算目标变量的值的表达式的输入接口,从而可以更准确地确定出更符合用户需求的变量赋值指令的脚本信息。
示例性地,步骤S140基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,包括步骤S144和步骤S145。
步骤S144,响应于用户对脚本执行节点的第一操作,显示第二变量编辑界面。其中,第二变量编辑界面中包括指令设置控件。步骤S145,基于用户对指令设置控件的第四操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息。
第一操作可以是上述步骤S141中的第一操作,在此不再赘述。与上述步骤S141不同的是,在步骤S144中,响应于用户的第一操作所显示的第二变量编辑界面可以是前述示例中的指令设置界面。示例性地,在指令设置界面中可以包括多个指令设置控件,其中至少包括对应变量赋值指令的指令设置控件。,在一个具体示例中,第二变量编辑界面中包括指令类型设置区。在指令类型设置区中包括多个指令类型选择控件。每个指令类型选择控件对应一种类型的数据处理指令,其中包括对应变量赋值指令的第一指令类型选择控件。可选地,在步骤S145中,可以在用户利用诸如鼠标的输入装置点击第一指令类型选择控件之后,显示对应变量赋值指令的变量编辑界面,即显示向用户提供设置目标变量的名称和表达式的输入接口和/或操作接口的界面。并通过上述示例中用户与该变量编辑界面的交互,确定当前变量赋值指令的脚本信息,包括目标变量的名称的信息和用于计算目标变量的值的表达式。替代地,在第二变量编辑界面中除了包括上述指令类型设置区之外,也可以包括变量编辑区。在变量编辑区中显示有可输入文本框和/或操作控件,以直接向用户提供设置目标变量的名称和表达式的输入接口和/或操作接口。这样,可以在用户先后利用鼠标点击第一指令类型选择控件、利用鼠标和键盘对变量编辑区中的可输入文本框和/或操作控件操作,确定在当前脚本执行节点处执行的变量赋值指令的脚本信息。此外,在一些示例中,第二变量编辑界面中还可以包括指令顺序编辑区。在指令顺序编辑区中还可以包括诸如指令顺序编辑控件等的指令设置控件。这样,对于在当前脚本执行节点设置有多个数据处理指令的情况,用户还可以利用指令顺序编辑控件设置这些数据处理指令的顺序。例如,当前脚本执行节点可能包括针对多个目标变量的变量赋值指令,在此步骤中,还可以通过第二变量编辑界面中的这些指令顺序编辑控件设置这些变量赋值指令的顺序。
在上述方案中,用户操作流程图的脚本执行节点后,显示包括对应变量赋值指令的指令设置控件的变量编辑界面,并可以在用户操作该指令设置控件之后,确定变量赋值指令的脚本信息。这样,可以更精准地获取用户的设置意图,从而所确定的变量赋值指令的脚本信息也更准确。这种人机交互方案更合理,适用场景也更广泛。
示例性地,步骤S145基于用户对指令设置控件的第四操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,包括步骤S145a、步骤S145b和步骤S145c。步骤S145a,响应于用户对指令设置控件的第四操作,显示第三变量编辑界面。其中,第三变量编辑界面中包括变量名选择控件和表达式编辑控件。步骤S145b,响应于用户对变量名选择控件的第五操作,确定目标变量的名称的信息。步骤S145c,响应于用户对表达式编辑控件的第六操作,确定用于计算目标变量的值的表达式。
第三变量编辑界面可以与步骤S141中所显示的第一变量编辑界面的功能类似。与第一变量编辑界面不同的是,第三变量编辑界面中还提供有变量名选择控件和表达式编辑控件。变量名选择控件和表达式编辑控件均可以是任何合适的操作控件,包括但不限于按钮、单选框、复选框、滑块等,只要可以提供选择变量和编辑表达式的操作接口即可。在一个具体示例中,在第三变量编辑界面中可以包括变量名选择区和表达式编辑区。示例性地,变量名选择区可以显示“名称”字样,在“名称”后面可以设置有变量下拉列表框。变量下拉列表框中显示有对应已定义的各个变量的名称的多个选择控件。在步骤S145b中,第五操作可以包括用户可以利用鼠标从该变量下拉列表框中选择期望赋值的目标变量的名称的操作。示例性地,表达式编辑区中可以显示“请选择表达式”字样,在“请选择表达式”后面可以显示多个表达式编辑控件。下面以设置算术表达式为例进行说明。例如,多个表达式编辑控件可以包括变量下拉列表框、运算符下拉列表框和数值下拉列表框等。每个下拉列表框中显示有多个选择控件。例如,变量下拉列表框中显示有对应已定义的各个变量的名称的多个选择控件,运算符下拉列表框中显示有对应各种运算符的选择控件,数值下拉列表框中显示有对应各个数值的多个选择控件。在步骤S145b中,第六操作可以至少包括用户利用诸如鼠标的输入装置对这些下拉列表框及其中的选择控件的操作。示例性地,在表达式编辑区还可以包括表达式文本框。可以在识别到用户将鼠标光标置于文本框内的情况下,根据用户利用鼠标对上述表达式编辑控件的操作,在文本框中显示用户选择的各个项目(用户选择的变量名称、运算符号、数值等)所组成的表达式。示例性地,在表达式文本框后还可以包括“确定”按钮。可以响应于用户利用鼠标点击该“确定”按钮的操作,接收该表达式。
在这种方案中,可以在用户对第二变量编辑界面中对应变量赋值指令的指令设置控件进行操作之后,显示包括变量名选择控件和表达式编辑控件的第三变量编辑界面。并可以根据用户对这两种控件的操作,确定目标变量的名称的信息和用于计算目标变量的值的表达式。这种人机交互方案不仅可以精准地获取用户在当前脚本执行节点加入变量赋值指令的意图,并可以准确确定出待赋值的目标变量和用于计算目标变量的值的表达式。更重要的是,这种人机交互方案更合理,可以显著降低用户的操作难度,节约用户设置脚本的时间成本。从而人机交互效率更高,并可以减少输入错误和用户的学习难度。用户体验更好。
示例性地,在步骤S170存储变量赋值指令的脚本信息之前,该编辑方法100还包括步骤S160。
步骤S160,对变量赋值指令的脚本信息进行校验,以确定变量赋值指令的脚本信息是否合理。其中,存储变量赋值指令的脚本信息是在确定变量赋值指令的脚本信息合理的条件下执行。
此步骤可以采用任何合适的脚本信息校验逻辑对所确定的变量赋值指令的脚本信息进行校验。在一个示例中,可以根据目标变量的名称校验目标变量是否存在,来确定变量赋值指令的脚本信息是否合理。在另一示例中,还可以对用于计算目标变量的值的表达式脚本进行语法校验,并可以根据语法校验结果确定变量赋值指令的脚本信息是否合理。在又一示例中,还可以采用合适的方法获取表达式的计算值,并根据计算值的类型来确定变量赋值指令的脚本信息是否合理。
上述方案可以保证存储的变量赋值指令的脚本信息的有效性,以避免无谓地内存占用,从而可以提高自动化流程中数据获取的有效性。
示例性地,关于待赋值的目标变量的名称的信息是目标变量的名称对应的编号。定义信息还包括变量的名称所对应的编号以及名称与编号的对应关系。
如前所述,用户可以利用输入装置对流程编辑界面和变量编辑界面中的文本框和/或操作控件进行操作,从而在流程中的脚本执行节点添加针对目标边的变量赋值指令,并可以设置目标变量的名称和表达式。在数据库中预存储用户所设置的变量赋值指令的原始脚本信息。具体地,在预存储的每个变量赋值指令的脚本信息中,目标变量的名称的信息可以是该变量的唯一编号。换言之,可以将目标变量的名称预存储为该变量的唯一编号。对于每个变量赋值指令而言,预存储的目标变量的编号可以是根据预设规则自动生成的,也可以是随机生成的,还可以是用户利用输入装置在变量编辑界面中设置的,本申请不对其进行限制,只要保证不同的目标变量的编号不同即可。可以理解,变量名称和变量编号的对应关系可以是一一对应的对应关系,也可以是一对多的对应关系。对于在两个不同的脚本执行节点所执行的两个变量赋值指令,两者针对的目标变量的名称可以相同,但两者的编号必然不同。换言之,每个变量的名称可以不具有唯一性,但是其编号具有唯一性。
在步骤S160对变量赋值指令的脚本信息进行校验之前,该编辑方法100还包括步骤S150。步骤S150,根据对应关系,对变量赋值指令的脚本信息进行预处理,以将目标变量的编号和变量赋值指令中包含的、目标变量的关联变量的编号分别替换为各自变量的名称。
如前所述,在步骤S140确定变量赋值指令的脚本信息中,在所确定的变量赋值指令的脚本信息中,目标变量的名称的信息和表达式中包含的各个变量的名称均可以用唯一的编号表示。为了保证对变量赋值指令的脚本信息的校验步骤的顺利和高效执行,在此步骤中,可以根据步骤S113中所确定的变量的名称和编号的对应关系,将变量赋值指令的脚本信息中的目标变量的编号和变量赋值指令中包含的、目标变量的关联变量的编号分别替换为各自变量的名称。
目标变量的关联变量可以是变量赋值指令中所涉及的所有变量。例如,在前述示例中,在移液工作站对应的设备节点之后的“脚本执行节点3”添加针对目标变量“移液运行时长”的变量赋值指令,目标变量“移液运行时长”的表达式是“移液结束时间-移液开始时间”。对于这个示例,目标变量“移液运行时长”的关联变量是变量“移液结束时间”和变量“移液开始时间”。因此,在步骤S150中,可以将变量赋值指令中所包含的目标变量“移液运行时长”的编号替换为其名称“移液运行时长”,将表达式中涉及的变量“移液结束时间”的编号替换为其名称“移液结束时间”,将表达式中涉及的变量“移液开始时间”的编号替换为其名称“移液开始时间”。
如前所述,预存储的变量赋值指令的脚本信息中保存的变量名称的信息是变量的唯一编号,而非直接保存变量名称。这样,可以应对用户在编写脚本后修改变量的名称而造成脚本中的名称与变量名称不同的情况。这种方案可以允许用户在编写脚本后修改变量定义中的名称。由于在预存储的变量赋值指令的原始脚本信息中,将变量名称存储为变量唯一的编号,因此在进行脚本校验时,需要对前端传入的变量赋值脚本进行预处理,即将脚本中的变量唯一编号使用其所对应的变量的名称进行替换,再执行脚本信息的校验。
步骤S160对变量赋值指令的脚本信息进行校验,包括步骤S160a。步骤S160a,利用所替换的变量的名称,对变量赋值指令的脚本信息进行校验。示例性地,可以根据变量赋值指令的脚本信息中替换后的变量的名称,获取到目标变量的定义信息和用于计算目标变量的值的表达式,还可以获取到目标变量的关联变量的定义信息。
这样,方便根据这些信息对变量赋值指令的脚本信息进行验证,提高脚本信息验证的效率和精度。
示例性地,在步骤S170中,可以在对变量赋值指令的脚本信息校验成功的情况下,即在确定变量赋值指令的脚本信息合理的条件下存储变量赋值指令的脚本信息。在存储的脚本信息中,目标变量的名称的信息可以是该变量的唯一编号,即可以将目标变量的名称预存储为该变量的唯一编号。可以理解,在存储变量赋值指令的脚本信息时用变量的编号表示名称不仅可以应对用户在编写脚本后修改变量定义中的名称的情况,方便后续脚本时根据存储的唯一的编号找到对应的变量,还可以减少内存的占用,提高执行脚本的效率,从而可以在执行自动化流程的过程中快速且准确地对目标变量进行赋值。
示例性地,步骤S160对变量赋值指令的脚本信息进行校验,包括步骤S161、步骤S162和步骤S163。
步骤S161,对表达式的脚本信息的语法进行校验,以确定表达式的脚本信息的语法是否合法。
示例性地,变量编辑界面中可以包括“确定”按键,在用户利用变量编辑界面中的文本框和/或操作控件编辑好名称和值后,可以点击“确定”按键。在接收到用户点击“确定”按键的操作信息之后,可以调用脚本校验接口对变量赋值指令的脚本信息进行语法校验。可以采用任何合适的语法校验方法实现此步骤,例如可以采用GOLD Parser的语法解析工具进行语法校验。具体地,可以校验变量是否定义,判断语句逻辑是否正确,是否考虑各种异常,错误是否退出,返回正确状态值等。
示例性地,在语法校验之后,校验接口返回的结果信息可以包括脚本语法校验是否成功、校验不成功时语法错误的位置和异常信息等。示例性地,当校验不成功时,还可以在变量编辑界面上显示报错信息以提示用户进行对应修改。
步骤S162,计算表达式的值并对表达式的值进行校验,以确定表达式是否合理。可以采用各种合适的方法计算表达式的值。例如,可以根据表达式中所涉及的各个变量的定义信息计算表达式的值。例如,可以将表达式中所涉及的各个变量的默认值代入至表达式中进行计算,以得到表达式的计算值。然后可以根据该计算值确定表达式是否合理。例如,可以对比计算值的类型和目标变量的定义信息中目标变量的类型是否一致,以确定表达式是否合理。
步骤S163,在确定表达式的脚本信息的语法合法并且确定表达式合理的情况下,确定变量赋值指令的脚本信息合理。
上述方案中,不仅校验变量赋值指令的脚本信息的语法是否合法,还通过计算表达式的值校验表达式是否合理,最终在确定脚本信息的语法合法且表达式合理的情况下,才确定变量赋值指令的脚本信息合理,从而保存合理的变量赋值指令的脚本信息。这种脚本信息的验证方案不仅可以保证所存储的变量赋值指令的脚本信息的语法合法且表达式合理。这样,在执行自动化流程中可以顺利且准确地执行脚本,对变量的赋值也更准确,使得自动化流程的控制也更精准,管理效率也更高。
优选地,步骤S162计算表达式的值并对表达式的值进行校验是在步骤S161确定表达式的脚本信息的语法合法的条件下执行。换言之,在这种方案中步骤S161先执行。如果步骤S161中的脚本信息的语法验证结果表示语法合法才执行步骤S162,并进一步根据步骤S162中对表达式的校验结果确定变量赋值指令的脚本信息是否合理。而如果步骤S161中的脚本信息的语法验证结果表示语法不合法,则可以直接确定变量赋值指令的脚本信息不合理,且不再执行步骤S162。
上述方案执行逻辑更合理,可以减少无谓地计算,从而可以在保证准确验证变量赋值指令的脚本信息的基础上提高验证变量赋值指令的脚本信息的效率。
示例性地,步骤S162计算表达式的值并对表达式的值进行校验,包括步骤S162a和步骤S162b。步骤S162a,根据表达式的脚本信息中所包含的、目标变量的关联变量的默认值,计算表达式的值。其中,目标变量的关联变量是目标变量的表达式中涉及的变量。步骤S162b,判断所计算的表达式的值所属的类型和目标变量的类型是否一致,并在一致的情况下确定表达式合理。
示例性地,可以在确定变量赋值指令的脚本信息的语法合法的情况下,执行步骤S162a。具体地,可以根据表达式中的各个变量的定义信息中的默认值计算表达式的值。可以理解,变量的默认值是固定写死的。例如,对于目标变量“撕膜开始时间”的变量赋值指令,其表达式为“当前时间+通信延时”。以用户所定义的变量“当前时间”的默认值是10:00:00(时间格式为时:分:秒)为例,即在定义该变量时系统的时间是10:00:00,用户所定义的变量“通信延时”的默认值例如是1s,则在步骤S162a中,可以根据这两个变量的默认值计算表达式的值,得到计算值10:00:01。
然后,可以在步骤S162b,对比所计算的表达式的值的类型和目标变量的定义信息中的类型。如果两者的类型一致,则可以确定变量赋值指令的表达式合理。如果两者的类型不一致,则可以确定变量赋值指令的表达式不合理。对于校验结果为表达式不合理的情况,可以在计算结果中的表达式“类型”中写入特殊标记,并记录表达式校验异常信息,作为表达式校验结果。然后,可以组装为表达式校验结果,其中包含表达式计算是否成功标记,表达式计算结果,表达式计算异常信息等。并可以在流程编辑界面显示该表达式校验结果的相关信息,以供用户查看。
示例性地,在步骤S162a中,如果无法计算表达式的值,则可以直接确定表达式的校验结果为校验失败,并可以在变量编辑界面显示表示表达式非法的提示信息,编辑结束。若可以得到表达式的计算值,则可以继续执行步骤S162b,判断当前目标变量的类型与表达式的计算值的类型是否一致。如果一致则可以确定变量赋值指令的脚本信息合理,允许存储该变量赋值指令的脚本信息;如果不一致,则可以在变量编辑界面显示表示类型不匹配的提示信息,编辑结束。
上述对变量赋值指令的脚本信息中的表达式的值进行校验的方法较简单,不仅计算量小而且验证准确率高。
示例性地,步骤S170存储变量赋值指令的脚本信息,包括步骤S171。步骤S171,对变量赋值指令的脚本信息进行组装,并存储组装后的变量赋值指令的脚本信息。其中,在组装后的变量赋值指令的脚本信息中,变量的名称用编号表示。示例性的,如果确定变量赋值指令的脚本信息合理,则可以调用接口将指令和表达式脚本保存到数据库中。具体地,在组装后的变量赋值指令的脚本信息中,变量的名称用编号表示。
图3出根据本申请另一实施例的自动化流程中变量的编辑方法的流程图。示例性地,可以提供包括控制主体、连接控制主体的输入装置和显示装置的人机交互设备,以方便用户编辑自动化流程。该控制主体是主机,在主机的操作系统可以预先安装有自动化流程的编辑软件。示例性地,可以响应于用户利用输入装置的输入操作,利用显示装置显示流程编辑界面。流程编辑界面中包括流程图。流程图中可以包括设备节点和脚本执行节点,脚本执行节点设置在任意一个设备节点之前或之后。示例性地,流程编辑界面中可以包括节点添加控件,脚本执行节点可以是用户通过节点添加控件添加的。例如,用户期望在某一设备节点对应的前操作中添加变量赋值指令,则可以通过操作节点添加控件在该设备节点之前添加一脚本执行节点。示例性地,在流程编辑界面中还可以包括变量定义区。变量定义区可以包括对应变量的各个定义信息的设置控件。用户可以利用设置控件自定义包括目标变量、目标变量的关联变量在内的各个变量。根据本申请实施例,可以基于用户对该界面中的设置控件的操作信息,确定各个变量的定义信息。具体地,定义信息可以包括变量的名称、默认值和类型等。还可以包括变量的唯一编号以及编号和名称的对应关系。
然后,可以在用户利用鼠标点击该脚本执行节点之后,显示指令设置界面。在指令设置界面可以包括指令类型设置区,指令类型设置区中可以包括多个指令类型选择控件,其中包括对应变量赋值指令的第一指令类型选择控件。可以响应于用户对第一指令类型选择控件的选择操作,显示变量编辑界面。变量编辑界面中可以包括名称编辑区和表达式编辑区。在名称编辑区和表达式编辑区均可以包括可输入文本框和/或各种合适的操作控件。可以进一步基于用户对可输入文本框和/或操作控件的操作信息,确定在该脚本执行节点处执行的变量赋值指令的脚本信息。具体地,可以基于用户对名称编辑区中的文本框和/或操作控件的操作信息,确定目标变量的名称的信息;并可以基于用户对表达式编辑区中的文本框和/或操作控件的操作信息,确定用于计算目标变量的值的表达式。例如,可以接收用户利用名称编辑区中的选择控件所旋转的目标变量的名称,并可以接收用户利用表达式编辑区中的可输入文本框所输入的表达式。然后,可以根据这两者,确定变量赋值指令的脚本信息。具体地,在所确定的变量赋值指令的脚本信息中,目标变量的名称和表达式中所涉及的变量的名称均可以用对应各自名称的唯一编号表示。示例性地,在变量编辑界面中还可以包括“确认”按键,可以响应于用户对“确认”按键的点击操作,对所确定的变量赋值指令的脚本信息进行预处理。具体地,可以将脚本信息中变量的编号替换为变量的名称。然后,可以调用脚本校验接口对变量赋值指令的脚本信进行语法校验,以确定脚本信息的语法是否合法。如果确定脚本信息的语法不合法,则可以直接确定对变量赋值指令的脚本信息的校验结果是校验失败。如果确定脚本信息的语法合法,则可以根据表达式中的各个变量的默认值,计算表达式的值,并得到表达式的计算值。然后,可以对比计算值的类型和目标变量的定义信息中所设置的类型是否一致,如果一致,则可以确定对变量赋值指令的脚本信息的校验结果是校验成功。如果校验成功,可以将变量赋值指令的脚本信息保存在预设数据库中,退出编辑界面。如果校验失败,则可以在变量编辑界面输出表示脚本信息非法的提示信息,以提示用户检查修改。
根据本申请的另一方面,还提供一种自动化流程的控制方法。图4示出根据本申请一个实施例的自动化流程的控制方法400的示意性流程图。如图4所示,该控制方法400包括步骤S420、步骤S440和步骤S460。
步骤S420,在运行自动化流程之前,利用上述自动化流程中变量的编辑方法100,确定并存储在自动化流程的脚本执行节点处执行的变量赋值指令的脚本信息。
步骤S440,在运行自动化流程的过程中,在运行至包含变量赋值指令的脚本执行节点时,获取已存储的变量赋值指令的脚本信息。其中,变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式。示例性地,当执行到脚本执行节点时,可以查询该节点是否包含变量赋值指令的脚本。如果包含,则可以获取该变量赋值指令的脚本信息。
步骤S460,对变量赋值指令的脚本信息进行语法解析,确定目标变量的名称和表达式。可以采用任何合适的语法解析方法,对变量赋值指令的脚本信息进行语法解析。语法解析完成后,可以获取变量赋值指令中目标变量的名称和表达式。
示例性地,在语法解析之前,还可以执行对脚本信息的预处理步骤。如前所述,所存储的变量赋值指令中的变量名称可以用变量的唯一编号表示。因此,数据库中获取的变量赋值指令的脚本信息并不能直接使用,需要进行预处理。具体地,可以将脚本信息中的变量编号值替换为变量名称。该步骤的实现方式与前述步骤S150的方案类型,在此不再赘述。
步骤S480,根据目标变量的名称和表达式,对目标变量进行赋值。
示例性地,可以根据表达式和表达式中所涉及的各个变量的当前值,计算表达式的实际值。例如,对于目标变量“撕膜开始时间”的变量赋值指令,其表达式为“当前时间+通信延时”。在此步骤中,可以“当前时间”的当前值,即当前的系统时间。当前时间的当前值例如是13:00:00,变量“通信延时”的当前值例如是1s,则在此步骤中可以将这两个变量的当前值代入至表达式中,得到表达式“当前时间+通信延时”的实际值为13:00:01。
示例性地,可以基于预设条件,对目标变量进行赋值。示例性而非限制性地,预设条件可以是目标变量的类型与所计算的表达式的实际值的类型一致的条件。具体地,示例性地,在获取到脚本信息之后,还可以获取流程中所定义的所有变量的定义信息,并将这些信息组装成执行参数信息。然后,可以从组装好的执行参数信息中,找到对应当前变量赋值指令的目标变量的类型。然后,可以判断所定义的目标变量的类型与所计算的表达式的实际值的类型是否一致。如果一致,则将计算的实际值赋值给目标变量,变量赋值指令执行结束。
这种自动化流程的控制方法,一方面提供了直观的流程编辑界面方便用户对自动化流程中的变量赋值脚本进行自由编辑,实现了对流程中的各种期望赋值的变量的名称和值的计算方法的个性化编辑。从而无需修改程序代码即可通过简单的操作灵活地定义对期望赋值的目标变量,并可以灵活地设置用于计算目标变量的值的表达式。另一方面,在执行自动化流程的过程中,在执行到包含变量赋值指令的脚本执行节点时,只需获取变量赋值指令的脚本信息并对脚本信息进行语法解析,即可准确获取到目标变量的名称和表达式,进而可以根据目标变量的名称和表达式,对目标变量进行赋值。这种通过编辑脚本和执行脚本实现赋值的方法不仅可以保证赋值时机和赋值方法的灵活设置,并且执行逻辑简单,运算量小,赋值效率和精度均较高。并且这种方案可以适用于各种自动化流程的使用场景,从而可以充分满足用户的个性化数据处理需求,对自动化流程的监控效率更高,方便实现对自动化流程的优化管理。并且,用户体验也更好。
根据本申请的另一方面,还提供一种自动化流程中变量的编辑系统。图5示出根据本申请实施例的自动化流程中变量的编辑系统500的示意性框图。如图5所示,该系统500包括:
显示模块510,用于显示流程编辑界面,其中,流程编辑界面中包括自动化流程的流程图。
确定模块520,用于基于用户对流程图中的脚本执行节点的第一操作的操作信息,确定在脚本执行节点处执行的变量赋值指令的脚本信息,其中变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式。
存储模块530,用于存储变量赋值指令的脚本信息。
根据本申请的另一方面,还提供一种自动化流程的控制系统。图6示出根据本申请实施例的自动化流程的控制系统600的示意性框图。如图6所示,该系统600包括:
编辑模块610,用于在运行自动化流程之前,利用上述自动化流程中变量的编辑方法,确定并存储在自动化流程的脚本执行节点处执行的变量赋值指令的脚本信息。
获取模块620,用于在运行自动化流程的过程中,在运行至包含变量赋值指令的脚本执行节点时,获取已存储的变量赋值指令的脚本信息。其中,变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算目标变量的值的表达式。
确定模块630,用于对变量赋值指令的脚本信息进行语法解析,确定目标变量的名称和表达式。
赋值模块640,用于根据目标变量的名称和表达式,对目标变量进行赋值。
根据本申请的另一方面,还提供一种电子设备。图7示出根据本申请实施例的电子设备700的示意性框图。如图7所示,电子设备700包括处理器710和存储器720,其中,存储器720中存储有计算机程序指令,计算机程序指令被处理器710运行时用于执行上述自动化流程中变量的编辑方法和/或上述自动化流程的控制方法。
根据本申请的另一方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述自动化流程中变量的编辑方法和/或上述自动化流程的控制方法。
本领域普通技术人员通过阅读上述有关自动化流程中变量的编辑方法100、自动化流程的控制方法400的相关描述,可以理解上述自动化流程中变量的编辑系统500、自动化流程的控制系统600、电子设备700和存储介质的具体实现方案及其有益效果,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的自动化流程中变量的编辑系统和自动化流程的控制系统中的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种自动化流程中变量的编辑方法,其特征在于,包括:
显示流程编辑界面,其中,所述流程编辑界面中包括自动化流程的流程图;
基于用户对所述流程图中的脚本执行节点的第一操作的操作信息,确定在所述脚本执行节点处执行的变量赋值指令的脚本信息,其中所述变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算所述目标变量的值的表达式;以及
存储所述变量赋值指令的脚本信息。
2.如权利要求1所述的编辑方法,其特征在于,在所述存储所述变量赋值指令的脚本信息之前,所述编辑方法还包括:
对所述变量赋值指令的脚本信息进行校验,以确定所述变量赋值指令的脚本信息是否合理;
其中,所述存储所述变量赋值指令的脚本信息是在确定所述变量赋值指令的脚本信息合理的条件下执行。
3.如权利要求2所述的编辑方法,其特征在于,所述对所述变量赋值指令的脚本信息进行校验,包括:
对所述表达式的脚本信息的语法进行校验,以确定所述表达式的脚本信息的语法是否合法;
计算所述表达式的值并对所述表达式的值进行校验,以确定所述表达式是否合理;以及
在确定所述表达式的脚本信息的语法合法并且确定所述表达式合理的情况下,确定变量赋值指令的脚本信息合理。
4.如权利要求3所述的编辑方法,其特征在于,所述计算所述表达式的值并对所述表达式的值进行校验是在确定所述表达式的脚本信息的语法合法的条件下执行。
5.如权利要求3所述的编辑方法,其特征在于,所述计算所述表达式的值并对所述表达式的值进行校验,包括:
根据所述表达式的脚本信息中所包含的、所述目标变量的关联变量的默认值,计算所述表达式的值,其中所述目标变量的关联变量是所述目标变量的表达式中涉及的变量;
判断所计算的所述表达式的值所属的类型和所述目标变量的类型是否一致,并在一致的情况下确定所述表达式合理。
6.如权利要求1至5任一项所述的编辑方法,其特征在于,所述编辑方法还包括:
响应于所述用户对所述流程编辑界面的第二操作,确定所述自动化流程中的各个自定义变量的定义信息,其中,所述自定义变量包括所述目标变量;以及
存储各个自定义变量的定义信息;
其中,所述定义信息包括变量的名称、类型和默认值,所述变量的类型是所述用户所定义的所述变量的值的数字格式。
7.如引用权利要求2的权利要求6所述的编辑方法,其特征在于,所述关于待赋值的目标变量的名称的信息是所述目标变量的名称对应的编号,所述定义信息还包括变量的名称所对应的编号以及名称与编号的对应关系;
在所述对所述变量赋值指令的脚本信息进行校验之前,所述编辑方法还包括:
根据所述对应关系,对所述变量赋值指令的脚本信息进行预处理,以将所述目标变量的编号和所述变量赋值指令中包含的、所述目标变量的关联变量的编号分别替换为各自变量的名称;
所述对所述变量赋值指令的脚本信息进行校验,包括:
利用所替换的变量的名称,对所述变量赋值指令的脚本信息进行校验。
8.如权利要求1至5任一项所述的编辑方法,其特征在于,所述编辑方法还包括:
响应于用户对所述流程图的第三操作,在所述自动化流程中添加所述脚本执行节点。
9.如权利要求1至5任一项所述的编辑方法,其特征在于,所述基于用户对所述流程图中的脚本执行节点的第一操作的操作信息,确定在所述脚本执行节点处执行的变量赋值指令的脚本信息,包括:
响应于用户对所述脚本执行节点的第一操作,显示第一变量编辑界面,其中所述第一变量编辑界面中包括可输入文本框;
接收所述用户利用所述可输入文本框所输入的所述目标变量的名称的信息;以及
接收所述用户利用所述可输入文本框所输入的用于计算所述目标变量的值的表达式。
10.如权利要求1至5任一项所述的编辑方法,其特征在于,所述基于用户对所述流程图中的脚本执行节点的第一操作的操作信息,确定在所述脚本执行节点处执行的变量赋值指令的脚本信息,包括:
响应于用户对所述脚本执行节点的第一操作,显示第二变量编辑界面,其中所述第二变量编辑界面中包括对应变量赋值指令的指令设置控件;以及
基于所述用户对所述指令设置控件的第四操作的操作信息,确定在所述脚本执行节点处执行的变量赋值指令的脚本信息。
11.如权利要求10所述的编辑方法,其特征在于,所述基于所述用户对所述指令设置控件的第四操作的操作信息,确定在所述脚本执行节点处执行的变量赋值指令的脚本信息,包括:
响应于所述用户对所述指令设置控件的第四操作,显示第三变量编辑界面,其中所述第三变量编辑界面中包括变量名选择控件和表达式编辑控件;
响应于所述用户对所述变量名选择控件的第五操作,确定所述目标变量的名称的信息;以及
响应于所述用户对所述表达式编辑控件的第六操作,确定用于计算所述目标变量的值的表达式。
12.如权利要求1至5任一项所述的编辑方法,其特征在于,所述脚本执行节点包括设置在所述自动化流程中的任一设备节点之前的第一脚本执行节点和/或设置在所述设备节点之后的第二脚本执行节点,
其中,在所述第一脚本执行节点处执行的变量赋值指令是在该设备的主操作执行之前执行,在所述第二脚本执行节点处执行的变量赋值指令是在该设备的主操作执行之后执行。
13.一种自动化流程的控制方法,其特征在于,包括:
在运行自动化流程之前,利用如权利要求1至12任一项所述的自动化流程中变量的编辑方法,确定并存储在所述自动化流程的脚本执行节点处执行的变量赋值指令的脚本信息;
在运行所述自动化流程的过程中,在运行至包含变量赋值指令的脚本执行节点时,获取已存储的所述变量赋值指令的脚本信息,其中所述变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算所述目标变量的值的表达式;
对所述变量赋值指令的脚本信息进行语法解析,确定所述目标变量的名称和所述表达式;以及
根据所述目标变量的名称和所述表达式,对所述目标变量进行赋值。
14.一种自动化流程中变量的编辑系统,其特征在于,包括:
显示模块,用于显示流程编辑界面,其中,所述流程编辑界面中包括自动化流程的流程图;
确定模块,用于基于用户对所述流程图中的脚本执行节点的第一操作的操作信息,确定在所述脚本执行节点处执行的变量赋值指令的脚本信息,其中所述变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算所述目标变量的值的表达式;以及
存储模块,用于存储所述变量赋值指令的脚本信息。
15.一种自动化流程的控制系统,其特征在于,包括:
编辑模块,用于在运行自动化流程之前,利用如权利要求1至12任一项所述的自动化流程中变量的编辑方法,确定并存储在所述自动化流程的脚本执行节点处执行的变量赋值指令的脚本信息;
获取模块,用于在运行所述自动化流程的过程中,在运行至包含变量赋值指令的脚本执行节点时,获取已存储的所述变量赋值指令的脚本信息,其中所述变量赋值指令的脚本信息包括关于待赋值的目标变量的名称的信息和用于计算所述目标变量的值的表达式;
确定模块,用于对所述变量赋值指令的脚本信息进行语法解析,确定所述目标变量的名称和所述表达式;以及
赋值模块,用于根据所述目标变量的名称和所述表达式,对所述目标变量进行赋值。
16.一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至12任一项所述的自动化流程中变量的编辑方法和/或如权利要求11所述的自动化流程的控制方法。
17.一种存储介质,在所述存储介质上存储了程序指令,其特征在于,所述程序指令在运行时用于执行如权利要求1至12任一项所述的自动化流程中变量的编辑方法和/或如权利要求13所述的自动化流程的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311790944.9A CN117850305A (zh) | 2023-12-22 | 2023-12-22 | 自动化流程中变量的编辑方法和自动化流程的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311790944.9A CN117850305A (zh) | 2023-12-22 | 2023-12-22 | 自动化流程中变量的编辑方法和自动化流程的控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117850305A true CN117850305A (zh) | 2024-04-09 |
Family
ID=90530696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311790944.9A Pending CN117850305A (zh) | 2023-12-22 | 2023-12-22 | 自动化流程中变量的编辑方法和自动化流程的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117850305A (zh) |
-
2023
- 2023-12-22 CN CN202311790944.9A patent/CN117850305A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232162B (zh) | 一种基于html5的流程定义方法及系统 | |
US10592211B2 (en) | Generation of application behaviors | |
US7024631B1 (en) | System and method for enabling graphical program polymorphism | |
US20070266368A1 (en) | System and method for synchronized workflow management | |
US8539443B2 (en) | Edit time analyzer in a loosely typed textual language | |
US7761859B2 (en) | Application development environment with features for aiding a user in writing function calls | |
CN101046767A (zh) | 用于自动测试基于图形的编程工具的方法和系统 | |
CN113886362A (zh) | 基于工作流引擎及低代码平台的数据存储系统及存储方法 | |
US8042095B2 (en) | Application development environment with features for increasing the ease and efficiency of viewing function help text | |
JP6199314B2 (ja) | 演算子の優先順位のグラフィカル表現 | |
De Boeck et al. | High-level modeling of multimodal interaction techniques using nimmit | |
US20160062738A1 (en) | Methods and Apparatuses for Interactive Computer Programming | |
CN116820811B (zh) | 基于剪切板的rpa组件变量快速导出和赋值方法及系统 | |
US20230176834A1 (en) | Graphical programming environment | |
CN117850305A (zh) | 自动化流程中变量的编辑方法和自动化流程的控制方法 | |
CN115480940A (zh) | 一种财务比率指标页面化调用方法、装置及介质 | |
CN115269285A (zh) | 测试方法及装置、设备、计算机可读存储介质 | |
US20040205703A1 (en) | Playing in scenarios of system behavior | |
CN117819197A (zh) | 自动化流程的控制方法、系统、电子设备及存储介质 | |
US20090013308A1 (en) | Programming interface for computer programming | |
CN106897104B (zh) | 程序编辑平台及程序编辑方法 | |
da Cruz et al. | Automatic generation of user interface models and prototypes from domain and use case models | |
JPH1185835A (ja) | 作図装置 | |
CN117829570A (zh) | 自动化流程中的样本追踪方法和自动化流程的控制方法 | |
Martin | The Undergraduate Guide to R |
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 |