CN112256707B - 一种数据库中间件的流量管理方法及数据库中间件节点 - Google Patents

一种数据库中间件的流量管理方法及数据库中间件节点 Download PDF

Info

Publication number
CN112256707B
CN112256707B CN202011504985.3A CN202011504985A CN112256707B CN 112256707 B CN112256707 B CN 112256707B CN 202011504985 A CN202011504985 A CN 202011504985A CN 112256707 B CN112256707 B CN 112256707B
Authority
CN
China
Prior art keywords
database
node
middleware
management method
master 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
CN202011504985.3A
Other languages
English (en)
Other versions
CN112256707A (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.)
Shanghai Aikesheng Information Technology Co ltd
Original Assignee
Shanghai Aikesheng Information Technology 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 Shanghai Aikesheng Information Technology Co ltd filed Critical Shanghai Aikesheng Information Technology Co ltd
Priority to CN202011504985.3A priority Critical patent/CN112256707B/zh
Publication of CN112256707A publication Critical patent/CN112256707A/zh
Application granted granted Critical
Publication of CN112256707B publication Critical patent/CN112256707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供的数据库中间件的流量管理方法及数据库中间件节点中,所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑,所述主节点切换逻辑包括:接收来自于数据库集群发送的主节点的切换通知,并根据所述切换通知修改主节点信息;所述数据库访问逻辑包括:接收客户端发送的访问请求直接与所述主节点信息所标识的所述存储节点进行交互。如此配置,所述数据库中间件中存储的主节点信息的切换均由所述数据库集群主动发起修改,解决了现有技术中数据库中间件中存储的主节点状态易出现误判,进而错误地导致数据库中间件中的主节点信息和实际的主节点不匹配的问题。

Description

