CN116466983A - 代码管理装置、方法、存储介质及电子设备 - Google Patents

代码管理装置、方法、存储介质及电子设备 Download PDF

Info

Publication number
CN116466983A
CN116466983A CN202310251860.1A CN202310251860A CN116466983A CN 116466983 A CN116466983 A CN 116466983A CN 202310251860 A CN202310251860 A CN 202310251860A CN 116466983 A CN116466983 A CN 116466983A
Authority
CN
China
Prior art keywords
code
layer
service
component
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.)
Pending
Application number
CN202310251860.1A
Other languages
English (en)
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.)
Bank of China Financial Technology Co Ltd
Original Assignee
Bank of China Financial Technology 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 Bank of China Financial Technology Co Ltd filed Critical Bank of China Financial Technology Co Ltd
Priority to CN202310251860.1A priority Critical patent/CN116466983A/zh
Publication of CN116466983A publication Critical patent/CN116466983A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种代码管理装置、方法、存储介质及电子设备,其中装置包括:访问层,用于接收用户的输入,响应于所述输入生成代码处理请求;网关层,与所述访问层通信连接,用于控制所述代码处理请求的传输;业务层,与所述网关层通信连接,用于控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对所述待处理代码文件进行处理;服务层,与所述业务层通信连接,用于确定所述业务功能组件对应的数据处理组件,控制所述数据处理组件执行所述业务功能组件下发的数据操作指令。本申请提供的装置和方法,提高了代码的管理效率。

Description

