CN103049348A - 多服务器化环境下数据容错存储的方法 - Google Patents

多服务器化环境下数据容错存储的方法 Download PDF

Info

Publication number
CN103049348A
CN103049348A CN201210562660XA CN201210562660A CN103049348A CN 103049348 A CN103049348 A CN 103049348A CN 201210562660X A CN201210562660X A CN 201210562660XA CN 201210562660 A CN201210562660 A CN 201210562660A CN 103049348 A CN103049348 A CN 103049348A
Authority
CN
China
Prior art keywords
data
main frame
fault
attitude
server
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
Application number
CN201210562660XA
Other languages
English (en)
Other versions
CN103049348B (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.)
Unit 92232 Of Pla
Sichuan University
Wisesoft 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 CN201210562660.XA priority Critical patent/CN103049348B/zh
Publication of CN103049348A publication Critical patent/CN103049348A/zh
Application granted granted Critical
Publication of CN103049348B publication Critical patent/CN103049348B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

一种多服务器化环境下数据容错存储的方法,涉及分布式数据存储领域。包括应用程序编程接口API的建立、服务器失效检测,数据同步步骤;服务器失效检测指对网络中的服务器进行是否故障的检测,用于服务器主机间检测主机的失效,并将失效服务器进行隔离;数据同步指主态主机发现、从态主机同步、运行中同步流程,用于服务器间进行数据的容错同步的过程;通过提供给运行于服务器中各进程的应用程序编程接口API提供容错数据存储服务,使系统中的多个服务器主机在部分服务器失效的情况下,仍然可以提供对外服务。解决了中小型的以客户端/服务器模式运行的系统中由于单台服务器故障导致的服务无法继续进行的问题,使系统服务提供具有一定的冗余性。

Description