一种数据库中间件的流量管理方法及数据库中间件节点
技术领域
本发明涉及计算机技术领域,特别涉及一种数据库中间件的流量管理方法及数据库中间件节点。
背景技术
现有的分库分表数据库中间件系统,例如MyCat等,是基于中间件主动探测实现的后端数据库节点流量切换机制。其中典型的流程是:
1)通过分库分表中间件中定时执行任务对于后端数据库节点进行轮询探测;
2)根据探测的结果在分库分表中间件中对于后端数据库节点的状态进行标识;
3)当某个后端数据库节点状态异常,将指向其的流量发送给其他同一组级别的备用数据库节点(从库);
4)直到下一次承载当前流量的后端数据库节点探测结果异常,再从当前备用数据库节点中选择一个探测结果正常的后端数据库节点进行流量的承载
例如:
现有分库分表中间件X连接一个后端数据库集群DBGroup,集群中包含两个节点DB1、DB2初始状态下DB1为主库、DB2为从库。
有分库分表中间件X先将收到的来自业务的SQL请求发送至DB1并请求来自DB1的查询结果。X中将定时通过SQL执行探测DB1、DB2的可用状态。
当X的探测SQL无法在DB1正常执行时,则判定DB1失效,将后续的SQL请求发送给DB2。并以DB2中返回的数据信息和操作结果为准对外提供正常的软件功能。
直到X对于DB2的探测也出现异常,将后续流量切换回DB1。
这类分库分表中间件对于后端节点的主动探测并执行流量切换的方式存在以下缺点:
1)主动探测易受网络等传输环节的影响,在网络设备出现偶发异常或出现其他原因的网络抖动容易出现误判。
2)主动探测易受分库分表中间件本身压力承载的影响,探测后端数据库节点可用性的操作会因为分库分表中间件本身承压过大而出现异常失败(机器内存、CPU资源、进程内部网络资源调度失败)。
3)流量切换(发送给其他同一组级别备用数据库节点)的决策由分库分表中间件做出,和真实的后端数据库主从复制关系无法达成时间上的一致,从而必有部分流量发送到从库上,从而导致后端数据库节点的数据无法达成主从一致。
综上,现有技术中,数据库中间件中存储的主节点状态易出现误判,进而错误地导致数据库中间件中的主节点信息和实际的主节点不匹配的问题。
发明内容
本发明提供了一种数据库中间件的流量管理方法及数据库中间件节点,用以解决现有技术中数据库中间件中存储的主节点状态易出现误判,进而错误地导致数据库中间件中的主节点信息和实际的主节点不匹配的问题。
为了解决上述技术问题,根据本发明的第一个方面,提供了一种数据库中间件的流量管理方法,其特征在于,用于辅助访问数据库集群,所述数据库集群包括至少两个存储节点,所述存储节点中的一个被配置为主节点,组成所述数据库集群的每一个物理节点均通过专用网络进行通讯;所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑;所述主节点切换逻辑包括:接收来自于数据库集群发送的主节点的切换通知,并根据所述切换通知修改主节点信息;所述主节点信息用于定位所述主节点;所述数据库访问逻辑包括:接收客户端发送的访问请求;根据预设逻辑直接与所述主节点信息所标识的所述存储节点进行交互;所述访问请求包括读请求和写请求。
可选的,所述主节点切换逻辑还包括,接收来自于所述数据库集群发送的停止流量通知,并将可用状态设置为暂停。
可选的,所述主节点切换逻辑还包括,接收来自于所述数据库集群发送的开启流量通知,并将所述可用状态设置为可用。
可选的,所述预设逻辑包括,若所述可用状态为可用,则将所述访问请求发送至所述主节点信息所标识的所述存储节点。
可选的,所述预设逻辑包括,若所述可用状态为暂停,则将该访问请求丢弃。
可选的,所述预设逻辑包括,若所述可用状态为暂停,则在将该访问请求丢弃后,发送标识当前数据库无法访问的反馈信息给所述客户端。
可选的,所述预设逻辑包括,若所述可用状态为暂停,则将所述访问请求加入待处理消息队列。
可选的,所述主节点切换逻辑还包括,当所述可用状态从暂停切换至可用时,依次将待处理消息队列中的所述访问请求发送至所述主节点信息所标识的所述存储节点。
为了解决上述技术问题,根据本发明的第二个方面,提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被执行时,实现如上述的数据库中间件的流量管理方法。
为了解决上述技术问题,根据本发明的第三个方面,提供了一种数据库中间件节点,所述数据库中间件节点包括上述的可读存储介质以及与所述可读存储介质通信连接的处理器,当所述第一处理器执行所述程序时,实现上述的数据库中间件的流量管理方法。
综上,在本发明提供的数据库中间件的流量管理方法及数据库中间件节点中,所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑,所述主节点切换逻辑包括:接收来自于数据库集群发送的主节点的切换通知,并根据所述切换通知修改主节点信息;所述数据库访问逻辑包括:接收客户端发送的访问请求直接与所述主节点信息所标识的所述存储节点进行交互。如此配置,所述数据库中间件中存储的主节点信息的切换均由所述数据库集群主动发起修改,解决了现有技术中数据库中间件中存储的主节点状态易出现误判,进而错误地导致数据库中间件中的主节点信息和实际的主节点不匹配的问题。
附图说明
本领域的普通技术人员将会理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:
图1是本发明一实施例中主节点切换的流程示意图。
具体实施方式
为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
如在本发明中所使用的,单数形式“一”、“一个”以及“该”包括复数对象,术语“或”通常是以包括“和/或”的含义而进行使用的,术语“若干”通常是以包括“至少一个”的含义而进行使用的,术语“至少两个”通常是以包括“两个或两个以上”的含义而进行使用的,此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者至少两个该特征,“一端”与“另一端”以及“近端”与“远端”通常是指相对应的两部分,其不仅包括端点,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。此外,如在本发明中所使用的,一元件设置于另一元件,通常仅表示两元件之间存在连接、耦合、配合或传动关系,且两元件之间可以是直接的或通过中间元件间接的连接、耦合、配合或传动,而不能理解为指示或暗示两元件之间的空间位置关系,即一元件可以在另一元件的内部、外部、上方、下方或一侧等任意方位,除非内容另外明确指出外。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的核心思想在于提供一种数据库中间件的流量管理方法、可读存储介质及数据库中间件节点,用以解决现有技术中数据库中间件存储的主节点状态易出现误判,进而错误地导致数据库中间件中的主节点信息和实际的主节点不匹配的问题。
以下参考附图进行描述。
本实施例提供了一种数据库中间件节点,所述数据库中间件节点包括可读存储介质以及与所述可读存储介质通信连接的处理器,当所述处理器执行存储于所述可读存储介质上的程序时,实现数据库中间件的流量管理方法;所述数据库中间件节点用于辅助访问数据库集群;所述数据库集群包括至少两个存储节点,所述存储节点中的一个被设置为主节点,组成所述数据库集群的每一个物理节点均通过专用网络进行通讯。
所述数据库集群可包括一数据库管理节点,所述数据库管理节点用于切换所述数据库集群的主节点。所述数据库集群也可以不包括上述的数据库管理节点,其主节点的切换过程可通过其他方案实现。为了便于理解,以下按照所述数据库集群包括了数据库管理节点的方案进行描述,不包括所述数据库管理节点的方案,可以根据本实施例的设计思路进行理解,在此不做详细地描述。
需理解,所述数据库中间件节点、所述数据库管理节点和所述存储节点,既可以独立地设置,也可以设置于同一个物理的服务器中,例如,所述数据库管理节点设置于一个服务器,所述数据库管理节点和一个所述存储节点设置于另一个服务器,其余所述存储节点各设置于一个其他的服务器中。其具体设置方案,本领域技术人员可根据实际情况进行合理地设置。所述数据库集群,是指具有一个主节点的数据库集群,其数据的具体存储方式可以根据实际情况进行合理地设置,例如在每个所述存储节点保存一份完整的全局数据,或者每个所述存储节点冗余地保存部分的全局数据。各所述存储节点之间交互的方式也可以根据实际情况进行合理地设置,例如,各所述存储节点之间独立地交互或者各所述存储节点之间通过所述主节点交互。所述主节点,是指当所述数据库集群接收到客户端的访问请求时,对该请求直接进行响应的所述存储节点,所述主节点在响应所述访问请求的同时,也会对其他的所述存储节点发送相应的控制指令,使得所有所述存储节点按照预定逻辑实现数据的同步,所述控制指令以及数据的同步过程,可以根据实际情况进行合理地设置,例如,主节点将自身的修改操作发送给其他的所述存储节点,其他的所述存储节点也进行同样的修改,等等。上述技术细节,以及为了保证所述数据库集群能够正常工作需要的其他必要逻辑,技术人员可根据本领域的公知常识进行合理地配置,在此不做详细地描述。
所述数据库中间件节点中设置有数据库中间件的流量管理方法,所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑;所述主节点切换逻辑包括:接收来自于数据库集群(具体地,可以是所述数据库管理节点)发送的主节点的切换通知,并根据所述切换通知修改主节点信息;所述主节点信息用于定位所述主节点;所述数据库访问逻辑包括:接收客户端发送的访问请求;根据预设逻辑直接与所述主节点信息所标识的所述存储节点进行交互;所述访问请求包括读请求和写请求。
所述数据库管理节点中设置有数据库管理方法,所述数据库管理方法包括:间歇性地向每个所述存储节点依次发送探测指令;将反馈异常信号的所述存储节点设置为异常;当异常的所述存储节点为主节点时,向数据库中间件节点和所述存储节点发送主节点的切换通知,驱使所述数据库中间件节点修改主节点信息以及驱使所述存储节点切换所述主节点。
如背景技术中提到的,现有技术中,通过分库分表中间件(即所述数据库中间件节点)对于所述的存储节点进行轮询探测;主动探测易受网络等传输环节的影响,在网络设备出现偶发异常或出现其他原因的网络抖动容易出现误判,而且主动探测易受所述数据库中间件节点压力承载的影响,探测后端数据库节点可用性的操作会因为所述数据库中间件节点本身承压过大而出现异常失败(机器内存、CPU资源、进程内部网络资源调度失败)。现在将轮询的任务从所述数据库中间件节点转移至所述数据库管理节点,从而减少了误判出现的概率,解决了现有技术中数据库的节点状态易出现误判,进而错误地导致主节点切换的问题。
需理解,所述异常信号,应广义地理解为,解析后的内容指示异常的信号,或者没有信号,因为当所述存储节点发生异常时,很可能处于一种无法发送信号的状态。需理解,所述存储节点在收到所述切换通知时,会进行主节点的切换,其过程包括:例如,切换主节点,将binlog复制补齐,切换复制关系等。该切换过程的具体实现,技术人员可根据本领域的公知常识进行合理地配置,在此不做详细地描述。需理解,当某个所述存储节点出现异常时,所述数据库管理节点还设置有恢复该所述存储节点的相关方法,例如,重启该节点,或者向管理人员的手机发送报警短信等,该流程并非本说明书的说明重点,因此不在此进行详细描述。
在一个优选的实施例中,所述数据库管理节点和一个所述存储节点设置于同一个物理服务器,可以进一步减少因网络原因导致的误判出现。
进一步地,所述数据库管理方法还包括:在向所述数据库中间件节点发送主节点的切换通知之前,先向所述数据库中间件节点发送停止流量通知。所述主节点切换逻辑还包括,接收来自于所述数据库集群(在本实施例中,为所述数据库管理节点)发送的停止流量通知,并将可用状态设置为暂停。在主节点切换过程中,客户端仍然有可能发送访问请求,若不对主节点的切换过程进行保护,则该访问可能造成的较轻的后果是,令客户端的显示出错;而可能造成的较重的后果是,导致所述数据库集群的某条数据出现错误,甚至可能导致整个所述数据库集群的宕机。但是通过上述配置,可以避免在主节点切换过程中受到访问的影响,确保切换过程安全运行。
进一步地,所述数据库管理方法还包括:在向所述数据库中间件节点发送停止流量通知之后,选择当前状态为正常的一个所述存储节点为主节点,并将该存储节点设置为所述切换通知的主节点。在向所述数据库中间件节点和所述存储节点发送主节点的切换通知之后,等待所述存储节点完成主节点的切换,然后向所述数据库中间件节点发送开启流量通知。所述主节点切换逻辑还包括,接收来自于所述数据库集群(在本实施例中,为所述数据库管理节点)发送的开启流量通知,并将所述可用状态设置为可用。如此配置,完善了主节点的切换过程,并保证了所述数据库中间件的主节点切换过程和所述数据库集群的主节点切换过程在时间上的一致性,保证了数据的准确性和所述数据库集群运行时不易出错。需理解,所述选择当前状态为正常的一个所述存储节点为主节点的逻辑,可以为随机选择一个或者按照排序选择一个,具体的方案本领域技术人员可以根据公知常识和具体实际情况进行配置,在此不做详细描述。
优选地,所述预设逻辑包括,若所述可用状态为可用,则将所述访问请求发送至所述主节点信息所标识的所述存储节点。
需理解,当所述可用状态为暂停时,所述数据库中间件可根据实际情况进行反馈,例如,在一实施例中,所述预设逻辑还包括,若所述可用状态为暂停,则将该访问请求丢弃,在将该访问请求丢弃后,发送标识当前数据库无法访问的反馈信息给所述客户端。
在另一实施例中,所述预设逻辑包括,若所述可用状态为暂停,则将所述访问请求加入待处理消息队列。所述主节点切换逻辑还包括,当所述可用状态从暂停切换至可用时,依次将待处理消息队列中的所述访问请求发送至所述主节点信息所标识的所述存储节点。较优地,在将所述访问请求加入待处理消息队列时,可以同时向所述客户端发送请等待的反馈信息给所述客户端。
需理解,当所述存储节点接收到所述数据库中间件节点转发的访问请求时,可以根据实际情况进行响应,例如,直接向发送访问请求的客户端发送反馈信息,或者向所述数据库中间件节点发送反馈信息,再由所述数据库中间件节点向所述客户端转发反馈信息。上述技术细节,本领域技术人员可以根据公知常识和实际的需求进行配置,在此不进行详细描述。
请参考图1,图1是本发明一实施例中主节点切换的流程示意图。在一示范性的实施例中,上述主节点切换过程如下:
所述数据库管理节点使用MHA (Master High Availability, 高可用组件)模块监控并维护所述数据库集群,所述数据库集群当前包括两个存储节点,分别为M和S,其中M为主节点,并且有所述数据库中间件节点X将M和S作为所述数据库集群进行使用,初始状态下将M作为主节点进行读写。运行过程中发生M故障时:
1)所述MHA模块调用通知脚本向所述数据库中间件节点X发送停止流量通知,暂停所述数据库中间件节点X中对于M和S的数据流量;
2)所述MHA模块对于正常的所述存储节点进行决策,选择一个适合成为主节点的所述存储节点,在本实施例中即S,选择完毕之后,所述MHA模块调用脚本向所述数据库中间件节点X发送主节点的切换通知,所述切换通知的内容是新的主节点为S;
3)所述MHA模块调用脚本向所述存储节点发送主节点的切换通知,所述切换通知的内容是新的主节点为S;
4)所述MHA模块协助所述数据库集群进行主从切换的正常流程操作,将binlog复制补齐,将复制关系从M->S调整为S->M;
5)所述MHA模块在所述数据库集群完成主从切换之后,调用通知脚本向所述数据库中间件节点X发送开启流量通知,打开M和S两个所述存储节点的流量。
在本实施例中,所述数据库中间件节点X对于M和S两个所述存储节点的状态,完全来自于所述MHA模块的通知,从而达成流量入口(所述数据库中间件节点X)对于所述存储节点的状态和所述数据库集群真实的状态一致的效果,最终达成对外(所述数据库中间件节点X中收到的SQL查询请求)提供的数据拥有一致和完整的效果。
本实施例还提供了一种数据库中间件的流量管理方法,用于辅助访问数据库集群,所述数据库集群包括至少两个存储节点,所述存储节点中的一个被配置为主节点;所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑;所述主节点切换逻辑包括:接收来自于数据库集群发送的主节点的切换通知,并根据所述切换通知修改主节点信息;所述主节点信息用于定位所述主节点;所述数据库访问逻辑包括:接收客户端发送的访问请求;根据预设逻辑直接与所述主节点信息所标识的所述存储节点进行交互;所述访问请求包括读请求和写请求。
所述主节点切换逻辑还包括,接收来自于所述数据库集群发送的停止流量通知,并将可用状态设置为暂停。
所述主节点切换逻辑还包括,接收来自于所述数据库集群发送的开启流量通知,并将所述可用状态设置为可用。
所述预设逻辑包括,若所述可用状态为可用,则将所述访问请求发送至所述主节点信息所标识的所述存储节点。
在一实施例中,所述预设逻辑包括,若所述可用状态为暂停,则将该访问请求丢弃,在将该访问请求丢弃后,发送标识当前数据库无法访问的反馈信息给所述客户端。
在另一实施例中,所述预设逻辑包括,若所述可用状态为暂停,则将所述访问请求加入待处理消息队列。所述主节点切换逻辑还包括,当所述可用状态从暂停切换至可用时,依次将待处理消息队列中的所述访问请求发送至所述主节点信息所标识的所述存储节点。
本实施例还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被执行时,实现如上述的数据库中间件的流量管理方法。
上述数据库中间件的流量管理方法以及可读存储介质的设计思路和所述数据库中间件节点的设计思路相同,同样具有避免主节点信息不匹配的有益效果。
综上,在本实施例提供的数据库中间件的流量管理方法及数据库中间件节点中,所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑,所述主节点切换逻辑包括:接收来自于数据库集群发送的主节点的切换通知,并根据所述切换通知修改主节点信息;所述数据库访问逻辑包括:接收客户端发送的访问请求直接与所述主节点信息所标识的所述存储节点进行交互。如此配置,所述数据库中间件中存储的主节点信息的切换均由所述数据库集群主动发起修改,解决了现有技术中数据库中间件中存储的主节点状态易出现误判,进而错误地导致数据库中间件中的主节点信息和实际的主节点不匹配的问题
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明技术方案的保护范围。