代码管理装置、方法、存储介质及电子设备
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种代码管理装置、方法、存储介质及电子设备。
背景技术
在软件产品开发和交付的过程中,会产生多个软件代码版本。现有的代码管理是集中式的,是基于某个开发流进行代码提交,然后版本管理员统一交付到上一级集成流,从集成流拉取最终测试版本,并将其自动并入产品的主集成流。在完成代码合并后,建立最终是产品发布标签。这种管理模式下开发人员只在开发流提交代码,其余代码交付和同步均需版本管理员来完成,管理效率低,且代码版本较多时,版本管理员难以管理。
因此,如何对软件代码进行管理成为业界亟待解决的技术问题。
发明内容
本申请提供一种代码管理装置、方法、存储介质及电子设备,用以解决现有技术中代码管理效率低的技术问题。
第一方面,本申请提供了一种代码管理装置,包括:
访问层,用于接收用户的输入,响应于所述输入生成代码处理请求;
网关层,与所述访问层通信连接,用于控制所述代码处理请求的传输;
业务层,与所述网关层通信连接,用于控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对所述待处理代码文件进行处理;
服务层,与所述业务层通信连接,用于确定所述业务功能组件对应的数据处理组件,控制所述数据处理组件执行所述业务功能组件下发的数据操作指令。
在一些实施例中,所述业务层包括代码仓库模块、公共服务模块、文档管理模块和项目协同模块;
所述代码仓库模块,用于提交代码、合并代码、记录代码版本标签和对比代码版本;
所述公共服务模块,用于认证用户身份、设置前端导航和设置显示界面;
所述文档管理模块,用于编辑网页界面和存储代码文件;
所述项目协同模块,用于展示所述软件项目、设置所述软件项目和控制所述软件项目的各个研发过程的代码开发进度。
在一些实施例中,所述***还包括PaaS层;
所述PaaS层,与所述服务层通信连接,用于运行通信中间件和SaaS服务程序。
在一些实施例中,所述***还包括IaaS层;
所述IaaS层,与所述PaaS层通信连接,用于构建所述***的运行环境。
在一些实施例中,所述***还包括开放层;
所述开放层,用于向外部***发送开发应用程序编程接口,以及所述***的功能操作信息。
在一些实施例中,所述***还包括运维支撑层;
所述运维支撑层,用于对所述***的鉴权信息、发布信息、版本信息、配置信息和可用信息进行设置。
在一些实施例中,所述业务层还用于:
在各个业务功能组件启动时,将各个业务功能组件注册到ETCD;
基于ETCD确定所述代码处理请求对应的业务功能组件。
第二方面,本申请提供了一种代码管理方法,包括:
接收用户的输入,响应于所述输入生成代码处理请求;
控制所述代码处理请求的传输;
控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对所述待处理代码文件进行处理;
确定所述业务功能组件对应的数据处理组件,控制所述数据处理组件执行所述业务功能组件下发的数据操作指令。
第三方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
第四方面,本申请提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述程序时实现上述的方法。
本申请提供的代码管理装置、方法、存储介质及电子设备,通过访问层,生成代码处理请求;通过网关层控制代码处理请求的传输;通过业务层控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,得到待处理代码;通过服务层为执行业务功能组件下发的数据操作指令,使得代码管理***能够对软件项目的不同研发过程的各个版本的代码文件进行存储和管理,使得用户可以快速获取各个版本的代码文件,代码管理效率高。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的代码管理装置的结构示意图;
图2是本申请一个实施例提供的代码分支的结构示意图;
图3是本申请另一个实施例提供的代码管理装置的结构示意图;
图4为本申请一个实施例提供的代码管理方法的流程示意图;
图5是本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
在本申请的技术方案中,所涉及的个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
图1是本申请一个实施例提供的代码管理装置的结构示意图,如图1所示,该装置包括访问层110、网关层120、业务层130和服务层140。
访问层110,用于接收用户的输入,响应于输入生成代码处理请求。
具体地,用户的输入包括用户的文字输入或用户的语音输入等。代码处理请求是代码管理装置根据用户的输入信息生成的,可以为代码合并请求、代码修复请求等。
代码处理请求中包括待处理代码所在的分支和版本,分支包括交付分支、生产分支、测试分支、开发分支和功能分支。
例如,代码管理装置可以向用户提供键盘或触摸屏,用户输入查询软件A的交付分支的1.0版本的代码,代码管理装置根据用户的输入生成代码处理请求。
网关层120,与访问层110通信连接,用于控制代码处理请求的传输。
具体地,网关层可以对代码处理请求的传输进行鉴权和限流等,实现流量的负载均衡,实现流量控制。
网关层还可以对代码处理请求进行解析,并确定代码处理请求对应的业务功能组件。业务功能组件是与业务功能先关联的组件,业务功能组件储存在业务层。
业务层130,与网关层120通信连接,用于控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对待处理代码文件进行处理。
具体地,软件项目的研发过程可以为交付过程、生产过程、测试过程和开发过程等,一个研发过程对应一个分支。图2是本申请一个实施例提供的代码分支的结构示意图,如图2所示:软件项目的研发过程对应的分支包括交付(Master)分支、生产(Hotfix)分支、测试(Release)分支、开发(Develop)分支和功能(Feature)分支。各个分支上记录了代码文件的标签(Tag),即版本号。
Master分支:Master分支上的代码文件是用于发布的,因此该分支上的代码文件为最新发布到生产环境的代码文件,最新发布的release代码文件。该分支上的代码文件只能从其他分支合并得到,不能在该分支上直接修改代码文件。
Hotfix分支:当在交付过程中发现代码文件出现新的Bug时,需创建一个修补程序,完成修补后,需将完成修补的代码文件合并到Master分支和Develop分支。
Release分支:Release分支可以是基于Develop分支创建的,用于测试代码文件,完成测试后的代码文件可合并到Master分支和Develop分支。该分支可以是因为开发软件项目的新功能创建的,当具有新功能的代码文件可以发布(或者接近发布的截止日期),从Develop分支创建一个Release分支作为新版本的代码文件的起点。所有的测试Bug均在Release分支上的代码文件上修复。测试完成后的代码文件合并到Master分支上并生成该代码文件的版本号,同时也合并到Develop分支,对Develop分支进行更新。
Develop分支:主开发分支上包括所有要发布到下一个Release分支的代码文件,该代码文件主要与其他分支上的代码文件进行合并,例如与Feature分支上的代码文件合并。
Feature分支:可以用于开发一个新的功能,若新功能开发完成,将该分支上的代码文件合并至Develop分支并进入下一个测试周期。
由此可知,在软件项目的研发过程中,会涉及到多个版本的代码文件,为了便于后续对这些代码文件进行处理,业务功能组件可以对该多个版本的代码文件进行存储和分支管理。
可以根据远程过程调用协议(Remote Procedure Call Protocol,RPC)调用代码处理请求对应的业务功能组件,从而得到用户想要处理的代码文件。
服务层140,与业务层130通信连接,用于确定业务功能组件对应的数据处理组件,控制数据处理组件执行业务功能组件下发的数据操作指令。
具体地,数据处理组件是与业务功能无关联的组件,是通用的服务组件。例如,数据处理组件可以为调度服务组件、会话(Session)服务组件、搜索服务组件、回调监听服务组件、统计服务组件、文件上传服务组件、文档转换服务组件和邮件服务组件等。数据处理组件可以为业务层提供基础的数据操作功能。
可以通过Quartz、Spring boot、Elasticsearch、webhook-listener、md2htm和Mailserver来实现服务层的上述服务。
根据本申请的实施例,访问层、网关层、业务层和服务层中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。
或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本申请的实施例,访问层、网关层、业务层和服务层中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。
或者,访问层、网关层、业务层和服务层中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本申请实施例提供的代码管理装置,通过访问层,生成代码处理请求;通过网关层控制代码处理请求的传输;通过业务层控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,得到待处理代码;通过服务层为执行业务功能组件下发的数据操作指令,使得代码管理***能够对软件项目的不同研发过程的各个版本的代码文件进行存储和管理,使得用户可以快速获取各个版本的代码文件,代码管理效率高。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,业务层包括代码仓库模块、公共服务模块、文档管理模块和项目协同模块;
代码仓库模块,用于提交代码、合并代码、记录代码版本标签和对比代码版本;
公共服务模块,用于认证用户身份、设置前端导航和设置显示界面;
文档管理模块,用于编辑网页界面和存储代码文件;
项目协同模块,用于展示软件项目、设置软件项目和控制软件项目的各个研发过程的代码开发进度。
具体地,代码仓库模块可以包括如下业务功能组件:代码分析(analyzer)组件、代码文件组件、代码仓库http服务组件、代码仓库LFS服务组件、代码仓库linguist服务组件、代码仓库定时任务组件、代码仓库Git实例组件、代码仓库SSH服务组件、代码仓库RPC实例组件、仓库备份组件、vcs-public服务组件、vcs-server服务组件、SVC代码仓库模版服务组件和代码仓库鉴权服务组件等。每个业务功能组件可以实现其各自的功能。
公共服务模块可以包括如下业务功能组件:平台公共组件、身份认证组件、平台基础组件、平台login组件、平台profile组件、平台project组件、平台service组件、平台service hook组件、平台模版组件、platform-gatewa服务组件、邮件服务组件、平台主组件、search-executor组件、search-manager组件、search-reader组件、前端搜索组件、ldap组件、admin后台管理服务组件、audit审计日志服务组件、notification服务组件、权限管理服务组件、infra service hook服务组件、session服务组件、仪表盘服务组件、Nginx反向代理组件、工作台服务组件、前端服务组件和消息服务组件等。
文档管理模块可以包括如下业务功能组件:文件预览组件、file服务组件、filexport服务组件、scheduler服务组件、文档管理前端服务组件、API文档前台后端接口组件、API mock组件、open-api服务组件、API文档管理前端组件、Markdown文本转换服务组件、wiki服务组件、wiki-scheduler服务组件、wiki前端服务组件和share服务组件等。
项目协同模块可以包括如下业务功能组件:项目总览服务组件、平台项目服务组件、项目协同服务组件、项目设置服务组件和通知服务组件等。
本申请实施例提供的代码管理装置,通过业务层提供代码管理平的业务功能模块,包含代码仓库模块、公共服务模块、文档管理模块和项目协同模块等业务功能服务模块,通过网关层可以查找对应的业务功能模块中的业务功能组件,实现对外服务,提高了代码管理的效率。
在一些实施例中,业务层还用于:
在各个业务功能组件启动时,将各个业务功能组件注册到ETCD;
基于ETCD确定代码处理请求对应的业务功能组件。
具体地,ETCD是一个分布式的键值存储***,具有优秀的读写性能;具有一致性和可用性的机制。
本申请实施例将各个功能组件注册到ETCD,通过ETCD使得代码处理请求对应的业务功能组件相互连接形成服务集群,并根据该代码处理请求查询相关代码。
本申请实施例提供的代码管理装置,通过ETCD使得代码处理请求对应的业务功能组件相互连接形成服务集群,以提供对应服务,提高了代码查询的效率。
在一些实施例中,***还包括PaaS层;
PaaS层,与服务层通信连接,用于运行通信中间件和SaaS服务程序。
具体地,PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。
PaaS层是为服务层和业务层提供基础的通信中间件和基础SaaS服务程序。通信中间件可以包括缓存、消息服务、服务发现、对象存储,数据库、Git缓存和内部代理服务等基础组件。
通信中间件具体可以为Redis、RabbitMQ、ETCD、MinIO、MariaDB、SSDB和haproxy等基础组件。
本申请实施例提供的代码管理装置,通过PaaS层为服务层提供通信中间件和SaaS服务程序,提高了代码管理的效率。
在一些实施例中,***还包括IaaS层;
IaaS层,与PaaS层通信连接,用于构建***的运行环境。
具体地,IaaS层是为***运行提供基础运行环境,例如提供kubernates、docker、虚拟机和分布式PV(Persistent Volume)存储等多种基础运行资源。
本申请实施例提供的代码管理装置,通过IaaS层为***构建运行环境,使得***能够提供相关服务,提高了代码管理的效率。
在一些实施例中,***还包括开放层;
开放层,用于向外部***提供开发应用程序编程接口,以及***的功能操作信息。
具体地,开放层可以通过Open API向外部***提供开发应用程序编程接口,以方便二次开发使用。开放层还可以对外提供***的功能操作信息,例如提供***功能的操作手册和常见问题的解决方案。
本申请实施例提供的代码管理装置,通过开放层对外部***提供开发应用程序编程接口,以及***的功能操作信息,可以便于对***进行扩展和二次开发。
在一些实施例中,***还包括运维支撑层;
运维支撑层,用于对***的鉴权信息、发布信息、版本信息、配置信息和可用信息进行设置。
具体地,运维支撑层可以保证***安全、灵活和稳定的运行。
鉴权的作用是保护网络,防止非法盗用。通过多鉴权信息进行设置可以保证***的网络安全。通过部署发布信息,可以使***的各个功能正常运行。通过对***的版本信息和配置信息进行设置,可以保证***的灵活和稳定运行。通过对***的可用信息进行设置可以减少***不能提供服务的时间,提高***的可用性。
本申请实施例提供的代码管理装置,通过运维支撑层对***的鉴权信息、发布信息、版本信息、配置信息和可用信息进行设置,可以保证***安全、灵活和稳定的运行,提高***的可用性。
图3是本申请另一个实施例提供的代码管理装置的结构示意图,如图3所示,该装置包括:访问层110、网关层120、业务层130、服务层140、PaaS层150、IaaS层160、开放层170和运维支撑层180。
访问层110,使用微前端技术对后端服务进行访问,该技术可以将复杂庞大的前端应用拆解成一个个可以独立开发的部署的功能模块,并通过暴露相关的接口和功能来将各个功能模块进行连接,实现前端的页面各个服务间的解耦。微前端技术可以涉及HTML5、CSS、React、图片技术和Websocket等。
网关层120,对代码处理请求的传输进行ingress、负载均衡、缓存和限流等操作可以实现软件项目的新旧版本的代码文件同时运行。
业务层130,包括代码仓库模块、公共服务模块、文档管理模块和项目协同模块。
服务层140,可以提供调度服务、Session服务、搜索服务、回调监听服务、统计服务、文件上传服务、文档转换服务和邮件服务等基础服务。
PaaS层150,可以包括缓存、消息服务、服务发现、对象存储,数据库、Git缓存和内部代理服务等基础组件。
IaaS层160,可以提供kubernates 1.18、docker、虚拟机CentOS 7.6和分布式PV存储loca-pv等多种基础运行资源。
开放层170,可以通过Open API对外部***提供调用接口;通过帮助中心对外提供功能的操作手册和常见问题的解决方案。
运维支撑层180,用于对***的鉴权信息、发布信息、版本信息、配置信息和可用信息进行设置。
本申请实施例提供的代码管理装置,可以给开发人员研发协同提升效率、减少源代码管理人员投入,提高多任务并行实施的软件产品的研发效率。
下面对本申请实施例提供的代码管理方法进行描述,下文描述的代码管理方法与上文描述的代码管理装置可相互对应参照。
本申请实施例提供的代码管理方法适用于终端(终端设备),包括各种具有卫星通信功能的手持设备、车载设备、可穿戴设备、计算设备、或连接到无线调制解调器的其它处理设备,例如,手机、平板、台式笔记本以及可以运行应用程序的智能设备,包括智能汽车的中央控制台等。具体可以指用户设备(user equipment,UE)、接入终端、用户模块、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。
终端设备还可以是卫星电话、智能手机、无线数据卡、无线调制解调器、机器类型通信设备、可以是无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digitalassistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、5G网络或者未来通信网络中的终端设备等。
图4是本申请一个实施例提供的代码管理方法的流程示意图,如图4所示,该方法包括步骤410、步骤420、步骤430和步骤440。该方法流程步骤仅仅作为本申请一个可能的实现方式。
步骤410、接收用户的输入,响应于输入生成代码处理请求;
步骤420、控制代码处理请求的传输;
步骤430、控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对待处理代码文件进行处理;
步骤440、确定业务功能组件对应的数据处理组件,控制数据处理组件执行业务功能组件下发的数据操作指令。
具体地,本申请实施例提供的代码管理方法的执行主体为代码管理装置,该装置可以为终端中独立设置的硬件设备,也可以为运行在终端中的软件程序。
本申请实施例提供的代码管理方法,通过生成代码处理请求,控制代码处理请求的传输;控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,得到待处理代码;执行业务功能组件下发的数据操作指令,可以对软件项目的不同研发过程的各个版本的代码文件进行存储和管理,使得用户可以快速获取各个版本的代码文件,代码管理效率高。
在此需要说明的是,上述实施例提供的代码管理装置,能够实现本实施例的代码管理方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与装置实施例相同的部分及有益效果进行具体赘述。
图5为本申请一个实施例提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(Processor)510、通信接口(Communications Interface)520、存储器(Memory)530和通信总线(Communications Bus)540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑命令,以执行代码管理方法,该方法包括:
接收用户的输入,响应于输入生成代码处理请求;
控制代码处理请求的传输;
控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对待处理代码文件进行处理;
确定业务功能组件对应的数据处理组件,控制数据处理组件执行业务功能组件下发的数据操作指令。
此外,上述的存储器中的逻辑命令可以通过软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种非暂态计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件***的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种代码管理***,其特征在于,包括:
访问层,用于接收用户的输入,响应于所述输入生成代码处理请求;
网关层,与所述访问层通信连接,用于控制所述代码处理请求的传输;
业务层,与所述网关层通信连接,用于控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对所述待处理代码文件进行处理;
服务层,与所述业务层通信连接,用于确定所述业务功能组件对应的数据处理组件,控制所述数据处理组件执行所述业务功能组件下发的数据操作指令。
2.根据权利要求1所述的代码管理***,其特征在于,所述业务层包括代码仓库模块、公共服务模块、文档管理模块和项目协同模块;
所述代码仓库模块,用于提交代码、合并代码、记录代码版本标签和对比代码版本;
所述公共服务模块,用于认证用户身份、设置前端导航和设置显示界面;
所述文档管理模块,用于编辑网页界面和存储代码文件;
所述项目协同模块,用于展示所述软件项目、设置所述软件项目和控制所述软件项目的各个研发过程的代码开发进度。
3.根据权利要求1所述的代码管理***,其特征在于,所述***还包括PaaS层;
所述PaaS层,与所述服务层通信连接,用于运行通信中间件和SaaS服务程序。
4.根据权利要求3所述的代码管理***,其特征在于,所述***还包括IaaS层;
所述IaaS层,与所述PaaS层通信连接,用于构建所述***的运行环境。
5.根据权利要求1至4任一项所述的代码管理***,其特征在于,所述***还包括开放层;
所述开放层,用于向外部***发送开发应用程序编程接口,以及所述***的功能操作信息。
6.根据权利要求1至4任一项所述的代码管理***,其特征在于,所述***还包括运维支撑层;
所述运维支撑层,用于对所述***的鉴权信息、发布信息、版本信息、配置信息和可用信息进行设置。
7.根据权利要求1所述的代码管理***,其特征在于,所述业务层还用于:
在各个业务功能组件启动时,将各个业务功能组件注册到ETCD;
基于ETCD确定所述代码处理请求对应的业务功能组件。
8.一种代码管理方法,其特征在于,包括:
接收用户的输入,响应于所述输入生成代码处理请求;
控制所述代码处理请求的传输;
控制业务功能组件在软件项目的不同研发过程中的各个版本的代码文件中确定待处理代码文件,并对所述待处理代码文件进行处理;
确定所述业务功能组件对应的数据处理组件,控制所述数据处理组件执行所述业务功能组件下发的数据操作指令。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8所述的代码管理方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求8所述的代码管理方法。
CN202310251860.1A 2023-03-15 2023-03-15 代码管理装置、方法、存储介质及电子设备 Pending CN116466983A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310251860.1A CN116466983A (zh) 2023-03-15 2023-03-15 代码管理装置、方法、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310251860.1A CN116466983A (zh) 2023-03-15 2023-03-15 代码管理装置、方法、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN116466983A true CN116466983A (zh) 2023-07-21

