CN103607448B - 一种atc系统动态数据存储的方法 - Google Patents

一种atc系统动态数据存储的方法 Download PDF

Info

Publication number
CN103607448B
CN103607448B CN201310577150.4A CN201310577150A CN103607448B CN 103607448 B CN103607448 B CN 103607448B CN 201310577150 A CN201310577150 A CN 201310577150A CN 103607448 B CN103607448 B CN 103607448B
Authority
CN
China
Prior art keywords
node
server
state machine
main state
machine node
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
CN201310577150.4A
Other languages
English (en)
Other versions
CN103607448A (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.)
Sichuan University
Sichuan Chuanda Zhisheng Software Co Ltd
Original Assignee
Sichuan University
Sichuan Chuanda Zhisheng Software 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 Sichuan University, Sichuan Chuanda Zhisheng Software Co Ltd filed Critical Sichuan University
Priority to CN201310577150.4A priority Critical patent/CN103607448B/zh
Publication of CN103607448A publication Critical patent/CN103607448A/zh
Application granted granted Critical
Publication of CN103607448B publication Critical patent/CN103607448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及空中交通管制系统,具体涉及一种ATC系统动态数据存储的方法,包括以下步骤,设立客户端和服务端,其中所述服务端部署于ATC系统的雷达/飞行数据处理服务器上,所述服务端由多个对等的服务器节点组成,每个服务器节点保存相同的数据库副本;通过选举算法在多个对等的服务器节点中选出一个主态机节点,其余的服务器节点为备用机节点;客户端向主态机节点发起读写数据库的请求;主态机节点为收到的请求进行排序;所述备用机节点通过一致性算法,以主态机节点相同的顺序执行读写请求。本发明能够在多台服务器主机的系统中,采用高可靠性的复制技术确保数据不错、不丢、不乱,实现该类数据的可靠存储,用以提升ATC系统的可靠性。

Description

