CN111680018A - 响应请求的方法、装置、设备及可读存储介质 - Google Patents

响应请求的方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN111680018A
CN111680018A CN202010340914.8A CN202010340914A CN111680018A CN 111680018 A CN111680018 A CN 111680018A CN 202010340914 A CN202010340914 A CN 202010340914A CN 111680018 A CN111680018 A CN 111680018A
Authority
CN
China
Prior art keywords
database
target
identification information
user request
available capacity
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
CN202010340914.8A
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.)
Taikang Insurance Group Co Ltd
Original Assignee
Taikang Insurance Group 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 Taikang Insurance Group Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN202010340914.8A priority Critical patent/CN111680018A/zh
Publication of CN111680018A publication Critical patent/CN111680018A/zh
Pending legal-status Critical Current

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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • 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
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases

Landscapes

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

Abstract

本申请实施例提供一种响应请求的方法、装置、设备及可读存储介质,旨在提高服务端对外服务的平滑性,降低部署新数据库时对业务造成的影响。所述方法包括:获得用户请求,并从所述用户请求中提取目标标识信息;从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系;在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库;基于所述第一目标数据库,响应所述用户请求。

Description

响应请求的方法、装置、设备及可读存储介质
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种响应请求的方法、装置、设备及可读存储介质。
背景技术
随着互联网技术的发展、互联网服务类型多样性的提高、以及智能终端设备的普及,越来越多的个人用户或企业用户参与至各种业务类型的互联网信息交互活动中。在互联网信息交互活动中,服务端主要承担对数据的处理和存储任务。以电商业务为例,电商平台的服务端接收并响应用户的商品搜索请求、商品信息浏览请求、商品下单请求以及支付请求等数据。在针对用户请求进行响应期间,电商平台的服务端还将存储用户的浏览商品历史记录、下单记录、用户评价记录等数据。
为了能保存互联网信息交互活动中产生的海量数据,服务端内部通常部署有用于存储数据的一个或多个数据库。考虑到随着互联网信息交互活动的延续,在数据库容量即将耗尽的情况下,需要及时部署新数据库。相关技术中,通常采用停服扩容的方式部署新数据库,即在暂停对外提供服务的前提下,迅速部署多个新数据库,并将旧数据库中的部分数据迁移至新数据库中,然后再修改服务配置,并重启服务。
由于需要在暂停服务的前提下,实现新数据库的部署,并且在部署新数据库后,还需要在新旧数据库之间执行数据迁移操作。因此,相关技术在部署新数据库期间,服务端对外服务的平滑性较低,使业务受到影响。
发明内容
本申请实施例提供一种响应请求的方法、装置、设备及可读存储介质,旨在提高服务端对外服务的平滑性,降低部署新数据库时对业务造成的影响。
本申请实施例第一方面提供了一种响应请求的方法,所述方法包括:
获得用户请求,并从所述用户请求中提取目标标识信息;
从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系;
在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库;
基于所述第一目标数据库,响应所述用户请求。
可选地,所述方法还包括:
在存在所述目标映射关系的情况下,根据所述目标映射关系确定与所述目标标识信息对应的第二目标数据库;
基于所述第二目标数据库,响应所述用户请求。
可选地,所述方法还包括:
周期性地更新所述数据库集群中多个数据库的可用容量排序。
可选地,所述在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库的步骤,包括:
在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
轮询地或随机地从可用容量排序为最高容量等级的至少一个数据库中确定一个数据库,并将确定出的数据库作为第一目标数据库,分配给所述目标标识信息;
其中,针对可用容量排序的一个更新周期内所依次提取的各个目标标识信息,各个目标标识信息分别被分配的第一目标数据库不全部相同。
可选地,所述在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库的步骤,包括:
在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
从可用容量排序为最高容量等级的至少一个数据库中确定可用容量最大的数据库,并将所述可用容量最大的数据库作为第一目标数据库,分配给所述目标标识信息。
可选地,所述基于所述第二目标数据库,响应所述用户请求,包括:
将原数据传输通道切换为所述第二目标数据库对应的数据传输通道,以与所述第二目标数据库建立连接;
根据所述用户请求,并基于所述第二目标数据库对应的数据传输通道,对所述第二目标数据库执行以下操作中的任一种或多种:数据新增、数据删除、数据更改、数据查询。
可选地,在从所述用户请求中提取目标标识信息之前,所述方法还包括:
判断所述用户请求中是否存在所述目标标识信息,以确定是否执行步骤:从所述用户请求中提取目标标识信息;
其中,在所述用户请求中存在所述目标标识信息的情况下,执行步骤:从所述用户请求中提取目标标识信息;
在所述用户请求中不存在所述目标标识信息的情况下,结束响应请求的流程。
本申请实施例第二方面提供一种响应请求的装置,所述装置包括:
目标标识信息提取模块,用于获得用户请求,并从所述用户请求中提取目标标识信息;
映射关系查询模块,用于从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系;
第一目标数据库确定模块,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库;
用户请求第一响应模块,用于基于所述第一目标数据库,响应所述用户请求。
可选地,所述装置还包括:
第二目标数据库确定模块,用于在存在所述目标映射关系的情况下,根据所述目标映射关系确定与所述目标标识信息对应的第二目标数据库;
用户请求第二响应模块,用于基于所述第二目标数据库,响应所述用户请求。
可选地,所述装置还包括:
排序更新模块,用于周期性地更新所述数据库集群中多个数据库的可用容量排序。
可选地,所述第一目标数据库确定模块包括:
可用容量排序第一获得子模块,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
第一目标数据库第一确定子模块,用于轮询地或随机地从可用容量排序为最高容量等级的至少一个数据库中确定一个数据库,并将确定出的数据库作为第一目标数据库,分配给所述目标标识信息;
其中,针对可用容量排序的一个更新周期内所依次提取的各个目标标识信息,各个目标标识信息分别被分配的第一目标数据库不全部相同。
或者可选地,所述第一目标数据库确定模块包括:
可用容量排序第二获得子模块,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
第一目标数据库第二确定子模块,用于从可用容量排序为最高容量等级的至少一个数据库中确定可用容量最大的数据库,并将所述可用容量最大的数据库作为第一目标数据库,分配给所述目标标识信息。
可选地,所述用户请求第二响应模块包括:
数据传输通道切换子模块,用于将原数据传输通道切换为所述第二目标数据库对应的数据传输通道,以与所述第二目标数据库建立连接;
操作执行子模块,用于根据所述用户请求,并基于所述第二目标数据库对应的数据传输通道,对所述第二目标数据库执行以下操作中的任一种或多种:数据新增、数据删除、数据更改、数据查询。
可选地,所述装置还包括:
目标标识信息判断模块,用于在从所述用户请求中提取目标标识信息之前,判断所述用户请求中是否存在所述目标标识信息,以确定是否执行步骤:从所述用户请求中提取目标标识信息;
流程结束模块,用于在所述用户请求中不存在所述目标标识信息的情况下,结束响应请求的流程;
其中,所述目标标识信息提取模块具体用于:在所述用户请求中存在所述目标标识信息的情况下,执行步骤:从所述用户请求中提取目标标识信息。
本申请实施例第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如本申请第一方面所述的方法中的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。
采用本申请实施例提供的响应请求的方法,在部署新数据库后,首先从用户请求中提取目标标识信息,然后查询是否存储有该目标标识信息对应的目标映射关系。即是说,确定该目标标识信息是否与数据库集群中的某一数据库存在对应关系。在不存在目标映射关系的情况下,根据数据库集群中多个数据库各自的可用容量,从数据库集群中为该目标标识信息确定第一目标数据库,从而基于该第一目标数据库,响应该用户请求,为用户提供服务。
一方面,服务端在部署新数据库的情况下,可以不中断对用户请求的响应,持续地为用户提供服务,因此该响应请求的方法提高了服务端外服务的平滑性,降低了部署新数据库时对业务造成的影响。
另一方面,在目标标识信息不存在目标映射关系的情况下,即目标标识信息不与数据库集群中的数据库存在对应关系的情况下,从最高容量等级的至少一个数据库中,为目标标识信息分配第一目标数据库。考虑到新数据库的可用容量通常较大,因此通常会从多个新数据库中为目标标识信息分配第一目标数据库。如此,在基于新数据库响应用户请求时,可以利用新数据库对该用户请求进行数据存储操作,从而不需要将旧数据库中的数据迁移至新数据库,各数据库之间也能逐渐达到负载均衡的状态。此外,还有利于降低新旧数据库之间的数据IO(输入输出)压力。
再一方面,各个数据库在针对用户请求进行数据存储操作时,是以用户请求中的标识信息为中心,一个标识信息所对应的信息通常存储在一个数据库中,因此有利于降低数据的碎片化。
应当理解的,实施本申请实施例的任一方法或产品,并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的响应请求的***的示意图;
图2是本申请一实施例提出的响应请求的方法的流程图;
图3是本申请一实施例提出的确定第一目标数据库的流程图;
图4是本申请另一实施例提出的响应请求的方法的流程图;
图5是本申请另一实施例提出的响应请求的方法的流程图;
图6是本申请另一实施例提出的响应请求的方法的流程图;
图7是本申请一实施例提供的响应请求的装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,均应属于本申请保护的范围。
为了提高服务端对外服务的平滑性,降低部署新数据库时对业务造成的影响,本申请实施例提出:在部署了新数据库的情况下,首先从用户请求中提取目标标识信息,然后查询是否存储有该目标标识信息对应的目标映射关系。其中,映射关系表征标识信息与数据库之间的对应关系。在不存在目标映射关系的情况下,根据数据库集群中多个数据库各自的可用容量,从数据库集群中为该目标标识信息确定第一目标数据库,从而基于该第一目标数据库,响应该用户请求,为用户提供服务。
参考图1,图1是本申请一实施例提出的响应请求的***的示意图。如图1所示,该响应请求的***主要包括:数据源管理服务器、至少一个应用服务器以及至少一个数据源服务器。其中,数据源服务器中部署有至少一个数据库。数据源管理服务器、应用服务器以及数据源服务器可以是相互独立的硬件设备,或者也可以是软件模块。例如数据源管理服务器可以作为软件模块,应用服务器和数据源服务器均为硬件设备,数据源管理服务器被设置于一台应用服务器内,或者被设置于一台数据源服务器内。
参考图2,图2是本申请一实施例提出的响应请求的方法的流程图,该响应请求的方法可应用于图1所示的***。如图2所示,该方法包括以下步骤:
步骤S11:获得用户请求,并从所述用户请求中提取目标标识信息。
其中,目标标识信息是指用户请求中具有区别作用的信息。例如在一般的业务领域中,比如电商业务、保险业务、或者游戏业务中,目标标识信息可以是用户身份信息,比如用户编号、用户名等等。又例如在归类业务领域中,目标标识信息可以是类别信息,例如用户所在地、用户学历、用户年龄等等。再例如在投票业务领域,目标标识信息可以是竞选者信息。应当理解的,本申请对目标标识信息的具体类型不做限定,本申请可应用于多种业务类型。
如果将所述响应请求的方法应用于图1所示***,在实施期间,应用服务器接收用户终端设备发送的用户请求后,将该用户请求传输给数据源管理服务器。数据源管理服务器接收到该用户请求后,并从该用户请求中提取目标标识信息。
步骤S12:从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系。
其中,查询是否存在所述目标标识信息的目标映射关系,换言之,查询是否存在与所述目标标识信息对应的数据库。
示例地,一个映射关系具体可以是一个键值对key:value。其中关键字key可以是目标标识信息,键值value可以是数据库名。应当理解的,映射关系的具体形式并不局限于键值对key:value形式,该示例并不用于限定本申请。
步骤S13:在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库。
其中,如果不存在所述目标映射关系,则说明数据库集群中不存在与该目标标识信息对应的数据库。
示例地,以目标标识信息为用户身份信息为例,在不存在与该用户身份信息对应的数据库的情况下,则说明该用户对于服务端的业务来讲是一个新用户,服务端暂时还没有利用数据库对该用户的请求进行过响应。如此,服务端需要从数据库集群中为该用户分配一个数据库,即第一目标数据库,从而能基于所分配的数据库,响应该用户的请求。
其中,容量等级可以是可用容量大小的数值区间,例如可用容量大小为20G(Gigabyte)~15G(Gigabyte)、15G(Gigabyte)~10G(Gigabyte)、10G(Gigabyte)~5G(Gigabyte)、5G(Gigabyte)~0G(Gigabyte)分别为四个不同的可用容量等级,其中20G(Gigabyte)~15G(Gigabyte)为最高容量等级。
参考表1,表1是可用容量排序示例表,提供一种可用容量排序的示例。如表1所示,容量等级被划分为四个数值区间。其中,20G~15G为最高容量等级。
表1可用容量排序示例表
Figure BDA0002468454970000091
或者,容量等级也可以是可用容量排序的前百分比区间,例如排名前20%的、排名前40%且除去排名前20%的、排名前60%且除去排名前40%的、排名前80%且除去排名前60%的、以及排名后20%的分别为五个不同的容量等级,其中排名前20%的为最高用容量等级。
需要说明的是,容量等级的划分方式除了按照可用容量大小的数值区间、或者按照可用容量排序的前百分比区间以外,还可以有多种其他的划分方式,本申请对容量等级的划分方式不做限定。需要说明的是,上述示例中的数据仅为介绍方案之便,本申请在实施期间,实际的数据可能与上述示例中的数据不同。
由于在为目标标识信息分配第一目标数据库时,具体是以数据库集群中多个数据库各自的可用容量为依据,从可用容量排序为最高容量等级的至少一个数据库中,为目标标识信息分配第一目标数据库。又考虑到近期部署的新数据库的可用容量通常较大,因此一般会从多个新数据库中为目标标识信息分配第一目标数据库。如此,在基于新数据库响应用户请求时,可以利用新数据库对该用户请求进行数据存储操作,从而不需要将旧数据库中的数据迁移至新数据库,各数据库之间也能逐渐达到负载均衡的状态。
本发明具体实现时,可以周期性地更新所述数据库集群中多个数据库的可用容量排序。示例地,例如可以每1小时统计各个数据库的可用容量,并排序,从而周期性地更新数据库集群中多个数据库的可用容量排序。
在本发明的一些具体实施方式中,在从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库时,可以在不存在所述目标映射关系的情况下,首先获得所述数据库集群中多个数据库的最新可用容量排序;从可用容量排序为最高容量等级的至少一个数据库中确定可用容量最大的数据库,并将所述可用容量最大的数据库作为第一目标数据库,分配给所述目标标识信息。
或者本发明的一些具体实施方式中,在本发明的一些具体实施方式中,在从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库时,可以执行以下子步骤:
子步骤S13-1:在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序。
子步骤S13-2:轮询地或随机地从可用容量排序为最高容量等级的至少一个数据库中确定一个数据库,并将确定出的数据库作为第一目标数据库,分配给所述目标标识信息。
其中,针对可用容量排序的一个更新周期内所依次提取的各个目标标识信息,各个目标标识信息分别被分配的第一目标数据库不全部相同。
换言之,在最近一次对多个数据库的可用容量排序进行更新之后,以及下一次对多个数据库的可用容量排序进行更新之前,对于先后提取的多个不存在目标映射关系的目标标识信息中的每个目标标识信息,均可以根据最近一次更新后的可用容量排序,从最高容量等级的至少一个数据库中,为该目标标识信息分配第一目标数据库。仍然以目标标识信息为用户身份信息为例,在最近一次对多个数据库的可用容量排序进行更新之后,以及下一次对多个数据库的可用容量排序进行更新之前,对于多个新用户中的每个新用户,均可以根据最近一次更新后的可用容量排序,从最高容量等级的至少一个数据库中,为该新用户分配确定第一目标数据库。
示例地,假设根据最近一次更新的可用容量排序,数据库Database_8、数据库Database_7、以及数据库Database_6三者的可用容量等级相同,且均为最高。则在所述最近一次更新完成后:
针对提取出的第一个不存在目标映射关系的目标标识信息,可以将数据库Database_8作为第一目标数据库,分配给该目标标识信息。
针对提取出的第二个不存在目标映射关系的目标标识信息,可以将数据库Database_7作为第一目标数据库,分配给该目标标识信息。
针对提取出的第三个不存在目标映射关系的目标标识信息,可以将数据库Database_6作为第一目标数据库,分配给该目标标识信息。
针对提取出的第四个不存在目标映射关系的目标标识信息,可以将数据库Database_8作为第一目标数据库,分配给该目标标识信息。
针对提取出的第五个不存在目标映射关系的目标标识信息,可以将数据库Database_7作为第一目标数据库,分配给该目标标识信息。
如此,轮询地将数据库Database_8、数据库Database_7、以及数据库Database_6分配给各个目标标识信息,直至下一次可用容量排序更新,从而确定出最新的可用容量水平最高的数据库后,开始对最新确定出的可用容量水平最高的数据库进行轮询。
通过将可用容量水平最高的多个数据库轮询地确定为第一目标数据库,在可用容量排序前后两次更新的时间间隔较长的情况下,使得可用容量水平最高的多个数据库可以较平均地分配到用户请求,从而有利于提高各个数据库的负载均衡水平,使得各个数据库的负载或可用容量逐渐趋于相同水平。
或者,考虑到在某些情况下,处于可用容量水平最高区间的数据库的数量可能是是多个,为此,可以针对先后提取的多个不存在目标映射关系的目标标识信息中的每个目标标识信息,随机地将可用容量水平最高的多个数据库中的一个数据库确定为该目标标识信息对应的第一目标数据库。
在可用容量排序前后两次更新的时间间隔较长的情况下,采用随机的方式,将可用容量水平最高的多个数据库中的一个数据库确定为第一目标数据库,也可以使得可用容量水平最高的多个数据库较平均地分配到用户请求,从而有利于提高各个数据库的负载均衡水平,使得各个数据库的负载或可用容量逐渐趋于相同水平。
步骤S14:基于所述第一目标数据库,响应所述用户请求。
其中,基于第一目标数据库,对用户请求的响应操作通常包括:存储用户请求中携带的数据,和/或,存储在对用户请求进行处理后所产生的数据。
如果将所述响应请求的方法应用于图1所示***,在实施期间,数据源管理服务器在执行上述步骤S11至步骤S13后,将确定出的第一目标数据库的信息发送给目标应用服务器,使所述目标应用服务器连接至第一目标数据库,从而将用户请求中携带的数据存入第一目标数据库,和/或,在对用户请求进行处理后,将处理后形成的数据存入第一目标数据库。其中,目标应用服务器是指在步骤S11之前,向数据源管理服务器发送用户请求的应用服务器。
示例地,如图1所示,应用服务器S1在接收到用户请求A后,将该用户请求A发送给数据源管理服务器,数据源管理服务器针对该用户请求A执行上述步骤S11至步骤S13,确定出第一目标数据库后,将第一目标数据库信息返回给应用服务器S1,使得应用服务器S1基于第一目标数据库,响应用户请求A。
通过执行上述包括步骤S11至步骤S14的响应请求的方法,一方面,服务端在部署了新数据库的情况下,可以不中断对用户请求的响应,持续地为用户提供服务,因此该响应请求的方法提高了服务端外服务的平滑性,降低了部署新数据库时对业务造成的影响。
另一方面,在部署新数据库后,不需要将旧数据库中的数据迁移至新数据库,各数据库也能逐渐达到负载均衡的状态。此外,由于不需要在数据库之间执行数据迁移操作,还有利于降低新旧数据库之间的数据IO(输入输出)压力。
再一方面,各个数据库在针对用户请求进行数据存储操作时,是以用户请求中的标识信息为中心,一个标识信息所对应的信息通常存储在一个数据库中,因此有利于降低数据的碎片化。以标识信息为用户身份信息为例,一个用户的信息通常存储在一个数据库中。当应用服务器需要针对老用户的请求进行数据处理时,仅从一个数据库中即可获得该老用户的全部数据,因此可以减少应用服务器在多个数据库之间来回切换以获取数据的情况发生,提高数据处理效率。
此外,为了对服务端的数据库集群扩容,从而应对逐渐增长的数据量,本申请实施例提出具体的数据库集群扩容方式。具体地,接收数据库扩充指示;根据所述数据库扩充指示,在所述数据库集群中部署新数据库;建立所述新数据库与应用服务器之间的数据传输通道。
其中,数据库扩容指示可以是服务端管理员通过操作输入设备而输入的。所述输入设备包括但不限于:键盘、鼠标、麦克风、触控板、触控屏等等。在部署新数据库后,应用服务器可以在数据库连接池中建立与新数据库之间的数据传输通道。如图1所示,数据库连接池中的双向箭头表示:应用服务器与数据库之间的数据传输通道,这些数据传输通道存储在数据库连接池中。其中,实线的双向箭头表示:该数据传输通道正在启用,该数据传输通道两端的应用服务器和数据库当前正处于相互连接的状态。虚线的双向箭头表示:该数据传输通道未启用,该数据传输通道两端的应用服务器和数据库当前未处于相互连接的状态。
此外,参考图4,图4是本申请另一实施例提出的响应请求的方法的流程图。如图4所示,在为目标标识信息确定第一目标数据库后,还可以执行以下步骤:
步骤S13’:建立并存储所述目标标识信息与所述第一目标数据库的映射关系。
示例地,以目标标识信息为用户身份信息为例,在建立并存储用户身份信息与第一目标数据库的映射关系后,该用户即绑定了一个数据库,该用户即可被视为一个老用户。如果服务端后期又接收到该用户提交的用户请求,服务端从该用户请求中提取出用户身份信息后,在执行上述步骤S12时,可以查询到该用户身份信息的目标映射关系。
需要说明的是,图4中,步骤S13’和步骤S14之间不存在先后顺序的限定。
此外,参考图5,图5是本申请另一实施例提出的响应请求的方法的流程图。如图5所示,该方法还可以包括以下步骤:
步骤S15:在存在所述目标映射关系的情况下,根据所述目标映射关系确定与所述目标标识信息对应的第二目标数据库。
步骤S16:基于所述第二目标数据库,响应所述用户请求。
示例地,以目标标识信息为用户身份信息为例,在用户身份信息存在目标映射关系的情况下,说明该用户是一个老用户,服务端在早前已经基于数据库响应过该用户的请求,因此可以根据目标映射关系确定该用户对应的第二目标数据库。
如图1所示,应用服务器S2在接收到用户请求B后,将该用户请求B发送给数据源管理服务器,数据源管理服务器针对该用户请求B执行上述步骤S11、步骤S12、以及步骤S15后,确定出第二目标数据库后,将第二目标数据库信息返回给应用服务器S2,使得应用服务器S2基于第二目标数据库,响应用户请求B。
在基于该第二目标数据库,响应用户请求时,示例地,可以包括以下子步骤:
步骤S16-1:将原数据传输通道切换为所述第二目标数据库对应的数据传输通道,以与所述第二目标数据库建立连接。
步骤S16-2:根据所述用户请求,并基于所述第二目标数据库对应的数据传输通道,对所述第二目标数据库执行以下操作中的任一种或多种:数据新增、数据删除、数据更改、数据查询。
如果将本申请应用于图1所示的***,数据源管理服务器在确定出第二目标数据库后,将第二目标数据库信息返回给应用服务器,应用服务器将即原数据传输通道切换为第二目标数据库对应的数据传输通道。如此,应用服务器与第二目标数据库之间处于连接状态。
基于该连接状态,应用服务器在对用户请求进行处理期间,可以对第二目标数据库执行:数据新增、数据删除、数据更改、数据查询等操作。
此外,参考图6,图6是本申请另一实施例提出的响应请求的方法的流程图。如图6所示,该方法还可以包括以下步骤:
步骤S10:判断所述用户请求中是否存在所述目标标识信息。
通过执行步骤S10,以确定是否执行步骤S11。其中,在所述用户请求中存在所述目标标识信息的情况下,执行步骤S11;在所述用户请求中不存在所述目标标识信息的情况下,结束响应请求的流程。
通过执行步骤S10,可以过滤掉不符合请求格式规范的用户请求,一方面有利于减小服务端对请求的并发处理数量;另一方面,有利于减小服务端遭遇网络攻击的风险。
本申请通过以上各实施例、以及实施例之间的组合,提供了多种响应请求的方法。需要说明的是,用于实施以上方法的硬件***并不局限于图1所示的***,以上方法还可以被应用至其他类型的服务端***。
基于同一发明构思,本申请一实施例提供一种响应请求的装置。参考图7,图7是本申请一实施例提供的响应请求的装置的示意图。如图7所示,该装置包括:
目标标识信息提取模块71,用于获得用户请求,并从所述用户请求中提取目标标识信息;
映射关系查询模块72,用于从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系;
第一目标数据库确定模块73,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库;
用户请求第一响应模块74,用于基于所述第一目标数据库,响应所述用户请求。
可选地,所述装置还包括:
第二目标数据库确定模块,用于在存在所述目标映射关系的情况下,根据所述目标映射关系确定与所述目标标识信息对应的第二目标数据库;
用户请求第二响应模块,用于基于所述第二目标数据库,响应所述用户请求。
可选地,所述装置还包括:
排序更新模块,用于周期性地更新所述数据库集群中多个数据库的可用容量排序。
可选地,所述第一目标数据库确定模块包括:
可用容量排序第一获得子模块,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
第一目标数据库第一确定子模块,用于轮询地或随机地从可用容量排序为最高容量等级的至少一个数据库中确定一个数据库,并将确定出的数据库作为第一目标数据库,分配给所述目标标识信息;
其中,针对可用容量排序的一个更新周期内所依次提取的各个目标标识信息,各个目标标识信息分别被分配的第一目标数据库不全部相同。
或者可选地,所述第一目标数据库确定模块包括:
可用容量排序第二获得子模块,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
第一目标数据库第二确定子模块,用于从可用容量排序为最高容量等级的至少一个数据库中确定可用容量最大的数据库,并将所述可用容量最大的数据库作为第一目标数据库,分配给所述目标标识信息。
可选地,所述用户请求第二响应模块包括:
数据传输通道切换子模块,用于将原数据传输通道切换为所述第二目标数据库对应的数据传输通道,以与所述第二目标数据库建立连接;
操作执行子模块,用于根据所述用户请求,并基于所述第二目标数据库对应的数据传输通道,对所述第二目标数据库执行以下操作中的任一种或多种:数据新增、数据删除、数据更改、数据查询。
可选地,所述装置还包括:
目标标识信息判断模块,用于在从所述用户请求中提取目标标识信息之前,判断所述用户请求中是否存在所述目标标识信息,以确定是否执行步骤:从所述用户请求中提取目标标识信息;
流程结束模块,用于在所述用户请求中不存在所述目标标识信息的情况下,结束响应请求的流程;
其中,所述目标标识信息提取模块具体用于:在所述用户请求中存在所述目标标识信息的情况下,执行步骤:从所述用户请求中提取目标标识信息。
基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请上述任一实施例所述的方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种响应请求的方法、装置、设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种响应请求的方法,其特征在于,所述方法包括:
获得用户请求,并从所述用户请求中提取目标标识信息;
从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系;
在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库;
基于所述第一目标数据库,响应所述用户请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在存在所述目标映射关系的情况下,根据所述目标映射关系确定与所述目标标识信息对应的第二目标数据库;
基于所述第二目标数据库,响应所述用户请求。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
周期性地更新所述数据库集群中多个数据库的可用容量排序。
4.根据权利要求3所述的方法,其特征在于,所述在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库的步骤,包括:
在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
轮询地或随机地从可用容量排序为最高容量等级的至少一个数据库中确定一个数据库,并将确定出的数据库作为第一目标数据库,分配给所述目标标识信息;
其中,针对可用容量排序的一个更新周期内所依次提取的各个目标标识信息,各个目标标识信息分别被分配的第一目标数据库不全部相同。
5.根据权利要求3所述的方法,其特征在于,所述在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库的步骤,包括:
在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的最新可用容量排序;
从可用容量排序为最高容量等级的至少一个数据库中确定可用容量最大的数据库,并将所述可用容量最大的数据库作为第一目标数据库,分配给所述目标标识信息。
6.根据权利要求2所述的方法,其特征在于,所述基于所述第二目标数据库,响应所述用户请求,包括:
将原数据传输通道切换为所述第二目标数据库对应的数据传输通道,以与所述第二目标数据库建立连接;
根据所述用户请求,并基于所述第二目标数据库对应的数据传输通道,对所述第二目标数据库执行以下操作中的任一种或多种:数据新增、数据删除、数据更改、数据查询。
7.根据权利要求1或2所述的方法,其特征在于,在从所述用户请求中提取目标标识信息之前,所述方法还包括:
判断所述用户请求中是否存在所述目标标识信息,以确定是否执行步骤:从所述用户请求中提取目标标识信息;
其中,在所述用户请求中存在所述目标标识信息的情况下,执行步骤:从所述用户请求中提取目标标识信息;
在所述用户请求中不存在所述目标标识信息的情况下,结束响应请求的流程。
8.一种响应请求的装置,其特征在于,所述装置包括:
目标标识信息提取模块,用于获得用户请求,并从所述用户请求中提取目标标识信息;
映射关系查询模块,用于从多个已经存储的映射关系中查询是否存在所述目标标识信息的目标映射关系,所述映射关系表征标识信息与数据库之间的对应关系;
第一目标数据库确定模块,用于在不存在所述目标映射关系的情况下,获得所述数据库集群中多个数据库的可用容量排序,并从可用容量排序为最高容量等级的至少一个数据库中,为所述目标标识信息分配第一目标数据库;
用户请求第一响应模块,用于基于所述第一目标数据库,响应所述用户请求。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1至7任一所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1至7任一所述的方法中的步骤。
CN202010340914.8A 2020-04-26 2020-04-26 响应请求的方法、装置、设备及可读存储介质 Pending CN111680018A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010340914.8A CN111680018A (zh) 2020-04-26 2020-04-26 响应请求的方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010340914.8A CN111680018A (zh) 2020-04-26 2020-04-26 响应请求的方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111680018A true CN111680018A (zh) 2020-09-18

Family

ID=72452565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010340914.8A Pending CN111680018A (zh) 2020-04-26 2020-04-26 响应请求的方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111680018A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113836212A (zh) * 2021-09-27 2021-12-24 易保网络技术(上海)有限公司 数据库数据自动生成Json数据的方法、可读介质和电子设备

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972311A (zh) * 2006-12-08 2007-05-30 华中科技大学 一种基于集群均衡负载的流媒体服务器***
CN101518039A (zh) * 2006-07-20 2009-08-26 泰克莱克公司 用于路由和处理enum查询的方法、***和计算机程序产品
CN101841565A (zh) * 2010-04-20 2010-09-22 中国科学院软件研究所 数据库集群***负载均衡方法和数据库集群***
CN102456028A (zh) * 2010-10-27 2012-05-16 金蝶软件(中国)有限公司 一种面向多租户的数据获取方法、装置及***
CN105045651A (zh) * 2015-06-26 2015-11-11 广州华多网络科技有限公司 业务处理***及方法
CN105933470A (zh) * 2016-06-17 2016-09-07 北京交通大学 层次化服务资源解析映射方法和***
CN106777126A (zh) * 2016-12-16 2017-05-31 广东电网有限责任公司电力调度控制中心 一种支持异构时序数据库的数据在线迁移方法
CN107122362A (zh) * 2016-02-24 2017-09-01 南京中兴新软件有限责任公司 云数据库资源扩展和服务扩展的方法和***
CN107203575A (zh) * 2016-03-18 2017-09-26 北京京东尚科信息技术有限公司 一种用于隔离多租户数据的***、设备和方法
CN107835986A (zh) * 2016-06-30 2018-03-23 华为技术有限公司 一种电子设备的数据操作方法及电子设备
CN109388655A (zh) * 2017-08-07 2019-02-26 北京京东尚科信息技术有限公司 一种动态控制数据访问的方法和装置
CN109669980A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 数据跨库访问方法及装置
CN109933585A (zh) * 2019-02-22 2019-06-25 京东数字科技控股有限公司 数据查询方法和数据查询***
CN110347722A (zh) * 2019-07-11 2019-10-18 软通智慧科技有限公司 基于HBase的数据获取方法、装置、设备及存储介质
CN110365748A (zh) * 2019-06-24 2019-10-22 深圳市腾讯计算机***有限公司 业务数据的处理方法和装置、存储介质及电子装置
CN110716986A (zh) * 2019-10-17 2020-01-21 华普通用技术研究(广州)有限公司 一种大数据分析***及其应用方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101518039A (zh) * 2006-07-20 2009-08-26 泰克莱克公司 用于路由和处理enum查询的方法、***和计算机程序产品
CN1972311A (zh) * 2006-12-08 2007-05-30 华中科技大学 一种基于集群均衡负载的流媒体服务器***
CN101841565A (zh) * 2010-04-20 2010-09-22 中国科学院软件研究所 数据库集群***负载均衡方法和数据库集群***
CN102456028A (zh) * 2010-10-27 2012-05-16 金蝶软件(中国)有限公司 一种面向多租户的数据获取方法、装置及***
CN105045651A (zh) * 2015-06-26 2015-11-11 广州华多网络科技有限公司 业务处理***及方法
CN107122362A (zh) * 2016-02-24 2017-09-01 南京中兴新软件有限责任公司 云数据库资源扩展和服务扩展的方法和***
CN107203575A (zh) * 2016-03-18 2017-09-26 北京京东尚科信息技术有限公司 一种用于隔离多租户数据的***、设备和方法
CN105933470A (zh) * 2016-06-17 2016-09-07 北京交通大学 层次化服务资源解析映射方法和***
CN107835986A (zh) * 2016-06-30 2018-03-23 华为技术有限公司 一种电子设备的数据操作方法及电子设备
CN106777126A (zh) * 2016-12-16 2017-05-31 广东电网有限责任公司电力调度控制中心 一种支持异构时序数据库的数据在线迁移方法
CN109388655A (zh) * 2017-08-07 2019-02-26 北京京东尚科信息技术有限公司 一种动态控制数据访问的方法和装置
CN109669980A (zh) * 2018-12-21 2019-04-23 成都四方伟业软件股份有限公司 数据跨库访问方法及装置
CN109933585A (zh) * 2019-02-22 2019-06-25 京东数字科技控股有限公司 数据查询方法和数据查询***
CN110365748A (zh) * 2019-06-24 2019-10-22 深圳市腾讯计算机***有限公司 业务数据的处理方法和装置、存储介质及电子装置
CN110347722A (zh) * 2019-07-11 2019-10-18 软通智慧科技有限公司 基于HBase的数据获取方法、装置、设备及存储介质
CN110716986A (zh) * 2019-10-17 2020-01-21 华普通用技术研究(广州)有限公司 一种大数据分析***及其应用方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113836212A (zh) * 2021-09-27 2021-12-24 易保网络技术(上海)有限公司 数据库数据自动生成Json数据的方法、可读介质和电子设备
CN113836212B (zh) * 2021-09-27 2023-09-08 易保网络技术(上海)有限公司 数据库数据自动生成Json数据的方法、可读介质和电子设备

