一种ASI数据共享方案制造技术

技术编号:14763286 阅读:108 留言:0更新日期:2017-03-03 17:05
本发明专利技术公开了一种ASI数据共享方案,针对ASI采集卡数据采集的局限性,解决转码设备主备部署时相同源数据共享的问题,简化转码设备信源中断恢复的处理逻辑,减少数据传输量从而有效利用带宽,极大地减少直播转码系统的复杂性,提高直播数据处理的便利性。

【技术实现步骤摘要】

本专利技术涉及一种ASI数据共享方案
技术介绍
在很多内容提供方对外提供内容时,会按照内容采买方的要求转码成通用的视频格式,内容提供方可能通过ASI接口方式提供直播内容。有些ASI采集卡设备为独占模式,当转码任务从ASI采集卡中读取数据时,无法对该采集卡进行信源监控。有些ASI源为复合流的情况,无法同时为每个节目同时进行转码处理。为了提高稳定性的,转码设备一般为主备方式,同一个源数据无法同时提供给主备机器。ASI采集卡在源中断的情况下读源数据失败导致异常,影响后续逻辑,且源恢复后需要重置,逻辑比较复杂。
技术实现思路
本专利技术的目的在于克服现有技术中的不足而提供一种ASI数据共享方案。为实现上述目的,一方面,本专利技术提供的一种ASI数据共享方案,包括数据探测模块、数据发布模块、数据处理模块、数据加载模块、数据分发模块和管理模块,数据探测模块用于扫描出ASI端口列表并探测ASI端口是否有源数据,数据发布模块用于接收和记录数据探测模块发送的ASI端口信息数据并提供ASI端口信息数据的查询服务,数据处理模块用于解析源数据以提供给数据发布模块用于发布源数据媒体信息,数据加载模块用于从ASI端口中加载数据并通过内存共享方式发送给数据分发模块,数据分发模块用于接收开始发送请求并通过数据加载模块发送的信息加载和分发ASI端口数据,管理模块用于调度各模块且对外接收消息数据及发送响应数据。优选地,数据加载模块开始对ASI端口加载数据时将通知数据探测模块暂停对对应的ASI端口的探测。优选地,数据加载模块按照预定时间间隔对ASI端口进行探测,数据加载模块加载数据时将通知数据探测模块暂停对对应的ASI端口的探测。优选地,在数据处理模块中,当源数据是复合流时,则数据处理模块还用于提取源数据复合流中指定需要的节目数据从而减少需要的网络带宽。根据本专利技术提供的一种ASI数据共享方案,针对ASI采集卡数据采集的局限性,解决转码设备主备部署时相同源数据共享的问题,简化转码设备信源中断恢复的处理逻辑,减少数据传输量从而有效利用带宽,极大地减少直播转码系统的复杂性,提高直播数据处理的便利性。附图说明图1是本专利技术一实施例的一种ASI数据共享方案的逻辑示意框图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。对于本领域的普通技术人员而言,可以根据具体情况理解常见术语在本专利技术中的具体含义。本专利技术一实施例提供了一种ASI数据共享方案,包括数据探测模块、数据发布模块、数据处理模块、数据加载模块、数据分发模块和管理模块。如图1所示,为本专利技术的ASI数据共享方案的逻辑示意框图。数据探测模块用于扫描出ASI端口列表并探测ASI端口是否有源数据,数据发布模块用于接收和记录数据探测模块发送的ASI端口信息数据并提供ASI端口信息数据的查询服务,数据处理模块用于解析源数据以提供给数据发布模块用于发布源数据媒体信息,数据加载模块用于从ASI端口中加载数据并通过内存共享方式发送给数据分发模块,数据分发模块用于接收开始发送请求并通过数据加载模块发送的信息加载和分发ASI端口数据,管理模块用于调度各模块且对外接收消息数据及发送响应数据。数据加载模块开始对ASI端口加载数据时将通知数据探测模块暂停对对应的ASI端口的探测。数据加载模块按照预定时间间隔对ASI端口进行探测,数据加载模块加载数据时将通知数据探测模块暂停对对应的ASI端口的探测。其中,对ASI端口进行探测的方式是:打开ASI端口,读取数据,使用数据处理模块分析数据,关闭端口。等待设定的时间间隔,重新下一次探测。为了不消耗过多的系统性能,在本实施例中时间间隔设定为5秒一次。需要说明的是,该时间间隔可以通过配置文件修改而非固定量,可以理解,时间间隔的设定值应针对具体方案需求和情况而定。在数据处理模块中,当源数据是复合流时,则数据处理模块还用于提取源数据复合流中指定需要的节目数据从而减少需要的网络带宽。具体地,数据探测模块扫描出所有的ASI端口列表,扫描探测所有的ASI端口是否有源数据,如果某个ASI端口源由无变为有。则通过数据处理模块解析信源媒体信息,把该信息通知数据发布模块发布,并通知数据加载模块登记该端口媒体信息;如果某个ASI端口源由有变无,通知数据发布模块去除该端口媒体信息。由于ASI采集卡的独占性,数据加载模块开始读取数据时,通知数据探测模块暂停对该端口的探测。具体地,数据发布模块接收到数据探测模块发送的ASI端口媒体信息通知,记录该端口的媒体信息。这些媒体信息通知在模块内部可直接函数调用,媒体信息为xml格式的字符串,记录在内存中的map表(端口:xml),这些媒体信息可直接在map表中添加或删除;接收到数据探测模块发送的ASI端口源断开通知,删除该端口的媒体信息;通过远程调用方式提供查询接口查询某个ASI端口的源信息;当应用启动后,应用可以通过ASI服务的查询接口查询所有的或某个ASI端口的媒体信息;应用查到需要的源可用,则通过向数据分发模块发送请求来获取该源数据。在本专利技术中,上述的应用和图1中所示的应用即为转码器。具体地,数据加载模块负责从ASI端口中加载数据。收到数据分发模块请求后通知数据探测模块停止对该ASI端口的探测,然后从该ASI端口加载数据并通过内存共享方式给数据分发模块。当数据加载模块发现源数据不再存在时:等待源数据的恢复,如恢复则继续发送数据;如果该端口数据不再被需要,则通知数据探测模块对该ASI端口进行探测。内存共享方式的原理:ASI服务器和转码器之间的数据传递使用TCP(命令)或UDP(数据)来进行。而ASI服务内部模块之间直接使用内存指针就可以了,一般建立一个环状内存块列表,使用锁来控制写入和读取,数据加载模块拿到锁,把数据写入到列表末尾,然后释放锁;数据分发模块拿到锁,从列表的开头读取数据,分发出去,释放锁。这样循环利用内存块。每个端口都有一个环状内存列表。具体地,数据分发模块收到开始发送请求后通过数据加载模块加载该ASI端口的数据并分发。如果该端口无指定需要的节目则返回错误。开始发送请求参数包括ASI端口,媒体信息,目标IP和端口,如果指定媒体信息且源数据为MPTS(多节目传输流或复合流,以下统称MPTS),数据分发模块通过数据处理模块把该端口的MPTS流转化为SPTS(单节目传输流,以下统称SPTS)流通过TCP协议发送到目标IP和端口,如果源数据是SPTS,直接通过TCP协议发送到目标IP和端口。并使该ASI端口的引用计数+1。停止发送请求参数包括目标IP和端口,收到停止发送请求后停止向该目标IP和端口发送数据,并使该ASI端口的引用计数-1。上述的引用计数用于标记是否有应用在读取该ASI端口的数据,如果计数为0,表示没有应用在使用该端口的数据,那么数据加载模块停止从ASI端口读取数据,把该ASI端口还给数据探测模块,数据探测模块接管该端口探测信源是否存在。具体地,数据处理模块负责解析源数据,提供给数据发布模块用于发布源数据媒体信息;并把某个MPTS流中的节目根据需求转成一个SPTS流,可以有效本文档来自技高网...
一种ASI数据共享方案

【技术保护点】
一种ASI数据共享方案,其特征在于,包括数据探测模块、数据发布模块、数据处理模块、数据加载模块、数据分发模块和管理模块,所述数据探测模块用于扫描出ASI端口列表并探测所述ASI端口是否有源数据,所述数据发布模块用于接收和记录所述数据探测模块发送的ASI端口信息数据并提供所述ASI端口信息数据的查询服务,所述数据处理模块用于解析源数据以提供给所述数据发布模块用于发布源数据媒体信息,所述数据加载模块用于从ASI端口中加载数据并通过内存共享方式发送给所述数据分发模块,所述数据分发模块用于接收开始发送请求并通过所述数据加载模块发送的信息加载和分发ASI端口数据,所述管理模块用于调度各模块且对外接收消息数据及发送响应数据。

【技术特征摘要】
1.一种ASI数据共享方案,其特征在于,包括数据探测模块、数据发布模块、数据处理模块、数据加载模块、数据分发模块和管理模块,所述数据探测模块用于扫描出ASI端口列表并探测所述ASI端口是否有源数据,所述数据发布模块用于接收和记录所述数据探测模块发送的ASI端口信息数据并提供所述ASI端口信息数据的查询服务,所述数据处理模块用于解析源数据以提供给所述数据发布模块用于发布源数据媒体信息,所述数据加载模块用于从ASI端口中加载数据并通过内存共享方式发送给所述数据分发模块,所述数据分发模块用于接收开始发送请求并通过所述数据加载模块发送的信息加载和分发ASI端口数据,所述管理模块用于调度各模...

【专利技术属性】
技术研发人员:孙伟涛
申请(专利权)人:杭州当虹科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1