一种ATC系统动态数据存储的方法
技术领域
本发明涉及空中交通管制(Air Traffic Control,ATC)系统,具体涉及一种ATC系统动态数据存储的方法。
背景技术
空中交通管制系统运行中的数据主要有三种:第一种数据是航路、航线、地标数据等基础数据,这类数据很少改变,数据的原始信息一般存放在关系型数据库中,这些数据的创建、编辑、修改操作主要通过数据准备席位完成,数据发布时需要通过数据准备席位生成系统能够读取和使用的内部数据格式,如数据字典,XML文件。这类数据一旦被修改并发布之后,一般需要系统重新启动并读取,一般把这类数据叫做静态数据。第二种数据是系统在运行中不断产生一般情况下人们只关心最近的K个数据即可,如雷达数据,系统正常运行时管制席位只需要打开系统就可以接收和使用。第三类数据是系统运行中产生的大量动态数据,如系统产成的状态信息、飞行数据、临时背景图、临时设置空域的激活时间等数据。这些数据需要通过使用具备高可靠性的复制技术确保数据不错、不丢、不乱。
由于ATC系统需要在关系数据库崩溃的情况下仍然保证正常工作,所以在系统当中选用多台服务器主机,并在其上实现可靠存储机制用于保存第三类数据是可行的。
发明内容
本发明的目的在于提供一种ATC系统动态数据存储的方法,解决ATC系统中无法保证大量动态数据同时在多台服务器主机上都具备高可靠性的复制技术,确保数据不错、不丢、不乱的问题。
为解决上述的技术问题,本发明采用以下技术方案:一种ATC系统动态数据存储的方法,包括以下步骤:设立客户端和服务端,其中所述服务端部署于ATC系统的雷达/飞行数据处理服务器上,所述服务端由多个对等的服务器节点组成,每个服务器节点保存相同的数据库副本;通过选举算法在多个对等的服务器节点中选出一个主态机节点,其余的服务器节点为备用机节点;客户端向主态机节点发起读写数据库的请求;主态机节点为收到的请求进行排序;所述备用机节点通过一致性算法,以主态机节点相同的顺序执行读写请求。
更进一步的技术方案是,所述主态机节点出现故障,服务端立即通过选举算法在备用机节点中产生一个新的主态机节点。
更进一步的技术方案是,所述客户端是通过调用以动态库提供给应用程序使用的接口,向服务端发起读写数据库的请求。
更进一步的技术方案是,所述一致性算法主要依次分为初始阶段、试探阶段和操作执行阶段;
所述初始阶段为设定目前所有主态机节点和备用机节点都统一执行到第N条操作;
所述试探阶段为通过客户端向主态机节点发出读写操作请求,主态机节点向所有备用机节点发出带有请求序号为M的TEST N+1消息,如果备用机节点已经处理过大于N+1个请求的操作,则发出带有请求序号M的TEST FAIL信息到主态机节点,如果备用机节点收到过操作序号为N+1的请求的操作并且N+1操作是目前以及执行的最大操作,则发出TEST IMCOMPLETE的信息到主态机节点,如果没有收到过操作序号为N+1请求的操作,则发出TEST SUCC的信息到主态机节点;
所述操作执行阶段为所述主态机节点如果收到半数以上的备用机节点发出TEST SUCC的信息,则发出操作信息给备用机节点,备用机节点先将N+1个请求的操作信息保存到数据库,然后执行该操作,最后回复主态机节点N+1个请求执行完毕,所述主态机节点如果收到带有请求序号M的TEST FAIL信息,则直接使用请求序号M+1进行TEST操作,所述主态机节点如果收到TEST IMCOMPLETE的消息,则使用该信息中的操作信息作为第N+1条操作执行,而将原本准备执行的操作推后执行。
更进一步的技术方案是,所述选举算法主要分为学习阶段和选举阶段,设定服务器节点在上述一致性算法中执行到的操作的最大序号为Nm,一个服务器节点的网络地址信息为ADDR,其中:
所述学习阶段是服务器S启动时,服务器S需要找出或重新设定主态机节点。服务器S发送LEARN MASTER请求给所有服务器节点,当服务器节点收到这个请求时,判断自己是不是知道主态机节点的ADDR,如果知道主态机节点的ADDR,则发送一个MASTER KNOWN回应,回应中包含主态机节点的ADDR,如果不知道,则发送一个MASTER UNKNOWN回应,这个回应中包含了本服务器节点的Nm和ADDR,当服务器S收到了半数以上的MASTER KNOWN回应时,设置回应中指出的服务器节点为主态机节点,并建立本节点和学习到的主态机节点之间的连接关系,如果收到半数以上的MASTER UNKUOWN回应时,表示现在没有主态机节点,服务器S进入选举算法的选举阶段,如果在一段时间之后,既没有收到半数以上的MASTER KNOWN回应也没有收到半数以上的MASTER UNKNOWN回应,就需要重新进行学习阶段;
更进一步的技术方案是,服务器S发送VOTE MASTER请求给所有的服务器节点,该请求中包含该节点的Nm和ADDR,当服务器节点收到VOTE MASTER请求后,判断以前是不是接受过该类型的请求,如果没有收到过该类型请求,发送VOTE OK回应,如果有则判断该请求中的Nm值是否大于以前接受的请求的Nm值,如果大于则发送VOTE OK回应给备用机节点,否则发送VOTEFAILED回应,如果两个请求中的Nm相等,再判断ADDR是否比以前接受的请求中的ADDR小,如果小则发送VOTE OK回应,否则发送VOTE FAILED。服务器S统计收到的回应,如果收到半数以上的VOTE OK,表示服务器S已经成为新的主态机节点,通知所有其它服务器节点关于新的主态机节点的地址信息,如果收到半数以上的VOTE FAILED回应,表示被拒绝,此时需要设置一个定时器,超时之后重新尝试执行学习阶段。
更进一步的技术方案是,所述选举算法中当一个节点成为主态机节点后,需要建立到选举阶段所有回应VOTE OK的备用机节点连接,该连接主要用于定时发送心跳消息来通知连接的双方各自没有发生故障,心跳的超时时间根据具体的网络环境设置,系统运行的过程中如果会遇到备用机节点的退出成为失效节点,当失效节点的心跳连接发生超时后,主态机节点需要统计当前存在正常心跳连接的备用机节点数,如果备用机节点数多于半数以上,主态机节点移除该和失效节点的心跳连接;否则备用机节点数小于或等于半数,此时主态机节点关闭所有的心跳连接,等到这些连接对应的备用机节点认为主态机节点已经失效的时候重新执行主态机节点选举算法。
更进一步的技术方案是,如果存在某个备用节点与主态机节点和其他备用机节点的副本存在差异,则通过获取本备用机节点的副本没有而其他副本有的操作日志信息,在本备用机节点上执行以后以保证多个副本一致。
更进一步的技术方案是,所述主态机节点和备用机节点的操作记录以操作日志的形式存储在日志文件中,当当前的日志文件中的日志记录条数达到预设的阀值时,打开一个新的日志文件存储,当所有的文件的字节总量达到预设的阀值时,通知nessdb数据库使用创建数据快照,当数据库返回创建快照成功后,删除冗余的操作日志文件。
更进一步的技术方案是,如果有新的服务器节点加入和失效的服务器节点重新加入,这个服务器节点的Nm可能小于其它服务器节点的Nm,设定该服务器节点为服务器L,所述服务器L学习缺失的数据库操作,具体如下,该服务器L向除本节点外的所有服务器节点发送GET LOG请求,该请求包括服务器L的Nm,当一个服务器节点收到GET LOG请求后,判断大于该Nm对应的操作日志是否存在,如果存在回应GET OK,否则回应GET FAILED,两种回应中都包括了该节点保存的最大操作日志的Nm,服务器L在固定时间之后对收到的回应判断,如果收到的回应都是GET OK,则选择回应中带有最大Nm的服务器节点请求传输操作日志;如果收到的回应中只有GET FAILED,服务器L在这些GET FAILED回应中选取带有最大Nm的服务器节点,向这个服务器节点请求传输数据库快照及之后的操作日志;如果收到的回应中既有GET OK也有GETFAILED,此时需要判断传输日志和传输数据库快照的开销大小,判断的依据是需要传输的字节数的大小,如果传输快照加上快照后生成的日志的所需的字节总数小于直接传输日志所需的字节总数,则选用传输快照和快照后生成的日志,反之则选择选择回应中带有最大Nm的服务器节点请求传输操作日志。
与现有技术相比,本发明的有益效果是:能够在多台服务器主机的系统中,采用高可靠性的复制技术确保数据不错、不丢、不乱,实现该类数据的可靠存储,用以提升ATC系统的可靠性。
附图说明
图1为本发明一种ATC系统动态数据存储的方法的连接框图。
图2为本发明一种ATC系统动态数据存储的方法的一致性算法流程示意图。
图3为本发明一种ATC系统动态数据存储的方法的选举算法流程示意图。
图4为本发明一种ATC系统动态数据存储的方法的日志处理流程示意图。
图5为本发明一种ATC系统动态数据存储的方法的节点落后处理流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出本发明一种ATC系统动态数据存储的方法的一个实施例:
一种ATC系统动态数据存储的方法,其特征在于包括以下步骤:设立客户端和服务端,其中所述服务端部署于ATC系统的雷达/飞行数据处理服务器上,所述服务端由多个对等的服务器节点组成,每个服务器节点保存相同的数据库副本;通过选举算法在多个对等的服务器节点中选出一个主态机节点,其余的服务器节点为备用机节点;客户端向主态机节点发起读写数据库的请求;主态机节点为收到的请求进行排序;所述备用机节点通过一致性算法,以主态机节点相同的顺序执行读写请求。
根据本发明一种ATC系统动态数据存储的方法的一个优选实施例,所述主态机节点出现故障,服务端立即通过选举算法在备用机节点中产生一个新的主态机节点。
根据本发明一种ATC系统动态数据存储的方法的另一个优选实施例,所述客户端是通过调用以动态库提供给应用程序使用的接口,向服务端发起读写数据库的请求。
图2示出了本发明一种ATC系统动态数据存储的方法的一个优选实施例,所述一致性算法主要依次分为初始阶段、试探阶段和操作执行阶段;
所述初始阶段为设定目前所有主态机节点和备用机节点都统一执行到第N条操作;
所述试探阶段为通过客户端向主态机节点发出读写操作请求,主态机节点向所有备用机节点发出带有请求序号为M的TEST N+1消息,如果备用机节点已经处理过大于N+1个请求的操作,则发出带有请求序号M的TEST FAIL信息到主态机节点,如果备用机节点收到过操作序号为N+1的请求的操作并且N+1个操作是目前以及执行的最大操作,则发出TESTIMCOMPLETE的信息到主态机节点,如果没有收到过操作序号为N+1个请求的操作,则发出TESTSUCC的信息到主态机节点;
所述操作执行阶段为所述主态机节点如果收到半数以上的备用机节点发出TEST SUCC的信息,则发出操作信息给备用机节点,备用机节点先将N+1个请求的操作信息保存到数据库,然后执行该操作,最后回复主态机节点N+1个请求执行完毕,所述主态机节点如果收到带有请求序号M的TEST FAIL信息,则直接使用请求序号M+1进行TEST操作,所述主态机节点如果收到TEST IMCOMPLETE的消息,则使用该信息中的操作信息作为第N+1条操作执行,而将原本准备执行的操作推后执行。
图3示出了本发明一种ATC系统动态数据存储的方法的另一个优选实施例,所述选举算法主要分为学习阶段和选举阶段,设定服务器节点在上述一致性算法中执行到的操作的最大序号为Nm,一个服务器节点的网络地址信息为ADDR,其中
所述学习阶段是服务器S启动时,服务器S需要找出或重新设定主态机节点。服务器S发送LEARN MASTER请求给所有服务器节点,当服务器节点收到这个请求时,判断自己是不是知道主态机节点的ADDR,如果知道主态机节点的ADDR,则发送一个MASTER KNOWN回应,回应中包含主态机节点的ADDR,如果不知道,则发送一个MASTER UNKNOWN回应,这个回应中包含了本服务器节点的Nm和ADDR,当服务器S收到了半数以上的MASTER KNOWN回应时,设置回应中指出的服务器节点为主态机节点,并建立本节点和学习到的主态机节点和其余备用机节点之间的连接关系,如果收到半数以上的MASTER UNKUOWN回应时,表示现在没有主态机节点,服务器S进入选举算法的选举阶段,如果在一段时间之后,既没有收到半数以上的MASTER KNOWN回应也没有收到半数以上的MASTER UNKNOWN回应,就需要重新进行学习阶段;
所述选举阶段为服务器S发送VOTE MASTER请求给所有的服务器节点,该请求中包含该节点的Nm和ADDR,当服务器节点收到VOTE MASTER请求后,判断以前是不是接受过该类型的请求,如果没有收到过该类型请求,发送VOTE OK回应,如果有则判断请求中的Nm值是否大于以前接受的请求的Nm值,如果大于则发送VOTE OK回应给备用机节点,否则发送VOTEFAILED回应,如果两个请求中的Nm相等,再判断ADDR是否比以前接受的请求中的ADDR小,如果小则发送VOTE OK回应,否则发送VOTE FAILED。备用机节点统计收到的回应,如果收到半数以上的VOTE OK,表示服务器S已经成为新的主态机节点,通知所有其它服务器节点关于新的主态机节点的地址信息,如果收到半数以上的VOTE FAILED回应,表示被拒绝,此时需要设置一个定时器,超时之后重新尝试执行学习阶段。
根据本发明一种ATC系统动态数据存储的方法的另一个优选实施例,所述选举算法中当一个节点成为主态机节点后,需要建立到选举阶段所有回应VOTE OK的备用机节点连接,该连接主要用于定时发送心跳消息来通知连接的双方各自没有发生故障,心跳的超时时间根据具体的网络环境设置,系统运行的过程中如果会遇到备用机节点的退出成为失效节点,当失效节点的心跳连接发生超时后,主态机节点需要统计当前存在正常心跳连接的备用机节点数,如果备用机节点数多于半数以上,主态机节点移除该和失效节点的心跳连接;否则备用机节点数小于或等于半数,此时主态机节点关闭所有的心跳连接,等到这些连接对应的备用机节点认为主态机节点已经失效的时候重新执行主态机节点选举算法。
根据本发明一种ATC系统动态数据存储的方法的另一个优选实施例,如果存在某个备用节点与主态机节点和其他备用机节点的副本存在差异,则通过获取本备用机节点的副本没有而其他副本有的操作日志信息,在本备用机节点上执行以后以保证多个副本一致。
图4示出了本发明一种ATC系统动态数据存储的方法的另一个优选实施例,所述主态机节点和备用机节点的操作记录以操作日志的形式存储在日志文件中,当当前的日志文件中的日志记录条数达到预设的阀值时,打开一个新的日志文件存储,当所有的文件的总字节总量达到预设的阀值时,通知nessdb数据库使用创建数据快照,当数据库返回创建快照成功后,删除冗余的操作日志文件。
图5示出了本发明一种ATC系统动态数据存储的方法的另一个优选实施例,如果有新的服务器节点加入和失效的服务器节点重新加入,这个服务器节点的Nm可能小于其它服务器节点的Nm,设定该服务器节点为服务器L,所述服务器L学习缺失的数据库操作,具体如下,该服务器L向除本节点外的所有服务器节点发送GET LOG请求,该请求包括服务器L的Nm,当一个服务器节点收到GET LOG请求后,判断大于该Nm对应的操作日志是否存在,如果存在回应GET OK,否则回应GET FAILED,两种回应中都包括了该节点保存的最大操作日志的Nm,服务器L在固定时间之后对收到的回应判断,如果收到的回应都是GET OK,则选择回应中带有最大Nm的服务器节点请求传输操作日志;如果收到的回应中只有GET FAILED,服务器L在这些GET FAILED回应中选取带有最大Nm的服务器节点,向这个服务器节点请求传输数据库快照及之后的操作日志;如果收到的回应中既有GET OK也有GET FAILED,此时需要判断传输日志和传输数据库快照的开销大小,判断的依据是需要传输的字节数的大小,如果传输快照加上快照后生成的日志的所需的字节总数小于直接传输日志所需的字节总数,则选用传输快照和快照后生成的日志,反之则选择选择回应中带有最大Nm的服务器节点请求传输操作日志。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开、附图和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变形和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

