CN105573850A - 多进程交互方法、系统和服务器 - Google Patents
多进程交互方法、系统和服务器 Download PDFInfo
- Publication number
- CN105573850A CN105573850A CN201510944046.3A CN201510944046A CN105573850A CN 105573850 A CN105573850 A CN 105573850A CN 201510944046 A CN201510944046 A CN 201510944046A CN 105573850 A CN105573850 A CN 105573850A
- Authority
- CN
- China
- Prior art keywords
- task
- distribution process
- distribution
- server
- distributed
- 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
Classifications
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种多进程交互方法、系统和服务器,其中,该方法包括以下步骤:服务器启动一分配进程和多个任务进程;分配进程接收由多个客户端分别发送的单个需求信息,并生成对应的任务分发至多个任务进程;多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。本发明通过利用服务器的CPU的多核性能,实现多个进程的同时运行,也即由分配进程分配任务,由多个任务进程同时工作并独立完成任务,不仅大大提高了任务处理的效率和保证了各个任务进程工作的独立性,而且扩大服务器处理的客户端的数量,不需要应用锁机制,避免了竞争情况的发生。
Description
技术领域
本发明涉及计算机同时完成多方数据处理的任务的技术领域,特别涉及一种利用计算机的核数来提升服务器与客户端之间的数据交互效率及优化计算机的处理效率的多进程交互方法、系统和服务器。
背景技术
现有技术中,计算机同步完成多项任务主要依靠于多线程技术,也即,从软件或者硬件上实现多个线程并发执行的技术。因此,为了能够在同一时间内完成多项任务,在多人在线战术竞技游戏或其它多人对战模式游戏中,也应用到了多线程技术,以实现游戏服务器对多个玩家客户端发送的多项任务进行及时地处理,并能够将处理结果同时返回至玩家客户端。
同时,为了满足大量的玩家的需求,游戏服务器一般采用多线程块模型的方式对大量玩家发送的任务进行处理。但是,多线程块模型在每个进程里只有一个块而不是多个块,这单个块(可理解为单进程)控制着多个线程而不是单个线程;在这里不需要消息队列,因为所有的线程都是相同的块的一部分,导致程序员必须提供线程同步以保证线程不会并发请求相同的资源,以避免竞争情况的发生。为解决该问题,通过提供一锁机制即可;但是,锁机制的存在可能会导致系统发生死锁现象,且由于游戏服务器要求的逻辑时序性很强,使用多线程处理的方式还会导致逻辑处理的复杂度增大。
并且,通过一个进程处理多人战斗模式的战斗逻辑,如处理多人在线战术竞技游戏的战斗逻辑时,则这个进程不仅要完成玩家战斗逻辑的处理,而且还要完成玩家数据存储的任务及日志任务,从而导致在必须保证玩家战斗体验感受良好的情况下,游戏服务器只能支撑200个玩家的战斗逻辑数据处理,不能满足对更多玩家的支持,限制了在线玩家人数,不能满足更多玩家的需要。
发明内容
本发明的目的是为了解决上述现有技术的缺点和不足,提供一种多进程交互方法、系统和服务器,不需要应用锁机制即可避免竞争情况的发生,实现在满足游戏服务器的要求的同时大大降低逻辑处理的复杂度,从而有效地提高游戏服务器的处理能力,并扩大游戏服务器能够支撑的游戏玩家的数量,提升最大同时在线人数。
一种多进程交互方法,包括以下步骤:
服务器启动一分配进程和多个任务进程;
分配进程接收由多个客户端分别发送的单个需求信息,并生成对应的任务分发至多个任务进程;
多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。
由上述技术方案可知,本发明通过利用服务器的CPU的多核性能,实现多个进程的同时运行,也即由分配进程分配任务,由多个任务进程同时工作并独立完成任务,从而不仅大大提高了任务处理的效率和保证了各个任务进程工作的独立性,而且扩大客户端的数量,不需要应用锁机制,从而避免了需求信息竞争情况的发生。将本发明的多进程交互方法应用于游戏服务器时,能够实现在满足游戏服务器的要求的同时大大降低逻辑处理的复杂度,从而有效地提高游戏服务器的处理能力,并扩大游戏服务器能够支撑的游戏玩家的数量,提升最大同时在线人数。
进一步,所述服务器中处理器的核数为N个,N为整数且其大于1;及步骤服务器启动一分配进程和多个任务进程中,服务器启动的多个任务进程的数量为N-1个。通过此处设置,最大限定地利用了服务器的CPU多核配置性能,使得服务器中运行的进程总数与CPU的核数相同,从而进一步提高了服务器的任务完成效率,并扩大了用户在线人数,增强用户体验。
进一步,所述步骤分配进程接收由多个客户端分别发送的单个需求信息,并生成对应的任务分发至多个任务进程,具体包括以下步骤:
分配进程接收由多个客户端分别发送的单个需求信息,并根据接收到需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务,同时依次建立每个客户端分别和与其对应的任务之间的关联关系;
分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候。
通过上述分配进程对接收到的所有需求信息的处理,保证了与需求信息对应的任务能正常地按先后顺序实现分发并由任务进程完成,进一步保证了所有任务的有序且及时的处理,从而进一步保证了用户的体验。
进一步,所述步骤多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程,具体包括以下步骤:
多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程。
通过任务进程对接收到的任务预算任务处理复杂度,并发送至分配进程,有利于分配进程及时了解各个任务进程的任务的难度,由此方便了分配进程根据各个任务进程的任务处理复杂度实现任务的合理调度。
进一步,所述步骤分配进程将接收到的多个任务结果分别反馈至与其对应的客户端中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
通过分配进程在接收到任务结果的同时删除相应的任务处理复杂度,避免了已经无存在意义的任务处理复杂度对分配进程的空间的占据,从而避免了冗余数据在分配进程的残留,保证了分配进程的处理速度。
进一步,当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程。此处设置有利于解决当一台服务器不能解决过多需求时,可通过扩展多台服务器实现需求的及时处理,从而解决一台服务器的性能限制的问题,并有利于进一步提高了处理效率和扩大在线用户人数,能够更好地满足用户需求。
进一步,所述分配进程和多个任务进程之间通过socket进行通信,且所述分配进程和多个扩展进程之间通过socket进行通信。通过分配进程与任务进程由socket实现通信,并通过分配进程和扩展进程由socket实现通信,使得多台服务器之间的联合协助具有良好的扩展性,从而使得进程可以方便地扩展到多台服务器上交互。
另外,为实现服务器对单个客户端发送的多个需求信息的快速处理,在基于上述多进程交互方法的构思下,本发明还提供了第二种多进程交互方法,其包括以下步骤:
服务器启动一分配进程和多个任务进程;
分配进程接收由单个客户端发送的多个需求信息,并生成对应的任务分发至多个任务进程;
多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
分配进程将接收到的多个任务结果反馈至客户端。
进一步,所述服务器中处理器的核数为N个,N为整数且其大于1;及步骤服务器启动一分配进程和多个任务进程中,服务器启动的多个任务进程的数量为N-1个;且所述分配进程和多个任务进程之间通过socket进行通信。
进一步,所述步骤分配进程接收由单个客户端发送的多个需求信息,并生成对应的任务分发至多个任务进程,具体包括以下步骤:
分配进程接收由单个客户端发送的多个需求信息,并根据接收到多个需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务;
分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候;
及所述步骤多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程,具体包括以下步骤:
多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
以及所述步骤分配进程将接收到的多个任务结果反馈至客户端中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
进一步,当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程;且所述分配进程和多个扩展进程之间通过socket进行通信。
由于本发明的第二种多进程交互方法是基于第一种多进程交互方法实现的,其技术方案的原理与第一种多进程交互方法的技术方案的原理一致,故本发明的第二种多进程交互方法具有第一种多进程交互方法所产生的技术效果。
同理,为实现服务器对多个客户端分别发送的多个需求信息的快速处理,在基于第一种多进程交互方法的构思下,本发明还提供了第三种的多进程交互方法,其包括以下步骤:
服务器启动一分配进程和多个任务进程;
分配进程接收由多个客户端分别发送的多个需求信息,并生成对应的任务分发至多个任务进程;
多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。
进一步,所述服务器中处理器的核数为N个,N为整数且其大于1;及步骤服务器启动一分配进程和多个任务进程中,服务器启动的多个任务进程的数量为N-1个;以及所述分配进程和多个任务进程之间通过socket进行通信。
进一步,所述步骤分配进程接收由多个客户端分别发送的多个需求信息,并生成对应的任务分发至多个任务进程,具体包括以下步骤:
分配进程接收由多个客户端分别发送的多个需求信息,并根据接收到所有客户端的需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务,同时依次建立每一客户端与其对应的任务的关联关系;
分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候;
及所述步骤多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程,具体包括以下步骤:
多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
以及所述步骤分配进程将接收到的多个任务结果分别反馈至客户端中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
进一步,当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程;且所述分配进程和多个扩展进程之间通过socket进行通信。
由于本发明的第三种多进程交互方法是基于第一种多进程交互方法实现的,其技术方案的原理与第一种多进程交互方法的技术方案的原理一致,故本发明的第三种多进程交互方法具有第一种多进程交互方法所产生的技术效果。
相应地,本发明还提供了能够实现上述3种多进程交互方法的一种多进程交互系统,其包括主服务器;所述主服务器包括一分配进程模块和多个任务进程模块;所述分配进程模块接收由客户端发送的需求信息,并将所有需求信息生成对应的任务分发至所述多个任务进程模块;所述多个任务进程模块分别完成由分配进程分发的任务,生成相应的任务结果返回至所述分配进程模块,并由分配进程模块将接收到的多个任务结果反馈至客户端。
进一步,所述需求信息为由多个客户端分别发送的单个需求信息,或者为由多个客户端分别发送的多个需求信息,或者为由单个客户端发送的多个需求信息。
进一步,所述主服务器中处理器的核数为N个,N为整数且其大于1;及所述多个任务进程模块的数量为N-1个;且所述分配进程模块和多个任务进程模块之间通过socket进行通信。
进一步,所述多进程交互系统还包括一个或一个以上的扩展服务器。每个扩展服务器中包括多个扩展进程模块;当所述分配进程模块中存在未分发的任务时,所述分配进程模块可通过所述主服务器与所述扩展服务器进行通信,将未分发的任务分发至由所述扩展服务器启动的多个扩展进程模块中,由所述多个扩展进程模块完成任务并将任务结果返回至所述分配进程模块;且所述分配进程模块和多个扩展进程模块之间通过socket进行通信。
由于本发明的多进程交互系统能够实现上述3种多进程交互方法,则其具有上述3种多进程交互方法所产生的技术效果。
另外,本发明还单独提供了一种多进程交互服务器,该多进程交互服务器的结构及功能与为上述任一项所述多进程交互系统中的主服务器的结构和功能相同,也即,该多进程交互服务器包括一分配进程模块和多个任务进程模块;所述分配进程模块接收由客户端发送的需求信息,并将所有需求信息生成对应的任务分发至所述多个任务进程模块;所述多个任务进程模块分别完成由分配进程分发的任务,生成相应的任务结果返回至所述分配进程模块,并由分配进程模块将接收到的多个任务结果反馈至客户端。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是本发明实施例1中多进程交互方法的流程图;
图2是本发明实施例1中多进程交互系统的主服务器的结构框图;
图3是本发明实施例1中多进程交互系统的主服务器和扩展服务器的结构框图;
图4是本发明实施例2中多进程交互方法的流程图;
图5是本发明实施例3中多进程交互方法的流程图。
具体实施方式
实施例1
为了解决现有技术中通过单进程多线程的方式实现游戏服务器对大量玩家发送的任务进行处理的过程中,采用的锁机制导致系统发生死锁现象和逻辑处理复杂度增大的问题,也为解决现有技术通过一个进程处理多人战斗逻辑而导致游戏服务器在必须保证玩家战斗体验感受良好的情况下只能支撑200个玩家的数据处理,从而限制在线玩家人数的问题;本发明旨在利用服务器的CPU多核配置性能同时运行多个进程,使得多个进程同时工作完成玩家战斗逻辑数据的处理,同时也可在该基础上对多个进程的完成的任务类型进行分配,使得每个进程仅完成与其相关的任务,由此大大提高服务器的处理效率,降低逻辑处理复杂度,不会发生系统死锁现象,同时也增大了玩家的在线人数,例如,当服务器的CPU核数为N时,玩家最大在线人数可达(N-1)×200。以下,具体地说明本发明实现多进程交互方法。
请参阅图1,本发明多进程交互方法,包括以下步骤:
步骤S1:服务器启动一分配进程和多个任务进程;在本实施例中,服务器在启动分配进程和多个任务进程前,已建立分配进程和多个任务进程。为最大限度地利用服务器的CPU多核配置性能,提高处理效率和同时在线用户人数,作为一种更优的技术方案,如果所述服务器中处理器的核数为N个,N为整数且其大于1;则服务器启动的多个任务进程的数量为N-1个。也即,当所述服务器的处理器(CPU)的核数为4个时,服务器建立并启动3个任务进程和1个分配进程。
步骤S2:分配进程接收由多个客户端分别发送的单个需求信息,并生成对应的任务分发至多个任务进程;
步骤S3:多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
步骤S4:分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。
进一步,为了更好地分配多个任务进程的任务,使其能够更好地完成各自的任务,在本实施例中,分配进程可对所有需求信息进行分类,并生成多种类的任务;且服务器根据任务的种类建立多种类型的任务进程,每一任务进程完成一特定类型的任务。则分配进程可根据生成的任务的类型分发给类型与任务类型相同的任务进程。例如,以游戏战斗逻辑数据处理说明,游戏战斗逻辑数据的处理任务一般包括数据存储任务、完成日志任务、战斗逻辑处理任务等,则在建立任务进程时,可建立负责处理数据存储任务的任务进程、负责完成日志任务的任务进程及负责完成战斗逻辑处理任务的任务进程等。
为保证与需求信息对应的任务能正常地按先后顺序实现分发并由任务进程完成,从而进一步保证所有任务的有序且及时的处理和保证用户的体验,作为一种更优的技术方案,对所述步骤S2进一步完善,完善后的步骤S2具体包括以下步骤:
步骤S21:分配进程接收由多个客户端分别发送的单个需求信息,并根据接收到需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务,同时依次建立每个客户端分别和与其对应的任务之间的关联关系;
步骤S22:分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候。
为使得分配进程能够及时了解各个任务进程的任务的难度,以方便了分配进程根据各个任务进程的任务处理复杂度实现任务的合理调度,作为一种更优的技术方案,对步骤S3进行完善,完善后的步骤S3具体包括以下步骤:
步骤S31:多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
步骤S32:完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程。
进一步,为避免已经无存在意义的任务处理复杂度(也即已被完成的任务所对应的任务处理复杂度)对分配进程的空间的占据,避免冗余数据在分配进程的残留,以保证分配进程的处理速度,作为一种更优的技术方案,所述步骤S4中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
为解决当一台服务器不能解决过多需求的性能限制的问题,以进一步提高处理效率和扩大在线用户人数,能够更好地满足用户需求,作为一种更优的技术方案,当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程。
进一步,为了使得多台服务器之间的联合协助具有良好的扩展性,从而使得进程可以方便地扩展到多台服务器上交互,作为一种更优的技术方案,所述分配进程和多个任务进程之间通过socket进行通信,且所述分配进程和多个扩展进程之间通过socket进行通信。
其中,本文全文中的socket是计算机领域的一个通用名词,其含义如下:
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。并且,在此后出现的socket的含义均与该处socket的含义相同。
以下,以多人在线战术竞技游戏的战斗逻辑数据处理过程为例进一步说明本发明的多进程交互方法:
在多人在线战术竞技游戏的战斗逻辑处理中,服务器首先根据其处理器的核数N启动一个分配进程和N-1个任务进程,其中,N-1个任务进程中可分配其中一任务进程负责完成数据存储任务、其中一任务进程负责完成日志任务,剩下的任务进程负责完成玩家战斗逻辑处理任务。则分配进程接收玩家链接和玩家请求信息,生成相应的任务并通过socket通知相应的任务进程协助完成任务;相应的任务进程完成任务后将任务结果返回至分配进程,由分配进程将任务结果反馈给玩家。
请参阅图2,相应地,本发明还提供了能够实现上述多进程交互方法的一种多进程交互系统,其包括主服务器1。所述主服务器1包括一分配进程模块11和多个任务进程模块12。
所述分配进程模块11接收由客户端发送的需求信息,并将所有需求信息生成对应的任务分发至所述多个任务进程模块12。具体地,首先,所述分配进程模块11接收由客户端发送的需求信息,并根据接收到所有需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务;如果存在多个客户端时,分配进程模块11还需同时依次建立每个客户端分别和与其对应的任务之间的关联关系。然后,分配进程模块11判断所有任务进程模块的工作状态,若判断得到所有任务进程模块12的工作状态均为忙碌状态,则分配进程模块11不分发任务至所有任务进程模块12,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程模块,则分配进程模块11按先后顺序将任务分发至处于空闲状态的任务进程模块中,并控制未分发的任务继续排队等候。
所述多个任务进程模块12分别完成由分配进程分发的任务,生成相应的任务结果返回至所述分配进程模块11,并由分配进程模块11将接收到的多个任务结果反馈至客户端。具体地,首先,所述多个任务进程模块12接收由分配进程模块11分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程模块11。在完成任务处理复杂度的发送后,所述多个任务进程模块12分别独立完成由分配进程模块11分发的任务,并生成相应的任务结果返回至分配进程模块11。
在本实施例中,所述需求信息为由多个客户端分别发送的单个需求信息,或者为由多个客户端分别发送的多个需求信息,或者为由单个客户端发送的多个需求信息。
为最大限度地利用服务器的CPU多核配置性能,提高处理效率和同时在线用户人数,作为一种更优的技术方案,如果所述主服务器1中处理器的核数为N个,N为整数且其大于1;及所述多个任务进程模块12的数量为N-1个。
请参阅图3,为解决当一台服务器不能解决过多需求的性能限制的问题,以进一步提高处理效率和扩大在线用户人数,能够更好地满足用户需求,作为一种更优的技术方案,所述多进程交互系统还包括一个或一个以上的扩展服务器2。每个扩展服务器2中包括多个扩展进程模块21;当所述分配进程模块11中存在未分发的任务时,所述分配进程模块11可通过所述主服务器1与所述扩展服务器2进行通信,将未分发的任务分发至由所述扩展服务器2启动的多个扩展进程模块21中,由所述多个扩展进程模块21完成任务并将任务结果返回至所述分配进程模块11。
为了使得多台服务器之间的联合协助具有良好的扩展性,从而使得进程可以方便地扩展到多台服务器上交互,作为一种更优的技术方案,所述分配进程模块11和多个任务进程模块12之间通过socket进行通信;且所述分配进程模块11和多个扩展进程模块21之间通过socket进行通信。
另外,本发明还单独提供了一种多进程交互服务器,该多进程交互服务器的结构及功能与所述多进程交互系统中的主服务器的结构和功能相同,也即,该多进程交互服务器也包括一分配进程模块和多个任务进程模块;所述分配进程模块接收由客户端发送的需求信息,并将所有需求信息生成对应的任务分发至所述多个任务进程模块;所述多个任务进程模块分别完成由分配进程分发的任务,生成相应的任务结果返回至所述分配进程模块,并由分配进程模块将接收到的多个任务结果反馈至客户端。且如果所述多进程交互服务器1中处理器的核数为N个,N为整数且其大于1;则所述多进程交互服务器中的多个任务进程模块12的数量为N-1个。
相对于现有技术,本发明通过利用服务器的CPU的多核性能,实现多个进程的同时运行,也即由分配进程分配任务,由多个任务进程同时工作并独立完成任务,从而不仅大大提高了任务处理的效率和保证了各个任务进程工作的独立性,而且扩大客户端的数量,不需要应用锁机制,从而避免了需求信息竞争情况的发生。将本发明的多进程交互方法应用于游戏服务器时,能够实现在满足游戏服务器的要求的同时大大降低逻辑处理的复杂度,从而有效地提高游戏服务器的处理能力,并扩大游戏服务器能够支撑的游戏玩家的数量,提升最大同时在线人数。
实施例2
本发明的实施例1实现了服务器对多个客户端分别发送的单个需求信息的快速处理,但本发明还可以实现服务器对单个客户端发送的多个需求信息的快速处理,因此,请参阅图4,在基于实施例1的多进程交互方法的构思下,本发明还提供了第二种多进程交互方法,其包括以下步骤:
步骤S’1:服务器启动一分配进程和多个任务进程;在本实施例中,服务器在启动分配进程和多个任务进程前,已建立分配进程和多个任务进程。为最大限度地利用服务器的CPU多核配置性能,提高处理效率和同时在线用户人数,作为一种更优的技术方案,如果所述服务器中处理器的核数为N个,N为整数且其大于1;则服务器启动的多个任务进程的数量为N-1个。也即,当所述服务器的处理器(CPU)的核数为4个时,服务器建立并启动3个任务进程和1个分配进程。
步骤S’2:分配进程接收由单个客户端发送的多个需求信息,并生成对应的任务分发至多个任务进程;
步骤S’3:多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
步骤S’4:分配进程将接收到的多个任务结果反馈至客户端。
进一步,为了更好地分配多个任务进程的任务,使其能够更好地完成各自的任务,在本实施例中,分配进程可对所有需求信息进行分类,并生成多种类的任务;且服务器根据任务的种类建立多种类型的任务进程,每一任务进程完成一特定类型的任务。则分配进程可根据生成的任务的类型分发给类型与任务类型相同的任务进程。例如,以游戏战斗逻辑数据处理说明,游戏战斗逻辑数据的处理任务一般包括数据存储任务、完成日志任务、战斗逻辑处理任务等,则在建立任务进程时,可建立负责处理数据存储任务的任务进程、负责完成日志任务的任务进程及负责完成战斗逻辑处理任务的任务进程等。
为保证与需求信息对应的任务能正常地按先后顺序实现分发并由任务进程完成,从而进一步保证所有任务的有序且及时的处理和保证用户的体验,作为一种更优的技术方案,对所述步骤S’2进一步完善,完善后的步骤S2具体包括以下步骤:
步骤S’21:分配进程接收由单个客户端发送的多个需求信息,并根据接收到多个需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务;
步骤S’22:分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候。
为使得分配进程能够及时了解各个任务进程的任务的难度,以方便了分配进程根据各个任务进程的任务处理复杂度实现任务的合理调度,作为一种更优的技术方案,对步骤S’3进行完善,完善后的步骤S’3具体包括以下步骤:
步骤S’31:多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
步骤S’32:完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程。
进一步,为避免已经无存在意义的任务处理复杂度(也即已被完成的任务所对应的任务处理复杂度)对分配进程的空间的占据,避免冗余数据在分配进程的残留,以保证分配进程的处理速度,作为一种更优的技术方案,所述步骤S4中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
为解决当一台服务器不能解决过多需求的性能限制的问题,以进一步提高处理效率和扩大在线用户人数,能够更好地满足用户需求,作为一种更优的技术方案,当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程。
进一步,为了使得多台服务器之间的联合协助具有良好的扩展性,从而使得进程可以方便地扩展到多台服务器上交互,作为一种更优的技术方案,所述分配进程和多个任务进程之间通过socket进行通信,且所述分配进程和多个扩展进程之间通过socket进行通信。
实施例3
本发明的实施例1实现了服务器对多个客户端分别发送的单个需求信息的快速处理,实施例2实现了服务器对单个客户端发送的多个需求信息的快速处理,但本发明还可以实现服务器对多个客户端分别发送的多个需求信息的快速处理,因此,请参阅图5,在基于实施例1和实施例2的多进程交互方法的构思下,本发明还提供了第三种多进程交互方法,其包括以下步骤:
步骤S”1:服务器启动一分配进程和多个任务进程;在本实施例中,服务器在启动分配进程和多个任务进程前,已建立分配进程和多个任务进程。为最大限度地利用服务器的CPU多核配置性能,提高处理效率和同时在线用户人数,作为一种更优的技术方案,如果所述服务器中处理器的核数为N个,N为整数且其大于1;则服务器启动的多个任务进程的数量为N-1个。也即,当所述服务器的处理器(CPU)的核数为4个时,服务器建立并启动3个任务进程和1个分配进程。
步骤S”2:分配进程接收由多个客户端分别发送的多个需求信息,并生成对应的任务分发至多个任务进程;
步骤S”3:多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
步骤S”4:分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。
进一步,为了更好地分配多个任务进程的任务,使其能够更好地完成各自的任务,在本实施例中,分配进程可对所有需求信息进行分类,并生成多种类的任务;且服务器根据任务的种类建立多种类型的任务进程,每一任务进程完成一特定类型的任务。则分配进程可根据生成的任务的类型分发给类型与任务类型相同的任务进程。例如,以游戏战斗逻辑数据处理说明,游戏战斗逻辑数据的处理任务一般包括数据存储任务、完成日志任务、战斗逻辑处理任务等,则在建立任务进程时,可建立负责处理数据存储任务的任务进程、负责完成日志任务的任务进程及负责完成战斗逻辑处理任务的任务进程等。
为保证与需求信息对应的任务能正常地按先后顺序实现分发并由任务进程完成,从而进一步保证所有任务的有序且及时的处理和保证用户的体验,作为一种更优的技术方案,对所述步骤S”2进一步完善,完善后的步骤S”2具体包括以下步骤:
步骤S”21:分配进程接收由多个客户端分别发送的多个需求信息,并根据接收到所有客户端的需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务,同时依次建立每一客户端与其对应的任务的关联关系;
步骤S”22:分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候。
为使得分配进程能够及时了解各个任务进程的任务的难度,以方便了分配进程根据各个任务进程的任务处理复杂度实现任务的合理调度,作为一种更优的技术方案,对步骤S3进行完善,完善后的步骤S”3具体包括以下步骤:
步骤S”31:多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
步骤S”32:完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程。
进一步,为避免已经无存在意义的任务处理复杂度(也即已被完成的任务所对应的任务处理复杂度)对分配进程的空间的占据,避免冗余数据在分配进程的残留,以保证分配进程的处理速度,作为一种更优的技术方案,所述步骤S4中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
为解决当一台服务器不能解决过多需求的性能限制的问题,以进一步提高处理效率和扩大在线用户人数,能够更好地满足用户需求,作为一种更优的技术方案,当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程。
进一步,为了使得多台服务器之间的联合协助具有良好的扩展性,从而使得进程可以方便地扩展到多台服务器上交互,作为一种更优的技术方案,所述分配进程和多个任务进程之间通过socket进行通信,且所述分配进程和多个扩展进程之间通过socket进行通信。本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
Claims (20)
1.一种多进程交互方法,其特征在于:包括以下步骤:
服务器启动一分配进程和多个任务进程;
分配进程接收由多个客户端分别发送的单个需求信息,并生成对应的任务分发至多个任务进程;
多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。
2.根据权利要求1所述的方法,其特征在于:所述服务器中处理器的核数为N个,N为整数且其大于1;及步骤服务器启动一分配进程和多个任务进程中,服务器启动的多个任务进程的数量为N-1个。
3.根据权利要求2所述的方法,其特征在于:所述步骤分配进程接收由多个客户端分别发送的单个需求信息,并生成对应的任务分发至多个任务进程,具体包括以下步骤:
分配进程接收由多个客户端分别发送的单个需求信息,并根据接收到需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务,同时依次建立每个客户端分别和与其对应的任务之间的关联关系;
分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候。
4.根据权利要求3所述的方法,其特征在于:所述步骤多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程,具体包括以下步骤:
多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程。
5.根据权利要求4所述的方法,其特征在于:所述步骤分配进程将接收到的多个任务结果分别反馈至与其对应的客户端中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
6.根据权利要求5所述的方法,其特征在于:当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程。
7.根据权利要求6所述的方法,其特征在于:所述分配进程和多个任务进程之间通过socket进行通信,且所述分配进程和多个扩展进程之间通过socket进行通信。
8.一种多进程交互方法,其特征在于:包括以下步骤:
服务器启动一分配进程和多个任务进程;
分配进程接收由单个客户端发送的多个需求信息,并生成对应的任务分发至多个任务进程;
多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
分配进程将接收到的多个任务结果反馈至客户端。
9.根据权利要求8所述的方法,其特征在于:所述服务器中处理器的核数为N个,N为整数且其大于1;及步骤服务器启动一分配进程和多个任务进程中,服务器启动的多个任务进程的数量为N-1个;且所述分配进程和多个任务进程之间通过socket进行通信。
10.根据权利要求9所述的方法,其特征在于:
所述步骤分配进程接收由单个客户端发送的多个需求信息,并生成对应的任务分发至多个任务进程,具体包括以下步骤:
分配进程接收由单个客户端发送的多个需求信息,并根据接收到多个需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务;
分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候;
及所述步骤多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程,具体包括以下步骤:
多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
以及所述步骤分配进程将接收到的多个任务结果反馈至客户端中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
11.根据权利要求10所述的方法,其特征在于:当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程;且所述分配进程和多个扩展进程之间通过socket进行通信。
12.一种多进程交互方法,其特征在于:包括以下步骤:
服务器启动一分配进程和多个任务进程;
分配进程接收由多个客户端分别发送的多个需求信息,并生成对应的任务分发至多个任务进程;
多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
分配进程将接收到的多个任务结果分别反馈至与其对应的客户端。
13.根据权利要求12所述的方法,其特征在于:所述服务器中处理器的核数为N个,N为整数且其大于1;及步骤服务器启动一分配进程和多个任务进程中,服务器启动的多个任务进程的数量为N-1个;以及所述分配进程和多个任务进程之间通过socket进行通信。
14.根据权利要求13所述的方法,其特征在于:
所述步骤分配进程接收由多个客户端分别发送的多个需求信息,并生成对应的任务分发至多个任务进程,具体包括以下步骤:
分配进程接收由多个客户端分别发送的多个需求信息,并根据接收到所有客户端的需求信息的先后顺序依次生成分别对应于多个需求信息的多个任务,同时依次建立每一客户端与其对应的任务的关联关系;
分配进程判断所有任务进程的工作状态,若判断得到所有任务进程的工作状态均为忙碌状态,则分配进程不分发任务至所有任务进程,并控制所有任务按先后顺序进入排队等候状态;若判断得到存在工作状态为空闲状态的任务进程,则分配进程按先后顺序将任务分发至处于空闲状态的任务进程中,并控制未分发的任务继续排队等候;
及所述步骤多个任务进程分别完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程,具体包括以下步骤:
多个任务进程接收由分配进程分发的任务后,均分别预算任务处理复杂度,并将任务处理复杂度发送至分配进程;
完成任务处理复杂度的发送后,所述多个任务进程分别独立完成由分配进程分发的任务,并生成相应的任务结果返回至分配进程;
以及所述步骤分配进程将接收到的多个任务结果分别反馈至客户端中,分配进程在接收到多个任务结果后,还分别删除返回多个任务结果的多个任务进程在完成任务前发送的任务处理复杂度;并按先后顺序将排队等候中的任务分发至空闲状态的任务进程。
15.根据权利要求14所述的方法,其特征在于:当所述服务器的分配进程存在未分发的任务时,所述分配进程可通过所述服务器与另一台或多台服务器进行通信,将未分发的任务分发至由所述另一台或多台服务器启动的多个扩展进程,由所述多个扩展进程完成任务并将任务结果返回至所述分配进程;且所述分配进程和多个扩展进程之间通过socket进行通信。
16.一种多进程交互系统,其特征在于:包括主服务器;所述主服务器包括一分配进程模块和多个任务进程模块;
所述分配进程模块接收由客户端发送的需求信息,并将所有需求信息生成对应的任务分发至所述多个任务进程模块;
所述多个任务进程模块分别完成由分配进程分发的任务,生成相应的任务结果返回至所述分配进程模块,并由分配进程模块将接收到的多个任务结果反馈至客户端。
17.根据权利要求16所述的系统,其特征在于:所述需求信息为由多个客户端分别发送的单个需求信息,或者为由多个客户端分别发送的多个需求信息,或者为由单个客户端发送的多个需求信息。
18.根据权利要求17所述的系统,其特征在于:所述主服务器中处理器的核数为N个,N为整数且其大于1;及所述多个任务进程模块的数量为N-1个;且所述分配进程模块和多个任务进程模块之间通过socket进行通信。
19.根据权利要求18所述的系统,其特征在于:还包括一个或一个以上的扩展服务器;每个扩展服务器中包括多个扩展进程模块;当所述分配进程模块中存在未分发的任务时,所述分配进程模块可通过所述主服务器与所述扩展服务器进行通信,将未分发的任务分发至由所述扩展服务器启动的多个扩展进程模块中,由所述多个扩展进程模块完成任务并将任务结果返回至所述分配进程模块;且所述分配进程模块和多个扩展进程模块之间通过socket进行通信。
20.一种多进程交互服务器,其特征在于:包括一分配进程模块和多个任务进程模块;
所述分配进程模块接收由客户端发送的需求信息,并将所有需求信息生成对应的任务分发至所述多个任务进程模块;
所述多个任务进程模块分别完成由分配进程分发的任务,生成相应的任务结果返回至所述分配进程模块,并由分配进程模块将接收到的多个任务结果反馈至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510944046.3A CN105573850B (zh) | 2015-11-09 | 2015-12-16 | 多进程交互方法、系统和服务器 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510761046X | 2015-11-09 | ||
CN201510761046 | 2015-11-09 | ||
CN201510944046.3A CN105573850B (zh) | 2015-11-09 | 2015-12-16 | 多进程交互方法、系统和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573850A true CN105573850A (zh) | 2016-05-11 |
CN105573850B CN105573850B (zh) | 2018-12-28 |
Family
ID=55884019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510944046.3A Active CN105573850B (zh) | 2015-11-09 | 2015-12-16 | 多进程交互方法、系统和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105573850B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423118A (zh) * | 2017-04-21 | 2017-12-01 | 广州五舟科技股份有限公司 | 分布式计算数据转发方法和装置 |
CN107783843A (zh) * | 2016-08-31 | 2018-03-09 | 中国移动通信有限公司研究院 | 一种云数据的处理方法及装置 |
CN107967549A (zh) * | 2016-10-20 | 2018-04-27 | 南京途牛科技有限公司 | 多流程任务处理装置与方法 |
CN108427603A (zh) * | 2018-01-10 | 2018-08-21 | 链家网(北京)科技有限公司 | 一种任务分派方法方法及装置 |
CN110764890A (zh) * | 2019-10-21 | 2020-02-07 | 深圳金蝶账无忧网络科技有限公司 | 一种计算资源调度方法、系统及相关设备 |
CN110928687A (zh) * | 2019-11-25 | 2020-03-27 | 新华三技术有限公司 | Cpu资源分配方法及测试设备 |
CN111672105A (zh) * | 2020-05-28 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的视野数据包发送方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489062A (zh) * | 2002-10-11 | 2004-04-14 | 国际商业机器公司 | 多处理器系统中的线程分配系统和分配方法 |
CN101308467A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 一种任务处理的方法和装置 |
CN102316156A (zh) * | 2011-07-05 | 2012-01-11 | 万达信息股份有限公司 | 一种可动态扩展的任务分发处理方法 |
CN102929707A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
US20140317292A1 (en) * | 2001-09-04 | 2014-10-23 | Coho Licensing LLC | Distributed Multiple-tier Task Allocation |
CN104778085A (zh) * | 2015-03-25 | 2015-07-15 | 广州多益网络科技有限公司 | 一种手游的游戏对战处理方法及装置 |
-
2015
- 2015-12-16 CN CN201510944046.3A patent/CN105573850B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140317292A1 (en) * | 2001-09-04 | 2014-10-23 | Coho Licensing LLC | Distributed Multiple-tier Task Allocation |
CN1489062A (zh) * | 2002-10-11 | 2004-04-14 | 国际商业机器公司 | 多处理器系统中的线程分配系统和分配方法 |
CN101308467A (zh) * | 2008-07-16 | 2008-11-19 | 杭州华三通信技术有限公司 | 一种任务处理的方法和装置 |
CN102316156A (zh) * | 2011-07-05 | 2012-01-11 | 万达信息股份有限公司 | 一种可动态扩展的任务分发处理方法 |
CN102929707A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
CN104778085A (zh) * | 2015-03-25 | 2015-07-15 | 广州多益网络科技有限公司 | 一种手游的游戏对战处理方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783843A (zh) * | 2016-08-31 | 2018-03-09 | 中国移动通信有限公司研究院 | 一种云数据的处理方法及装置 |
CN107967549A (zh) * | 2016-10-20 | 2018-04-27 | 南京途牛科技有限公司 | 多流程任务处理装置与方法 |
CN107967549B (zh) * | 2016-10-20 | 2022-02-01 | 南京途牛科技有限公司 | 多流程任务处理装置与方法 |
CN107423118A (zh) * | 2017-04-21 | 2017-12-01 | 广州五舟科技股份有限公司 | 分布式计算数据转发方法和装置 |
CN108427603A (zh) * | 2018-01-10 | 2018-08-21 | 链家网(北京)科技有限公司 | 一种任务分派方法方法及装置 |
CN110764890A (zh) * | 2019-10-21 | 2020-02-07 | 深圳金蝶账无忧网络科技有限公司 | 一种计算资源调度方法、系统及相关设备 |
CN110928687A (zh) * | 2019-11-25 | 2020-03-27 | 新华三技术有限公司 | Cpu资源分配方法及测试设备 |
CN110928687B (zh) * | 2019-11-25 | 2024-02-27 | 新华三技术有限公司 | Cpu资源分配方法及测试设备 |
CN111672105A (zh) * | 2020-05-28 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 基于虚拟环境的视野数据包发送方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105573850B (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573850A (zh) | 多进程交互方法、系统和服务器 | |
CN102650950B (zh) | 一种支持多gpu虚拟化的平台架构及其工作方法 | |
US9300736B2 (en) | Display control method and device | |
Gotoda et al. | Task scheduling algorithm for multicore processor system for minimizing recovery time in case of single node fault | |
CN102929718A (zh) | 一种基于任务调度的分布式gpu计算机系统 | |
CN108052364A (zh) | 一种基于远程操作的图像显示方法、装置、设备及存储介质 | |
CN109634720A (zh) | 一种多虚拟机共享fpga板卡的方法、系统及装置 | |
CN106209997A (zh) | 一种面向云渲染的异构集群管理系统及方法 | |
WO2023040197A1 (zh) | 一种跨节点通信方法、装置、设备及可读存储介质 | |
CN105740085A (zh) | 容错处理方法及装置 | |
Tajwar et al. | CPU scheduling with a round robin algorithm based on an effective time slice | |
CN105631921B (zh) | 图像数据的处理方法及装置 | |
CN112084015A (zh) | 一种基于云计算的仿真云平台搭建系统及方法 | |
Zhang et al. | F-CAD: A framework to explore hardware accelerators for codec avatar decoding | |
CN114820275A (zh) | 一种动态定时器及VirtIO GPU性能优化方法 | |
CN104156332B (zh) | 基于外部pci‑e连接的高性能并行计算方法 | |
CN112988367B (zh) | 资源的分配方法、装置、计算机设备及可读存储介质 | |
CN109448092B (zh) | 一种基于动态任务粒度的负载均衡集群渲染方法 | |
Ao et al. | Research of power flow parallel computing based on MPI and PQ decomposition method | |
CN112631982A (zh) | 基于众核架构的数据交换方法及装置 | |
Khan et al. | Cost Optimization Technique of Task Allocation in Heterogeneous Distributed Computing System | |
CN206149315U (zh) | 云计算渲染系统及渲染系统 | |
PH12015500464B1 (en) | Display control method and device | |
CN109308282A (zh) | 一种运用在mr混合现实设备上的并行架构方法及装置 | |
Chen et al. | Scheduling of job combination and dispatching strategy for grid and cloud system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510000 3, 1 building, 90 ho he road, Luogang District, Guangzhou, Guangdong. Applicant after: Guangzhou Duoyi Network Co., Ltd. Address before: 510000 3, 1 building, 90 ho he road, Luogang District, Guangzhou, Guangdong. Applicant before: Guangzhou Baiyun Bio-Tech Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |