CN116069334B - 一种基于云原生的在线开发与代码托管方法及系统 - Google Patents

一种基于云原生的在线开发与代码托管方法及系统 Download PDF

Info

Publication number
CN116069334B
CN116069334B CN202211471628.0A CN202211471628A CN116069334B CN 116069334 B CN116069334 B CN 116069334B CN 202211471628 A CN202211471628 A CN 202211471628A CN 116069334 B CN116069334 B CN 116069334B
Authority
CN
China
Prior art keywords
task
developed
development
researched
compiling
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.)
Active
Application number
CN202211471628.0A
Other languages
English (en)
Other versions
CN116069334A (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.)
Beijing Tongtech Co Ltd
Original Assignee
Beijing Tongtech 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 Beijing Tongtech Co Ltd filed Critical Beijing Tongtech Co Ltd
Priority to CN202211471628.0A priority Critical patent/CN116069334B/zh
Publication of CN116069334A publication Critical patent/CN116069334A/zh
Application granted granted Critical
Publication of CN116069334B publication Critical patent/CN116069334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于云原生的在线开发与代码托管方法及系统,其方法包括:获取云端上传的待研发任务并对其进行完整性检查,检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码,对所述托管代码进行第二编译获得待研发任务对应的可执行文件,将所述可执行文件进行自动测试和封装并安装到云端系统中。可以通过以托管执行的方式进行软件编译的方式代替传统人工开发软件,可以避免许多典型的导致安全漏洞和不稳定程序的编程错误,提高了开发软件的可靠性和安全性,在更短的时间内实现了更加健全软件的开发工作,提高了工作效率和稳定性。

Description

一种基于云原生的在线开发与代码托管方法及系统
技术领域
本发明涉及软件开发技术领域,尤其涉及一种基于云原生的在线开发与代码托管方法及系统。
背景技术
现代软件开发已由传统的少量开发人员简单协作转变为群体开发及更复杂的协作。随着软件架构、开发思想和开发工具的发展,软件的架构和功能越来越复杂,开发节奏越来越快,但传统的由开发人员开发、测试人员测试、运维人员部署的形式,存在软件开发错误不能及时发现、人工低级错误时常发生、团队协作效率低下、重复劳动和开发/测试/运维团队对立等问题,从而导致软件无法高质量开发和高效交付。
发明内容
针对上述所显示出来的问题,本发明提供了一种基于云原生的在线开发与代码托管方法及系统用以解决背景技术中提到的传统的由开发人员开发、测试人员测试、运维人员部署的形式,存在软件开发错误不能及时发现、人工低级错误时常发生、团队协作效率低下、重复劳动和开发/测试/运维团队对立导致软件无法高质量开发和高效交付的问题。
一种基于云原生的在线开发与代码托管方法,包括以下步骤:
获取云端上传的待研发任务并对其进行完整性检查;
检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码;
对所述托管代码进行第二编译获得待研发任务对应的可执行文件;
将所述可执行文件进行自动测试和封装并安装到云端系统中。
优选的,在获取云端上传的待研发任务并对其进行完整性检查之前,所述方法还包括:
接收用户端发布的任务开发请求,根据所述任务开发请求对用户端的使用人员进行身份及权限验证;
在验证通过后,通过所述开发业务请求获取待研发任务的任务类型和任务属性;
基于所述任务类型和任务属性确定多个相关业务层,计算出多个相关业务层之间的开发冲突程度;
根据所述开发冲突程度判断所述任务开发请求是否合理,若是,无需进行后续操作,否则,向用户端反馈任务开发请求不合理的提示。
优选的,所述获取云端上传的待研发任务并对其进行完整性检查,包括:
通过预设方式获取云端上传的待研发任务,将所述待研发任务导入到同步任务队列中触发冗余检查指令;
根据所述冗余检查指令对所述待研发任务进行冗余检查,获取第一检查结果;
获取所述待研发任务对应的多个调用研发线程,根据所述多个调用研发线程调用对应的匹配检查线路;
利用所述匹配检查线路对每个调用研发线程进行检查,获取第二检查结果,根据所述第一检测结果和第二检查结果判断待研发任务的完整性。
优选的,检查通过后调取所述待研发任务对应的目标源代码,具体为:
根据所述待研发任务对应的任务参数选择协同开发系统;
基于每个协同开发系统的开发任务特征和待研发任务的总任务特征对每个协同开发系统进行任务分配,获取分配结果;
根据所述分配结果获取每个协同开发系统的开发任务参数,利用预设任务参数解析模型基于每个协同开发系统的开发任务参数获得该协同开发系统的待开发任务的形式化描述;
将每个协同开发系统的待开发任务的形式化描述输入到预设源代码数据库中进行特征匹配以获得待研发任务对应的目标源代码。
优选的,对所述目标源代码进行第一编译获得其对应的托管代码,包括:
获取预设托管函数,根据所述目标源代码获取函数调用信息,利用所述预设托管函数对所述函数调用信息进行求解;
根据求解结果获取目标源代码对应的第一格式编译文件;
将所述第一格式编译文件转化为第二格式编译文件,根据第二格式编译文件的文件格式选择通用编译语言;
基于所述通用编译语言对所述第二格式编译文件进行第一编译获得目标源代码对应的托管代码。
优选的,所述对所述托管代码进行第二编译获得待研发任务对应的可执行文件,包括:
获取云端系统的系统参数并进行解析,根据解析结果确定云端系统的搭载软件类型;
基于所述搭载软件类型和托管代码在预设脚本库中选择适配的编译脚本;
根据所述待研发任务生成需求序列文件,利用所述编译脚本基于所述需求序列文件对托管代码进行第二编译,获取编译结果;
根据所述编译结果生成待研发任务对应的可执行文件。
优选的,将所述可执行文件进行自动测试,具体为:
获取所述可执行文件的所有适用场景,从预设策略库中获取每个适用场景对应的测试策略;
获取每个适应场景对应的测试策略相应的测试项,调取软件测试配置文件,调用所述软件测试配置文件中的接口函数生成软件测试程序;
将每个适应场景对应的测试策略相应的测试项导入到软件测试程序中确定每个测试项的指标值;
将所述可执行文件配置为软件测试文件输入到所述软件测试程序中确定其在每个使用场景下的测试指标值,根据测试指标值判定可执行文件是否合格。
优选的,将所述可执行文件进行封装,具体为:
激活预设封装程序,利用所述预设封装程序对所述可执行文件进行封装处理,获取封装信息;
对所述封装信息进行检测确认其是否有错误封装信息,若是,提取出错误封装信息;
对所述错误封装信息进行解析,根据解析结果生成响应信息;
基于所述响应信息对所述错误封装信息进行自适应处理,将处理后的封装信息利用所述预设封装程序进行二次封装。
优选的,将所述可执行文件安装到云端系统中,具体为:
根据所述可执行文件的封装文件获取安装资源包,检测所述云端系统的运行参数;
当所述运行参数正常时,构建所述可执行文件的安装环境,将所述安装资源包导入到所述安装环境中;
设置所述可执行文件的安装目录,获取所述安装目录所在虚拟磁盘的初始注册表信息;
获取安装后的应用软件的当前注册表信息,利用所述当前注册表信息对所述初始注册表信息进行替换。
一种基于云原生的在线开发与代码托管系统,该系统包括:
获取模块,用于获取云端上传的待研发任务并对其进行完整性检查;
第一编译模块,用于检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码;
第二编译模块,用于对所述托管代码进行第二编译获得待研发任务对应的可执行文件;
测试封装模块,用于将所述可执行文件进行自动测试和封装并安装到云端系统中。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明所提供的一种基于云原生的在线开发与代码托管方法的工作流程图;
图2为本发明所提供的一种基于云原生的在线开发与代码托管方法的另一工作流程图;
图3为本发明所提供的一种基于云原生的在线开发与代码托管方法的又一工作流程图;
图4为本发明所提供的一种基于云原生的在线开发与代码托管系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现代软件开发已由传统的少量开发人员简单协作转变为群体开发及更复杂的协作。随着软件架构、开发思想和开发工具的发展,软件的架构和功能越来越复杂,开发节奏越来越快,但传统的由开发人员开发、测试人员测试、运维人员部署的形式,存在软件开发错误不能及时发现、人工低级错误时常发生、团队协作效率低下、重复劳动和开发/测试/运维团队对立等问题,从而导致软件无法高质量开发和高效交付。为了解决上述问题,本实施例公开了一种基于云原生的在线开发与代码托管方法。
一种基于云原生的在线开发与代码托管方法,如图1所示,包括以下步骤:
步骤S101、获取云端上传的待研发任务并对其进行完整性检查;
步骤S102、检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码;
步骤S103、对所述托管代码进行第二编译获得待研发任务对应的可执行文件;
步骤S104、将所述可执行文件进行自动测试和封装并安装到云端系统中。
在本实施例中,待研发任务表示为待研发内容所对应的任务指标。
上述技术方案的工作原理为:获取云端上传的待研发任务并对其进行完整性检查,检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码,对所述托管代码进行第二编译获得待研发任务对应的可执行文件,将所述可执行文件进行自动测试和封装并安装到云端系统中。
上述技术方案的有益效果为:通过获取开发任务对应的源代码来进行自动编译为托管代码进而编译为软件程序可以通过以托管执行的方式进行软件编译的方式代替传统人工开发软件,可以避免许多典型的导致安全漏洞和不稳定程序的编程错误,提高了开发软件的可靠性和安全性,在更短的时间内实现了更加健全软件的开发工作,提高了工作效率和稳定性,解决了现有技术中传统的由开发人员开发、测试人员测试、运维人员部署的形式,存在软件开发错误不能及时发现、人工低级错误时常发生、团队协作效率低下、重复劳动和开发/测试/运维团队对立导致软件无法高质量开发和高效交付的问题。
在一个实施例中,在获取云端上传的待研发任务并对其进行完整性检查之前,所述方法还包括:
接收用户端发布的任务开发请求,根据所述任务开发请求对用户端的使用人员进行身份及权限验证;
在验证通过后,通过所述开发业务请求获取待研发任务的任务类型和任务属性;
基于所述任务类型和任务属性确定多个相关业务层,计算出多个相关业务层之间的开发冲突程度;
根据所述开发冲突程度判断所述任务开发请求是否合理,若是,无需进行后续操作,否则,向用户端反馈任务开发请求不合理的提示。
在本实施例中,任务开发请求表示为用户端向开发平台发布的开发请求;
在本实施例中,任务类型表示为待研发任务的开发类型;
在本实施例中,相关业务层表示为对于待研发任务的关联开发业务层;
在本实施例中,开发冲突程度表示为所有关联开发业务层同时运行时的兼容度。
上述技术方案的有益效果为:通过对使用人员进行身份和权限验证可以保证开发任务的隐私性和安全性,进一步地我,通过根据任务类型和任务属性确定多个相关业务层之间的开发冲突程度评估任务开发请求是否合理可以快速直观地评估出任务开发请求是否符合基本逻辑,避免了不必要的后续无用流程操作,进一步地提高了工作效率。
在一个实施例中,如图2所示,所述获取云端上传的待研发任务并对其进行完整性检查,包括:
步骤S201、通过预设方式获取云端上传的待研发任务,将所述待研发任务导入到同步任务队列中触发冗余检查指令;
步骤S202、根据所述冗余检查指令对所述待研发任务进行冗余检查,获取第一检查结果;
步骤S203、获取所述待研发任务对应的多个调用研发线程,根据所述多个调用研发线程调用对应的匹配检查线路;
步骤S204、利用所述匹配检查线路对每个调用研发线程进行检查,获取第二检查结果,根据所述第一检测结果和第二检查结果判断待研发任务的完整性。
在本实施例中,冗余检查指令表示为对待研发任务进行冗余任务参数的筛查指令;
在本实施例中,匹配检查线路表示为对研发线程进行工作异常检测的网络线路。
上述技术方案的有益效果为:通过对待研发任务进行双重检查可以从任务本身表面提现参数和具体内容研发参数两个角度来全方位地实现待研发任务的完整性检查,保证了检查结果的客观性和准确性,提高了实用性。
在本实施例中,根据所述冗余检查指令对所述待研发任务进行冗余检查,具体为:
根据所述待研发任务对应的任务内容将其划分为主任务和支任务;
将所述主任务和支任务进行上链处理,获取上链后的主任务和每个支任务的在各自运行时的状态向量;
同步所述主任务和支任务的任务状态,根据同步结果确定主任务和支任务同时运行时的状态增量;
根据所述状态向量和状态增量确定主任务相对于支任务之间的拖拽运算规则;
基于所述拖拽运算规则和上链后的主任务和支任务生成数据测试体系;
将待研发任务对应的任务项参数依次输入到所述数据测试体系中进行循环流水计算,获取计算结果;
根据所述计算结果确定所有任务项参数在主任务下的第一循环冗余参数以及在每个支任务下的第二循环冗余参数;
对所述第一循环冗余参数和第二循环冗余参数中的相同参数进行去重处理,将处理后的循环冗余参数确定为待研发任务中的冗余参数。
上述技术方案的有益效果为:通过构建数据测试体系可以针对待研发任务的任务内容来构建出其虚拟任务运行框架进而对任务项参数进行运行以确定冗余参数可以准确地根据待研发任务的任务内容中各个任务项参数之间的运行关联度来评估出无效的冗余数据,使得评估数据更加合理和客观。
在一个实施例中,如图3所示,检查通过后调取所述待研发任务对应的目标源代码,具体为:
步骤S301、根据所述待研发任务对应的任务参数选择协同开发系统;
步骤S302、基于每个协同开发系统的开发任务特征和待研发任务的总任务特征对每个协同开发系统进行任务分配,获取分配结果;
步骤S303、根据所述分配结果获取每个协同开发系统的开发任务参数,利用预设任务参数解析模型基于每个协同开发系统的开发任务参数获得该协同开发系统的待开发任务的形式化描述;
步骤S304、将每个协同开发系统的待开发任务的形式化描述输入到预设源代码数据库中进行特征匹配以获得待研发任务对应的目标源代码。
在本实施例中,协同开发系统表示为每个任务参数对应的调用开发系统;
在本实施例中,开发任务特征表示为每个协同开发系统的开发代码的特征表示。
上述技术方案的有益效果为:通过对待研发任务进行协同开发系统分配可以针对每项研发流程来全面地确定待研发任务的所有形式化描述进而获得所有的目标源代码。避免遗漏和误差,进一步地提高了稳定性和可靠性。
在一个实施例中,对所述目标源代码进行第一编译获得其对应的托管代码,包括:
获取预设托管函数,根据所述目标源代码获取函数调用信息,利用所述预设托管函数对所述函数调用信息进行求解;
根据求解结果获取目标源代码对应的第一格式编译文件;
将所述第一格式编译文件转化为第二格式编译文件,根据第二格式编译文件的文件格式选择通用编译语言;
基于所述通用编译语言对所述第二格式编译文件进行第一编译获得目标源代码对应的托管代码。
在本实施例中,函数调用信息表示为目标源代码中需要进行函数计算的代信息;
在本实施例中,第一格式表示为目标源代码的代码格式,第二格式表示为托管代码对应的代码格式。
上述技术方案的有益效果为:可以实现对于目标源代码转为托管代码的快速稳定编译,提高了编译效率,同时也通过限定编译格式保证了编译过程中的稳定性和编译成功率,进一步地提高了实用性。
在一个实施例中,所述对所述托管代码进行第二编译获得待研发任务对应的可执行文件,包括:
获取云端系统的系统参数并进行解析,根据解析结果确定云端系统的搭载软件类型;
基于所述搭载软件类型和托管代码在预设脚本库中选择适配的编译脚本;
根据所述待研发任务生成需求序列文件,利用所述编译脚本基于所述需求序列文件对托管代码进行第二编译,获取编译结果;
根据所述编译结果生成待研发任务对应的可执行文件。
在本实施例中,搭载软件类型表示为云端系统上可稳定运行的软件类型;
在本实施例中,需求序列文件表示为待研发任务需要进行编译的托管代码的序列文件。
上述技术方案的有益效果为:通过获取适配的编译脚本来进行软件的编译可以保证编译出来的应用文件的稳定性和安全性,进一步地提高了实用性。
在一个实施例中,将所述可执行文件进行自动测试,具体为:
获取所述可执行文件的所有适用场景,从预设策略库中获取每个适用场景对应的测试策略;
获取每个适应场景对应的测试策略相应的测试项,调取软件测试配置文件,调用所述软件测试配置文件中的接口函数生成软件测试程序;
将每个适应场景对应的测试策略相应的测试项导入到软件测试程序中确定每个测试项的指标值;
将所述可执行文件配置为软件测试文件输入到所述软件测试程序中确定其在每个使用场景下的测试指标值,根据测试指标值判定可执行文件是否合格。
在本实施例中,测试策略表示为可执行文件在每个适用场景下的各项测试参数对应的测试规则;
在本实施例中,测试项表示每个测试策略中对应的测试项;
在本实施例中,软件测试程序表示为对根据每个测试项的功能所生成对应的测试程序。
上述技术方案的有益效果为:通过应对可执行文件在所有适用场景下的测试策略来对可执行文件进行全方位地对可执行文件进行测试,保证测试结果的客观性和准确性,为后续开发软件的安装和封装奠定了条件,进一步地提高了实用性。
在一个实施例中,将所述可执行文件进行封装,具体为:
激活预设封装程序,利用所述预设封装程序对所述可执行文件进行封装处理,获取封装信息;
对所述封装信息进行检测确认其是否有错误封装信息,若是,提取出错误封装信息;
对所述错误封装信息进行解析,根据解析结果生成响应信息;
基于所述响应信息对所述错误封装信息进行自适应处理,将处理后的封装信息利用所述预设封装程序进行二次封装。
上述技术方案的有益效果为:通过对可执行文件进行二次封装可以对错误封装信息进行及时的修正,保证封装后的可执行文件的可行性和可靠性,进一步地提高了实用性。
在一个实施例中,将所述可执行文件安装到云端系统中,具体为:
根据所述可执行文件的封装文件获取安装资源包,检测所述云端系统的运行参数;
当所述运行参数正常时,构建所述可执行文件的安装环境,将所述安装资源包导入到所述安装环境中;
设置所述可执行文件的安装目录,获取所述安装目录所在虚拟磁盘的初始注册表信息;
获取安装后的应用软件的当前注册表信息,利用所述当前注册表信息对所述初始注册表信息进行替换。
上述技术方案的有益效果为:可实现可执行文件的稳定安全安装,使得安装后的软件与云端系统实现兼容运行,提高了稳定性,也保证了安装过程的稳定运行,提高了工作效率。
本实施例还公开了一种基于云原生的在线开发与代码托管系统,如图4所示,该系统包括:
获取模块401,用于获取云端上传的待研发任务并对其进行完整性检查;
第一编译模块402,用于检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码;
第二编译模块403,用于对所述托管代码进行第二编译获得待研发任务对应的可执行文件;
测试封装模块404,用于将所述可执行文件进行自动测试和封装并安装到云端系统中。
上述技术方案的工作原理及有益效果在方法权利要求中已经说明,此处不再赘述。
本领域技术人员应当理解的是,本发明中的第一、第二指的是不同应用阶段而已。
本领域技术用户员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (9)

