CN111913870B - 一种多环境管理方法、装置、系统、设备及介质 - Google Patents

一种多环境管理方法、装置、系统、设备及介质 Download PDF

Info

Publication number
CN111913870B
CN111913870B CN201910385278.8A CN201910385278A CN111913870B CN 111913870 B CN111913870 B CN 111913870B CN 201910385278 A CN201910385278 A CN 201910385278A CN 111913870 B CN111913870 B CN 111913870B
Authority
CN
China
Prior art keywords
environment
access
identifier
directory
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.)
Active
Application number
CN201910385278.8A
Other languages
English (en)
Other versions
CN111913870A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910385278.8A priority Critical patent/CN111913870B/zh
Publication of CN111913870A publication Critical patent/CN111913870A/zh
Application granted granted Critical
Publication of CN111913870B publication Critical patent/CN111913870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3664Environments for testing or debugging software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种多环境管理方法、装置、系统、设备及介质,所述方法包括多环境访问终端获取多环境访问请求,并将其发送至多环境管理服务器;所述多环境管理服务器获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录;根据所述访问环境定位标识查找目标目录;将所述多环境访问请求路由至目标目录。本发明每个目录都是一个独立的环境,这样既保证了代码不被交叉覆盖,又保证了机器成本的最小化。

Description