多服务器化环境下数据容错存储的方法
技术领域
本发明涉及计算机应用领域,尤其涉及分布式数据存储领域,可用于中小型网络系统中数据存储中的容错。
背景技术
存储系统的故障问题一直未得到高效实用的解决。一旦存储系统发生故障,整个业务系统都将中断,甚至造成数据丢失,给企业或机构造成不可弥补的损失。因此存储设备发生故障的解决,已经逐渐成为数据存储领域信息系统的必然需求。本研究可以在运行要求苛刻的客户端/服务器系统中,让系统配置多个服务器,并部署相同的程序,当这些服务器某几台出现故障时,可以用剩余的服务器继续提供服务工作;实现了中小型的以客户端/服务器模式运行的系统中由于单台服务器故障导致的服务无法继续进行的问题,使系统服务提供具有一定的冗余性。本研究适用于在服务器容错要求较高的系统中,可以自动隔离服务器的错误并实现对运行数据的存储。中国知识产权局公开的专利号为CN200510056695.6的容错数据存储设备,公开了一种在数据存储设备的一个或多个数据存储驱动器中提供容错数据恢复的系统及方法。该专利在数据存储设备中实现容错的方法可包括将与一个或多个数据库相关的信息存储进数据存储设备的一个或多个数据存储驱动器的一个或多个分区的一个或多个库信息块中。显然,本发明与上述所说的CN200510056695.6号专利在发明目的、技术方案上是完全不同的。
发明内容
本发明的目的是提供一种多服务器化环境下数据容错存储的方法,能够支持多台服务器组成的网络系统,可以保证在系统运行时最大限度保证所有主机相互间的运行数据存储具有容错性。
本发明目的是通过以下技术方案来实现的:一种多服务器化环境下数据容错存储的方法,所述多服务器化包括至少三台服务器主机、1台交换机以上,每台服务器主机配置网卡,网卡连接到交换机上;每台服务器主机上安装mysql数据库,容错数据存储服务作为进程运行,并且提供访问的应用程序编程接口API,给需要使用容错数据存储服务的进程使用;所述方法包括,应用程序编程接口API的建立、服务器失效检测,数据同步步骤;所述服务器失效检测是指对网络中的服务器通过消息传递的方式进行是否故障的检测,主要用于服务器主机间检测主机的失效,并将失效服务器进行隔离;所述数据同步是指主态主机发现、从态主机同步、运行中同步三个流程,数据同步用于服务器间进行数据的容错同步的过程;通过提供给运行于服务器中各进程的应用程序编程接口API提供容错数据存储服务,使系统中的多个服务器主机在部分服务器失效的情况下,仍然可以提供对外服务。
进一步地,所述服务器失效检测包括故障检测中本机状态改变流程与查询指定主机的故障状态流程,所述故障检测中本机状态改变流程的步骤如下:
2.1)以t为时间间隔发送类型为alive的报文;
2.2)询问是否收到其它主机的的心跳,如果回答是,进入下一步2.3)步骤如果回答否,继续询问是否超过nt时间没有收到某个主机的心跳信息,如果回答否,返回到2.1)步骤,如果回答是,进入下一步2.4)步骤;
2.3)更新该主机的alive信息为活跃;
2.4)更新该主机的alive信息为不活跃;
2.5)询问是否收到超过一半主机的心跳信息,如果回答否,返回到2.1)步骤,如果回答是,进入下一步2.6)步骤;
2.6)本主机内部状态设置为活跃,可以对外提供容错数据存储服务。
进一步地,所述查询指定主机的故障状态流程的步骤如下:
3.1)发出查询命令获取某台主机的状态,计数=1;
3.2)收到查询报文后,发送本机中保存的该主机的状态;
3.3)询问是否收到的为活跃计数+1,如果回答否,保持计数器,如果回答是,进入下一步3.4)步骤;
3.4)继续询问是否计数大于一半,如果回答否,该主机为故障,如果回答是,进入下一步3.5)步骤;
3.5)该主机为非故障。
进一步地,所述数据同步中的主态主机发现流程的步骤如下:
4.1)初始运行时,发出带有最后数据时间戳的find_master;
4.2)收到find_master报文后,接收计数+1;
4.3)询问是否收到master_vote_num-1个find_master,如果回答否,返回到4.2)步骤,如果回答是,继续下一步4.4)步骤;
4.4)选出最新的时间戳的主机,选择该主机为主态机;
4.5)发出decide_msater的报文;
4.6)询问是否收到master_vote_num-1个decide_master,如果回答否,返回到4.5)步骤,如果回答是,继续下一步4.7)步骤;
4.7)确认自己为主态机。
更进一步地,所述数据同步运行中同步流程的步骤如下:
5.1)新主机向主态机发出join_memship申请加入;
5.2)从态主机同步;
5.3)客户端对主态机发出命令;
5.4)询问主态机是否收到数据大小大于max_batch_size或距离上次发送时间间隔大于max_request_interval,如果回答否,返回到5.3)步骤,如果回答是,继续下一步5.5)步骤;
5.5)对从态主机依次发出数据batch_data;
5.6)处于sync-ok状态的从态主机收到以后立即保存本地,向主态机回发req_response;
5.7)从态主机batch_data分解执行写入本地数据库;
5.8)询问是否主态机没有收到全部从态主机的req_response报文,同时没有超过指定的超时时间max_response_time,如果回答是,返回到5.7)步骤,如果回答否,继续下一步5.9)步骤;
5.9)主态主机batch_data分解执行写入本地数据库;
5.10)对客户端发出send_ok,客户端删除保存的数据。
更进一步地,所述数据同步中从态主机同步流程的步骤如下:
6.1)从态主机将自己的已存入数据库的最新数据的时间戳t1和最新收到的batch_data的时间戳t2发给主态机;
6.2)主态机创建sync_thread;
6.3)主态机使用ftp发送t1到t2间的数据文件;
6.4) 从态机收文件完毕后,执行数据文件写入本地数据库;
6.5) 主态机关闭发送线程。
更进一步地,所述应用程序编程接口API的建立步骤通过如下函数:
7.1)进程注册int regist(routine_name)为进程名;
7.2)提交需要容错保存的运行数据int commit(field,content,content_len);field为字符串指明要保存的数据领域,content为一个二进制的缓冲区,content_len为缓冲区的数据部分的长度;
7.3)提取当前最新的运行数据int upload(field,outbuff,outbuff_len);field为字符串指明要提取的数据领域,outbuff为一个二进制的缓冲区,outbuff_len为缓冲区的数据部分的长度;
7.4)获取当前容错服务状态;int GetRunStatus( );以上四个步骤函数,返回0表示成功 小于0为错误码,分别是-1不能提供服务;-2提交失败;-3提取失败。
本发明具有突出的优点与显著的积极效果:
1、本发明实现了中小型的以客户端/服务器模式运行的系统中由于单台服务器故障导致的服务无法继续进行的问题,使系统服务提供具有一定的冗余性。
2、在空管自动化系统应用,采用了服务器组播方式在服务器组中进行故障检测,在运行中提供了容错性的数据运行中同步机制;使用该方法扩展的存储中间件在多个实际系统中稳定运行。
附图说明
图1是本发明所述容错数据存储方法结构示意图。
图2是本发明所述故障检测中本机状态改变流程示意图。
图3是本发明所述查询指定主机的故障状态流程示意图。
图4是本发明所述主态主机发现流程示意图。
图5是本发明所述运行中同步流程示意图。
图6是本发明所述从态主机同步流程示意图。
图7是实施例,具有容错能力的多服务器化数据存储运行环境示意图。
具体实施方式
下面结合附图和实施例,对本发明做进一步详细的说明。需要强调的是,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明构思及其权利要求之范围。
参见图1所示,是本发明所述的容错数据存储方法的结构。容错数据存储通过提供给运行于服务器中各进程的应用程序编程接口API提供容错数据存储服务,其中FTDS为failure tolarent data storage容错数据存储的缩写。
应用程序编程接口API建立步骤通过以下函数:
7.1)进程注册int regist(routine_name)为进程名;
7.2)提交需要容错保存的运行数据int commit(field,content,content_len);field为字符串指明要保存的数据领域,content为一个二进制的缓冲区,content_len为缓冲区的数据部分的长度;
7.3)提取当前最新的运行数据int upload(field,outbuff,outbuff_len);field为字符串指明要提取的数据领域,outbuff为一个二进制的缓冲区,outbuff_len为缓冲区的数据部分的长度;
7.4)获取当前容错服务状态;
int GetRunStatus( );以上四个函数步骤返回0表示成功,小于0为错误码,分别是-1不能提供服务;-2提交失败;-3提取失败。
实际的容错存储服务由容错数据存储程序完成,下面描述该程序的实现步骤。
参见图2、图3所示,服务器失效检测是指对网络中的服务器通过消息传递的方式进行是否故障的检测,主要用于服务器主机间检测主机的失效,并将失效服务器进行隔离。
所述服务器失效检测包括故障检测中本机状态改变流程与查询指定主机的故障状态流程,所述故障检测中本机状态改变流程的步骤如下:
2.1)以t为时间间隔发送类型为alive的报文;
2.2)询问是否收到其它主机的的心跳,如果回答是,进入下一步2.3)步骤如果回答否,继续询问是否超过nt时间没有收到某个主机的心跳信息,如果回答否,返回到2.1)步骤,如果回答是,进入下一步2.4)步骤;
2.3)更新该主机的alive信息为活跃;
2.4)更新该主机的alive信息为不活跃;
2.5)询问是否收到超过一半主机的心跳信息,如果回答否,返回到2.1)步骤,如果回答是,进入下一步2.6)步骤;
2.6)本主机内部状态设置为活跃,可以对外提供容错数据存储服务。
所述查询指定主机的故障状态流程的步骤如下:
3.1)发出查询命令获取某台主机的状态,计数=1;
3.2)收到查询报文后,发送本机中保存的该主机的状态;
3.3)询问是否收到的为活跃计数+1,如果回答否,保持计数器,如果回答是,进入下一步3.4)步骤;
3.4)继续询问是否计数大于一半,如果回答否,该主机为故障,如果回答是,进入下一步3.5)步骤;
3.5)该主机为非故障。
主要用于检查服务器组中的主机是否故障,检测采用UDP的组播方式进行。
每台服务器定时(时间间隔为t)在服务器组播组中发出包含自己IP的alive信息,其他主机收到alive信息后,更新本机的服务器主机信息(IP,上次更新的状态),如果超过nt(n可以设置,至少为2)时间,该服务器没有收到某个主机发出alive信息,则清空本机保存的该服务器状态;组中任何一台主机需要知道主态机的状态,需要在服务器组播组中发出查询命令,当收到大于服务器主机总数一半以上的主机回应的服务器状态为活跃时,则认为该主机为活跃,否则为故障;如果一个主机不能收到超过半数(含半数)的服务器主机的alive消息则认为自己故障,不再提供数据存储容错服务。
参见图4、图5、图6所示。所述数据同步是指主态主机发现、从态主机同步、运行中同步三个流程,数据同步用于服务器间进行数据的容错同步的过程;通过提供给运行于服务器中各进程的应用程序编程接口API提供容错数据存储服务,使系统中的多个服务器主机在部分服务器失效的情况下,仍然可以提供对外服务。
数据同步用于解决服务器间数据同步的问题,包含主态主机发现、从态主机同步、运行中同步。
参见图4,所述数据同步中的主态主机发现流程的步骤如下:
4.1)初始运行时,发出带有最后数据时间戳的find_master;
4.2)收到find_master报文后,接收计数+1;
4.3)询问是否收到master_vote_num-1个find_master,如果回答否,返回到4.2)步骤,如果回答是,继续下一步4.4)步骤;
4.4)选出最新的时间戳的主机,选择该主机为主态机;
4.5)发出decide_msater的报文;
4.6)询问是否收到master_vote_num-1个decide_master,如果回答否,返回到4.5)步骤,如果回答是,继续下一步4.7)步骤;
4.7)确认自己为主态机。
主态主机发现:规定了参与主态主机选举的主机数目master_vote_num,参与容错数据存储的服务器主机上均安装本地mysql数据库存储运行数据,运行数据写入时带有时间戳信息;任何一个主机加入服务时需要读取本地数据库中最新的运行数据信息,将最后的时间戳放入使用组播方式定时发送的信息find_master中发出,一个服务器当收到master_vote_num-1个其他主机的find_master心跳报文时,可以开始参与主态主机选举工作,选举具有最新数据的服务器主机作为主态机,并将自己确认的主态服务器IP在decide_master报文中发出,如果一个服务器如H1收到master_vote_num-1个不同主机发来的指定自己H1为主态机的decide_master报文时,确认自己为主态机,该过程见图4,将首先完成从态主机的数据同步。
参见图6,所述数据同步中从态主机同步流程的步骤如下:
6.1)从态主机将自己的已存入数据库的最新数据的时间戳t1和最新收到的batch_data的时间戳t2发给主态机;
6.2)主态机创建sync_thread;
6.3)主态机使用ftp发送t1到t2间的数据文件;
6.4) 从态机收文件完毕后,执行数据文件写入本地数据库;
6.5) 主态机关闭发送线程。
因为主态机选举的原因,从态机要么和主态机的最新时间戳是一样的,要么落后于主态机的时间戳,如果时间戳是一致的,从态机和主态机将互相承认彼此的同步地位,并可以一起运行“运行中同步”的工作;而从态主机如果还没有实现数据同步将在“运行中同步”中只接收和保存运行数据的执行命令而不写入数据库,在完成了数据同步以后再把这些命令写入数据库;对于没有同步的从态主机采用如下方法完成同步:从态主机将自己的已存入数据库的最新数据的时间戳t1和最新收到的batch_data的时间戳t2发给主态机,主态机上容错数据存储服务开辟一个临时性的线程sync_thread,在线程中作为ftp协议的客户端连接请求同步的从态主机,将包含t2-t1之间的数据文件发送给从态机,发送完毕以后关闭线程,从态机收完这些数据以后,开始将t2-t1之间的数据读出写入本地mysql中。
参见图5,所述数据同步运行中同步流程的步骤如下:
5.1)新主机向主态机发出join_memship申请加入;
5.2)从态主机同步;
5.3)客户端对主态机发出命令;
5.4)询问主态机是否收到数据大小大于max_batch_size或距离上次发送时间间隔大于max_request_interval,如果回答否,返回到5.3)步骤,如果回答是,继续下一步5.5)步骤;
5.5)对从态主机依次发出数据batch_data;
5.6)处于sync-ok状态的从态主机收到以后立即保存本地,向主态机回发req_response;
5.7)从态主机batch_data分解执行写入本地数据库;
5.8)询问是否主态机没有收到全部从态主机的req_response报文,同时没有超过指定的超时时间max_response_time,如果回答是,返回到5.7)步骤,如果回答否,继续下一步5.9)步骤;
5.9)主态主机batch_data分解执行写入本地数据库;
5.10)对客户端发出send_ok,客户端删除保存的数据。
在master_vote_num台服务器运行的情况下,可以1:发出join_memship的命令动态增加新的从态主机,并使用从态主机同步的方法进行同步,在同步后可以进入下一个步骤,已经同步的主机可以直接进行下一个步骤;2.运行中,采用如下方法进行数据同步:各服务器主机上的进程通过API函数连接到主态机的容错数据存储进程,将运行数据传送到主态机,在主态机没有回应时,不再发送新的运行数据到主态机,同时也不删除这些数据;主态机收到多个服务器运行进程的请求后,当这些数据的总大小大于max_batch_size或虽有数据虽然数据总大小小于max_batch_size但是距离上次发送同步数据报文的时间大于max_request_interval时,将打包的数据batch_data先存入本地文件,该文件每隔n秒形成一个新的文件,新文件的名字中包含一个单调递增的数字,然后发送到各从态主机,从态主机中已经处于Sync_OK状态的主机将立即保存打包的数据,并发送req_response回应报文给主态机,完成了同步的从态主机将在发送完回应以后开始将batch_data分解后提取运行数据并写入本地数据库;没有完成同步的从态主机将暂时不能写入数据库,而是要等同步完成以后再执行写入数据库的操作;主态机在收到全部的req_response从态主机报文后,将batch_data分解后写入本地数据库;如果主态机没有收到全部从态主机的req_response报文超过指定的超时时间max_response_time后,主态机将依然执行将batch_data分解后写入本地数据库的操作;在执行写入本地数据库的操作后,主态机将对batch_data中包含的各数据包的发送进程回应send_ok报文,这些进程在收到报文后将不再阻塞并可进行下一个运行数据的同步请求。如果在此过程中主态机发生失效,新选举的主态机将对所有服务器的进程发出new_master的报文,这些进程将原来未完成处理的运行数据交给新的主态机处理。
参见图7,本实施例提供了具有容错能力的多服务器化数据存储运行环境,包括上述的多服务器化环境下数据容错存储的方法,多服务器化包括至少三台服务器主机、1台交换机以上,每台服务器主机配置网卡,网卡连接到交换机上;每台服务器主机上安装mysql数据库,容错数据存储服务作为进程运行,并且提供访问的应用程序编程接口API,给需要使用容错数据存储服务的进程使用;所述方法包括,应用程序编程接口API的建立、服务器失效检测,数据同步步骤。通过提供给运行于服务器中各进程的应用程序编程接口API提供容错数据存储服务,使系统中的多个服务器主机在部分服务器失效的情况下,仍然可以提供对外服务。
实施例通过在本地mysql数据库上加以容错功能扩展实现,考虑到具体的应用如空管自动化软件的需要,采用了服务器组播方式在服务器组中进行故障检测,同时完成了主态主机的选择,并在运行通过故障检测及时发现主态主机的失效,完成主态机的切换,同时在运行中提供了容错性的数据运行中同步机制。目前使用该方法扩展的存储中间件在多个实际空管系统中稳定运行。
实施例至少配置为3台服务器,失效检测心跳设置为300ms,故障检测超时设置为1.5秒,master_vote_num为2台,在2台工作时依然可以提供在线的读写服务,而在故障主机恢复时,以1万条数据需要同步记,实际系统大约需要2分钟左右的回复时间即可进行数据的同步。

