CN112988269B - 中心服务器配置参数比对方法和装置 - Google Patents

中心服务器配置参数比对方法和装置 Download PDF

Info

Publication number
CN112988269B
CN112988269B CN202110294093.3A CN202110294093A CN112988269B CN 112988269 B CN112988269 B CN 112988269B CN 202110294093 A CN202110294093 A CN 202110294093A CN 112988269 B CN112988269 B CN 112988269B
Authority
CN
China
Prior art keywords
configuration
configuration item
classification
comparison
json
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
CN202110294093.3A
Other languages
English (en)
Other versions
CN112988269A (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.)
Yinqing Technology Co ltd
Original Assignee
Yinqing 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 Yinqing Technology Co ltd filed Critical Yinqing Technology Co ltd
Priority to CN202110294093.3A priority Critical patent/CN112988269B/zh
Publication of CN112988269A publication Critical patent/CN112988269A/zh
Application granted granted Critical
Publication of CN112988269B publication Critical patent/CN112988269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种中心服务器配置参数比对方法和装置,该方法包括:获取待比对的两台中心服务器对应的json配置参数串;迭代比对两组json配置参数串的配置项分类是否一致;若否,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;若是,判断当前比对的两组配置项分类下的配置项主键是否一致;若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;若配置项主键一致,则迭代当前配置项主键的所有字段内容,缩短比对时间。

Description

