移除过期配置开关的方法、装置、电子设备及介质与流程

文档序号:31625234发布日期:2022-09-24 00:25阅读:114来源:国知局
移除过期配置开关的方法、装置、电子设备及介质与流程

1.本发明涉及软件开发技术领域,尤其是涉及一种移除过期配置开关的方法、装置、电子设备及介质。


背景技术:

2.目前系统开发迭代中,为了避免影响原来旧的业务功能,在配置中心apollo添加了许多回退功能的配置开关。但是,随着系统功能需求不停的迭代,导致apollo配置开关越来越多,如果没有及时的清除过期的配置开关,随着开关的积累,会导致代码越来越冗余从而影响代码的分析。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种移除过期配置开关的方法、装置、电子设备及介质,能够及时移除过期的配置开关,从而保持代码的简洁性,减少配置中心无效的配置数据。
4.为了实现上述目的,本发明实施例采用的技术方案如下:
5.第一方面,本发明实施例提供了一种移除过期配置开关的方法,包括:获取配置开关的代码配置值和apollo配置值;基于代码配置值和apollo配置值,采用预设的策略算法,判断配置开关是否过期;如果配置开关过期,则将配置开关移除。
6.在一种实施方式中,基于代码配置值和apollo配置值,采用预设的策略算法,判断配置开关是否过期,包括:将代码配置值和apollo配置值进行比较;如果代码配置值和apollo配置值相同,则确定配置开关过期。
7.在一种实施方式中,如果配置开关过期,则将配置开关移除之前,还包括:根据配置开关的key值,获取配置开关对应的代码所在的位置和行数。
8.在一种实施方式中,如果配置开关过期,则将配置开关移除,包括:如果配置开关过期,则根据配置开关对应的代码所在的位置和行数,为配置开关对应的代码添加注释标记;将添加了注释标记的代码移除。
9.在一种实施方式中,根据配置开关对应的代码所在的位置和行数,为配置开关对应的代码添加注释标记,包括:根据配置开关对应的代码所在的位置和行数,采用预设的代码语法识别规则,确定配置开关的代码的首尾范围;基于配置开关的代码的首尾范围,在配置开关的代码的开头和结尾添加注释标记。
10.在一种实施方式中,将配置开关移除之后,还包括:将配置开关的移除信息发送给配置开关对应的设置人员。
11.第二方面,本发明实施例提供了一种移除过期配置开关的装置,包括:数据获取模块,用于获取配置开关的代码配置值和apollo配置值;判断模块,用于基于代码配置值和apollo配置值,采用预设的策略算法,判断配置开关是否过期;开关移除模块,用于如果配置开关过期,则将配置开关移除。
12.在一种实施方式中,上述装置还包括:提醒模块,用于将配置开关的移除信息发送给配置开关对应的设置人员。
13.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
14.第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。
15.本发明实施例带来了以下有益效果:
16.本发明实施例提供的上述移除过期配置开关的方法、装置、电子设备及介质,首先,获取配置开关的代码配置值和apollo配置值;然后,基于代码配置值和apollo配置值,采用预设的策略算法,判断配置开关是否过期;如果配置开关过期,则将配置开关移除。上述方法能够根据配置开关的代码配置值和apollo配置值判断配置开关是否过期,并且将过期的配置开关自动移除,从而能够保持代码的简洁性,使开发人员能够更好的梳理代码业务逻辑;同时,还可以减少配置中心无效的配置数据。
17.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
18.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
19.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明实施例提供的一种移除过期配置开关的方法的流程图;
21.图2为本发明实施例提供的一种自动移除过期配置开关的流程图;
22.图3为本发明实施例提供的一种移除过期配置开关的装置的结构示意图;
23.图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.目前,随着系统功能需求不停的迭代,导致apollo配置开关越来越多,如果没有及时的清除过期的配置开关,随着开关的积累,会导致代码越来越冗余从而影响代码的分析。
26.基于此,本发明实施例提供的一种移除过期配置开关的方法、装置、电子设备及介
质,能够及时移除过期的配置开关,从而保持代码的简洁性,减少配置中心无效的配置数据。
27.为便于对本实施例进行理解,首先对本发明实施例所公开的一种移除过期配置开关的方法进行详细介绍,该方法可以由电子设备执行,诸如智能手机、电脑、平板电脑等,参见图1所示的一种移除过期配置开关的方法的流程图,示意出该方法主要包括以下步骤s101至步骤s103:
28.步骤s101:获取配置开关的代码配置值和apollo配置值。
29.apollo(阿波罗)是一种分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于spring boot和spring cloud开发,打包后可以直接运行。在一种实施方式中,为了避免影响原有的业务功能,在系统开发过程中通常会在配置中心apollo添加回退功能开关(即配置开关),在开关配置过程中会在配置中心设置相对应的apollo配置值,同时在配置开关对应的代码中也会设置代码配置值,配置开关的apollo配置值和代码配置值可以用于表征开关的状态,基于此,本发明实施例中可以获取配置开关的apollo配置值和代码配置值来判断该配置开关是否过期。
30.步骤s102:基于代码配置值和apollo配置值,采用预设的策略算法,判断配置开关是否过期。
31.在一种实施方式中,预设的策略算法可以是将代码配置值和apollo配置值进行比较;如果代码配置值和apollo配置值相同,则确定配置开关过期。具体的,通常配置开关定义开关名称时会携带日期时间戳等编号,在判断一个配置开关是否可以被移除之前,首先可以将配置开关的日期时间戳与当前版本的系统日期进行比较,如果配置开关的日期时间戳早于当前的时间,则表明该配置开关具备判别是否能够被移除的可能性,即表明该配置开关可能是之前版本的系统中添加的,不适用于当前版本系统;然后可以将配置开关的代码配置值和apollo配置值进行比较;如果代码配置值和apollo配置值相同,则确定配置过期,可以被移除。诸如:常用的布尔类型开关在配置中心的设置为true,代码中默认的开关设置也为true,从上线后两者值比对一致,即可判断该配置开关已经过期,可以被移除。
32.步骤s103:如果配置开关过期,则将配置开关移除。
33.在一种实施方式中,当识别到配置开关过期后,可以将该配置开关对应的代码以及配置中心的配置数据移除,从而能够保持代码的简洁性,同时减少配置中心无效的配置数据。
34.本发明实施例提供的上述移除过期配置开关的方法,能够根据配置开关的代码配置值和apollo配置值判断配置开关是否过期,并且将过期的配置开关自动移除,从而能够保持代码的简洁性,使开发人员能够更好的梳理代码业务逻辑;同时,还可以减少配置中心无效的配置数据。
35.为了保证代码的简洁性,同时确保移除的是过期的配置开关对应的代码,避免将其他代码移除掉,本发明实施例中还提供了具体的将配置开关移除的实施方式,主要包括以下步骤1至步骤3:
36.步骤1:根据配置开关的key值,获取配置开关对应的代码所在的位置和行数。
37.在一种实施方式中,可以利用apollo配置中心设置的配置开关的key值进行代码
搜索,确定配置开关代码的位置和行数。
38.步骤2:根据配置开关对应的代码所在的位置和行数,为配置开关对应的代码添加注释标记。
39.在一种实施方式中,可以采用包括但不想与以下方式添加注释标记:首先,根据配置开关对应的代码所在的位置和行数,采用预设的代码语法识别规则,确定配置开关的代码的首尾范围;然后,基于配置开关的代码的首尾范围,在配置开关的代码的开头和结尾添加注释标记。
40.具体的,在代码编写时,需要符合代码基本规则,因此,可以通过与编写代码时采用的编程语言相对应的代码语法识别规则(例如:java语法规则、c语言语法规则等)识别出代码的首尾范围,并在代码的开头和结尾添加注释标记,诸如添加代码注释标记//、/***/等。
41.步骤3:将添加了注释标记的代码移除。
42.在具体应用中,可以根据代码添加的注释标记,将对应的需要移除的过期开关的代码移除,并将相对应的配置中心的配置数据删除。
43.进一步,为了使开关人员更好的梳理代码业务逻辑,及时了解系统代码的变化,本发明实施例中在将过期的配置开关移除后,还包括:将配置开关的移除信息发送给配置开关对应的设置人员。在一种实施方式中,可以根据配置开关对应的代码提取代码开关相关的设置人员,将配置开关移除的移除信息通过邮件或者短信的方式发送至设置人员,以便进行后续的部署。
44.此外,本发明实施例中还可以根据给定的配置开关的运行周期,判断配置开关是否需要被移除。例如:对于一个配置开关,给定的运行周期为30天,根据该配置开关的配置数据确定该配置开关在30内没有发生变更,则可以在30天运行周期后,根据扫描到的该配置开关的代码位置,自动添加注释代码,把对应的需要移除的过期配置开关代码关闭。
45.本发明实施例提供的上述移除过期配置开关的方法,能够使开发人员更好的梳理代码业务逻辑,保持代码的简洁性,便于后续业务的扩展和提高开发效率,同时也能够减少配置中心无效的配置数据。
46.对于前述移除过期配置开关的方法,本发明实施例中可以通过开发一种jar包或者sdk等工具,将jar包或者sdk等工具集成在系统中以实现自动移除过期配置开关的目的,jar包或者sdk等工具包括以下功能:
47.1、将代码配置值和apollo配置值进行智能比对,基于预设的策略算法智能分析配置开关是否可以过期废弃的功能;
48.2、智能识别代码类中的配置开关在代码中所对应的位置和行数的功能;
49.3、代码语法规则识别,基于代码首尾智能添加的注释的功能;
50.4、基于给定的运行周期,判别配置开关是否变更的功能;
51.5、自动提醒功能。
52.为了便于理解,本发明实施例还提供了一种基于上述jar包或者sdk等工具自动移除过期配置开关的具体示例,参见图2所示的一种自动移除过期配置开关的流程图,示意出主要包括以下步骤s201至步骤s207:
53.步骤s201:获取配置开关的代码配置值和apollo配置值。
54.步骤s202:判断代码配置值和apollo配置值是否相同;如果是,则执行步骤s203,否则返回步骤s201。
55.具体的,如果开关在配置中心的设置为true,代码中默认的开关设置也为true,即可判断该配置开关已经过期,可以被移除;否则,则表明该配置开关没有过期,重新返回上一步骤获取另一配置个开关的代码配置值和apollo配置值进行判断。
56.步骤s203:根据配置开关的key值,获取配置开关对应的代码所在的位置和行数。
57.具体的,可以根据配置开关在配置中心的设置值,识别开关代码的位置和行数。
58.步骤s204:根据配置开关对应的代码所在的位置和行数,确定配置开关的代码的首尾范围。
59.步骤s205:基于配置开关的代码的首尾范围,在配置开关的代码的开头和结尾添加注释标记。
60.具体的,可以在代码的开头和结尾添加注释标记,诸如添加代码注释标记//、/***/等。
61.步骤s206:将添加了注释标记的代码移除。
62.步骤s207:将配置开关的移除信息发送给配置开关对应的设置人员。
63.具体的,可以将配置开关移除的移除信息通过邮件或者短信的方式发送至设置人员。
64.对于前述移除过期配置开关的方法,本发明实施例还提供了一种移除过期配置开关的装置,参见图3所示的一种移除过期配置开关的装置的结构示意图,示意出该装置主要包括以下部分:
65.数据获取模块301,用于获取配置开关的代码配置值和apollo配置值。
66.判断模块302,用于基于代码配置值和apollo配置值,采用预设的策略算法,判断配置开关是否过期。
67.开关移除模块303,用于如果配置开关过期,则将配置开关移除。
68.本发明实施例提供的上述移除过期配置开关的装置,能够根据配置开关的代码配置值和apollo配置值判断配置开关是否过期,并且将过期的配置开关自动移除,从而能够保持代码的简洁性,使开发人员能够更好的梳理代码业务逻辑;同时,还可以减少配置中心无效的配置数据。
69.在一种实施方式中,上述判断模块302进一步用于:将代码配置值和apollo配置值进行比较;如果代码配置值和apollo配置值相同,则确定配置开关过期。
70.在一种实施方式中,上述装置还包括代码定位模块,用于根据配置开关的key值,获取配置开关对应的代码所在的位置和行数。
71.在一种实施方式中,上述开关移除模块303进一步用于:如果配置开关过期,则根据配置开关对应的代码所在的位置和行数,为配置开关对应的代码添加注释标记;将添加了注释标记的代码移除。
72.在一种实施方式中,上述开关移除模块303进一步用于:根据配置开关对应的代码所在的位置和行数,采用预设的代码语法识别规则,确定配置开关的代码的首尾范围;基于配置开关的代码的首尾范围,在配置开关的代码的开头和结尾添加注释标记。
73.在一种实施方式中,上述装置还包括提醒模块,用于将配置开关的移除信息发送
给配置开关对应的设置人员。
74.本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
75.本发明实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项所述的方法。
76.图4为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
77.其中,存储器41可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
78.总线42可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
79.其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
80.处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
81.本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
82.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
83.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1