Claims (5)

1.一种ATC系统动态数据存储的方法,包括以下步骤:设立客户端和服务端,其中所述服务端部署于ATC系统的雷达/飞行数据处理服务器上,所述服务端由多个对等的服务器节点组成,每个服务器节点保存相同的数据库副本;通过选举算法在多个对等的服务器节点中选出一个主态机节点,其余的服务器节点为备用机节点;客户端向主态机节点发起读写数据库的请求;主态机节点为收到的请求进行排序;所述备用机节点通过一致性算法,以主态机节点相同的顺序执行读写请求;其特征在于:所述一致性算法主要依次分为初始阶段、试探阶段和操作执行阶段;
所述初始阶段为设定目前所有主态机节点和备用机节点都统一执行到第N条操作;
所述试探阶段为通过客户端向主态机节点发出读写操作请求,主态机节点向所有备用机节点发出带有请求序号为M的TEST N+1消息,如果备用机节点已经处理过大于N+1个请求的操作,则发出带有请求序号M的TEST FAIL信息到主态机节点,如果备用机节点收到过操作序号为N+1的请求的操作并且N+1个操作是目前以及执行的最大操作,则发出TEST IMCOMPLETE的信息到主态机节点,如果没有收到过操作序号为N+1个请求的操作,则发出TEST SUCC的信息到主态机节点;
所述操作执行阶段为所述主态机节点如果收到半数以上的备用机节点发出TEST SUCC的信息,则发出操作信息给备用机节点,备用机节点先将N+1个请求的操作信息保存到数据库,然后执行该操作,最后回复主态机节点N+1个请求执行完毕,所述主态机节点如果收到带有请求序号M的TEST FAIL信息,则直接使用请求序号M+1进行TEST操作,所述主态机节点如果收到TEST IMCOMPLETE的消息,则使用该信息中的操作信息作为第N+1条操作执行,而将原本准备执行的操作推后执行。
2.一种ATC系统动态数据存储的方法,包括以下步骤:设立客户端和服务端,其中所述服务端部署于ATC系统的雷达/飞行数据处理服务器上,所述服务端由多个对等的服务器节点组成,每个服务器节点保存相同的数据库副本;通过选举算法在多个对等的服务器节点中选出一个主态机节点,其余的服务器节点为备用机节点;客户端向主态机节点发起读写数据库的请求;主态机节点为收到的请求进行排序;所述备用机节点通过一致性算法,以主态机节点相同的顺序执行读写请求;其特征在于:所述选举算法主要分为学习阶段和选举阶段,设定服务器节点在上述一致性算法中执行到的操作的最大序号为Nm,一个服务器节点的网络地址信息为ADDR,其中
所述学习阶段是服务器S启动时,服务器S需要找出或重新设定主态机节点;服务器S发送LEARN MASTER请求给所有服务器节点,当服务器节点收到这个请求时,判断自己是不是知道主态机节点的ADDR,如果知道主态机节点的ADDR,则发送一个MASTER KNOWN回应,回应中包含主态机节点的ADDR,如果不知道,则发送一个MASTER UNKNOWN回应,这个回应中包含了本服务器节点的Nm和ADDR,当服务器S收到了半数以上的MASTERKNOWN回应时,设置回应中指出的服务器节点为主态机节点,并建立本节点和学习到的主态机节点和其余备用机节点之间的连接关系,如果收到半数以上的MASTER UNKUOWN回应时,表示现在没有主态机节点,服务器S进入选举算法的选举阶段,如果在一段时间之后,既没有收到半数以上的MASTER KNOWN回应也没有收到半数以上的MASTERUNKNOWN回应,就需要重新进行学习阶段;
所述选举阶段为服务器S发送VOTE MASTER请求给所有的服务器节点,该请求中包含该节点的Nm和ADDR,当服务器节点收到VOTE MASTER请求后,判断以前是不是接受过该类型的请求,如果没有收到过该类型请求,发送VOTE OK回应,如果有则判断请求中的Nm值是否大于以前接受的请求的Nm值,如果大于则发送VOTE OK回应给备用机节点,否则发送VOTE FAILED回应,如果两个请求中的Nm相等,再判断ADDR是否比以前接受的请求中的ADDR小,如果小则发送VOTE OK回应,否则发送VOTE FAILED;备用机节点统计收到的回应,如果收到半数以上的VOTE OK,表示服务器S已经成为新的主态机节点,通知所有其它服务器节点关于新的主态机节点的地址信息,如果收到半数以上的VOTE FAILED回应,表示被拒绝,此时需要设置一个定时器,超时之后重新尝试执行学习阶段。
3.根据权利要求2所述的一种ATC系统动态数据存储的方法,其特征在于:所述选举算法中当一个节点成为主态机节点后,需要建立到选举阶段所有回应VOTE OK的备用机节点连接,该连接主要用于定时发送心跳消息来通知连接的双方各自没有发生故障,心跳的超时时间根据具体的网络环境设置,系统运行的过程中如果会遇到备用机节点的退出成为失效节点,当失效节点的心跳连接发生超时后,主态机节点需要统计当前存在正常心跳连接的备用机节点数,如果备用机节点数多于半数以上,主态机节点移除该和失效节点的心跳连接;否则备用机节点数小于或等于半数,此时主态机节点关闭所有的心跳连接,等到这些连接对应的备用机节点认为主态机节点已经失效的时候重新执行主态机节点选举算法。
4.根据权利要求1-3任意一项所述的一种ATC系统动态数据存储的方法,其特征在于:所述主态机节点和备用机节点的操作记录以操作日志的形式存储在日志文件中,当当前的日志文件中的日志记录条数达到预设的阀值时,打开一个新的日志文件存储,当所有的文件的总字节总量达到预设的阀值时,通知nessdb数据库使用创建数据快照,当数据库返回创建快照成功后,删除冗余的操作日志文件。
5.根据权利要求4所述的一种ATC系统动态数据存储的方法,其特征在于:如果有新的服务器节点加入和失效的服务器节点重新加入,这个服务器节点的Nm可能小于其它服务器节点的Nm,设定该服务器节点为服务器L,所述服务器L学习缺失的数据库操作,具体如下,该服务器L向除本节点外的所有服务器节点发送GET LOG请求,该请求包括服务器L的Nm,当一个服务器节点收到GET LOG请求后,判断大于该Nm对应的操作日志是否存在,如果存在回应GET OK,否则回应GET FAILED,两种回应中都包括了该节点保存的最大操作日志的Nm,服务器L在固定时间之后对收到的回应判断,如果收到的回应都是GET OK,则选择回应中带有最大Nm的服务器节点请求传输操作日志;如果收到的回应中只有GET FAILED,服务器L在这些GET FAILED回应中选取带有最大Nm的服务器节点,向这个服务器节点请求传输数据库快照及之后的操作日志;如果收到的回应中既有GET OK也有GET FAILED,此时需要判断传输日志和传输数据库快照的开销大小,判断的依据是需要传输的字节数的大小,如果传输快照加上快照后生成的日志的所需的字节总数小于直接传输日志所需的字节总数,则选用传输快照和快照后生成的日志,反之则选择回应中带有最大Nm的服务器节点请求传输操作日志。
CN201310577150.4A 2013-11-18 2013-11-18 一种atc系统动态数据存储的方法 Active CN103607448B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310577150.4A CN103607448B (zh) 2013-11-18 2013-11-18 一种atc系统动态数据存储的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310577150.4A CN103607448B (zh) 2013-11-18 2013-11-18 一种atc系统动态数据存储的方法

