CN109766088A - 程序生成方法、装置、数据处理方法及服务器 - Google Patents
程序生成方法、装置、数据处理方法及服务器 Download PDFInfo
- Publication number
- CN109766088A CN109766088A CN201910045243.XA CN201910045243A CN109766088A CN 109766088 A CN109766088 A CN 109766088A CN 201910045243 A CN201910045243 A CN 201910045243A CN 109766088 A CN109766088 A CN 109766088A
- Authority
- CN
- China
- Prior art keywords
- node
- running
- task
- program
- code
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种程序生成方法、装置、数据处理方法及服务器,涉及计算机数据处理技术领域。该方法通过获取用户终端发送的操作指令,操作指令为用户操作用户终端的显示界面以创建可执行任务时生成的指令;从数据库中确定与操作指令对应的初始操作节点的代码模板;根据操作指令中携带的配置参数及初始操作节点,从数据库中确定与预设可执行任务对应的所有操作节点及所有操作节点对应的代码模板;根据配置参数及所有操作节点的代码模板,生成与预设可执行任务对应的程序代码,能够改善现有技术中因需要发送大量请求以使后端频繁操作导致服务器压力大的技术问题。
Description
技术领域
本发明涉及计算机数据处理技术领域,具体而言,涉及一种程序生成方法、装置、数据处理方法及服务器。
背景技术
随着IT技术的飞速发展,各行各业与互联网的联系日益紧密,基于网站开发程序产品逐渐成熟。在现有技术中,在可视化生成程序的产品中,市场上现有的产品做法是用图形去描述前端组件的执行逻辑,当涉及到后端操作时(如API请求、数据库操作),会将此类操作封装为单独的功能,然后将此操作执行后的数据返回给前端,如果还有后续后端操作的需求,则再由前端发起请求。如果某一个执行逻辑需要后端频繁操作,将会产生大量请求,增加服务器压力。
发明内容
本发明提供一种程序生成方法、装置、数据处理方法及服务器。
第一方面,本发明实施例提供一种程序生成方法,所述方法包括:
获取用户终端发送的操作指令,所述操作指令为用户操作所述用户终端的显示界面以创建可执行任务时生成的指令;
从数据库中确定与所述操作指令对应的初始操作节点的代码模板;
根据所述操作指令中携带的配置参数及所述初始操作节点,从所述数据库中确定与预设可执行任务对应的所有操作节点及所述所有操作节点对应的代码模板;
根据所述配置参数及所述所有操作节点的代码模板,生成与所述预设可执行任务对应的程序代码。
结合第一方面,在一些可选的实施方式中,所述操作指令中包括操作节点的预设地址信息,所述数据库中的操作节点与所述操作节点的代码模板相关联;从数据库中确定与所述操作指令对应的初始操作节点的代码模板,包括:
在所述数据库中确定地址信息与所述预设地址信息相同的操作节点为所述初始操作节点,并根据所述初始操作节点确定出与所述初始操作节点相关联的代码模板。
结合第一方面,在一些可选的实施方式中,所述配置参数包括各个操作节点的节点流转方向信息,针对每个所述操作节点,所述节点流转方向信息包括当前操作节点流转至与所述当前操作节点对应的下一操作节点的地址信息;
从所述数据库中确定与预设可执行任务对应的所有操作节点及所述所有操作节点对应的代码模板,包括:
根据所述初始操作节点及所述下一操作节点的地址信息,逐个从所述数据库中确定出与所述预设可执行任务对应的操作节点及与该操作节点对应的代码模板,以得到与所述预设可执行任务对应的所有操作节点及与所有操作节点对应的代码模板。
结合第一方面,在一些可选的实施方式中,生成与所述预设可执行任务对应的程序代码,还包括:
基于所述配置参数及预设拼接策略,逐个拼接相邻两个操作节点的代码模板所对应的程序片段,以生成与所述预设可执行任务对应的所有操作节点的所述程序代码。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
将所述程序代码发送至所述用户终端。
第二方面,本发明实施例提供一种数据处理方法,应用于存储有上述方法生成的程序代码的服务器,所述方法包括:
获取待执行任务,并确定与所述待执行任务对应的程序代码;
运行所述程序代码中的与所述待执行任务的各操作节点对应的程序片段,得到与所述待执行任务的各操作节点对应的操作结果;
基于所述各操作节点对应的操作结果确定出所述待执行任务的处理结果。
第三方面,本发明实施例还提供一种程序生成装置,所述装置包括:
获取单元,用于获取用户终端发送的操作指令,所述操作指令为用户操作所述用户终端的显示界面以创建可执行任务时生成的指令;
确定单元,用于从数据库中确定与所述操作指令对应的初始操作节点的代码模板;
所述确定单元,还用于根据所述操作指令中携带的配置参数及所述初始操作节点,从所述数据库中确定与预设可执行任务对应的所有操作节点及所述所有操作节点对应的代码模板;
程序生成单元,用于根据所述配置参数及所述所有操作节点的代码模板,生成与所述预设可执行任务对应的程序代码。
结合第三方面,在一些可选的实施方式中,所述配置参数包括各个操作节点的节点流转方向信息,针对每个所述操作节点,所述节点流转方向信息包括当前操作节点流转至与所述当前操作节点对应的下一操作节点的地址信息;所述确定单元还用于:
根据所述初始操作节点及所述下一操作节点的地址信息,逐个从所述数据库中确定出与所述预设可执行任务对应的操作节点及与该操作节点对应的代码模板,以得到与所述预设可执行任务对应的所有操作节点及与所有操作节点对应的代码模板。
第四方面,本发明实施例还提供一种服务器,包括相互耦合的存储模块、处理模块、通信模块,所述存储模块内存储计算机程序,当所述计算机程序被所述处理模块执行时,使得所述服务器执行上述的程序生成方法。
第五方面,本发明实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的程序生成方法。
相对于现有技术而言,本发明提供的程序生成方法、装置、数据处理方法及服务器至少具有以下有益效果:该方法通过获取用户终端发送的操作指令,操作指令为用户操作用户终端的显示界面以创建可执行任务时生成的指令;从数据库中确定与操作指令对应的初始操作节点的代码模板;根据操作指令中携带的配置参数及初始操作节点,从数据库中确定与预设可执行任务对应的所有操作节点及所有操作节点对应的代码模板;根据配置参数及所有操作节点的代码模板,生成与预设可执行任务对应的程序代码。本方案中,在创建程序代码时,可以由用户终端发出一次操作请求,然后由服务器根据操作指令生成相应的程序代码,服务器无需频繁获取请求,从而能够改善现有技术中因需要发送大量请求以使后端频繁操作导致服务器压力大的技术问题。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的服务器与用户终端的交互示意图。
图2为本发明实施例提供的服务器的方框示意图。
图3为本发明实施例提供的程序生成方法的流程示意图。
图4为本发明实施例提供的在创建可执行任务时用户终端中用户界面的示意图。
图5为本发明实施例提供的程序生成装置的方框示意图。
图6为本发明实施例提供的数据处理方法的流程示意图。
图标:10-服务器;11-处理模块;12-通信模块;13-存储模块;20-用户终端;100-程序生成装置;110-获取单元;120-确定单元;130-程序生成单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
随着IT技术的飞速发展,各行各业与互联网的联系日益紧密,基于网站开发程序产品逐渐成熟。在现有技术中,在可视化生成程序的产品中,市场上现有的产品做法是用图形去描述前端组件的执行逻辑,当涉及到后端操作时(如API请求、数据库操作),会将此类操作封装为单独的功能,然后将此操作执行后的数据返回给前端,如果还有后续后端操作的需求,则再由前端发起请求。如果某一个执行逻辑需要后端频繁操作,将会产生大量请求,增加服务器压力。
鉴于上述问题,本申请发明人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本发明实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
第一实施例
请参照图1,本发明实施例提供的服务器10可以通过网络与用户终端20建立通信连接,以进行数据交互。用户终端20上可以安装浏览器,用户终端20中的浏览器与服务器10可以构成浏览器/服务器10(Browser/Server,B/S)架构,以供用户通过浏览器进行编程或创建可执行任务。
用户终端20可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobileInternet device,MID)等。网络可以是,但不限于,有线网络或无线网络。
请参照图2,是本发明实施例提供的服务器10的方框示意图。在本实施例中,服务器10可以包括处理模块11、通信模块12、存储模块13以及程序生成装置100,处理模块11、通信模块12、存储模块13以及程序生成装置100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理模块11可以是一种集成电路芯片,具有信号的处理能力。上述处理模块11可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
通信模块12用于通过服务器10与用户终端20的通信连接,并通过网络收发数据。
存储模块13可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块13可以用于存储各类操作节点及与操作节点对应的代码模板。当然,存储模块13还可以用于存储程序,处理模块11在接收到执行指令后,执行该程序。
进一步地,程序生成装置100包括至少一个可以软件或固件(firmware)的形式存储于存储模块13中或固化在服务器10操作系统(operating system,OS)中的软件功能模块。处理模块11用于执行存储模块13中存储的可执行模块,例如程序生成装置100所包括的软件功能模块及计算机程序等。
可以理解的是,图2所示的结构仅为服务器10的一种结构示意图,服务器10还可以包括比图2所示更多或更少的组件。图2中所示的各组件可以采用硬件、软件或其组合实现。
请参照图3,本发明实施提供的程序生成方法可以应用于上述的服务器10,由服务器10执行或实现程序生成方法的各步骤。
下面将对图3所示的程序生成方法的各步骤进行详细阐述:
步骤S210,获取用户终端20发送的操作指令,操作指令为用户操作用户终端20的显示界面以创建可执行任务时生成的指令。
在本实施例中,操作指令可以由用户根据实际情况而设置。每条操作指令通常包括了一套完整的执行流程。可理解地,一套完整的执行流程可以包括多个操作节点,每个操作节点用于实现一个功能或执行一个操作。比如,操作节点可以包括计算赋值、调用应用程序编程接口(Application Programming Interface,API)、调用方式、逻辑判断、数据库操作、设置返回值等节点。
请参照图4,用户通过用户终端20进行可视化编程时,用户终端20的用户界面可以显示如图4所示的界面。操作节点A与操作节点B可以指上述的两种不同类型的节点。操作节点A1、操作节点A2、操作节点A3可以指同一类型节点中不同实现方式的节点。比如,操作节点A1、操作节点A2、操作节点A3可以分别指“计算赋值”操作节点的三种不同实现方式的节点,操作节点B1、操作节点B2、操作节点B3可以分别指“调用方式”操作节点的三种不同实现方式的节点。
用户可以根据需求,通过拖拽图4中所示的图标来构建一个可执行任务。比如,用户可以将操作节点A1与操作节点B2用连接线连接起来,从而构建一个可执行任务。当然,在构建可执行任务的过程中,用户还可以在个操作节点输入相应的配置参数,以构建出完整的执行流程。在构建完该可执行任务时,用户终端20便生成用于创建程序代码的操作指令,以使服务器10根据该操作指令生成与预设可执行任务对应程序代码。其中,预设可执行任务可以由用户根据实际情况进行设置,这里不作具体限定。
步骤S220,从数据库中确定与操作指令对应的初始操作节点的代码模板。
在本实施例中,服务器10的数据库中预先存储有各类操作节点及与各类操作节点对应的代码模板。可理解地,一个操作节点与该操作节点对应的代码模板呈一一映射的关系。代码模板为开发人员预先根据该操作节点需要执行的功能或操作而编写的程序片段。运行该程序片段便可以执行该操作节点对应的操作或实现该操作节点对应的功能。
在本实施例中,服务器10可以根据操作指令中携带的信息从数据库中确定出与操作指令对应的初始操作节点及与初始操作节点对应的代码模板。
作为一种可选的实施方式,操作指令中包括操作节点的预设地址信息,数据库中的操作节点与操作节点的代码模板相关联。步骤S210可以包括:在数据库中确定地址信息与预设地址信息相同的操作节点为初始操作节点,并根据初始操作节点确定出与初始操作节点相关联的代码模板。
可理解地,数据库中可以包括与各类操作节点的地址信息对应的地址表。服务器10可以对操作指令进行解析,以得到预先设置在操作指令中的预设地址信息。然后,服务器10可以根据该预设地址信息从地址表中进行查询比对,若在地址表中查找到与预设地址信息相同的地址信息,那么该地址信息对应的操作节点便为预设可执行任务的初始操作节点,然后基于该操作节点便可以确定出与该操作节点关联的代码模板,该代码模板也就是预设可执行任务的初始操作节点的代码模板。
步骤S230,根据操作指令中携带的配置参数及初始操作节点,从数据库中确定与预设可执行任务对应的所有操作节点及所有操作节点对应的代码模板。
在本实施例中,操作指令通常包括了预设可执行任务中各个操作节点对应的参数,这些参数中包括配置参数以及节点流转方向信息。在确定出初始操作节点后,便可以根据节点流转方向信息确定出下一操作节点。可理解地,服务器10可以根据第i个操作节点及第i个操作节点的流转方向信息,确定出第i+1个操作节点及第i+1个操作节点的代码模板,然后依次递归,直至确定出预算可执行任务的所有操作节点及所有操作节点对应的代码模板,i为大于零的正整数。
其中,配置参数可以根据实际情况进行设置。例如,若当前的操作节点为“计算赋值”,那么可以根据计算得到的赋值,设置根据实际情况设置相应的阈值参数。比如,赋值在第一阈值范围内时,由当前操作节点跳转至“逻辑判断”节点,赋值在第二阈值范围内时,可以直接结束操作,或者由当前操作节点跳转至另一操作节点(比如设置返回值的节点)。
作为一种可选的实施方式,配置参数包括各个操作节点的节点流转方向信息,针对每个操作节点,节点流转方向信息包括当前操作节点流转至与当前操作节点对应的下一操作节点的地址信息。步骤S230可以包括:根据初始操作节点及下一操作节点的地址信息,逐个从数据库中确定出与预设可执行任务对应的操作节点及与该操作节点对应的代码模板,以得到与预设可执行任务对应的所有操作节点及与所有操作节点对应的代码模板。
可理解地,在确定出初始操作节点后,可以根据初始操作节点的节点流转方向信息,确定出初始操作节点后的第一个操作节点。具体地,可以根据节点流转方向信息中指向下一操作节点的地址信息,确定出初始操作节点后的第一个操作节点。然后根据初始操作节点后的第一个操作节点及该节点的节点流转方向信息确定出初始操作节点后的第二个操作节点。因为配置参数中包括了各个操作节点的节点流转方向信息,所以服务器10可以根据各个节点的节点流转方向信息递归出预设可执行任务的所有操作节点。
在本实施例中,可以定义一个options字段代表操作节点。每一个操作节点可以由如下字段定义:
id:当前节点地址信息
type:节点类型(比如上述的计算赋值、调用api、调用方法、逻辑判断、数据库操作、设置返回值)
params:参数数组(比如上述的各类阈值或阈值范围)
next:下一个节点编号
基于上述格式字段,服务器10便能递归出预设可执行任务的所有操作节点及所有操作节点对应的代码模板。
步骤S240,根据配置参数及所有操作节点的代码模板,生成与预设可执行任务对应的程序代码。
在本实施例中,服务器10可以根据配置参数及所有操作节点的代码模板生成上述的程序代码。在生成一个可执行任务对应的程序代码的过程中,用户在构建通过拖拽用户界面上的图标,并设置完相应配置参数后,用户终端20便发送一次用于生成与可执行任务对应的程序代码的操作指令,服务器10无需频繁接收操作指令,从而有助于改善现有技术中因需要发送大量请求以使后端(指服务器10)频繁操作导致服务器10压力大的技术问题。
作为一种可选的实施方式,步骤S240可以包括:基于配置参数及预设拼接策略,逐个拼接相邻两个操作节点的代码模板所对应的程序片段,以生成与预设可执行任务对应的所有操作节点的程序代码。
在本实施例中,预设拼接策略可以根据实际情况进行设置。例如,对于不同的程序片段,在进行拼接时,基于预设拼接策略,服务器10可以自动生成用于衔接相邻两个程序片段的代码。
作为一种可选的实施方式,方法还可以包括:将程序代码发送至用户终端20。
在本实施例中,在服务器10生成完预设可执行任务对应的程序代码后,可以将程序代码发送至用户终端20。服务器10在发送该程序代码时,可以将程序代码封装为配置文件,再将配置文件发送至用户终端20,以便于用户在用户终端20上使用或拷贝该程序代码。
请参照图5,本发明实施例还提供一种程序生成装置100,可以应用于上述的服务器10,用于执行或实现上述程序生成方法的各步骤。该程序生成装置100可以包括获取单元110、确定单元120及程序生成单元130。
获取单元110,用于获取用户终端20发送的操作指令,操作指令为用户操作用户终端20的显示界面以创建可执行任务时生成的指令。
确定单元120,用于从数据库中确定与操作指令对应的初始操作节点的代码模板。
可选地,操作指令中包括操作节点的预设地址信息,数据库中的操作节点与操作节点的代码模板相关联。确定单元120还用于在数据库中确定地址信息与预设地址信息相同的操作节点为初始操作节点,并根据初始操作节点确定出与初始操作节点相关联的代码模板。
确定单元120,还用于根据操作指令中携带的配置参数及初始操作节点,从数据库中确定与预设可执行任务对应的所有操作节点及所有操作节点对应的代码模板。
可选地,配置参数包括各个操作节点的节点流转方向信息,针对每个操作节点,节点流转方向信息包括当前操作节点流转至与当前操作节点对应的下一操作节点的地址信息。确定单元120还用于根据初始操作节点及下一操作节点的地址信息,逐个从数据库中确定出与预设可执行任务对应的操作节点及与该操作节点对应的代码模板,以得到与预设可执行任务对应的所有操作节点及与所有操作节点对应的代码模板。
程序生成单元130,用于根据配置参数及所有操作节点的代码模板,生成与预设可执行任务对应的程序代码。
可选地,程序生成单元130还用于基于配置参数及预设拼接策略,逐个拼接相邻两个操作节点的代码模板所对应的程序片段,以生成与预设可执行任务对应的所有操作节点的程序代码。
可选地,程序生成装置100还可以包括发送单元,用于将程序代码发送至用户终端20。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的程序代码生成装置的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
第二实施例
请参照图6,本发明实施例还提供一种数据处理方法,应用于存储有同感上述方法生成的程序代码的服务器10,由该服务器10执行或实现数据处理方法的各步骤。
下面将对图6所示的数据处理方法的各步骤进行详细阐述:
步骤S310,获取待执行任务,并确定与待执行任务对应的程序代码。
步骤S320,运行程序代码中的与待执行任务的各操作节点对应的程序片段,得到与待执行任务的各操作节点对应的操作结果。
步骤S330,基于各操作节点对应的操作结果确定出待执行任务的处理结果。
在第二实施例中,待执行任务可以根据实际情况进行设置,通常可以由用户终端20发起用于执行待执行任务的请求,服务器10在接收到该请求后,便获取待执行任务,然后从数据库中调取与该待执行任务对应的程序代码。服务器10可以运行该程序代码中与待执行任务的各操作节点对应的程序片段来分步执行待执行任务,最后将程序代码执行的处理结果发送至用户终端20。
在第二实施例中,因为在执行该待执行任务的过程中,服务器10与用户终端20之间的交互较少,无需将每个操作节点的操作结果(可称为中间数据)发送至用户终端20,从而使得这些中间信息不用在用户终端20暴露,进而提高了网络的安全性。另外,因为用户终端20无需对每个操作节点的操作向服务器10发送请求,因此减少了服务器10接收请求的数量,从而有助于降低服务器10的处理压力。
例如,假设一个待执行任务为:某个三方API,需要先通过手机号间接去数据库查询数据。比如,该待执行任务包括三个操作节点,第一操作节点,需要通过手机号请求获取用户信息;第二操作节点,通过用户信息获取企业信息,第三操作节点,通过企业信息去数据库查询以获取相应数据。
在现有技术中,在执行该待执行任务时,其过程为:由前端先后发起三次请求,具体为,前端根据手机号发起第一次请求,然后以根据手机号获取到用户信息;前端再根据用户信息发起第二次请求,然后根据用户信息获取到企业信息;前端再根据企业信息发起第三次请求,然后根据企业信息从数据库中查找相应的数据,即,用户信息、企业信息都会返回给前端,从而使得用户信息、企业信息等信息容易泄露和被利用(如篡改数据),从而引发信息安全问题。
在第二实施例中,在执行上述的待执行任务时,服务器10预先存储有用于执行该任务的程序代码,前端(指用户终端20)只需要向服务器10发起一次待执行任务的请求,然后由服务器10一次将任务中需要执行的操作执行完,并最后将执行的结果反馈给前端。也就是由服务器10根据待执行任务发起请求,一次性地执行:通过手机号获取用户信息,再通过用户信息获取企业信息,再通过企业信息去数据库查询,最后将在数据库中查询的信息发送至前端。基于此,只需由前端发起一次请求,并且用户信息、企业信息不会返回给前端,从而保证了网络信息的安全性,减少了发往服务器10的请求数量,从而有助于降低服务器10的处理压力。
本发明实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如第一实施例中所述的程序生成方法或执行如第二实施例中所述的数据处理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
综上所述,本发明提供一种程序生成方法、装置、数据处理方法及服务器。该方法通过获取用户终端发送的操作指令,操作指令为用户操作用户终端的显示界面以创建可执行任务时生成的指令;从数据库中确定与操作指令对应的初始操作节点的代码模板;根据操作指令中携带的配置参数及初始操作节点,从数据库中确定与预设可执行任务对应的所有操作节点及所有操作节点对应的代码模板;根据配置参数及所有操作节点的代码模板,生成与预设可执行任务对应的程序代码。本方案中,在创建程序代码时,可以由用户终端发出一次操作请求,然后由服务器根据操作指令生成相应的程序代码,服务器无需频繁获取请求,从而能够改善现有技术中因需要发送大量请求以使后端频繁操作导致服务器压力大的技术问题。
在本发明所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种程序生成方法,其特征在于,所述方法包括:
获取用户终端发送的操作指令,所述操作指令为用户操作所述用户终端的显示界面以创建可执行任务时生成的指令;
从数据库中确定与所述操作指令对应的初始操作节点的代码模板;
根据所述操作指令中携带的配置参数及所述初始操作节点,从所述数据库中确定与预设可执行任务对应的所有操作节点及所述所有操作节点对应的代码模板;
根据所述配置参数及所述所有操作节点的代码模板,生成与所述预设可执行任务对应的程序代码。
2.根据权利要求1所述的方法,其特征在于,所述操作指令中包括操作节点的预设地址信息,所述数据库中的操作节点与所述操作节点的代码模板相关联;从数据库中确定与所述操作指令对应的初始操作节点的代码模板,包括:
在所述数据库中确定地址信息与所述预设地址信息相同的操作节点为所述初始操作节点,并根据所述初始操作节点确定出与所述初始操作节点相关联的代码模板。
3.根据权利要求1所述的方法,其特征在于,所述配置参数包括各个操作节点的节点流转方向信息,针对每个所述操作节点,所述节点流转方向信息包括当前操作节点流转至与所述当前操作节点对应的下一操作节点的地址信息;
从所述数据库中确定与预设可执行任务对应的所有操作节点及所述所有操作节点对应的代码模板,包括:
根据所述初始操作节点及所述下一操作节点的地址信息,逐个从所述数据库中确定出与所述预设可执行任务对应的操作节点及与该操作节点对应的代码模板,以得到与所述预设可执行任务对应的所有操作节点及与所有操作节点对应的代码模板。
4.根据权利要求1所述的方法,其特征在于,生成与所述预设可执行任务对应的程序代码,还包括:
基于所述配置参数及预设拼接策略,逐个拼接相邻两个操作节点的代码模板所对应的程序片段,以生成与所述预设可执行任务对应的所有操作节点的所述程序代码。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述方法还包括:
将所述程序代码发送至所述用户终端。
6.一种数据处理方法,其特征在于,应用于存储有如权利要求1-5中任意一项所述方法生成的程序代码的服务器,所述方法包括:
获取待执行任务,并确定与所述待执行任务对应的程序代码;
运行所述程序代码中的与所述待执行任务的各操作节点对应的程序片段,得到与所述待执行任务的各操作节点对应的操作结果;
基于所述各操作节点对应的操作结果确定出所述待执行任务的处理结果。
7.一种程序生成装置,其特征在于,所述装置包括:
获取单元,用于获取用户终端发送的操作指令,所述操作指令为用户操作所述用户终端的显示界面以创建可执行任务时生成的指令;
确定单元,用于从数据库中确定与所述操作指令对应的初始操作节点的代码模板;
所述确定单元,还用于根据所述操作指令中携带的配置参数及所述初始操作节点,从所述数据库中确定与预设可执行任务对应的所有操作节点及所述所有操作节点对应的代码模板;
程序生成单元,用于根据所述配置参数及所述所有操作节点的代码模板,生成与所述预设可执行任务对应的程序代码。
8.根据权利要求7所述的装置,其特征在于,所述配置参数包括各个操作节点的节点流转方向信息,针对每个所述操作节点,所述节点流转方向信息包括当前操作节点流转至与所述当前操作节点对应的下一操作节点的地址信息;所述确定单元还用于:
根据所述初始操作节点及所述下一操作节点的地址信息,逐个从所述数据库中确定出与所述预设可执行任务对应的操作节点及与该操作节点对应的代码模板,以得到与所述预设可执行任务对应的所有操作节点及与所有操作节点对应的代码模板。
9.一种服务器,其特征在于,包括相互耦合的存储模块、处理模块、通信模块,所述存储模块内存储计算机程序,当所述计算机程序被所述处理模块执行时,使得所述服务器执行如权利要求1-5中任一项所述的程序生成方法。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-5中任意一项所述的程序生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910045243.XA CN109766088B (zh) | 2019-01-17 | 2019-01-17 | 程序生成方法、装置、数据处理方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910045243.XA CN109766088B (zh) | 2019-01-17 | 2019-01-17 | 程序生成方法、装置、数据处理方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766088A true CN109766088A (zh) | 2019-05-17 |
CN109766088B CN109766088B (zh) | 2022-04-12 |
Family
ID=66452332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910045243.XA Active CN109766088B (zh) | 2019-01-17 | 2019-01-17 | 程序生成方法、装置、数据处理方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766088B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651146A (zh) * | 2020-04-29 | 2020-09-11 | 宁波吉利汽车研究开发有限公司 | 一种函数生成方法、装置、设备和介质 |
CN114115835A (zh) * | 2022-01-27 | 2022-03-01 | 广州庚亿信息科技有限公司 | 自动编码执行流程构建方法、装置、存储介质及智能终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727316A (zh) * | 2008-10-22 | 2010-06-09 | 上海超级计算中心 | 适于集群系统的并行程序集成开发系统及其应用实现方法 |
CN103092577A (zh) * | 2011-10-28 | 2013-05-08 | 鸿富锦精密工业(深圳)有限公司 | 三维影像量测程序生成系统及方法 |
CN103150165A (zh) * | 2013-03-07 | 2013-06-12 | 中国农业大学 | 用于构建户外数据采集程序的框架以及程序构建方法 |
US20130326470A1 (en) * | 2012-05-31 | 2013-12-05 | Sap Ag | Domain-specific generation of programming interfaces for business objects |
CN106775617A (zh) * | 2016-11-09 | 2017-05-31 | 深圳市中润四方信息技术有限公司 | 一种应用软件的业务逻辑配置方法及配置系统 |
CN107958016A (zh) * | 2017-10-16 | 2018-04-24 | 平安科技(深圳)有限公司 | 功能页面定制方法及应用服务器 |
CN108733358A (zh) * | 2018-05-21 | 2018-11-02 | 浪潮软件集团有限公司 | 一种基于Spark的机器学习工作流构建方法及装置 |
US20180365008A1 (en) * | 2017-06-19 | 2018-12-20 | Accenture Global Solutions Limited | Automatic generation of microservices based on technical description of legacy code |
-
2019
- 2019-01-17 CN CN201910045243.XA patent/CN109766088B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727316A (zh) * | 2008-10-22 | 2010-06-09 | 上海超级计算中心 | 适于集群系统的并行程序集成开发系统及其应用实现方法 |
CN103092577A (zh) * | 2011-10-28 | 2013-05-08 | 鸿富锦精密工业(深圳)有限公司 | 三维影像量测程序生成系统及方法 |
US20130326470A1 (en) * | 2012-05-31 | 2013-12-05 | Sap Ag | Domain-specific generation of programming interfaces for business objects |
CN103150165A (zh) * | 2013-03-07 | 2013-06-12 | 中国农业大学 | 用于构建户外数据采集程序的框架以及程序构建方法 |
CN106775617A (zh) * | 2016-11-09 | 2017-05-31 | 深圳市中润四方信息技术有限公司 | 一种应用软件的业务逻辑配置方法及配置系统 |
US20180365008A1 (en) * | 2017-06-19 | 2018-12-20 | Accenture Global Solutions Limited | Automatic generation of microservices based on technical description of legacy code |
CN107958016A (zh) * | 2017-10-16 | 2018-04-24 | 平安科技(深圳)有限公司 | 功能页面定制方法及应用服务器 |
CN108733358A (zh) * | 2018-05-21 | 2018-11-02 | 浪潮软件集团有限公司 | 一种基于Spark的机器学习工作流构建方法及装置 |
Non-Patent Citations (1)
Title |
---|
冉春娟等: "基于关系数据模型代码生成器的设计与实现", 《湖北大学学报(自然科学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651146A (zh) * | 2020-04-29 | 2020-09-11 | 宁波吉利汽车研究开发有限公司 | 一种函数生成方法、装置、设备和介质 |
CN111651146B (zh) * | 2020-04-29 | 2024-04-16 | 宁波吉利汽车研究开发有限公司 | 一种函数生成方法、装置、设备和介质 |
CN114115835A (zh) * | 2022-01-27 | 2022-03-01 | 广州庚亿信息科技有限公司 | 自动编码执行流程构建方法、装置、存储介质及智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109766088B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834178B2 (en) | Provisioning a bare-metal server | |
CN109933760A (zh) | 表单生成方法、装置、计算机设备及计算机可读存储介质 | |
US9971808B2 (en) | Fast query processing in columnar databases with GPUs | |
JP7105298B2 (ja) | クラウドサービスブローカーシステムにおいてオファーの機能を自動的に検証する技術 | |
WO2021031472A1 (zh) | 智能合约处理方法、装置、计算机设备及存储介质 | |
US20190132410A1 (en) | System and method for integrating cloud applications into a cloud service broker platform using an automated, universal connector package | |
US10902039B2 (en) | Automatic identification of retraining data in a classifier-based dialogue system | |
US10387682B2 (en) | Parallel access to running electronic design automation (EDA) application | |
US10360138B2 (en) | Run time automatic workload tuning using customer profiling workload comparison | |
CN112214210A (zh) | 后勤业务规则引擎及其配置方法、装置、设备和存储介质 | |
US11303729B2 (en) | Virtual workspace experience visualization and optimization | |
US20170134529A1 (en) | Generation and distribution of named, definable, serialized tokens | |
CN110808855A (zh) | 互联网技术架构及管理方法、装置、电子设备和介质 | |
CN111695827A (zh) | 业务流程的管理方法、装置、电子设备及存储介质 | |
KR20230004394A (ko) | 공유 메모리 액세스 제어 방법, 장치, 전자 기기 및 자율 주행 차량 | |
CN111399941A (zh) | 一种bmc功能的批量配置方法、装置及设备 | |
US10664786B2 (en) | Using run time and historical customer profiling and analytics to determine customer test vs. production differences, and to enhance customer test effectiveness | |
CN109766088A (zh) | 程序生成方法、装置、数据处理方法及服务器 | |
CN110837618A (zh) | 一种用于提供阅读服务的方法与设备 | |
CN111008767B (zh) | 互联网金融技术架构评估方法、装置、电子设备和介质 | |
CN107066175A (zh) | 生成有价证券显示界面的方法及装置 | |
CN110163554A (zh) | 工作流的运行方法、装置、服务器和存储介质 | |
US11748079B2 (en) | Technologies for creating and distributing integration connectors in a cloud service brokerage system | |
US11410023B2 (en) | Lexicographic deep reinforcement learning using state constraints and conditional policies | |
US10769054B1 (en) | Integrated program code marketplace and service provider network |
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 | ||
GR01 | Patent grant |