CN103838878A - 一种分布式音视频处理系统及处理方法 - Google Patents

一种分布式音视频处理系统及处理方法 Download PDF

Info

Publication number
CN103838878A
CN103838878A CN201410118828.7A CN201410118828A CN103838878A CN 103838878 A CN103838878 A CN 103838878A CN 201410118828 A CN201410118828 A CN 201410118828A CN 103838878 A CN103838878 A CN 103838878A
Authority
CN
China
Prior art keywords
processing unit
data processing
video
voice data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410118828.7A
Other languages
English (en)
Other versions
CN103838878B (zh
Inventor
武悦
张金良
陈斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Tvmining Juyuan Media Technology Co Ltd
Original Assignee
Wuxi Tvmining Juyuan Media Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Tvmining Juyuan Media Technology Co Ltd filed Critical Wuxi Tvmining Juyuan Media Technology Co Ltd
Priority to CN201410118828.7A priority Critical patent/CN103838878B/zh
Publication of CN103838878A publication Critical patent/CN103838878A/zh
Application granted granted Critical
Publication of CN103838878B publication Critical patent/CN103838878B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供一种分布式音视频文件处理系统,包括:输入处理单元;数个视频数据处理单元;数个音频数据处理单元;输出处理单元;调度单元,用于协调所述输入处理单元、所述数个视频数据处理单元、所述数个音频数据处理单元及所述输出处理单元的工作,并当有新的音频处理单元和/或新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,能够协调所述输入处理单元、所述数个视频数据处理单元中剩余的视频数据处理单元、所述数个音频数据处理单元中剩余的音频数据处理单元及所述输出处理单元的工作。本发明还提供一种分布式音视频文件处理方法。

Description

一种分布式音视频处理系统及处理方法
技术领域
本发明涉及一种利用计算机或数据处理装置处理数据的系统和方法,尤其涉及一种利用分布式计算机或数据处理装置对音视频文件进行处理的系统和向该分布式系统中添加或移除分布式计算机或数据处理装置的方法。
技术背景
随着网络和文化事业的发展,音视频资源极大丰富,对音视频文件的处理的需要也快速增长。
音视频文件处理的大致流程如下:首先将需处理的音视频文件解封装成为视频帧序列和音频帧序列;然后将视频帧序列和音频帧序列分别解码为RAW格式和PCM格式数据;对RAW格式和PCM格式数据进行处理;再将RAW格式和PCM格式的数据编码为所需格式的音频帧序列和视频帧序列;最后将音频帧序列和视频帧序列封装成需要的文件格式。
以上处理是通过计算机或计算机构成的数据处理装置来完成的,现有的这些计算机或数据处理装置是依靠本机的软硬件资源来实现对文件的处理。音视频文件处理的计算量庞大,对处理装置的运算能力和存储资源消耗很大,而且随着高清音视频文件的日益增多和处理需求的不断增大,依靠单机进行音视频文件处理的瓶颈问题日益突出,单机处理速度慢且容易发生系统崩溃。即使用户使用配置很高的计算机也难以保证处理的速度和稳定程度,尤其无法满足大批量和时间要求很高的处理任务。
对于上述技术问题,公开号为CN103605710A和CN103605709A的中国专利申请均提供了一种分布式音视频处理装置,其使用多台计算机或处理装置来实现并行处理,大大减少了处理所需的时间,同时降低了系统的处理压力。
但是,在公开号为CN103605710A和CN103605709A的中国专利申请所提供的分布式音视频处理装置中,当需要对上述数据处理系统添加或减少处理装置时,需要停止整个数据处理系统的运行,直至完成添加或减少处理装置后才能重新启动运行,如此影响了上述数据处理系统的工作效率,严重时会导致相关数据的丢失。
发明内容
鉴于以上技术问题,本发明的第一方面提供一种分布式音视频文件处理系统,包括:
输入处理单元,用于接收源视频文件,对所述源视频文件进行处理获得视频数据和音频数据,并将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,并根据一定的分配规则将分割所得的视频数据片段和音频数据片段分配给相应的视频数据处理单元/音频数据处理单元进行处理;数个视频数据处理单元,分别用于对经分割后的视频数据片段进行处理;数个音频数据处理单元,分别用于对经分割后的音频数据片段进行处理;输出处理单元,用于对经处理后的视频数据片段和音频数据片段进行处理并输出;调度单元,用于协调所述输入处理单元、所述数个视频数据处理单元、所述数个音频数据处理单元及所述输出处理单元的工作,并当有新的音频处理单元和/或新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,能够协调所述输入处理单元、所述数个视频数据处理单元中剩余的视频数据处理单元、所述数个音频数据处理单元中剩余的音频数据处理单元及所述输出处理单元的工作。
优选地,所述输入处理单元将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,将各视频数据片段和音频数据片段的顺序号按视频数据处理单元和音频数据处理单元的数量分别进行模运算,根据模运算的结分别将各视频数据片段和音频数据片段分配给相应的视频数据处理单元和音频数据处理单元进行处理。
优选地,所述输入处理单元具有第一监控模块、第一处理模块和第一传输模块;各视频数据处理单元分别具有第二监控模块、第二处理模块和第二传输模块;各音频数据处理单元分别具有第三监控模块、第三处理模块和第三传输模块;所述输出处理单元具有第四监控模块、第四处理模块和第四传输模块;其中,所述第一、第二、第三和第四监控模块分别与所述调度单元进行通信连接,从所述调度单元接收相关指令,并各自将相关处理单元的运行状态报告给所述调度单元;所述第一传输模块分别与各所述第二传输模块和各所述第三传输模块通信连接,将需要处理的相应的视频数据片段和音频数据片段分别发送至各所述第二传输模块和各所述第三传输模块;所述第四传输模块分别与各所述第二传输模块和各所述第三传输模块通信连接,接收经处理后的视频数据片段和音频数据片段。
优选地,所述输入处理单元对所接收的源文件进行解封装,获得视频序列和音频序列,并分别将所述视频序列和所述音频序列进行分割处理;所述输出处理单元在判断从各视频数据处理单元和各音频数据处理单元接收到经处理后的所有的视频数据片段和音频数据片段后,将所接到的视频数据片段和音频数据片段进行合并,并按照预定格式进行封装。
优选地,所述调度单元和所述第一、第二、第三和第四监控模块通过系统配置文件获取的地址信息进行通信。
优选地,所述第一、第二、第三和第四监控模块分别定期地将相应处理单元的运行状态信息发送给所述调度单元;所述调度单元根据所述运行状态信息维护系统配置文件,并将更新的系统配置文件分别发送给所述第一、第二、第三和第四监控模块;其中,所述系统配置文件的内容包括所述视频数据处理单元的数量、物理地址、运行状态和工作目录和所述音频数据处理单元的数量、物理地址、运行状态和工作目录。
优选地,当有所述新的音频处理单元和/或所述新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,所述调度单元接收所述视频数据处理单元和/或所述音频数据处理单元的变化信息,根据所述变化信息修改所述系统配置文件,并发送给所述第一、第二、第三和第四监控模块。
优选地,所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块分别向所述调度单元发送本数据处理单元的相关信息,调度模块在收到所述信息后更新系统配置文件。
优选地,所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块从所述调度单元获取当前的系统配置文件,在其中加入本单元的信息后返回给所述调度单元;所述调度单元收到返回的加入了新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件后,用返回的所述加入了新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件替换所述当前的系统配置文件。
优选地,所述调度单元在收到所述新的视频数据处理单元或所述新的音频数据处理单元中的监控模块返回的所述加入了本单元的信息后的系统配置文件之前,拒绝其他新的视频数据处理单元和/或其他新的音频数据处理单元中的监控模块从所述调度单元获取所述当前的系统配置文件的请求。
优选地,所述新的视频数据处理单元和所述新的音频数据处理单元还包括能够启动本单元的音频或视频处理作业的指令监控模块;所述调度单元接收用户输入的所述新的视频数据处理单元和/或所述新的音频数据处理单元的相关信息,并根据所述相关信息中的地址向相应的所述指令监控模块发送启动音频和/或视频处理作业的指令。
优选地,当所述调度单元经过第一预定时间未从某一视频数据处理单元和/或音频数据处理单元接收到运行状态信息时,所述调度单元将该视频数据处理单元和/或该音频数据处理单元在所述系统配置文件中对应的信息标记为退出系统。
优选地,当所述调度单元经过小于所述第一预定时间的第二预定时间未从所述某一视频数据处理单元和/或音频数据处理单元接收到运行状态信息时,所述调度单元将该视频数据处理单元和/或音频数据处理单元在所述系统配置文件中对应的信息标记为故障。
优选地,所述调度单元停止向标记为故障或退出系统的视频数据处理单元和/或音频数据处理单元分配处理任务。
优选地,所述视频数据处理单元和所述音频数据处理单元还包括能够关闭本单元的音频或视频处理作业的指令监控模块;所述调度单元接收用户输入的要退出所述系统的视频数据处理单元和/或音频数据处理单元的相关信息,并向要退出的所述视频数据处理单元和音频数据处理单元的所述指令监控模块发送关闭音频或视频处理作业的指令。
本发明的另一方面提供一种分布式音视频文件处理方法,包括: 
输入处理步骤,通过输入处理单元接收源视频文件,对所述源视频文件进行处理获得视频数据和音频数据,并分别将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,并根据一定的分配规则将分割所得的视频数据片段和音频数据片段分配给相应的视频数据处理单元和音频数据处理单元进行处理;视频数据处理步骤,分别使用数个视频数据处理单元对经分割后的视频数据片段进行处理;音频数据处理步骤,分别使用数个音频数据处理单元对经分割后的音频数据片段进行处理;输出处理步骤,通过输出处理单元对经处理后的视频数据片段和音频数据片段进行处理并输出;调度步骤,通过调度单元协调所述输入处理单元、所述数个视频数据处理单元、所述数个音频数据处理单元及输出处理单元的工作,并当有新的音频处理单元和/或新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,协调所述输入处理单元、所述数个视频数据处理单元中剩余的视频数据处理单元、所述数个音频数据处理单元中剩余的音频数据处理单元及所述输出处理单元的工作。
优选地,在所述输入处理步骤中,将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,将各视频数据片段和音频数据片段的顺序号按视频数据处理单元和音频数据处理单元的数量分别进行模运算,根据模运算的结果分别将各视频数据片段和音频数据片段分配给相应的视频数据处理单元和音频数据处理单元进行处理。
优选地,所述输入处理步骤包括:解封装步骤,对所接收的源文件进行解封装,获得视频序列和音频序列;分割步骤,分别将所述视频序列和所述音频序列进行分割处理。
优选地,在所述输出处理步骤中,在判断从各视频数据处理单元和各音频数据处理单元接收到经处理后的所有的视频数据片段和音频数据片段后,将所接到的视频数据片段和音频数据片段进行合并,并按照预定格式进行封装。
优选地,在所述调度步骤中,通过系统配置文件获取的地址信息进行通信。
优选地,在所述调度步骤中,相应处理单元的运行状态信息分别定期地被发送给所述调度单元,所述调度单元根据所述运行状态信息维护系统配置文件,并发送更新的系统配置文件;其中,所述系统配置文件的内容包括所述视频数据处理单元的数量、物理地址、运行状态和工作目录和所述音频数据处理单元的数量、物理地址、运行状态和工作目录。
优选地,在所述调度步骤中,当有所述新的音频处理单元和/或所述新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,所述调度单元接收处理单元的变化信息,根据所述变化信息修改所述系统配置文件,并发送给所述第一、第二、第三和第四监控模块。
优选地,在所述调度步骤中,所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块分别向所述调度单元发送本单元的相关信息,所述调度模块在收到所述相关信息后更新所述系统配置文件。
优选地,在所述调度步骤中,所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块从所述调度单元获取当前的系统配置文件,在其中加入本单元的信息后返回给调度单元;所述调度单元收到返回的加入新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件后,用所述加入新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件替换所述当前的系统配置文件。
优选地,在所述调度步骤中,所述调度单元在收到所述新的视频数据处理单元或所述新的音频数据处理单元的监控模块返回的所述加入本单元的信息后的系统配置文件之前,拒绝其他新的视频数据处理单元和/或其他新的音频数据处理单元中的监控模块从所述调度单元获取所述当前的系统配置文件的请求。
优选地,在所述调度步骤中,所述调度单元接收用户输入的所述新的视频数据处理单元和/或所述新的音频数据处理单元的相关信息,并根据所述相关信息中的地址向所述新的视频数据处理单元和/或所述新的音频数据处理单元的指令监控模块发送启动音频或视频处理作业的指令;所述指令监控模块收到调度单元发送的指令后启动本单元的音频或视频处理作业。
优选地,在所述调度步骤中,当所述调度单元经过第一预定时间未从某一视频数据处理单元和/或某一音频数据处理单元接收到运行状态信息时,所述调度单元将所述某一视频数据处理单元和/或所述某一音频数据处理单元在所述系统配置文件中对应的信息标记为退出系统。
优选地,在所述调度步骤中,当所述调度单元经过小于所述第一预定时间的第二预定时间未从所述某一视频数据处理单元和/或所述某一音频数据处理单元接收到所述运行状态信息时,所述调度单元将所述某一视频数据处理单元和或所述某一音频数据处理单元在所述系统配置文件中对应的信息标记为故障。
优选地,在所述调度步骤中,所述调度单元停止向标记为故障或退出系统的视频数据处理单元或音频数据处理单元分配处理任务。
优选地,在所述调度步骤中,所述调度单元接收用户输入的要退出所述系统的视频数据处理单元和/或音频数据处理单元的相关信息,并向要退出所述系统的所述视频数据处理单元和/或所述音频数据处理单元的指令监控模块发送关闭音频或视频处理作业的指令;所述指令监控模块在收到所述调度单元发送的指令后关闭本单元的音频或视频处理作业。
本发明的分布式处理系统和处理方法解决了向系统中添加或移除音视频处理单元时需要停止系统的处理,影响处理任务的运行,容易产生错误等技术问题。利用本发明的系统和方法,用户就可以在不停止系统的运行的情况下,将若干台服务器作为处理单元加入系统,分担数据处理业务;同样,也可以将若干服务器从系统中移除,而不影响系统的正常运行。
附图说明
图1为本发明实施方式涉及的分布式处理系统的结构框图;
图2为本发明实施方式涉及的分布式处理系统的输入处理模块的结构框图;
图3为本发明实施方式涉及的分布式处理系统的输出处理模块的结构框图;
图4为本发明实施方式涉及的分布式处理系统的处理流程示意图;
图5为本发明实施方式涉及的分布式处理系统的Map文件的结构示意图;
图6为本发明实施方式涉及的分布式处理系统的处理步骤S5的处理流程图;
图7为本发明实施方式涉及的分布式处理系统的信息文件的结构示意图;
图8为本发明实施方式涉及的分布式处理系统的分割后的音频和视频文件的结构示意图;
图9为本发明实施方式涉及的分布式处理系统的处理步骤S8中的视频文件处理流程图;
图10为本发明实施方式涉及的分布式处理系统的处理步骤S8中的音频文件处理流程图;
图11为本发明实施方式涉及的分布式处理系统的处理步骤S9中输出处理单元的处理流程图;
图12为本发明实施方式涉及的分布式处理系统的接收映射表结构示意图;
图13为向本发明第一实施方式涉及的分布式处理系统中添加新的处理单元的处理流程图。
具体实施方式
下面根据附图所示实施方式阐述本项发明。此次公开的实施方式可以认为在所有方面均为例示,不具限制性。本发明的范围不受上述实施方式的说明所限,仅由权利要求书的范围所示,而且包括与权利要求范围具有同样意思及权利要求范围内的所有变形。
图1为分布式处理系统的结构框图。如图1所示,本实施方式的分布式系统包括调度模块(Dispatcher模块)1、输入处理单元2、数个视频处理单元3和4、数个音频处理单元5和6、输出处理单元7、监视模块(Watcher模块)8以及客户端模块(Client模块)9。其中,调度模块1用于协调整个系统的各部分的运行。输入处理单元2包括监控模块(Monitor模块)21、输入处理模块(Ingress模块)22和传输模块(Offer模块)23。优选地,上述监控模块21、输入处理模块22和传输模块23之间可以采用消息队列通信。上述视频处理单元3(4)包括监控模块(Monitor模块)31(41)、视频处理模块(VP模块)32(42)和传输模块(Offer模块)33(43)。优选地,上述监控模块31(41)、视频处理模块32(42)和传输模块33(43)之间可以采用消息队列通信。音频处理单元5(6)包括监控模块(Monitor模块)51(61)、音频处理模块(AP模块)52(62)和传输模块(Offer模块)53(63)。优选地,上述监控模块51(61)、音频处理模块52(62)和传输模块53(63)之间可以采用消息队列通信。输出处理单元7包括监控模块(Monitor模块)71、输出处理模块(Egress模块)72和传输模块(Offer模块)73。优选地,上述监控模块71、输出处理模块72和传输模块73之间可以采用消息队列通信。监视模块8与调度模块1共享内存并由此获得调度模块1中的所有信息。监视模块8将获取的信息发送给客户端模块9,由客户端模块9将其以图形界面显示给用户。上述调度模块1、上述输入处理单元2和上述监视模块(Watcher模块)8可以共用一台物理机器(服务器)。每一个视频处理单元3或4可以单独用一台物理机器(服务器),即:上述监控模块31、上述视频处理模块32和上述传输模块33可以共用一台物理机器(服务器),以及上述监控模块41、上述视频处理模块42和上述传输模块43可以共用一台物理机(服务器),其中每一台物理机器(服务器)可以每一次仅运行一个视频处理进程(VP进程);每一个音频处理单元5或6可以单独用一台物理机器(服务器),即:上述监控模块51、上述音频处理模块52和上述传输模块53可以共用一台物理机器(服务器),以及上述监控模块61、上述音频处理模块62和上述传输模块63共用一台物理机器(服务器),其中每一台物理机器(服务器)可以每一次仅运行一个音频处理进程(AP进程)。上述输出处理单元7可以单独用一台物理机器(服务器),即:上述监控模块71、上述输出处理模块72和上述传输模块73可以共用一台物理机器(服务器)。
上述调度模块1分别与上述输入处理单元2中的监控模块21、各个视频处理单元(视频处理单元3和4)中的监控模块(监控模块31和41)、各个音频处理单元(音频处理单元5和6)中的监控模块(监控模块51和61)及上述输出处理单元7中的监控模块71进行通信连接,用于协调整个系统中的输入处理单元2、视频处理单元3和4、音频处理单元5和6和输出处理单元7等各部分的运行。上述输入处理单元2中的传输模块23分别与各个视频处理单元(视频处理单元3和4)中的传输模块(传输模块33和43)和各个音频处理单元(音频处理单元5和6)中的传输模块(监控模块53和63)进行通信连接,用于向各个视频处理单元(视频处理单元3和4)中的传输模块(传输模块33和43)和各个音频处理单元(音频处理单元5和6)中的传输模块(传输模块53和63)分别传输相应的信息和数据。上述输出处理单元7中的传输模块73分别与各个视频处理单元(视频处理单元3和4)中的传输模块(传输模块33和43)和各个音频处理单元(音频处理单元5和6)中的传输模块(传输模块53和63)进行通信连接,用于从各个视频处理单元(视频处理单元3和4)中的传输模块(传输模块33和43)和各个音频处理单元(音频处理单元5和6)中的传输模块(传输模块53和63)分别接受相应的信息和数据。
图2为上述输入处理模块22的结构框图。如图2所示,上述输入处理模块22包括解封装模块221、输入数据处理模块222和数据存储模块223,其中上述解封装模块221对上述输入处理单元2所接受的源视频文件进行解封装,上述输入数据处理模块222对音/视频文件进行处理,上述数据存储模块223用于存储音/视频文件及相关信息。上述解封装模块221包括音/视频文件格式判断单元2211、解封装选择单元2212和数个解封装单元2213、2214、2215……。其中,上述数个解封装单元(2213、2214、2215……)具有不同的格式,并且上述解封装选择单元2212可以根据上述音/视频文件格式判断单元2211的判断结果从上述数个解封装单元中选择相应的解封装单元对上述源视频文件进行解封装,从而使得上述解封装模块221可以对应于不同的文件格式进行解封装。输入数据处理模块222具有分割模块2221和分配模块2222。分割模块2221可以将解封装后的音/视频文件分割成多个音频数据片段和视频数据片段,并分别给多个音频数据片段和多个视频数据片段编序号,分配模块2222通过对分割后的片段的序号分别按照音频处理单元和视频处理单元的数量取模,以此确定每个音频数据片段和视频数据片段对应的音频处理单元和视频处理单元。上述输入处理模块22能够获取所述源视频文件的封装格式信息,并将上述信息通过上述传输模块23、33、43、53、63发送给上述输出处理单元7。
图3为上述输出处理模块72的结构框图。如图3所示,上述输出处理模块72包括封装模块721、输出数据处理模块722和存储模块723。其中,上述存储模块723存储经过上述视频处理单元3和4及上述音频处理单元5和6处理后的音频文件和视频文件,上述输出数据处理模块722对经过上述视频处理单元3和4及上述音频处理单元5和6处理后的音频文件和视频文件进行处理,并将经上述输出数据处理模块722处理后的音频文件和视频文件输送至上述封装模块721。
上述封装模块721包括封装格式选择单元7211和数个具有不同的封装格式的封装单元7212、7213、7214……,其中上述封装格式选择单元7211根据上述传输模块73所接收到的封装格式信息从数个封装单元(7212、7213、7214……)中选择相应的封装单元进行封装,从而可以使得上述封装模块721对应于不同的封装格式的要求进行封装。
图4为本发明的分布式处理系统的处理流程示意图。下面结合图4来说明分布式处理系统的处理流程。操作人员开启各物理机器(服务器),启动上述分布式处理系统(步骤S1)。上述调度模块1读取系统文件(步骤S2)。优选地,在步骤S2中,上述调度模块1在指定目录读取系统配置文件(例如tvmccd.cfg),获取该进程的<Input>(输入)、<Server>(服务器)和<Port>(端口)等配置项,同时在<Input>项指定的目录(例如opt/tvmccd/ingress/Dispatcher/Input)读取相应的文件(例如tvmccd.par文件和logo文件)。根据相应文件(例如tvmccd.par )中的内容生成源视频文件名与文件ID对应的映射表文件(Map文件,例如tvmccd.map)。图5为本发明的分布式处理系统的Map文件的一例的示意图,根据Map文件可以查询源视频文件名与文件ID的对应关系。上述logo文件可以有多个,也可以没有logo文件。系统配置文件中记录有整个分布式系统的配置信息,如:各模块所在计算机的IP地址、使用的端口号、工作目录的位置、视频处理和音频处理模块的数量、任务分配的方法等。PAR文件中记录有待处理文件的文件名及处理后的文件名、处理后的音/视频文件的编码格式、码率、帧率、分辨率等各项参数。LOGO文件记录的是用户需要在视频中加入的水印、字幕等的内容及其大小、位置等参数。与调度模块1同样的,系统中的其他模块也都从各自的指定目录中读取系统配置文件,从配置文件中获得系统中各模块的通信地址等信息,以此与需要通信的其他模块建立连接。上述调度模块1分别与上述输入处理单元2的监控模块21、各视频处理单元(3和4)的监控模块(31和41)、各音频处理单元的监控模块(51和61)和上述输出处理单元7的监控模块71之间建立通信连接(步骤S3)。优选地,在步骤S3中,上述调度模块1建立Socket监听(监听端口号Dispatcher_Port在系统配置文件中,比如tvmccd.cfg),等待上述各监控模块的连接请求。各处理单元按系统配置文件中的地址向调度模块1发出建立Socket连接的请求,一旦上述调度模块1监听到上述监控模块的Socket连接请求,接受上述各监控模块的连接请求并建立Socket链接,同时将上述相应的文件发送给对应的监控模块(监控模块21、31、41、51、61或71)。例如,将tvmccd.par和tvmccd.map文件发送给每一个监控模块,将logo文件发送给各视频处理单元(5和6)的监控模块(51和61)。
上述输入处理单元2的传输模块23与各视频处理单元(3和4)的传输模块(33和43)和各音频处理单元(5和6)的传输模块(53和63)建立通信连接,同时上述输出处理单元7的传输模块73与各视频处理单元(3和4)的传输模块(33和43)和各音频处理单元(5和6)的传输模块(53和63)建立通信连接(步骤S4)。上述输入处理单元2开始对源视频文件的处理(步骤S5)。
图6为上述步骤S5的处理流程图。如图6所示,上述输入处理单元2的输入处理模块22将源视频文件的处理进程的启动时间和名称等信息发送给上述监控模块21(步骤S51)。上述输入处理模块22在指定目录读取系统配置文件(比如tvmccd.cfg文件),获取相应的<Source>(源项) 、<Processed>(处理项)、<Failed>(错误项)、<Output>(输出项)和<Send>(发送项)等配置项(步骤S52)。上述输入处理模块22从上述<Source>项目录按顺序读取源视频文件(步骤S53),并由上述输入处理模块22的解封装模块221依次对上述源视频文件进行解封装(步骤S54)。如果源视频文件解封装成功(步骤S55:是),获取相应的音、视频帧序列,并将解封装成功的源视频文件从<Source>项目录移送至<Processed>目录和将解封装后的音、视频帧序列存储至上述存储模块223(步骤S56)。上述输入处理模块22的输入数据处理模块222对上述存储模块223中的音、视频帧序列进行处理,获取其相关信息(比如编码信息等),并将所获取的相关信息(比如编码信息等)写入信息文件(info文件)(步骤S57)。图7为信息文件的格式示意图。如图7中所示,信息文件中含有源文件ID、文件长度、编码类型等。本实施例中,视频信息文件以VI-文件ID.info的格式命名,其中还包含视频比特率、视频高度、视频宽度等信息;音频信息文件以AI-文件ID.info的格式命名,其中还包含音频比特率、采样率、声道数等信息。在步骤S57中,当info文件正在写时,info文件被写入<Output>目录,当info文件写完成并确认无误时,将info文件移送到<Send>目录。上述输入处理模块22的输入数据处理模块222将视频帧序列和音频帧序列分别分割成多个以GOP(画面组)为单位的视频数据片断(视频文件)和多个以GOA(即与GOP相对应的音频数据单元)为单位的音频数据片段(音频文件)(步骤S58)。比如,对于MPEG文件,每个GOP以I帧开始,I帧后面可以跟随着P帧和B帧构成一个GOP。由于只有I帧具有完整的画面的数据,P帧和B帧只具有相对其他帧有变化的数据,每个GOP段的帧分割在一个文件中可以避免P帧和B帧的数据因为与对应的I帧不在一个GOP文件里而无法恢复完整的画面数据。图8为GOP或GOA文件的格式示意图。如图8中所示,分割后的每个GOP文件和GOA文件中包含其源文件ID、本GOP或GOA文件在源文件的所有的GOP或GOA文件中的序号、包含的帧数等信息以及帧数据部分。输入数据处理模块222以一定规则命名分割后的GOP文件和GOA文件,文件名中包括该文件对应的源文件的文件ID、该文件在源文件的所有GOP或GOA文件中的序号和文件类型(GOP文件或GOA文件)(步骤S59)。例如,文件可以标记为F01-1.gop,其中“F01”是源文件的文件ID,“-1”表示该文件在分割后的文件中序号为1,文件后缀“.gop”表示该文件是GOP文件;由此文件名就可以确定该文件是文件ID为F01的源文件的第1个GOP文件。输入数据处理模块222根据一定的分配规则对视频文件和音频文件进行分配,例如,输入数据处理模块222查询系统配置文件中的音频和视频处理单元的数量,将GOP或GOA文件的序号按照视频或音频处理单元的数量取模,由此确定将该GOP或GOA文件分配给哪个视频或音频处理单元进行处理(步骤S510)。例如,有序号为1-9的9个GOP文件,当前如图1所示有2个视频处理单元3和4;输入数据处理模块222依次用每个GOP文件的序号进行模2(视频处理单元的数量)的运算,结果为1的文件分配给视频处理单元3,结果为0的文件分配给视频处理单元4。如此,文件1、3、5、7、9被分配给视频处理单元3,文件2、4、6、8被分配给视频处理单元4。如果当前有4个视频处理单元VP1-VP4,则用每个GOP文件的序号进行模4(视频处理单元的数量)的运算,结果为1的文件分配给VP1,结果为2的文件分配给VP2,结果为3的文件分配给VP3,结果为0的文件分配给VP4。如此,文件1、5、9被分配给VP1,文件2、6被分配给VP2,文件3、7被分配给VP3,文件4、8被分配给VP4。同样的,GOA文件也按此规则确定分配给哪个音频处理单元。每个GOP或GOA文件的分配完成后,输入处理模块22将分配结果通过消息发送给输入处理单元2的传输模块23。上述输入处理模块22的输入数据处理模块222将生成的GOP和GOA文件分别写入<Output>项目录,并当每个GOP或GOA文件写磁盘完成并确认无误时被移送至<Send>项目录,源文件在处理完成后由<Source>目录移送至<Processed>目录(步骤S511),同时将GOP和GOA的总数写入总数文件(total文件)(步骤S512)。在步骤S510中,当total文件正在写时,其被写入<Output>项目录,当total文件写完成并确认无误时,其被移送至<Send>项目录。输入处理单元2的传输模块23接收输入处理模块22发送的各GOP和GOA文件的分配结果,并按该结果将GOP和GOA文件连同total文件发送给相应的音/视频处理单元(步骤S513)。在步骤S514中,将文件名(包括源文件和GOP、GOA文件的文件名)、文件ID、视频帧数、音频帧数、视频编码格式和音频编码格式发送给上述监控模块21。如果源视频文件解封装出错(步骤S55:否),上述输入处理单元2将上述解封装出错的源视频文件从<Source>项目录移送到<Failed>项目录(步骤S515),同时将出错的源视频文件ID发送给上述监控模块21(步骤S516)。上述监视模块8将上述监控模块21所收到的出错信息发送到客户端模块9。用户可以通过客户端模块9输入命令,决定是否重新对上述源视频文件进行新一轮的处理,或者直接放弃对上述源视频文件进行新一轮的处理。
返回图4,在步骤S6中,上述输入处理单元2的监控模块21将上述文件名、文件ID、视频帧数、音频帧数、视频编码格式和音频编码格式等相关信息发送给上述调度模块1,同时上述输入处理单元2的传输模块23将上述<Send>目录下的info文件、GOP和GOA文件和total文件等数据发送到相应的视频处理单元3(4)和音频处理单元5(6)(步骤S6)。
在步骤S7中,上述调度模块1将视频帧数、音频帧数、视频编码格式和音频编码格式等相关信息发送到相应的视频处理单元3、4和音频处理单元5、6以及输出处理单元7中。
在步骤S8中,上述视频处理单元3(4)的视频处理模块32(42)根据监控模块31(41)所接收到的视频帧数和视频编码格式等相关信息和输送模块33(43)所接收到的视频文件和info文件等信息对上述GOP文件(视频文件)进行相应的处理,同时上述音频处理单元5(6)根据监控模块51(61)所接收到的音频帧数和音频编码格式等相关信息和输送模块53(63)所接收到的音频文件和info文件等信息对上述GOA文件(音频文件)进行相应的处理,并将经过处理后的音/视频文件发送至上述输出处理单元7。
图9为步骤S8中的视频文件处理流程图。在本实施方式中,视频处理单元3和视频处理单元4的视频文件处理流程相同,因此仅就视频处理单元3介绍视频文件处理流程。如图9所示,上述视频处理单元3的视频处理模块32将视频文件处理进程的启动时间和收到的视频文件的ID信息(例如收到了以下文件:F01-1.gop,F01-3.gop,F01-5.gop等和F02-1.gop,F02-3.gop等)发送给上述监控模块31(步骤S811)。上述监控模块31可以将上述启动时间和视频文件的ID信息反馈到上述调度模块1,使得系统能够监控上述视频处理单元3的处理进程状况。上述视频处理模块32在指定目录读取系统配置文件(tvmccd.cfg),获取上述视频处理单元3的处理进程的<Source>(源项) 、<Output>(输出项)和<Send>(发送项)等配置项(步骤S812),并在<Source>项目录读取相关信息(info文件)和视频文件(gop文件)(步骤S813)。如果<Source>项目录下有total文件,则上述视频处理模块32将上述total文件移送至<Send>项目录。然后,上述视频处理模块32根据监控模块31所接收到的视频编码格式信息选择相应的解码器对上述视频文件进行解码(步骤S814)。如果解码成功(步骤S815:是),上述视频处理模块32对上述经解码后的视频数据进行预定处理(步骤S816)。上述预定处理可以是视频帧率定制调节、向视频中添加滚屏信息、不同音/视频文件的合并等。上述视频处理模块32根据监控模块31从调度模块1收到的处理后的文件的参数要求将经过处理后的视频数据进行编码,获取经处理后的视频文件(gop文件),并将正在输出的视频文件(gop文件)写到<Output>项目录,在写磁盘结束并校验无误后将该文件移送到<Send>项目录,由上述传输模块33输送至上述输出处理单元7(步骤S817)。
如果解码出错(步骤S815:否),并且该视频文件的解码次数n没有超过预定阈值a(步骤S818:否),则将上述解码次数n加1(步骤S819)并返回到步骤S814进行重新解码,如果该视频文件的解码次数n超过预定阈值a(步骤S818:是),则将解码出错的视频文件的ID信息发送给监控模块31(步骤S8110)。上述监控模块31将解码出错的视频文件的ID信息反馈给上述调度模块1,上述调度模块1可以选择让输入处理单元2向上述视频处理单元3再次发送该出错的视频文件,或让输入处理单元2将该出错的视频文件重新加入未被上述输入处理单元2的传输模块23发送的剩余视频文件中并进行重新编序号,再根据上述一定的分配规则将该出错的视频文件分配给相应的视频处理单元进行处理。此外,调度模块1也可以选择直接忽略该解码错误,并将错误信息输出给用户。
图10为步骤S8中的音频文件处理流程图。在本实施方式中,音频处理单元5和音频处理单元6的视频文件处理流程相同,因此仅就音频处理单元5介绍音频文件处理流程。如图10所示,上述音频处理单元5的音频处理模块52将音频文件处理进程的启动时间和音频文件的ID信息(例如收到了以下文件:F01-1.goa,F01-3.goa,F01-5.goa等和F02-1.goa,F02-3.goa等)发送给上述监控模块51(步骤S821)。上述监控模块51可以将上述启动时间和音频文件的ID信息反馈到上述调度模块1,使得系统能够监控上述音频处理单元5的处理进程状况。上述音频处理模块52在指定目录读取系统配置文件(tvmccd.cfg),获取上述音频处理单元5的处理进程的<Source>(源项) 、<Output>(输出项)和<Send>(发送项)等配置项(步骤S822),并在<Source>项目录读取相关信息(info文件)和音频文件(goa文件)(步骤S823)。如果<Source>项目录下有total文件,则上述音频处理模块52将上述total文件移送至<Send>项目录。然后,上述音频处理模块52根据监控模块51从上述调度模块1所接收到的音频编码格式信息选择相应的解码器对上述音频文件进行解码(步骤S824)。如果解码成功(步骤S825:是),上述音频处理模块52对上述经解码后的音频数据进行预定处理(步骤S826)。上述预定处理可以是音量自动调节、音量定制调节或声道处理等。上述音频处理模块52根据监控模块51从调度模块1收到的处理后的文件的参数要求将经过处理后的音频数据进行编码,获取经处理后的音频文件(goa文件),并将正在输出的音频文件(goa文件)写到<Output>项目录,在写磁盘结束并校验无误后将该文件移送到<Send>项目录,由上述传输模块33输送至上述输出处理单元7(步骤S827)。
如果解码出错(步骤S825:否),并且该音频文件的解码次数m没有超过预定阈值b(步骤S828:否),则将上述解码次数m加1(步骤S829)并返回到步骤S824进行重新解码,如果该音频文件的解码次数m超过预定阈值b(步骤S828:是),则将解码出错的音频文件的ID信息发送给监控模块51(步骤S8210)。上述监控模块51将解码出错的音频文件的ID信息反馈给上述调度模块1,上述调度模块1可以选择让输入处理单元2向上述音频处理单元5再次发送该出错的音频文件,或让输入处理单元2将该出错的音频文件重新加入未被上述输入处理单元2的传输模块23发送的剩余音频文件中并进行重新编序号,再根据上述一定的分配规则将该出错的音频文件分配给相应的音频处理单元进行处理。此外,调度模块1也可以选择直接忽略该解码错误,并将错误信息输出给用户。
返回图4,在步骤S9中,上述输出处理单元7根据上述监控模块71从上述调度模块1所接收到的相关信息对来自上述视频处理单元3(4)的视频文件和来自上述音频处理单元5(6)的音频文件进行处理,获得经处理后的音视频文件。
图11为步骤S9中上述输出处理单元7的处理流程图。如图11所示,上述输出处理单元7的输出处理模块72将输出处理单元7的启动时间及处理进程的名称发送给上述输出处理单元7的监控模块71(步骤S91)。上述输出处理模块72在指定目录读取系统配置文件(比如tvmccd.cfg),获取上述处理进程的配置项,例如<Source>(源项) 、<Output>(输出项)和<Finished>(完成项)等配置项(步骤S92),并且监控<Source>项目录的write_close事件(写入关闭事件),当有write_close事件到来时,获取write_close的文件的文件名,并记录最新的write_close事件的时刻(步骤S93)。由此,可以监控<Source>项目录最新收到的文件,如果收到由传输模块23经过传输模块33、43、53和/或63传输到传输模块73的total文件,就读取total文件中关于音频文件的总数信息和视频文件的总数信息,比如GOP文件的总数信息和GOA文件的总数信息,同时上述输出数据处理模块721获取音/视频文件(比如GOP和GOA文件)(步骤S94)。根据total文件中的GOP和GOA文件的总数信息,输出数据处理模块722为每个源文件生成GOP和GOA文件的接收映射表(步骤S95)。接收映射表的结构参照图12,并且上述所接收到的音频文件的总数信息和视频文件的总数信息以及所生成的接收映射表均可存储在上述输出处理模块72的存储模块723中。图12为接收映射表的结构示意图。由图12可以看出,接收映射表中记录有源文件的文件ID和该源文件的所有GOP和GOA文件,并为每个GOP和GOA文件预留了一个状态标识。初始的状态标识为0,表示未收到该GOP或GOA文件。输出数据处理模块722扫描已经收到的GOP和GOA文件,并依次在接收映射表中将该GOP或GOA文件的状态标识设为1,表示收到了该GOP或GOA文件(步骤S96)。例如,输出数据处理模块722收到了文件ID为F01的total文件,该total文件显示文件F01有9个GOP文件F01-1.gop~F01-9.gop和9个GOA文件F01-1.goa~F01-9.goa。据此,输出数据处理模块722为文件ID为F01的源文件建立如图12所示的接收映射表。然后,输出数据处理模块722扫描已经收到的GOP和GOA文件中属于该源文件的部分。根据输入处理单元分割文件时的命名规则,输出数据处理模块722扫描到以F01开头的.gop或.goa文件就可以判断出该文件属于源文件F01,F01-1.gop就是该源文件的第一个GOP文件。如此,可以将已收到的源文件F01的所有GOP和GOA文件在在接收映射表中标记为已接收。由于<Source>项目录的write_close事件被监控,输出数据处理模块722可以监控新收到的GOP和GOA文件,并将其在接收映射表中标记为已接收。接收映射表中还包括接收到的GOP和GOA文件的数量信息,每收到一个GOP或GOA文件,将对应的文件数量加1(步骤S97)。
上述输出数据处理模块722将接收映射表中记录的GOP和GOA文件的数量与total文件中记录的数量进行对比(步骤S98)。当数量一致时(步骤S98:是),输出数据处理模块722扫描接收映射表,看是否每个GOP和GOA文件的状态标识均为已接收(步骤S99)。当接收到的文件总数与total文件的信息不同时,说明还有GOP或GOA文件没有接收到。
如果上述输出数据处理模块722判断上述源视频文件的所有GOP和GOA文件均已接收(步骤S99:是),则在上述输出处理模块72的封装模块721中进行封装处理(步骤S910)。如果封装成功(步骤S911:是),上述封装模块721将封装成功的新音视频文件输出到上述输出数据处理单元7的传输模块73(步骤S912)。如果封装出错(步骤S911:否),上述输出数据处理模块722判断尝试重新封装处理的次数M是否超出预定值B(步骤S917)。如果上述尝试重新封装处理的次数M没有超出预定值B(步骤S917:否),将M加1(步骤S918),并回到上述封装模块721再次尝试封装处理。如果上述尝试重新封装处理的次数M超出预定值B(步骤S917:是),将封装出错的音、视频文件的ID信息发送给上述输出处理单元7的监控模块71(步骤S919),上述监控模块71将上述封装错误信息和上述封装出错的音、视频文件的ID信息反馈给上述调度模块1(步骤S920)。上述调度模块1根据要求决定是否重新对上述源视频文件进行新一轮的处理,或者直接放弃对上述源视频文件进行新一轮的处理。
如果上述输出数据处理模块722判断上述源视频文件中的所有音、视频文件(GOP和GOA文件)没有被完全接收(步骤S96:否),则上述输出数据处理模块722判断等待没有被接收的音、视频文件的时间N是否超过预定阈值A(步骤S913)。如果等待没有被接收音、视频文件的时间N没有超过预定阈值A(步骤S913:否),则继续等待没有被接收的音、视频文件。如果等待没有被接收音、视频文件的时间N超过预定阈值A(步骤S913:是),则上述输出数据处理模块722检查上述音、视频文件的接收映射表,获得未收到的音频文件的ID信息和/或视频文件的ID信息等,并将其发送给上述输出处理单元7的监控模块71(步骤S914)。例如,如图12所示,上述输出数据处理模块722通过检查上述接收映射表发现Tvm.mp4的F01-4.goa和F01-6.gop两个文件在等待时间超过上述预定阈值A后仍没收到,上述输出数据处理模块722将未收到文件的文件ID发送给上述输出处理单元7的监控模块71。其中,上述等待时间可以由输出处理模块72读取到了某源文件的total文件起计算,也可以自该源文件的接收映射表被建立之时起计算。上述监控模块71将上述音、视频文件接收错误信息和未收到的音频和/或视频文件的ID信息反馈到上述调度模块1(步骤S915)。上述调度模块1根据上述监控模块71所反馈的上述音、视频文件接收错误信息和未收到的音频文件的ID信息和/或视频文件的ID信息可以命令上述输入处理单元2根据上述一定的分配规则重新分配给音频处理单元和/或视频处理单元(步骤S916),即将该文件的序号按音频或视频处理单元的数量取模。因此,如果处理单元数量较初次分配时发生变化,该文件会被分配给与初次分配时不同的处理单元。例如,F01-7.gop初次分配时系统中有4个视频处理单元VP1-VP4,该文件被分配给VP3。输出处理单元未收到该文件后要求输入处理单元2重新处理该文件。此时,VP2已因故障退出系统,系统中还有3个视频处理单元VP1、VP3、VP4。因此,输入处理单元2的分配规则就变成用文件序号模3,结果为1的文件分配给VP1,结果为2的文件分配给VP3,结果为0的文件分配给VP4。按此规则,F01-7.gop被重新分配给VP1。
在步骤S916还可以采用以下处理方式:输入处理单元2每收到一个需要重新处理的GOP或GOA文件就赋予其一个重新处理的序号,并按该序号进行分配。例如,输入处理单元2先后收到了3个需要重新处理的GOP文件的ID:F01-7.gop、F03-2.gop、F02-4.gop。输入处理单元2的分配模块2222每收到一个需重新处理的GOP文件,就将其维护的需重新处理的GOP文件的序号加1并赋予新收到的GOP文件。如此,F01-7.gop、F03-2.gop、F02-4.gop依次被赋予序号1、2、3。假设此时系统中有2个视频处理单元VP1-VP2,分配模块2222将F01-7.gop的序号1模2,结果为1,分配给VP1;将F03-2.gop的序号2模2,结果为0,分配给VP2;将F02-4.gop的序号3模2,结果为1,分配给VP1。然后分配模块2222将以上分配信息发送给传输模块23,由传输模块23发送给相应的视频处理单元。如果输入处理单元2收到需要重新处理的GOA文件,采用同样的方法进行分配。需要重新处理的GOP文件和GOA文件分别进行排序,具有彼此独立的序号。
输入处理模块、视频处理模块、音频处理模块以及输出处理模块定时通过消息队列向各自的监控模块报告各自模块的工作状态、当前任务、已完成任务等,同时还将上述内容记入各自的日志文件。各监控模块定时将本处理单元的IP地址、系统负荷、网络状况、本进程状态以及从本单元的处理模块收到的上述信息发送给调度模块1。监视模块8定时与调度模块1分享上述信息,并通过客户端模块9处理后以图形界面显示给用户。
调度模块1利用各监控模块发来的信息维护配置文件,配置文件中为每个物理机器分配了一个状态属性,当该机器因掉电或断网暂时退出系统时,状态属性被设为不可用;当有新的物理机器加入系统时,用户指令调度模块1在配置文件中添加该机器的信息。配置文件中的信息发生变化后,调度模块1赋予其一个新的版本号,并立即将其发送至各控制模块。
如果系统运行中调度模块1掉电或者无响应,客户端模块9就无法从监视模块8获取数据,这种情况持续一定时间后,客户端模块9会通过提示框或警报声等方法提示用户排除故障。故障排除后,调度模块1重新读取配置文件与各监控模块建立连接,各监控模块根据各自的日志将未成功传送给调度模块1的信息重新传送。
如果某一监控模块停止工作,调度模块1在经过一定时间没有从该模块收到信息后判断该模块出现故障。故障原因可能是由断电或断网造成的物理故障也可能是该模块的进程无响应。调度模块1侦测与该监控模块的物理机器的连接是否正常(比如可以使用ping命令),如果不正常说明是物理故障,通过客户端模块9向用户发送提示。如果连接正常说明是该模块的进程无响应,则等待一定时间后再试,经过一定次数的尝试仍无法通信再通过客户端模块9向用户发送提示。
如果某一处理单元所在的物理机器掉电,重新通电后,该监控模块的处理单元重新初始化与其他模块建立连接。如果掉电的机器是输入处理单元、视频处理单元或音频处理单元所在的机器,已经完成处理的文件会被从<Source>项目录移送至<Processed>或<failed>等目录,因此,恢复后只要从<Source>项目录读取文件继续进行处理即可。如果掉电的机器是输出处理单元所在的机器,初始化后,输出处理模块扫描<Source>项目录,读取目录下的total文件,建立音、视频文件的接收映射表,并根据<Source>项目录下的GOP和GOA文件填写接收映射表。扫描的同时监视最新收到的文件,对<Source>项目录下的所有文件都完成上述操作后继续S93~S917的处理。如果某一处理单元所在的物理机器断网,当连接恢复时,调度模块1向其发送最新的配置文件,该单元的监控模块查询日志,并指令该单元的传输模块将<Send >目录下的文件传输给指定的处理单元。
如果监控模块的进程无响应后被重启,重启后首先与其他模块建立通信,然后在日志中查询与各模块的最后通信时间,要求调度模块1和对应的处理模块、传输模块重传该时间之后的信息。监控模块向调度模块1发送信息时都带有配置文件的版本号,因此,调度模块1发现信息中的配置文件过期会重新发送新的配置文件。监控模块对收到的重传的信息执行正常的操作。
如上所述,输入处理模块、视频处理模块、音频处理模块以及输出处理模块定时通过消息队列向各自的监控模块报告各自模块的工作状态,因此,当某个模块的进程无响应超过一定时间,对应的监控模块就会发现异常,如果等待一定时间不能恢复,监控模块就提醒用户重启该模块的进程或者自行重启该模块的进程。重启后,这些模块从各自的工作目录读取文件进行处理即可。
图13是向系统中添加处理单元的操作流程图。如图13所示,在将服务器作为处理单元接入系统前,在服务器上搭建各处理模块和通信模块所需的软件环境,使服务器具有前述音频或视频处理单元的功能,即使得新加入的音频处理单元具有与系统中已有的音频处理单元相同的结构,例如具有相应的监控模块、音频处理模块和传输模块,同样使得新加入的视频处理单元具有与系统中已有的视频处理单元相同的结构,例如具有相应的监控模块、视频处理模块和传输模块。同时,将服务器的网络环境设置为可以与系统的各部分相互通信的状态(步骤S101)。然后,将调度模块1的地址信息存入该服务器(步骤S102)。至此,上述处理单元的接入准备操作完成。启动该处理单元并接入系统,在本实施方式中,新加入的上述处理单元被设定为在接入时按照存储的调度模块1的地址从调度模块1获取系统配置文件(tvmccd.cfg)(步骤S103)。获取系统配置文件后,上述处理单元将本单元的各项信息加入配置文件,加入的信息包括本单元的控制模块的通信地址、本单元是视频处理单元还是音频处理单元、工作目录的位置等,与配置文件中记录的其他处理单元的信息种类相同。然后,上述处理单元更新配置文件的版本号并将其发回给调度模块1(步骤S104)。调度模块1核对上述处理单元发送的配置文件的版本是否比自己的新,以确定替换或更新自己的配置文件,并将更新的配置文件发给系统的各单元(步骤S105)。上述输入处理单元2和上述输出处理单元7根据新的配置文件与新加入的上述处理单元建立通信连接,上述输入处理单元2开始按照新的处理单元数量分配处理任务(步骤S106)。至此,该处理单元被加入系统,并可以开始与系统中原有的处理单元同样地进行音视频文件的处理。
在上述步骤S105中,调度模块1需要对从上述处理单元返回的配置文件的版本进行分析,以确定是否可以替换自己的配置文件。假设当前调度模块1的配置文件版本号为A1,新进入系统的处理单元B1从调度模块1取得了版本号为A1的配置文件,在处理单元B1返回新配置文件之前又有新进入系统的处理单元B2从调度模块1取得了该版本号为A1的配置文件;处理单元B1首先返回包含自身信息的版本号为A1-B1的配置文件给调度模块1,随后处理单元B2也返回包含自身信息的版本号为A1-B2的配置文件给调度模块1。在此过程中,如果调度模块1只是简单地用返回的新配置文件代替自己的旧配置文件,那么调度模块1的配置文件A1会先被替换为A1-B1然后被替换为A1-B2。这样,处理单元B1的信息就没有被加入配置文件中。为避免这种情况,调度模块1必须对更新配置文件的操作建立规则以防止错误的产生。
其中一种机制可以是在调度模块1中设置一个与处理单元对应的更新标记,更新标记中的信息包括与处理单元对应的编码以及一个状态值。比如处理单元B1从调度模块1取得了版本号为A1的配置文件,调度模块1将更新标记对应的处理单元设定为B1,状态值设定为1。此时更新标记的信息表明当前进行配置文件更新的处理单元为B1,状态值为1表示不能访问配置文件。如果在处理单元B1返回新配置文件之前有其他新加入的处理单元请求从调度模块1获取配置文件,则调度模块1会查询其更新标记,当更新标记的值为1时,该请求会被拒绝或暂时搁置。处理单元B1返回新配置文件后,调度模块1将配置文件的版本号与更新标记核对,如果版本号显示是更新标记对应的处理单元发来的,调度模块1用该新配置文件替换自身的配置文件,并将更新标记对应的处理单元设定清空,将更新标记的状态值设为0。当状态值为0时,调度模块1就可以接受新加入的处理单元获取配置文件的请求。
另一种机制是调度模块1不是直接用上述处理单元返回的新配置文件替换自己的配置文件而是扫描新配置文件中增加的项目,将该项目加入自己的配置文件中。比如,配置文件使用了XML格式,每个处理单元的信息在配置文件存储为一个特定的段落。调度模块1扫描收到新的配置文件,将其与自己的配置文件进行比较,如果有代表新的处理单元的段落,就将其加入自己的配置文件的相应位置。
当需要将系统中的若干处理单元需要退出系统时,用户首先通过客户端向调度模块1发出指令。调度模块1将指令退出的处理单元对应的状态在配置文件中标记为代表将要退出的值,并修改任务分配算法,不再向这些处理单元分配新的任务。要退出的处理单元继续对已分配的处理任务进行处理,并将处理结果发送给上述输出处理单元7。调度模块1查询从该处理单元的监控模块和上述输出处理单元7收到的该处理单元的任务状态信息。当确认该处理单元的处理任务已完成或经过一定时间仍未完成时,将该处理单元对应的信息从系统配置文件中删除。至此,该处理单元完全退出音视频处理系统。
在有些情况下,用户可能急需这些要退出的服务器去处理其他任务,而不是在完成已分配的处理任务后才退出系统。此时,用户也可以直接将该服务器关机或者关闭其上运行的音视频处理进程,使其立即脱离系统。此时,调度模块1无法从该处理单元收到状态信息,因此认为该处理单元处于故障状态,暂时不向该处理单元分配任务。用户可以从客户端输入指令通知调度模块1该处理单元已被移除,调度模块1也可以预设一个时间阈值,故障时间超过该阈值则认为该处理单元已被移除。随后,调度模块1将该处理单元对应的信息从系统配置文件中删除。由于退出系统的处理单元尚有处理任务未完成,输出处理单元7在等待一定时间没有收到该处理单元的处理结果后将任务情况报告给调度模块1。调度模块1如前所述将未完成的任务分配给系统中的其他处理单元进行处理。
上述向系统中添加处理单元的操作适合于手动将全新的服务器接入系统的场合,由于服务器上没有事先加载音视频处理系统所需的各模块,用户需要在处理单元一端进行操作。但也有时可能是以下的情况:用户有大量的服务器接入在同一个网络中,其中一部分服务器用于组建本发明所述的音视频处理系统,另外的服务器用于其他用途,而另外的服务器中有些是具备了包括本发明的音视频处理等多种用途所需的处理环境,这部分服务器可以灵活地在多种用途间切换,这样可以根据不同用途的实时数据处理负荷的状况来调节服务器的负荷。在这种情况下,可以在调度模块1一端进行操作的本发明的第二形态更为便捷。此时,用户通过客户端模块修改调度模块1的配置文件,将需要加入系统的服务器的地址、类型等信息添加到配置文件中。调度模块1根据配置文件中的信息向要加入的服务器发送开启音视频处理服务的指令。需要加入的服务器中配置有监视是否收到开启或关闭各种服务的指令的指令监视模块,当收到开启音视频处理的指令后根据指令的内容相应地启动音频处理或视频处理所需要的软件环境和网络环境的初始化。初始化完成后,调度模块1和新加入的处理单元按照与之前所述相同的方式建立通信连接,更新系统配置文件,从而使新进入的处理单元开始执行音视频处理任务。通过这种方式,用户不必在每台要加入系统的服务器上都进行设置,只通过客户端就能完成所有的配置。
当服务器需要从本发明第二形态的系统中退出时,用户在客户端输入指令,调度模块1实施与第一形态中相同的操作。在上述实施方式中,当在系统运行过程中根据处理文件的负荷及用户硬件资源调配的需要对系统中的处理单元的数量进行调整时,比如,当有大量数据需要处理而刚好有几台闲置服务器时,用户就可以在不停止系统的运行的情况下,将这几台服务器作为处理单元加入系统,分担数据处理业务。同样,当数据处理任务较少而系统中处理单元的处理能力过剩或其他原因需要移除其中的一个或多个服务器时,可以将其中的一个或若干服务器从系统中移除,而不影响系统的正常运行。
在本实施方式中,各物理机器通过局域网连接,各模块的地址为所在机器的IP地址和对应端口号,但各物理机器也可以通过广域网或高速总线等其他方式连接,只要可以赋予各模块相应的地址表示方式即可。
另外,在利用本发明的系统处理大量的小体积视频文件时,也可以省略分割音/视频文件的步骤,让每个音频处理模块和视频处理模块独自处理一个源文件的音频或视频部分。
在本实施方式中,分布式系统用于处理音视频文件,但本系统改变相应模块的功能后也可以用于处理其他类型的数据,只要这种分块处理后再合并的处理流程不会对该数据的处理结果造成影响即可。

Claims (30)

1.一种分布式音视频文件处理系统,包括:
输入处理单元,用于接收源视频文件,对所述源视频文件进行处理获得视频数据和音频数据,并将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,并根据一定的分配规则将分割所得的视频数据片段和音频数据片段分配给相应的视频数据处理单元/音频数据处理单元进行处理;
数个视频数据处理单元,分别用于对经分割后的视频数据片段进行处理;
数个音频数据处理单元,分别用于对经分割后的音频数据片段进行处理;
输出处理单元,用于对经处理后的视频数据片段和音频数据片段进行处理并输出;
调度单元,用于协调所述输入处理单元、所述数个视频数据处理单元、所述数个音频数据处理单元及所述输出处理单元的工作,并当有新的音频处理单元和/或新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,能够协调所述输入处理单元、所述数个视频数据处理单元中剩余的视频数据处理单元、所述数个音频数据处理单元中剩余的音频数据处理单元及所述输出处理单元的工作。
2.根据权利要求1所述的音视频文件处理系统,其特征在于:
所述输入处理单元将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,将各视频数据片段和音频数据片段的顺序号按视频数据处理单元和音频数据处理单元的数量分别进行模运算,根据模运算的结分别将各视频数据片段和音频数据片段分配给相应的视频数据处理单元和音频数据处理单元进行处理。
3.根据权利要求1所述的音视频文件处理系统,其特征在于:
所述输入处理单元具有第一监控模块、第一处理模块和第一传输模块;
各视频数据处理单元分别具有第二监控模块、第二处理模块和第二传输模块;
各音频数据处理单元分别具有第三监控模块、第三处理模块和第三传输模块;
所述输出处理单元具有第四监控模块、第四处理模块和第四传输模块;其中,
所述第一、第二、第三和第四监控模块分别与所述调度单元进行通信连接,从所述调度单元接收相关指令,并各自将相关处理单元的运行状态报告给所述调度单元;所述第一传输模块分别与各所述第二传输模块和各所述第三传输模块通信连接,将需要处理的相应的视频数据片段和音频数据片段分别发送至各所述第二传输模块和各所述第三传输模块;所述第四传输模块分别与各所述第二传输模块和各所述第三传输模块通信连接,接收经处理后的视频数据片段和音频数据片段。
4.根据权利要求3所述的音视频文件处理系统,其特征在于: 
所述输入处理单元对所接收的源文件进行解封装,获得视频序列和音频序列,并分别将所述视频序列和所述音频序列进行分割处理;所述输出处理单元在判断从各视频数据处理单元和各音频数据处理单元接收到经处理后的所有的视频数据片段和音频数据片段后,将所接到的视频数据片段和音频数据片段进行合并,并按照预定格式进行封装。
5.根据权利要求4所述的音视频文件处理系统,其特征在于:
所述调度单元和所述第一、第二、第三和第四监控模块通过系统配置文件获取的地址信息进行通信。
6.根据权利要求5所述的音视频文件处理系统,其特征在于:
所述第一、第二、第三和第四监控模块分别定期地将相应处理单元的运行状态信息发送给所述调度单元;
所述调度单元根据所述运行状态信息维护系统配置文件,并将更新的系统配置文件分别发送给所述第一、第二、第三和第四监控模块;
其中,所述系统配置文件的内容包括所述视频数据处理单元的数量、物理地址、运行状态和工作目录和所述音频数据处理单元的数量、物理地址、运行状态和工作目录。
7.根据权利要求6所述的音视频文件处理系统,其特征在于:
    当有所述新的音频处理单元和/或所述新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,所述调度单元接收所述视频数据处理单元和/或所述音频数据处理单元的变化信息,根据所述变化信息修改所述系统配置文件,并发送给所述第一、第二、第三和第四监控模块。
8. 根据权利要求7所述的音视频文件处理系统,其特征在于:
所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块分别向所述调度单元发送本数据处理单元的相关信息,调度模块在收到所述信息后更新系统配置文件。
9. 根据权利要求8所述的音视频文件处理系统,其特征在于:
所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块从所述调度单元获取当前的系统配置文件,在其中加入本单元的信息后返回给所述调度单元;
所述调度单元收到返回的加入了新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件后,用返回的所述加入了新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件替换所述当前的系统配置文件。
10. 根据权利要求9所述的音视频文件处理系统,其特征在于:
所述调度单元在收到所述新的视频数据处理单元或所述新的音频数据处理单元中的监控模块返回的所述加入了本单元的信息后的系统配置文件之前,拒绝其他新的视频数据处理单元和/或其他新的音频数据处理单元中的监控模块从所述调度单元获取所述当前的系统配置文件的请求。
11. 根据权利要求7所述的音视频文件处理系统,其特征在于:
所述新的视频数据处理单元和所述新的音频数据处理单元还包括能够启动本单元的音频或视频处理作业的指令监控模块;
所述调度单元接收用户输入的所述新的视频数据处理单元和/或所述新的音频数据处理单元的相关信息,并根据所述相关信息中的地址向相应的所述指令监控模块发送启动音频和/或视频处理作业的指令。
12. 根据权利要求7所述的音视频文件处理系统,其特征在于:
当所述调度单元经过第一预定时间未从某一视频数据处理单元和/或音频数据处理单元接收到运行状态信息时,所述调度单元将该视频数据处理单元和/或该音频数据处理单元在所述系统配置文件中对应的信息标记为退出系统。
13. 根据权利要求12所述的音视频文件处理系统,其特征在于:
当所述调度单元经过小于所述第一预定时间的第二预定时间未从所述某一视频数据处理单元和/或音频数据处理单元接收到运行状态信息时,所述调度单元将该视频数据处理单元和/或音频数据处理单元在所述系统配置文件中对应的信息标记为故障。
14. 根据权利要求13所述的音视频文件处理系统,其特征在于:
所述调度单元停止向标记为故障或退出系统的视频数据处理单元和/或音频数据处理单元分配处理任务。
15. 根据权利要求7所述的音视频文件处理系统,其特征在于:
所述视频数据处理单元和所述音频数据处理单元还包括能够关闭本单元的音频或视频处理作业的指令监控模块;
所述调度单元接收用户输入的要退出所述系统的视频数据处理单元和/或音频数据处理单元的相关信息,并向要退出的所述视频数据处理单元和音频数据处理单元的所述指令监控模块发送关闭音频或视频处理作业的指令。
16.一种分布式音视频文件处理方法,包括: 
输入处理步骤,通过输入处理单元接收源视频文件,对所述源视频文件进行处理获得视频数据和音频数据,并分别将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,并根据一定的分配规则将分割所得的视频数据片段和音频数据片段分配给相应的视频数据处理单元和音频数据处理单元进行处理;
视频数据处理步骤,分别使用数个视频数据处理单元对经分割后的视频数据片段进行处理;
音频数据处理步骤,分别使用数个音频数据处理单元对经分割后的音频数据片段进行处理;
输出处理步骤,通过输出处理单元对经处理后的视频数据片段和音频数据片段进行处理并输出;
调度步骤,通过调度单元协调所述输入处理单元、所述数个视频数据处理单元、所述数个音频数据处理单元及输出处理单元的工作,并当有新的音频处理单元和/或新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,协调所述输入处理单元、所述数个视频数据处理单元中剩余的视频数据处理单元、所述数个音频数据处理单元中剩余的音频数据处理单元及所述输出处理单元的工作。
17.根据权利要求16所述的音视频文件处理方法,其特征在于: 
在所述输入处理步骤中,将所述视频数据和所述音频数据分别按顺序分割成视频数据片段和音频数据片段后,将各视频数据片段和音频数据片段的顺序号按视频数据处理单元和音频数据处理单元的数量分别进行模运算,根据模运算的结果分别将各视频数据片段和音频数据片段分配给相应的视频数据处理单元和音频数据处理单元进行处理。
18.根据权利要求16所述的音视频文件处理方法,其特征在于,所述输入处理步骤包括:
解封装步骤,对所接收的源文件进行解封装,获得视频序列和音频序列;
分割步骤,分别将所述视频序列和所述音频序列进行分割处理。
19.根据权利要求16所述的音视频文件处理方法,其特征在于:在所述输出处理步骤中,在判断从各视频数据处理单元和各音频数据处理单元接收到经处理后的所有的视频数据片段和音频数据片段后,将所接到的视频数据片段和音频数据片段进行合并,并按照预定格式进行封装。
20.根据权利要求16~19所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,通过系统配置文件获取的地址信息进行通信。
21.根据权利要求20所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,相应处理单元的运行状态信息分别定期地被发送给所述调度单元,所述调度单元根据所述运行状态信息维护系统配置文件,并发送更新的系统配置文件;
其中,所述系统配置文件的内容包括所述视频数据处理单元的数量、物理地址、运行状态和工作目录和所述音频数据处理单元的数量、物理地址、运行状态和工作目录。
22. 根据权利要求21所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,当有所述新的音频处理单元和/或所述新的视频处理单元加入,或所述数个视频数据处理单元和/或所述数个音频数据处理单元中的一个或多个退出所述系统时,所述调度单元接收处理单元的变化信息,根据所述变化信息修改所述系统配置文件,并发送给所述第一、第二、第三和第四监控模块。
23. 根据权利要求22所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块分别向所述调度单元发送本单元的相关信息,所述调度模块在收到所述相关信息后更新所述系统配置文件。
24. 根据权利要求23所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,所述新的视频数据处理单元和/或所述新的音频数据处理单元中的监控模块从所述调度单元获取当前的系统配置文件,在其中加入本单元的信息后返回给调度单元;
所述调度单元收到返回的加入新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件后,用所述加入新的视频数据处理单元和/或所述新的音频数据处理单元的信息后的系统配置文件替换所述当前的系统配置文件。
25. 根据权利要求24所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,所述调度单元在收到所述新的视频数据处理单元或所述新的音频数据处理单元的监控模块返回的所述加入本单元的信息后的系统配置文件之前,拒绝其他新的视频数据处理单元和/或其他新的音频数据处理单元中的监控模块从所述调度单元获取所述当前的系统配置文件的请求。
26. 根据权利要求22所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,所述调度单元接收用户输入的所述新的视频数据处理单元和/或所述新的音频数据处理单元的相关信息,并根据所述相关信息中的地址向所述新的视频数据处理单元和/或所述新的音频数据处理单元的指令监控模块发送启动音频或视频处理作业的指令;
所述指令监控模块收到调度单元发送的指令后启动本单元的音频或视频处理作业。
27. 根据权利要求22所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,当所述调度单元经过第一预定时间未从某一视频数据处理单元和/或某一音频数据处理单元接收到运行状态信息时,所述调度单元将所述某一视频数据处理单元和/或所述某一音频数据处理单元在所述系统配置文件中对应的信息标记为退出系统。
28. 根据权利要求27所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,当所述调度单元经过小于所述第一预定时间的第二预定时间未从所述某一视频数据处理单元和/或所述某一音频数据处理单元接收到所述运行状态信息时,所述调度单元将所述某一视频数据处理单元和或所述某一音频数据处理单元在所述系统配置文件中对应的信息标记为故障。
29. 根据权利要求28所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,所述调度单元停止向标记为故障或退出系统的视频数据处理单元或音频数据处理单元分配处理任务。
30. 根据权利要求22所述的音视频文件处理方法,其特征在于:
在所述调度步骤中,所述调度单元接收用户输入的要退出所述系统的视频数据处理单元和/或音频数据处理单元的相关信息,并向要退出所述系统的所述视频数据处理单元和/或所述音频数据处理单元的指令监控模块发送关闭音频或视频处理作业的指令;
所述指令监控模块在收到所述调度单元发送的指令后关闭本单元的音频或视频处理作业。
CN201410118828.7A 2014-03-27 2014-03-27 一种分布式音视频处理系统及处理方法 Expired - Fee Related CN103838878B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410118828.7A CN103838878B (zh) 2014-03-27 2014-03-27 一种分布式音视频处理系统及处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410118828.7A CN103838878B (zh) 2014-03-27 2014-03-27 一种分布式音视频处理系统及处理方法

Publications (2)

Publication Number Publication Date
CN103838878A true CN103838878A (zh) 2014-06-04
CN103838878B CN103838878B (zh) 2017-03-01

Family

ID=50802374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410118828.7A Expired - Fee Related CN103838878B (zh) 2014-03-27 2014-03-27 一种分布式音视频处理系统及处理方法

Country Status (1)

Country Link
CN (1) CN103838878B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302645A (zh) * 2015-10-29 2016-02-03 无锡天脉聚源传媒科技有限公司 一种任务分发方法及装置
CN105338373A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种Logo处理方法及装置
CN105338381A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种命令发送方法及装置
CN105338374A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
CN105354058A (zh) * 2015-10-29 2016-02-24 无锡天脉聚源传媒科技有限公司 一种文件更新方法及装置
CN105354080A (zh) * 2015-10-29 2016-02-24 无锡天脉聚源传媒科技有限公司 一种任务处理方法及装置
CN105407360A (zh) * 2015-10-29 2016-03-16 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
CN107609011A (zh) * 2017-07-28 2018-01-19 北京百分点信息科技有限公司 一种数据库记录的维护方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605710B (zh) * 2013-11-12 2017-10-03 天脉聚源(北京)传媒科技有限公司 一种分布式音视频处理装置及处理方法
CN103605709B (zh) * 2013-11-12 2017-10-24 天脉聚源(北京)传媒科技有限公司 一种分布式音视频处理装置及处理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302645A (zh) * 2015-10-29 2016-02-03 无锡天脉聚源传媒科技有限公司 一种任务分发方法及装置
CN105338373A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种Logo处理方法及装置
CN105338381A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种命令发送方法及装置
CN105338374A (zh) * 2015-10-29 2016-02-17 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
CN105354058A (zh) * 2015-10-29 2016-02-24 无锡天脉聚源传媒科技有限公司 一种文件更新方法及装置
CN105354080A (zh) * 2015-10-29 2016-02-24 无锡天脉聚源传媒科技有限公司 一种任务处理方法及装置
CN105407360A (zh) * 2015-10-29 2016-03-16 无锡天脉聚源传媒科技有限公司 一种数据处理方法及装置
CN105302645B (zh) * 2015-10-29 2018-10-26 无锡天脉聚源传媒科技有限公司 一种任务分发方法及装置
CN105354080B (zh) * 2015-10-29 2018-11-20 无锡天脉聚源传媒科技有限公司 一种任务处理方法及装置
CN107609011A (zh) * 2017-07-28 2018-01-19 北京百分点信息科技有限公司 一种数据库记录的维护方法和装置
CN107609011B (zh) * 2017-07-28 2020-07-28 北京百分点信息科技有限公司 一种数据库记录的维护方法和装置

Also Published As

Publication number Publication date
CN103838878B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
CN103838878A (zh) 一种分布式音视频处理系统及处理方法
CN103605709A (zh) 一种分布式音视频处理装置及处理方法
CN103605710A (zh) 一种分布式音视频处理装置及处理方法
CN102185718B (zh) 一种系统升级方法及其装置
CN104782133A (zh) 用于媒体数据递送控制的方法和装置
CN101690136A (zh) 实时协议流迁移
CN101651706A (zh) 一种数据发送和接收方法以及系统和装置
CN102591964A (zh) 数据读写分离机制的实现方法和装置
CN101436998A (zh) 报文转发路径获取方法和报文转发装置
CN101447856A (zh) 一种大容量文件传输方法
CN111880497A (zh) 基于容器的智能制造设备控制系统
CN112910937B (zh) 容器集群中的对象调度方法、装置、服务器和容器集群
CN104657841A (zh) 快件投递方法、投递处理方法及快递柜终端和服务系统
CN101202958B (zh) 电信业务信息处理方法和装置及系统
CN111970359A (zh) 基于Node.js服务器的前端无服务架构系统及建立方法
CN113626002A (zh) 一种服务执行方法及装置
CN102197390B (zh) 通过实现和绑定合约向客户机服务提供功能
CN101388792B (zh) 一种单板即插即用的处理方法、装置以及电信系统
CN101527732A (zh) 一种媒体数据远程传输服务管理控制方法及系统
CN100515028C (zh) 对机顶盒下载器文件进行统一升级管理的系统
CN113342764A (zh) 不同云端服务器之间的数据同步方法及装置
CN106357546A (zh) 路由器集群的升级系统、方法及装置
CN101170584B (zh) 分布式系统及其中的数据配置方法
CN102510398A (zh) 一种并发请求处理方法、装置及服务器
CN115776486A (zh) 一种基于交换节点分层组团的电子文件交换方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A distributed audio and video processing system and processing method

Effective date of registration: 20210104

Granted publication date: 20170301

Pledgee: Inner Mongolia Huipu Energy Co.,Ltd.

Pledgor: WUXI TVMINING MEDIA SCIENCE & TECHNOLOGY Co.,Ltd.

Registration number: Y2020990001517

PE01 Entry into force of the registration of the contract for pledge of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170301

Termination date: 20210327

CF01 Termination of patent right due to non-payment of annual fee