Claims (7)

1.一种多服务器化环境下数据容错存储的方法,所述多服务器化包括至少三台服务器主机、1台交换机以上,每台服务器主机配置网卡,网卡连接到交换机上;每台服务器主机上安装mysql数据库,容错数据存储服务作为进程运行,并且提供访问的应用程序编程接口API,给需要使用容错数据存储服务的进程使用;其特征在于,包括应用程序编程接口API的建立、服务器失效检测,数据同步步骤;所述服务器失效检测是指对网络中的服务器通过消息传递的方式进行是否故障的检测,主要用于服务器主机间检测主机的失效,并将失效服务器进行隔离;所述数据同步是指主态主机发现、从态主机同步、运行中同步三个流程,数据同步用于服务器间进行数据的容错同步的过程;通过提供给运行于服务器中各进程的应用程序编程接口API提供容错数据存储服务,使系统中的多个服务器主机在部分服务器失效的情况下,仍然可以提供对外服务。
2.根据权利要求1所述的数据容错存储的方法,其特征在于,所述服务器失效检测包括故障检测中本机状态改变流程与查询指定主机的故障状态流程,所述故障检测中本机状态改变流程的步骤如下:
2.1)以t为时间间隔发送类型为alive的报文;
2.2)询问是否收到其它主机的的心跳,如果回答是,进入下一步2.3)步骤,如果回答否,继续询问是否超过nt时间没有收到某个主机的心跳信息,如果回答否,返回到2.1)步骤,如果回答是,进入下一步2.4)步骤;
2.3)更新该主机的alive信息为活跃;
2.4)更新该主机的alive信息为不活跃;
2.5)询问是否收到超过一半主机的心跳信息,如果回答否,返回到2.1)步骤,如果回答是,进入下一步2.6)步骤;
2.6)本主机内部状态设置为活跃,可以对外提供容错数据存储服务。
3.根据权利要求2所述的数据容错存储的方法,其特征在于,所述查询指定主机的故障状态流程的步骤如下:
3.1)发出查询命令获取某台主机的状态,计数=1;
3.2)收到查询报文后,发送本机中保存的该主机的状态;
3.3)询问是否收到的为活跃计数+1,如果回答否,保持计数器,如果回答是,进入下一步3.4)步骤;
3.4)继续询问是否计数大于一半,如果回答否,该主机为故障,如果回答是,进入下一步3.5)步骤;
3.5)该主机为非故障。
4.根据权利要求1所述的数据容错存储的方法,其特征在于,所述数据同步中的主态主机发现流程的步骤如下:
4.1)初始运行时,发出带有最后数据时间戳的find_master;
4.2)收到find_master报文后,接收计数+1;
4.3)询问是否收到master_vote_num-1个find_master,如果回答否,返回到4.2)步骤,如果回答是,继续下一步4.4)步骤;
4.4)选出最新的时间戳的主机,选择该主机为主态机;
4.5)发出decide_msater的报文;
4.6)询问是否收到master_vote_num-1个decide_master,如果回答否,返回到4.5)步骤,如果回答是,继续下一步4.7)步骤;
4.7)确认自己为主态机。
5.根据权利要求1所述的数据容错存储的方法,其特征在于,所述数据同步运行中同步流程的步骤如下:
5.1)新主机向主态机发出join_memship申请加入;
5.2)从态主机同步;
5.3)客户端对主态机发出命令;
5.4)询问主态机是否收到数据大小>max_batch_size或距离上次发送时间间隔大于max_request_interval,如果回答否,返回到5.3)步骤,如果回答是,继续下一步5.5)步骤;
5.5)对从态主机依次发出数据batch_data;
5.6)处于sync-ok状态的从态主机收到以后立即保存本地,向主态机回发req_response;
5.7)从态主机batch_data分解执行写入本地数据库;
5.8)询问是否主态机没有收到全部从态主机的req_response报文,同时没有超过指定的超时时间max_response_time,如果回答是,返回到5.7)步骤,如果回答否,继续下一步5.9)步骤;
5.9)主态主机batch_data分解执行写入本地数据库;
5.10)对客户端发出send_ok,客户端删除保存的数据。
6.根据权利要求1所述的数据容错存储的方法,其特征在于,所述数据同步中从态主机同步流程的步骤如下:
6.1)从态主机将自己的已存入数据库的最新数据的时间戳t1和最新收到的batch_data的时间戳t2发给主态机;
6.2)主态机创建sync_thread;
6.3)主态机使用ftp发送t1到t2间的数据文件;
6.4) 从态机收文件完毕后,执行数据文件写入本地数据库;
6.5) 主态机关闭发送线程。
7.根据权利要求1所述的数据容错存储的方法,其特征在于,所述应用程序编程接口API的建立步骤通过以下函数:
7.1)进程注册int regist(routine_name)为进程名;
7.2)提交需要容错保存的运行数据int commit(field,content,content_len);field为字符串指明要保存的数据领域,content为一个二进制的缓冲区,content_len为缓冲区的数据部分的长度;
7.3)提取当前最新的运行数据int upload(field,outbuff,outbuff_len);field为字符串指明要提取的数据领域,outbuff为一个二进制的缓冲区,outbuff_len为缓冲区的数据部分的长度;
7.4)获取当前容错服务状态;
int GetRunStatus( );以上四个函数步骤返回0表示成功,小于0为错误码,分别是-1不能提供服务;-2提交失败;-3提取失败。
CN201210562660.XA 2012-12-21 2012-12-21 多服务器化环境下数据容错存储的方法 Expired - Fee Related CN103049348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210562660.XA CN103049348B (zh) 2012-12-21 2012-12-21 多服务器化环境下数据容错存储的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210562660.XA CN103049348B (zh) 2012-12-21 2012-12-21 多服务器化环境下数据容错存储的方法