Similar Documents

Publication Publication Date Title
US11422853B2 (en) Dynamic tree determination for data processing
CN110096336B (zh) 数据监控方法、装置、设备和介质
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
US8271523B2 (en) Coordination server, data allocating method, and computer program product
JP5088234B2 (ja) メッセージ紐付け処理装置、方法及びプログラム
US7721288B2 (en) Organizing transmission of repository data
EP2131282A1 (en) Software modification management program, software modification management device, and software modification management method
CN111506404A (zh) 一种基于Kubernetes的共享GPU调度方法
CN111309440B (zh) 一种多类型gpu的管理调度的方法和设备
CN111459677A (zh) 请求分配方法、装置、计算机设备和存储介质
CN111324606B (zh) 数据分片的方法及装置
CN110784498B (zh) 一种个性化数据容灾方法及装置
CN105812175B (zh) 一种资源管理方法及资源管理设备
CN111143331A (zh) 数据迁移方法、装置及计算机存储介质
CN113835874A (zh) 深度学习业务调度方法、***、终端及存储介质
CN110019231A (zh) 一种并行数据库动态关联的方法及节点
CN111752961A (zh) 一种数据处理方法及装置
CN110912967A (zh) 一种服务节点调度方法、装置、设备及存储介质
CN111680018A (zh) 响应请求的方法、装置、设备及可读存储介质
CN110737458A (zh) 一种代码更新方法和相关装置
CN106815318B (zh) 一种时序数据库的集群化方法及***
CN110688223B (zh) 数据处理方法及相关产品
CN109002355B (zh) 处理请求的分配方法、装置及设备
CN115454574A (zh) 容器的部署方法、装置及电子设备
CN112083892B (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