Publications (2)

Publication Number Publication Date
CN103607448A CN103607448A (zh) 2014-02-26
CN103607448B true CN103607448B (zh) 2016-08-24

Family

ID=50125648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310577150.4A Active CN103607448B (zh) 2013-11-18 2013-11-18 一种atc系统动态数据存储的方法

Country Status (1)

Country Link
CN (1) CN103607448B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468722B (zh) * 2014-11-10 2017-11-07 四川川大智胜软件股份有限公司 一种航管训练系统中训练数据分类存储的方法
CN105306583A (zh) * 2015-11-11 2016-02-03 广州新科佳都科技有限公司 基于原子广播技术的分布式权限管理方法及系统
CN107045426B (zh) * 2017-04-14 2020-12-15 北京粉笔蓝天科技有限公司 一种多副本读取方法和系统
CN108710670A (zh) * 2018-05-16 2018-10-26 沈文策 一种日志分析方法、装置、电子设备及可读存储介质
US10802926B2 (en) * 2018-09-21 2020-10-13 Microsoft Technology Licensing, Llc Accessing prior storage segment server state
CN109495540B (zh) * 2018-10-15 2021-02-26 金证财富南京科技有限公司 一种数据处理的方法、装置、终端设备及存储介质
CN109299045B (zh) * 2018-12-17 2022-02-18 郑州云海信息技术有限公司 一种日志存储方法、装置、设备及可读存储介质
CN110362279B (zh) * 2019-08-08 2024-02-09 西安中飞航空测试技术发展有限公司 基于机载高速总线的数据实时处理与存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101535977A (zh) * 2006-11-09 2009-09-16 微软公司 联盟基础结构内的一致性
CN102368267A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种维护分布式系统中副本一致性的方法
CN102368222A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种多副本存储系统在线修复的方法
JP2012053807A (ja) * 2010-09-03 2012-03-15 Nec Corp 情報処理システム
EP2492856A1 (en) * 2011-02-22 2012-08-29 General Electric Company Methods and systems for managing air traffic

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101535977A (zh) * 2006-11-09 2009-09-16 微软公司 联盟基础结构内的一致性
JP2012053807A (ja) * 2010-09-03 2012-03-15 Nec Corp 情報処理システム
EP2492856A1 (en) * 2011-02-22 2012-08-29 General Electric Company Methods and systems for managing air traffic
CN102368267A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种维护分布式系统中副本一致性的方法
CN102368222A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种多副本存储系统在线修复的方法