中心服务器配置参数比对方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种中心服务器配置参数比对方法和装置。
背景技术
目前,对于两中心服务器配置参数采集比对的处理流程是:编写参数采集的shell脚本,然后下发到要采集的服务器上,执行采集脚本后,将参数结果传回服务端进行入库保存。进行比对时,页面选择要比对的两台机器,将比对结果进行展示,方便运维人员快速找到不同的配置项,参见图1。其中,对于参数存储的方式是在数据库里建表、建字段、列存储的方式,该种方法不易扩展,比如最开始编写的采集脚本只采集操作系统版本和磁盘名称两个信息,那么初始化建表时也就对应的建了这两个字段进行存储。如果日后修改采集脚本,增加了诸如数据库信息、rootvg等内容时,就需要增加字段和修改代码来进行存储。
发明内容
针对现有技术中的问题,本发明提供一种中心服务器配置参数比对方法和装置、电子设备以及计算机可读存储介质,能够至少部分地解决现有技术中存在的问题。
为了实现上述目的,本发明采用如下技术方案:
第一方面,提供一种中心服务器配置参数比对方法,包括:
获取待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值;
迭代比对两组json配置参数串的配置项分类是否一致;
若否,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;
若是,判断当前比对的两组配置项分类下的配置项主键是否一致;
若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;
若配置项主键一致,则迭代当前配置项主键的所有字段内容。
进一步地,中心服务器配置参数比对方法还包括:
获取中心服务器配置参数采集结果;
将所述配置参数采集结果转换成json配置参数串保存。
进一步地,所述将所述配置参数采集结果转换成json配置参数串保存,包括:
对配置项分类进行排序;
对配置项分类中的所有字段整理顺序,第一个字段保留位置不变,从第二个字段开始按照字段进行排序;
将同一配置项分类中的多条数据按配置项主键进行排序。
进一步地,中心服务器配置参数比对方法还包括:
根据json配置参数串以及预获取的配置项分类与应用分类的对应关系关联表,将各个配置项分类挂在对应的应用分类下分组展示。
第二方面,提供一种中心服务器配置参数比对装置,包括:
json配置参数串获取模块,获取待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值;
json配置参数串比对模块,迭代比对两组json配置参数串的配置项分类是否一致;
第一迭代模块,若两组json配置参数串的配置项分类不一致,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;
配置项主键比对模块,若两组json配置参数串的配置项分类一致,判断当前比对的两组配置项分类下的配置项主键是否一致;
第二迭代模块,若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;
字段内容迭代模块,若配置项主键一致,则迭代当前配置项主键的所有字段内容。
进一步地,中心服务器配置参数比对装置还包括:采集结果获取模块,获取中心服务器配置参数采集结果;
数据转换保存模块,将所述配置参数采集结果转换成json配置参数串保存。
进一步地,所述数据转换保存模块包括:
第一排序单元,对配置项分类进行排序;
第二排序单元,对配置项分类中的所有字段整理顺序,第一个字段保留位置不变,从第二个字段开始按照字段进行排序;
第三排序单元,将同一配置项分类中的多条数据按配置项主键进行排序。
进一步地,中心服务器配置参数比对装置还包括:
分组展示模块,根据json配置参数串以及预获取的配置项分类与应用分类的对应关系关联表,将各个配置项分类挂在对应的应用分类下分组展示。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的中心服务器配置参数比对方法的步骤。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的中心服务器配置参数比对方法的步骤。
本发明提供的中心服务器配置参数比对方法和装置,该方法包括:获取待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值;迭代比对两组json配置参数串的配置项分类是否一致;若否,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;若是,判断当前比对的两组配置项分类下的配置项主键是否一致;若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;若配置项主键一致,则迭代当前配置项主键的所有字段内容,通过采用上述技术方案,利用json配置参数串的方式进行比对,易于扩展,缩短比对时间,提高用户体验。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本发明实施例中的现有技术中两台机器的比对结果展示的示意图;
图2为本发明实施例中的一种应用场景的系统架构示意图;
图3为本发明实施例中的另一种应用场景的系统架构示意图;
图4是本发明实施例中的中心服务器配置参数比对方法的流程示意图一;
图5是本发明实施例中的中心服务器配置参数比对方法的流程示意图二;
图6示出了本发明实施例中步骤S800的具体步骤;
图7示出了本发明实施例中json串保存的数据;
图8示出了本发明实施例中采集脚本采集回来的内容;
图9是本发明实施例中的中心服务器配置参数比对装置的结构框图;
图10为本发明实施例电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
现有技术对于参数存储的方式是在数据库里建表、建字段、列存储的方式,该种方法不易扩展,比如最开始编写的采集脚本只采集操作系统版本和磁盘名称两个信息,那么初始化建表时也就对应的建了这两个字段进行存储。如果日后修改采集脚本,增加了诸如数据库信息、rootvg等内容时,就需要增加字段和修改代码来进行存储。
为了至少部分解决现有技术中的上述技术问题,本发明实施例提供了一种中心服务器配置参数比对方法,利用json配置参数串的方式进行比对,易于扩展,缩短比对时间,提高用户体验。
有鉴于此,本申请提供了一种中心服务器配置参数比对设备B1,该设备可以为一种服务器,参见图2,该中心服务器配置参数比对设备B1可以与各个服务器S1~SN通信连接,各服务器可以是中心服务器,所述中心服务器配置参数比对设备B1直接获取各个服务器的配置参数,获取待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值;迭代比对两组json配置参数串的配置项分类是否一致;若否,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;若是,判断当前比对的两组配置项分类下的配置项主键是否一致;若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;若配置项主键一致,则迭代当前配置项主键的所有字段内容。
在一个可选的实施例中,参见图3,该中心服务器配置参数比对设备B1与各服务器S1~SN之间,可以通过中间设备M1进行交互,该中间设备获取各个服务器的配置参数,供参数比对用。
所述服务器与所述中心服务器配置参数比对设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
图4是本发明实施例中的中心服务器配置参数比对方法的流程示意图一;如图4所示,该中心服务器配置参数比对方法可以包括以下内容:
步骤S100:获取待比对的两台中心服务器对应的json配置参数串;
其中,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值;
步骤S200:比对两组json配置参数串的配置项分类是否一致;
若否,执行步骤S300;若是,执行步骤S400;
步骤S300:取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;
若是,执行步骤S400;若否,继续取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对。
即迭代比对两组json配置参数串的配置项分类是否一致。
步骤S400:判断当前比对的两组配置项分类下的配置项主键是否一致;
若否,执行步骤S500;若是,执行步骤S600;
步骤S500:取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;
若是,执行步骤S600;若否,继续取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对。
步骤S600:迭代当前配置项主键的所有字段内容。
即:迭代两组数据的配置项分类,判断配置项分类是否一致,如不一致(等于该配置项分类在一台服务器上有,在另一台服务器上没有。等于这个大类分类就标识为不同了),判断字符串大小,配置项分类小的一方,说明另一方不存在此配置项分类,取出较小一方的配置项分类的下一个配置项分类,继续比对。若相同,则迭代该配置项分类中的所有配置信息。
判断两方数据同一配置项分类下的配置项主键是否一致,如不一致(等于该配置项主键在一台服务器上有,在另一台服务器上没有。等于这个大类属性就标识为不同了),判断字符串大小,配置项主键小的一方,说明另一方不存在此条配置,取出较小一方的配置项主键的下一个配置项主键,继续比对。若相同,则迭代该条配置的所有字段内容。
通过采用上述技术方案,采用JSON数据格式做数据的比对,不需修改数据库结构,易于扩展,同时也易于解析和生成。
在一个可选的实施例中,参见图5,该中心服务器配置参数比对方法还可以包括:
步骤S700:获取中心服务器配置参数采集结果;
步骤S800:将所述配置参数采集结果转换成json配置参数串保存。
其中,将采集到的信息整理成有序的json,方便快速对比。
在一个可选的实施例中,参见图6,该步骤S800可以包括以下内容:
步骤S810:对配置项分类进行排序;
步骤S820:对配置项分类中的所有字段整理顺序,第一个字段保留位置不变,从第二个字段开始按照字段进行排序;
其中,第一个字段作为主键,保留位置不变。
步骤S830:将同一配置项分类中的多条数据按配置项主键进行排序。
在一个可选的实施例中,该中心服务器配置参数比对方法还可以包括:
根据json配置参数串以及预获取的配置项分类与应用分类的对应关系关联表,将各个配置项分类挂在对应的应用分类下分组展示。
为了使本领域技术人员更好地理解本申请,下面举例对本申请的实现过程进行具体说明:
其中,用json来保存采集结果,建表时只需要建一个大字段存储采集结果的json串,编写一段通用代码,将采集脚本采集的结果转换成json保存。比如现在采集脚本是采集操作系统版本和磁盘名称两个信息,那么就转换成包含这两个对象的json串保存。如果日后采集脚本增加了数据库信息、rootvg等内容,不需要修改代码和表结构,之前写的通用代码,会转换成包含这四个对象的json串保存。
由于采集的参数信息很多,按照范围从大到小进行了分类,首先是定义了应用分类,然后是各个应用分类下有哪些配置项分类,然后是配置项分类下各个具体的配置项主键和对应的数值,如图7所示。
采集结果的json只保存“配置项分类”、各个“属性”和“数值”,然后在其他关联表中绑定了配置项分类跟应用分类的对应关系,所以展示时,就会将各个配置项分类挂在对应的应用分类下分组展示。
同一“配置项分类”(tb_XXX)里可能有多组“属性”(filename,owngroup,ownuser)。也就是想要比对的是文件属组owngroup和文件用户ownuser,但是该配置项分类有多个文件filename。因此采集脚本采集回来的内容长成如图8所示格式:(“数值”通过“@@”分割)。
按照图8所示采集结果,实际要比对的是/etc/environment、/etc/hosts、/etc/passwd三个文件的属组和用户内容。上图采集结果的第二段,是要比对CPU个数、内存大小、时区。所以整理后的json格式,形如map(list(map))这种结构:
举例来说,本发明实施例中的中心服务器配置参数比对方法,可以包括以下内容:
1.服务器上执行采集脚本,
定义采集服务器配置结果的每行格式为:配置项分类.属性(字段名1,字段名2,字段名3)...=值11@@值12@@值13...,其中多条信息写在多行;输出的配置信息如下。字段1的value值(如/etc/environment、/etc/hosts、/etc/passwd)为该条数据的配置项主键。起到了标识这一行是谁的信息。这是定义好的规则,把配置项主键都固定在字段1的位置。这段采集结果的第二段中字段1的value值(如cpu_number、memory_size、timezone)为该条数据的配置项主键。
2、将采集到的信息整理成有序的json,方便快速对比。Json数据结构特点如下:
2.1、将所有配置项分类(tb_xxx)进行排序;
2.2、将配置项分类中的所有字段整理顺序,第一个字段保留位置不变(因为固定为配置项主键),从第二个字段开始(后边的字段即是要比对的字段1的各个属性)按照字段(如owngroup、ownuser)进行排序。
2.3、将同一配置项分类中的多条数据按配置项主键(字段1的value)进行排序。方便诸如一台服务器有,另一台服务器没有的文件名称filename。等于找到了不同的filename,该filename后边的属性owngroup和ownuser等都不用比对。因为文件都不同。
3、两组采集数据的对比过程,
3.1、迭代两组数据的配置项分类,判断配置项分类是否一致,如不一致(等于该配置项分类在一台服务器上有,在另一台服务器上没有。等于这个大类分类就标识为不同了),判断字符串大小,配置项分类小的一方,说明另一方不存在此配置项分类,取出较小一方的配置项分类的下一个配置项分类,继续比对。若相同,则迭代该配置项分类中的所有配置信息。
3.2、判断两方数据同一配置项分类下的配置项主键是否一致,如不一致(等于该配置项主键在一台服务器上有,在另一台服务器上没有。等于这个大类属性就标识为不同了),判断字符串大小,配置项主键小的一方,说明另一方不存在此条配置,取出较小一方的配置项主键的下一个配置项主键,继续比对。若相同,则迭代该条配置的所有字段内容。
4、比对结果展示策略
4.1、忽略策略:对于一些不太重要且公认不同的采集信息,虽然比对出不同,但是可以将该配置项设置为忽略,这样做后,比对结果展示时作为相同处理,不会突出显示。
简单来说,比对时,忽略的配置项不进行对比。
4.2、正则表达式:对于一些符合某种规则,但是又不同的采集信息。比如两台服务器的IP信息肯定不同。但是又符合既定规则(比如上海中心机器的IP都是11.194.XXX.XXX;无锡中心机器的IP都是11.195.XXX.XXX),可以编写正则表达式,如果符合规则认为结果相同。
值得说明的是,针对编写了正则表达式的数据,比对时,中心服务器配置参数分别与正则表达式进行比对,提高比对准确性。
综上所述,本发明实施例中,通过采集服务器上的所有配置信息,并按应用进行分类;在应用中根据模块的不同,分为不同的配置项;使用key:value的格式描述配置项的所有配置信息。采集配置时,每一个配置项整合成一行数据,格式为:配置项.字段名1,字段名2,字段名3...=值11@@值12@@值13...;配置项中每一组配置信息的值与字段名一一对应;采集完成后,为了提高比对效率,将服务器上的每个应用的配置整合在一起,对采集信息进行序列化;将应用的所有配置项进行排序;将每一组配置信息与字段名结合组成有序的键值对容器Map,每一个配置项生成一个有序的链表容器List<Map>格式的数据结构存储;配置信息字段存储进Map中时,规定第一个字段的值作为该条配置信息的配置项主键,除第一个字段外,其他字段以字段名进行排序;配置信息组合成一个Map后,以上述配置项主键将所有配置信息Map进行排序,存入配置项链表容器List<Map>中;再以所有的配置项名进行排序,将应用中所有的配置项存入Map<"配置项","配置项值List<Map>">中;将服务器信息中所有应用的配置信息转成Json格式存入数据库,至此,服务器配置信息采集处理完成。
进行参数比对的上海无锡的采集结果以有序的json入库,其格式为map对象中嵌套list,list里的每组对象又是一个一个map。形如:
本发明实施例中定义的有序,是将最外层map的key值(如tb_sys_check_file、tb_syscheck_base)进行排序,最内层map的首字段(配置项主键)的value值纵向排序(如filename的/etc/environment、/etc/hosts、/etc/passwd。param的cpu_number、memory_size、timezone),因为该字段的value值是作为list每组对象的配置项主键,唯一标识这一组对象。但首字段之后的字段key值横向排序(如tb_sys_check_file中的owngroup、ownuser。tb_syscheck_base中的value)。
当如上所述的两个有序json进行比对时,依赖于java字符串大小的比较。比的时候类似于开游标或者指针方式,从上向下按位置依次比较。先按最外层map的tb值进行比较,比如比较第一位上海的tb值小于第一位无锡的tb值,则认为是上海独有的,整个tb认为是不同的。然后将上海比较的序号+1,等于将第二位上海的tb值与无锡的第一位的tb值比较。反之,如果上海的tb值大于无锡的tb值,则认为是无锡独有的,然后将无锡比较的序号+1。
当上海无锡的tb值相同时,解析其value的list内容,取出首字段的value进行比较,同理小的一方认为是独有的,被挑选出来,认为不同,然后小的一方继续序号+1,直到找到相同的首字段的value值,这时开始比较这个list的这组对象里的每一个map对象,从而判断相同还是不同。
通过采用上述技术方案,能够缩短比对时间,提高用户体验,实现基于指定格式的有序json数据的快速比对算法。
基于同一发明构思,本申请实施例还提供了一种中心服务器配置参数比对装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于中心服务器配置参数比对装置解决问题的原理与上述方法相似,因此中心服务器配置参数比对装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是本发明实施例中的中心服务器配置参数比对装置的结构框图。如图9所示,该中心服务器配置参数比对装置具体包括:json配置参数串获取模块10、json配置参数串比对模块20、第一迭代模块30、配置项主键比对模块40、第二迭代模块50、字段内容迭代模块60。
json配置参数串获取模块10获取待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值;
json配置参数串比对模块20迭代比对两组json配置参数串的配置项分类是否一致;
第一迭代模块30若两组json配置参数串的配置项分类不一致,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;
配置项主键比对模块40若两组json配置参数串的配置项分类一致,判断当前比对的两组配置项分类下的配置项主键是否一致;
第二迭代模块50若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;
字段内容迭代模块60若配置项主键一致,则迭代当前配置项主键的所有字段内容。
通过采用上述技术方案,利用json配置参数串的方式进行比对,易于扩展,缩短比对时间,提高用户体验。
上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为电子设备,具体的,电子设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
在一个典型的实例中电子设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的中心服务器配置参数比对方法的步骤。
下面参考图10,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。
如图10所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的中心服务器配置参数比对方法的步骤。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (6)

