一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用程序的生成方法及装置与流程

2022-02-19 09:53:53 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种应用程序的生成方法及装置。


背景技术:

2.knative是谷歌开源的serverless架构方案,旨在提供一套简单易用的serverless方案,把serverless标准化。serverless会减轻基础设施,安全性也更好,从而可以节省大量的资金。虽然刚出来一二年,但已经被各大厂商所熟知,并已经在很多生产线上使用这种方法。
3.而现有技术中,在使用knative创建流程服务的过程中,不仅需要工作人员编写业务代码,还要手动写knative的yaml文件与配置文件,这些工作使很多不了解knative的研发人员望而却步,有一些技术壁垒要克服,降低了开发效率,最终导致应用程序的开发周期长。


技术实现要素:

4.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种应用程序的生成方法及装置。
5.根据本技术实施例的一个方面,提供了一种应用程序的生成方法,其特征在于,包括:
6.获取目标业务的业务框架,其中,所述业务框架包括:业务流程以及至少两个目标节点,所述业务流程是基于所述目标节点的拖拽顺序生成的;
7.在检测到对所述业务框架执行的编辑操作的情况下,获取对所述业务框架执行的编辑操作的过程中产生的各个目标节点对应的业务代码;
8.接收代码部署请求;
9.根据所述代码部署请求将所述业务代码部署至目标容器集群,在所述目标容器集群内生成所述目标业务对应的应用程序。
10.进一步的,所述获取目标业务的业务框架,包括:
11.获取业务节点集合;
12.在检测到对所述业务节点集合中节点执行的拖拽操作的情况下,将已执行拖拽操作的节点,确定为所述目标业务的目标节点;
13.根据所述目标节点生成所述目标业务的业务框架,其中,所述业务框架与所述目标节点一一对应。
14.进一步的,所述根据所述目标节点生成所述目标业务的业务框架,包括:
15.获取所述目标节点的拖拽顺序;
16.根据所述拖拽顺序确定所述目标业务的业务流程;
17.根据所述目标节点以及所述业务流程生成所述业务框架。
18.进一步的,所述根据所述代码部署请求将所述业务代码部署至目标容器集群,在
所述目标容器集群内生成所述目标业务对应的应用程序,包括:
19.对所述业务代码以及所述业务流程部署到目标容器集群,以使所述目标容器集群按照所述业务流程对所述业务代码进行部署,得到所述应用程序。
20.进一步的,在根据所述业务代码生成所述目标业务对应的应用程序之后,所述方法还包括:
21.获取所述应用程序在运行过程中产生的日志文件;
22.根据所述日志文件确定所述应用程序的运行状态;
23.在所述运行状态用于指示所述应用程序运行异常的情况下,确定所述应用程序的异常信息;
24.执行所述异常信息对应的异常处理操作。
25.根据本技术实施例的另一方面,还提供了一种应用程序的生成装置,包括:
26.第一获取模块,用于获取目标业务的业务框架,其中,所述业务框架包括:业务流程以及至少两个目标节点,所述业务流程是基于所述目标节点的拖拽顺序生成的;
27.第二获取模块,用于在检测到对所述业务框架执行的编辑操作的情况下,获取对所述业务框架执行的编辑操作的过程中产生的各个目标节点对应的业务代码;
28.接收模块,用于接收代码部署请求;
29.部署模块,用于根据所述代码部署请求将所述业务代码部署至目标容器集群,在所述目标容器集群内生成所述目标业务对应的应用程序。
30.进一步的,所述第一获取模块,包括:
31.获取子模块,用于获取业务节点集合;
32.检测子模块,用于在检测到对所述业务节点集合中节点执行的拖拽操作的情况下,将已执行拖拽操作的节点,确定为所述目标业务的目标节点;
33.生成子模块,用于根据所述目标节点生成所述目标业务的业务框架,其中,所述业务框架与所述目标节点一一对应。
34.进一步的,生成子模块,用于获取所述目标节点的拖拽顺序;根据所述拖拽顺序确定所述目标业务的业务流程;根据所述目标节点以及所述业务流程生成所述业务框架。
35.进一步的,部署模块,用于对所述业务代码以及所述业务流程部署到目标容器集群,以使所述目标容器集群按照所述业务流程对所述业务代码进行部署,得到所述应用程序。
36.进一步的,所述装置还包括:监控模块,用于获取所述应用程序在运行过程中产生的日志文件;根据所述日志文件确定所述应用程序的运行状态;在所述运行状态用于指示所述应用程序运行异常的情况下,确定所述应用程序的异常信息;执行所述异常信息对应的异常处理操作。
37.根据本技术实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
38.根据本技术实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
39.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
40.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:本技术实施例提供的方法基于业务节点的拖拽顺序生成业务流程构建业务框架,实现了需要拖拽节点即可实现业务框架的构建,不再需要人工编写knative的yaml文件与配置文件。同时根据作用于业务框架的编辑操作获取业务框架中各个目标节点对应的业务代码,并将业务代码部署在目标容器集群,直接在目标容器集群内生成目标业务对应的应用程序。相比现有技术提高了应用程序的开发效率,简化了开发人员的开发流程。
附图说明
41.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1为本技术实施例提供的一种应用程序的生成方法的流程图;
44.图2为本技术另一实施例提供的一种应用程序的生成方法的流程图;
45.图3为本技术实施例提供的一种生成业务流程的示意图;
46.图4为本技术另一实施例提供的一种应用程序的生成方法的流程图;
47.图5为本技术实施例提供的一种应用程序的生成装置的框图;
48.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
49.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
51.本技术实施例提供了一种应用程序的生成方法及装置。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
52.根据本技术实施例的一方面,提供了一种应用程序的生成方法的方法实施例。图1
为本技术实施例提供的一种应用程序的生成方法的流程图,如图1所示,该方法包括:
53.步骤s11,获取目标业务的业务框架,其中,业务框架包括:业务流程以及至少两个目标节点,业务流程是基于目标节点的拖拽顺序生成的。
54.在本技术实施例中,如图2所示,步骤s11,获取目标业务的业务框架,包括:
55.步骤a1,获取业务节点集合。
56.在本技术实施例中,业务节点集合中包括多种不同业务类型的节点,例如:支付业务的节点、订单业务的节点及视频直播业务的节点等等。业务节点集合可以是开发人员预先在flowapp平台中设置的,具体的,可以检测作用于平台中的节点创建事件,基于节点创建时间确定创建的多个初始业务节点,获取初始业务节点对应的参数信息,例如:功能等。后续根据参数信息对初始业务节点进行更新,得到多个不同功能的业务节点,最终生成业务节点集合。本技术实施例通过在平台中预先建立业务节点集合目的是在后续构建业务流程时可以直接应用,便于快速构建业务框架。
57.步骤a2,在检测到对业务节点集合中节点执行的拖拽操作的情况下,将已执行拖拽操作的节点,确定为目标业务的目标节点;
58.在本技术实施例中,当需要为新增的目标业务构建业务流程时,需要确定业务节点集合中的节点是否被执行拖拽操作,在检测到对节点的拖拽操作时,将被执行拖拽操作的节点确定为目标节点。
59.步骤a3,根据目标节点生成目标业务的业务框架,其中,业务框架与目标节点一一对应。
60.在本技术实施例中,根据目标节点生成目标业务的业务框架,包括以下步骤b1

b3:
61.步骤b1,获取目标节点的拖拽顺序。
62.步骤b2,根据拖拽顺序确定目标业务的业务流程。
63.步骤b3,根据目标节点以及业务流程生成业务框架。
64.本技术实施例通过在flowapp平台中检测目标节点的拖拽顺序,通过拖拽顺序确定目标业务对应的业务流程(参考图3),基于此不再需要研发人员编写配置文件,同时也简化了对配置文件的解析过程。最终实现了业务框架的快速部署。
65.在本技术实施例中,在生成目标业务的业务流程时,首先检测目标节点的拖拽时间,按照拖拽时间进行排序得到目标节点的拖拽顺序,将目标节点的拖拽顺序确定为目标业务的业务流程。然后通过业务流程和目标节点生成业务框架。
66.在本技术实施例中,由于不用的节点对应的功能需求不同,因此本技术需要根据拖拽后的目标节点生成业务框架。其中,每个业务框架对应至少一个目标节点。需要说明的是,通过识别出拖拽生成相关服务配置(节点),这些配置是按照一定的规则生成yaml文件。在监听k8s workflow资源,解析workflow yaml并创建更新knativeeventing等组件,从而编排工作流。
67.作为一个示例,支付业务从架构上来说,分为具体包括分成网关节点,核心节点,产品节点和运营支撑节点。
68.网关节点:网关一般是通过对银行,银联,网联,第三方支付的能力进行包装然后供上层系统调用;比如接入网联的快捷,网关,代付,清算对账,差错处理能力后,提供给其
上层系统调用;另外网关一般还会维护路由系统(简单来说,路由就是帮一笔交易通过一定规则比较后,选择合适的道路到渠道侧)。
69.核心节点:一般包括会员系统,风控系统,交易系统,收费系统,订单系统,清算系统,账务系统,签约系统,数据系统等;
70.产品节点:通过对核心层提供的服务组合起来,大体来分,可以组合成入金类产品,比如组合成充值产品,转账产品等,还有出金类产品,比如提现产品,结算产品;然后通过接口,收银台,钱包,官网,内部运营后台等具体产品系统来提供服务;
71.运营支撑节点:用来支持核心系统的服务,包括运维监控系统、日志分析系统等。
72.为了实现快速满足开发人员的需求,会根据上述每一个节点生成一个该节点对应的完整业务框架,可使开发人员基于该业务框架进行代码编写。
73.步骤s12,在检测到对所述业务框架执行的编辑操作的情况下,获取对所述业务框架执行的编辑操作的过程中产生的各个目标节点对应的业务代码;
74.在本技术实施例中,在生成每个节点对应的业务框架后,检测作用于业务框架的编辑操作,编辑操作可以开发人员发起的,在对业务框架执行编辑操作的过程中,读取编辑在业务框架内的业务代码。
75.步骤s13,接收代码部署请求。
76.在本技术实施例中,开发人员在编辑业务代码后,会触发代码部署请求,代码部署请求用于将业务编码发送至目标容器集群(即kubernetes集群)。
77.步骤s14,根据代码部署请求将业务代码部署至目标容器集群,在目标容器集群内生成目标业务对应的应用程序。
78.在本技术实施例中,根据代码部署请求将业务代码部署至目标容器集群,在目标容器集群内生成目标业务对应的应用程序,包括:将业务代码以及业务流程部署到目标容器集群,以使目标容器集群按照业务流程对业务代码进行部署,得到应用程序。
79.在本技术实施例中,在kubernetes集群中设定的crd资源管理器,将业务代码进行解析,得到业务流程,并业务流程转换为k8s流程,以此减轻了开发人员使kubernetes的学习成本,使用户更新便捷使用kubernetes集群。
80.在本技术实施例中,在根据业务代码生成目标业务对应的应用程序之后,方法还包括以下步骤c1