一种多环境管理方法、装置、系统、设备及介质
技术领域
本发明涉及代码环境管理领域,尤其涉及一种多环境管理方法、装置、系统、设备及介质。
背景技术
面向用户的互联网上的服务一般是部署并运行在业务环境中,但是服务相关功能迭代开发与代码修复处于安全性考虑一般不会直接在业务环境中进行,而是需要另行搭建额外的开发环境与测试环境,从而产生了开发环境如何部署、如何防止不同的开发人员的代码交叉覆盖、如何在测试环境自测、测试环境如何部署,如何在测试环境验收功能等一系列问题。为解决上述问题,现有技术中主要包括下述方案:
(1)多名开发人员共用一套开发环境,开发完毕后自测与转测时,将开发环境当测试环境。
多人共用一套开发环境,会造成文件相互覆盖,修改同一文件产生冲突。从而带来自测环境不稳定的问题,修改文件的冲突会导致需要浪费大量时间在异常定位上。并且将开发环境当测试环境,逻辑上不清晰,开发人员和测试人员界限模糊,测试效果较差。
(2)每名开发人员单独分配一台独立的机器,搭建自用的开发环境,然后将代码发布到测试环境转测。
每人独立分配一套机器作开发环境,虽然避免了文件相互覆盖的问题,但是会带来机器成本的上升。并且随着时间的推移,多个开发环境之间的代码差异也会越来越大。
此外,现有技术中无论是在开发环境自测还是在测试环境验收都是基于内网代理,内网有时候会不稳定,并且外网难以访问就难以支持跨地域跨团队的开发或测试合作,时空局限性很大。
发明内容
为了解决现有技术中代码环境管理困难,存在代码覆盖、文件修改冲突以及环境部署成本过高、时空局限性大的缺点,本发明实施例提供一种多环境管理方法、装置、系统、设备及介质。
一方面,本发明提供了一种多环境管理方法,所述方法包括:
多环境访问终端获取多环境访问请求,所述多环境访问请求包括用户标识和目标环境资源类型,并将所述多环境访问请求通过外网或内网发送至多环境管理服务器;
所述多环境管理服务器根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录;
所述多环境管理服务器根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
所述多环境管理服务器将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
另一方面,本发明提供了一种多环境管理方法,所述方法包括:
构建一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;
获取多环境访问请求,所述多环境访问请求通过外网或内网发出;所述多环境访问请求包括用户标识和目标环境资源类型;
根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述访问环境定位标识用于定位二级目录;
根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
另一方面,本发明提供一种多环境管理装置,所述装置包括:
目录构建模块,用于构建一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;
多环境访问请求获取模块,用于获取多环境访问请求,所述多环境访问请求通过外网或内网发出;所述多环境访问请求包括用户标识和目标环境资源类型;
访问环境定位标识获取模块,用于根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述访问环境定位标识用于定位二级目录;
目标目录查找模块,用于根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
路由模块,用于将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
另一方面,本发明提供一种多环境管理系统,所述系统包括:
多环境访问终端,用于获取多环境访问请求,所述多环境访问请求包括用户标识和目标环境资源类型,并将所述多环境访问请求通过外网或内网发送至多环境管理服务器;
多环境管理服务器,用于根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录;
所述多环境管理服务器还用于根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
所述多环境管理服务器还用于将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
另一方面,本发明提供了一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现一种多环境管理方法。
另一方面,本发明提供了一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行一种多环境管理方法。
本发明提供了一种多环境管理方法、装置、系统、设备及介质。本发明中通过多环境管理服务器为用户提供多种可行的环境,并且将开发环境,测试环境和业务环境都通过同一个多环境管理服务器作为接入口统一对外提供。以目录形式管理多种类多数量的环境,为每个用户当前的访问请求提供唯一的环境。每个目录都是一个独立的环境的技术方案,这样既保证了代码不被交叉覆盖,又保证了机器成本的最小化。
进一步地,多种环境均可以被访问而不区分内网或者外网,从而使得和业务环境一样,开发环境与测试环境也可以被外网访问到,从而摒弃了现有技术中的内网代理模式,突破开发自测与测试验收依赖内网代理带来的时间与空间局限性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明提供的一种实施环境的示意图;
图2是本发明提供的一种多环境管理方法流程图;
图3是本发明提供的鉴权流程图;
图4是本发明提供的多环境访问终端与多环境管理服务器交互的一个示意图;
图5是本发明提供的多环境访问终端与多环境管理服务器交互的另一个示意图;
图6是本发明提供的一种多环境管理方法流程图;
图7是本发明提供的多环境管理服务器内部逻辑示意图;
图8是本发明提供的将所述多环境访问请求路由至所述目标目录方法流程图;
图9是本发明提供的为新用户建立访问资源方法流程图;
图10是本发明提供的行代码一致性维持方法流程图;
图11是本发明提供的一种多环境管理装置框图;
图12是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
图1是本发明实施例提供的一种实施环境的示意图,参见图1,该实施环境包括:多环境访问终端01,多环境管理服务器02,版本控制服务器03和中转服务器04。
所述多环境访问终端01可以与所述多环境管理服务器02通信,从而可以访问所述多环境管理服务器02中的开发环境、测试环境和/或业务环境。其中开发环境为面向开发人员的用于进行代码开发的机器环境,所述测试环境为面向测试人员用于进行代码测试的机器环境,所述业务环境为面向用户为用户提供服务的机器环境。
所述多环境访问终端01可以基于浏览器/服务器模式(Browser/Server,B/S)或客户端/服务器模式(Client/Server,C/S)与多环境管理服务器02进行通信。所述多环境访问终端01可以包括:智能手机、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载终端等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。
所述多环境管理服务器02用于根据多环境访问终端01的需求为其提供开发环境、测试环境和/或业务环境,并且对开发环境、测试环境和/或业务环境进行管理,所述多环境管理服务器02可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。
中转服务器04用于连接多环境管理服务器02与所述版本控制服务器03,以便于基于版本控制服务器03协调所述多环境管理服务器02中的开发环境与测试环境中的代码,维护所述开发环境与测试环境中的代码一致性。
所述中转服务器04和所述版本控制服务器03均可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。
请参考图2,其示出了本发明实施例提供的一种多环境管理方法,所述方法可以以上述实施环境为实施主体,所述方法包括:
S101.多环境访问终端获取多环境访问请求,所述多环境访问请求包括用户标识和目标环境资源类型,并将所述多环境访问请求通过外网或内网发送至多环境管理服务器。
具体地,在一个支持BS的实施例中,所述多环境访问终端可以通过访问所述多环境管理服务器对应的网站来发起多环境访问请求。
S103.所述多环境管理服务器根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录。
具体地,各个可以访问某个一级目录的用户数量与所述一级目录下二级目录的数量相等。
具体地,所述环境定位标识中可以包括环境类型子标识和环境编号子标识。环境类型子标识用于定位某个类型的环境,比如开发环境,测试环境还是业务环境,其用于将所述多环境访问请求路由至某个一级目录。环境编号子标识用于定位某个类型环境中的一个具体环境,用于将所述多环境访问请求进一步路由至二级目录。所述环境编号子标识与环境资源标识一一对应。
具体地,在一个优选的实施方式中,为了确认用户具备访问具体的环境资源的权限,在所述多环境管理服务器根据所述用户标识和所述目标环境资源类型获取访问环境定位标识之前,如图3所示,还包括:
S1031.验证所述用户标识是否具备访问所述目标环境资源类型的权限。
S1033.若是,则根据所述用户标识和所述目标环境资源类型获取访问环境定位标识。
如图4所示,其示出了多环境访问终端与多环境管理服务器交互的一个示意图。多环境访问终端用户标识为staffmanager,其具备访问开发环境、测试环境和业务环境的权限,其选择环境类型子标识对应的环境类型为开发环境,则其对应可以使用多环境管理服务器中的开发环境中的编号第1个目录下的测试环境。
S1035.若否,则向所述多环境访问终端反馈第一预设响应。
如图5所示,其示出了多环境访问终端与多环境管理服务器交互的另一个示意图。多环境访问终端用户标识为stafftest,其具备访问测试环境的权限,其选择环境类型子标识对应的环境类型为开发环境,则所述多环境管理服务器向所述多环境访问终端反馈“无访问权限”的响应。即所述第一预设响应可以为“无访问权限”响应。
S105.所述多环境管理服务器根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录。
S107.所述多环境管理服务器将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
本发明实施例公开的一种多环境管理方法,可以通过多环境管理服务器为用户提供多种可行的环境,并且将开发环境,测试环境和业务环境都可以通过同一个多环境管理服务器作为接入口统一对外提供。以目录形式管理多种类多数量的环境,为每个用户当前的访问请求提供唯一的环境。即本发明实施例提出了一种单服务器部署多个目录(每个相关人员独自拥有至少一个目录),每个目录都是一个独立的环境的技术方案,这样既保证了代码不被交叉覆盖,又保证了机器成本的最小化。
进一步地,多种环境均可以被访问而不区分内网或者外网,从而使得和业务环境一样,开发环境与测试环境也可以被外网访问到,从而摒弃了现有技术中的内网代理模式,突破开发自测与测试验收依赖内网代理带来的时间与空间局限性。
具体地,本发明实施例中外网是相对于内网的概念,产品使用者(普通用户)所使用的网络既可以为外网,比如现行的无线或有限网络。所述外网还可以是广域网(WideArea Network,WAN),是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
请参考图6,其示出了本发明实施例提供的一种多环境管理方法,所述方法可以以上述实施环境中的多环境管理服务器为实施主体,所述方法包括:
S201.构建一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系。
S203.获取多环境访问请求,所述多环境访问请求通过外网或内网发出;所述多环境访问请求包括用户标识和目标环境资源类型。
S205.根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述访问环境定位标识用于定位二级目录。
S207.根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录。
S209.将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
具体地,在一个优选的实施例中,如图7所示,所述多环境管理服务器内部逻辑由上至下被划分为请求适配层、网关层、环境资源响应层、逻辑适配层和数据层。
其中,所述请求适配层用于对外暴露至少一个访问请求适配器,每个访问请求适配器对应一个访问标识。
所述网关层中的网关与所述访问标识具备一一对应关系。所述网关用于将访问请求路由至所述网关对应的环境资源响应层。
所述环境资源响应层包括至少一个环境资源,所述环境资源所在的地址即为二级目录指向的地址。
具体地,各个网关所对应的相同类型的环境资源响应层都具备相同的结构,任一网关对应的环境资源响应层都具备独立响应访问请求的能力。设置多个网关的目的在于通过冗余设置减少访问失败的风险,并且可以维持全局负载均衡(Global Server LoadBalance,GSLB),避免某个环境资源响应层承担过重的访问压力。
所述逻辑适配层用于封装与环境资源访问相关的逻辑,以便于减少所述环境资源响应层中的代码冗余度。进一步地,所述逻辑适配层可以使用比环境资源响应层存储量更大的,响应更快的硬件设备构建,从而降低逻辑适配层中数据的扩容频次,增强所述多环境管理服务器的鲁棒性。
所述数据层存储与所述环境资源相关各种数据资源,所述数据资源可以为文本文件和/或多媒体文件。
本发明实施例中通过请求适配层、环境资源响应层、逻辑适配层和数据层来构建多环境管理服务器,从而使得环境资源被分散在各个逻辑层中,各个逻辑层之间解耦合,降低了数据冗余程度,并且便于所述多环境管理服务器的动态升级。
比如,在所述逻辑适配层中可以封装经常被访问的功能,比如“提取某个漫画信息”、“返回某个网页信息”、“返回某个访问列表”;上述功能可以被某个环境资源调用,从而响应用户的访问请求。各个环境资源直接响应用户的访问请求,开发人员或测试人员都可能需要改动或编写环境资源中的代码,而通过调用逻辑适配层来达到使用某个功能的目的,显然减少了代码的冗余度。
基于上述多环境管理服务器的逻辑结构,所述将所述多环境访问请求路由至所述目标目录,如图8所示,包括:
S2091.根据所述访问环境定位标识获取访问标识。
具体地,所述访问标识由请求适配层得到。
S2093.根据所述访问标识将所述多环境访问请求路由至所述访问标识对应的网关。
在一个可行的实施例中,还可以在步骤S2091中将所述访问标识发送至多环境访问终端,由多环境访问终端根据所述访问标识,向所述访问标识对应的网关发起多环境访问请求。
S2095.所述网关将所述多环境访问请求路由至与所述网关对应的环境资源响应层中与所述访问环境定位标识对应的目标目录。
具体地,所述网关可以基于Nginx服务器实现。Nginx是一个高性能的超文本传输协议和反向代理服务器。具体地,所述目标目录指向的环境资源均可以部署于阿帕奇(Apache)服务器。Apache是网页服务器软件。它由于其跨平台和安全性被广泛使用。具体地,所述Nginx服务器和所述Apache服务器可以位于同一个物理机之上。
在本发明实施例中Nginx服务器通过改写所述多环境访问请求的访问对象,将所述多环境访问请求路由至所述Apache服务器,由所述Apache服务器通过切换主机目录的方式定位目标目录。
具体地,Nginx服务器的配置代码示例如下:
具体地,Apache服务器的配置代码示例如下:
本发明实施例中多环境访问终端、请求适配层、网关层、环境资源响应层、逻辑适配层和数据层的数据交互过程中都可以携带访问环境定位标识,以便于对不同用户的访问请求,达到并发处理的效果。
进一步地,若具备访问权限的新用户希望访问环境资源,所述多环境管理服务器还可以为所述新用户建立环境资源以支持其访问,具体地,如图9所示,包括下述步骤:
S301.获取新资源访问指令,所述访问指令包括用户标识和待访问类型。
S303.根据所述待访问类型和所述用户标识生成目标目录。
S305.为目标目录部署对应的环境资源。
具体地,所述环境资源可以通过其它目录对应的环境资源或者与所述多环境管理服务器连接的版本服务器获取。
S307.根据所述目标目录修改相关配置。
具体地,上述步骤实现了在多环境管理服务器中的一键建立开发环境功能,相关的Nginx服务器和所述Apache服务器修改配置并重启之后,新的环境建立完毕。得到的新的环境只面向新的用户,也可以使用最新的环境资源,比如最新版本的代码,最新更新的多媒体数据等等。
进一步地,为了确保访问的环境资源被及时更新,本发明实施例中设计多环境管理服务器与版本控制系统的交互流程,维持所述多访问管理服务器中各个环境资源中相应代码的版本一致性,并确保测试环境始终能够接收到最新版本的代码。
具体地,请参考图7,版本控制系统与环境资源响应层中的各个测试环境通过回调服务器通信连接。其中,所述回调服务器用于当所述版本控制系统中代码被更新后,将更新后代码同步至各个测试环境。
具体地,所述版本控制系统与所述回调服务器执行代码一致性维持方法,如图10所示,包括:
S401.版本控制系统中设置回调任务,所述回调任务用于响应于所述版本控制系统的代码更新事件,调用所述回调服务器中的目标服务。
具体地,所述回调任务可以基于webhook来实现。webhook是用户定义的基于超文本传输协议(HyperText Transfer Protocol,HTTP)的回调。当某个事件发生时,源网站可以发起一个HTTP请求到webhook配置的统一资源定位符(Uniform Resource Locator,URL)。配置之后,用户可以通过在一个站点触发事件,之后再调用另一个站点的行为。
S403.当版本控制系统中的代码被更新时,所述回调任务启动所述回调服务器中的目标服务;所述目标服务用于获取所述版本控制系统中的最新代码,并将所述最新代码同步至所述环境资源响应层中的目标测试环境。
具体地,所述目标测试环境为所述环境资源响应层中被配置为实时获取最新代码的一个或多个测试环境。所述最新代码可以被打包,然后以打包形式被同步至各个目标测试环境。具体地,所述同步可以基于linux操作系统下的数据镜像备份工具rsync来实现。
本发明实施例中基于回调来实现将最新代码全自动同步至测试环境,达到了实时同步的效果,又避免了轮询带来的资源浪费。
进一步地,本发明实施例基于实际的开发环境和测试环境的需要,可以将测试环境设置为可以接收自动推送最新代码的环境,而开发环境设置为手动同步最新代码的环境,从而满足了开发人员视实际需求获取代码,而测试人员实时测试最新代码的实际需要。
本发明实施例公开的一种多环境管理方法,通过将开发环境、测试环境以及业务环境进行统一管理,以及配合版本管理系统和回调服务器进行代码一致性维护,至少产生下述有益效果:
(1)基于相同的入口可以访问开发环境、测试环境和业务环境,打破了开发环境和测试环境无法基于外网访问的限制;开发环境、测试环境和业务环境均的部署方法相同,维护更加方便。
(2)多用户的环境,每个用户独立一套,互相隔离,从而较大的提高了访问效率,避免了因为文件交叉覆盖带来的问题定位耗时。
(3)单服务器部署多目录,避免了一人一台开发机器或测试机器带来的成本上升。
(4)新环境的快速创建,显著降低为开发人员建立一套开发环境的成本。
本发明实施例还提供一种多环境管理装置,如图11所示,所述装置包括:
目录构建模块501,用于构建一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;
多环境访问请求获取模块503,用于获取多环境访问请求,所述多环境访问请求通过外网或内网发出;所述多环境访问请求包括用户标识和目标环境资源类型;
访问环境定位标识获取模块505,用于根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述访问环境定位标识用于定位二级目录;
目标目录查找模块507,用于根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
路由模块509,用于将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
具体地,本发明实施例所述一种多环境管理装置与方法实施例均基于相同发明构思。
本发明另一实施例提供一种多环境管理系统,所述系统包括:
多环境访问终端,用于获取多环境访问请求,所述多环境访问请求包括用户标识和目标环境资源类型,并将所述多环境访问请求通过外网或内网发送至多环境管理服务器;
多环境管理服务器,用于根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录;
所述多环境管理服务器还用于根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
所述多环境管理服务器还用于将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
具体地,本发明实施例所述一种多环境管理系统与方法实施例均基于相同发明构思。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行本发明实施例所述的一种多环境管理方的各种步骤,具体执行过程可以方法实施例的具体说明,在此不进行赘述。
进一步地,图12示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置。如图12所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种多环境管理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多环境管理方法,其特征在于,所述方法包括:
多环境访问终端获取多环境访问请求,所述多环境访问请求包括用户标识和目标环境资源类型,并将所述多环境访问请求通过外网或内网发送至多环境管理服务器;
所述多环境管理服务器根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录;所述访问环境定位标识中包括环境类型子标识和环境编号子标识,所述环境类型子标识用于将所述多环境访问请求路由至一级目录,所述环境编号子标识用于将所述多环境访问请求路由至二级目录;
所述多环境管理服务器根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
所述多环境管理服务器将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
2.根据权利要求1所述的方法,其特征在于,在所述多环境管理服务器根据所述用户标识和所述目标环境资源类型获取访问环境定位标识之前,还包括:
验证所述用户标识是否具备访问所述目标环境资源类型的权限;
若是,则根据所述用户标识和所述目标环境资源类型获取访问环境定位标识;
若否,则向所述多环境访问终端反馈第一预设响应。
3.根据权利要求1所述的方法,其特征在于,还包括:
在版本控制系统中设置回调任务,所述回调任务用于响应于所述版本控制系统的代码更新事件,调用回调服务器中的目标服务;
当版本控制系统中的代码被更新时,所述回调任务启动所述回调服务器中的目标服务;所述目标服务用于获取所述版本控制系统中的最新代码,并将所述最新代码同步至所述多环境管理服务器中的目标测试环境。
4.一种多环境管理方法,其特征在于,包括:
构建一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;
获取多环境访问请求,所述多环境访问请求通过外网或内网发出;所述多环境访问请求包括用户标识和目标环境资源类型;
根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述访问环境定位标识用于定位二级目录;所述访问环境定位标识中包括环境类型子标识和环境编号子标识,所述环境类型子标识用于将所述多环境访问请求路由至一级目录,所述环境编号子标识用于将所述多环境访问请求路由至二级目录;
根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
5.根据权利要求4所述的方法,其特征在于,所述将所述多环境访问请求路由至所述目标目录,包括:
根据所述访问环境定位标识获取访问标识;
根据所述访问标识将所述多环境访问请求路由至所述访问标识对应的网关;
由所述网关将所述多环境访问请求路由至与所述网关对应的环境资源响应层中与所述访问环境定位标识对应的目标目录。
6.根据权利要求4所述的方法,其特征在于,还包括建立环境资源的步骤,所述建立环境资源的步骤,包括:
获取新资源访问指令,所述访问指令包括用户标识和待访问类型;
根据所述待访问类型和所述用户标识生成目标目录;
为所述目标目录部署对应的环境资源;
根据所述目标目录修改相关配置。
7.一种多环境管理装置,其特征在于,所述装置包括:
目录构建模块,用于构建一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;
多环境访问请求获取模块,用于获取多环境访问请求,所述多环境访问请求通过外网或内网发出;所述多环境访问请求包括用户标识和目标环境资源类型;
访问环境定位标识获取模块,用于根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述访问环境定位标识用于定位二级目录;所述访问环境定位标识中包括环境类型子标识和环境编号子标识,所述环境类型子标识用于将所述多环境访问请求路由至一级目录,所述环境编号子标识用于将所述多环境访问请求路由至二级目录;
目标目录查找模块,用于根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
路由模块,用于将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
8.一种多环境管理系统,其特征在于,所述系统包括:
多环境访问终端,用于获取多环境访问请求,所述多环境访问请求包括用户标识和目标环境资源类型,并将所述多环境访问请求通过外网或内网发送至多环境管理服务器;
多环境管理服务器,用于根据所述用户标识和所述目标环境资源类型获取访问环境定位标识,所述多环境管理服务器包括一级目录和二级目录,所述一级目录按照环境资源类型管理环境资源,所述二级目录按照环境资源标识管理环境资源,每个所述一级目录与具备访问所述一级目录权限的用户构成的集合之间为双射关系;所述访问环境定位标识用于定位二级目录;所述访问环境定位标识中包括环境类型子标识和环境编号子标识,所述环境类型子标识用于将所述多环境访问请求路由至一级目录,所述环境编号子标识用于将所述多环境访问请求路由至二级目录;
所述多环境管理服务器还用于根据所述访问环境定位标识查找所述访问环境定位标识对应的目标目录;
所述多环境管理服务器还用于将所述多环境访问请求路由至所述目标目录,以使得所述目标目录中对应的环境资源响应所述多环境访问请求。
9.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-3任一项所述的一种多环境管理方法,或权利要求4-6任一项所述的一种多环境管理方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行如权利要求1-3任一项所述的一种多环境管理方法,或权利要求4-6任一项所述的一种多环境管理方法。
CN201910385278.8A 2019-05-09 2019-05-09 一种多环境管理方法、装置、系统、设备及介质 Active CN111913870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910385278.8A CN111913870B (zh) 2019-05-09 2019-05-09 一种多环境管理方法、装置、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910385278.8A CN111913870B (zh) 2019-05-09 2019-05-09 一种多环境管理方法、装置、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN111913870A CN111913870A (zh) 2020-11-10
CN111913870B true CN111913870B (zh) 2024-03-15

