CN105975481A - 一种减小rac节点间gc请求的方法及装置 - Google Patents

一种减小rac节点间gc请求的方法及装置 Download PDF

Info

Publication number
CN105975481A
CN105975481A CN201610258541.3A CN201610258541A CN105975481A CN 105975481 A CN105975481 A CN 105975481A CN 201610258541 A CN201610258541 A CN 201610258541A CN 105975481 A CN105975481 A CN 105975481A
Authority
CN
China
Prior art keywords
node
connection pool
sub
sql statement
access path
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
CN201610258541.3A
Other languages
English (en)
Other versions
CN105975481B (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201610258541.3A priority Critical patent/CN105975481B/zh
Publication of CN105975481A publication Critical patent/CN105975481A/zh
Application granted granted Critical
Publication of CN105975481B publication Critical patent/CN105975481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种减小RAC节点间GC请求的方法,包括:接收客户端发送的业务操作请求,业务操作请求包含SQL语句。根据SQL语句解析SQL语句对应的表名称,判断SQL语句对应的表名称是否存在于表信息内存区的业务表中。如果是,根据业务表的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径;如果否,则为SQL语句分配访问路径,然后接通SQL语句对应的子连接池和与子连接池对应的访问路径。由此可见,该方法减少了由于在不同节点访问相同表而造成的大量GC同步请求,减少了RAC私网间传输的数据量,提高了SQL语句的执行效率。此外,本发明还公开一种减小RAC节点间GC请求的装置。

Description

一种减小RAC节点间GC请求的方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种减小RAC节点间GC请求的方法及装置。
背景技术
通过配置连接RAC(Real Application Cluster)数据库的客户端TNS连接串,可以实现客户端连接RAC的负载均衡。当客户端有新的会话请求时,RAC通过算法将新的连接会话分配到负载较低的主机上,各会话在不同RAC节点上可能会运行相同SQL(Structured QueryLanguage)语句,相同SQL语句访问数据库中相同的表,这就会增加RAC节点间GC(Globle Cushion全局缓冲)请求,进而增加私网间传输的数据量。由于网络传输效率较低,较多的GC请求通过私网传输会降低SQL语句执行效率。
由此可见,如何提高SQL语句的执行效率是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种减小RAC节点间GC请求的方法及装置,用于提高SQL语句的执行效率。
为解决上述技术问题,本发明提供一种减小RAC节点间GC请求的方法,包括:
接收客户端发送的业务操作请求,所述业务操作请求包含SQL语句;
根据所述SQL语句解析所述SQL语句对应的表名称,判断所述SQL语句对应的表名称是否存在于表信息内存区的业务表中;
如果是,则根据所述业务表的访问规则接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
如果否,则为所述SQL语句分配访问路径,然后接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
其中,多个所述子连接池与所述RAC中的多个节点一一对应,每个业务表中包含有子连接池与节点的对应关系,多个业务表存储于表信息内存区。
优选地,还包括:
周期性地查询数据库中表的GC同步信息;
判断所述GC同步信息是否超出预设同步量,如果是,则修改超出所述预设同步量的业务表中的访问路径;
更新所述表信息内存区。
优选地,还包括:
周期性地检测所述节点的运行状态;
根据所述运行状态判断所述节点是否出现故障,如果是,则修改出现故障的节点的业务表中的访问路径;
更新所述表信息内存区。
优选地,还包括:
当所述出现故障的节点的运行状态恢复正常后,则初始化所述出现故障的节点的业务表中的访问路径。
优选地,所述业务表的数据结构包括:表名称、用户名、表的节点、表的GC同步量、表的子连接池。
一种减小RAC节点间GC请求的装置,包括:
接收单元,用于接收客户端发送的业务操作请求,所述业务操作请求包含SQL语句;
连接池服务进程单元,用于根据所述SQL语句解析所述SQL语句对应的表名称,判断所述SQL语句对应的表名称是否存在于表信息内存区的业务表中;
如果是,则根据所述业务表的访问规则接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
如果否,则为所述SQL语句分配访问路径,然后接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
其中,多个所述子连接池与所述RAC中的多个节点一一对应,每个业务表中包含有子连接池与节点的对应关系,多个业务表存储于表信息内存区。
优选地,还包括:连接池进程维护单元,所述连接池进程维护单元具体包括:
查询子单元,用于周期性地查询数据库中表的GC同步信息;
第一判断子单元,用于判断所述GC同步信息是否超出预设同步量,如果是,则修改超出所述预设同步量的业务表中的访问路径;
更新子单元,用于更新所述表信息内存区。
优选地,所述连接池进程维护单元还包括:
检测子单元,用于周期性地检测所述节点的运行状态;
第二判断子单元,用于根据所述运行状态判断所述节点是否出现故障,如果是,则修改出现故障的节点的业务表中的访问路径;
更新子单元,用于更新所述表信息内存区。
优选地,所述连接池进程维护单元还包括:
初始化子单元,用于当所述出现故障的节点的运行状态恢复正常后,则初始化所述出现故障的节点的业务表中的访问路径。
优选地,所述业务表的数据结构包括:表名称、用户名、表的节点、表的GC同步量、表的子连接池。
本发明所提供的减小RAC节点间GC请求的方法,通过在表信息内存区中预先存储好不同的SQL语句对应的子连接池和节点之间的访问规则,当接收到客户端发送的业务操作请求时,如果业务操作请求中的SQL语句对应的表名称在业务表中存在,那么直接接通该SQL语句对应的子连接池和节点即可,如果业务操作请求中的SQL语句对应的表名称不在业务表中存在,那么直接为该SQL语句分配一条访问路径,然后接通该SQL语句对应的子连接池和节点即可。由此可见,该方法减少了由于在不同节点访问相同表而造成的大量GC同步请求,减少了RAC私网间传输的数据量,提高了SQL语句的执行效率。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种减小RAC节点间GC请求的方法的流程图;
图2为本发明提供的一种减小RAC节点间GC请求的装置的结构图;
图3为本发明提供的另一种减小RAC节点间GC请求的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种减小RAC节点间GC请求的方法及装置。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明提供的一种减小RAC节点间GC请求的方法的流程图。如图1所示,减小RAC节点间GC请求的方法,包括:
S10:接收客户端发送的业务操作请求,业务操作请求包含SQL语句。
S11:根据SQL语句解析SQL语句对应的表名称,判断SQL语句对应的表名称是否存在于表信息内存区的业务表中。
如果是,则进入步骤S12,如果否,则进入步骤S13。
S12:根据业务表的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径。
S13:为SQL语句分配访问路径,然后接通SQL语句对应的子连接池和与子连接池对应的访问路径。
其中,多个子连接池与RAC中的多个节点一一对应,每个业务表中包含有子连接池与节点的对应关系,多个业务表存储于表信息内存区。
在具体实施中,客户端通过向数据库中发送业务操作请求以实现相应的数据调用等功能。本实施例中,通过子连接池将RAC中的节点连接,以此完成客户端向数据库的业务操作请求。具体是,一个子连接池与一个节点对应,当接收到客户端发送的业务操作请求时,根据业务操作请求中的SQL语句解析SQL语句对应的表名称,判断SQL语句对应的表名称是否存在于表信息内存区的业务表中。表信息内存区用于存储多个业务表,每个业务表中存储有子连接池与节点的对应关系。需要说明的是,业务表虽然有很多,但是并不代表存储了全部的SQL语句对应的表名称,因此,不同的客户端或者相同的客户端的SQL语句不同,那么有两种情况:
第一,表信息内存区存在与该表名称相同的业务表
通过SQL语句解析出表名称时,就可以在表信息内存区找到与该表名称相同的业务表,然后根据业务表中的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径,以此实现客户端与数据库的业务操作。由于业务表中存储有子连接池与节点的对应关系,因此,在客户端进行业务操作请求时,能够快速的找到对应的节点。
第二,表信息内存区不存在与该表名称相同的业务表
通过SQL语句解析出表名称时,如果在表信息内存区没有找到与该表名称相同的业务表,那么需要新建立一条访问路径(建立一条子连接池与节点的对应关系),建立好访问路径后,就形成了一个新的业务表,根据新业务表中的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径,以此实现客户端与数据库的业务操作。
在本发明中,RAC中的一个节点对应一个实例。表信息内存区需要预先存储好各个业务表。另外,子连接池的个数需要根据RAC中的节点(实例)的个数确定。由于业务表中存储有子连接池与节点的对应关系,因此,在客户端进行业务操作请求时,能够快速的找到对应的节点。
本实施例提供的减小RAC节点间GC请求的方法,通过在表信息内存区中预先存储好不同的SQL语句对应的子连接池和节点之间的访问规则,当接收到客户端发送的业务操作请求时,如果业务操作请求中的SQL语句对应的表名称在业务表中存在,那么直接接通该SQL语句对应的子连接池和节点即可,如果业务操作请求中的SQL语句对应的表名称不在业务表中存在,那么直接为该SQL语句分配一条访问路径,然后接通该SQL语句对应的子连接池和节点即可。由此可见,该方法减少了由于在不同节点访问相同表而造成的大量GC同步请求,减少了RAC私网间传输的数据量,提高了SQL语句的执行效率。
作为一种优选地实施方式,在上述实施例的基础上,还包括:
周期性地查询数据库中表的GC同步信息;
判断GC同步信息是否超出预设同步量,如果是,则修改超出预设同步量的业务表中的访问路径;
更新表信息内存区。
当客户端正常访问数据库时,数据库中表就存储了各节点的GC同步信息。本实施例中,通过周期性地查询数据库中表的GC同步信息就可以获取各个节点的GC同步量,如果判断出某个节点的GC同步量超出了预设同步量,说明对应的业务表的访问路径规划不够合理,因此需要修改超出预设同步量的业务表中的访问路径,然后将修改后业务表添加到表信息内存区,实现表信息内存区的更新。需要说明的是本实施例中的周期可以为任意的时间,优选地可以为5分钟。
作为一种优选地实施方式,在上述实施例的基础上,还包括:
周期性地检测节点的运行状态;
根据运行状态判断节点是否出现故障,如果是,则修改出现故障的节点的业务表中的访问路径;
更新表信息内存区。
当客户端正常访问数据库时,各节点有可能出现故障,如果节点出现故障而没有被发现时,则会造成访问混乱,甚至无法访问的问题。因此,本实施例中,通过查询周期性地检测各节点的运行状态,如果根据运行状态判断出某个节点的出现故障,说明当前的子连接池与该节点已经无法正常接通,需要修改出现故障的节点的业务表中的访问路径,然后将修改后业务表添加到表信息内存区,实现表信息内存区的更新。需要说明的是本实施例中的周期可以为任意的时间,优选地可以为10秒。
作为一种优选地实施方式,在上述实施例的基础上,还包括:
当出现故障的节点的运行状态恢复正常后,则初始化出现故障的节点的业务表中的访问路径。
在上一实施例中,如果某一个节点出现了故障,则改变了SQL语句对应的业务表。但是在具体实施中,该节点的故障有可能会被解除,从而恢复正常的运行状态,因此,需要检查出现故障的节点的运行状态,当运行状态恢复正常后,就初始化该节点的业务表中的访问路径。这里的初始化就是将该节点当前的访问路径恢复至出现故障前的访问路径。例如,出现故障前为子连接池A与节点1接通,出现故障后,将子连接池A与节点3接通,当该节点恢复正常后,将子连接池A重新与节点1接通,断开与节点3。
作为一种优选地实施方式,在上述各实施例的基础上,业务表的数据结构包括:表名称、用户名、表的节点、表的GC同步量、表的子连接池。
需要说明的是本领实施例中业务表的数据结构如上,而至于每个具体的信息是否有真实的内容不做限定。例如,在客户端与数据库还没有真正开始访问时,表的GC同步量是没有真实内容的,可以是一个随机的初始化值,也可以为0。表名称是与SQL语句对应的,因此,我们可以通过解析SQL语句得到表名称。用户名是获取数据源中配置的数据库用户名。
图2为本发明提供的一种减小RAC节点间GC请求的装置的结构图。如图2所示,减小RAC节点间GC请求的装置,包括:
接收单元10,用于接收客户端发送的业务操作请求,业务操作请求包含SQL语句;
连接池服务进程单元11,用于根据SQL语句解析SQL语句对应的表名称,判断SQL语句对应的表名称是否存在于表信息内存区12的业务表中;
如果是,则根据业务表的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径;
如果否,则为SQL语句分配访问路径,然后接通SQL语句对应的子连接池和与子连接池对应的访问路径;
其中,多个子连接池与RAC中的多个节点一一对应,每个业务表中包含有子连接池与节点的对应关系,多个业务表存储于表信息内存区。
在具体实施中,客户端通过向数据库中发送业务操作请求以实现相应的数据调用等功能。本实施例中,通过子连接池将RAC中的节点连接,以此完成客户端向数据库的业务操作请求。具体是,一个子连接池与一个节点对应,当接收到客户端发送的业务操作请求时,根据业务操作请求中的SQL语句解析SQL语句对应的表名称,判断SQL语句对应的表名称是否存在于表信息内存区的业务表中。表信息内存区用于存储多个业务表,每个业务表中存储有子连接池与节点的对应关系。需要说明的是,业务表虽然有很多,但是并不代表存储了全部的SQL语句对应的表名称,因此,不同的客户端或者相同的客户端的SQL语句不同,那么有两种情况:
第一,表信息内存区存在与该表名称相同的业务表
通过SQL语句解析出表名称时,就可以在表信息内存区找到与该表名称相同的业务表,然后根据业务表中的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径,以此实现客户端与数据库的业务操作。由于业务表中存储有子连接池与节点的对应关系,因此,在客户端进行业务操作请求时,能够快速的找到对应的节点。
第二,表信息内存区不存在与该表名称相同的业务表
通过SQL语句解析出表名称时,如果在表信息内存区没有找到与该表名称相同的业务表,那么需要新建立一条访问路径(建立一条子连接池与节点的对应关系),建立好访问路径后,就形成了一个新的业务表,根据新业务表中的访问规则接通SQL语句对应的子连接池和与子连接池对应的访问路径,以此实现客户端与数据库的业务操作。
在本发明中,RAC中的一个节点对应一个实例。表信息内存区需要预先存储好各个业务表。另外,子连接池的个数需要根据RAC中的节点(实例)的个数确定。由于业务表中存储有子连接池与节点的对应关系,因此,在客户端进行业务操作请求时,能够快速的找到对应的节点。
本实施例提供的减小RAC节点间GC请求的装置,通过在表信息内存区中预先存储好不同的SQL语句对应的子连接池和节点之间的访问规则,当接收到客户端发送的业务操作请求时,如果业务操作请求中的SQL语句对应的表名称在业务表中存在,那么直接接通该SQL语句对应的子连接池和节点即可,如果业务操作请求中的SQL语句对应的表名称不在业务表中存在,那么直接为该SQL语句分配一条访问路径,然后接通该SQL语句对应的子连接池和节点即可。由此可见,该装置减少了由于在不同节点访问相同表而造成的大量GC同步请求,减少了RAC私网间传输的数据量,提高了SQL语句的执行效率。
图3为本发明提供的另一种减小RAC节点间GC请求的装置的结构图。作为一种优选地实施方式,还包括:连接池进程维护单元13,连接池进程维护单元13具体包括:
查询子单元,用于周期性地查询数据库中表的GC同步信息;
第一判断子单元,用于判断GC同步信息是否超出预设同步量,如果是,则修改超出预设同步量的业务表中的访问路径;
更新子单元,用于更新表信息内存区。
作为一种优选地实施方式,连接池进程维护单元13还包括:
检测子单元,用于周期性地检测节点的运行状态;
第二判断子单元,用于根据运行状态判断节点是否出现故障,如果是,则修改出现故障的节点的业务表中的访问路径;
更新子单元,用于更新表信息内存区。
作为一种优选地实施方式,连接池进程维护单元13还包括:
初始化子单元,用于当出现故障的节点的运行状态恢复正常后,则初始化出现故障的节点的业务表中的访问路径。
作为一种优选地实施方式,业务表的数据结构包括:表名称、用户名、表的节点、表的GC同步量、表的子连接池。
由于方法部分的实施例在上文中已经进行了详细的描述,因此装置部分的实施例请参见方法部分的实施例即可,这里暂不赘述。另外,图2和图3中,节点1和节点2,以及子连接池A和子连接池B都是一种具体的表现形式,并不代表只有2个节点和2个子连接池。
以上对本发明所提供的减小RAC节点间GC请求的方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (10)

1.一种减小RAC节点间GC请求的方法,其特征在于,包括:
接收客户端发送的业务操作请求,所述业务操作请求包含SQL语句;
根据所述SQL语句解析所述SQL语句对应的表名称,判断所述SQL语句对应的表名称是否存在于表信息内存区的业务表中;
如果是,则根据所述业务表的访问规则接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
如果否,则为所述SQL语句分配访问路径,然后接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
其中,多个所述子连接池与所述RAC中的多个节点一一对应,每个业务表中包含有子连接池与节点的对应关系,多个业务表存储于表信息内存区。
2.根据权利要求1所述的方法,其特征在于,还包括:
周期性地查询数据库中表的GC同步信息;
判断所述GC同步信息是否超出预设同步量,如果是,则修改超出所述预设同步量的业务表中的访问路径;
更新所述表信息内存区。
3.根据权利要求1所述的方法,其特征在于,还包括:
周期性地检测所述节点的运行状态;
根据所述运行状态判断所述节点是否出现故障,如果是,则修改出现故障的节点的业务表中的访问路径;
更新所述表信息内存区。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述出现故障的节点的运行状态恢复正常后,则初始化所述出现故障的节点的业务表中的访问路径。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述业务表的数据结构包括:表名称、用户名、表的节点、表的GC同步量、表的子连接池。
6.一种减小RAC节点间GC请求的装置,其特征在于,包括:
接收单元,用于接收客户端发送的业务操作请求,所述业务操作请求包含SQL语句;
连接池服务进程单元,用于根据所述SQL语句解析所述SQL语句对应的表名称,判断所述SQL语句对应的表名称是否存在于表信息内存区的业务表中;
如果是,则根据所述业务表的访问规则接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
如果否,则为所述SQL语句分配访问路径,然后接通所述SQL语句对应的子连接池和与所述子连接池对应的访问路径;
其中,多个所述子连接池与所述RAC中的多个节点一一对应,每个业务表中包含有子连接池与节点的对应关系,多个业务表存储于表信息内存区。
7.根据权利要求6所述的装置,其特征在于,还包括:连接池进程维护单元,所述连接池进程维护单元具体包括:
查询子单元,用于周期性地查询数据库中表的GC同步信息;
第一判断子单元,用于判断所述GC同步信息是否超出预设同步量,如果是,则修改超出所述预设同步量的业务表中的访问路径;
更新子单元,用于更新所述表信息内存区。
8.根据权利要求6所述的装置,其特征在于,所述连接池进程维护单元还包括:
检测子单元,用于周期性地检测所述节点的运行状态;
第二判断子单元,用于根据所述运行状态判断所述节点是否出现故障,如果是,则修改出现故障的节点的业务表中的访问路径;
更新子单元,用于更新所述表信息内存区。
9.根据权利要求8所述的装置,其特征在于,所述连接池进程维护单元还包括:
初始化子单元,用于当所述出现故障的节点的运行状态恢复正常后,则初始化所述出现故障的节点的业务表中的访问路径。
10.根据权利要求6-9任意一项所述的装置,其特征在于,所述业务表的数据结构包括:表名称、用户名、表的节点、表的GC同步量、表的子连接池。
CN201610258541.3A 2016-04-22 2016-04-22 一种减小rac节点间gc请求的方法及装置 Active CN105975481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610258541.3A CN105975481B (zh) 2016-04-22 2016-04-22 一种减小rac节点间gc请求的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610258541.3A CN105975481B (zh) 2016-04-22 2016-04-22 一种减小rac节点间gc请求的方法及装置

Publications (2)

Publication Number Publication Date
CN105975481A true CN105975481A (zh) 2016-09-28
CN105975481B CN105975481B (zh) 2019-11-01

Family

ID=56993892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610258541.3A Active CN105975481B (zh) 2016-04-22 2016-04-22 一种减小rac节点间gc请求的方法及装置

Country Status (1)

Country Link
CN (1) CN105975481B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581234A (zh) * 2020-05-09 2020-08-25 中国银行股份有限公司 Rac多节点数据库查询方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183377A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于消息中间件的高可用性数据库集群
CN101727496A (zh) * 2010-01-15 2010-06-09 山东高效能服务器和存储研究院 一种实现microsoft sql server数据库负载均衡集群的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183377A (zh) * 2007-12-10 2008-05-21 华中科技大学 一种基于消息中间件的高可用性数据库集群
CN101727496A (zh) * 2010-01-15 2010-06-09 山东高效能服务器和存储研究院 一种实现microsoft sql server数据库负载均衡集群的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581234A (zh) * 2020-05-09 2020-08-25 中国银行股份有限公司 Rac多节点数据库查询方法、装置及系统
CN111581234B (zh) * 2020-05-09 2023-04-28 中国银行股份有限公司 Rac多节点数据库查询方法、装置及系统

Also Published As

Publication number Publication date
CN105975481B (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
US9773015B2 (en) Dynamically varying the number of database replicas
US7844851B2 (en) System and method for protecting against failure through geo-redundancy in a SIP server
CN104283948B (zh) 服务器集群系统及其负载均衡实现方法
TWI740029B (zh) 分散式搜索及索引更新方法、系統、伺服器及電腦設備
CN103677967B (zh) 一种数据库的远程数据服务系统及任务调度方法
CN105912618A (zh) 基于区块链的充电桩充电交易通讯方法及装置
CN110417870A (zh) 配置文件管理方法、装置、设备和存储介质
CN105516266B (zh) 一种业务监控方法、系统及相关设备
CN103581276A (zh) 集群管理装置、系统、业务客户端及相应方法
CN103516918B (zh) 资源故障恢复方法及装置
CN109815248A (zh) 一种基于Zookeeper的分布式架构数据一致性方法
CN109828960A (zh) 日志库扩容方法、系统、计算机装置及可读存储介质
CN109981468A (zh) 链路状态维护方法和装置
CN108345617A (zh) 一种数据同步方法、装置以及电子设备
CN114422331B (zh) 容灾切换方法、装置及系统
CN114036236A (zh) 多网关集群系统
CN106547790A (zh) 一种关系型数据库服务系统
CN105975481A (zh) 一种减小rac节点间gc请求的方法及装置
CN110784358A (zh) 网络调用关系拓扑图的构建方法及装置
CN109842497B (zh) Dns服务器的配置更新的方法及装置、终端设备和配置更新系统
CN107566475B (zh) 一种会话故障转移方法及装置
CN103324732A (zh) Mysql数据库水平切分方法、mysql连接建立方法及装置
IL268670A (en) Automatic detection of server clusters
JP6533502B2 (ja) 通信サービス提供システムおよび通信サービス提供方法
CN105933352B (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
GR01 Patent grant
GR01 Patent grant