一种消息共享方法及服务器与流程

文档序号:29264835发布日期:2022-03-16 13:32阅读:84来源:国知局
一种消息共享方法及服务器与流程

1.本技术涉及通信技术领域,尤其涉及一种消息共享方法及服务器。


背景技术:

2.随着显示设备的快速发展,显示设备的功能将越来越丰富,性能也越来越强大,目前,显示设备包括智能电视、手机、冰箱,以及其他带有智能显示屏幕的产品等。为了提高用户的体验,可在电视端实现类似线下影院的线上影院功能,如放映厅。用户在电视终端放映厅中可以创建群组,其他用户可以加入群组,在群组中的用户不仅可以共享影视播放,还可以聊天交互。
3.但是,目前群组中用户消息共享是在同一消息服务下进行的,而当群组成员所用电视终端连接不同的消息服务时,群组聊天功能就无法实现消息共享。


技术实现要素:

4.本技术提供了一种消息共享方法及服务器,以解决群组成员连接不同消息服务时无法实现消息共享的问题。
5.第一方面,本技术提供了一种服务器,包括:控制器,被配置为:
6.响应于第一终端用户发送的用于与第二终端用户进行群组交互的群组创建请求,调用第一消息服务创建第一群组,以及,调用第二消息服务创建第二群组,所述第一群组和第二群组具有相同的id标识;
7.创建用于实现消息转发的虚拟用户,所述虚拟用户分别加入第一群组和第二群组;
8.在第一终端用户加入第一群组,第二终端用户加入第二群组时,将所述第一终端用户基于第一群组产生的交互消息通过所述虚拟用户转发至第二群组,所述第二群组中的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息。
9.第二方面,本技术还提供了一种消息共享方法,所述方法包括:
10.响应于第一终端用户发送的用于与第二终端用户进行群组交互的群组创建请求,调用第一消息服务创建第一群组,以及,调用第二消息服务创建第二群组,所述第一群组和第二群组具有相同的id标识;
11.创建用于实现消息转发的虚拟用户,所述虚拟用户分别加入第一群组和第二群组;
12.在第一终端用户加入第一群组,第二终端用户加入第二群组时,将所述第一终端用户基于第一群组产生的交互消息通过所述虚拟用户转发至第二群组,所述第二群组中的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息。
13.第三方面,本技术还提供了一种存储介质,该存储介质可存储有程序,该程序执行时可实现包括本技术提供的消息共享方法各实施例中的部分或全部步骤。
14.由以上技术方案可知,本发明实施例提供的一种消息共享方法及服务器,在接收
到第一终端用户发送的群组创建请求后,调用第一消息服务创建第一群组,调用第二消息服务创建第二群组,创建用于实现消息转发的虚拟用户,并为第一群组和第二群组配置相同的id标识,虚拟用户分别加入第一群组和第二群组。在第一终端用户基于第一群组产生的交互消息后,通过虚拟用户转发至第二群组,第二群组中的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息,实现消息共享。可见,该方法及服务器可在同一放映厅中基于不同的消息服务创建对应的群组,各终端用户基于系统版本加入对应的群组,使得位于同一放映厅的连接不同消息服务的终端用户之间实现消息共享,避免各终端用户仅通过一种消息服务才能实现群组内消息交互的弊端,用户体验更好。
附图说明
15.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1示出了根据一些实施例的智能控制设备与控制装置之间操作场景的示意图;
17.图2示出了根据一些实施例的智能控制设备200的硬件配置框图;
18.图3示出了根据一些实施例的控制设备100的硬件配置框图;
19.图4示出了根据一些实施例的智能控制设备200中软件配置图;
20.图5示出了根据一些实施例的消息共享方法的流程图;
21.图6示出了根据一些实施例的消息共享方法的一种交互图;
22.图7示出了根据一些实施例的放映厅的示界面意图;
23.图8示出了根据一些实施例的虚拟用户实现消息共享的示意图;
24.图9示出了根据一些实施例的消息共享方法的另一种交互图。
具体实施方式
25.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
26.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
27.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
28.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
29.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
30.在智能控制设备为显示设备时,基于显示设备的结构进行介绍。
31.图1示出了根据一些实施例的智能控制设备与控制装置之间操作场景的示意图。如图1所示,智能控制设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作智能控制设备200。
32.在一些实施例中,控制装置100可以是遥控器,遥控器和智能控制设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制智能控制设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制智能控制设备200。
33.在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,ar/vr设备等中的任意一种。
34.在一些实施例中,也可以使用智能设备300以控制智能控制设备200。例如,使用在智能设备上运行的应用程序控制智能控制设备200。在一些实施例中,也可以使用智能设备300和智能控制设备进行数据的通信。
35.在一些实施例中,智能控制设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过智能控制设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过智能控制设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
36.在一些实施例中,智能控制设备200还与服务器400进行数据通信。可允许智能控制设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向智能控制设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
37.在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的智能控制设备上执行,反之亦然。
38.图2示出了根据一些实施例的控制装置100的硬件配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为智能控制设备200可识别和响应的指令,起用用户与智能控制设备200之间交互中介作用。
39.在一些实施例中,通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
40.图3示出了根据一些实施例的智能控制设备200的硬件配置框图。参见图3,在一些实施例中,智能控制设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。在一些实施例中,控制器包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。
41.在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面等。在一些实施例中,显示器260可为液晶显示器、oled显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
42.在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制智能控制设备的工作和响应用户的操作。控制器250控制智能控制设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
43.在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
44.在一些实施例中控制器包括中央处理器(central processing unit,cpu),视频处理器,音频处理器,图形处理器(graphics processing unit,gpu),ram random access memory,ram),rom(read-only memory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。
45.在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
46.在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:智能控制设备本体上的实体按键,或其他等)。
47.图4示出了根据一些实施例的智能控制设备200中软件配置图。参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(application framework)层(简称“框架层”),安卓运行时(android runtime)和系统库层(简称“系统运行库层”),以及内核层。
48.在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
49.框架层为应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。
50.如图4所示,本技术一些实施例中应用程序框架层包括管理器(managers),提供器(content provider)、网络管理系统等,其中管理器包括以下模块中的至少一个:活动管理器(activity manager)用与和系统中正在运行的所有活动进行交互;位置管理器(location manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器
(package manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notification manager)用于控制通知消息的显示和清除;窗口管理器(window manager)用于管理用户界面上的图标、窗口、工具栏、壁纸和桌面部件。
51.在一些实施例中,为提高显示设备的应用体验,可为显示设备配置线上影院功能,如放映厅。用户在电视终端放映厅中可以创建群组,其他用户可以加入群组,在群组中的用户不仅可以共享影视播放,还可以聊天交互。
52.而在用户通过群组聊天时,各个用户所采用的终端需调用同一消息服务提供商实现即时通信。消息服务提供商为实现消息共享的媒介,包括第三方提供的消息服务,例如,即时通信客户端如微信、qq等,那么对应的第三方消息服务提供商可为腾讯。
53.但是,由于显示设备内配置有自研消息服务提供商(为系统自行研发的消息服务),那么在多用户进行群组交互时,不同的用户所用终端可能基于自身系统版本调用的消息服务提供者不同,此时,群组聊天功能就无法实现消息共享。
54.为此,为保证不同版本的显示设备相互兼容,实现消息共享,本技术提供一种服务器,在实现群组交互不同用户终端连接不同消息服务提供商时,群组交互消息实现共享,即实现消息迁移,使得同一群组中调用不同消息服务提供商的用户之间可以实现消息交互。
55.图5示出了根据一些实施例的消息共享方法的流程图;图6示出了根据一些实施例的消息共享方法的一种交互图。本发明实施例提供一种服务器,包括:控制器,在执行图5和图6所示的消息共享方法时,控制器被配置为执行下述步骤:
56.s1、响应于第一终端用户发送的用于与第二终端用户进行群组交互的群组创建请求,调用第一消息服务创建第一群组,以及,调用第二消息服务创建第二群组,第一群组和第二群组具有相同的id标识。
57.显示设备的设备主页中展示有放映厅创建按钮,用户触发放映厅创建按钮,即可创建一个放映厅业务。放映厅业务包括用于播放影片的业务房间和消息房间,业务房间用于实现影片的播放,消息房间用于本端用户邀请其他用户共同观看业务房间播放的电影,以及,各用户之间进行群组交流。
58.第一终端向服务器发送创建放映厅请求,创建放映厅业务,然后基于创建的放映厅业务的标识创建聊天室业务,放映厅业务和聊天室业务一一对应。可选的,在创建放映厅的过程中创建聊天室。当创建放映厅业务完成后,第一终端的视频播放界面显示编码图形,该编码图形用于使移动终端通过扫码的方式访问聊天室业务。可选的,编码图形可为二维码,但不局限于二维码。
59.图7示出了根据一些实施例的放映厅的示界面意图。参见图7,在该界面可进行放映厅名称的设置或修改、添加视频播放的影片、邀请好友等操作。用户触发“添加影片”按钮即可选择目标影片并进入业务房间,实现目标影片的播放。用户触发“邀请好友”按钮,则请求im系统创建聊天室(消息房间),并返回至放映厅。本端用户可邀请至少一个用户进入消息房间,同时被邀请的用户所用终端的界面中也呈现该放映厅的信息。邀请信息中包括放映厅id,以表征用户需进入的业务房间和消息房间的放映厅来源。例如,在对端终端界面中呈现播放目标影片的业务房间所处界面,在对端终端界面中呈现消息房间所处界面,在消息房间内,各个用户可基于共同观看的目标影片进行消息交互。
60.在一些实施例中,在放映厅业务进行影片播放时,接收用户启动聊天室业务的指
令;根据放映厅业务的唯一标识获取聊天室业务的信息;根据聊天室业务信息生成并显示用于表征所述聊天室业务地址的编码图形。
61.在一些实施例中,当第一终端成功建立聊天室后,根据聊天室信息生成编码图形。聊天室信息包括url地址、第一终端的设备信息和聊天室id,设备信息中包含第一显示设备的显示设备id,显示设备id用于将小程序账号跟显示设备做绑定使用。
62.当第二终端接收到邀请信息,若接受邀请,则第二终端向服务器发送加入放映厅请求,加入放映厅请求中包括放映厅id,服务器在接收到第二终端发送的加入放映厅请求时,确定第二终端是否符合加入放映厅的条件。在本技术一些实施例中,同一时刻一个用户加入的放映厅数量有限,如一个;放映厅内同一时刻允许在线人数有限,如200个。加入放映厅的条件包括目前已加入放映厅的数量以及待加入放映厅内当前在线用户数量是否已满等,若是第二终端目前已加入的放映厅数量在允许范围内且待加入放映厅内当前在线用户数量也未满等,则第二终端符合加入放映厅的条件。当第二终端符合加入放映厅的条件,服务器允许第二终端加入放映厅;否则,直接返回业务错误代号至第二终端,并给第二终端用户相应的提示和指引。
63.当第二终端接受第一终端的邀请成功加入放映厅,服务器根据第一终端上某一媒资的视频播放进度向第二终端发送视频流。第二终端接收该视频流,进行与第一终端同步播影,进而第一终端用户与第二终端用户可以进行同步观影。可选的,第一终端向服务器发送视频播放进度。如,第一终端向服务器定期发送视频播放进度,服务器纠正放映厅内所有第二终端的视频播放进度,保证放映厅内所有显示设备可同步播放视频,进而保证放映厅内用户可同步观影。
64.本端创建放映厅的用户和被邀请的用户所用终端均可为手机,也可为显示设备。在各个用户基于同一放映厅业务进行影片观看和消息交互时,需先判断各个用户所用终端的系统版本是否相同。如果各个用户所用终端的系统版本相同,则各个用户可在同一消息房间内直接实现群组交互;如果各个用户所用终端的系统版本不相同,说明各个用户所用终端所调用的消息服务提供商不同。那么为便于连接不同消息服务提供商的各个用户能够依然实现群组交互,本技术可基于不同消息服务提供商创建基于同一放映厅的多个群组。
65.在终端用户需要与其他终端用户基于同一放映厅进行群组交互时,本端用户触发放映厅界面中显示的“邀请好友”按钮时,基于第一终端用户的账号、群组名称、用户id、消息服务提供商、群组id等信息产生群组创建请求,以创建用于实现第一终端用户与第二终端用户的群组聊天。其中,第一终端用户为创建群组聊天的终端用户(本端用户),第一终端用户所用的显示设备为第一终端;第二终端用户为加入该群组以与第一终端用户进行群组交互的其他终端用户,第二终端用户所用的显示设备为第二终端。
66.为实现基于同一放映厅中各个不同用户所用终端连接的多消息服务提供商下的群组消息交互,本技术可基于不同的消息服务提供商创建不同的群组,不同的群组调用不同的消息服务进行创建。因此,在第一终端用户产生群组创建请求后,可基于第一终端将该群组创建请求发送至服务器,以由服务器实现群组的创建。
67.服务器在接收到来自第一终端的群组创建请求后,可基于不同的消息服务提供商创建对应的群组,调用第一消息服务创建第一群组v1,以及,调用第二消息服务创建第二群组v2。其中,第一消息服务可为第三方消息服务提供商和自研消息提供商中的任一个,第二
消息服务可为第三方消息服务提供商和自研消息提供商中的另一个。
68.例如,服务器可调用第三方消息服务提供商创建第一群组v1,调用自研消息服务提供商创建第二群组v2,或者,服务器可调用自研消息服务提供商创建第一群组v1,调用第三方消息服务提供商创建第二群组v2。
69.为保证第一终端用户创建的群组中,各个连接不同消息服务提供商的终端用户的消息能够共享,可为第一群组和第二群组配置相同的id标识,以表征第一群组和第二群组为具有关联关系的群组。
70.第一群组和第二群组除具有可表征二者为具有关联关系的群组的id标识之外,分别具有各自的群组标签,以区分第一群组和第二群组。第一群组添加有第一标签,第二群组添加有第二标签,以通过标签来表明产生交互消息的终端用户来自哪一群组,而接收交互消息的终端用户来自哪一群组,即区分发送交互消息的终端用户和接收交互消息的终端用户。
71.第一群组和第二群组虽然从群组数量上来看是两个群组,但这两个群组(v1、v2)中的各个用户从表面上看是在一个群组(即第一终端用户操作其创建的放映厅业务提供的“邀请好友”按钮创建的群组)内,因此,为保证两个群组v1、v2之间消息交互,为第一群组和第二群组配置表征二者具有关联关系的id标识,以建立第一群组和第二群组的关联性。
72.在一些实施例中,第一群组v1和第二群组v2基于同一放映厅下的同一消息房间存在。在基于第一终端用户的操作创建群组时,服务器可在接收第一终端发送的群组创建请求后,同时基于各个消息服务提供商预先创建第一群组v1和第二群组v2。服务器创建的群组数量与不同显示设备调用的消息服务提供商的种类相同,如果存在三种消息服务提供商,则同步对应创建三个群组v1、v2、v3。而后进行群组交互时,第一终端用户和第二终端用户可分别基于所采用的显示设备调用的消息服务提供商加入对应的群组(v1、v2)中,实现群组交互。
73.在一些实施例中,在服务器同时预先创建第一群组v1和第二群组v2时,可直接基于第一终端的系统版本信息,调用对应的第一消息服务,以创建第一群组v1。创建成功后第一终端用户加入第一群组v1,以及,同样调用第一消息服务的终端用户也加入第一群组v1。在完成第一群组v1创建后,再基于其余消息服务提供商创建对应的第二群组v2。在有同样调用第二群组v2对应的消息服务提供商的终端时,该终端用户加入第二群组v2。
74.在一些实施例中,在基于第一终端用户的操作创建群组时,服务器可在接收第一终端发送的群组创建请求后,先调用第一终端连接的消息服务提供商创建对应的第一群组v1,创建成功后,第一终端用户加入第一群组v1中。在第二终端用户基于放映厅id加入对应的聊天群组时,再调用第二终端连接的消息服务提供商创建对应的第二群组v2,创建成功后,第二终端用户加入第二群组v2中。
75.为确定不同的显示设备所调用的消息服务提供商,可基于不同显示设备的系统版本信息进行判断。因此,在服务器基于不同终端用户实时创建对应的群组时,控制器在执行调用第一消息服务创建第一群组,以及,调用第二消息服务创建第二群组,被进一步配置为执行下述步骤:
76.步骤11、响应于群组创建请求,获取第一终端用户所用第一终端的第一系统版本信息,调用第一系统版本信息对应的第一消息服务,创建第一群组。
77.步骤12、响应于第二终端用户发送的用于加入第一群组的加入请求,获取第二终端用户所用第二终端的第二系统版本信息。
78.步骤13、如果第二系统版本信息对应的第二消息服务与第一系统版本信息对应的第一消息服务不一致,则调用第二系统版本信息对应的第二消息服务,创建第二群组。
79.步骤14、为第一群组和第二群组分别配置相同的id标识,id标识用于表征第一群组和第二群组为具有关联关系的群组。
80.由于不同的终端之间、不同的显示设备之间对应的系统版本可能不同,而不同的系统版本可支持的消息服务也会不同,因此,可基于不同显示设备的系统版本信息来确定对应显示设备所调用的消息服务提供商,进而再基于调用的消息服务提供商创建对应的群组。
81.在第一终端用户操作第一终端产生群组创建请求并发送至服务器后,服务器接收到该群组创建请求,获取第一终端的第一系统版本信息。第一系统版本信息中包括系统版本、消息服务id等信息。因此,服务器可基于第一系统版本信息确定第一终端所调用的消息服务提供商。
82.在基于第一系统版本信息确定第一终端调用的消息服务提供商为第一消息服务时,服务器即可调用第一消息服务(即第一终端调用的消息服务提供商)创建第一群组。在完成第一群组群组创建后,第一终端用户加入第一群组v1中,同时,其他同样调用第一消息服务的终端用户也加入第一群组v1。第一消息服务为第一消息服务可为第三方消息服务提供商和自研消息提供商中的任一个。
83.在第一终端用户基于第一终端创建群组后,其他终端用户即可基于群组名称加入该群组。那么,在第二终端用户加入该群组时,产生加入请求,发送至服务器。服务器接收到第二终端发送的加入请求,获取第二终端的第二系统版本信息。
84.如果第二终端调用的消息服务提供商与第一终端调用的消息服务提供商相同,那么第一终端用户和第二终端用户可直接基于已经创建的第一群组v1进行群组交互。此时,第一终端用户和第二终端用户均加入第一群组v1中,无需消息转发即可实现消息共享。
85.如果第二终端调用的消息服务提供商与第一终端调用的消息服务提供商不相同,那么为保证两端用户能够进行交互,则需要再创建一个匹配的第二群组。此时,服务器即可基于第二终端的第二系统版本信息确定第二终端所调用的消息服务提供商。
86.在基于第二系统版本信息确定第二终端调用的消息服务提供商为第二消息服务时,服务器即可调用第二消息服务(即第二终端调用的消息服务提供商)创建第二群组。在完成第二群组群组创建后,第二终端用户加入第二群组v2中,同时,其他同样调用第二消息服务的终端用户也加入第二群组v2。第二消息服务可为第三方消息服务提供商和自研消息提供商中的另一个。
87.为保证两个群组v1、v2之间消息交互,为第一群组和第二群组分别配置表征二者具有关联关系的id标识,以建立第一群组和第二群组的关联性;同时,分别为第一群组和第二群组配置对应的标签,以区分交互消息的来源方和送达方。具有相同id标识的两个群组中的各终端用户之间可进行消息共享。同一群组中,各个终端显示设备所调用的消息服务提供商相同。
88.在一些实施例中,在各个终端用户加入第一群组中后,为便于每个第一终端用户
接收消息,可由各自的第一终端订阅第一消息服务的第一群组消息。那么在第一消息服务接收到来自第一群组中一个终端用户的交互消息后,可将该交互消息转发至第一群组中的其他各个终端用户,使得第一群组中的各个终端用户实现消息共享。
89.同样的,在各个终端用户加入第二群组中后,为便于每个第二终端用户接收消息,可由各自的第二终端订阅第二消息服务的第二群组消息。那么在第二消息服务接收到来自第二群组中一个终端用户的交互消息后,可将该交互消息转发至第二群组中的其他各个终端用户,使得第二群组中的各个终端用户实现消息共享。
90.在一些实施例中,订阅群组信息的实现方式可为由终端调用消息服务提供商的接口,基于消息服务提供商的协议,实现消息的发送和接收。后续虚拟用户订阅各个消息服务提供商的群组消息的实现方式也可参照此方式,不再赘述说明。
91.s2、创建用于实现消息转发的虚拟用户,虚拟用户分别加入第一群组和第二群组。
92.由于第一群组和第二群组的id标识相同,表面上各个终端用户同处于一个群组中,即从各终端用户所感知角度处于同一个群组中,但实际上消息的流转是在不同群组之间。因此,为保证两个群组v1、v2中的各个终端用户之间可以进行消息交互,服务器在创建第一群组和第二群组之后,同步创建用于实现消息转发的虚拟用户。
93.在创建虚拟用户时,获取已创建群组的群组信息,群组信息包括各个群组的群组id、群组名称、各个消息服务提供商、用户id、标签等信息。基于群组信息,创建虚拟用户。
94.在一些实施例中,虚拟用户的创建时机可为在创建群组时同步创建,也可在群组创建完毕后,再进行创建。
95.在一些实施例中,如果服务器采用同时预先创建第一群组v1和第二群组v2的方式创建群组时,则服务器在创建虚拟用户的时机为与创建第一群组v1和第二群组v2同时创建,或者,在完成第一群组v1和第二群组v2创建后再创建,此时,获取的群组信息为第一群组和第二群组对应的总群组信息。在虚拟用户创建完成后,虚拟用户分别加入第一群组v1和第二群组v2。
96.在一些实施例中,如果服务器采用先基于第一终端调用的消息服务提供商创建对应的第一群组v1,在第二终端用户加入时再创建第二群组v2的实时方式创建群组时,则服务器在创建虚拟用户的时机为与创建第一群组v1同时创建,或者,在完成第一群组v1创建后再创建,此时,获取的群组信息为第一群组的群组信息。在虚拟用户完成创建后,先加入第一群组v1,在第二群组v2完成创建后,再加入第二群组v2。
97.虚拟用户相当于消息转发系统,用于实现各个群组(v1、v2)间的消息转发。因此,虚拟用户需分别加入第一群组和第二群组,即虚拟用户即是第一群组中的用户,也是第二群组中的用户。
98.虚拟用户通过订阅各个消息服务提供商的消息来实现群组间的消息转发,即虚拟用户需同时订阅第一消息服务的第一群组消息和第二消息服务的第二群组消息。虚拟用户通过订阅第一消息服务提供方的消息,可以接收到连接到第一消息服务提供方的所有群组内用户发送的消息;同样的,虚拟用户通过订阅第二消息服务提供方的消息,可以接收到连接到第二消息服务提供方的所有群组内用户发送的消息。
99.s3、在第一终端用户加入第一群组,第二终端用户加入第二群组时,将所述第一终端用户基于第一群组产生的交互消息通过所述虚拟用户转发至第二群组,所述第二群组中
的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息。
100.在完成对应不同消息服务提供商的群组和虚拟用户的创建后,第一终端用户即可获得其创建的放映厅id对应的群组,那么其他终端用户即可基于放映厅id对应的群组信息加入到该群组中,以与第一终端用户实现群组交互。
101.由于放映厅id对应的群组包括适用于连接不同消息服务提供商的群组,那么在确定每个终端用户所能加入的群组时,可基于终端用户所使用终端调用的消息服务提供商来确定。因此,控制器在确定第一终端用户加入第一群组,第二终端用户加入第二群组时,被进一步配置为执行下述步骤:
102.步骤311、获取第一终端用户所用第一终端调用的目标消息服务,以及,第二终端用户所用第二终端调用的目标消息服务。
103.步骤312、如果第一终端调用的目标消息服务与第一消息服务一致,则确定第一终端用户加入第一群组。
104.步骤313、如果第二终端调用的目标消息服务与第二消息服务一致,则确定第二终端用户加入第二群组。
105.在第一终端用户和第二终端用户加入各个群组时,基于第一终端的第一系统版本信息,确定第一终端用户所用第一终端调用的目标消息服务,以及,基于第二终端的第二系统版本信息,确定第二终端用户所用第二终端调用的目标消息服务。
106.将各个终端的目标消息服务与每个群组对应的消息服务提供商进行对比,如果存在匹配一致的情况,则将匹配一致的终端用户加入对应的群组。例如,如果第一终端调用的目标消息服务与第一消息服务一致,则确定第一终端用户加入第一群组;如果第二终端调用的目标消息服务与第二消息服务一致,则确定第二终端用户加入第二群组。
107.在各个终端用户分别加入第一群组或第二群组后,各个终端用户即可在本端用户创建的放映厅中进行交互。各个群组之间的消息交互,由虚拟用户进行转发,即在第一终端用户基于第一群组产生的交互消息时,将该交互消息通过虚拟用户转发至第二群组,此时,第二群组中的所有第二终端用户均会接收到第一终端用户基于第一群组产生的交互消息,实现终端用户间的消息共享。
108.具体地,在利用虚拟用户进行消息转发时,控制器在执行将第一终端用户基于第一群组产生的交互消息通过虚拟用户转发至第二群组,被进一步配置为执行下述步骤:
109.步骤321、在第一终端用户基于第一群组产生的交互消息发送至第一消息服务后,接收第一消息服务发送的交互消息,第一消息服务用于将交互消息发送至第一群组中的每一个终端用户。
110.步骤322、利用同时位于第一群组和第二群组的虚拟用户将交互消息转发至第二消息服务,第二消息服务用于将交互消息发送至第二群组,第二群组中的每一个第二终端用户均可接收到交互消息。
111.虚拟用户用于接收来自第一消息服务和第二消息服务的消息,且虚拟用户既位于第一群组中,也位于第二群组中,因此,可通过虚拟用户实现两个群组间各个终端用户产生的消息。
112.图8示出了根据一些实施例的虚拟用户实现消息共享的示意图。参见图8,在各个终端用户基于同一放映厅对应的群组进行交互时,第一终端用户在第一群组内产生交互消
息以及接收来自第二终端用户产生的交互消息,第二终端用户在第二群组内产生交互消息以及接收来自第一终端用户产生的交互消息。
113.再次参见图6,在第一终端用户在第一群组内产生交互消息时,第一终端通过mqtt协议向第一消息服务发送连接请求,以将该交互消息发送至第一消息服务,请求信息中包括群组id、标签、名称、交互消息等信息。由第一消息服务将该交互消息发送至第一群组中的每个终端用户处,使得第一群组中的每个终端用户均可接收到该交互消息。
114.而第一群组中存在用于实现消息转发的虚拟用户,且该虚拟用户还存在在第二群组中,因此,虚拟用户在接收到第一消息服务发送的交互消息后,将该交互消息转发至第二消息服务。第二消息服务将虚拟用户转发过来的交互消息发送至第二群组,使得第二群组中的每一个第二终端用户均可接收到交互消息。至此完成一次交互消息从第一群组至第二群组的转发,实现同一放映厅对应的各个群组中各个终端用户的消息共享。
115.通过标签可获知产生交互消息的终端用户来自哪个群组,若虚拟用户接收到的交互消息中携带第一标签,则确定产生交互消息的终端用户来自第一群组,进而可以确定该交互消息需转发至第二群组,以避免虚拟用户将来自第一群组的交互消息再次转发至第一群组。
116.图9示出了根据一些实施例的消息共享方法的另一种交互图。参见图9,在第二终端用户在第二群组内产生交互消息时,第二终端通过mqtt协议向第二消息服务发送连接请求,以将该交互消息发送至第二消息服务,请求信息中包括群组id、标签、名称、交互消息等信息。由第二消息服务将该交互消息发送至第二群组中的每个终端用户处,使得第二群组中的每个终端用户均可接收到该交互消息。
117.而第二群组中存在用于实现消息转发的虚拟用户,且该虚拟用户还存在在第一群组中,因此,虚拟用户在接收到第二消息服务发送的交互消息后,将该交互消息转发至第一消息服务。第一消息服务将虚拟用户转发过来的交互消息发送至第一群组,使得第一群组中的每一个第一终端用户均可接收到交互消息。至此完成一次交互消息从第二群组至第一群组的转发,实现同一放映厅对应的各个群组中各个终端用户的消息共享。
118.在一些实施例中,由于虚拟用户同属于两个群组v1、v2中,且虚拟用户可同时接收到来自两个消息服务的消息,那么在虚拟用户将一个群组消息转发至另一个群组时,仍可再次接收另一个群组发送的交互消息。例如,虚拟用户接收到第一消息服务发送的交互消息转发至第二消息服务后,在第二消息服务向第二群组发送时,虚拟用户仍会二次接收到该交互信息。如果虚拟用户再次将交互信息转发至第一群组,则将会导致第一群组中的终端用户接收到两次交互信息,造成混乱。
119.因此,为避免出现交互消息重复转发的情况,虚拟用户在接收到交互消息后,可为该交互消息添加虚拟标识参数。因此,控制器被进一步配置为执行下述步骤:
120.步骤331、在利用虚拟用户将交互消息转发至第二消息服务时,为交互消息添加虚拟标识参数,虚拟标识参数用于表征虚拟用户已基于交互消息执行过转发动作。
121.步骤332、如果虚拟用户接收到带有虚拟标识参数的交互消息,则不对带有虚拟标识参数的交互消息进行二次转发。
122.在一些实施例中,在第一群组中的消息通过第一消息服务被虚拟用户接收到时,为该交互消息添加虚拟标识参数,而后将该带有虚拟标识参数的交互消息转发至第二消息
服务。在第二消息服务将该带有虚拟标识参数的交互消息发送至第二群组时,虚拟用户再次接收到该带有虚拟标识参数的交互消息。
123.由于带有虚拟标识参数的交互消息表征该交互消息已执行过转发动作,因此,虚拟用户在识别到虚拟标识参数后,不再将该交互消息转发至第一消息服务。
124.在一些实施例中,在第二群组中的消息通过第二消息服务被虚拟用户接收到时,为该交互消息添加虚拟标识参数,而后将该带有虚拟标识参数的交互消息转发至第一消息服务。在第一消息服务将该带有虚拟标识参数的交互消息发送至第一群组时,虚拟用户再次接收到该带有虚拟标识参数的交互消息。
125.由于带有虚拟标识参数的交互消息表征该交互消息已执行过转发动作,因此,虚拟用户在识别到虚拟标识参数后,不再将该交互消息转发至第二消息服务。
126.在一些实施例中,在第一终端为显示设备时,第一群组中第一终端用户产生的交互消息可为显示设备预置的消息和图片等,此时,若第二终端为显示设备,则第二终端呈现的放映厅界面中在播放对应的影片同时,接收到的第一终端用户产生的交互信息以弹幕的形式呈现在第二终端的界面中。若第二终端为手机等智能终端,则第二终端呈现的放映厅界面中分为两部分,上部分播放对应的影片,下部分展示聊天窗口。
127.在一些实施例中,在第一终端为手机等智能终端时,第一群组中第一终端用户产生的交互消息可为手机预置的文本、表情和图片等消息,也可由用户手动编辑输入,预置消息的发送可参照显示设备端,此处不进行赘述。在第一终端用户通过手机进行编辑输入时,其产生的交互消息中携带编辑标记,并发送至第二终端用户。此时,若第二终端为显示设备,则第二终端呈现的放映厅界面中仅播放对应的影片,而接收到的第一终端用户产生的交互信息不进行展示。若第二终端为手机等智能终端,则第二终端呈现的放映厅界面中分为两部分,上部分播放对应的影片,下部分展示聊天窗口。
128.在一些实施例中,显示设备端用户可通过手动编辑方式产生交互消息,以及,显示设备端可展示来自手机端的交互消息,例如以弹幕的形式呈现在显示设备端的界面中。
129.可见,本发明实施例提供的一种服务器,在接收到第一终端用户发送的群组创建请求后,调用第一消息服务创建第一群组,调用第二消息服务创建第二群组,创建用于实现消息转发的虚拟用户,并为第一群组和第二群组配置相同的id标识,虚拟用户分别加入第一群组和第二群组。在第一终端用户基于第一群组产生的交互消息后,通过虚拟用户转发至第二群组,第二群组中的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息,实现消息共享。可见,该服务器可基于不同的消息服务创建对应的群组,各终端用户基于系统版本加入对应的群组,使得连接不同消息服务的终端用户之间实现消息共享,避免各终端用户仅通过一种消息服务才能实现群组内消息交互的弊端,用户体验更好。
130.图5示出了根据一些实施例的消息共享方法的流程图。参见图5,本发明实施例提供的一种消息共享方法,由前述实施例提供的服务器中的控制器执行,所述方法包括:
131.s1、响应于第一终端用户发送的用于与第二终端用户进行群组交互的群组创建请求,调用第一消息服务创建第一群组,以及,调用第二消息服务创建第二群组,所述第一群组和第二群组具有相同的id标识;
132.s2、创建用于实现消息转发的虚拟用户,所述虚拟用户分别加入第一群组和第二群组;
133.s3、在第一终端用户加入第一群组,第二终端用户加入第二群组时,将所述第一终端用户基于第一群组产生的交互消息通过所述虚拟用户转发至第二群组,所述第二群组中的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息。
134.本技术一些实施例中,所述调用第一消息服务创建第一群组,以及,调用第二消息服务创建第二群组,包括:
135.响应于群组创建请求,获取所述第一终端用户所用第一终端的第一系统版本信息,调用所述第一系统版本信息对应的第一消息服务,创建第一群组;
136.响应于第二终端用户发送的用于加入第一群组的加入请求,获取所述第二终端用户所用第二终端的第二系统版本信息;
137.如果所述第二系统版本信息对应的第二消息服务与所述第一系统版本信息对应的第一消息服务不一致,则调用所述第二系统版本信息对应的第二消息服务,创建第二群组;
138.为所述第一群组和第二群组分别配置相同的id标识,所述id标识用于表征第一群组和第二群组为具有关联关系的群组。
139.本技术一些实施例中,所述将所述第一终端用户基于第一群组产生的交互消息通过所述虚拟用户转发至第二群组,包括:
140.所述虚拟用户用于接收来自第一消息服务和第二消息服务的消息;
141.在所述第一终端用户基于第一群组产生的交互消息发送至第一消息服务后,接收第一消息服务发送的交互消息,所述第一消息服务用于将交互消息发送至第一群组中的每一个终端用户;
142.利用同时位于第一群组和第二群组的所述虚拟用户将所述交互消息转发至第二消息服务,所述第二消息服务用于将所述交互消息发送至第二群组,所述第二群组中的每一个第二终端用户均可接收到所述交互消息。
143.本技术一些实施例中,所述方法还包括:
144.在利用所述虚拟用户将所述交互消息转发至第二消息服务时,为所述交互消息添加虚拟标识参数,所述虚拟标识参数用于表征所述虚拟用户已基于所述交互消息执行过转发动作;
145.如果所述虚拟用户接收到带有虚拟标识参数的交互消息,则不对所述带有虚拟标识参数的交互消息进行二次转发。
146.本技术一些实施例中,在确定第一终端用户加入第一群组,第二终端用户加入第二群组时,包括:
147.获取所述第一终端用户所用第一终端调用的目标消息服务,以及,所述第二终端用户所用第二终端调用的目标消息服务;
148.如果所述第一终端调用的目标消息服务与第一消息服务一致,则确定所述第一终端用户加入第一群组;
149.如果所述第二终端调用的目标消息服务与第二消息服务一致,则确定所述第二终端用户加入第二群组。
150.由以上方案可知,本发明实施例提供的一种消息共享方法及服务器,在接收到第一终端用户发送的群组创建请求后,调用第一消息服务创建第一群组,调用第二消息服务
创建第二群组,创建用于实现消息转发的虚拟用户,并为第一群组和第二群组配置相同的id标识,虚拟用户分别加入第一群组和第二群组。在第一终端用户基于第一群组产生的交互消息后,通过虚拟用户转发至第二群组,第二群组中的第二终端用户均可接收到第一终端用户基于第一群组产生的交互消息,实现消息共享。可见,该方法及服务器可在同一放映厅中基于不同的消息服务创建对应的群组,各终端用户基于系统版本加入对应的群组,使得位于同一放映厅的连接不同消息服务的终端用户之间实现消息共享,避免各终端用户仅通过一种消息服务才能实现群组内消息交互的弊端,用户体验更好。
151.具体实现中,本发明还提供一种存储介质,其中,该存储介质可存储有程序,该程序执行时可包括本发明提供的消息共享方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
152.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等。
153.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于消息共享方法实施例而言,由于其基本相似于服务器实施例,所以描述的比较简单,相关之处参见服务器实施例中的说明即可。
154.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
155.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1