1.一种基于云原生的在线开发与代码托管方法,其特征在于,包括以下步骤:
获取云端上传的待研发任务并对其进行完整性检查;
检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码;
对所述托管代码进行第二编译获得待研发任务对应的可执行文件;
将所述可执行文件进行自动测试和封装并安装到云端系统中;
所述获取云端上传的待研发任务并对其进行完整性检查,包括:
通过预设方式获取云端上传的待研发任务,将所述待研发任务导入到同步任务队列中触发冗余检查指令;
根据所述冗余检查指令对所述待研发任务进行冗余检查,获取第一检查结果;
获取所述待研发任务对应的多个调用研发线程,根据所述多个调用研发线程调用对应的匹配检查线路;
利用所述匹配检查线路对每个调用研发线程进行检查,获取第二检查结果,根据所述第一检查结果和第二检查结果判断待研发任务的完整性;
根据所述冗余检查指令对所述待研发任务进行冗余检查,具体为:
根据所述待研发任务对应的任务内容将其划分为主任务和支任务;
将所述主任务和支任务进行上链处理,获取上链后的主任务和每个支任务的在各自运行时的状态向量;
同步所述主任务和支任务的任务状态,根据同步结果确定主任务和支任务同时运行时的状态增量;
根据所述状态向量和状态增量确定主任务相对于支任务之间的拖拽运算规则;
基于所述拖拽运算规则和上链后的主任务和支任务生成数据测试体系;
将待研发任务对应的任务项参数依次输入到所述数据测试体系中进行循环流水计算,获取计算结果;
根据所述计算结果确定所有任务项参数在主任务下的第一循环冗余参数以及在每个支任务下的第二循环冗余参数;
对所述第一循环冗余参数和第二循环冗余参数中的相同参数进行去重处理,将处理后的循环冗余参数确定为待研发任务中的冗余参数。
2.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,在获取云端上传的待研发任务并对其进行完整性检查之前,所述方法还包括:
接收用户端发布的任务开发请求,根据所述任务开发请求对用户端的使用人员进行身份及权限验证;
在验证通过后,通过所述任务开发请求获取待研发任务的任务类型和任务属性;
基于所述任务类型和任务属性确定多个相关业务层,计算出多个相关业务层之间的开发冲突程度;
根据所述开发冲突程度判断所述任务开发请求是否合理,若是,无需进行后续操作,否则,向用户端反馈任务开发请求不合理的提示。
3.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,检查通过后调取所述待研发任务对应的目标源代码,具体为:
根据所述待研发任务对应的任务参数选择协同开发系统;
基于每个协同开发系统的开发任务特征和待研发任务的总任务特征对每个协同开发系统进行任务分配,获取分配结果;
根据所述分配结果获取每个协同开发系统的开发任务参数,利用预设任务参数解析模型基于每个协同开发系统的开发任务参数获得该协同开发系统的待开发任务的形式化描述;
将每个协同开发系统的待开发任务的形式化描述输入到预设源代码数据库中进行特征匹配以获得待研发任务对应的目标源代码。
4.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,对所述目标源代码进行第一编译获得其对应的托管代码,包括:
获取预设托管函数,根据所述目标源代码获取函数调用信息,利用所述预设托管函数对所述函数调用信息进行求解;
根据求解结果获取目标源代码对应的第一格式编译文件;
将所述第一格式编译文件转化为第二格式编译文件,根据第二格式编译文件的文件格式选择通用编译语言;
基于所述通用编译语言对所述第二格式编译文件进行第一编译获得目标源代码对应的托管代码。
5.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,所述对所述托管代码进行第二编译获得待研发任务对应的可执行文件,包括:
获取云端系统的系统参数并进行解析,根据解析结果确定云端系统的搭载软件类型;
基于所述搭载软件类型和托管代码在预设脚本库中选择适配的编译脚本;
根据所述待研发任务生成需求序列文件,利用所述编译脚本基于所述需求序列文件对托管代码进行第二编译,获取编译结果;
根据所述编译结果生成待研发任务对应的可执行文件。
6.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,将所述可执行文件进行自动测试,具体为:
获取所述可执行文件的所有适用场景,从预设策略库中获取每个适用场景对应的测试策略;
获取每个适应场景对应的测试策略相应的测试项,调取软件测试配置文件,调用所述软件测试配置文件中的接口函数生成软件测试程序;
将每个适应场景对应的测试策略相应的测试项导入到软件测试程序中确定每个测试项的指标值;
将所述可执行文件配置为软件测试文件输入到所述软件测试程序中确定其在每个使用场景下的测试指标值,根据测试指标值判定可执行文件是否合格。
7.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,将所述可执行文件进行封装,具体为:
激活预设封装程序,利用所述预设封装程序对所述可执行文件进行封装处理,获取封装信息;
对所述封装信息进行检测确认其是否有错误封装信息,若是,提取出错误封装信息;
对所述错误封装信息进行解析,根据解析结果生成响应信息;
基于所述响应信息对所述错误封装信息进行自适应处理,将处理后的封装信息利用所述预设封装程序进行二次封装。
8.根据权利要求1所述基于云原生的在线开发与代码托管方法,其特征在于,将所述可执行文件安装到云端系统中,具体为:
根据所述可执行文件的封装文件获取安装资源包,检测所述云端系统的运行参数;
当所述运行参数正常时,构建所述可执行文件的安装环境,将所述安装资源包导入到所述安装环境中;
设置所述可执行文件的安装目录,获取所述安装目录所在虚拟磁盘的初始注册表信息;
获取安装后的应用软件的当前注册表信息,利用所述当前注册表信息对所述初始注册表信息进行替换。
9.一种基于云原生的在线开发与代码托管系统,其特征在于,该系统包括:
获取模块,用于获取云端上传的待研发任务并对其进行完整性检查;
第一编译模块,用于检查通过后调取所述待研发任务对应的目标源代码,对所述目标源代码进行第一编译获得其对应的托管代码;
第二编译模块,用于对所述托管代码进行第二编译获得待研发任务对应的可执行文件;
测试封装模块,用于将所述可执行文件进行自动测试和封装并安装到云端系统中;
所述获取云端上传的待研发任务并对其进行完整性检查,包括:
通过预设方式获取云端上传的待研发任务,将所述待研发任务导入到同步任务队列中触发冗余检查指令;
根据所述冗余检查指令对所述待研发任务进行冗余检查,获取第一检查结果;
获取所述待研发任务对应的多个调用研发线程,根据所述多个调用研发线程调用对应的匹配检查线路;
利用所述匹配检查线路对每个调用研发线程进行检查,获取第二检查结果,根据所述第一检查结果和第二检查结果判断待研发任务的完整性;
根据所述冗余检查指令对所述待研发任务进行冗余检查,具体为:
根据所述待研发任务对应的任务内容将其划分为主任务和支任务;
将所述主任务和支任务进行上链处理,获取上链后的主任务和每个支任务的在各自运行时的状态向量;
同步所述主任务和支任务的任务状态,根据同步结果确定主任务和支任务同时运行时的状态增量;
根据所述状态向量和状态增量确定主任务相对于支任务之间的拖拽运算规则;
基于所述拖拽运算规则和上链后的主任务和支任务生成数据测试体系;
将待研发任务对应的任务项参数依次输入到所述数据测试体系中进行循环流水计算,获取计算结果;
根据所述计算结果确定所有任务项参数在主任务下的第一循环冗余参数以及在每个支任务下的第二循环冗余参数;
对所述第一循环冗余参数和第二循环冗余参数中的相同参数进行去重处理,将处理后的循环冗余参数确定为待研发任务中的冗余参数。
CN202211471628.0A 2022-11-23 2022-11-23 一种基于云原生的在线开发与代码托管方法及系统 Active CN116069334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211471628.0A CN116069334B (zh) 2022-11-23 2022-11-23 一种基于云原生的在线开发与代码托管方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211471628.0A CN116069334B (zh) 2022-11-23 2022-11-23 一种基于云原生的在线开发与代码托管方法及系统