1.一种中心服务器配置参数比对方法,其特征在于,包括:
获取数据库表中待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值,所述中心服务器对应的json配置参数串是根据采集的所述中心服务器的配置参数采集结果转换而成的;
迭代比对两组json配置参数串的配置项分类是否一致;
若否,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;
若是,判断当前比对的两组配置项分类下的配置项主键是否一致;
若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;
若配置项主键一致,则迭代当前配置项主键的所有字段内容;
将所述配置参数采集结果转换成json配置参数串保存,包括:
对配置项分类进行排序;
对配置项分类中的所有字段整理顺序,第一个字段保留位置不变,从第二个字段开始按照字段进行排序;
将同一配置项分类中的多条数据按配置项主键进行排序。
2.根据权利要求1所述的中心服务器配置参数比对方法,其特征在于,还包括:
根据json配置参数串以及预获取的配置项分类与应用分类的对应关系关联表,将各个配置项分类挂在对应的应用分类下分组展示。
3.一种中心服务器配置参数比对装置,其特征在于,包括:
json配置参数串获取模块,获取数据库表中待比对的两台中心服务器对应的json配置参数串,所述json配置参数串包括:所属的配置项分类、属性以及对应的数值,所述中心服务器对应的json配置参数串是数据转换保存模块根据采集的所述中心服务器的配置参数采集结果转换而成的;
json配置参数串比对模块,迭代比对两组json配置参数串的配置项分类是否一致;
第一迭代模块,若两组json配置参数串的配置项分类不一致,取出当前比对的两组配置项分类中字符串小的配置项分类的下一个配置项分类,与当前比对的两组配置项分类中字符串大的配置项分类进行一致比对;
配置项主键比对模块,若两组json配置参数串的配置项分类一致,判断当前比对的两组配置项分类下的配置项主键是否一致;
第二迭代模块,若配置项主键不一致,取出当前比对的两组配置项主键中字符串小的配置项主键的下一个配置项主键,与当前比对的两组配置项主键中字符串大的配置项主键进行一致比对;
字段内容迭代模块,若配置项主键一致,则迭代当前配置项主键的所有字段内容;
所述数据转换保存模块包括:
第一排序单元,对配置项分类进行排序;
第二排序单元,对配置项分类中的所有字段整理顺序,第一个字段保留位置不变,从第二个字段开始按照字段进行排序;
第三排序单元,将同一配置项分类中的多条数据按配置项主键进行排序。
4.根据权利要求3所述的中心服务器配置参数比对装置,其特征在于,还包括:
分组展示模块,根据json配置参数串以及预获取的配置项分类与应用分类的对应关系关联表,将各个配置项分类挂在对应的应用分类下分组展示。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1或2所述的中心服务器配置参数比对方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1或2所述的中心服务器配置参数比对方法的步骤。
CN202110294093.3A 2021-03-19 2021-03-19 中心服务器配置参数比对方法和装置 Active CN112988269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110294093.3A CN112988269B (zh) 2021-03-19 2021-03-19 中心服务器配置参数比对方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110294093.3A CN112988269B (zh) 2021-03-19 2021-03-19 中心服务器配置参数比对方法和装置