Claims (10)

1.一种数据库中间件的流量管理方法,其特征在于,用于辅助访问数据库集群,所述数据库集群包括至少两个存储节点和数据库管理节点,所述存储节点中的一个被配置为主节点,组成所述数据库集群的每一个物理节点均通过专用网络进行通讯;所述数据库管理节点中设置有数据库管理方法,所述数据库管理方法包括:间歇性地向每个所述存储节点依次发送探测指令;将反馈异常信号的所述存储节点设置为异常;当异常的所述存储节点为主节点时,向数据库中间件节点和所述存储节点发送主节点的切换通知,驱使所述数据库中间件节点修改主节点信息以及驱使所述存储节点切换所述主节点;
所述数据库中间件的流量管理方法包括主节点切换逻辑和数据库访问逻辑;
所述主节点切换逻辑包括:接收来自于数据库集群发送的所述切换通知,并根据所述切换通知修改主节点信息;所述主节点信息用于定位所述主节点;
所述数据库访问逻辑包括:接收客户端发送的访问请求;根据预设逻辑直接与所述主节点信息所标识的所述存储节点进行交互;所述访问请求包括读请求和写请求。
2.根据权利要求1所述的数据库中间件的流量管理方法,其特征在于,所述主节点切换逻辑还包括,接收来自于所述数据库集群发送的停止流量通知,并将可用状态设置为暂停。
3.根据权利要求2所述的数据库中间件的流量管理方法,其特征在于,所述主节点切换逻辑还包括,接收来自于所述数据库集群发送的开启流量通知,并将所述可用状态设置为可用。
4.根据权利要求3所述的数据库中间件的流量管理方法,其特征在于,所述预设逻辑包括,若所述可用状态为可用,则将所述访问请求发送至所述主节点信息所标识的所述存储节点。
5.根据权利要求4所述的数据库中间件的流量管理方法,其特征在于,所述预设逻辑包括,若所述可用状态为暂停,则将该访问请求丢弃。
6.根据权利要求5所述的数据库中间件的流量管理方法,其特征在于,所述预设逻辑包括,若所述可用状态为暂停,则在将该访问请求丢弃后,发送标识当前数据库无法访问的反馈信息给所述客户端。
7.根据权利要求4所述的数据库中间件的流量管理方法,其特征在于,所述预设逻辑包括,若所述可用状态为暂停,则将所述访问请求加入待处理消息队列。
8.根据权利要求7所述的数据库中间件的流量管理方法,其特征在于,所述主节点切换逻辑还包括,当所述可用状态从暂停切换至可用时,依次将待处理消息队列中的所述访问请求发送至所述主节点信息所标识的所述存储节点。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被执行时,实现如权利要求1~8中任一项所述的数据库中间件的流量管理方法。
10.一种数据库中间件节点,其特征在于,所述数据库中间件节点包括如权利要求9所述的可读存储介质以及与所述可读存储介质通信连接的处理器,当所述处理器执行所述程序时,实现如权利要求1~8中任一项所述的数据库中间件的流量管理方法。
CN202011504985.3A 2020-12-18 2020-12-18 一种数据库中间件的流量管理方法及数据库中间件节点 Active CN112256707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011504985.3A CN112256707B (zh) 2020-12-18 2020-12-18 一种数据库中间件的流量管理方法及数据库中间件节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011504985.3A CN112256707B (zh) 2020-12-18 2020-12-18 一种数据库中间件的流量管理方法及数据库中间件节点

Publications (2)

Publication Number Publication Date
CN112256707A CN112256707A (zh) 2021-01-22
CN112256707B true CN112256707B (zh) 2021-04-09

Family

ID=74225395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011504985.3A Active CN112256707B (zh) 2020-12-18 2020-12-18 一种数据库中间件的流量管理方法及数据库中间件节点

Country Status (1)

Country Link
CN (1) CN112256707B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063425A (zh) * 2014-06-04 2014-09-24 五八同城信息技术有限公司 通过数据库中间件查询数据的方法和数据库中间件
CN105354332A (zh) * 2015-12-04 2016-02-24 浪潮(北京)电子信息产业有限公司 基于bcp实现数据库和中间件互备的方法及系统
CN110162428A (zh) * 2019-05-17 2019-08-23 中国铁道科学研究院集团有限公司 数据同步方法及装置、电子设备和计算机可读存储介质
CN111460029A (zh) * 2020-03-11 2020-07-28 中移动信息技术有限公司 数据同步方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063425A (zh) * 2014-06-04 2014-09-24 五八同城信息技术有限公司 通过数据库中间件查询数据的方法和数据库中间件
CN105354332A (zh) * 2015-12-04 2016-02-24 浪潮(北京)电子信息产业有限公司 基于bcp实现数据库和中间件互备的方法及系统
CN110162428A (zh) * 2019-05-17 2019-08-23 中国铁道科学研究院集团有限公司 数据同步方法及装置、电子设备和计算机可读存储介质
CN111460029A (zh) * 2020-03-11 2020-07-28 中移动信息技术有限公司 数据同步方法和装置