Family

ID=73242267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910385278.8A Active CN111913870B (zh) 2019-05-09 2019-05-09 一种多环境管理方法、装置、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN111913870B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506579B (zh) * 2020-12-15 2024-05-10 深圳晶泰科技有限公司 多服务多环境管理方法及系统
CN115065609A (zh) * 2022-08-17 2022-09-16 深圳美云集网络科技有限责任公司 B端SaaS系统混合部署方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387305A1 (fr) * 2002-07-30 2004-02-04 Bull S.A. Procédé et systeme d'établissement automatique d'un modèle global de simulation d'une architecture
CA2477902A1 (en) * 2003-08-18 2005-02-18 Bill F. Campbell Web server system and method
CN101932999A (zh) * 2007-12-20 2010-12-29 汇丰技术股份有限公司 用于并行开发和部署项目的自动方法和系统
CN106873975A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 基于Docker的devops持续交付与自动化系统及方法
CN108881030A (zh) * 2018-06-07 2018-11-23 腾讯科技(深圳)有限公司 灰度发布场景下的路由方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387305A1 (fr) * 2002-07-30 2004-02-04 Bull S.A. Procédé et systeme d'établissement automatique d'un modèle global de simulation d'une architecture
CA2477902A1 (en) * 2003-08-18 2005-02-18 Bill F. Campbell Web server system and method
CN101932999A (zh) * 2007-12-20 2010-12-29 汇丰技术股份有限公司 用于并行开发和部署项目的自动方法和系统
CN106873975A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 基于Docker的devops持续交付与自动化系统及方法
CN108881030A (zh) * 2018-06-07 2018-11-23 腾讯科技(深圳)有限公司 灰度发布场景下的路由方法及装置