Publications (2)

Publication Number Publication Date
CN116069334A CN116069334A (zh) 2023-05-05
CN116069334B true CN116069334B (zh) 2023-09-26

Family

ID=86172365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211471628.0A Active CN116069334B (zh) 2022-11-23 2022-11-23 一种基于云原生的在线开发与代码托管方法及系统

Country Status (1)

Country Link
CN (1) CN116069334B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116382703B (zh) * 2023-06-07 2023-08-22 建信金融科技有限责任公司 软件包生成方法、代码开发方法及装置、电子设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347395A (zh) * 2018-04-03 2019-10-18 中移信息技术有限公司 基于云计算平台的软件发布方法及装置
CN113296787A (zh) * 2021-06-10 2021-08-24 中国电子科技集团公司第十五研究所 一种基于云平台的在线开发与代码托管系统与使用方法
CN115220707A (zh) * 2022-06-21 2022-10-21 深圳市马博士网络科技有限公司 一种基于区块链的软件开发管理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012183A1 (en) * 2006-02-06 2019-01-10 Ralph Saunders Method of providing software development services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347395A (zh) * 2018-04-03 2019-10-18 中移信息技术有限公司 基于云计算平台的软件发布方法及装置
CN113296787A (zh) * 2021-06-10 2021-08-24 中国电子科技集团公司第十五研究所 一种基于云平台的在线开发与代码托管系统与使用方法
CN115220707A (zh) * 2022-06-21 2022-10-21 深圳市马博士网络科技有限公司 一种基于区块链的软件开发管理方法及系统

