服务器架构下的数据处理方法、服务器及服务器架构的利记博彩app

文档序号:7891600阅读:274来源:国知局
专利名称:服务器架构下的数据处理方法、服务器及服务器架构的利记博彩app
技术领域
本申请涉及网络数据处理领域,特别涉及一种服务器架构下的数据处理方法、服务器及服务器架构。
背景技术
当前数据处理越来越强调及时性。目前数据处理所基于的服务器架构包括移动终端、基于HTTP (Hypertext Transport Protocol,超文本传送协议)的Web服务器和后台服务器。其中,所述后台服务器用于处理Web服务器转发的移动终端请求,并将处理结果通过Web服务器发送至移动终端。上述HTTP协议是一种短连接协议,即移动终端和Web服务器之间的连接为短连接。其中短连接是指通信双方有数据交互时,建立一个TCP(Transmission Control Protocol,传输控制协议)连接,数据发送完成后,断开TCP连接。因此,目前的服务器架构为每个请求都需要建立短连接,方可完成请求处理。然而所述短连接的建立需要耗费大量时间以及带宽,因此,当移动终端同时发送大量请求时,短连接的建立导致请求响应的延迟,从而降低数据处理速度和服务器的稳定性。

发明内容
有鉴于此,本申请提供一种服务器架构下的数据处理方法,用以解决现有服务器架构在处理大量请求时,由于短连接的建立导致请求响应延迟,从而导致数据处理速度和服务器稳定性降低的问题。本申请还提供了一种服务器和服务器架构,用以保证上述方法在实际中的实现及应用。基于本申请的一方面,提供一种服务器架构下的数据处理方法,所述服务器架构包括移动终端、服务器和服务器集群,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接,所述方法包括所述服务器接收所述移动终端发送的用户请求;所述服务器判断所述服务器集群中是否有处于空闲工作状态的所述后台服务器, 如果有,选取一个空闲的所述后台服务器,将所述用户请求发送至所述空闲的后台服务器;所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器;所述服务器获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端,将所述处理结果发送至所有匹配到的所述移动终端。优选地,所述服务器获取所述处理结果携带的接收对象标识包括所述服务器分析所述处理结果中的json字符串,以获取接收对象标识。
优选地,所述服务器获取所述处理结果携带的接收对象标识之前还包括所述服务器获取所述用户请求携带的用户名;所述服务器判断所述用户名是否包括在预设用户名中,如果是,执行所述服务器获取所述处理结果携带的接收对象标识步骤。优选地,所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器包括在所述用户请求为用户登陆请求时,所述后台服务器验证所述用户登陆请求中的用户名和密码是否正确,如果正确,获取用户请求的角色标识号,并将所述角色标识号发送至所述服务器。优选地,所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器包括在所述用户请求为聊天请求时,获取所述聊天请求中携带的用户名,判断所述用户名是否包含在禁言用户名中,如果是,将禁言响应发送至所述服务器。优选地,还包括在用户名包含在禁言用户名中的情况下,判断所述聊天请求中是否携带有道具数据,如果携带有所述道具数据,则将所述道具数据由所述后台服务器发送至所述服务器。基于本申请的另一方面,还提供一种服务器,应用于服务器架构中,所述服务器架构包括移动终端、服务器和服务器集群,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接,所述服务器包括接收装置,用于接收所述移动终端发送的用户请求,以及用于接收空闲的所述后台服务器发送的处理结果,所述处理结果由所述空闲的后台服务器对所述用户请求进行处理得出;第一判断装置,用于判断所述服务器集群中是否有处于空闲工作状态的所述后台服务器;选取装置,用于在所述第一判断装置判断所述服务器集群中有处于空闲工作状态的所述后台服务器的情况下,选取一个空闲的所述后台服务器;匹配装置,用于获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端;发送装置,用于将所述用户请求发送至所述空闲的后台服务器,以及用于将所述处理结果发送至所有匹配到的所述移动终端。优选地,所述匹配装置具体用于分析所述处理结果中的json字符串,以获取接收对象标识。优选地,还包括获取装置,用于获取所述用户请求携带的用户名;第二判断装置,用于判断所述用户名是否包括在预设用户名中,如果是,触发所述匹配装置。基于本申请的再一方面,还提供一种服务器架构,包括移动终端、服务器集群和如上述服务器,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接。与现有技术相比,本申请包括以下优点
在本申请中,服务器架构中移动终端和服务器之间使用长连接方式进行连接。所述服务器接收移动终端发送的用户请求,选取一个空闲的后台服务器,将所述用户请求发送至空闲的后台服务器,由空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器。之后服务器获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端,将所述处理结果发送至所有匹配到的所述移动终端。与现有技术相比,移动终端和服务器之间采用长连接,因此,在处理大量请求过程中,节省连接建立时间且节约带宽,从而可以及时处理请求,加快数据处理速度,提高服务器稳定性。更进一步地,服务器将处理结果发送至所有匹配到的移动终端,因此所有匹配到的移动终端可以直接使用后台服务器对其他移动终端发送的用户请求进行处理得出的处理结果,从而减少请求处理次数,进一步加快数据处理速度。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。