Also Published As

Publication number Publication date
CN103607448A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
CN103607448B (zh) 一种atc系统动态数据存储的方法
CN107832138B (zh) 一种扁平化的高可用namenode模型的实现方法
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
CN106341454A (zh) 跨机房多活分布式数据库管理系统和方法
EP2648114B1 (en) Method, system, token conreoller and memory database for implementing distribute-type main memory database system
CN101706805B (zh) 对象存储方法及其系统
CN102890716B (zh) 分布式文件系统和分布式文件系统的数据备份方法
CN106484565B (zh) 多数据中心间的数据同步方法及相关设备
DE602004012220T2 (de) Fernkopiernetzwerk
CN104079438B (zh) Dns域名管理系统和方法
CN204859222U (zh) 同城数据中心双活高可用系统
CN104503965A (zh) PostgreSQL高弹性的高可用及负载均衡实现方法
CN103763155A (zh) 分布式云存储系统多服务心跳监测方法
CN101501667A (zh) 通过身份保持的企业服务器版本迁移
CN105824846B (zh) 数据迁移方法及装置
CN108197159A (zh) 基于分布式文件系统的数据读取、写入方法及装置
CN107168970A (zh) 一种分布式文件系统hdfs的管理方法、装置及系统
CN106789180A (zh) 一种元数据服务器的服务控制方法及装置
CN107368485A (zh) 一种数据库的管理方法及数据库系统
CN108491277A (zh) 一种中小学生学习资源实时热点协同过滤及推荐的方法
CN102457400B (zh) 一种防止磁盘镜像资源发生脑裂的方法
CN104468722B (zh) 一种航管训练系统中训练数据分类存储的方法
CN105490847B (zh) 一种私有云存储系统中节点故障实时检测及处理方法
CN104991739B (zh) 元数据服务器失效接替中精确一次执行语义的方法及系统
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant