CN117193741A - 一种可视化搭建系统的处理方法、装置以及处理设备 - Google Patents

一种可视化搭建系统的处理方法、装置以及处理设备 Download PDF

Info

Publication number
CN117193741A
CN117193741A CN202310969298.6A CN202310969298A CN117193741A CN 117193741 A CN117193741 A CN 117193741A CN 202310969298 A CN202310969298 A CN 202310969298A CN 117193741 A CN117193741 A CN 117193741A
Authority
CN
China
Prior art keywords
dsl
dynamic
executable
user
data structure
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
Application number
CN202310969298.6A
Other languages
English (en)
Inventor
索传良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN202310969298.6A priority Critical patent/CN117193741A/zh
Publication of CN117193741A publication Critical patent/CN117193741A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提供了一种可视化搭建系统的处理方法、装置以及处理设备,用于为可视化搭建系统提供一个更为新颖的系统架构,从而让基于可视化搭建系统可以满足实际情况下业务需求的多样性和复杂性,进而为软件开发工作提供用户体验更佳的工作环境,使得软件开发工作可以更为便捷的展开。方法包括:DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据;DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;动态编译器将可执行数据结构编译为可执行代码;结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况。

Description

一种可视化搭建系统的处理方法、装置以及处理设备
技术领域
本申请涉及计算机技术领域,具体涉及一种可视化搭建系统的处理方法、装置以及处理设备。
背景技术
近年来,随着计算机技术的不断发展,软件开发已经从传统的手写代码转变为使用可视化搭建系统进行快速开发,可视化搭建系统作为软件开发工具,凭借其具备的可视化特性,从视觉层面出发辅助软件开发的进行,能够有效地提高软件开发效率,降低开发成本。
然而,本申请发明人发现,现有的可视化搭建系统采用的是静态逻辑编排方案,即,在系统的设计阶段就已经固定了软件开发过程中涉及的逻辑流程,用户若具有特定的逻辑编排需求,往往需要在系统部署前期对可视化搭建系统进行定制化,以针对性地满足后续的系统使用,而该可视化搭建系统的使用方式,会让使用成本还有维护成本变得很高,难以满足实际情况下业务需求的多样性和复杂性。
发明内容
本申请提供了一种可视化搭建系统的处理方法、装置以及处理设备,用于为可视化搭建系统提供一个更为新颖的系统架构,从而让基于可视化搭建系统可以满足实际情况下业务需求的多样性和复杂性,进而为软件开发工作提供用户体验更佳的工作环境,使得软件开发工作可以更为便捷的展开。
在第一方面,本申请提供了一种可视化搭建系统的处理方法,可视化搭建系统的处理方法应用于可视化搭建系统,可视化搭建系统包括DSL编辑器、DSL解释器、动态编译器和结果展示器,方法包括:
DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
动态编译器将可执行数据结构编译为可执行代码;
结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,对于DSL编辑器,DSL语言的工作环境在包括变量、操作符、事件、条件和动作的元素的基础上,设置有包括DSL语法定义、触发逻辑定义、赋值逻辑定义、表达式逻辑定义、属性定义、条件表达式、自定义方法定义、事件定义和基础词定义的DSL语言定义内容。
结合本申请第一方面,在本申请第一方面第二种可能的实现方式中,DSL解释器包括词法解析组件、语法解析组件、事件组件和条件组件,词法解析组件用于定义变量及其类型,语法解析组件用于选择操作符及其参数,事件组件用于选择事件及其参数,条件组件用于选择条件及其参数。
结合本申请第一方面,在本申请第一方面第三种可能的实现方式中,可执行数据结构具体为json数据结构。
结合本申请第一方面,在本申请第一方面第四种可能的实现方式中,动态编译器将可执行数据结构编译为可执行代码,包括:
动态编译器按照数据内容的适用类型,将可执行数据结构编译为赋值类型和触发类型的可执行代码。
结合本申请第一方面,在本申请第一方面第五种可能的实现方式中,动态编译器将可执行数据结构编译为可执行代码,包括:
动态编译器将可执行数据结构编译为可执行代码的同时,在页面中展示编译过程。
结合本申请第一方面,在本申请第一方面第六种可能的实现方式中,DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据之前,方法还包括:
在用户将目标应用服务的对应组件拖曳至可视化搭建系统的事件触发下,确定作为当前处理目标的目标应用服务;
获取目标应用服务的属性数据或者已有的DSL动态逻辑编排数据,并展示,以供用户在工作环境中录入用户操作。
第二方面,本申请提供了一种可视化搭建系统的处理装置,可视化搭建系统的处理装置应用于可视化搭建系统,可视化搭建系统包括DSL编辑器、DSL解释器、动态编译器和结果展示器,装置包括:
录入单元,用于由DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
解析转化单元,用于由DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
编译单元,用于由动态编译器将可执行数据结构编译为可执行代码;
执行单元,用于由结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,对于DSL编辑器,DSL语言的工作环境在包括变量、操作符、事件、条件和动作的元素的基础上,设置有包括DSL语法定义、触发逻辑定义、赋值逻辑定义、表达式逻辑定义、属性定义、条件表达式、自定义方法定义、事件定义和基础词定义的DSL语言定义内容。
结合本申请第二方面,在本申请第二方面第二种可能的实现方式中,DSL解释器包括词法解析组件、语法解析组件、事件组件和条件组件,词法解析组件用于定义变量及其类型,语法解析组件用于选择操作符及其参数,事件组件用于选择事件及其参数,条件组件用于选择条件及其参数。
结合本申请第二方面,在本申请第二方面第三种可能的实现方式中,可执行数据结构具体为json数据结构。
结合本申请第二方面,在本申请第二方面第四种可能的实现方式中,编译单元,具体用于:
由动态编译器按照数据内容的适用类型,将可执行数据结构编译为赋值类型和触发类型的可执行代码。
结合本申请第二方面,在本申请第二方面第五种可能的实现方式中,编译单元,具体用于:
由动态编译器将可执行数据结构编译为可执行代码的同时,在页面中展示编译过程。
结合本申请第二方面,在本申请第二方面第六种可能的实现方式中,装置还包括展示单元,用于:
在用户将目标应用服务的对应组件拖曳至可视化搭建系统的事件触发下,确定作为当前处理目标的目标应用服务;
获取目标应用服务的属性数据或者已有的DSL动态逻辑编排数据,并展示,以供用户在工作环境中录入用户操作。
第三方面,本申请提供了一种处理设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对于涉及到可视化搭建系统的软件开发工作,本申请为可视化搭建系统提供一个更为新颖的系统架构,在系统的工作过程中,DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,该DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容,接着DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构,此时动态编译器将可执行数据结构编译为可执行代码,由结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况,在这过程中,本申请针对系统所引入的DSL语言,配置了具体的工作组件及其工作逻辑,由此为可视化搭建系统提供一个更为新颖的系统架构,有效地利用DSL语言来实现软件开发过程中的动态逻辑编排目标,让基于可视化搭建系统可以满足实际情况下业务需求的多样性和复杂性,进而为软件开发工作提供用户体验更佳的工作环境,使得软件开发工作可以更为便捷的展开。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请可视化搭建系统的一种系统架构图;
图2为本申请可视化搭建系统的处理方法的一种流程示意图;
图3为本申请可视化搭建系统的处理装置的一种结构示意图;
图4为本申请处理设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的可视化搭建系统的处理方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的可视化搭建系统的处理方法、装置以及计算机可读存储介质,可应用于处理设备,用于为可视化搭建系统提供一个更为新颖的系统架构,从而让基于可视化搭建系统可以满足实际情况下业务需求的多样性和复杂性,进而为软件开发工作提供用户体验更佳的工作环境,使得软件开发工作可以更为便捷的展开。
本申请提及的可视化搭建系统的处理方法,其执行主体可以为可视化搭建系统的处理装置,或者集成了该可视化搭建系统的处理装置的服务器、物理主机或者用户设备(User Equipment,UE)等不同类型的处理设备。其中,可视化搭建系统的处理装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备,处理设备可以通过设备集群的方式设置。
可以理解的是,在实际应用中,执行本申请可视化搭建系统的处理方法的处理设备,通过为软件开发公司/团队的工作人员手头的设备,例如典型的如台式电脑、笔记本电脑等不同类型的UE,这些设备直接搭载或者说配置了本申请所涉及的可视化搭建系统。
此外,执行本申请可视化搭建系统的处理方法的处理设备,也可以为服务器或者物理主机等类型的设备,其可以通过如Web服务等远程方式来满足相关用户的远程/异地处理需求,这在实际应用中也是可能涉及到的。
下面,开始介绍本申请提供的可视化搭建系统的处理方法。
首先,参阅图1,图1示出了本申请可视化搭建系统的一种系统架构图,从图1中清楚地可以看到,本申请所涉及的可视化搭建系统(也可以成为可视化搭建平台),具体包括DSL编辑器、DSL解释器、动态编译器和结果展示器四者,这些组件的具体工作内容,为避免内容上的赘述,则可以由下面对本申请可视化搭建系统的处理方法的介绍中进行了解。
其中,可以理解的是,并不是说以上四个组件就可以直接形成本申请所涉及的可视化搭建系统,本申请所配置的可视化搭建系统,除了以上四个组件外,在系统构成上也可以涉及到其他的组件,来为以上四个组件的工作,为可视化搭建系统的工作提供支持。
而在图1所示可视化搭建系统的系统架构的基础上,继续参阅图2,图2示出了本申请可视化搭建系统的处理方法的一种流程示意图,本申请提供的可视化搭建系统的处理方法,应用于本申请所涉及的可视化搭建系统,具体可包括如下步骤S201至步骤S204:
步骤S201,DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
需要强调的是,本申请专门为软件开发工作可依赖的开发工具-可视化搭建系统,引入了DSL语言,并给予DSL语言来配置了相应的工作组件和工作逻辑。
其中,DSL,即,领域特定语言,domain specific language。
DSL语言,通俗来讲,为专门针对某一特定问题配置的计算机语言,DSL语言在本申请所涉及的可视化搭建系统的应用场景中,则是可以由本申请根据可视化搭建系统这一业务领域,来进行本申请所要实现的可视化搭建系统所期望功能的便捷式配置,相较于其他计算机语言,DSL语言在贴近目标业务领域的特点下,还具有显著降低复杂性(或者说简洁性)的特点。
从这也可以看出,DSL语言只是作为本申请改造可视化搭建系统的工作环境的一种工具,并不能说是因为采用了DSL语言来部署现有可视化搭建系统就可以带来将在下文中具体介绍的、本申请可视化搭建系统所能获得的技术效果。
在DSL语言的基础上,本申请配置了DSL编辑器,其面向的用户,为负责软件开发工作的工作人员,用户可以通过DSL编辑器所提供的页面、窗口或者输入框等用户操作(输入方式),来输入当前软件开发过程中所要涉及的动态逻辑编排内容。
本申请发明人在现有技术中的具体研究中发现有以下几种情况:
1)部分可视化搭建系统,只支持静态页面(布局、展示)搭建;
2)部分可视化搭建系统,用户可通过向平台添加定制组件(逻辑了对应封装)来实现;
3)目前没有通用的动态逻辑可视化方案,满足复杂多样的需求,导致可视化搭建只能适用在特定领域特定功能。
很显然,这些可视化搭建系统的使用方式,往往需要在系统部署前期对可视化搭建系统进行定制化,以针对性地满足后续的系统使用,会让使用成本还有维护成本变得很高,难以满足实际情况下业务需求的多样性和复杂性。
在该背景下,本申请给予DSL语言,则是设计了动态逻辑编排的系统工作特点,并以设计的工作组件及其工作逻辑来体现。
对于动态逻辑编排,第一个环节就是让用户可以灵活地根据实时开发需求,进行当前处于软件开发过程的目标应用服务的动态编排内容的输入,以触发系统按照用户当前的动态逻辑编排目标,调整目标应用服务。
对此,DSL编辑器则可以由用户灵活地输入DSL形式这一预先定义好的DSL语言所适配格式的动态逻辑编排内容,该输入环节也可以用接收用户用DSL语言描述的动态逻辑编排内容来理解。
具体的,作为一种示例性的实现方式,对于DSL编辑器,DSL语言的工作环境在包括变量、操作符、事件、条件和动作等的元素的基础上,本申请设置有包括DSL语法定义、触发逻辑定义、赋值逻辑定义、表达式逻辑定义、属性定义、条件表达式、自定义方法定义、事件定义和基础词定义等的DSL语言定义内容。
可以理解,在此处设置中,本申请对于DSL编辑器,具体涉及到了一系列元素和一系列定义的内容,以此为DSL编辑器所涉及的DSL语言定义内容,针对具体应用提供了充分的应用方案。
举例而言,在具体应用中,可以定义一个名为“shark”的DSL语言(不同设计人所设计的具体DSL语言并不是一致的,这也是设计出来的DSL语言能够更贴合所要使用的业务领域的一大缘故),其可以涉及到以下的几种主要元素:
变量:用于存储数据;
操作符:用于对变量进行操作;
事件:用于描述动页面上元素发生的事件,如按钮点击等;
条件:用于判断事件是否满足某些条件;
动作:用于描述事件发生后执行的动作,如赋值、触发、合并等。
在该基础上,则可以有以下的部分DSL语言定义内容:
此外,为方便用户更为便捷地在DSL编辑器的工作环境录入相应的用户操作,此处DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据之前,本申请可视化搭建系统的处理方法还可以包括如下步骤:
在用户将目标应用服务的对应组件拖曳至可视化搭建系统的事件触发下,确定作为当前处理目标的目标应用服务;
获取目标应用服务的属性数据或者已有的DSL动态逻辑编排数据,并展示,以供用户在工作环境中录入用户操作。
可以理解,可视化搭建系统本身的优点在于系统工作过程中可以以可视化的方式进行呈现,而在初期阶段,为辅助DSL编辑器对于用户的动态逻辑编排内容的输入,还可以涉及到可视化性质的便捷操作,具体来说,这里的处理既可以由DSL编译器来实现,也可以由可视化搭建系统的其他组件来实现(对应了前面提及的可视化搭建系统可以涉及到四大组件以外的其他组件)。
具体的,可以由用户直接选定所要开发的目标应用服务的对应组件,这里的组件可以用半成品来理解,如此组件已经具备雏形,组件的存在可以在显示界面呈现,因此用户可以通过鼠标(软件开发模式中比较典型的操作方式),在显示界面中,将选定的组件拖曳至可视化搭建系统的任意区域或者DSL编辑器的特定区域中。
而可视化搭建系统在检测到该拖曳操作的操作事件后,则可以触发对应的工作内容,将拖曳至系统的组件的应用服务,确定为当前处理目标的目标应用服务。
而在确定了DSL编辑器的当前处理目标后,还可以接着将识别得到的目标应用服务的属性数据或者搜索到的组件已有的、历史的DSL动态逻辑编排数据,展示出来,如此更便于用户可以根据该直观的呈现内容,获悉目标应用服务的相关内容,从而可以更为高精度地、高效地向DSL编辑器录入相应的用户操作,录入目标应用服务组件对应的动态逻辑编排内容。
作为一个实例,当前要是先的一个页面中涉及到了两个输入框,用输入框A和输入框B来指代,在通过本申请所涉及的可视化搭建系统来对两者进行相应的动态逻辑编排时,可以将两者拖入可视化搭建系统的画布中,可视化搭建系统就会将两者确认为当前要处理的目标应用服务,同时,可视化搭建系统搭建的页面可以使用react渲染(特点数据驱动试图),将输入框A和输入框B的属性数据储存到store(数据中心或数据商店)中,供后续系统调用适用,此外也可以如上面所提及的进行属性数据的呈现,方便用户后续录入相应的动态逻辑编排内容。
仍以上面涉及到的输入框A和输入框B的动态逻辑编排任务为例,假设动态逻辑编排目标为:输入框B是否展示需要根据输入框A的值是否是奇数来决定,即,输入框A的值是奇数,则输入框B显示,否则不显示,对应的,用户所录入的动态逻辑编排内容具体可以有:
comp_A.props.value%2!==0->comp_B.props.visiable
此外,对于DSL编辑器如何录入相应的用户操作,容易理解,除了采用键盘直接写入相应的内容,在具体应用中,也可以通过如语音输入等方式,这是可以随DSL编辑器预先配置的用户操作录入方式进行灵活调整的,本申请并不做具体限定。
步骤S202,DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
DSL编辑器获取到了用户针对目标应用服务录入的动态逻辑编排内容即DSL动态逻辑编排数据后,可视化搭建系统则可以开始进行其目标应用服务相应的动态逻辑编排处理。
具体的,DSL解释器可以将DSL编辑器获取到的DSL动态逻辑编排数据进行内容的解析识别,并将其转化为预设格式的可识别数据结构。
其中,可执行数据结构,可以用系统可以执行的、具有关联关系的数据元素的集合来理解,可执行数据结构不仅包含了所涉及到的不同DSL动态逻辑编排数据部分的解析内容(数据元素),也描述了各DSL动态逻辑编排数据部分的解析内容之间的关联关系(数据元素之间的关联关系)。
对于上述涉及到的解析处理,可以理解,DSL解释器需要通过预先配置的解析策略(也可以用算法、模型或者规则等称呼来理解)来实现。
具体的,作为一种示例性的实现方式,本申请DSL解释器具体可以包括词法解析组件、语法解析组件、事件组件和条件组件等组件来实现其对于DSL动态逻辑编排数据的解析功能。
其中,词法解析组件用于定义变量及其类型,语法解析组件用于选择操作符及其参数,事件组件用于选择事件及其参数,条件组件用于选择条件及其参数。
可以理解,在此处设置中,本申请对于DSL解释器,具体涉及到了一系列组件的内容,以此为DSL解释器所涉及的解析处理,针对具体应用提供了充分的应用方案。
而在具体实现上,对于DSL解释器所涉及的处理内容,则可以通过以下一组实例来帮助理解:
从此处实例中还可以看出来的是,对于DSL解释器在转化阶段涉及的可执行数据结构,作为一种示例性的实现方式,具体可以为json数据结构,也就是json格式的可执行数据结构。
json,即,JavaScript Object Notation,JS对象简谱,为一种轻量级的数据交换格式,可以作为本申请可视化搭建系统可执行数据结构较为实用的一种类型,方便后续进行的代码处理。
仍以前面涉及的输入框A和输入框B的动态逻辑编排任务为例,DSL解释器在获取到DSL编辑器所获取到的DSL动态逻辑编排数据后,可以通过下面的内容来实现其中涉及的转化处理,以得到可执行数据结构:
步骤S203,动态编译器将可执行数据结构编译为可执行代码;
DSL解释器获得了可执行数据结构后,则可以进行接下来的编译环节,由动态编译器进行可执行代码的编译处理,如此为后面涉及的代码执行,完成可直接运行的代码的数据支持工作。
作为一个实例,动态编译器的处理内容可以通过以下内容来实现:
与此同时,从上述的实例中还可以看出来的是,对于此处动态编译器的编译处理,还可以涉及到不同类型的编译处理。
对此,作为一种示例性的实现方式,此处动态编译器将可执行数据结构编译为可执行代码,可以包括:
动态编译器按照数据内容的适用类型,将可执行数据结构编译为赋值类型和触发类型的可执行代码。
可以理解,动态编译器具体可以通过识别可执行数据结构的具体数据内容,来进行适用编译类型的分类,并以此进行赋值类型和触发类型的编译处理,将可执行数据结构编译为赋值类型和触发类型的可执行代码。
或者,动态编译器也可以直接根据可执行数据结构中与编译类型相关的特定字符/标识,来实现编译类型的快速识别,并以此进行赋值类型和触发类型的编译处理,将可执行数据结构编译为赋值类型和触发类型的可执行代码。
通过编译类型的分类,来实现更为细腻的、更为高效的编译处理,满足实际情况中灵活的应用需求。
此外,从上述的实例中还可以看出来的是,动态编译器对于所涉及的编译处理,还可以进行实时的展示,以便用户通过实时展示的编译进程/动态,来观测编译进度的同时,也有助于查看编译进程/动态是否存在异常。
对应的,作为一种示例性的实现方式,此处动态编译器将可执行数据结构编译为可执行代码,也可以包括:
动态编译器将可执行数据结构编译为可执行代码的同时,在页面中展示编译过程。
其中,对于用来展示编译过程中页面,既可以是动态编译器的专属页面,即为动态编译器专门配置的页面,或者,也可以是可视化搭建系统的其他页面,随实际需要配置即可。
仍以前面涉及的输入框A和输入框B的动态逻辑编排任务为例,动态编译器将前面DSL解释器获得的可执行数据结构转换为可执行代码,其中,编译过程中涉及的表达式通过动态编译器的提供的execute方法执行,oper的update类型通过动态编译器的提供的update Props方法执行,修改第一步中的store中储存的组件props属性数据,促使页面更新为正确的状态(数据驱动视图)。
步骤S204,结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况。
可以理解,可视化搭建系统中的结果展示器,本质上是用来执行前面动态编译器编译得到的可执行代码的,并在执行过程中,或者在执行之后,在页面中展示可执行代码的执行结果,进而展示目标应用服务当前的开发情况。
结果展示器其配置有相应的页面,供展示可执行代码的执行结果使用,可以在设备本地或者专门的显示设备上进行具体的显示。
对于以上的方案内容,整体来说,针对于涉及到可视化搭建系统的软件开发工作,本申请为可视化搭建系统提供一个更为新颖的系统架构,在系统的工作过程中,DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,该DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容,接着DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构,此时动态编译器将可执行数据结构编译为可执行代码,由结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况,在这过程中,本申请针对系统所引入的DSL语言,配置了具体的工作组件及其工作逻辑,由此为可视化搭建系统提供一个更为新颖的系统架构,有效地利用DSL语言来实现软件开发过程中的动态逻辑编排目标,让基于可视化搭建系统可以满足实际情况下业务需求的多样性和复杂性,进而为软件开发工作提供用户体验更佳的工作环境,使得软件开发工作可以更为便捷的展开。
以上是本申请提供的可视化搭建系统的处理方法的介绍,为便于更好的实施本申请提供的可视化搭建系统的处理方法,本申请还从功能模块角度提供了一种可视化搭建系统的处理装置。
在本申请中,可视化搭建系统的处理装置应用于可视化搭建系统,可视化搭建系统包括DSL编辑器、DSL解释器、动态编译器和结果展示器,在该基础上,参阅图3,图3为本申请可视化搭建系统的处理装置的一种结构示意图,本申请可视化搭建系统的处理装置300具体可包括如下结构:
录入单元301,用于由DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
解析转化单元302,用于由DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
编译单元303,用于由动态编译器将可执行数据结构编译为可执行代码;
执行单元304,用于由结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况。
在一种示例性的实现方式中,对于DSL编辑器,DSL语言的工作环境在包括变量、操作符、事件、条件和动作的元素的基础上,设置有包括DSL语法定义、触发逻辑定义、赋值逻辑定义、表达式逻辑定义、属性定义、条件表达式、自定义方法定义、事件定义和基础词定义的DSL语言定义内容。
在又一种示例性的实现方式中,DSL解释器包括词法解析组件、语法解析组件、事件组件和条件组件,词法解析组件用于定义变量及其类型,语法解析组件用于选择操作符及其参数,事件组件用于选择事件及其参数,条件组件用于选择条件及其参数。
在又一种示例性的实现方式中,可执行数据结构具体为json数据结构。
在又一种示例性的实现方式中,编译单元303,具体用于:
由动态编译器按照数据内容的适用类型,将可执行数据结构编译为赋值类型和触发类型的可执行代码。
在又一种示例性的实现方式中,编译单元303,具体用于:
由动态编译器将可执行数据结构编译为可执行代码的同时,在页面中展示编译过程。
在又一种示例性的实现方式中,装置还包括展示单元305,用于:
在用户将目标应用服务的对应组件拖曳至可视化搭建系统的事件触发下,确定作为当前处理目标的目标应用服务;
获取目标应用服务的属性数据或者已有的DSL动态逻辑编排数据,并展示,以供用户在工作环境中录入用户操作。
本申请还从硬件结构角度提供了一种处理设备,参阅图4,图4示出了本申请处理设备的一种结构示意图,具体的,本申请处理设备可包括处理器401、存储器402以及输入输出设备403,处理器401用于执行存储器402中存储的计算机程序时实现如图2对应实施例中可视化搭建系统的处理方法的各步骤;或者,处理器401用于执行存储器402中存储的计算机程序时实现如图3对应实施例中各单元的功能,存储器402用于存储处理器401执行上述图2对应实施例中可视化搭建系统的处理方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
处理设备可包括,但不仅限于处理器401、存储器402、输入输出设备403。本领域技术人员可以理解,示意仅仅是处理设备的示例,并不构成对处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如处理设备还可以包括网络接入设备、总线等,处理器401、存储器402、输入输出设备403等通过总线相连。
处理器401可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是处理设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器402可用于存储计算机程序和/或模块,处理器401通过运行或执行存储在存储器402内的计算机程序和/或模块,以及调用存储在存储器402内的数据,实现计算机装置的各种功能。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据处理设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器401用于执行存储器402中存储的计算机程序时,具体可实现以下功能:
DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,DSL动态逻辑编排数据是指DSL形式的、描述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
DSL解释器对DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
动态编译器将可执行数据结构编译为可执行代码;
结果展示器执行可执行代码,并在页面中展示执行结果,以展示目标应用服务当前的开发情况。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的可视化搭建系统的处理装置、处理设备及其相应单元的具体工作过程,可以参考如图2对应实施例中可视化搭建系统的处理方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图2对应实施例中可视化搭建系统的处理方法的步骤,具体操作可参考如图2对应实施例中可视化搭建系统的处理方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图2对应实施例中可视化搭建系统的处理方法的步骤,因此,可以实现本申请如图2对应实施例中可视化搭建系统的处理方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的可视化搭建系统的处理方法、装置、处理设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种可视化搭建系统的处理方法,其特征在于,所述可视化搭建系统的处理方法应用于可视化搭建系统,所述可视化搭建系统包括DSL编辑器、DSL解释器、动态编译器和结果展示器,所述方法包括:
所述DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在所述工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,所述DSL动态逻辑编排数据是指DSL形式的、描述所述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
所述DSL解释器对所述DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
所述动态编译器将所述可执行数据结构编译为可执行代码;
所述结果展示器执行所述可执行代码,并在页面中展示执行结果,以展示所述目标应用服务当前的开发情况。
2.根据权利要求1所述的方法,其特征在于,对于所述DSL编辑器,所述DSL语言的工作环境在包括变量、操作符、事件、条件和动作的元素的基础上,设置有包括DSL语法定义、触发逻辑定义、赋值逻辑定义、表达式逻辑定义、属性定义、条件表达式、自定义方法定义、事件定义和基础词定义的DSL语言定义内容。
3.根据权利要求1所述的方法,其特征在于,所述DSL解释器包括词法解析组件、语法解析组件、事件组件和条件组件,所述词法解析组件用于定义变量及其类型,所述语法解析组件用于选择操作符及其参数,所述事件组件用于选择事件及其参数,所述条件组件用于选择条件及其参数。
4.根据权利要求1所述的方法,其特征在于,所述可执行数据结构具体为json数据结构。
5.根据权利要求1所述的方法,其特征在于,所述动态编译器将所述可执行数据结构编译为可执行代码,包括:
所述动态编译器按照数据内容的适用类型,将所述可执行数据结构编译为赋值类型和触发类型的所述可执行代码。
6.根据权利要求1所述的方法,其特征在于,所述动态编译器将所述可执行数据结构编译为可执行代码,包括:
所述动态编译器将所述可执行数据结构编译为所述可执行代码的同时,在所述页面中展示编译过程。
7.根据权利要求1所述的方法,其特征在于,所述DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在所述工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据之前,所述方法还包括:
在所述用户将所述目标应用服务的对应组件拖曳至所述可视化搭建系统的事件触发下,确定作为当前处理目标的所述目标应用服务;
获取所述目标应用服务的属性数据或者已有的DSL动态逻辑编排数据,并展示,以供所述用户在所述工作环境中录入所述用户操作。
8.一种可视化搭建系统的处理装置,其特征在于,所述可视化搭建系统的处理装置应用于可视化搭建系统,所述可视化搭建系统包括DSL编辑器、DSL解释器、动态编译器和结果展示器,所述装置包括:
录入单元,用于由所述DSL编辑器在提供DSL语言的工作环境的基础上,根据用户在所述工作环境中录入的用户操作,形成对应的DSL动态逻辑编排数据,其中,所述DSL动态逻辑编排数据是指DSL形式的、描述所述用户在目标应用服务的开发过程中涉及的动态逻辑编排内容;
解析转化单元,用于由所述DSL解释器对所述DSL动态逻辑编排数据进行解析,并将解析内容转化为可执行数据结构;
编译单元,用于由所述动态编译器将所述可执行数据结构编译为可执行代码;
执行单元,用于由所述结果展示器执行所述可执行代码,并在页面中展示执行结果,以展示所述目标应用服务当前的开发情况。
9.一种处理设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的方法。
CN202310969298.6A 2023-08-02 2023-08-02 一种可视化搭建系统的处理方法、装置以及处理设备 Pending CN117193741A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310969298.6A CN117193741A (zh) 2023-08-02 2023-08-02 一种可视化搭建系统的处理方法、装置以及处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310969298.6A CN117193741A (zh) 2023-08-02 2023-08-02 一种可视化搭建系统的处理方法、装置以及处理设备

Publications (1)

Publication Number Publication Date
CN117193741A true CN117193741A (zh) 2023-12-08

Family

ID=89004201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310969298.6A Pending CN117193741A (zh) 2023-08-02 2023-08-02 一种可视化搭建系统的处理方法、装置以及处理设备

Country Status (1)

Country Link
CN (1) CN117193741A (zh)

Similar Documents

Publication Publication Date Title
CN106598556B (zh) 用户界面生成方法及装置
US8201140B2 (en) System and method for creating and using graphical object instances in a statechart environment
US10649836B2 (en) Detecting an error message and automatically presenting links to relevant solution pages
US20160357519A1 (en) Natural Language Engine for Coding and Debugging
US20210397148A1 (en) Analysis device, analysis method, and recording medium
CN108197024B (zh) 嵌入式浏览器调试方法、调试终端及计算机可读存储介质
US20160188299A1 (en) System And Method For Automatic Extraction Of Software Design From Requirements
CN109614325B (zh) 一种确定控件属性的方法及装置、电子设备和存储介质
US9519463B1 (en) Application for automatically generating graphical flowcharts based on configurable means
US8701086B2 (en) Simplifying analysis of software code used in software systems
CN112988298A (zh) 可视化界面配置方法、装置、计算机设备及存储介质
KR101350798B1 (ko) 오프로스 플랫폼에 기반하여 제어되는 로봇 시스템 및 그 로봇 제어방법
EP3457274A1 (en) System and method for creating domain specific language
CN114064026A (zh) 一种业务处理模型生成方法、装置、电子设备和存储介质
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
CN111061466A (zh) 行为控制脚本语言的自动化转化方法、系统、终端及介质
CN117193741A (zh) 一种可视化搭建系统的处理方法、装置以及处理设备
CN116578293A (zh) 业务数据方法、装置、设备及存储介质
CN117215661A (zh) 一种事件处理的方法、装置以及存储介质
CN108885574B (zh) 用于监视和报告设计、编译和运行时的性能和正确性问题的系统
JP2008033913A (ja) Plcのプログラム開発支援装置
CN114860221A (zh) 一种工作流引擎及其实现方法
CN109284097B (zh) 实现复杂数据分析的方法、设备、系统及存储介质
CN112306493A (zh) 热修复补丁生成方法、装置、存储介质及计算机设备
CN112988139A (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