为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本申请的一种服务器架构下的数据处理方法的流程图;图2是本申请的一种服务器架构下的数据处理方法的工作流程图;图3是本申请的一种服务器的一种结构示意图;图4是本申请的一种服务器的另一种结构示意图;图5是本申请的一种服务器架构的结构示意图。
具体实施例方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请基于的服务器架构包括移动终端、服务器和服务器集群,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接。请参阅图1,其示出了本申请提出的一种服务器架构下的数据处理方法的流程图, 可以包括以下步骤步骤101 :服务器接收所述移动终端发送的用户请求。步骤102 :服务器判断所述服务器集群中是否有处于空闲工作状态的所述后台服务器,如果有,执行步骤103,如果没有,继续执行步骤,等待服务器集群中有处于空闲工作状态的后台服务器。在本实施例中,后台服务器上运行有PHP (Professional Hypertext PrepiOcessor,超级文本预处理语言)进程,所述PHP进程在后台服务器上分布式运行。服务器在接收到移动终端发送的用户请求后,采用“轮询调度算法”发送请求至空闲的后台服务器。其中,轮询调度算法的原理是将用户请求轮流发送给后台服务器,直至所有后台服务器都接收过用户请求后,再开始新的循环。当然,在本实施例中,服务器中存储有一个状态标识表,该状态标识表用于记录后台服务器的状态标识,其中,状态标识用于标识后台服务器的工作状态。比如,在状态标识取值为I时,表明后台服务器处于忙碌工作状态;在状态标识取值为O时,表明后台服务器处于空闲工作状态。服务器可以通过判断状态标识以判断后台服务器是否处于空闲工作状态。需要说明的是服务器采用多线程架构,移动终端和服务器之间是长连接,移动终端会不断地向服务器发送请求,而PHP进程可以在多个后台服务器中同时运行,使得有多个PHP进程来处理服务器发送过来的请求,从而多线程和PHP分布性使得本服务器架构可以快速处理大量请求。其中,PHP具有程序开发快、效率高和可分布等特点,因此本申请基于的服务器架构中的逻辑功能基于PHP进行开发,而框架功能,如数据转发功能基于C++进行开发。步骤103 :服务器选取一个空闲的所述后台服务器,服务器可以将所述用户请求发送至所述空闲的后台服务器。其中,在将用户请求发送至空闲的后台服务器后,将后台服务器的状态标识数值设置为I。在本实施例中,服务器在接收到移动终端发送的用户请求后,可以首先获取移动终端中与该用户请求对应的数据,再通过fastcgi调用自身内部的发送设备将所述数据连同用户请求一起发送至空闲的后台服务器。步骤104 :所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器。其中,空闲的后台服务器可以通过$_GET调用自身内部的数据采集设备,从上述服务器发送的数据中获取与用户请求对应的所有参数,如用户请求为用户登录请求时,参数可以包括用户名和密码。在本实施例中,用户请求不同时,后台服务器对用户请求处理也不同。下面以用户请求为用户登录请求和聊天请求为例,对后台服务器的处理过程进行详细说明。在所述用户请求为用户登陆请求时,所述后台服务器对用户登录请求的处理包括后台服务器验证所述用户登陆请求中的用户名和密码是否正确,如果正确,获取用户请求的角色标识号,并将所述角色标识号发送至所述服务器;如果错误,发送“用户名或密码无效”的提示响应至所述服务器。其中,发送角色标识号的格式可以为{ret:0 ; charId:1234}。在所述用户请求为聊天请求时,所述后台服务器对用户登录请求的处理包括后台服务器获取所述聊天请求中携带的用户名,判断所述用户名是否包含在禁言用户名中, 如果是,将禁言响应发送至所述服务器;如果否,将聊天请求中携带的聊天信息发送至服务器,再由服务器将聊天信息发送给聊天对方所用移动终端。其中,将聊天消息发送给聊天对方所用移动终端时,其发送格式可以为{" ret" :0}或{" ret" :2}。禁言用户名可以由后台服务器依据用户评价进行设定,且可以周期性更新所述禁言用户名。
在用户名包含在禁言用户名中的情况下,所述后台服务器对聊天请求的处理还包括判断所述聊天请求中是否携带有道具数据,如果携带有所述道具数据,则将所述道具数据由所述后台服务器发送至所述服务器。步骤105 :所述服务器获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端,将所述处理结果发送至所有匹配到的所述移动终端。在本实施例中,服务器获取所述处理结果携带的接收对象标识可以包括所述服务器分析所述处理结果中的json字符串,以获取接收对象标识。json字符串格式可以为json字符串"\0" json字符串"\0 " json字符串,例如,{" to" : [123, 3456]," op" :123, " ret" :0,···},[123,3456]可以为用户 ID,其中所述用户 ID 可以用于标识用户所使用的移动终端。其中,json字符串中包括的用户ID不同,表明接收所述处理结果的移动终端不同。下面列举几种情况进行说明。to:[" all"],表示除了自己外,发送给所有人;to:[" all+"],表示发送给所有人;to:[" #123"],表示发送给组123中的所有人,不包含自己;to:[" #+123"],表示发送给组123中的所有人。当然,服务器还可以对用户权限进行限定,比如,服务器获取所述用户请求携带的用户名,判断所述用户名是否包括在预设用户名中,如果是,再执行所述服务器获取所述处理结果携带的接收对象标识步骤。其中,预设用户名可以由服务器依据用户评价进行设定, 且可以周期性更新所述禁言用户名。在本实施例中,数据处理的工作流程请参阅图2所示,其中,移动终端发送的用户请求发送至服务器,再由服务器将其转发至后台服务器。后台服务器在对用户请求进行处理,获得处理结果后,将处理结果先发送给服务器,再由服务器转发给移动终端。应用上述技术方案,移动终端和服务器之间采用长连接,因此,在处理大量请求过程中,节省连接建立时间且节约带宽,从而可以及时处理请求,加快数据处理速度,提高服务器稳定性。更进一步地,服务器将处理结果发送至所有匹配到的移动终端,因此所有匹配到的移动终端可以直接使用后台服务器对其他移动终端发送的用户请求进行处理得出的处理结果,从而减少请求处理次数,进一步加快数据处理速度。对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。与上述方法相对应,参见图3,本申请还提供了一种服务器,应用于服务器架构中, 其特征在于,所述服务器架构包括移动终端、服务器和服务器集群,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接。所述服务器可以包括接收装置11、第一判断装置12、选取装置13、匹配装置 14和发送装置15。其中,接收装置11,用于接收所述移动终端发送的用户请求,以及用于接收空闲的所述后台服务器发送的处理结果,所述处理结果由所述空闲的后台服务器对所述用户请求进行处理得出。第一判断装置12,用于判断所述服务器集群中是否有处于空闲工作状态的所述后台服务器。在本实施例中,第一判断装置12判断服务器集群中是否处于空闲工作状态的后台服务器可以参阅方法实施例,对此不再加以阐述。选取装置13,用于在所述第一判断装置12判断所述服务器集群中有处于空闲工作状态的所述后台服务器的情况下,选取一个空闲的所述后台服务器。匹配装置14,用于获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端。在本实施例中,匹配装置14具体用于分析所述处理结果中的json 字符串,以获取接收对象标识。其中,json字符串格式及说明请参阅方法实施例中的说明, 对此不再加以阐述。发送装置15,用于将所述用户请求发送至所述空闲的后台服务器,以及用于将所述处理结果发送至所有匹配到的所述移动终端。请参阅图4,其示出了本申请提供的一种服务器的另一种结构示意图,在图3基础上,还包括获取装置16和第二判断装置17。其中,获取装置16,用于获取所述用户请求携带的用户名。第二判断装置17,用于判断所述用户名是否包括在预设用户名中,如果是,触发所述匹配装置14。本实施例所阐述的服务器可以集成到服务器架构,所述服务器架构还包括移动终端和服务器集群,该服务器架构的结构示意图请参阅图5所示。其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。最后,还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设
备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不
排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种服务器架构下的数据处理方法及服务器架构进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种服务器架构下的数据处理方法,其特征在于,所述服务器架构包括移动终端、服务器和服务器集群,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接,所述方法包括所述服务器接收所述移动终端发送的用户请求;所述服务器判断所述服务器集群中是否有处于空闲工作状态的所述后台服务器,如果有,选取一个空闲的所述后台服务器,将所述用户请求发送至所述空闲的后台服务器;所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器;所述服务器获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端,将所述处理结果发送至所有匹配到的所述移动终端。
2.根据权利要求I所述的数据处理方法,其特征在于,所述服务器获取所述处理结果携带的接收对象标识包括所述服务器分析所述处理结果中的json字符串,以获取接收对象标识。
3.根据权利要求I所述的数据处理方法,其特征在于,所述服务器获取所述处理结果携带的接收对象标识之前还包括所述服务器获取所述用户请求携带的用户名;所述服务器判断所述用户名是否包括在预设用户名中,如果是,执行所述服务器获取所述处理结果携带的接收对象标识步骤。
4.根据权利要求I所述的数据处理方法,其特征在于,所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器包括在所述用户请求为用户登陆请求时,所述后台服务器验证所述用户登陆请求中的用户名和密码是否正确,如果正确,获取用户请求的角色标识号,并将所述角色标识号发送至所述服务器。
5.根据权利要求I所述的服务器架构下的数据处理方法,其特征在于,所述空闲的后台服务器对所述用户请求进行处理,并将处理结果发送至所述服务器包括在所述用户请求为聊天请求时,获取所述聊天请求中携带的用户名,判断所述用户名是否包含在禁言用户名中,如果是,将禁言响应发送至所述服务器。
6.根据权利要求5所述的服务器架构下的数据处理方法,其特征在于,还包括在用户名包含在禁言用户名中的情况下,判断所述聊天请求中是否携带有道具数据,如果携带有所述道具数据,则将所述道具数据由所述后台服务器发送至所述服务器。
7.一种服务器,应用于服务器架构中,其特征在于,所述服务器架构包括移动终端、服务器和服务器集群,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接,所述服务器包括接收装置,用于接收所述移动终端发送的用户请求,以及用于接收空闲的所述后台服务器发送的处理结果,所述处理结果由所述空闲的后台服务器对所述用户请求进行处理得出;第一判断装置,用于判断所述服务器集群中是否有处于空闲工作状态的所述后台服务器;选取装置,用于在所述第一判断装置判断所述服务器集群中有处于空闲工作状态的所述后台服务器的情况下,选取一个空闲的所述后台服务器;匹配装置,用于获取所述处理结果携带的接收对象标识,匹配所述接收对象标识对应的所述移动终端;发送装置,用于将所述用户请求发送至所述空闲的后台服务器,以及用于将所述处理结果发送至所有匹配到的所述移动终端。
8.根据权利要求7所述的服务器,其特征在于,所述匹配装置具体用于分析所述处理结果中的json字符串,以获取接收对象标识。
9.根据权利要求7所述的服务器,其特征在于,还包括获取装置,用于获取所述用户请求携带的用户名;第二判断装置,用于判断所述用户名是否包括在预设用户名中,如果是,触发所述匹配装置。
10.一种服务器架构,其特征在于,包括移动终端、服务器集群和如权利要求7至9任意一项所述的服务器,其中,所述服务器集群包括多个与所述服务器相连的后台服务器,所述移动终端和所述服务器之间使用长连接方式进行连接。
全文摘要
本申请提供了一种服务器架构下的数据处理方法、服务器和服务器架构。一种服务器架构下的数据处理方法,包括服务器接收移动终端发送的用户请求,判断是否有处于空闲工作状态的后台服务器,如果有,选取空闲的后台服务器,将用户请求发送至空闲的后台服务器;再由其对用户请求进行处理,将处理结果发送至服务器;服务器将处理结果发送至所有匹配到的移动终端。在本申请中,移动终端和服务器采用长连接,节省连接建立时间且节约带宽,从而及时处理请求,加快处理速度,提高服务器稳定性。更进一步地,所有匹配到的移动终端可以直接使用后台服务器对其他移动终端发送的用户请求进行处理得出的处理结果,减少请求处理次数,进一步加快数据处理速度。
文档编号H04L29/08GK102594912SQ201210068878
公开日2012年7月18日 申请日期2012年3月15日 优先权日2012年3月15日
发明者李振春 申请人:北京昆仑万维科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1