CN110032478B - 一种主备中心数据实时同步方法、装置、系统及存储介质 - Google Patents
一种主备中心数据实时同步方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN110032478B CN110032478B CN201810026004.5A CN201810026004A CN110032478B CN 110032478 B CN110032478 B CN 110032478B CN 201810026004 A CN201810026004 A CN 201810026004A CN 110032478 B CN110032478 B CN 110032478B
- Authority
- CN
- China
- Prior art keywords
- center
- data file
- service data
- directory
- standby
- 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
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种主备中心数据实时同步方法,包括:将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;建立与备中心的数据连接,将所述发送列队中的所述业务数据文件发送给备中心。本发明实施例还同时公开了一种主备中心数据实时同步装置、系统以及计算机可读存储介质。
Description
技术领域
本发明涉及数据同步技术领域,尤其涉及一种主备中心数据实时同步方法、装置、系统及存储介质。
背景技术
目前在处理海量数据时,为了满足处理效率,往往会采用多台服务器同时工作以满足处理要求,但由于种种原因,服务器可能会在提供服务的时候发生故障,从而不能持续给用户提供服务,影响服务质量。而目前在很多局点都只有一套双机系统(即主、备机,主机工作时,备机处于监控准备状况;当主机发生故障时,备机接管主机的一切工作,待主机恢复正常后,按管理员的设定以自动或手动方式将服务切换到主机上运行)来处理业务消息,但是如果现场环境发生异常,如双机系统中主机短期内无法恢复、且备机也发生故障的情况下,就会导致局点陷入瘫痪,业务消息失败,造成非常严重的后果。
因此,考虑在原有的设施基础上,增加容灾功能,即异地部署一套与上述局点中双机系统(即主中心)完全相同的设备和服务,作为备中心。如此做的好处是:在主中心正常工作的情况下,备中心不提供对外服务,当主中心出现异常,可以在短时间内迅速切换到备中心,这样就可以使用户仍然能够正常享受服务。
但是,这样就涉及到一个数据同步问题,需要保持主备中心数据的一致性,即主中心的数据是否能完整的同步到备中心,才会避免业务出错;另外,如何实现主备中心数据的实时性也是考虑的关键问题。
发明内容
为了解决以上问题,本发明实施例提供一种主备中心数据实时同步方法、装置、系统及存储介质,能够解决主中心数据完整的同步到备中心,实现主备中心数据的实时同步。
为达到上述目的,本发明实施例的技术方案是这样实现的:
一种主备中心数据实时同步方法,应用于主中心,所述方法包括:
将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;
以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;
建立与备中心的数据连接,将所述发送列队中的所述业务数据文件发送给备中心。
上述方案中,将所述业务数据文件复制到第一正式目录之后,所述方法还包括:
将所述第一正式目录中的所述业务数据文件导入至主中心数据库,当所述业务数据文件导入成功后,删除所述第一正式目录中的所述业务数据文件。
上述方案中,将所述发送队列中的所述业务数据文件发送给备中心之后,所述方法还包括:
当设定时间内没有接收到备中心发送的响应消息时,则重新建立与备中心的数据连接,再次将所述发送列队中的所述业务数据文件发送给备中心。
一种主备中心数据实时同步方法,应用于备中心,所述方法包括:
建立与主中心的数据连接,接收所述主中心发送的业务数据文件;
将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;
以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录。
上述方案中,所述以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录之后,还包括:
删除所述第二临时目录中的所述业务数据文件;
将所述第二正式目录的所述业务数据文件导入备中心数据库,当所述业务数据文件导入成功后,删除所述第二正式目录中的所述业务数据文件。
一种主备中心数据实时同步装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,实现权利要求本发明任一实施例所述提供的应用于主中心的主备中心数据实时同步方法。
一种主备中心数据实时同步装置,应用于主中心,所述装置包括:
写入模块,用于将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;
主中心处理模块,用于以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;
发送模块,建立与备中心的数据连接,将所述发送队列中的所述业务数据文件发送给备中心。
上述方案中,所述主中心处理模块,还用于将所述第一正式目录中的所述业务数据文件导入至主中心数据库,当所述业务数据文件导入成功后,删除所述第一正式目录中的所述业务数据文件。
上述方案中,所述主中心处理模块,还用于当接收到备中心发送的响应消息时,删除所述第一临时目录中与所述响应消息对应的所述业务数据文件;
当设定时间内没有接收到备中心发送的响应消息,则重新建立与备中心的数据连接,再次将所述发送队列中的所述业务数据文件发送给备中心。
一种主备中心数据实时同步装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,实现权利要求本发明任一实施例所述提供的应用于备中心的主备中心数据实时同步方法。
一种主备中心数据实时同步装置,应用于备中心,所述装置包括:
接收模块,用于建立与主中心的数据连接,接收所述主中心发送的业务数据文件;
备中心处理模块,用于将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;还用于以设定的第二时间间隔将所述第二临时目录中的所述业务消息文件复制至第二正式目录。
上述方案中,所述备中心处理模块,还用于删除所述第二临时目录中的所述业务数据文件;将所述第二正式目录的所述业务数据文件导入备中心数据库,当所述业务数据文件导入成功后,删除所述第二正式目录中的所述业务数据文件。
本发明实施例还提供了一种主备中心数据实时同步系统,所述系统,包括应用于主中心的主备中心数据实时同步装置,所述装置包括:写入模块,用于将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;主中心处理模块,用于以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;发送模块,建立与备中心的数据连接,将所述发送队列中的所述业务数据文件发送给备中心;和应用于备中心的主备中心数据实时同步装置,所述装置包括:接收模块,用于建立与主中心的数据连接,接收所述主中心发送的业务数据文件;备中心处理模块,用于将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;还用于以设定的第二时间间隔将所述第二临时目录中的所述业务消息文件复制至第二正式目录。
本发明实施例提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令计算机程序被处理器执行时实现本发明任一实施例所提供的主备数据实时同步方法。
本发明实施例提供的主备中心数据实时同步方法、装置、系统及存储介质,首先,主中心将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;其次,主中心以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;最后,主中心建立与备中心的数据连接,将所述发送列队中的所述业务数据文件发送给备中心。通过以业务消息对应的数据为单位写入文件形成业务消息数据,存入第一临时目录,保证了数据完整的写入文件;通过每隔设定时间检测第一临时目录中的文件,将其存在的业务数据文件发送给备中心,实现了数据的实时发送。如此,本发明实施例可以在不需要增加新的备中心响应消息处理机制的前提下,实现了主备中心数据的同步,同时,不会增加主中心服务的负担;由于数据的实时发送,当主备中心链路中断重连时,能确保主备中心数据的一致性。
附图说明
图1为本发明主备中心数据实时同步方法实施例一的实现流程示意图;
图2为一个实施例中形成业务数据文件的实现流程示意图;
图3为一个实施例中形成第一正式目录的实现流程示意图;
图4为本发明主备中心数据实时同步方法实施例二的实现流程示意图;
图5为一个实施例中将所述第一正式目录中所述业务数据文件导入至主中心数据库的实现流程示意图;
图6为一个实施例中主备中心数据连接超时重连实现流程示意图;
图7为本发明主备中心数据实时同步方法实施例三的实现流程示意图;
图8为一个实施例中形成第二正式目录的流程示意图;
图9为一个实施例中将所述第二正式目录中所述业务数据文件导入至主中心数据库的实现流程示意图;
图10为本发明实施例主备中心数据实时同步的硬件组成结构示意图;
图11为本发明一实施例中主备中心数据实时同步装置的结构示意图;
图12为本发明另一实施例中主备中心数据实时同步装置的结构示意图;
图13为本发明主备中心数据实时同步的系统组成的结构示意图;
图14为本发明主备中心数据实时同步系统实现主备中心数据实时同步方法实施例一的流程图;
图15为本发明主备中心数据实时同步系统实现主备中心数据实时同步方法实施例二的流程图。
具体实施方式
本发明实施例提供的主备中心数据实时同步方法,主要应用在主备中心的实时备份系统中,通过实时写文件的处理以及定时数据库入库的处理,实现将主中心的数据库中数据实时同步和更新到备中心的数据库。目前,已知的主备中心数据同步方法包括:
(一)、主中心直接连接备中心的数据库,通过定时将主中心的数据库中的数据导入备中心的数据库。而这样做,由于定时的时间不可能足够小,因而每次从主中心传到备中心的数据不可能是以业务消息对应的业务数据文件为单位进行传输的,而是一次性传输大量的业务消息对应的业务数据文件的数据,实时性很差,效率很低。另外,如果网络环境或者主中心数据库出现异常,更会积压大量数据无法同步;
(二)、采用请求实时同步的方法,即主中心每收到一个终端的业务消息时,将该业务消息原样转发给备中心的服务进程,从而主备中心的数据实时入库。可以采用超文本传输协议(HTTP,Hyper Text Transfer Protocol)、传输控制协议(TCP,TransmissionControl Protocol)、用户数据报协议(UDP,User Datagram Protocol)等方式来实现主备中心数据的实时同步,但是上述的同步必须需要严格按照请求消息的先后顺序来处理,不能有任何错乱。而采用HTTP短连接、UDP的实现方式,是无法保证接收方能够完全按照发送先后顺序接收到数据的;且采用HTTP、TCP长连接的实现方式,首先,主中心的消息量会增加一倍,其次,如果主中心只顾转发而不管备中心的响应时间和先后顺序的话,一旦链路中断就会丢失大量消息。因此,如果采用HTTP、TCP长连接的实现方式,则必须要另外增加备中心的响应消息的处理,但是,对于一个实时消息转发机制,既要保证消息先后顺序,又要具备重发功能,会大大增加主中心服务的负担。
基于已知的主备中心数据同步方法的问题,本发明实施例提供一种主备中心数据实时同步方法、装置、系统及存储介质,能够解决主中心的数据完整的同步到备中心,实现主备中心数据的实时同步的问题。本发明的实现、功能特点及优点将结合实施例,参照附图做进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提出了一种主备中心数据实时同步方法,应用于主中心,如图1所述,该方法包括如下步骤。
步骤101,将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录。
这里,所述将业务消息对应的业务消息数据写入文件可以是指,以每一业务消息对应的业务消息数据按照设定的固定格式写入文件,形成分别与各业务消息对应的业务数据文件。所述业务数据文件与所述业务消息分别一一对应。其中,所述业务消息对应的业务数据文件可以按生成该业务数据文件的时间来命名,具体可以生成该业务数据文件的年月日分秒来命名。通过根据业务数据文件的生成时间以精确到秒进行命名,可以通过文件的命名即精确地区分业务数据文件所分别对应的业务消息的先后顺序。例如,预先设置所述业务数据文件按照年月日分秒的时间格式命名,当主中心处理的第一个业务消息对应的业务消息数据完全写入第一个业务数据文件的时间为2017年10月10日10时10分01秒时,将所述第一个业务数据文件命名为20171010101001;将主中心处理的第二个业务消息对应的业务消息数据完全写入第二个业务数据文件的时间为2017年10月10日10时10分02秒时,将所述第二个业务数据文件命名为20171010101002;将主中心处理的第三个业务消息对应的业务消息数据完全写入第三个业务数据文件的时间为2017年10月10日10时10分03秒时,将所述第三个业务数据文件命名为20171010101003。
具体地,主中心在每处理一业务消息之后,根据所述业务消息对应的业务消息数据分别写入文件,形成分别与各业务消息对应的业务数据文件,再将所述业务数据文件按照先后顺序依次写入到第一临时目录。
进一步地,提供形成业务数据文件的一可选方案,如图2所示,所述步骤101,具体包括以下步骤:
步骤1011,判断所述各业务消息对应的业务消息数据是否完全写入;
具体地,主中心判断所述各业务消息对应的业务消息数据是否完全写入到对应的业务数据文件;如果还没有完全写入,执行步骤1012,如果已经完全写入,则执行步骤1013。
步骤1012,保存当前业务消息数据到内存;
步骤1013,将所述业务消息对应的业务数据文件写入到第一临时目录。
这里,所述第一临时目录中可以存在一个或多个业务数据文件,当存在多个业务数据文件时,按照写入进来的先后顺序依次存放。将业务消息对应的业务数据文件写入所述第一临时目录,以便于主中心将第一临时目录中业务数据文件实时发送到备中心进行同步。当业务数据文件实时发送到备中心后,所述第一临时目录不再保留所述业务数据文件,因此,可以理解的,可能在某一个时刻所述第一临时目录中会出现不存在任何一个业务数据文件的情况。
具体地,当主中心每处理一个业务消息之后,主中心将该业务消息对应的业务消息数据写入到对应的业务数据文件。如果同一个业务消息对应的业务消息数据还没有完全写入到对应的业务数据文件,则将所述业务消息数据保存到内存中,继续写入,直至该同一个业务消息所对应的业务消息数据已完整写入对应的业务数据文件;如果同一个业务消息对应的业务消息数据已经完全写入到对应的业务数据文件,则将所述业务消息对应的业务数据文件写入到第一临时目录。其中,判断同一个业务消息所对应的业务消息数据是否完全写入,可以通过对各业务消息对应的业务消息数据后面设置一个结束标志,如主中心可以设置同一个业务消息结束时对应产生的业务消息数据都携带该结束标志,当接收执行到该结束标志时,即默认所述业务消息对应的业务消息数据已经完全写入,反之,则视为所述各业务消息对应的业务消息数据未完全写入。在一可选实施方式中,为了确保所述各业务消息对应的业务消息数据完全写入到对应的业务数据文件中,还可以将执行步骤1011的判断时间设置成大于所述各业务消息对应的业务消息数据写入业务数据文件的写入时间,如,设置业务数据文件的写入时间为一秒,将每一业务消息一秒内所形成的业务消息数据作为一个业务数据文件,设置执行步骤1011的判断时间大于一秒,于每一判断时间内判断前一秒内的数据是否已经写完,如果已经写完则视为所述业务消息对应的业务消息数据已经完全写入,反之,则视为所述各业务消息对应的业务消息数据未完全写入。其中,所述执行步骤1011的判断时间为每隔多少时间判断所述各业务消息对应的业务消息数据是否完全写入的时间间隔。可选地,所述将所述业务数据文件依次写入到第一临时目录为按照以秒为时间间隔,按所生成业务数据文件时间先后顺序依次写入到第一临时目录。
需要说明的是,本发明实施例中为了保证同步业务消息数据的完整性,是以业务消息为单位将其对应的业务消息数据写入文件形成业务数据文件,因此需要同一业务消息的业务消息数据完全写入所述对应的业务数据文件之后,再以业务数据文件为单位读取到内存发送队列或者主备中心数据库。另外,为了确保主备中心数据库中读取到的数据的一致性,是将所述业务数据文件依次写入到第一临时目录。
步骤102,以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录。
具体地,主中心启动后,先检测第一临时目录内是否有业务数据文件存在,若存在,则将所述业务数据文件读取到内存的发送队列,且将所述业务数据文件复制到第一正式目录;若不存在,启动检测工作线程,即,于第一时间间隔之后,检测所述第一临时目录,判断所述第一临时目录在当前的第一时间间隔内是否存在所述业务数据文件生成,若不存在,则再次于第一时间间隔之后,检测所述第一临时目录,判断所述第一临时目录在当前的第一时间间隔内是否存在所述业务数据文件生成,若存在,则将所述业务数据文件读取到内存的发送队列,且将所述业务数据文件复制到第一正式目录,如此一直循环。每隔设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到内存的发送队列,并且,将所述业务数据文件复制到第一正式目录。
在一个具体的实施例中,所述设定时间间隔为一秒,具体应用过程中,设定时间间隔也可以是两秒、三秒或者其它多秒、或者一分、两分或者其它多分等的时间周期。进一步地,提供形成第一正式目录的一可选方案,如图3所示,步骤102,具体包括以下步骤:
步骤1020,检测第一临时目录是否存在业务数据文件;
其中,所述第一临时目录如果存在业务数据文件,则执行步骤1023,如果不存在业务数据文件,则执行步骤1021;
步骤1021,启动检测工作线程;
步骤1022,上一秒第一临时目录是否有业务数据文件生成;
具体地,每隔一秒的设定时间检测上一秒第一临时目录是否有业务数据文件生成,如果是,执行步骤1024,如果否,则返回执行步骤1022。
步骤1023,将所述业务数据文件复制到第一正式目录;
具体地,将所述第一临时目录中所述业务数据文件复制到第一正式目录,然后执行步骤1025。
步骤1024,将所述业务数据文件复制到第一正式目录;
具体地,将所述第一临时目录中所述业务数据文件复制到第一正式目录;然后执行步骤1025。
步骤1025,将所述业务数据文件读取到发送队列。
具体地,将所述第一临时目录中的所述业务数据文件读取到内存的发送队列。
具体地,当主中心启动后,主中心检测第一临时目录是否存在业务数据文件,如果存在,则将所述业务数据文件读取到内存的发送队列,并将所述业务数据文件复制到第一正式目录;如果不存在,则启动检测工作线程,即每隔一秒检测上一秒第一临时目录是否有业务数据文件生成,当所述第一临时目录有业务数据文件生成时,则将所述业务数据文件读取到内存的发送队列,并将所述业务数据文件复制到第一正式目录。
这里,执行步骤1023,可以避免在上一次主中心与备中心链路断开时,将存在于第一临时目录中的、未读到主中心数据库的业务数据文件重新读到主中心数据库。
需要说明的是,本发明实施例中通过以设定的第一时间间隔检测所述第一临时目录,判断出所述第一临时目录中如果存在所述业务数据,将所述业务数据文件读取到内存发送队列中,可以确保主中心每处理完一个业务消息之后,其对应的业务数据文件能发送给备中心,从而使备中心数据库保存相应的业务数据文件;并且,将所述业务数据文件复制到第一正式目录,可以确保主中心数据库保存与备中心数据库同样的业务数据文件,从而实现主备中心数据的实时性和一致性。
步骤103,建立与备中心的数据连接,将所述发送列队中的所述业务数据文件发送给备中心。
具体地,主中心通过传输控制协议TCP、或超文本传输协议HTTP等协议,建立与备中心的数据连接,所述数据连接为长连接。所述TCP/HTTP长连接可以在一个TCP/HTTP连接上保持多个数据包的传送,只要不出现异常情况或者用户主动去关闭它,就可以一直存在。如此,主中心就可以持续不断的发送业务数据文件给备中心,实现主备中心数据的实时同步。
优选地,将所述发送队列中的所述业务数据文件发送给备中心是以秒为时间单位发送,有利于主备中心的数据同步实现更好的实时性。
在一可选地的实施例中,如图4所示,在步骤102之后,还包括:
步骤104,将所述第一正式目录中的所述业务数据文件导入至主中心数据库,当所述业务数据文件导入成功后,删除所述第一正式目录中的所述业务数据文件。
这里,将所述第一正式目录中所述业务数据文件导入至主中心数据库可以通过任意已知的数据导入方式进行导入,如以启动定时脚本任务的数据导入方式进行导入。请参阅图5,以启动定时脚本任务的数据导入方式将所述业务数据文件导入至主中心数据库为例,对将所述第一正式目录中所述业务数据文件导入至主中心数据库进行具体说明,所述步骤104,包括:
步骤1040,启动定时任务脚本程序;
步骤1041,检测第一正式目录是否存在业务数据文件;
其中,所述第一正式目录如果存在业务数据文件,执行步骤1042,如果不存在业务数据文件,则返回执行步骤1040;
步骤1042,按照时间先后顺序依次导入数据库;
具体地,按照所述业务数据文件所生成的时间的先后顺序,将所述第一正式目录的所述业务数据文件依次导入主中心的数据库;
步骤1043,删除第一正式目录对应的业务数据文件。
具体地,主中心启动后,启用预先设置的定时任务脚本程序;以每隔设定的时间间隔检测第一正式目录是否存在业务数据文件,如果所述第一正式目录中存在所述业务数据文件,则将所述第一正式目录中业务数据文件按照所述业务数据文件所生成的时间先后顺序,依次导入主中心数据库;如果所述第一正式目录中不存在业务数据文件,则返回启动定时任务脚本程序的步骤;当所述业务数据文件导入主中心数据库成功后,删除其对应在第一正式目录中所述业务数据文件。
如此,能够将第一正式目录的业务数据文件以先后顺序实时更新到主中心数据库,实现主中心业务数据文件的定时导入主中心数据库;此外,通过当所述业务数据文件导入主中心数据库成功后,删除第一正式目录的对应的业务数据文件,能避免第一正式目录中积累大量数据,提升主中心的运行速度,节约第一正式目录的存储空间。
可选地,请再次参阅图4,在步骤103之后,还包括:
步骤105,判断是否收到备中心发送的响应消息;
步骤106,当接收到备中心发送的响应消息时,删除所述第一临时目录中与所述响应消息对应的所述业务数据文件;
具体地,当主中心接收到备中心发送的发送成功响应消息时,主中心删除所述第一临时目录中与所述响应消息对应的所述业务数据文件。
步骤107,当设定时间内没有接收到备中心发送的响应消息时,则重新建立与备中心的数据连接,再次将所述发送列队中的所述业务数据文件发送给备中心。
具体地,如图6所示,为一实施例所提供的主中心与备中心建立连接的时序图,当主中心在设定的时间内没有接收到备中心发送的响应消息时,可能的情况是:备中心连不上或者链路断开。当发生这种情况时,主中心接收不到备中心发送的响应消息,在设定的时间内,若主中心一直没有接收到备中心返回的响应消息,则主中心会主动连接备中心,与备中心重新建立数据连接,直至连接成功为止。而在备中心连不上或链路断开的期间内,主中心第一临时目录生成的业务数据文件会依次读取并存放到内存的发送队列中。当主中心重连与备中心连接成功时,主中心则将发送队列的业务数据文件发送给备中心。
如此,备中心不会因为主备中心之间的链路断开而丢失数据,并且,由于第一临时目录生成的业务数据文件依次存入发送队列,也不会在主备中心重连时导致业务数据文件的错乱,能高效地保持主备中心数据的一致性。
本发明一实施例还提出了一种主备中心实时同步的方法,应用于备中心,如图7所述,该方法包括:
步骤201,建立与主中心的数据连接,接收所述主中心发送的业务数据文件;
具体地,备中心启动后,通过主中心与备中心的数据连接,接收所述主中心通过发送队列发送过来的业务数据文件。
步骤202,将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;
具体地,备中心不断的接收主中心通过发送队列发送过来的业务数据文件,将所述业务数据文件按照时间先后顺序依次写入到第二临时目录,并向主中心返回发送成功接收消息的返回响应消息。
在一个具体实施例中,备中心将业务数据文件写入第二临时目录时,可以将所述业务数据文件按写入到第二临时目录的写入时间命名,具体可以写入业务数据文件的年月日分秒来命名。通过根据业务数据文件的写入时间以精确到秒进行命名,可以通过命名精确地区分业务数据文件所分别对应的业务消息的先后顺序。例如,备中心接收到主中心发送的第一业务数据文件,写入第二临时目录的时间为2017年10月10日10时11分01秒时,将所述第一业务数据文件命令为20171010101101;接收到主中心发送的第二业务数据文件,写入第二临时目录的时间为2017年10月10日10时11分02秒时,将所述第二业务数据文件命令为20171010101102;接收到主中心发送的第三业务数据文件,写入第二临时目录的时间为2017年10月10日10时11分03秒时,将所述第三业务数据文件命令为20171010101103。
作为另一可选的具体实施例中,备中心将业务数据文件写入第二临时目录时,仍以主中心所发送过来的业务数据文件的原命名进行写入。
步骤203,以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录。
具体地,备中心每隔设定的第二时间间隔,将所述第二临时目录中在上一个设定时间间隔生成的所述业务数据文件复制到所述第二正式目录。
在一个具体的实施例中,所述设定的第二时间间隔为一秒,具体应用过程中,设定时间间隔也可以两秒、三秒或者其它多秒、或者一分、两分或者其它多分等的时间周期,进一步地,提供形成第二正式目录的一可选方案,如图8所示,步骤203,包括:
步骤2030,检测第二临时目录是否存在业务数据文件;
其中,所述第二临时目录如果存在业务数据文件,则执行步骤2033,如果不存在业务数据文件,则执行步骤2031;
步骤2031,启动检测工作线程;
步骤2032,上一秒第二临时目录是否有业务数据文件生成;
具体地,每隔一秒的设定时间检测上一秒第二临时目录是否有业务数据文件生成,如果是,执行步骤2033,如果否,则返回执行步骤2032。
步骤2033,将所述业务数据文件复制到第二正式目录。
具体地,当备中心启动后,备中心检测第二临时目录是否存在业务数据文件,如果存在,则将所述业务数据文件复制到第二正式目录;如果不存在,则启动检测工作线程,即每隔一秒检测上一秒第二临时目录是否有业务数据文件生成,当所述第二临时目录有业务数据文件生成时,则将所述业务数据文件复制到第二正式目录。
如此,可以确保备中心每接收一个业务数据文件之后,将其按照时间先后顺序依次备份到备中心第二正式目录中。
可选地,请再次参阅图7,在步骤203之后,还包括:
步骤204,删除所述第二临时目录中的所述业务数据文件;将所述第二正式目录的所述业务数据文件导入备中心数据库,当所述业务数据文件导入成功后,删除所述第二正式目录中的所述业务数据文件。
这里,将所述业务数据文件复制到第二正式目录之后删除第二临时目录中的所述业务数据文件,即每备份一次业务数据文件到第二正式目录后删除所述业务数据文件在第二临时目录的存储,可节省第二临时目录的空间,节约系统资源。
这里,将所述第二正式目录中所述业务数据文件导入至备中心数据库可以通过任意已知的数据导入方式进行导入,如以启动定时脚本任务的数据导入方式进行导入。请参阅图9,以启动定时脚本任务的数据导入方式将所述业务数据文件导入至备中心数据库为例,对将所述第二正式目录中所述业务数据文件导入至主中心数据库进行具体说明,如图9所示,所述方法包括:
步骤2040,启动定时任务脚本程序;
步骤2041,检测第二正式目录是否存在业务数据文件;
其中,所述第二正式目录如果存在业务数据文件,执行步骤2042,如果不存在业务数据文件,则返回执行步骤2040;
步骤2042,按照时间先后顺序依次导入数据库;
具体地,按照所述业务数据文件所生成的时间的先后顺序,将所述第二正式目录的所述业务数据文件依次导入备中心数据库;
步骤2043,删除第二正式目录对应的业务数据文件。
具体地,备中心启动后,启用预先设置的定时任务脚本程序;以每隔设定的时间间隔检测第二正式目录是否存在业务数据文件,如果所述第二正式目录中存在所述业务数据文件,则将所述第二正式目录中业务数据文件按照所述业务数据文件所生成的时间先后顺序,依次导入备中心数据库;如果所述第二正式目录中不存在业务数据文件,则返回启动定时任务脚本程序的步骤;当所述业务数据文件导入主中心数据库成功后,删除其对应在第二正式目录中所述业务数据文件。
如此,能够将第二正式目录的业务数据文件以先后顺序实时更新到备中心数据库,实现备中心业务数据文件的定时导入备中心数据库,此时,彻底完成主备中心数据更新的一致性;此外,通过当所述业务数据文件导入备中心数据库成功后,删除第二正式目录的对应的业务数据文件,能避免第二正式目录中积累大量数据,提升备中心的运行速度,节约第二正式目录的存储空间。
本发明实施例还提出了一种主备中心数据实时同步装置,其中,该主备中心数据实时同步装置的实施侧具体可以是主中心和备中心。如图10所示,为本申请实施例所提供的一种主备中心数据实时同步装置的一个可选的硬件结构示意图,所述装置包括:处理器81和用于存储能够在处理器上运行的计算机程序的存储器82;其中,所述处理器81用于运行所述计算机程序时,实现权利要求本发明任一实施例所述提供的应用于主中心的主备中心数据实时同步方法,如图1至图6所示实施例所提供的主备中心数据实时同步方法,或者,所述处理81器用于运行所述计算机程序时,实现权利要求本发明任一实施例所述提供的应用于备中心的主备中心数据实时同步方法,如图7至图9所示实施例所提供的主备中心数据实时同步方法。
本发明实施例还提出了一种主备中心数据实时同步装置,应用于主中心,如图11所示,本实施例中主备中心数据实时同步的装置包括:写入模块31、主中心处理模块32和发送模块33;其中,
所述写入模块31,用于将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;
所述主中心处理模块32,用于以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;在一个具体的实施例中,所述设定的第一时间间隔为一秒。
所述发送模块33,建立与备中心的数据连接,将所述发送队列中的所述业务数据文件发送给备中心。
可选的,所述建立与备中心数据连接为:所述发送模块33建立与备中心的传输控制协议(TCP,Transmission Control Protocol)的长连接;
可选的,将所述发送队列中的所述业务数据文件以每秒为时间单位向所述备中心发送。
可选地,所述主中心处理模块32,还用于将所述第一正式目录中的所述业务数据文件导入至主中心数据库,当所述业务数据文件导入成功后,删除所述第一正式目录中的所述业务数据文件。
可选地,所述主中心处理模块32,还用于当接收到备中心发送的响应消息时,删除所述第一临时目录中与所述响应消息对应的所述业务数据文件;当设定时间内没有接收到备中心发送的响应消息,则重新建立与备中心的数据连接,再次将所述发送队列中的所述业务数据文件发送给备中心。
本发明另一实施例还提出了一种主备中心数据实时同步装置,如图12所示,本实施例中主备中心数据实时同步的装置包括:接收模块41和备中心处理模块42;其中,
所述接收模块41,用于建立与主中心的数据连接,接收所述主中心发送的业务数据文件;
所述备中心处理模块42,用于将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;还用于以设定的第二时间间隔将所述第二临时目录中的所述业务消息文件复制到第二正式目录。
可选地,所述备中心处理模块42,还用于删除所述第二临时目录中的所述业务数据文件;将所述第二正式目录的所述业务数据文件导入备中心数据库,当所述业务数据文件导入成功后,删除所述第二正式目录中的所述业务数据文件。
本发明实施例还提出了一种主备中心数据实时同步系统,如图13所述,包括实施侧为主中心的主备中心数据实时同步装置51及实施侧为备中心的主备中心数据实时同步装置52。其中,主备中心数据实时同步装置51包括写入模块31、主中心处理模块32和接收模块33,主备中心数据实时同步装置52包括接收模块41和备中心处理模块42。所述主备中心数据实时同步装置51为本发明任一实施例所提供的、用于实现应用于主中心的主备中心数据实时同步方法的主备中心数据实时同步装置,如图11所示的主备中心数据实时同步装置。所述主备中心数据实时同步装置52为本发明任一实施例所提供的、用于实现应用于备中心的主备中心数据实时同步方法的主备中心数据实时同步装置,如图12所示的主备中心数据实时同步装置。
下面通过具体实施例对本发明实施例的技术方案作进一步详细说明。
图14为本发明一实施例中主备中心数据实时同步系统实现主备中心的数据实时同步方法的流程示意图,其中,以主中心能成功接收到备中心返回接收成功消息响应为例进行说明,该方法包括如下步骤:
步骤601,将业务消息文件写入到第一临时目录;
具体地,主中心的写入模块判断所述各业务消息对应的业务消息数据是否完全写入到对应的业务数据文件,若同一业务消息对应的业务消息数据已完全写入,将所述业数据文件一次性写入到所述第一临时目录;若同一业务消息对应的业务消息数据没有完全写入,执行步骤602。
步骤602,继续写入业务消息数据;
具体地,主中心的写入模块继续将未完全写入的业务消息所对应的业务消息数据写入到对应的业务数据文件,直至该业务消息对应的业务消息数据完全写入。
步骤603,将业务消息文件发送到内存发送队列,并复制到第一正式目录;
具体地,主中心处理模块检测所述第一临时目录是否存在所述业务数据文件,若存在,将所述业务数据文件依次发送到内存的发送列队,并将所述业务数据文件复制到所述第一正式目录;若不存在,执行步骤604;与此同时,执行步骤611。
步骤604,以设定第一时间间隔检测第一临时目录;
具体地,主中心处理模块每隔设定的第一时间间隔,检测所述第一临时目录,判断所述第一临时目录在上个设定的第一时间间隔是否存在所述业务数据文件生成,若存在,则执行步骤603;与此同时,执行步骤611。
步骤605,将业务数据文件发送到备中心;
具体地,主中心建立与备中心的数据连接,将所述业务数据文件发送到备中心。
步骤606,将业务数据文件读取到第二临时目录;
具体地,备中心接收到发送队列中所述业务数据文件,将所述业务数据文件依次读取到所述第二临时目录。
步骤607,以设定第二时间间隔检测第二临时目录;
具体地,备中心处理模块以每隔设定的第二时间间隔检测所述第二临时目录,判断所述第二临时目录在上个设定第二时间间隔是否存在所述业务数据文件生成,若存在,则执行步骤608。
步骤608,将业务数据文件复制到第二正式目录,删除对应业务数据文件;
具体地,备中心处理模块将所述第二临目录的所述业务数据文件复制到所述第二正式目录,并删除第二临时目录中对应的所述业务数据文件;与此同时,执行步骤612。
步骤609,返回消息响应;
具体地,备中心发送接收消息成功响应消息给主中心。
步骤610,删除所述第一临时目录中对应的所述业务数据文件;
其中,删除所述第一临时目录中对应的所述业务数据文件为删除与所述响应消息对应的所述业务述文件。
步骤611,将业务数据文件复制到主中心数据库,并删除对应业务数据文件
具体地,主中心处理模块启动定时脚本任务,以设定的时间间隔检测第一正式目录,检测所述第一正式目录的是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到主中心数据库,并删除所述第一正式目录中对应的所述业务数据文件;
步骤612,复制到备中心数据库,删除对应业务数据文件;
具体地,备中心处理模块启动定时脚本任务,以设定时间间隔检测第二正式目录文件,判断所述第二正式目录是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到备中心数据库,并删除所述第二正式目录中对应的所述业务数据文件。
结合上述步骤601-612以及图14,对本实施例作更详细的说明:
主、备中心根据需求配置各自信息,主、备中心启动后,首先判断第一临时目录是否有业务数据文件存在,若存在,将所述业务数据文件依次发送到内存的发送队列,并复制到第一正式目录;
当主中心接收到终端业务消息请求后,主中心写入模块将各业务消息写入对应的业务数据文件,并判断所述各业务对应的业务消息数据是否完全写入到对应的业务数据文件,若完全写入,则将所述业务数据文件一次性写入到所述第一临时目录;若没有完全写入,继续写入,直至完全写入,将所述各业务消息数据文件一次性写入到对应的所述第一临时目录;
主中心处理模块以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录在上个设定的第一时间间隔存在所述业务数据文件生成,若存在,将所述业务数据文件依次发送到内存的发送队列,并复制到第一正式目录;与此同时,可启动主中心定时脚本任务,以设定的时间间隔检测第一正式目录,检测所述第一正式目录是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到主中心数据库,并删除所述第一正式目录中对应的所述业务数据文件;
主中心建立与备中心的数据连接,将所述发送队列的所述业务数据文件依次发送给备中心;
备中心接收到发送队列中所述业务数据文件后,将所述业务数据文件依次读取到所述第二临时目录;备中心处理模块以设定的第二时间间隔检测所述第二临时目录,判断所述第二临时目录在上个设定的第二时间间隔是否存在所述业务数据文件,若存在,则将所述业务数据文件复制到第二正式目录,并将所述第二临时目录中对应的所述业务数据文件;与此同时,可启动备中心定时脚本任务,以设定时间间隔检测第二正式目录文件,判断所述第二正式目录是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到备中心数据库,并删除所述第二正式目录中对应的所述业务数据文件;
备中心返回发送接收消息成功响应给主中心,主中心处理模块删除第一临时目录中对应的业务数据文件,即删除与所述响应消息对应的所述业务述文件。
图15为本发明一实施例中主备中心数据实时同步系统实现主备中心的数据实时同步方法的流程示意图,其中,以主中心超时未接收到到备中心返回接收成功消息响应的情况为例进行说明,该方法包括如下步骤:
步骤701,将业务消息文件写入到第一临时目录;
具体地,主中心的写入模块判断所述各业务消息对应的业务消息数据是否完全写入到对应的业务数据文件,若同一业务消息对应的业务消息数据已完全写入,将所述业数据文件一次性写入到所述第一临时目录;若同一业务消息对应的业务消息数据没有完全写入,执行步骤702。
步骤702,继续写入业务消息数据;
具体地,主中心的写入模块继续将未完全写入的业务消息所对应的业务消息数据写入到对应的业务数据文件,直至该业务消息对应的业务消息数据完全写入。
步骤703,将业务消息文件发送到内存发送队列,并复制到第一正式目录;
具体地,主中心处理模块检测所述第一临时目录是否存在所述业务数据文件,若存在,将所述业务数据文件依次发送到内存的发送列队,并将所述业务数据文件复制到所述第一正式目录;若不存在,执行步骤704;与此同时,执行步骤715;
步骤704,以设定第一时间间隔检测第一临时目录;
具体地,主中心处理模块每隔设定的第一时间间隔,检测所述第一临时目录,判断所述第一临时目录在上个设定的第一时间间隔是否存在所述业务数据文件生成,若存在,则执行步骤703;与此同时,执行步骤715。
步骤705,将业务数据文件发送到备中心;
具体地,主中心建立与备中心的数据连接,将所述业务数据文件发送到备中心。
步骤706,超时未接收到响应;
具体地,由于备中心连不上或者主备中心数据链路断开等原因,在设定的时间内,主中心未接收到备中心发送的接收成功消息响应。
步骤707,主中心重连备中心,直至连接成功;
具体地,主中心主动重连备中心,持续连接备中心,直至成功建立与备中心的数据连接。
步骤708,将第一临时目录文件读取到发送队列;
具体地,在所述备中心连不上或主备中心数据断链等原因造成的主备中心链路断开期间,将所述第一临时目录生成的所述业务数据文件依次读取到内存的发送队列。
步骤709,发送到备中心;
具体地,主中心将内存的所述发送队列中所述业务数据文件发送到备中心。
步骤710,将业务数据文件读取到第二临时目录;
具体地,备中心接收到发送队列中所述业务数据文件,将所述业务数据文件依次读取到所述第二临时目录。
步骤711,以设定第二时间间隔检测第二临时目录;
具体地,备中心处理模块以每隔设定的第二时间间隔检测所述第二临时目录,判断所述第二临时目录在上个设定第二时间间隔是否存在有所述业务数据文件生成,若存在,执行步骤712。
步骤712,将业务数据文件复制到第二正式目录,删除对应业务数据文件;
具体地,备中心处理模块将所述第二临时目录的所述业务数据文件复制到所述第二正式目录,并删除第二临时目录中对应的所述业务数据文件;与此同时,执行步骤716。
步骤713,返回响应消息;
具体地,备中心发送接收成功响应消息给主中心。
步骤714,删除所述第一临时目录中对应的所述业务数据文件;
其中,删除所述第一临时目录中对应的所述业务数据文件为删除与所述响应消息对应的所述业务数据文件。
步骤715,将业务数据文件复制到主中心数据库,并删除对应业务数据文件
具体地,主中心处理模块启动定时脚本任务,以设定的时间间隔检测第一正式目录,检测所述第一正式目录的是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到主中心数据库,并删除所述第一正式目录中对应的所述业务数据文件;
步骤716,复制到备中心数据库,删除对应业务数据文件;
具体地,备中心处理模块启动定时脚本任务,以设定时间间隔检测第二正式目录文件,判断所述第二正式目录是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到备中心数据库,并删除所述第二正式目录中对应的所述业务数据文件。
结合上述步骤701-716以及图15,对本实施例作更详细的说明:
主、备中心根据需求配置各自信息,主、备中心启动后,首先判断第一临时目录是否有业务数据文件存在,若存在,将所述业务数据文件依次发送到内存的发送队列,并复制到第一正式目录;
当主中心接收到终端业务消息请求后,主中心写入模块将各业务消息写入对应的业务数据文件,并判断所述各业务对应的业务消息数据是否完全写入到对应的业务数据文件,若完全写入,则将所述业务数据文件一次性写入到所述第一临时目录;若没有完全写入,继续写入,直至完全写入,将所述各业务消息数据文件一次性写入到对应的所述第一临时目录;
主中心处理模块以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录在上个设定的第一时间间隔存在所述业务数据文件生成,若存在,将所述业务数据文件依次发送到内存的发送队列,并复制到第一正式目录;与此同时,可启动主中心定时脚本任务,以设定的时间间隔检测第一正式目录,检测所述第一正式目录是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到主中心数据库,并删除所述第一正式目录中对应的所述业务数据文件;
主中心建立与备中心的数据连接,将所述发送队列的所述业务数据文件依次发送给备中心;
在设定的时间内,主中心未接收到备中心发送的接收成功消息响应(可能的情况是:备中心连不上,或主备中心的连接链路断开),则主中心主动重连备中心,持续连接备中心,直至成功建立与备中心的数据连接,在此期间,将所述第一临时目录生成的所述业务数据文件依次读取到内存的发送队列;
备中心接收到发送队列中所述业务数据文件后,将所述业务数据文件依次读取到所述第二临时目录;备中心处理模块以设定的第二时间间隔检测所述第二临时目录,判断所述第二临时目录在上个设定的第二时间间隔是否存在所述业务数据文件,若存在,则将所述业务数据文件复制到第二正式目录,并将所述第二临时目录中对应的所述业务数据文件;与此同时,可启动备中心定时脚本任务,以设定时间间隔检测第二正式目录文件,判断所述第二正式目录是否有所述业务数据文件存在,若存在,将所述业务数据文件复制到备中心数据库,并删除所述第二正式目录中对应的所述业务数据文件;
备中心返回发送接收消息成功响应给主中心,主中心处理模块删除第一临时目录中对应的业务数据文件,即删除与所述响应消息对应的所述业务数据文件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
在另一个实施例中,本发明任一实施例中主备中心实时同步装置的实施侧可以是服务器,如图10所示,所述服务器包括:处理器81、用于存储能够在处理器81上运行的计算机程序的存储器82,所述计算机程序被处理器81执行时用于实现本发明任一实施例所提供的主备中心实时同步方法。
本发明又一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有可执行程序,所述可执行程序被处理器81执行时,可实现主备中心数据实时同步方法的以下步骤:
将业务消息对应的业务消息数据文件写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;
以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;
建立与备中心的数据连接,将所述发送队列中的所述业务数据文件发送给备中心。
可选地,所述可执行程序被处理器81执行时,还用以实现以下步骤:
将所述第一正式目录中所述业务数据文件导入至主中心数据库,当所述业务数据文件导入成功后,删除所述第一正式目录中的所述业务数据文件。
可选地,所述可执行程序被处理器81执行时,还用以实现以下步骤:
当接收到备中心发送的响应消息时,删除所述第一临时目录中与所述响应消息对应的所述业务数据文件。
可选地,所述可执行程序被处理器81执行时,还用以实现以下步骤:
当设定时间内没有接收到备中心发送的响应消息时,则重新建立与备中心的数据连接,再次将所述发送队列中的所示业务数据文件发送给备中心。
可选地,所述可执行程序被处理器81执行时,还用以具体实现以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录的步骤中,所述第一时间间隔为一秒。
本发明另一实施例还提供了一种存储介质,该存储介质存储有可执行程序,所述可执行程序被处理器81执行时,可实现主备中心数据实时同步方法的以下步骤:
建立与主中心的数据连接,接收所述主中心发送的业务数据文件;
将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;
以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录。
可选地,所述可执行程序被处理器82执行时,还用以实现以下步骤:
以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录之后,包括:删除所述第二临时目录中的所述业务数据文件,将所述第二正式目录的所述业务数据文件导入备中心数据库,当所述业务数据文件导入成功后,删除所述第二正式目录中的所述业务数据文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种主备中心数据实时同步方法,应用于主中心,其特征在于,包括:
将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件,将所述业务数据文件写入到第一临时目录;
以设定的第一时间间隔检测所述第一临时目录,判断所述第一临时目录中是否存在所述业务数据文件,若存在,将所述业务数据文件读取到发送队列,且将所述业务数据文件复制到第一正式目录;
建立与备中心的数据连接,将所述发送队列 中的所述业务数据文件发送给备中心。
2.根据权利要求1所述的方法,其特征在于,所述将所述业务数据文件复制到第一正式目录之后,还包括:
将所述第一正式目录中的所述业务数据文件导入至主中心数据库,当所述业务数据文件导入成功后,删除所述第一正式目录中的所述业务数据文件。
3.根据权利要求1所述的方法,其特征在于,所述将所述发送队列中的所述业务数据文件发送给备中心之后,还包括:
当接收到备中心发送的响应消息时,删除所述第一临时目录中与所述响应消息对应的所述业务数据文件。
4.根据权利要求1所述的方法,其特征在于,所述将所述发送队列中的所述业务数据文件发送给备中心之后,还包括:
当设定时间内没有接收到备中心发送的响应消息时,则重新建立与备中心的数据连接,再次将所述发送队列 中的所述业务数据文件发送给备中心。
5.一种主备中心数据实时同步方法,应用于备中心,其特征在于,包括:建立与主中心的数据连接,接收所述主中心发送的业务数据文件;
所述业务数据文件的形成方式包括:将业务消息对应的业务消息数据写入文件,形成与各业务消息对应的业务数据文件;
将所述业务数据文件写入第二临时目录,并返回响应消息给所述主中心;
以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录。
6.根据权利要求5所述的方法,其特征在于,所述以设定的第二时间间隔将所述第二临时目录中的所述业务数据文件复制至第二正式目录之后,还包括:
删除所述第二临时目录中的所述业务数据文件;
将所述第二正式目录的所述业务数据文件导入备中心数据库,当所述业务数据文件导入成功后,删除所述第二正式目录中的所述业务数据文件。
7.一种主备中心数据实时同步装置,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,实现权利要求1至4中任一项所述方法。
8.一种主备中心数据实时同步装置,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,实现权利要求5至6中任一项所述方法。
9.一种主备中心数据实时同步系统,包括主中心和备中心,其特征在于,所述主中心包括权利要求7所述的主备中心数据实时同步装置,所述备中心包括权利要求8所述的主备中心数据实时同步装置。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令的计算机程序被处理器执行实现权利要求1至6任一项所述的主备中心数据实时同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810026004.5A CN110032478B (zh) | 2018-01-11 | 2018-01-11 | 一种主备中心数据实时同步方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810026004.5A CN110032478B (zh) | 2018-01-11 | 2018-01-11 | 一种主备中心数据实时同步方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032478A CN110032478A (zh) | 2019-07-19 |
CN110032478B true CN110032478B (zh) | 2022-05-13 |
Family
ID=67234217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810026004.5A Active CN110032478B (zh) | 2018-01-11 | 2018-01-11 | 一种主备中心数据实时同步方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032478B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727733B (zh) * | 2019-09-25 | 2023-07-14 | 许昌许继软件技术有限公司 | 一种主备服务器系统及数据同步方法 |
CN111382206B (zh) * | 2020-03-20 | 2024-03-15 | 北京奇艺世纪科技有限公司 | 一种数据存储方法及装置 |
CN111563010B (zh) * | 2020-04-16 | 2023-07-28 | 深圳震有科技股份有限公司 | 一种基于双机冗余系统的数据同步方法、系统及存储介质 |
CN112015816A (zh) * | 2020-08-27 | 2020-12-01 | 北京字节跳动网络技术有限公司 | 数据同步方法、装置、介质及电子设备 |
CN112015798B (zh) * | 2020-09-24 | 2023-12-05 | 中盈优创资讯科技有限公司 | 一种保证数据不重复和延迟监控的数据处理方法及装置 |
CN112306965A (zh) * | 2020-10-02 | 2021-02-02 | 中盈优创资讯科技有限公司 | 数据写入存储方法、装置、设备和计算机可读存储介质 |
CN114942915A (zh) * | 2022-05-25 | 2022-08-26 | 北京天融信网络安全技术有限公司 | 文件同步方法、服务系统、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407297A (zh) * | 2016-08-31 | 2017-02-15 | 成都科来软件有限公司 | 一种数据包下载管理系统及方法 |
CN106776155A (zh) * | 2016-12-08 | 2017-05-31 | 西安交大捷普网络科技有限公司 | 一种应用态连接同步方法 |
CN106850821A (zh) * | 2017-02-21 | 2017-06-13 | 山东浪潮云服务信息科技有限公司 | 一种数据管理方法、数据发送装置、数据接收装置及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100512094C (zh) * | 2004-11-17 | 2009-07-08 | 中兴通讯股份有限公司 | 一种实现多节点间信息同步的方法 |
CN101221522A (zh) * | 2007-01-11 | 2008-07-16 | 中兴通讯股份有限公司 | 一种容灾备份系统中数据同步的方法 |
CN101212267B (zh) * | 2007-12-21 | 2011-07-27 | 北京创毅视讯科技有限公司 | 广播系统基于文件模式传输业务数据的方法、系统及装置 |
US9665446B1 (en) * | 2015-12-29 | 2017-05-30 | International Business Machines Corporation | Fully distributed intelligent rebuild |
CN106713487B (zh) * | 2017-01-16 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 数据的同步方法和装置 |
CN106878473B (zh) * | 2017-04-20 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 一种消息处理方法、服务器集群及系统 |
-
2018
- 2018-01-11 CN CN201810026004.5A patent/CN110032478B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407297A (zh) * | 2016-08-31 | 2017-02-15 | 成都科来软件有限公司 | 一种数据包下载管理系统及方法 |
CN106776155A (zh) * | 2016-12-08 | 2017-05-31 | 西安交大捷普网络科技有限公司 | 一种应用态连接同步方法 |
CN106850821A (zh) * | 2017-02-21 | 2017-06-13 | 山东浪潮云服务信息科技有限公司 | 一种数据管理方法、数据发送装置、数据接收装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110032478A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032478B (zh) | 一种主备中心数据实时同步方法、装置、系统及存储介质 | |
US20180150501A1 (en) | Database system, server device, computer program product, and information processing method | |
JP4087271B2 (ja) | 代理応答装置およびネットワークシステム | |
US9286298B1 (en) | Methods for enhancing management of backup data sets and devices thereof | |
CN107124305B (zh) | 节点设备运行方法及节点设备 | |
CN110392120B (zh) | 一种消息推送过程中故障的恢复方法及装置 | |
JP2004032224A (ja) | サーバ引継システムおよびその方法 | |
CN111130879B (zh) | 一种基于pbft算法的集群异常恢复方法 | |
CN108667635B (zh) | 一种容灾处理的方法、设备及系统 | |
WO2021147793A1 (zh) | 数据处理方法、装置、系统、电子设备及计算机存储介质 | |
WO2012171346A1 (zh) | 电话号码映射域名解析系统(enum-dns)及其容灾方法 | |
WO2021115043A1 (zh) | 分布式数据库系统和数据灾备演练方法 | |
CN109947592B (zh) | 一种数据同步方法、装置以及相关设备 | |
CN111756826B (zh) | 一种dlm的锁信息传输方法以及相关装置 | |
CN110351122B (zh) | 容灾方法、装置、系统与电子设备 | |
WO2019019607A1 (zh) | 数据备份方法、装置及系统 | |
CN116560904A (zh) | Nas数据备份容灾方法、系统、终端及存储介质 | |
KR101766446B1 (ko) | 데이터를 동기화하고 복원하는 이중화 시스템 및 방법 | |
CN114500243B (zh) | 数据通信方法、装置、计算机可读介质及电子设备 | |
CN113890817A (zh) | 一种通信优化方法和装置 | |
CN115114112A (zh) | 数据同步方法及装置 | |
CN113704349A (zh) | 一种数据同步方法、装置以及节点设备 | |
CN115713317A (zh) | 一种会议实现方法、系统及存储介质和终端设备 | |
CN113515574A (zh) | 一种数据同步方法及装置 | |
CN110764954A (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 |