CN115658133A - 一种面向企业软件的多版本灰度发布系统 - Google Patents
一种面向企业软件的多版本灰度发布系统 Download PDFInfo
- Publication number
- CN115658133A CN115658133A CN202211108456.0A CN202211108456A CN115658133A CN 115658133 A CN115658133 A CN 115658133A CN 202211108456 A CN202211108456 A CN 202211108456A CN 115658133 A CN115658133 A CN 115658133A
- Authority
- CN
- China
- Prior art keywords
- version
- module
- application
- routing
- management
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向企业软件的多版本灰度发布系统,属于软件版本控制与配置管理技术领域,解决了现有技术中的企业SaaS软件版本管理混乱、交付效率低、故障多的问题,本发明包括用于企业软件持续集成与快速交付的控制系统和通过控制面管理系统的数据流向,对数据进行处理的数据系统;控制系统包括:统一应用管理模块:流水线交付模块:版本管理模块;环境管理模块;变量管理模块;数据系统包括:动态路由模块;HTML动态渲染模块;JavaScript Widget动态渲染模块。本发明用于根据企业租户和用户自动化且高实时性的个性化版本、灰度版本的软件,采用了控制面和数据面解耦的架构设计,整合了基于容器调度的CI流水线任务,采用了高可用低时延的分布式二级缓存设计。
Description
技术领域
本发明属于软件版本控制与配置管理技术领域,具体涉及一种面向企业软件的多版本灰度发布系统。
背景技术
SaaS,是Software-as-a-Service的缩写名称,意思为软件即服务,即通过网络提供软件服务。
SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。
目前的SaaS软件供应商在软件服务的支持上存在以下诸多问题:
1.SaaS软件供应商版本交付效率低;
2.无法针对客户需求,提供企业软件版本的自主选择;
3.软件版本升级带来的风险范围涉及较广,无法细粒度控制;
4.版本发布过程冗长,依赖多个第三方系统,管理混乱;
5.目前缺少一个统一管理软件前后端应用服务的效能平台;
6.对软件研发团队版本升级迭代的过程没有统一的历史版本记录和版本反馈情况。
发明内容
本发明的目的在于:
为解决现有技术中的企业SaaS软件版本管理混乱、交付效率低、故障多的问题,提供一种面向企业软件的多版本灰度发布系统,可根据企业租户和用户实施自动化且高实时性的个性化版本、灰度版本的软件技术,使用范围为提供企业SaaS类IT服务技术供应商平台。
本发明采用的技术方案如下:
一种面向企业软件的多版本灰度发布系统,包括用于企业软件持续集成与快速交付的控制系统和通过控制面管理系统的数据流向,对数据进行处理的数据系统;
所述控制系统包括:
统一应用管理模块:包括应用基本信息维护模块、关注模块和收藏模块,所述应用基本信息维护模块的基本信息包括名称、Code编码、应用描述、所属项目组、关联Git源代码仓库和源代码编程语言,所述关注模块和收藏模块用于项目组成员对应用进行关注和收藏操作以进行日常快速使用;
流水线交付模块:用于在编排控制台的泳道上按顺序编排流水线的Task任务,多个按时间顺序编排的Task任务组成一个Pipeline流水线任务,并通过异步MQ事件下发Pipeline流水线任务给数据面Runtime进行事件消费解析后执行任务;
版本管理模块:用于以符合Container容器化标准的Image镜像进行存储管理和交付,每个版本都产生都来自一条Pipeline流水线任务的执行结果产物,系统对流水线交付的产物进行自动自检,并进行文件Hash和MD5值提取;
环境管理模块:用于管理dev、qa、gray、prod的环境,通过流水线将应用打包之后,可以一键发布到不同的环境,并在准备好相应的资源后,在管理页面上通过配置实现一键增加新环境;
变量管理模块:用于提供不同的变量给不同的环境中的项目进行使用,并可以提供通用的变量为所有项目公用;
所述数据系统包括:
动态路由模块:包括写部分和读部分,用于承接前端所有请求的流量,将流量根据定义的不同路由规则分发到各个不同的应用、不同的环境、不同的版本,所述写部分用于当路由数据有新增或修改的时候,通过MQ异步通知路由匹配服务,所述读部分用于当接收到MQ消息时,先更新redis中的路由数据,更新成功删除本地缓存,删除失败则不做额外处理;
HTML动态渲染模块:用于定义统一的前端应用入口文件名,将入口文件内容统一规范精简化,在版本生成之后,保存文件入口内容到数据库中,路由匹配到应用版本后,将应用入口文件内容先返回到路由匹配服务中,路由服务通过模板引擎技术将入口文件内容取出,重新渲染为HTML页面返回到前端;
JavaScript Widget动态渲染模块:用于定义统一的前端JavaScript入口文件,在入口文件中请求一个接口,根据不同的应用、不同的环境、不同的版本,动态加载所需的JavaScript文件,实现动态渲染的效果。
进一步地,所述版本管理模块包括:
版本列表信息搜索模块,所述版本列表信息包括版本号、版本标签、版本状态、时间和版本创者人;
默认版本设置模块,用于设置一个应用有且必须有一个的默认版本;
版本标记模块,用于标记版本为废弃或标记版本自定义标签;
版本备注编辑模块,用于对版本添加自定义的备注信息。
进一步地,所述变量管理模块包括变量分组模块,所述变量分组模块用于将具有共同特征的一类变量放入一个变量组中并进行单个或整组使用。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明基于容器镜像快速自动化交付,采用了控制面和数据面解耦的架构设计,具有独立的Web后台交互控制面板,整合了基于容器调度的CI流水线任务,采用了高可用低时延的分布式二级缓存设计,符合Telemetry标准协议的全链路监控数据采集,提高了交付效率,降低版本升级故障,同时给租户提供个性化多版本交付能力。
附图说明
图1为本发明系统的整体架构图;
图2为本发明的应用发布流程图;
图3为本发明的PageService前端动态渲染流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明为一种面向企业软件的多版本灰度发布系统,包括用于企业软件持续集成与快速交付的控制系统和通过控制面管理系统的数据流向,对数据进行处理的数据系统;
控制系统是一系列面向企业内部效能的系统能力的集合,是企业软件持续集成与快速交付的控制面板,使用者是企业内部员工和管理人员,控制系统从应用管理、流水线交付、版本管理、环境管理、变量管理五个维度对多版本灰度效能平台的生产生命周期进行统一管理。
数据系统则通过控制系统来管理整个系统的数据流向,对数据进行各种处理,最终以想要的方式呈现出来。
控制系统包括:
统一应用管理模块:包括应用基本信息维护模块、关注模块和收藏模块,应用基本信息维护模块的基本信息包括名称、Code编码、应用描述、所属项目组、关联Git源代码仓库和源代码编程语言,关注模块和收藏模块用于项目组成员对应用进行关注和收藏操作以进行日常快速使用;
企业软件交付包含大量的前后端应用和存储等底层计算机系统依赖,大多数企业采用Git进行应用管理和源代码管理。优势是,源代码既应用、任何人可按需拉取、体积小;劣势是、安全性较低,需要重复编译、以及应用配置无法统一。
应用管理提供应用基本信息维护,包括名称,Code编码,应用描述,所属项目组,关联Git源代码仓库,源代码编程语言(给后续流水线编译执行提供编程语言读取),如果是前端项目,可选择React/Vue/JavaScript项目,以及选择OnePage单页面应用的入口文件,例如/index.html。
此外,应用管理提供关注和收藏功能,公司的员工项目组成员可对应用进行关注和收藏操作,以便于日常快速使用。关注一个应用,会在个人的通知中心实时收到该应用的各种动态通知,例如:新增版本V1.81.01、应用Widget流水线执行成功等。
流水线交付模块:用于在编排控制台的泳道上按顺序编排流水线的Task任务,多个按时间顺序编排的Task任务组成一个Pipeline流水线任务,并通过异步MQ事件下发Pipeline流水线任务给数据面Runtime进行事件消费解析后执行任务;
通过将流水线能力进行抽象,流水线能力本身也是按照控制面板和数据面的理念进行设计。在编排控制台的泳道上按顺序编排流水线的Task任务,多个按时间顺序编排的Task任务组成一个Pipeline流水线任务。通过异步MQ事件下发Pipeline流水线任务给数据面Runtime进行事件消费解析后执行任务,执行任务的Runtime引擎可以是任意的服务端IaaS资源,本发明使用了云原生的架构,选择了利用弹性的容器编排技术来作为Pipeline流水线的任务执行Runtime。执行调度引擎采用了Google开源的Tekton.dev规范(Tekton是一个强大而灵活的用于创建CI/CD系统的开源框架,允许开发人员构建、测试和部署跨云提供商和本地系统)。云原生的测试与安全左移,加上高频率的发布,可摆脱过去在上生产环境的最后阶段才发现问题的情况,大幅降低上线之后业务出现故障的可能性,让应用的交付过程,像工厂车间的流水线一样快速进入开发环境、测试环境、生产环境,对企业产生更多价值。
版本管理模块:用于以符合Container容器化标准的Image镜像进行存储管理和交付,每个版本都产生都来自一条Pipeline流水线任务的执行结果产物,系统对流水线交付的产物进行自动自检,并进行文件Hash和MD5值提取;
本发明的核心是多版本灰度发布系统,其中的重点是多版本共存和实时灰度版本发布的能力。因此,应用的全生命周期版本管理,在本发明中的系统中是最重要的一个环节。每一个应用的每一个版本是以符合Container容器化标准的Image镜像进行存储管理和交付,每个版本的都产生都来自一条Pipeline流水线任务的执行结果产物,系统会对流水线交付的产物进行自动自检,并进行文件Hash和MD5值提取,以在后续的版本文件中保证文件的不可篡改性和安全性。
版本管理以列表的形式呈现,包括版本号,版本来源的Pipeline流水线链接,版本生产的时间,版本来自的Git Tag编号,发起流水线产出该版本的员工账号,以及版本的标签信息,状态信息。
版本管理提供了一系列可操作的交互:
(1)按版本号、版本标签、版本状态、时间、版本创建人条件搜索版本列表信息;
(2)设置为默认版本,一个应用有且必须有一个默认版本;
(3)可标记版本为废弃,标记废弃的版本如果7天内没有被重新激活,系统会在7天后删除该版本;
(4)版本标签标记操作,可对每个版本标记不同的自定义标签,便于管理和搜索;
(5)版本备注编辑,我们可对版本添加一些自定义的备注信息,标注该版本的一些描述信息和一些注意事项。
环境管理模块:用于管理dev、qa、gray、prod的环境,通过流水线将应用打包之后,可以一键发布到不同的环境,并在准备好相应的资源后,在管理页面上通过配置实现一键增加新环境;环境管理功能如下:
a.通过本发布系统,可以管理dev、qa、gray、prod等不同的环境,不同的环境可以关联不同的参数、变量、资源(服务器、数据库等);
b.通过流水线将应用打包之后,可以一键发布到不同的环境,不同的环境取不同的参数、变量,做到一次构建、多环境发布的能力;
c.项目会先一键发布到dev环境进行联调,通过后在一键发布到qa环境进行测试,通过后在发布灰度或者生产,各个环境之间互不影响,如果哪一个步骤没有验证通过,则不会在进行下一个发布步骤,做到环境隔离;
d.如果要新增环境,只需要准备好相应的资源(服务器、数据库等),在管理页面上通过简单的配置就能实现一键增加新环境;
此模块能大大提高研发的工作效率,使得研发将主要精力集中在业务逻辑上,而不用过多关心项目发布、环境管理方面的问题。
变量管理模块:用于提供不同的变量给不同的环境中的项目进行使用,并可以提供通用的变量为所有项目公用;
变量管理是和环境管理息息相关的,不同的变量是提供给不同的环境中的项目进行使用;同时可以提供一些通用的变量为所有项目公用,达到资源共享、减少重复劳动的目的;为了更方便的管理不同的变量,系统提供了变量分组,将具有共同特征的一类变量放入一个变量组中,在使用时可以只使用单个变量,也可以使用一整个变量组中的所有变量,为使用者提供充分的自由度和灵活性;同时,如果没有此功能模块,采用传统方式发布应用,那么要修改应用变量,需要进行停机、修改、验证、重新上线等多个步骤,用户体验很不好;有了此功能模块,可以做到在不停机的情况下,实时新增、修改应用变量,修改完后,还可以一键发布灰度进行验证,大大提高了效率。
数据系统包括:
动态路由模块:包括写部分和读部分,用于承接前端所有请求的流量,将流量根据定义的不同路由规则分发到各个不同的应用、不同的环境、不同的版本,写部分用于后端路由管理部分维护路由数据,当路由数据有新增或修改的时候,通过MQ异步通知路由匹配服务,同时做了数据幂等性处理,保证数据的最终一致性;读部分用于当接收到MQ消息时,先更新redis中的路由数据,更新成功删除本地缓存,删除失败则不做额外处理;通过这种方式,在保证数据一致性的同时,能够做到几乎不访问数据库操作,这样几乎就没有IO方面的性能开销,能够承载大量的并发请求。
动态路由模块的流程步骤如下:
①在路由管理模块中定义路由匹配规则,路由匹配类型支持域名匹配、路径(path)匹配、请求方法(POST、GET等)匹配、请求头匹配、请求参数匹配;其中路径匹配、请求头匹配、请求参数匹配还进一步支持前缀匹配、精确匹配、正则匹配三中匹配方式,提供充分的灵活性;
②定义好路由规则之后,将路由规则关联到具体的应用版本上(应用版本通过流水线构建、打包、发布生成);
③客户端请求发送过来之后,先根据请求域名找到需要匹配的应用(每个应用的域名都应该不同),然后获取到应用下所有的路由规则,根据规则优先级从前到后开始匹配;
④匹配不同的规则,就根据规则中定义的匹配类型从请求头、请求参数或者请求路径获取数据,然后再根据规则中定义的匹配方式进行具体的数据匹配,匹配上之后返回对应的应用版本;
⑤兜底处理:如果匹配不上任何路由,那么就会返回一个默认的版本,不至于出现访问不到页面的情况,大大提升了用户的访问体验;
HTML动态渲染模块:用于定义统一的前端应用入口文件名,将入口文件内容统一规范精简化,在版本生成之后,保存文件入口内容到数据库中,路由匹配到应用版本后,将应用入口文件内容先返回到路由匹配服务中,路由服务通过模板引擎技术将入口文件内容取出,重新渲染为HTML页面返回到前端;
此部分模块所处理的数据,是在路由匹配之后,返回到前端页面的数据;
为了实现页面动态化,给系统定义了统一的前端应用入口文件名(index.html),将入口文件内容统一规范精简化,然后在版本生成之后,保存文件入口内容到数据库中;路由匹配到应用版本后,应用入口文件内容会先返回到路由匹配服务中,路由服务通过模板引擎技术将入口文件内容取出,重新渲染为HTML页面返回到前端;渲染页面使用的参数也可以动态配置,非常方便灵活;路由匹配服务承载了前端所有的流量,所以为了提高访问的并发量和稳定性,针对应用入口文件页面也做了相应的缓存,提高了访问的效率和系统的稳定性。
JavaScript Widget动态渲染模块:用于定义统一的前端JavaScript入口文件,在入口文件中请求一个接口,根据不同的应用、不同的环境、不同的版本,动态加载所需的JavaScript文件,实现动态渲染的效果。
这项功能可以为用户做到千人千面,可以针对不同用户的需求定制展示不同的前端页面效果,实现不同的功能,包括定制页面样式、页面布局等等;由于路由匹配服务承载了前端所有的流量,所以为了提高访问的并发量和稳定性,针对JavaScript入口文件也做了相应的缓存,提高了访问的效率和系统的稳定性。
如图2所示的应用发布流程图,其具体流程如下:
A、先在控制面中创建应用,其中包括应用的描述、应用的仓库(GitLab、GitHub等)信息、应用的功能设置等;
B、为应用创建变量分组、变量;
C、为应用创建环境,不同的环境可以关联不同的变量、变量分组;
D、定义流水线;
E、定义流水线步骤、流水线任务(任务编排),在流水线任务中定义要执行的操作,比如拉取一个容器镜像,执行一个脚本等等;
F、执行流水线任务,执行成功后会生成一个应用版本,其中包括应用入口信息等数据;
G、有了版本之后,就可以配置路由信息,在其中指定路由规则,来匹配不同的应用版本,最终达到灰度发布、多版本发布的目的;
H、用户还可以指定默认的应用版本,用来在路由信息无法匹配时,返回兜底的数据,提升用户体验;
I、为了达到通用效果,系统规定了所有的任务其实最后都是执行的容器操作命令,所以在定义任务的时候,就只需要定义需要拉取的容器Container镜像、执行镜像的命令以及参数就可以,非常的方便、简洁、强大。
如图3所示的渲染流程图,其展示的是详细的灰度多版本渲染过程,具体包含以下步骤:
Ⅰ解析路由条件:
这一步根据客户端查询的参数,按顺序优先级分别解析Query、Header、Cookie,从解析结果中分离出企业ID和用户ID。如果有解析到,进入下一步去查询路由,如果没有,则渲染默认版本。
Ⅱ查询匹配的路由:
从上一步得到了企业ID或用户ID,或二者都有获取到,这里通过服务端配置的优先级进行路由查询,一般情况下,用户ID粒度更细,企业ID粒度相对更粗,系统这里默认从最细粒度的用户ID开始解析,如果未解析到,再解析企业ID。如果有解析到,进入下一步,查询路由版本,如果没有,则渲染默认版本。
Ⅲ查询路由版本:
从上一步已经拿到了解析成功的用户ID或者企业ID,这时通过查询信息,获得这一条灰度路由所指向的应用版本信息。如果有查询到,进入渲染相应的版本,如果没有,则渲染默认版本。
Ⅳ查询默认版本:
默认版本的这个环节很重要,在整个路由条件解析和匹配的过程中,如果没有命中任意规则,都会直接使用默认版本,亦或发生匹配到的版本文件已损坏,已丢失这样的情况,都会以默认版本作为最终的降级版本进行使用,并且会在路由匹配检测日志中记录下详细的故障情况。
Ⅴ渲染路由配置的版本:
渲染路由配置的版本,则是灰度路由人为配置的标准结果,我们通过在服务端的路由配置管理中,填入命中路由的方式,支持企业ID或用户ID等等,然后配置包含的的ID列表,最后指定该路由使用的应用版本。当配置的路由被命中后,则会提取版本相应信息,进行服务端渲染,渲染氛围HTML渲染和JS渲染,渲染的过程则是提取版本模板信息,提取环境信息,提取变量信息,将环境信息和变量信息渲染到模板文件上,最后输出到浏览器。
Ⅵ渲染默认版本:
渲染默认版本,则是渲染一个服务端人为指定的应用全局默认版本,默认版本有且只有一个,不可删除,只可能切换,默认版本在数据面上有内存级别的高速缓存。
Ⅶ渲染异常页面:
异常页面的渲染,则是为了在整个数据面路由匹配与渲染的过程中,发生非预期故障,并且没有可降级的方法时,则会渲染一个异常页面,给予客户端有好的提示信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种面向企业软件的多版本灰度发布系统,其特征在于,包括用于企业软件持续集成与快速交付的控制系统和通过控制面管理系统的数据流向,对数据进行处理的数据系统;
所述控制系统包括:
统一应用管理模块:包括应用基本信息维护模块、关注模块和收藏模块,所述应用基本信息维护模块的基本信息包括名称、Code编码、应用描述、所属项目组、关联Git源代码仓库和源代码编程语言,所述关注模块和收藏模块用于项目组成员对应用进行关注和收藏操作以进行日常快速使用;
流水线交付模块:用于在编排控制台的泳道上按顺序编排流水线的Task任务,多个按时间顺序编排的Task任务组成一个Pipeline流水线任务,并通过异步MQ事件下发Pipeline流水线任务给数据面Runtime进行事件消费解析后执行任务;
版本管理模块:用于以符合Container容器化标准的Image镜像进行存储管理和交付,每个版本都产生都来自一条Pipeline流水线任务的执行结果产物,系统对流水线交付的产物进行自动自检,并进行文件Hash和MD5值提取;
环境管理模块:用于管理dev、qa、gray、prod的环境,通过流水线将应用打包之后,可以一键发布到不同的环境,并在准备好相应的资源后,在管理页面上通过配置实现一键增加新环境;
变量管理模块:用于提供不同的变量给不同的环境中的项目进行使用,并可以提供通用的变量为所有项目公用;
所述数据系统包括:
动态路由模块:包括写部分和读部分,用于承接前端所有请求的流量,将流量根据定义的不同路由规则分发到各个不同的应用、不同的环境、不同的版本,所述写部分用于当路由数据有新增或修改的时候,通过MQ异步通知路由匹配服务,所述读部分用于当接收到MQ消息时,先更新redis中的路由数据,更新成功删除本地缓存,删除失败则不做额外处理;
HTML动态渲染模块:用于定义统一的前端应用入口文件名,将入口文件内容统一规范精简化,在版本生成之后,保存文件入口内容到数据库中,路由匹配到应用版本后,将应用入口文件内容先返回到路由匹配服务中,路由服务通过模板引擎技术将入口文件内容取出,重新渲染为HTML页面返回到前端;
JavaScript Widget动态渲染模块:用于定义统一的前端JavaScript入口文件,在入口文件中请求一个接口,根据不同的应用、不同的环境、不同的版本,动态加载所需的JavaScript文件,实现动态渲染的效果。
2.根据权利要求1所述的一种面向企业软件的多版本灰度发布系统,其特征在于,所述版本管理模块包括:
版本列表信息搜索模块,所述版本列表信息包括版本号、版本标签、版本状态、时间和版本创者人;
默认版本设置模块,用于设置一个应用有且必须有一个的默认版本;
版本标记模块,用于标记版本为废弃或标记版本自定义标签;
版本备注编辑模块,用于对版本添加自定义的备注信息。
3.根据权利要求1所述的一种面向企业软件的多版本灰度发布系统,其特征在于,所述变量管理模块包括变量分组模块,所述变量分组模块用于将具有共同特征的一类变量放入一个变量组中并进行单个或整组使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211108456.0A CN115658133A (zh) | 2022-09-09 | 2022-09-09 | 一种面向企业软件的多版本灰度发布系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211108456.0A CN115658133A (zh) | 2022-09-09 | 2022-09-09 | 一种面向企业软件的多版本灰度发布系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115658133A true CN115658133A (zh) | 2023-01-31 |
Family
ID=84984537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211108456.0A Pending CN115658133A (zh) | 2022-09-09 | 2022-09-09 | 一种面向企业软件的多版本灰度发布系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658133A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394406A (zh) * | 2024-06-24 | 2024-07-26 | 广州嘉为科技有限公司 | 基于环境驱动的包发布与版本管理系统、方法、设备及介质 |
-
2022
- 2022-09-09 CN CN202211108456.0A patent/CN115658133A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394406A (zh) * | 2024-06-24 | 2024-07-26 | 广州嘉为科技有限公司 | 基于环境驱动的包发布与版本管理系统、方法、设备及介质 |
CN118394406B (zh) * | 2024-06-24 | 2024-10-01 | 广州嘉为科技有限公司 | 基于环境驱动的包发布与版本管理系统、方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
US10162612B2 (en) | Method and apparatus for inventory analysis | |
US7418453B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
US8229778B2 (en) | Constructing change plans from component interactions | |
US20070038683A1 (en) | Business intelligence system and methods | |
EP2110781A1 (en) | Method and system for automatic tracing of a computerized process using a relationship model | |
WO2006026659A2 (en) | Services oriented architecture for data integration services | |
US12097622B2 (en) | Repeating pattern detection within usage recordings of robotic process automation to facilitate representation thereof | |
Robles et al. | Tools for the study of the usual data sources found in libre software projects | |
US10885087B2 (en) | Cognitive automation tool | |
CN112835924A (zh) | 实时计算任务处理方法、装置、设备及存储介质 | |
US10732948B2 (en) | System and method for implementing automated deployment | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
CN112799718A (zh) | 一种枚举文档的生成方法、装置、电子设备及存储介质 | |
CN116643753A (zh) | 一种自动化代码生成的方法 | |
CN115658133A (zh) | 一种面向企业软件的多版本灰度发布系统 | |
CN118035204A (zh) | 数据血缘显示方法、分布式任务调度系统及存储介质 | |
US20110289041A1 (en) | Systems and methods for managing assignment templates | |
JP2022531736A (ja) | Dbmsにおけるサービス管理 | |
CN114416601B (zh) | 一种网络安全信息采集引擎和任务管理系统与方法 | |
Chen et al. | Service encapsulation for middleware management interfaces | |
Buchgeher et al. | A platform for the automated provisioning of architecture information for large-scale service-oriented software systems | |
CN109033196A (zh) | 一种分布式数据调度系统及方法 | |
CN115203306A (zh) | 数据导出方法、装置、计算机设备及可读存储介质 | |
US10908917B1 (en) | System and method for managing cloud-based infrastructure |
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 |