CN112423145B - 数据处理方法、装置、系统、服务器及介质 - Google Patents
数据处理方法、装置、系统、服务器及介质 Download PDFInfo
- Publication number
- CN112423145B CN112423145B CN202011281869.XA CN202011281869A CN112423145B CN 112423145 B CN112423145 B CN 112423145B CN 202011281869 A CN202011281869 A CN 202011281869A CN 112423145 B CN112423145 B CN 112423145B
- Authority
- CN
- China
- Prior art keywords
- server
- address
- request
- load balancing
- group number
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4784—Supplemental services, e.g. displaying phone caller identification, shopping application receiving rewards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开关于一种数据处理方法、装置、系统、服务器及介质;第一服务器能够获得第一组号以及第二组号,第一组号是第一服务器所在分组的组号,第二组号为获得交互数据的至少一个第二服务器所属分组的组号,所以第一服务器具有“鉴别分组”的功能;若第一组号与第二组号相同,第一服务器可以响应第一请求。若第一组号与第二组号不同,第一服务器不响应第一请求,从而避免了相关机构对应的客户端可以向任一服务器发送第一请求,任一服务器即使不属于获得交互数据的至少一个第二服务器所属分组,也只能被动响应第一请求的情况。减少了服务器仅为一个客户端提供交互数据的情况,节约了服务器资源。
Description
技术领域
本公开涉及通信技术领域,尤其涉及数据处理方法、装置、系统、服务器及介质。
背景技术
用户可以通过客户端显示的直播间观看直播,用户观看直播的过程中,除了需要观看到主播直播的数据(音频数据和/或视频数据)之外,还需要观看交互数据,例如,表征观众给主播打赏的数据,观众在直播间发送的语音或文字或图片等数据。
相关技术中,通过客户端请求交互数据的过程如下:客户端可以随机基于任一服务器的公网IP (Internet Protocol Address,互联网协议地址)地址向服务器发送获取直播间的唯一标识对应的交互数据的请求,服务器响应该请求,从数据库中获得唯一标识对应的交互数据,并将该交互数据发送至客户端。
由于客户端是随机选择服务器获取交互数据的,经常出现服务器仅为一个客户端提供某个直播间对应的交互数据的情况,造成资源的浪费。
发明内容
本公开提供一种数据处理方法、装置、系统、服务器及介质,以至少解决相关技术中若响应相关机构的服务器所属分组不是上述目标组号对应的分组,导致该服务器需要额外获得直播间A中的交互数据的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据处理方法,应用于第一服务器,包括:接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求所述第一标识对应的交互数据;
从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号;所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的互联网协议IP地址;
基于所述第一标识,计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
若所述第一组号与所述第二组号不相同,拒绝响应所述第一请求;
若所述第一组号与所述第二组号相同,响应所述第一请求。
结合第一方面,在第一种可能的实现方式中,所述服务器的IP地址为虚拟IP地址,所述虚拟IP 地址包括作为所述服务器与客户端数据转发媒介的负载均衡服务器的公网IP地址以及所述服务器对应的端口号;
所述接收客户端发送的第一请求步骤包括:
接收负载均衡服务器转发的来自所述客户端的所述第一请求;所述第一请求中的目的地址为所述第一服务器的私网IP地址,所述第一请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;
所述从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号步骤包括:
从预先设置的所述配置文件中,获取所述负载均衡服务器的公网IP地址所属分组的所述第一组号。
结合第一方面,在第二种可能的实现方式中,在所述接收客户端发送的第一请求步骤之前,还包括:
接收所述负载均衡服务器转发的来自所述客户端的第二请求,所述第二请求携带的目的地址为所述私网IP地址;所述第二请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;所述第二请求用于请求与所述第一服务器建立通信连接;
若响应所述第二请求,生成第一响应消息,所述第一响应消息用于表征成功与所述客户端建立通信连接;所述第一响应消息的源地址为所述私网IP地址;
将所述第一响应消息发送至所述负载均衡服务器,以使得所述负载均衡服务器将第二响应消息发送至所述客户端,所述第二响应消息是所述负载均衡服务器将所述第一响应消息的源地址由所述私网 IP地址替换为所述第一服务器的虚拟IP地址后的响应消息。
结合第一方面,在第三种可能的实现方式中,所述配置文件还包括所述分组的总数目;所述基于所述第一标识,计算得到第二组号步骤包括:
从预先设置的所述配置文件中,获取所述总数目;
基于所述第一标识以及所述总数目,计算得到第二组号。
结合第一方面,在第四种可能的实现方式中,所述服务器的IP地址为公网IP地址;所述从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号步骤包括:
从预先设置的所述配置文件中,获取所述第一服务器的公网IP地址所属分组的所述第一组号。
结合第一方面,在第五种可能的实现方式中,每一所述分组对应的配置信息还包括每一服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态,所述若所述第一组号与所述第二组号相同,响应所述第一请求步骤,包括:
若所述第一组号与所述第二组号相同,且所述第一服务器已经创建与所述直播间对应的业务实体对象,响应所述第一请求;
若所述第一组号与所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从所述数据库中获取所述第一服务器的状态;
若所述第一服务器的状态为第一状态,响应所述第一请求,所述第一状态为所述第一服务器未处于待删除的状态。
结合第一方面,在第六种可能的实现方式中,在所述若所述第一组号与所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从所述数据库中获取所述第一服务器的状态步骤之后,还包括:
若所述第一服务器的状态为第二状态,拒绝响应所述第一请求,所述第二状态为所述第一服务器处于待删除的状态。
根据本公开实施例的第二方面,提供一种数据处理方法,应用于负载均衡服务器,包括:接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求得到所述第一标识对应的交互数据;所述第一请求的目的地址为第一服务器的虚拟互联网协议IP地址;所述虚拟IP地址包括所述负载均衡服务器的公网IP地址以及所述第一服务器对应的端口号;
依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的所述目的地址中所述虚拟IP地址替换为与所述虚拟IP地址包含的端口号对应的目标私网IP地址;
发送目的地址为所述目标私网IP地址的所述第一请求至所述第一服务器;
接收所述第一服务器反馈的包含所述交互数据的第一报文;所述第一报文的源地址为所述目标私网IP地址;其中,所述第一报文是在第一组号与第二组号相同的情况下针对所述第一请求的响应报文,所述第一组号为所述第一服务器所属分组的组号,所述第二组号是基于所述第一标识计算得到的至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
将所述第一报文的源地址由所述目标私网IP地址替换为所述虚拟IP地址,得到第二报文;
发送所述第二报文至所述客户端。
结合第二方面,在第一种可能实现方式中,在所述接收客户端发送的第一请求步骤之前,还包括:
获取所述负载均衡服务器所属分组对应的至少局部配置信息,所述至少局部配置信息包括所述第一组号以及将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址;
将所述至少局部配置信息存储至所述数据库;
设置将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址对应的私网IP 地址。
结合第二方面,在第二种可能实现方式中,在将所述至少局部配置信息存储至所述数据库步骤之后,还包括:
若检测到在所述负载均衡服务器所属分组中增加第一目标服务器的第一操作,设置所述第一目标服务器的私网IP地址以及所述第一目标服务器的端口号的对应关系;
生成第三请求,所述第三请求用于指示所述数据库在所述负载均衡服务器所属分组的配置信息中增加所述第一目标服务器的虚拟IP地址;
发送所述第三请求至所述数据库。
结合第二方面,在第三种可能实现方式中,在将所述至少局部配置信息存储至所述数据库步骤之后,还包括:
若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求,所述第四请求用于指示所述数据库删除所述负载均衡服务器所属分组的配置信息中所述第二目标服务器的虚拟IP地址;
发送所述第四请求至所述数据库。
结合第二方面,在第四种可能实现方式中,所述负载均衡服务器所属分组对应的配置信息还包括至少一个服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态;所述若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求步骤,包括:
若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的所述第二操作,生成第五请求;其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态;
发送所述第五请求至所述数据库;
在生成所述第五请求之后的第一预设时长,生成所述第四请求。
根据本公开实施例的第三方面,提供一种数据处理装置,应用于第一服务器,包括:
第一接收模块,被配置为接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求所述第一标识对应的交互数据;
第一获取模块,被配置为从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号;所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的互联网协议IP地址;
计算模块,被配置为基于所述第一接收模块得到的所述第一标识,计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
第一处理模块,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号不相同,拒绝响应所述第一请求;
第二处理模块,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,响应所述第一请求。
结合第三方面,在第一种可能的实现方式中,所述服务器的IP地址为虚拟IP地址,所述虚拟IP 地址包括作为所述服务器与客户端数据转发媒介的负载均衡服务器的公网IP地址以及所述服务器对应的端口号,所述第一接收模块具体被配置为:
第一接收单元,被配置为接收负载均衡服务器转发的来自所述客户端的所述第一请求;所述第一请求中的目的地址为所述第一服务器的私网IP地址,所述第一请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;
所述第一获取模块具体被配置为:第一获取单元,被配置为从预先设置的所述配置文件中,获取所述负载均衡服务器的公网IP地址所属分组的所述第一组号。
结合第三方面,在第二种可能的实现方式中,还包括:
第二接收模块,被配置为接收所述负载均衡服务器转发的来自所述客户端的第二请求,所述第二请求携带的目的地址为所述私网IP地址;所述第二请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;所述第二请求用于请求与所述第一服务器建立通信连接;
第一生成模块,被配置为若响应所述第二接收模块接收到的所述第二请求,生成第一响应消息,所述第一响应消息用于表征成功与所述客户端建立通信连接;所述第一响应消息的源地址为所述私网 IP地址;
第一发送模块,被配置为将所述第一生成模块生成的所述第一响应消息发送至所述负载均衡服务器,以使得所述负载均衡服务器将第二响应消息发送至所述客户端,所述第二响应消息是所述负载均衡服务器将所述第一响应消息的源地址由所述私网IP地址替换为所述第一服务器的虚拟IP地址后的响应消息。
结合第三方面,在第三种可能的实现方式中,所述配置文件还包括所述分组的总数目;所述计算模块具体被配置为:
第二获取单元,被配置为从预先设置的所述配置文件中,获取所述总数目;
计算单元,被配置为基于所述第一标识以及所述第二获取单元获得的所述总数目,计算得到第二组号。
结合第三方面,在第四种可能的实现方式中,所述服务器的IP地址为公网IP地址,所述第一获取模块具体被配置为:
第三获取单元,被配置为从预先设置的所述配置文件中,获取所述第一服务器的公网IP地址所属分组的所述第一组号。
结合第三方面,在第五种可能的实现方式中,每一所述分组对应的配置信息还包括每一服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态,所述第二处理模块具体被配置为:
第一响应单元,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,且所述第一服务器已经创建与所述直播间对应的业务实体对象,响应所述第一请求;
第四获取单元,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从所述数据库中获取所述第一服务器的状态;
第二响应单元,被配置为若所述第四获取单元获得的所述第一服务器的状态为第一状态,响应所述第一请求,所述第一状态为所述第一服务器未处于待删除的状态。
结合第三方面,在第六种可能的实现方式中,还包括:
第三处理模块,被配置为若所述第四获取单元获得的所述第一服务器的状态为第二状态,拒绝响应所述第一请求,所述第二状态为所述第一服务器处于待删除的状态。
根据本公开实施例的第四方面,提供一种数据处理装置,应用于负载均衡服务器,包括:第三接收模块,被配置为接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求得到所述第一标识对应的交互数据;所述第一请求的目的地址为第一服务器的虚拟互联网协议IP地址;所述虚拟IP地址包括所述负载均衡服务器的公网IP地址以及所述第一服务器对应的端口号;
第一变更模块,被配置为依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的所述目的地址中所述虚拟IP地址替换为与所述虚拟IP地址包含的端口号对应的目标私网IP地址;
第二发送模块,被配置为发送目的地址为所述目标私网IP地址的所述第一请求至所述第一服务器;
第四接收模块,被配置为接收所述第一服务器反馈的包含所述交互数据的第一报文;所述第一报文的源地址为所述目标私网IP地址;其中,所述第一报文是在第一组号与第二组号相同的情况下针对所述第一请求的响应报文,所述第一组号为所述第一服务器所属分组的组号,所述第二组号是基于所述第一标识计算得到的至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
第二变更模块,被配置为将所述第四接收模块接收的所述第一报文的源地址由所述目标私网IP地址替换为所述虚拟IP地址,得到第二报文;
第三发送模块,被配置为发送所述第二变更模块得到的所述第二报文至所述客户端。
结合第四方面,在第一种可能的实现方式中,还包括:
第二获取模块,被配置为获取所述负载均衡服务器所属分组对应的至少局部配置信息,所述至少局部配置信息包括所述第一组号以及将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址;
存储模块,被配置为将所述至少局部配置信息存储至所述数据库;
第一设置模块,被配置为设置将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址对应的私网IP地址。
结合第四方面,在第二种可能的实现方式中,还包括:
第二设置模块,被配置为若检测到在所述负载均衡服务器所属分组中增加第一目标服务器的第一操作,设置所述第一目标服务器的私网IP地址以及所述第一目标服务器的端口号的对应关系;
第二生成模块,被配置为生成第三请求,所述第三请求用于指示所述数据库在所述负载均衡服务器所属分组的配置信息中增加所述第一目标服务器的虚拟IP地址;
第三发送模块,被配置为发送所述第三请求至所述数据库。
结合第四方面,在第三种可能的实现方式中,还包括:还包括:
第三生成模块,被配置为若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求,所述第四请求用于指示所述数据库删除所述负载均衡服务器所属分组的配置信息中所述第二目标服务器的虚拟IP地址;
第四发送模块,被配置为发送所述第三生成模块生成的所述第四请求至所述数据库。
结合第四方面,在第四种可能的实现方式中,所述负载均衡服务器所属分组对应的配置信息还包括至少一个服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态;所述第三生成模块具体被配置为:
第一生成单元,被配置为若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的所述第二操作,生成第五请求;其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态;
发送单元,被配置为发送所述第一生成单元生成的所述第五请求至所述数据库;
第二生成单元,被配置为在生成所述第五请求之后的第一预设时长,生成所述第四请求。
根据本公开实施例的第五方面,提供一种第一服务器,包括:第一处理器;用于存储所述第一处理器可执行指令的第一存储器;其中,所述第一处理器被配置为执行所述指令,以实现如第一方面所述的数据处理方法。
根据本公开实施例的第六方面,提供一种负载均衡服务器,包括:第二处理器;用于存储所述第二处理器可执行指令的第二存储器;其中,所述第二处理器被配置为执行所述指令,以实现如第二方面所述的数据处理方法。
根据本公开实施例的第七方面,提供一种数据处理系统,所述数据处理系统包括:数据库、至少一个客户端、至少一个分组,一个所述分组包括至少一个第一服务器;其中,所述数据库用于存储配置文件,每一所述第一服务器,被配置为执行第一方面所述的数据处理方法。
结合第七方面,在第一种可能的实现方式中,每一所述分组对应的配置信息包括至少一个所述服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态;所述数据处理系统还包括API应用程序接口服务器;
所述API服务器,被配置为:
基于所述第一标识,计算得到所述第二组号;
每隔第二预设时长从所述数据库获取具有所述第二组号的分组对应的配置信息;
基于从所述数据库获得的所述配置信息更新自身存储的具有所述第二组号的分组对应的配置信息;
将具有所述第二组号的分组对应的配置信息中处于第一状态的服务器的虚拟IP地址发送至所述客户端,一个所述服务器处于所述第一状态是指所述服务器未处于待删除的状态。
结合第七方面,在第二种可能的实现方式中,每一所述分组对应的配置信息包括至少一个所述服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态;所述数据处理系统还包括API应用程序接口服务器,所述数据库还被配置为:
接收所述API服务器获取所述配置文件的请求;
将所述配置文件包含的所属至少一个分组中处于第一状态的服务器的虚拟IP地址、所述至少一个分组分别对应的组号以及所述分组的总数目发送至所述API服务器,一个所述服务器处于所述第一状态是指所述服务器未处于待删除的状态。
根据本公开实施例的第八方面,提供一种存储介质,当所述存储介质中的指令由第一服务器的第一处理器执行时,使得第一服务器能够执行如第一方面所述的数据处理方法。
根据本公开实施例的第九方面,提供一种存储介质,当所述存储介质中的指令由负载均衡服务器的处理器执行时,使得负载均衡服务器能够执行如第二方面所述的数据处理方法。
根据本公开实施例的第十方面,提供一种计算机程序产品,可直接加载到计算机的内部存储器,例如上述第五方面所述第一服务器包含的第一存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现如第一方面所述数据处理方法。
根据本公开实施例的第十一方面,提供一种计算机程序产品,可直接加载到计算机的内部存储器,例如上述第六方面所述负载均衡服务器包含的第二存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现如第二方面所述数据处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例提供的数据处理方法中,第一服务器接收到第一请求后,会从预先设置的配置文件中,获取第一服务器所属分组的第一组号;基于第一请求携带的第一标识计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据,由于第一服务器能够获得第一组号以及第二组号,所以第一服务器具有“鉴别分组”的功能;若第一组号与第二组号相同,说明第一服务器属于具有第二组号的分组,因此,第一服务器可以响应第一请求。若第一组号与第二组号不相同,说明第一服务器不属于组号为第二组号的分组,因此,第一服务器不响应第一请求,即本公开实施例利用第一服务器“鉴别分组”的功能,实现仅组号为第二组号的分组可以响应第一请求,其他分组中的服务器不能响应第一请求,从而避免了相关机构对应的客户端可以向任一服务器发送第一请求,任一服务器即使不属于组号为第二组号的分组,也只能被动响应第一请求的情况。减少了服务器仅为一个客户端提供交互数据的情况,节约了服务器资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种数据处理方法的信令图;
图2是根据一示例性实施例示出的第一种应用场景的架构图;
图3是根据一示例性实施例示出的第二种应用场景的架构图;
图4是根据一示例性实施例示出的一种数据处理方法的流程图;
图5是根据一示例性实施例示出的一种应用于负载均衡服务器的数据处理方法的流程图;
图6是根据一示例性实施例示出的另一种数据处理方法的信令图;
图7是根据一示例性实施例示出的一种更新一个分组对应的配置信息方法的信令图;
图8是根据一示例性实施例示出的又一种更新一个分组对应的配置信息方法的信令图;
图9是根据一示例性实施例示出的又一种数据处理方法的流程图;
图10是根据一示例性实施例示出的应用于第一服务器的数据处理装置框图;
图11是根据一示例性实施例示出的应用于负载均衡服务器的数据处理装置框图;
图12是根据一示例性实施例示出的一种用于第一服务器14的框图;
图13是根据一示例性实施例示出的一种用于负载均衡服务器31的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在对本公开实施例提供的技术方案进行说明之前,先对本公开实施例涉及的相关技术以及应用场景进行详细说明。
首先对本公开实施例可能涉及的相关技术进行说明。
用户通过客户端显示的直播间观看直播,客户端会向API(Application ProgramInterface,应用程序接口)服务器请求两种数据,其中,第一种数据为直播间播放的直播数据(直播数据包括音频数据和视频数据中至少一个),第二种数据为直播间对应的交互数据,例如,表征观众给主播打赏的数据,观众在直播间发送的语音或文字或图片等数据。在实施例中,直播间对应的交互数据可依据直播间的第一标识获取。
示例性的,API服务器可以向客户端反馈CDN(Content Delivery Network,内容分发网络)服务器对应的拉流地址,以使得客户端基于拉流地址从CDN服务器获得直播数据。
示例性的,API服务器可以向客户端反馈客户端能够建立通信连接的服务器的IP地址(Internet Protocol Address,互联网协议地址),以使得客户端与服务器建立通信连接,并基于通信连接向服务器发送获取直播间对应的交互数据的请求;服务器接收到该请求后,将获得的交互数据通过通信连接发送至客户端。例如,API服务器向客户端反馈服务器的IP地址,客户端获取到该IP地址后,与该服务器建立长连接,客户端通过该长连接向该服务器发送交互数据的请求;服务器接收到该请求后,反馈交互数据,交互数据通过该长连接被传输到客户端。
下面对相关技术中客户端获取交互数据的过程进行详细说明。本公开实施例可能涉及的相关技术涉及API服务器11、数据库12、至少一个客户端13以及至少一个服务器14。
示例性的,客户端13可以为应用程序客户端或网页版客户端。
示例性的,API服务器11可以为一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务器中心。
示例性的,服务器14可以为一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务器中心。
示例性的,API服务器11、服务器14均可以访问数据库12。
图1是相关技术中数据处理方法的信令图,该方法在实施过程中包括以下步骤S101至步骤S110。
图1中示出了一个客户端13、两个服务器14。图1仅仅是一种示例,实际应用中客户端13、服务器14的数量可以按照实际需求设定。
在步骤S101中,客户端13生成用于获取服务器的IP地址的地址获取请求;将地址获取请求发送至API服务器11。
示例性的,地址获取请求携带的目的地址为API服务器11的公网IP地址,源地址为客户端13 所在电子设备的公网IP地址。
示例性的,地址获取请求的表现形式可以为报文,示例性的,可以为HTTP(超文本传输协议, HyperText Transfer Protocol)请求报文,或,HTML(文本标记语言,HypertextMarkup Language) 请求报文,或,XML(可扩充标注语言,Extensible Markup Language)请求报文,或,JSON(JavaScript Object Notation)请求报文,或,自定义报文。
本公开实施例提及的客户端13的公网IP地址是指客户端所在电子设备的公网IP地址。
客户端所在电子设备可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如手机、平板电脑、掌上电脑、个人计算机、可穿戴设备、智能电视等。
地址获取请求携带所述客户端显示的直播间的第一标识,示例性的,第一标识可以为所述直播间的房间号或所述直播间主播的ID。
在步骤S102中,API服务器11响应地址获取请求,从数据库12中获得配置文件。
所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的公网IP地址。
示例性的,配置文件还包括所述至少一个分组的总数目,即分组的数量。
在一可选实现方式中,可以设置有多个机房,不同机房所在地理位置不同,例如,机房1位于上海,机房2位于北京;一个机房中设置有一个或多个服务器。
在一可选实现方式中,同一地理位置可以设置一个或多个机房。
可以理解的是,不同的客户端可能位于不同的地理位置或相同的地理位置。一个示例中,服务器 A1与客户端位于同一地理位置,服务器A2与客户端位于不同地理位置,则客户端与服务器A1进行数据交互的第一速度,大于,客户端与服务器A2进行数据交互的第二速度。特殊情况下,若服务器 A1的网络状态较差,那么,第一速度可能小于或等于第二速度。
在一可选实现方式中,为了满足上述一般情况和特殊情况,将各机房中包含的服务器进行分组,一个分组包含每一机房中至少一个服务器。
假设一共有3个机房,分别为机房1、机房2和机房3,机房1中设置有4个服务器,分别为:服务器A1、服务器A2、服务器A3、服务器A4;机房2中设置有3个服务器,分别为;服务器B1、服务器B2、服务器B3;机房3中设置有3个服务器,分别为:服务器C1、服务器C2以及服务器C3。
可以分为3个分组,分组1包括:服务器A1、服务器B1、服务器C1;分组2包括:服务器A2、服务器A3、服务器B2、服务器C2;分组3包括:服务器A4、服务器B3以及服务器C3。此时,所述至少一个分组的总数目,即分组的数量为3。
在步骤S103中,API服务器11基于第一标识确定第二组号。
在一可选实现方式中,API服务器11可以基于第一标识以及总数目,计算得到第二组号。
示例性的,假设第一标识为直播间的主播ID,那么,基于第一标识以及总数目,计算得到第二组号的过程可以包括步骤A1至步骤A2。
在步骤A1中,获得主播的ID的hash值,int hash=clientIp.hash()。
在步骤A2中,用hash值对总数目进行取模,例如,总数目用变量NUM表示,intindex=hash% NUM();其中,index即为第二组号。可选的,NUM可以为任一正整数,例如64。
示例性的,可以对第一标识和总数目进行预设运算,以得到第二组号。预设运算包括乘法、除法、加法、加权平均值中至少一种。
在步骤S104中,API服务器11将组号为第二组号的分组包含的服务器的公网IP地址发送至客户端13。
本公开实施例中,称组号为第二组号的分组为第二分组,将第二分组包含的服务器称为目标服务器。图1中以第二分组包含的服务器数目为2为例进行说明,但是图1仅为示例,并不限定第二分组包含的服务器的数目。
在步骤S105中,客户端13向各目标服务器14的公网IP地址分别发送第二请求。
所述第二请求用于请求与目标服务器建立通信连接。针对每一目标服务器而言,第二请求携带的源地址为客户端13的公网IP地址,携带的目的地址为该目标服务器的公网IP地址。
由于API服务器11仅将组号为第二组号的分组中的服务器的公网IP地址发送至客户端13,所以客户端13仅能够与组号为第二组号的分组中的服务器进行通信,即客户端13只能通过组号为第二组号的分组中的任一服务器得到交互数据,即API服务器计算得到的第二组号,即为确定获得交互数据的服务器所属分组的组号。
在步骤S106中,对于每一目标服务器14而言,若接受第二请求,生成接受所述第二请求的第一响应消息;将所述第一响应消息发送至客户端13。
在步骤S106中,对于每一目标服务器14而言,第一响应消息携带的目的地址为所述客户端的公网IP地址,携带的源地址为该目标服务器的公网IP地址。
在步骤S107中,客户端13接收各目标服务器反馈的第一响应消息,并维持与第一个第一响应消息所对应的目标服务器14的通信连接,断开与其他目标服务器的通信连接。其中,第一个第一响应消息为客户端第一个接收到的第一响应消息,即最早接收到的第一响应消息。
本公开实施例中,将客户端13维持的通信连接的目标服务器称为第一服务器。
假设图1所示的两个服务器中一个服务器为上述第一服务器。如图1所示,客户端13断开与其中一个服务器的通信连接,保留另一个服务器的通信连接。图1所示的长方形虚线框表征客户端13保留的通信连接,此时与客户端13保持通信连接的服务器被称为第一服务器。
在步骤S108中,客户端13基于第一服务器14的公网IP地址,向第一服务器14发送第一请求。
所述第一请求用于请求所述第一标识对应的交互数据。
示例性的,第一请求的表现形式可以为报文,示例性的,可以为HTTP(超文本传输协议,HyperText Transfer Protocol)请求报文,或,HTML(文本标记语言,HypertextMarkup Language)请求报文,或, XML(可扩充标注语言,Extensible Markup Language)请求报文,或,JSON(JavaScript Object Notation) 请求报文,或,自定义报文。
下面以HTTP请求报文为例对报文的格式进行说明。HTTP请求报文由请求行、请求头部、空行和请求包体四个部分组成。
示例性的,第一标识可以位于请求头部。
在步骤S109中,第一服务器14接收到第一请求后,响应第一请求。
示例性的,响应第一请求的过程包括:检测自己是否已经创建该直播间对应的业务实体对象;若已经创建,则将客户端13与业务实体对象建立关联;若未创建,则创建该直播间对应的业务实体对象,并将客户端13与业务实体对象建立关联。
示例性的,业务实体对象可以为消息广播房间。
示例性的,客户端13与业务实体对象建立关联是指,业务实体对象存储客户端13的网络连接信息。示例性的,网络连接信息包括:物理地址(MAC地址,媒体访问控制地址)和公网IP地址中的至少一个。
示例性的,业务实体对象是用于获取交互数据的组件。
在步骤S110中,第一服务器14通过该业务实体对象从数据库12获得的第一标识对应的交互数据,并将包含该交互数据的报文发送至客户端13。
示例性的,观看直播数据的各用户在直播间中发送交互数据的过程包括:每一用户通过客户端13 将交互数据发送至API服务器;API服务器将交互数据存储至数据库12中。
示例性的,第一服务器与客户端13之间的通信连接可以为长连接,所以,在直播过程中,第一服务器中的业务实体对象可以从数据库12中获得交互数据,并发送至客户端13,直至直播结束。
在上述图1所示的相关技术的数据处理方法中,具有如下两个技术问题:
第一个技术问题:相关机构需要获得直播间的第一标识对应的交互信息,例如,主播签约机构需要获得直播间中的观众给主播打赏的数据,以确定该主播是否具有签约价值;相关机构可以直接基于任一服务器的公网IP地址向服务器发送获取直播间的第一标识对应的交互数据的请求。
相关机构的客户端不需要经过步骤S101至步骤S107,由于相关机构对应的客户端可以得到各服务器的公网IP地址,可以直接执行步骤S108至步骤S110;即相关机构的客户端可以直接向任一服务器发送第一请求,任一服务器接收到第一请求后,均会响应第一请求。
下面以直播间为直播间A为例进行说明,假设API服务器基于直播间A对应的第一标识得到的第二组号为组号1。假设相关机构对应的客户端向组号为组号2的分组包含的服务器A发送了第一请求,那么,服务器A可以响应第一请求。
由于若按照步骤S101至步骤S110,位于组号为组号2的分组中的服务器无需创建直播间A对应的业务实体对象,也无需获得直播间A的第一标识对应的交互数据,所以对于位于组号为组号2的分组中的服务器而言,需要额外维护直播间A对应的业务实体对象,以及,需要额外获得直播间A的第一标识对应的交互数据。
且若位于组号为组号2的分组中的服务器仅接收到相关机构对应的一个客户端发送的第一请求,即位于组号为组号2的分组中的服务器创建的业务实体对象仅为一个客户端进行服务,导致资源的浪费。
第二个技术问题:公网IP地址的数目有限,为每一服务器设置一公网IP地址,耗费了较多的公网IP地址。
本公开实施例提供的数据处理方法可能应用的场景有多种,本公开实施例提供但不限于以下两种。
第一种应用场景如图2所示。
图2是根据一示例性实施例示出的第一种应用场景的架构图,如图2所示,本公开实施例提供的数据处理方法可以应用于该应用场景中。第一种应用场景包括:API服务器11、数据库12、至少一个客户端13以及至少一个服务器14。
图2示出了2个客户端13、2个服务器14,图2仅仅是一种示例,实际应用中客户端13、服务器 14的数量可以按照实际需求设定。
在第一种应用场景中,数据库12存储的配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的公网IP地址。
任一客户端13可以基于有线网络或无线网络与API服务器11进行通信。任一客户端13可以基于有线网络或无线网络与服务器14进行通信。API服务器11、服务器14均可以访问数据库12。
第一种应用场景中API服务器11、数据库12、至少一个客户端13以及至少一个服务器14的交互过程包括步骤S101至步骤S108、下述步骤A1、步骤A2、步骤A3、步骤S109、步骤S110以及步骤A4。
在第一种应用场景中,对于每一客户端13而言,“至少一个服务器14”中客户端13接收的第一个第一响应消息所对应的服务器14为第一服务器14。
在步骤A1中,第一服务器14从数据库12预先存储的配置文件中,获取所述第一服务器所属分组的第一组号。
在步骤A2中,第一服务器14基于第一标识计算得到第二组号。
在步骤A3中,第一服务器14判断第一组号与所述第二组号是否相同,若相同执行步骤S109;若不相同,执行步骤A4。
在步骤A4中,拒绝响应所述第一请求。
示例性的,若所述第一组号与所述第二组号不相同,第一服务器14断开与客户端13的通信连接。
由于第一服务器14可以得到第一组号以及第二组号,所以第一服务器具有“鉴别分组”的功能。“鉴别分组”的功能是指鉴别自身所在分组与获取所述交互数据的服务器所属分组是否为同一分组。若为同一分组,则说明第一服务器14具有获得第一标识对应的交互数据的“权限”。若不在同一分组,则说明第一服务器14不具有获取第一标识对应的交互数据的“权限”。从而避免了相关机构对应的客户端可以向任一服务器发送第一请求,任一服务器必须响应第一请求的情况,即使该服务器不属于获取所述交互数据的至少一个服务器所属分组。即第一种应用场景解决了图1所示相关技术中的第一个技术问题。
第二种应用场景如图3所示。
图3是根据一示例性实施例示出的第二种应用场景的架构图,如图3所示,本公开实施例提供的数据处理方法可以应用于该应用场景中。第二种应用场景包括:API服务器11、数据库12、至少一个客户端13、至少一个服务器14以及至少一个负载均衡服务器31。
图3示出了1个客户端13、1个服务器14、1个负载均衡服务器31,图3仅仅是一种示例,实际应用中客户端13、服务器14、负载均衡服务器31的数量可以按照实际需求设定。
任一客户端13可以基于有线网络或无线网络与API服务器11进行通信。任一客户端13可以基于有线网络或无线网络与服务器14进行通信。
API服务器11、服务器14、负载均衡服务器31均可以访问数据库12。
负载均衡服务器31可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者,一个云计算服务器中心。
为了解决图1所述技术方案中的第二个技术问题,在第二种应用场景中,不为每一服务器分配公网IP地址,而是为每一服务器分配一个私网IP地址,但是由于客户端13与服务器不属于同一局域网,所以客户端13不能基于服务器的私网IP地址访问服务器,因此,第二种应用场景引入了负载均衡服务器,负载均衡服务器作为客户端13与服务器之间传输数据(包括请求和交互数据)的中间媒介。
示例性的,负载均衡服务器可以为四层负载均衡服务器。
通常情况下,负载均衡服务器的总数量小于服务器14的总数量。
在第二种应用场景中,示例性的,数据库12存储的配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的虚拟IP地址,一个服务器的虚拟IP地址包括作为所述服务器与客户端数据转发媒介的负载均衡服务器的公网IP 地址以及所述服务器对应的端口号。
下面对负载均衡服务器的功能进行说明,负载均衡服务器作为中间媒介转发数据的过程包括步骤 B1至步骤B5。下面以客户端发送第一信息为例进行说明,示例性的,第一信息可以为本公开实施例提及的第一请求或第二请求。相应的服务器反馈的第二信息可以为本公开实施例提及的与第一信息对应的信息,例如,若第一信息为第一请求,第二信息为包括交互数据的报文;若第一信息为第二请求,第二信息为第一响应消息。
在步骤B1中,客户端13发送第一信息,第一信息携带的源地址为客户端13的公网IP地址、目的地址为服务器的虚拟IP地址A。
在步骤B2中,负载均衡服务器接收到第一信息后,基于预先存储的至少一个端口号与私网IP地址的对应关系,获得虚拟IP地址A包含的端口号对应的私网IP地址A。
在步骤B3中,负载均衡服务器将第一信息中的目的地址替换为私网IP地址A,即替换后的第一信息的源地址为客户端13的公网IP地址、目的地址为私网IP地址A;将替换后的第一信息发送至服务器。
在步骤B4中,服务器接收替换后的第一信息,向负载均衡服务器返回第二信息,第二信息的源地址为私网IP地址A、目的地址为客户端13的公网IP地址。
在步骤B5中,负载均衡服务器接收第二信息,基于预先存储的至少一个端口号与私网IP地址的对应关系,获得私网IP地址A对应的端口号A,将第二信息的源地址替换为虚拟IP地址A(包括端口号A),替换后的第二信息的源地址为虚拟IP地址A、目的地址为客户端13的公网IP地址;将替换后的第二信息发送至客户端13。
结合负载均衡服务器的功能可知,本公开实施例加入了负载均衡服务器,使得负载均衡服务器作为客户端13与服务器14之间传输数据(包括请求和交互数据)的中间媒介。由于每一分组中负载均衡服务器的数量小于服务器的数量,因此,为负载均衡服务器分配的公网IP地址的数量小于图1所示的相关技术中为服务器分配的公网IP地址的数量,从而节约了公网IP地址。
第二种应用场景包含的API服务器11、数据库12、至少一个客户端13、至少一个服务器14以及至少一个负载均衡服务器31的交互过程与第一种实现环境包含的API服务器11、数据库12、至少一个客户端13、至少一个服务器14的交互过程类似,区别点在于客户端13与服务器14之间的数据交互均由负载均衡服务器转发,且,客户端13向服务器14发送的信息携带的目的地址不是服务器的公网IP地址,而是服务器的虚拟IP地址,负载均衡服务器转发的服务器14向客户端13发送的信息携带的源地址不是服务器的公网IP地址,而是服务器的虚拟IP地址。
在第二种应用场景中,对于每一客户端13而言,“至少一个服务器14”中客户端13接收的第一个第一响应消息所对应的服务器14为第一服务器14。
即第二种应用场景同时解决了图1所示技术方案中的第一个技术问题与第二个技术问题。
本领域技术人员应能理解上述客户端、服务器仅为举例,其他现有的或今后可能出现的客户端、服务器如可适用于本公开,也应包含在本公开保护范围以内,并在此以引用方式包含于此。
下面结合上述第一种应用场景以及第二种应用场景对本公开实施例提供的数据处理方法进行说明,下面结合附图对本公开实施例提供的技术方案进行介绍。
图4是根据一示例性实施例示出的一种数据处理方法的流程图,该方法用于第一种应用场景中或第二种应用场景中任一第一服务器,该方法在实施过程中包括以下步骤S41至步骤S47。
在步骤S41中,第一服务器14接收客户端13发送的第一请求。
所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求获取位于所述直播间的各用户之间的交互数据。
在步骤S42中,第一服务器14从数据库12预先存储的配置文件中,获取所述第一服务器所属分组的第一组号。
所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的IP地址。
示例性的,针对第一种应用场景而言,一个服务器的IP地址为公网IP地址。
示例性的,针对第二种应用场景而言,一个服务器的IP地址为虚拟IP地址,虚拟IP地址包括负载均衡服务器的公网IP地址以及该服务器的端口号。
示例性的,针对第二种应用场景而言,一个服务器的IP地址包括虚拟IP地址以及私网IP地址。
在步骤S43中,第一服务器14基于所述第一标识,计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据。
示例性的,第一服务器14基于所述第一标识计算得到组号的方式与API服务器11基于所述第一标识计算得到组号的方式相同,所以步骤S43得到的第二组号为至少一个第二服务器所属分组的组号。
示例性的,若第一组号和第二组号相同,则第一服务器为所述至少一个第二服务器中任一服务器;若第一组号和第二组号不同,则第一服务器不同于所述至少一个第二服务器中任一服务器。
在步骤S44中,第一服务器14比较第一组号以及第二组号,若第一组号与第二组号不同,执行步骤S45,若第一组号与第二组号相同,执行步骤S46。
由于第一服务器14可以得到第一组号以及第二组号,所以第一服务器具有“鉴别分组”的功能。“鉴别分组”的功能是指鉴别预先设置的自身所在分组与获得所述交互数据的至少一个服务器所属分组是否为同一分组。若为同一分组,则说明第一服务器14具有获得该直播间的交互数据的“权限”。若不在同一分组,则说明第一服务器14不具有获取该直播间的交互数据的“权限”。
在步骤S45中,第一服务器14拒绝响应所述第一请求。
示例性的,第一服务器14拒绝响应所述第一请求可以包括:第一服务器14忽略或丢弃所述第一请求,不会基于第一请求创建该直播间对应的业务实体对象。
在步骤S46中,第一服务器14响应所述第一请求。
示例性的,第一服务器14响应第一请求的过程可以参见针对步骤S109的说明,这里不再赘述。
示例性的,若第一服务器中与该直播间对应的业务实体对象获得该直播间的第一标识对应的交互数据,则第一服务器通过所述通信连接将获得的所述交互数据发送至所述客户端。
本公开实施例提供的数据处理方法中,第一服务器接收到第一请求后,会从预先设置的配置文件中,获取第一服务器所属分组的第一组号,第一组号是数据库存储的预设的第一服务器所在分组的组号;基于第一请求携带的第一标识计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据,由于第一服务器能够获得第一组号以及第二组号,所以第一服务器具有“鉴别分组”的功能;若第一组号与第二组号相同,说明第一服务器属于组号为第二组号的分组,因此,第一服务器可以响应第一请求。若第一组号与第二组号不相同,说明第一服务器不属于组号为第二组号的分组,因此,第一服务器不响应第一请求,即本公开实施例利用第一服务器“鉴别分组”的功能,实现组号为第二组号的服务器可以响应第一请求,其他分组中的服务器不能响应第一请求,从而避免了相关机构对应的客户端可以向任一服务器发送第一请求,任一服务器即使不属于组号为第二组号的分组,也只能被动响应第一请求的情况。即解决了图1所示相关技术中的第一个技术问题。
在对第二种应用场景包含的API服务器11、数据库12、至少一个客户端13、至少一个服务器14 以及至少一个负载均衡服务器31之间的交互过程进行说明之前,先介绍负载均衡服务器。
图5是根据一示例性实施例示出的一种应用于负载均衡服务器的数据处理方法的流程图,该方法在实现过程中包括以下步骤S51至步骤S56。
在步骤S51中,负载均衡服务器31接收客户端发送的第一请求。
所述第一请求携带所述客户端显示的直播间的第一标识。所述第一请求中的目的地址为所述第一服务器的虚拟IP地址。
在步骤S52中,负载均衡服务器31依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的目的地址中所述第一服务器的虚拟IP地址替换为第一服务器的目标私网IP地址。
本公开实施例中,称第一服务器的私网IP地址为目标私网IP地址。
其中,第一服务器的目标私网IP地址为第一服务器的虚拟IP地址包含的端口号对应的私网IP地址。
在步骤S53中,负载均衡服务器31将所述第一请求发送至所述第一服务器14。
步骤S53中的第一请求的目的地址为第一服务器的目标私网IP地址。
在步骤S54中,负载均衡服务器31接收所述第一服务器14反馈的包含交互数据的第一报文。
其中,所述第一报文的源地址为所述第一服务器的目标私网IP地址;其中,所述第一报文是在第一组号与第二组号相同的情况下针对所述第一请求的响应报文,所述第一组号为所述第一服务器所属分组的组号,所述第二组号是基于所述第一标识计算得到的用于获取所述交互数据的第二服务器所属分组的组号。
在步骤S55中,负载均衡服务器31基于预先存储的至少一个端口号与私网IP地址的对应关系,将所述第一报文中的源地址由所述目标私网IP地址替换为所述第一服务器的虚拟IP地址,以得到第二报文。
在步骤S56中,负载均衡服务器31将所述第二报文发送至所述客户端。
本公开实施例提供的应用于负载均衡服务器的数据处理方法中,在第一服务器检测到第一组号与第二组号相同的情况下,负载均衡服务器才会获得交互数据,在第一服务器检测到第一组号与第二组号不相同的情况下,负载均衡服务器不会得到交互数据。即服务器具有“鉴别分组”的功能。
本公开实施例加入了负载均衡服务器,使得负载均衡服务器作为客户端13与服务器之间传输的数据(包括请求和交互数据)的中间媒介。由于每一分组中负载均衡服务器的数量小于服务器的数量,因此,本公开实施例为负载均衡服务器分配的公网IP地址的数量小于图1所示的相关技术中为服务器分配的公网IP地址的数量,从而节约了公网IP地址。
下面针对第二种应用场景包含的API服务器11、数据库12、至少一个客户端13、至少一个服务器14以及至少一个负载均衡服务器31之间的交互过程进行说明。
图6是根据一示例性实施例示出的另一种数据处理方法的信令图,该方法应用于第二种应用场景,该方法在实施过程中包括以下步骤S601至步骤S620。
在步骤S601中,客户端13生成用于获取服务器的IP地址的地址获取请求;将地址获取请求发送至API服务器11。
示例性的,地址获取请求携带的目的地址为API服务器11的公网IP地址,源地址为客户端13 所在电子设备的公网IP地址。地址获取请求携带上述第一标识。
在步骤S602中,API服务器11从数据库12中获得配置文件。
针对配置文件的说明,可以参见第二种应用场景中针对配置文件的说明,这里不再赘述。
示例性的,配置文件的表现形式可以为数组、表格、结构体或链表等。为了让本领域技术人员更加理解本公开实施例提及的配置文件,下面以配置文件的表现形式为表格为例进行说明。
假设分组的总数目为2,2个分组的组号分别为组号1和组号2,组号为组号1的分组包含服务器 A1、服务器A2、服务器A3、服务器A4、负载均衡服务器B1以及负载均衡服务器B2。组号为组号2 的分组包含服务器A5、服务器A6、服务器A7以及负载均衡服务器B3。
其中,负载均衡服务器B1的公网IP地址为10.1.1.1;负载均衡服务器B2的公网IP地址为10.1.1.2;服务器A1的虚拟IP地址为10.1.1.1:8081;服务器A2的虚拟IP地址为10.1.1.1:8082;服务器A3 的虚拟IP地址为10.1.1.2:8083;服务器A4的虚拟IP地址为10.1.1.2:8084。
负载均衡服务器B3的公网IP地址为10.1.1.3,服务器A5的虚拟IP地址为10.1.1.3:8081;服务器A6的虚拟IP地址为10.1.1.3:8085;服务器A7的虚拟IP地址为10.1.1.3:8082。示例性的,配置文件如表1所示。
表1配置文件
如表1所示,由于服务器的虚拟IP地址包括负载均衡服务器的公网IP地址,示例性的,配置文件可以无需单独存储负载均衡服务器的公网IP地址,示例性的,配置文件可以单独存储负载均衡服务器的公网IP地址,本公开实施例对此不做具体限制。
通过上述举例可知,一个分组可以包括一个或多个负载均衡服务器。在一可选实现方式中,一个分组若包括多个负载均衡服务器,不同的负载均衡服务器所处地理位置不同;在一可选实现方式中,一个分组若包括多个负载均衡服务器,不同的负载均衡服务器所处地理位置可以相同。
在步骤S603中,API服务器11基于第一标识确定第二组号。
具体可以参见步骤S103的描述,这里不再赘述。
在步骤S604中,API服务器11将组号为第二组号的分组包含的目标服务器的虚拟IP地址发送至客户端13。
本公开实施例中,称组号为第二组号的分组为第二分组。将第二分组包含的服务器称为目标服务器。第二分组包含的目标服务器的数目可以为1、2、3、4,…,等任意正整数。
图6中仅示出了第二分组中与客户端13建立通信连接最快的目标服务器,即步骤S613中客户端保留的第一服务器14。
在步骤S605中,客户端13向各目标服务器的虚拟IP地址分别发送第二请求。
所述第二请求用于请求与目标服务器建立通信连接。针对每一目标服务器而言,第二请求携带的源地址为客户端13的公网IP地址,携带的目的地址为该目标服务器的虚拟IP地址。
可以理解的是,由于目标服务器的虚拟IP地址包括相应的负载均衡服务器的公网IP地址以及该目标服务器的端口号,所以客户端向各目标服务器的虚拟IP地址分别发送的第二请求,会发送至相应的负载均衡服务器。
若第二分组包含一个负载均衡服务器,那么,客户端向各目标服务器的虚拟IP地址分别发送的第二请求均由该负载均衡服务器接收。
下面以第二组号为表1中的组号2为例进行说明,该分组包括一个负载均衡服务器B3,客户端 13向服务器A5、服务器A6以及服务器A7分别发送的第二请求由负载均衡服务器B3接收。
若第二分组包含至少两个载均衡服务器,那么,客户端向各目标服务器的虚拟IP地址分别发送的第二请求分别由上述至少两个负载均衡服务器接收。
以第二组号为表1中的组号1为例进行说明,该分组包括负载均衡服务器B1以及负载均衡服务器B2,客户端13向服务器A1或服务器A2发送的第二请求由负载均衡服务器B1接收;客户端13 向服务器A3或服务器A4发送的第二请求由负载均衡服务器B2接收。
对于第二分组包含的任一个负载均衡服务器而言,针对接收到的每一第二请求进行的操作相同,下面以任一负载均衡服务器对一个第二请求的操作为例进行说明,任一负载均衡服务器对一个第二请求的操作在实施过程中包括以下步骤S606至步骤S613。
在步骤S606中,负载均衡服务器31接收客户端13发送的第二请求;从预先设置的至少一个端口号与私网IP地址的对应关系中,确定该第二请求中目的地址对应的私网IP地址。
目的地址对应的私网IP地址,即为目的地址包含的虚拟IP地址中的端口号对应的私网IP地址。
在步骤S607中,负载均衡服务器31将第二请求中目的地址替换为目标服务器的私网IP地址,将变更后的第二请求发送至相应的目标服务器14。
在步骤S608中,目标服务器14若响应所述第二请求,生成第一响应消息,所述第一响应消息用于表征成功与所述客户端建立通信连接;所述第一响应消息的源地址为所述目标服务器的私网IP地址。
图6中用长方形虚线边框表征成功建立的通信连接。
在步骤S609中,目标服务器14将第一响应消息发送至负载均衡服务器31。所述第一响应消息中源地址为所述目标服务器的私网IP地址,第一响应消息中的目的地址为客户端13的公网IP地址。
在步骤S610中,负载均衡服务器31接收到第一响应消息后,从预先设置的至少一个端口号与私网IP地址的对应关系中,确定该第一响应消息中源地址包含的目标服务器的私网IP地址对应的端口号。
在步骤S611中,负载均衡服务器31将第一响应消息中源地址替换为目标服务器的虚拟IP地址,得到第二响应消息。
目标服务器的虚拟IP地址包括负载均衡服务器31的公网IP地址以及步骤S610确定的目标服务器的私网IP地址对应的端口号。
在步骤S612中,负载均衡服务器31将第二响应消息发送至客户端13。
每一负载均衡服务器针对接收到的一个第二请求执行上述步骤S606至步骤S612,以使得客户端 13可以接收到多个第二响应消息。
示例性的,目标服务器与负载均衡服务器为同一局域网,因此,负载均衡服务器与目标服务器可以基于私网IP地址进行交互。
在步骤S613中,客户端13接收到多个服务器反馈的第二响应消息,并保留收到第二响应消息时间最早的目标服务器的通信连接,断开与其他目标服务器的通信连接。
本公开实施例中,将客户端13保留的通信连接对应的目标服务器称为第一服务器。
图6所示的第一服务器为第二分组中任一目标服务器。本公开实施例中称第一服务器的私网IP地址为目标私网IP地址。
在步骤S614中,客户端13基于第一服务器的虚拟IP地址,向第一服务器发送第一请求。
在步骤S615中,负载均衡服务器31依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的目的地址替换为第一服务器的目标私网IP地址,将变更后的所述第一请求发送至所述第一服务器14。
其中,第一服务器的目标私网IP地址为第一服务器的虚拟IP地址包含的端口号对应的私网IP地址。
在步骤S616中,第一服务器14接收到第一请求,从预先设置的配置文件中,获取负载均衡服务器31的公网IP地址所属分组的第一组号。
可以理解的是,由于将第一请求转发至第一服务器的负载均衡服务器31与第一服务器属于同一分组,因此,可以基于负载均衡服务器所属分组,确定第一服务器所属分组。
在一可选实现方式中,步骤S616涉及的配置文件中包括每一服务器的私网IP地址以及虚拟IP地址。步骤S616的实现方式还可以为:第一服务器14接收到第一请求,从预先设置的配置文件中,获取第一服务器的私网IP地址所属分组的第一组号。
仍以配置文件的表现形式为表格为例对配置文件进行说明。
假设分组的总数目为2,2个分组的组号分别为组号1和组号2,具有组号1的分组包含服务器 A1、服务器A2、服务器A3、服务器A4、负载均衡服务器B1以及负载均衡服务器B2。组号为组号2 的分组包含服务器A5、服务器A6、服务器A7以及负载均衡服务器B3。
其中,负载均衡服务器B1的公网IP地址为10.1.1.1;负载均衡服务器B2的公网IP地址为10.1.1.2;服务器A1的虚拟IP地址为10.1.1.1:8081,私网IP地址为192.0.0.1;服务器A2的虚拟IP地址为10.1.1.1: 8082,私网IP地址为192.0.0.2;服务器A3的虚拟IP地址为10.1.1.2:8083,私网IP地址为192.0.0.3;服务器A4的虚拟IP地址为10.1.1.2:8084,私网IP地址为192.0.0.4。
负载均衡服务器B3的公网IP地址为10.1.1.3,服务器A5的虚拟IP地址为10.1.1.3:8081,私网 IP地址为192.0.0.5;服务器A6的虚拟IP地址为10.1.1.3:8085,私网IP地址为192.0.0.6;服务器 A7的虚拟IP地址为10.1.1.3:8082,私网IP地址为192.0.0.7。那么,示例性的,配置文件如表2所示。
表2配置文件
在步骤S617中,第一服务器14基于所述第一标识,计算得到第二组号。
针对步骤S617的说明可以参见针对步骤S43的说明,这里不再赘述。
在步骤S618中,比较第一组号与第二组号,若第一组号与第二组号相同,执行步骤S619,若第一组号与第二组号不相同,执行步骤S620。
在步骤S619中,第一服务器响应所述第一请求。
可选的,响应所述第一请求的操作可以参见步骤S46,这里不再赘述。
在步骤S620中,拒绝响应所述第一请求。
针对步骤S620的描述可参见步骤S45,这里不再赘述。
基于图6所示技术方案可知,本公开实施例加入了负载均衡服务器,使得负载均衡服务器作为客户端13与服务器之间传输数据(包括请求和交互数据)的中间媒介。由于每一分组中负载均衡服务器的数量小于服务器的数量,因此,本公开实施例为负载均衡服务器分配的公网IP地址的数量小于图1 所示的相关技术中为服务器分配的公网IP地址的数量,从而节约了公网IP地址。
在一可选实现方式中,在第二种应用场景中,负载均衡服务器31将获得的所述交互数据发送至所述客户端的具体实现过程如步骤C1至步骤C4所示。
在步骤C1中,第一服务器14获取该直播间的第一标识对应的交互数据,生成携带所述交互数据的第一报文。
在一可选实现方式中,第一服务器14中与第一标识对应的业务实体对象从数据库12中获取交互数据。
在步骤C2中,第一服务器14将第一报文发送至负载均衡服务器31。
所述第一报文的源地址为所述第一服务器14的目标私网IP地址,目的地址为客户端13的公网IP 地址。
在一可选实现方式中,该第一标识对应的业务实体对象可以存储客户端13的网络连接信息。
示例性的,该业务实体对象获得交互数据后,会将交互数据发送至业务实体对象存储的所有网络连接信息对应的客户端。
在步骤C3中,负载均衡服务器31接收到第一报文后,从预先设置的至少一个端口号与私网IP 地址的对应关系中,确定第一报文的源地址包含的第一服务器的目标私网IP地址对应的端口号。将所述第一报文的源地址由目标私网IP地址替换为第一服务器的虚拟IP地址,以得到第二报文。
第一服务器的虚拟IP地址包括负载均衡服务器31的公网IP地址以及第一服务器的目标私网IP 地址对应的端口号。
在步骤C4中,负载均衡服务器31将第二报文发送至客户端13。
可以理解的是,在该直播间的直播未结束之前,服务器14得到该直播间的第一标识对应的交互数据后,会按照步骤C1至步骤C4传输交互数据。
在第二种应用场景中,示例性的,数据库12存储的配置文件可以是预先在数据库12中进行设置的。
在第二种应用场景中,示例性的,数据库12存储的配置文件可以是基于负载均衡服务器进行设置的。
可以理解的是,设置数据库12存储的配置文件即为设置配置文件中每一分组对应的配置信息。在一可选实施例中,针对每一分组而言,可以基于该分组包含的任一负载均衡服务器设置该分组对应的配置信息,即可以通过各分组包含的负载均衡服务器设置相应分组对应的配置信息,从而实现设置数据库存储的配置文件的目的。
在一可选实施例中,针对每一分组而言,该分组若包括一个负载均衡服务器,那么,基于该负载均衡服务器可以设置该分组对应的配置信息;若该分组包括至少两个负载均衡服务器,每一负载均衡服务器能设置该分组中虚拟IP地址包含该负载均衡服务器的公网IP地址的服务器的相关信息。
针对每一分组,通过该分组包含的所有负载均衡服务器分别进行设置,从而实现设置数据库存储的配置文件的目的。
在一可选实现方式中,在执行图4或图5或图6所示技术方案之前,需要先设置数据库12存储的配置信息,对于任一负载均衡服务器而言,基于该负载均衡服务器设置该负载均衡服务器所属分组的配置信息的过程包括以下步骤D1。
在步骤D1中,获取所述负载均衡服务器所属分组对应的至少局部配置信息。
所述至少局部配置信息包括所述负载均衡服务器所属分组的第一组号、以及将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址。
示例性的,若组号为第一组号的分组包括一个负载均衡服务器,那么,基于该负载均衡服务器可以设置组号为第一组号的分组对应的全部的配置信息,全部的配置信息是指组号为第一组号的分组中所有服务器的信息,以表1为例进行说明,假设组号为组号2的分组包括负载均衡服务器B3、服务器 A5、服务器A6和服务器A7;服务器A5、服务器A6和服务器A7是将负载均衡服务器B3作为其与客户端的数据转发媒介的,所以可以基于负载均衡服务器B3设置所有的服务器,即服务器A5、服务器A6和服务器A7分别对应的端口号。上述步骤D1中“至少局部配置信息”为组号为第一组号的分组对应的全部的配置信息。
示例性的,若组号为第一组号的分组包括至少两个负载均衡服务器,可选的,每一负载均衡服务器可以能够设置将其作为与客户端的数据转发媒介的服务器的端口号;以表1为例进行说明。负载均衡服务器B1、负载均衡服务器B2、服务器A1、服务器A2、服务器A3、服务器A4属于一个分组,但是服务器A1和服务器A2是将负载均衡服务器B1作为其与客户端的数据转发媒介的,所以基于负载均衡服务器B1能够设置服务器A1、服务器A2的端口号,但是服务器A3和服务器A4是将负载均衡服务器B2作为其与客户端的数据转发媒介的,,基于负载均衡服务器B2可以设置服务器A3和服务器A4的端口号。
示例性的,若组号为第一组号的分组包括至少两个负载均衡服务器,可选的,每一负载均衡服务器可以设置其所在分组对应的全部的配置信息,仍以表1为例,基于负载均衡服务器B1能够设置服务器A1、服务器A2、服务器A3、服务器A4分别对应的端口号。
示例性的,还包括步骤D2,将所述至少局部配置信息存储至所述数据库12。
针对每一分组包含的负载均衡服务器进行相应设置操作,即可得到配置文件。
在一可选实现方式中,对于每一负载均衡服务器而言,需要预先设置至少一个端口号与私网IP地址的对应关系,这样负载均衡服务器才能够作为客户端13与服务器的中间媒介。以表1中的具有组号 1的分组为例,对于负载均衡服务器B1而言,负载均衡服务器B1需要存储服务器A1的端口号与服务器A1的私网IP地址、以及服务器A2的端口号与服务器A2的私网IP地址;负载均衡服务器B2 需要存储服务器A3的端口号与服务器A3的私网IP地址、以及服务器A4的端口号与服务器A4的私网IP地址。
在一可选实现方式中,针对每一负载均衡服务器,可以在该负载均衡服务器上设置服务器的端口号与该服务器的私网IP地址的对应关系;可以在该负载均衡服务器上设置该服务器的虚拟IP地址包括该负载均衡服务器的公网IP地址以及该服务器的端口号。
在一可选实现方式中,针对每一分组而言,分组包含的服务器可能会发生变更,即已设置的数据库存储的配置文件可能会发生变更。一个分组包含的服务器发生变更的原因可能如下。
第一个原因:该分组中一个或多个服务器发生故障,将发生故障的服务器从该分组中剔除。
第二个原因:在该分组中增加一个或多个服务器。
第三个原因,将一个分组中的一个或多个服务器迁移至另一分组中。
为了实现分组包含的服务器发生变更后,服务器仍具有“鉴别分组”的功能,以及负载均衡服务器仍旧具有作为客户端13和服务器的中间媒介的功能,本公开实施例还提供了更新数据库存储的配置文件的方法、以及更新负载均衡服务器存储的至少一个端口号与私网IP地址的对应关系的方法。本公开实施例提供方法可以应用于两种情景。
第一种情景:在一个分组中增加第一目标服务器。上述方法可以应用于负载均衡服务器中,该方法在实施过程中包括以下步骤E1至步骤E4。
在步骤E1中,若负载均衡服务器31检测到在自身所属分组中增加第一目标服务器的第一操作,设置所述第一目标服务器的私网IP地址以及所述第一目标服务器的端口号的对应关系。
经过步骤E1更新了负载均衡服务器存储的至少一个端口号与私网IP地址的对应关系。
在步骤E2中,生成第三请求,所述第三请求用于指示所述数据库在所述负载均衡服务器31所属分组的配置信息中增加所述第一目标服务器的虚拟IP地址。
在步骤E3中,发送所述第三请求至所述数据库12。
相应的,在步骤E4中,数据库12接收到第三请求后,将第一目标服务器的虚拟IP地址增加至负载均衡服务器31所属分组对应的配置信息中。
假设配置文件如表1所示。假设负载均衡服务器31所属分组对应的组号为组号1,假设上述负载均衡服务器31为负载均衡服务器B1,第一目标服务器为服务器A5,服务器A5的为端口号8085,那么,数据库存储的更新后的配置文件如表3所示。
表3配置文件
第二种情景:删除一个分组包含的第二目标服务器。第二种情景中的实现方式有多种,本公开实施例提供但不限于以下两种。
第一种实现方式可以应用于负载均衡服务器中,该方法在实施过程中包括以下步骤F1至步骤F3。
在步骤F1中,负载均衡服务器31若检测到删除自身所属分组包含的第二目标服务器的第二操作,生成第四请求,所述第四请求用于指示所述数据库删除所述负载均衡服务器31所属分组的配置信息中所述第二目标服务器的虚拟IP地址。
在步骤F2中,发送所述第四请求至所述数据库。
相应的,在步骤F3中,数据库接收到第四请求后,删除所述负载均衡服务器31所属分组对应的配置信息中所述第二目标服务器的虚拟IP地址。
假设配置文件如表1所示。假设所述负载均衡服务器31所属分组对应的组号为组号1,假设上述负载均衡服务器为负载均衡服务器B1,第二目标服务器为服务器A2,那么,数据库存储的更新后的配置文件如表4所示。
表4配置文件
第一种实现方式中,若检测到删除所述负载均衡服务器31所属分组包含的第二目标服务器的第四请求,会立即删除数据库12中存储的第二目标服务器的虚拟IP地址。
在一可选实现方式中,若负载均衡服务器检测到第二操作,删除自身存储的第二目标服务器的端口号与第二目标服务器的私网IP地址的对应关系。
在一可选实施例中,若负载均衡服务器检测到第二操作,也可以不删除自身存储的第二目标服务器的端口号与第二目标服务器的私网IP地址的对应关系。因为,数据库存储的负载均衡服务器所属分组对应的配置信息中已经不包括第二目标服务器的虚拟IP地址,若API服务器再次从数据库中获得配置文件,API服务器不会获得第二目标服务器的虚拟IP地址,即客户端不会再接收到第二目标服务器的虚拟IP地址,即不会有新的客户端向第二目标服务器的虚拟IP地址发送任何请求。即负载均衡服务器存储的第二目标服务器的端口号与第二目标服务器的私网IP地址的对应关系已经无用了,删除或不删除都不会影响整个技术方案的执行。
若在删除数据库存储的第二目标服务器的虚拟IP地址之前,第二目标服务器与一个或多个客户端已经建立了通信连接,但是第二目标服务器并未接收到第一请求,在删除数据库存储的第二目标服务器的虚拟IP地址之后,第二目标服务器才接收到第一请求,由于数据库存储的负载均衡服务器所属分组对应的配置信息中不包括第二目标服务器的虚拟IP地址,所以第二目标服务器确定第一组号与第二组号不同,因此,不会响应第一请求,使得客户端需要重新执行如图6所示的步骤。为了避免这种情况出现,提供了第二种实现方式。
第二种实现方式可以应用于负载均衡服务器中,该方法在实施过程中包括以下步骤G1至步骤G3。
在步骤G1中,若检测到删除所述负载均衡服务器31所属分组包含的第二目标服务器的所述第二操作,生成第五请求;其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态。
其中,所述负载均衡服务器31所属分组对应的配置信息还包括至少一个服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态。
示例性的,第一状态和第二状态可以由不同字符进行表示,例如,第一状态用0表示,第二状态用1表示。
在一可选实现方式中,虽然检测到第五请求,但是第五请求并不是删除第二目标服务器的请求,在实际应用中,第二目标服务器仍然位于上述负载均衡服务器31所属分组中,即第二目标服务器并未移除上述负载均衡服务器所属分组,即第二目标服务器是待删除的状态。
在步骤G2中,发送所述第五请求至所述数据库。
示例性的,假设在第二目标服务器的状态由第一状态切换至第二状态之前,数据库12可能已经基于API服务器将第二目标服务器的虚拟IP地址发送至客户端A1、客户端A2以及客户端A3,客户端 A1、客户端A2以及客户端A3可以与第二目标服务器建立通信连接。
在第二目标服务器的状态切换至第二状态后,若有客户端A4基于API服务器访问数据库12,那么,数据库12不会将处于第二状态的服务器(例如第二目标服务器)的虚拟IP地址发送至客户端A4,因此,客户端A4不能够与第二目标服务器建立通信连接。本公开实施例中将类似客户端A4的客户端称为“新的”客户端。
即本公开实施例通过设置数据库存储的配置文件中服务器的状态的方式,使得在服务器处于第二状态之后,不会有“新的”客户端与该服务器建立通信连接,该服务器仅保留自己处于第一状态时,与一个或多个客户端建立的通信连接。
在步骤G3中,在生成所述第五请求之后的第一预设时长,生成所述第四请求。
示例性的,第一预设时长可以为预测的第二目标服务器中已经创建的所有业务实体对象对应的直播间中的直播时长的最大值,即在第二目标服务器中已经创建的所有业务实体对象对应的直播间中的直播都结束后,才会生成第五请求。
示例性的,第一预设时长可以为3个小时、1天、2天、3天等任意时间,本公开实施例对此不作任何限定。
示例性的,在将第四请求发送至数据库之前,客户端13仍可以基于第二目标服务器获得客户端 13显示的直播间的第一标识对应的交互数据。即在客户端13显示的直播间的直播结束之前,第二目标服务器仍处于上述负载均衡服务器所属分组中,避免了客户端13再次执行图6所述步骤的情况。
示例性的,在生成所述第五请求之后的第一预设时长,第二目标服务器上创建的所有业务实体对象对应的直播间中的直播均已结束,所以可以将第二目标服务器这一硬件设备移除上述负载均衡服务器所属分组。
在一可选实现方式中,若负载均衡服务器检测到第四请求后,删除自身存储的第二目标服务器的端口号与第二目标服务器的私网IP地址的对应关系。
在一可选实施例中,若负载均衡服务器检测到第四请求后,也可以不删除自身存储的第二目标服务器的端口号与第二目标服务器的私网IP地址的对应关系。
上述实施例提及的“数据库不会将处于第二状态的服务器的虚拟IP地址发送至所述客户端”可以应用于多种情景,下面以第二目标服务器为例进行说明,本申请实施例提供但不限于以下三种。
本公开实施例中,第一组号对应的分组为第一分组。
第一种情景,在API服务器获得配置文件之前,数据库存储的第一分组对应的配置信息中第二目标服务器的状态已经切换至第二状态。
图7是根据一示例性实施例示出的一种更新一个分组对应的配置信息方法的信令图,该方法在实现过程中包括步骤S701至步骤S708。
在图7所示的方法中,数据库12存储的配置文件包括至少一个分组对应的配置信息,每一分组对应的配置信息还包括至少一个服务器对应的状态。一个所述服务器对应的状态为所述服务器是否处于待删除的状态。
在步骤S701中,若负载均衡服务器31检测到删除自身所在分组包含的第二目标服务器的第二操作,生成第五请求。
其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态。
在步骤S702中,负载均衡服务器31将所述第五请求发送至所述数据库12。
在步骤S703中,数据库12接收到第五请求后,将负载均衡服务器31所在分组对应的配置信息中第二目标服务器的状态设置为第二状态。
假设配置文件如表1所示。假设第一分组对应的组号为组号1,假设上述负载均衡服务器为负载均衡服务器B1,第二目标服务器为服务器A2,那么,数据库存储的更新后的配置文件如表5所示。
表5配置文件
在步骤S704中,若API服务器11接收到客户端13发送的地址获取请求,向所述数据库12发送获取配置文件的第七请求。
在步骤S705中,数据库12接收到所述第七请求,将所述配置文件包含的处于第一状态的服务器的虚拟IP地址发送至API服务器。
由于API服务器未接收到处于第二状态的服务器(例如第二目标服务器)的虚拟IP地址,所以也不会将处于第二状态的服务器的虚拟IP地址发送至客户端13,从而使得客户端13无法与第二状态的服务器进行任何数据交互。
可以理解的是,由于数据库12存储的配置文件中仍包括第二目标服务器的虚拟IP地址,所以在第二目标服务器接收到第一请求后,仍可以从数据库存储的配置文件中获得第一组号。
在一可选实现方式中,步骤S705的实现方式可以包括:数据库将所述配置文件包含的全部内容发送至API服务器;API服务器将负载均衡服务器31所在分组包含的处于第一状态的服务器的虚拟 IP地址发送至客户端。
在步骤S706中,在生成所述第五请求之后的第一预设时长,生成第四请求。
针对第一预设时长的说明可以参见步骤G3中对第一预设时长的说明,这里不再赘述。
在步骤S707中,将所述第四请求发送至所述数据库12。
在步骤S708中,数据库12接收到第四请求后,删除负载均衡服务器31所在分组对应的配置信息中所述第二目标服务器的虚拟IP地址。
在一可选实现方式中,负载均衡服务器在生成得到第四请求后,删除自身存储的第二目标服务器的端口号与第二目标服务器的私网IP地址的对应关系。
第二种情景,在本情景中,API服务器已经获得包含第二目标服务器的虚拟IP地址的配置文件,但是在API服务器将负载均衡服务器31所在分组对应的配置信息发送至客户端13之前,API服务器已经基于数据库存储的负载均衡服务器31所在分组对应的配置信息更新自身存储的负载均衡服务器 31所在分组对应的配置信息,即在API服务器将负载均衡服务器31所在分组对应的配置信息发送至客户端13之前,API服务器存储的配置文件中第二目标服务器的状态为第二状态。
示例性的,在第二种情景中,数据库可以将配置文件中处于第一状态的服务器的虚拟IP地址发送至API服务器的功能,或者,数据库具有将配置文件中所有内容(不论服务器的状态是第一状态还是第二状态)均发给API服务器的功能。
图8是根据一示例性实施例示出的又一种更新一个分组对应的配置信息方法的信令图,假设组号为第二组号的分组为第二分组,该方法在实现过程中包括步骤S601至步骤S603、步骤S701至步骤 S703、步骤S81、步骤S82以及步骤S706至步骤S708。
示例性的,步骤S603与步骤S701至步骤S703没有先后执行顺序,例如,步骤S603可以在步骤 S701之前执行,或者,在执行步骤S701或步骤S702或步骤S703时执行。
在步骤S81中,API服务器11每隔第二预设时长从数据库12获取组号为第二组号的分组对应的配置信息,基于从所述数据库获得的所述配置信息更新自身存储的组号为所述第二组号的分组对应的配置信息。
示例性的,第二预设时长可以基于实际情况而定,例如,1秒、2秒等等。
示例性的,API服务器11会将自身存储的第二分组对应的配置信息中第二目标服务器的状态由第一状态更新为第二状态。
在步骤S82中,若API服务器11并未将组号为第二组号的分组对应的配置信息发送至客户端13,那么,将组号为第二组号的分组对应的配置信息中处于第一状态的服务器的虚拟IP地址发送至客户端 13。
可以理解的是,由于客户端13不能获得第二状态的第二目标服务器的虚拟IP地址,从而使得客户端13无法与第二目标服务器进行任何数据交互。
在一可选实现方式中,若API服务器11在执行步骤S81之前已经将组号为第二组号的分组对应的配置信息发送至客户端13,那么,客户端13可以与第二目标服务器建立通信连接,并可以向第二目标服务器发送第一请求。
可以理解的是,由于数据库12存储的配置文件中的组号为第二组号的分组对应的配置信息仍包括第二目标服务器的虚拟IP地址,所以在第二目标服务器接收到第一请求后,仍可以从数据库存储的配置文件中获得第二目标服务器所属分组对应的第一组号。
第三种情景,在本情景中,客户端已经得到组号为第二组号的分组对应的包含第二目标服务器的虚拟IP地址的配置信息。
示例性的,在第三种情景中,数据库可以具有仅将配置文件中除处于第二状态的服务器的所有内容外的内容发送至API服务器的功能,或者,数据库具有将配置文件中所有内容(不论服务器的状态是第一状态还是第二状态)均发给API服务器的功能。
示例性的,在第三种情景中,API服务器可以具有步骤S81和步骤S82的功能,或者,API服务器不具有步骤S81的功能。
图9是根据一示例性实施例示出的又一种数据处理方法的流程图,方法在实现过程中包括步骤 S601至步骤S604、步骤S701至步骤S703、步骤S605至步骤S617、步骤S91至步骤S95。
在步骤S601至步骤S618中,客户端13保留通信连接的第一服务器为第二目标服务器。
其中,步骤S701至步骤S703,与,步骤S605至步骤S617没有先后执行顺序。图9中未示出步骤S601至步骤S618、步骤S701至步骤S703。
在步骤S91中,若第一组号与第二组号相同,第二目标服务器14确定自身是否已经创建该直播间对应的业务实体对象,若已经创建,执行步骤S92,否则,执行步骤S93。
在步骤S92中,第二目标服务器14响应第一请求。
在步骤S93中,第二目标服务器14从数据库12存储的配置文件中获取第二目标服务器的状态,若所述第二目标服务器的状态为第一状态,执行步骤S94,若所述第二目标服务器的状态为第二状态,执行步骤S95。
在步骤S94中,第二目标服务器14创建该直播间对应的业务实体对象,并响应第一请求。
在步骤S95中,第二目标服务器14拒绝响应所述第一请求。
综上,在本公开实施例提供的技术方案中,若将处于第二状态的服务器(例如第二目标服务器) 的虚拟IP地址发送给客户端13,通过上述技术方案避免第二目标服务器创建新的业务实体对象,使得第二目标服务器处于第二状态后,仅维护已创建的业务实体对象即可。
下面对第一种应用场景包括的API服务器11、数据库12、至少一个客户端13以及至少一个服务器14之间的交互过程进行说明。其中,数据库12用于存储配置文件。
在第二种应用场景涉及的图6所示技术方案中,描述了两种“从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号”的实现方式,一种是从预先设置的配置文件中,获取负载均衡服务器的公网IP地址所属分组的第一组号;一种是从预先设置的配置文件中,获取第一服务器的私网IP 地址所属分组的第一组号。
除上述两种方式外,在第一种应用场景中,本公开实施例还提供了以下方式,“从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号”包括:从预先设置的配置文件中,获取所述第一服务器的公网IP地址所属分组的所述第一组号。
仍以配置文件的表现形式为表格为例对配置文件进行说明。
假设分组的总数目为2,2个分组的组号分别为组号1和组号2,具有组号1的分组包含服务器 A1、服务器A2、服务器A3以及服务器A4。组号为组号2的分组包含服务器A5、服务器A6以及服务器A7。
其中,服务器A1的公网IP地址为10.1.1.1;服务器A2的公网IP地址为10.1.1.2;服务器A3的公网IP地址为10.1.1.3;服务器A4的公网IP地址为10.1.1.4。服务器A5的公网IP地址为10.1.1.5;服务器A6公网IP地址为10.1.1.6;服务器A7的公网IP地址为10.1.1.7。那么,示例性的,配置文件如表6所示。
表6配置文件
在一可选实现方式中,在第一种应用场景中,第一服务器执行步骤S110的具体实现过程包括步骤H1至步骤H2所示。
在步骤H1中,第一服务器14获取该直播间的第一标识对应的交互数据,生成携带所述交互数据的第一报文。
第一报文携带的源地址为服务器的公网IP地址,目的地址为客户端13的公网IP地址。
在步骤H2中,第一服务器14将所述第一报文发送至客户端13。
在第一种应用场景中,示例性的,数据库12存储的配置文件可以是人为在数据库12中进行设置的。
在一可选实现方式中,在一可选实现方式中,针对每一分组而言,分组包含的服务器可能会发生变更,即数据库存储的配置文件可能会发生变更。
在第一种应用场景中,为了在分组包含的服务器发生变更后,服务器仍具有“鉴别分组”的功能,本公开实施例还提供了更新数据库存储的配置文件的方法,本公开实施例提供的方法对应两种情景。下面以发生服务器变更的分组为第一分组为例进行说明,其他分组同理。
第一种情景:在第一分组中增加第一目标服务器。该方法在实施过程中包括以下步骤J1至步骤 J2。
在步骤J1中,数据库12检测到第三请求,所述第三请求用于指示所述数据库在第一分组的配置信息中增加所述第一目标服务器的公网IP地址。
第一种应用场景中的第三请求和第二种应用场景中的第三请求相对应,区别点在于,第一种应用场景(无负载均衡服务器)中的第三请求对应公网IP地址,第三请求不是负载均衡服务器发送给数据库12的可选的,第三请求是数据库12自己生成的,第二种应用场景(具有负载均衡服务器)中的第三请求对应私网IP地址。
示例性的,可以是人为在数据库12存储的第一分组对应的配置信息中增加所述第一目标服务器的公网IP地址。
在步骤J2中,数据库12将第一目标服务器的公网IP地址增加至第一分组对应的配置信息中。
第二种情景:在第一分组中删除第二目标服务器。上述方法的实现方式有多种,本公开实施例提供但不限于以下两种。
第一种实现方式可以应用于数据库中,该方法在实施过程中包括以下步骤K1。
在步骤K1中,数据库12若检测到第四请求,第四请求用于指示所述数据库删除第一分组的配置信息中所述第二目标服务器的公网IP地址,删除所述第一分组对应的配置信息中所述第二目标服务器的公网IP地址。
第一种应用场景中的第四请求和第二种应用场景中的第四请求相对应,区别点在于,第一种应用场景(无负载均衡服务器)中的第四请求对应公网IP地址,第四请求不是负载均衡服务器发送给数据库12的,可选的,第四请求是数据库12自己生成的,第二种应用场景(具有负载均衡服务器)中的第四请求对应私网IP地址。
示例性的,人为将数据库12存储的第一分组对应的配置信息中所述第二目标服务器的公网IP地址删除。
第二种实现方式可以应用于数据库中,该方法在实施过程中包括以下步骤L1至步骤L2。
在步骤L1中,数据库12若检测到第五请求,将第二目标服务器由第一状态切换至第二状态,禁止将处于所述第二状态的所述第二目标服务器的公网IP地址发送至所述客户端。
第一种应用场景中的第五请求与第二种应用场景中的第五请求的功能相同,可互相参见,这里不再赘述。
但是第一种应用场景中不包括负载均衡服务器,所以第五请求不是由负载均衡服务器发送给数据库12的,可选的,可以是数据库自己生成的。
在步骤L2中,在检测到所述第五请求之后的第一预设时长,数据库12删除所述第一分组对应的配置信息中所述第二目标服务器的公网IP地址。
针对步骤L1至步骤L2的相关说明可以参见针对步骤G1至步骤G3的说明,这里不再赘述。
在第一种应用场景中,上述实施例提及的“数据库禁止将处于所述第二状态的所述第二目标服务器的公网IP地址发送至所述客户端”对应多种情景,本申请实施例提供但不限于以下三种。
第一种情景,在API服务器获得配置文件之前,数据库存储的第一分组对应的配置信息中第二目标服务器的状态已经切换至第二状态。更新第一分组对应的配置信息方法在实施过程中包括以下步骤 M1至步骤M4。
在步骤M1中,若数据库12检测到第五请求,将第一分组对应的配置信息中第二目标服务器的状态设置为第二状态。
在步骤M2中,若API服务器11接收到客户端13发送的地址获取请求,向所述数据库12发送获取配置文件的第七请求。
在步骤M3中,数据库12将所述配置文件包含的除处于第二状态的服务器的公网IP地址外的所有内容发送至API服务器。
针对步骤M3的说明可以参见针对步骤S705的说明,这里不再赘述。
在步骤M4中,在检测到第五请求之后的第一预设时长,数据库12删除所述第一分组对应的配置信息中所述第二目标服务器的公网IP地址。
针对步骤M1至步骤M4的相关说明可以参见步骤S701至步骤S708的相关说明,这里不再赘述。
第二种情景,在本情景中,API服务器已经获得包含第二目标服务器的公网IP地址的配置文件,但是在API服务器将第一分组对应的配置信息发送至客户端13之前,API服务器已经基于数据库存储的第一分组对应的配置信息更新自身存储的第一分组对应的配置信息,即在API服务器将第一分组对应的配置信息发送至客户端13之前,API服务器存储的配置文件中第二目标服务器的状态为第二状态。
示例性的,在第二种情景中,数据库可以具有将配置文件中除处于第二状态的服务器的公网IP地址外的所有内容发送至API服务器的功能,或者,数据库具有将配置文件中所有内容(不论服务器的状态是第一状态还是第二状态)均发给API服务器的功能。
在一可选实现方式中,更新第一分组对应的配置信息方法在实施过程中包括以下步骤N1至步骤 N2。
在步骤N1中,API服务器11每隔第二预设时长基于从所述数据库12获取的具有所述第一组号的第一分组对应的配置信息更新自身存储的所述第一分组对应的配置信息。
在步骤N2中,若API服务器11并未将第一分组对应的配置信息发送至客户端13,那么,将所述第一分组中处于第一状态的服务器的公网IP地址发送至客户端13。
可以理解的是,由于客户端13不能获得处于第二状态的第二目标服务器的公网IP地址,从而使得客户端13无法与第二目标服务器进行任何数据交互。
第三种情景,在本情景中,客户端已经得到第一分组对应的包含第二目标服务器的公网IP地址的配置信息。
示例性的,在第三种情景中,数据库可以具有将配置文件中处于第一状态的服务器的公网IP地址外发送至API服务器的功能,或者,数据库具有将配置文件中所有内容(不论服务器的状态是第一状态还是第二状态)均发给API服务器的功能。
示例性的,在第三种情景中,API服务器可以具有基于步骤N1和步骤N2的功能,或者,API服务器不具有步骤N1和步骤N2的功能。
在一可选实现方式中,假设客户端13保留通信连接的第一服务器为第二目标服务器。数据处理方法在实现过程中包括步骤S101至步骤S104、步骤M1、步骤S105至步骤S108、步骤S42至步骤S43、步骤S91至步骤S95。
具体可参见相应步骤的描述,这里不再赘述。
上述本申请公开的实施例中详细描述了方法,对于本申请的方法可采用多种形式的装置实现,因此本申请还公开了多种装置,下面给出具体的实施例进行详细说明。
图10是根据一示例性实施例示出的应用于第一服务器的数据处理装置框图。参照图10,该装置包括第一接收模块1001、第一获取模块1002、计算模块1003、第一处理模块1004以及第二处理模块 1005。
第一接收模块1001,被配置为接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求所述第一标识对应的交互数据;
第一获取模块1002,被配置为从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号;所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的互联网协议IP地址;
计算模块1003,被配置为基于所述第一接收模块得到的所述第一标识,计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
第一处理模块1004,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号不相同,拒绝响应所述第一请求;
第二处理模块1005,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,响应所述第一请求。
在一可选实现方式中,所述服务器的IP地址为虚拟IP地址,所述虚拟IP地址包括作为所述服务器与客户端数据转发媒介的负载均衡服务器的公网IP地址以及所述服务器对应的端口号,所述第一接收模块具体被配置为:
第一接收单元,被配置为接收负载均衡服务器转发的来自所述客户端的所述第一请求;所述第一请求中的目的地址为所述第一服务器的私网IP地址,所述第一请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;
所述第一获取模块具体被配置为:第一获取单元,被配置为从预先设置的所述配置文件中,获取所述负载均衡服务器的公网IP地址所属分组的所述第一组号。
在一可选实现方式中,数据处理装置还包括:第二接收模块,被配置为接收所述负载均衡服务器转发的来自所述客户端的第二请求,所述第二请求携带的目的地址为所述私网IP地址;所述第二请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;所述第二请求用于请求与所述第一服务器建立通信连接;
第一生成模块,被配置为若响应所述第二接收模块接收到的所述第二请求,生成第一响应消息,所述第一响应消息用于表征成功与所述客户端建立通信连接;所述第一响应消息的源地址为所述私网 IP地址;
第一发送模块,被配置为将所述第一生成模块生成的所述第一响应消息发送至所述负载均衡服务器,以使得所述负载均衡服务器将第二响应消息发送至所述客户端,所述第二响应消息是所述负载均衡服务器将所述第一响应消息的源地址由所述私网IP地址替换为所述第一服务器的虚拟IP地址后的响应消息。
在一可选实现方式中,所述配置文件还包括所述分组的总数目;所述计算模块具体被配置为:
第二获取单元,被配置为从预先设置的所述配置文件中,获取所述总数目;
计算单元,被配置为基于所述第一标识以及所述第二获取单元获得的所述总数目,计算得到第二组号。
在一可选实现方式中,所述服务器的IP地址为公网IP地址,所述第一获取模块具体被配置为:
第三获取单元,被配置为从预先设置的所述配置文件中,获取所述第一服务器的公网IP地址所属分组的所述第一组号。
在一可选实现方式中,每一所述分组对应的配置信息还包括每一服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态,所述第二处理模块具体被配置为:
第一响应单元,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,且所述第一服务器已经创建与所述直播间对应的业务实体对象,响应所述第一请求;
第四获取单元,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从所述数据库中获取所述第一服务器的状态;
第二响应单元,被配置为若所述第四获取单元获得的所述第一服务器的状态为第一状态,响应所述第一请求,所述第一状态为所述第一服务器未处于待删除的状态。
在一可选实现方式中,数据处理装置还包括:
第三处理模块,被配置为若所述第四获取单元获得的所述第一服务器的状态为第二状态,拒绝响应所述第一请求,所述第二状态为所述第一服务器处于待删除的状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的应用于负载均衡服务器的数据处理装置框图。参照图11,该装置包括第三接收模块1101、第一变更模块1102、第二发送模块1103、第四接收模块1104、第二变更模块1105以及第三发送模块1106。
第三接收模块1101,被配置为接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求得到所述第一标识对应的交互数据;所述第一请求的目的地址为第一服务器的虚拟互联网协议IP地址;所述虚拟IP地址包括所述负载均衡服务器的公网IP地址以及所述第一服务器对应的端口号;
第一变更模块1102,被配置为依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的所述目的地址中所述虚拟IP地址替换为与所述虚拟IP地址包含的端口号对应的目标私网IP地址;
第二发送模块1103,被配置为发送目的地址为所述目标私网IP地址的所述第一请求至所述第一服务器;
第四接收模块1104,被配置为接收所述第一服务器反馈的包含所述交互数据的第一报文;所述第一报文的源地址为所述目标私网IP地址;其中,所述第一报文是在第一组号与第二组号相同的情况下针对所述第一请求的响应报文,所述第一组号为所述第一服务器所属分组的组号,所述第二组号是基于所述第一标识计算得到的至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
第二变更模块1105,被配置为将所述第四接收模块接收的所述第一报文的源地址由所述目标私网 IP地址替换为所述虚拟IP地址,得到第二报文;
第三发送模块1106,被配置为发送所述第二变更模块得到的所述第二报文至所述客户端。
在一可选实现方式中,数据处理装置还包括:第二获取模块,被配置为获取所述负载均衡服务器所属分组对应的至少局部配置信息,所述至少局部配置信息包括所述第一组号以及将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址;
存储模块,被配置为将所述至少局部配置信息存储至所述数据库;
第一设置模块,被配置为设置将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址对应的私网IP地址。
在一可选实现方式中,数据处理装置还包括:第二设置模块,被配置为若检测到在所述负载均衡服务器所属分组中增加第一目标服务器的第一操作,设置所述第一目标服务器的私网IP地址以及所述第一目标服务器的端口号的对应关系;
第二生成模块,被配置为生成第三请求,所述第三请求用于指示所述数据库在所述负载均衡服务器所属分组的配置信息中增加所述第一目标服务器的虚拟IP地址;
第三发送模块,被配置为发送所述第三请求至所述数据库。
在一可选实现方式中,数据处理装置还包括:第三生成模块,被配置为若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求,所述第四请求用于指示所述数据库删除所述负载均衡服务器所属分组的配置信息中所述第二目标服务器的虚拟IP地址;
第四发送模块,被配置为发送所述第三生成模块生成的所述第四请求至所述数据库。
在一可选实现方式中,所述负载均衡服务器所属分组对应的配置信息还包括至少一个服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态;所述第三生成模块具体被配置为:
第一生成单元,被配置为若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的所述第二操作,生成第五请求;其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态;
发送单元,被配置为发送所述第一生成单元生成的所述第五请求至所述数据库;
第二生成单元,被配置为在生成所述第五请求之后的第一预设时长,生成所述第四请求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是根据一示例性实施例示出的一种用于第一服务器14的框图。
如图12所示,第一服务器14包括但不限于:第一处理器1201、第一存储器1202、网络接口1203、 I/O控制器1204以及通信总线1205。
需要说明的是,本领域技术人员可以理解,图12中示出的第一服务器的结构并不构成对服务器的限定,第一服务器可以包括比图12所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图12对第一服务器14的各个构成部件进行具体的介绍:
第一处理器1201是第一服务器的控制中心,利用各种接口和线路连接整个第一服务器的各个部分,通过运行或执行存储在第一存储器1202内的软件程序和/或模块,以及调用存储在存储器12502 内的数据,执行第一服务器的各种功能和处理数据,从而对第一服务器进行整体监控。第一处理器1201 可包括一个或多个处理单元;可选的,第一处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到第一处理器1201中。
第一处理器1201可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
第一存储器1202可能包含内存,例如高速随机存取存储器(Random-AccessMemory,RAM)12021 和只读存储器(Read-Only Memory,ROM)12022,也可能还包括大容量存储设备12023,例如至少1个磁盘存储器等。当然,该服务器还可能包括其他业务所需要的硬件。
其中,上述的第一存储器1202,用于存储上述第一处理器1201可执行指令。上述第一处理器1201 被配置为执行应用于第一服务器的数据处理方法实施例中任一步骤。
一个有线或无线网络接1203被配置为将第一服务器14连接到网络。
第一处理器1201、第一存储器1202、网络接口1203和I/O控制器1204可以通过通信总线1205 相互连接,该通信总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、 PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
在示例性实施例中,第一服务器14可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器 (DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述电子资源传输方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的第一存储器1202,上述指令可由第一服务器14的第一处理器1201执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、 CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,可直接加载到计算机的内部存储器,例如上述第一存储器1202中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述任一数据处理方法。
图13是根据一示例性实施例示出的一种用于负载均衡服务器31的框图。
如图13所示,负载均衡服务器31包括但不限于:第二处理器1301、第二存储器1302、网络接口 1303、I/O控制器1304以及通信总线1305。
需要说明的是,本领域技术人员可以理解,图13中示出的负载均衡服务器31的结构并不构成对服务器的限定,负载均衡服务器31可以包括比图13所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图13对负载均衡服务器31的各个构成部件进行具体的介绍:
第二处理器1301是负载均衡服务器31的控制中心,利用各种接口和线路连接整个第一服务器的各个部分,通过运行或执行存储在第二存储器1302内的软件程序和/或模块,以及调用存储在存储器 13502内的数据,执行负载均衡服务器31的各种功能和处理数据,从而对负载均衡服务器31进行整体监控。第二处理器1301可包括一个或多个处理单元;可选的,第二处理器1301可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到第二处理器1301中。
第二处理器1301可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
第二存储器1302可能包含内存,例如高速随机存取存储器(Random-AccessMemory,RAM)13021 和只读存储器(Read-Only Memory,ROM)13022,也可能还包括大容量存储设备13023,例如至少1个磁盘存储器等。当然,该服务器还可能包括其他业务所需要的硬件。
其中,上述的第二存储器1302,用于存储上述第二处理器1301可执行指令。上述第二处理器1301 被配置为执行应用于负载均衡服务器的数据处理方法实施例中任一步骤。
一个有线或无线网络接1303被配置为将负载均衡服务器31连接到网络。
第二处理器1301、第二存储器1302、网络接口1303和I/O控制器1304可以通过通信总线1305 相互连接,该通信总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、 PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
在示例性实施例中,负载均衡服务器31可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述电子资源传输方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的第二存储器1302,上述指令可由负载均衡服务31的第二处理器1301执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器 (RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,可直接加载到计算机的内部存储器,例如上述第二存储器1302中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述任一数据处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (31)
1.一种数据处理方法,其特征在于,应用于第一服务器,包括:
接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求所述第一标识对应的交互数据;
从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号;所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的互联网协议IP地址;
基于所述第一标识,计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
若所述第一组号与所述第二组号不相同,拒绝响应所述第一请求;
若所述第一组号与所述第二组号相同,响应所述第一请求。
2.根据权利要求1所述数据处理方法,其特征在于,所述服务器的IP地址为虚拟IP地址,所述虚拟IP地址包括作为所述服务器与客户端数据转发媒介的负载均衡服务器的公网IP地址以及所述服务器对应的端口号;
所述接收客户端发送的第一请求步骤包括:
接收负载均衡服务器转发的来自所述客户端的所述第一请求;所述第一请求中的目的地址为所述第一服务器的私网IP地址,所述第一请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;
所述从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号步骤包括:
从预先设置的所述配置文件中,获取所述负载均衡服务器的公网IP地址所属分组的所述第一组号。
3.根据权利要求2所述数据处理方法,其特征在于,在所述接收客户端发送的第一请求步骤之前,还包括:
接收所述负载均衡服务器转发的来自所述客户端的第二请求,所述第二请求携带的目的地址为所述私网IP地址;所述第二请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;所述第二请求用于请求与所述第一服务器建立通信连接;
若响应所述第二请求,生成第一响应消息,所述第一响应消息用于表征成功与所述客户端建立通信连接;所述第一响应消息的源地址为所述私网IP地址;
将所述第一响应消息发送至所述负载均衡服务器,以使得所述负载均衡服务器将第二响应消息发送至所述客户端,所述第二响应消息是所述负载均衡服务器将所述第一响应消息的源地址由所述私网IP地址替换为所述第一服务器的虚拟IP地址后的响应消息。
4.根据权利要求1至3任一所述数据处理方法,其特征在于,所述配置文件还包括所述分组的总数目;所述基于所述第一标识,计算得到第二组号步骤包括:
从预先设置的所述配置文件中,获取所述总数目;
基于所述第一标识以及所述总数目,计算得到第二组号。
5.根据权利要求1所述数据处理方法,其特征在于,所述服务器的IP地址为公网IP地址;所述从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号步骤包括:
从预先设置的所述配置文件中,获取所述第一服务器的公网IP地址所属分组的所述第一组号。
6.根据权利要求1至3任一所述数据处理方法,其特征在于,每一所述分组对应的配置信息还包括每一服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态,所述若所述第一组号与所述第二组号相同,响应所述第一请求步骤,包括:
若所述第一组号与所述第二组号相同,且所述第一服务器已经创建与所述直播间对应的业务实体对象,响应所述第一请求;
若所述第一组号与所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从数据库中获取所述第一服务器的状态;
若所述第一服务器的状态为第一状态,响应所述第一请求,所述第一状态为所述第一服务器未处于待删除的状态。
7.根据权利要求6所述数据处理方法,其特征在于,在所述若所述第一组号与所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从数据库中获取所述第一服务器的状态步骤之后,还包括:
若所述第一服务器的状态为第二状态,拒绝响应所述第一请求,所述第二状态为所述第一服务器处于待删除的状态。
8.一种数据处理方法,其特征在于,应用于负载均衡服务器,包括:
接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求得到所述第一标识对应的交互数据;所述第一请求的目的地址为第一服务器的虚拟IP地址;所述虚拟IP地址包括所述负载均衡服务器的公网IP地址以及所述第一服务器对应的端口号;
依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的所述目的地址中所述虚拟IP地址替换为与所述虚拟IP地址包含的端口号对应的目标私网IP地址;
发送目的地址为所述目标私网IP地址的所述第一请求至所述第一服务器;
接收所述第一服务器反馈的包含所述交互数据的第一报文;所述第一报文的源地址为所述目标私网IP地址;其中,所述第一报文是在第一组号与第二组号相同的情况下针对所述第一请求的响应报文,所述第一组号为所述第一服务器所属分组的组号,所述第二组号是基于所述第一标识计算得到的至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
将所述第一报文的源地址由所述目标私网IP地址替换为所述虚拟IP地址,得到第二报文;
发送所述第二报文至所述客户端。
9.根据权利要求8所述数据处理方法,其特征在于,在所述接收客户端发送的第一请求步骤之前,还包括:
获取所述负载均衡服务器所属分组对应的至少局部配置信息,所述至少局部配置信息包括所述第一组号以及将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址;
将所述至少局部配置信息存储至数据库;
设置将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址对应的私网IP地址。
10.根据权利要求9所述数据处理方法,其特征在于,在将所述至少局部配置信息存储至数据库步骤之后,还包括:
若检测到在所述负载均衡服务器所属分组中增加第一目标服务器的第一操作,设置所述第一目标服务器的私网IP地址以及所述第一目标服务器的端口号的对应关系;
生成第三请求,所述第三请求用于指示所述数据库在所述负载均衡服务器所属分组的配置信息中增加所述第一目标服务器的虚拟IP地址;
发送所述第三请求至所述数据库。
11.根据权利要求9或10所述数据处理方法,其特征在于,在将所述至少局部配置信息存储至所述数据库步骤之后,还包括:
若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求,所述第四请求用于指示所述数据库删除所述负载均衡服务器所属分组的配置信息中所述第二目标服务器的虚拟IP地址;
发送所述第四请求至所述数据库。
12.根据权利要求11所述数据处理方法,其特征在于,所述负载均衡服务器所属分组对应的配置信息还包括至少一个服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态;所述若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求步骤,包括:
若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的所述第二操作,生成第五请求;其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态;
发送所述第五请求至所述数据库;
在生成所述第五请求之后的第一预设时长,生成所述第四请求。
13.一种数据处理装置,其特征在于,应用于第一服务器,包括:
第一接收模块,被配置为接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求所述第一标识对应的交互数据;
第一获取模块,被配置为从预先设置的配置文件中,获取所述第一服务器所属分组的第一组号;所述配置文件包括至少一个分组对应的配置信息,每一所述分组对应的配置信息包括所述分组的组号以及所述分组包含的至少一个服务器的互联网协议IP地址;
计算模块,被配置为基于所述第一接收模块得到的所述第一标识,计算得到第二组号,所述第二组号为至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
第一处理模块,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号不相同,拒绝响应所述第一请求;
第二处理模块,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,响应所述第一请求。
14.根据权利要求13所述数据处理装置,其特征在于,所述服务器的IP地址为虚拟IP地址,所述虚拟IP地址包括作为所述服务器与客户端数据转发媒介的负载均衡服务器的公网IP地址以及所述服务器对应的端口号,所述第一接收模块具体被配置为:
第一接收单元,被配置为接收负载均衡服务器转发的来自所述客户端的所述第一请求;所述第一请求中的目的地址为所述第一服务器的私网IP地址,所述第一请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;
所述第一获取模块具体被配置为:第一获取单元,被配置为从预先设置的所述配置文件中,获取所述负载均衡服务器的公网IP地址所属分组的所述第一组号。
15.根据权利要求14所述数据处理装置,其特征在于,还包括:
第二接收模块,被配置为接收所述负载均衡服务器转发的来自所述客户端的第二请求,所述第二请求携带的目的地址为所述私网IP地址;所述第二请求中的目的地址是被所述负载均衡服务器由所述第一服务器的虚拟IP地址替换为所述私网IP地址的;所述第二请求用于请求与所述第一服务器建立通信连接;
第一生成模块,被配置为若响应所述第二接收模块接收到的所述第二请求,生成第一响应消息,所述第一响应消息用于表征成功与所述客户端建立通信连接;所述第一响应消息的源地址为所述私网IP地址;
第一发送模块,被配置为将所述第一生成模块生成的所述第一响应消息发送至所述负载均衡服务器,以使得所述负载均衡服务器将第二响应消息发送至所述客户端,所述第二响应消息是所述负载均衡服务器将所述第一响应消息的源地址由所述私网IP地址替换为所述第一服务器的虚拟IP地址后的响应消息。
16.根据权利要求13至15任一所述数据处理装置,其特征在于,所述配置文件还包括所述分组的总数目;所述计算模块具体被配置为:
第二获取单元,被配置为从预先设置的所述配置文件中,获取所述总数目;
计算单元,被配置为基于所述第一标识以及所述第二获取单元获得的所述总数目,计算得到第二组号。
17.根据权利要求13所述数据处理装置,其特征在于,所述服务器的IP地址为公网IP地址,所述第一获取模块具体被配置为:
第三获取单元,被配置为从预先设置的所述配置文件中,获取所述第一服务器的公网IP地址所属分组的所述第一组号。
18.根据权利要求13至15任一所述数据处理装置,其特征在于,每一所述分组对应的配置信息还包括每一服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态,所述第二处理模块具体被配置为:
第一响应单元,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,且所述第一服务器已经创建与所述直播间对应的业务实体对象,响应所述第一请求;
第四获取单元,被配置为若所述第一获取模块得到的所述第一组号与所述计算模块计算得到的所述第二组号相同,且所述第一服务器未创建与所述直播间对应的业务实体对象,从数据库中获取所述第一服务器的状态;
第二响应单元,被配置为若所述第四获取单元获得的所述第一服务器的状态为第一状态,响应所述第一请求,所述第一状态为所述第一服务器未处于待删除的状态。
19.根据权利要求18所述数据处理装置,其特征在于,还包括:
第三处理模块,被配置为若所述第四获取单元获得的所述第一服务器的状态为第二状态,拒绝响应所述第一请求,所述第二状态为所述第一服务器处于待删除的状态。
20.一种数据处理装置,其特征在于,应用于负载均衡服务器,包括:
第三接收模块,被配置为接收客户端发送的第一请求;所述第一请求携带所述客户端显示的直播间的第一标识,所述第一请求用于请求得到所述第一标识对应的交互数据;所述第一请求的目的地址为第一服务器的虚拟IP地址;所述虚拟IP地址包括所述负载均衡服务器的公网IP地址以及所述第一服务器对应的端口号;
第一变更模块,被配置为依据预先设置的至少一个端口号与私网IP地址的对应关系,将所述第一请求的所述目的地址中所述虚拟IP地址替换为与所述虚拟IP地址包含的端口号对应的目标私网IP地址;
第二发送模块,被配置为发送目的地址为所述目标私网IP地址的所述第一请求至所述第一服务器;
第四接收模块,被配置为接收所述第一服务器反馈的包含所述交互数据的第一报文;所述第一报文的源地址为所述目标私网IP地址;其中,所述第一报文是在第一组号与第二组号相同的情况下针对所述第一请求的响应报文,所述第一组号为所述第一服务器所属分组的组号,所述第二组号是基于所述第一标识计算得到的至少一个第二服务器所属分组的组号,所述第二服务器用于获取所述交互数据;
第二变更模块,被配置为将所述第四接收模块接收的所述第一报文的源地址由所述目标私网IP地址替换为所述虚拟IP地址,得到第二报文;
第三发送模块,被配置为发送所述第二变更模块得到的所述第二报文至所述客户端。
21.根据权利要求20所述数据处理装置,其特征在于,还包括:
第二获取模块,被配置为获取所述负载均衡服务器所属分组对应的至少局部配置信息,所述至少局部配置信息包括所述第一组号以及将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址;
存储模块,被配置为将所述至少局部配置信息存储至数据库;
第一设置模块,被配置为设置将所述负载均衡服务器作为与客户端的数据转发媒介的服务器的虚拟IP地址对应的私网IP地址。
22.根据权利要求21所述数据处理装置,其特征在于,还包括:
第二设置模块,被配置为若检测到在所述负载均衡服务器所属分组中增加第一目标服务器的第一操作,设置所述第一目标服务器的私网IP地址以及所述第一目标服务器的端口号的对应关系;
第二生成模块,被配置为生成第三请求,所述第三请求用于指示所述数据库在所述负载均衡服务器所属分组的配置信息中增加所述第一目标服务器的虚拟IP地址;
第三发送模块,被配置为发送所述第三请求至所述数据库。
23.根据权利要求21或22所述数据处理装置,其特征在于,还包括:
第三生成模块,被配置为若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的第二操作,生成第四请求,所述第四请求用于指示所述数据库删除所述负载均衡服务器所属分组的配置信息中所述第二目标服务器的虚拟IP地址;
第四发送模块,被配置为发送所述第三生成模块生成的所述第四请求至所述数据库。
24.根据权利要求23所述数据处理装置,其特征在于,所述负载均衡服务器所属分组对应的配置信息还包括至少一个服务器对应的状态,一个服务器对应的状态为所述服务器是否处于待删除的状态;所述第三生成模块具体被配置为:
第一生成单元,被配置为若检测到删除所述负载均衡服务器所属分组包含的第二目标服务器的所述第二操作,生成第五请求;其中,所述第五请求用于指示所述数据库将所述第二目标服务器由第一状态切换至第二状态,所述第一状态为第二目标服务器未处于待删除的状态,所述第二状态为第二目标服务器处于待删除的状态;
发送单元,被配置为发送所述第一生成单元生成的所述第五请求至所述数据库;
第二生成单元,被配置为在生成所述第五请求之后的第一预设时长,生成所述第四请求。
25.一种第一服务器,其特征在于,包括:
第一处理器;
用于存储所述第一处理器可执行指令的第一存储器;
其中,所述第一处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据处理方法。
26.一种负载均衡服务器,其特征在于,包括:
第二处理器;
用于存储所述第二处理器可执行指令的第二存储器;
其中,所述第二处理器被配置为执行所述指令,以实现如权利要求8至12中任一项所述的数据处理方法。
27.一种数据处理系统,其特征在于,包括:数据库、至少一个客户端、至少一个分组,一个所述分组包括至少一个第一服务器;其中,所述数据库用于存储配置文件,每一所述第一服务器中的第一处理器,被配置为执行如权利要求1至7任一所述的数据处理方法。
28.根据权利要求27所述数据处理系统,其特征在于,每一所述分组对应的配置信息包括至少一个所述服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态;所述数据处理系统还包括API应用程序接口服务器;
所述API服务器,被配置为:
基于所述第一标识,计算得到所述第二组号;
每隔第二预设时长从所述数据库获取具有所述第二组号的分组对应的配置信息;
基于从所述数据库获得的所述配置信息更新自身存储的具有所述第二组号的分组对应的配置信息;
将具有所述第二组号的分组对应的配置信息中处于第一状态的服务器的虚拟IP地址发送至所述客户端,一个所述服务器处于所述第一状态是指所述服务器未处于待删除的状态。
29.根据权利要求27所述数据处理系统,其特征在于,每一所述分组对应的配置信息包括至少一个所述服务器对应的状态,一个所述服务器对应的状态为所述服务器是否处于待删除的状态;所述数据处理系统还包括API应用程序接口服务器,所述数据库还被配置为:
接收所述API服务器获取所述配置文件的请求;
将所述配置文件包含的所属至少一个分组中处于第一状态的服务器的虚拟IP地址、所述至少一个分组分别对应的组号以及所述分组的总数目发送至所述API服务器,一个所述服务器处于所述第一状态是指所述服务器未处于待删除的状态。
30.一种存储介质,其特征在于,当所述存储介质中的指令由第一服务器的第一处理器执行时,使得第一服务器能够执行如权利要求1至7中任一项所述的数据处理方法。
31.一种存储介质,其特征在于,当所述存储介质中的指令由负载均衡服务器的处理器执行时,使得负载均衡服务器能够执行如权利要求8至12中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281869.XA CN112423145B (zh) | 2020-11-16 | 2020-11-16 | 数据处理方法、装置、系统、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011281869.XA CN112423145B (zh) | 2020-11-16 | 2020-11-16 | 数据处理方法、装置、系统、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112423145A CN112423145A (zh) | 2021-02-26 |
CN112423145B true CN112423145B (zh) | 2023-03-24 |
Family
ID=74832689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011281869.XA Active CN112423145B (zh) | 2020-11-16 | 2020-11-16 | 数据处理方法、装置、系统、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112423145B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115373857B (zh) * | 2022-10-24 | 2023-03-24 | 日照职业技术学院 | 一种经济管理用数据优化系统 |
CN116828022B (zh) * | 2023-08-30 | 2023-11-24 | 北京白龙马云行科技有限公司 | 管理与服务器的连接关系的方法、装置、设备和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651899B (zh) * | 2011-02-23 | 2017-04-05 | 中兴通讯股份有限公司 | 一种移动通信网络通知终端分组信息的方法、系统和设备 |
CN104852934A (zh) * | 2014-02-13 | 2015-08-19 | 阿里巴巴集团控股有限公司 | 基于前端调度实现流量分配的方法、装置和系统 |
KR101995828B1 (ko) * | 2015-07-30 | 2019-07-04 | 엘에스산전 주식회사 | 데이터 송수신 시스템 |
CN109040232A (zh) * | 2018-08-01 | 2018-12-18 | 广州视源电子科技股份有限公司 | 一种视频会议的负载均衡方法、装置、设备及其存储介质 |
CN111008075B (zh) * | 2019-12-05 | 2023-06-20 | 安超云软件有限公司 | 一种负载均衡系统、方法、装置、设备及介质 |
-
2020
- 2020-11-16 CN CN202011281869.XA patent/CN112423145B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112423145A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112423145B (zh) | 数据处理方法、装置、系统、服务器及介质 | |
CN109151009B (zh) | 一种基于mec的cdn节点分配方法和系统 | |
CN109462640B (zh) | 一种元数据同步方法、数据端、交互系统及介质 | |
CN111327697B (zh) | 一种数据下载方法、装置、设备及存储介质 | |
WO2011026430A1 (zh) | 内容分发网络中数据同步的方法及系统 | |
CN110688523A (zh) | 视频服务提供方法、装置、电子设备及存储介质 | |
CN111586437B (zh) | 一种弹幕消息处理方法、系统、计算设备及存储介质 | |
CN102916930A (zh) | 融合业务网络及其节点、资源请求的路由信息的获取方法 | |
CN114064275A (zh) | 数据处理方法及装置 | |
CN113014672B (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
CN113660538B (zh) | 直播推流回源方法及系统 | |
US9350948B2 (en) | Method and system for providing video service | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
CN112202888B (zh) | 一种边缘用户的报文转发方法及sdn | |
CN107438098B (zh) | 一种动态内容分发方法及其系统 | |
CN113238756A (zh) | 直播业务处理方法、装置、电子设备及存储介质 | |
CN112733051A (zh) | 一种基于WebSocket的信息推送管理系统及其方法 | |
CN105376226A (zh) | 一种流媒体服务器的转发方法及系统 | |
CN112169312A (zh) | 云游戏服务的排队调度方法、装置、设备和存储介质 | |
CN108668151B (zh) | 音视频交互方法及装置 | |
CN109981694B (zh) | 一种同步方法、服务器及终端 | |
CN114338383B (zh) | 一种视频设备简化配置方法及系统 | |
CN105871972A (zh) | 一种视频资源的分布式缓存方法、装置及系统 | |
CN107172129B (zh) | 一种服务器配置方法与装置 | |
CN110730172B (zh) | 一种视频会议的实现方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |