CN106021566A - 一种提高单台数据库并发处理能力的方法、装置及系统 - Google Patents

一种提高单台数据库并发处理能力的方法、装置及系统 Download PDF

Info

Publication number
CN106021566A
CN106021566A CN201610377149.0A CN201610377149A CN106021566A CN 106021566 A CN106021566 A CN 106021566A CN 201610377149 A CN201610377149 A CN 201610377149A CN 106021566 A CN106021566 A CN 106021566A
Authority
CN
China
Prior art keywords
access request
data base
application data
sent
separate unit
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.)
Pending
Application number
CN201610377149.0A
Other languages
English (en)
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 Electronic Information Industry Co Ltd
Original Assignee
Inspur 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 Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610377149.0A priority Critical patent/CN106021566A/zh
Publication of CN106021566A publication Critical patent/CN106021566A/zh
Pending legal-status Critical Current

Links

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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • 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/211Schema design and management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (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是本发明一个实施例提供的一种提高单台数据库并发处理能力的系统示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种提高单台数据库并发处理能力的方法,该方法可以包括以下步骤:
步骤101:在所述单台数据库上创建一个主应用数据库和至少一个从应用数据库;
步骤102:实时接收客户端发送的访问请求;
步骤103:判断所述访问请求是否为写访问请求,如果是,执行步骤104,否则执行步骤105;
步骤104:将所述访问请求发送给所述主应用数据库,通过所述主应用数据库处理所述访问请求,并将处理所述访问请求后所述主应用数据库中的数据更新至各个所述从应用数据库中,并结束当前流程;
步骤105:将所述访问请求发送给所述从应用数据库,通过所述从应用数据库处理所述访问请求。
本发明实施例提供了一种提高单台数据库并发处理能力的方法,在单台数据库上创建一个主应用数据库和至少一个从应用数据库,在接收到客户端发送的访问请求后判断访问请求是否为写访问请求,如果是将访问请求发送给主应用数据库进行处理,否则将访问请求发送给从应用数据库进行处理,每次主应用数据库处理访问请求后都将主应用数据库中的数据更新到各个从应用数据库中。这样,通过对访问请求进行读写分离,读访问请求和写访问请求分别由不同的应用数据库进行处理,能够同时对多个访问请求进行处理,从而提高了单台数据库的高并发处理能力。
在本发明一个实施例中,在判断一个访问请求不是写访问请求时,说明该访问请求为读访问请求,依次检测各个从应用数据库的负载情况,确定出负载最小的从应用数据库对读访问请求进行处理,如果单台数据库上只包括一个从应用数据库,则该从应用数据库的负载始终最小。将读访问请求分配到负载最小的从应用数据库上进行处理,在多个客户端同时发起访问请求时,可以减小处理访读问请求的延迟时间,从而进一步提高了单台数据库的高并发处理能力。
在本发明一个实施例中,在通过主应用数据库对写访问请求进行处理后,获取主应用数据库对写访问请求进行处理时产生的操作日志,将该操作日志分别发送给各个从应用数据库,使各个从应用数据库根据接收到的操作日志对相应的数据进行处理,使每一个从应用数据库中的数据与主应用数据库中的数据都相同。这样,每一个从应用数据库中的数据都与主应用数据库中的数据相同,使从应用数据库中的数据是最新的,从而保证客户端通过读访问请求获取到的数据是最新的,保证单台数据库能够正常地处理客户端的访问请求。
在本发明一个实施例中,在判断一个访问请求为读访问请求还是写访问请求时,获取访问请求的报文,对报文进行分析,判断报文中是否包括代表更新、插入或删除的关键词,如果是,则判断该访问请求为写访问请求,否则判断该访问请求为读访问请求。这样通过关键词判断访问请求为读访问请求还是写访问请求,可以准确的实现访问请求的读写分离,保证该提高单台数据库并发处理能力的方法能力正常实施。
在本发明一个实施例中,写访问请求包括更新访问请求、插入访问请求或者删除访问请求,从而主应用数据库可以对各种写形式的访问请求进行处理,将所有的写访问请求集中在主应用数据库上进行处理,方便对各个从应用数据库上的数据进行更新。
下面以单台MySQL管理系统的数据库为例,对本发明实施例提供的提高单台数据库并发处理能力的方法作进一步地详细描述。
如图2所示,本发明一个实施例提供了一种提高单台数据库并发处理能力的方法,包括:
步骤201:在单台数据库上创建一个主应用数据库和至少一个从应用数据库。
在本发明一个实施例中,为了将请问请求中的读访问请求和写访问请求分配到不同的数据库上进行处理,在单台MySQL数据库上创建一个主应用数据库用于处理写访问请求,创建至少一个从应用数据库用于处理读访问请求,从应用数据库的数量根据读访问请求的数量进行确定。
例如,在一个单台MySQL数据库上创建一个主应用数据库master和3个从应用数据库slave,3个从应用数据库slave分别为从应用数据库slave1、从应用数据库slave2和从应用数据库slave3。
步骤202:对主应用数据库及各个从应用数据进行配置,以实现主应用数据库与各个从应用数据库之间的通信。
在本发明一个实施例中,针对于主应用数据库,为主应用数据库分配服务ID,并开启主应用数据库的主从复制功能;针对于每一个从应用数据库,为该从应用数据库分配服务ID、登录账号、登录密码、登录接口等信息,并开启该从应用数据库的主从复制功能。
例如,为主应用数据库master配置server-ID,开启主应用数据库master上的二进制服务log-bin功能;分别为3个从应用数据库slave配置server-ID,开启3个从应用数据库slave上的二进制服务log-bin功能,并配置每一个从应用数据库slave的master-host、master-user、master-password及master-port,确保能够与主应用数据库master进行通信。
步骤203:实时接收各个客户端发送的访问请求。
在本发明一个实施例中,主应用数据库和从应用数据库创建并配置完成后,实时接收各个客户端发送的访问请求。单台数据库可以具有一个客户端,也可以具有多个客户端,客户端可以同时发出访问请求。
例如,单台MySQL数据库具有50个客户端,实时接收这50个客户端发出的访问请求。
步骤204:判断访问请求是否为写访问请求,如果是,执行步骤205,否则执行步骤207。
在本发明一个实施例中,针对于接收到的每一个访问请求,获取该访问请求的报文,对该报文进行分析,检测该报文中是否包括代表更新、插入或删除的关键词,如果是,判断该访问请求为写访问请求,针对于该访问请求执行步骤205;如果该报文中不包括代表更新、插入及删除的关键词中的任意一个,判断该访问请求为读访问请求,针对于该访问请求执行步骤207。
例如,接收到50个客户端中其中一个客户端发送的访问请求后,获取该访问请求的报文,检测报文中是否包括关键词update、insert或delete,其中update代表更新,insert代表插入,delete代表删除,如果报文中包括update、insert及delete中的任意一个,说明该访问请求为对数据库中数据进行写操作的访问请求,判断该访问请求为写访问请求,针对于该访问请求执行步骤205;如果报文中不包括update、insert及delete中的任意一个,说明该访问请求不是对数据库中数据进行写操作的访问请求,则该访问请求为对数据库中数据进行读操作的访问请求,判断该访问请求为读访问请求,针对于该访问请求执行步骤207。
步骤205:将访问请求发送给主应用数据库,通过主应用程序对该访问请求进行处理。
在本发明一个实施例中,在判断一个访问请求为写访问请求后,将该访问请求发送给主应用该数据库,通过主应用数据库对该访问请求进行处理,主应用数据库根据该访问请求的报文,对相应的数据进行更新、插入或删除处理,并形成相应的日志文件。
例如,判断一个访问请求A为写访问请求后,将访问请求A发送给主应用数据库master,主应用数据库master对访问请求A的报文进行分析,确定访问请求A为将一个文件名为1.txt的文件进行删除的访问请求,主应用数据库master根据访问请求A,将文件名为1.txt的文件删除,并形成相应的日志文件1。
步骤206:将主应用数据库中的数据更新至各个从应用数据库中,并结束当前流程。
在本发明一个实施例中,主应用该数据库根据写访问请求对相应的数据进行写处理后,将主应用数据库对写访问请求进行处理过程中形成的日志文件发送给各个从应用数据库,每一个从应用数据库接收到日志文件中,根据日志文件中记录的操作步骤,进行相同的处理,使从应用数据库中的数据与主应用数据库中的文件保持相同。
例如,在主应用数据库master对访问请求A处理完成后,将主应用数据库master对访问请求A进行处理过程中行程的日志文件1分别发送给3个从应用数据库slave,从应用数据库slave1、从应用数据库slave2及从应用数据库slave3根据日志文件1记录的操作过程,分别将各自存储的文件名为1.txt的文件删除,保持与主应用数据库master中数据相同。
步骤207:对各个从应用数据库的负载进行检测,确定出负载最小的目标从应用数据库。
在本发明一个实施例中,在判断一个访问请求为读访问请求后,对各个从应用数据库的负载情况进行检测,确定出一个当前时间负载最小的从应用数据库作为目标从应用数据库。
例如,在判断访问请求B为读访问请求后,对3个从应用数据库slave的负载进行检测,检测获得从应用数据库slave1的负载为30%,从应用数据库slave2的负载为50%,从应用数据库slave3的负载为10%,由于从应用数据库slave3的负载最小,将从应用数据库slave3确定为目标从应用数据库。
步骤208:将访问请求发送给目标从应用数据库,通过目标从应用数据库对访问请求进行处理。
在本发明一个实施例中,在确定出目标从应用数据库后,将读访问请求发送给目标从应用数据库,目标从应用数据库根据读访问请求确定所要读取的数据,获取所需数据发送给发出读访问请求的客户端。
例如,在确定从应用数据库slave3为目标从应用数据库后,将访问请求B发送给从应用数据库slave3,从应用数据库slave3根据访问请求B的报文,确定访问请求B为50个客户端中的客户端1读取文件名为2.txt文件的访问请求,从应用数据库slave3将文件名为2.txt的文件发送给客户端1。
如图3、图4所示,本发明实施例提供了一种提高单台数据库并发处理能力的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的提高单台数据库并发处理能力的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的提高单台数据库并发处理能力的装置,包括:创建单元401、读写分离单元402及执行单元403;
创建单元401,用于在单台数据库上创建一个主应用数据库和至少一个从应用数据库;
读写分离单元402,用于实时接收客户端发送的访问请求,并判断访问请求是否为写访问请求;
执行单元403,用于根据读写分离单元402的判断结果,如果是,将访问请求发送给创建单元401创建的主应用数据库,通过主应用数据库处理访问请求,并将处理访问请求后主应用数据库中的数据更新至创建单元401创建的各个从应用数据库中;如果否,将访问请求发送给从应用数据库,通过从应用数据库处理访问请求。
在本发明一个实施例中,执行单元403,用于依次检测至少一个从应用数据库的负载情况,从至少一个从应用数据库中确定出负载最小的一个从应用数据库作为目标应用数据库,将访问请求发送给目标从应用数据库,其中,若单台服务器上仅包括一个从应用数据库,则该从应用数据库的负载最小。
在本发明一个实施例中,执行单元403,用于获取主应用数据库处理访问请求时产生的操作日志,将操作日志分别发送给各个从应用数据库,使各个从应用数据库根据操作日志对相应数据进行写操作,以使各个从应用数据库中的数据与主应用数据库中的数据相同。
在本发明一个实施例中,读写分离单元402,用于获取访问请求的报文,对报文进行分析,判断报文中是否包括代表更新、插入或删除的关键词,如果是,确定访问请求为写访问请求,否则确定访问请求为读访问请求。
在本发明一个实施例中,当单台数据库为MySQL管理系统的数据库时,读写分离单元402可以为MYSQL Proxy中间件,MYSQL Proxy中间件用于对客户端发送的访问请求进行分类,将读访问请求和写访问请求发送给不同的数据库进行处理,实现数据库的读写分离,从而提高数据库的高并发处理能力。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图5所示,本发明一个实施例提供了一种提高单台数据库并发处理能力的系统,包括:单台数据库501、至少一个客户端502及本发明实施例提供的任意一种提高单台数据库并发处理能力的装置503;
单台数据库501,用于接收提高单台数据库并发处理能力的装置503发送的访问请求,并对访问请求进行处理;
客户端502,用于向提高单台数据库并发处理能力的装置503发送访问请求。
本发明提供的各个实施例,至少具有如下有益效果:
1、本发明实施例中,在单台数据库上创建一个主应用数据库和至少一个从应用数据库,在接收到客户端发送的访问请求后判断访问请求是否为写访问请求,如果是将访问请求发送给主应用数据库进行处理,否则将访问请求发送给从应用数据库进行处理,每次主应用数据库处理访问请求后都将主应用数据库中的数据更新到各个从应用数据库中。这样,通过对访问请求进行读写分离,读访问请求和写访问请求分别由不同的应用数据库进行处理,能够同时对多个访问请求进行处理,从而提高了单台数据库的高并发处理能力。
2、本发明实施例中,在单台数据库上创建一个主应用数据库和至少一个从应用数据库,由于一般情况下数据库接收到的读访问请求要多于接收到的写访问请求,因而可以创建多个从应用数据库用于处理读访问请求,提高数据库对访问请求的处理速度,防止数据库在高并发状态下发生宕机。
3、本发明实施例中,在将读访问请求发送给从应用数据库时,首先对各个从应用数据库的负载进行检测,确定出负载最小的从应用数据库用于处理新接收到的读访问请求,这样可以平衡各个从应用数据库的负载,缩短读访问请求的处理等待时间,从而提高了数据库对高并发处理的能力。
4、本发明实施例中,主应用数据库对写访问请求进行处理后,将主应用数据库中的数据更新到各个从应用数据库中,使各个从应用数据库中数据与主应用数据库中数据的相同,保证各个从应用数据库中的数据都是最新的,从而读访问请求获取到的数据也是最新的,保证数据库能够的正常性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种提高单台数据库并发处理能力的方法,其特征在于,包括:
在所述单台数据库上创建一个主应用数据库和至少一个从应用数据库;
实时接收客户端发送的访问请求;
判断所述访问请求是否为写访问请求;
如果是,将所述访问请求发送给所述主应用数据库,通过所述主应用数据库处理所述访问请求,并将处理所述访问请求后所述主应用数据库中的数据更新至各个所述从应用数据库中;
如果否,将所述访问请求发送给所述从应用数据库,通过所述从应用数据库处理所述访问请求。
2.根据权利要求1所述的方法,其特征在于,
所述将所述访问请求发送给所述从应用数据库包括:
依次检测所述至少一个从应用数据库的负载情况,从所述至少一个从应用数据库中确定出负载最小的一个从应用数据库作为目标从应用数据库,将所述访问请求发送给所述目标从应用数据库,其中,若所述单台数据库上仅包括一个从应用数据库,则该从应用数据库的负载最小。
3.根据权利要求1所述的方法,其特征在于,
所述将处理所述访问请求后所述主应用数据库中的数据更新至各个所述从应用数据库中包括:
获取所述主应用数据库处理所述访问请求时产生的操作日志,将所述操作日志分别发送给各个所述从应用数据库,使各个所述从应用数据库根据所述操作日志对相应数据进行写操作,以使各个所述从应用数据库中的数据与所述主应用数据库中的数据相同。
4.根据权利要求1所述的方法,其特征在于,
所述判断所述访问请求是否为写访问请求包括:
获取所述访问请求的报文,对所述报文进行分析,判断所述报文中是否 包括代表更新、插入或删除的关键词,如果是,确定所述访问请求为写访问请求,否则确定所述访问请求为读访问请求。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述写访问请求包括:更新访问请求、插入访问请求或删除访问请求。
6.一种提高单台数据库并发处理能力的装置,其特征在于,包括:创建单元、读写分离单元及执行单元;
所述创建单元,用于在所述单台数据库上创建一个主应用数据库和至少一个从应用数据库;
所述读写分离单元,用于实时接收客户端发送的访问请求,并判断所述访问请求是否为写访问请求;
所述执行单元,用于根据所述读写分离单元的判断结果,如果是,将所述访问请求发送给所述创建单元创建的主应用数据库,通过所述主应用数据库处理所述访问请求,并将处理所述访问请求后所述主应用数据库中的数据更新至所述创建单元创建的各个从应用数据库中;如果否,将所述访问请求发送给所述从应用数据库,通过所述从应用数据库处理所述访问请求。
7.根据权利要求6所述的装置,其特征在于,
所述执行单元,用于依次检测所述至少一个从应用数据库的负载情况,从所述至少一个从应用数据库中确定出负载最小的一个从应用数据库作为目标应用数据库,将所述访问请求发送给所述目标从应用数据库,其中,若所述单台服务器上仅包括一个从应用数据库,则该从应用数据库的负载最小。
8.根据权利要求6所述的装置,其特征在于,
所述执行单元,用于获取所述主应用数据库处理所述访问请求时产生的操作日志,将所述操作日志分别发送给各个所述从应用数据库,使各个所述从应用数据库根据所述操作日志对相应数据进行写操作,以使各个所述从应用数据库中的数据与所述主应用数据库中的数据相同。
9.根据权利要求6所述的装置,其特征在于,
所述读写分离单元,用于获取所述访问请求的报文,对所述报文进行分 析,判断所述报文中是否包括代表更新、插入或删除的关键词,如果是,确定所述访问请求为写访问请求,否则确定所述访问请求为读访问请求。
10.一种提高单台数据库并发处理能力的系统,其特征在于,包括:单台数据库、至少一个客户端以及权利要求6至9中任一所述的提高单台数据库并发处理能力的装置;
所述单台数据库,用于接收所述提高单台数据库并发处理能力的装置发送的访问请求,并对所述访问请求进行处理;
所述客户端,用于向所述提高单台数据库并发处理能力的装置发送访问请求。
CN201610377149.0A 2016-05-31 2016-05-31 一种提高单台数据库并发处理能力的方法、装置及系统 Pending CN106021566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610377149.0A CN106021566A (zh) 2016-05-31 2016-05-31 一种提高单台数据库并发处理能力的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610377149.0A CN106021566A (zh) 2016-05-31 2016-05-31 一种提高单台数据库并发处理能力的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106021566A true CN106021566A (zh) 2016-10-12

Family

ID=57092915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610377149.0A Pending CN106021566A (zh) 2016-05-31 2016-05-31 一种提高单台数据库并发处理能力的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106021566A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649857A (zh) * 2016-12-30 2017-05-10 北京恒华伟业科技股份有限公司 一种基于读写分离的数据库操作方法及装置
CN106960054A (zh) * 2017-04-01 2017-07-18 北京奇虎科技有限公司 数据文件的存取方法及装置
CN110427353A (zh) * 2019-06-27 2019-11-08 华迪计算机集团有限公司 数据库服务器集群读写分离设置的方法及装置
CN111767222A (zh) * 2020-06-28 2020-10-13 杭州数梦工场科技有限公司 数据模型的验证方法、装置、电子设备、存储介质
US11360866B2 (en) * 2020-04-14 2022-06-14 International Business Machines Corporation Updating stateful system in server cluster
CN117290385A (zh) * 2023-11-27 2023-12-26 成都天用唯勤科技股份有限公司 基于交易查询应用层分离的数据读写方法、装置及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719165A (zh) * 2010-01-12 2010-06-02 山东高效能服务器和存储研究院 一种实现数据库高效快速备份的方法
CN102591964A (zh) * 2011-12-30 2012-07-18 北京新媒传信科技有限公司 数据读写分离机制的实现方法和装置
CN102629260A (zh) * 2012-02-29 2012-08-08 浪潮(北京)电子信息产业有限公司 数据库崩溃处理方法、装置和系统
CN104504145A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种实现数据库读写分离的方法和设备
US20150120659A1 (en) * 2013-10-30 2015-04-30 Oracle International Corporation Multi-instance redo apply

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719165A (zh) * 2010-01-12 2010-06-02 山东高效能服务器和存储研究院 一种实现数据库高效快速备份的方法
CN102591964A (zh) * 2011-12-30 2012-07-18 北京新媒传信科技有限公司 数据读写分离机制的实现方法和装置
CN102629260A (zh) * 2012-02-29 2012-08-08 浪潮(北京)电子信息产业有限公司 数据库崩溃处理方法、装置和系统
US20150120659A1 (en) * 2013-10-30 2015-04-30 Oracle International Corporation Multi-instance redo apply
CN104504145A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种实现数据库读写分离的方法和设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649857A (zh) * 2016-12-30 2017-05-10 北京恒华伟业科技股份有限公司 一种基于读写分离的数据库操作方法及装置
CN106960054A (zh) * 2017-04-01 2017-07-18 北京奇虎科技有限公司 数据文件的存取方法及装置
CN106960054B (zh) * 2017-04-01 2020-10-02 北京奇虎科技有限公司 数据文件的存取方法及装置
CN110427353A (zh) * 2019-06-27 2019-11-08 华迪计算机集团有限公司 数据库服务器集群读写分离设置的方法及装置
CN110427353B (zh) * 2019-06-27 2022-07-26 华迪计算机集团有限公司 数据库服务器集群读写分离设置的方法及装置
US11360866B2 (en) * 2020-04-14 2022-06-14 International Business Machines Corporation Updating stateful system in server cluster
CN111767222A (zh) * 2020-06-28 2020-10-13 杭州数梦工场科技有限公司 数据模型的验证方法、装置、电子设备、存储介质
CN117290385A (zh) * 2023-11-27 2023-12-26 成都天用唯勤科技股份有限公司 基于交易查询应用层分离的数据读写方法、装置及介质
CN117290385B (zh) * 2023-11-27 2024-01-19 成都天用唯勤科技股份有限公司 基于交易查询应用层分离的数据读写方法、装置及介质

Similar Documents

Publication Publication Date Title
CN109460349B (zh) 一种基于日志的测试用例生成方法和装置
CN106021566A (zh) 一种提高单台数据库并发处理能力的方法、装置及系统
CN105677250B (zh) 对象存储系统中的对象数据的更新方法和更新装置
CN106462544A (zh) 分布式存储系统中的会话管理
CN106462545A (zh) 可缩放文件存储服务
CN106462601A (zh) 针对多盘区操作的原子写入
CN104657435B (zh) 一种应用数据的存储管理方法和网络管理系统
CN102591864B (zh) 比对系统中的数据更新方法及装置
CN106909595B (zh) 一种数据迁移方法及装置
CN110569298A (zh) 一种数据对接、可视化方法和系统
CN107483631B (zh) 一种控制缓存实现移动互联网络服务访问的方法
CN102722432A (zh) 追踪内存访问的方法和装置
CN112559525B (zh) 数据检查系统、方法、装置和服务器
CN106372266A (zh) 一种基于切面和配置文件的云操作系统缓存及访问方法
CN106254466A (zh) 基于局域网的hdfs分布式文件共享方法
CN108572970A (zh) 一种结构化数据的处理方法和分布式处理系统
CN110008197A (zh) 一种数据处理方法、系统及电子设备和存储介质
CN110287152A (zh) 一种数据管理的方法以及相关装置
CN108268468A (zh) 一种大数据的分析方法及系统
CN114386853A (zh) 基于通用审核模型的数据审核处理方法、装置及设备
CN106021492A (zh) 一种对表格数据进行转存的方法及装置
CN110781430B (zh) 互联网新型虚拟数据中心系统及其构造方法
CN110134615B (zh) 应用程序获取日志数据的方法及装置
WO2023226461A1 (zh) 一种多域数据融合的方法、装置和存储介质
CN111752941A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161012