Also Published As

Publication number Publication date
CN116069334A (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
US8914679B2 (en) Software testing automation framework
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US9823909B1 (en) Program code conversion for cross-platform compatibility
CN109683899A (zh) 一种软件集成方法及装置
CN106612204B (zh) 业务校验方法及装置
CN102880546A (zh) 一种基于xml数据库的软件集成测试方法及系统
CN109977012B (zh) 系统的联调测试方法、装置、设备及计算机可读存储介质
CN116069334B (zh) 一种基于云原生的在线开发与代码托管方法及系统
CN110083535A (zh) 一种软件测试方法及装置
EP4246332A1 (en) System and method for serverless application testing
CN114461269A (zh) 软件开发发布管理方法、装置、设备及存储介质
CN114297056A (zh) 一种自动化测试方法及系统
CN113918465A (zh) 兼容性测试方法、装置、电子设备及可读存储介质
US20230359746A1 (en) Systems and methods for shift left testing
CN108132799B (zh) 过程间静态程序分析信息提取方法、装置及设备
CN113094251A (zh) 嵌入式系统测试方法、装置、计算机设备和存储介质
CN116599881A (zh) 云平台租户建模测试的方法、装置、设备及存储介质
CN116400950A (zh) 一种基于版本控制的DevOps元流水线系统
CN114527993A (zh) 应用程序部署方法、装置、设备及介质
CN113704123A (zh) 接口测试方法、装置、设备以及存储介质
CN116225441B (zh) 一种在线编码系统的代码托管方法及系统
CN109669868A (zh) 软件测试的方法及系统
CN113608996B (zh) 一种镜像编译测试方法、系统、装置及可读存储介质
CN114116466B (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