Publications (2)

Publication Number Publication Date
CN103049348A true CN103049348A (zh) 2013-04-17
CN103049348B CN103049348B (zh) 2016-03-16

Family

ID=48061997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210562660.XA Expired - Fee Related CN103049348B (zh) 2012-12-21 2012-12-21 多服务器化环境下数据容错存储的方法

Country Status (1)

Country Link
CN (1) CN103049348B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241718A (zh) * 2016-12-27 2018-07-03 腾讯科技(北京)有限公司 一种数据并行处理的方法及服务器
US10205630B2 (en) 2013-12-31 2019-02-12 Huawei Technologies Co., Ltd. Fault tolerance method for distributed stream processing system
CN110334076A (zh) * 2019-05-31 2019-10-15 广州虎牙信息科技有限公司 数据处理方法、系统、服务器和装置
CN111464362A (zh) * 2020-04-08 2020-07-28 上海晨驭信息科技有限公司 一种用于服务器一主多备自动切换的系统
CN112131088A (zh) * 2020-09-29 2020-12-25 北京计算机技术及应用研究所 一种基于健康检查和容器的高可用方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160312A1 (en) * 2002-03-20 2005-07-21 Wouter Seng Fault-tolerant computers
CN101436209A (zh) * 2008-12-15 2009-05-20 中兴通讯股份有限公司 一种多数据库同步的方法和装置
CN101876924A (zh) * 2009-04-30 2010-11-03 升东网络科技发展(上海)有限公司 数据库故障自动检测及转移方法
CN102571452A (zh) * 2012-02-20 2012-07-11 华为技术有限公司 多节点管理的方法和系统
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN102810111A (zh) * 2012-05-07 2012-12-05 互动在线(北京)科技有限公司 一种保持Oracle数据库服务高可用的实现方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160312A1 (en) * 2002-03-20 2005-07-21 Wouter Seng Fault-tolerant computers
CN101436209A (zh) * 2008-12-15 2009-05-20 中兴通讯股份有限公司 一种多数据库同步的方法和装置
CN101876924A (zh) * 2009-04-30 2010-11-03 升东网络科技发展(上海)有限公司 数据库故障自动检测及转移方法
CN102693324A (zh) * 2012-01-09 2012-09-26 西安电子科技大学 一种分布式数据库同步系统、同步方法和节点管理方法
CN102571452A (zh) * 2012-02-20 2012-07-11 华为技术有限公司 多节点管理的方法和系统
CN102810111A (zh) * 2012-05-07 2012-12-05 互动在线(北京)科技有限公司 一种保持Oracle数据库服务高可用的实现方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
芶冬荣等: "双机容错计算机系统的设计与实现", 《计算机工程》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10205630B2 (en) 2013-12-31 2019-02-12 Huawei Technologies Co., Ltd. Fault tolerance method for distributed stream processing system
CN108241718A (zh) * 2016-12-27 2018-07-03 腾讯科技(北京)有限公司 一种数据并行处理的方法及服务器
CN108241718B (zh) * 2016-12-27 2022-02-11 腾讯科技(北京)有限公司 一种数据并行处理的方法及服务器
CN110334076A (zh) * 2019-05-31 2019-10-15 广州虎牙信息科技有限公司 数据处理方法、系统、服务器和装置
CN110334076B (zh) * 2019-05-31 2022-08-16 广州虎牙信息科技有限公司 数据处理方法、系统、服务器和装置
CN111464362A (zh) * 2020-04-08 2020-07-28 上海晨驭信息科技有限公司 一种用于服务器一主多备自动切换的系统
CN111464362B (zh) * 2020-04-08 2023-04-07 上海晨驭信息科技有限公司 一种用于服务器一主多备自动切换的系统
CN112131088A (zh) * 2020-09-29 2020-12-25 北京计算机技术及应用研究所 一种基于健康检查和容器的高可用方法
CN112131088B (zh) * 2020-09-29 2024-04-09 北京计算机技术及应用研究所 一种基于健康检查和容器的高可用方法

Also Published As

Publication number Publication date
CN103049348B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
Liskov et al. Viewstamped replication revisited
Cao et al. On coordinated checkpointing in distributed systems
CN101383690B (zh) 一种基于socket的容错计算机系统的网络同步方法
Jiménez-Peris et al. Non-intrusive, parallel recovery of replicated data
US8949828B2 (en) Single point, scalable data synchronization for management of a virtual input/output server cluster
US20030208511A1 (en) Database replication system
CN103049348A (zh) 多服务器化环境下数据容错存储的方法
US10565071B2 (en) Smart data replication recoverer
KR101993432B1 (ko) 2-단계 커미트 호출들의 엄격한 순서화에 근거하여 트랜잭션 복구를 지원하는 시스템들 및 방법들
CN108600353A (zh) 一种区块链节点的并行块同步方法
US7865763B2 (en) Data replication method
CN103345470A (zh) 一种数据库容灾方法、系统及服务器
CN104809202A (zh) 一种数据库同步的方法和装置
CN104809201A (zh) 一种数据库同步的方法和装置
CN101519078A (zh) 综合监控系统多区域数据同步方法
CN104809200A (zh) 一种数据库同步的方法和装置
US8527454B2 (en) Data replication using a shared resource
CN105574187A (zh) 一种异构数据库复制事务一致性保障方法及系统
CN105721582A (zh) 多节点文件备份系统
CN110427422A (zh) 数据同步异常时数据一致性校验方法、设备及存储介质
CN115794499B (zh) 一种用于分布式块存储集群间双活复制数据的方法和系统
CN117290122A (zh) 一种基于Kafka的多环境有序性生产消费的方法
EP1894096A1 (en) Apparatus, system, and method for facilitating communication between an enterprise information system and a client
US20240211488A1 (en) Transaction commitment systems, methods, and apparatuses based on distributed database systems
CN102841840B (zh) 基于消息重排序和消息数目检验的消息日志恢复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
CB03 Change of inventor or designer information

Inventor after: Hu Shu

Inventor after: Zhou Weiping

Inventor after: Zhang Jinwu

Inventor after: Zhang Pixu

Inventor after: You Zhisheng

Inventor after: Qiu Dunguo

Inventor after: Li Xiaofeng

Inventor after: Li Kelei

Inventor after: Chen Hongyu

Inventor after: Yu Dejun

Inventor after: Wu Decheng

Inventor after: Zou Wei

Inventor before: Hu Shu

Inventor before: Qiu Dunguo

Inventor before: Li Xiaofeng

Inventor before: Li Kelei

Inventor before: Chen Hongyu

COR Change of bibliographic data
TA01 Transfer of patent application right

Effective date of registration: 20151231

Address after: 610045 Sichuan city of Chengdu province Wuhou District Vuko East Road No. seven

Applicant after: Wisesoft Co.,Ltd.

Applicant after: SICHUAN University

Applicant after: UNIT 92232 OF PLA

Address before: 610045 Sichuan city of Chengdu province Wuhou District Vuko East Road No. seven

Applicant before: Wisesoft Co.,Ltd.

Applicant before: Sichuan University

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160316

CF01 Termination of patent right due to non-payment of annual fee