Publications (2)

Publication Number Publication Date
CN112988269A CN112988269A (zh) 2021-06-18
CN112988269B true CN112988269B (zh) 2024-06-04

Family

ID=76333328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110294093.3A Active CN112988269B (zh) 2021-03-19 2021-03-19 中心服务器配置参数比对方法和装置

Country Status (1)

Country Link
CN (1) CN112988269B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103293410A (zh) * 2013-04-28 2013-09-11 北京百度网讯科技有限公司 服务器功耗检测方法与装置
CN105868050A (zh) * 2015-12-29 2016-08-17 乐视网信息技术(北京)股份有限公司 基于json数据的验证方法及装置
CN106681854A (zh) * 2015-11-11 2017-05-17 北京国双科技有限公司 一种信息校验方法、装置及系统
CN109102045A (zh) * 2018-08-08 2018-12-28 郑州云海信息技术有限公司 一种整机柜服务器标签的检测方法及检测装置
CN109714418A (zh) * 2018-12-27 2019-05-03 北京潘达互娱科技有限公司 接口返回数据的比对方法、计算设备
CN110543400A (zh) * 2019-08-30 2019-12-06 苏州浪潮智能科技有限公司 一种服务器测试平台、服务器配置信息测试方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3528435B1 (en) * 2018-02-16 2021-03-31 Juniper Networks, Inc. Automated configuration and data collection during modeling of network devices
US11003688B2 (en) * 2019-09-04 2021-05-11 American Express Travel Related Services Company, Inc. Systems and methods for comparing data across data sources and platforms

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103293410A (zh) * 2013-04-28 2013-09-11 北京百度网讯科技有限公司 服务器功耗检测方法与装置
CN106681854A (zh) * 2015-11-11 2017-05-17 北京国双科技有限公司 一种信息校验方法、装置及系统
CN105868050A (zh) * 2015-12-29 2016-08-17 乐视网信息技术(北京)股份有限公司 基于json数据的验证方法及装置
CN109102045A (zh) * 2018-08-08 2018-12-28 郑州云海信息技术有限公司 一种整机柜服务器标签的检测方法及检测装置
CN109714418A (zh) * 2018-12-27 2019-05-03 北京潘达互娱科技有限公司 接口返回数据的比对方法、计算设备
CN110543400A (zh) * 2019-08-30 2019-12-06 苏州浪潮智能科技有限公司 一种服务器测试平台、服务器配置信息测试方法及系统

