一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

直播联运数据同步的方法、服务器集群及存储介质与流程

2022-07-10 12:24:56 来源:中国专利 TAG:


1.本技术涉及数据同步技术领域,特别是涉及直播联运数据同步的方法、服务器集群及存储介质。


背景技术:

2.随着互联网技术的飞速发展,人们通过互联网的娱乐方式也逐渐丰富,其中,直播成为了人们通过互联网娱乐的一种重要方式。在直播过程中,主播在主播端进行表演,用户可以在观众端对主播的表演进行观看,也可以通过观众端跟主播进行互动。
3.由于直播平台众多,为了让主播在直播平台开播时,能够在其他平台播放该主播的直播画面,需要在其他平台和直播平台之间进行数据的联运,但是,直播中的数据量会比较大,在现有的直播联运技术中,不同平台之间数据同步容易出现故障,稳定性和可靠性较差。


技术实现要素:

4.本技术主要解决的技术问题是提供直播联运数据同步的方法、服务器集群及存储介质,能够提高直播联运过程中数据同步的稳定性和可靠性。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供一种直播联运数据同步的方法,包括:在同步服务器集群中确定用于执行同步的目标服务器,其中,同步服务器集群包括至少两组服务器组,每组服务器组包括以集群结构部署的至少两台服务器;获取与目标服务器所属的服务器组对应的当前待同步的直播数据;基于目标服务器向联运服务器同步当前待同步的直播数据。
6.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种服务器集群,服务器集群包括至少两组服务器组,每组服务器组包括以集群机构部署的至少两台服务器,服务器包括处理器、存储器和通信电路;存储器和通信电路耦接处理器,存储器存储有计算机程序,处理器能够执行计算机程序以实现如上述本技术提供的直播联运数据同步的方法。
7.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种计算机可读的存储介质,该存储介质存储有计算机程序,计算机程序能够被处理器执行以实现如上述本技术提供的直播联运数据同步的方法。
8.本技术的有益效果是:区别于现有技术的情况,在同步服务器集群中确定用于执行同步的目标服务器,由于同步服务器集群包括至少两组服务器组,不同的服务器组各自对应有相应的待同步的直播数据,并且每组服务器组包括以集群结构部署的至少两台服务器,当同一服务器组的某一个服务器发生故障或者无法执行同步时,可以将同一服务器组的其他服务器确定为目标服务器以执行同步,然后获取与目标服务器所属的服务器组对应的当前待同步的直播数据,基于目标服务器向联运服务器同步相应的当前待同步的直播数据,如此通过同步服务器集群部署不同的服务器组各自对应相应的待同步的直播数据,即
便直播数据量较大,不同的服务器组能够分担各自的待同步的直播数据,减少各服务器组的数据处理压力,能够提高整个联运系统的稳定性,而且在每个服务器组的集群结构部署的至少两个服务器内确定目标服务器进而对该服务器组对应的待同步的直播数据向联运服务器进行同步,能够减少单服务器的故障引起整个联运系统的不可用,实现高可用,进而有效地提高直播联运过程中的稳定性和可靠性。
附图说明
9.图1是本技术直播联运系统实施例的系统组成示意图;
10.图2是本技术直播联运数据同步的方法实施例的流程示意图;
11.图3是本技术直播联运数据同步的方法实施例的同步服务器集群组成示意图;
12.图4是本技术直播联运数据同步的方法实施例的时序示意图;
13.图5是本技术直播联运数据同步的方法实施例中各场景的示意图;
14.图6是本技术服务器集群实施例的电路结构示意图;
15.图7是本技术计算机可读的存储介质实施例的电路结构示意图。
具体实施方式
16.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
17.随着直播行业的不断发展,各种能够进行直播的平台也逐渐兴起。由于每个用户所使用的观看直播的平台不同,以及主播进行直播的平台也不相同,如果主播的直播仅在一个平台进行播放,则用户无法通过其他平台进行观看,主播的曝光度和流量就比较局限。为了提高主播的曝光度以及流量,可以将主播在直播平台的直播数据分发到其他平台,以增加主播的曝光度和流量,这就是直播平台和其他平台之间的联运,如此户能够在另一个平台观看主播的直播,或者直接进入到主播的直播间,也有利于提高用户粘性。
18.发明人经过长期研究发现,在直播联运过程中,双方平台均为单个服务器的数据业务方式,也就是通过一方的服务器执行同步任务,将需要同步的数据同步到另一方的服务器中,由于在执行同步的过程中,随着业务发展,同时直播中的数据量也会很大,仅依靠单个服务器执行,当该服务器发生故障时,则会导致整个联运不可用,即无法实现直播联运。为了改善上述技术问题,本技术提出以下实施例。
19.如图1所示,本技术直播联运系统实施例可以包括同步服务器集群100、直播服务器300以及联运服务器400。当主播在直播过程中,直播服务器300可以对直播过程中产生的直播数据进行存储和管理。通过同步服务器集群100可以将直播服务器300中的直播数据同步给联运服务器400,从而使得联运服务器400也能够同步播放与直播服务器300中的主播在直播过程中相同的画面,从而使得用户能够通过用户端在不同的平台中观看到相同直播画面。
20.同步服务器集群100可以是指包括至少两组服务器组,每组服务器组包括以集群结构部署的至少两台服务器。集群结构可以认为是单机的多实例,可以通过多个服务器部
署形成多个服务节点,多个服务节点可以针对于同一业务,在一个处理过程中只有一个服务器点处理该业务,而其他服务节点可以作为备份服务节点。在处理业务的服务节点出现故障后,那么其他备份服务节点可以处理业务。集群结构进一步可以为分布式集群结构。
21.直播服务器300可以是指业务方用于进行直播的服务器,直播服务器300中存储有在该平台正在进行直播的所有主播产生的所有直播数据,管理人员可以通过直播服务器300对直播进行秩序管理和流量分配等工作。
22.联运服务器400可以是指联运方用于同步业务方的直播数据的服务器。通过同步服务器集群100将直播服务器300中的直播数据同步到联运服务器400中,联运服务器400在接收到直播数据后,能够在联运方播放与业务方相同的直播画面。也就是说,用户可以在不同的平台观看到主播的直播画面,一方面能够增加主播的曝光度和流量,另一方面,也能够提高用户粘性。
23.本技术直播联运数据同步的方法实施例可以应用于上述直播联运系统实施例描述的直播联运系统,本实施例以同步服务器集群100为执行视角,可以包括:s100:在同步服务器集群中确定用于执行同步的目标服务器。s200:获取与目标服务器所属的服务器组对应的当前待同步的直播数据。s300:基于目标服务器向联运服务器同步当前待同步的直播数据。
24.在同步服务器集群100中确定用于执行同步的目标服务器,由于同步服务器集群100包括至少两组服务器组,不同的服务器组各自对应有相应的待同步的直播数据,并且每组服务器组包括以集群结构部署的至少两台服务器,当同一服务器组的某一个服务器发生故障或者无法执行同步时,可以将同一服务器组的其他服务器确定为目标服务器以执行同步,然后获取与目标服务器所属的服务器组对应的当前待同步的直播数据,基于目标服务器向联运服务器400同步相应的当前待同步的直播数据,如此通过同步服务器集群100部署不同的服务器组各自对应相应的待同步的直播数据,即便直播数据量较大,不同的服务器组能够分担各自的待同步的直播数据,减少各服务器组的数据处理压力,能够提高整个联运系统的稳定性,而且在每个服务器组的集群结构部署的至少两个服务器内确定目标服务器进而对该服务器组对应的待同步的直播数据向联运服务器400进行同步,能够减少单服务器的故障引起整个联运系统的不可用,实现高可用,进而有效地提高直播联运过程中的稳定性和可靠性。
25.本实施例描述的方法可应用于直播联运场景中,以下对本实施例以同步服务器集群100为执行主体进行详细描述。
26.如图2所示,本实施例可以包括如下步骤:
27.s100:在同步服务器集群中确定用于执行同步的目标服务器。
28.同步服务器集群100可以是指包括至少两组服务器组,每组服务器组包括以集群结构部署的至少两台服务器。举例来说,如图3所示,同步服务器集群100可以包括n个机房,每个机房中有m台服务器,对每个机房中的服务器从1、2...m进行标识,每个机房中标识相同的服务器作为一个服务器组,并通过第一组号对服务器组进行划分,其中第一组号与对服务器进行标识过程中的号相对应,比如,每个机房中标识都为1的服务器对应的服务器组的第一组号为1。通过多机房重复分组,保证每个服务器中的数据都会有位于同一服务器组中的其他服务器进行备份,从而保证联运过程的可用性和可靠性。
29.目标服务器可以是用于执行同步的服务器,也就是在直播联运的过程中,通过目标服务器将业务方(例如直播平台)的直播数据同步到联运方(例如联运平台)的联运服务器400,从而使得联运方能够播放与业务方相同的直播画面。例如,同步服务器集群100中的各服务器组的各服务器可以相互竞争的方式或者按照预定的次序等来确定其中用于执行任务的服务器,还是各服务器之间还可以以现有其他技术手段来确定其中用于执行同步任务的服务器,也即目标服务器。
30.在一种实现方式中,对于如何在同步服务器集群100中确定用于执行同步的目标服务器,可以参照s100包括的如下步骤:
31.s110:在同步服务器集群中确定一组服务器组,并在所确定的服务器组中确定一台服务器作为目标服务器。
32.具体地,由于同步服务器集群100可以包括至少两组服务器组,并且每组服务器组包括以集群结构部署的至少两台服务器,因此,在同步服务器集群100中确定用于执行同步的目标服务器,可以先确定出一组服务器组,然后在该服务器组中确定出目标服务器。
33.具体地,对于如何确定出目标服务器,可以参见s110包括的如下步骤:
34.s111:控制每个服务器组内的所有服务器利用同一锁键进行抢锁;其中,不同的服务器组对应不同的锁键。
35.利用同一锁键进行抢锁可以是指通过抢占分布式锁来确定目标服务器。抢占分布式锁可以通过redis主库来实现,控制每个服务器组内的所有服务器去一个地方抢锁。抢锁是要在服务器组之间的竞争,也要进一步在服务器组内的各服务器中竞争。举例来说,当同步服务器集群100中有m个服务器组时,可以给每个服务器组分配一个锁键,即key1、key2...keym,当需要确定目标服务器时,可以通过redis主库中的setnx指令控制各组的锁键进行抢锁,可以根据setnx指令在完成抢锁后的返回值判断是否抢锁成功。比如,当每个服务器组中分布有3个服务器时,如果该组的第一台服务器抢到了锁,那么第一台对应的setnxkey1的返回值为1,第二台对应的setnxkey1的返回值为0,第三台对应的setnxkey1的返回值为0。
36.s112:将抢锁成功的服务器确定为目标服务器。
37.当控制锁键进行抢锁的指令的返回值为1的时候,则可以判定该服务器抢锁成功,将抢锁成功的服务器作为目标服务器。在每一次的抢锁过程中,只有一个服务器能抢到锁成为目标服务器,当目标服务器执行完同步任务后,即释放分布式锁,然后其他的服务器可以继续抢锁以执行同步任务。
38.s200:获取与目标服务器所属的服务器组对应的当前待同步的直播数据。
39.不同的服务器组各自对应有相应的待同步的直播数据。当前待同步的直播数据可以是业务方需要同步给联运方的数据,通过业务方中的目标服务器将当前待同步的直播数据发送给联运服务器400,使得联运服务器400在接受到当前待同步的直播数据后,能够播放与当前待同步的直播数据相应的直播画面以供用户观看。
40.在一种实现方式中,如图4所示,在获取与目标服务器所属服务器组对应的当前待同步的直播数据之前,可以包括如下步骤:
41.s210:获取当前处于直播中的所有直播间的直播数据,并对所有直播间的直播数据分别配置第二组号以进行分组;每个直播间的直播数据的第二组号与相应的服务器组的
第一组号对应。
42.获取当前处于直播中的所有直播间的直播数据可以是从预设的业务服务器中的直播列表中查询正在进行直播的直播间的直播数据,或者是查询可分发到联运服务器400的直播间的直播数据。业务服务器中可以包括提供可分发的直播列表、封面标题维护、黑白名单维护和秩序处罚等。秩序处罚可以是当直播中出现违规,例如吸烟、涉黄或者涉政等场景都会触发秩序处罚。
43.当前待同步的直播数据可以包括基本数据、低频更新数据和高频更新数据。基本数据是在直播过程中不会发生变化的数据,低频更新数据在直播中发生变化的频率低于高频更新数据在直播中发生变化的频率。通过对当前待同步的直播数据进行分组,可以实现不会因为某个节点出现不可预知的故障引起所有数据的同步出现问题,进一步提高联运过程中的可靠性。具体地,可以将uid、主播头像、昵称、等级、分类、标签、直播间号定义为基本数据,将直播间跳转地址、封面、标题、直播流信息定义为低频更新数据,将在线人数、送礼数、评论数、pk状态定义为高频更新数据。具体地,直播流信息可以是一个json格式的字符串,包含了高清和标清等档位的视频流地址,客户端拿到流信息的时候,就可以让观众自己选择用哪个档位观看。
44.当前待同步的直播数据还可以包括频道号、直播间标识号,用户可以根据频道号或者直播间标识号快速在众多直播间中找到对应的直播间。
45.当前待同步的直播数据还可以包括场景控制数据,场景控制数据用于控制当前待同步的直播数据在联运服务器400进行分发的场景。具体地,对于每个联运接入的联运服务器400,可以预先将可分发直播列表场景进行细分成feed场景(scene1)、频道页(scene2)、上下滑(scene3)等各种场景值,如图5所示,图5中a为某平台手机端的feed场景页面,feed场景可以是指需要持续更新并呈现给用户内容的信息流对应的场景例如,当需要将某主播的直播画面推送至feed场景时,即可以将该主播推送到图5中a的推荐栏中的视频1所处的场景中,以提高主播的曝光率。图5中b为某平台手机端的频道页场景,例如可以分为影视频道、颜值频道、音乐频道、搞笑频道等,具体地,可以将主播的直播画面推送到如5中的视频2所处的场景中。图5中c为某平台的上下滑场景,用户可以通过上下滑动来切换所要观看的视频,可以将主播的直播画面推送到如5中的视频3所处的场景中。并且对每个场景值定义一个分发控制的开关,scene=1表示可分发,scene=0表示不可分发。场景值可以是由业务方与联运服务器400在进行联运之前协商确定。在确定当前待同步的直播数据在联运服务器400进行分发的场景时,运营人员可以根据业务服务器中的白名单进行动态调整。通过对每个分发场景进行单独控制,能对每个主播进行更精细化的运营,让中小主播流量的分配更加合理。
46.当前待同步的直播数据还可以包括校验码,校验码是至少利用基本数据、低频更新数据以及场景控制数据编码形成的。
47.对于如何对所有直播间的直播数据分别配置第二组号以进行分组,可以参照s210包括的如下步骤:
48.s211:将所有直播间的直播数据的频道号分别对服务器组的总组数取余数,并将余数与1之和作为各自的第二组号。
49.在对每个直播间的所有直播数据进行分组的过程中,将每个直播间对应的频道号
分别对服务器组的总组数取余数,并将余数与1之和作为各自的第二组号。基于频道号进行分组,能够使同一频道的直播间的所有直播数据在同一个服务器组执行,避免出现一个执行周期在一个服务器组中,另一个执行周期在另一个服务器组中而引起错乱的情况。举例来说,当某个直播间的频道号cid=30879870,并且服务器组的总组数m=3时,第二组号=cid%m 1=30879870%3 1=1,由于每个直播间的直播数据的第二组号与相应的服务器组的第一组号对应,由于该直播数据对应的第二组号为1,则该直播数据对应的服务器组的第一组号也为1。
50.在一种实现方式中,在对所有直播间的直播数据进行分组后,可以参照如下步骤:
51.s220:将所有直播间的直播数据以各自的直播间标识号作为主键写入预设数据库中。
52.主键,可以指一个列或多列的组合,其值能唯一地标识表中的每一行。主键主要是用于与其他表的外键关联,以及文本记录的修改、更新与删除。将所有直播间的直播数据以各自的直播间标识号作为主键写入预设数据库中,在对所有直播间的直播数据进行修改和删除时,可以通过各自的直播间标识号进行操作。
53.在一种实现方式中,对于如何获取与目标服务器所属服务器组对应的当前待同步的直播数据,可以参考s200包括的如下步骤:
54.s230:利用目标服务器所属的服务器组的第一组号在预设数据库中查询并获取相对应的当前待同步的直播数据。
55.在将所有直播间的直播数据写入预设数据库之后,即可在数据库中查询与目标服务器所属服务器组对应的当前待同步的直播数据。具体地,在获取当前待同步的直播数据时,可以利用目标服务器所属的服务器组的第一组号,在预设数据库中查询与第一组号相对应的第二组号对应的直播数据,作为当前待同步的直播数据。举例来说,当目标服务器所属的服务器组的第一组号为1时,在数据库中查询到与第一组号为1对应的第二组号为1的直播数据,并检测该直播数据中的同步状态是否为已停播,如果该直播数据的同步状态不为已停播,则该直播数据即为当前待同步的直播数据。
56.s300:基于目标服务器向联运服务器同步当前待同步的直播数据。
57.在确定用于执行同步的目标服务器以及当前待同步的直播数据后,即可通过目标服务器向联运服务器400同步当前待同步的直播数据,从而实现联运方能够通过联运服务器400接收到的当前待同步的直播数据对直播进行播放,以供观众在联运方也能观看主播在业务方的平台进行的直播。
58.具体地,对于如何基于目标服务器向联运服务器400同步当前待同步的直播数据,可以参见s300包括的如下步骤:
59.s310:获取当前待同步的直播数据的同步状态,通过目标服务器向联运服务器对当前待同步的直播数据进行与同步状态相应的同步操作。
60.同步状态可以是业务方自身进行维护的状态数据,同步状态可以包括待同步、待更新、已同步、待停播和已停播,基于不同的同步状态可以进行相应的同步操作。
61.在一种实现方式中,s310可以包括如下操作步骤:
62.s311:若同步状态为待同步,向联运服务器同步当前待同步的直播数据。
63.当首次从业务服务器中的直播列表拿到当前待同步的直播数据时,也即主播刚开
播,刚开始产生直播数据的时候,此时的同步状态即为待同步。具体地,当同步状态为待同步时,调用联运的创建接口进行同步,当接口返回成功,则说明当前待同步的直播数据已经同步至联运服务器400,此时,将同步状态更新为已同步。
64.s312:若同步状态为待更新,向联运服务器同步当前待同步的直播数据中的低频更新数据。
65.由于在直播过程中的低频更新数据会发生改变,为了能够及时对更新后的数据进行联运,可以每隔预设时间将目标服务器获取到的当前待更新的直播数据与业务服务器的直播列表对应的直播数据中的低频更新数据进行比对,当目标服务器获取到的当前待更新的直播数据中的低频更新数据与业务服务器的直播列表对应的直播数据中的低频更新数据不一致时,此时的同步状态则为待更新。当同步状态为待更新时,则可以调用低频更新接口对低频更新数据进行同步。如果低频更新接口返回成功,则说明当前待同步的直播数据中的低频更新数据已经同步至联运服务器400,此时,将同步状态更新为已同步。
66.s313:若同步状态为待停播,停止向联运服务器同步当前待同步的直播数据。
67.当正在进行直播的主播受到秩序处罚时,则可以将同步状态设置为待停播。此时,可以调用停止接口,停止向联运服务器400同步当前待同步的直播数据。如果停止接口返回成功,则说明已经停止向联运服务器400同步当前待同步的直播数据,此时,将同步状态更新为已停播。
68.在一种实现方式中,将同步状态更新为已停播的情况还可以是目标服务器在从业务服务器中的直播列表中获取直播数据时,发现直播列表中没有直播数据,则可以认为是主播已经停播,此时,则不会产生直播数据,那么直播列表中也不会有直播数据,则可以将同步状态更新为已停播。
69.s314:若同步状态不为已停播,每隔第一预设时间向联运服务器同步当前待同步的直播数据的高频更新数据。
70.由于直播过程中的高频更新数据是改变频率较高的数据,需要以较高的频率向联运服务器400进行联运。因此,当同步状态不为已停播,也就是当主播处于直播的过程中,就可以每隔第一预设时间向联运服务器400同步当前待同步的直播数据的高频更新数据。在同步高频更新数据的过程中,通过调用高频更新接口向联运服务器400同步高频更新数据,如果接口返回成功,则说明已经向联运服务器400同步高频更新数据。举例来说,在主播进行直播过程中,观众会向主播进行送礼以表示对主播的支持,比较受欢迎的主播在直播过程中则会受到较多的礼物,因此,在直播过程中,送礼数则被定为高频更新数据,可以每隔1s调用高频更新接口将送礼数同步到联运服务器400中,从而能够提高联运过程中的及时性和可靠性。通过划分高频更新数据和低频更新数据,并且调用不同的接口,在不同的条件下对高频更新数据和低频更新数据进行同步,能够减少服务之间数据同步的数据量,降低带宽压力,进一步提高联运过程中的稳定性。
71.在一种实现方式中,s310之后可以包括如下步骤:
72.s320:在同步操作成功后对待同步的直播数据的同步状态进行更新。
73.同步操作成功可以是指在调用不同的接口对当前待更新的直播数据进行同步后接口返回成功的情况。基于调用的接口以及同步操作所对应的当前待同步的直播数据,可以对同步状态进行更新。比如,当调用低频更新接口对低频更新数据进行同步时,当接口返
回成功,则可以将同步状态更新为已同步。再如,当调用停止接口停止向联运服务器400同步当前待同步的直播数据时,当接口返回成功,则可以将同步状态更新为已停播。
74.s330:每隔第二预设时间获取联运服务器返回的直播间标识号和校验码,校验码是至少利用基本数据和低频更新数据编码形成的。
75.在业务方向联运服务器400同步成功当前待同步的直播数据后,为了保证联运的准确性,联运方可以与业务方通过约定,对联运的内容进行校对。具体地,联运服务器400在接收到当前待同步的直播数据后,可以将接收到的当前待同步的直播数据中的直播间标识号和校验码发回业务方,业务方可以提供一个接口,接收联运服务器400发回的直播间标识号和校验码。举例来说,联运服务器400可以根据与业务方的约定,每隔5s向业务方发送想要校对的直播间标识号和校验码进行校验。通过定时进行数据校验可以进一步确保联运双方数据的一致性,不会因为中途某次同步失败后,引起联运双方数据不一致,提高联运过程中的准确性。
76.s340:判断联运服务器返回的直播间标识号和校验码与目标服务器的直播间标识号当前对应的校验码是否一致。
77.在接收到联运服务器400发回的直播间标识号和校验码后,将联运服务器400发回的直播间标识号和校验码与业务方中相同的直播间标识号对应的校验码进行比对,判断是否一致。由于校验码是至少利用基本数据和低频更新数据编码形成的,比如,可以将基本数据、场景控制数据和低频更新数据编码成校验码,如果校验码不一致,则可以认为基本数据、场景控制数据和低频更新数据中的至少一者是不一致的。
78.s350:如果不一致,则更新直播间标识号对应的同步状态为待更新,并执行向联运服务器同步当前待同步的直播数据中的低频更新数据。
79.如果不一致,则可以判定在联运过程中出现了同步失败,导致联运双方之间的数据不一致。此时,可以更新从联运服务器400接收到的直播间标识号对应的同步状态为待更新,并执行向联运服务器400通过当前待同步的直播数据中的低频更新数据的同步操作。具体地,执行向联运服务器400通过当前待同步的直播数据中的低频更新数据的同步操作如s312所述,故不再赘述。
80.综上所述,在本实施例的直播联运数据同步的方法中,当需要在业务方和联运方之间进行直播数据联运时,先在业务方预先设置的同步服务器集群100中确定用于执行同步的目标服务器,由于同步服务器集群100中的服务器呈集群结构部署,也就是同一个服务器组的服务器中的数据是相同的,从而能够证每个当前待同步的直播数据都会有备份的多机房服务节点可同步数据,保证联运过程的可用性和可靠性。然后将所有从业务服务器的直播列表中获取到的直播数据的频道号分别对服务器组的总组数取余数,并将余数与1之和作为各自的第二组号,每个直播间的直播数据的第二组号与相应的服务器组的第一组号对应。接着即可基于目标服务器所属的服务器组的第一组号对应的第二组号,确定出目标服务器对应的当前待同步的直播数据,通过调用不同的接口对当前待同步的直播数据根据同步状态进行同步。在完成联运双方直接的直播数据同步后,联运方可以通过直播间标识号和校验码对直播数据进行校验,判断联运服务器400接收到的直播间标识号和校验码与业务方中的直播间标识号和校验码是否一致,如果不一致,则需要再次调用接口对直播数据进行同步。
81.举例来说,当目标服务器对应的服务器组的第一组号为1,某个直播间的频道号cid=30879870,并且服务器组的总组数m=3时,该直播间对应的所有直播数据被划分的第二组号=cid%m 1=30879870%3 1=1,那么根据目标服务器的第一组号,即可在数据库中查询到频道号为cid=30879870的所有直播数据,即该直播间的所有直播数据即为当前待同步的直播数据,如果目标服务器是首次从数据库中获取该直播间的所有直播数据,此时的同步状态则为待同步,调用创建接口,将当前待同步的直播数据同步到联运服务器400,使得联运服务器400能够接收到频道号为cid=30879870的所有直播数据,并按照预先约定的分发场景在联运方对该直播间进行播放,从而实现业务方和联运方之间的联运。
82.如图6所示,本技术服务器集群实施例描述的服务器集群可以是上述中的同步服务器集群100,同步服务器集群100包括处理器110和存储器120。存储器120耦接处理器110。
83.存储器120用于存储计算机程序,可以是ram,也是可以rom,或者其他类型的存储设备。具体地,存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一条程序代码。
84.处理器110用于控制同步服务器集群100的操作,处理器110还可以称为cpu(central processing unit,中央处理单元)。处理器110可能是一种集成电路芯片,具有信号的处理能力。处理器110还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器110也可以是任何常规的处理器等。
85.处理器110用于执行存储器120中存储的计算机程序以实现本技术直播联运数据同步的方法实施例描述的直播联运数据同步的方法。
86.在一些实施方式中,服务器集群100还可以包括:外围设备接口130和至少一个外围设备。处理器110、存储器120和外围设备接口130之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口130相连。具体地,外围设备包括:射频电路140、显示屏150、音频电路160和电源170中的至少一种。
87.外围设备接口130可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器110和存储器120。在一些实施例中,处理器110、存储器120和外围设备接口130被集成在同一芯片或电路板上;在一些其他实施方式中,处理器110、存储器120和外围设备接口130中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
88.射频电路140用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路140通过电磁信号与通信网络以及其他通信设备进行通信。射频电路140将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路140包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路140可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射
频电路140还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
89.显示屏150用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏150是触摸显示屏时,显示屏150还具有采集在显示屏150的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器110进行处理。此时,显示屏150还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施方式中,显示屏150可以为一个,设置在服务器集群100的前面板;在另一些实施方式中,显示屏150可以为至少两个,分别设置在服务器集群100的不同表面或呈折叠设计;在另一些实施方式中,显示屏150可以是柔性显示屏,设置在服务器集群100的弯曲表面上或折叠面上。甚至,显示屏150还可以设置成非矩形的不规则图形,也即异形屏。显示屏150可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emittingdiode,有机发光二极管)等材质制备。
90.音频电路160可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器110进行处理,或者输入至射频电路140以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在服务器集群100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器110或射频电路140的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路160还可以包括耳机插孔。
91.电源170用于为服务器集群100中的各个组件进行供电。电源170可以是交流电、直流电、一次性电池或可充电电池。当电源170包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
92.关于本技术服务器集群实施例中各功能模块或者部件功能和执行过程的详细阐述,可以参照上述本技术直播联运数据同步的方法实施例中的阐述,在此不再赘述。
93.在本技术所提供的几个实施例中,应该理解到,所揭露的服务器集群和背景处理方法,可以通过其它的方式实现。例如,以上所描述的服务器集群各实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
94.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
95.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
96.参阅图7,上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读的存储介质200中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令/计算机程序用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种介质以及具有上述存储介质的电脑、手机、笔记本电脑、平板电脑、相机等服务器集群。
97.关于计算机可读的存储介质中的程序数据的执行过程的阐述可以参照上述本技术直播联运数据同步的方法实施例中阐述,在此不再赘述。
98.以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献