CN111600799B - 分片路由方法、服务器及计算机存储介质 - Google Patents
分片路由方法、服务器及计算机存储介质 Download PDFInfo
- Publication number
- CN111600799B CN111600799B CN202010429890.3A CN202010429890A CN111600799B CN 111600799 B CN111600799 B CN 111600799B CN 202010429890 A CN202010429890 A CN 202010429890A CN 111600799 B CN111600799 B CN 111600799B
- Authority
- CN
- China
- Prior art keywords
- fragment
- target
- user
- identifier
- idle
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种分片路由方法、服务器及计算机存储介质,用于解决分片存储的数据达到极限而导致操作人员需要迁移数据的技术问题。本申请实施例方法包括:服务器将空闲分片确定为默认分片,并获取用户标识与分片标识的对应关系,当目标用户需要访问分片时,服务器判断对应关系中是否存在目标用户的用户标识对应的目标分片标识,若不存在,说明该目标用户为新用户,则服务器将访问请求路由到默认分片,使目标用户访问该默认分片,由于该默认分片是包括有空闲存储空间的空闲分片,所以新用户的数据不再存储于已没有空闲存储空间的分片,这样可以不用迁移已没有空闲存储空间的分片中的数据,便能存储新用户的数据,减少了操作人员的工作量。
Description
技术领域
本申请实施例涉及数据处理领域,具体涉及一种分片路由方法、服务器及计算机存储介质。
背景技术
应用程序通过设置分片来管理和存储应用程序用户的数据,当用户需要请求数据时,将用户的数据请求路由到指定的分片,从而用户可以对分片中的数据进行修改、查询、获取数据以及执行其他操作。其中,一个用户的数据只能存储在一个分片中,不能存储在多个分片;一个分片可以存储多个用户的数据。
由于分片的负载有限,一个分片只能存储一定数量的数据,当越来越多的用户将数据存储在源分片时,该源分片的存储压力会越来越大,影响了源分片的执行性能。此时,需要操作人员将该源分片的一部分用户的数据迁移到目标分片中,以此来分担源分片的存储压力。
但是,如果有新的用户需要存储数据时,该新的用户的数据仍然会存储在源分片中,随着新的用户不断增多,源分片存储的数据最终也会达到极限,从而又需要再一次迁移数据,这无疑增加了操作人员的工作量。
发明内容
本申请实施例提供了一种分片路由方法、服务器及计算机存储介质,用于解决分片存储的数据达到极限而导致操作人员需要迁移数据的技术问题。
本申请实施例第一方面提供了一种分片路由方法,应用于服务器,所述方法包括:
将空闲分片确定为默认分片,所述空闲分片为包括有空闲存储空间的分片;
获取用户标识与分片标识的对应关系,其中一个所述用户标识对应一个所述分片标识;
接收目标用户的访问请求,所述访问请求中携带有所述目标用户的用户标识;
判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识;
若存在,则将所述访问请求路由到所述目标分片标识对应的分片;
若不存在,则将所述访问请求路由到所述默认分片。
优选的,所述空闲分片的数量为多个,所述将空闲分片确定为默认分片,包括:
将多个所述空闲分片中空闲存储空间最大的空闲分片确定为所述默认分片。
优选的,所述将空闲分片确定为默认分片,包括:
新建分片,并将新建的分片确定为所述默认分片。
优选的,所述获取用户标识与分片标识的对应关系,包括:
建立包括有所述用户标识与所述分片标识的路由表,所述路由表用于表示用户的访问请求所路由到的分片。
优选的,所述方法还包括:
将所述路由表存储在数据库中;
所述判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识,包括:
在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识;
若存在所述目标分片标识,则将所述访问请求路由到所述目标分片标识对应的分片;
若不存在所述目标分片标识,则将所述访问请求路由到所述默认分片。
优选的,所述方法还包括:
在缓存中备份所述路由表;
所述在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识之前,所述方法还包括:
在所述缓存存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识;
若存在所述目标分片标识,则将所述访问请求路由到所述目标分片标识对应的分片;
若不存在所述目标分片标识,则执行所述在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识的步骤。
优选的,若不存在所述目标分片标识,则所述将所述访问请求路由到所述默认分片之后,所述方法还包括:
建立所述目标用户的用户标识与所述空闲分片的分片标识的目标对应关系,并将所述目标对应关系写入所述数据库和/或所述缓存存储的路由表中。
优选的,所述空闲分片的数量为多个,所述将空闲分片确定为默认分片,包括:
将多个所述空闲分片中的目标空闲分片确定为所述默认分片;
所述方法还包括:
当所述目标空闲分片的空闲存储空间不足时,更改所述默认分片的配置,将多个所述空闲分片中除了所述目标空闲分片以外的其他空闲分片确定为默认分片。
本申请实施例第二方面提供了一种服务器,所述服务器包括:
确定单元,用于将空闲分片确定为默认分片,所述空闲分片为包括有空闲存储空间的分片;
获取单元,用于获取用户标识与分片标识的对应关系,其中一个所述用户标识对应一个所述分片标识;
接收单元,用于接收目标用户的访问请求,所述访问请求中携带有所述目标用户的用户标识;
判断单元,用于判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识;
第一路由单元,用于当存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述目标分片标识对应的分片;
第二路由单元,用于当不存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述默认分片。
优选的,所述空闲分片的数量为多个,所述确定单元具体用于将多个所述空闲分片中空闲存储空间最大的空闲分片确定为所述默认分片。
优选的,所述确定单元具体用于新建分片,并将新建的分片确定为所述默认分片。
优选的,所述获取单元具体用于建立包括有所述用户标识与所述分片标识的路由表,所述路由表用于表示用户的访问请求所路由到的分片。
优选的,所述服务器还包括:
存储单元,用于将所述路由表存储在数据库中;
所述判断单元具体用于在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识,当存在所述目标分片标识时,将所述访问请求路由到所述目标分片标识对应的分片;当不存在所述目标分片标识时,将所述访问请求路由到所述默认分片。
优选的,所述服务器还包括:
备份单元,用于在缓存中备份所述路由表;
所述判断单元还用于在所述缓存存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识,当存在所述目标分片标识时,则将所述访问请求路由到所述目标分片标识对应的分片,当不存在所述目标分片标识时,则执行所述在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识的步骤。
优选的,所述服务器还包括:
建立单元,用于建立所述目标用户的用户标识与所述空闲分片的分片标识的目标对应关系,并将所述目标对应关系写入所述数据库和/或所述缓存存储的路由表中。
优选的,所述空闲分片的数量为多个,所述确定单元具体用于将多个所述空闲分片中的目标空闲分片确定为所述默认分片;
所述确定单元还用于当所述目标空闲分片的空闲存储空间不足时,更改所述默认分片的配置,将多个所述空闲分片中除了所述目标空闲分片以外的其他空闲分片确定为默认分片。
本申请实施例第三方面提供了一种服务器,所述服务器包括:
处理器、存储器、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述处理器用于将空闲分片确定为默认分片,所述空闲分片为包括有空闲存储空间的分片,获取用户标识与分片标识的对应关系,其中一个所述用户标识对应一个所述分片标识;
所述输入输出设备用于接收目标用户的访问请求,所述访问请求中携带有所述目标用户的用户标识;
所述处理器还用于判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识,当存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述目标分片标识对应的分片,当不存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述默认分片。
本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
服务器将空闲分片确定为默认分片,并获取用户标识与分片标识的对应关系,当目标用户需要访问分片时,服务器判断对应关系中是否存在目标用户的用户标识对应的目标分片标识,若存在,则将访问请求路由到目标分片标识对应的分片,目标用户可以访问目标分片标识对应的分片;若不存在,说明该目标用户为新用户,则服务器将访问请求路由到默认分片,使目标用户访问该默认分片,由于该默认分片是包括有空闲存储空间的空闲分片,所以新用户的数据不再存储于已没有空闲存储空间的分片,这样可以不用迁移已没有空闲存储空间的分片中的数据,便能存储新用户的数据,减少了操作人员的工作量。
附图说明
图1为本申请实施例中分片路由方法一个流程示意图;
图2为本申请实施例中分片路由方法另一流程示意图;
图3为本申请实施例中服务器一个结构示意图;
图4为本申请实施例中服务器另一结构示意图;
图5为本申请实施例中服务器另一结构示意图。
具体实施方式
本申请实施例提供了一种分片路由方法、服务器及计算机存储介质,用于解决分片存储的数据达到极限而导致操作人员需要迁移数据的技术问题。
请参阅图1,本申请实施例中分片路由方法一个实施例包括:
101、将空闲分片确定为默认分片;
本实施例的方法可应用于服务器,该服务器可以是应用服务器或网络服务器(WEB服务器),或者其他可以为用户提供业务服务、并能够处理业务数据的服务器。
服务器使用分片来存储用户数据。为合理使用分片的存储资源,服务器将空闲分片确定为默认分片,其中该空闲分片是指拥有空闲存储空间的分片,该空闲存储空间是指没有存储用户数据的存储空间。被确定为默认分片的空闲分片可以用于存储用户数据。
102、获取用户标识与分片标识的对应关系;
本实施例中,一个分片可以存储多个不同用户的数据,但是一个用户只能将数据存储在一个分片中,而不能将数据分别存储在多个分片中。也就是说,一个用户可以对应一个分片,一个分片可以对应一个或多个用户。因此,服务器可以获取多个用户的用户标识分别与分片的分片标识的对应关系,即一个用户标识对应一个分片的分片标识,一个分片的分片标识可能对应一个或多个用户的用户标识。
因此,当一个用户的用户标识拥有对应的分片标识时,表明该用户的数据存储在分片标识对应的分片中。
103、接收目标用户的访问请求;
当目标用户需要访问服务器中的分片时,该目标用户向服务器发起访问请求,该访问请求中携带有目标用户的用户标识,则服务器可以接收到该目标用户的访问请求。
其中,目标用户对分片的访问可以是目标用户对分片中的数据进行修改、查询、获取数据以及执行其他操作。
104、判断对应关系中是否存在目标用户的用户标识对应的目标分片标识,若存在,则执行步骤105;若不存在,则执行步骤106;
服务器接收到目标用户的访问请求及目标用户的用户标识之后,判断步骤102中所获取到的对应关系中是否存在目标用户的用户标识对应的分片标识,若存在,则执行步骤105;若不存在,则执行步骤106。为便于描述,本实施例将目标用户的用户标识对应的分片标识称为目标分片标识。
105、将访问请求路由到目标分片标识对应的分片;
当服务器确定存在目标分片标识时,表明该目标用户使用过服务器中的分片来存储数据,该目标用户所对应的分片是目标分片标识所对应的分片,则服务器可以确定目标用户需要访问的是目标分片标识所对应的分片,从而将访问请求路由到目标分片标识对应的分片,进而目标用户可以对该目标分片标识对应的分片进行访问,例如对分片中存储的目标用户的数据进行修改或查询,或者向分片存储新的用户数据等等。
106、将访问请求路由到默认分片;
当服务器确定不存在目标分片标识时,表明该目标用户未曾使用过服务器中的分片来存储数据,即表明该目标用户为新用户,则服务器将目标用户的访问请求路由到默认分片,从而目标用户可以对该默认分片进行访问,例如将数据存储在该默认分片中,或者查询已存储的数据等等。其中,默认分片也就是步骤101中拥有空闲存储空间的空闲分片。
本实施例中,服务器将空闲分片确定为默认分片,并获取用户标识与分片标识的对应关系,当目标用户需要访问分片时,服务器判断对应关系中是否存在目标用户的用户标识对应的目标分片标识,若存在,则将访问请求路由到目标分片标识对应的分片,目标用户可以访问目标分片标识对应的分片;若不存在,说明该目标用户为新用户,则服务器将访问请求路由到默认分片,使目标用户访问该默认分片,由于该默认分片是包括有空闲存储空间的空闲分片,所以新用户的数据不再存储于已没有空闲存储空间的分片,这样可以不用迁移已没有空闲存储空间的分片中的数据,便能存储新用户的数据,减少了操作人员的工作量。
下面将在前述图1所示实施例的基础上,进一步地详细描述本申请实施例。请参阅图2,本申请实施例中分片路由方法另一实施例包括:
201、将空闲分片确定为默认分片;
本步骤所执行的操作与前述图1所示实施例中的步骤101所执行的操作类似。本实施例中,服务器将空闲分片确定为默认分片的方式可以是,当空闲分片有多个时,服务器选择多个空闲分片中空闲存储空间最大的空闲分片作为默认分片,这样可以确保默认分片的存储空间足够使用,避免了空闲存储空间较小的分片在使用较短时间之后再次出现存储空间不足的情况,相比之下,空闲存储空间最大的空闲分片可以使用更长的时间。
此外,将空闲分片确定为默认分片的方式还可以是,新建新的分片,并将该新建的分片确定为默认分片,由于新建的分片未存储任何用户的数据,因此,该新建的分片的空闲存储空间也足够使用,可以用于存储用户数据。
本实施例中,可以通过阿波罗(Apollo)配置中心来实现对默认分片的配置,即通过Apollo配置中心将服务器中的空闲分片确定为默认分片。Apollo配置中心完成配置之后,可以通知服务器默认分片的配置情况。
需要说明的是,配置默认分片也可以通过其他配置中心,例如可以是SpringCloud Config配置中心,或者Nacos配置中心,具体此处不作限定。
本实施例中,服务器将空闲分片确定为默认分片还可以有其他方式,例如将多个空闲分片中的任意一个空闲分片确定为默认分片,本实施例对空闲分片确定为默认分片的方式不作限定。
202、获取用户标识与分片标识的对应关系;
本步骤所执行的操作与前述图1所示实施例中的步骤102所执行的操作类似。本实施例中,服务器可以通过路由表的形式来表示用户标识与分片标识的对应关系,即建立包括有用户标识与分片标识的路由表,该路由表用于表示用户的访问请求所路由到的分片,即表示了某一用户的访问请求所路由到的某一个分片。例如,在路由表中,用户标识可以用dbid来表示,分片标识可以用shard来表示,dbid项下有dbid-A、dbid-B两个用户标识,shard项下有shard-0、shard-1两个分片,dbid-A对应shard-0,dbid-B对应shard-1,该路由表也就表示了dbid-A的用户的访问请求应该路由到分片shard-0,dbid-B的用户的访问请求应该路由到分片shard-1。
需要说明的是,上述例子仅仅是示例作用,用户标识和分片标识可以使用任意的符号来表示,只要能够区分每一个用户标识及每一个分片标识即可。
本实施例中,也可以无需使用路由表的形式来表示用户标识与分片标识的对应关系,也可以直接表示该对应关系,具体此处不作限定。
203、接收目标用户的访问请求;
本步骤所执行的操作与前述图1所示实施例中的步骤103所执行的操作类似,此处不再赘述。
204、在缓存存储的路由表中查询目标用户的用户标识对应的目标分片标识,若存在目标分片标识,则执行步骤205;若不存在目标分片标识,则执行步骤206;
本实施例中,步骤202获取到的用户标识与分片标识的对应关系可以存储在数据库和/或缓存中,当该对应关系以路由表的形式表示时,则将该路由表存储在数据库和/或缓存中。
服务器接收到目标用户的访问请求及目标用户的用户标识之后,需要判断步骤202所获取到的对应关系中是否存在目标用户的用户标识对应的分片标识,也就是在数据库存储的路由表中查询目标用户的用户标识对应的目标分片标识。由于数据库在处理多个请求时可能会导致数据库处理压力大,从而降低了数据库处理请求的速度,影响用户体验,为此,可以使用缓存来备份路由表,并在从数据库中查询目标分片标识之前,可以预先在缓存存储的路由表中查询目标用户的用户标识对应的目标分片标识,若在缓存中可以查询到目标分片标识,则执行步骤205;若查询不到目标分片标识,则执行步骤206。
预先在缓存中查询目标分片标识,可以在一定程度上减轻数据库的处理压力,同时提高查询速度。
其中,缓存可以是Redis缓存、Memcached缓存或者其他类型的服务器缓存。在备份路由表时,可以建立以用户标识为key、分片标识为value的缓存结构。
205、将访问请求路由到目标分片标识对应的分片;
当缓存中可以查询到目标分片标识时,则将访问请求路由到目标分片标识对应的分片,目标用户可以访问目标分片标识对应的分片。
206、执行在数据库存储的路由表中查询目标用户的用户标识对应的目标分片标识的步骤;
当缓存中查询不到目标分片标识时,有可能是因为缓存所备份的路由表还未更新,该目标分片标识可能存在于数据库所存储的路由表中,因此,此时可以继续在数据库存储的路由表中查询目标分片标识。
本实施例中,若数据库的处理能力较强,处理资源充足,则也可以无需使用缓存来备份路由表,可以无需预先在缓存中查询目标分片标识,而是直接在数据库中查询目标分片标识,本实施例对此不作限定。
207、判断对应关系中是否存在目标用户的用户标识对应的目标分片标识,若存在,则执行步骤208;若不存在,则执行步骤209;
当缓存中查询不到目标分片标识时,需要继续在数据库存储的路由表中查询目标分片标识。若在数据库中可以查询到目标分片标识,则执行步骤208;若在数据库中查询不到目标分片标识,则执行步骤209。
208、将访问请求路由到目标分片标识对应的分片;
当数据库中可以查询到目标分片标识时,则将访问请求路由到目标分片标识对应的分片,目标用户可以访问目标分片标识对应的分片。
209、将访问请求路由到默认分片;
若数据库仍然查询不到目标分片标识,表明该目标用户未曾使用过服务器中的分片来存储数据,即表明该目标用户为新用户,则服务器将目标用户的访问请求路由到默认分片,从而目标用户可以对该默认分片进行访问。
本实施例中,数据库可以是关系型数据库或者非关系型数据库,关系型数据库可以是PostgreSQL数据库、MySQL数据库、Oracle数据库、MongoDB数据库或者其他关系型数据库,优选的数据库是PostgreSQL数据库。
210、建立目标用户的用户标识与空闲分片的分片标识的目标对应关系,并将目标对应关系写入数据库和/或缓存中;
服务器将目标用户的访问请求路由到默认分片之后,建立目标用户的用户标识与空闲分片的分片标识的目标对应关系,该目标对应关系中的空闲分片也就是步骤201中被确定为默认分片的空闲分片。
服务器建立目标对应关系之后,将该目标对应关系写入数据库和/或缓存中,从而使数据库和/或缓存中的路由表可以更新路由表所表示的对应关系。
本实施例中,空闲分片可能有多个,可以将多个空闲分片中被确定为默认分片的空闲分片称为目标空闲分片。当该目标空闲分片的空闲存储空间不足时,服务器可以更改默认分片的配置,也就是将该多个空闲分片中除了目标空闲分片以外的其他空闲分片确定为默认分片,并可以使用确定为默认分片的该其他空闲分片来存储新用户的数据,从而可以灵活地、动态地变更默认分片的配置。
上面对本申请实施例中的分片路由方法进行了描述,下面对本申请实施例中的服务器进行描述,请参阅图3,本申请实施例中服务器一个实施例包括:
确定单元301,用于将空闲分片确定为默认分片,空闲分片为包括有空闲存储空间的分片;
获取单元302,用于获取用户标识与分片标识的对应关系,其中一个用户标识对应一个分片标识;
接收单元303,用于接收目标用户的访问请求,访问请求中携带有目标用户的用户标识;
判断单元304,用于判断对应关系中是否存在目标用户的用户标识对应的目标分片标识;
第一路由单元305,用于当存在目标用户的用户标识对应的目标分片标识时,将访问请求路由到目标分片标识对应的分片;
第二路由单元306,用于当不存在目标用户的用户标识对应的目标分片标识时,将访问请求路由到默认分片。
本实施例中,服务器中各单元所执行的操作与前述图1所示实施例中描述的类似,此处不再赘述。
本实施例中,确定单元301将空闲分片确定为默认分片,获取单元302获取用户标识与分片标识的对应关系,当目标用户需要访问分片时,判断单元304判断对应关系中是否存在目标用户的用户标识对应的目标分片标识,若存在,则第一路由单元305将访问请求路由到目标分片标识对应的分片,目标用户可以访问目标分片标识对应的分片;若不存在,说明该目标用户为新用户,则第二路由单元306将访问请求路由到默认分片,使目标用户访问该默认分片,由于该默认分片是包括有空闲存储空间的空闲分片,所以新用户的数据不再存储于已没有空闲存储空间的分片,这样可以不用迁移已没有空闲存储空间的分片中的数据,便能存储新用户的数据,减少了操作人员的工作量。
请参阅图4,本申请实施例中服务器一个实施例包括:
确定单元401,用于将空闲分片确定为默认分片,空闲分片为包括有空闲存储空间的分片;
获取单元402,用于获取用户标识与分片标识的对应关系,其中一个用户标识对应一个分片标识;
接收单元403,用于接收目标用户的访问请求,访问请求中携带有目标用户的用户标识;
判断单元404,用于判断对应关系中是否存在目标用户的用户标识对应的目标分片标识;
第一路由单元405,用于当存在目标用户的用户标识对应的目标分片标识时,将访问请求路由到目标分片标识对应的分片;
第二路由单元406,用于当不存在目标用户的用户标识对应的目标分片标识时,将访问请求路由到默认分片。
本实施例的一种优选实施方式中,空闲分片的数量为多个,确定单元401具体用于将多个空闲分片中空闲存储空间最大的空闲分片确定为默认分片。
本实施例另一优选的实施方式中,确定单元401具体用于新建分片,并将新建的分片确定为默认分片。
本实施例另一优选的实施方式中,获取单元402具体用于建立包括有用户标识与分片标识的路由表,路由表用于表示用户的访问请求所路由到的分片。
本实施例另一优选的实施方式中,服务器还包括:
存储单元407,用于将路由表存储在数据库中;
判断单元404具体用于在数据库存储的路由表中查询目标用户的用户标识对应的目标分片标识,当存在目标分片标识时,将访问请求路由到目标分片标识对应的分片;当不存在目标分片标识时,将访问请求路由到默认分片。
本实施例另一优选的实施方式中,服务器还包括:
备份单元408,用于在缓存中备份路由表;
判断单元404还用于在缓存存储的路由表中查询目标用户的用户标识对应的目标分片标识,当存在目标分片标识时,则将访问请求路由到目标分片标识对应的分片,当不存在目标分片标识时,则执行在数据库存储的路由表中查询目标用户的用户标识对应的目标分片标识的步骤。
本实施例另一优选的实施方式中,服务器还包括:
建立单元409,用于建立目标用户的用户标识与空闲分片的分片标识的目标对应关系,并将目标对应关系写入数据库和/或缓存存储的路由表中。
本实施例另一优选的实施方式中,空闲分片的数量为多个,确定单元401具体用于将多个空闲分片中的目标空闲分片确定为默认分片;
确定单元401还用于当目标空闲分片的空闲存储空间不足时,更改默认分片的配置,将多个空闲分片中除了目标空闲分片以外的其他空闲分片确定为默认分片。
本实施例中,服务器中各单元所执行的操作与前述图2所示实施例中描述的类似,此处不再赘述。
下面对本申请实施例中的服务器进行描述,请参阅图5,本申请实施例中服务器一个实施例包括:
该服务器500可以包括一个或一个以***处理器(central processing units,CPU)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。
其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在服务器500上执行存储器505中的一系列指令操作。
服务器500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器501可以执行前述图1至图2所示实施例中服务器所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图1至图2所示实施例中服务器所执行的操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (11)
1.一种分片路由方法,其特征在于,应用于服务器,所述方法包括:
将空闲分片确定为默认分片,所述空闲分片为包括有空闲存储空间的分片;
获取用户标识与分片标识的对应关系,其中一个所述用户标识对应一个所述分片标识;
接收目标用户的访问请求,所述访问请求中携带有所述目标用户的用户标识;
判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识;
若存在,则将所述访问请求路由到所述目标分片标识对应的分片;
若不存在,则将所述访问请求路由到所述默认分片。
2.根据权利要求1所述的分片路由方法,其特征在于,所述空闲分片的数量为多个,所述将空闲分片确定为默认分片,包括:
将多个所述空闲分片中空闲存储空间最大的空闲分片确定为所述默认分片。
3.根据权利要求1所述的分片路由方法,其特征在于,所述将空闲分片确定为默认分片,包括:
新建分片,并将新建的分片确定为所述默认分片。
4.根据权利要求1所述的分片路由方法,其特征在于,所述获取用户标识与分片标识的对应关系,包括:
建立包括有所述用户标识与所述分片标识的路由表,所述路由表用于表示用户的访问请求所路由到的分片。
5.根据权利要求4所述的分片路由方法,其特征在于,所述方法还包括:
将所述路由表存储在数据库中;
所述判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识,包括:
在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识;
若存在所述目标分片标识,则将所述访问请求路由到所述目标分片标识对应的分片;
若不存在所述目标分片标识,则将所述访问请求路由到所述默认分片。
6.根据权利要求5所述的分片路由方法,其特征在于,所述方法还包括:
在缓存中备份所述路由表;
所述在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识之前,所述方法还包括:
在所述缓存存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识;
若存在所述目标分片标识,则将所述访问请求路由到所述目标分片标识对应的分片;
若不存在所述目标分片标识,则执行所述在所述数据库存储的所述路由表中查询所述目标用户的用户标识对应的目标分片标识的步骤。
7.根据权利要求6所述的分片路由方法,其特征在于,若不存在所述目标分片标识,则所述将所述访问请求路由到所述默认分片之后,所述方法还包括:
建立所述目标用户的用户标识与所述空闲分片的分片标识的目标对应关系,并将所述目标对应关系写入所述数据库和/或所述缓存存储的路由表中。
8.根据权利要求1至7任一项所述的分片路由方法,其特征在于,所述空闲分片的数量为多个,所述将空闲分片确定为默认分片,包括:
将多个所述空闲分片中的目标空闲分片确定为所述默认分片;
所述方法还包括:
当所述目标空闲分片的空闲存储空间不足时,更改所述默认分片的配置,将多个所述空闲分片中除了所述目标空闲分片以外的其他空闲分片确定为默认分片。
9.一种服务器,其特征在于,所述服务器包括:
确定单元,用于将空闲分片确定为默认分片,所述空闲分片为包括有空闲存储空间的分片;
获取单元,用于获取用户标识与分片标识的对应关系,其中一个所述用户标识对应一个所述分片标识;
接收单元,用于接收目标用户的访问请求,所述访问请求中携带有所述目标用户的用户标识;
判断单元,用于判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识;
第一路由单元,用于当存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述目标分片标识对应的分片;
第二路由单元,用于当不存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述默认分片。
10.一种服务器,其特征在于,所述服务器包括:
处理器、存储器、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述处理器用于将空闲分片确定为默认分片,所述空闲分片为包括有空闲存储空间的分片,获取用户标识与分片标识的对应关系,其中一个所述用户标识对应一个所述分片标识;
所述输入输出设备用于接收目标用户的访问请求,所述访问请求中携带有所述目标用户的用户标识;
所述处理器还用于判断所述对应关系中是否存在所述目标用户的用户标识对应的目标分片标识,当存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述目标分片标识对应的分片,当不存在所述目标用户的用户标识对应的目标分片标识时,将所述访问请求路由到所述默认分片。
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429890.3A CN111600799B (zh) | 2020-05-20 | 2020-05-20 | 分片路由方法、服务器及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010429890.3A CN111600799B (zh) | 2020-05-20 | 2020-05-20 | 分片路由方法、服务器及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600799A CN111600799A (zh) | 2020-08-28 |
CN111600799B true CN111600799B (zh) | 2022-05-20 |
Family
ID=72182758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010429890.3A Active CN111600799B (zh) | 2020-05-20 | 2020-05-20 | 分片路由方法、服务器及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600799B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347094B (zh) * | 2021-06-22 | 2022-05-20 | 深圳壹账通智能科技有限公司 | 分片路由方法、装置、设备及存储介质 |
CN114466004A (zh) * | 2022-03-24 | 2022-05-10 | 成都新希望金融信息有限公司 | 一种文件传输方法、***、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975345A (zh) * | 2016-05-20 | 2016-09-28 | 江苏得得空间信息科技有限公司 | 一种基于分布式内存的视频帧数据动态均衡存储管理方法 |
CN106503010A (zh) * | 2015-09-07 | 2017-03-15 | 北京国双科技有限公司 | 一种数据库更改写入分区的方法及装置 |
CN106980669A (zh) * | 2017-03-23 | 2017-07-25 | 珠海格力电器股份有限公司 | 一种数据的存储、获取方法及装置 |
CN107948293A (zh) * | 2017-11-29 | 2018-04-20 | 重庆邮电大学 | 一种基于MongoDB负载均衡优化***及方法 |
CN110737663A (zh) * | 2019-10-15 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045877B (zh) * | 2015-07-20 | 2018-10-12 | 深信服科技股份有限公司 | 数据库数据分片存储方法和装置、数据查询方法和装置 |
CN106502576B (zh) * | 2015-09-06 | 2020-06-23 | 中兴通讯股份有限公司 | 迁移策略调整方法及装置 |
CN106775470B (zh) * | 2016-12-08 | 2020-04-10 | 武汉斗鱼网络科技有限公司 | 一种数据存储的方法及*** |
CN106777225B (zh) * | 2016-12-26 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种数据的迁移方法和*** |
CN110019125B (zh) * | 2017-11-27 | 2021-12-14 | 北京京东尚科信息技术有限公司 | 数据库管理的方法和装置 |
-
2020
- 2020-05-20 CN CN202010429890.3A patent/CN111600799B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503010A (zh) * | 2015-09-07 | 2017-03-15 | 北京国双科技有限公司 | 一种数据库更改写入分区的方法及装置 |
CN105975345A (zh) * | 2016-05-20 | 2016-09-28 | 江苏得得空间信息科技有限公司 | 一种基于分布式内存的视频帧数据动态均衡存储管理方法 |
CN106980669A (zh) * | 2017-03-23 | 2017-07-25 | 珠海格力电器股份有限公司 | 一种数据的存储、获取方法及装置 |
CN107948293A (zh) * | 2017-11-29 | 2018-04-20 | 重庆邮电大学 | 一种基于MongoDB负载均衡优化***及方法 |
CN110737663A (zh) * | 2019-10-15 | 2020-01-31 | 腾讯科技(深圳)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
"Server-storage virtualization: Integration and load balancing in data centers";Aameek Singh,等;《SC "08: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing》;20090825;第1-12页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111600799A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489059B (zh) | 数据集群存储的方法、装置及计算机设备 | |
CN111600799B (zh) | 分片路由方法、服务器及计算机存储介质 | |
CN110019125B (zh) | 数据库管理的方法和装置 | |
US9489429B2 (en) | Computer system, data management method, and program | |
CN104954468A (zh) | 资源的分配方法及装置 | |
CN109933585B (zh) | 数据查询方法和数据查询*** | |
WO2014081869A2 (en) | Distributed caching cluster management | |
US20200409584A1 (en) | Load balancing for scalable storage system | |
US9529772B1 (en) | Distributed caching cluster configuration | |
US11809382B2 (en) | System and method for supporting versioned objects | |
EP3217738A1 (en) | M2m node management method and apparatus, and computer storage medium | |
US20230305869A1 (en) | Dynamic allocation of host devices in bare metal distributed computing environments | |
CN110569225A (zh) | 一种数据存储方法及*** | |
CN111338778B (zh) | 任务调度方法、装置、存储介质及计算机设备 | |
CN110196750B (zh) | 一种设备的分配方法及其相关设备 | |
US11881996B2 (en) | Input and output for target device communication | |
CN111767282A (zh) | 基于MongoDB的存储***及数据***方法和存储介质 | |
US10338849B2 (en) | Method and device for processing I/O request in network file system | |
CN112965935A (zh) | 数据处理方法及分布式文件*** | |
CN115729693A (zh) | 数据处理方法、装置、计算机设备及计算机可读存储介质 | |
CN113687910A (zh) | 一种集群内usb设备管理方法、装置、设备及存储介质 | |
CN112799849A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
KR101754713B1 (ko) | 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법 | |
CN112272214B (zh) | 一种软件启动的方法、装置、存储介质、服务器和客户端 | |
JP6568232B2 (ja) | 計算機システム、及び、装置の管理方法 |
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 |