CN113434604B - 一种时序数据库同步方法、***、设备及存储介质 - Google Patents
一种时序数据库同步方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN113434604B CN113434604B CN202110983568.XA CN202110983568A CN113434604B CN 113434604 B CN113434604 B CN 113434604B CN 202110983568 A CN202110983568 A CN 202110983568A CN 113434604 B CN113434604 B CN 113434604B
- Authority
- CN
- China
- Prior art keywords
- time sequence
- heartbeat
- sequence database
- database
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种时序数据库同步方法、***、设备及存储介质,包括在两个时序数据库之间建立心跳链路和数据链路;利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障;当两个时序数据库之间恢复心跳,通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中;本发明通过设置独立的时序数据同步网络,实现时序数据库故障检测及故障后的数据恢复,恢复效率及准确度高,避免时序数据的丢失,避免了分散控制***的故障。
Description
技术领域
本发明属于自动控制***技术领域,特别涉及一种时序数据库同步方法、***、设备及存储介质。
背景技术
在电力、化工等工业生产领域,现场包含大量生产设备,其运行过程中能够产生大量的时序数据;时序数据具有产生频率块、严重依赖于采集时间及测点多信息量大的特点,通过对历史的时序数据进行分析和处理,即可获取电厂或化工厂的运行情况,对工业生产起到了至关重要的指导作用。
在分散控制***DCS中,利用历史站通过网络从若干分散处理单元DPU中获取时序数据,并进行存储;目前,每个分散控制***DCS中大多配置有两台历史站,每台历史站上分别启动有一个时序数据库,且两个时序数据库均为主用;当其中一台历史站故障后,将丢失故障时间段内的所有分散处理单元DPU的时序数据,造成处理分析应用无法获取时序数据,导致***故障。
发明内容
针对现有技术中存在的技术问题,本发明提供了一种时序数据库同步方法、***、设备及存储介质,以解决分散控制***DCS的两台历史站中,其中一台历史站故障后,将丢失故障时间段内的所有分散处理单元DPU的时序数据,造成处理分析应用无法获取时序数据,导致***故障。
为达到上述目的,本发明采用的技术方案为:
本发明提供了一种时序数据库同步方法,包括以下步骤:
在两个时序数据库之间建立心跳链路和数据链路;
利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;
判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障;若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;
当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中。
进一步的,在两个时序数据库之间建立心跳链路和数据链路的过程,具体如下:
采用在配置第一个时序数据库的历史站中设置第一网卡,在配置第二个时序数据库的历史站中设置第二网卡;第一网卡和第二网卡上分别至少设置两个网口;
其中,在第一网卡的其中一个网口与第二网卡的其中一个网口之间建立bond6链路,作为心跳链路;在第一网卡的另一个网口与第二网卡的另一个网口之间建立bond6链路,作为数据链路。
进一步的,第一网卡及第二网卡均采用万兆网卡;第一网卡和第二网卡均支持RDMA。
进一步的,心跳消息包括:源节点名、目标节点名、源节点IP、目标节点IP及心跳序号;心跳回复消息包括源节点名、目标节点名、源节点IP、目标节点IP及校验心跳序号。
进一步的,判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,具体如下:
在连续预设周期内,第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,则第二个时序数据库存在心跳故障;
或,在连续预设周期内,第二个时序数据库未收到第一个时序数据库发送的心跳消息,则第一个时序数据库存在心跳故障。
进一步的,判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,具体如下:
若第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,且第二个时序数据库未收到第一个时序数据库发送的心跳消息时,则ping第一个时序数据库的心跳链路的IP地址和第二个时序数据库的心跳链路的IP;若ping不通,则心跳链路故障;若ping通,则心跳链路无故障,时序数据库无响应。
进一步的,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整,具体如下:
通过数据链路向对端时序数据库发送query消息,利用query消息查询对端时序数据库在心跳故障时段内的时序数据总数;其中,query消息中携带有故障时序数据库的心跳断连时刻及心跳恢复时刻;
将查询的对端时序数据库在心跳故障时段内的时序数据总数与该时段内故障时序数据库内的时序数据数量进行比较;
若故障时序数据库内的时序数据数量小于对端时序数据库的时序数据总数,则认为在心跳故障时段内的故障时序数据库的时序数据不完整,并向对端时序数据库请求数据补齐。
本发明还提供了一种时序数据库同步***,包括:
链路模块,用于在两个时序数据库之间建立心跳链路和数据链路;
心跳模块,用于利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;
故障判断模块,用于判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;
数据恢复模块,用于当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中。
本发明还提供了一种时序数据库同步设备,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的一种时序数据库同步方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述的一种时序数据库同步方法的步骤。
与现有技术相比,本发明的有益效果为:
本发明提供了一种时序数据库同步方法、***、设备及存储介质,通过在两个时序数据库之间建立心跳链路和数据链路,利用心跳链路,在两个时序数据库之间互发心跳,判断并记录时序数据库的故障;利用数据链路,实现了故障时序数据库从正常时序数据库拷贝时序数据,实现时序数据库的同步;通过设置独立的时序数据同步网络,实现时序数据库故障检测及故障后的数据恢复,恢复效率及准确度高,避免时序数据的丢失,避免了分散控制***的故障。
进一步的,通过采用在配置时序数据库的历史站上分别设置网卡,利用两个网卡分别建立bond6链路作为心跳链路和数据链路;在两个网卡的网口之间组建bond6链路,实现将两个网卡的对应网口组成一个bond绑定,对外体现一个IP地址;当其中一个网口出现物理故障后,不会影响对外IP的使用;且组建bond6链路可以对两个网口负荷进行分担,避免对其中一个网口造成端口流量过载的现象。
附图说明
图1为本实施例所述的时序数据库同步方法流程图;
图2为实施例中历史站同步网络结构示意图;
图3为实施例中的时序数据库同步***的结构框图;
图4为实施例中的时序数据库同步设备的结构框图。
其中,1第一网卡,2第二网卡;11第一网卡0口,12第一网卡3口;21第二网卡0口,22第二网卡3口。
具体实施方式
为了使本发明所解决的技术问题,技术方案及有益效果更加清楚明白,以下具体实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种时序数据库同步方法,包括以下步骤:
步骤1、在两个时序数据库之间建立心跳链路和数据链路;其中,采用在配置第一个时序数据库的历史站中设置第一网卡1,在配置第二个时序数据库的历史站中设置第二网卡2;第一网卡1和第二网卡2上分别至少设置两个网口;其中,在第一网卡1的其中一个网口与第二网卡2的其中一个网口之间建立bond6链路,作为心跳链路;在第一网卡1的另一个网口与第二网卡2的另一个网口之间建立bond6链路,作为数据链路;本发明中,第一网卡1和第二网卡2均采用万兆网卡,且第一网卡1和第二网卡2均支持RDMA;其中,bond6链路为将第一网卡1中的一个网口与第二网卡2中的一个网口绑定成bond6;bond6为网卡绑定的平衡负载模式。
步骤2、利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳信息;其中,心跳消息的消息内容包括:源节点名、目标节点名、源节点IP、目标节点IP及心跳序号;第二个时序数据库收到心跳信息后,向第一个时序数据库发送心跳回复信息;其中,心跳回复消息的消息内容包括源节点名、目标节点名、源节点IP、目标节点IP及校验心跳序号。
步骤3、判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;其中,判断两个时序数据库之间是否存在心跳故障,具体过程如下:
在连续预设周期内,第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,则第二个时序数据库存在心跳故障;
或,在连续预设周期内,第二个时序数据库未收到第一个时序数据库发送的心跳消息,则第一个时序数据库存在心跳故障。
本发明中,若第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,且第二个时序数据库未收到第一个时序数据库发送的心跳消息时,则ping第一个时序数据库的心跳链路的IP地址和第二个时序数据库的心跳链路的IP;若ping不通,则心跳链路故障;若ping通,则心跳链路无故障,时序数据库无响应。
步骤4、当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中。
具体过程如下:
通过数据链路向对端时序数据库发送query消息,利用query消息查询对端时序数据库在心跳故障时段内的时序数据总数;其中,query消息中携带有故障时序数据库的心跳断连时刻及心跳恢复时刻;
将查询的对端时序数据库在心跳故障时段内的时序数据总数与该时段内故障时序数据库内的时序数据数量进行比较;
若故障时序数据库内的时序数据数量小于对端时序数据库的时序数据总数,则认为在心跳故障时段内的故障时序数据库的时序数据不完整,并向对端时序数据库请求数据补齐。
实施例
以某火电厂的分散控制***为例,该分散控制***中配置两台历史站,当前上位机的AB网为千兆网络,即上位机之间的通信网络是千兆网络;每台历史站上分别启动一个时序数据库,且两个时序数据库均匀主用,上位机从每个时序数据测点获取数据的采集周期为500ms。
如附图1所示,本实施例提供了一种时序数据库同步方法,具体包括以下步骤:
步骤1、在两个时序数据库之间建立心跳链路及数据链路。
在配置第一个时序数据库的历史站中配置第一网卡1,在配置第二个时序数据库的历史站中配置第二网卡2;其中,第一网卡1及第二网卡2均采用万兆网卡,每个万兆网卡均包括四个万兆网口;且第一网卡1和第二网卡2均支持RDMA。
如附图2所示,本实施例中,采用在第一网卡1和第二网卡2的四个万兆网口上对应组建bond6链路;其中,在第一网卡1的第一网卡0口11与第二网卡2的第二网卡0口21之间建立bond6链路,作为心跳链路;在第一网卡1的第一网卡3口12与第二网卡2的第二网卡3口22之间建立bond6链路,作为数据链路;第一网卡1和第二网卡2中剩余的两个网口作为备用;其中,bond6链路为将第一网卡1中的一个网口与第二网卡2中的一个网口绑定成bond6;bond6为网卡绑定的平衡负载模式,即适配器适应性负载均衡模式。
步骤2、利用心跳链路,通过第一个时序数据库向第二个时序数据库发生心跳信息,第二时序数据库收到心跳消息后,发送心跳回复消息。
利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳信息;心跳消息的消息内容包括:源节点名、目标节点名、源节点IP、目标节点IP及心跳序号;其中,心跳序号的默认值为从0开始,每发送一次心跳信息,心跳序号+1;本实施例中,第一个时序数据库每间隔100ms向第二个时序数据库发送心跳信息。
心跳信息的具体格式示例,如下:
heart_beat
From:[email protected]
index:0。
第二个时序数据库收到心跳信息后,向第一个时序数据库发送心跳回复信息;心跳回复消息的消息内容包括源节点名、目标节点名、源节点IP、目标节点IP及校验心跳序号;其中,校验心跳序号为上一次收到的心跳序号+1;校验心跳序号正确后,第二时序数据库向第一个时序数据库发送心跳回复信息。
心跳回复信息的具体格式示例,如下:
response
From:[email protected]
index:1。
步骤3、判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;其中,判断两个时序数据库之间是否存在心跳故障。
本实施例中,预设连续5个心跳周期未收到对端时序数据库发送的心跳信息或心跳回复信息,则认为对端时序数据库故障;当前设置连续5个心跳周期为判断周期,即每间隔500ms作为判断周期,保证了分散控制***中的每个数据采集点,在500ms采集周期内可以检查到时序数据库的断连,避免了时序数据丢失;具体如下:
a)在连续5个心跳周期内,第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,则第二个时序数据库存在心跳故障;第一个时序数据库记录第二个时序数据库的心跳断连时刻及心跳恢复时刻,即记录第二个时序数据库的故障时间段,并向运维人员发送告警记录第二个时序数据库的故障时间段,以提示运维人员第二个时序数据库在对应的故障时间段内存在故障。
b)在连续5个心跳周期内,第二个时序数据库未收到第一个时序数据库发送的心跳消息,则第一个时序数据库存在心跳故障;第二个时序数据库记录第一个时序数据库的心跳断连时刻及心跳恢复时刻,即记录第一个时序数据库的故障时间段,并向运维人员发送告警记录第一个时序数据库的故障时间段,以提示运维人员第一个时序数据库在对应的故障时间段内存在故障。
c)若第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,且第二个时序数据库未收到第一个时序数据库发送的心跳消息时,则ping第一个时序数据库的心跳链路的IP地址和第二个时序数据库的心跳链路的IP;若ping不通,则心跳链路故障;若ping通,则心跳链路无故障,时序数据库无响应。
步骤4、当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中。
本实施例中,时序数据库在启动后,会启动心跳线程向对端时序数据库发送心跳消息,心跳线程中绑定了配置的数据链路的IP;在故障时序数据库恢复正常后,即两个时序数据库之间的心跳恢复正常后;通过数据链路向对端时序数据库发送query消息,利用query消息查询对端时序数据库在心跳故障时段内的时序数据总数;其中,query消息中携带有故障时序数据库的心跳断连时刻及心跳恢复时刻。
将查询的对端时序数据库在心跳故障时段内的时序数据总数与该时段内故障时序数据库内的时序数据数量进行比较。
若故障时序数据库内的时序数据数量小于对端时序数据库的时序数据总数,则认为在心跳故障时段内的故障时序数据库的时序数据不完整,并向对端时序数据库请求数据补齐。
本实施例所述的一种时序数据库同步方法,通过在两个时序数据库之间建立心跳链路和数据链路;利用心跳链路,在两个时序数据库之间互发心跳,判断并记录时序数据库的故障;利用数据链路,实现了故障时序数据库从正常时序数据库拷贝时序数据,实现时序数据库的同步;两个时序数据库之间的时序数据通过数据链路进行通信,数据链路采用RDMA,速率可达到万兆,且不会影响上位机的AB网络,实现以每秒恢复数吉字节的时序数据,数据恢复同步速率较高,避免了对上位机的AB网络造成拥堵;采用单独设置万兆网卡,实现将历史站的心跳链路与数据链路和原有上位机的AB网络隔离开,不会对原有的网络造成大的影响;同时,实现时序数据库故障检测,故障后的数据恢复,快速恢复时序库业务,避免数据丢失。
如附图3所示,本实施例还提供了一种时序数据库同步***,包括链路模块、心跳模块、故障判断模块及数据恢复模块;链路模块,用于在两个时序数据库之间建立心跳链路和数据链路;心跳模块,用于利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;故障判断模块,用于判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;数据恢复模块,用于当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中。
如附图4所示,本实施例还提供了一种时序数据库同步设备,包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如时序数据库同步程序;其中,附图4中的通讯接口,用于接入外部设备,以获取数据。
所述处理器执行所述计算机程序时实现上述时序数据库同步方法中的步骤,例如:
在两个时序数据库之间建立心跳链路和数据链路;
利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;
判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障;若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;
当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中;或者,所述处理器执行所述计算机程序时实现上述时序数据库同步***中各模块的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述时序数据同步设备中的执行过程。例如,所述计算机程序可以被分割成链路模块、心跳模块、故障判断模块及数据恢复模块,各模块具体功能如下:
链路模块,用于在两个时序数据库之间建立心跳链路和数据链路;
心跳模块,用于利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;
故障判断模块,用于判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;
数据恢复模块,用于当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中。
所述时序数据库同步设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述时序数据库同步设备可包括,但不仅限于,处理器及存储器。
本领域技术人员可以理解,附图4仅仅是时序数据库同步设备的示例,并不构成对时序数据库同步设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述时序数据库同步设备还可以包括通信接口、输入输出设备、网络接入设备及总线等。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述时序数据库同步设备的控制中心,利用各种接口和线路连接整个时序数据库同步设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述时序数据库同步设备的各种功能。
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。
此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的时序数据库同步方法的步骤;本实施例中,所述时序数据库同步设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例实现上述时序数据库同步方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明所述的时序库数据库同步方法、***、设备及存储介质,能够记录对端时序数据库的故障时间点,并实现故障时序数据库故障时间段内的时序数据的恢复;本发明基于RDNA网卡,建立bond6链路作为心跳链路和数据链路,确保了时序数据库故障状态检测的实时性,时序数据恢复速率高,准确度好。
上述实施例仅仅是能够实现本发明技术方案的实施方式之一,本发明所要求保护的范围并不仅仅受本实施例的限制,还包括在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化、替换及其他实施方式。
Claims (9)
1.一种时序数据库同步方法,其特征在于,包括以下步骤:
在两个时序数据库之间建立心跳链路和数据链路;
利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;
判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障;若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;
当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中;
故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整,具体如下:
通过数据链路向对端时序数据库发送query消息,利用query消息查询对端时序数据库在心跳故障时段内的时序数据总数;其中,query消息中携带有故障时序数据库的心跳断连时刻及心跳恢复时刻;
将查询的对端时序数据库在心跳故障时段内的时序数据总数与该时段内故障时序数据库内的时序数据数量进行比较;
若故障时序数据库内的时序数据数量小于对端时序数据库的时序数据总数,则认为在心跳故障时段内的故障时序数据库的时序数据不完整,并向对端时序数据库请求数据补齐。
2.根据权利要求1所述的一种时序数据库同步方法,其特征在于,在两个时序数据库之间建立心跳链路和数据链路的过程,具体如下:
采用在配置第一个时序数据库的历史站中设置第一网卡,在配置第二个时序数据库的历史站中设置第二网卡;第一网卡和第二网卡上分别至少设置两个网口;
其中,在第一网卡的其中一个网口与第二网卡的其中一个网口之间建立bond6链路,作为心跳链路;在第一网卡的另一个网口与第二网卡的另一个网口之间建立bond6链路,作为数据链路。
3.根据权利要求2所述的一种时序数据库同步方法,其特征在于,第一网卡及第二网卡均采用万兆网卡;第一网卡和第二网卡均支持RDMA。
4.根据权利要求1所述的一种时序数据库同步方法,其特征在于,心跳消息包括:源节点名、目标节点名、源节点IP、目标节点IP及心跳序号;心跳回复消息包括源节点名、目标节点名、源节点IP、目标节点IP及校验心跳序号。
5.根据权利要求1所述的一种时序数据库同步方法,其特征在于,判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,具体如下:
在连续预设周期内,第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,则第二个时序数据库存在心跳故障;
或,在连续预设周期内,第二个时序数据库未收到第一个时序数据库发送的心跳消息,则第一个时序数据库存在心跳故障。
6.根据权利要求1所述一种时序数据库同步方法,其特征在于,判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,具体如下:
若第一个时序数据库未收到第二个时序数据库发送的心跳回复信息,且第二个时序数据库未收到第一个时序数据库发送的心跳消息时,则ping第一个时序数据库的心跳链路的IP地址和第二个时序数据库的心跳链路的IP;若ping不通,则心跳链路故障;若ping通,则心跳链路无故障,时序数据库无响应。
7.一种时序数据库同步***,其特征在于,包括:
链路模块,用于在两个时序数据库之间建立心跳链路和数据链路;
心跳模块,用于利用心跳链路,通过第一个时序数据库向第二个时序数据库发送心跳消息;第二个时序数据库收到心跳消息后,向第一个时序数据库发送心跳回复消息;
故障判断模块,用于判断第一个时序数据库与第二个时序数据库之间是否存在心跳故障,若存在,则记录故障时序数据库的心跳断连时刻及心跳恢复时刻;
数据恢复模块,用于当两个时序数据库之间恢复心跳,故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整;若有缺失,则通过数据链路,将正常时序数据库中的时序数据拷贝至故障时序数据库中;故障时序数据库通过数据链路,向对端时序数据库发送查询请求,判断心跳故障时间段内的时序数据是否完整,具体如下:
通过数据链路向对端时序数据库发送query消息,利用query消息查询对端时序数据库在心跳故障时段内的时序数据总数;其中,query消息中携带有故障时序数据库的心跳断连时刻及心跳恢复时刻;
将查询的对端时序数据库在心跳故障时段内的时序数据总数与该时段内故障时序数据库内的时序数据数量进行比较;
若故障时序数据库内的时序数据数量小于对端时序数据库的时序数据总数,则认为在心跳故障时段内的故障时序数据库的时序数据不完整,并向对端时序数据库请求数据补齐。
8.一种时序数据库同步设备,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6任意一项所述的一种时序数据库同步方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的一种时序数据库同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110983568.XA CN113434604B (zh) | 2021-08-25 | 2021-08-25 | 一种时序数据库同步方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110983568.XA CN113434604B (zh) | 2021-08-25 | 2021-08-25 | 一种时序数据库同步方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434604A CN113434604A (zh) | 2021-09-24 |
CN113434604B true CN113434604B (zh) | 2021-12-03 |
Family
ID=77797858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110983568.XA Active CN113434604B (zh) | 2021-08-25 | 2021-08-25 | 一种时序数据库同步方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434604B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810250B (zh) * | 2021-09-27 | 2023-02-07 | 西安热工研究院有限公司 | 一种消息跟踪方法、***及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257405A (zh) * | 2008-04-03 | 2008-09-03 | 中兴通讯股份有限公司 | 主从设备间双链路的实现方法 |
CN103684815A (zh) * | 2012-09-03 | 2014-03-26 | ***通信集团公司 | 数据传输链路的保活方法、装置及*** |
CN104504062A (zh) * | 2014-12-22 | 2015-04-08 | 浙江宇视科技有限公司 | 主备数据库数据同步方法及装置 |
CN105072029A (zh) * | 2015-08-31 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种双活双控存储***的冗余链路设计方法及*** |
CN105912628A (zh) * | 2016-04-07 | 2016-08-31 | 北京奇虎科技有限公司 | 主从数据库的同步方法及装置 |
CN109542983A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN110704238A (zh) * | 2019-08-30 | 2020-01-17 | 北京浪潮数据技术有限公司 | 一种基于时序数据库的主备方法及装置、电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858305B2 (en) * | 2014-03-06 | 2018-01-02 | International Business Machines Corporation | Restoring database consistency integrity |
US11354299B2 (en) * | 2018-10-19 | 2022-06-07 | Oracle International Corporation | Method and system for a high availability IP monitored by both OS/network and database instances |
CN110275680B (zh) * | 2019-06-24 | 2020-12-01 | 浙江大华技术股份有限公司 | 一种双控双活存储*** |
-
2021
- 2021-08-25 CN CN202110983568.XA patent/CN113434604B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257405A (zh) * | 2008-04-03 | 2008-09-03 | 中兴通讯股份有限公司 | 主从设备间双链路的实现方法 |
CN103684815A (zh) * | 2012-09-03 | 2014-03-26 | ***通信集团公司 | 数据传输链路的保活方法、装置及*** |
CN104504062A (zh) * | 2014-12-22 | 2015-04-08 | 浙江宇视科技有限公司 | 主备数据库数据同步方法及装置 |
CN105072029A (zh) * | 2015-08-31 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种双活双控存储***的冗余链路设计方法及*** |
CN105912628A (zh) * | 2016-04-07 | 2016-08-31 | 北京奇虎科技有限公司 | 主从数据库的同步方法及装置 |
CN109542983A (zh) * | 2018-12-03 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN110704238A (zh) * | 2019-08-30 | 2020-01-17 | 北京浪潮数据技术有限公司 | 一种基于时序数据库的主备方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113434604A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966289B (zh) | 基于Kafka集群的分区优化方法和*** | |
CN110958161B (zh) | 区块链节点监控方法、装置和存储介质 | |
CN105516347A (zh) | 一种流媒体服务器的负载均衡调配的方法及装置 | |
CN111740860A (zh) | 日志数据传输链路监控方法及装置 | |
CN110401466B (zh) | 一种基于高速信号切换芯片的数据传输方法、装置及介质 | |
CN112737800A (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN114363144B (zh) | 一种面向分布式***的故障信息关联上报方法及相关设备 | |
CN103905219A (zh) | 一种业务平台中通信信息的监控存储***及方法 | |
CN113434604B (zh) | 一种时序数据库同步方法、***、设备及存储介质 | |
CN112612769A (zh) | 文件处理方法、装置及存储介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN110708177B (zh) | 分布式***中的异常处理方法、***和装置 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN112260902A (zh) | 网络设备监控方法、装置、设备及存储介质 | |
CN111885158A (zh) | 一种集群任务处理方法、装置、电子设备及存储介质 | |
CN114201439B (zh) | 服务器信号识别优化方法、***及存储介质 | |
CN112711466B (zh) | 悬挂事务巡检方法和装置、电子设备和存储介质 | |
CN114827967A (zh) | 软件更新方法、蓝牙设备及存储介质 | |
CN114124646A (zh) | 一种WebSocket方式的综合网络管理***及方法 | |
CN114090687A (zh) | 一种数据同步方法及装置 | |
CN114285786A (zh) | 一种网络链路库的构建方法及装置 | |
CN103546331A (zh) | 监控信息的获取方法、装置及*** | |
CN111813621A (zh) | 基于Flume数据中台的数据处理方法、装置、设备及介质 | |
CN113810250B (zh) | 一种消息跟踪方法、***及设备 | |
CN110046120B (zh) | 基于iic协议的数据处理方法、装置、***及存储介质 |
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 |