CN106254520B - 一种资源竞争方法及服务器 - Google Patents
一种资源竞争方法及服务器 Download PDFInfo
- Publication number
- CN106254520B CN106254520B CN201610806083.2A CN201610806083A CN106254520B CN 106254520 B CN106254520 B CN 106254520B CN 201610806083 A CN201610806083 A CN 201610806083A CN 106254520 B CN106254520 B CN 106254520B
- Authority
- CN
- China
- Prior art keywords
- server
- resource contention
- terminal
- resource
- contention
- 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
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/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/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种资源竞争方法及服务器,用于解决现有应用的业务逻辑和核心逻辑耦合在一起所存在的缺陷。本发明实施方法应用于资源竞争系统,所述资源竞争系统包括第一服务器和第二服务器以及N个终端,其中,N为大于1的整数,本发明实施方法包括:所述第一服务器接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;若所述N个终端均满足竞争所述目标应用的资源的条件,则所述第一服务器向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种资源竞争方法及服务器。
背景技术
通信技术的飞速发展,给用户的生活带来极大的改善,用户可以在用户设备上安装各种应用进行使用。
由于有些应用的业务逻辑和核心逻辑是耦合在一起并通过一个服务器来完成的,当使用这些应用时,可能会受到该服务器的容量限制,否则会导致该服务器的运行崩溃。例如:多个终端竞争某应用资源,其中,该应用包括赛事逻辑和核心逻辑,由于该应用的赛事逻辑与核心逻辑是耦合在一起的,赛事逻辑和核心逻辑都在应用核心逻辑服务器(英文全称:Room Server,缩写:游戏核心逻辑服务器)中得以实现,这样,不仅加重了游戏核心逻辑服务器的逻辑复杂度,而且应用资源的竞争人数受到游戏核心逻辑服务器的容量限制。
发明内容
本发明实施例提供了一种资源竞争方法及服务器,用于解决现有应用的业务逻辑和核心逻辑耦合在一起所存在的缺陷,通过第一服务器取代第二服务器来负责业务逻辑,这样,使得参与应用资源竞争的终端个数不受第二服务器的容量限制。
本发明第一方面提供第一资源竞争方法,所述资源竞争方法应用于资源竞争系统,所述资源竞争系统包括第一服务器和第二服务器以及N个终端,其中,N为大于1的整数,所述资源竞争方法包括:
所述第一服务器接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;
若所述N个终端均满足竞争所述目标应用的资源的条件,则所述第一服务器向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
本发明第二方面提供一种服务器,所述服务器为资源竞争系统中的第一服务器,所述资源竞争系统还第二服务器和N个终端,其中,N为大于1的整数,所述第一服务器包括:
接收模块,用于接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;
发送模块,用于若所述N个终端均满足竞争所述目标应用的资源的条件,向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
从以上技术方案可以看出,本发明实施例具有以下优点:
与现有技术不同的是,尽管第二服务器中存储目标应用的资源,但是该第二服务器并不负责该目标应用的资源竞争逻辑,而是通过第一服务器实现,具体实现过程为:第一服务器接收到N个终端发送的对目标应用的N个资源竞争请求,若该N个终端均满足竞争该目标应用的资源的条件,则该第一服务器向该N个终端发送资源竞争指令,以使得该N个终端根据各自接收到的资源竞争指令在预设时间内从第二服务器中竞争该目标应用的资源。这样,通过第一服务器负责目标应用的资源竞争,参与资源竞争的终端个数不受第二服务器的容量限制,从而有效提高资源竞争的广泛性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中资源竞争系统的一个结构图;
图2为本发明实施例中第一服务器的一个结构示意图;
图3为本发明实施例中资源竞争方法的一个实施例示意图;
图4为本发明实施例中资源竞争方法的另一个实施例示意图;
图5为本发明实施例中资源竞争方法的另一个结构示意图;
图6a为本发明实施例中资源竞争架构的一个应用场景结构图;
图6b为本发明实施例中游戏赛事列表的一个应用场景示意图;
图6c为本发明实施例中游戏赛事的一个应用场景示意图;
图7为本发明实施例中第一服务器的另一个结构示意图;
图8为本发明实施例中第一服务器的另一个结构示意图;
图9为本发明实施例中第一服务器的另一个结构示意图。
具体实施方式
本发明实施例提供了一种资源竞争方法及服务器,用于解决现有应用的业务逻辑和核心逻辑耦合在一起所存在的缺陷,通过第一服务器取代第二服务器来负责业务逻辑,这样,使得参与应用资源竞争的终端个数不受第二服务器的容量限制。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明实施例之前,先介绍一下本发明实施例中涉及的资源竞争系统,其中,该资源竞争系统用于实现对游戏应用且不限于游戏应用的数据处理,例如:处理游戏应用的线上赛事数据等,该游戏应用为英雄杀、欢乐斗地主,英雄联盟等,如图1所示,该资源竞争系统包括多个服务器,例如:第一服务器,第二服务器以及第三服务器等,该资源竞争系统还包括N个终端,其中,N为大于1的整数。在实际应用中,该资源系统中的各个服务器、终端之间通信连接。以游戏应用为英雄杀为例,该第一服务器主要负责游戏英雄杀的资源竞争逻辑,其中,该资源竞争逻辑包括资源竞争的整个赛事流程,例如:资源竞争的报名,资源竞争的时间,资源竞争的优劣淘汰等,该第二服务器主要负责游戏英雄杀的核心逻辑,其中,该核心逻辑包括资源竞争的单局进程,负责该核心逻辑的第一服务器属于性能瓶颈较大,稳定性要求较高而且逻辑比较复杂的服务器,该第三服务器主要负责向N个终端发送游戏英雄杀的推送消息。可见,各个服务器之间各有分工,从而避免了现有技术中第二服务器既负责资源竞争逻辑又负责核心逻辑所存在的缺陷,通过第一服务器取代第二服务器负责资源竞争逻辑,从而使得参与资源竞争的终端个数不受第二服务器的容量限制,有效提高资源竞争的广泛性。
请参阅图2,对本发明涉及的第一服务器的具体结构进行介绍,所述第一服务器100包括:收发器110、存储器120、处理器130等部件。本领域技术人员可以理解,图2中示出的第一服务器100的结构并不构成对第一服务器的限定,可以包括比图2更多或更少的部件,或者组合某些部件,或者不同的部件布置。
收发器110可用于收发信息,例如:信号的接收和发送。收发器110通过无线通信与终端等其他设备通信,无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobile communication,缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,缩写:GPRS)、码分多址(英文全称:CodeDivision Multiple Access,缩写:CDMA)、宽带码分多址(英文全称:Wideband CodeDivision Multiple Access,缩写:WCDMA)、长期演进(英文全称:Long Term Evolution,缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,缩写:SMS)等。
存储器120可用于存储软件程序以及模块,处理器130通过运行存储在存储器120的软件程序以及模块,从而执行第一服务器100的各种功能应用以及数据处理。
其中,所述收发器110用于接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;
所述收发器110还用于若所述N个终端均满足竞争所述目标应用的资源的条件,向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
在一些可能的实现方式中,所述处理器130用于所述收发器110向所述N个终端发送资源竞争指令之前,按照预设规则将所述N个终端划分成至少两个资源竞争队列,对每个资源竞争队列进行编号。
所述收发器110向所述N个终端发送资源竞争指令具体包括:根据所述每个资源竞争队列的编号向所述每个资源竞争队列的编号所对应的终端发送资源竞争指令。
在一些可能的实现方式中,所述收发器110还用于向所述N个终端发送资源竞争指令之后,接收所述第二服务器发送的资源竞争结果信息,其中,所述资源竞争结果信息中包括当前参与资源竞争的赢家资源竞争队列和输家资源竞争队列的信息;
所述处理器130还用于根据所述资源竞争结果信息选择所述赢家资源竞争队列包括的终端再次进行资源竞争,淘汰所述输家资源竞争队列中的终端。
在一些可能的实现方式中,所述存储器120用于所述收发器110接收所述第二服务器发送的资源竞争结果信息之后,将所述资源竞争结果信息存储在数据库中。
在一些可能的实现方式中,所述资源竞争系统还包括第三服务器,所述收发器110还用于向所述N个终端发送资源竞争指令之后,若所述目标应用发生通信异常,向所述第三服务器发送所述N个终端的资源竞争状态信息,以使得所述第三服务器将所述N个终端的资源竞争状态信息发送至所述N个终端;若所述目标应用的通信异常已修复,重新向所述N个终端发送资源竞争指令。
在一些可能的实现方式中,所述收发器110还用于接收到所述N个终端发送的对目标应用的N个资源竞争请求之前,向所述第三服务器发送所述目标应用的资源竞争通知消息,以使得所述第三服务器将所述目标应用的资源竞争通知消息发送至所述N个终端。
在一些可能的实现方式中,所述目标应用为游戏应用。
在一些可能的实现方式中,所述资源竞争请求为用于参与所述游戏应用的赛事请求。
请参阅图3,为本发明实施例中资源竞争方法的一个实施例示意图,该资源竞争方法应用于资源竞争系统,该资源竞争系统包括第一服务器和第二服务器以及N个终端,其中,N为大于1的整数,该实施例的具体流程如下:
步骤301、第一服务器接收到N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中。
本发明实施例中,目标应用为第一服务器确定的用于N个终端竞争资源所对应的应用,该目标应用可以为各种安装在终端上的应用,包括:游戏应用,学习应用等,其中,游戏应用如:三国杀,欢乐斗地主,DOTA等,此处不做具体限定,若该目标应用为游戏应用,则该资源竞争请求为用于参与该游戏应用的赛事请求。
与现有技术不同的是,由于目标应用的资源存储在第二服务器中,则由第二服务器负责资源竞争的单局进程,而由第一服务器负责资源竞争的赛事逻辑,其中,第一服务器提前配置好整个目标应用的资源竞争的赛事逻辑,参与资源竞争的终端个数不受第二服务器的容量限制。
在实际应用中,参与资源竞争的终端的个数至少为2个,其中,该终端包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(英文全称:Personal DigitalAssistant,缩写:PDA)、媒体播放器、智能电视,可穿戴设备(例如,智能手表或智能眼镜等)以及上述两项或两项以上的组合等。
步骤302、第一服务器判断N个终端是否均满足竞争所述目标应用的资源的条件,若是,执行步骤303,否则结束流程。
本发明实施例中,不是所有向第一服务器发送资源竞争请求的终端都具备竞争该目标应用的资源的条件,例如:有些等级比较低的目标应用的账号所对应的终端并不具备竞争该目标应用的资源的条件,或者有些终端并不支持该目标应用的资源竞争方式等,因此,第一服务器需要判断该N个终端是否都具备该目标应用的资源的条件,若是,执行步骤303,若否,从该N个终端中确定M个满足竞争该目标应用的资源的条件,并通过第一服务器向该M个终端发送资源竞争指令,以使得该M个终端根据该资源竞争指令在预设时间内从该第二服务器中竞争该目标应用的资源,其中,1<M<N。
在实际应用中,竞争该目标应用的资源的条件是由第一服务器提前配置的,并保存在该目标应用对应的配置文件中,其中,竞争该目标应用的资源的条件可根据实际情况进行相应的修改,此处不做具体限定。
需要说明的是,步骤302是一个可选的步骤,在有些实施例中只需确定该N个终端均满足竞争该目标应用的资源的条件,则执行下述步骤303。在实际应用中,可以是第一服务器通过上述步骤302判断的结果确定该N个终端均满足竞争该目标应用的资源的条件,或者第一服务器从其他设备获知该N个终端均满足竞争该目标应用的资源的条件,此处不做具体限定。
步骤303、第一服务器向N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
本发明实施例中,若第一服务器确定该N个终端均满足竞争该目标应用的资源的条件,则第一服务器将资源竞争指令发送给该N个终端,由于第二服务器中存储有该目标应用的资源,则该N个终端根据该资源竞争指令在预设时间内从该第二服务器中竞争该目标应用的资源,其中,该预设时间为竞争该目标应用的资源的单局赛事所对应的时间,该预设时间也是由该第一服务器提前配置好的。
在图3所示实施例的基础上,请参阅图4,为本发明实施例中资源竞争方法的另一个实施例示意图,该资源竞争方法应用于资源竞争系统,该资源竞争系统还包括第三服务器,该实施例的具体流程如下:
步骤401、第一服务器向第三服务器发送所述目标应用的资源竞争通知消息,以使得所述第三服务器将所述目标应用的资源竞争通知消息发送至所述N个终端。
与图3所示实施例不同的是,在第一服务器接收到N个终端发送的对目标应用的N个资源竞争请求之前,该第一服务器先向第三服务器发送该目标应用的资源竞争通知消息,由于第三服务器与该N个终端之间通信连接,则通过该第三服务器将该目标应用的资源竞争通知消息发送至N个终端,以使得该N个终端判断是否需要向该第一服务器发送资源竞争请求,这样,使得该N个终端可以清楚的获知该目标应用的资源竞争状态。
步骤402、第一服务器接收到N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中。
步骤403、第一服务器判断N个终端是否均满足竞争所述目标应用的资源的条件,若是,执行步骤404,否则结束流程。
需要说明的是,步骤402和步骤403与图3所示的步骤301和步骤302相同或者相似,具体可参阅步骤301和步骤302的描述,此处不再赘述。
步骤404、第一服务器按照预设规则将N个终端划分成至少两个资源竞争队列。
本发明实施例中,竞争该目标应用的资源,必然存在至少两个竞争主体,假设只有一个竞争主体,则无需竞争该目标应用的资源。例如:假设该目标应用是一款竞技游戏,则将参与该竞争游戏的用户分为A队列和B队列,其中,每个队列都属于一个团体,共同与对方作战竞技,竞技的结果可能是A队列为赢方,B队列为输方,或者B队列为赢方,A队列是输方,或者A队列和B队列难分胜负,平局等,具体可根据实际竞争情况而定。
步骤405、第一服务器对每个资源竞争队列进行编号。
本发明实施例中,为了清楚的标识每个资源竞争队列,则对每个资源竞争进行编号,例如:有的资源竞争队列为甲队,有的资源竞争队列为乙队。
步骤406、第一服务器根据每个资源竞争队列的编号向每个资源竞争队列的编号所对应的终端发送资源竞争指令,以使得N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
本发明实施例中,由于编号是为了标识每个资源竞争队列,则第一服务器根据每个资源竞争队列的编号向每个资源竞争队列的编号所对应的终端发送资源竞争指令,从而提高发送资源竞争指令的准确性。
在一些可能的实现方式中,若所述目标应用发生通信异常,所述第一服务器向所述第三服务器发送所述N个终端的资源竞争状态信息,以使得所述第三服务器将所述N个终端的资源竞争状态信息发送至所述N个终端;
若所述目标应用的通信异常已修复,所述第一服务器重新向所述N个终端发送资源竞争指令。
在实际应用中,在N个终端竞争目标应用的资源的过程中,可能会出现该目标应用发生通信异常的问题,此时,第一服务器及时向第三服务器发送该N个终端的资源竞争状态信息,由于该第三服务器与N个终端之间通信连接,则通过第三服务器向该N个终端发送该资源竞争状态信息,以使得该N个终端获知当前的一个资源竞争状态,并判断是否继续参与竞争该目标应用的资源,例如:有的用户或者该目标应用发生通信断线,则在一定的等待时间内发现该通信断线问题还没有被修复,则可能退出该竞争,或委托人工智能(英文全称:Artificial Intelligence,缩写:AI)参与后续的资源竞争。
在图4所示实施例的基础上,请参阅图5,为本发明实施例中资源竞争方法的另一个实施例示意图,该实施例的具体流程如下:
步骤501、第一服务器向第三服务器发送所述目标应用的资源竞争通知消息,以使得所述第三服务器将所述目标应用的资源竞争通知消息发送至所述N个终端。
步骤502、第一服务器接收到N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中。
步骤503、第一服务器判断N个终端是否均满足竞争所述目标应用的资源的条件,若是,执行步骤504,否则结束流程。
步骤504、第一服务器按照预设规则将N个终端划分成至少两个资源竞争队列。
步骤505、第一服务器对每个资源竞争队列进行编号。
步骤506、第一服务器根据每个资源竞争队列的编号向每个资源竞争队列的编号所对应的终端发送资源竞争指令,以使得N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
需要说明的是,步骤501至步骤506与图4所示的步骤401至步骤406相同或者相似,具体可参阅步骤401至步骤406的描述,此处不再赘述。
步骤507、第一服务器接收第二服务器发送的资源竞争结果信息,其中,所述资源竞争结果信息中包括当前参与资源竞争的赢家资源竞争队列和输家资源竞争队列的信息。
本发明实施例中,由于第二服务器负责单局的资源竞争,则通过第二服务器将该资源竞争结果信息发送至第一服务器,则第一服务器根据该资源竞争结果信息确定哪对列是赢方,哪对列是输方。
在一些可能的实现方式中,第一服务器将所述资源竞争结果信息存储在数据库中。
在实际应用中,第一服务器可以为无状态服务器,其中,无状态表现为:对于单次请求的处理,不依赖其他请求,也就是说,处理一次请求所需的全部信息,要么都包含在这个请求里,要么可以从外部(例如:数据库)获取,无状态服务器本身不存储任何信息。即:若第一服务器需要负责目标应用的赛事逻辑时,可以从其他服务器获取该赛事逻辑相关的信息,若该第一服务器获知该赛事逻辑的资源竞争结果信息,则将该资源竞争结果信息存储在数据库中,例如:存储在存储服务器中,这样,就可以避免当第一服务器发生故障时,影响整个资源竞争的进程,实现数据的可备份性。
步骤508、第一服务器根据所述资源竞争结果信息选择赢家资源竞争队列包括的终端再次进行资源竞争,淘汰输家资源竞争队列中的终端。
本发明实施例中,根据单局竞争的资源竞争结果信息,选择赢家资源竞争队列包括的终端再次进行资源竞争,例如:进行下一局的资源竞争,淘汰输家资源竞争队列中的终端。在实际应用中,每场单局竞争的赢家资源竞争队列都获取到下一局继续进行竞争的机会,则可以继续参阅下一局的资源竞争,而每局的输家资源竞争队列直接淘汰。当然,在实际应用中,由于资源竞争的赛事逻辑是由第一服务器提前确定的,还可以设置其他赛事逻辑,例如:每局的输家资源竞争队列可以不淘汰,但是需要通过买扣币或者等待一段时间才能有资格参与下一局的资源竞争,具体可根据第一服务器根据实际情况而配置,此处不做具体限定。
上面介绍了本发明实施例中资源竞争的实施方案,下面结合具体应用场景来描述资源竞争的具体过程:
如图6a所示,为本发明实施例中资源竞争架构的一个应用场景示意图,该资源竞争架构为针对游戏应用所设计的资源竞争架构,该资源竞争架构包括接入层、逻辑层和数据层三个协议层,其中,在接入层主要完成终端与多个游戏服务器(例如:游戏服务器1,游戏服务器2,...,游戏服务器N,其中,N为大于0的整数)之间的信息交互。该逻辑层主要完成多个游戏服务器(英文:GameSever),赛事服务器(英文:ContestSever),赛事列表服务器(英文:ContestListSever),负载控制器(英文:RoomController)以及多个游戏核心逻辑服务器(例如:游戏核心逻辑服务器1,游戏核心逻辑服务器2,…,游戏核心逻辑服务器N,其中,N为大于0的整数)之间的信息交互。该数据层主要完成多个存储服务器(存储服务器1,存储服务器2,…,存储服务器N,其中,N为大于0的整数)将从多个游戏服务器获取的信息进行存储的过程。需要说明的是,在实际应用中,赛事服务器,赛事列表服务器,负载控制器也可以有多个,此处不做具体限定。
其中,各个服务器之间高度解耦,赛事列表服务器主要负责各个赛事逻辑的汇总,该赛事逻辑可以是各种游戏的赛事逻辑,例如:英雄杀,欢乐斗地主,炉石等卡牌类或者英雄联盟,DOTA等多人在线战术竞技游戏(英文全称:Multiplayer Online Battle ArenaGames,缩写:MOBA)等,如图6b所示,为手游英雄杀赛事列表的实施例示意图,例如:在赛事列表中包括宝具争夺战的场数和比赛时间等。赛事服务器主要负责赛事逻辑,如图6c所示,为手游英雄杀赛事游戏的实施例示意图,例如:该赛事游戏包括赛事剩余人数等。游戏核心逻辑服务器主要负责具体的游戏逻辑,不关心当前的赛事进程,游戏结束后游戏核心逻辑服务器需要将游戏结果上报给赛事服务器,其中,赛事服务器可以是无状态的服务器,不存储任何数据,赛事服务器将游戏结果发送给游戏服务器,并通过游戏服务器将游戏结果发送至存储服务器进行存储,可见,赛事服务器可以支持跨游戏核心逻辑服务器以外的赛事,参赛人数不受游戏核心逻辑服务器的容量限制。
在实际应用中,游戏赛事的整个过程主要包括以下几个流程:
一、游戏赛事的实现流程:
1)拉取赛事信息逻辑
在实际应用中,每个赛事服务器都支持特定的几种赛事,具体的赛事数据和配置都由赛事服务器负责。若游戏服务器需要拉取赛事信息,则赛事服务器向游戏服务器返回当前有效的赛事信息和玩家自有的赛事信息。
2)赛事报名逻辑
赛事服务器为每局赛事维护一个玩家队列,赛事开启报名后,玩家向赛事服务器发送报名请求,则若赛事服务器确定该玩家满足赛事的条件时,将该玩家拉到玩家队列中。当报名的玩家人数达到该赛事人数上限时,赛事服务器不再接收玩家的报名请求。
3)赛事开局,撮合逻辑
若符合开赛条件(时间,报名人数),则赛事服务器根据玩家队列进行撮合,撮合成至少两个队列,并将撮合的结果消息通知到终端,并在撮合后还需要为每个玩家生成全局序列号,用于标识该玩家。
终端接收到撮合成功消息后,向赛事服务器发送开赛确认信息,则赛事服务器接收到该开赛确认信息后,获取该赛事类型对应的空闲的游戏核心逻辑服务器,然后终端进入游戏核心逻辑服务器中进行游戏。
单局游戏结束后,游戏核心逻辑服务器将该局的结果信息上报给赛事服务器,赛事服务器选择赢家队列进行下一局的游戏。
二、游戏赛事推送消息的推送流程:
游戏服务器需要推送赛事信息给参与该赛事的玩家,具体包括下述几种可能的推送通知:
1)赛事开始前提前推送通知
2)撮合成功后推送通知
3)赛事信息有变更时推送通知
三、游戏赛事的异常处理流程:
1)断线重玩
a)比赛中,单局游戏结束后空闲等待时间断线重玩
开赛时,赛事服务器需要向游戏服务器上报赛事状态,当玩家处于空闲等待阶段断线重玩时,游戏服务器需要主动到赛事服务器拉取相关的赛事信息并将赛事信息推送到终端。
b)单局游戏中断线重玩
单局游戏中断线重玩,赛事服务器不仅需要推送赛事信息,还需要走普通玩法断线重玩逻辑将玩家重新拉到游戏中。
c)玩家错过开赛通知,没有及时回到比赛
游戏开始,该玩家由AI托管,例如:玩家需要回到比赛时,可以在比赛列表页面,点击“我的赛事”就可以断线重玩到游戏中。
2)玩家退赛
玩家主动退赛,用AI托管。例如:该队列失败,直接淘汰或者该队列胜利,下一局继续使用该玩家信息托管。
可见,在该应用场景中,最大可能的简化了游戏核心逻辑服务器的逻辑复杂度,让游戏核心逻辑服务器只负责最核心的游戏逻辑,让赛事服务器负责游戏的赛事逻辑,从而使得游戏核心逻辑服务器的稳定性更加有保障。同时由于赛事逻辑从游戏核心逻辑服务器解耦,这样参赛人数不受游戏核心逻辑服务器的容量限制,可以支持线上大型玩家对战(英文全称:Player VS Player,缩写:PVP)赛事,例如:手游英雄杀里的经典玩法,竞技场,逐鹿以及线上赛事都属于PVP玩法,线上赛事一般是指玩家在开赛前报名参赛,当参赛人数达到开赛条件后定时开赛,每局失败方立即淘汰,胜利方继续匹配对手,直到决出冠军,当然,线上赛事的规则还可以根据实际情况而定,此处不做具体限定。
为便于更好的实施本发明实施例的上述相关方法,下面还提供用于配合上述方法的相关服务器。
请参阅图7,为本发明实施例中第一服务器700的一个结构示意图,该第一服务器700为资源竞争系统中的一个服务器,该资源竞争系统还包括第二服务器和N个终端,其中,N为大于1的整数,该第一服务器700包括:接收模块701和发送模块702。
接收模块701,用于接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;
发送模块702,用于若所述N个终端均满足竞争所述目标应用的资源的条件,向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
与现有技术不同的是,尽管第二服务器中存储目标应用的资源,但是该第二服务器并不负责该目标应用的资源竞争逻辑,而是通过第一服务器实现,具体实现过程为:接收模块701接收到N个终端发送的对目标应用的N个资源竞争请求,若该N个终端均满足竞争该目标应用的资源的条件,则发送模块702向该N个终端发送资源竞争指令,以使得该N个终端根据各自接收到的资源竞争指令在预设时间内从第二服务器中竞争该目标应用的资源。这样,通过第一服务器负责目标应用的资源竞争,参与资源竞争的终端个数不受第二服务器的容量限制,从而有效提高资源竞争的广泛性。
在图7所示的第一服务器的基础上,请参阅图8,为本发明实施例中第一服务器的另一个结构示意图,该第一服务器700包括:接收模块701和发送模块702以及处理模块703。
发送模块702,用于在接收模块接收701到所述N个终端发送的对目标应用的N个资源竞争请求之前,向所述第三服务器发送所述目标应用的资源竞争通知消息,以使得所述第三服务器将所述目标应用的资源竞争通知消息发送至所述N个终端;
接收模块701,用于接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;
处理模块703,用于所述发送模块702向所述N个终端发送资源竞争指令之前,按照预设规则将所述N个终端划分成至少两个资源竞争队列;
所述处理模块703,还用于对每个资源竞争队列进行编号;
所述发送模块702用于若所述N个终端均满足竞争所述目标应用的资源的条件,根据所述每个资源竞争队列的编号向所述每个资源竞争队列的编号所对应的终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
在一些可能的实现方式中,所述接收模块701,还用于所述发送模块702向所述N个终端发送资源竞争指令之后,接收所述第二服务器发送的资源竞争结果信息,其中,所述资源竞争结果信息中包括当前参与资源竞争的赢家资源竞争队列和输家资源竞争队列的信息;
所述处理模块703,还用于根据所述接收模块701接收的所述资源竞争结果信息选择所述赢家资源竞争队列包括的终端进行下一局的资源竞争,淘汰所述输家资源竞争队列中的终端。
在另一些可能的实现方式中,所述资源竞争系统还包括第三服务器,所述发送模块702,还用于向所述N个终端发送资源竞争指令之后,若所述目标应用发生通信异常,向所述第三服务器发送所述N个终端的资源竞争状态信息,以使得所述第三服务器将所述N个终端的资源竞争状态信息发送至所述N个终端;若所述目标应用的通信异常已修复,重新向所述N个终端发送资源竞争指令。
在图8所示的第一服务器的基础上,请参阅图9,为本发明实施例中第一服务器的另一个结构示意图,该第一服务器700包括:接收模块701和发送模块702以及处理模块703、存储模块704。
发送模块702,用于在接收模块接收701到所述N个终端发送的对目标应用的N个资源竞争请求之前,向所述第三服务器发送所述目标应用的资源竞争通知消息,以使得所述第三服务器将所述目标应用的资源竞争通知消息发送至所述N个终端;
接收模块701,用于接收到所述N个终端发送的对目标应用的N个资源竞争请求,其中,所述目标应用的资源存储在所述第二服务器中;
处理模块703,用于所述发送模块702向所述N个终端发送资源竞争指令之前,按照预设规则将所述N个终端划分成至少两个资源竞争队列;
所述处理模块703,还用于对每个资源竞争队列进行编号;
所述发送模块702用于若所述N个终端均满足竞争所述目标应用的资源的条件,根据所述每个资源竞争队列的编号向所述每个资源竞争队列的编号所对应的终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述目标应用的资源。
所述接收模块701,还用于所述发送模块702向所述N个终端发送资源竞争指令之后,接收所述第二服务器发送的资源竞争结果信息,其中,所述资源竞争结果信息中包括当前参与资源竞争的赢家资源竞争队列和输家资源竞争队列的信息;
存储模块704、用于所述接收模块701接收所述第二服务器发送的资源竞争结果信息之后,将所述资源竞争结果信息存储在数据库中。
所述处理模块703,还用于根据所述接收模块701接收的所述资源竞争结果信息选择所述赢家资源竞争队列包括的终端再次进行资源竞争,淘汰所述输家资源竞争队列中的终端。
在一些可能的实现方式中,所述目标应用为游戏应用。
在一些可能的实现方式中,所述资源竞争请求为用于参与所述游戏应用的赛事请求。
与现有技术不同的是,尽管第二服务器中存储目标应用的资源,但是该第二服务器并不负责该目标应用的资源竞争逻辑,而是通过第一服务器实现,具体实现过程为:发送模块702用于在接收模块接收701到N个终端发送的对目标应用的N个资源竞争请求之前,向所述第三服务器发送所述目标应用的资源竞争通知消息,以使得所述第三服务器将所述目标应用的资源竞争通知消息发送至所述N个终端,接收模块701接收到N个终端发送的对目标应用的N个资源竞争请求,则处理模块703按照预设规则将所述N个终端划分成至少两个资源竞争队列并对每个资源竞争队列进行编号,若所述N个终端均满足竞争所述目标应用的资源的条件,发送模块702根据所述每个资源竞争队列的编号向所述每个资源竞争队列的编号所对应的终端发送资源竞争指令,以使得该N个终端根据各自接收到的资源竞争指令在预设时间内从第二服务器中竞争该目标应用的资源。这样,通过第一服务器负责目标应用的资源竞争,参与资源竞争的终端个数不受第二服务器的容量限制,从而有效提高资源竞争的广泛性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种资源竞争方法,其特征在于,所述资源竞争方法应用于资源竞争系统,所述资源竞争系统包括第一服务器和第二服务器以及N个终端,其中,N为大于1的整数,所述第一服务器用于负责游戏应用的业务逻辑,所述第二服务器用于负责所述游戏应用的核心逻辑;所述资源竞争方法包括:
所述第一服务器接收到所述N个终端发送的对所述游戏应用的N个资源竞争请求,其中,所述游戏应用的资源存储在所述第二服务器中;所述资源竞争请求为用于参与所述游戏应用的赛事请求;
若所述N个终端均满足竞争所述游戏应用的资源的条件,则所述第一服务器向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述游戏应用的资源。
2.根据权利要求1所述的方法,其特征在于,所述第一服务器向所述N个终端发送资源竞争指令之前,所述方法还包括:
所述第一服务器按照预设规则将所述N个终端划分成至少两个资源竞争队列;
所述第一服务器对每个资源竞争队列进行编号;
所述第一服务器向所述N个终端发送资源竞争指令包括:
所述第一服务器根据所述每个资源竞争队列的编号向所述每个资源竞争队列的编号所对应的终端发送资源竞争指令。
3.根据权利要求2所述的方法,其特征在于,所述第一服务器向所述N个终端发送资源竞争指令之后,所述方法还包括:
所述第一服务器接收所述第二服务器发送的资源竞争结果信息,其中,所述资源竞争结果信息中包括当前参与资源竞争的赢家资源竞争队列和输家资源竞争队列的信息;
所述第一服务器根据所述资源竞争结果信息选择所述赢家资源竞争队列包括的终端再次进行资源竞争,淘汰所述输家资源竞争队列中的终端。
4.根据权利要求3所述的方法,其特征在于,所述第一服务器接收所述第二服务器发送的资源竞争结果信息之后,所述方法还包括:
所述第一服务器将所述资源竞争结果信息存储在数据库中。
5.根据权利要求1所述的方法,其特征在于,所述资源竞争系统还包括第三服务器,所述第一服务器向所述N个终端发送资源竞争指令之后,所述方法还包括:
若所述游戏应用发生通信异常,所述第一服务器向所述第三服务器发送所述N个终端的资源竞争状态信息,以使得所述第三服务器将所述N个终端的资源竞争状态信息发送至所述N个终端;
若所述游戏应用的通信异常已修复,所述第一服务器重新向所述N个终端发送资源竞争指令。
6.根据权利要求5所述的方法,其特征在于,所述第一服务器接收到所述N个终端发送的对所述游戏应用的N个资源竞争请求之前,所述方法还包括:
所述第一服务器向所述第三服务器发送所述游戏应用的资源竞争通知消息,以使得所述第三服务器将所述游戏应用的资源竞争通知消息发送至所述N个终端。
7.一种服务器,其特征在于,所述服务器为资源竞争系统中的第一服务器,所述资源竞争系统还第二服务器和N个终端,其中,N为大于1的整数,所述第一服务器用于负责游戏应用的业务逻辑,所述第二服务器用于负责所述游戏应用的核心逻辑;所述第一服务器包括:
接收模块,用于接收到所述N个终端发送的对所述游戏应用的N个资源竞争请求,其中,所述游戏应用的资源存储在所述第二服务器中;所述资源竞争请求为用于参与所述游戏应用的赛事请求;
发送模块,用于若所述N个终端均满足竞争所述游戏应用的资源的条件,向所述N个终端发送资源竞争指令,以使得所述N个终端根据所述资源竞争指令在预设时间内从所述第二服务器中竞争所述游戏应用的资源。
8.根据权利要求7所述的服务器,其特征在于,所述第一服务器还包括:
处理模块,用于所述发送模块向所述N个终端发送资源竞争指令之前,按照预设规则将所述N个终端划分成至少两个资源竞争队列;
所述处理模块,还用于对每个资源竞争队列进行编号;
所述发送模块,具体用于根据所述每个资源竞争队列的编号向所述每个资源竞争队列的编号所对应的终端发送资源竞争指令。
9.根据权利要求8所述的服务器,其特征在于,
所述接收模块,还用于所述发送模块向所述N个终端发送资源竞争指令之后,接收所述第二服务器发送的资源竞争结果信息,其中,所述资源竞争结果信息中包括当前参与资源竞争的赢家资源竞争队列和输家资源竞争队列的信息;
所述处理模块,还用于根据所述接收模块接收的所述资源竞争结果信息选择所述赢家资源竞争队列包括的终端再次进行资源竞争,淘汰所述输家资源竞争队列中的终端。
10.根据权利要求9所述的服务器,其特征在于,所述第一服务器还包括:
存储模块,用于所述接收模块接收所述第二服务器发送的资源竞争结果信息之后,将所述资源竞争结果信息存储在数据库中。
11.根据权利要求7所述的服务器,其特征在于,所述资源竞争系统还包括第三服务器,所述发送模块,还用于向所述N个终端发送资源竞争指令之后,若所述游戏应用发生通信异常,向所述第三服务器发送所述N个终端的资源竞争状态信息,以使得所述第三服务器将所述N个终端的资源竞争状态信息发送至所述N个终端;若所述游戏应用的通信异常已修复,重新向所述N个终端发送资源竞争指令。
12.根据权利要求11所述的服务器,其特征在于,
所述发送模块,还用于所述接收模块接收到所述N个终端发送的对游戏应用的N个资源竞争请求之前,向所述第三服务器发送所述游戏应用的资源竞争通知消息,以使得所述第三服务器将所述游戏应用的资源竞争通知消息发送至所述N个终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610806083.2A CN106254520B (zh) | 2016-09-06 | 2016-09-06 | 一种资源竞争方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610806083.2A CN106254520B (zh) | 2016-09-06 | 2016-09-06 | 一种资源竞争方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106254520A CN106254520A (zh) | 2016-12-21 |
CN106254520B true CN106254520B (zh) | 2018-07-06 |
Family
ID=57598593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610806083.2A Active CN106254520B (zh) | 2016-09-06 | 2016-09-06 | 一种资源竞争方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106254520B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110876852B (zh) * | 2018-09-06 | 2023-09-26 | 深圳市贰陆陆科技有限公司 | 微服务的网络游戏数据处理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521683A (zh) * | 2009-03-19 | 2009-09-02 | 深圳市新飞扬数码技术有限公司 | 一种网络游戏系统及其接入方法、客户端通讯方法 |
CN101554014A (zh) * | 2006-09-14 | 2009-10-07 | 阿弗列斯有限公司 | 用于促进有限资源分配的系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2471486A (en) * | 2009-06-30 | 2011-01-05 | Nokia Corp | Apparatus and method for resolving resource contention using access priority. |
CN103297446B (zh) * | 2012-02-23 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 游戏资源分配的方法及服务器 |
CN103888485B (zh) * | 2012-12-19 | 2018-03-09 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
CN105903193B (zh) * | 2016-04-12 | 2019-04-19 | 杭州电魂网络科技股份有限公司 | 一种实现游戏跨区分布式比赛的方法及系统 |
-
2016
- 2016-09-06 CN CN201610806083.2A patent/CN106254520B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101554014A (zh) * | 2006-09-14 | 2009-10-07 | 阿弗列斯有限公司 | 用于促进有限资源分配的系统和方法 |
CN101521683A (zh) * | 2009-03-19 | 2009-09-02 | 深圳市新飞扬数码技术有限公司 | 一种网络游戏系统及其接入方法、客户端通讯方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106254520A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102257801B1 (ko) | 가상 장면에서의 통지 방법, 관련 디바이스 및 컴퓨터 저장 매체 | |
CN107423015B (zh) | 游戏内容的同步显示方法和装置 | |
US10957149B2 (en) | Computer and method for game control | |
EP2015539B1 (en) | Instant messaging embedded games | |
US8616970B2 (en) | System and method for managing a multiplicity of text messages in an online game | |
CN106075912B (zh) | 一种网络游戏互助的方法及网络游戏系统 | |
US10449458B2 (en) | Skill matching for a multiplayer session | |
JP5419808B2 (ja) | 多人数同時参加型オンラインロールプレイングゲーム用サーバ | |
CN112044059B (zh) | 一种游戏信息处理方法及装置 | |
CN108310771A (zh) | 任务的执行方法和装置、存储介质、电子装置 | |
CN109806577A (zh) | 牌类对局的展示方法、装置、终端及存储介质 | |
CN106534970B (zh) | 一种推荐视频确定方法、数据处理服务器及系统 | |
CN112675548B (zh) | 对局匹配方法、装置、设备及可读存储介质 | |
CN107911374A (zh) | 数据同步方法和装置、存储介质及电子装置 | |
TW202227175A (zh) | 虛擬物品資訊的發送方法及裝置、虛擬物品資訊的顯示方法及裝置、終端、電腦可讀存儲介質及電腦程式產品 | |
JP7031811B2 (ja) | 空間二元化を利用してスポーツゲームのプレイヤーキャラクタを育成する方法およびシステム | |
JP2002239237A (ja) | ゲームシステム及びゲーム報酬分配プログラム | |
CN109847340B (zh) | 一种信息处理方法、装置、设备及介质 | |
CN106254520B (zh) | 一种资源竞争方法及服务器 | |
JP5784694B2 (ja) | 対戦ゲームを提供する方法、サーバ装置、及びコンピュータプログラム | |
JP5505917B1 (ja) | ゲームの制御方法、サーバ装置、及びプログラム | |
CN109582389A (zh) | 消息处理方法、装置、存储介质、处理器及终端 | |
CN109550253A (zh) | 游戏加载方法、装置、存储介质、处理器及终端 | |
CN109614163A (zh) | 消息处理方法、装置、存储介质、处理器及终端 | |
KR20130089791A (ko) | 온라인 게임 제공 방법, 이를 기록한 기록매체 및 온라인 게임 제공 서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |