一种虚拟频道数据同步多服务器的方法、系统及存储介质与流程

文档序号:35278469发布日期:2023-08-31 21:47阅读:23来源:国知局
一种虚拟频道数据同步多服务器的方法、系统及存储介质与流程

本发明涉及虚拟频道实时交互,特别涉及一种虚拟频道数据同步多服务器的方法、系统及存储介质。


背景技术:

1、在虚拟频道中,为了保证用户可以在一个场景下的及时交互,需要借助服务器实现多个客户端的实时通信,但单服务器的带宽承载存在上限,目前常见的提升服务器承载人数,除了提升硬件设备,就是削减通信数据量,上述方式不仅增加成本,而且影响用户的正常使用,因为单服务器总有一个临界值,当服务器的人数达到一定数量时,还是会达到单机器的临界值,导致用户无法进入虚拟频道。

2、传统的虚拟频道在使用时,服务器与客户端之间的通信方式如图1所示,属于服务器a交互的客户端只能连接到服务器a上,属于服务器b交互的客户端只能连接到服务器b上,这样会造成数据a只会在a连接上进行交互,数据b只会在b连接上进行交互,服务器a和服务器b之间的数据不能互通,因此客户端之间的交互依旧受到服务器临界值的影响,导致虚拟频道不能容纳较多的客户端共同进入进行交互,因此传统的虚拟频道使用时受硬件服务器影响较大,使用成本也高。


技术实现思路

1、本发明的目的就在于为了解决上述虚拟频道数据交互时通信受服务器上限影响的问题而提供一种虚拟频道数据同步多服务器的方法、系统及存储介质,具有将单机器服务变成集群通信服务,通信负荷不受单机器上限影响,还享受提升硬件设备和削减通信数据量的正向提升的优点。

2、第一方面,本发明通过以下技术方案来实现上述目的,一种虚拟频道数据同步多服务器的方法,包括以下步骤:

3、通信中间件开启消息队列,所述消息队列用于所有频道服务器订阅,所述订阅包括所述频道服务器接收来自所述消息队列的消息后进行消费,并将消费结果推送给客户端;

4、所述消息队列的消息为所述频道服务器发送给所述通信中间件的同步数据,所述同步数据为客户端上传给所述频道服务器的用户在虚拟频道场景中操控虚拟角色产生的数据;

5、所述频道服务器接收来自所述消息队列的消息后进行消费的方法包括:

6、所述频道服务器按顺序取出所述消息队列的消息,并判断是否为本服务器发出的消息,若是,则忽略所述消息;

7、若否,则标记为异机消息,并解构所述异机消息。

8、优选的,所述用户在虚拟频道场景中操控虚拟角色产生的数据包括角色数据、角色行动数据、场景命令数据和状态信息数据中的一种或多种。

9、优选的,所述消息队列包括高频消息队列和信令消息队列,角色数据和角色行动数据由频道服务器发送到高频消息队列,场景命令数据和状态信息数据由频道服务器发送到信令消息队列。

10、优选的,所述频道服务器发送同步数据之前由频道服务器按照所有服务器约定的通信协议对客户端上传的数据进行封装,对封装后的数据进行类别标记和应用标记,所述类别标记用于标记封装数据的类型,所述应用标记用于标记上传同步数据的频道服务器的信息。

11、优选的,所述频道服务器发送给所述通信中间件的同步数据通过通信中间件与频道服务器之间的内网进行传输。

12、优选的,所述频道服务器判断是否为本服务器发出的消息的方法为频道服务器对获取的消息上的应用标记进行识别,若应用标记与本机相同则为本服务器发出的消息,反之,则为异机消息。

13、优选的,所述解构所述异机消息包括频道服务器按照消息的类别进行对应处理:

14、解析出角色数据和角色行动数据后,在客户端的虚拟频道中执行新增或移除操作;

15、解析出场景命令数据和状态信息数据后,保存到频道服务器中或在客户端的虚拟频道中执行更新操作。

16、第二方面,本发明通过以下技术方案来实现上述目的,一种虚拟频道数据同步多服务器的系统,包括:

