CN101410822B - 服务器镜像方法及系统 - Google Patents

服务器镜像方法及系统 Download PDF

Info

Publication number
CN101410822B
CN101410822B CN2007800113366A CN200780011336A CN101410822B CN 101410822 B CN101410822 B CN 101410822B CN 2007800113366 A CN2007800113366 A CN 2007800113366A CN 200780011336 A CN200780011336 A CN 200780011336A CN 101410822 B CN101410822 B CN 101410822B
Authority
CN
China
Prior art keywords
server
channel
game
mirror image
game room
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.)
Expired - Fee Related
Application number
CN2007800113366A
Other languages
English (en)
Other versions
CN101410822A (zh
Inventor
安亮秀
朴晟秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NHN Corp
Original Assignee
NHN Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from KR1020060029911A external-priority patent/KR100810757B1/ko
Application filed by NHN Corp filed Critical NHN Corp
Priority claimed from PCT/KR2007/001574 external-priority patent/WO2007114606A1/en
Publication of CN101410822A publication Critical patent/CN101410822A/zh
Application granted granted Critical
Publication of CN101410822B publication Critical patent/CN101410822B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明揭露一种能够允许用户访问特定服务器以监视另一服务器中生成的频道的实时信息而未引起过大流量的服务器镜像方法及系统。该服务器镜像方法包含接收频道生成请求;基于该频道生成请求,在发布服务器中生成第一频道;基于所述第一频道的频道生成信息,在至少一个镜像服务器中生成第二频道;以及基于所述第一频道的频道状态变化信息,改变所述第二频道的状态。

Description

服务器镜像方法及系统
技术领域
本发明涉及一种服务器镜像方法及系统,尤其涉及一种将特定服务器中生成的频道信息镜像到另一服务器的方法及系统。
背景技术
随着互联网用户数量的不断增长,服务器负载问题正成为互联网服务最主要的问题之一。尤其对于多个用户访问服务器的系统,例如在线游戏服务系统或聊天服务系统,服务器负载问题变得更为严重。解决服务器负载问题的通常做法是随用户数量的增加,增加服务器数量。
图1示例使用多个服务器的普通的服务提供系统。如图1所示,当单个服务器无法接收多个用户时,使用多个服务器110,120和130提供互联网服务。
但是,对于通过使用多个服务器来解决服务器负载问题的现有系统,用户的活动范围被限制在用户所访问的服务器。也就是说,访问第一服务器110的用户111和112无法加入第二服务器120中生成的频道并监视第二服务器120中生成的该频道的状态。
这里通过使用在线游戏服务系统对此类问题作详细描述。
近来,随着游戏技术的发展,如同观看体育赛事一样,观看游戏的文化日益流行。尤其随着用户观看例如星际争霸(StarCraft)或围棋(baduk)等策略模拟游戏的兴趣不断增加,观看游戏变得和玩游戏一样重要。因而不断开发出新的用来广播游戏的系统。
最初主要采取通过照相机拍摄游戏状态并广播该游戏状态的方法。但是对于这种方法,只有电视观众能够观看游戏。因此有必要提供一种能够让所有用户通过使用计算机观看游戏的系统。
在让多个用户通过使用计算机观看游戏的游戏广播系统中,会产生服务器负载问题。当多个用户访问游戏服务器观看游戏时,由于服务器容量的限制,游戏观看服务仅提供给预定数量的用户。
图2示例普通的游戏广播系统。
在可供多个用户访问的在线游戏服务中,用户选择多个服务器210,220和230中的其中一个,并在所选择的服务器中玩游戏或观看游戏。
例如,当用户访问第一游戏服务器210时,用户仅可与访问该第一游戏服务器210的其它用户交流,并仅可在该第一游戏服务器210生成的游戏室中玩游戏或观看游戏。
也就是说,访问第一游戏服务器210的用户无法加入第二服务器220生成的游戏室并观看第二服务器220生成的该游戏室中进行的游戏。
因此,例如,当职业围棋玩家在第一游戏服务器210中下围棋并由特定的评论员解说对局状态时,访问第二游戏服务器220和第三游戏服务器230的用户将无法看到第一游戏服务器210中的对局状态,也无法听到评论员的解说。
为解决此类问题,可将第一游戏服务器210的游戏状态从第一游戏服务器210传送到第二游戏服务器220和第三游戏服务器230。但是,这种情况下,网络流量会迅速增加,并需要包含用来传送游戏状态的控制服务器。该控制服务器包含复杂的逻辑。
此类问题可发生在通过独立频道提供服务的系统中以及游戏广播系统中。
发明内容
本发明要解决的问题
因此,针对上述问题,本发明的目的是提供一种服务器镜像方法和系统,以将特定服务器中生成的频道以最低流量镜像到另一服务器。
本发明的另一目的是提供一种服务器镜像方法和系统,以将特定服务器中生成的频道通过使用具有相对简单的逻辑的消息路由服务(message routing service)镜像到另一服务器中。
本发明的另一目的是提供一种服务器镜像方法和系统,能够允许访问特定服务器的用户监视另一服务器中生成的频道的状态。
本发明的另一目的是提供一种游戏广播方法和系统,能够允许多个用户观看游戏,而不受服务器容量限制。
本发明的另一目的是提供一种游戏广播方法和系统,能够允许那些访问其中不进行游戏的服务器的用户通过使用服务器镜像接收游戏状态和评论员的解说。
本发明的另一目的是提供一种游戏广播方法和系统,以在广播游戏时,能够通过使用具有相对简单的逻辑的消息路由服务器(messagerouting server)执行服务器镜像而解决服务器负载问题。
解决问题的手段
根据本发明一实施例,通过提供一种服务器镜像方法实现上述目的及其它目的,该服务器镜像方法包括:接收频道生成请求;基于该频道生成请求,在发布服务器(publisher server)中生成第一频道;基于该第一频道的频道生成信息,在至少一个镜像服务器(mirroringserver)中生成第二频道;以及基于所述第一频道的频道状态变化信息,改变该第二频道的状态。
生成该第二频道可包含:基于所述第一频道的频道生成信息,在所述至少一个镜像服务器中生成该第二频道,其中所述镜像服务器在消息路由服务器中登记为订阅组(subscriber group)成员。
所述第一频道的频道生成信息可包含第一频道号,而生成所述第二频道可包含生成对应该第二频道的第二频道号,以及生成匹配表格或匹配代码,以匹配该第一频道号和第二频道号。
改变所述第二频道的状态可包含将所述第一频道的频道状态变化信息传送给所述至少一个在消息路由服务器中登记为订阅组成员的镜像服务器并改变该第二频道的状态。
该服务器镜像方法可进一步包含当所述镜像服务器中发生失败时,生成所述第一频道的历史数据;以及基于所述第一频道的该历史数据,在发生失败的镜像服务器中生成第三频道。
第一频道和第二频道可为游戏室或聊天室。
根据本发明另一实施例的服务器镜像方法包含:将至少一个镜像服务器登记为订阅组的成员;接收发布服务器中生成的频道的有关信息;以及将该频道的有关信息传送给该订阅组。
传送频道的有关信息可包含将该频道的有关信息传送给登记为订阅组成员的所有镜像服务器。
该频道的有关信息可包含频道生成信息和频道状态变化信息,并且该频道可为游戏室或聊天室。
根据本发明另一实施例的服务器镜像方法包含:接收游戏室生成请求;基于该游戏室生成请求,在发布服务器中生成第一游戏室;基于该第一游戏室的游戏室生成信息,在镜像服务器中生成第二游戏室,其中该镜像服务器在消息路由服务器中登记为订阅组成员;以及通过该消息路由服务器将所述第一游戏室的游戏信息传送给该镜像服务器。
该服务器镜像方法可进一步包含接收来自游戏评论员的移动图片流数据;以及将该移动图片流数据提供给游戏观众。
可通过至少两个广播服务器接收来自游戏评论员的移动图片流数据,并通过该至少两个广播服务器中具有最低负载的广播服务器将该移动图片流数据提供给游戏观众。
生成该第二游戏室可包含生成虚拟假玩家(virtual dummy player),其被认为是生成该第二游戏室的主要因素。
该服务器镜像方法可进一步包含当所述第一游戏室的所有用户离开该第一游戏室时,删除该第一游戏室;在删除该第一游戏室后,删除所述第二游戏室的假玩家;以及当该第二游戏室中包含假玩家在内的所有用户离开该第二游戏室时,删除该第二游戏室。
根据本发明另一实施例提供的服务器镜像系统包含:发布服务器,接收频道生成请求,基于该频道生成请求,生成第一频道,以及生成该第一频道的频道生成信息和频道状态变化信息;消息路由服务器,自发布服务器接收该频道生成信息和频道状态变化信息;以及在所述消息路由服务器中登记为订阅组成员的镜像服务器,自该消息路由服务器接收该第一频道的频道生成信息和频道状态变化信息,并基于该频道生成信息生成第二频道,基于该第一频道的频道状态变化信息改变该第二频道的状态。
该消息路由服务器将所述第一频道的频道生成信息和频道状态变化信息传送给登记为订阅组成员的所有镜像服务器。
如果所述第一频道和第二频道是游戏室,该服务器镜像系统可进一步包含广播服务器系统(broadcast server system),自游戏评论员客户端接收移动图片流数据,并将该移动图片流数据传送给访问该第一频道和第二频道的游戏观众客户端。
该广播服务器系统可包含访问控制服务器(access control server),该访问控制服务器可指定至少两个广播服务器自所述游戏评论员客户端接收移动图片流数据,并仅指定该至少两个广播服务器中的其中一个作为将该移动图片流数据传送给游戏观众客户端的服务器。
有益效果
根据本发明的服务器镜像方法和系统,访问特定服务器的用户或管理人员可以最低流量监视在另一服务器中生成的频道的状态,并可将在特定服务器中生成的频道通过使用具有相对简单的逻辑的消息路由服务器镜像到另一服务器。
尤其,在特定的游戏服务器生成的游戏室中的游戏可被访问另一服务器的用户观看而不会导致过度的流量。
根据本发明的服务器镜像方法甚至可适用于游戏管理人员监视特定服务器的游戏室的状态。通过将该游戏室镜像到游戏管理人员访问的服务器,游戏管理人员能够在不直接访问该游戏室的情况下监视该游戏室的状态,以监视不道德的行为(foul play)。
此外,根据本发明的服务器镜像方法可允许访问特定聊天服务器的用户监视在其它聊天服务器中生成的聊天室的聊天状态。
附图说明
下面结合附图作详细描述以更清楚地理解本发明的上述目的及其它目的、特征以及其它优点。
图1示例使用多个服务器的普通的服务提供系统。
图2示例普通的游戏广播系统。
图3显示依据本发明优选实施例的服务器镜像系统的结构。
图4显示依据本发明优选实施例的使用服务器镜像的游戏广播系统的结构。
图5是依据本发明优选实施例在消息路由服务器中生成的组的视图。
图6是发布游戏服务器与镜像游戏服务器之间的游戏状态和游戏广播状态视图。
图7显示依据本发明优选实施例的广播服务器系统的结构。
图8和图9是在发布游戏服务器和镜像游戏服务器中生成被镜像游戏室和镜像游戏室的方法流程图。
图10是将评论员解说的音频和视频数据传送给发布游戏服务器或镜像游戏服务器的观众客户端的方法流程图。
图11和图12是当发布游戏服务器删除游戏室时,删除镜像游戏服务器中的镜像游戏室的方法流程图。
图13是将发布游戏服务器的游戏室中交换的游戏命令传送给镜像游戏服务器的方法流程图。
图14是在特定的镜像服务器中发生失败时,进行恢复的方法流程图。
图15是将发布服务器的消息传送给消息路由服务器的订阅组所包含的镜像服务器的概念视图。
具体实施方式
下面参照附图详细描述依据本发明优选实施例的服务器镜像系统和方法。
本发明涉及一种将服务器中生成的特定频道的有关信息镜像到另一服务器的方法和系统。在众多用户之间交换聊天消息的聊天服务器或允许多个用户通过竞争或合作方式进行游戏的在线游戏服务器生成有多个频道,加入频道的用户所传送的消息包(message packet)经由同一频道传送给其它用户。这样的频道称为“室”。游戏服务器中生成的室称为游戏室,聊天服务器中生成的室称为聊天室。本发明也适用于游戏服务器或聊天服务器之外其它生成频道并处理用户请求的服务器。这里,术语“频道”或“室”在本发明中用作概括描述,而术语“游戏室”或“聊天室”用于描述在线游戏或聊天服务。
图3显示依据本发明优选实施例的服务器镜像系统的结构。
请参照图3,依据本发明实施例的服务器镜像系统可包括消息路由服务器340和多个服务器310、320和330。多个客户端311、312、321、322、331和332通过网络(未图示)连接所述多个服务器。
第一服务器310、第二服务器320和第三服务器330独立生成各自的频道。客户端311、312、321、322、331和332分别加入与其相连的服务器中所生成的频道。
图3中,第一服务器310中生成的频道被镜像到第二服务器320和第三服务器330。具有被镜像的频道的服务器,例如第一服务器310,称为发布服务器,镜像其它服务器的频道的服务器,例如第二服务器320或第三服务器330,称为镜像服务器。
作为发布服务器的第一服务器310接收用户请求并生成可镜像至另一服务器的频道。在第一服务器310中生成的频道的有关信息(此后称为“频道生成信息”)被传送给消息路由服务器340。该频道生成信息可包含加入该频道的用户的有关信息和/或该频道的类型信息。
第一服务器310将所生成的频道的状态信息传送给消息路由服务器340。若该频道为在线游戏室,有关该频道的状态信息或状态变化(此后称为“频道状态变化信息”)可包含游戏信息,例如进行游戏的游戏命令信息,若该频道为聊天室,有关该频道的状态变化信息可包含聊天信息。
本发明利用消息路由服务器340来简化用来镜像频道的服务器之间的通讯。消息路由服务器340自第一服务器310接收所述频道生成信息和频道状态变化信息,并将其提供给第二服务器320和第三服务器330。
图4显示依据本发明优选实施例使用服务器镜像的游戏广播系统的结构。
请参照图4,依据本发明实施例的使用服务器镜像的该游戏广播系统包括:多个游戏服务器410、420和430;消息路由服务器440;以及广播服务器系统450。依据本发明实施例的使用服务器镜像的该游戏广播系统还包括多个通过网络与其相连的用户客户端411、412、421、422、431和432。
在游戏服务器的特定游戏室中玩的游戏可包括各种各样通过用户之间的竞争或合作进行的在线游戏。例如,本发明广播的游戏可为围棋(baduk)、象棋(janggi)、或例如星际争霸(StarCraft)或魔兽争霸(WarCraft)等实时策略模拟游戏。此外,各种棋盘游戏或战争游戏也可用于依据本发明的游戏广播系统中。
本发明提出一种利用服务器镜像让未访问游戏室所属的游戏服务器的用户观看游戏的方法。根据本发明,例如,当在第一游戏服务器410的特定游戏室中进行游戏并广播该游戏时,访问第二游戏室420和第三游戏室430的用户也能够观看在第一游戏服务器410的特定游戏室中的该游戏。
根据本发明优选实施例,通过将特定服务器的游戏室镜像到其它服务器,访问所述其它服务器的用户可通过在该服务器中镜像而成的游戏室(此后称为“镜像游戏室”)观看游戏。一般来说,玩游戏的玩家,解说游戏的评论员,以及观看游戏并倾听解说的观众都加入到正在进行游戏并广播游戏的游戏室中。加入其它服务器的镜像游戏室的用户可接收玩家的游戏状态和评论员的解说,就如同该用户加入到正在进行游戏并广播游戏的游戏室中一样。
图4中,第一游戏服务器410中生成的游戏室被镜像到第二游戏服务器420和第三游戏服务器430。具有被镜像到其它游戏服务器的游戏室的服务器,例如第一服务器410,称为发布游戏服务器,镜像其它游戏服务器的频道的服务器,例如第二游戏服务器420或第三游戏服务器430,称为镜像游戏服务器。
作为发布游戏服务器的第一游戏服务器410自游戏玩家或游戏评论员接收生成要镜像至其它服务器的游戏室的请求。请求生成该游戏室时,该请求生成游戏室的游戏玩家或游戏评论员输入该游戏室的有关信息,以广播该游戏。
第一游戏服务器410响应游戏玩家或游戏评论员的游戏室生成请求而生成要镜像至其它服务器的游戏室。游戏室生成器、游戏玩家、评论员以及观众都加入所生成的游戏室中。
第一游戏服务器410中生成的游戏室的有关信息(此后称为“游戏室生成信息”)被传送给消息路由服务器440。该游戏室生成信息可包含游戏室类型、加入该游戏室的用户信息、游戏室名称以及游戏室号码。第一游戏服务器410将所生成的游戏室的游戏状态的有关信息(此后称为“游戏信息”)传送给消息路由服务器440。游戏信息可包含游戏玩家传送的用来玩在线游戏的游戏命令信息。例如,当第一服务器410中的游戏是围棋游戏时,游戏命令信息可为围棋记录信息。当第一服务器410中的游戏是策略模拟游戏时,游戏命令信息可包含单元攻击命令和单元移动命令。游戏信息可包含加入第一游戏服务器410的游戏室的玩家、评论员和观众之间交换的聊天消息。
本发明优选实施例利用消息路由服务器440简化用来镜像游戏室的服务器之间的通讯。消息路由服务器440将来自第一服务器410的包含游戏室生成信息的消息和包含游戏信息的消息提供给第二服务器420和第三服务器430。
同时通过广播服务器系统450将评论员的音频和视频信息提供给加入第一游戏服务器410即作为发布游戏服务器的游戏室的用户以及加入第二游戏服务器420和第三游戏服务器430即作为镜像游戏服务器的镜像游戏室的用户。
当评论员加入作为发布游戏服务器的第一游戏服务器410的游戏室时,其请求广播服务器系统450传送广播ID以广播解说游戏的移动图片数据,而该广播服务器系统450提供用来广播评论员的音频和视频信息的广播服务器的地址信息以及广播ID。
将评论员的音频和视频信息编码为移动图片流数据的模组包含在评论员的游戏应用程序中,而该包含评论员的音频和视频信息的移动图片流数据被传送给通过广播服务器系统450确定的广播服务器。
加入作为发布游戏服务器的第一游戏服务器410和作为镜像游戏服务器的第二、第三游戏服务器420、430的游戏室的用户接收广播ID的有关信息,以自个别的游戏室串流评论员的解说信息。
也就是说,根据本发明优选实施例,诸如围棋记录信息的游戏信息通过消息路由服务器440被传送给镜像游戏服务器中生成的镜像游戏室,并且评论员解说的移动图片流数据经由广播服务器系统450被传送到加入发布服务器的游戏室和镜像游戏服务器的镜像游戏室的用户客户端。
因此,尽管第一服务器410的观众数量超过了该服务器的许可限度,其它用户仍能够访问第二游戏服务器420和第三游戏服务器430来观看游戏。
下面描述根据本发明优选实施例的消息路由服务器340。根据本发明优选实施例,消息路由服务器340支持将多个连接管理作为组管理的功能。
图5显示根据本发明优选实施例在消息路由服务器340中生成的组。
请参照图5,根据本发明实施例的消息路由服务器340中生成订阅组520和发布组510。订阅组520包括多个镜像服务器,其用来镜像发布服务器的频道,而发布组510包括发布服务器,其提供被镜像的频道的信息。
例如,图3中,作为发布服务器的第一服务器310登记在发布组510中,而作为镜像服务器的第二和第三服务器320、330登记在订阅组520中。
消息路由服务器340启动后,将连接该消息路由服务器340的第一至第三服务器310、320和330设置为包含在发布组510或订阅组520中。消息路由服务器340根据所连接服务器的请求将该服务器包括于订阅组520或发布组510中。
根据本发明优选实施例,作为发布服务器的第一服务器310将要镜像的频道的有关信息以组播方式(multicast)提供给消息路由服务器340。作为发布服务器的第一服务器310向消息路由服务器340提供的频道信息仅包含传送至订阅组520的消息。也就是说,自第一服务器310传送至消息路由服务器340的频道信息的有关消息不包含要镜像该频道信息的第二服务器和第三服务器320、330的地址信息,而仅包含作为消息传送目的地的订阅组的识别信息。
消息路由服务器340接收从作为发布服务器的第一服务器310传送到订阅组520的消息,并将从发布服务器接收的该消息传送给加入订阅组520的所有镜像服务器。也就是说,消息路由服务器340自第一服务器310接收消息,并将该消息传送给加入订阅组520的第二服务器和第三服务器320、330。
消息路由服务器340确定该消息是将要传送给订阅组520的服务器的消息还是将要传送给发布组510的服务器的消息,并将所接收到的消息传送到发布组510的服务器或订阅组520的服务器。消息路由服务器340不会分析、检查或控制所接收到的消息。
因此,与用于在服务器之间交换信息的控制服务器相比,该消息路由服务器340可具有更简单的结构。此外,由于消息能够不指定接收对象而以简单的方式传送,因而降低了消息流量。
作为订阅服务器的第二和第三服务器320、330自消息路由服务器340接收由作为发布服务器的第一服务器310发送的与频道信息有关的消息,并分析该消息以执行频道镜像。
例如,当自第一服务器310接收的消息包含频道生成信息的消息时,第二服务器320和第三服务器330分析该消息并生成与该频道生成信息中包含的信息具有相同条件的频道(此后称为“镜像频道”)。当自第一服务器310接收的消息包含频道的状态变化信息的消息时,第二服务器320和第三服务器330分析该消息并将镜像频道的状态改变为与第一服务器的状态相同。
图15是将发布服务器的消息传送给消息路由服务器的订阅组所包含的镜像服务器的概念视图。
请参照图15,分别加入消息路由服务器的发布组510和订阅组520的发布服务器1530和镜像服务器1510和1520通过套接字(socket)连接该消息路由服务器。
如图15所示,当发布服务器1530传送消息给加入订阅组520的镜像服务器1510和1520时,发布服务器1530以组播方式将该消息传送给作为目的地的订阅组520。
该消息路由服务器将接收自发布服务器1530的消息通过套接字(socket)传送给镜像服务器1510和1520,该套接字是连接订阅组520所包含的镜像服务器1510和1520的媒介。
同时,在使用服务器镜像的游戏广播系统中,图5所示的第一服务器310、第二服务器320和第三服务器330分别对应图4所示的第一服务器410、第二服务器420和第三服务器430,而频道生成信息和频道状态变化信息分别表示游戏室生成信息和游戏信息。
也就是说,消息路由服务器440接收从作为发布游戏服务器的第一游戏服务器410传送给订阅组520的消息,并将通过发布游戏服务器传送的该消息传送给加入订阅组520的所有镜像游戏服务器。也就是说,消息路由服务器440将自第一游戏服务器410接收的消息传送给加入订阅组520的第二游戏服务器420和第三游戏服务器430。
作为镜像游戏服务器的第二服务器420和第三游戏服务器430自消息路由服务器440接收由作为发布游戏服务器的第一游戏服务器410发送的游戏室相关消息,并分析该消息以执行游戏室镜像。
例如,当自第一游戏服务器410接收的消息包含游戏室生成信息的消息时,第二游戏服务器420和第三游戏服务器430分析该消息并生成与该游戏室生成信息中包含的信息具有相同条件的游戏室。当自第一游戏服务器410接收的消息包含游戏状态信息的消息时,第二游戏服务器420和第三游戏服务器430分析该消息并将第一游戏服务器的游戏室中的游戏状态应用到镜像游戏室。
通过上述结构,如果被广播的游戏是围棋,玩家的围棋记录信息和评论员解说的围棋记录信息经由消息路由服务器440被传送到第二游戏服务器420和第三游戏服务器430的镜像游戏室,因此加入第二游戏服务器420和第三游戏服务器430的这些镜像游戏室的用户能够接收第一游戏服务器410的游戏室的玩家和评论员的围棋记录信息。
图6是发布游戏服务器与镜像游戏服务器之间的游戏状态和游戏广播状态视图。
请参照图6,发布游戏服务器的游戏室610由玩家或评论员生成,并且只有访问该发布游戏服务器的用户能够加入该游戏室610。在加入发布游戏服务器的游戏室610的用户中,玩家玩游戏的同时通过该发布游戏服务器交换游戏包。该游戏可为围棋游戏、策略模拟游戏或棋盘游戏。玩游戏的应用程序安装在访问该发布游戏服务器的玩家客户端。
编程该发布游戏服务器,以将游戏室的游戏状态相关信息,例如游戏室生成信息、玩游戏同时交换的游戏命令信息,以及游戏室完成信息,传送给消息路由服务器440的订阅组。
当发布游戏服务器中生成游戏室610时,该游戏室生成信息经由消息路由服务器440被传送到镜像游戏服务器,并在该镜像游戏服务器中生成与发布游戏服务器的游戏室610具有相同条件的游戏室620。
为生成与发布游戏服务器的游戏室相同的游戏室,镜像游戏服务器生成虚拟假玩家(virtual dummy player),其被认为是生成该游戏室的主要因素。由于生成游戏室620时需要有权控制游戏室620的玩家,该假玩家是虚拟生成的玩家。由于该假玩家具有与普通玩家相同的结构,但不连接客户端,最好将该假玩家构造成无法传送或接收数据。
访问镜像游戏服务器的用户加入镜像游戏服务器中生成的游戏室620。当游戏室生成消息从发布游戏服务器经由消息路由服务器440被传送到加入订阅组的镜像游戏服务器时,该镜像游戏服务器生成具有与游戏室生成消息中包含的游戏室信息相同条件的镜像游戏室620。该镜像游戏服务器将镜像游戏室620连同普通游戏室一起列入游戏室列表,并将该游戏室列表提供给用户,而访问该镜像游戏服务器的用户能够加入该镜像游戏室620。
当在发布游戏服务器的游戏室610中玩游戏时,发布游戏服务器的游戏室610将游戏信息传送给消息路由服务器440,该消息路由服务器440将该游戏信息传送给加入订阅组的镜像游戏服务器,而该镜像游戏服务器将该游戏信息提供给游戏室620。因此,进入镜像游戏室620的用户能够观看到在发布游戏服务器中进行的游戏。
例如,当发布游戏服务器的游戏室610中进行围棋游戏时,由发布游戏服务器的游戏室610的玩家生成的记录信息经由消息路由服务器440实时地传送到镜像游戏服务器的游戏室620,而镜像游戏服务器的游戏室620将接收到的记录信息提供给加入镜像游戏服务器的该游戏室620的观众,从而使观众能够观看该围棋游戏。
图7显示依据本发明优选实施例的广播服务器系统的结构。
请参照图7,依据本发明实施例的该广播服务器系统可包括访问控制服务器710和多个广播服务器720、730和740。
访问控制服务器710自评论员客户端701接收广播ID请求信息,并将广播ID和广播服务器720和730的地址信息提供给该评论员客户端701,该广播服务器720和730将接收由评论员客户端701传送的移动图片流数据。
按照惯例,当评论员客户端作出广播ID请求时,该访问控制服务器提供一个广播服务器的地址,供接收该评论员客户端传送的移动图片流数据。一般而言,该访问控制服务器提供多个广播服务器中具有最低负载的广播服务器的地址信息。
但是,根据本发明优选实施例,访问控制服务器710提供至少两个广播服务器720和730的地址信息以供接收评论员客户端701传送的移动图片流数据,并且评论员客户端701将移动图片流数据传送给这两个广播服务器720和730。如图7所示,当访问控制服务器710提供第一广播服务器720和第二广播服务器730的地址信息时,评论员客户端701将移动图片流数据传送给第一广播服务器720和第二广播服务器730。
地址信息可为广播服务器的IP地址和端口号。对本领域技术人员显而易见的是,也可采用其它地址信息。
一般而言,约2500名用户能够同时访问该广播服务器。如果访问广播服务器的用户数量超过最大用户量,就可能发生流数据中断现象。因此,根据本发明优选实施例,为防止流数据中断,评论员客户端701将移动图片流数据传送给多个广播服务器。
访问控制服务器710管理对应广播ID的广播服务器的IP地址和端口号,并在观众客户端702请求对应广播ID的地址信息时,提供对应该广播ID的广播服务器的IP地址和端口号。评论员的移动图片流数据被传送给两个广播服务器720和730,但在两个广播服务器720和730之间,只有广播服务器730的IP地址和端口号提供给观众客户端。访问控制服务器710可提供广播服务器720和730之间具有较低负载的广播服务器730的地址信息。
图7中,如确定第二广播服务器730的负载低于第一广播服务器720的负载,访问控制服务器710向观众客户端702提供第二广播服务器730的地址信息,而观众客户端702自第二广播服务器730接收评论员的移动图片流数据。
图8和图9是在发布游戏服务器和镜像游戏服务器中各自生成被镜像游戏室和镜像游戏室的方法流程图。图8显示游戏玩家请求发布游戏服务器生成游戏室的情况,而图9显示游戏评论员请求发布游戏服务器生成游戏室的情况。
请参照图8,游戏玩家通过客户端请求发布游戏服务器生成游戏室(步骤810)。玩家可预先指定将被镜像到其它服务器的游戏室。发布游戏服务器提供界面供选择生成游戏室时是否将该游戏室镜像到其它服务器,而玩家可通过该界面请求发布游戏服务器生成将镜像至其它服务器的游戏室。
发布游戏服务器响应玩家客户端的游戏室生成请求生成游戏室(步骤820)。生成游戏室后,发布游戏服务器将游戏室生成信息传送给玩家客户端(步骤830),而玩家客户端加入该发布游戏服务器的游戏室(步骤840)。
当发布游戏服务器加入消息路由服务器的发布组中并在其它服务器生成镜像游戏室时,将该游戏室生成信息传送给该消息路由服务器的订阅组。
发布游戏服务器将该游戏室生成消息传送给消息路由服务器(步骤850)。该游戏室生成消息可包含游戏室名称,游戏室ID,以及游戏室设置信息。该游戏室生成消息的目标传送地址被设置为消息路由服务器的订阅组。
接收该游戏室生成消息的消息路由服务器将该游戏室生成消息经由套接字(socket)传送给消息路由服务器的订阅组中包括的镜像游戏服务器(步骤860)。
该消息路由服务器的订阅组中的镜像游戏服务器接收该游戏室生成消息并生成虚拟假玩家,以便生成镜像游戏室(步骤870)。如上所述,该假玩家具有与普通玩家相同的结构,但不连接客户端。因此,该假玩家不会传送或接收数据。
生成该假玩家时,该镜像游戏服务器生成与接收到的游戏室生成信息包含的信息具有相同条件的游戏室,并将该假玩家设置为游戏室生成器(步骤880)。当在该镜像游戏服务器中生成镜像游戏室时,镜像游戏室的号码可以是由镜像游戏服务器独立施加的号码,也可以是为镜像游戏室预先准备的号码,或后续像普通游戏室一样施加的号码。该镜像游戏服务器管理匹配表格或匹配代码,以匹配发布游戏服务器的游戏室号码和镜像游戏室号码,使在发布游戏服务器中生成的游戏室和镜像游戏室彼此匹配。
图9是当游戏评论员请求发布游戏服务器生成游戏室时生成镜像游戏室的方法流程图。
请参照图9,评论员客户端请求发布游戏服务器生成游戏室(步骤911)。评论员可预先指定将镜像到其它服务器的游戏室。发布游戏服务器提供界面以供选择在生成游戏室时是否将该游戏室镜像到其它服务器,而评论员可通过该界面请求发布游戏服务器生成将镜像到其它服务器的游戏室。
发布游戏服务器响应该评论员客户端的游戏室生成请求生成游戏室(步骤912)。生成游戏室完成后,发布游戏服务器将游戏室生成信息传送给评论员客户端(步骤913),而评论员客户端加入该发布游戏服务器中生成的游戏室(步骤914)。游戏室生成后,游戏玩家和观众可加入该游戏室。
评论员加入该游戏室后,评论员客户端请求广播服务器系统提供广播ID(步骤921)。广播服务器系统响应评论员客户端的广播ID请求而提供广播ID和广播服务器的地址信息,其中,该广播服务器将对应该广播ID接收由评论员客户端传送的移动图片流数据(步骤922)。评论员客户端将移动图片流数据传送给该广播服务器(步骤923)。
当该发布游戏服务器加入该消息路由服务器的发布组中并在其它服务器生成镜像游戏室时,该游戏室生成信息被设置为传送给该消息路由服务器的订阅组。
该发布游戏服务器将包含游戏室生成信息的消息传送给该消息路由服务器(步骤915)。该游戏室生成信息可包含游戏室名称、游戏室ID、游戏室设置信息,以及广播ID(由广播服务器系统分配给评论员客户端)。该游戏室生成消息的目标地址被设置为该消息路由服务器的订阅组。
接收该游戏室生成消息的消息路由服务器将该游戏室生成消息经由套接字传送给消息路由服务器的订阅组中包含的镜像游戏服务器(步骤916)。
消息路由服务器的订阅组中的镜像游戏服务器接收该游戏室生成消息并生成虚拟假玩家,以生成镜像游戏室(步骤917)。如上所述,假玩家具有与普通玩家相同的结构,但不连接客户端。因此,该假玩家不会传送或接收数据。
生成假玩家时,该镜像游戏服务器生成与接收到的游戏室生成信息包含的信息具有相同条件的游戏室,并将该假玩家设置为游戏室生成器(步骤918)。该镜像游戏室的号码可以是该镜像游戏服务器独立施加的号码,也可以是为该镜像游戏室预先准备的号码,或后续像普通游戏室一样施加的号码。该镜像游戏服务器管理匹配表格或匹配代码,以匹配该发布游戏服务器的游戏室号码和镜像游戏室号码,使在发布游戏服务器中生成的游戏室和镜像游戏室彼此匹配。
图10是将评论员解说的音频和视频数据传送给发布游戏服务器或镜像游戏服务器的观众客户端的方法流程图。
请参照图10,当评论员客户端加入被镜像到其它服务器的游戏室时,该评论员客户端请求广播服务器系统的访问控制服务器提供广播ID(步骤1010)。
该访问控制服务器传送广播ID并在多个广播服务器之间选择传送广播服务器的地址信息,请求广播ID的评论员客户端将向该广播服务器传送解说的移动图片流数据(步骤1020)。如上所述,该访问控制服务器提供至少两个广播服务器的地址信息。
该评论员客户端自该访问控制服务器接收该两个广播服务器的地址信息并将解说的移动图片流数据传送给第一广播服务器和第二广播服务器(步骤1030和1040)。图10看起来好像移动图片流数据是先后传送给第一广播服务器和第二广播服务器的,但实际上该评论员客户端将该移动图片流数据同时传送给该第一广播服务器和第二广播服务器的。
同时,发布游戏服务器的游戏室的观众或镜像游戏服务器中生成的镜像游戏室的观众在加入游戏室时接收该评论员的广播ID信息(步骤1050)。
该接收广播ID信息的观众客户端请求所述访问控制服务器提供对应该广播ID的广播服务器的地址信息(步骤1060)。
访问控制服务器将对应该广播ID的两个广播服务器的其中一个的地址信息传送给该观众客户端(步骤1070)。如上所述,最好传送两个广播服务器间具有较低负载的广播服务器的地址信息。
当该访问控制服务器提供第二广播服务器的地址信息时,该观众客户端请求该第二广播服务器传送移动图片流数据(步骤1080),而该第二广播服务器接收评论员解说的移动图片流数据并将该数据传送给该观众客户端(步骤1090)。
通过图10的过程,加入该镜像游戏服务器的镜像游戏室的观众或加入发布游戏服务器的游戏室的观众能够接收评论员解说的移动图片。
图11和图12是当发布游戏服务器删除游戏室时删除镜像游戏服务器中的镜像游戏室的方法流程图。图11显示游戏评论员未加入被镜像的游戏室的情况,图12显示游戏评论员加入被镜像的游戏室的情况。
请参照图11,加入该发布游戏服务器中生成的游戏室的玩家客户端请求离开游戏室(步骤1110)。当加入该发布游戏服务器中生成的游戏室的所有玩家都离开游戏室时,该发布游戏服务器删除该游戏室(步骤1120)。
当特定的玩家离开被镜像到镜像游戏服务器的游戏室时,该发布游戏服务器将玩家离开该游戏室的消息传送给消息路由服务器,并在删除该游戏室时将删除消息传送给消息路由服务器(步骤1130)。
包含表示特定玩家离开游戏室信息和/或游戏室删除信息的消息被传送给该消息路由服务器的订阅组。该消息路由服务器通过套接字将该消息传送给连接该消息路由服务器的订阅组的镜像游戏服务器(步骤1140)。
该镜像游戏服务器确定对应该消息中包含的游戏室号码的镜像游戏室号码。可通过使用匹配表格或匹配代码确定对应该发布游戏服务器中的游戏室号码的镜像游戏室号码。该镜像游戏服务器通过使用镜像游戏室号码找到该镜像游戏室。如果接收到的消息表示包含生成该发布游戏服务器的玩家离开该游戏室的信息,则该镜像游戏服务器删除对应该镜像游戏室号码的假玩家(步骤1150)。
当包括假玩家在内的所有用户离开该镜像游戏服务器生成的镜像游戏室时,该镜像游戏服务器删除该镜像游戏室(步骤1160)。
图12显示在游戏评论员加入游戏室的情况下,当该发布游戏服务器删除该游戏室时,删除镜像游戏服务器中的镜像游戏室的方法流程图。
请参照图12,加入该发布游戏服务器中生成的游戏室的评论员客户端请求离开该游戏室(步骤1210)。当加入该发布游戏服务器生成的游戏室中包括游戏玩家在内的所有用户离开该游戏室时,该发布游戏服务器删除该游戏室(步骤1220)。
删除该游戏室时,传送评论员解说的移动图片流数据至广播服务器的过程被中断(步骤1230)。
当加入该游戏室的特定用户离开该游戏室时,该发布游戏服务器将用户离开游戏室的消息传送给该消息路由服务器,并在删除该游戏室时向该消息路由服务器传送删除消息(步骤1240)。表示特定用户离开游戏室的消息可包含被删除的游戏室的号码信息。
该发布游戏服务器将表示包含特定玩家离开游戏室的信息和/或游戏室删除信息的消息传送给该消息路由服务器的订阅组,而该消息路由服务器通过套接字将该消息传送给连接该消息路由服务器的订阅组的镜像游戏服务器(步骤1250)。
该镜像游戏服务器确定对应该消息中包含的游戏室号码的镜像游戏服务器的镜像游戏室号码。可通过使用匹配表格或匹配代码确定对应该发布游戏服务器中的游戏室号码的镜像游戏室号码。如果离开该发布游戏服务器的游戏室的用户是生成该游戏室的评论员,则该镜像游戏服务器删除对应该镜像游戏室号码的假玩家(步骤1260)。当包括假玩家在内的所有用户离开该镜像游戏服务器生成的镜像游戏室时,该镜像游戏服务器删除该镜像游戏室(步骤1270)。
图13描述将发布游戏服务器的游戏室中交换的游戏命令传送给镜像游戏服务器,从而在镜像游戏服务器的镜像游戏室中复制该发布游戏服务器的游戏室的游戏状态的方法流程图。
请参照图13,加入该发布游戏服务器的游戏室的玩家客户端将游戏命令消息传送给该发布游戏服务器(步骤1310)。该游戏命令可包含各种游戏的所有游戏指令。例如,围棋游戏的游戏命令可以是特定玩家的记录信息,而策略模拟游戏的游戏命令可以是移动特定单元的命令。
如果该发布游戏服务器的游戏室中进行的游戏是例如围棋游戏或棋盘游戏的轮流型游戏,该游戏命令可包含有关命令序列的信息。如果该发布游戏服务器的游戏室的游戏是实时策略模拟游戏,该游戏命令可包含时间信息。
该游戏命令消息包含自该玩家客户端接收该游戏命令消息的发布游戏服务器的游戏室号码的信息。
自该玩家客户端接收该游戏命令消息的发布游戏服务器将接收到的游戏命令消息传送到消息路由服务器(步骤1320)。
该消息路由服务器将该游戏命令消息通过套接字传送给包含在该消息路由服务器的订阅组中的镜像游戏服务器(步骤1330)。
自该消息路由服务器接收游戏命令消息的镜像游戏服务器分析该游戏命令消息并确定与接收到的游戏命令相关的镜像游戏室号码(步骤1340)。
该镜像游戏服务器将接收自该消息路由服务器的游戏命令消息提供给对应该镜像游戏室号码的镜像游戏室(步骤1350)。该镜像游戏服务器将该游戏命令提供给加入该镜像游戏室的包括观众在内的用户客户端,并安装在接收游戏命令的用户客户端的游戏应用程序对应所接收到的命令执行游戏进程。通过图13的方法,加入该镜像游戏服务器的镜像游戏室的用户能够观看到与所述发布游戏服务器的游戏室中进行的游戏同样的游戏。
尽管图13未图示,对本领域技术人员显而易见的是,可将所述发布游戏服务器的游戏室中玩家之间传送/接收的聊天消息通过图13的方法提供给所述镜像游戏服务器的镜像游戏室。
图14是在特定的镜像服务器中发生失败时进行恢复的方法流程图。
请参照图14,当加入消息路由服务器订阅组的特定镜像服务器中发生失败时,该镜像服务器请求该消息路由服务器传送室或频道的列表,其中,该些室或频道生成于所述发布服务器,经由该消息路由服务器向该镜像服务器提供信息(步骤1410)。
室列表请求消息的目标地址是发布组。该消息路由服务器将该室列表请求消息提供给加入发布组的发布服务器(步骤1420)。
自该消息路由服务器接收该室列表请求消息的发布服务器搜索有关这些室的信息,以将该信息提供给镜像服务器(步骤1430)。
该发布服务器生成表示所搜索的室的生成和所搜索的室的状态变化的历史数据(步骤1440)。如果所搜索室为游戏室,则生成在该游戏室中进行的游戏的游戏历史数据。该游戏历史数据是失败发生之前所进行游戏的历史数据,以使镜像服务器能够准确向观众提供当前的游戏状态。例如,围棋游戏的游戏历史数据可为围棋游戏的记录数据,而策略模拟游戏的游戏历史数据可为玩家之间交换的游戏命令数据。根据游戏类型,未必可生成游戏历史数据或请求生成游戏历史数据。
该发布服务器将包含室列表信息的消息和各室的历史数据传送给该消息路由服务器(步骤1450)。
该消息路由服务器将接收自发布服务器的消息传送给加入订阅组的所有镜像服务器(步骤1460)。尽管失败仅发生在包含于订阅组中的一个镜像服务器,根据该消息路由服务器的传送规则,该消息被传送给该订阅组包括的所有镜像服务器。
自该消息路由服务器接收包含室列表信息的消息和各室历史数据的多个镜像服务器中,未请求该室列表的镜像服务器会忽略所接收到的消息。请求该室列表的镜像服务器将基于该室列表信息和各室的历史数据重新生成镜像室(步骤1470)。
工业实用性
根据本发明的服务器镜像方法也可用于游戏管理人员监视特定服务器的游戏室的状态。通过将该游戏室镜像到游戏管理人员访问的服务器,游戏管理人员能够在不直接访问该游戏室的情况下监视该游戏室的状态,以监视不道德的行为。
此外,根据本发明的服务器镜像方法可允许访问特定聊天服务器的用户监视在其它聊天服务器中生成的聊天室的聊天状态。
尽管本发明用于说明的目的描述了多个优选实施例,本领域的技术人员可在不背离本发明范围和精神下对这些实施例作各种变更、增加或替换。

Claims (25)

1.一种服务器镜像方法,包括:
接收频道生成请求;
基于该频道生成请求,在发布服务器中生成第一频道;
消息路由服务器从发布服务器接收频道生成信息和频道状态改变信息,并将频道生成信息和频道状态改变信息发送到至少一个镜像服务器;
基于该第一频道的频道生成信息,在所述至少一个镜像服务器中生成第二频道;以及
基于所述第一频道的频道状态变化信息,改变所述第二频道的状态,
其中,所述至少一个镜像服务器在消息路由服务器中登记为订阅组成员。
2.如权利要求1所述的方法,
其中,所述第一频道的频道生成信息包含第一频道号;以及
其中,生成所述第二频道包括:
生成对应所述第二频道的第二频道号;以及
生成用于匹配所述第一频道号和第二频道号的匹配表格或匹配代码。
3.如权利要求1所述的方法,其中,改变所述第二频道的状态包括将所述第一频道的频道状态变化信息传送给在消息路由服务器中登记为订阅组成员的所述至少一个镜像服务器。
4.如权利要求1中所述的方法,进一步包括:
在该镜像服务器发生失败时生成所述第一频道的历史数据;以及
基于所述第一频道的历史数据,在发生失败的镜像服务器中生成第三频道。
5.如权利要求1所述的方法,其中,所述第一频道和第二频道是游戏室或聊天室。
6.一种服务器镜像方法,包括:
将至少一个镜像服务器登记为在路由服务器中产生的订阅组的成员;
路由服务器接收发布服务器中生成的频道的有关信息;以及
路由服务器将该频道的有关信息传送给该订阅组,将该信息传送给登记为该订阅组成员的所有镜像服务器。
7.如权利要求6所述的方法,其中,所述频道的有关信息包含频道生成信息和频道状态变化信息。
8.如权利要求6所述的方法,其中,所述频道是游戏室或聊天室。
9.一种服务器镜像方法,包括:
接收游戏室生成请求;
基于该游戏室生成请求,在发布服务器中生成第一游戏室;
经由消息路由服务器将第一游戏室的生成信息从发布服务器传送到登记为消息路由服务器的订阅组成员的镜像服务器;
基于该第一游戏室的游戏室生成信息,在该镜像服务器中生成第二游戏室;以及
将所述第一游戏室的游戏信息通过该消息路由服务器传送给该镜像服务器。
10.如权利要求9所述的方法,其中,所述游戏信息包含游戏命令信息或聊天信息。
11.如权利要求9所述的方法,其中,该消息路由服务器通过套接字连接所述镜像服务器,而所述第一游戏室的游戏室生成信息和游戏信息自该消息路由服务器通过该套接字传送至该镜像服务器。
12.如权利要求9所述的方法,进一步包括:
自该游戏信息提取所述第一游戏室的号码;
通过使用所提取的所述第一游戏室的号码来确定所述第二游戏室的号码;以及
通过使用所确定的所述第二游戏室的号码来将该游戏信息提供给该第二游戏室。
13.如权利要求9所述的方法,进一步包括:
广播服务器自游戏评论员接收移动图片流数据;以及
广播服务器将该移动图片流数据提供给游戏观众。
14.如权利要求13所述的方法,其中,通过至少两个广播服务器自该游戏评论员接收该移动图片流数据,并通过所述至少两个广播服务器之中具有最低负载的广播服务器,来将该移动图片流数据提供给游戏观众。
15.如权利要求9所述的方法,其中,生成所述第二游戏室包括生成虚拟假玩家,其被认为是生成该第二游戏室的主要因素。
16.如权利要求15所述的方法,进一步包括:
当所述第一游戏室的所有用户离开该第一游戏室时,删除该第一游戏室;
删除该第一游戏室后,删除该第二游戏室的假玩家;以及
当包含该假玩家在内的该第二游戏室的所有用户离开该第二游戏室时,删除该第二游戏室。
17.一种服务器镜像系统,包括:
发布服务器,接收频道生成请求,基于该频道生成请求生成第一频道,以及生成该第一频道的频道生成信息和频道状态变化信息;
消息路由服务器,自该发布服务器接收所述第一频道的频道生成信息和频道状态变化信息;以及
在该消息路由服务器中登记为订阅组成员的镜像服务器,自该消息路由服务器接收所述第一频道的频道生成信息和频道状态变化信息,基于该第一频道的频道生成信息生成第二频道,并基于该第一频道的频道状态变化信息改变该第二频道的状态。
18.如权利要求17所述的系统,其中,该消息路由服务器将所述第一频道的频道生成信息和频道状态变化信息传送给登记为订阅组成员的所有镜像服务器。
19.如权利要求17所述的系统,其中,该第一频道和第二频道是游戏室。
20.如权利要求19所述的系统,进一步包括广播服务器系统,所述广播服务器系统接收来自游戏评论员客户端的移动图片流数据并将该移动图片流数据传送给访问所述第一频道和第二频道的游戏观众客户端。
21.如权利要求20所述的系统,
其中,该广播服务器系统包括访问控制服务器,以及
其中,该访问控制服务器指定至少两个广播服务器接收来自游戏评论员客户端的移动图片流数据,并仅指定该至少两个广播服务器的其中一个广播服务器作为向所述游戏观众客户端传送该移动图片流数据的服务器。
22.一种使用服务器镜像的游戏广播方法,其应用于包含至少一个发布游戏服务器,至少一个镜像游戏服务器,广播服务器系统和消息路由服务器的系统中,其中该消息路由服务器保持所述至少一个发布游戏服务器和所述至少一个镜像游戏服务器之间的连接,该游戏广播方法包括:
当在该发布游戏服务器中生成游戏室时,将游戏室生成消息与在该游戏室中进行的游戏相关的游戏消息传送给所述消息路由服务器,其中至少一个评论员和一个玩家加入该游戏室;
在加入该游戏室的评论员的客户端,向所述广播服务器系统传送包含该评论员的音频和视频数据的移动图片数据;
在该消息路由服务器,向连接该消息路由服务器的所述至少一个镜像游戏服务器传送接收自所述发布游戏服务器的游戏室生成消息和游戏消息;
在该镜像游戏服务器,当所述至少一个镜像游戏服务器自该消息路由服务器接收所述游戏室生成消息时,镜像与该游戏室生成消息所包含的游戏室信息相同的游戏室;以及
当客户端加入所述镜像游戏服务器的镜像游戏室或所述发布游戏服务器的游戏室时,提供广播ID以自所述广播服务器系统接收该评论员的移动图片数据。
23.在包括至少一个发布服务器、至少一个镜像服务器以及保持该至少一个发布服务器与至少一个镜像服务器之间连接的消息路由服务器的系统中,一种将所述发布服务器中生成的频道镜像到所述镜像服务器的服务器镜像方法,该方法包括:
当在该发布服务器中生成频道时,将频道生成消息和传送给所述发布服务器中生成的频道的消息,传送到该消息路由服务器;
在该消息路由服务器,将接收自该发布服务器的频道生成消息和传送给该发布服务器中生成的频道的消息,传送给连接该消息路由服务器的所述至少一个镜像服务器;以及
在该镜像服务器,在接收到所述频道生成消息和传送给该发布服务器中生成的频道的消息时,对应通过该镜像服务器所接收到的消息的类型执行预定的镜像过程。
24.如权利要求23所述的方法,其中,当自该消息路由服务器传送到该至少一个镜像服务器的消息为频道生成消息时,该预定的镜像过程允许该镜像服务器生成与频道生成消息中包含的频道信息相同的频道。
25.如权利要求23所述的方法,其中,当自该消息路由服务器向所述至少一个镜像服务器传送的消息是传送给该发布服务器中生成的频道的消息时,该预定的镜像过程将所接收到的消息传送给加入该镜像服务器的频道的客户端。
CN2007800113366A 2006-03-30 2007-03-30 服务器镜像方法及系统 Expired - Fee Related CN101410822B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR1020060028908A KR100775132B1 (ko) 2006-03-30 2006-03-30 서버 미러링 시스템 및 방법
KR1020060028908 2006-03-30
KR10-2006-0028908 2006-03-30
KR10-2006-0029911 2006-03-31
KR1020060029911A KR100810757B1 (ko) 2006-03-31 2006-03-31 서버 미러링을 이용한 게임 중계 시스템 및 방법
KR1020060029911 2006-03-31
PCT/KR2007/001574 WO2007114606A1 (en) 2006-03-30 2007-03-30 Server mirroring method and system therefor

Publications (2)

Publication Number Publication Date
CN101410822A CN101410822A (zh) 2009-04-15
CN101410822B true CN101410822B (zh) 2012-07-04

Family

ID=38804056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800113366A Expired - Fee Related CN101410822B (zh) 2006-03-30 2007-03-30 服务器镜像方法及系统

Country Status (2)

Country Link
KR (1) KR100775132B1 (zh)
CN (1) CN101410822B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102283669B1 (ko) * 2013-10-25 2021-07-30 주식회사 카카오 채널 기반의 컨텐츠 중계 방법 및 시스템
CN103816662A (zh) * 2014-02-26 2014-05-28 深圳第七大道网络技术有限公司 一种主从游戏区合区的方法及系统
KR101721418B1 (ko) 2015-06-25 2017-03-30 김민호 서버와 클라이언트 리버스 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026430A (en) * 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
US6125388A (en) * 1994-05-31 2000-09-26 Reisman; Richard R. System for transporting information objects between a user station and multiple remote sources based upon user modifiable object manifest stored in the user station
CN1309366A (zh) * 2000-02-17 2001-08-22 朴善殷 在互联网上提供游戏的系统和方法
CN1567238A (zh) * 2003-06-09 2005-01-19 四川大学 基于Internet的文件镜像方法
CN1797391A (zh) * 2004-12-24 2006-07-05 许继集团有限公司 一种电力自动化系统界面可视化管理系统及其管理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050055543A (ko) * 2003-12-08 2005-06-13 인터뱅크 주식회사 게임 서비스 중계 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125388A (en) * 1994-05-31 2000-09-26 Reisman; Richard R. System for transporting information objects between a user station and multiple remote sources based upon user modifiable object manifest stored in the user station
US6026430A (en) * 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
CN1309366A (zh) * 2000-02-17 2001-08-22 朴善殷 在互联网上提供游戏的系统和方法
CN1567238A (zh) * 2003-06-09 2005-01-19 四川大学 基于Internet的文件镜像方法
CN1797391A (zh) * 2004-12-24 2006-07-05 许继集团有限公司 一种电力自动化系统界面可视化管理系统及其管理方法

Also Published As

Publication number Publication date
CN101410822A (zh) 2009-04-15
KR20070097938A (ko) 2007-10-05
KR100775132B1 (ko) 2007-11-08

Similar Documents

Publication Publication Date Title
KR100453539B1 (ko) 인터넷을 통한 스포츠 생중계 디지탈 시스템, 이를 이용한스포츠 생중계 방법 및 이를 구현할 수 있는 프로그램이수록된 컴퓨터로 읽을 수 있는 기록매체
WO2022143182A1 (zh) 用于多用户交互的视频信号播放方法、装置及设备
JP4920038B2 (ja) 複数のグループに属するロケーションサーバを用いたユーザのログ情報管理方法及びシステム
CN101159850B (zh) 实现多终端协同控制播放视频数据的方法和播放控制代理
JP4773481B2 (ja) 閾値イベントを介したアプリケーション管理のためのシステム及び方法
JP3573203B2 (ja) 情報再生方法及び情報再生システム。
CN103200430A (zh) 个人内容分享方法、系统、服务器和终端设备
TWI381716B (zh) 串流資料之網路傳輸系統與方法
US20120270576A1 (en) System and method for partnered media streaming
JP5725722B2 (ja) インタラクティブ・マルチメディアを配信及び受信する方法
CA2163500A1 (en) Real-time multi-user game communication system using existing cable television infrastructure
CN104363473B (zh) 一种基于在线直播的信息传输方法以及装置
KR100937681B1 (ko) 사용자간 통신을 위한 통신 모듈 및 방법, 그러한 통신 모듈을 포함하는 서버, 그러한 서버를 포함하는 방송 세트, 그러한 사용자간 통신 방법을 수행하는 컴퓨터 프로그램 제품을 저장한 저장 매체
CN108235042A (zh) 一种多人网络直播方法、装置、加入装置和系统
WO2012062163A1 (zh) 一种视频会议的动态调整媒体内容的方法和系统
CN101410822B (zh) 服务器镜像方法及系统
Otten Broadcasting virtual games in the internet
KR100384757B1 (ko) 카메라와 화면 캡쳐를 이용한 인터넷 분산 방송 시스템 및방법
JP5044638B2 (ja) サーバーミラーリング方法及びそのシステム
KR100810757B1 (ko) 서버 미러링을 이용한 게임 중계 시스템 및 방법
CN108668140A (zh) 音视频交互状态同步方法及装置
CN100566304C (zh) 一种控制网络直播聊天室成员同步播放的方法及系统
CN115052032B (zh) 一种提供多用户服务的通信方法和系统
CN109640131A (zh) 广播电视数据处理方法、广播电视终端设备和存储介质
CN107733664A (zh) 音频码流推送方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NHN ENTERTAINMENT CORP.

Free format text: FORMER OWNER: NHN CORP.

Effective date: 20131209

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131209

Address after: Gyeonggi Do city of South Korea

Patentee after: NHN Entertainment Corp.

Address before: Gyeonggi Do, South Korea

Patentee before: NHN Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

CF01 Termination of patent right due to non-payment of annual fee