一种分布式推流的方法、装置及系统的制作方法

文档序号:7806928阅读:185来源:国知局
专利名称:一种分布式推流的方法、装置及系统的制作方法
技术领域
本发明涉及数字电视领域,尤其涉及一种分布式推流的方法、装置及系统。
背景技术
VOD (Video On Demand,视频点播)系统是目前广电的核心系统,VOD支持点播、回看、时移等业务。随着省网整合和双向改造完成,VOD系统的规模也越来越大。并发用户数从万级别上升到十万、百万级别。在VOD系统中,SS (Mreaming Server,视频推流服务器) 负责推送音视频流到IPQAM(IP Quadrature Amplitude Modulation,IP正交幅度调制)设备。IPQAM将音视频流调制到电视电缆Cable上,传输到机顶盒终端。十万、百万级并发对 SS系统要求越来越高。如何提高SS整个系统的并发性能、稳定性是各个系统方案、设备提供商的一个难题。传统的SS集群推流方案如图1所示,每台SS自身包含存储或者外部挂接存储设备。音视频媒体数据采用整个文件的方式保存在存储设备中,SS从存储设备中读取文件, 将数据推送到IPQAM设备,再由IPQAM调制成RF(Radio frequency,射频)信号,推送到用户终端(例如机顶盒、数字电视一体机等数字电视接收终端)。但由于用户行为的不规律性,可能导致SS服务集群出现负载不均衡的情况。例如某些SS上,由于其上面分布的节目点播的人数比较多,导致负载很重,其他的SS服务器则比较空闲,负载重的服务器变成了瓶颈。