Also Published As

Publication number Publication date
CN111913870A (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN112119374B (zh) 使用替代服务器名称选择性地提供相互传输层安全
CN110389900B (zh) 一种分布式数据库集群测试方法、装置及存储介质
CN109547570B (zh) 服务注册方法、装置、注册中心管理设备及存储介质
CN112214330A (zh) 集群中主节点的部署方法、装置及计算机可读存储介质
Masek et al. Unleashing full potential of ansible framework: University labs administration
US11340893B2 (en) Mobile application update preserving changes to the application made by a client
CN112965700B (zh) 基于路由的微服务处理方法、装置、计算机设备和介质
EP3140736A1 (en) Web application managment
EP2863281B1 (en) System and method to configure a field device
CN111913870B (zh) 一种多环境管理方法、装置、系统、设备及介质
CN110673923A (zh) Xwiki系统配置方法、系统及计算机设备
CN110968331A (zh) 应用程序运行的方法和装置
CN111669284A (zh) OpenStack自动化部署方法、电子设备、存储介质及系统
CN113110864A (zh) 应用程序更新方法、装置及存储介质
US20220103555A1 (en) Service deployment method, device, system, and computer-readable storage medium
CN109656569A (zh) 多环境应用部署方法、设备、存储介质及装置
CN111897623A (zh) 一种集群管理方法、装置、设备及存储介质
CN112887440B (zh) 一种ip地址管理方法和装置
US11853788B2 (en) Managed virtual appliances
CN114168179A (zh) 微服务管理方法、装置、计算机设备和存储介质
CN114968406A (zh) 一种插件管理方法、装置、电子设备及存储介质
CN114443226A (zh) 一种基于kubernetes的IDE应用云上部署方法及系统
CN110083366B (zh) 应用运行环境的生成方法、装置、计算设备及存储介质
CN114328097A (zh) 一种文件监控方法、装置、电子设备和存储介质
US11681585B2 (en) Data migration for a shared database

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