Family

ID=87179614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310251860.1A Pending CN116466983A (zh) 2023-03-15 2023-03-15 代码管理装置、方法、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116466983A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270943A (zh) * 2023-09-15 2023-12-22 上海子虔科技有限公司 一种基于元数据的云端应用文件版本管理***及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270943A (zh) * 2023-09-15 2023-12-22 上海子虔科技有限公司 一种基于元数据的云端应用文件版本管理***及方法

Similar Documents

Publication Publication Date Title
US11989117B2 (en) Big data application lifecycle management
WO2018219178A1 (zh) 数据同步方法、装置、服务器及存储介质
CN112463144B (zh) 分布式存储的命令行服务方法、***、终端及存储介质
EP3436935A1 (en) Pre-formed instructions for a mobile cloud service
CN108334609B (zh) Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质
CN113268336B (zh) 一种服务的获取方法、装置、设备以及可读介质
US11748081B2 (en) System and method for application release orchestration and deployment
CN116466983A (zh) 代码管理装置、方法、存储介质及电子设备
CN109614271A (zh) 多个集群数据一致性的控制方法、装置、设备及存储介质
US20200042991A1 (en) Anonymous distributed consensus regarding the verification of protocols
US9703848B2 (en) Caching linked queries for optimized compliance management
US20150046393A1 (en) Method and device for executing an enterprise process
CN113485927A (zh) 一种测试数据生成方法、装置、设备及存储介质
CN117707837A (zh) 一种接口参数校验方法、装置、设备及可读存储介质
CN117076096A (zh) 任务流程的执行方法、装置、计算机可读介质及电子设备
US10705815B2 (en) Split installation of a software product
AU2020452837A1 (en) Provision of remote application action feed cards
CN112667491A (zh) 虚拟机的功能测试方法及装置
CN117539883B (zh) 应用模版更新方法、装置、存储介质及设备
CN113449035B (zh) 数据同步方法、装置、计算机设备及可读存储介质
US20240119348A1 (en) Bot transport process across tenants
CN117573161A (zh) 应用升级方法、装置、设备、存储介质及程序产品
CN118034652A (zh) 一种自动生成服务代码的方法
CN113900959A (zh) 软件测试方法、装置、设备及存储介质
CN113781032A (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