CN114118971A - 基于云原生的在线开发方法、装置、设备及存储介质 - Google Patents
基于云原生的在线开发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114118971A CN114118971A CN202111446573.3A CN202111446573A CN114118971A CN 114118971 A CN114118971 A CN 114118971A CN 202111446573 A CN202111446573 A CN 202111446573A CN 114118971 A CN114118971 A CN 114118971A
- Authority
- CN
- China
- Prior art keywords
- online
- code
- development
- editing
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种基于云原生的在线开发方法、装置、设备及存储介质。该方法包括:获取在线开发请求,在线开发请求包括目标用户标识和目标开发语言;基于目标开发语言,获取目标用户标识对应的可用代码库;根据目标开发语言,获取目标开发语言对应的目标编辑镜像;基于目标编辑镜像,创建目标用户标识对应的临时容器空间,形成在线开发环境,将可用代码库加载到在线开发环境上;基于在线开发环境,获取在线编辑代码,将在线编辑代码存储在目标用户标识对应的固定容器空间内。该方法可保障软件在线开发的便利性、代码安全性和获取便利性。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种基于云原生的在线开发方法、装置、设备及存储介质。
背景技术
当前开发人员进行软件开发时,一般需要在安装软件编辑工具的特定电脑上进行,无法应用移动场景的软件开发需求。该软件编辑工具是指用于实现JAVA和C++等开发语言对应的软件开发的工具。此处的移动场景是指需采用没有安装软件编辑工具对应的特定电脑进行软件开发的场景,包括但不限于远程定位问题和远程支持紧急功能开发等场景上。
发明内容
本发明实施例提供一种基于云原生的在线开发方法、装置、设备及存储介质,以解决现有软件开发过程在特定电脑上进行软件开发,导致无法满足移动场景的软件开发需求的问题。
一种基于云原生的在线开发方法,包括:
获取在线开发请求,所述在线开发请求包括目标用户标识和目标开发语言;
基于所述目标开发语言,获取所述目标用户标识对应的可用代码库;
根据所述目标开发语言,获取所述目标开发语言对应的目标编辑镜像;
基于所述目标编辑镜像,创建所述目标用户标识对应的临时容器空间,形成在线开发环境,将所述可用代码库加载到所述在线开发环境上;
基于所述在线开发环境,获取在线编辑代码,将所述在线编辑代码存储在所述目标用户标识对应的固定容器空间内。
一种基于云原生的在线开发装置,包括:
在线开发请求获取模块,用于获取在线开发请求,所述在线开发请求包括目标用户标识和目标开发语言;
可用代码库获取模块,用于基于所述目标开发语言,获取所述目标用户标识对应的可用代码库;
目标编辑镜像获取模块,用于根据所述目标开发语言,获取所述目标开发语言对应的目标编辑镜像;
在线开发环境形成模块,用于基于所述目标编辑镜像,创建所述目标用户标识对应的临时容器空间,形成在线开发环境,将所述可用代码库加载到所述在线开发环境上;
在线编辑代码获取模块,用于基于所述在线开发环境,获取在线编辑代码,将所述在线编辑代码存储在所述目标用户标识对应的固定容器空间内。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于云原生的在线开发方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于云原生的在线开发方法。
上述基于云原生的在线开发方法、装置、设备及存储介质,采用目标开发语言对应的目标编辑镜像,创建与目标用户标识相对应的临时容器空间,形成在线开发环境,并加载目标用户标识对应的可用代码库到在线开发环境中,以使开发人员可通过在线开发环境在线编辑,形成在线编辑代码,可满足不限于远程定位问题和远程支持紧急功能开发等移动场景下的软件开发需求,保障软件在线开发的便利性;另一方面可确保在线开发环境是临时生成,而在线编辑代码可永久保存,可保障代码安全性和获取便利性,可避免长时间保存在线开发环境在固定容器空间而导致系统负载较高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于云原生的在线开发系统的一示意图;
图2是本发明一实施例中基于云原生的在线开发方法的一流程图;
图3是本发明一实施例中基于云原生的在线开发方法的另一流程图;
图4是本发明一实施例中基于云原生的在线开发方法的另一流程图;
图5是本发明一实施例中基于云原生的在线开发方法的另一流程图;
图6是本发明一实施例中基于云原生的在线开发方法的另一流程图;
图7是本发明一实施例中基于云原生的在线开发方法的另一流程图;
图8是本发明一实施例中基于云原生的在线开发方法的另一流程图;
图9是本发明一实施例中基于云原生的在线开发装置的一示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于云原生的在线开发方法,该基于云原生的在线开发方法可应用如图1所示的应用环境中。具体地,该基于云原生的在线开发方法应用在基于云原生的在线开发系统中,该基于云原生的在线开发系统包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,可在任一计算机设备上实现软件开发,使其可适用移动场景的软件开发需求。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序,可安装在但不限于各种个人计算机和笔记本电脑上。
在一实施例中,如图2所示,提供一种基于云原生的在线开发方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:获取在线开发请求,在线开发请求包括目标用户标识和目标开发语言;
S202:基于目标开发语言,获取目标用户标识对应的可用代码库;
S203:根据目标开发语言,获取目标开发语言对应的目标编辑镜像;
S204:基于目标编辑镜像,创建目标用户标识对应的临时容器空间,形成在线开发环境,将可用代码库加载到在线开发环境上;
S205:基于在线开发环境,获取在线编辑代码,将在线编辑代码存储在目标用户标识对应的固定容器空间内。
其中,在线开发请求是用于触发进行软件在线开发操作的请求。目标用户标识是用于唯一识别某一开发人员的标识,可以为用户帐号。目标开发语言是某一开发人员进行软件在线开发所需使用的语言,例如,可采用JAVA语言、C++语言或者其他语言。
作为一示例,步骤S201中,用户可在基于云原生的在线开发系统的客户端上,输入包含目标用户标识的登录请求,在登录验证通过之后,可在客户端上自主选择软件开发所需采用的目标开发语言,触发在线开发请求,以使在线开发请求包含目标用户标识和目标开发语言,再将在线开发请求发送给服务器;也可以直接将系统默认的开发语言确定为目标开发语言,触发在线开发请求,以使在线开发请求包含目标用户标识和目标开发语言,再将在线开发请求发送给服务器。本示例中,服务器可接收用户操作客户端触发的在线开发请求,
其中,可用代码库是用于存储可用代码的仓库。可用代码是供目标用户标识对应的开发人员使用的,与目标开发语言相对应的代码。
作为一示例,步骤S202中,服务器在接收到在线开发请求之后,可基于目标开发语言查询系统数据库,将系统数据库中与目标开发语言相对应的所有原始代码,确定为可供目标用户标识对应的开发人员使用的可用代码,基于所有可用代码,获取目标用户标识对应的可用代码库。
进一步地,服务器在接收到在线开发请求之后,可基于目标开发语言查询系统数据库,获取系统数据库中与目标开发语言相对应的所有原始代码;然后,从所有原始代码中,选取与目标用户标识对应的开发人员的权限相匹配的原始代码,确定为可供目标用户标识对应的开发人员使用的可用代码,基于所有可用代码,获取目标用户标识对应的可用代码库,以使可用代码库中的可用代码与用户权限相匹配,保障可用代码的安全性。
其中,目标编辑镜像是与目标开发语言相对应的软件编辑工具对应的镜像。例如,在目标开发语言为JAVA时,其目标编辑镜像是可以为JAVA编辑工具(如Eclipse IDE)对应的镜像。
作为一示例,步骤S203中,服务器在接收到在线开发请求之后,可基于目标开发语言查询系统数据库,将系统数据库中与目标开发语言相对应的配置编辑镜像,确定为与目标开发语言相匹配的目标编辑镜像。其中,配置编辑镜像是预先存储在系统数据库中的某种开发语言对应的软件编辑工具对应的镜像。可理解地,根据目标开发语言查询系统数据库,确定与目标开发语言相对应的目标编辑镜像,查询过程操作简单,有助于提高后续处理效率。
其中,临时容器空间是临时创建给目标用户标识对应的开发人员进行在线开发环境的容器。
作为一示例,步骤S204中,服务器在接收到开发人员通过客户端触发在线开发请求时,可给该开发人员分配一个与目标编辑镜像相对应的临时容器空间,该临时容器空间是目标编辑镜像运行所在的容器对应的空间,以使开发人员进行在线开发环境。然后,服务器可将目标编辑镜像运行在临时容器空间上,以形成与目标用户标识相对应的在线开发环境,该在线开发环境相当于运行在特定电脑上的目标开发语言对应的软件编辑工具,开发人员可在该在线开发环境上进行软件在线开发。并且,服务器还需将与目标用户标识相对应的可用代码库加载到在线开发环境上,以便开发人员可根据可用代码库进行软件在线开发,保障软件开发场景的多样性,使其可适用在移动场景上。
其中,在线编辑代码是开发人员在在线开发环境上进行软件在线开发形成的代码。固定容器空间是系统预先给每个目标用户标识分配的用于存储信息的空间。
作为一示例,步骤S205中,服务器可接收开发人员基于在线开发环境所编辑的在线编辑代码,再将该在线编辑代码存储到目标用户标识对应的固定容器空间,有助于保障代码安全,也可使开发人员可从固定容器空间中,快速有效地获取到在先生成的在线编辑代码,可保障在线编辑代码获取的便利性。
在一具体实施方式中,服务器在基于在线开发环境,获取在线编辑代码之后,还可基于该在线编辑代码对应的流水线接口,触发流水线部署请求。该流水线接口是预先配置的用于在线创建流水线的接口。该流水线部署请求是用于触发的部署业务流水线的请求。然后,服务器可根据流水线部署请求,查询该在线编辑代码是否包含代码分支标识,该代码分支标识是用于识别某一在线编辑代码属于业务流水线中特定分支的标识。服务器在该在线编辑代码包含代码分支标识时,认定系统预先创建并存储已有流水线,将该已有流水线确定为目标流水线,此时,在线编辑代码为目标流水线对应的代码,以实现在临时创建的在线开发环境中,编辑已有的目标流水线对应的在线编辑代码,以保障目标流水线的开发效率。服务器在该在线编辑代码不包含代码分支标识时,认定系统未创建并存储已有流水线,此时,可执行流水线创建任务,创建目标流水线,此时,在线编辑代码为目标流水线对应的代码,以实现在临时创建的在线开发环境中,编辑新增的目标流水线对应的在线编辑代码,以保障目标流水线的开发效率。
本实施例所提供的基于云原生的在线开发方法中,采用目标开发语言对应的目标编辑镜像,创建与目标用户标识相对应的临时容器空间,形成在线开发环境,并加载目标用户标识对应的可用代码库到在线开发环境中,以使开发人员可通过在线开发环境在线编辑,形成在线编辑代码,可满足不限于远程定位问题和远程支持紧急功能开发等移动场景下的软件开发需求,保障软件在线开发的便利性;另一方面可确保在线开发环境是临时生成,而在线编辑代码可永久保存,可保障代码安全性和获取便利性,可避免长时间保存在线开发环境在固定容器空间而导致系统负载较高。
在一实施例中,如图3所示,步骤S202,即基于目标开发语言,获取目标用户标识对应的可用代码库,包括:
S301:基于目标开发语言查询系统数据库,获取与目标开发语言相匹配的所有原始代码,每一原始代码对应的一代码访问属性;
S302:若代码访问属性为公有访问属性,则原始代码确定为可用代码;
S303:若代码访问属性为私有访问属性,则获取目标用户标识对应的目标用户权限和原始代码对应的可用用户权限,在目标用户权限与可用用户权限相匹配时,将原始代码确定为可用代码;
S304:基于所有可用代码,获取目标用户标识对应的可用代码库。
其中,代码访问属性是用于反映代码能否被所有开发人员访问的属性。本示例中,代码访问属性包括公有访问属性和私有访问属性。公有访问属性是指代码能够被所有开发人员访问的属性。私有访问属性是指代码只能被特定权限的开发人员访问的属性。一般来说,此处的私有访问属性可以为预先配置好可用用户权限的开发人员才可访问的属性。
作为一示例,步骤S301中,服务器可根据目标开发语言查询系统数据库,从目标开发语言对应的代码仓库中,获取与目标开发语言相匹配的所有原始代码,每一原始代码对应的一代码访问属性,以便根据原始代码对应的代码访问属性,确定是否为目标用户标识对应的开发人员的可用代码。
作为一示例,步骤S302中,服务器在获取与目标开发语言相匹配的所有原始代码之后,可根据原始代码对应的代码访问属性,拉取所有代码访问属性为公有访问属性的原始代码,将其确定为目标用户标识对应的可用代码。
其中,目标用户标识对应的目标用户权限是指目标用户标识对应的开发人员的权限。原始代码对应的可用用户权限是指可以拉取使用原始代码的特定用户的权限。
作为一示例,步骤S303中,服务器在服务器在获取与目标开发语言相匹配的所有原始代码之后,在原始代码对应的代码访问属性为私有访问属性时,需先根据目标用户标识查询系统数据库,确定目标用户信息,从目标用户信息中确定其目标用户权限;并且,需查询确定每一原始代码对应的可用用户权限;再将目标用户标识对应的目标用户权限与每一原始代码对应的可用用户权限进行匹配处理;若目标用户权限与可用用户权限匹配成功,则拉取匹配成功的原始代码,将其确定为目标用户标识对应的可用代码。
可理解地,可用代码库中的可用代码不仅与原始代码的代码访问属性相关,还与其用户权限相关,只将代码访问属性为公有访问属性,或者代码访问属性为私有访问属性且用户权限匹配的原始代码,确定为可用代码,可实现对在线开发环境中形成的代码资源进行有效管理,兼顾代码共享和用户权限保密的需求,可防止私有访问属性的可用代码被无权用户获取,以保障可用代码的安全性。
在一实施例中,如图4所示,步骤S205,即基于在线开发环境,获取在线编辑代码,包括:
S401:显示在线开发环境对应的在线编辑界面,在线编辑界面显示目标用户标识对应的用户标识水印;
S402:基于在线编辑界面,获取在线编辑代码。
其中,用户标识水印是指携带目标用户标识或者目标用户标识对应的目标用户信息的水印。目标用户信息是指目标用户标识对应的用户信息,包括但不限于用户名称、UM号或者其他信息。
作为一示例,步骤S401中,服务器在创建形成在线开发环境之后,可控制客户端显示在线开发环境对应的在线编辑界面,并采用水印技术,控制在线开发环境对应的在线编辑界面,显示目标用户标识对应的用户标识水印,以便利用该用户标识水印实现对在线编辑代码进行安全防护处理。
作为一示例,步骤S402中,服务器在控制客户端显示携带用户标识水印的在线编辑界面之后,可接收开发人员通过在线编辑界面,输入在线编辑代码。可理解地,在开发人员通过在线编辑界面输入在线编辑代码时,其在线编辑代码对应的在线编辑界面上显示用户标识水印,若用户对在线编辑代码进行截图或者拍照,获取包含在线编辑代码的代码图片时,其代码图片上会包含用户标识水印,以便在在线编辑代码泄露时,可基于用户标识水印进行代码溯源,有助于保障在线编辑代码的安全性。
在一实施例中,如图5所示,在步骤S402之后,即在基于在线编辑界面,获取在线编辑代码之后,基于云原生的在线开发方法还包括:
S501:获取基于在线编辑代码形成的当前操作请求;
S502:在当前操作请求为目标操作请求时,获取在线编辑代码对应的当前代码标识;
S503:若当前代码标识为核心代码标识,则控制在线编辑界面上显示禁止操作消息;
S504:若当前代码标识为非核心代码标识,则执行当前操作请求,对在线编辑代码进行处理。
其中,当前操作请求是指当前时刻触发的对在线编辑代码进行操作的请求。作为一示例,当前操作请求可以为复制操作请求、剪切操作请求、粘贴操作请求或者插入操作请求等。
作为一示例,步骤S501中,服务器可获取开发人员基于在线编辑代码形成的当前操作请求,以便后续执行当前操作请求,对在线编辑代码进行处理。
其中,目标操作请求是预先设置的可能需要限制操作的请求。例如,目标操作请求可以为粘贴操作请求,例如,该粘贴操作请求用于将在线编辑代码复制到其他位置的操作请求。
其中,当前代码标识是指在线编辑代码中携带的代码标识。作为一示例,当前代码标识是开发人员在输入在线编辑代码时,根据其重要性评估是否为核心代码的标识。本示例中,当前代码标识可以为核心代码标识或者非核心代码标识。
作为一示例,步骤S502中,服务器在获取在线编辑代码对应的当前操作请求时,需将当前操作请求与系统预先配置的目标操作请求进行匹配处理;若当前操作请求为目标操作请求,则认定基于当前操作请求对在线编辑代码进行处理,可能会导致核心代码泄露等情况发生,因此,需识别在线编辑代码对应的当前代码标识,以确定在线编辑代码是否为核心代码。
作为一示例,步骤S503中,服务器在当前代码标识为核心代码标识时,可认定在线编辑代码为软件开发的核心代码,需进行相应的保密措施,可控制在线编辑界面显示禁止操作消息,以限制对核心代码进行处理,保障在线编辑代码的安全性。
作为一示例,步骤S504中,服务器在当前代码标识为非核心代码标识时,可认定在线编辑代码为软件开发的非核心代码,执行当前操作请求,对在线编辑代码进行处理,可在确保在线编辑代码安全性的其他上,实现对在线编辑代码进行处理。
在一实施例中,如图6所示,在步骤S205之后,即在基于在线开发环境,获取在线编辑代码,将在线编辑代码存储在目标用户标识对应的固定容器空间内之后,基于云原生的在线开发方法还包括:
S601:获取在线编辑代码对应的代码调试请求;
S602:基于代码调试请求,判断在线编辑代码是否包含代码依赖标识;
S603:若在线编辑代码包含代码依赖标识,则执行远端调试程序,对在线编辑代码进行调试,获取在线编辑代码对应的代码调试结果;
S604:若在线编辑代码不包含代码依赖标识,则执行在线调试程序,对在线编辑代码进行调试,获取在线编辑代码对应的代码调试结果;
S605:将在线编辑代码对应的代码调试结果,存储在目标用户标识对应的固定容器空间内。
其中,代码调试请求是用于对在线编辑代码进行调试的请求。
作为一示例,步骤S601中,开发人员通过在线开发环境输入在线编辑代码之后,可选定需要进行调试的在线编辑代码,点击调试按键或者输入调试指令,以使服务器可获取到在线编辑代码对应的代码调试请求。
作为一示例,步骤S602中,服务器在接收到某一在线编辑代码之后,可识别判断该在线编辑代码中是否包含代码依赖标识。本示例中,代码依赖标识是可识别出在线编辑代码需要依赖远端代码的标识,此处的远端代码是指在当前在线开发环境之外形成的代码。
其中,远端调试程序是指需要与远端调试容器进行通信,利用远端代码辅助在线编辑代码完成调试过程的程序。
作为一示例,步骤S603中,服务器在某一在线编辑代码包含代码依赖标识时,认定该在线编辑代码的运行需要依赖远端代码,此时,可执行远端调试程序,对在线编辑代码进行调试,以获取该在线编辑代码对应的代码调试结果。
其中,在线调试程序是指无需与远端调试容器进行通信,可在线调试的程序。
作为一示例,步骤S604中,服务器在某一在线编辑代码不包含代码依赖标识时,认定该在线编辑代码的运行无需依赖远端代码,此时,可执行在线调试程序,对在线编辑代码进行调试,以获取该在线编辑代码对应的代码调试结果。
作为一示例,步骤S605中,服务器在获取在线编辑代码对应的代码调试结果之后,可将该在线编辑代码及其对应的代码调试结果,关联存储在目标用户标识对应的固定容器空间内,以使开发人员进入固定容器空间,不仅可快速有效地获取在线编辑代码,也可获取其对应的代码调试结果。
在一实施例中,如图7所示,步骤S603,即执行在线调试程序,对在线编辑代码进行调试,获取在线编辑代码对应的代码调试结果,包括:
S701:基于在线编辑代码,形成在线代码镜像,将在线代码镜像存储在系统镜像仓库中,获取在线代码镜像对应的镜像存储地址;
S702:基于镜像存储地址形成远端调试请求,将远端调试请求发送给运行远端调试镜像的远端调试容器,以使远端调试容器基于远端调试镜像形成的远端调试环境,对镜像存储地址对应的在线代码镜像进行远端调试,获取在线编辑代码对应的代码调试结果。
其中,在线代码镜像是指基于在线编辑代码封装形成的镜像。
作为一示例,步骤S701中,服务器在执行在线调试程序过程中,需先采用镜像打包工具,将在线编辑代码封装打包,以形成在线代码镜像,并将在线代码镜像存储在系统镜像仓库中,以获取在线代码镜像对应的镜像存储地址,以便根据镜像存储地址,可下载到相应的在线代码镜像。
其中,远端调试请求是用于触发实现远端调试的请求。远端调试镜像是预先封装的用于实现远端调试功能的镜像。远端调试容器是预先创建的用于运行远端调试镜像,以形成远端调试环境的容器。
作为一示例,步骤S702中,服务器可根据在线编辑代码对应的镜像存储地址,形成包含该镜像存储地址的远端调试请求,将该远端调试请求发送给运行远端调试镜像的远端调试容器,以使远端调试容器根据接收到的远端调试请求完成对在线编辑代码的远端调试。本示例中,远端调试容器可运行预先配置的远端调试镜像,形成远端调试环境;然后,根据远端调试请求中携带的镜像存储地址,从系统镜像仓库中下载镜像存储地址对应的在线代码镜像;接着,根据在线代码镜像,获取需要进行远端调试的在线编辑代码;最后,将在线编辑代码在远端调试环境下运行,可在远端调试环境中,获取在线编辑代码运行所依赖的远端代码,依据在线编辑代码和远端代码的先后顺序运行,根据在线编辑代码能否正常运行,获取在线编辑代码对应的代码调试结果。
可理解地,在对在线编辑代码进行远端调试时,可将在线编辑代码封装打包形成在线代码镜像,以将在线代码镜像对应的镜像存储地址发送给远端调试容器,有助于提高服务器远端调试容器之间的通信效率,并保障代码安全。远端调试容器可基于远端调试镜像形成的远端调试环境,对镜像存储地址对应的在线代码镜像进行远端调试,获取在线编辑代码对应的代码调试结果,可利用云原生技术创建的远端调试容器形成的远端调试环境,实现对在线编辑代码进行远端调试,保障在线编辑代码的可运行性。
在一实施例中,如图8所示,步骤S604,即执行在线调试程序,对在线编辑代码进行调试,获取在线编辑代码对应的代码调试结果,包括:
S801:将在线调试镜像加载到临时创建的在线调试容器上,形成目标用户标识对应的在线调试环境;
S802:在在线调试环境上,对在线编辑代码进行在线调试,获取在线编辑代码对应的代码调试结果。
其中,在线调试镜像是预先封装的用于在线调试功能的镜像。在线调试容器是临时创建的用于运行在线调试镜像,以形成在线调试环境的容器。
作为一示例,步骤S801中,服务器可将在线调试镜像加载到临时创建的在线调试容器上,形成目标用户标识对应的在线调试环境,该在线调试环境可理解为当前时刻创建的针对在线编辑代码进行在线调试的环境。
作为一示例,步骤S802中,服务器在创建在线调试环境之后,可直接在该在线调试环境上运行在线编辑代码,根据在线编辑代码能否正常运行,获取该在线编辑代码对应的代码调试结果。
可理解地,在对在线编辑代码进行在线调试时,可将在线调试镜像加载到临时创建的在线调试容器上,形成在线调试环境,利用在线调试环境对在线编辑代码进行调试,一方面可保障在线编辑代码的调试效率和代码可运行性,另一方面,由于在线调试环境是利用临时创建的在线调试容器创建的,在该在线编辑代码调试完成后,需释放相应的在线调试容器,避免长时间保存在线调试容器而导致系统资源浪费。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于云原生的在线开发装置,该基于云原生的在线开发装置与上述实施例中基于云原生的在线开发方法一一对应。如图9所示,该基于云原生的在线开发装置包括在线开发请求获取模块901、可用代码库获取模块902、目标编辑镜像获取模块903、在线开发环境形成模块904和在线编辑代码获取模块905。各功能模块详细说明如下:
在线开发请求获取模块901,用于获取在线开发请求,在线开发请求包括目标用户标识和目标开发语言;
可用代码库获取模块902,用于基于目标开发语言,获取目标用户标识对应的可用代码库;
目标编辑镜像获取模块903,用于根据目标开发语言,获取目标开发语言对应的目标编辑镜像;
在线开发环境形成模块904,用于基于目标编辑镜像,创建目标用户标识对应的临时容器空间,形成在线开发环境,将可用代码库加载到在线开发环境上;
在线编辑代码获取模块905,用于基于在线开发环境,获取在线编辑代码,将在线编辑代码存储在目标用户标识对应的固定容器空间内。
在一实施例中,可用代码库获取模块902,包括:
原始代码获取单元,用于基于目标开发语言查询系统数据库,获取与目标开发语言相匹配的所有原始代码,每一原始代码对应的一代码访问属性;
第一可用代码确定单元,用于若代码访问属性为公有访问属性,则原始代码确定为可用代码;
第二可用代码确定单元,用于若代码访问属性为私有访问属性,则获取目标用户标识对应的目标用户权限和原始代码对应的可用用户权限,在目标用户权限与可用用户权限相匹配时,将原始代码确定为可用代码;
可用代码库获取单元,用于基于所有可用代码,获取目标用户标识对应的可用代码库。
在一实施例中,在线编辑代码获取模块905,包括:
在线编辑界面显示单元,用于显示在线开发环境对应的在线编辑界面,在线编辑界面显示目标用户标识对应的用户标识水印;
在线编辑代码获取单元,用于基于在线编辑界面,获取在线编辑代码。
在一实施例中,基于云原生的在线开发装置还包括:
当前操作请求获取单元,用于获取基于在线编辑代码形成的当前操作请求;
当前代码标识获取单元,用于在当前操作请求为目标操作请求时,获取在线编辑代码对应的当前代码标识;
第一识别处理单元,用于若当前代码标识为核心代码标识,则控制在线编辑界面上显示禁止操作消息;
第二识别处理单元,用于若当前代码标识为非核心代码标识,则执行当前操作请求,对在线编辑代码进行处理。
在一实施例中,基于云原生的在线开发装置还包括:
代码调试请求获取模块,用于获取在线编辑代码对应的代码调试请求;
代码依赖标识判断模块,用于基于代码调试请求,判断在线编辑代码是否包含代码依赖标识;
远端调试处理模块,用于若在线编辑代码包含代码依赖标识,则执行远端调试程序,对在线编辑代码进行调试,获取在线编辑代码对应的代码调试结果;
在线调试处理模块,用于若在线编辑代码不包含代码依赖标识,则执行在线调试程序,对在线编辑代码进行调试,获取在线编辑代码对应的代码调试结果;
代码调试结果存储模块,用于将在线编辑代码对应的代码调试结果,存储在目标用户标识对应的固定容器空间内。
在一实施例中,远端调试处理模块,包括:
镜像存储地址获取单元,用于基于在线编辑代码,形成在线代码镜像,将在线代码镜像存储在系统镜像仓库中,获取在线代码镜像对应的镜像存储地址;
远端调试处理单元,用于基于镜像存储地址形成远端调试请求,将远端调试请求发送给运行远端调试镜像的远端调试容器,以使远端调试容器基于远端调试镜像形成的远端调试环境,对镜像存储地址对应的在线代码镜像进行远端调试,获取在线编辑代码对应的代码调试结果。
在一实施例中,在线调试处理模块,包括:
在线调试环境形成单元,用于将在线调试镜像加载到临时创建的在线调试容器上,形成目标用户标识对应的在线调试环境;
在线调试处理单元,用于在在线调试环境上,对在线编辑代码进行在线调试,获取在线编辑代码对应的代码调试结果。
关于基于云原生的在线开发装置的具体限定可以参见上文中对于基于云原生的在线开发方法的限定,在此不再赘述。上述基于云原生的在线开发装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于执行基于云原生的在线开发方法过程中采用或生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于云原生的在线开发方法。
在一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于云原生的在线开发方法,例如图2所示S201-S205,或者图3至图8中所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现基于云原生的在线开发装置这一实施例中的各模块/单元的功能,例如图9所示的在线开发请求获取模块901、可用代码库获取模块902、目标编辑镜像获取模块903、在线开发环境形成模块904和在线编辑代码获取模块905的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于云原生的在线开发方法,例如图2所示S201-S205,或者图3至图8中所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述基于云原生的在线开发装置这一实施例中的各模块/单元的功能,例如图9所示的在线开发请求获取模块901、可用代码库获取模块902、目标编辑镜像获取模块903、在线开发环境形成模块904和在线编辑代码获取模块905的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于云原生的在线开发方法,其特征在于,包括:
获取在线开发请求,所述在线开发请求包括目标用户标识和目标开发语言;
基于所述目标开发语言,获取所述目标用户标识对应的可用代码库;
根据所述目标开发语言,获取所述目标开发语言对应的目标编辑镜像;
基于所述目标编辑镜像,创建所述目标用户标识对应的临时容器空间,形成在线开发环境,将所述可用代码库加载到所述在线开发环境上;
基于所述在线开发环境,获取在线编辑代码,将所述在线编辑代码存储在所述目标用户标识对应的固定容器空间内。
2.如权利要求1所述的基于云原生的在线开发方法,其特征在于,所述基于所述目标开发语言,获取所述目标用户标识对应的可用代码库,包括:
基于所述目标开发语言查询系统数据库,获取与所述目标开发语言相匹配的所有原始代码,每一所述原始代码对应的一代码访问属性;
若所述代码访问属性为公有访问属性,则所述原始代码确定为可用代码;
若所述代码访问属性为私有访问属性,则获取所述目标用户标识对应的目标用户权限和所述原始代码对应的可用用户权限,在所述目标用户权限与所述可用用户权限相匹配时,将所述原始代码确定为可用代码;
基于所有所述可用代码,获取所述目标用户标识对应的可用代码库。
3.如权利要求1所述的基于云原生的在线开发方法,其特征在于,所述基于所述在线开发环境,获取在线编辑代码,包括:
显示所述在线开发环境对应的在线编辑界面,所述在线编辑界面显示所述目标用户标识对应的用户标识水印;
基于所述在线编辑界面,获取在线编辑代码。
4.如权利要求3所述的基于云原生的在线开发方法,其特征在于,在所述基于所述在线编辑界面,获取在线编辑代码之后,所述基于云原生的在线开发方法还包括:
获取基于在线编辑代码形成的当前操作请求;
在所述当前操作请求为目标操作请求时,获取所述在线编辑代码对应的当前代码标识;
若所述当前代码标识为核心代码标识,则控制所述在线编辑界面上显示禁止操作消息;
若所述当前代码标识为非核心代码标识,则执行所述当前操作请求,对所述在线编辑代码进行处理。
5.如权利要求1所述的基于云原生的在线开发方法,其特征在于,在所述基于所述在线开发环境,获取在线编辑代码,将所述在线编辑代码存储在所述目标用户标识对应的固定容器空间内之后,所述基于云原生的在线开发方法还包括:
获取所述在线编辑代码对应的代码调试请求;
基于所述代码调试请求,判断所述在线编辑代码是否包含代码依赖标识;
若所述在线编辑代码包含代码依赖标识,则执行远端调试程序,对所述在线编辑代码进行调试,获取所述在线编辑代码对应的代码调试结果;
若所述在线编辑代码不包含代码依赖标识,则执行在线调试程序,对所述在线编辑代码进行调试,获取所述在线编辑代码对应的代码调试结果;
将所述在线编辑代码对应的代码调试结果,存储在所述目标用户标识对应的固定容器空间内。
6.如权利要求5所述的基于云原生的在线开发方法,其特征在于,所述执行在线调试程序,对所述在线编辑代码进行调试,获取所述在线编辑代码对应的代码调试结果,包括:
基于所述在线编辑代码,形成在线代码镜像,将所述在线代码镜像存储在系统镜像仓库中,获取所述在线代码镜像对应的镜像存储地址;
基于所述镜像存储地址形成远端调试请求,将所述远端调试请求发送给运行远端调试镜像的远端调试容器,以使所述远端调试容器基于远端调试镜像形成的远端调试环境,对所述镜像存储地址对应的在线代码镜像进行远端调试,获取所述在线编辑代码对应的代码调试结果。
7.如权利要求5所述的基于云原生的在线开发方法,其特征在于所述执行在线调试程序,对所述在线编辑代码进行调试,获取所述在线编辑代码对应的代码调试结果,包括:
将在线调试镜像加载到临时创建的在线调试容器上,形成所述目标用户标识对应的在线调试环境;
在所述在线调试环境上,对所述在线编辑代码进行在线调试,获取所述在线编辑代码对应的代码调试结果。
8.一种基于云原生的在线开发装置,其特征在于,包括:
在线开发请求获取模块,用于获取在线开发请求,所述在线开发请求包括目标用户标识和目标开发语言;
可用代码库获取模块,用于基于所述目标开发语言,获取所述目标用户标识对应的可用代码库;
目标编辑镜像获取模块,用于根据所述目标开发语言,获取所述目标开发语言对应的目标编辑镜像;
在线开发环境形成模块,用于基于所述目标编辑镜像,创建所述目标用户标识对应的临时容器空间,形成在线开发环境,将所述可用代码库加载到所述在线开发环境上;
在线编辑代码获取模块,用于基于所述在线开发环境,获取在线编辑代码,将所述在线编辑代码存储在所述目标用户标识对应的固定容器空间内。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述基于云原生的在线开发方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于云原生的在线开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446573.3A CN114118971A (zh) | 2021-11-30 | 2021-11-30 | 基于云原生的在线开发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446573.3A CN114118971A (zh) | 2021-11-30 | 2021-11-30 | 基于云原生的在线开发方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114118971A true CN114118971A (zh) | 2022-03-01 |
Family
ID=80368762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446573.3A Pending CN114118971A (zh) | 2021-11-30 | 2021-11-30 | 基于云原生的在线开发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114118971A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996117A (zh) * | 2022-03-28 | 2022-09-02 | 湖南智擎科技有限公司 | 面向SaaS模式的客户端GPU应用评测系统及方法 |
CN115756829A (zh) * | 2022-10-31 | 2023-03-07 | 中化现代农业有限公司 | 一种在线编辑算法装置部署方法 |
CN117762390A (zh) * | 2024-02-22 | 2024-03-26 | 北方健康医疗大数据科技有限公司 | 基于私有云开发环境的程序开发方法、系统、终端及介质 |
-
2021
- 2021-11-30 CN CN202111446573.3A patent/CN114118971A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996117A (zh) * | 2022-03-28 | 2022-09-02 | 湖南智擎科技有限公司 | 面向SaaS模式的客户端GPU应用评测系统及方法 |
CN114996117B (zh) * | 2022-03-28 | 2024-02-06 | 湖南智擎科技有限公司 | 面向SaaS模式的客户端GPU应用评测系统及方法 |
CN115756829A (zh) * | 2022-10-31 | 2023-03-07 | 中化现代农业有限公司 | 一种在线编辑算法装置部署方法 |
CN117762390A (zh) * | 2024-02-22 | 2024-03-26 | 北方健康医疗大数据科技有限公司 | 基于私有云开发环境的程序开发方法、系统、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114118971A (zh) | 基于云原生的在线开发方法、装置、设备及存储介质 | |
CN108446116B (zh) | 应用程序页面的生成方法、装置、计算机设备和存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN110874236B (zh) | 一种跨平台应用装置、终端及存储介质 | |
CN109726134B (zh) | 接口测试方法和系统 | |
WO2020199594A1 (zh) | 业务组件加载方法、装置、计算机设备和存储介质 | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
CN109286517B (zh) | 创建服务的方法、装置和存储介质以及电子设备 | |
US10223526B2 (en) | Generating packages for managed applications | |
CN107636667B (zh) | 在设备中创建多个工作空间的系统及方法 | |
CN111399860A (zh) | 轻应用部署方法、装置、计算机设备和存储介质 | |
CN112199151B (zh) | 一种应用程序的运行方法及装置 | |
CN107895120B (zh) | 跨平台应用中数据处理方法、装置、电子设备和存储介质 | |
CN106775879B (zh) | 基于安卓系统客户端的vr应用免安装方法及其系统 | |
CN113157337A (zh) | 应用程序启动方法、装置、终端设备及存储介质 | |
CN110727477B (zh) | 组件加载方法、装置、计算机设备和存储介质 | |
CN108667919B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109815202B (zh) | 日志编辑方法及相关装置 | |
CN109614188B (zh) | 一种页面在线帮助方法、装置、计算机设备及存储介质 | |
CN114417202A (zh) | 基于人工智能的混合页面的跳转方法、装置及设备 | |
CN111427770B (zh) | 一种资源测试方法及相关设备 | |
CN112416462B (zh) | 离线h5应用加载方法及系统 | |
CN112835677A (zh) | 一种基于沙盒的固有数据保护方法及系统 | |
CN107315951B (zh) | 一种程序安装包反拦截方法及装置 | |
CN112711538B (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 |