CN111787099A - 多用户应用的数据分库方法、装置、电子设备和存储介质 - Google Patents
多用户应用的数据分库方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111787099A CN111787099A CN202010614802.7A CN202010614802A CN111787099A CN 111787099 A CN111787099 A CN 111787099A CN 202010614802 A CN202010614802 A CN 202010614802A CN 111787099 A CN111787099 A CN 111787099A
- Authority
- CN
- China
- Prior art keywords
- target server
- server
- user
- client
- login 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000000638 solvent extraction Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 25
- 238000013507 mapping Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提出一种多用户应用的数据分库方法、装置、电子设备和存储介质,其中,方法包括:响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识;根据用户标识,确定目标服务器;将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。该方法通过根据客户端对应到的用户标识,确定目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
Description
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种多用户应用的数据分库方法、装置、电子设备和存储介质。
背景技术
大型的互联网应用中,比如具有大量用户访问的应用,数据量是非常庞大的,同时也会伴随着非常高的读写并发,很容易突破单个数据库实例的性能上限。目前主要是通过数据分库的方法解决,通常是在逻辑层进行数据分库。
但是,这种数据分库方法,需要修改代码,操作复杂繁琐。
发明内容
本申请提出一种多用户应用的数据分库方法、装置、电子设备和存储介质,用于解决相关技术中数据分库方法操作复杂繁琐的问题。
本申请一方面实施例提出了一种多用户应用的数据分库方法,包括:
响应于获取的客户端发送的登录请求,以确定所述客户端对应的用户标识;
根据所述用户标识,确定目标服务器;
将所述登录请求转发给所述目标服务器,以使所述目标服务器响应所述登录请求,并存储与所述用户标识关联的数据。
本申请实施例的多用户应用的数据分库方法,通过响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识,然后根据用户标识,确定目标服务器,之后将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。由此,通过根据客户端对应到的用户标识,确定目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
在本申请一方面实施例一种可能的实现方式中,所述用户标识为数字型,所述根据所述用户标识,确定目标服务器,包括:
对所述用户标识进行取余运算,以确定与所述用户标识对应的目标数值;
确定编号与所述目标数值相同的服务器,为所述目标服务器。
在本申请一方面实施例一种可能的实现方式中,编号与所述目标数值相同的服务器有N个,所述确定编号与所述目标数值相同的服务器,为所述目标服务器,包括:
确定所述N个服务器当前分别对应的负载量;
从所述N个服务器中获取负载量最小的务服务器,作为所述目标服务器。
在本申请一方面实施例一种可能的实现方式中,编号与所述目标数值相同的服务器有N个,所述确定编号与所述目标数值相同的服务器,为所述目标服务器,包括:
根据所述N个服务器对应的轮询顺序,确定当前待获取业务的目标服务器。
在本申请一方面实施例一种可能的实现方式中,所述根据所述用户标识,确定目标服务器,包括:
查询用户标识与服务器映射关系表,确定与所述用户标识对应的目标服务器。
在本申请一方面实施例一种可能的实现方式中,在所述将所述登录请求转发给所述目标服务器之后,还包括:
获取所述客户端发送的业务处理请求;
将所述业务处理请求,转发给所述目标服务器。
在本申请一方面实施例一种可能的实现方式中,所述多用户应用为游戏应用,所述响应于获取的客户端发送的登录请求,以确定所述客户端对应的用户标识,包括:
对所述客户端发送的HTTP登录请求消息进行解析,以获取所述HTTP登录请求消息头中包含的所述客户端对应的游戏用户标识。
本申请另一方面实施例提出了一种多用户应用的数据分库装置,包括:
第一确定模块,用于响应于获取的客户端发送的登录请求,以确定所述客户端对应的用户标识;
第二确定模块,用于根据所述用户标识,确定目标服务器;
转发模块,用于将所述登录请求转发给所述目标服务器,以使所述目标服务器响应所述登录请求,并存储与所述用户标识关联的数据。
本申请实施例的多用户应用的数据分库装置,通过响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识,然后根据用户标识,确定目标服务器,之后将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。由此,通过根据客户端对应到的用户标识,确定目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
在本申请另一方面实施例一种可能的实现方式中,所述用户标识为数字型,所述第二确定模块,包括:
运算单元,用于对所述用户标识进行取余运算,以确定与所述用户标识对应的目标数值;
确定单元,用于确定编号与所述目标数值相同的服务器,为所述目标服务器。
在本申请另一方面实施例一种可能的实现方式中,编号与所述目标数值相同的服务器有N个,所述确定单元,具体用于:
确定所述N个服务器当前分别对应的负载量;
从所述N个服务器中获取负载量最小的务服务器,作为所述目标服务器。
在本申请另一方面实施例一种可能的实现方式中,编号与所述目标数值相同的服务器有N个,所述确定单元,具体用于:
根据所述N个服务器对应的轮询顺序,确定当前待获取业务的目标服务器。
在本申请另一方面实施例一种可能的实现方式中,所述第二确定模块,具体用于:
查询用户标识与服务器映射关系表,确定与所述用户标识对应的目标服务器。
在本申请另一方面实施例一种可能的实现方式中,该装置还包括:
获取模块,用于获取所述客户端发送的业务处理请求;
所述转发模块,还用于将所述业务处理请求,转发给所述目标服务器。
在本申请另一方面实施例一种可能的实现方式中,所述多用户应用为游戏应用,所述第一确定模块,具体用于:
对所述客户端发送的HTTP登录请求消息进行解析,以获取所述HTTP登录请求消息头中包含的所述客户端对应的游戏用户标识。
本申请另一方面实施例提出了一种电子设备,包括:处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述一方面实施例所述的多用户应用的数据分库方法。
本申请另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述一方面实施例所述的多用户应用的数据分库方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种多用户应用的数据分库方法的流程示意图;
图2为本申请实施例提供的一种客户端与多应用平台之间的交互示意图;
图3为本申请实施例提供的另一种多用户应用的数据分库方法的流程示意图;
图4为本申请实施例提供的另一种多用户应用的数据分库方法的流程示意图;
图5为本申请实施例提供的一种多应用平台的示意图;
图6为本申请实施例提供的另一种多用户应用的数据分库方法的流程示意图;
图7为本申请实施例提供的一种多用户应用的数据分库装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的多用户应用的数据分库方法、装置、电子设备和存储介质。
本申请实施例,针对相关技术中数据分库方法需要修改代码,操作复杂繁琐的问题,提出一种多用户应用的数据分库方法。
本申请实施例的多用户应用的数据分库方法,通过响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识,然后根据用户标识,确定目标服务器,之后将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。由此,通过根据客户端对应到的用户标识,确定目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
图1为本申请实施例提供的一种多用户应用的数据分库方法的流程示意图。
本申请实施例的多用户应用的数据分库方法,针对的是具有多个用户的应用,可应用于多应用平台,其中,多应用平台可以是具有多个同类应用的平台,比如游戏平台具有多种游戏,且多应用平台中的每个应用具有大量的用户。
如图1所示,该多用户应用的数据分库方法包括:
步骤101,响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识。
以多应用平台为例,如图2所示,当用户登录某应用时,客户端210会发送登录请求给多应用平台220,多应用平台220获取客户端发送的登录请求。
多应用平台220获取登录请求后,可对登录请求进行解析,以获取客户端对应的用户标识。其中,用户标识可以是用户的账号或者用户名等。
比如,用户登录某游戏时,游戏客户端向游戏平台发送登录请求,游戏平台响应登录请求,以确定登录该游戏的用户的用户标识。
步骤102,根据用户标识,确定目标服务器。
本实施例中,多应用平台中可包括多个服务器。在确定发送登录请求的客户端对应的用户标识后,可从多个服务器中随机选择一个服务器,作为目标服务器。或者,也可选择一个当前负载量最小的服务器,作为目标服务器。
步骤103,将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。
本实施例中,在确定目标服务器后,将登录请求转发给目标服务器,由目标服务器响应登录请求,比如访问预先存储的登录账号和密码,然后验证登录请求中的账号和密码,是否与预先存储的一致,如果一致,则允许登录。并且,目标服务器存储与用户标识关联的数据。
其中,与用户标识关联的数据可以是用户在使用应用中的过程产生的数据。
比如,用户在登录某游戏后,与用户标识对应的目标服务器可存储用户输入的个人信息比如性别、年龄等,或者在打游戏的过程中,选择的角色、装备、每次游戏的结果等数据。
本申请实施例的多用户应用的数据分库方法,通过响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识,然后根据用户标识,确定目标服务器,之后将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。由此,通过根据客户端对应到的用户标识,确定目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
在本申请的一个实施例中,用户标识可以为数字型,在确定目标服务器时,可通过对用户标识进行取余运算,根据运算结果,确定目标服务器。下面结合图3进行说明,图3为本申请实施例提供的另一种多用户应用的数据分库方法的流程示意图。
如图3所示,该多用户应用的数据分库方法包括:
步骤301,响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识。
本实施例中,用户标识可以是数字型的,比如,根据用户注册应用的先后顺序,从0开始对每个用户用数字进行编号,将编号作为用户标识,并建立登录账号与用户标识之间的对应关系。
在获取到客户端发送的登录请求后,通过解析登录请求,获取登录账号,通过查找登录账号与用户标识之间的对应关系,确定发送登录请求的客户端对应的用户标识。
或者,客户端从登陆服务器获取到对应的用户标识,然后在向多应用平台发送登陆请求时,登陆请求中携带有用户标识。
步骤302,对用户标识进行取余运算,以确定与用户标识对应的目标数值。
本实施例中,可将用户标识除以服务器的数量,将余数作为与用户标识对应的目标数值。
比如,用户标识为11,服务器的数量为10,那么11%10=1,即1为与用户标识11对应的目标数值。
步骤303,确定编号与目标数值相同的服务器,为目标服务器。
本实施例中,预先对服务器进行编号,得到每个服务器对应的编号。在确定与用户标识对应的目标数值后,确定编号与目标数值相同的服务器,将其作为目标服务器。
比如,目标数值为1,那么编号为1的服务器作为目标服务器。
步骤304,将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。
本实施例中,步骤304与上述步骤103类似,故在此不再赘述。
本申请实施例中,用户标识为数字型,在根据用户标识,确定目标服务器时,对用户标识进行取余运算,以确定与用户标识对应的目标数值;确定编号与目标数值相同的服务器,为目标服务器。由此,通过对用户标识进行取余运算,确定编号与计算结果相同的服务器,作为目标服务器,将登录请求转发给目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
在本申请的一个实施例中,编号相同的服务器可以有一个或多个,当编号与用户标识对应的目标数值相同的服务器有多个时,可以根据服务器的负载量,确定目标服务器。下面结合图4进行说明,图4为本申请实施例提供的另一种多用户应用的数据分库方法的流程示意图。
如图4所示,该多用户应用的数据分库方法包括:
步骤401,响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识。
步骤402,对用户标识进行取余运算,以确定与用户标识对应的目标数值。
本实施例中,步骤401-步骤402与上述步骤301-302类似,故在此不再赘述。
步骤403,确定N个服务器当前分别对应的负载量。
本实施例中,可对服务器进行分组,对组进行编号,每组可有一个或多个服务器,同一组服务器的编号与组编号相同。或者,对服务器进行编号,可使一个或多个服务器的编号相同。也就是说,同一编号的服务器可能有一个或多个。
在确定与用户标识对应的目标数值后,确定编号与目标数值相同的服务器有N个,其中,N为大于1的正整数。之后,获取N个服务器中每个服务器当前的负载量。
其中,负载量可以用服务器当前待处理的请求的数量来衡量。
步骤404,从N个服务器中获取负载量最小的服务器,作为目标服务器。
本实施例中,比较N个服务器当前的负载量,为了提高业务处理效率,可从N个服务器中选择负载量最小的服务器,作为目标服务器。
步骤405,将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。
本实施例中,将登录请求转发给目标服务器,以使负载量最小的服务器响应登录请求,并存储与所述用户标识关联的数据,以提高处理效率。
并且,由负载量最小的服务器响应登录请求和存储数据,也可以避免N个服务器中某个服务器负载量过大而崩溃。
图5为本申请实施例提供的一种多应用平台的示意图。图5中,多应用平台中包含服务器a、服务器b、服务器c、服务器d共4个服务器。其中,服务器a和服务器c的编号都是1。若用户标识经过取余运算后余数为1,那么与用户标识对应的目标数值1与服务器a和服务器c的编号相同,从服务器a和服务器c中,选择当前负载量小的作为目标服务器。
需要说明的是,图5仅为示例,在实际应用中,多应用平台中服务器的数量可以根据需要设置。
本申请实施例中,编号与目标数值相同的服务器有N个,在确定编号与目标数值相同的服务器,为目标服务器时,确定N个服务器当前分别对应的负载量,然后从N个服务器中获取负载量最小的服务器,作为目标服务器。由此,当编号与用户标识对应的目标数值相同的服务器有多个时,可将当前负载量最小的服务器作为目标服务器,由负载量最小的服务器对登录请求进行响应以及存储数据,不仅提高了处理效率,而且使得多个服务器负载均衡。
当编号与目标数值相同的服务器有多个时,上述实施例描述了将负载量最小的服务器作为目标服务器,在本申请的一个实施例中,当编号与目标数值相同的服务器有N个时,也可根据N个服务器的轮询顺序,确定目标服务器。其中,N为大于1的正整数。
本实施例中,对于编号相同的多个服务器,设置多个服务器对应的轮询顺序。在编号与目标数值相同的服务器有N个后,获取N个服务器对应的轮询顺序,然后根据N个服务器对应的轮询顺序,和N个服务器中前一个被轮询的服务器,确定当前待获取业务的服务器,作为目标服务器。
然后,将登录请求转发给目标服务器,由当前待获取业务的服务器对登录请求进行响应。
比如,编号与用户标识目标数值相同的服务器有服务器A、服务器B和服务器C,3个服务器的轮询顺序为服务器A、服务器B和服务器C。若前一个响应与该用户标识对应的客户端发送的登陆请求的是服务器C,那么根据3个服务器的轮询顺序和前一个被轮询的服务器C,可以确定当前待获取业务的服务器为服务器A,则将当前获取的与该用户标识对应的客户端发送的登陆请求,转发给服务器A。由服务器A响应登陆请求,并存储与该用户标识关联的数据。
本申请实施例中,编号与目标数值相同的服务器有N个,在确定编号与目标数值相同的服务器,为目标服务器时,根据N个服务器对应的轮询顺序,确定当前待获取业务的目标服务器。由此,当与目标应用标识对应的服务器有多个时,可通过轮询方式确定目标服务器,不仅可以避免服务器负载不均衡,而且提高了业务处理效率。
在本申请的一个实施例中,在确定目标服务器时,还可预先设置用户标识与服务器之间的映射关系表,利用映射关系表,确定用户标识对应的目标服务器。
具体地,每当有用户注册应用时,建立该用户标识与其中一个或多个服务器之间的映射关系,从而可以得到用户标识与服务器映射关系表。在确定客户端对应的用户标识后,查询用户标识与服务器之间的映射关系表,确定客户端对应的用户标识所对应的服务器,将其作为目标服务器。
如果用户标识对应的服务器有多个,可以选择当前负载量最小的服务器,作为目标服务器,或者也可根据多个服务器的轮询顺序,确定目标服务器。
本申请实施例中,在根据用户标识,确定目标服务器时,查询用户标识与服务器映射关系表,确定与用户标识对应的目标服务器。由此,通过用户标识与服务器之间的映射关系表,确定客户端对应的用户标识对应的目标服务器,从而可以利用目标服务器对登录请求进行响应,以及存储数据,无需修改代码即可实现数据分库的效果。
在实际应用中,经常会对多应用平台中的各个应用进行针对性的业务优化,如何保证业务优化时,应用之间互不影响是亟待解决的问题。基于此,在本申请的一个实施例中,还可将客户端发送的业务处理请求转发给目标服务器,由目标服务器对业务处理请求进行响应。
下面结合图6进行说明,图6为本申请实施例提供的另一种多用户应用的数据分库方法的流程示意图。
如图6所示,在将登录请求转发给目标服务器之后,该多用户应用的数据分库方法还包括:
步骤601,获取客户端发送的业务处理请求。
当客户端需要进行业务优化时,向多应用平台发送业务处理请求,其中,业务处理请求包括待处理的业务、客户端所属的应用的标识等。比如,某游戏客户端向游戏平台发送增加新的游戏装备的业务处理请求。
步骤602,将业务处理请求,转发给目标服务器。
本实施例中,将业务处理请求转发给目标服务器,由目标服务器根据业务处理请求进行业务处理,以对客户端所属应用进行针对性的业务优化。
本申请实施例中,在将登录请求转发给目标服务器之后,获取客户端发送的业务处理请,然后将业务处理请求,转发给目标服务器。由此,由目标服务器进行业务处理,从而不同客户端的业务处理请求,由根据客户端对应的用户标识确定的目标服务器进行响应,实现了将不同应用进行隔离,对指定的应用进行针对性的业务优化。
在本申请的一个实施例中,多用户应用为游戏应用,客户端可通过HTTP协议(HyperText Transfer Protocol,超文本传输协议)向多应用平台发送登录请求。
具体地,游戏客户端在发送登陆请求时,可通过向多游戏应用平台发送HTTP登录请求消息。其中,可将游戏客户端对应的游戏用户标识放在HTTP登录请求消息的头部。
多游戏应用平台获取游戏客户端发送的HTTP登录请求消息,在响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识时,对HTTP登录请求消息进行解析,从HTTP登录请求消息头中获取客户端对应的游戏用户标识。然后,根据游戏用户标识,确定与游戏用户标识匹配的目标服务器,将该游戏客户端发送的登陆请求转发给目标服务器,由目标服务器响应游戏客户端发送的登陆请求以及存储与游戏用户标识关联的数据。
比如,游戏用户u登陆游戏P,游戏P的客户端通过HTTP登陆请求消息,向多游戏应用平台发送登陆请求,那么多游戏应用平台通过解析HTTP登陆请求消息,从消息头部获取游戏用户u的标识。然后,根据游戏用户u的标识,从游戏用户u的标识对应的服务器中,确定出目标服务器,以将登陆请求转发给目标服务器,由目标服务器对登陆请求进行响应,以及存储与游戏用户u的标识关联的数据,比如存储游戏用户u在使用游戏P的过程中产生的数据。
本申请实施例中,多用户应用为游戏应用,在响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识时,对客户端发送的HTTP登录请求消息进行解析,以获取HTTP登录请求消息头中包含的客户端对应的游戏用户标识。由此,对于游戏应用,通过将客户端对应的游戏用户标识放在HTTP协议的消息中,使用网关层做派发,把不同游戏用户的登录请求隔离,从而在网关层进行数据分库而不用修改代码。
为了实现上述实施例,本申请实施例还提出一种多用户应用的数据分库装置。图7为本申请实施例提供的一种多用户应用的数据分库装置的结构示意图。
如图7所示,该多用户应用的数据分库装置包括:第一确定模块710、第二确定模块720及转发模块730。
第一确定模块710,用于响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识;
第二确定模块720,用于根据用户标识,确定目标服务器;
转发模块730,用于将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。
在本申请实施例一种可能的实现方式中,用户标识为数字型,第二确定模块720,包括:
运算单元,用于对用户标识进行取余运算,以确定与用户标识对应的目标数值;
确定单元,用于确定编号与目标数值相同的服务器,为目标服务器。
在本申请实施例一种可能的实现方式中,编号与目标数值相同的服务器有N个,确定单元,具体用于:
确定N个服务器当前分别对应的负载量;
从N个服务器中获取负载量最小的务服务器,作为目标服务器。
在本申请实施例一种可能的实现方式中,编号与目标数值相同的服务器有N个,确定单元,具体用于:
根据N个服务器对应的轮询顺序,确定当前待获取业务的目标服务器。
在本申请实施例一种可能的实现方式中,第二确定模块720,具体用于:
查询用户标识与服务器映射关系表,确定与用户标识对应的目标服务器。
在本申请实施例一种可能的实现方式中,该装置还可包括:
获取模块,用于获取客户端发送的业务处理请求;
转发模块730,还用于将业务处理请求,转发给目标服务器。
在本申请实施例一种可能的实现方式中,多用户应用为游戏应用,第一确定模块710,具体用于:
对客户端发送的HTTP登录请求消息进行解析,以获取HTTP登录请求消息头中包含的客户端对应的游戏用户标识。
需要说明的是,前述对多用户应用的数据分库方法实施例的解释说明,也适用于该实施例的多用户应用的数据分库装置,故在此不再赘述。
本申请实施例的多用户应用的数据分库装置,通过响应于获取的客户端发送的登录请求,以确定客户端对应的用户标识,然后根据用户标识,确定目标服务器,之后将登录请求转发给目标服务器,以使目标服务器响应登录请求,并存储与用户标识关联的数据。由此,通过根据客户端对应到的用户标识,确定目标服务器,由目标服务器存储与用户标识关联的数据,从而无需修改代码即可达到数据分库的效果,操作简单。
为了实现上述实施例,本申请实施例还提出一种电子设备,包括:包括处理器和存储器;
其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如上述实施例所述的多用户应用的数据分库方法。
为了实现上述实施例,本申请实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的多用户应用的数据分库方法。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种多用户应用的数据分库方法,其特征在于,包括:
响应于获取的客户端发送的登录请求,以确定所述客户端对应的用户标识;
根据所述用户标识,确定目标服务器;
将所述登录请求转发给所述目标服务器,以使所述目标服务器响应所述登录请求,并存储与所述用户标识关联的数据。
2.如权利要求1所述的方法,其特征在于,所述用户标识为数字型,所述根据所述用户标识,确定目标服务器,包括:
对所述用户标识进行取余运算,以确定与所述用户标识对应的目标数值;
确定编号与所述目标数值相同的服务器,为所述目标服务器。
3.如权利要求2所述的方法,其特征在于,编号与所述目标数值相同的服务器有N个,所述确定编号与所述目标数值相同的服务器,为所述目标服务器,包括:
确定所述N个服务器当前分别对应的负载量;
从所述N个服务器中获取负载量最小的服务器,作为所述目标服务器。
4.如权利要求2所述的方法,其特征在于,编号与所述目标数值相同的服务器有N个,所述确定编号与所述目标数值相同的服务器,为所述目标服务器,包括:
根据所述N个服务器对应的轮询顺序,确定当前待获取的目标服务器。
5.如权利要求1所述的方法,其特征在于,所述根据所述用户标识,确定目标服务器,包括:
查询用户标识与服务器映射关系表,确定与所述用户标识对应的目标服务器。
6.如权利要求1-5任一所述的方法,其特征在于,在所述将所述登录请求转发给所述目标服务器之后,还包括:
获取所述客户端发送的业务处理请求;
将所述业务处理请求,转发给所述目标服务器。
7.如权利要求1-5任一所述的方法,其特征在于,所述多用户应用为游戏应用,所述响应于获取的客户端发送的登录请求,以确定所述客户端对应的用户标识,包括:
对所述客户端发送的HTTP登录请求消息进行解析,以获取所述HTTP登录请求消息头中包含的所述客户端对应的游戏用户标识。
8.一种多用户应用的数据分库装置,其特征在于,包括:
第一确定模块,用于响应于获取的客户端发送的登录请求,以确定所述客户端对应的用户标识;
第二确定模块,用于根据所述用户标识,确定目标服务器;
转发模块,用于将所述登录请求转发给所述目标服务器,以使所述目标服务器响应所述登录请求,并存储与所述用户标识关联的数据。
9.一种电子设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-7中任一所述的多用户应用的数据分库方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的多用户应用的数据分库方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614802.7A CN111787099B (zh) | 2020-06-30 | 2020-06-30 | 多用户应用的数据分库方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010614802.7A CN111787099B (zh) | 2020-06-30 | 2020-06-30 | 多用户应用的数据分库方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111787099A true CN111787099A (zh) | 2020-10-16 |
CN111787099B CN111787099B (zh) | 2023-07-28 |
Family
ID=72759812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010614802.7A Active CN111787099B (zh) | 2020-06-30 | 2020-06-30 | 多用户应用的数据分库方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111787099B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861036A (zh) * | 2021-02-07 | 2021-05-28 | 广州华多网络科技有限公司 | 用户收藏夹访问方法及其装置、设备与介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215572A (ja) * | 2001-01-15 | 2002-08-02 | Fujitsu Ltd | 代理処理装置、代理処理プログラムが格納された記憶媒体、および代理処理方法 |
EP1814290A2 (en) * | 1997-11-04 | 2007-08-01 | Collaboration Properties, Inc. | Scalable networked multimedia system and application |
WO2015000397A1 (en) * | 2013-07-02 | 2015-01-08 | Tencent Technology (Shenzhen) Company Limited | User login methods,devices,and systems |
CN105337967A (zh) * | 2015-10-16 | 2016-02-17 | 晶赞广告(上海)有限公司 | 实现用户登录目标服务器的方法、系统和中心服务器 |
CN105656924A (zh) * | 2016-02-19 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及系统 |
CN108200165A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输系统、方法、装置及存储介质 |
CN108200158A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输系统、方法、装置及存储介质 |
CN108989359A (zh) * | 2018-10-12 | 2018-12-11 | 苏州创旅天下信息技术有限公司 | 服务器集群的验证登录方法及系统、可读存储介质和终端 |
CN110365692A (zh) * | 2019-07-23 | 2019-10-22 | 秒针信息技术有限公司 | 一种服务器登录方法及系统 |
CN110841282A (zh) * | 2019-10-30 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
-
2020
- 2020-06-30 CN CN202010614802.7A patent/CN111787099B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1814290A2 (en) * | 1997-11-04 | 2007-08-01 | Collaboration Properties, Inc. | Scalable networked multimedia system and application |
JP2002215572A (ja) * | 2001-01-15 | 2002-08-02 | Fujitsu Ltd | 代理処理装置、代理処理プログラムが格納された記憶媒体、および代理処理方法 |
WO2015000397A1 (en) * | 2013-07-02 | 2015-01-08 | Tencent Technology (Shenzhen) Company Limited | User login methods,devices,and systems |
CN105337967A (zh) * | 2015-10-16 | 2016-02-17 | 晶赞广告(上海)有限公司 | 实现用户登录目标服务器的方法、系统和中心服务器 |
CN105656924A (zh) * | 2016-02-19 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及系统 |
CN108200165A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输系统、方法、装置及存储介质 |
CN108200158A (zh) * | 2017-12-29 | 2018-06-22 | 广东欧珀移动通信有限公司 | 请求传输系统、方法、装置及存储介质 |
CN108989359A (zh) * | 2018-10-12 | 2018-12-11 | 苏州创旅天下信息技术有限公司 | 服务器集群的验证登录方法及系统、可读存储介质和终端 |
CN110365692A (zh) * | 2019-07-23 | 2019-10-22 | 秒针信息技术有限公司 | 一种服务器登录方法及系统 |
CN110841282A (zh) * | 2019-10-30 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
Non-Patent Citations (1)
Title |
---|
蒋姝丽等: "天地一体化信息网络宽带用户行为仿真技术", 《计算机工程与应用》, no. 10 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861036A (zh) * | 2021-02-07 | 2021-05-28 | 广州华多网络科技有限公司 | 用户收藏夹访问方法及其装置、设备与介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111787099B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108460115B (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
JP6626211B2 (ja) | ショートリンクを処理する方法及び装置並びにショートリンクサーバ | |
EP3399434A1 (en) | Short link processing method, device and server | |
US20230036089A1 (en) | Testing systems and methods | |
CN111538596B (zh) | 一种资源处理的方法、装置、计算机设备及存储介质 | |
RU2012104365A (ru) | Способ и сервер для мгновенного обмена сообщениями | |
CN110677492B (zh) | 一种访问请求处理方法、装置、电子设备及存储介质 | |
CN104618388B (zh) | 快速注册登录方法及对应的重置服务器、信息服务器 | |
US20140181942A1 (en) | Startup method and apparatus, startup-acceptance method and apparatus, and mutual-startup method and system | |
CN111859368A (zh) | 弱密码生成方法、密码检测方法、装置及电子设备 | |
CN104580237B (zh) | 一种登录网站的方法以及其服务器、客户端和外设 | |
CN110674427B (zh) | 响应网页访问请求的方法、装置、设备及存储介质 | |
CN111787099B (zh) | 多用户应用的数据分库方法、装置、电子设备和存储介质 | |
CN102023997B (zh) | 一种数据查询系统及其构建方法与相应的数据查询方法 | |
CN113377817A (zh) | 数据处理方法、系统、设备及存储介质 | |
JP6684291B2 (ja) | データ処理方法及び装置 | |
CN110287049B (zh) | 数据处理方法、装置和存储介质 | |
CN111385360A (zh) | 终端设备的识别方法、装置及计算机可读存储介质 | |
CN104125254A (zh) | 获取平台用户资料的方法和系统 | |
CN113157249B (zh) | 标识号生成方法、装置、电子设备及存储介质 | |
CN111787102A (zh) | 多应用平台的业务处理方法、装置、电子设备和存储介质 | |
JP4886356B2 (ja) | 通信管理装置、通信管理方法、および通信管理プログラム | |
CN112861004A (zh) | 一种富媒体的确定方法及装置 | |
CN109474705B (zh) | 一种会话保持方法和装置 | |
EP2732576A1 (en) | Variable-length nonce generation |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231023 Address after: No. 1201, Building 1, No. 7 Shixing Street, Shijingshan District, Beijing, 100041 Patentee after: Beijing Mi Mai Interactive Technology Co.,Ltd. Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing Patentee before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd. |