CN111930724B - 数据迁移方法和装置、存储介质及电子设备 - Google Patents
数据迁移方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111930724B CN111930724B CN202011093310.4A CN202011093310A CN111930724B CN 111930724 B CN111930724 B CN 111930724B CN 202011093310 A CN202011093310 A CN 202011093310A CN 111930724 B CN111930724 B CN 111930724B
- Authority
- CN
- China
- Prior art keywords
- data
- servers
- group
- migration
- data set
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据迁移方法和装置、存储介质及电子设备。该方法包括:获取第一组服务器的第一运行参数,第一运行参数为第一组服务器处理一组数据请求所形成的运行参数,一组数据请求用于请求对第一组服务器上存储的数据执行访问操作;在根据第一运行参数确定出需要对第一组服务器执行数据迁移操作的情况下,在第一组服务器上存储的数据中确定待迁移的第一数据集合;将第一数据集合从第一组服务器迁移到第二组服务器,在第一数据集合被迁移到第二组服务器之后,将第一目标数据请求设置为传输到第二组服务器进行处理,第一目标数据请求用于请求对第一数据集合中的数据执行访问操作。采用上述方式,能够平衡第一组服务和第二组服务器的负载。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据迁移方法和装置、存储介质及电子设备。
背景技术
目前,在遇到大量客户端请求时,通常采用限流频控方案,用于保护网络服务端的服务接口,避免突发大流量请求冲击***,进而引起***雪崩,无法对外继续提供服务,即对客户端的请求数量进行统计,当请求频率超过一定阈值时,则抛弃其他客户端请求,或者返回错误至客户端。
主要有以下两种处理方式:
一、单机频控。
具体实现:服务器进程的内存中实时统计每秒处理的客户端请求数N,并保存配置的每秒最大请求数阈值Max。以任何一秒为例,业务进程每处理一个客户端请求,将N加1;在N小于Max时,进程正常为客户端提供服务;若N等于Max,则接下来的进程暂停服务;直到下一秒到来,N重置为0,进程继续正常提供服务,以此类推。
二、如图1所示,为全局频控的示意图。
业务进程部署在不同机器上,但每个进程的数据都存储在同一数据库中,需要考虑数据库服务器的压力,同样需要对其进行频控。
全局频控阈值Gloabl_Max存储于专门的频控服务器(FcServer)中,在任何的一秒内,每个业务进程频控服务器申请频控量Single_Max,同时Global_Max扣除Single_Max;当Global_Max为0时,业务进程将无法申请频控量,拒绝对外提供服务;下一秒到来时,Global_Max重置为初始值,业务进程可以申请到频控量,继续为客户端提供服务。
上述方案中,在单机频控的方式中,当服务器进程的客户端请求数达到最大请求数阈值时,会对接下来的进程暂停服务;在全局频控的方式中,当全局频控阈值为0时,业务进程将无法申请频控量,拒绝对外提供服务。也就是说,相关技术中,在遇到大量客户端请求时,会出现抛弃客户端请求的技术问题。
针对相关技术中存在的技术问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据迁移方法和装置、存储介质及电子设备,以至少解决相关技术中,在遇到大量客户端请求时,会出现抛弃客户端请求的技术问题。
根据本发明实施例的一个方面,提供了一种数据迁移方法,包括:获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
根据本发明实施例的另一方面,还提供了一种数据迁移装置,包括:第一获取单元,用于获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;第一处理单元,用于在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;第二处理单元,用于将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
根据本发明实施例的又一方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据迁移方法的各种可选实现方式中提供的方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器被设置为通过上述计算机程序执行执行上述数据迁移方法。
通过本发明,首先,获取第一组服务器的第一运行参数,其中,第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;如果根据第一运行参数确定出需要对第一组服务器进行数据迁移操作,那么,需要在第一组服务器上存储的数据中确定出待迁移的第一数据集合,最后,将这些待迁移的第一数据集合从第一组服务器迁移到第二组服务器,当发出对第一数据集合中的数据进行访问操作的第一目标数据请求时,该第一目标数据请求会通过第二组服务器进行处理。采用上述技术方案,在根据第一运行参数确定出需要对第一组服务器执行数据迁移操作时,表明第一组服务器无法对待迁移的第一数据集合进行相应的数据处理,此时,可以通过数据迁移操作,将这些第一数据集合从第一组服务器迁移到第二组服务器,并通过第二组服务器来继续处理该第一数据集合对应的第一目标数据请求,使得对第一数据集合的访问操作能够继续执行,并不会因为第一组服务器无法处理而中断,达到了在遇到大量客户端请求时,能够不间断的处理户端请求的技术效果,解决了相关技术中在遇到大量客户端请求时,会出现抛弃客户端请求的情况,可用性不足,在高并发场景容易影响用户体验的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中一种数据迁移的示意图;
图2是根据本发明实施例的一种数据迁移方法的应用环境的示意图;
图3是根据本发明实施例的一种可选的数据迁移方法的流程示意图(一);
图4是根据本发明实施例的一种可选的数据迁移方法的流程示意图(二);
图5是根据本发明实施例的一种可选的迁移速度的示意图;
图6是根据本发明实施例的一种可选的数据迁移方法的流程示意图(三);
图7是根据本发明实施例的一种可选的数据迁移装置的结构示意图;
图8是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中涉及到的技术术语包括:
1、网络游戏(Online Game),也称在线游戏,一般指多名玩家透过计算机互联网进行交互娱乐的电子游戏。
2、大型多人在线角色扮演游戏(MMORPG),网络游戏的一种,是电子角色扮演游戏按电子游戏人数分类分别出来的一种网络游戏。
在所有MMORPG中,玩家都可扮演一个或多个虚拟角色,并控制该角色的在游戏中虚拟世界的活动与行为。
3、游戏客户端(Game Client),指与游戏服务器相对应,为客户提供本地服务的程序。一般安装在普通的用户电脑上,需要与游戏服端端互相配合运行。
4、游戏服务端(Game Server),指为游戏客户端提供数据计算、校验、存储和转发功能的服务软件程序。需游戏开发商保证其稳定运作和正常的服务功能。
5、读请求与写请求,客户端请求服务器提供服务时,请求分为读请求和写请求,读请求只读取数据,不修改数据,写请求修改服务器数据。
6、流量控制,高并发的客户端请求会导致服务器CPU、网络压力陡增,造成服务器瘫痪,无法对外提供服务。流量控制是分散流量、控制访问量、保护服务器正常运作的方案。
根据本发明实施例的一个方面,提供了一种数据迁移方法。可选地,上述数据迁移方法可以但不限于应用于如图2所示的应用环境中。如图2所示,上述数据迁移方法可以但不限于应用于如图2所示的环境中的数据迁移***中,其中,该数据迁移***可以包括但不限于终端设备102、网络104、第一组服务器106、第二组服务器108。终端设备102中运行有目标客户端,该目标客户端可以为直播软件客户端、视频软件客户端、游戏客户端、网络购物客户端、搜索软件客户端等。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。
此外,第一组服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储第一运行参数。处理引擎1064用于根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合。
第二组服务器108中包括数据库1082及处理引擎1084,数据库1082中用于存储第一数据集合。处理引擎1064用于在上述第一数据集合被迁移到上述第二组服务器之后,处理第一目标数据请求。
具体过程如以下步骤:如步骤S102-S106,终端设备102发出一组数据请求,其中,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;第一组服务器106获取第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;将上述第一数据集合从上述第一组服务器迁移到第二组服务器108;第二组服务器108用于在上述第一数据集合被迁移到上述第二组服务器之后,处理第一目标数据请求,其中,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。可理解,以上仅为一种示例,本申请实施例在此不作限定。
可选地,本发明实施例可以应用于云技术中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
本发明可以应用于游戏场景中,游戏可以为一种云游戏,云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
可选地,上述方法可以应用于高并发的客户端请求场景中,如大型多人在线角色扮演游戏、多用户观影、大量的网络购物(如双十一购物活动、京东618购物活动等)、网络购票(如春运、节假日期间的车票购买等)、网络直播秒杀活动、网络热搜(如微博热搜)等,可以应用于游戏软件、直播软件、视频软件、视频网站、购物软件、购票软件、搜索软件等中,本实施例在此不作任何限定。
可选地,在本实施例中,上述终端设备可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile InternetDevices,移动互联网设备)、PAD、台式电脑、智能电视、智能车载等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由服务器(例如,上述第一组服务器106)执行为例进行说明。如图3所示,上述数据迁移方法的流程可以包括以下步骤:
步骤S302,获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作。
可选地,上述第一组服务器可以为一种服务器集群。
上述第一运行参数可以理解为,第一组服务器处理一组数据请求(客户端请求)的成功率、第一组服务器的中央处理器(Central Processing Unit,简称CPU)负载、内存负载、请求处理能力(如每秒查询率(Query PerSecond,简称QPS))等。
上述一组数据请求中的任意一个数据请求可以理解为一种客户端请求。
以游戏应用场景为例,游戏玩法众多,玩家数量庞大,来自游戏客户端的客户端请求比较频繁,为保证服务器不会被巨大流量击溃,需要进行流量控制。客户端请求可以为游戏中热门玩法开启、福利活动期间所产生的大量的网络请求,此时,陡增的客户端请求会大量流量冲击服务器集群,为了保证服务器稳定运作,需要进行流量控制,维持服务器的高可用和可靠性。
上述客户端请求还可以为大型网络购物活动期间所产生的请求、节假日期间的网络购票所产生的请求、网络直播中的秒杀活动所产生的请求、网络热搜所产生的请求等等。
上述访问操作可以理解为客户端请求服务器提供服务的操作,可以包括读操作(或者还可以称为读请求)或写操作(或者还可以称为写请求)读操作只读取数据,不修改数据,写操作可以修改服务器数据。
可理解,上述仅为一种示例,本实施例对此不作任何限定。
对于上述一组服务器来说,可以包括至少一个服务器,可以获取到这一组服务器运行过程中所产生的第一运行参数。
步骤S304,在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合。
可选地,通过上述步骤S302可以得到第一运行参数,根据该第一运行参数可以确定出是否需要对第一组服务器执行数据迁移操作。
其中,确定是否需要执行数据迁移操作的方式可以为以下几种方式:
方式1:第一组服务器处理一组数据请求(客户端请求)的成功率是否低于第一阈值,如成功率低于80%。
方式2:第一组服务器的中央处理器(Central Processing Unit,简称CPU)负载是否高于第二阈值,如CPU负载高于80%。
方式3:内存负载是否高于第三阈值,如内存负载高于90%。
方式4:请求处理能力(如每秒查询率(Query PerSecond,简称QPS))是否高于第四阈值,如每秒查询率高于90%。
可理解,以上仅为一种示例,本实施例在此不作任何限定。
在通过上述方式确定要执行数据迁移操作的情况下,需要在上述第一组服务器上存储的数据中确定出待迁移的第一数据集合。其中,数据迁移操作可以理解为,将第一组服务器中无法处理的数据请求对应的数据(如第一数据集合)迁移到另外的服务器上(如第二组服务器)进行处理的操作。
上述第一数据集合可以为高频访问的热点数据。即可以将高频访问的热点数据通过数据迁移操作,迁移到第二组服务器上进行处理。
步骤S306,将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
可选地,在获取到数据迁移操作、且确定出待迁移的第一数据集合之后,可以将该第一数据集合从第一组服务器迁移到第二组服务器,该第一数据集合在被迁移到第二组服务器之后,可以产生对应的第一目标数据请求,该第一目标数据请求被设置为由第二组服务器进行处理,其中,该第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作(如读操作、写操作)。
如图4所示,普通集群(第一组服务器)接收来自客户端的客户端请求,由监控服务器对普通集群的各项指标(如上述第一运行参数)进行监控,在确定普通集群的处理能力无法达到各项指标时,即可向普通集群下发迁移任务(如上述数据迁移操作),普通集群响应该迁移任务,通过迁移服务、以及根据各项监控指标调节迁移速度,使得普通集群中的多台迁移机器(服务器)可以并发地将数据存储中的第一数据集合(热点数据)迁移到热点集群(第二组服务器)中进行处理。
具体步骤如下:
步骤1,客户端请求会被转发至普通集群处理,普通集群统计客户端请求数量、以及请求处理的成功率、服务器负载等指标。
步骤2,监控服务器实时监控普通集群处理客户端请求的成功率、服务集群的CPU负载、内存负载、请求处理能力QPS等,根据指标裁决需要进程迁移的数据,并生成迁移任务,上报至迁移服务。
步骤3,迁移服务接受监控服务器的迁移通知后,下发数据迁移指令至普通集群,普通集群将数据推送至迁移服务,迁移服务再推送至热点集群,迁移成功后,将数据从普通集群中删除。
需要说明的是,热点集群与普通集群的机器配置不同,热点集群配置高、成本高、性能高,作为热点数据专属集群,保证热点数据的正常服务,同时与普通集群隔离,不会影响普通集群的服务能力。
可理解,上述仅为一种示例,本实施例在此不作任何限定。
通过本实施例,首先,获取第一组服务器的第一运行参数,其中,第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;如果根据第一运行参数确定出需要对第一组服务器进行数据迁移操作,那么,需要在第一组服务器上存储的数据中确定出待迁移的第一数据集合,最后,将这些待迁移的第一数据集合从第一组服务器迁移到第二组服务器,当发出对第一数据集合中的数据进行访问操作的第一目标数据请求时,该第一目标数据请求会通过第二组服务器进行处理。采用上述技术方案,在根据第一运行参数确定出需要对第一组服务器执行数据迁移操作时,表明第一组服务器无法对待迁移的第一数据集合进行相应的数据处理,此时,可以通过数据迁移操作,将这些第一数据集合从第一组服务器迁移到第二组服务器,并通过第二组服务器来继续处理该第一数据集合对应的第一目标数据请求,使得对第一数据集合的访问操作能够继续执行,并不会因为第一组服务器无法处理而中断,达到了在遇到大量客户端请求时,能够不间断的处理户端请求的技术效果,解决了相关技术中在遇到大量客户端请求时,会出现抛弃客户端请求的情况,可用性不足,在高并发场景容易影响用户体验的技术问题。
可选地,在本实施例中,上述方法还包括:在开始将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器时或之前,将上述第一组服务器设置为:在将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器的过程中,暂停对上述第一数据集合中的数据执行写操作。
可选地,还可以通过第一运行参数所表示第一组服务器上空闲的性能参数是否小于预设性能阈值来确定是否需要对第一组服务器执行数据迁移操作,其中,上述第一数据集合的迁移用于使上述第一组服务器上空闲的性能参数大于上述预设性能阈值。
例如,当第一运行参数表示第一组服务器上的空闲的性能参数小于15%时,表示第一组服务器已经达到处理上限,需要对该第一组服务器执行数据迁移操作,来缓解第一组服务器的处理压力。
通过本实施例,可以通过空闲的性能参数来确定是否需要执行数据迁移操作,通过这种方式,只要第一组服务器不处于空闲状态,就可以对第一组服务器执行数据迁移操作,来减缓第一组服务器的服务压力。
可选地,在本实施例中,上述方法还包括:在开始将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器时或之前,将上述第一组服务器设置为:在将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器的过程中,暂停对上述第一数据集合中的数据执行写操作。
可选地,在开始将第一数据集合从第一组服务器迁移到第二组服务器的时刻,或者,在开始将第一数据集合从第一组服务器迁移到第二组服务器之前,可以将第一组服务器设置为:在将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器的过程中,暂停对上述第一数据集合中的数据执行写操作。
例如,由于同时迁移的数据数量过多时,会影响服务的可用性和用户体验。在数据迁移过程中,如图4中的普通集群需要暂时停止对迁移中的数据的写操作(或者称为写请求),保证普通集群和如图4中的热点集群的数据一致性。
通过本实施例,通过暂时停止对迁移中的数据的写操作的方式,能够保证第一组服务和第二组服务器中数据的一致性。
可选地,在本实施例中,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合,包括:根据上述第一组服务器上存储的数据的访问参数,在上述第一组服务器上存储的数据中确定热点数据集合,其中,上述第一数据集合包括上述热点数据集合,上述热点数据集合的访问参数满足预设的第一迁移条件。
可选地,在第一组服务器上存储的数据中确定待迁移的第一数据集合可以按照以下方式来确定,如可以根据第一组服务器上存储的数据的访问参数,从第一组服务器上存储的数据中确定出热点数据集合。其中,第一数据集合包括热点数据集合,这些热点数据集合的访问参数满足预设的第一迁移条件。
热点数据集合中的热点数据可以理解为热点操作对应的数据,所谓热点操作,例如大量的刷新页面、大量的添加购物车、双十一零点大量的下单、秒杀活动等。
热点数据包括静态热点数据和动态热点数据,静态热点数据即能够***的热点数据,例如,通过分析历史成交记录、用户的购物车记录,来发现哪些商品可能更热门、更好卖,这些都是可以提前分析出来的静态热点数据;动态热点数据即不能被***的热点数据,运行过程中临时产生的热点数据。例如,卖家为了提升某商品的销量,在某平台为该商品做活动,在短时间内,该商品的销量猛增,导致该商品在短时间内被大量购买,那么,就会产生关于该商品的热点数据。
对于通过热点数据集合的访问参数是否满足预设的第一迁移条件来确定热点数据集合,可以按照以下方式进行处理,可选地,在本实施例中,根据上述第一组服务器上存储的数据的访问参数,在上述第一组服务器上存储的数据中确定热点数据集合,包括:根据上述第一组服务器上存储的数据的访问次数,在上述第一组服务器上存储的数据中确定上述热点数据集合,其中,上述热点数据集合中的数据的访问次数大于预设次数阈值;和/或,根据上述第一组服务器上存储的数据的访问频率,在上述第一组服务器上存储的数据中确定上述热点数据集合,其中,上述热点数据集合中的数据的访问频率大于预设频率阈值。
可选地,对于通过热点数据集合的访问参数是否满足预设的第一迁移条件来确定热点数据集合,可以理解为,第一组服务器上存储的数据的访问次数是否达到预设次数阈值,可以将达到预设次数阈值的上述第一组服务器上存储的数据中确定为上述热点数据集合。例如,对于某个商品来说,对该商品的访问次数是否达到了100000次,如果达到了100000次,表示该商品对应的数据为热点数据。
或者,对于通过热点数据集合的访问参数是否满足预设的第一迁移条件来确定热点数据集合,可以理解为,第一组服务器上存储的数据的访问频率是否达到预设频率阈值,可以将达到预设频率阈值的上述第一组服务器上存储的数据中确定为上述热点数据集合。例如,对于某个秒杀商品来说,对该秒杀商品在一秒内的访问频率是否达到了10000次,如果达到了10000次,表示该秒杀商品对应的数据为热点数据。
可理解,上述仅为一种示例,本实施例在此不作任何限定。
通过本实施例,通过第一组服务上存储的数据的访问参数,可以确定出该第一组数据中的热点数据集合,进而可以将热点数据集合迁移到第二组服务器上进行处理,一方面可以降低第一组服务器的压力,另一方面可以使热点数据集合对应的数据请求能够不被间断,保证了客户端请求均能够被正常处理。
可选地,在本实施例中,上述将上述第一数据集合从上述第一组服务器迁移到第二组服务器,包括:按照动态调整的迁移速度,将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器。
可选地,在将第一数据集合从第一组服务器迁移到第二组服务器的过程中,可以采用动态调整迁移速度的方式来迁移该第一数据集合。例如,分阶段来迁移第一数据集合,假设分三个阶段迁移该第一数据集合,那么,可以使第一阶段、第二阶段、第三阶段的迁移速度为不同的迁移速度,例如可以设置第一阶段的迁移速度>第二阶段的迁移速度>第三阶段的迁移速度,对于每一阶段的迁移速度来说,还可以是动态变化的。
通过本实施例,一般情况下,第一数据集合中的数据量比较大,可以通过动态调整迁移速度的方式来迁移第一数据集合,提高了迁移第一数据集合的灵活性。
可选地,在本实施例中,上述按照动态调整的迁移速度,将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器,包括:在上述迁移速度小于第一预设速度阈值的情况下,按照第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第一迁移速度从预设的初始速度开始非线性增长;在上述迁移速度等于或大于上述第一预设速度阈值的情况下,按照第二迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第二迁移速度从上述第一预设速度阈值开始线性增长。
可选地,当迁移第一数据集合的迁移速度小于第一预设速度阈值的情况下,可以按照第一迁移速度来将第一数据集合中的数据从第一组服务器迁移到第二组服务器。对于该第一迁移速度来说,可以为从预设的初始速度(如速度为0)开始非线性增长,那么,可以以非线性增长的第一迁移速度来迁移第一数据集合中的数据。
可选地,在本实施例中,上述按照第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,包括:按照指数增长的上述第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器。
可选地,第一迁移速度的非线性增长方式可以为指数增长方式。
或者,第一迁移速度的非线性增长的方式还可以为对数增长、幂增长等。
如图5所示,假设第一迁移速度的增长方式为指数增长,那么,第一迁移速度可以由指数启动初值(非0)以指数增长的方式增长到指数启动门限(即第一预设速度阈值),使得第一数据集合中的数据可以按照第一迁移速度从第一组服务器迁移到第二组服务器。
当迁移第一数据集合的迁移速度等于或大于第一预设速度阈值的情况下,可以按照第二迁移速度来将第一数据集合中的数据从第一组服务器迁移到第二组服务器。对于该第二迁移速度来说,可以按照线性增长的方式增长,那么,可以以线性增长的第二迁移速度来迁移第一数据集合中的数据。
如图5所示,假设第二迁移速度的增长方式为指线性增长,那么,第二迁移速度可以由指数启动门限(即第一预设速度阈值)开始以线性增长的方式增长到迁移速度上限(即第二预设速度阈值),使得第一数据集合中的数据可以按照第二迁移速度从第一组服务器迁移到第二组服务器。
可理解,上述仅为一种示例,本实施例对此不作任何限定。
通过本实施例,可以以非线性增长的第一迁移速度和线性增长的第二迁移速度来迁移第一数据集合,使得迁移第一数据集合的过程变得更加灵活。
可选地,在本实施例中,在上述迁移速度小于第一预设速度阈值的情况下,按照第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,包括:在上述迁移速度小于第一预设速度阈值、且上述第一组服务器处理数据请求的成功率大于预设成功率阈值的情况下,按照上述第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器。
可选地,在迁移第一数据集合的过程中,除了考虑迁移速度之外,还需要考虑第一组服务器处理数据请求的成功率。
当迁移速度小于第一预设速度阈值,并且第一组服务器处理数据请求的成功率大于预设成功率阈值(如85%),可以以第一迁移速度来将第一组服务器中的第一数据集合迁移到第二组服务器中。
可选地,在本实施例中,上述按照动态调整的迁移速度,将上述第一数据集合从上述第一组服务器迁移到第二组服务器,包括:在上述迁移速度等于第二预设速度阈值、且上述第一组服务器处理数据请求的成功率大于预设成功率阈值的情况下,按照上述第二预设速度阈值,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第二预设速度阈值大于上述第一预设速度阈值;在上述第一组服务器处理数据请求的成功率小于上述预设成功率阈值的情况下,按照上述第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第一迁移速度从预设的初始速度开始非线性增长。
可选地,在迁移第一数据集合的过程中,除了考虑迁移速度之外,还需要考虑第一组服务器处理数据请求的成功率。
当迁移速度等于第二预设速度阈值,并且第一组服务器处理数据请求的成功率大于预设成功率阈值(如85%),可以以固定的第二预设速度阈值来将第一组服务器中的第一数据集合迁移到第二组服务器中。
在以固定的第二预设速度阈值迁移第一数据集合的过程中,当第一组服务器处理数据请求的成功率小于预设成功率阈值(如85%)的情况下,需要降低迁移速度,使迁移速度从第二预设速度阈值降低为第一迁移速度,使得第一组服务器以第一迁移速度的预设的初始速度开始以非线性增长的方式迁移第一数据集合。
具体过程如下,如图5所示,在数据迁移过程中,监控服务会时刻监控客户端请求的处理成功率,如果保持在高成功率状态(即第一组服务器处理数据请求的成功率大于预设成功率阈值,如数据请求的成功率大于85%),则数据迁移速度可以保持指数增加的速度,当数据迁移速度达到指数启动门限(第一预设速度阈值)时,改用线性自增的速度,同时设定一个迁移速度上限(第二预设速度阈值),当达到该迁移速度上限时,维持在稳定态,保持固定的迁移速度(第二预设速度阈值),如果某个时刻客户端处理的成功率下降,则将迁移速度重置为启动初值(第一迁移速度的预设的初始速度),再重复上述过程。
可理解,上述仅为一种示例,本实施例在此不作任何限定。
通过本实施例,通过这种动态调节迁移速度的方案,可以自适应的调整迁移速度,定位到符合当前网络状态下的迁移速度,同时保证客户端的处理能力和迁移任务的进行。
可选地,在本实施例中,在将上述第一数据集合从上述第一组服务器迁移到第二组服务器之后,上述方法还包括:根据上述第二组服务器上存储的数据的访问参数,在上述第二组服务器上存储的数据中确定第二数据集合,其中,上述第二数据集合的访问参数满足预设的第二迁移条件;将上述第二数据集合从上述第二组服务器迁移到第一组服务器,其中,在上述第二数据集合被迁移到上述第一组服务器之后,将第二目标数据请求设置为传输到上述第一组服务器进行处理,上述第二目标数据请求用于请求对上述第二数据集合中的数据执行访问操作。
可选地,还可以将第二组服务器中的数据迁移到第一组服务器上。
获取第二组服务器上存储的数据的访问参数,在第二组服务器上存储的数据中确定第二数据集合,该第二数据集合为满足第二迁移条件的数据。
在第二组服务器上存储的数据中确定待迁移的第二数据集合可以按照以下方式来确定,如可以根据第二组服务器上存储的数据的访问参数,从第二组服务器上存储的数据中确定出第二数据集合,该第二数据集合中的数据可以为冷数据。这些第二数据集合的访问参数满足预设的第二迁移条件。
在确定出第二数据集合之后,可以将第二数据集合从第二组服务器上迁移到第一组服务器上,该第二数据集合在被迁移到第一组服务器之后可以产生对应的第二目标数据请求,该第二目标数据请求被设置为由第一组服务器进行处理,其中,该第二目标数据请求用于请求对上述第二数据集合中的数据执行访问操作(如读操作、写操作)。
可选地,上述第二组服务器的性能参数优于上述第一组服务器的性能参数。
如图6所示,由于热点集群(第二组服务器)的存储成本较高,无法容纳过多的热点数据(第一数据集合),所以需要将热点集群中的数据降冷,为最新的热点数据腾出存储空间。热点集群统计各热点数据的读写数量,当读写数量低于热点阈值时,将冷数据上报至监控服务,监控服务下发数据降冷任务至迁移服务,迁移服务从热点集群中拉取冷数据并推送至普通集群。
通过本实施例,通过数据在第一组服务器(普通集群)和第二组服务器(热点集群)的动态迁移,可以极大提高第一组服务器和第二组服务器中服务器的利用率,保证成本较高的第二组服务器(热点集群)用于服务热点请求,提高成本利用率。
可选地,在本实施例中,根据上述第二组服务器上存储的数据的访问参数,在上述第二组服务器上存储的数据中确定第二数据集合,包括:根据上述第二组服务器上存储的数据的访问次数,在上述第二组服务器上存储的数据中确定冷数据集合,其中,上述第二数据集合包括上述冷数据集合,上述冷数据集合中的数据的访问次数小于预设次数阈值;和/或,根据上述第二组服务器上存储的数据的访问频率,在上述第二组服务器上存储的数据中确定冷数据集合,其中,上述第二数据集合包括上述冷数据集合,上述冷数据集合中的数据的访问频率小于预设频率阈值。
可选地,对于根据第二组服务器上存储的数据的访问参数,在第二组服务器上存储的数据中确定第二数据集合,可以理解为,第二组服务器上存储的数据的访问次数是否小于预设次数阈值,可以将小于预设次数阈值的第二组服务器上存储的数据中确定为冷数据集合。例如,对于某个商品来说,对该商品的访问次数小于100000次,可以将该商品对应的数据确定为冷数据。
或者,对于根据第二组服务器上存储的数据的访问参数,在第二组服务器上存储的数据中确定第二数据集合,可以理解为,第二组服务器上存储的数据的访问频率是否小于预设频率阈值,可以将小于预设频率阈值的上述第二组服务器上存储的数据中确定为冷数据集合。例如,对于某个秒杀商品来说,对该秒杀商品在一秒内的访问频率小于10000次,可以将该秒杀商品对应的数据确定为冷数据。
可理解,上述仅为一种示例,本实施例在此不作任何限定。
通过本实施例,通过第二组服务上存储的数据的访问参数,可以确定出该第二组数据中的冷数据集合,进而可以将冷数据集合迁移到第一组服务器上进行处理,一方面可以降低第二组服务器的压力,另一方面可以使第二组服务器能够集中处理热点数据,第一组服务器能够集中处理冷数据,平衡第一组服务器和第二组服务器的处理能力,提高成本利用率。
需要说明的是,目前,在遇到大量客户端请求时,通常采用限流频控方案,用于保护网络服务端的服务接口,避免突发大流量请求冲击***,进而引起***雪崩,无法对外继续提供服务,即对客户端的请求数量进行统计,当请求频率超过一定阈值时,则抛弃其他客户端请求,或者返回错误至客户端。这种抛弃客户端请求的方式,存在可用性不足的问题,在高并发场景存在影响用户体验的问题。
为了解决上述问题,下面结合可选示例对数据迁移方法的流程进行说明。该方法具体如下:
在发生大流量请求(大量的客户端请求)时,本发明实施例中的流量控制不会因为限流抛弃客户端请求,会尽可能保证每个客户端请求都可以被正确处理,通过采用数据迁移的动态调整方案,将高频访问的热点数据迁移至专属集群(第二组服务器),为了保证迁移过程的稳定进行,通过动态监控集群(第一组服务器)的CPU和内存压力,自适应调整迁移速度,避免影响正常集群(第一组服务器)的处理能力。同时提供数据降冷服务,保证机器成本的高性价比使用率。
如图4所示,具体步骤如下:
步骤1,客户端请求会被转发至普通集群处理,普通集群统计客户端请求数量、以及请求处理的成功率、服务器负载等指标。
步骤2,监控服务器实时监控普通集群处理客户端请求的成功率、服务集群的CPU负载、内存负载、请求处理能力QPS等,根据指标裁决需要进程迁移的数据,并生成迁移任务,上报至迁移服务。
步骤3,迁移服务接受监控服务器的迁移通知后,下发数据迁移指令至普通集群,普通集群将数据推送至迁移服务,迁移服务再推送至热点集群,迁移成功后,将数据从普通集群中删除。
迁移过程中,普通集群需要暂时停止对迁移中的数据的写请求,保证普通集群和热点集群的数据一致性。在同时迁移的数据数量过多时,会影响服务的可用性和用户体验,可以通过动态调节迁移速度的方式来进行数据迁移。
如图5所示,迁移过程中,监控服务时刻监控客户端请求的处理成功率,如果保持在高成功率状态,则数据迁移量保持指数增加的速度,当数据迁移量达到指数启动门限时,改用线性自增的速度,同时设定一个迁移量上限,当达到该上限时,维持在稳定态,保持固定的迁移量,如果某个时刻客户端处理的成功率下降,则将迁移量重置为启动初值,再重复上述过程。
通过这种动态的调节方案,可以自适应的调整迁移速度,定位到符合当前网络状态下的迁移量,同时保证客户端的处理能力和迁移任务的进行。
如图6所示,由于热点集群的存储成本较高,无法容纳过多的热点数据,所以需要将热点集群中的数据降冷,为最新的热点数据腾出存储空间。热点集群统计各热点数据的读写数量,当读写数量低于热点阂值时,将冷数据上报至监控服务,监控服务下发数据降冷任务至迁移服务,迁移服务从热点集群中拉取冷数据并推送至普通集群。
通过数据在普通集群和热点集群的动态迁移,可以极大提高各集群的利用率,保证成本较高的热点集群用于服务热点请求,提高成本利用率。
通过本实施例,由于上述方案中,流量控制不会因为限流抛弃客户端请求,尽可能保证每个客户端请求都可以被正确处理,通过采用数据迁移的动态调整方案,将高频访问的热点数据迁移至专属集群,为了保证迁移过程的稳定进行,通过动态监控集群的CPU和内存压力,自适应调整迁移速度,避免影响正常集群的处理能力。同时提供数据降冷服务,保证了服务器成本的高性价比使用率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了一种数据迁移装置,如图7所示,该装置包括:
第一获取单元702,用于获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;
第一处理单元704,用于在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;
第二处理单元706,用于将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
通过本实施例,首先,获取第一组服务器的第一运行参数,其中,第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;如果根据第一运行参数确定出需要对第一组服务器进行数据迁移操作,那么,需要在第一组服务器上存储的数据中确定出待迁移的第一数据集合,最后,将这些待迁移的第一数据集合从第一组服务器迁移到第二组服务器,当发出对第一数据集合中的数据进行访问操作的第一目标数据请求时,该第一目标数据请求会通过第二组服务器进行处理。采用上述技术方案,在根据第一运行参数确定出需要对第一组服务器执行数据迁移操作时,表明第一组服务器无法对待迁移的第一数据集合进行相应的数据处理,此时,可以通过数据迁移操作,将这些第一数据集合从第一组服务器迁移到第二组服务器,并通过第二组服务器来继续处理该第一数据集合对应的第一目标数据请求,使得对第一数据集合的访问操作能够继续执行,并不会因为第一组服务器无法处理而中断,达到了在遇到大量客户端请求时,能够不间断的处理户端请求的技术效果,解决了相关技术中在遇到大量客户端请求时,会出现抛弃客户端请求的情况,可用性不足,在高并发场景容易影响用户体验的技术问题。
作为一种可选的技术方案,上述第一处理单元,还用于根据上述第一组服务器上存储的数据的访问参数,在上述第一组服务器上存储的数据中确定热点数据集合,其中,上述第一数据集合包括上述热点数据集合,上述热点数据集合的访问参数满足预设的第一迁移条件。
作为一种可选的技术方案,上述第一处理单元,包括:第一处理模块,用于根据上述第一组服务器上存储的数据的访问次数,在上述第一组服务器上存储的数据中确定上述热点数据集合,其中,上述热点数据集合中的数据的访问次数大于预设次数阈值;和/或;第二处理模块,用于根据上述第一组服务器上存储的数据的访问频率,在上述第一组服务器上存储的数据中确定上述热点数据集合,其中,上述热点数据集合中的数据的访问频率大于预设频率阈值。
作为一种可选的技术方案,上述第二处理单元,还用于按照动态调整的迁移速度,将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器。
作为一种可选的技术方案,上述第二处理单元,包括:第三处理模块,用于在上述迁移速度小于第一预设速度阈值的情况下,按照第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第一迁移速度从预设的初始速度开始非线性增长;第四处理模块,用于在上述迁移速度等于或大于上述第一预设速度阈值的情况下,按照第二迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第二迁移速度从上述第一预设速度阈值开始线性增长。
作为一种可选的技术方案,上述第三处理模块,还用于按照指数增长的上述第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器。
作为一种可选的技术方案,上述第三处理模块,还用于在上述迁移速度小于第一预设速度阈值、且上述第一组服务器处理数据请求的成功率大于预设成功率阈值的情况下,按照上述第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器。
作为一种可选的技术方案,上述第二处理单元,包括:第五处理模块,用于在上述迁移速度等于第二预设速度阈值、且上述第一组服务器处理数据请求的成功率大于预设成功率阈值的情况下,按照上述第二预设速度阈值,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第二预设速度阈值大于上述第一预设速度阈值;第六处理模块,用于在上述第一组服务器处理数据请求的成功率小于上述预设成功率阈值的情况下,按照上述第一迁移速度,将上述第一数据集合中的数据从上述第一组服务器迁移到上述第二组服务器,其中,上述第一迁移速度从预设的初始速度开始非线性增长。
作为一种可选的技术方案,上述装置还包括:第三处理单元,用于根据上述第二组服务器上存储的数据的访问参数,在上述第二组服务器上存储的数据中确定第二数据集合,其中,上述第二数据集合的访问参数满足预设的第二迁移条件;第四处理单元,用于将上述第二数据集合从上述第二组服务器迁移到第一组服务器,其中,在上述第二数据集合被迁移到上述第一组服务器之后,将第二目标数据请求设置为传输到上述第一组服务器进行处理,上述第二目标数据请求用于请求对上述第二数据集合中的数据执行访问操作。
作为一种可选的技术方案,上述第三处理单元,包括:第一确定模块,用于根据上述第二组服务器上存储的数据的访问次数,在上述第二组服务器上存储的数据中确定冷数据集合,其中,上述第二数据集合包括上述冷数据集合,上述冷数据集合中的数据的访问次数小于预设次数阈值;和/或,第二确定模块,用于根据上述第二组服务器上存储的数据的访问频率,在上述第二组服务器上存储的数据中确定冷数据集合,其中,上述第二数据集合包括上述冷数据集合,上述冷数据集合中的数据的访问频率小于预设频率阈值。
作为一种可选的技术方案,上述装置还包括:第五处理单元,用于在开始将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器时或之前,将上述第一组服务器设置为:在将上述第一数据集合从上述第一组服务器迁移到上述第二组服务器的过程中,暂停对上述第一数据集合中的数据执行写操作。
作为一种可选的技术方案,上述装置还包括:第六处理单元,在上述第一运行参数表示上述第一组服务器上空闲的性能参数小于预设性能阈值的情况下,确定出需要对上述第一组服务器执行数据迁移操作,其中,上述第一数据集合的迁移用于使上述第一组服务器上空闲的性能参数大于上述预设性能阈值。
根据本发明的实施例的又一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;
S2,在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;
S3,将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来命令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据迁移方法的各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机程序产品或计算机程序可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;
S2,在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;
S3,将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据迁移方法的电子设备,该电子设备可以是图2所示的终端设备。本实施例以该电子设备为服务器为例来说明。如图8所示,该电子设备包括存储器802和处理器804,该存储器802中存储有计算机程序,该处理器804被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取第一组服务器的第一运行参数,其中,上述第一运行参数为上述第一组服务器处理一组数据请求所形成的运行参数,上述一组数据请求用于请求对上述第一组服务器上存储的数据执行访问操作;
S2,在根据上述第一运行参数确定出需要对上述第一组服务器执行数据迁移操作的情况下,在上述第一组服务器上存储的数据中确定待迁移的第一数据集合;
S3,将上述第一数据集合从上述第一组服务器迁移到第二组服务器,其中,在上述第一数据集合被迁移到上述第二组服务器之后,将第一目标数据请求设置为传输到上述第二组服务器进行处理,上述第一目标数据请求用于请求对上述第一数据集合中的数据执行访问操作。
可选地,本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图8中所示更多或者更少的组件(如网络接口等),或者具有与图8所示不同的配置。
其中,存储器802可用于存储软件程序以及模块,如本发明实施例中的数据迁移方法和装置对应的程序命令/模块,处理器804通过运行存储在存储器802内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据迁移方法。存储器802可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器802可进一步包括相对于处理器804远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,如图8所示,上述存储器802中可以但不限于包括上述数据迁移装置中的第一获取单元702,第一处理单元704、第二处理单元706。此外,还可以包括但不限于上述数据迁移装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置806用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置806包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置806为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:连接总线808,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来命令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干命令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上上述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种数据迁移方法,其特征在于,包括:
获取第一组服务器的第一运行参数,其中,所述第一运行参数为所述第一组服务器处理一组数据请求所形成的运行参数,所述一组数据请求用于请求对所述第一组服务器上存储的数据执行访问操作;
在根据所述第一运行参数确定出需要对所述第一组服务器执行数据迁移操作以提升所述第一组服务器性能参数的情况下,在所述第一组服务器上存储的数据中确定待迁移的第一数据集合;
根据迁移时动态变化的迁移速度与预设速度阈值的比对结果,及所述第一组服务器处理数据请求的成功率与预设成功率阈值的比对结果确定迁移速度的调整策略;
按照所述调整策略进行动态调整的迁移速度,将所述第一数据集合从所述第一组服务器迁移到第二组服务器,其中,在所述第一数据集合被迁移到所述第二组服务器之后,将第一目标数据请求设置为传输到所述第二组服务器进行处理,所述第一目标数据请求用于请求对所述第一数据集合中的数据执行访问操作。
2.根据权利要求1所述的方法,其特征在于,在所述第一组服务器上存储的数据中确定待迁移的第一数据集合,包括:
根据所述第一组服务器上存储的数据的访问参数,在所述第一组服务器上存储的数据中确定热点数据集合,其中,所述第一数据集合包括所述热点数据集合,所述热点数据集合的访问参数满足预设的第一迁移条件。
3.根据权利要求2所述的方法,其特征在于,根据所述第一组服务器上存储的数据的访问参数,在所述第一组服务器上存储的数据中确定热点数据集合,包括:
根据所述第一组服务器上存储的数据的访问次数,在所述第一组服务器上存储的数据中确定所述热点数据集合,其中,所述热点数据集合中的数据的访问次数大于预设次数阈值;和/或
根据所述第一组服务器上存储的数据的访问频率,在所述第一组服务器上存储的数据中确定所述热点数据集合,其中,所述热点数据集合中的数据的访问频率大于预设频率阈值。
4.根据权利要求1所述的方法,其特征在于,所述按照所述调整策略进行动态调整的迁移速度,将所述第一数据集合从所述第一组服务器迁移到所述第二组服务器,包括:
在所述迁移速度小于第一预设速度阈值的情况下,按照第一迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器,其中,所述第一迁移速度从预设的初始速度开始非线性增长;
在所述迁移速度等于或大于所述第一预设速度阈值的情况下,按照第二迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器,其中,所述第二迁移速度从所述第一预设速度阈值开始线性增长。
5.根据权利要求4所述的方法,其特征在于,所述按照第一迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器,包括:
按照指数增长的所述第一迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器。
6.根据权利要求4所述的方法,其特征在于,在所述迁移速度小于第一预设速度阈值的情况下,按照第一迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器,包括:
在所述迁移速度小于第一预设速度阈值、且所述第一组服务器处理数据请求的成功率大于预设成功率阈值的情况下,按照所述第一迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器。
7.根据权利要求6所述的方法,其特征在于,所述按照所述调整策略进行动态调整的迁移速度,将所述第一数据集合从所述第一组服务器迁移到第二组服务器,包括:
在所述迁移速度等于第二预设速度阈值、且所述第一组服务器处理数据请求的成功率大于预设成功率阈值的情况下,按照所述第二预设速度阈值,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器,其中,所述第二预设速度阈值大于所述第一预设速度阈值;
在所述第一组服务器处理数据请求的成功率小于所述预设成功率阈值的情况下,按照所述第一迁移速度,将所述第一数据集合中的数据从所述第一组服务器迁移到所述第二组服务器,其中,所述第一迁移速度从预设的初始速度开始非线性增长。
8.根据权利要求1所述的方法,其特征在于,在将所述第一数据集合从所述第一组服务器迁移到第二组服务器之后,所述方法还包括:
根据所述第二组服务器上存储的数据的访问参数,在所述第二组服务器上存储的数据中确定第二数据集合,其中,所述第二数据集合的访问参数满足预设的第二迁移条件;
将所述第二数据集合从所述第二组服务器迁移到第一组服务器,其中,在所述第二数据集合被迁移到所述第一组服务器之后,将第二目标数据请求设置为传输到所述第一组服务器进行处理,所述第二目标数据请求用于请求对所述第二数据集合中的数据执行访问操作。
9.根据权利要求8所述的方法,其特征在于,根据所述第二组服务器上存储的数据的访问参数,在所述第二组服务器上存储的数据中确定第二数据集合,包括:
根据所述第二组服务器上存储的数据的访问次数,在所述第二组服务器上存储的数据中确定冷数据集合,其中,所述第二数据集合包括所述冷数据集合,所述冷数据集合中的数据的访问次数小于预设次数阈值;和/或
根据所述第二组服务器上存储的数据的访问频率,在所述第二组服务器上存储的数据中确定冷数据集合,其中,所述第二数据集合包括所述冷数据集合,所述冷数据集合中的数据的访问频率小于预设频率阈值。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
在开始将所述第一数据集合从所述第一组服务器迁移到所述第二组服务器时或之前,将所述第一组服务器设置为:在将所述第一数据集合从所述第一组服务器迁移到所述第二组服务器的过程中,暂停对所述第一数据集合中的数据执行写操作。
11.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一运行参数表示所述第一组服务器上空闲的性能参数小于预设性能阈值的情况下,确定出需要对所述第一组服务器执行数据迁移操作,其中,所述第一数据集合的迁移用于使所述第一组服务器上空闲的性能参数大于所述预设性能阈值。
12.一种数据迁移装置,其特征在于,包括:
第一获取单元,用于获取第一组服务器的第一运行参数,其中,所述第一运行参数为所述第一组服务器处理一组数据请求所形成的运行参数,所述一组数据请求用于请求对所述第一组服务器上存储的数据执行访问操作;
第一处理单元,用于在根据所述第一运行参数确定出需要对所述第一组服务器执行数据迁移操作的情况下,在所述第一组服务器上存储的数据中确定待迁移的第一数据集合;
第二处理单元,用于根据迁移时动态变化的迁移速度与预设速度阈值的比对结果,及所述第一组服务器处理数据请求的成功率与预设成功率阈值的比对结果确定迁移速度的调整策略;按照所述调整策略进行动态调整的迁移速度,将所述第一数据集合从所述第一组服务器迁移到第二组服务器,其中,在所述第一数据集合被迁移到所述第二组服务器之后,将第一目标数据请求设置为传输到所述第二组服务器进行处理,所述第一目标数据请求用于请求对所述第一数据集合中的数据执行访问操作。
13.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至11任一项中所述的方法。
14.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093310.4A CN111930724B (zh) | 2020-10-14 | 2020-10-14 | 数据迁移方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093310.4A CN111930724B (zh) | 2020-10-14 | 2020-10-14 | 数据迁移方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930724A CN111930724A (zh) | 2020-11-13 |
CN111930724B true CN111930724B (zh) | 2021-03-16 |
Family
ID=73334426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011093310.4A Active CN111930724B (zh) | 2020-10-14 | 2020-10-14 | 数据迁移方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930724B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794353B (zh) * | 2022-12-30 | 2024-02-23 | 中国联合网络通信集团有限公司 | 云网业务服务质量优化处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272600B1 (en) * | 2004-03-24 | 2007-09-18 | Sun Microsystems, Inc. | Migrating large data sets for products upgrades |
CN106886460A (zh) * | 2017-02-22 | 2017-06-23 | 北京百度网讯科技有限公司 | 负载均衡方法和装置 |
CN109343793A (zh) * | 2018-09-11 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 数据迁移方法及装置 |
CN111752710A (zh) * | 2020-06-23 | 2020-10-09 | 中国电力科学研究院有限公司 | 数据中心pue动态优化方法、***、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990924A (zh) * | 2017-04-07 | 2017-07-28 | 广东浪潮大数据研究有限公司 | 一种数据迁移方法和*** |
CN109857528B (zh) * | 2019-01-10 | 2021-08-27 | 北京三快在线科技有限公司 | 数据迁移的速度调整方法、装置、存储介质和移动终端 |
-
2020
- 2020-10-14 CN CN202011093310.4A patent/CN111930724B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272600B1 (en) * | 2004-03-24 | 2007-09-18 | Sun Microsystems, Inc. | Migrating large data sets for products upgrades |
CN106886460A (zh) * | 2017-02-22 | 2017-06-23 | 北京百度网讯科技有限公司 | 负载均衡方法和装置 |
CN109343793A (zh) * | 2018-09-11 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 数据迁移方法及装置 |
CN111752710A (zh) * | 2020-06-23 | 2020-10-09 | 中国电力科学研究院有限公司 | 数据中心pue动态优化方法、***、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111930724A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10681124B2 (en) | Content distribution storage management | |
US9781056B2 (en) | Content source selection in a P2P network | |
US9596306B2 (en) | Managed P2P network with content-delivery network | |
US10129334B2 (en) | Centralized management of a P2P network | |
CN106464719B (zh) | 一种在被管理无线分发网络中分发内容的方法和设备 | |
WO2015175383A1 (en) | Distributing content in managed wireless distribution networks | |
WO2015175392A1 (en) | Content delivery prioritization in managed wireless distribution networks | |
CN111930724B (zh) | 数据迁移方法和装置、存储介质及电子设备 | |
WO2023107283A1 (en) | Network storage game allocation based on artificial intelligence | |
JP2017507395A (ja) | マルチモード・ゲーミング・サーバー | |
KR20230161264A (ko) | 클라우드 서비스 제공 방법 및 그 방법을 수행하기 위한 게임 서버 | |
US20100228811A1 (en) | System and method for managing data transfer |
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 |