CN107147466A - 一种系统时间一致性的控制方法及系统 - Google Patents
一种系统时间一致性的控制方法及系统 Download PDFInfo
- Publication number
- CN107147466A CN107147466A CN201710597361.2A CN201710597361A CN107147466A CN 107147466 A CN107147466 A CN 107147466A CN 201710597361 A CN201710597361 A CN 201710597361A CN 107147466 A CN107147466 A CN 107147466A
- Authority
- CN
- China
- Prior art keywords
- node
- time
- destination
- agent
- system time
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种系统时间一致性的控制方法及系统,该方法包括:触发具有时间标定功能的第一节点上的agent获取包含了所有目标节点的节点注册信息的节点注册信息列表;所述第一节点上的agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。本方案让所有的目标节点根据系统标准时间自动化完成系统时间同步,保证云平台各个组件的运行时间一致性,从而保证云平台分布式架构下的完整高性能运行,提高产品竞争力。
Description
技术领域
本发明涉及云平台技术,尤指一种系统时间一致性的控制方法及系统。
背景技术
在云计算时代,对云平台的性能要求提出了更高的要求。如何在有限的物理资源上搭建出高性能的云平台成为一种硬性需求,为解决此需求,在架构上就设计为分布式的架构,能够以比较低的硬件需求,在云平台多个节点上安装不同的组件功能提供服务,完成一个高性能的云平台来提供服务。此时,就出现了一个问题,云平台中的各个组件需要在相同或者接近相同的系统时间上运行,即各个节点的系统时间不能差距很大,系统时间差距过大会造成各个组件之间无法通信等各种问题。因此,如何保证多个节点中的系统时间一致性就成为云平台分布式系统中一个急需解决的问题。
发明内容
为了解决上述技术问题,本发明提供了一种系统时间一致性的控制方法及系统,通过自动化完成系统时间同步,保证了云平台各个组件的运行时间一致性,从而保证了云平台分布式架构下的完整高性能运行,提高了产品竞争力。
为了达到本发明目的,本发明提供了一种系统时间一致性的控制方法,应用于由多个节点组成的云平台中,每个节点中设置有用于实现节点间通信的代理agent,所述方法包括:
触发具有时间标定功能的第一节点上的agent,获取包含了所有目标节点的节点注册信息的节点注册信息列表;
所述第一节点上的agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;
所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。
进一步地,所述触发具有时间标定功能的第一节点上的agent,获取包含了所有目标节点的节点注册信息的节点注册信息列表包括:
当所述第一节点触发时间标定功能时,所述第一节点上的agent向在所述第一节点中注册的第二目标节点发送第一请求消息;其中,所述第一请求消息包括第一请求命令和第一节点IP,所述第一请求命令用于获取所述第二目标节点的节点注册信息;
所述第二目标节点上的agent向在所述第二目标节点中注册的除了所述第一节点IP对应的第一节点之外的第三目标节点发送第二请求消息;其中,所述第二请求消息包括第二请求命令、所述第一节点IP和第二目标节点IP,所述第二请求命令用于获取所述第三目标节点的节点注册信息;
所述第三目标节点上的agent向在所述第三目标节点中注册的除了所述第一节点IP对应的第一节点和所述第二目标节点IP对应的第二目标节点之外的第四目标节点发送第三请求消息;其中,所述第三请求消息包括第三请求命令、所述第一节点IP和所述第二目标节点IP和第三目标节点IP,所述第三请求命令用于获取所述第四目标节点的节点注册信息;
依次向下层节点发送请求信息,直到所述请求信息发送给末端目标节点;每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息,直到所述第一节点接收到包含了所有目标节点的节点注册信息的节点注册信息列表。
进一步地,所述每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息包括:
每一个目标节点上的agent将接收到的节点注册信息进行汇总,合并相同的节点注册信息,将汇总后的节点注册信息发送给上层目标节点。
进一步地,所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间包括:
所述第一节点上的agent将所有目标节点的当前系统时间采用线性时间排序算法计算出系统标准时间;
其中,所述线性时间排序算法包括:将所有目标节点的当前系统时间按照时间先后顺序进行排序,获取所述排序中所有目标节点数除于2所得到的数值对应位置上的时间作为系统标准时间。
进一步地,该方法还包括:
目标节点上的agent计算接收到的所述系统标准时间与当前系统时间的时间差,当所述时间差小于预设阈值时,不作任何处理;当所述时间差大于或等于预设阈值时,将所述当前系统时间更新为所述系统标准时间。
进一步地,该方法还包括:
所有目标节点将自身系统时间更新结果和更新后的当前系统时间反馈给所述第一节点;其中,所述系统时间更新结果包括:更新成功或更新失败;
当在预设时间内没有反馈时,则确定更新失败。
进一步地,该方法还包括:
所述第一节点上的agent接收并展示所有目标节点反馈的系统时间更新结果和所有目标节点的当前系统时间,以及所述系统标准时间。
为了达到本发明目的,本发明还提供了一种系统时间一致性的控制系统,应用于由多个节点组成的云平台中,每个节点中设置有用于实现节点间通信的代理agent,该系统包括:
触发具有时间标定功能的第一节点上的agent,用于获取包含了所有目标节点的节点注册信息的节点注册信息列表;
所述第一节点上的agent,还用于根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;
所述第一节点上的agent,还用于根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。
本发明技术方案提供了一种系统时间一致性的控制方法及系统,应用于由多个节点组成的云平台中,每个节点中设置有用于实现节点间通信的代理agent,该方法包括:触发具有时间标定功能的第一节点上的agent获取包含了所有目标节点的节点注册信息的节点注册信息列表;所述第一节点上的agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。本发明技术方案通过计算系统标准时间,可以让所有的目标节点根据系统标准时间自动化完成系统时间同步,保证云平台各个组件的运行时间一致性,从而保证云平台分布式架构下的完整高性能运行,提高产品竞争力。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的系统时间一致性的控制方法流程示意图;
图2为本发明实施例提供的系统时间一致性的控制系统结构示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
微服务架构(Microservices Architecture)是将系统拆分为多个服务,俗称为应用服务。应用服务实现单一、具体的业务应用功能,支持独立部署维护,每个服务专注于单一业务功能,运行于独立的进程中,服务之间边界清晰,多个应用服务构建成系统。应用服务之间通过轻量级通信框架(如HTTP/REST)相互沟通,并且支持应用服务用不同技术或者平台实现,配合来实现完整的应用,满足业务和用户的需求。
云平台采用分布式架构,一个云平台可能由成百上千的服务器节点组成。由于微服务中组件数量众多,因此采用微服务架构部署云平台时,云平台的不同节点安装部署了不同的组件,如何保证所有节点中安装的组件的系统时间一致性,是目前需要解决的重要问题之一。
在详细阐述本发明实施例之前,先说明一下本发明的发明构思。本发明提供的技术方案中,云平台所有的节点安装代理agent软件,各个节点能够通过agent互相通信,通过手动触发时间标定,所有节点返回系统时间,并通过时间排序算法,计算出系统时间值,然后所有节点进行判断,在一定的误差范围内的节点,不用修改自己的系统时间;超出误差范围的节点则修改自己的系统时间为计算出来的系统时间值。
上述agent软件为采用snmp(简单网络管理协议,Simple Network ManagementProtocol)协议,通过进行定制化脚本开发的代理软件。agent软件中的脚本和snmp软件的oid(对象标识符,Object Identifiers)进行对应,代理软件中的脚本可以本地执行,也可以通过snmp协议远程调用snmp对应的oid执行对应脚本。通过snmp协议,指定ip,端口号,snmpcommunity string(snmp社区字符串)信息,实现认证,节点agent软件通过oid,执行对应的定制化的脚本能够实现不同的功能,包含,查询当前系统时间,添加节点信息(节点信息包含系统ip、端口号、snmp的community string信息)、更新系统时间、根据节点信息询问节点的系统时间,计算多个节点的系统时间、展示在此节点中添加的节点信息、节点路由功能以及触发时间标定功能。然后,安装agent软件的时候,自动生成snmp的communitystring信息,并展示当前节点的agent软件信息,包含ip、端口和snmp的community string信息。再次,为节点中的agent软件中注册其他节点的信息,通过调用agent软件中的添加节点信息的功能,通过输入节点信息包含系统ip、端口号、snmp的community string信息以及唯一的系统标示添加节点。最后,在一个节点中人工触发时间标定,通过节点agent软件,执行时间标定功能。
图1为本发明实施例提供的系统时间一致性的控制方法流程示意图,如图1所示,该方法应用于由多个节点组成的云平台中,每个节点中设置有用于实现节点间通信的代理agent,包括:
步骤101,触发具有时间标定功能的第一节点上的agent获取包含了所有目标节点的节点注册信息的节点注册信息列表;
步骤102,所述第一节点上的agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;
步骤103,所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。
进一步地,所述触发具有时间标定功能的第一节点上的agent,获取包含了所有目标节点的节点注册信息的节点注册信息列表,包括:
当所述第一节点触发时间标定功能时,所述第一节点上的agent向在所述第一节点中注册的第二目标节点发送第一请求消息;其中,所述第一请求消息包括第一请求命令和第一节点IP,所述第一请求命令用于获取所述第二目标节点的节点注册信息;
所述第二目标节点上的agent向在所述第二目标节点中注册的除了所述第一节点IP对应的第一节点之外的第三目标节点发送第二请求消息;其中,所述第二请求消息包括第二请求命令、所述第一节点IP和第二目标节点IP,所述第二请求命令用于获取所述第三目标节点的节点注册信息;
所述第三目标节点上的agent向在所述第三目标节点中注册的除了所述第一节点IP对应的第一节点和所述第二目标节点IP对应的第二目标节点之外的第四目标节点发送第三请求消息;其中,所述第三请求消息包括第三请求命令、所述第一节点IP和所述第二目标节点IP和第三目标节点IP,所述第三请求命令用于获取所述第四目标节点的节点注册信息;
依次向下层节点发送请求信息,直到所述请求信息发送给末端目标节点;每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息,直到所述第一节点接收到包含了所有目标节点的节点注册信息的节点注册信息列表。
进一步地,所述每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息包括:
每一个目标节点上的agent将接收到的节点注册信息进行汇总,合并相同的节点注册信息,将汇总后的节点注册信息发送给上层目标节点。
进一步地,所述第一节点agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取目标节点的当前系统时间;具体包括
所述第一节点上的agent向所述节点注册信息列表中包含的所有目标节点发送当前系统时间请求消息;
目标节点上的agent获取自身所在节点的当前系统时间,并发送给所述第一节点。
进一步地,所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间,包括:
所述第一节点上的agent将所有目标节点的当前系统时间采用线性时间排序算法计算出系统标准时间;
其中,所述线性时间排序算法包括:将所有目标节点的当前系统时间按照时间先后顺序进行排序,获取所述排序中所有目标节点数除于2所得到的数值对应位置上的时间作为系统标准时间。
进一步地,该方法还包括:
目标节点上的agent计算接收到的所述系统标准时间与当前系统时间的时间差,当所述时间差小于预设阈值时,不作任何处理;当所述时间差大于或等于预设阈值时,将所述当前系统时间更新为所述系统标准时间。
进一步地,该方法还包括:
所有目标节点将自身系统时间更新结果和更新后的当前系统时间反馈给所述第一节点;其中,所述系统时间更新结果包括:更新成功或更新失败;
当在预设时间内没有反馈时,则确定更新失败。
进一步地,该方法还包括:
所述第一节点上的agent接收并展示所有目标节点反馈的系统时间更新结果和所有目标节点的当前系统时间,以及所述系统标准时间。
进一步地,该方法还包括:所述第一节点上的agent将所述节点注册信息列表发送给所有目标节点进行保存。
实施例一
本发明实施例的工作原理如下:所有的节点安装agent,各个节点能够通过agent互相通信,通过手动触发时间标定,所有节点返回系统时间,并通过时间排序算法,计算出系统时间值,然后所有节点进行判断,在一定的误差范围内,不用修改系统时间,超出误差范围则修改系统时间为计算出来的系统时间值。
具体实施过程如下:
首先,在每个节点安装代理软件,其中代理软件为采用snmp协议,通过进行定制化脚本开发的代理软件,代理软件中的脚本和snmp软件的oid进行对应,代理软件中的脚本可以本地执行,也可以通过snmp协议远程调用snmp对应的oid执行对应脚本。通过snmp协议,指定ip,端口号,snmpcommunity string信息,实现认证,节点代理软件通过oid,执行对应的定制化的脚本能够实现不同的功能,包含,查询当前系统时间,添加节点信息(节点信息包含系统ip、端口号、snmp的community string信息)、更新系统时间、根据节点信息询问节点的系统时间,计算多个节点的系统时间、展示在此节点中添加的节点信息、节点路由功能以及触发时间标定功能;然后,安装代理软件的时候,自动生成snmp的community string信息,并展示当前节点的代理软件信息,包含ip、端口和snmp的community string信息;再次,为节点中的代理软件中注册其他节点的信息,通过调用代理软件中的添加节点信息的功能,通过输入节点信息包含系统ip、端口号、snmp的community string信息以及唯一的系统标示添加节点。最后,在一个节点中人工触发时间标定,通过节点代理软件,执行时间标定功能。执行所有节点的时间标定,分以下几步:
1.触发时间标定的节点,通过代理软件,向此节点中注册的节点发送命令,请求此节点中注册的节点中注册的节点信息,并发送当前节点的ip;
2.被请求的节点自动触发请求节点信息的命令,向自己当前注册的节点中发送请求,并自动过滤发送请求的节点的ip。
具体步骤如下:
2.1节点1向节点2发送获取节点信息的命令;
2.2节点2会向注册到自己节点的节点中发送请求获取节点信息的命令,如果节点2中有节点1的注册信息,自动过滤节点1,不会重复向节点1发送请求节点信息的命令;
2.3节点3接受到节点2发送的获取节点信息的命令后,自动向自己节点中注册的节点发送获取节点信息的命令,并过滤节点1和节点2;
2.4请求节点信息的命令如此自动广播,直到没有节点可以发送,然后末端节点会依次向请求来的节点返回节点注册信息;
2.5每个节点注册的时候会注册系统的唯一标示,同一套系统的节点才会发送请求节点信息命令,节点发送命令的时候会自动带上自己的系统唯一标示,每个节点发送命令的时候会验证请求的节点的唯一标示,节点接受命令的时候也会验证请求节点的唯一标示;
2.6末端节点依次向调用的上层节点传送自己获取的节点注册信息,相同的节点注册信息会合并,减少传输的数据量,所有的注册节点信息会汇总到触发时间标定的节点中;
2.7触发时间标定的节点向自己获取到的节点注册信息列表的每个节点发送一份所有注册节点的注册信息,实现所有相同系统的节点的节点信息同步;
2.8节点信息同步能自动发现新注册到某个节点的新的节点并且去除了中心,架构上避免了单点故障;
2.9触发时间标定的节点向所有的节点发送请求获取目标节点的当前系统时间的oid,目标节点的代理软件执行获取当前系统时间的脚本,并返回获取到的系统时间给触发时间标定的节点;
2.10触发时间标定的节点,处理获取到的数据,采用线性时间排序算法,获取(节点数/2)位置的时间数值。线性时间排序算法说明如下:对获取的所有节点的时间按照时间先后顺序进行排序,然后获取(节点数/2)位置上的时间作为计算出的时间;
举例如下:
5个节点,依次获取的当前系统时间分别为,9:10,9:5,9:13,9:12,9:00,排序后的顺序为9:00,9:5,9:10,9:12,9:13,然后5/2四舍五入取整为3,则计算出的标准系统时间为9:10。
2.11触发时间标定的节点,调用所有的节点的更新系统时间的方法,通过向所有节点发送更新系统时间的方法对应的oid、计算出的系统时间以及允许的时间差范围,默认时间差范围为3分钟,并且时间范围差值参数支持输入,调用执行。所有节点返回结果,如果某节点返回失败,或者3分钟之内没有反馈,则重复调用,重复调用3次仍然失败,则表示该节点同步系统时间失败;
2.12被调用更新系统时间方法的节点,调用自己节点的获取系统时间的方法和计算出的系统时间做比对,如果系统时间差距在时间差距之内,则所有节点的系统时间无需调整,否则需要更新系统时间,更新系统时间操作采用命令方式直接设置操作系统的系统时间,执行完更新系统时间的操作,向触发时间标定的节点返回更新结果(成功或失败),同时传输当前节点的系统时间;
2.12触发时间标定的节点所在的代理软件展示计算出的系统时间以及所有节点的同步系统时间的操作结果以及节点的系统时间;
2.13完成所有节点的时间同步操作。
图2为本发明实施例提供的系统时间一致性的控制系统结构示意图,如图2所示,该系统,应用于由多个节点组成的云平台中,每个节点中设置有用于实现节点间通信的代理agent,该系统包括:
触发具有时间标定功能的第一节点上的agent,用于获取包含了所有目标节点的节点注册信息的节点注册信息列表;
所述第一节点上的agent,还用于根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;
所述第一节点上的agent,还用于根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。
进一步地,所述触发具有时间标定功能的第一节点上的agent,用于获取包含了所有目标节点的节点注册信息的节点注册信息列表,包括:
当所述第一节点触发时间标定功能时,所述第一节点上的agent向在所述第一节点中注册的第二目标节点发送第一请求消息;其中,所述第一请求消息包括第一请求命令和第一节点IP,所述第一请求命令用于获取所述第二目标节点的节点注册信息;
所述第二目标节点上的agent向在所述第二目标节点中注册的除了所述第一节点IP对应的第一节点之外的第三目标节点发送第二请求消息;其中,所述第二请求消息包括第二请求命令、所述第一节点IP和第二目标节点IP,所述第二请求命令用于获取所述第三目标节点的节点注册信息;
所述第三目标节点上的agent向在所述第三目标节点中注册的除了所述第一节点IP对应的第一节点和所述第二目标节点IP对应的第二目标节点之外的第四目标节点发送第三请求消息;其中,所述第三请求消息包括第三请求命令、所述第一节点IP和所述第二目标节点IP和第三目标节点IP,所述第三请求命令用于获取所述第四目标节点的节点注册信息;
依次向下层节点发送请求信息,直到所述请求信息发送给末端目标节点;每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息,直到所述第一节点接收到包含了所有目标节点的节点注册信息的节点注册信息列表。
进一步地,所述每个目标节点上的agent用于根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息包括:
每一个目标节点上的agent将接收到的节点注册信息进行汇总,合并相同的节点注册信息,将汇总后的节点注册信息发送给上层目标节点。
进一步地,所述第一节点agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取目标节点的当前系统时间;具体包括
所述第一节点上的agent向所述节点注册信息列表中包含的所有目标节点发送当前系统时间请求消息;
目标节点上的agent获取自身所在节点的当前系统时间,并发送给所述第一节点。
进一步地,所述第一节点上的agent还用于根据接收到的所有目标节点的当前系统时间计算出系统标准时间,包括:
所述第一节点上的agent将所有目标节点的当前系统时间采用线性时间排序算法计算出系统标准时间;
其中,所述线性时间排序算法包括:将所有目标节点的当前系统时间按照时间先后顺序进行排序,获取所述排序中所有目标节点数除于2所得到的数值对应位置上的时间作为系统标准时间。
进一步地,目标节点上的agent,还用于计算接收到的所述系统标准时间与当前系统时间的时间差,当所述时间差小于预设阈值时,不作任何处理;当所述时间差大于或等于预设阈值时,将所述当前系统时间更新为所述系统标准时间。
进一步地,所有目标节点还用于将自身系统时间更新结果和更新后的当前系统时间反馈给所述第一节点;其中,所述系统时间更新结果包括:更新成功或更新失败;
当在预设时间内没有反馈时,则确定更新失败。
进一步地,所述第一节点上的agent,还用于接收并展示所有目标节点反馈的系统时间更新结果和所有目标节点的当前系统时间,以及所述系统标准时间。
进一步地,所述第一节点上的agent还用于将所述节点注册信息列表发送给所有目标节点进行保存。
云平台的每个节点中安装代理agent软件。agent软件为采用snmp协议,通过进行定制化脚本开发的代理软件,agent软件中的脚本和snmp软件的oid进行对应,agent软件中的脚本可以本地执行,也可以通过snmp协议远程调用snmp对应的oid执行对应脚本。各个节点上的agent之间通过snmp协议,指定ip,端口号,snmpcommunity string信息,实现认证,agent软件通过oid,执行对应的定制化的脚本能够实现不同的功能,例如节点路由功能、触发时间标定功能、系统标准时间计算功能、获取节点当前系统时间功能、更新节点系统时间功能等等。
其中,例如节点路由功能,触发时间标定的节点,通过agent软件,向此节点中注册的节点发送命令,请求此节点中注册的节点中注册的节点信息,并发送当前节点的ip;被请求的节点自动触发请求节点信息的命令,向自己当前注册的节点中发送请求,并自动过滤发送请求的节点的ip;末端节点依次向调用的上层节点传送自己获取的节点注册信息,相同的节点注册信息会合并,减少传输的数据量,所有的注册节点信息会汇总到触发时间标定的节点中。
其中,例如系统标准时间计算功能,触发时间标定的节点,处理获取到节点注册信息的数据,采用线性时间排序算法,获取(节点数/2)位置的时间数值。即,对获取的所有节点的时间按照时间先后顺序进行排序,然后获取(节点数/2)位置上的时间作为计算出的时间,即系统标准时间。
其中,例如更新节点系统时间功能,被调用更新系统时间的节点,将自己节点获取的当前系统时间和计算出的系统标准时间做比对计算出时间差,如果时间差在预设时间差距之内,则所有节点的系统时间无需调整,否则需要更新系统时间,更新系统时间操作采用命令方式直接设置操作系统的系统时间,执行完更新系统时间的操作,向触发时间标定的节点返回更新结果(成功或失败),同时传输当前节点的系统时间。
本发明技术方案通过计算系统标准时间,可以让所有的目标节点根据系统标准时间自动化完成系统时间同步,保证云平台各个组件的运行时间一致性,从而保证云平台分布式架构下的完整高性能运行,提高产品竞争力。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (8)
1.一种系统时间一致性的控制方法,应用于由多个节点组成的云平台中,其特征在于,每个节点中设置有用于实现节点间通信的代理agent,所述方法包括:
触发具有时间标定功能的第一节点上的agent,获取包含了所有目标节点的节点注册信息的节点注册信息列表;
所述第一节点上的agent根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;
所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。
2.如权利要求1所述的控制方法,其特征在于,所述触发具有时间标定功能的第一节点上的agent,获取包含了所有目标节点的节点注册信息的节点注册信息列表包括:
当所述第一节点触发时间标定功能时,所述第一节点上的agent向在所述第一节点中注册的第二目标节点发送第一请求消息;其中,所述第一请求消息包括第一请求命令和第一节点IP,所述第一请求命令用于获取所述第二目标节点的节点注册信息;
所述第二目标节点上的agent向在所述第二目标节点中注册的除了所述第一节点IP对应的第一节点之外的第三目标节点发送第二请求消息;其中,所述第二请求消息包括第二请求命令、所述第一节点IP和第二目标节点IP,所述第二请求命令用于获取所述第三目标节点的节点注册信息;
所述第三目标节点上的agent向在所述第三目标节点中注册的除了所述第一节点IP对应的第一节点和所述第二目标节点IP对应的第二目标节点之外的第四目标节点发送第三请求消息;其中,所述第三请求消息包括第三请求命令、所述第一节点IP和所述第二目标节点IP和第三目标节点IP,所述第三请求命令用于获取所述第四目标节点的节点注册信息;
依次向下层节点发送请求信息,直到所述请求信息发送给末端目标节点;每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息,直到所述第一节点接收到包含了所有目标节点的节点注册信息的节点注册信息列表。
3.如权利要求2所述的控制方法,其特征在于,所述每个目标节点上的agent根据收到的请求消息依次向发送请求消息的上层目标节点返回节点注册信息包括:
每一个目标节点上的agent将接收到的节点注册信息进行汇总,合并相同的节点注册信息,将汇总后的节点注册信息发送给上层目标节点。
4.如权利要求1所述的控制方法,其特征在于,所述第一节点上的agent根据接收到的所有目标节点的当前系统时间计算出系统标准时间包括:
所述第一节点上的agent将所有目标节点的当前系统时间采用线性时间排序算法计算出系统标准时间;
其中,所述线性时间排序算法包括:将所有目标节点的当前系统时间按照时间先后顺序进行排序,获取所述排序中所有目标节点数除于2所得到的数值对应位置上的时间作为系统标准时间。
5.如权利要求1所述的控制方法,其特征在于,该方法还包括:
目标节点上的agent计算接收到的所述系统标准时间与当前系统时间的时间差,当所述时间差小于预设阈值时,不作任何处理;当所述时间差大于或等于预设阈值时,将所述当前系统时间更新为所述系统标准时间。
6.如权利要求5所述的控制方法,其特征在于,该方法还包括:
所有目标节点将自身系统时间更新结果和更新后的当前系统时间反馈给所述第一节点;其中,所述系统时间更新结果包括:更新成功或更新失败;
当在预设时间内没有反馈时,则确定更新失败。
7.如权利要6所述的控制方法,其特征在于,该方法还包括:
所述第一节点上的agent接收并展示所有目标节点反馈的系统时间更新结果和所有目标节点的当前系统时间,以及所述系统标准时间。
8.一种系统时间一致性的控制系统,应用于由多个节点组成的云平台中,其特征在于,每个节点中设置有用于实现节点间通信的代理agent,该系统包括:
触发具有时间标定功能的第一节点上的agent,用于获取包含了所有目标节点的节点注册信息的节点注册信息列表;
所述第一节点上的agent,还用于根据所述节点注册信息列表向所有目标节点发送当前系统时间请求消息,该当前系统时间请求消息用于请求获取该目标节点的当前系统时间;
所述第一节点上的agent,还用于根据接收到的所有目标节点的当前系统时间计算出系统标准时间,并将所述系统标准时间发送给所有目标节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710597361.2A CN107147466B (zh) | 2017-07-20 | 2017-07-20 | 一种系统时间一致性的控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710597361.2A CN107147466B (zh) | 2017-07-20 | 2017-07-20 | 一种系统时间一致性的控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107147466A true CN107147466A (zh) | 2017-09-08 |
CN107147466B CN107147466B (zh) | 2019-03-12 |
Family
ID=59776435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710597361.2A Active CN107147466B (zh) | 2017-07-20 | 2017-07-20 | 一种系统时间一致性的控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107147466B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682569A (zh) * | 2017-11-20 | 2018-02-09 | 深圳市万普拉斯科技有限公司 | 时间信息更新方法、装置、移动终端及可读存储介质 |
CN109901997A (zh) * | 2019-01-29 | 2019-06-18 | 平安科技(深圳)有限公司 | 金融系统升级方法及装置、电子设备、存储介质 |
CN109981716A (zh) * | 2017-12-28 | 2019-07-05 | 北京奇虎科技有限公司 | 一种微服务调用方法及装置 |
CN110375596A (zh) * | 2019-07-19 | 2019-10-25 | 北京机电工程研究所 | 一种面向协同制导仿真系统的时间一致性控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2378718A1 (en) * | 2008-12-15 | 2011-10-19 | China Mobile Communications Corporation | Method, node and system for controlling version in distributed system |
CN103051551A (zh) * | 2011-10-13 | 2013-04-17 | 中兴通讯股份有限公司 | 一种分布式系统及其自动维护方法 |
CN105281884A (zh) * | 2014-07-24 | 2016-01-27 | 北京信威通信技术股份有限公司 | 一种无中心网络中的节点时间同步方法 |
CN105763279A (zh) * | 2016-02-24 | 2016-07-13 | 华东交通大学 | 网络系统分布节点时钟中的最优主时钟确定方法 |
-
2017
- 2017-07-20 CN CN201710597361.2A patent/CN107147466B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2378718A1 (en) * | 2008-12-15 | 2011-10-19 | China Mobile Communications Corporation | Method, node and system for controlling version in distributed system |
CN103051551A (zh) * | 2011-10-13 | 2013-04-17 | 中兴通讯股份有限公司 | 一种分布式系统及其自动维护方法 |
CN105281884A (zh) * | 2014-07-24 | 2016-01-27 | 北京信威通信技术股份有限公司 | 一种无中心网络中的节点时间同步方法 |
CN105763279A (zh) * | 2016-02-24 | 2016-07-13 | 华东交通大学 | 网络系统分布节点时钟中的最优主时钟确定方法 |
Non-Patent Citations (1)
Title |
---|
肖志彬: "SNMP协议中多代理的研究与实现", 《电子科技大学硕士学位论文》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682569A (zh) * | 2017-11-20 | 2018-02-09 | 深圳市万普拉斯科技有限公司 | 时间信息更新方法、装置、移动终端及可读存储介质 |
CN109981716A (zh) * | 2017-12-28 | 2019-07-05 | 北京奇虎科技有限公司 | 一种微服务调用方法及装置 |
CN109981716B (zh) * | 2017-12-28 | 2023-11-03 | 北京奇虎科技有限公司 | 一种微服务调用方法及装置 |
CN109901997A (zh) * | 2019-01-29 | 2019-06-18 | 平安科技(深圳)有限公司 | 金融系统升级方法及装置、电子设备、存储介质 |
CN109901997B (zh) * | 2019-01-29 | 2023-08-11 | 平安科技(深圳)有限公司 | 金融系统升级方法及装置、电子设备、存储介质 |
CN110375596A (zh) * | 2019-07-19 | 2019-10-25 | 北京机电工程研究所 | 一种面向协同制导仿真系统的时间一致性控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107147466B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107147466A (zh) | 一种系统时间一致性的控制方法及系统 | |
AU2018240192A1 (en) | Network slicing serving function | |
CN112000365A (zh) | 基于微服务架构的服务网格配置方法、装置、设备和介质 | |
CN109391516B (zh) | 实现多厂家utn设备集中维护管理的云化第三方网管系统 | |
KR101111155B1 (ko) | 통신망 시스템과 통신망 서비스 처리 방법 | |
JP2009524370A (ja) | 通信端末デバイス、通信端末、及び通信システムを管理するための方法 | |
CN112789842A (zh) | 用于在电信网络中支持事件监测的订阅和报告的服务的方法以及相关网络功能 | |
CN105634778A (zh) | 实现vnf实例化的方法、系统及nfvo和vnfm | |
CN108390774A (zh) | 一种基于软件定义的广域网组网方法和系统 | |
CN104954412B (zh) | 物联网终端的固件管理方法、装置及通用服务实体 | |
CN109104309B (zh) | Cdn网络的边缘服务器管理系统及方法 | |
CN106330511B (zh) | 网元设备及数据通信网络开通的方法 | |
WO2015003420A1 (zh) | 一种云计算环境的资源部署方法 | |
CN106301855A (zh) | 一种网络管理系统部署方法、装置和网络管理系统 | |
CN106332177A (zh) | 一种实现成员资源处理的方法及装置 | |
CN104079440A (zh) | 一种主用设备与备用设备同步配置的方法及snmp系统 | |
CN104852963B (zh) | 一种面向可重构网的Agent系统 | |
CN111466134B (zh) | 用于在通信网络中分配通信资源的方法和布置 | |
EP1950909B1 (en) | Management system of a telecommunication network with a web-like graphic interface | |
CN114363164A (zh) | 云网络服务编排控制方法、系统、存储介质和电子设备 | |
CN114640569A (zh) | 动态消息管理装置、设备、系统、方法及存储介质 | |
CN110033660A (zh) | 交互式教学系统 | |
CN106411674B (zh) | 一种接入dhcp代理的eoc网络系统及其工作方法 | |
CN115277422B (zh) | 一种sdn组网生成方法、装置、设备及介质 | |
US11991046B2 (en) | Determining an organizational level network topology |
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 |