CN111625465A - 程序生成方法、装置、系统和电子设备 - Google Patents

程序生成方法、装置、系统和电子设备 Download PDF

Info

Publication number
CN111625465A
CN111625465A CN202010477630.3A CN202010477630A CN111625465A CN 111625465 A CN111625465 A CN 111625465A CN 202010477630 A CN202010477630 A CN 202010477630A CN 111625465 A CN111625465 A CN 111625465A
Authority
CN
China
Prior art keywords
program
parameters
access object
code template
module
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
Application number
CN202010477630.3A
Other languages
English (en)
Other versions
CN111625465B (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010477630.3A priority Critical patent/CN111625465B/zh
Publication of CN111625465A publication Critical patent/CN111625465A/zh
Application granted granted Critical
Publication of CN111625465B publication Critical patent/CN111625465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Abstract

本公开提供了一种程序生成方法、装置、系统和电子设备。该方法包括:获取操作语句和与操作语句对应的访问对象信息;确定与操作语句对应的代码模板和参数;获取自定义参数,自定义参数是参数中至少一种;以及封装代码模板、自定义参数和访问对象,以生成程序;其中,操作语句和访问对象与指定场景相关。

Description

程序生成方法、装置、系统和电子设备
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种程序生成方法、装置、系统和电子设备。
背景技术
在版本测试过程中,因测试环境的复杂性,业务人员经常在数据准备、分段测试、投演测试、回归测试、验收测试等多个测试环节存在数据变更的需求。如业务测试人员在进行针对具体业务场景的功能测试时,经常会有数据变更的需求。相关技术中,此类数据变更的需求的处理流程可以包括:业务测试人员将该测试场景及变更需求与技术测试人员、开发人员三方沟通,明确变更方案以及变更方案对测试环境数据破坏性,确认无影响或影响可接受后,由技术测试人员实施数据变更,变更完成后由业务人员继续测试。
在实现本公开构思的过程中,发明人发现相关技术至少存在如下问题:数据变更执行效率依赖技术测试人员、开发人员的处理时长,导致版本测试用时无法满足版本快速上线需求。
发明内容
有鉴于此,本公开提供了一种可以有效提升测试效率的程序生成方法、装置、系统和电子设备。
本公开的一个方面提供了一种由客户端执行的程序生成方法,包括获取操作语句和与操作语句对应的访问对象信息;确定与操作语句对应的代码模板和参数;获取自定义参数,自定义参数是参数中至少一种;以及封装代码模板、自定义参数和访问对象,以生成程序;其中,操作语句和访问对象与指定场景相关。
本公开实施例提供的程序生成方法,由于测试方案和涉及的数据明确后,测试方案明确为某个操作语句,数据变更执行时只依赖技术工具、环境信息,因此,可以由用户将与指定场景相关的操作语句和与操作语句对应的访问对象信息(可以存储有数据变更所依赖的数据)输入到客户端,并确定操作语句对应的代码模板和参数,然后,由用户基于该参数确定自定义参数,这样就可以由客户端基于代码模板、自定义参数和访问对象自行封装进行业务测试所需程序,以便于基于该程序进行数据变更、测试等操作,有效减少具体业务场景的功能测试用时。
本公开的一个方面提供了一种由服务器端执行的程序生成方法,包括接收并展示来自客户端的程序;获取程序的风险合法性检验的检验结果;如果检验结果是通过,则获取程序的可授权用户标识和可授权访问对象的对象标识,以对程序进行授权;其中,程序是客户端对代码模板、自定义参数和访问对象进行封装后生成的,代码模板是基于操作语句确定的,操作语句包括参数,自定义参数是参数中至少一种。
本公开实施例提供的程序生成方法,由服务器端对客户端提交的针对指定场景的程序进行审核,该程序是基于代码模板、自定义参数和访问对象进行封装后生成的,有效降低了相关技术中需要业务测试人员与技术测试人员、开发人员三方沟通后,由开发人员进行程序开发的周期,有助于提升版本测试效率,以便实现版本快速上线。
本公开的一个方面提供了一种由程序生成系统执行的程序生成方法,包括客户端获取操作语句和与操作语句对应的访问对象信息,确定与操作语句对应的代码模板和参数,获取参数包括的至少一种自定义参数,并且封装代码模板、自定义参数和访问对象以生成程序,将生成的程序发送给服务器端;服务器端接收并展示来自客户端的程序,获取程序的风险合法性检验的检验结果,如果检验结果是通过,则获取程序的可授权用户标识和可授权访问对象的对象标识,以对程序进行授权。
本公开的一个方面提供了一种程序生成装置,包括:方案获取模块、解析模块、自定义模块和封装模块。其中,方案获取模块用于获取操作语句和与操作语句对应的访问对象信息,其中,操作语句和访问对象与指定场景相关;解析模块用于确定与操作语句对应的代码模板和参数;自定义模块用于获取自定义参数,自定义参数是参数中至少一种;以及封装模块用于封装代码模板、自定义参数和访问对象,以生成程序。
本公开的一个方面提供了一种程序生成装置,包括:程序接收模块、检验模块和授权模块。其中,程序接收模块用于接收并展示来自客户端的程序,其中,程序是客户端对代码模板、自定义参数和访问对象进行封装后生成的,代码模板是基于操作语句确定的,操作语句包括参数,自定义参数是参数中至少一种;检验模块用于获取程序的风险合法性检验的检验结果;以及授权模块用于如果检验结果是通过,则获取程序的可授权用户标识和可授权访问对象的对象标识,以对程序进行授权。
本公开的一个方面提供了一种程序生成系统,包括:数据聚合模块、方案解析重构模块和页面注册发布模块。数据聚合模块用于将与指定场景相关的至少一个数据集合进行聚合;方案解析重构模块用于将与指定场景相关的操作语句的代码模板和自定义参数进行网页化封装,生成静态网页文件;以及页面注册发布模块用于对静态网页文件进行注册和发布审核。
本公开的另一方面提供了一种电子设备,包括一个或多个处理器以及存储装置,其中,存储装置用于存储可执行指令,可执行指令在被处理器执行时,实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,计算机程序包括计算机可执行指令,指令在被执行时用于实现如上所述的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的程序生成方法、装置、系统和电子设备的应用场景;
图2示意性示出了根据本公开实施例的可以应用程序生成方法、装置、系统和电子设备的示例性系统架构;
图3示意性示出了根据本公开实施例的程序生成方法的流程图;
图4示意性示出了根据本公开实施例的获取访问对象的显示界面示意图;
图5示意性示出了根据本公开实施例的进行连通性检测的显示界面示意图;
图6示意性示出了根据本公开实施例的封装形成程序的显示界面的示意图;
图7示意性示出了根据本公开实施例的提交程序的显示界面的示意图;
图8示意性示出了根据本公开实施例的查询程序的显示界面的示意图;
图9示意性示出了根据本公开实施例的设定自定义参数的参数值的显示界面的示意图;
图10示意性示出了根据本公开实施例的生成待执行操作语句的显示界面示意图;
图11示意性示出了根据本公开另一实施例的程序生成方法的流程图;
图12示意性示出了根据本公开实施例的对程序进行检验的显示界面的示意图;
图13示意性示出了根据本公开实施例的进行授权的显示界面的示意图;
图14示意性示出了根据本公开实施例的程序生成装置的方框图;
图15示意性示出了根据本公开另一实施例的程序生成装置的方框图;
图16示意性示出了根据本公开实施例的程序生成系统的方框图;以及
图17示意性示出了根据本公开实施例的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。一个或多个实施例在没有这些具体细节的情况下也可以被实施。在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种程序生成方法、装置、系统和电子设备。该程序生成方法包括自定义过程和封装过程。其中,在自定义过程中,首先,获取操作语句和与操作语句对应的访问对象信息,然后,确定与操作语句对应的代码模板和参数,接着,获取自定义参数,自定义参数是参数中至少一种,其中,操作语句和访问对象与指定场景相关。在完成自定义过程后进入封装过程,封装代码模板、自定义参数和访问对象,以生成程序,便于基于该程序满足指定业务场景的版本测试需求。
图1示意性示出了根据本公开实施例的程序生成方法、装置、系统和电子设备的应用场景。
如图1所示,针对特定业务场景中,测试方案和涉及的数据来源已明确,如图1中测试方案包括操作语句:UPDATE表A set PARA_VAUE_1='1'where TABLE_NAME='GRAY_FLAG'and zoneno='200'。其中,数据表“GRAY_FLAG”是访问对象,如存储在如图1的服务器中,可以基于服务器地址和访问路径访问该表A。操作语句中包括灰度标志“PARA_VAUE”、表名“TABLE_NAME”和地区号“zoneno”这三个参数,可以由研发人员或基于规则确定该操作语句的代码模板,例如,UPDATE表A set?where?and?。又例如,UPDATE表A set?where TABLE_NAME='GRAY_FLAG'and?。又例如,UPDATE表A set PARA_VAUE_1='1'where?and?等(以上仅为示例,不能理解为对本公开的限定)。
这样使得业务测试人员在针对该指定场景进行业务测试时,如果需要对该操作语句进行数据变更,则可以由业务人员自行基于代码模板和自定义参数以及所需数据库等封装成程序,以如静态网页文件等形式发送给服务器端,以便由服务器端基于规则或由开发人员等进行审核。期间无需由开发人员根据业务测试需求进行程序开发,有效地提升了业务测试人员针对指定场景进行业务测试的效率。
图2示意性示出了根据本公开实施例的可以应用程序生成方法、装置、系统和电子设备的示例性系统架构。需要注意的是,图2所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图2所示,根据该实施例的系统架构200可以包括终端设备201、202、203,网络204和服务器205、206。网络204可以包括多个网关、集线器、网线等,用以在终端设备201、202、203和服务器205、206之间提供通信链路的介质。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备201、202、203通过网络204与其他终端设备和服务器205、206进行交互,以接收或发送信息等,如发送服务请求、发送信息请求、接收处理结果等。终端设备201、202、203可以安装有各种通讯客户端应用,例如测试类应用、数据库应用、运维类应用、网页浏览器应用、搜索类应用、办公类应用、即时通信工具、邮箱客户端、社交平台软件等应用(仅为示例)。
终端设备201、202、203包括但不限于自助业务办理机器、智能手机、虚拟现实设备、增强现实设备、平板电脑、膝上型便携计算机等等。
服务器205可以接收请求,如程序审核请求(如风险性审核请求、上线请求、数据库开通请求、参数设置操作请求等),并调用数据库服务器206的数据对请求进行处理。例如,服务器205可以为后台管理服务器、服务器集群等。后台管理服务器可以对接收到的服务请求、信息请求、数据库更新指令等进行分析处理,并将处理结果(如请求的信息、处理的结果等)反馈给终端设备。数据库服务器206可以为服务器集群等,以结构化方式存储业务数据等。
需要说明的是,本公开实施例所提供的程序生成方法一般可以由终端设备201、202、203或服务器205执行。应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图3示意性示出了根据本公开实施例的程序生成方法的流程图。
如图3所示,该程序生成方法包括操作S301~操作S307。
在操作S301,获取操作语句和与操作语句对应的访问对象信息。
其中,操作语句和访问对象与指定场景相关。指定场景涉及的操作语句是有限的。访问对象可以是数据集合,例如,数据库、数据表等中,该数据集合可以存储在主机、服务器等的存储空间中,可以基于如互联网协议地址(Internet Protocol Address,简称IP地址)、访问路径等查询数据集合中的数据。
在操作S303,确定与操作语句对应的代码模板和参数。
以结构化查询语言(Structured Query Language,简称SQL)方案为例进行说明,SQL方案输入:“UPDATE表A set PARA_VAUE_1='1'where TABLE_NAME='GRAY_FLAG'andzoneno='200'”。其中,代码模板可以为“UPDATE表A set?where?and?”。参数包括:“PARA_VAUE_1”、“TABLE_NAME”和“zoneno”中至少一种。用户可以根据业务测试需求等从这些参数中选取自己所需的参数。
在操作S305,获取自定义参数,自定义参数是参数中至少一种。
在本实施例中,可以由用户基于上述参数自行确定所需的自定义参数,如选取“PARA_VAUE_1”和“zoneno”作为自定义参数。为了便于其它用户或审核人员等理解该自定义参数的含义,可以为自定义参数设置中文名称,如“灰度标志”和“地区号”。
在操作S307,封装代码模板、自定义参数和访问对象,以生成程序。
例如,将SQL语句镶嵌进后台代码,形成.jsp格式的文件。
本公开提供的程序生成方法有效降低了针对指定业务场景的程序开发难度,使得用户可以基于指定业务场景确定所需的操作语句,然后基于与该操作语句对应的代码模板和自定义参数等封装成适合自身的需求的程序,无需等待开发人员进行程序开发,有效地提升了测试效率。
在一个实施例中,访问对象包括对象标识和至少一个数据库。相应地,上述方法还包括:对于每个数据库,基于服务器地址和数据库账户信息对访问对象进行连通性检测,以便在连通性检测不通过时,进行开通防火墙操作,然后,在至少一个数据库中至少部分数据库的连通性检测通过后,保存生成的程序。
图4示意性示出了根据本公开实施例的获取访问对象的显示界面示意图。如图4所示,可以在显示界面上输入服务组名、数据库类型等,设置数据库服务组标签。
在另一个实施例中,为了便于用户开通防火墙,并且不会导致未完成的IP地址配置丢失,可以对未完成的IP地址配置进行缓存。例如,在连通性检测不通过时,上述方法还可以包括如下操作。缓存服务器地址配置信息。
图5示意性示出了根据本公开实施例的进行连通性检测的显示界面示意图。
在一个具体实施例中,用户可以设置数据库服务组标签,配置需要查询的数据库信息,点击连通性检测按钮,检测通过后可进行保存。如检测未通过,生成聚合平台(用于聚合与指定场景相关的多个数据库的数据)所在服务器IP地址到本次需要查询的一个或多个数据库被布置的服务器IP地址及端口的火墙开通模板,便于用户使用该模板在其他系统进行防火墙开通,检测成功后进行保存。在异步处理防火墙的过程中,网页根据用户的浏览器缓存(cookie)保留其未保存的IP配置。图5中数据库名可以由数据库服务器返回。对于需要验证后才能调用的进行访问的数据库,可以由用户输入用户名和密码。通过重复执行上述操作,可完成多个数据库配置过程。
在一个实施例中,确定与操作语句对应的代码模板和参数包括:基于操作语句的真子集确定与操作语句对应的代码模板和参数。例如,“UPDATE表A set PARA_VAUE_1='1'where TABLE_NAME='GRAY_FLAG'and zoneno='200'”包括:“UPDATE表A set PARA_VAUE_1='1'”、“UPDATE表A set PARA_VAUE_1='1'where TABLE_NAME='GRAY_FLAG'”、“UPDATE表A set PARA_VAUE_1='1'where zoneno='200'”等。这样就可以从这些真子集中抽取出代码模板。此外,也可以是由开发人员从针对各指定场景的操作语句中抽取代码模板,由于有些参数的修改可能带来较高的风险,由开发人员提供代码模板可以至少部分降低业务人员基于代码模板生成的程序造成的风险过高的概率。
在一个实施例中,封装代码模板、自定义参数和访问对象可以包括如下操作。首先,对代码模板、自定义参数进行网页化封装,生成静态网页文件。然后,关联静态网页文件和访问对象。
例如,用户确认了一个数据访问方案的SQL方案后,输入SQL语句,并输入自定义参数(为基于SQL语句确定的代码模板中允许设置的参数),然后可以对SQL语句进行解析,生成静态网页文件。
图6示意性示出了根据本公开实施例的封装形成程序的显示界面的示意图。
如图6所示,用户可以执行如下操作。
页名栏输入:“GrayFlag”。
标题栏输入:“修改灰度标志”。
SQL语句输入:“UPDATE表A set PARA_VAUE_1='1'where TABLE_NAME='GRAY_FLAG'and zoneno='200'”
条件项1(INPUT 1)输入:“PARA_VAUE_1='1'”,对应中文输入“灰度标志”。
条件项2(INPUT 2)输入:“ZONENO='200'”,对应中文输入“地区号”。
条件项3(INPUT3)等可以为空。
点击生成JSP网页后,将SQL语句镶嵌进后台代码,形成GrayFlag.jsp文件。该网页标题为“修改灰度标志”。网页有两个输入框,输入框前的文字分别是“灰度标志”、“地区号”。
参考图9所示,假设在灰度标志填写“0”,地区号填写“300”。则可以生成新SQL语句:“UPDATE表A set PARA_VAUE_1='0'where TABLE_NAME='GRAY_FLAG'and zoneno='300'”。
在另一个实施例中,在封装代码模板、自定义参数和访问对象之后,上述方法还可以包括如下操作。
首先,将静态网页文件、静态网页文件标识和访问对象的对象标识发送给服务器端以使服务器端对程序进行发布授权。然后,接收来自服务器端的授权信息。需要说明的是,如果是由研发人员等对程序进行人工审核,可以由服务器将程序发送给审核人员所使用的客户端,以便于进行人工审核。此外,也可以是由服务器端基于预设规则对程序进行审核,如判断程序中是否存在危险度高的操作,需要连接的数据库是否能通过连通性检测等。例如,包含DEL关键字则不予通过。
图7示意性示出了根据本公开实施例的提交程序的显示界面的示意图。
如图7所示,用户可以通过选择jsp文件的方式添加需要进行审核的静态网页文件,添加过程可以输入服务标签名称,具体可以通过搜索已提交到服务器端的网页和标签来确认本次可用的服务标签名称(简称标签名称)。需要说明的是,被提交后的静态网页文件可以由服务器端进行审核授权,如为该网页工具的访问用户授权,并且为该网页工具关联数据库服务标签,该服务标签为上述聚合平台的输出,是与用户输入的SQL语句相关至少一个数据库的数据库服务组标签。
在另一个实施例中,在将静态网页文件、静态网页文件标识和访问对象的对象标识发送给服务器端以对程序进行授权之后,上述方法还可以包括如下操作。
首先,基于静态网页文件标识查询程序。然后,展示基于程序生成的动态网页,动态网页包括自定义参数。接着,接收与自定义参数对应的参数值。然后,基于参数值和与动态网页生成待执行操作语句。
图8示意性示出了根据本公开实施例的查询程序的显示界面的示意图。图9示意性示出了根据本公开实施例的设定自定义参数的参数值的显示界面的示意图。图10示意性示出了根据本公开实施例的生成待执行操作语句的显示界面示意图。
如图8所示,被授权的用户可以通过如图8所示的显示界面查询提交的程序,如用户部署的工具。如图8所示,该显示界面中可以显示用户曾经提交过的程序:工具1~9。此外,用户还可以对工具1~9进行操作,如删除不再使用的工具等。例如,如图6提交的程序的标签是工具2,当用户输入工具2,并点击前往后,就可以展示如图9所示的显示界面。由于用户在图8中输入了两个自定义参数:灰度标志和地区号,则显示的网页中具有灰度标志和地区号的参数值的输入区域。用户当前场景中需要将这两个自定义参数的参数值分别设置为“0”和“300”,则可以分别输入“0”和“300”,然后点击生成SQL。如图10所示,网页会基于用户输入的参数值和代码模板自动生成用户所需的SQL语句,该语句中的数据变更已自动完成。其中,程序还可以包括执行环境信息,如执行环境包括:ASPS2套和ASPS4套。
如图10中生成的SQL语句包括“UPDATE表A set PARA_VAUE_1='0'where TABLE_NAME='GRAY_FLAG'and zoneno='300'”。展示的该SQL语句便于用户再次核对生成的SQL语句是否正确。但是该生成的SQL语句禁止用户自行修改,只能执行该自动生成的SQL语句,避免用户自行修改的SQL语句的风险过高的情形发生。
在一个具体实施例中,被授权用户点击进入该部署工具,弹出动态网页,该网页的输入项如地区号。用户在输入框中填写本次需要的变更条件数据(如300地区)。点击生成方案,则生成包含300地区的SQL方案且页面跳转至执行页面。
用户点击粘贴按钮,将生成的SQL方案粘贴到执行框中,该执行框不支持手工输入。勾选添加维护的服务组。点击执行按钮,则SQL方案被执行,实现诸如针对指定场景的指定参数的测试等功能。
本公开的另一方面提供了一种由服务器端执行的程序生成方法。
图11示意性示出了根据本公开另一实施例的程序生成方法的流程图。
如图11所示,该方法可以包括操作S1101~操作S1105。
在操作S1101,接收并展示来自客户端的程序。
在本实施例中,程序是客户端对代码模板、自定义参数和访问对象进行封装后生成的,代码模板是基于操作语句确定的,操作语句包括参数,自定义参数是参数中至少一种。具体可以参考由客户端执行的程序生成方法中相关内容,在此不再详述。
在操作S1103,获取程序的风险合法性检验的检验结果。
在本实施例中,可以由服务器端执行该风险合法性检验以获得检验结果,还可以是由用户,如研发人员在客户端上执行该风险合法性检验(如用户在客户端上登录服务器端,以进行风险合法性检验)。
具体地,风险合法性检验包括对程序中包括的操作进行操作风险检验。例如,如包含删除(DEL)关键字则不予通过。
图12示意性示出了根据本公开实施例的对程序进行检验的显示界面的示意图。
如图12所示,用户可以在图12的显示界面中查询需要进行审批的程序。此外,显示界面中还可以显示历史上接收的程序的审核状态信息等,如程序的服务标签和用户标识之间的对应关系、程序是否已审核通过、程序的维护状态等。
在操作S1105,如果检验结果是通过,则获取程序的可授权用户标识和可授权访问对象的对象标识,以对程序进行授权。例如,通过对标签进行授权,该标签为发布后用户在网页入口可见的服务标签。
其中,可授权用户标识和可授权访问对象的对象标识是基于指定场景确定的。例如,哪些业务人员可以能涉及指定业务场景的业务,哪些业务人员可能使用到针对该指定业务场景的操作语句,则可以将这些用户的用户标识作为可授权用户标识。该指定业务场景可能会用到哪些数据库的数据,则可以将这些会用到的数据库的标识作为可授权访问对象的对象标识。
图13示意性示出了根据本公开实施例的进行授权的显示界面的示意图。
如图13所示,针对一个服务标签,用户可以设置哪些用户可以访问与该服务标签对应的页面,用于用户权限控制。此外,针对一个服务标签,用户可以设置该服务标签可以访问哪些数据库服务组,用于控制页面可以访问哪些环境。
此外,本公开还提供了一种由程序生成系统执行的程序生成方法,程序生成系统包括通信连接的客户端和服务器端,上述方法可以包括如下操作。
首先,客户端获取操作语句和与操作语句对应的访问对象信息,确定与操作语句对应的代码模板和参数,获取参数包括的至少一种自定义参数,并且封装代码模板、自定义参数和访问对象以生成程序,将生成的程序发送给服务器端。
然后,服务器端接收并展示来自客户端的程序,获取程序的风险合法性检验的检验结果,如果检验结果是通过,则获取程序的可授权用户标识和可授权访问对象的对象标识,以对程序进行授权。
需要说明的是,客户端和服务器端可以执行的操作可以参考如上的相关内容,在此不再赘述。
本公开的另一方面提供了一种程序生成装置。
图14示意性示出了根据本公开实施例的程序生成装置的方框图。
如图14所示,程序生成装置1400可以包括:方案获取模块1410、解析模块1420、自定义模块1430和封装模块1440。
方案获取模块1410用于获取操作语句和与操作语句对应的访问对象信息,其中,操作语句和访问对象与指定场景相关。
解析模块1420用于确定与操作语句对应的代码模板和参数。
自定义模块1430用于获取自定义参数,自定义参数是参数中至少一种。
封装模块1440用于封装代码模板、自定义参数和访问对象,以生成程序。
关于方案获取模块1410、解析模块1420、自定义模块1430和封装模块1440执行的操作,可以参考上述方法相关内容,在此不再赘述。
本公开的另一方面提供了一种程序生成装置。
图15示意性示出了根据本公开另一实施例的程序生成装置的方框图。
如图15所示,程序生成装置1500可以包括:程序接收模块1510、检验模块1520和授权模块1530。
其中,程序接收模块1510用于接收并展示来自客户端的程序,其中,程序是客户端对代码模板、自定义参数和访问对象进行封装后生成的,代码模板是基于操作语句确定的,操作语句包括参数,自定义参数是参数中至少一种。
检验模块1520用于获取程序的风险合法性检验的检验结果。
授权模块1530用于如果检验结果是通过,则获取程序的可授权用户标识和可授权访问对象的对象标识,以对程序进行授权。
关于程序接收模块1510、检验模块1520和授权模块1530执行的操作,可以参考上述方法相关内容,在此不再赘述。
本公开的另一方面提供了一种程序生成系统。
图16示意性示出了根据本公开实施例的程序生成系统的方框图。
如图16所示,程序生成装置1600可以包括:数据聚合模块1610、方案解析重构模块1620和页面注册发布模块1630。
数据聚合模块1610用于将与指定场景相关的至少一个数据集合进行聚合。
方案解析重构模块1620用于将与指定场景相关的操作语句的代码模板和自定义参数进行网页化封装,生成静态网页文件。
页面注册发布模块1630用于对静态网页文件进行注册和发布审核。
在一个实施例中,数据聚合模块1610可以包括添加数据库服务组单元、删除数据库服务组单元、修改数据库服务组单元、搜索查询数据库服务组单元、添加地址单元、地址联通性检测单元、火墙模板生成单元、删除地址单元、搜索地址单元、修改地址单元。
其中,添加数据库服务组单元用于由用户添加一个数据库服务组,自定义名称,该名称则作为一个数据访问单元的标签。
删除数据库服务组单元用于由用户可删除添加的数据库服务组,该标签删除。
修改数据库服务组单元用于由用户可修改数据库服务组名称,该标签更新。
搜索查询数据库服务组单元用于由用户可在搜索框输入数据库服务组名称模糊查询数据库服务组,也可翻页查询数据库服务组名称,选取一个数据库服务组名称后,可以进行查看。查看后,和添加地址单元、修改地址单元、删除地址单元相关。
添加地址单元用于由用于输入数据库访问要素(IP/用户名/密码/数据库名),保存输入后,可进行连通性检测。也可生成火墙模板。
地址联通性检测单元用于检测当前数据聚合服务器到用户输入的拟访问的数据库要素之间的连通性。
火墙模板生成单元用于根据当前数据聚合服务器和用户输入的拟访问的数据库要素,生成防火墙开通模板。
删除地址单元用于删除添加的地址,删除后该地址消失。
搜索地址单元用于由用户可在搜索框输入访问要素(IP/用户名/数据库名),模糊查询地址,也可翻页查询地址信息。搜索后可删除地址。也可修改地址。
修改地址单元用于修改数据库访问要素(IP/用户名/密码/数据库名),保存输入,可调用地址联通性检测单元进行检测。
在一个实施例中,方案解析重构模块1620包括名称输入单元、SQL方案输入单元、条件项输入单元、执行单元。
其中,页名输入单元用于在页名和网页标题栏内输入相关内容,其中页名用于静态网页结果文件的文件名称,标题用于网面发布后,访问该网页时的动态网页标题。
SQL方案输入单元用于在对应栏位内输入已确认的SQL语句。用于封装的主体。
条件项输入单元用于在对应栏位内输入条件项名称及条件项内容。条件项名称用于生成动态网页中的输入框前的名称。条件项内容为该SQL方案生成网页后用于输入变量的内容。该内容此须为在SQL方案输入单元中输入SQL语句的真子集。
执行单元用于将页名输入单元输入内容、SQL方案输入单元输入内容,条件项输入单元输入内容与后台代码模板内容进行拼接,生成静态网页文件。
在一个实施例中,页面注册发布模块1630包括页面添加单元、页面删除单元、页面修改单元、页面搜索查询单元、页面用户管理单元、页面环境管理单元、页面状态单元。
其中,页面添加单元,用于输入服务标签名称,用于将执行单元生成的静态网页,提交到服务器端。
页面删除单元用于将已提交到服务器端的网页和标签进行删除。
页面修改单元用于修改提交到服务器端的网页的标签名称。
页面搜索查询单元用于搜索已提交到服务器端的网页和标签。
页面用户管理单元用于设置该标签哪些用户可以访问,用实现于用户权限控制。
页面环境管理单元设置该标签可以访问哪些数据库服务组,这些数据库服务组由添加数据库服务组单元添加,用于控制页面可以访问哪些环境。
页面状态单元针对已提交到服务器端的页面,进行状态审批,分为已审批和未审批。未审批状态的页面无法访问,已审批状态的页面,页面用户管理单元设置的用户,可以通过标签进行访问。
进一步地,系统1600还可以包括页面展示搜索模块1640。
该页面展示搜索模块1640用于提供用户访问动态网页的入口,动态网页是基于静态网页文件进行注册后发布的。
例如,页面展示搜索模块1640,分为全部标签和我的主页两个页面。其中全部标签为,在页面状态单元中审批通过的所有页面标签。我的主页中只显示在页面状态单元中审批通过,且在页面用户管理单元中授予该登陆用户访问权限的页面,两个页面均提供模糊搜索功能。
需要说明的是,装置和系统的部分实施例中各模块等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再一一赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。例如,程序接收模块1510、检验模块1520和授权模块1530中的任意多个可以合并或单独实现、以硬件或软件的形式实现等。
本公开的另一方面提供了一种电子设备。
图17示意性示出了根据本公开实施例的电子设备的方框图。图17示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图17所示,根据本公开实施例的电子设备1700包括处理器1701,其可以根据存储在只读存储器(ROM)1702中的程序或者从存储部分1708加载到随机访问存储器(RAM)1703中的程序而执行各种适当的动作和处理。处理器1701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1701还可以包括用于缓存用途的板载存储器。处理器1701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1703中,存储有电子设备1700操作所需的各种程序和数据。处理器1701、ROM 1702以及RAM 1703通过总线1704彼此通讯连接。处理器1701通过执行ROM 1702和/或RAM 1703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1702和RAM 1703以外的一个或多个存储器中。处理器1701也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1700还可以包括输入/输出(I/O)接口1705,输入/输出(I/O)接口1705也连接至总线1704。电子设备1700还可以包括连接至I/O接口1705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1707;包括硬盘等的存储部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入存储部分1708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被处理器1701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1702和/或RAM 1703和/或ROM 1702和RAM1703以外的一个或多个存储器。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (16)

1.一种由客户端执行的程序生成方法,所述方法包括:
获取操作语句和与所述操作语句对应的访问对象信息;
确定与所述操作语句对应的代码模板和参数;
获取自定义参数,所述自定义参数是所述参数中至少一种;以及
封装所述代码模板、所述自定义参数和所述访问对象,以生成所述程序;
其中,所述操作语句和所述访问对象与指定场景相关。
2.根据权利要求1所述的方法,其中,所述封装所述代码模板、所述自定义参数和所述访问对象包括:
对所述代码模板、所述自定义参数进行网页化封装,生成静态网页文件;以及
关联所述静态网页文件和所述访问对象。
3.根据权利要求2所述的方法,在所述封装所述代码模板、所述自定义参数和所述访问对象之后,所述方法还包括:
将所述静态网页文件、静态网页文件标识和所述访问对象的对象标识发送给服务器端以使所述服务器端对所述程序进行发布授权;以及
接收来自所述服务器端的授权信息。
4.根据权利要求3所述的方法,在所述将所述静态网页文件、静态网页文件标识和所述访问对象的对象标识发送给服务器端以对所述程序进行授权之后,所述方法还包括:
基于所述静态网页文件标识查询所述程序;
展示基于所述程序生成的动态网页,所述动态网页包括所述自定义参数;
接收与所述自定义参数对应的参数值;以及
基于所述参数值和与所述动态网页生成待执行操作语句。
5.根据权利要求1所述的方法,其中,所述确定与所述操作语句对应的代码模板和参数包括:基于所述操作语句的真子集确定与所述操作语句对应的代码模板和参数。
6.根据权利要求1所述的方法,其中,所述访问对象包括对象标识和至少一个数据库;
所述方法还包括:
对于每个数据库,基于服务器地址和数据库账户信息对所述访问对象进行连通性检测,以便在所述连通性检测不通过时,进行开通防火墙操作;以及
在所述至少一个数据库中至少部分数据库的连通性检测通过后,保存生成的所述程序。
7.根据权利要求6所述的方法,在所述连通性检测不通过时,所述方法还包括:
缓存所述服务器地址配置信息。
8.一种由服务器端执行的程序生成方法,所述方法包括:
接收并展示来自客户端的程序;
获取所述程序的风险合法性检验的检验结果;
如果所述检验结果是通过,则获取所述程序的可授权用户标识和可授权访问对象的对象标识,以对所述程序进行授权;
其中,所述程序是所述客户端对所述代码模板、所述自定义参数和所述访问对象进行封装后生成的,所述代码模板是基于操作语句确定的,所述操作语句包括参数,所述自定义参数是所述参数中至少一种。
9.根据权利要求8所述的方法,其中,所述风险合法性检验包括对所述程序中包括的操作进行操作风险检验。
10.根据权利要求8所述的方法,其中,所述可授权用户标识和所述可授权访问对象的对象标识是基于指定场景确定的。
11.一种由程序生成系统执行的程序生成方法,所述程序生成系统包括通信连接的客户端和服务器端,所述方法包括:
所述客户端获取操作语句和与所述操作语句对应的访问对象信息,确定与所述操作语句对应的代码模板和参数,获取所述参数包括的至少一种自定义参数,并且封装所述代码模板、所述自定义参数和所述访问对象以生成程序,将生成的所述程序发送给服务器端;
所述服务器端接收并展示来自所述客户端的程序,获取所述程序的风险合法性检验的检验结果,如果所述检验结果是通过,则获取所述程序的可授权用户标识和可授权访问对象的对象标识,以对所述程序进行授权。
12.一种程序生成装置,包括:
方案获取模块,用于获取操作语句和与所述操作语句对应的访问对象信息,其中,所述操作语句和所述访问对象与指定场景相关;
解析模块,用于确定与所述操作语句对应的代码模板和参数;
自定义模块,用于获取自定义参数,所述自定义参数是所述参数中至少一种;以及
封装模块,用于封装所述代码模板、所述自定义参数和所述访问对象,以生成所述程序。
13.一种程序生成装置,包括:
程序接收模块,用于接收并展示来自客户端的程序,其中,所述程序是所述客户端对所述代码模板、所述自定义参数和所述访问对象进行封装后生成的,所述代码模板是基于操作语句确定的,所述操作语句包括参数,所述自定义参数是所述参数中至少一种;
检验模块,用于获取所述程序的风险合法性检验的检验结果;以及
授权模块,用于如果所述检验结果是通过,则获取所述程序的可授权用户标识和可授权访问对象的对象标识,以对所述程序进行授权。
14.一种程序生成系统,包括:
数据聚合模块,用于将与指定场景相关的至少一个数据集合进行聚合;
方案解析重构模块,用于将与指定场景相关的操作语句的代码模板和自定义参数进行网页化封装,生成静态网页文件;以及
页面注册发布模块,用于对所述静态网页文件进行注册和发布审核。
15.根据权利要求14所述的系统,还包括:
页面展示搜索模块,用于提供用户访问动态网页的入口,所述动态网页是基于所述静态网页文件进行注册后发布的。
16.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现根据权利要求1~11任一项所述的方法。
CN202010477630.3A 2020-05-29 2020-05-29 程序生成方法、装置、系统和电子设备 Active CN111625465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010477630.3A CN111625465B (zh) 2020-05-29 2020-05-29 程序生成方法、装置、系统和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010477630.3A CN111625465B (zh) 2020-05-29 2020-05-29 程序生成方法、装置、系统和电子设备

Publications (2)

Publication Number Publication Date
CN111625465A true CN111625465A (zh) 2020-09-04
CN111625465B CN111625465B (zh) 2024-04-12

Family

ID=72258167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010477630.3A Active CN111625465B (zh) 2020-05-29 2020-05-29 程序生成方法、装置、系统和电子设备

Country Status (1)

Country Link
CN (1) CN111625465B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799643A (zh) * 2021-01-26 2021-05-14 中国工商银行股份有限公司 基于数据库映射动态接口的前端页面应用开发方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365847A (zh) * 2012-03-27 2013-10-23 腾讯科技(深圳)有限公司 一种自定义网页文件的生成方法和装置
CN106250104A (zh) * 2015-06-09 2016-12-21 阿里巴巴集团控股有限公司 一种针对服务器的远程操作系统、方法及装置
CN110297635A (zh) * 2019-06-27 2019-10-01 百度在线网络技术(北京)有限公司 页面的显示方法、装置、设备以及存储介质
CN110825745A (zh) * 2019-10-31 2020-02-21 口碑(上海)信息技术有限公司 页面的生成方法及装置
CN111104161A (zh) * 2019-12-03 2020-05-05 江苏艾佳家居用品有限公司 一种数据库sql脚本的自动审批执行方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365847A (zh) * 2012-03-27 2013-10-23 腾讯科技(深圳)有限公司 一种自定义网页文件的生成方法和装置
CN106250104A (zh) * 2015-06-09 2016-12-21 阿里巴巴集团控股有限公司 一种针对服务器的远程操作系统、方法及装置
CN110297635A (zh) * 2019-06-27 2019-10-01 百度在线网络技术(北京)有限公司 页面的显示方法、装置、设备以及存储介质
CN110825745A (zh) * 2019-10-31 2020-02-21 口碑(上海)信息技术有限公司 页面的生成方法及装置
CN111104161A (zh) * 2019-12-03 2020-05-05 江苏艾佳家居用品有限公司 一种数据库sql脚本的自动审批执行方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799643A (zh) * 2021-01-26 2021-05-14 中国工商银行股份有限公司 基于数据库映射动态接口的前端页面应用开发方法及装置
CN112799643B (zh) * 2021-01-26 2024-02-20 中国工商银行股份有限公司 基于数据库映射动态接口的前端页面应用开发方法及装置

Also Published As

Publication number Publication date
CN111625465B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN110602052B (zh) 微服务处理方法及服务器
US10193953B2 (en) Self describing configuration
US10860549B2 (en) Building and managing data-processing attributes for modeled data sources
US10586061B2 (en) Federated search
US10496837B2 (en) Support sharing the same table for protected and non-protected data columns
US10592684B2 (en) Automatic operation detection on protected field
EP3365832B1 (en) Self describing configuration with support for sharing data tables
EP3365831B1 (en) Automatic operation detection on protected field with support for federated search
CN113076104A (zh) 页面生成方法、装置、设备及存储介质
US11755698B2 (en) Systems, methods, and devices for automation and integration of credentialing and authentication in workflows associated with computing platforms
CN115587575A (zh) 数据表创建方法、目标数据查询方法、装置及设备
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN111625465B (zh) 程序生成方法、装置、系统和电子设备
US10387223B2 (en) Processing application programming interface (API) queries based on variable schemas
CN112328931A (zh) 生成网页页面的方法和装置、计算机系统和存储介质
CN116049300A (zh) 可视化图表展示方法、系统及电子设备
US20220337569A1 (en) Systems, methods, and devices for automation and integration of credentialing and authentication in workflows associated with computing platforms
CN114238273A (zh) 数据库管理方法、装置、设备及存储介质
US11909729B2 (en) Auto-form fill based website authentication
CN113779528A (zh) 多系统前端页面集成方法、装置、设备及介质
CN115407992B (zh) 数据查询菜单的配置方法、装置、电子设备以及存储介质
Alamin A social platform for software developers: Using modern web stack MERN
CN114254621A (zh) 文档审核方法、装置、电子设备及存储介质
CN116149650A (zh) 数据集成策略的配置方法、数据集成方法、装置、设备及存储介质
CN116069312A (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
GR01 Patent grant