Also Published As

Publication number Publication date
CN112988269A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN105934755B (zh) 用社交标记来增强搜索结果
US10963144B2 (en) Graphically organizing content in a user interface to a software application
US20120158791A1 (en) Feature vector construction
CN110119294A (zh) 菜单页面的生成方法、装置及系统
CN109388654A (zh) 一种查询数据表的方法和装置
CN111046237A (zh) 用户行为数据处理方法、装置、电子设备及可读介质
CN110084658B (zh) 物品匹配的方法和装置
CN108717437A (zh) 搜索结果展示方法、装置及存储介质
CN109656923A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN109471838A (zh) 目录文档的操作方法、装置、电子设备、可读存储介质
CN105867930B (zh) 一种函数调用关系的显示方法、装置及终端
CN109862100A (zh) 用于推送信息的方法和装置
CN104267974B (zh) 业务接口的调用方法及装置
CN110069573A (zh) 产品数据集成方法、装置、计算机设备及存储介质
AU2022204687A1 (en) Methods, apparatuses, and systems for data mapping
EP3470992A1 (en) Efficient storage and utilization of a hierarchical data set
CN110109983B (zh) 一种操作Redis数据库的方法和装置
CN109543154A (zh) 表格数据的类型转换方法、装置、存储介质及电子设备
JP2017041158A (ja) Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム
CN107636655A (zh) 实时提供数据即服务(DaaS)的系统和方法
CN114969113A (zh) 信息搜索方法、装置、存储介质及服务器
CN110414613A (zh) 区域聚类的方法、装置、设备和计算机可读存储介质
CN110457325A (zh) 用于输出信息的方法和装置
CN112988269B (zh) 中心服务器配置参数比对方法和装置
CN109344294A (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
GR01 Patent grant
GR01 Patent grant