c4:
81.步骤c1,获取应用程序在运行过程中产生的日志文件。
82.步骤c2,根据日志文件确定应用程序的运行状态。
83.步骤c3,在运行状态用于指示应用程序运行异常的情况下,确定应用程序的异常信息。
84.步骤c4,执行异常信息对应的异常处理操作。
85.在本技术实施例中,通过kubernetes提供对应用程序的二次开发能力的crd,监听到部署kubernetes的文件,识别后生成k8s的原创应用,并执行相对应的流程通过解析日志文件,获取应用程序运行情况,将运行状态显示。
86.在本技术实施例中,执行异常信息对应的异常处理操作,包括:检测业务代码的有效性,具体的可以接入预置代码库,并根据业务代码的编辑时间,从代码库中获取业务代码对应的当前版本及上一版本;识别业务代码对应的当前版本与上一版本之间的差异代码;
采用至少两种预置检测工具对差异代码进行检测,确定差异代码是否属于当前版本对应的更新代码,如果不属于待发布版本对应的更新代码,则确定业务代码出现异常,并执行代码异常告警操作。
87.现有方案中,需要在kubernetes集群内部创建service资源对象来开放后台端口。为了避免开放kubernetes集群后台端口带来的安全风险,本发明实施例中为应用开发或运维人员设置了独立的访问渠道。无需开放与实际业务无关后台端口,降低了安全风险。
88.为了便于理解,下面对本发明实施例中的具体流程进行描述,图4为本技术实施例提供的一种应用程序的生成方法的流程图,如图4所示,该方法可以包括以下步骤:本发明实施例中一种kubernetes集群内部应用程序访问检测的方法的一个实施例可包括:
89.步骤s21,基于预设交互界面接收用户输入的服务请求,服务请求中包括目标应用程序连接参数及请求参数;
90.当应用开发或运维人员实现对web应用程序的端口进行访问操作时,可以基于预设交互界面输入需要访问的目标应用程序的连接参数及请求参数,交互界面对于的前端可以将用户输入的目标应用程序的连接参数及请求参数封装成对应的服务请求。kubernetes集群内部应用程序访问检测的系统(以下简称程序访问系统)可以基于预设交互界面接收用户输入的服务请求。
91.步骤s22,查询目标应用程序所属的目标kubernetes集群对应的集群连接参数,并根据集群连接参数连接目标kubernetes集群;
92.本发明实施例中可以在程序访问系统中预存各个kubernetes集群的集群连接参数,当接收到服务请求之后,可以根据目标应用程序所属的目标kubernetes集群的身份标识查询到对应的集群连接参数,并根据该集群连接参数连接目标kubernetes集群。
93.可选的,作为一种可能的实施方式,可以通过查询预设的集群标识与集群连接信息的映射关系,获取目标应用程序所属的目标kubernetes集群对应的集群连接信息。
94.其中,集群连接参数可以根据kubernetes集群的通信协议进行合理的设置,本技术中的通信协议可以包括但不限于http、https、http2.0、tcp、udp、grpc、hessian等通信协议。
95.步骤s23,将服务请求转发至目标kubernetes集群中的代理模块,以使得代理模块根据目标应用程序连接参数访问目标应用程序,并获取请求参数对应的响应参数数据;
96.在与目标应用程序所属的目标kubernetes集群建立连接关系之后,程序访问系统可以将服务请求转发至目标kubernetes集群中的代理模块,代理模块可以根据目标应用程序连接参数访问目标应用程序,并获取请求参数对应的响应参数数据。其中,代理模块是部署在kubernetes集群中运行的应用程序,用于接收外部的服务请求,并根据应用程序连接参数访问目标应用程序,以获取请求参数对应的响应参数。
97.具体的目标应用程序连接参数可以根据kubernetes集群的通信协议进行合理的设置。例如kubernetes集群中的应用程序为http协议,对应的目标应用程序连接参数可以设置为ip地址以及端口号、通信协议标识。
98.步骤s24,接收目标kubernetes集群返回的响应参数数据。
99.在目标kubernetes集群获取到请求参数对应的响应参数数据之后,可以返回给程序访问系统,进而可以基于交互界面或其它方式展示给用户。
100.本技术实施例中,可以基于预设交互界面接收用户输入的服务请求,基于该服务请求可以查询目标应用程序所属的目标kubernetes集群对应的集群连接参数,并根据集群连接参数连接目标kubernetes集群,然后将服务请求转发至目标kubernetes集群中的代理模块,使得代理模块根据目标应用程序连接参数访问目标应用程序,并获取请求参数对应的响应参数数据。
101.本技术实施例相对于现有技术,在kubernetes集群中应用程序的开发和运维阶段的外部访问检测的过程中,无需人工手动创建与实际业务无关service资源对象暴露后台端口,方便且节省资源,同时提高了应用程序访问的安全性,提高了应用程序的开发效率。
102.图5为本技术实施例提供的一种应用程序的生成装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,该装置包括:
103.第一获取模块51,用于获取目标业务的业务框架,其中,业务框架包括:业务流程以及至少两个目标节点,业务流程是基于目标节点的拖拽顺序生成的;
104.第二获取模块52,用于在检测到对业务框架执行的编辑操作的情况下,获取对业务框架执行的编辑操作的过程中产生的各个目标节点对应的业务代码;
105.接收模块53,用于接收代码部署请求;
106.部署模块54,用于根据代码部署请求将业务代码部署至目标容器集群,在所述目标容器集群内生成所述目标业务对应的应用程序。
107.本技术实施例中,第一获取模块,包括:
108.获取子模块,用于获取业务节点集合;
109.检测子模块,用于在检测到对业务节点集合中节点执行的拖拽操作的情况下,将已执行拖拽操作的节点,确定为目标业务的目标节点;
110.生成子模块,用于根据目标节点生成目标业务的业务框架,其中,业务框架与目标节点一一对应。
111.本技术实施例中,生成子模块,用于获取目标节点的拖拽顺序;根据拖拽顺序确定目标业务的业务流程;根据目标节点以及业务流程生成业务框架。
112.本技术实施例中,部署模块,用于对业务代码以及业务流程部署到目标容器集群,以使目标容器集群按照业务流程对业务代码进行部署,得到应用程序。
113.本技术实施例中,装置还包括:监控模块,用于获取应用程序在运行过程中产生的日志文件;根据日志文件确定应用程序的运行状态;在运行状态用于指示应用程序运行异常的情况下,确定应用程序的异常信息;执行异常信息对应的异常处理操作。
114.本技术实施例还提供一种电子设备,如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
115.存储器1503,用于存放计算机程序;
116.处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
117.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
118.通信接口用于上述终端与其他设备之间的通信。
119.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
120.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
121.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用程序的生成方法。
122.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用程序的生成方法。
123.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
124.以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
125.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献