CN110750584B - 数据管理方法和系统 - Google Patents

数据管理方法和系统 Download PDF

Info

Publication number
CN110750584B
CN110750584B CN201910881795.4A CN201910881795A CN110750584B CN 110750584 B CN110750584 B CN 110750584B CN 201910881795 A CN201910881795 A CN 201910881795A CN 110750584 B CN110750584 B CN 110750584B
Authority
CN
China
Prior art keywords
shadow
library
data source
service
request
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
CN201910881795.4A
Other languages
English (en)
Other versions
CN110750584A (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.)
Jiangsu Suning Cloud Computing Co ltd
SuningCom Co ltd
Original Assignee
Suning Cloud Computing 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201910881795.4A priority Critical patent/CN110750584B/zh
Publication of CN110750584A publication Critical patent/CN110750584A/zh
Application granted granted Critical
Publication of CN110750584B publication Critical patent/CN110750584B/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/25Integrating or interfacing systems involving database management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及一种数据管理方法和系统,所述方法包括:在接收到SQL请求时,确定所述SQL请求的类型;如果是正常SQL请求,从业务数据源获取业务库连接;如果是压测SQL请求,从影子数据源获取影子库连接;根据获取的业务库连接或影子库连接,下发SQL到对应的业务库或影子库。本申请的方案将业务数据保存于业务数据库,影子数据保存于影子数据库,从而有效地隔离这两种数据,使压测数据不会污染业务数据,并且压测数据非常容易删除;正常SQL请求下发到业务数据库,压测SQL请求下发到影子数据库,因而业务数据连接和影子数据连接之间不再需要切换,极大地提升了性能。

Description

数据管理方法和系统
技术领域
本申请涉及全链路压测场景下的数据隔离技术领域,具体涉及一种数据管理方法和系统。
背景技术
数据的保存和管理主要涉及三个概念:
1、数据源,存储了所有建立数据库连接的信息,包括数据源名称、数据库类型、字符集、数据库驱动、数据源url和数据库账号等等。数据源中并无真正的数据,而是提供数据库连接。通过数据库连接,用户可以操作相应的数据库。在Java基本类库中,数据源被定义为DataSource接口。
2、数据库连接,数据库连接的过程相当于建立一个网络通道的物理过程,每次数据库操作使用一个数据库连接,使用完都关闭或者释放连接。在Java基本类库中,数据库连接被定义为Connection接口。
3、数据库,即database或者schema,包含了表(table)、列(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等等。
一般情况下,数据库的管理如图1所示:每个DataSource管理多个Connection,每个Connection唯一管理一个schema。在此基础上,如果使用单数据源同时管理业务数据库和影子数据库时,需要切换不同的数据连接。
如图2所示,若业务发送的是压测SQL请求,单数据源SingleDataSource通过影子库Connection操作影子数据库schema_sd;若业务发送的是正常业务SQL请求,单数据源SingleDataSource通过业务库Connection操作业务数据库schema。可以看到,当SQL请求携带压测标识变化时,数据源需要在业务库Connection和影子库Connection之间切换并重新建立连接。建立数据库连接的过程非常消耗时间,这个过程的性能损耗超过了业务对中间件组件的使用要求。
一般而言,参与全链路压测的业务系统,除了使用生产需要的业务数据,还使用压测需要的影子数据。业务系统要求全链路压测时,压测数据要尽可能的模拟生产环境的真实数据,但是又不能影响真实数据。业务现有压测场景不能覆盖全链路,主要因为当前线上压测缺少数据隔离能力。
相关技术中,压测场景下的业务数据和压测数据使用同一个数据库,这种情况下压测数据极其容易污染业务数据,并且压测完成后清除压测数据也十分麻烦,只能人工地谨慎区分并删除压测数据,工作量大而且容易出错,并且这种错误对于业务系统来说又是不允许出现的。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种数据管理方法和系统。
根据本申请实施例的第一方面,提供一种数据管理方法,包括:
在接收到SQL请求时,确定所述SQL请求的类型;
如果是正常SQL请求,从业务数据源获取业务库连接;如果是压测SQL请求,从影子数据源获取影子库连接;
根据获取的业务库连接或影子库连接,下发SQL到对应的业务库或影子库。
进一步地,在确定所述SQL请求的类型之前,还包括:
根据所述SQL请求的主键确定对应的数据分库;
其中,所述数据分库的数量为多个;一个数据分库包括一个业务库和一个影子库。
进一步地,所述确定所述SQL请求的类型,包括:
根据所述SQL请求携带的压测标识确定是正常SQL请求还是压测SQL请求。
进一步地,所述方法还包括:
尝试获取影子数据源;
如果获取失败,在接收到压测请求时报错。
根据本申请实施例的第二方面,提供一种数据管理系统,包括:
数据库中间件,设置有逻辑数据源;
业务服务器,设置有业务数据源和影子数据源;其中,一个逻辑数据源对应一个业务数据源和一个影子数据源;
DB服务器,设置有业务库和影子库;其中,每个业务库对应一个业务数据源,每个影子库对应一个影子数据源;
所述逻辑数据源用于在接收到SQL请求时,确定所述SQL请求的类型;
如果是正常SQL请求,所述逻辑数据源从所述业务数据源获取业务库连接,并通过所述业务数据源下发SQL到对应的业务库;
如果是压测SQL请求,所述逻辑数据源从所述影子数据源获取影子库连接,并通过所述影子数据源下发SQL到对应的影子库。
进一步地,所述DB服务器包括多个数据分库,每个所述数据分库中设置有一个业务库和一个影子库;
相应地,所述业务服务器设置有多组业务数据源和影子数据源,分别对应所述DB服务器中的多个数据分库;
所述数据库中间件设置有多个逻辑数据源,分别对应所述DB服务器中的多个数据分库;
所述数据库中间件还设置有:
确定模块,用于根据所述SQL请求的主键确定对应的数据分库。
进一步地,所述确定模块还用于:
根据确定的数据分库,将所述SQL请求分配到该数据分库所对应的逻辑数据源。
进一步地,所述逻辑数据源用于确定所述SQL请求的类型,具体包括:
根据所述SQL请求携带的压测标识确定是正常SQL请求还是压测SQL请求。
进一步地,所述数据库中间件还用于:
在接收到复制指令时,在所述DB服务器中生成影子库,并将业务库中的数据复制到影子库中。
进一步地,所述数据库中间件还用于:
尝试获取影子数据源;
如果获取失败,记录错误日志,并正常启动,在接收到压测请求时报错;
如果获取成功,则生成INFO日志提示。
本申请的实施例提供的技术方案具备以下有益效果:
本申请的方案将业务数据保存于业务数据库,影子数据保存于影子数据库,从而有效地隔离这两种数据,使压测数据不会污染业务数据,并且压测数据非常容易删除;正常SQL请求下发到业务数据库,压测SQL请求下发到影子数据库,因而业务数据连接和影子数据连接之间不再需要切换,极大地提升了性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是开源的JAVA基本类库管理多个数据库的流程图。
图2是现有的改写JAVA基本类库后,通过单数据源方式管理业务数据库和影子数据库的流程图。
图3是根据一示例性实施例示出的一种数据管理方法的流程图。
图4是本申请改写JAVA基本类库后,通过双数据源方式管理业务数据库和影子数据库的流程图。
图5是本申请改写JAVA基本类库后,通过两个数据源方式管理两对业务数据库和影子数据库的流程图。
图6是基于图4所示流程的数据库结构示意图。
图7是基于图5所示流程的数据库结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图3是根据一示例性实施例示出的一种数据管理方法的流程图。该方法可以应用于业务系统的压测场景下,包括以下步骤:
步骤S1:在接收到SQL请求时,确定所述SQL请求的类型;
步骤S2:如果是正常SQL请求,从业务数据源获取业务库连接;如果是压测SQL请求,从影子数据源获取影子库连接;
步骤S3:根据获取的业务库连接或影子库连接,下发SQL到对应的业务库或影子库。
本申请的方案将业务数据保存于业务数据库,影子数据保存于影子数据库,从而有效地隔离这两种数据,使压测数据不会污染业务数据,并且压测数据非常容易删除;正常SQL请求下发到业务数据库,压测SQL请求下发到影子数据库,因而业务数据连接和影子数据连接之间不再需要切换,极大地提升了性能。
需要说明的是,以下实施例中所描述的数据库均为schema。
本专利采用组件自动化升级的方式使业务在全链路压测过程中支持数据隔离,业务不需要修改自身代码。组件支持数据隔离方式包括了业务全压测的两种场景:单库场景和分库场景。无论哪种场景,均支持数据源一对一管理数据库方式。
在更加具体的实施例中,所述确定所述SQL请求的类型,包括:
根据所述SQL请求携带的压测标识确定是正常SQL请求还是压测SQL请求。
单库场景下,如图4所示,组件管理SQL请求流程如下:
1、组件根据透传的压测标识区分SQL请求是业务正常SQL请求还是压测SQL请求。
2、如果是正常SQL请求,组件从业务库DataSource获取业务库Connection。
3、如果是压测SQL请求,组件从影子库DataSource获取影子库Connection。
4、根据获取的数据连接Connection信息,下发SQL到对应的数据库schema执行并返回结果。
分库场景下的实施例中,在确定所述SQL请求的类型之前,还包括:
根据所述SQL请求的主键确定对应的数据分库;
其中,所述数据分库的数量为多个;一个数据分库包括一个业务库和一个影子库。
如图5所示,组件管理SQL请求流程如下:
1、组件根据SQL请求主键取得唯一业务分库信息。
2、组件根据透传的压测标识区分SQL请求是业务正常SQL请求还是压测SQL请求。
3、如果是正常SQL请求,组件从业务分库DataSource获取业务分库Connection。
4、如果是压测SQL请求,组件从影子分库DataSource获取影子分库Connection。
5、根据获取的数据分库连接Connection信息,下发SQL到对应的数据分库schema执行并返回结果。
本专利的实现核心在于将业务数据和影子数据分库保存,并使用了多数据源方式支持数据隔离。不仅将业务数据和影子数据隔离,而且将业务数据库和影子数据库的数据连接管理也分离开来。每对业务数据源和影子数据源又通过同一个逻辑数据源管理。
如图4所示,本申请创新性地设计了逻辑数据源对象DalDataSource。DalDataSource继承了Java基本类库的DataSource接口并实现了其中的方法。每个DalDataSource管理一对数据源(业务数据源和影子数据源)。N个DalDataSource管理N对数据源。DalDataSource根据压测标识路由SQL请求到业务库DataSource或者影子库DataSource。它们分别管理着业务库数据连接和影子库数据连接,这样避免了数据连接切换后重新建立连接的过程。
本申请不仅支持单一数据库的数据隔离方案,也支持多个数据库的数据隔离方案。比如分库场景下多个数据库的数据隔离,如图5所示,业务发送的SQL请求在分库场景下可能落入多个数据库(业务库DataSource1和业务库DataSource2),这时就要对每个业务数据库都建立对应的影子库(影子库DataSource1和影子库DataSource2)。本申请通过多个逻辑数据源(DalDataSource1和DalDataSource2)管理每对业务库和影子库。并且这个逻辑数据源的个数是可以扩展的,根据业务数据库和影子数据库的对数等数量地扩展。
本申请采用组件升级的方式使业务在全链路压测过程中支持数据隔离,业务不需要修改自身代码。业务数据和影子数据完全隔离,影子数据不会影响正常的业务库的真实数据,更不会污染业务数据。而使用多数据源一对一管理不同数据库方式,极大提高了系统性能。全链路压测完成后,组件支持一键自动化清除影子数据库及存储其中的数据,不需要人工识别和删除数据,操作简单并且保证正确。
现有技术中,采用单数据源方式管理业务数据库和影子数据库,切换数据连接时会造成很大的性能下降。经测试并对测试数据进行分析,采用单数据源方式,数据库中间件读请求性能下降19%,写请求性能下降24%。
本申请的方案采用逻辑上的单数据源(DalDataSource)方式,实际上的多数据源方式分别管理业务数据连接和影子数据连接,避免了两种连接切换造成的性能丢失。本申请的方案能够将数据库中间件组件的读请求性能下降百分比从19%优化到5%以内,写请求性能下降百分比从24%同样优化到5%以内,满足了业务对使用数据库中间件的性能损耗上限5%以内的要求。另外,本申请的方案很容易实现一键自动化生成影子数据库和清除影子库功能,逻辑数据源自动路由SQL请求到业务数据源和影子数据源,操作简便。
全链路压测前的准备工作:
1、业务通过数据库中间件组件版本号自动化升级,并一键自动生成影子库和影子库数据。
2、重启业务服务器后,组件尝试获取影子数据源,若获取失败,记录错误日志,业务正常启动,但后续所有压测请求都会报错。若获取成功,会有INFO日志提示,后续压测请求能正确落库。
在一些更加具体的实施例中,本申请的方法还包括:
尝试获取影子数据源;
如果获取失败,在接收到压测请求时报错。
如图6,全链路压测过程中单库场景下主要步骤:
1、业务触发全链路压测流程,发送携带压测标识的SQL语句到组件。
2、组件根据SQL请求携带的压测标识适配业务服务器上正确的数据源(业务数据源或者影子数据源)。
3、组件通过获取的数据源获取对应的数据连接,并下发SQL到对应的数据库进行读写操作。
如图7,全链路压测过程中分库场景下主要步骤:
1、业务触发全链路压测流程,发送携带压测标识的SQL语句到组件。
2、组件根据SQL请求主键取得唯一业务分库信息。
3、组件根据SQL请求携带的压测标识适配分库正确的数据源(业务数据源或者影子数据源)。
4、组件通过获取的数据源获取对应的数据连接,并下发SQL到对应的数据库进行读写操作。
全链路压测完成后的清理工作:
业务一键自动销毁影子库并清除存储在其中的数据。
本申请还提供如下的实施例:
一种数据管理系统,其特征在于,包括:
数据库中间件,设置有逻辑数据源;
业务服务器,设置有业务数据源和影子数据源;其中,一个逻辑数据源对应一个业务数据源和一个影子数据源;
DB服务器,设置有业务库和影子库;其中,每个业务库对应一个业务数据源,每个影子库对应一个影子数据源;
所述逻辑数据源用于在接收到SQL请求时,确定所述SQL请求的类型;
如果是正常SQL请求,所述逻辑数据源从所述业务数据源获取业务库连接,并通过所述业务数据源下发SQL到对应的业务库;
如果是压测SQL请求,所述逻辑数据源从所述影子数据源获取影子库连接,并通过所述影子数据源下发SQL到对应的影子库。
一些实施例中,所述DB服务器包括多个数据分库,每个所述数据分库中设置有一个业务库和一个影子库;
相应地,所述业务服务器设置有多组业务数据源和影子数据源,分别对应所述DB服务器中的多个数据分库;
所述数据库中间件设置有多个逻辑数据源,分别对应所述DB服务器中的多个数据分库;
所述数据库中间件还设置有:
确定模块,用于根据所述SQL请求的主键确定对应的数据分库。
一些实施例中,所述确定模块还用于:
根据确定的数据分库,将所述SQL请求分配到该数据分库所对应的逻辑数据源。
一些实施例中,所述逻辑数据源用于确定所述SQL请求的类型,具体包括:
根据所述SQL请求携带的压测标识确定是正常SQL请求还是压测SQL请求。
一些实施例中,所述数据库中间件还用于:
在接收到复制指令时,在所述DB服务器中生成影子库,并将业务库中的数据复制到影子库中。
一些实施例中,所述数据库中间件还用于:
尝试获取影子数据源;
如果获取失败,记录错误日志,并正常启动,在接收到压测请求时报错;
如果获取成功,则生成INFO日志提示。
关于上述实施例中的系统,其中各个组成部分执行操作的具体步骤已经在有关该方法的实施例中进行了详细描述,此处不再详细阐述说明。
本申请提出了一种业务系统通过自动化升级组件方式,达到有效隔离业务数据和影子数据的方法。具体来说,本申请的方案将生产使用的数据和压测使用的数据分开保存,也就是同时使用业务数据库和影子数据库;采用相同数据库环境不同schema保存,即业务数据保存于业务数据库,影子数据保存于影子数据库,从而有效地隔离这两种数据。
本申请的方案通过增加影子数据源的方式对影子数据库专项管理,也就是通过两个数据源各自管理业务数据库和影子数据库。业务数据连接和影子数据连接之间不再需要切换,极大地提升了性能,从而满足了业务使用组件要求。
本申请在相同环境下使用不同数据库分别保存业务数据和压测数据,SQL请求通过携带压测标识区分读写对应的数据库,保证了业务数据和压测数据隔离性。因为使用不同的数据库,数据库的生成和销毁非常容易。另外,本申请提供一键自动化生成和清除数据库以及数据,操作更加方便而且不会出错。因为是在相同的环境下创建业务数据库和压测数据库,也保证了压测数据和真实数据的高度相似性。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种数据管理方法,其特征在于,包括:
根据压测场景选择对应的压测流程,其中,所述压测场景包括单库场景和分库场景;
若所述压测场景为所述单库场景,则在接收到SQL请求时,确定所述SQL请求的类型;
如果是正常SQL请求,从业务数据源获取业务库连接;如果是压测SQL请求,从影子数据源获取影子库连接;
根据获取的业务库连接或影子库连接,下发SQL到对应的业务库或影子库,其中,每对所述业务数据源和所述影子数据源由一个逻辑数据源管理;
若所述压测场景为分库场景,则在接收到SQL请求时,根据SQL请求主键取得分库信息和SQL请求的类型;
如果是正常SQL请求,根据所述分库信息从所述业务数据源获取所述业务库连接;如果是压测SQL请求,根据所述分库信息从所述影子数据源获取所述影子库连接;
根据获取的业务库连接或影子库连接,下发SQL到对应的业务库或影子库。
2.根据权利要求1所述的方法,其特征在于,在确定所述SQL请求的类型之前,还包括:
根据所述SQL请求的主键确定对应的数据分库;
其中,所述数据分库的数量为多个;一个数据分库包括一个业务库和一个影子库。
3.根据权利要求1所述的方法,其特征在于,所述确定所述SQL请求的类型,包括:
根据所述SQL请求携带的压测标识确定是正常SQL请求还是压测SQL请求。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
尝试获取影子数据源;
如果获取失败,在接收到压测请求时报错。
5.一种数据管理系统,其特征在于,包括:
数据库中间件,设置有逻辑数据源;
业务服务器,设置有业务数据源和影子数据源;其中,一个逻辑数据源对应一个业务数据源和一个影子数据源;
DB服务器,设置有业务库和影子库;其中,每个业务库对应一个业务数据源,每个影子库对应一个影子数据源;
所述逻辑数据源用于在接收到SQL请求时,确定所述SQL请求的类型;
如果是正常SQL请求,所述逻辑数据源从所述业务数据源获取业务库连接,并通过所述业务数据源下发SQL到对应的业务库;
如果是压测SQL请求,所述逻辑数据源从所述影子数据源获取影子库连接,并通过所述影子数据源下发SQL到对应的影子库,其中,每对所述业务数据源和所述影子数据源由一个所述逻辑数据源管理。
6.根据权利要求5所述的系统,其特征在于,所述DB服务器包括多个数据分库,每个所述数据分库中设置有一个业务库和一个影子库;
相应地,所述业务服务器设置有多组业务数据源和影子数据源,分别对应所述DB服务器中的多个数据分库;
所述数据库中间件设置有多个逻辑数据源,分别对应所述DB服务器中的多个数据分库;
所述数据库中间件还设置有:
确定模块,用于根据所述SQL请求的主键确定对应的数据分库。
7.根据权利要求6所述的系统,其特征在于,所述确定模块还用于:
根据确定的数据分库,将所述SQL请求分配到该数据分库所对应的逻辑数据源。
8.根据权利要求5所述的系统,其特征在于,所述逻辑数据源用于确定所述SQL请求的类型,具体包括:
根据所述SQL请求携带的压测标识确定是正常SQL请求还是压测SQL请求。
9.根据权利要求5-8任一项所述的系统,其特征在于,所述数据库中间件还用于:
在接收到复制指令时,在所述DB服务器中生成影子库,并将业务库中的数据复制到影子库中。
10.根据权利要求5-8任一项所述的系统,其特征在于,所述数据库中间件还用于:
尝试获取影子数据源;
如果获取失败,记录错误日志,并正常启动,在接收到压测请求时报错;
如果获取成功,则生成INFO日志提示。
CN201910881795.4A 2019-09-18 2019-09-18 数据管理方法和系统 Active CN110750584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910881795.4A CN110750584B (zh) 2019-09-18 2019-09-18 数据管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910881795.4A CN110750584B (zh) 2019-09-18 2019-09-18 数据管理方法和系统

Publications (2)

Publication Number Publication Date
CN110750584A CN110750584A (zh) 2020-02-04
CN110750584B true CN110750584B (zh) 2023-05-05

Family

ID=69276707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910881795.4A Active CN110750584B (zh) 2019-09-18 2019-09-18 数据管理方法和系统

Country Status (1)

Country Link
CN (1) CN110750584B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923256B (zh) * 2020-06-22 2024-05-03 北京金山云网络技术有限公司 一种数据源管理方法、装置、服务器及系统
CN111478828B (zh) * 2020-06-24 2020-10-20 支付宝(杭州)信息技术有限公司 区块链网络的压力测试方法及装置、系统
CN111782717A (zh) * 2020-07-21 2020-10-16 政采云有限公司 一种数据处理方法、系统及电子设备和存储介质
CN114143236A (zh) * 2020-08-13 2022-03-04 网联清算有限公司 一种业务系统测试方法、装置、电子设备和可读存储介质
CN112035458B (zh) * 2020-09-01 2024-02-23 中国银行股份有限公司 数据隔离方法、装置和设备
CN112199218A (zh) * 2020-10-26 2021-01-08 北京百家科技集团有限公司 一种压测方法、装置、电子设备及存储介质
CN112615759B (zh) * 2020-12-17 2023-03-31 上海哔哩哔哩科技有限公司 全链路压测组件、全链路压测方法及装置
CN113111088A (zh) * 2021-04-13 2021-07-13 北京沃东天骏信息技术有限公司 数据抽取方法、装置、计算机设备和存储介质
CN113254323B (zh) * 2021-07-05 2021-10-29 中邮消费金融有限公司 线上全链路压测方法、装置及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460048B1 (en) * 1999-05-13 2002-10-01 International Business Machines Corporation Method, system, and program for managing file names during the reorganization of a database object
CN103810174A (zh) * 2012-11-06 2014-05-21 阿里巴巴集团控股有限公司 数据库切换方法和数据库切换系统
CN108572991A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 数据库处理方法、装置和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708818A (zh) * 2015-07-17 2017-05-24 阿里巴巴集团控股有限公司 一种压力测试方法和系统
CN109254904B (zh) * 2018-08-31 2022-02-08 创新先进技术有限公司 一种数据库压测方法、装置及电子设备
CN109165168A (zh) * 2018-09-14 2019-01-08 杭州云创共享网络科技有限公司 一种压力测试方法、装置、设备及介质
CN109871320A (zh) * 2019-01-21 2019-06-11 上海德启信息科技有限公司 一种数据处理方法、装置、应用服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460048B1 (en) * 1999-05-13 2002-10-01 International Business Machines Corporation Method, system, and program for managing file names during the reorganization of a database object
CN103810174A (zh) * 2012-11-06 2014-05-21 阿里巴巴集团控股有限公司 数据库切换方法和数据库切换系统
CN108572991A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 数据库处理方法、装置和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lifang Han.The Research of Aspect-Oriented Dynamic Analysis Based on Static Analysis.IEEE.2016,第114-119页. *
王亚玲 ; 杨超 ; 章名尚 ; .数据库系统应用分片中间件.计算机系统应用.2015,第24卷(第10期),第74-79页. *

Also Published As

Publication number Publication date
CN110750584A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
CN110750584B (zh) 数据管理方法和系统
EP3477914B1 (en) Data recovery method and device, and cloud storage system
US10289497B2 (en) Distributed file system
US8381193B2 (en) Apparatus, system, and method for visual log analysis
CN109213792B (zh) 数据处理的方法、服务端、客户端、装置及可读存储介质
CN103946809B (zh) 为测试服务器产生产品服务器负载活动
AU2013327062A1 (en) Creating validated database snapshots for provisioning virtual databases
CN105824846B (zh) 数据迁移方法及装置
CN105205053A (zh) 一种数据库增量日志解析方法及系统
CN106406754A (zh) 数据迁移方法及装置
CA2896865A1 (en) Method and system for using a recursive event listener on a node in hierarchical data structure
CN110532123B (zh) HBase系统的故障转移方法及装置
CN103699548A (zh) 一种通过使用日志恢复数据库数据的方法及设备
CN106407376B (zh) 重建索引方法及装置
US20220318265A1 (en) System And Method For Switching From Consistent Database To An Eventual Consistent Database Replica In Real Time While Preventing Reads Of Past Versions Of The Data
CN107330065A (zh) 一种基于ISER协议的MySQL数据库复制方法
CN109885431B (zh) 用于备份数据的方法和装置
CN111324480A (zh) 大型主机交易故障定位系统及方法
CN109634845B (zh) 一种生成上下文记录文本的方法及装置
CN110928945B (zh) 一种针对数据库的数据处理方法及装置,数据处理系统
CN107168822B (zh) Oracle streams的异常修复系统及方法
CN108090095B (zh) 批量重建数据库的方法和装置
CN111339100B (zh) 数据核对方法及装置
CN113094208A (zh) 基于绑定接口和Binlog日志实现数据恢复的方法及系统
CN114490570A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240315

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

Country or region before: China