发明内容
本发明实施例在于提供一种分布式推流的方法、装置及系统,可以通过将视频推流服务器分成推流主控单元和推流执行单元,并通过将文件切成小片,分布到各个存储中, 使负载更均衡。本发明是这样实现的,一种分布式推流的方法,包括推流主控单元接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片;所述推流主控单元向分布式文件系统询问即将推送的切片的位置信息;所述推流主控单元接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元;所述推流主控单元向所述推流执行单元发送推流消息;所述推流执行单元根据所述推流消息,通过内部总线从所述分布式文件系统的存储节点读取所述即将推送的切片数据;所述推流执行单元推送所述即将推送的切片数据。本发明的另一目的在于提供一种视频推流装置,包括推流主控单元,用于接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片,向分布式文件系统询问所述即将推送的切片的位置信息,并接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元,并向对应的推流执行单元发送推流消息;推流执行单元,设置在分布式文件系统的存储节点中,与所述推流主控单元通过网络相连,与所述分布式文件系统的存储节点通过系统内部总线相连,接收所述推流消息, 并根据所述推流消息,通过内部总线从所述分布式文件系统读取即将推送的切片的数据, 推送所述即将推送的切片的数据。本发明的又一目的在于提供一种分布式推流的系统,视频推流装置和分布式文件系统所述视频推流的装置,包括推流主控单元,用于接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片,向所述分布式文件系统询问所述即将推送的切片的位置信息,并接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元,并向对应的推流执行单元发送推流消息;推流执行单元,与推流主控单元相连,并通过内部总线与所述分布式文件系统相连,接收所述推流消息,并根据所述推流消息,通过内部总线从所述分布式文件系统读取即将推送的切片数据,推送所述即将推送的切片数据;分布式文件系统,与所述视频推流装置相连,用于接收询问所述即将推送的切片的位置信息的消息,并根据所述即将推送的切片的信息获得该即将推送的切片所在的存储节点信息,并将所述存储节点信息返回给所述视频推流装置。实施上述实施例,通过将视频推流服务器分成推流主控单元和推流执行单元,并通过将文件切成小片,分布到各个存储节点中,能够同时利用多台服务器的能力,有效的解决不均衡性,大大提高系统的并发性能;而且通过将推流执行单元与存储节点部署在一个系统上,使得推流执行单元从存储节点中读取数据通过的是存储节点的系统内部总线,从而能有效的加快数据读取速度,同时没有额外网络开销。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是现有技术SS网络架构示意图;图2是本发明实施例的一种分布式推流的方法流程示意图;图3是本发明实施例的分布式推流网络架构示意图;图4是本发明一种分布式推流的方法的另一实施例的流程示意图;图5是本发明实施例的一种视频推流装置的结构示意图;图6是本发明实施例的一种分布式推流的系统结构示意图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。请参阅图2示出的本发明实施例的一种分布式推流的方法流程示意图,包括步骤S201 推流主控单元接收请求播放消息,并根据请求播放消息,获得即将推送的切片。具体的,该请求播放消息包括影片播放的位置。步骤S202 推流主控单元向分布式文件系统询问该即将推送的切片的位置信息。步骤S203 推流主控单元接收该分布式文件系统返回的该即将推送的切片所在的存储节点信息,根据该存储节点信息找到对应的推流执行单元。步骤S204 推流主控单元向该推流执行单元发送推流消息。步骤S205 推流执行单元根据该推流消息,通过内部总线从分布式文件系统的存储节点读取即将推送的切片数据。步骤S206 该推流执行单元推送即将推送的切片数据。实施上述实施例,通过将视频推流服务器分成推流主控单元和推流执行单元,并通过将文件切成小片,分布到各个存储中,能够同时利用多台服务器的能力,有效的解决不均衡性,大大提高系统的并发性能,而且由于推流执行单元与分布式文件系统读取数据通过的是内部总线,即读取本地切片文件的数据,能有效的加快数据读取速度,同时没有额外网络开销。下面结合图4示出的本发明一种分布式推流的方法的另一实施例的流程示意图,在该实施例中,为了更清楚的描述,可以结合图3示出的分布式推流网络架构图,该分布式推流网络架构包括SS Master (Streaming Server Master,推流主控单元),SS Workerl (Streaming Server Worker,推流执行单元),SS Worker2 和 SS Worker3,其中 SS Master管理SS Worker 1, SS Worker2和SS Worker30还包括分布式文件系统,该分布式文件系统包括存储节点1,存储节点2和存储节点3,以及文件控制单元。其中SS Workerl 和存储节点1部署在一起,SS Workerl从存储节点1读取数据是通过系统内部总线;SS Worker2和存储节点2部署在一起,SS Worker2从存储节点2读取数据是通过系统内部总线;SS Worker3和存储节点3部署在一起,SS Worker3从存储节点3读取数据是通过系统内部总线。文件控制单元负责管理整个分布式文件系统的切片文件的存储。在分布式文件系统中,数据以切片的形式存储在各个存储节点中。比如,一份为100MB的数据,可以被切为10份,每个切片大小为10MB,切片1、切片2、切片3、切片4存储在存储节点1,切片5、切片6、切片7存储在存储节点2,切片8、切片9、切片10存储在存储节点3。以下实施例,都以用户终端点播该100MB的数据为例。步骤S401 用户终端向SS Master发出请求播放消息。具体的,该请求播放消息包括影片播放的位置。步骤S402 =SS Master根据请求播放消息,获得即将推送的切片。具体的,SS Master根据影片播放的位置,获得即将推送的切片。比如,用户终端发送从影片第30MB的地方开始播放,则SS Master获得即将推送的切片即为切片4。步骤S403 =SS Master向分布式文件系统询问该即将推送的切片的位置信息。具体的,SS Master向文件控制单元发送询问切片4的位置信息的请求,即询问切片4存储在哪个存储节点上。
步骤S404 分布式文件系统返回该即将推送的切片所在的存储节点信息给SS Master0具体的,存储节点信息包括存储节点编号或IP地址。文件控制单元得知切片4存储在存储节点1上,将存储节点1的编号或者IP地址返回给SS Master。步骤S405 =SS Master根据该存储节点信息找到对应的SS Worker。具体的,因为SS Workerl和存储节点1部署在一起,所以SS Master根据存储节点1的信息可以找到SS Workerl0步骤S406 =SS Master向该SS Worker发送推流消息,通知该SS Worker开始推流。具体的,SS Master通知SS Workerl开始推流,推送的内容是切片4。该推流消息包括即将推送的切片信息、推送码流大小、推流起始位置和推流终止位置、IPQAM地址等。步骤S407 该SS Worker根据推流消息,从分布式文件系统读取数据到缓存。具体的,SS Workerl从存储节点1读取切片4的数据内容到缓存。因为SS Workerl 和存储节点1部署在一起,SS Workerl从存储节点1读取切片4的数据通过是内部总线, 即读取本地切片文件的数据,能有效的加快数据读取速度,同时没有额外网络开销。步骤S408 该 SS Worker 推送数据到 IPQAM。具体的,SS Workerl通过IP网络推送切片4的数据到IPQAM。IPQAM调制数据, 输出RF,用户终端接收RF经过处理后观看节目。在执行步骤S408的同时,该SS Worker还执行步骤S409 该SS Worker向SS Master发送获取下一个SS Worker的消息。步骤S410 =SS Master根据下一个切片信息,向分布式文件系统询问下一个切片的位置信息。具体的,下一个切片是切片5,询问切片5存储在哪个存储节点上。步骤S411 分布式文件系统返回该下一个切片所在的存储节点信息给SS Master0具体的,文件控制单元得知切片5存储在存储节点2上,将存储节点2的编号或者 IP地址返回给SS Master。其中,存储节点2和存储节点3可以互为备份,所以切片5也可能存储在存储节点 3上,这时,文件控制单元也可以将存储节点3的编号或者IP地址返回给SS Master。步骤S412 =SS Master根据该存储节点信息找到对应的SS Worker。具体的,因为SS Worker2和存储节点2部署在一起,SS Worker2从存储节点2读取数据通过是内部总线,所以SS Master根据存储节点2的信息可以找到SS Worker2。当文件控制单元将存储节点3也返回给SS Master时,SS Master得知切片5可以从存储节点2或者存储节点上获得,即SS Master可以选择SS Workerl或SS Worker2。 这时,SS Master可以根据负载均衡的策略,来选择其中一个SSWorker。在本实施例中,SS Master 选择 SS Worker2。步骤S413 :SS Master 将下一个 SS Worker 的信息发给当前 SS Worker。具体的,SSMaster 将 SS Worker2 的信息发给 SS Workerl。步骤S414 当当前SS Worker即将完成推流任务时,当前SS Worker向下一个SSWorker发送准备推流消息。具体的,该准备推流消息包括即下一个切片信息、推送码流大小、推流起始和终止位置、IPQAM地址等。当SS Workerl离推流结束还剩IOms时,SS Workerl向SS Worker2 发送准备推流消息,该推流消息包括即将推送的切片5信息等。步骤S415 下一个SS Worker接收到准备推流消息后,从分布式文件系统读取数据到缓存。具体的,SS Worker2从存储节点2读取切片5的数据内容到缓存。步骤S416 当当前SS Worker完成推流任务时,当前SS Worker立刻通知下一个 SS Worker启动推流,同时将推流结束信息汇报给SS Master。具体的,SS Workerl完成推流任务时,SS Workerl立刻通知SS Worker2启动推流,同时将推流结束信息汇报给SS Master。步骤S417 下一个SS Worker接收到通知后,延时一段时间。具体的,SS Worker2接收到通知后,判断延时时间是否到达预设的延时时间,例如,预设的延时时间为20ms,则延时20ms。如果SS Worker 2马上推流,IPQAM可能会先收到SS Worker2的数据,后收到SS Workerl的数据,出现乱序的问题。其中,具体的延时时间与SS Workerl推流结束时间有关。步骤S418 下一个SS Worker推送数据到IPQAM。具体的,SS Worker2通过IP网络推送切片5的数据到IPQAM。IPQAM调制数据, 输出RF,用户终端接收RF经过处理后观看节目。重复步骤S409直至所有用户需要的切片数据推送完毕。在以上步骤中,SS Worker可以定期汇报推流状态信息给SS Master,推流状态信息包括当前的推流位置、推流片序号等,以便SS Master实时监控各个SS Worker。在以上实施例中,由一个SS Master管理多个SS Worker。然而,在本发明另一实施例中,可通过由多个SS Master组成的SS Master服务集群,来构成该分布式推流网络架构,通过SS Master服务集群管理多个SS Worker。实施上述实施例,通过将视频推流服务器分成SS Master和SS Worker,并通过将文件切成小片,分布到各个存储中,能够同时利用多台服务器的能力,有效的解决不均衡性,大大提高系统的并发性能,而且由于SS Worker与存储节点部署在一块,SS Worker从存储系统读取数据通过的是内部总线,能有效的加快数据读取速度,同时没有额外网络开销。下面结合图5示出的本发明实施例的一种视频推流装置的结构示意图,进一步详细说明本发明实施例一种视频推流装置的结构。推流主控单元501,用于接收用户终端发送的请求播放消息,并根据请求播放消息,获得即将推送的切片,向分布式文件系统询问该即将推送的切片的位置信息,并接收该分布式文件系统返回的该即将推送的切片所在的存储节点信息,根据该存储节点信息找到对应的推流执行单元,并向对应的推流执行单元发送推流消息。推流执行单元502,设置在分布式文件系统的存储节点中,与推流主控单元501相连,与分布式文件系统的存储节点通过系统内部总线相连,接收该推流消息,并根据该推流消息,通过内部总线从分布式文件系统读取数据,推送该数据。实施上述实施例,通过将视频推流服务器分成推流主控单元和推流执行单元,并通过将文件切成小片,分布到各个存储中,能够同时利用多台服务器的能力,有效的解决不均衡性,大大提高系统的并发性能,而且由于推流执行单元与分布式文件系统读取数据通过的是内部总线,能有效的加快数据读取速度,同时没有额外网络开销。具体的,推流执行单元502,还用于向SS Master发送获取下一个SS Worker的消肩、ο推流主控单元501,还用于接收该获取下一个SS Worker的消息,并根据下一个切片信息,向分布式文件系统询问下一个切片的位置信息,接收该分布式文件系统返回的下一个切片所在的存储节点信息,根据该存储节点信息找到下一个推流执行单元,并将下一个推流执行单元信息返回。具体的,在根据该存储节点信息找到下一个推流执行单元步骤中,SS Master可以根据负载均衡的策略,来选择其中一个SS Worker。推流执行单元502,与其他推流执行单元502相连,还用于当完成推流任务时,向下一个SS Worker发送推流消息。具体的,该推流消息包括即将推送的切片信息、推送码流大小、推流起始和终止位置、IPQAM地址等。具体的,在当完成推流任务时,向下一个SS Worker发送推流消息步骤之前,推流执行单元502还用于当即将完成推流任务时,向下一个SS Worker发送准备推流消息;具体的,该准备推流消息包括即将推送的切片信息、推送码流大小、推流起始和终止位置、IPQAM 地址等。下一个SS Worker接收到准备推流消息后,从分布式文件系统读取数据到缓存;当下一个SS Worker接收到推流消息后,会延时一段时间,再将数据推送到IPQAM。实施上述实施例,通过将视频推流服务器分成推流主控单元和推流执行单元,并通过将文件切成小片,分布到各个存储中,能够同时利用多台服务器的能力,有效的解决不均衡性,大大提高系统的并发性能,而且由于推流执行单元与分布式文件系统读取数据通过的是内部总线,能有效的加快数据读取速度,同时没有额外网络开销。下面结合图6示出的本发明实施例一种分布式推流的系统示意图,进一步详细说明本发明实施例一种分布式推流的系统,包括视频推流装置601,分布式文件系统602 视频推流装置601,包括推流主控单元6011,用于接收请求播放消息,并根据请求播放消息,获得即将推送的切片,向分布式文件系统602询问该即将推送的切片的位置信息,并接收该分布式文件系统602返回的该即将推送的切片所在的存储节点信息,根据该存储节点信息找到对应的推流执行单元,并向对应的推流执行单元发送推流消息。推流执行单元6012,设置在分布式文件系统的存储节点中,与推流主控单元501 通过网络相连,与所述分布式文件系统602的存储节点通过系统内部总线相连,接收该推流消息,并根据该推流消息,通过内部总线从分布式文件系统602读取数据,推送该数据。分布式文件系统602,与视频推流装置601相连,用于接收询问该即将推送的切片的位置信息的消息,并根据该即将推送的切片的信息获得该即将推送的切片所在的存储节点信息,并将该存储节点信息返回给视频推流装置601。在本发明实施例中,所述连接推流执行单元6012与推流主控单元501的网络,即可以是有线通信网络,也可以是无线通信网络。
实施上述实施例,通过将视频推流服务器分成推流主控单元和推流执行单元,并通过将文件切成小片,分布到各个存储中,能够同时利用多台服务器的能力,有效的解决不均衡性,大大提高系统的并发性能,而且由于推流执行单元与分布式文件系统读取数据通过的是内部总线,能有效的加快数据读取速度,同时没有额外网络开销。需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。 基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种分布式推流的方法,其特征在于,包括推流主控单元接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片; 所述推流主控单元向分布式文件系统询问即将推送的切片的位置信息; 所述推流主控单元接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元; 所述推流主控单元向所述推流执行单元发送推流消息;所述推流执行单元根据所述推流消息,通过内部总线从所述分布式文件系统的存储节点读取所述即将推送的切片数据;所述推流执行单元推送所述即将推送的切片数据。
2.如权利要求1所述的方法,其特征在于,在所述推流执行单元从所述缓存中推送数据的同时,还包括所述推流执行单元向所述推流主控单元发送获取下一个推流执行单元的消息; 所述推流主控单元接收到获取下一个推流执行单元的消息,根据下一个切片信息,向所述分布式文件系统询问下一个切片的位置信息;所述推流主控单元接收所述分布式文件系统返回的所述下一个切片所在的下一个存储节点信息,根据所述下一个存储节点信息找到对应的下一个推流执行单元,并将下一个推流执行单元信息返回所述推流执行单元;当所述推流执行单元完成推送数据后,发送推流消息给所述下一个推流执行单元,所述下一个推流执行单元接收到所述推流消息后,推送下一个切片的数据。
3.如权利要求2所述的方法,其特征在于,在所述当所述推流执行单元完成推送数据后,发送推流消息给所述下一个推流执行单元,所述下一个推流执行单元接收到所述推流消息开始推送下一个切片的数据之前,还包括所述推流执行单元在完成推送数据前,向所述下一个推流执行单元发送准备推流消息,所述准备推流消息包括下一个切片信息、推送码流大小、推流起始和终止位置、IP正交幅度调制器地址;所述下一个推流执行单元接收到所述准备推流消息后,从所述分布式文件系统读取下一个切片的数据到缓存。
4.如权利要求2所述的方法,其特征在于,在所述下一个推流执行单元接收到所述推流消息的步骤之后,推送下一个切片的数据的步骤之前,还包括步骤判断延时时间是否到达预设的延时时间。
5.如权利要求1所述的方法,其特征在于,所述根据所述存储节点信息找到对应的推流执行单元还包括所述推流主控单元根据负载均衡策略,选择其中一个推流执行单元。
6.如权利要求1所述的方法,其特征在于,还包括所述推流消息包括即将推送的切片信息、推送码流大小、推流起始和终止位置、IP正交幅度调制器地址。
7.一种视频推流装置,其特征在于,包括推流主控单元,用于接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片,向分布式文件系统询问所述即将推送的切片的位置信息,并接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元,并向对应的推流执行单元发送推流消息;推流执行单元,设置在分布式文件系统的存储节点中,与所述推流主控单元通过网络相连,与所述分布式文件系统的存储节点通过系统内部总线相连,接收所述推流消息,并根据所述推流消息,通过内部总线从所述分布式文件系统读取即将推送的切片的数据,推送所述即将推送的切片的数据。
8.如权利要求7所述的装置,其特征在于,还包括所述推流执行单元,还用于向所述推流主控单元发送获取下一个推流执行单元的消息;所述推流主控单元,还用于接收到获取下一个推流执行单元的消息,根据下一个切片信息,向所述分布式文件系统询问下一个切片的位置信息,接收所述分布式文件系统返回的所述下一个切片所在的下一个存储节点信息,根据所述下一个存储节点信息找到对应的下一个推流执行单元,并将下一个推流执行单元信息返回所述推流执行单元;所述推流执行单元,还用于当完成推送数据后,发送推流消息给所述下一个推流执行单元,所述下一个推流执行单元接收到所述推流消息开始推送下一个切片的数据。
9.如权利要求8所述的装置,其特征在于,还包括所述推流执行单元,还用于在完成推送数据前,向所述下一个推流执行单元发送准备推流消息,所述准备推流消息包括下一个切片信息、推送码流大小、推流起始和终止位置、 IP正交幅度调制器地址;所述下一个推流执行单元,还用于接收到所述准备推流消息后,从所述分布式文件系统读取下一个切片的数据到缓存。
10.如权利要求8所述的装置,其特征在于,还包括所述下一个推流执行单元,还用于接收到所述推流消息后,判断延时时间是否到达预设的延时时间,若到达预设的延时时间,则推送下一个切片的数据。
11.如权利要求7所述的装置,其特征在于,所述根据所述存储节点信息找到对应的推流执行单元还包括所述推流主控单元根据负载均衡策略,选择其中一个推流执行单元。
12.—种分布式推流的系统,其特征在于,包括视频推流装置和分布式文件系统所述视频推流的装置,包括推流主控单元,用于接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片,向所述分布式文件系统询问所述即将推送的切片的位置信息,并接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元,并向对应的推流执行单元发送推流消息;推流执行单元,与推流主控单元相连,并通过内部总线与所述分布式文件系统相连,接收所述推流消息,并根据所述推流消息,通过内部总线从所述分布式文件系统读取即将推送的切片数据,推送所述即将推送的切片数据;分布式文件系统,与所述视频推流装置相连,用于接收询问所述即将推送的切片的位置信息的消息,并根据所述即将推送的切片的信息获得该即将推送的切片所在的存储节点信息,并将所述存储节点信息返回给所述视频推流装置。
全文摘要
本发明公开了一种分布式推流的方法,包括推流主控单元接收请求播放消息,并根据所述请求播放消息,获得即将推送的切片;推流主控单元向分布式文件系统询问即将推送的切片的位置信息;所述推流主控单元接收所述分布式文件系统返回的所述即将推送的切片所在的存储节点信息,根据所述存储节点信息找到对应的推流执行单元;所述推流主控单元向所述推流执行单元发送推流消息;所述推流执行单元根据所述推流消息,通过内部总线从所述分布式文件系统的存储节点读取所述即将推送的切片数据;所述推流执行单元推送所述即将推送的切片数据。本发明还公开了装置及系统。
文档编号H04N21/238GK102547385SQ20111045176
公开日2012年7月4日 申请日期2011年12月29日 优先权日2011年12月29日
发明者宋波 申请人:深圳市同洲视讯传媒有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1