CN110196780A - 确定服务器状态的方法、装置、存储介质和电子装置 - Google Patents
确定服务器状态的方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN110196780A CN110196780A CN201810247693.2A CN201810247693A CN110196780A CN 110196780 A CN110196780 A CN 110196780A CN 201810247693 A CN201810247693 A CN 201810247693A CN 110196780 A CN110196780 A CN 110196780A
- Authority
- CN
- China
- Prior art keywords
- configuration data
- server
- secondary route
- routing
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种确定服务器状态的方法、装置、存储介质和电子装置。其中,该方法包括:在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致;对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。本发明解决了相关技术确定服务器的状态的效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种确定服务器状态的方法、装置、存储介质和电子装置。
背景技术
目前,路由管理可以通过选择分布式应用程序协调服务(Zookeeper)或者二次开发的Zookeeper组件来完成。通过Zookeeper的内部监视器(Watcher)机制,通知与分布式服务器对应的客户端获取所需路由,下发到对应的分布式服务器。
但是,上述过程中的任何一个环节的问题都可能导致路由丢失。一种解决的方案为集中式部署是通过对客户端Watcher所有Zookeeper的配置实时同步全量路由配置,根据分布式服务器地址核对分布式服务器上的路由配置与客户端的全量路由中与其对应的所属配置进行是否一致,通过客户端确定服务器的状态。但是当Zookeeper集群管理的数据增大时,客户端的压力也增大,同时因为Watcher同步可能不及时而出现大量误告警,另外客户端重启都需要全量Watcher所有数据,数据量越大客户端启动的时间就越长,从而使得确定服务器的状态的效率低。
另一种解决的方案为分布式部署,通过将客户端的功能部署到分布式服务器的每一个服务器上,Watcher此服务器对应的路由配置,然后周期性取Watcher的配置与此服务器实际生效的配置进行对账,这样会增加Zookeeper的连接数和处理压力,当服务器的数量不断增加时,Zookeeper所有的压力都是双倍,并且用于核对Zookeeper上的路由配置数据与分布式服务器的路由配置数据的一致性的程序,与路由配置下发的程序代码就基本无差异,这样会由于路由配置下发程序路由异常很难确定服务器的状态,存在确定服务器的状态的效率低的问题。
针对上述的确定服务器的状态的效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种确定服务器状态的方法、装置、存储介质和电子装置,以至少解决相关技术确定服务器状态的效率低的技术问题。
根据本发明实施例的一个方面,提供了一种确定服务器状态的方法。该方法包括:在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
根据本发明实施例的另一方面,还提供了一种确定服务器状态的装置。该装置包括:获取单元,用于在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;转换单元,用于对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;确定单元,用于在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
根据本发明实施例的另一方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的确定服务器状态的方法。
根据本发明实施例的另一方面,还提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行本发明实施例的确定服务器状态的方法。
在本发明实施例中,在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。由于获取到客户端发送的第一触发信息,在检测到第一路由配置数据和第二服务器的第二路由配置数据不一致后,有效地确定第一服务器出现异常,达到了确定服务器的状态的目的,从而实现了提高确定服务器的状态的效率的技术效果,进而解决了相关技术确定服务器状态的效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种确定服务器状态的方法的硬件环境的示意图;
图2是根据本发明实施例的一种确定服务器状态的方法的流程图;
图3是根据本发明实施例的一种服务器的状态确定的***的结构示意图;
图4是根据本发明实施例的一种确定服务器状态的方法的交互示意图;
图5是根据本发明实施例的另一种确定服务器状态的方法的流程图;
图6是根据本发明实施例的一种确定服务器状态的装置的示意图;以及
图7是根据本发明实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种确定服务器状态的方法的实施例。
可选地,在本实施例中,上述确定服务器状态的方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。图1是根据本发明实施例的一种确定服务器状态的方法的硬件环境的示意图。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的确定服务器状态的方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的确定服务器状态的方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的一种确定服务器状态的方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤S202,在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据。
在本申请上述步骤S202提供的技术方案中,在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一路由配置数据为第一服务器的内核配置数据,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构。
在该实施例中,第一服务器可以为分布式服务器,第二服务器可以为协调服务器(Zookeeper),通过7*24小时不间断地核对第一服务器上的路由配置数据与第二服务器上的路由配置数据的一致性,称为第一服务器与第二服务器的对账,该实施例可以为私有网络(Virtual Private Cloud,简称为VPC)的路由配置对账。
该实施例的客户端可以为对账客户端(Client),用于7*24小时为对账中心提供用于对账的对账接口,其中,对账中心实际为Zookeeper的一个server,其角色相当于Observer,也即,实施例的集中式部署,部署在Zookeeper的Observer上,该Observer是一种新型的Zookeeper节点,可以解决随着分布式服务器的数量增加,由于网络消耗等原因导致的Zookeeper写性能下降的问题,从而提高Zookeeper的可扩展性,另外,Observer本身就通过Zookeeper的原子广播协议(Zookeeper Atomic Broadcast protocol)与主集群进程同步,可以解决数据同步的实时性问题。
该实施例的客户端可以向部署在Zookeeper的Observer上的对账中心发送第一触发信息,该第一触发信息用于触发对账中心检测第一服务器的第一路由配置数据和第二服务器的第二路由配置数据是否一致,也即,用于触发对账中心核对第一路由配置数据与第二路由配置数据是否一致。
该实施例的路由配置数据具有一定形式的数据结构,第一路由配置数据在第一服务器上的数据结构的组织形式为路由记录结构,也即,为内核原生的路由组织形象,是一条记录路由形式,第二路由配置数据在第二服务器上的数据结构的组织形式为树形结构。比如,路由配置类型为subnet_route的路由配置数据,在第一服务器上的路由记录结构体现为Src_subnet:Dst_subnet type default_dst remote,而在第二服务器上的树形结构体现为/TVPC/SUBNET/用户ID/src_subnet/dst_subnet/remote。
在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,以检测第一路由配置数据和第二路由配置数据是否一致。
步骤S204,对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构。
在本申请上述步骤S204提供的技术方案中,在获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据之后,对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构。
在该实施例中,由于第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构,需要将第一路由数据的结构和第二路由配置数据的结构进行统一,才能检测第一路由配置数据与第二路由配置数据是否一致。该实施例的目标结构为在检测第一路由配置数据和第二路由配置数据是否一致时将第一路由配置数据和第二路由配置数据的结构进行统一的数据结构,可以仅对第一路由配置数据的结构进行转换,转换为第二路由配置数据的树形结构,使得第一路由配置数据的结构和第二路由配置数据的结构均为属性结构;可以仅对第二路由配置数据的结构进行转换,转换为第一路由配置数据的路由记录结构,使得第一路由配置数据的结构和第二路由配置数据的结构均为路由记录结构;也可以对第一路由配置数据和第二路由配置数据都进行转换,使得第一路由配置数据的结构和第二路由配置数据的结构相同,以进行对比。
步骤S206,在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
在本申请上述步骤S206提供的技术方案中,在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
在该实施例中,对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构之后,检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致,得到检测结果,实现第一服务器与第二服务器的对账,检测结果也即对账结果,将检测结果返回至客户端。
该实施例在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常,可以将第一服务器出现异常的检测结果返回至客户端,并进行有效告警。运维人员或者研发人员可以在接收到告警后之后,通过页面查看具体的异常信息,并分析、解决,从而确保服务器的路由配置的正确性,保证用户路由无丢失,有效地保障网络客户的网络通信质量。
可选地,该实施例可以在第一服务器的第一路由配置数据丢失、延时下发时,出现第一服务器的第一路由配置数据与第二服务器的第二路由配置数据不一致,进而确定第一服务器出现异常。
通过上述步骤S202至步骤S206,在本发明实施例中,在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。由于获取到客户端发送的第一触发信息,在检测到第一路由配置数据和第二服务器的第二路由配置数据不一致后,有效地确定第一服务器出现异常,达到了确定服务器的状态的目的,从而实现了提高确定服务器的状态的效率的技术效果,进而解决了相关技术确定服务器的状态的效率低的技术问题。
作为一种可选的实施方式,在步骤S206,确定第一服务器出现异常之后,该方法包括:在连续至少两次确定出第一服务器出现异常后,指示客户端发送告警信息,其中,告警信息用于指示第一服务器出现异常。
在该实施例中,在确定第一服务器出现异常之后,客户端可以接收到用于指示第一服务器的第一路由配置数据和第二服务器的第二路由配置数据不一致的检测结果,可以将其记录在数据库(DB)中,并再次向对账中心发送触发信息,以使得对账中心对第一服务器的路由配置数据和第二服务器的路由配置数据再次进行对账,也即,针对第一次确定出第一服务器出现异常的检测结果,进行再次确认,确认第一服务器是否确实出现异常。在连续至少两次确定出第一服务器出现异常后,则第一服务器确实出现异常,可以指示客户端发送告警信息,通过告警信息向运维人员或者开发人员指示第一服务器出现异常。在运维人员或者开发人员接受到告警信息之后,可以通过页面查看具体的针对第一服务器出现异常的告警信息,比如,针对第一服务器和第二服务器对账不一致的信息,进一步确认第一服务器异常,提高了确定服务器的状态的效率,进而调用具体的修复工具进行修复,从而确保服务器的路由配置的正确性,保证了用户路由无丢失,并且有效地保障了网络客户的网络通信质量。
作为一种可选的实施方式,在步骤S206,确定第一服务器出现异常之后,该方法还包括:在获取到客户端发送的第二触发信息后,获取第一服务器的第三路由配置数据和第二服务器的第二路由配置数据,其中,第二触发信息用于触发检测第三路由配置数据和第二路由配置数据是否一致,第三路由配置数据的结构为路由记录结构、且第三路由配置数据在第一路由配置数据产生之后产生;对第三路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第三路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第三路由配置数据和具有目标结构的第二路由配置数据一致后,将第一服务器的状态由异常确定为正常。
在该实施例中,第一服务器可以为分布式服务器,分布式服务器上的路由数据由于进程性能或者进程正在处理其它逻辑,而导致路由数据在下发时出现一定时间的延迟,比如,出现10秒内的延时,此时第一服务器的路由配置数据和第二服务器的路由配置数据可能就不一致。
在确定第一服务器出现异常之后,客户端接收到第一服务器的第一配置数据与第二服务器的第二配置数据不一致的检测结果,可以二次确认第一服务器是否确实出现异常,向对账中心发送第二触发信息。在对账中心获取到客户端发送的第二触发信息后,可以获取第一服务器的第三路由配置数据和第二服务器的第二路由配置数据,该第二触发信息用于触发检测第三路由配置数据和第二路由配置数据是否一致,第三路由配置数据的结构与第一路由配置数据的结构一样,为路由记录结构、且该第三路由配置数据在第一路由配置数据产生之后产生,也即,该第三路由配置数据为第一服务器延迟目标时间下发的路由配置数据,比如,目标时间为10秒。在获取到第三路由配置数据和第二路由配置数据之后,对第三路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第三路由配置数据的结构和第二路由配置数据的结构均为目标结构,这样就可以在具有目标结构的第三路由配置数据和具有目标结构的第二路由配置数据一致后,将第一服务器的状态由异常确定为正常,从而准确地确定出第一服务器的状态,提高了确定第一服务器的状态的效率。
作为一种可选的实施方式,步骤S202,获取第一服务器的第一路由配置数据包括:获取通过第一服务器的代理进程发送的第一路由配置数据。
代理进程通常位于网关、路由器等被管对象中,监视被管对象的状态,响应管理进程的管理请求、报告被管对象的属性、执行被管对象的操作等。在该实施例中,第一服务器具有代理进程,第一路由配置数据可以写在代理进程的目标文件下,在获取第一服务器的第一路由配置数据时,可以获取通过第一服务器的代理进程发送的第一路由配置数据。
作为一种可选的实施方式,获取通过第一服务器的代理进程发送的第一路由配置数据包括:向第一服务器的代理进程发送目标请求,其中,目标请求用于请求获取第一路由配置数据;获取代理进程响应目标请求、发送的第一路由配置数据。
在该实施例中,对账中心可以向第一服务器的代理进程发送目标请求,该目标请求可以为用于实时路由配置的请求,用于向代理进程请求第一路由配置数据。代理进程在获取到该目标请求之后,响应该目标请求,向对账中心发送第一路由配置数据,使得对账中心获取到第一服务器的代理进程返回的第一路由配置数据。
作为一种可选的实施方式,在获取通过第一服务器的代理进程发送的第一路由配置数据之前,该方法还包括:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,触发第一服务器的代理进程发送第一路由配置数据。
在该实施例中,第一服务器的地址信息可以为分布式服务器的互联网协议地址(Internet Protocol Address,简称为IP地址),第一服务器上的目标对象的标识信息可以为分布式服务器上存在的用户的ID,其中,目标对象为用户。在获取通过第一服务器的代理进程发送的第一路由配置数据之前,可以通过第一服务器的地址信息和第一服务器上的目标对象的标识信息触发调用代理进程,使得第一服务器向对账中心发送第一路由配置数据。
作为一种可选的实施方式,通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,触发第一服务器的代理进程发送第一路由配置数据包括:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,异步触发第一服务器的代理进程通过第一目标接口发送第一路由配置数据。
在该实施例中,在第二服务器(Zookeeper)的Observer上调用第一服务器上的代理进程提供的第一目标接口,分为两种调用方式,同步调用和异步调用。其中,同步调用为在调用第一目标接口之后,会阻塞数据返回,也即,代理进程此时不能做其它事情,只能等待,从而会降低对账效率;异步调用为在第二服务器发出调用动作之后,代理进程还能继续执行其它任务,等待第一目标接口返回通知,再进行处理。
该实施例通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,异步触发第一服务器的代理进程通过第一目标接口发送第一路由配置数据,可以异步调用代理进程的第一目标接口,向第一目标接口传入参数以获取第一路由配置数据,比如,传入用户ID以及路由配置类型的参数,该路由配置类型为路由配置数据的类型,比如,为route、subnet_route、global_route、neigh_route等类型,此处不做任何限制。
作为一种可选的实施方式,步骤S202,获取第二服务器的第二路由配置数据包括:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息获取目标索引树,其中,目标索引树通过地址信息和标识信息进行标识;从目标索引树中获取到第二路由配置数据。
在该实施例中,对账中心在一次对账的输入是第一服务器的IP地址与第一服务器上存在的用户ID。第二服务器的路由配置数据的树形组织结构存在一颗目标索引树(Datatree),该目标索引树包括了第二服务器的第二路由配置数据,从目标索引树中获取到第二路由配置数据,比如,可以根据第一服务器的IP地址以及第一服务器上存在的用户ID查找到subnet_route树,再将subnet_route树的树形结构转换为一条一条的路由记录形式的第二路由配置数据,然后将路由记录形式的第二路由配置数据与第一服务器上的路由配置数据进行对比,检测第二路由配置数据与第一服务器上的路由配置数据是否一致,在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常,从而达到了提高确定服务器的效率的技术效果。
作为一种可选的实施方式,步骤S202,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据包括:在第二服务器的数据发生变更后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据。
在该实施例中,在第二服务器的数据发生变更后,比如,在Zookeeper集群管理的数据发生删除、添加、数据替换等情况下,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据。可选地,对账中心根据第一服务器的IP地址和用户ID的粒度进行对账,实时拉取第一服务器的代理进程返回的第一路由数据与第二服务器的第二路由数据,并将第一路由配置数据的结构和第二路由配置数据的结构转化为对账所需的目标结构进行对账,得到对账结果,并将对账结果返回给对账中心的客户端。其中,在具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常,从而达到了提高确定服务器的效率的技术效果。
作为一种可选的实施方式,在步骤S206,确定第一服务器出现异常之前,该方法还包括:通过与第一服务器的地址信息和第一服务器上的目标对象的标识信息对应的第二目标接口,检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致。
在该实施例中,对账中心的客户端可以根据第一服务器的地址信息和第一服务器上的目标对象的标识信息调用对账中心的第二目标接口,以触发对账中心通过第二目标接口对第一服务器和第二服务器进行对账。对账中心通过第二目标接口检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致。可选地,该实施例通过对账中心的客户端可以根据分布式服务器的IP以及用户的ID调用对账中心的第二目标接口,进行不同路由配置的对账,从而检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致,在具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常,从而达到了提高确定服务器的效率的技术效果。
作为一种可选的实施方式,步骤S204,对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构包括以下之一:将第一路由配置数据的结构转换为树形结构,其中,目标结构包括树形结构;将第二路由配置数据的结构转换为路由记录结构,其中,目标结构包括路由记录结构;将第一路由配置数据的结构转换为预定结构,将第二路由配置数据的结构转换为预定结构,其中,目标结构包括预定结构。
在该实施例中,路由配置数据的结构具有树形结构、路由记录结果以及其它可以用于第一服务器和第二服务器进行对账的数据结构。该实施例在对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构,以检测第一路由配置数据和第二路由配置数据是否一致时,可以将第一路由配置数据的结构转换为树形结构,使得转换后的第一路由配置数据的结构和第二路由配置数据的结构均为树形结构;也可以将第二路由配置数据的结构转换为路由记录结构,使得第一路由配置数据的结构和转换后的第二路由配置数据的结构均为路由记录结构;也可以将第一路由配置数据的结构转换为预定结构,将第二路由配置数据的结构也转换为预定结构,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为预定结构,该预定结构为除树形结构和路由记录结构之外的其它可以用于第一服务器和第二服务器对账的数据结构。
可选地,该实施例还通过不同的业务需求过滤对账结果,比如,在发布某个服务器特性时,分布式的服务器上会出现某些服务器存在路由,而某些服务器不存在路由,此时需要根据业务需求过滤不存在路由的对账结果和告警信息。
该实施例将原来集中式部署中通过客户端进行的路由配置对账的功能,在第二服务器中进行集中式部署,比如,在Zookeeper的Observer中进行开发,通过集中式部署方式来进行分布式网络路由配置对账,通过客户端发送进行对账的触发消息,由对账中心执行对账的动作,可以解决由于Zookeeper集群管理的数据量增加、Watcher同步不及时所造成的误告警问题,也可以解决数据量大、对账中心启动时间过长问题,还可以支持纵向和横向扩容,比如,纵向体现在可以通过扩展进程的线程数,也可以通过提高机器的性能上,横向体现在通过扩容Observer,也即,扩展分布式服务器的数量。该实施例还可以使得对账中心的容灾能力得到极大提升,同时采用集中式部署方式也能天然解决随着业务的扩大,分布式服务器不停增加给Zookeeper集群带来的双倍压力。
该实施例当第二服务器的路由配置数据与第一服务器的路由配置数据不一致时,可以在分钟级别发现、并产生有效告警,该实施例对服务器异常的有效告警率可以基本达到100%,无需浪费运维和研发时间,并可以根据准确的告警信息实现对异常服务器的修复,从而确保服务器路由配置的正确性,提高了确定服务器的效率的正确性,进而有效地保障网络客户的网络通信。
下面结合优选的实施例对本发明的技术方案进行说明,具体以第一服务器为分布式服务器,第二服务器为协调服务器Zookeeper进行举例说明。
该实施例将原来实施在客户端中的对账程序实施在Zookeeper的observer角色中,可以原生解决集中式对账集中点的Watcher全量数据与用户配置的全量数据不一致而导致的误告警问题。另外,通常在集中式对账启动阶段,拉取海量数据启动过慢,而利用Zookeeper的ZAB同步协议,来获取用户的路由配置数据,并将其解析成网络层面所需的路由配置数据,可以在分钟级别内完成。
图3是根据本发明实施例的一种服务器的状态确定的***的结构示意图。如图3所示,该***包括:对账中心客户端1、对账中心2和代理进程3。其中,对账中心客户端1用于向Zookeeper集群中的对账中心2(Zookeeper_server)发送触发对账的消息,为对账中心2提供用于进行分布式服务器和Zookeeper对账的对账接口,以进行7*24小时对账,可以针对分布式服务器和Zookeeper对账不一致的情况,再次进行对账,确认屏蔽由于持续的路由变更,而产生的中间状态进行告警。可选地,路由变更会使zookeeper存在数据,而分布式服务器上的路由因为进程性能或者进程正在处理其他逻辑而导致路由下发出现一定时间内的延迟,从而导致出现告警,此类告警应该通过二次对账过滤。对账中心客户端1将返回的对账不一致结果记录在DB中,并发送告警信息,运维人员或研发人员在接收到告警信息之后,从DB中拉取信息并进行展示。
该实施例的对账中心2实际为Zookeeper的一个服务器,其角色为Observer,Observer本身就通过ZAB协议与主集群进程同步,Observer的数据天然与主集群的数据实时同步,可以天然解决数据同步的实时性问题,从而解决误告警问题。
对账中心2在Zookeeper集群管理的数据发生变更时同步更新到对账线程,比如,在Zookeeper集群管理的数据发生删除、添加、数据替换等,将路由配置数据的结构转化为对账所需结构,其中,路由配置数据反应在Zookeeper上的数据组织形式是树形结构,而在分布式服务器的内核上反应为一条记录路由形式,两者需要进行统一才能对比;可选地,对账中心2根据分布式服务器的IP和分布式服务器上的用户ID的粒度进行对账,实时拉取服务器代理进程的路由配置数据与Zookeeper的路由配置数据进行对账,得到对账结果,并将对账结果返回给对账中心客户端1。
在该实施例中,每一个分布式服务器都有一个代理进程,代理进程3接收到对账中心2发出的用于获取实时路由配置数据的请求,分布式服务器上的路由配置数据为内核配置数据,写入在程序文件夹(proc)下。
在该实施例中,后台服务器开启7*24的Zookeeper全量路由与分布式服务器下发到内核的路由配置进行对账,在分布式服务器发生异常时及时告警,运维人员或者研发人员根据告警信息分析问题,从而保证用户路由无丢失,进而保障SDN网络中用户网络正常。
图4是根据本发明实施例的一种确定服务器状态的方法的交互示意图。如图4所示,该方法包括以下步骤:
步骤S401,对账中心客户端调用对账中心接口发起用于对账的触发消息。
步骤S402,对账中心获取到第一触发信息,触发分布式服务器的代理进程发送第一路由配置数据。
步骤S403,对账中心获取第一路由配置数据。
步骤S404,对账中心对第一路由配置数据和Zookeeper对应的第二路由配置数据进行对账,得到对账结果。
步骤S404,对账中心向对账中心客户端返回对账结果。
图5是根据本发明实施例的另一种确定服务器状态的方法的流程图。如图5所示,该方法包括以下步骤:
步骤S501,对账中心客户端调用对账中心接口发起用于对账的触发消息。
在该实施例中,对账中心客户端可以根据分布式服务器的IP以及分布式服务器上的用户的ID来调用对账中心接口,以进行路由配置的对账。
该实施例通过Zookeeper的Observer上调用分布式服务器上的代理进程提供的接口,有两种调用方式,包括同步调用方式和异步调用方式。其中,同步调用为在调用接口之后,会阻塞其它数据、等待接口返回数据,也即,代理进程此时不能做其它事情,只能进行等待,这样降低对账效率;异步调用在发出调用动作之后,代理进程就能继续执行其它任务,等待接口返回通知,再处理结果。该实施例的对账中心可以根据获取的分布式服务器的IP以及分布式服务器上的用户ID,异步调用代理进程的接口,向接口传入用户的ID以及路由配置类型,其中,路由配置类型为路由配置数据的类型,可以为route、subnet_route、global_route、neigh_route等类型。
步骤S502,对账中心获取分布式服务器的路由配置数据。
对账中心获取到代理进程返回的分布式服务器的路由配置数据。
步骤S503,对账中心获取Zookeeper对应的路由配置数据。
对账中心根据分布式服务器的IP以及用户ID从Zookeeper的索引树(Datatree)中转换出对应的路由配置数据。
可选地,该实施例的对账中心在一次对账时的输入是分布式服务器的IP地址与分布式服务器上存在的用户ID。Zookeeper的树形组织结构存在一颗索引树,可以根据分布式服务器的IP地址以及分布式服务器上存在的用户ID,查找到路由树,比如,查找到subnet_route树,再将subnet_route树的树形结构的路由配置数据转换为一条一条的路由记录结构的路由配置数据。
步骤S504,进行分布式服务器的路由配置数据和Zookeeper对应的路由配置数据的对账。
在对账中心获取分布式服务器的路由配置数据和Zookeeper对应的路由配置数据之后,对具有路由记录结构的分布式服务器的路由配置数据和具有路由配置数据的Zookeeper的路由配置数据进行对账,得到对账结果。
步骤S505,对账中心根据不同的业务需求,将对账结果返回给对账中心客户端。
对账中心根据不同的业务需求过滤和转换对账结果,并将对账结果返回给对账中心客户端。
不同的业务需求过滤和转换对账结果,可以为正在发布某个特性,分布式的服务器上会出现某些服务器存在路由,而某些服务器不存在路由,此时需要根据需求过滤不存在路由的对账结果和告警信息。
在该实施例中,对账中心客户端在接收到返回结果之后,如果对账结果为分布式服务器的路由配置数据与Zookeeper的路由配置数据不一致,则为避免由于数据的持续变更而导致的对账不一致,会进行二次对账,也即,针对第一次对账出现的分布式服务器的路由配置数据与Zookeeper的路由配置数据不一致,再按照以上逻辑针对不一致的路由配置数据再进行二次确认,再次确认分布式服务器的路由配置数据与Zookeeper的路由配置数据是否确实不一致。
在该实施例中,如果对账中心客户端多次确认分布式服务器的路由配置数据与Zookeeper的路由配置数据不一致时,发送告警信息并记录到DB。当运维人员或开发人员接收到告警信息之后,可以通过WEB页面查看具体的服务器的路由配置数据与Zookeeper的路由配置数据不一致的信息,确认分布式服务器是否出现异常,进而在确认分布式服务器出现异常时,调用具体的修复工具对分布式服务器进行修复,从而确保服务器的路由配置的正确性,保证用户路由无丢失,有效地保障网络客户的网络通信质量。
该实施例将原来集中式部署中通过客户端进行的路由配置对账的功能,在Zookeeper的Observer中进行开发,通过集中式部署方式来进行分布式网络路由配置对账,由对账中心客户端发送进行对账的触发消息,由对账中心执行对账的动作,可以解决由于Zookeeper集群管理的数据量增加、Watcher同步不及时所造成的误告警问题,也可以解决数据量大、对账中心启动时间过长问题,还可以支持纵向和横向扩容,比如,纵向体现在可以通过扩展进程的线程数,也可以通过提高机器的性能上,横向体现在通过扩容Observer,也即,扩展分布式服务器的数量。该实施例还可以使得对账中心的容灾能力得到极大提升,同时采用集中式部署方式也能天然解决随着业务的扩大,分布式服务器不停增加给Zookeeper集群带来的双倍压力。
该实施例当Zookeeper的路由配置数据与实际分布式机器的路由配置数据不一致时,可以在分钟级别发现、并产生有效告警,该实施例对服务器异常的有效告警率可以基本达到100%,无需浪费运维和研发时间,并可以根据准确地告警信息实现对异常服务器的修复,从而确保服务器路由配置的正确性,提高了确定服务器的效率的正确性,进而有效地保障网络客户的网络通信。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一方面,还提供了一种用于实施上述确定服务器状态的方法的确定服务器的状态的。图6是根据本发明实施例的一种确定服务器状态的装置的示意图。如图6所示,该确定服务器状态的装置600可以包括:获取单元10、转换单元20和确定单元30。
获取单元10,用于在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构。
转换单元20,用于对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构。
确定单元30,用于在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
可选地,该装置还包括:指示单元,用于在确定第一服务器出现异常之后,在连续至少两次确定出第一服务器出现异常后,指示客户端发送告警信息,其中,告警信息用于指示第一服务器出现异常。
可选地,该装置还包括:第一获取单元、第一转换单元和第一确定单元。其中,第一获取单元,用于在确定第一服务器出现异常之后,在获取到客户端发送的第二触发信息后,获取第一服务器的第三路由配置数据和第二服务器的第二路由配置数据,其中,第二触发信息用于触发检测第三路由配置数据和第二路由配置数据是否一致,第三路由配置数据的结构为路由记录结构、且第三路由配置数据在第一路由配置数据产生之后产生;第一转换单元,用于对第三路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第三路由配置数据的结构和第二路由配置数据的结构均为目标结构;第一确定单元,用于在检测到具有目标结构的第三路由配置数据和具有目标结构的第二路由配置数据一致后,将第一服务器的状态由异常确定为正常。
可选地,获取单元10包括:第一获取模块,用于获取通过第一服务器的代理进程发送的第一路由配置数据。
可选地,第一获取模块包括:发送子模块和获取子模块。其中,发送子模块,用于向第一服务器的代理进程发送目标请求,其中,目标请求用于请求获取第一路由配置数据;获取子模块,用于获取代理进程响应目标请求、发送的第一路由配置数据。
可选地,获取单元10还包括:触发模块,用于在获取通过第一服务器的代理进程发送的第一路由配置数据之前,通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,触发第一服务器的代理进程发送第一路由配置数据。
可选地,触发模块包括:触发子模块,用于通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,异步触发第一服务器的代理进程通过第一目标接口发送第一路由配置数据。
可选地,获取单元10包括:第二获取模块,用于通过第一服务器的地址信息和第一服务器上的目标对象的标识信息获取目标索引树,其中,目标索引树通过地址信息和标识信息进行标识;第三获取模块,用于从目标索引树中获取到第二路由配置数据。
可选地,获取单元10包括:第四获取模块,用于在第二服务器的数据发生变更后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据。
可选地,该装置还包括:检测单元,用于在确定第一服务器出现异常之前,通过与第一服务器的地址信息和第一服务器上的目标对象的标识信息对应的第二目标接口,检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致。
可选地,转换单元30包括以下之一:第一转换模块,用于将第一路由配置数据的结构转换为树形结构,其中,目标结构包括树形结构;第二转换模块,用于将第二路由配置数据的结构转换为路由记录结构,其中,目标结构包括路由记录结构;第三转换模块,用于将第一路由配置数据的结构转换为预定结构,将第二路由配置数据的结构转换为预定结构,其中,目标结构包括预定结构。
需要说明的是,该实施例中的获取单元10可以用于执行本申请实施例中的步骤S202,该实施例中的转换单元20可以用于执行本申请实施例中的步骤S204,该实施例中的确定单元30可以用于执行本申请实施例中的步骤S206。
该实施例通过获取单元10在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构,通过转换单元20对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构,通过确定单元30在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常由于获取到客户端发送的第一触发信息,在检测到第一路由配置数据和第二服务器的第二路由配置数据不一致后,有效地确定第一服务器出现异常,达到了确定服务器的状态的目的,从而实现了提高确定服务器的状态的效率的技术效果,进而解决了相关技术确定服务器的状态的效率低的技术问题。
此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本发明实施例的又一方面,还提供了一种用于实施上述确定服务器的状态的电子装置。
图7是根据本发明实施例的一种电子装置的结构框图。如图7所示,该的电子装置可以包括:包括存储器701和处理器703,该存储器701中存储有计算机程序,该处理器703被设置为通过计算机程序执行上述任一项方法实施例中的步骤。可选地,如图7所示,该电子装置还可以包括传输装置705和输入输出设备707。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器703可以被设置为通过计算机程序执行以下步骤:
在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;
对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;
在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
处理器703还用于执行下述步骤:在确定第一服务器出现异常之后,在连续至少两次确定出第一服务器出现异常后,指示客户端发送告警信息,其中,告警信息用于指示第一服务器出现异常。
处理器703还用于执行下述步骤:在确定第一服务器出现异常之后,在获取到客户端发送的第二触发信息后,获取第一服务器的第三路由配置数据和第二服务器的第二路由配置数据,其中,第二触发信息用于触发检测第三路由配置数据和第二路由配置数据是否一致,第三路由配置数据的结构为路由记录结构、且第三路由配置数据在第一路由配置数据产生之后产生;对第三路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第三路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第三路由配置数据和具有目标结构的第二路由配置数据一致后,将第一服务器的状态由异常确定为正常。
处理器703还用于执行下述步骤:获取通过第一服务器的代理进程发送的第一路由配置数据。
处理器703还用于执行下述步骤:向第一服务器的代理进程发送目标请求,其中,目标请求用于请求获取第一路由配置数据;获取代理进程响应目标请求、发送的第一路由配置数据。
处理器703还用于执行下述步骤:在获取通过第一服务器的代理进程发送的第一路由配置数据之前,通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,触发第一服务器的代理进程发送第一路由配置数据。
处理器703还用于执行下述步骤:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,异步触发第一服务器的代理进程通过第一目标接口发送第一路由配置数据。
处理器703还用于执行下述步骤:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息获取目标索引树,其中,目标索引树通过地址信息和标识信息进行标识;从目标索引树中获取到第二路由配置数据。
处理器703还用于执行下述步骤:在第二服务器的数据发生变更后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据。
处理器703还用于执行下述步骤:在确定第一服务器出现异常之前,:通过与第一服务器的地址信息和第一服务器上的目标对象的标识信息对应的第二目标接口,检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致。
处理器703还用于执行下述步骤:将第一路由配置数据的结构转换为树形结构,其中,目标结构包括树形结构;将第二路由配置数据的结构转换为路由记录结构,其中,目标结构包括路由记录结构;将第一路由配置数据的结构转换为预定结构,将第二路由配置数据的结构转换为预定结构,其中,目标结构包括预定结构。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如AndroID手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
其中,存储器701可用于存储软件程序以及模块,如本发明实施例中的数据处理方法和装置对应的程序指令/模块,处理器703通过运行存储在存储器701内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器701可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器701可进一步包括相对于处理器703远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置705用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置705包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置705为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器701用于存储应用程序。
采用本发明实施例,提供了一种确定服务器的状态的方案。在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。由于获取到客户端发送的第一触发信息,在检测到第一路由配置数据和第二服务器的第二路由配置数据不一致后,有效地确定第一服务器出现异常,达到了确定服务器的状态的目的,从而实现了提高确定服务器的状态的效率的技术效果,进而解决了相关技术确定服务器的状态的效率低的技术问题。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第一路由配置数据和第二路由配置数据是否一致,第一路由配置数据的结构为路由记录结构,第二路由配置数据的结构为树形结构;
对第一路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第一路由配置数据的结构和第二路由配置数据的结构均为目标结构;
在检测到具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据不一致后,确定第一服务器出现异常。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在确定第一服务器出现异常之后,在连续至少两次确定出第一服务器出现异常后,指示客户端发送告警信息,其中,告警信息用于指示第一服务器出现异常。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在确定第一服务器出现异常之后,在获取到客户端发送的第二触发信息后,获取第一服务器的第三路由配置数据和第二服务器的第二路由配置数据,其中,第一触发信息用于触发检测第三路由配置数据和第二路由配置数据是否一致,第三路由配置数据的结构为路由记录结构、且第三路由配置数据在第一路由配置数据产生之后产生;对第三路由配置数据的结构和/或第二路由配置数据的结构进行转换,使得转换完成后的第三路由配置数据的结构和第二路由配置数据的结构均为目标结构;在检测到具有目标结构的第三路由配置数据和具有目标结构的第二路由配置数据一致后,将第一服务器的状态由异常确定为正常。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取通过第一服务器的代理进程发送的第一路由配置数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:向第一服务器的代理进程发送目标请求,其中,目标请求用于请求获取第一路由配置数据;获取代理进程响应目标请求、发送的第一路由配置数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在获取通过第一服务器的代理进程发送的第一路由配置数据之前,通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,触发第一服务器的代理进程发送第一路由配置数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息,异步触发第一服务器的代理进程通过第一目标接口发送第一路由配置数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:通过第一服务器的地址信息和第一服务器上的目标对象的标识信息获取目标索引树,其中,目标索引树通过地址信息和标识信息进行标识;从目标索引树中获取到第二路由配置数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在第二服务器的数据发生变更后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在确定第一服务器出现异常之前,:通过与第一服务器的地址信息和第一服务器上的目标对象的标识信息对应的第二目标接口,检测具有目标结构的第一路由配置数据和具有目标结构的第二路由配置数据是否一致。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将第一路由配置数据的结构转换为树形结构,其中,目标结构包括树形结构;将第二路由配置数据的结构转换为路由记录结构,其中,目标结构包括路由记录结构;将第一路由配置数据的结构转换为预定结构,将第二路由配置数据的结构转换为预定结构,其中,目标结构包括预定结构。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种确定服务器状态的方法,其特征在于,包括:
在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,所述第一触发信息用于触发检测所述第一路由配置数据和所述第二路由配置数据是否一致,所述第一路由配置数据的结构为路由记录结构,所述第二路由配置数据的结构为树形结构;
对所述第一路由配置数据的结构和/或所述第二路由配置数据的结构进行转换,使得所述转换完成后的所述第一路由配置数据的结构和所述第二路由配置数据的结构均为目标结构;
在检测到具有所述目标结构的所述第一路由配置数据和具有所述目标结构的所述第二路由配置数据不一致后,确定所述第一服务器出现异常。
2.根据权利要求1所述的方法,其特征在于,在确定所述第一服务器出现异常之后,所述方法包括:
在连续至少两次确定出所述第一服务器出现异常后,指示所述客户端发送告警信息,其中,所述告警信息用于指示所述第一服务器出现异常。
3.根据权利要求1所述的方法,其特征在于,在确定所述第一服务器出现异常之后,所述方法还包括:
在获取到所述客户端发送的第二触发信息后,获取所述第一服务器的第三路由配置数据和所述第二服务器的第二路由配置数据,其中,所述第二触发信息用于触发检测所述第三路由配置数据和所述第二路由配置数据是否一致,所述第三路由配置数据的结构为所述路由记录结构、且所述第三路由配置数据在所述第一路由配置数据产生之后产生;
对所述第三路由配置数据的结构和/或所述第二路由配置数据的结构进行转换,使得所述转换完成后的所述第三路由配置数据的结构和所述第二路由配置数据的结构均为所述目标结构;
在检测到具有所述目标结构的所述第三路由配置数据和具有所述目标结构的所述第二路由配置数据一致后,将所述第一服务器的状态由所述异常确定为正常。
4.根据权利要求1所述的方法,其特征在于,获取所述第一服务器的所述第一路由配置数据包括:
获取通过所述第一服务器的代理进程发送的所述第一路由配置数据。
5.根据权利要求1所述的方法,其特征在于,获取通过所述第一服务器的代理进程发送的所述第一路由配置数据包括:
向所述第一服务器的所述代理进程发送目标请求,其中,所述目标请求用于请求获取所述第一路由配置数据;
获取所述代理进程响应所述目标请求、发送的所述第一路由配置数据。
6.根据权利要求4所述的方法,其特征在于,在获取通过所述第一服务器的代理进程发送的所述第一路由配置数据之前,所述方法还包括:
通过所述第一服务器的地址信息和所述第一服务器上的目标对象的标识信息,触发所述第一服务器的代理进程发送所述第一路由配置数据。
7.根据权利要求6所述的方法,其特征在于,通过所述第一服务器的地址信息和所述第一服务器上的目标对象的标识信息,触发所述第一服务器的代理进程发送所述第一路由配置数据包括:
通过所述第一服务器的地址信息和所述第一服务器上的目标对象的标识信息,异步触发所述第一服务器的代理进程通过第一目标接口发送所述第一路由配置数据。
8.根据权利要求1所述的方法,其特征在于,获取所述第二服务器的所述第二路由配置数据包括:
通过所述第一服务器的地址信息和所述第一服务器上的目标对象的标识信息获取目标索引树,其中,所述目标索引树通过地址信息和所述标识信息进行标识;
从所述目标索引树中获取到所述第二路由配置数据。
9.根据权利要求1所述的方法,其特征在于,获取所述第一服务器的所述第一路由配置数据和所述第二服务器的所述第二路由配置数据包括:
在所述第二服务器的数据发生变更后,获取所述第一服务器的所述第一路由配置数据和所述第二服务器的所述第二路由配置数据。
10.根据权利要求1所述的方法,其特征在于,在确定所述第一服务器出现异常之前,所述方法还包括:
通过与所述第一服务器的地址信息和所述第一服务器上的目标对象的标识信息对应的第二目标接口,检测具有所述目标结构的所述第一路由配置数据和具有所述目标结构的所述第二路由配置数据是否一致。
11.根据权利要求1至10中任意一项所述的方法,其特征在于,对所述第一路由配置数据的结构和/或所述第二路由配置数据的结构进行转换,使得所述转换完成后的所述第一路由配置数据的结构和所述第二路由配置数据的结构均为目标结构包括以下之一:
将所述第一路由配置数据的结构转换为所述树形结构,其中,所述目标结构包括所述树形结构;
将所述第二路由配置数据的结构转换为所述路由记录结构,其中,所述目标结构包括所述路由记录结构;
将所述第一路由配置数据的结构转换为预定结构,将所述第二路由配置数据的结构转换为所述预定结构,其中,所述目标结构包括所述预定结构。
12.一种确定服务器的状态装置,其特征在于,包括:
获取单元,用于在获取到客户端发送的第一触发信息后,获取第一服务器的第一路由配置数据和第二服务器的第二路由配置数据,其中,所述第一触发信息用于触发检测所述第一路由配置数据和所述第二路由配置数据是否一致,所述第一路由配置数据的结构为路由记录结构,所述第二路由配置数据的结构为树形结构;
转换单元,用于对所述第一路由配置数据的结构和/或所述第二路由配置数据的结构进行转换,使得所述转换完成后的所述第一路由配置数据的结构和所述第二路由配置数据的结构均为目标结构;
确定单元,用于在检测到具有所述目标结构的所述第一路由配置数据和具有所述目标结构的所述第二路由配置数据不一致后,确定所述第一服务器出现异常。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
指示单元,用于在确定所述第一服务器出现异常之后,在连续至少两次确定出所述第一服务器出现异常后,指示所述客户端发送告警信息,其中,所述告警信息用于指示所述第一服务器出现异常。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至11任一项中所述的确定服务器状态的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的确定服务器状态的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810247693.2A CN110196780B (zh) | 2018-03-23 | 2018-03-23 | 确定服务器状态的方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810247693.2A CN110196780B (zh) | 2018-03-23 | 2018-03-23 | 确定服务器状态的方法、装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110196780A true CN110196780A (zh) | 2019-09-03 |
CN110196780B CN110196780B (zh) | 2020-06-23 |
Family
ID=67751082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810247693.2A Active CN110196780B (zh) | 2018-03-23 | 2018-03-23 | 确定服务器状态的方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110196780B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368306A (zh) * | 2020-03-03 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种后台服务器安全加固的方法、***、设备及介质 |
CN112084090A (zh) * | 2020-09-03 | 2020-12-15 | 深信服科技股份有限公司 | 服务器管理方法、服务器、管理终端及存储介质 |
CN114500276A (zh) * | 2020-11-13 | 2022-05-13 | 中兴通讯股份有限公司 | 数据处理方法、装置、***和计算机可读存储介质 |
CN116896518A (zh) * | 2023-09-11 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 路由对账方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253748A (zh) * | 2014-09-24 | 2014-12-31 | 大唐移动通信设备有限公司 | 基于分布式架构的路由方法和*** |
US20150039735A1 (en) * | 2012-02-07 | 2015-02-05 | Cloudera, Inc. | Centralized configuration of a distributed computing cluster |
WO2015188501A1 (zh) * | 2014-06-12 | 2015-12-17 | 中兴通讯股份有限公司 | 配置文件更新方法、装置及***和计算机存储介质 |
CN106021070A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 服务器集群监测方法及装置 |
CN106034079A (zh) * | 2015-03-09 | 2016-10-19 | ***通信集团上海有限公司 | 一种路由配置方法、业务路由方法及核心路由器 |
CN106603281A (zh) * | 2016-12-07 | 2017-04-26 | 乐视控股(北京)有限公司 | 配置文件管理方法及*** |
CN106912032A (zh) * | 2015-12-23 | 2017-06-30 | ***通信集团公司 | 一种信息处理方法、***、客户端和服务器 |
-
2018
- 2018-03-23 CN CN201810247693.2A patent/CN110196780B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039735A1 (en) * | 2012-02-07 | 2015-02-05 | Cloudera, Inc. | Centralized configuration of a distributed computing cluster |
WO2015188501A1 (zh) * | 2014-06-12 | 2015-12-17 | 中兴通讯股份有限公司 | 配置文件更新方法、装置及***和计算机存储介质 |
CN104253748A (zh) * | 2014-09-24 | 2014-12-31 | 大唐移动通信设备有限公司 | 基于分布式架构的路由方法和*** |
CN106034079A (zh) * | 2015-03-09 | 2016-10-19 | ***通信集团上海有限公司 | 一种路由配置方法、业务路由方法及核心路由器 |
CN106912032A (zh) * | 2015-12-23 | 2017-06-30 | ***通信集团公司 | 一种信息处理方法、***、客户端和服务器 |
CN106021070A (zh) * | 2016-04-29 | 2016-10-12 | 乐视控股(北京)有限公司 | 服务器集群监测方法及装置 |
CN106603281A (zh) * | 2016-12-07 | 2017-04-26 | 乐视控股(北京)有限公司 | 配置文件管理方法及*** |
Non-Patent Citations (1)
Title |
---|
李东辉等: "分布式数据库协调技术—Zookeeper", 《科技展望》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368306A (zh) * | 2020-03-03 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种后台服务器安全加固的方法、***、设备及介质 |
CN112084090A (zh) * | 2020-09-03 | 2020-12-15 | 深信服科技股份有限公司 | 服务器管理方法、服务器、管理终端及存储介质 |
CN112084090B (zh) * | 2020-09-03 | 2024-02-23 | 深信服科技股份有限公司 | 服务器管理方法、服务器、管理终端及存储介质 |
CN114500276A (zh) * | 2020-11-13 | 2022-05-13 | 中兴通讯股份有限公司 | 数据处理方法、装置、***和计算机可读存储介质 |
CN116896518A (zh) * | 2023-09-11 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 路由对账方法、装置、电子设备及存储介质 |
CN116896518B (zh) * | 2023-09-11 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 路由对账方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110196780B (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196780A (zh) | 确定服务器状态的方法、装置、存储介质和电子装置 | |
CN108418862B (zh) | 基于人工智能服务云平台的微服务管理方法和*** | |
CN114143203B (zh) | 一种基于动态服务拓扑映射的Kubernetes容器网络数据包指标采集的方法及*** | |
CN108921551A (zh) | 基于Kubernetes平台的联盟区块链*** | |
US10846706B2 (en) | Method and apparatus for autonomous services composition | |
WO2020248805A1 (zh) | 业务链的编排方法及装置、存储介质和电子装置 | |
CN100466548C (zh) | 设备业务数据的查询方法及其*** | |
CN109743358A (zh) | 异步消息接口熔断控制方法、装置、计算机设备及存储介质 | |
CN107003983A (zh) | 配置网络 | |
CN109660548B (zh) | 基于全局网络拓扑结构的防火墙规则生成方法及服务器 | |
CN105991694B (zh) | 一种实现分布式服务调用的方法与设备 | |
CN112333249B (zh) | 一种业务服务***及方法 | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
CN109146381A (zh) | 物流数据监控方法、装置、电子设备及计算机存储介质 | |
CN109522360A (zh) | 一种大数据中心监控数据可视化***及方法 | |
CN109710613A (zh) | 字段的管理方法、装置、服务器和存储介质 | |
CN108733698A (zh) | 一种日志消息的处理方法及后台服务*** | |
CN109257378A (zh) | 一种快速识别物联网环境非法接入资产的方法与*** | |
CN114745295A (zh) | 数据采集方法、装置、设备和可读存储介质 | |
JP6508711B2 (ja) | ネットワークシステム及びネットワーク設定方法 | |
CN109669807A (zh) | 业务事件的校验方法及装置、处理器、存储介质 | |
CN108650337A (zh) | 一种服务器探测方法、***及存储介质 | |
CN105721398B (zh) | 数据访问的方法及装置 | |
CN113079070B (zh) | 一种域名***的响应性能监测方法及装置 | |
CN105956141A (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 |