CN108959391B - 展现数据库集群架构图的设备、系统、方法、存储介质 - Google Patents
展现数据库集群架构图的设备、系统、方法、存储介质 Download PDFInfo
- Publication number
- CN108959391B CN108959391B CN201810556340.0A CN201810556340A CN108959391B CN 108959391 B CN108959391 B CN 108959391B CN 201810556340 A CN201810556340 A CN 201810556340A CN 108959391 B CN108959391 B CN 108959391B
- Authority
- CN
- China
- Prior art keywords
- library
- slave
- master
- information
- port information
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
展现数据库集群架构图的设备,包括:数据库实例配置部,通过配置操作使得当从库设备启动复制的时候自动向指定主库设备注册自己的设备识别码和端口信息;向下寻找部,根据指定主库设备的设备识别码和端口信息,向下寻找该指定主库设备对应的所有的从库设备的设备识别码和端口信息;向上核实部,以从库设备所对应的上级主库的设备识别码和端口信息为依据向上核实向下寻找部获得的结果是否准确,并得出二次确认后的结果信息;结果信息封装部,对结果信息进行数据格式转化,将结果信息转化成能够展现成拓扑图的拓扑图格式数据;拓扑图展示部,用于对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并直观展示。
Description
技术领域
本发明涉及一种能展现数据库集群架构的的设备,属于数据库管理技术领域。
背景技术
在数据库管理中,经常使用主从数据库的模式,通过主数据库master来完成写的操作,通过多个从数据库slave来完成大量的读操作,而对于具有多台计算机的场合而言,经常是将从数据库设置在多个PC机终端上,而将主数据库设置在服务器或者大型计算机上。分离数据库的读和写是考虑到写操作涉及到锁的问题,不管是行锁、表锁还是块锁,都是比较降低系统执行效率的事情。通过分离把写操作集中在一个master节点上,而读操作分布在其他的N个slave节点上进行,能够有效的提高读的效率,同时也保证了数据库系统的高可用性。
对于此种主从数据库的运行情况,在进行数据库运行维护的时候,由于作为从数据库的运作平台的计算机比较多,彼此层级比较复杂,运维工作中光是对数据库的主从关系结构进行管理和可视化展现就有非常大的工作量。以常用MySQL数据库为为例,在对MySQL数据库集群进行主从关系数据库的运行维护时,为了展现数据库的主从关系结构,必先把数据库的主从关系定义在一个文档中或者数据库的配置表中,然后再用人工操作对文档或者配置表进行更新修改的方式来进行维护,从而实现数据库主从关系架构的更新描述的,这种方法有以下的缺点:
缺点一,一旦新建或者下线了数据库实例,就需要去人工修改文档或者配置表,才能保持数据库中数据的正确性,工作量大,而且经常不及时;
缺点二,对于主从关系的展现,只有文档或者配置表的文本方式进行表达,这种情况对于层级较少的主从数据库问题不大,但在复杂的多层级主从(即多层主从关系嵌套)关系下,由于层级复杂,当某个层级的主/从数据库出现问题时,为了准确的找出是哪一个主/从库设备(运行数据库实例的计算机系统)出现故障,往往需要对某一个设备节点本身或者其对应的所有从数据库甚至要从数据库所在的设备进行检查(即进行节点的遍历检查),显然这种遍历检查耗时长,而且效率也很低。
发明内容
本发明是为了解决上述人手工对主从数据库进行维护更新不及时并且出错后进行检查效率低这些问题而进行的,目的在于提供一种展现数据库集群架构图的的设备、系统、方法以及存储介质。
本发明提供了一种展现数据库集群架构图的的设备,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括:数据库实例配置部,用于通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息;向下寻找部,用于根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息;向上核实部,用于对向下寻找部得出的所有的从库设备的数据库实例进行确认,以从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实向下寻找部获得的结果是否准确,并得出确认后的结果信息;结果信息封装部,用于对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及拓扑图展示部,用于对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
本发明提供的展现数据库集群架构图的的设备中,还可以具有这样的特征:其中,向下寻找部包括:第一单元,用于定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息;第二单元,用于连接到指定主库设备的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;第三单元,用于把由第二单元得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用第一至第三单元一直循环到找不到下级从库为止;第四单元,用于对结果进行整理,得到从库信息和主库信息,从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息。
本发明提供的展现数据库集群架构图的的设备中,还可以具有这样的特征:其中,向上核实部包括:第五单元,用于将第四单元获得的从库信息和主库信息,放入一个字典中;第六单元,用于以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的从库信息进行删除;第七单元,用于控制第六单元对字典中的主库设备下级的所有从库设备进行遍历;第八单元,用于控制低第六单元、第七单元重复运行,直至每一个从库设备都循环检查结束,并最终输出二次确认后的结果信息。
本发明还提供另外一种展现数据库集群架构图的的设备,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括:数据库实例配置部,用于通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息;向下寻找部,用于根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息;结果信息封装部,用于对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及用于对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
本发明提供的展现数据库集群架构图的的设备,还可以具有这样的特征,其特征在于,其中,向下寻找部包括:第一单元,用于定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息;第二单元,用于连接到指定主库设备的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;第三单元,用于把由第二单元得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用第一至第三单元一直循环到找不到下级从库为止;第四单元,用于对结果进行整理,得到从库信息和主库信息,从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息。
本发明还提供一种展现数据库集群架构图的方法,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括以下步骤:S1,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息;S2,用于根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息;S3,对步骤S2得出的所有的从库设备的数据库实例进行确认,以从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实向下寻找部获得的结果是否准确,并得出确认后的结果信息;S4,对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及S5,对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
本发明提供的展现数据库集群架构图的方法,还可以具有这样的特征,其特征在于:其中,步骤S2中进行向下寻找的具体步骤为:S2-1,定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息;S2-2,连接到指定主库设备的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;S2-3,把由步骤S2-2得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用步骤S2-1至步骤S2-3一直循环到找不到下级从库为止;S2-4,用于对结果进行整理,得到从库信息和主库信息,从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息,步骤S3中向上核实的具体步骤为:S3-1,将步骤S2-4获得的从库信息和主库信息,放入一个字典中;S3-2,以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的从库信息进行删除;S3-3,控制第步骤S3-2对字典中的主库设备下级的所有从库设备进行遍历;S3-4,控制步骤S3-2、S3-3重复运行,直至每一个从库设备都循环检查结束,并最终输出二次确认后的结果信息。
本发明还提供一种展现数据库集群架构图的方法,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括以下步骤:S1,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息;S2,用于根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息,,并将这些信息作为结果信息;S4,对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及S5,对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
本发明还提供一种存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现上述的展现数据库集群架构图的方法。
本发明还提供一种展现数据库集群架构图的系统,包括至少一个主库设备和至少一个从库设备,其特征在于:
其中,主库设备或从库设备中至少一个为上述的展现数据库集群架构图的的设备,
从库设备、主库设备经由通信网络通信连接,
主库设备、从库设备均为为计算机系统。
本发明的作用和效果在于:根据本发明所涉及的展现数据库集群架构图的的设备,因为具有向下寻找部,能够根据指定主库设备的设备识别码和端口信息,向下寻找该指定主库设备对应的所有的从库设备的设备识别码和端口信息;具有向上核实部,能够对向下寻找部得出的所有的从库设备的数据库实例进行二次确认,以从库设备所对应的上级主库的设备识别码和端口信息为依据向上核实向下寻找部获得的结果是否准确,并得出二次确认后的结果信息;具有结果信息封装部,能够对结果信息进行数据格式转化,将结果信息转化成能够展现成拓扑图的拓扑图格式数据;以及具有拓扑图展示部,能够对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并直观展示,所以,能够对用户(数据库管理员DBA)指定的指定主库设备中对应的所有的从库设备进行寻找并核实从而得到该指定主库设备相对应的所有从库设备的设备识别码和端口信息,并据此最终生成可视化的数据库集群架构拓扑图并直观展示,一方面,对于DBA而言,仅仅只需要指定要进行维护更新的主库设备(即指定主库设备)然后运行就能够直接得到该主库设备下的所有从库设备,另一方面,当出现故障或者其他问题需要对从库设备进行定位时,由于经过处理渲染获得的是数据库集群架构拓扑图,能够将各个从库(或者从库的从库)的树状拓扑关系用图示直观地进行展示,所以,定位比较快速,效率高。
附图说明
图1是本发明的实施例中展现数据库集群架构图的系统的组成框图。
图2为本发明的实施例中展现数据库集群架构图的的设备的结构框图。
图3为本发明提供的一种展现数据库集群架构图的方法的流程图。
图4为向下寻找的具体步骤示意图。
图5为向上核实的具体步骤示意图。
图6为本发明提供的另一种展现数据库集群架构图的方法的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明的展现数据库集群架构图的的设备、方法、存储介质以及系统的组成、结构、连接关系、具体工作流程以及工作原理、作用和效果做具体阐述。
图1是本发明的实施例中展现数据库集群架构图的系统的组成框图。
如图1所示,在本实施例中,展现数据库集群架构图的系统1000,具有一个主库设备master和多个从库设备slave,展现数据库集群架构图的的设备100即可以是某一个主库设备,也可以是一个从库设备(此时该从库设备即成为了一个主库设备)从库设备slave、主库设备slave经由通信网络200通信连接,通信网络200为局域网、广域网或是互联网,主库设备master、从库设备slave以及展现数据库集群架构图的的设备100均为为计算机系统,这里的计算机系统是广义的计算机系统(硬件和软件),即能够进行存储和运算功能的能按照人的要求接受和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统,其可用的软件操作子系统包括MS Windows,Linux,unix,Mac等。
在本实施例中,从库设备slave、主库设备slave为微型计算机PC或是服务器、工作站,可以是展现数据库集群架构图的的设备100与从库设备slave、主库设备master共用一套计算机系统的硬件(也就是,master设备和展现数据库集群架构图的的设备100就是一台设备),也可以单独设置一台设备为展现数据库集群架构图的的设备100,软件子系统使用的是Linux。
以下实施例以实际中比较常见的模式:展现数据库集群架构图的的设备100与主库设备master共用一套计算机系统的硬件为例,并且在单位内部使用局域网进行说明。
主库设备master设置在管理中心的机房中,其上运行有数据库实例,数据库为主从类型的关系数据库,包括Oralce,MySQL,SQL Server,在本实施例中以比较常用的MySQL为例进行说明。
从库设备slave具有多个,在本实例中,使用的是比较简单的单层主从结构,根据实际情况多层也是可以实现的。
图2为本发明的实施例中展现数据库集群架构图的的设备的结构框图。
展现数据库集群架构图的的设备100(图中的master设备)分别和其他主库设备(在本实施例中就是主库设备master,图中未示出)、多个从库设备salve通过通信网络(有线或无线网络)通信连接,具有主库设备指定部101、数据库实例配置部102、向下寻找部103、向上核实部104、结果信息封装部105、拓扑图展示部106以及控制部107。
主库设备指定部101,用于DBA用户在操作的界面中指定当前设备为主库设备或指定系统中其他设备为主库设备。在指定时,可用设备识别码来进行指定,设备识别码是指在系统或网络中能够与每一台设备相唯一对应的身份属性,对于计算机系统而言,包括IP地址、MAC地址或设备名称,IP地址作为一个局域网内最经常使用的,并且是原则上唯一的一个网络设备属性,而且IP地址是登陆数据库设备(master或者slave)或者访问数据库必须的最直观方便的属性,因此本实施例使用IP地址作为设备识别码。其他的比如MAC地址,计算机名也能进行唯一识别,都是不能直接用来访问数据库或者登陆服务器,要访问必须进行转换,使用间接的手段才行。
数据库实例配置部102,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息。
对于,本实施例的Linux操作系统下的MySQL数据库而已,首先我们需要定义数据库创建的模板配置文件,并且在配置文件中加入两个参数获取命令:
--report-host
--report-port
这两个命令主要是用来控制当从库设备slave启动复制的时候,自动向指定主库设备master注册自己的IP和端口信息,这样我们在主库上就能通过命令:
show slave hosts
获取到该指定主库设备master下面的从库设备slave的IP和端口信息了。
向下寻找部103,根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息,其由以下的功能单元来完成:
第一单元1031,定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息,即把指定主库设备的IP和端口定义为主库IP和主库端口。
第二单元1032,连接到指定主库的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息,即通过MySQL中的pymysql模块连接到该指定主库的数据库实例上,运行:
show slave hosts
得到该实例的下级从库设备slave的IP和端口信息。
第三单元1033,再把由第二单元得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用第一至第三单元一直循环到找不到下级从库为止,即再把由第二单元得到的IP和端口信息定义为主库IP和端口信息,递归调用本函数,一直循环到找不到下级从库为止。
第四单元1034,对结果进行整理,得到包括指定主库设备下级的所有的从库设备的设备识别码和端口信息的从库信息以及包括所有的从库设备上级的主库设备的设备识别码和端口信息的主库信息,如此一个层级关系的树状结构就初步定义下来了。
向上核实部104,对向下寻找部102得出的所有的从库设备的数据库实例进行确认,以从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实向下寻找部获得的结果是否准确,并得出确认后的结果信息,其由以下的功能单元来完成:
第五单元1041,将第四单元获得的从库信息和主库信息,放入一个字典中。
第六单元1042,用于以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的从库信息进行删除;
第七单元1043,用于控制第六单元对字典中的主库设备下级的所有从库设备进行遍历,即每一次循环都利用MySQL中的pymysql模块连接该从库的数据库实例,运行
show slave status
取出结果的Master_Host(主库设备ip地址)和Master_Port(主库设备的端口)的值,和第五单元中已经定义好的主库信息进行比对,如果正确,继续检查下一个,如果错误,则把该从库信息从向下寻找部103中最终得到的结果中删除。
第八单元1044,用于控制低第六单元1042、第七单元1043重复运行,直至每一个从库设备都循环检查结束,并最终输出二次确认后的结果信息。
结果信息封装部105,对结果信息进行数据格式转化,将结果信息转化成能够展现成拓扑图的拓扑图格式数据。该功能模块主要的作用是把向下寻找部103、向上核实部104得出的最终结果进行封装。在经过了以上的向下寻找部103的正向寻找和向上核实部104的反向核查之后,我们现在得出的树状结构已经是一个比较准确的信息了,然后需要把这个结构信息格式化为能够在html的WEB页面进行拓扑图展示的格式。由于本实施例中后续的拓扑图展示使用的是Python这种能够连接各种编程语言(C/C++)实现跨平台对接的“胶水语言”进行编写的,所以使用的是能够方便通过ajax函数把数据post到前端的HTML页面中去渲染数据,并展示结构拓扑图的json格式,json本身就是一个具有层级属性的数据结构,用来保存本实施例的数据是再合适不过的数据种类了。显然,本领域技术人员知悉,使用其他的格式也是可行的,比如XML格式就是一种比较常用的数据交换格式。
拓扑图展示部106,用于对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并直观展示,为此,需要构建一个对于用户来展现的前端HTML页面,该页面需要加载开源的Highcharts javascript和css,渲染结果信息封装部105通过:
ajax post
命令得到的树状结构json数据串,生成拓扑结构图,然后非常直观的通过Python下的在Django框架WEB页面进行可视化展示,用户访问WEB页面即可查看结构图,
控制部107,用于进行控制。
为了进一步说明展现数据库集群架构图的系统的工作流程和工作原理,以下结合附图来说明整个系统的运行流程。
图3为本发明提供的一种展现数据库集群架构图的方法的流程图。
如图3所示,展现数据库集群架构图的方法,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,包括以下步骤S1-S5。
步骤S1,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息。
步骤S2,根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息。
图4为向下寻找的具体步骤示意图。
如图4所示,进行向下寻找的具体步骤为S2-1至S2-4:
步骤S2-1,定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息;
步骤S2-2,连接到指定主库设备的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;
步骤S2-3,把由步骤S2-2得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用步骤S2-1至步骤S2-3一直循环到找不到下级从库为止;
步骤S2-4,用于对结果进行整理,得到从库信息和主库信息,从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息。
步骤S3,对步骤S2得出的所有的从库设备的数据库实例进行确认,以从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实向下寻找部获得的结果是否准确,并得出确认后的结果信息。
图5为向上核实的具体步骤示意图。
如图5所示,进行向上核实的具体步骤为S3-1至S3-4:
步骤S3-1,将步骤S2-4获得的从库信息和主库信息,放入一个字典中;
步骤S3-2,以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的从库信息进行删除;
步骤S3-3,控制第步骤S3-2对字典中的主库设备下级的所有从库设备进行遍历;
步骤S3-4,控制步骤S3-2、S3-3重复运行,直至每一个从库设备都循环检查结束,并最终输出二次确认后的结果信息。
步骤S4,对结果信息进行数据格式转化,将结果信息转化成能够展现成拓扑图的拓扑图格式数据。
步骤S5,对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并直观展示。
上述提供了一种展现数据库集群架构图的方法,其引入了向上核实的步骤,这种方法比较复杂、步骤多,耗时较长,但是特别适合于主从关系比较复杂的多层数据库结构的网络系统。由于多层级主从数据库比较复杂,仅仅依靠单纯的向下查找得到的结果会有一定的错误,为此需要引入向上核实的步骤S3以及向上核实部104来进行纠错。
对于结构比较简单,设备比较少,主从关系的层级比较少的情形,由于层级少,单纯的使用向下查找步骤错误就少,因而本发明还提供一种适合于小型的简单层级的数据库网络的展现数据库集群架构图的方法,至少在上述步骤的基础上省去步骤S3。
图6为本发明提供的另一种展现数据库集群架构图的方法的流程图。
一种展现数据库集群架构图的方法,通过分别和指定主库设备、从库设备通信连接并自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括以下步骤:
步骤S1,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息。
步骤S2,根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息,并将这些信息作为结果信息。
如图4所示,进行向下寻找的具体步骤为S2-1至S2-4:
步骤S2-1,定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息;
步骤S2-2,连接到指定主库设备的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;
步骤S2-3,把由步骤S2-2得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用步骤S2-1至步骤S2-3一直循环到找不到下级从库为止;
步骤S2-4,用于对结果进行整理,得到从库信息和主库信息,从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息。
S4,对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据。
S5,对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
对应的,本实施例所对应的展现数据库集群架构图的的设备也会减省向上核实部104,同样该设备应用于结构比较简单,设备比较少,主从关系的层级比较少的网络环境。
为了实施以上的展现数据库集群架构图的系统以及展现数据库集群架构图的方法,本发明还提供一种存储介质,其上存储有计算机程序,其能够被计算机系统安装,在本实施例中其用于安装在主库设备master上,该存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息;
S2,根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息;
S3,对步骤S2得出的所有的从库设备的数据库实例进行确认,以从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实向下寻找部获得的结果是否准确,并得出确认后的结果信息;
S4,对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及
S5,对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
上述提供了一种能够实现展现数据库集群架构图的方法的存储介质,在该程序中其引入了向上核实的步骤,这种方法比较复杂、步骤多,耗时较长,但是特别适合于主从关系比较复杂的多层数据库结构的网络系统。由于多层级主从数据库比较复杂,仅仅依靠单纯的向下查找得到的结果会有一定的错误,为此需要引入向上核实的步骤S3来进行纠错。
对于结构比较简单,设备比较少,主从关系的层级比较少的情形,由于层级少,单纯的使用向下查找步骤错误就少,因而本发明还提供一种适合于小型的简单层级的数据库网络的展现数据库集群架构图的方法的存储介质,其能够被计算机系统安装,在本实施例中其用于安装在主库设备master上,该存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1,通过配置操作使得当从库设备启动复制的时侯向指定主库设备注册该从库设备自己的设备识别码和端口信息;
S2,根据指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息,并将这些信息作为结果信息;
S4,对结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及
S5,对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并展示。
作为一种优化,上述的计算机程序被处理器执行时,具体的,步骤S2中进行向下寻找的具体步骤为:
S2-1,定义指定主库设备的设备识别码为主库识别码,指定主库设备的端口信息为主库端口信息;
S2-2,连接到指定主库设备的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;
S2-3,把由步骤S2-2得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用步骤S2-1至步骤S2-3一直循环到找不到下级从库为止;
S2-4,用于对结果进行整理,得到从库信息和主库信息,从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息,
步骤S3中向上核实的具体步骤为:
S3-1,将步骤S2-4获得的从库信息和主库信息,放入一个字典中;
S3-2,以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的从库信息进行删除;
S3-3,控制第步骤S3-2对字典中的主库设备下级的所有从库设备进行遍历;
S3-4,控制步骤S3-2、S3-3重复运行,直至每一个从库设备都循环检查结束,并最终输出二次确认后的结果信息。
实施例的作用与效果在于:根据本实施例所涉及的展现数据库集群架构图的的设备,因为具有数据库实例配置部,能够使得当从库设备启动复制的时候自动向指定主库设备注册自己的设备识别码和端口信息;具有向下寻找部,能够根据指定主库设备的设备识别码和端口信息,向下寻找该指定主库设备对应的所有的从库设备的设备识别码和端口信息;具有向上核实部,能够对向下寻找部得出的所有的从库设备的数据库实例进行二次确认,以从库设备所对应的上级主库的设备识别码和端口信息为依据向上核实向下寻找部获得的结果是否准确,并得出二次确认后的结果信息;具有结果信息封装部,能够对结果信息进行数据格式转化,将结果信息转化成能够展现成拓扑图的拓扑图格式数据;以及具有拓扑图展示部,能够对拓扑图格式数据进行处理渲染得到数据库集群架构拓扑图并直观展示,所以,能够对用户(数据库管理员DBA)指定的指定主库设备中对应的所有的从库设备进行寻找并核实从而得到该指定主库设备相对应的所有从库设备的设备识别码和端口信息,并据此最终生成可视化的数据库集群架构拓扑图并直观展示,一方面,对于DBA而言,仅仅只需要指定要进行维护更新的主库设备(即指定主库设备)然后运行就能够直接得到该主库设备下的所有从库设备,另一方面,当出现故障或者其他问题需要对从库设备进行定位时,由于经过处理渲染获得的是数据库集群架构拓扑图,能够将各个从库(或者从库的从库)的树状拓扑关系用图示直观地进行展示,所以,定位比较快速,效率高。
进一步,因为向下寻找部具有的第一单元,能够根据用户指定的指定主库设备进行定义,将该指定主库设备的设备识别码定义为主库识别码,指定主库设备的端口信息定义为主库端口信息;具有的第二单元,能够连接到指定主库的数据库实例上并得到该数据库实例的下级从库的设备识别码和端口信息;具有的第三单元能够把把由第二单元得到的设备识别码和端口信息分别定义为主库识别码和主库端口信息,递归调用第三单元一直循环到找不到下级从库为止;具有的第四单元,能够对结果进行整理,得到包括指定主库设备下级的所有的从库设备的设备识别码和端口信息的从库信息以及包括所有的从库设备上级的主库设备的设备识别码和端口信息的主库信息,所以能够以当前指定的指定主库设备作为起点,进行节点遍历,能够向下进行查找得到该指定主库设备下的所有从库设备的设备识别码以及端口信息。
因为向上核实部具有第五单元,能够将第四单元获得的从库信息和主库信息,放入一个字典中;具有的第六单元,能够对字典中指定主库设备下级的所有的从库设备的设备识别码和端口信息设置循环;具有第七单元,能够在每一次循环中连接从库设备的数据库实例并得到该数据库实例的上级主库的设备识别码和端口信息,将这些设备识别码和端口信息和第五单元中主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的从库信息进行删除;具有第八单元,能够控制第五单元、第六单元以及第七单元重复运行,直至每一个从库设备都循环检查结束,并最终输出二次确认后的结果信息,所以能够适合于主从关系比较复杂的多层数据库结构的网络系统,减少甚至避免仅仅依靠单纯的向下查找得到的结果出现的错误,提高了最后结果的准确性。
通过上述的可视化方案,对于数据库管理员DBA而言,只需要提供一个数据库的IP和端口信息作为主库设备的主库IP和主库端口信息,然后运行本发明提供的方法或者组成本发明的系统,就能自动的通过WEB页面的形式展现出这个数据库所在集群的树状结构拓扑图,因而整个操作以及展示过程完全自动化。对于进行大规模运维数据库的DBA来说,完全不需要再花时间去编写和维护大量的数据库实例关系结构文档。
在出现故障需要定位数据库实例层级关系的时候,只要访问对应的WEB页面即可,轻松高效。
进一步,按照这种层级展示出来的数据,对于后续扩展其他的自动化运维控制功能,也提供了非常直观有效的接口。
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (6)
1.一种自动展现数据库集群架构图的设备,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括:
数据库实例配置部,用于通过配置操作使得当所述从库设备启动复制的时侯向所述指定主库设备注册该从库设备自己的设备识别码和端口信息;
向下寻找部,用于根据所述指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息;
向上核实部,用于对所述向下寻找部得出的所有的从库设备的数据库实例进行确认,以所述从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实所述向下寻找部获得的结果是否准确,并得出确认后的结果信息;
结果信息封装部,用于对所述结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及
拓扑图展示部,用于对所述拓扑图格式数据进行处理渲染得到所述数据库集群架构拓扑图并展示;
其中,所述向下寻找部包括:
第一单元,用于定义所述指定主库设备的设备识别码为主库识别码,所述指定主库设备的端口信息为主库端口信息;
第二单元,用于连接到所述指定主库设备的数据库实例上并得到该数据库实例的下级从库的所述设备识别码和所述端口信息;
第三单元,用于把由所述第二单元得到的所述设备识别码和所述端口信息分别定义为
所述主库识别码和所述主库端口信息,递归调用第一至三单元一直循环到找不到下级从库为止;
第四单元,用于对结果进行整理,得到从库信息和主库信息,所述从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,所述主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息。
2.根据权利要求1所述的自动展现数据库集群架构图的设备,其特征在于:
其中,所述向上核实部包括:
第五单元,用于将第四单元获得的所述从库信息和所述主库信息,放入一个字典中;
第六单元,用于以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与所述主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的所述从库信息进行删除;
第七单元,用于控制第六单元对所述字典中的所述主库设备下级的所有从库设备进行遍历;
第八单元,用于控制低第六单元、第七单元重复运行,直至每一个所述从库设备都循环检查结束,并最终输出结果信息。
3.一种自动展现数据库集群架构图的设备,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括:
数据库实例配置部,用于通过配置操作使得当所述从库设备启动复制的时侯向所述指定主库设备注册该从库设备自己的设备识别码和端口信息;
向下寻找部,用于根据所述指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息;
结果信息封装部,用于对所述结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及用于对所述拓扑图格式数据进行处理渲染得到所述数据库集群架构拓扑图并展示;
其中,所述向下寻找部包括:
第一单元,用于定义所述指定主库设备的设备识别码为主库识别码,所述指定主库设备的端口信息为主库端口信息;
第二单元,用于连接到所述指定主库设备的数据库实例上并得到该数据库实例的下级从库的所述设备识别码和所述端口信息;
第三单元,用于把由所述第二单元得到的所述设备识别码和所述端口信息分别定义为所述主库识别码和所述主库端口信息,递归调用第一至第三单元一直循环到找不到下级从库为止;
第四单元,用于对结果进行整理,得到从库信息和主库信息,所述从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,所述主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息。
4.一种自动展现数据库集群架构图的方法,其用于自动展现指定主库设备和与之对应的所有的从库设备的数据库集群架构拓扑图,其特征在于,包括以下步骤:
S1,通过配置操作使得当所述从库设备启动复制的时侯向所述指定主库设备注册该从库设备自己的设备识别码和端口信息;
S2,根据所述指定主库设备的设备识别码和端口信息,以该主库设备为节点向下寻找与该指定主库设备具有主从库对应关系的所有的从库设备的设备识别码和端口信息,并将这些信息作为结果信息;
S3,对所述结果信息进行确认,以所述从库设备所对应的主库的设备识别码和端口信息为依据以该从库设备为节点向上核实向下寻找部获得的结果是否准确,并得出确认后的结果信息;
S4,对所述结果信息进行数据格式转化获得能够展现成拓扑图的拓扑图格式数据;以及
S5,对所述拓扑图格式数据进行处理渲染得到所述数据库集群架构拓扑图并展示;
其中,所述步骤S2中进行向下寻找的具体步骤为:
S2-1,定义所述指定主库设备的设备识别码为主库识别码,所述指定主库设备的端口信息为主库端口信息;
S2-2,连接到所述指定主库设备的数据库实例上并得到该数据库实例的下级从库的所述设备识别码和所述端口信息;
S2-3,把由步骤S2-2得到的所述设备识别码和所述端口信息分别定义为所述主库识别码和所述主库端口信息,递归调用步骤S2-1至步骤S2-3一直循环到找不到下级从库为止;
S2-4,用于对结果进行整理,得到从库信息和主库信息,所述从库信息包括指定主库设备下级的所有的从库设备的设备识别码和端口信息,所述主库信息包括所有的从库设备上级的主库设备的设备识别码和端口信息,
所述步骤S3中向上核实的具体步骤为:
S3-1,将步骤S2-4获得的所述从库信息和所述主库信息,放入一个字典中;
S3-2,以所有的从库设备的设备识别码和端口信息为根据获取该数据库实例的上级主库的设备识别码和端口信息,并将这些设备识别码、端口信息与所述主库信息进行比对,如果正确,继续检查下一个,如果错误,则把此次循环的从库设备的所述从库信息进行删除;
S3-3,控制第步骤S3-2对所述字典中的所述主库设备下级的所有从库设备进行遍历;
S3-4,控制步骤S3-2、S3-3重复运行,直至每一个所述从库设备都循环检查结束,并最终输出结果信息。
5.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求4所述的方法。
6.一种自动展现数据库集群架构图的系统,包括至少一个主库设备和至少一个从库设备,其特征在于:
其中,所述主库设备或所述从库设备中至少一个为权利要求1-3中任意一项所述的自动展现数据库集群架构图的设备,
所述从库设备、所述主库设备经由通信网络通信连接,
所述主库设备、所述从库设备均为计算机系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810556340.0A CN108959391B (zh) | 2018-05-31 | 2018-05-31 | 展现数据库集群架构图的设备、系统、方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810556340.0A CN108959391B (zh) | 2018-05-31 | 2018-05-31 | 展现数据库集群架构图的设备、系统、方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959391A CN108959391A (zh) | 2018-12-07 |
CN108959391B true CN108959391B (zh) | 2021-11-26 |
Family
ID=64493355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810556340.0A Active CN108959391B (zh) | 2018-05-31 | 2018-05-31 | 展现数据库集群架构图的设备、系统、方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959391B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110334291A (zh) * | 2019-05-09 | 2019-10-15 | 上海许继电气有限公司 | 基于highCharts技术实现web客户端展示故障录波正弦曲线的系统及方法 |
CN112579558A (zh) * | 2019-09-30 | 2021-03-30 | 北京国双科技有限公司 | 展示拓扑图的方法、装置、存储介质及设备 |
CN115150272B (zh) * | 2022-06-30 | 2023-01-17 | 北京珞安科技有限责任公司 | 网络场景下设备入网管理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855315A (zh) * | 2012-08-28 | 2013-01-02 | 曙光信息产业(北京)有限公司 | 一种基于html5的集群网络拓扑展现方法 |
CN103905254A (zh) * | 2014-04-04 | 2014-07-02 | 西华师范大学 | 一种基于通信设备端口连接信息的关系图智能生成方法 |
CN107968847A (zh) * | 2017-11-13 | 2018-04-27 | 深圳市华阅文化传媒有限公司 | 高可用id生成器及其id生成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191824B2 (en) * | 2016-10-27 | 2019-01-29 | Mz Ip Holdings, Llc | Systems and methods for managing a cluster of cache servers |
-
2018
- 2018-05-31 CN CN201810556340.0A patent/CN108959391B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855315A (zh) * | 2012-08-28 | 2013-01-02 | 曙光信息产业(北京)有限公司 | 一种基于html5的集群网络拓扑展现方法 |
CN103905254A (zh) * | 2014-04-04 | 2014-07-02 | 西华师范大学 | 一种基于通信设备端口连接信息的关系图智能生成方法 |
CN107968847A (zh) * | 2017-11-13 | 2018-04-27 | 深圳市华阅文化传媒有限公司 | 高可用id生成器及其id生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108959391A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107958057B (zh) | 一种用于异构数据库中数据迁移的代码生成方法及装置 | |
CN108959391B (zh) | 展现数据库集群架构图的设备、系统、方法、存储介质 | |
CN104965735A (zh) | 用于生成升级sql脚本的装置 | |
JP2000148461A (ja) | ソフトウェアモデル及び既存のソ―スコ―ドを同期化させる方法及びその装置 | |
CN112130891B (zh) | 一种数据库持续部署的方法和设备 | |
US20110153562A1 (en) | Error prevention for data replication | |
CN116171453A (zh) | 用于生成和利用制造仿真模型的知识图谱的方法和装置 | |
CN108388623A (zh) | Er关系生成方法、装置、计算机设备及存储介质 | |
CN105260300A (zh) | 基于会计准则通用分类标准应用平台的业务测试方法 | |
US10776313B2 (en) | Converting source objects to target objects | |
CN106951593B (zh) | 一种生成保护测控装置的配置文件的方法和装置 | |
CN112698819A (zh) | 面向树化对象编程程序设计方法、装置及存储介质 | |
CN110889013A (zh) | 一种基于xml的数据关联方法、装置、服务器及存储介质 | |
US11314489B1 (en) | Automated authoring of software solutions by first analyzing and resolving anomalies in a data model | |
CN105653565A (zh) | 一种数据核查方法和数据核查装置 | |
CN113705143A (zh) | 一种自动化仿真系统和自动化仿真方法 | |
CN116303461A (zh) | 一种部件库创建方法、装置、电子设备和存储介质 | |
CN115344966A (zh) | 一种cad装配体零部件替换方法及系统 | |
CN114676152A (zh) | 一种工单管理方法、装置和电子设备 | |
US20240193135A1 (en) | Systems, methods, and media for accessing derivative properties from a post relational database utilizing a logical schema instruction that includes a base object identifier | |
CN113626423B (zh) | 业务数据库的日志管理方法、装置、系统 | |
CN113065256B (zh) | 基于规则文件的变电站智能装置icd模型的校验方法 | |
CN116108021B (zh) | 基于标准数据集进行多维度数据质控的方法、装置及设备 | |
CN112732704B (zh) | 一种数据处理方法、装置及存储介质 | |
CN111611684B (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 |