17、通信中间件,用于开启消息队列,所述消息队列用于所有频道服务器订阅,所述消息队列的消息为所述频道服务器发送给所述通信中间件的同步数据;

18、频道服务器,用于接收来自所述消息队列的消息后进行消费,并将消费结果推送给客户端,所述频道服务器接收来自所述消息队列的消息后进行消费的方法包括:所述频道服务器按顺序取出所述消息队列的消息,并判断是否为本服务器发出的消息,若是,则忽略所述消息;若否,则标记为异机消息,并解构所述异机消息;

19、客户端,用于上传用户在虚拟频道场景中操控虚拟角色产生的数据给所述频道服务器以及接收所述频道服务器的消费结果。

20、第三方面,本发明通过以下技术方案来实现上述目的,一种存储介质,其上存储有计算机程序,在所述计算机程序被处理器执行时,实现如第一方面所述的虚拟频道数据同步多服务器的方法。

21、与现有技术相比,本发明的有益效果是:利用消息中间件与所有频道服务器建立同步服务器集群,客户端上传给相应服务器的同步数据可以被其他服务器提取,经过频道服务器解码分析后执行同步操作,并推送给连接该频道服务器的客户端,实现虚拟频道中用户的跨服务器实时交互,这种利用将单机器服务变成集群通信服务的方式,使得通信负荷不受单机器上限影响,还享受提升硬件设备和削减通信数据量的正向提升。



技术特征:

1.一种虚拟频道数据同步多服务器的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的虚拟频道数据同步多服务器的方法,其特征在于,所述用户在虚拟频道场景中操控虚拟角色产生的数据包括角色数据、角色行动数据、场景命令数据和状态信息数据中的一种或多种。

3.根据权利要求2所述的虚拟频道数据同步多服务器的方法,其特征在于,所述消息队列包括高频消息队列和信令消息队列,角色数据和角色行动数据由频道服务器发送到高频消息队列,场景命令数据和状态信息数据由频道服务器发送到信令消息队列。

4.根据权利要求2所述的虚拟频道数据同步多服务器的方法,其特征在于,所述频道服务器发送同步数据之前由频道服务器按照所有服务器约定的通信协议对客户端上传的数据进行封装,对封装后的数据进行类别标记和应用标记,所述类别标记用于标记封装数据的类型,所述应用标记用于标记上传同步数据的频道服务器的信息。

5.根据权利要求1所述的虚拟频道数据同步多服务器的方法,其特征在于,所述频道服务器发送给所述通信中间件的同步数据通过通信中间件与频道服务器之间的内网进行传输。

6.根据权利要求4所述的虚拟频道数据同步多服务器的方法,其特征在于,所述频道服务器判断是否为本服务器发出的消息的方法为频道服务器对获取的消息上的应用标记进行识别,若应用标记与本机相同则为本服务器发出的消息,反之,则为异机消息。

7.根据权利要求2或4所述的虚拟频道数据同步多服务器的方法,其特征在于,所述解构所述异机消息包括频道服务器按照消息的类别进行对应处理:

8.一种虚拟频道数据同步多服务器的系统,其特征在于,包括:

9.一种存储介质,其特征在于,其上存储有计算机程序,在所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的虚拟频道数据同步多服务器的方法。


技术总结
本发明公开了一种虚拟频道数据同步多服务器的方法、系统及存储介质,属于虚拟频道实时交互技术领域,该方法包括:通信中间件开启消息队列,所述消息队列用于所有频道服务器订阅,所述订阅包括所述频道服务器接收来自所述消息队列的消息后进行消费,并将消费结果推送给客户端;所述频道服务器接收来自所述消息队列的消息后进行消费的方法包括:所述频道服务器按顺序取出所述消息队列的消息,并判断是否为本服务器发出的消息,若是,则忽略所述消息;若否,则标记为异机消息,并解构所述异机消息。利用将单机器服务变成集群通信服务的方式,使得通信负荷不受单机器上限影响,还享受提升硬件设备和削减通信数据量的正向提升。

技术研发人员:李新
受保护的技术使用者:南京维赛客网络科技有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1