Also Published As

Publication number Publication date
CN112256707A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
US10915412B2 (en) System and method for live migration of a virtual machine
WO2017177941A1 (zh) 主备数据库切换方法和装置
TWI235299B (en) Method for providing application cluster service with fault-detection and failure-recovery capabilities
US20100042715A1 (en) Method and systems for redundant server automatic failover
US20070288585A1 (en) Cluster system
CN107153595B (zh) 分布式数据库系统的故障检测方法及其系统
KR20010072379A (ko) 내고장성 컴퓨터 시스템
TWI677797B (zh) 主備資料庫的管理方法、系統及其設備
CN112118130B (zh) 自适应的分布式缓存主备状态信息切换方法及装置
CN109144748B (zh) 一种服务器、分布式服务器集群及其状态驱动方法
CN104854845B (zh) 使用高效的原子操作的方法和装置
CN108009239B (zh) 数据库访问方法及系统
CN113612814B (zh) 一种会话信息的筛选方法、装置、终端及存储介质
CN112256707B (zh) 一种数据库中间件的流量管理方法及数据库中间件节点
US7117397B1 (en) Apparatus and method for preventing an erroneous operation at the time of detection of a system failure
WO2021082868A1 (zh) 分布式存储系统的数据处理方法、装置及电子设备
CN110569303B (zh) 一种适用于多种云环境的MySQL应用层高可用系统及方法
CN115604286A (zh) 节点主备状态信息同步的方法、装置、设备及存储介质
JP2010146436A (ja) 監視システム、及びその制御方法、プログラム
CN111367885A (zh) 数据库管理系统、方法、存储介质及电子设备
CN111258823A (zh) 一种主从服务器的切换方法及系统
US8713359B1 (en) Autonomous primary-mirror synchronized reset
CN114064795A (zh) 数据同步方法、装置、电子设备和存储介质
WO2024045012A1 (zh) 主备机切换方法、装置、计算机设备和存储介质
WO2022143065A1 (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