CN112506579B - 多服务多环境管理方法及系统 - Google Patents
多服务多环境管理方法及系统 Download PDFInfo
- Publication number
- CN112506579B CN112506579B CN202011473844.XA CN202011473844A CN112506579B CN 112506579 B CN112506579 B CN 112506579B CN 202011473844 A CN202011473844 A CN 202011473844A CN 112506579 B CN112506579 B CN 112506579B
- Authority
- CN
- China
- Prior art keywords
- configuration
- application
- organization
- management
- user
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 143
- 230000008520 organization Effects 0.000 claims abstract description 127
- 238000011161 development Methods 0.000 claims abstract description 47
- 230000001502 supplementing effect Effects 0.000 claims abstract description 14
- 238000012360 testing method Methods 0.000 claims description 21
- 238000004519 manufacturing process Methods 0.000 claims description 16
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 238000004321 preservation Methods 0.000 claims description 6
- 238000005538 encapsulation Methods 0.000 claims description 4
- 230000018109 developmental process Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 32
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 6
- 230000033772 system development Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005923 long-lasting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
一种多服务多环境管理方法及系统包括:基础资源管理,所述基础资源管理包括:创建应用:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID;组织确定:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;添加用户:接收用户添加指令,在组织中添加用户;分配管理权限:分配组织管理权限,根据应用的不同开发环境分配不同管理权限;上述多服务多环境管理方法及系统,所有涉及的资源都可以在系统上进行管理权限分配,并且针对不同的环境分配不同的管理权限,有效的保护线上环境参数的安全性和线上服务的稳定性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种多服务多环境管理方法及系统。
背景技术
配置是应用服务运行过程中所依赖的一些参数,比如:各种功能的开关和配置参数,数据库的凭证,服务器的地址等等。服务权限是应用服务中判断资源访问时的鉴权判定信息,服务会根据权限中设定限制用户访问的资源。
在大多数计算机程序场景中,普遍使用文件作为应用服务配置的来源,程序启动时根据配置的配置文件地址拉取配置,进而启动应用。
随着计算机程序的发展,程序所依赖的配置越来越多,而且对配置管理的期望也越来越高,配置中心的概念被提出。现有的配置中心主要功能都集中在治理多个应用服务的配置,并且能够提供修改配置实时生效,分环境的配置管理以及权限和审核机制。
在资源访问权限管理方面,很少有开源的产品使用,大多数解决方案是应用服务自身去管理,应用开发者根据服务本身的特点去设置不同的权限配置和分配权限,无法形成通用的模式。
目前的配置中心和服务权限管理存在的问题主要在以下几个方面:
1, 配置文件的方式只能针对单一的应用服务,在修改参数时需要重启服务,并且文件的编辑和本身的长久保存都不便捷,容易造成文件格式错误或者是丢失的问题。
2, 配置中心的出现虽然解决了配置实时生效和中心化存储的问题,但是大多数的配置中心仅支持键值对的方式配置参数,这对习惯使用了文件的程序并不是很友好,增加了许多额外的工作量。另外一点就是配置中心大多集中在某些基础功能上,如配置存储,灰度发布等等,对于一些特殊需求无法满足但是又无法扩展,从而导致使用过程不通畅。
3, 针对资源访问权限管理方面,每个服务都单独开发自己的权限管理后台会极大的增加工作量,而且服务间的通用功能无法复用,在每一次新项目开发的时候都要再进行一次权限梳理和开发,造成资源和时间的浪费。
发明内容
基于此,有必要提供一种可提高安全性的多服务多环境管理方法。
同时,提供一种可提高安全性的多服务多环境管理系统。
一种多服务多环境管理方法,包括:
基础资源管理,所述基础资源管理包括:
创建应用:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID;
组织确定:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;
添加用户:接收用户添加指令,在组织中添加用户;
分配管理权限:分配组织管理权限,根据应用的不同开发环境分配不同管理权限。
在优选实施例中,基础资源包括:应用、组织、用户、角色,所述组织为拥有相同定位的用户的集合,相同的用户在不同的组织会被视为不同的角色,若一个应用需要服务多个组织,则应用启动多个Server端,每个Server端对应不同的组织;所述基础资源管理的分配管理权限中,根据应用的开发环境对配置人员分配权限等级;所述开发环境包括:开发、测试、灰度、生产,系统根据开发环境不同相应设置开发管理员、测试管理员、灰度管理员、生产管理员;所述组织确定步骤中,根据应用定位和/或目标用户判断是否需要单独创建组织;若创建组织,提交创建组织需求时,需要提供组织的定位、组织管理员、基本用户,根据需求评估合理,若合理,根据指示引导,接收创建信息进行创建。
在优选实施例中,还包括:配置参数管理、权限配置,
所述配置参数管理包括:
创建凭证:接收应用所有者申请凭证,创建凭证,接收凭证下载保存指令,下载并保存凭证,该凭证仅能被下载一次;
添加配置:在应用页面添加配置项;
参数配置:弹出配置项的参数配置页面,在参数配置页面接收配置指令,根据需求在目标环境下为配置项配置实际参数;
额外凭证标识配置:若需要其他应用访问,则额外配置其他应用的凭证标识;
配置参数获取:在应用Server中使用SDK获取相关配置参数;
所述权限配置包括: 挂载:接收组织需求指令,根据指令在应用页面选择挂载到对应的组织;
添加用户:接收用户添加指令,将目标用户添加到组织中;
定义资源和操作权限:接收权限设置指令,为所述应用定义资源和操作权限列表、或根据配置参数配置权限;
分配权限:根据用户分配权限;
获取权限配置:在应用Server中使用SDK获取来访用户的权限配置列表;
访问:根据权限配置列表,对用户访问资源进行校验,若判断有访问权限则返回结果,若判断没有权限则拒绝请求。
在优选实施例中,所述基础资源管理完成后,进行配置参数管理和权限管理,配置后的数据被结构化存储在系统的数据库中,并经Apis层封装提供给应用,通过SDK访问获取对应配置参数和权限列表信息;所述创建凭证中,若重新申请凭证则新申请凭证替换旧凭证;所述凭证为键值对,键对应应用的唯一随机ID所形成的凭证ID,值为随机字符串形成的凭证Secret,凭证一旦创建不可修改,所述配置参数获取中当应用Server使用SDK携带加密凭证访问配置项时,系统解密并获取凭证中的应用信息提取凭证ID,判断是否访问了所属的应用,若不是则拒绝。
在优选实施例中,所述配置参数管理的配置参数获取中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置;所述额外凭证标识配置中,若本应用依赖于其他应用的数据上传功能,本应用允许其他应用读取自己的数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
在优选实施例中,若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立TCP连接,应用把需要监听的配置项传给系统,系统根据监听需求不断判断配置项是否被修改,若配置项被修改,系统使用建立的TCP连接发送配置项数据给应用,实现实时推送,应用接收到消息后根据配置项名称将新的变量替换掉应用原有变量。
在优选实施例中,若所述资源列表为待管理物品,相应的操作权限列表定义为增删改查;若资源列表为任务类型、任务镜像、任务运行环境,则相应的操作权限列表定义为是否可以提交、是否能删除使用此任务镜像、是否能提交到此运行环境;针对资源操作的配置参数格式包括:json、yaml、xml、markdown等;若所述参数配置不需要格式校验,则系统提供通用文件编辑器以供参数填充;所述配置项包括:描述信息、是否锁定、是否可读取;所述参数配置中,若接收到版本切换指令,则根据版本选择指令对选择的相应版本的配置进行存储;若接收到锁定指令,则配置锁定,只有在接收到相应的解锁指令才能进行修改操作;系统提供配置模板,给出配置示例一键填充;所述配置参数获取中,SDK获取配置解析中,针对复用模板或用户在不同应用中使用了相同或类似的配置项,使用一套数据结构进行解析。
一种多服务多环境管理系统,包括:进行基础资源管理的基础资源管理模块、对配置项及参数进行管理的配置参数管理模块、管理应用的资源权限的权限配置模块,
所述基础资源管理包括:
创建应用单元:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID;
组织确定单元:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;
添加用户单元:接收用户添加指令,在组织中添加用户;
分配管理权限单元:分配组织管理权限,根据应用的不同开发环境分配不同管理权限;
所述配置参数管理模块包括:
创建凭证单元:接收应用所有者申请凭证,创建凭证,接收凭证下载保存指令,下载并保存凭证,该凭证仅能被下载一次;
添加配置单元:在应用页面添加配置项;
参数配置单元:弹出配置项的参数配置页面,在参数配置页面接收配置指令,根据需求在目标环境下为配置项配置实际参数;
额外凭证标识配置单元:若需要其他应用访问,则额外配置其他应用的凭证标识;
配置参数获取单元:在应用Server中使用SDK获取相关配置参数;
所述权限配置模块包括: 挂载单元:接收组织需求指令,根据指令在应用页面选择挂载到对应的组织;
添加用户单元:接收用户添加指令,将目标用户添加到组织中;
定义资源和操作权限单元:接收权限设置指令,为所述应用定义资源和操作权限列表、或根据配置参数配置权限;
分配权限单元:根据用户分配权限;
获取权限配置单元:在应用Server中使用SDK获取来访用户的权限配置列表;
访问单元:根据权限配置列表,对用户访问资源进行校验,若判断有访问权限则返回结果,若判断没有权限则拒绝请求。
在优选实施例中,所述基础资源包括:应用、组织、用户、角色,所述组织为拥有相同定位的用户的集合,相同的用户在不同的组织会被视为不同的角色,若一个应用需要服务多个组织,则应用启动多个Server端,每个Server端对应不同的组织;所述基础资源管理模块的分配管理权限单元中,根据应用的开发环境对配置人员分配权限等级;所述开发环境包括:开发、测试、灰度、生产,系统根据开发环境不同相应设置开发管理员、测试管理员、灰度管理员、生产管理员;所述组织确定单元中,根据应用定位和/或目标用户判断是否需要单独创建组织;若创建组织,提交创建组织需求时,需要提供组织的定位、组织管理员、基本用户,根据需求评估合理,若合理,根据指示引导,接收创建信息进行创建。
在优选实施例中,所述配置参数管理模块的配置参数获取单元中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置;若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立TCP连接,应用把需要监听的配置项传给系统,系统根据监听需求不断判断配置项是否被修改,若配置项被修改,系统使用建立的TCP连接发送配置项数据给应用,实现实时推送,应用接收到消息后根据配置项名称将新的变量替换掉应用原有变量;所述额外凭证标识配置单元中,本应用依赖于其他应用的数据上传功能,即本应用允许其他应用读取自己的数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
上述多服务多环境管理方法及系统,所有涉及的资源都可以在系统上进行管理权限分配,并且针对不同的环境分配不同的管理权限,有效的保护线上环境参数的安全性和线上服务的稳定性。
在参数配置方面提供了处理多服务在多个环境的配置的集中配置和管理,支持配置的热更新,发布锁定和一键切换等功能,并且根据环境的不同,对配置人员要求的权限等级也不同,有效的保证了敏感信息不会被轻易修改和获取。
多环境配置项集中管理,不同环境下的配置由不同的人员进行管理。与现有技术相比,更加集中化的管理方便用户进行配置和查看,分环境的环境能够有效的保证配置的安全和服务的稳定性。
附图说明
图1为本发明一实施例的多服务多环境管理方法的基础资源管理的部分流程图;
图2为本发明一实施例的多服务多环境管理方法的配置参数管理的部分流程图;
图3为本发明一实施例的多服务多环境管理方法的权限配置的部分流程图;
图4为本发明一实施例的整体架构图。
具体实施方式
本发明一实施例的多服务多环境管理方法,包括:基础资源管理、配置参数管理、权限配置。基础资源管理进行基础资源管理的基础资源管理模块;配置参数管理对配置项及参数进行管理;权限配置管理应用的资源权限。
如图1所示,本实施例的基础资源管理包括:
步骤S101,创建应用:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID(Identity document是身份证标识号);
步骤S103,组织确定:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;
步骤S105,添加用户:接收用户添加指令,在组织中添加用户;
步骤S107,分配管理权限:分配组织管理权限,根据应用的不同开发环境分配不同管理权限。
进一步,本实施例的基础资源包括:应用、组织、用户、角色等。
本实施例的描述信息就是指一般的注释信息,如针对此次配置进行说明的一下文字性描述,比如版本,修复哪些bug等等。描述信息可以在修改配置参数的时候一并填写,采用另外的编辑框的方式进行。
用户要使用系统的时候。应用创建之后,真正去配置之前,应用的管理员会通知相关人员去申请不同的权限进行管理。申请的动作是可以放在的OA系统上的进行;或采用其他方式进行。管理员收到请求后,会在后台进行权限的配置。
基础资源配置中添加用户主要配置一些默认的人员,如组织的管理人员,应用的管理人员作为操作的基础,这是由系统管理员配置。随着应用的使用,需要更多的人员加入,这个时候只要组织管理员去根据需求配置即可。
组织确定步骤中,根据应用定位和/或目标用户判断是否需要单独创建组织。
组织一般为一批拥有相同定位的用户的集合,在同一个组织中的人员,一般拥有相同的定位,如同公司,同部分,同为研发人员,同为业务人员等等;根据不同的定位维度预置了一些默认组织供用使用:如公司组织,各个部门组织,研发组织,测试组织,业务组织等等。若面向全公司或者部门级别的应用就可以完全使用预置的某个组织,但当目前系统中的组织不足以覆盖应用的需求时,如跨部门的联调人员,对外服务时的外部用户列表等等,那么应用人员可以提交需求创建新的组织使用,在提交创建组织需求的同时,需要提供组织的定位,组织管理员,基本用户等等。管理员会根据需求评估是否合理,若合理则进行创建,按页面步骤逐步输入信息即可创建即可。
不同的组织相互独立的,相同的用户在不同的组织会被视为不同的角色,在不同的组织页面中可以添加相同的用户并且为此用户配置权限,用户在不同组织下的权限配置是互不相关的。
应用获取资源权限配置,先配置系统服务端地址,应用的凭证,然后配置组织ID,应用ID,目标用户,环境,获取此用户在此组织下的资源权限操作列表。若一个应用需要服务多个组织,则应用会启用多个Server端,每个Server端对应不同的组织,以为相应组织中的用户提供服务,系统的组织定位即是为这种同个应用面向不同人员时的场景来服务的。
一个应用的开发环境一般包括:开发、测试、灰度、生产。基础资源管理的分配管理权限中,根据应用的开发环境对配置人员分配权限等级。系统根据开发环境不同相应设置开发管理员、测试管理员、灰度管理员、生产管理员。
系统管理员可以配置不同的人员为不同环境的管理员以管理不同环境下的配置。在配置是时只要选择目标应用,并在不同的管理员配置项下配置用户ID即可,在用户登录的时候,系统会拉取这个配置检查此用户是否有此环境下的管理权限,以拒绝或者允许用户进行相关操作。
在四个环境中参与的人员一般不相同,开发管理员可以为研发人员,主要在开发阶段完成功能开发。测试管理员主要为测试人员,在测试阶段对应用进行测试。灰度管理员主要为业务人员,在灰度环境对应用做最后的正确性确认。最后在生产环境开放给用户使用,由生产管理员进行管理。由于环境的定位不同,这也就使得不同环境的应该配置不同,稳定性要求不同。在开发环境,研发人员可以随意修改配置项以便验证功能,测试阶段由测试人员管理,在灰度和生产环境可统一由运维人员负责配置,运维人员可以为灰度管理员或生产管理员,保证配置不会被随意修改。系统提供四个环境下应用的管理员配置,以使得合适的人员管理不同环境下的配置。
进一步,本实施例的步骤S103,组织确定步骤中,根据应用定位和/或目标用户判断是否需要单独创建组织;若创建组织,提交创建组织需求时,需要提供组织的定位、组织管理员、基本用户,根据需求评估合理,若合理,根据指示引导,接收创建信息进行创建。
如图4所示,本发明一实施例的整体架构图,基础资源管理完成后,进行配置参数管理和权限管理,配置后的数据被结构化存储在系统的数据库中,并经Apis层封装提供给应用,通过SDK访问获取对应配置参数和权限列表信息。
基础资源管理模块,负责系统基础资源的管理。系统管理员可以根据需求管理这些资源。
配置参数管理,应用服务所有者可以在开发和测试阶段对配置项及参数进行管理,在灰度和生产环境的配置参数修改,需要更高等级的运维人员负责。
权限配置,应用服务人员可以根据应用特添加不同的权限定义,并且把权限分配给角色。角色的定义使得一个用户在不同的组织下拥有不同的权限,极大增加了权限管理的灵活性。
在基础资源管理中,主要为配置参数管理、权限配置所依赖的基础资源进行配置。每当一个新应用开始的时候,研发人员申请创建对应的应用服务,并且根据服务特点,判断是否需要单独创建组织或使用默认组织。系统管理员可以把应用和组织分配给指定人员管理,管理者可以在组织中新增用户,在应用中管理配置项和具体参数和权限定义等等。在应用服务页面,管理人员申请应用专用的访问凭证,这些凭证只能被下载一次并且在应用中只能使用这个凭证才能访问这个应用下的配置参数和资源权限分配列表。
在配置项存储入库的时候,配置项的实际配置值只是其中一个属性,在此之外可为配置项定义了其他属性,如描述信息,是否锁定,是否可读取等等。在用户配置参数值的时候 就可以为这次配置添加额外的描述信息,如修改了哪些参数,增加了哪些配置等等,方面在以后查看或者切换配置的时候识别这个版本的修改目的。本实施例的参数信息编辑框可为一个文本编辑器,只要输入相关解释即可。
如图2所示,进一步,本实施例的配置参数管理包括:
步骤S301,创建凭证:接收应用所有者申请凭证,创建凭证,接收凭证下载保存指令,下载并保存凭证,该凭证仅能被下载一次;
步骤S303,添加配置:在应用页面添加配置项;
步骤S305,参数配置:弹出配置项的参数配置页面,在参数配置页面接收配置指令,根据需求在目标环境下为配置项配置实际参数;
步骤S307,额外凭证标识配置:若需要其他应用访问,则额外配置其他应用的凭证标识;
步骤S309,配置参数获取:在应用Server中使用SDK获取相关配置参数。
在配置参数管理中,主要功能为管理应用不同环境下的参数配置,用户可以在上面进行配置项的管理,支持为配置项选择格式,配置参数时可根据格式进行默认填充和校验,保证配置项编辑时不会错配漏配。在配置项的权限管理方面,默认情况下只允许应用自身的凭证访问,但是其他人员在经过管理员的允许下,可以由管理员配置其他应用的凭证标识,进而允许其访问。配置的获取由系统配套的SDK(Software Development Kit软件开发工具包)完成,用户无需关心系统所使用的通讯协议,直接使用SDK加上应用凭证和相关参数即可获取相关配置参数,另外SDK提供配置项级别的监听功能,即在某个配置项发生变更的时候,SDK会及时推送最新的配置参数到应用服务,无需重启服务或者循环获取判断是否有变更。支持配置锁定功能,即在不删除当前配置的情况下锁定配置项,应用服务在使用SDK获取配置的时候将不会获取到这些锁定的配置参数。版本管理功能,系统支持最近的数个版本的历史配置,可以根据需求进行回滚和追溯。
一个应用需要的配置项是根据应用本身的特点来定义的,如数据库凭证,依赖的服务地址等等,而配置项的参数是根据所处的环境、以及应用阶段来进行配置的。在不同的环境下这些配置型的实际值不是一样的,如在开发环境,使用的数据库是本地搭建的测试数据库,这个时候在系统开发环境配置的就是本地测试数据库的值,在开发环境的应用启动时就会使用获取到本地测试数据库进行开发,相对应的,在生产上线的时候,配置的就是正式的高可用的数据库,正式发布运行时,在生产环境使用的就是正式的数据库提供服务。
进一步,系统仅允许在初次申请凭证的时候进行下载凭证,这个凭证是长久有效的,可以看作为应用的账户密码。仅能被下载一次可以保证凭证不会被随意获取到,而且平台不会再保存这个凭证。一旦所有者丢失了凭证,只能在平台申请一个新的凭证,并且旧的凭证将不再有效。这种策略能够确保配置的安全性。
应用自身的配置型是根据应用本身的配置依赖进行创建的,比如数据库的配置,云厂商访问凭证,其他依赖服务的服务地址等等,根据这些配置定义配置项参数在平台创建,平台中已经预置了一些模板,如数据库的默认配置,当用户选择此模板创建配置项的时候,在填写配置参数的时候,可以有相应的参数项提示,不需要再定义配置项,当然用户可以使用空白模板,自定义配置项中各个参数。
当一个应用被创建的时候,应用管理员可以在应用页面申请应用的凭证,凭证为一个键值对,键对应应用的唯一性随机id即凭证ID,值为一串随机字符串即凭证Secret,凭证一旦创建不可修改,每个应用的凭证互不相同且是永久有效的。当应用Server端使用SDK携带加密后的凭证去访问配置项的时候,系统会解密并获取凭证中的应用信息提取凭证ID,进而判断是不是访问了自己的应用,如果不是则拒绝。
每个应用都会在系统获取到为键值对的凭证,系统提供配置项供应用管理者配置指定的应用访问自己应用的资源,主要在配置项中添加对应的凭证ID即可。
配置参数管理的配置参数获取中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置。
在SDK中若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立一条TCP连接,应用把需要监听的配置项传给系统,系统会根据监听的需求(如监听的应用,配置项等),不断的判断配置项是否被修改,如优选的为对比连续两次的数据哈希值,哈希值不同则被视为被修改。一旦配置项被修改,系统会使用建立的TCP连接发送配置项数据给应用,实现推送功能,应用接收到消息后根据配置项名称替换掉应用原有变量,以使用新的变量完成接下来的操作。
进一步,本实施例的步骤S307,额外凭证标识配置中,比如本应用依赖于其他应用的数据上传功能,即本应用允许其他应用读取其数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
优选的,当两个服务协作完成一件工作或者是一个大项目两个子项目有依赖关系的时候就需要其中一个项目拉取另外一个项目的权限。如应用A依赖应用B的数据上传功能,但是应用B作为一个通用的上传服务不会有应用A的数据权限,这个时候应用A就需要允许应用B读取自己的数据库权限以完成上传时的认证需求。当应用启动或者中间某些功能依赖读取配置参数的时候,就需要使用SDK获取配置。系统支持应用管理员配置允许那些应用访问自己的资源,配置参数为其他应用的凭证ID,当其他应用请求访问此应用配置的时候,系统会检查判断此应用的允许列表中是否存在此凭证ID,若不存在则拒绝。
在资源权限管理中,不用的应用往往要管理的资源不同。如一般进销存的应用,资源列表一般为待管理的物品,如机器人,机械臂,置物架等等,相对应的操作就可以定义为增删改查;如果是任务计算系统,那么资源列表一般为不同的任务类型,任务镜像,任务运行环境等,相对应的操作就可以定义为是否可以提交,是否能删除使用此任务镜像,是否能提交到此运行环境等等。现实中,由于各个应用管理的资源(如实体资源,虚拟资源,人员,任务,镜像,计算资源等等)互不相同,以及针对这些资源的操作(如增删改查,提交,运行计算等等)也互不相同,系统做到最足够的灵活以适配各种样式的应用服务。针对资源操作的配置参数我们预置了各种数据格式,如json,yaml,xml,markdown等等以帮助用户进行格式检查。若是用户参数配置不需要任何格式校验,那么系统将提供一个通用文本编辑器供用户填充参数。
本实施例的多服务多环境管理方法可以在应用界面我们可以新增资源操作列表,如增删改查,任务提交,任务运行等等。在新增操作之后就可以组织界面为组织下的用户配置权限,如任务提交,在选择任务提交这个操作的时候,在操作参数进一步配置可以提交的任务类型列表,如任务A,任务B等。在配置操作的参数时,没有具体的限制,用户可以根据资源的特点自行配置格式,如json,yaml,slice等程序方便解析的格式。
在配置项存储入库的时候,配置项的实际配置值只是其中一个属性,在此之外可为配置项定义了其他属性,如描述信息,是否锁定,是否可读取等等。除配置编辑功能之外,系统还提供锁定按钮,配置在被锁定之后只有被锁定者解锁之后才能进行修改操作,以防止进行某些重要服务提供的时候影响稳定性。另外提供快捷切换按钮,应用管理者可以将不同版本的配置进行存储,在需要的时候选择历史版本切换为当前使用版本,无需再另外记录配置参数重新配置。
系统预置的配置模板的配置项涵盖了一般业务场景中的大部分,当用户选择其中一个模板的时候,系统可以根据预置的参数给出配置示例,用户只需要简单修改为具体的参数值即可。比如在调研时几乎所有的应用都会使用数据库,并且针对各个类型的数据库进行了配置项的统一命名,如数据库地址,端口,库名,用户,密码,是否加密等参数,这个模板是一个典型的数据库模板,当应用需要配置数据库参数的时候可以直接使用此模板无需重复创建,在配置的时候系统会直接给出配置示例一键填充,用户无需再去向管理员确认配置参数的具体格式。
应用不同环境下的配置项相同的,但是具体的配置参数在不同环境下不相同的,具体的参数配置是应用环境管理员根据环境下应用所处的阶段进行分别配置的。
通用的功能复用包括预置的通用性的模板,避免每个应用重复定义配置项;另外一块复用提现在使用SDK获取配置解析的过程中,针对复用的模板或者用户在不同应用中使用了相同或类似的配置项,SDK的解析部分都可以使用一套数据结构进行解析,减少开发工作量。
本实施例中,在SDK中实现了对系统获取配置参数HTTP接口的封装,在使用客户端的时候,先配置系统服务端地址,应用的凭证,然后配置应用ID,配置项,环境等参数就可以获取到对应的配置,当然在忽略配置项的时候可以获取应用下所有配置项的数据。
用户通过SDK获取到相应的参数配置,然后用户会根据他配置的参数格式进行系列化,然后根据这些序列化后得到的结构体数据进行进一步的判断。判断的方式一般为是否存在相应的参数。如需要判断Admin权限,需从user的权限列表中查询是都有Admin权限项即可。
如图3所示,进一步,本实施例的权限配置包括:
步骤S501,挂载:接收组织需求指令,根据指令在应用页面选择挂载到对应的组织;
步骤S503,添加用户:接收用户添加指令,将目标用户添加到组织中;
步骤S505,定义资源和操作权限:接收权限设置指令,为所述应用定义资源和操作权限列表、或根据配置参数配置权限;
步骤S507,分配权限:根据用户分配权限;
步骤S509,获取权限配置:在应用Server中使用SDK获取来访用户的权限配置列表;
步骤S511,访问:根据权限配置列表,对用户访问资源进行校验,若判断有访问权限则返回结果,若判断没有权限则拒绝请求。
本实施例的系统是指进行实现的管理系统。本实施例的用户系统是指是指组织,组织下人员这部分的功能,可以当做广义的用户管理系统来使用,是整个管理系统功能的一部分,主要用在资源权限管理这部分。
当应用需要使用资源权限管理的时候,应用管理者将此应用配置到相应的组织下,称之为挂载操作,系统提供这部分的功能,当应用挂载到组织时,系统会记录此挂载关系到数据库。挂载之后,组织管理者就可以在组织页面为用户进行权限分配。
在权限配置中,主要功能为管理各个应用的资源访问权限,应用管理员可以根据自身应用的特点,配置资源列表,操作权限等。在选择将应用挂载到某些组织之后,就可以为组织中的角色配置访问这个应用资源的权限,另外的在权限配置的时候,支持额外的参数配置,这个参数是支持任何格式的,这使得应用能够更加灵活的配置权限详情,进而根据这些参数做进一步的权限校验。若一个用户同时在两个组织中,那么这个用户可以在不同的组织对应用有不同的权限,在鉴权的时候,应用可以根据自身部署时所在的组织来拉取用户在此组织下的权限列表。同样,权限列表的获取也是有SDK来完成,一样支持监听功能,在权限资源有变化的时候,实时推送到应用中。
本发明提供一种面向多服务多环境的方法:
系统本身中所有涉及的资源都可以在系统上进行管理权限分配,并且针对不同的环境分配不同的管理权限,有效的保护线上环境参数的安全性和线上服务的稳定性。
在参数配置方面提供了处理多服务在多个环境的配置的集中配置和管理,支持配置的热更新,发布锁定和一键切换等功能,并且根据环境的不同,对配置人员要求的权限等级也不同,有效的保证了敏感信息不会被轻易修改和获取。
配置项可根据格式进行填充和校验,保证配置项编辑时不会错配漏配。在配置项的权限管理方面,默认情况下只允许应用自身的凭证访问,但是其他人员在经过管理员的允许下,可以由管理员配置其他应用的凭证标识,进而允许其访问,极大的提升配置安全性。
在资源访问权限管理方面,提供灵活的服务资源定义和分配,服务能够根据自身的特定在系统上定义的资源服务,并且通过系统提供的用户系统进行权限分配,并且能够处理同个用户在不组织,即身为不同角色的情况下配置不同的权限,权限配置灵活多变,能够适应大多数复杂场景,这是一般配置中心所不具备的功能。
本发明一实施例的多服务多环境管理系统,包括:进行基础资源管理的基础资源管理模块、对配置项及参数进行管理的配置参数管理模块、管理应用的资源权限的权限配置模块。
进一步,本实施例的基础资源管理包括:
创建应用单元:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID;
组织确定单元:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;
添加用户单元:接收用户添加指令,在组织中添加用户;
分配管理权限单元:分配组织管理权限,根据应用的不同开发环境分配不同管理权限。
进一步,本实施例的配置参数管理模块包括:
创建凭证单元:接收应用所有者申请凭证,创建凭证,接收凭证下载保存指令,下载并保存凭证,该凭证仅能被下载一次;
添加配置单元:在应用页面添加配置项;
参数配置单元:弹出配置项的参数配置页面,在参数配置页面接收配置指令,根据需求在目标环境下为配置项配置实际参数;
额外凭证标识配置单元:若需要其他应用访问,则额外配置其他应用的凭证标识;
配置参数获取单元:在应用Server中使用SDK获取相关配置参数。
进一步,本实施例的权限配置模块包括:
挂载单元:接收组织需求指令,根据指令在应用页面选择挂载到对应的组织;
添加用户单元:接收用户添加指令,将目标用户添加到组织中;
定义资源和操作权限单元:接收权限设置指令,为所述应用定义资源和操作权限列表、或根据配置参数配置权限;
分配权限单元:根据用户分配权限;
获取权限配置单元:在应用Server中使用SDK获取来访用户的权限配置列表;
访问单元:根据权限配置列表,对用户访问资源进行校验,若判断有访问权限则返回结果,若判断没有权限则拒绝请求。
进一步,本实施例的基础资源包括:应用、组织、用户、角色。组织为拥有相同定位的用户的集合,相同的用户在不同的组织会被视为不同的角色。
若一个应用需要服务多个组织,则应用启动多个Server端,每个Server端对应不同的组织。
基础资源管理模块的分配管理权限单元中,根据应用的开发环境对配置人员分配权限等级。开发环境包括:开发、测试、灰度、生产。系统根据开发环境不同相应设置开发管理员、测试管理员、灰度管理员、生产管理员。组织确定单元中,根据应用定位和/或目标用户判断是否需要单独创建组织;若创建组织,提交创建组织需求时,需要提供组织的定位、组织管理员、基本用户,根据需求评估合理,若合理,根据指示引导,接收创建信息进行创建。
配置参数管理模块的配置参数获取单元中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置;若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立TCP连接,应用把需要监听的配置项传给系统,系统根据监听需求不断判断配置项是否被修改,若配置项被修改,系统使用建立的TCP连接发送配置项数据给应用,实现实时推送,应用接收到消息后根据配置项名称将新的变量替换掉应用原有变量;所述额外凭证标识配置单元中,比如本应用依赖于其他应用的数据上传功能,即本应用允许其他应用读取自己的数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
进一步,本实施例的基础资源管理完成后,进行配置参数管理和权限管理,配置后的数据被结构化存储在系统的数据库中,并经Apis层封装提供给应用,通过SDK访问获取对应配置参数和权限列表信息。
进一步,本实施例的配置参数管理模块的创建凭证单元创建凭证中,若重新申请凭证则新申请凭证替换旧凭证。本实施例的凭证为键值对,键对应应用的唯一随机ID所形成的凭证ID,值为随机字符串形成的凭证Secret,凭证一旦创建不可修改。
进一步,本实施例的配置参数管理模块的配置参数获取单元中,配置参数获取中当应用Server使用SDK携带加密凭证访问配置项时,系统解密并获取凭证中的应用信息提取凭证ID,判断是否访问了所属的应用,若不是则拒绝。
进一步,本实施例的配置参数管理模块的配置参数获取单元中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置。
若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立TCP连接,应用把需要监听的配置项传给系统,系统根据监听需求不断判断配置项是否被修改,若配置项被修改,系统使用建立的TCP连接发送配置项数据给应用,实现实时推送,应用接收到消息后根据配置项名称将新的变量替换掉应用原有变量。
进一步,本实施例的配置参数管理模块的额外凭证标识配置单元中,比如本应用依赖于其他应用的数据上传功能,即本应用允许其他应用读取自己的数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
进一步,本实施例中,若所述资源列表为待管理物品,相应的操作权限列表定义为增删改查;若资源列表为任务类型、任务镜像、任务运行环境,则相应的操作权限列表定义为是否可以提交、是否能删除使用此任务镜像、是否能提交到此运行环境。
针对资源操作的配置参数格式包括:json、yaml、xml、markdown等;若所述参数配置不需要格式校验,则系统提供通用文件编辑器以供参数填充。
配置项包括:描述信息、是否锁定、是否可读取。参数配置中,若接收到版本切换指令,则根据版本选择指令对选择的相应版本的配置进行存储;若接收到锁定指令,则配置锁定,只有在接收到相应的解锁指令才能进行修改操作;系统提供配置模板,给出配置示例一键填充。配置参数获取中,SDK获取配置解析中,针对复用模板或用户在不同应用中使用了相同或类似的配置项,使用一套数据结构进行解析。
本发明的多服务多环境管理方法及系统:
1 多环境配置项集中管理,不同环境下的配置由不同的人员进行管理。与现有技术相比,更加集中化的管理方便用户进行配置和查看,分环境的环境能够有效的保证配置的安全和服务的稳定性。
2 配置项支持描述信息,锁定和一键切换。与现有技术相比,能够增加配置的可读性,并且配置的锁定能够保护重要配置不会被恶意篡改。一键切换历史版本配置能够使得用户在回滚配置的时候更加便捷,在新配置出现问题的时候,快速回滚,缩短故障时间。
3 配置项的预置模板,和参数格式校验等功能。与现有技术单一配置相比,模板能够极大缩短用户配置时间和获取参数开发难度,参数校验能够避免人为的错误导致的服务故障。
4 应用凭证的保护以及应用间的访问保护。与现有技术相比,系统为每个应用单独设置了访问凭证,并且只有在应用管理员本身同意的情况下自身的配置才能被其他应用访问,这些措施都有效的保证应用配置参数的安全性。
5 在资源管理方面能够自由适配各个应用对资源和操作的定义,现有的配置中心一般不具有此功能,此技术能够使得应用配置换的管理资源访问权限,有效的限制用户请求的资源,并且能够避免每个应用都开发一个单独用户资源管理模块,减少的工作量。
6 多组织,多角色的设定能够使得一个用户在不同组织下拥有不同的权限,这使得应用面向不同的组织的时候有效的处理每个用户的权限,进行不同的资源访问限制。
7 系统针对获取配置项和资源权限提供了相应SDK,这是现有技术所不具备的,一般都需要单独的封装HTTP协议,SDK有效的提升可应用方开发对接的效率,减少项目研发时间,SDK和系统通过加密的TCP链接通讯,也有效的保护了数据传输的安全性。
以上述依据本申请的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项申请技术思想的范围内,进行多样的变更以及修改。本项申请的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (9)
1.一种多服务多环境管理方法,其特征在于,包括:基础资源管理,所述基础资源管理包括:
创建应用:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID;
组织确定:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;
添加用户:接收用户添加指令,在组织中添加用户;
分配管理权限:分配组织管理权限,根据应用的不同开发环境分配不同管理权限;
所述多服务多环境管理方法还包括:配置参数管理、权限配置,
所述配置参数管理包括:
创建凭证:接收应用所有者申请凭证,创建凭证,接收凭证下载保存指令,下载并保存凭证,该凭证仅能被下载一次;
添加配置:在应用页面添加配置项;
参数配置:弹出配置项的参数配置页面,在参数配置页面接收配置指令,根据需求在目标环境下为配置项配置实际参数;
额外凭证标识配置:若需要其他应用访问,则额外配置其他应用的凭证标识;
配置参数获取:在应用Server中使用SDK获取相关配置参数;
所述权限配置包括:
挂载:接收组织需求指令,根据指令在应用页面选择挂载到对应的组织;
添加用户:接收用户添加指令,将目标用户添加到组织中;
定义资源和操作权限:接收权限设置指令,为所述应用定义资源和操作权限列表、或根据配置参数配置权限;
分配权限:根据用户分配权限;
获取权限配置:在应用Server中使用SDK获取来访用户的权限配置列表;
访问:根据权限配置列表,对用户访问资源的行为进行校验,若判断有访问权限则返回结果,若判断没有权限则拒绝请求。
2.根据权利要求1所述的多服务多环境管理方法,其特征在于,基础资源包括:应用、组织、用户、角色,所述组织为拥有相同定位的用户的集合,相同的用户在不同的组织会被视为不同的角色,若一个应用需要服务多个组织,则应用启动多个Server端,每个Server端对应不同的组织;所述基础资源管理的分配管理权限中,根据应用的开发环境对配置人员分配权限等级;所述开发环境包括:开发、测试、灰度、生产,系统根据开发环境不同相应设置开发管理员、测试管理员、灰度管理员、生产管理员;所述组织确定步骤中,根据应用定位和/或目标用户判断是否需要单独创建组织;若创建组织,提交创建组织需求时,需要提供组织的定位、组织管理员、基本用户,根据需求评估合理,若合理,根据指示引导,接收创建信息进行创建。
3.根据权利要求1所述的多服务多环境管理方法,其特征在于,所述基础资源管理完成后,进行配置参数管理和权限管理,配置后的数据被结构化存储在系统的数据库中,并经Apis层封装提供给应用,通过SDK访问获取对应配置参数和权限列表信息;所述创建凭证中,若重新申请凭证则新申请凭证替换旧凭证;所述凭证为键值对,键对应应用的唯一随机ID所形成的凭证ID,值为随机字符串形成的凭证Secret,凭证一旦创建不可修改,所述配置参数获取中当应用Server使用SDK携带加密凭证访问配置项时,系统解密并获取凭证中的应用信息提取凭证ID,判断是否访问了所属的应用,若不是则拒绝。
4.根据权利要求1所述的多服务多环境管理方法,其特征在于,所述配置参数管理的配置参数获取中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置;所述额外凭证标识配置中,若本应用依赖于其他应用的数据上传功能,本应用允许其他应用读取自己的数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
5.根据权利要求4所述的多服务多环境管理方法,其特征在于,若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立TCP连接,应用把需要监听的配置项传给系统,系统根据监听需求不断判断配置项是否被修改,若配置项被修改,系统使用建立的TCP连接发送配置项数据给应用,实现实时推送,应用接收到消息后根据配置项名称将新的变量替换掉应用原有变量。
6.根据权利要求1所述的多服务多环境管理方法,其特征在于,若所述资源列表为待管理物品,相应的操作权限列表定义为增删改查;若资源列表为任务类型、任务镜像、任务运行环境,则相应的操作权限列表定义为是否可以提交、是否能删除使用此任务镜像、是否能提交到此运行环境;针对资源操作的配置参数格式包括:json、yaml、xml、markdown;若所述参数配置不需要格式校验,则系统提供通用文件编辑器以供参数填充;所述配置项包括:描述信息、是否锁定、是否可读取;所述参数配置中,若接收到版本切换指令,则根据版本选择指令对选择的相应版本的配置进行存储;若接收到锁定指令,则配置锁定,只有在接收到相应的解锁指令才能进行修改操作;系统提供配置模板,给出配置示例一键填充;所述配置参数获取中,SDK获取配置解析中,针对复用模板或用户在不同应用中使用了相同或类似的配置项,使用一套数据结构进行解析。
7.一种多服务多环境管理系统,其特征在于,包括:进行基础资源管理的基础资源管理模块、对配置项及参数进行管理的配置参数管理模块、管理应用的资源权限的权限配置模块,
所述基础资源管理包括:
创建应用单元:接收创建指令,创建应用,弹出描述信息编辑框,根据描述信息补充指令补充描述信息,分配应用ID;
组织确定单元:确定是否需要单独创建组织,若需创建,根据创建指令进行创建,若无需创建则使用默认组织;
添加用户单元:接收用户添加指令,在组织中添加用户;
分配管理权限单元:分配组织管理权限,根据应用的不同开发环境分配不同管理权限;
所述配置参数管理模块包括:
创建凭证单元:接收应用所有者申请凭证,创建凭证,接收凭证下载保存指令,下载并保存凭证,该凭证仅能被下载一次;
添加配置单元:在应用页面添加配置项;
参数配置单元:弹出配置项的参数配置页面,在参数配置页面接收配置指令,根据需求在目标环境下为配置项配置实际参数;
额外凭证标识配置单元:若需要其他应用访问,则额外配置其他应用的凭证标识;
配置参数获取单元:在应用Server中使用SDK获取相关配置参数;
所述权限配置模块包括:
挂载单元:接收组织需求指令,根据指令在应用页面选择挂载到对应的组织;
添加用户单元:接收用户添加指令,将目标用户添加到组织中;
定义资源和操作权限单元:接收权限设置指令,为所述应用定义资源和操作权限列表、或根据配置参数配置权限;
分配权限单元:根据用户分配权限;
获取权限配置单元:在应用Server中使用SDK获取来访用户的权限配置列表;
访问单元:根据权限配置列表,对用户访问资源进行校验,若判断有访问权限则返回结果,若判断没有权限则拒绝请求。
8.根据权利要求7所述的多服务多环境管理系统,其特征在于,所述基础资源包括:应用、组织、用户、角色,所述组织为拥有相同定位的用户的集合,相同的用户在不同的组织会被视为不同的角色,若一个应用需要服务多个组织,则应用启动多个Server端,每个Server端对应不同的组织;所述基础资源管理模块的分配管理权限单元中,根据应用的开发环境对配置人员分配权限等级;所述开发环境包括:开发、测试、灰度、生产,系统根据开发环境不同相应设置开发管理员、测试管理员、灰度管理员、生产管理员;所述组织确定单元中,根据应用定位和/或目标用户判断是否需要单独创建组织;若创建组织,提交创建组织需求时,需要提供组织的定位、组织管理员、基本用户,根据需求评估合理,若合理,根据指示引导,接收创建信息进行创建。
9.根据权利要求7或8所述的多服务多环境管理系统,其特征在于,所述配置参数管理模块的配置参数获取单元中,若应用中使用了实时推送,若目标参数被修改,则应用端会实时收到相关推送配置;若应用需要实时监听某个配置项的修改,SDK会在应用和系统之间建立TCP连接,应用把需要监听的配置项传给系统,系统根据监听需求不断判断配置项是否被修改,若配置项被修改,系统使用建立的TCP连接发送配置项数据给应用,实现实时推送,应用接收到消息后根据配置项名称将新的变量替换掉应用原有变量;所述额外凭证标识配置单元中,若本应用依赖于其他应用的数据上传功能,本应用允许其他应用读取自己的数据库权限以完成上传时的认证,使用SDK获取配置,配置参数为其他应用的凭证ID,若其他应用请求访问本应用配置时,系统检测判断本应用的允许列表中是否存在其他应用的凭证ID,若不存在则拒绝。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011473844.XA CN112506579B (zh) | 2020-12-15 | 2020-12-15 | 多服务多环境管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011473844.XA CN112506579B (zh) | 2020-12-15 | 2020-12-15 | 多服务多环境管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506579A CN112506579A (zh) | 2021-03-16 |
CN112506579B true CN112506579B (zh) | 2024-05-10 |
Family
ID=74973344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011473844.XA Active CN112506579B (zh) | 2020-12-15 | 2020-12-15 | 多服务多环境管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506579B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254108A (zh) * | 2021-06-24 | 2021-08-13 | 浙江口碑网络技术有限公司 | 基于小程序的门店操作方法及装置、电子设备、存储介质 |
CN114331317A (zh) * | 2021-11-26 | 2022-04-12 | 成都希盟泰克科技发展有限公司 | 一种多工程多项目组织系统 |
CN115905314B (zh) * | 2022-11-04 | 2023-09-08 | 易保网络技术(上海)有限公司 | 配置数据处理方法、系统、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760192A (zh) * | 2016-02-03 | 2016-07-13 | 北京元心科技有限公司 | 系统服务端业务模块的注册方法及装置 |
CN108875410A (zh) * | 2018-06-29 | 2018-11-23 | 北京奇虎科技有限公司 | 分布式搜索集群权限管理方法及装置、计算设备 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN111176786A (zh) * | 2019-12-07 | 2020-05-19 | 北京海致星图科技有限公司 | 一种基于docker的配置管理系统及方法 |
CN111389009A (zh) * | 2020-03-06 | 2020-07-10 | 中央电视台 | 一种基于不同环境下实现制作h5发布资源的共享平台 |
CN111913870A (zh) * | 2019-05-09 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 一种多环境管理方法、装置、系统、设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130047193A (ko) * | 2011-10-31 | 2013-05-08 | 한국전자통신연구원 | 조직 구조에 상응하는 선설정된 접근 제어 정보를 이용하는 어플리케이션 서비스 전달 방법 및 장치 |
-
2020
- 2020-12-15 CN CN202011473844.XA patent/CN112506579B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760192A (zh) * | 2016-02-03 | 2016-07-13 | 北京元心科技有限公司 | 系统服务端业务模块的注册方法及装置 |
CN108875410A (zh) * | 2018-06-29 | 2018-11-23 | 北京奇虎科技有限公司 | 分布式搜索集群权限管理方法及装置、计算设备 |
CN111913870A (zh) * | 2019-05-09 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 一种多环境管理方法、装置、系统、设备及介质 |
CN110244987A (zh) * | 2019-06-18 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 配置数据处理方法、装置、可读存储介质和计算机设备 |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN111176786A (zh) * | 2019-12-07 | 2020-05-19 | 北京海致星图科技有限公司 | 一种基于docker的配置管理系统及方法 |
CN111389009A (zh) * | 2020-03-06 | 2020-07-10 | 中央电视台 | 一种基于不同环境下实现制作h5发布资源的共享平台 |
Also Published As
Publication number | Publication date |
---|---|
CN112506579A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506579B (zh) | 多服务多环境管理方法及系统 | |
US20240089264A1 (en) | Managing security groups for data instances | |
JP6490633B2 (ja) | プライベート・クラウド・コンピューティングためのシステムおよび方法 | |
US20220114150A1 (en) | Blockchain implemented data migration audit trail | |
US11042641B2 (en) | Deployment and communications gateway for deployment, trusted execution, and secure communications | |
US8955037B2 (en) | Access management architecture | |
US11570178B2 (en) | Method and system for checking permissions compatibility between a configuration management system and an orchestration system of a computing cluster | |
US9513936B2 (en) | Dynamically loadable composite software application | |
JP2020512757A (ja) | ブロックチェーンクラウドサービスを管理するためのシステムおよび方法 | |
CN108351771B (zh) | 维持对于在部署到云计算环境期间的受限数据的控制 | |
US20080059214A1 (en) | Model-Based Policy Application | |
US11934817B2 (en) | Systems and methods for deploying federated infrastructure as code | |
US11146560B1 (en) | Distributed governance of computing resources | |
CN115943606A (zh) | 可编辑区块链 | |
US20230325506A1 (en) | Methods and Systems for Implementing Automated Controls Assessment in Computer Systems | |
WO2022126372A1 (zh) | 多服务多环境管理方法及系统 | |
EP4130982A1 (en) | Network-based solution module deployment platform | |
Dell | ||
Zikos et al. | HFabD+ M: A Web-based Platform for Automated Hyperledger Fabric Deployment and Management | |
CN112564979A (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
Pandya et al. | Hands-on infrastructure as code with puppet | |
MVP et al. | Microsoft System Center 2012 R2 Operations Manager Cookbook | |
US20240272887A1 (en) | Systems and methods for deploying federated infrastructure as code | |
US11907731B1 (en) | Configurable cloud development environments | |
EP4232894A1 (en) | Systems and methods for deploying federated infrastructure as code |
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 |