一種多媒體數(shù)據(jù)采集方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施方式提出了一種多媒體數(shù)據(jù)采集方法和系統(tǒng)。方法包括:將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng)求,并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含有該多媒體數(shù)據(jù)的多媒體數(shù)據(jù)類(lèi)型;根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體數(shù)據(jù)文件隊(duì)列;從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所述多媒體數(shù)據(jù)采集請(qǐng)求中獲取多媒體數(shù)據(jù)。本發(fā)明實(shí)施方式實(shí)現(xiàn)了一種通用的、可擴(kuò)展的多媒體數(shù)據(jù)采集方案。
【專利說(shuō)明】一種多媒體數(shù)據(jù)采集方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施方式涉及信息處理【技術(shù)領(lǐng)域】,更具體地,涉及一種多媒體數(shù)據(jù)采集方 法和系統(tǒng)。
【背景技術(shù)】
[0002] 在當(dāng)今的信息時(shí)代中,各種信息設(shè)備應(yīng)運(yùn)而生。而且,隨著電子消費(fèi)、計(jì)算機(jī)、通信 (3C)融合的到來(lái),人們?cè)絹?lái)越多地將注意力放到了對(duì)各個(gè)不同領(lǐng)域的信息設(shè)備進(jìn)行綜合利 用的研究上,以充分利用現(xiàn)有資源設(shè)備來(lái)為人們更好的服務(wù)。在這些資源設(shè)備的工作處理 過(guò)程中,經(jīng)常涉及到計(jì)算機(jī)文件的處理。
[0003] 多媒體技術(shù)不是各種信息媒體的簡(jiǎn)單復(fù)合,而更是一種把文本(Text)、圖形 (Graphics)、圖像(Images)、動(dòng)畫(huà)(Animation)和聲音(Sound)等形式的信息結(jié)合在一起, 并通過(guò)計(jì)算機(jī)進(jìn)行綜合處理和控制,能支持完成一系列交互式操作的信息技術(shù)。
[0004] 在各種多媒體數(shù)據(jù)相關(guān)應(yīng)用中,經(jīng)常會(huì)涉及到針對(duì)多媒體數(shù)據(jù)的采集任務(wù)?,F(xiàn)有 的多媒體數(shù)據(jù)采集方案大概包括三類(lèi):
[0005] (1)通過(guò)在客戶端(比如智能手機(jī))中安裝相關(guān)軟件(如錄音軟件),或者插入相關(guān) 采集代碼,在客戶端完成數(shù)據(jù)采集。在這種方式中,客戶端容量有限,一般不能采集大批量 數(shù)據(jù),而且用客戶端采集需要在每個(gè)客戶端都安裝相應(yīng)軟件或插入相關(guān)代碼,成本太高。由 于客戶端種類(lèi)繁多,客戶端的操作系統(tǒng)也不盡相同,采用同一套采集程序適應(yīng)種類(lèi)繁多的 客戶端基本是不可行的。
[0006] (2)在多媒體業(yè)務(wù)服務(wù)器(如語(yǔ)音識(shí)別服務(wù)器或圖像識(shí)別服務(wù)器)中,將多媒體數(shù) 據(jù)流寫(xiě)入文件(日志文件或其它文件),然后再通過(guò)分析相應(yīng)文件獲取采集數(shù)據(jù)。在這種方 式中,由于多媒體數(shù)據(jù)文件一般較大,而寫(xiě)文件是一個(gè)費(fèi)時(shí)的操作,所以這種采集方式必然 會(huì)增加多媒體業(yè)務(wù)服務(wù)器的處理時(shí)間。對(duì)于一些對(duì)實(shí)時(shí)性要求較高的應(yīng)用來(lái)說(shuō)(比如語(yǔ)音 實(shí)時(shí)對(duì)講),這種方法會(huì)影響線上服務(wù),而且采集的代碼和服務(wù)的代碼耦合度較高,后期維 護(hù)代價(jià)較高
[0007] (3)通過(guò)專有的采集代理進(jìn)行后臺(tái)采集。在這種方式中,由于數(shù)據(jù)采集代理一般專 為某一個(gè)服務(wù)定制,無(wú)法做到通用采集需求。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明實(shí)施方式提出一種多媒體數(shù)據(jù)采集方法,以提高多媒體數(shù)據(jù)采集實(shí)時(shí)性。
[0009] 本發(fā)明實(shí)施方式還提出了一種多媒體數(shù)據(jù)采集系統(tǒng),以提高多媒體數(shù)據(jù)采集實(shí)時(shí) 性。
[0010] 本發(fā)明實(shí)施方式的具體方案如下:
[0011] 一種多媒體數(shù)據(jù)采集方法,該方法包括:
[0012] 將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng)求,并發(fā)送所述 多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含該多媒體數(shù)據(jù)的多媒體數(shù)據(jù)類(lèi) 型;
[0013] 根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體數(shù)據(jù)文件 隊(duì)列;
[0014] 從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所述多媒體數(shù)據(jù)采集請(qǐng) 求中獲取多媒體數(shù)據(jù)。
[0015] 一種多媒體數(shù)據(jù)采集系統(tǒng),包括請(qǐng)求封裝單元、請(qǐng)求收集單元和數(shù)據(jù)采集單元,其 中:
[0016] 請(qǐng)求封裝單元,用于將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采 集請(qǐng)求,并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含該多媒體數(shù) 據(jù)的多媒體數(shù)據(jù)類(lèi)型;
[0017] 請(qǐng)求收集單元,用于根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng) 的多媒體數(shù)據(jù)文件隊(duì)列;
[0018] 數(shù)據(jù)采集單元,用于從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所 述多媒體數(shù)據(jù)采集請(qǐng)求中獲取多媒體數(shù)據(jù)。
[0019] 從上述技術(shù)方案可以看出,在本發(fā)明實(shí)施方式中,將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù) 傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng)求,并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù) 據(jù)采集請(qǐng)求中包含有該多媒體數(shù)據(jù)的多媒體數(shù)據(jù)類(lèi)型;根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體 數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體數(shù)據(jù)文件隊(duì)列;從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù) 據(jù)采集請(qǐng)求,并從所述多媒體數(shù)據(jù)采集請(qǐng)求中獲取多媒體數(shù)據(jù)。由此可見(jiàn),應(yīng)用本發(fā)明實(shí)施 方式之后,實(shí)現(xiàn)了一種通用的、可擴(kuò)展的多媒體數(shù)據(jù)采集方案。多媒體數(shù)據(jù)請(qǐng)求收集與多媒 體數(shù)據(jù)請(qǐng)求處理相互分離,從而可以提高多媒體數(shù)據(jù)采集實(shí)時(shí)性,尤其適用于實(shí)時(shí)性要求 較高的應(yīng)用(比如語(yǔ)音實(shí)時(shí)對(duì)講)。
[0020] 而且,本發(fā)明實(shí)施方式便于擴(kuò)展,可以大規(guī)模使用。
【專利附圖】
【附圖說(shuō)明】
[0021] 圖1為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)采集分層示意圖;
[0022] 圖2為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)采集方法流程圖;
[0023] 圖3為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)文件隊(duì)列分配示意圖;
[0024] 圖4為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0025] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步 的詳細(xì)描述。
[0026] 本發(fā)明實(shí)施方式提供一種通用的、可擴(kuò)展的多媒體(比如語(yǔ)音或圖像)數(shù)據(jù)采集方 案,以解決語(yǔ)音或圖像數(shù)據(jù)采集問(wèn)題。
[0027]圖1為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)采集分層示意圖。
[0028] 可以將本發(fā)明實(shí)施方式實(shí)施為三層,分別為請(qǐng)求封裝發(fā)送層、請(qǐng)求收集及處理層 以及數(shù)據(jù)存儲(chǔ)層。
[0029](1)、請(qǐng)求封裝發(fā)送層
[0030] 為了做到通用采集,可以設(shè)計(jì)一個(gè)通用的接口,使得不同的多媒體業(yè)務(wù)服務(wù)器α匕 如語(yǔ)音業(yè)務(wù)或圖像業(yè)務(wù)服務(wù)器)可以通過(guò)此通用接口把多媒體數(shù)據(jù)采集請(qǐng)求發(fā)送給請(qǐng)求收 集和處理層。為了不干擾多媒體業(yè)務(wù)服務(wù)器的原有邏輯,可以提供一個(gè)Clientlib,多媒體 業(yè)務(wù)服務(wù)器代碼通過(guò)調(diào)用clientlib中的相關(guān)函數(shù),把需要采集的多媒體數(shù)據(jù)封裝到通用 接口中形成該多媒體數(shù)據(jù)采集請(qǐng)求,并發(fā)送該多媒體數(shù)據(jù)采集請(qǐng)求到請(qǐng)求收集及處理層。
[0031] 請(qǐng)求封裝發(fā)送層具體可以實(shí)施為各種多媒體業(yè)務(wù)服務(wù)器。多媒體業(yè)務(wù)服務(wù)器用于 提供針對(duì)多媒體數(shù)據(jù)的各項(xiàng)業(yè)務(wù)。比如,針對(duì)語(yǔ)音類(lèi)別的多媒體數(shù)據(jù),多媒體業(yè)務(wù)服務(wù)器具 體可以是提供語(yǔ)音類(lèi)業(yè)務(wù)服務(wù)的機(jī)器,比如語(yǔ)音識(shí)別服務(wù)器;針對(duì)圖像類(lèi)別的多媒體數(shù)據(jù), 多媒體業(yè)務(wù)服務(wù)器具體可以是提供圖像類(lèi)業(yè)務(wù)服務(wù)的機(jī)器,比如二維碼識(shí)別服務(wù)器、人臉 識(shí)別服務(wù)器,等等。
[0032] 多媒體業(yè)務(wù)服務(wù)器在獲取了多媒體數(shù)據(jù)之后,將多媒體數(shù)據(jù)封裝在多媒體數(shù)據(jù)采 集請(qǐng)求中,并將該多媒體數(shù)據(jù)采集請(qǐng)求發(fā)送到請(qǐng)求收集及處理層。
[0033] (2)、請(qǐng)求收集及處理層
[0034] 請(qǐng)求收集及處理層用于完成多媒體數(shù)據(jù)的收集及處理工作。請(qǐng)求收集及處理層從 邏輯上分為三部分,分別為請(qǐng)求收集服務(wù)器、文件隊(duì)列和采集服務(wù)器。
[0035] 請(qǐng)求收集服務(wù)器的主要目的是接收由請(qǐng)求封裝發(fā)送層發(fā)送過(guò)來(lái)的多媒體數(shù)據(jù)采 集請(qǐng)求,根據(jù)多媒體數(shù)據(jù)采集請(qǐng)求中的多媒體數(shù)據(jù)類(lèi)型把請(qǐng)求分類(lèi)并放入不同的文件隊(duì)列 中。請(qǐng)求收集服務(wù)器除了此功能外可以沒(méi)有其它功能,因此處理時(shí)間相當(dāng)快,從而基本不會(huì) 占用多媒體業(yè)務(wù)服務(wù)器的資源,對(duì)多媒體業(yè)務(wù)服務(wù)器性能的影響基本可以忽略。
[0036] 同時(shí),請(qǐng)求收集服務(wù)器也實(shí)時(shí)監(jiān)控文件隊(duì)列大小,如果文件隊(duì)列大小超過(guò)閾值限 制,請(qǐng)求收集服務(wù)器將暫時(shí)拒絕請(qǐng)求封裝發(fā)送層發(fā)過(guò)來(lái)的請(qǐng)求。
[0037] 文件隊(duì)列的目的是對(duì)請(qǐng)求封裝發(fā)送層發(fā)送過(guò)來(lái)的多媒體數(shù)據(jù)采集請(qǐng)求進(jìn)行暫存, 供后續(xù)采集服務(wù)器提出并處理。加入文件對(duì)列的好處是可以保存所有需要處理的采集請(qǐng) 求,同時(shí),對(duì)于非實(shí)時(shí)業(yè)務(wù)來(lái)說(shuō),文件隊(duì)列比內(nèi)存隊(duì)列要大得多(硬盤(pán)比內(nèi)存容量大得多)。
[0038] 比如:文件隊(duì)列可以采用大文件加索引文件的方式存儲(chǔ)和查詢數(shù)據(jù)。用戶可以 按照不同的業(yè)務(wù)配置文件組數(shù)(比如語(yǔ)音數(shù)據(jù)放到一個(gè)組,圖像數(shù)據(jù)放到另一個(gè)組)以及 每個(gè)組中的并行文件子隊(duì)列數(shù);每個(gè)文件子隊(duì)列最多可以存放個(gè)文件,如果子隊(duì)列下的 4294967296個(gè)文件已經(jīng)寫(xiě)滿,則此子隊(duì)列會(huì)拒絕新的寫(xiě)請(qǐng)求。
[0039] 每個(gè)文件子隊(duì)列可以有兩個(gè)狀態(tài)文件,分別標(biāo)識(shí)此子隊(duì)列中目前讀和寫(xiě)的位置 (狀態(tài)文件中記錄了文件名和偏移量),而且文件子隊(duì)列中每個(gè)文件大小被限制為128M,大 小超過(guò)此限制時(shí)自動(dòng)切換到另一文件;當(dāng)一個(gè)文件中的內(nèi)容被處理完時(shí),此文件會(huì)被定期 刪除。
[0040] 采集服務(wù)器的主要功能是從文件隊(duì)列中取出多媒體數(shù)據(jù)采集請(qǐng)求,分類(lèi)進(jìn)行數(shù)據(jù) 采集處理,并把符合條件的多媒體文件保存到HDFS,把多媒體文件的元信息(如語(yǔ)音長(zhǎng)度, 語(yǔ)言類(lèi)型,存放位置等等)保存到MYSQL。
[0041] 具體地、采集服務(wù)器中可以包含有語(yǔ)音采集服務(wù)集、圖像采集服務(wù)集等多媒體采 集服務(wù)集,分別用于處理不同類(lèi)型的多媒體業(yè)務(wù)請(qǐng)求。此服務(wù)集是可擴(kuò)展的,可以在集合中 方便的增加新的處理單元以適應(yīng)新的語(yǔ)音或圖像處理要求。
[0042] 采集服務(wù)器負(fù)責(zé)真正的數(shù)據(jù)處理及采集工作,采集服務(wù)器可以采用注冊(cè)處理 (handler)的方式工作,其中所有處理語(yǔ)音的handler形成語(yǔ)音數(shù)據(jù)服務(wù)集,所有的圖像處 理handler形成圖像數(shù)據(jù)服務(wù)集合。采用handler的好處是可以根據(jù)需要,靈活地增減需 要的handler而對(duì)整個(gè)框架和其它handler沒(méi)有任何影響。
[0043] 基于上述分析,圖2為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)采集方法流程圖。
[0044] 如圖2所示,該方法包括:
[0045] 步驟201:將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng)求, 并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含有該多媒體數(shù)據(jù)的多 媒體數(shù)據(jù)類(lèi)型;
[0046] 步驟202:根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體 數(shù)據(jù)文件隊(duì)列;
[0047] 步驟203:從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所述多媒體 數(shù)據(jù)采集請(qǐng)求中獲取多媒體數(shù)據(jù)。
[0048] 在一個(gè)實(shí)施方式中:
[0049] 該方法進(jìn)一步包括:獲取所述多媒體數(shù)據(jù)的元信息,并將所述多媒體數(shù)據(jù)的元信 息保存到關(guān)系型數(shù)據(jù)庫(kù);
[0050] 將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)。
[0051] 在一個(gè)實(shí)施方式中:
[0052] 該方法進(jìn)一步包括:
[0053] 判斷多媒體數(shù)據(jù)文件隊(duì)列的隊(duì)列大小是否超過(guò)預(yù)先設(shè)定的隊(duì)列大小門(mén)限值,如果 是,則拒絕接受分配多媒體數(shù)據(jù)采集請(qǐng)求。
[0054] 在一個(gè)實(shí)施方式中:
[0055] 所述通用數(shù)據(jù)傳輸協(xié)議格式為Protobuf;所述關(guān)系型數(shù)據(jù)庫(kù)為MySQL數(shù)據(jù)庫(kù);所 述分布式文件存儲(chǔ)系統(tǒng)為HDFS。
[0056] 以上雖然列出了通用數(shù)據(jù)傳輸協(xié)議格式的典型實(shí)例,本領(lǐng)域技術(shù)人員可以意識(shí) 至丨J,通用數(shù)據(jù)傳輸協(xié)議格式并不局限于為Protobuf。
[0057] 在一個(gè)實(shí)施方式中:
[0058] 在將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)之前,該方法進(jìn)一步包括:
[0059] 對(duì)所述多媒體數(shù)據(jù)進(jìn)行合法性驗(yàn)證,并丟棄不通過(guò)合法性驗(yàn)證的多媒體數(shù)據(jù)。
[0060] 在一個(gè)實(shí)施方式中:
[0061] 所述多媒體數(shù)據(jù)采集請(qǐng)求包括:用于標(biāo)識(shí)多媒體數(shù)據(jù)類(lèi)型的業(yè)務(wù)類(lèi)型字段、用于 標(biāo)識(shí)多媒體數(shù)據(jù)子類(lèi)型的子業(yè)務(wù)類(lèi)型字段、用于承載多媒體數(shù)據(jù)的數(shù)據(jù)字段和保留字段。
[0062] 比如,針對(duì)通用protobuf接口,可以采用下列方式定義多媒體數(shù)據(jù)采集請(qǐng)求。
[0063] Message comm_req_interface { Int32 type; Int32 sub_type; Bytes data; Bytes reserved; }
[0064]其中:
[0065]type字段表示多媒體業(yè)務(wù)類(lèi)型,比如語(yǔ)音還是圖像業(yè)務(wù);
[0066] sub_type字段表示具體的子業(yè)務(wù),比如語(yǔ)音聊天、語(yǔ)音提醒、公共賬號(hào)語(yǔ)音等等;
[0067]data字段是protobuf字節(jié)流,不同業(yè)務(wù)把自己主要的多媒體數(shù)據(jù)序列化以后的 結(jié)果放到data字段;
[0068]reserved字段是保留字段,可以傳送一些附加信息,比如各個(gè)業(yè)務(wù)發(fā)送的message名稱等等。
[0069] clientlib和請(qǐng)求收集服務(wù)器之間可以采用rpc的方式進(jìn)行數(shù)據(jù)交互,對(duì)于多媒 體業(yè)務(wù)服務(wù)器端來(lái)說(shuō),clientlib主要提供兩種調(diào)用接口:請(qǐng)求封裝接口,此接口主要功能 是提供發(fā)送數(shù)據(jù)的封裝,把原始的請(qǐng)求封裝為通用protobuf的接口形式;數(shù)據(jù)發(fā)送接口, 此接口的主要功能是把封裝后的消息發(fā)送給請(qǐng)求收集服務(wù)器,此接口內(nèi)部會(huì)做負(fù)載均衡以 及相關(guān)容錯(cuò)處理(比如服務(wù)器心跳,錯(cuò)誤重發(fā)等等),保證請(qǐng)求能均勻的發(fā)送到后端的請(qǐng)求 收集服務(wù)器集合中。
[0070] 請(qǐng)求收集服務(wù)器主要的功能就是把所有收集到的請(qǐng)求分類(lèi),并放入相應(yīng)的文件隊(duì) 列。
[0071] 圖3為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)文件隊(duì)列分配示意圖。
[0072] 如圖3所示,該方法包括:
[0073] 步驟301:從請(qǐng)求封裝發(fā)送層獲取多媒體數(shù)據(jù)采集請(qǐng)求。
[0074] 步驟302:判斷對(duì)應(yīng)于該多媒體數(shù)據(jù)采集請(qǐng)求中多媒體數(shù)據(jù)類(lèi)型的文件隊(duì)列長(zhǎng)度 是否超過(guò)預(yù)先設(shè)置的門(mén)限值,如果是則執(zhí)行步驟307,否則執(zhí)行步驟303及其后續(xù)步驟。
[0075] 步驟303:對(duì)該多媒體數(shù)據(jù)采集請(qǐng)求進(jìn)行反序列化操作。
[0076] 步驟304:判斷是否正確執(zhí)行了反序列化操作,如果沒(méi)有正確執(zhí)行了反序列化操 作,則執(zhí)行步驟307,如果正確執(zhí)行了反序列化操作,則執(zhí)行步驟305及其后續(xù)步驟;
[0077] 步驟305:判斷媒體數(shù)據(jù)采集請(qǐng)求中的類(lèi)型字段和子類(lèi)型字段是否是預(yù)先設(shè)定的 允許值,如果是,則執(zhí)行步驟306及其后續(xù)步驟,;如果不是,則執(zhí)行步驟307;
[0078] 步驟306:將該多媒體數(shù)據(jù)采集請(qǐng)求分配到相對(duì)應(yīng)的文件隊(duì)列;
[0079] 步驟307:拒絕該多媒體數(shù)據(jù)采集請(qǐng)求。
[0080] 如果為了進(jìn)一步節(jié)省請(qǐng)求收集服務(wù)器的處理時(shí)間,可以把針對(duì)數(shù)據(jù)采集請(qǐng)求的反 序列化操作以及判斷類(lèi)型字段和子類(lèi)型字段的步驟(即步驟303、304和305)去掉,直接把 多媒體數(shù)據(jù)采集請(qǐng)求放入文件隊(duì)列。如果加入步驟303、304和305,則可以在源頭上排除一 些臟數(shù)據(jù),以免占用文件隊(duì)列空間。
[0081] 圖4為根據(jù)本發(fā)明實(shí)施方式多媒體數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)圖。
[0082] 如圖4所示,該系統(tǒng)包括請(qǐng)求封裝單元401、請(qǐng)求收集單元402和數(shù)據(jù)采集單元 403,其中:
[0083] 請(qǐng)求封裝單元401,用于將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù) 據(jù)采集請(qǐng)求,并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含該多媒 體數(shù)據(jù)的多媒體數(shù)據(jù)類(lèi)型;
[0084] 請(qǐng)求收集單元402,用于接收該多媒體數(shù)據(jù)采集請(qǐng)求,并根據(jù)多媒體數(shù)據(jù)類(lèi)型將所 述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體數(shù)據(jù)文件隊(duì)列;
[0085] 數(shù)據(jù)采集單元403,用于從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從 所述多媒體數(shù)據(jù)采集請(qǐng)求中獲取多媒體數(shù)據(jù)。
[0086] 在一個(gè)實(shí)施方式中:
[0087] 進(jìn)一步包括關(guān)系型數(shù)據(jù)庫(kù)404和分布式文件存儲(chǔ)系統(tǒng)405 ;
[0088] 數(shù)據(jù)采集單元493,用于獲取所述多媒體數(shù)據(jù)的元信息,并將所述多媒體數(shù)據(jù)的元 信息保存到關(guān)系型數(shù)據(jù)庫(kù)404,還將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)405。
[0089] 在一個(gè)實(shí)施方式中:
[0090] 請(qǐng)求收集單元402,還用于判斷多媒體數(shù)據(jù)文件隊(duì)列的隊(duì)列大小是否超過(guò)預(yù)先設(shè) 定的隊(duì)列大小門(mén)限值,如果是,則拒絕接受分配多媒體數(shù)據(jù)采集請(qǐng)求。
[0091] 在一個(gè)實(shí)施方式中:
[0092] 所述通用數(shù)據(jù)傳輸協(xié)議格式為Protobuf;所述關(guān)系型數(shù)據(jù)庫(kù)為MySQL數(shù)據(jù)庫(kù);所 述分布式文件存儲(chǔ)系統(tǒng)為HDFS。
[0093] 在一個(gè)實(shí)施方式中:
[0094] 數(shù)據(jù)采集單元403,用于在在將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)之前, 對(duì)所述多媒體數(shù)據(jù)進(jìn)行合法性驗(yàn)證,并丟棄不通過(guò)合法性驗(yàn)證的多媒體數(shù)據(jù)。
[0095] 在一個(gè)實(shí)施方式中:
[0096] 所述多媒體數(shù)據(jù)采集請(qǐng)求包括:用于標(biāo)識(shí)多媒體數(shù)據(jù)類(lèi)型的業(yè)務(wù)類(lèi)型字段、用于 標(biāo)識(shí)多媒體數(shù)據(jù)子類(lèi)型的子業(yè)務(wù)類(lèi)型字段、用于承載多媒體數(shù)據(jù)的數(shù)據(jù)字段和保留字段。[0097] 實(shí)際上,可以通過(guò)多種形式來(lái)具體實(shí)施本發(fā)明實(shí)施方式所提出的多媒體數(shù)據(jù)采集 方法和裝置。
[0098] 比如,可以遵循一定規(guī)范的應(yīng)用程序接口,將多媒體數(shù)據(jù)采集方法編寫(xiě)為安裝到 個(gè)人電腦、移動(dòng)終端等中的插件程序,也可以將其封裝為應(yīng)用程序以供用戶自行下載使用。 當(dāng)編寫(xiě)為插件程序時(shí),可以將其實(shí)施為OCX、dll、cab等多種插件形式。也可以通過(guò)Flash 插件、RealPlayer插件、MMS插件、MIDI五線譜插件、ActiveX插件等具體技術(shù)來(lái)實(shí)施本發(fā) 明實(shí)施方式所提出的多媒體數(shù)據(jù)采集方法。
[0099] 可以通過(guò)指令或指令集存儲(chǔ)的儲(chǔ)存方式將本發(fā)明實(shí)施方式所提出的多媒體數(shù)據(jù) 采集方法存儲(chǔ)在各種存儲(chǔ)介質(zhì)上。這些存儲(chǔ)介質(zhì)包括但是不局限于:軟盤(pán)、光盤(pán)、DVD、硬盤(pán)、 閃存、U盤(pán)、CF卡、SD卡、MMC卡、SM卡、記憶棒(MemoryStick)、xD卡等。
[0100] 另外,還可以將本發(fā)明實(shí)施方式所提出的多媒體數(shù)據(jù)采集方法應(yīng)用到基于閃存 (Nandflash)的存儲(chǔ)介質(zhì)中,比如U盤(pán)、CF卡、SD卡、SDHC卡、MMC卡、SM卡、記憶棒、xD卡 等。
[0101] 綜上所述,將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng)求, 并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含有該多媒體數(shù)據(jù)的多 媒體數(shù)據(jù)類(lèi)型;根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體數(shù)據(jù) 文件隊(duì)列;從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所述多媒體數(shù)據(jù)采集 請(qǐng)求中獲取多媒體數(shù)據(jù)。由此可見(jiàn),應(yīng)用本發(fā)明實(shí)施方式之后,實(shí)現(xiàn)了一種通用的、可擴(kuò)展 的多媒體數(shù)據(jù)采集方案,多媒體數(shù)據(jù)請(qǐng)求收集與多媒體數(shù)據(jù)請(qǐng)求處理相互分離,從而可以 提高多媒體數(shù)據(jù)采集實(shí)時(shí)性,尤其適用于實(shí)時(shí)性要求較高的應(yīng)用(比如語(yǔ)音實(shí)時(shí)對(duì)講)。而 且,本發(fā)明實(shí)施方式便于擴(kuò)展,可以大規(guī)模使用。
[0102] 以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在 本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
【權(quán)利要求】
1. 一種多媒體數(shù)據(jù)采集方法,其特征在于,該方法包括: 將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng)求,并發(fā)送所述多媒 體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含有該多媒體數(shù)據(jù)的多媒體數(shù)據(jù)類(lèi)型; 根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多媒體數(shù)據(jù)文件隊(duì) 列; 從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所述多媒體數(shù)據(jù)采集請(qǐng)求中 獲取多媒體數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的多媒體數(shù)據(jù)采集方法,其特征在于,該方法進(jìn)一步包括: 獲取所述多媒體數(shù)據(jù)的元信息,并將所述多媒體數(shù)據(jù)的元信息保存到關(guān)系型數(shù)據(jù)庫(kù); 將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)。
3. 根據(jù)權(quán)利要求1所述的多媒體數(shù)據(jù)采集方法,其特征在于,該方法進(jìn)一步包括: 判斷多媒體數(shù)據(jù)文件隊(duì)列的隊(duì)列大小是否超過(guò)預(yù)先設(shè)定的隊(duì)列大小門(mén)限值,如果是, 則拒絕接受分配多媒體數(shù)據(jù)采集請(qǐng)求。
4. 根據(jù)權(quán)利要求1所述的多媒體數(shù)據(jù)采集方法,其特征在于,所述通用數(shù)據(jù)傳輸協(xié)議 格式為Protobuf ;所述關(guān)系型數(shù)據(jù)庫(kù)為MySQL數(shù)據(jù)庫(kù);所述分布式文件存儲(chǔ)系統(tǒng)為HDFS。
5. 根據(jù)權(quán)利要求2所述的多媒體數(shù)據(jù)采集方法,其特征在于,在將所述多媒體數(shù)據(jù)保 存到分布式文件存儲(chǔ)系統(tǒng)之前,該方法進(jìn)一步包括: 對(duì)所述多媒體數(shù)據(jù)進(jìn)行合法性驗(yàn)證,并丟棄不通過(guò)合法性驗(yàn)證的多媒體數(shù)據(jù)。
6. 根據(jù)權(quán)利1-5中任一項(xiàng)所述的多媒體數(shù)據(jù)采集方法,其特征在于,所述多媒體數(shù)據(jù) 采集請(qǐng)求包括:用于標(biāo)識(shí)多媒體數(shù)據(jù)類(lèi)型的業(yè)務(wù)類(lèi)型字段、用于標(biāo)識(shí)多媒體數(shù)據(jù)子類(lèi)型的 子業(yè)務(wù)類(lèi)型字段、用于承載多媒體數(shù)據(jù)的數(shù)據(jù)字段和保留字段。
7. -種多媒體數(shù)據(jù)采集系統(tǒng),其特征在于,包括請(qǐng)求封裝單元、請(qǐng)求收集單元和數(shù)據(jù)采 集單元,其中: 請(qǐng)求封裝單元,用于將多媒體數(shù)據(jù)封裝為通用數(shù)據(jù)傳輸協(xié)議格式的多媒體數(shù)據(jù)采集請(qǐng) 求,并發(fā)送所述多媒體數(shù)據(jù)采集請(qǐng)求,在所述多媒體數(shù)據(jù)采集請(qǐng)求中包含該多媒體數(shù)據(jù)的 多媒體數(shù)據(jù)類(lèi)型; 請(qǐng)求收集單元,用于根據(jù)多媒體數(shù)據(jù)類(lèi)型將所述多媒體數(shù)據(jù)采集請(qǐng)求分配到相應(yīng)的多 媒體數(shù)據(jù)文件隊(duì)列; 數(shù)據(jù)采集單元,用于從多媒體數(shù)據(jù)文件隊(duì)列中調(diào)取多媒體數(shù)據(jù)采集請(qǐng)求,并從所述多 媒體數(shù)據(jù)采集請(qǐng)求中獲取多媒體數(shù)據(jù)。
8. 根據(jù)權(quán)利要求7所述的多媒體數(shù)據(jù)采集系統(tǒng),其特征在于,進(jìn)一步包括關(guān)系型數(shù)據(jù) 庫(kù)和分布式文件存儲(chǔ)系統(tǒng); 數(shù)據(jù)采集單元,用于獲取所述多媒體數(shù)據(jù)的元信息,并將所述多媒體數(shù)據(jù)的元信息保 存到關(guān)系型數(shù)據(jù)庫(kù),還將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)。
9. 根據(jù)權(quán)利要求7所述的多媒體數(shù)據(jù)采集系統(tǒng),其特征在于, 請(qǐng)求收集單元,還用于判斷多媒體數(shù)據(jù)文件隊(duì)列的隊(duì)列大小是否超過(guò)預(yù)先設(shè)定的隊(duì)列 大小門(mén)限值,如果是,則拒絕接受分配多媒體數(shù)據(jù)采集請(qǐng)求。
10. 根據(jù)權(quán)利要求7所述的多媒體數(shù)據(jù)采集系統(tǒng),其特征在于, 所述通用數(shù)據(jù)傳輸協(xié)議格式為Protobuf ;所述關(guān)系型數(shù)據(jù)庫(kù)為MySQL數(shù)據(jù)庫(kù);所述分 布式文件存儲(chǔ)系統(tǒng)為HDFS。
11. 根據(jù)權(quán)利要求8所述的多媒體數(shù)據(jù)采集系統(tǒng),其特征在于, 數(shù)據(jù)采集單元,用于在在將所述多媒體數(shù)據(jù)保存到分布式文件存儲(chǔ)系統(tǒng)之前,對(duì)所述 多媒體數(shù)據(jù)進(jìn)行合法性驗(yàn)證,并丟棄不通過(guò)合法性驗(yàn)證的多媒體數(shù)據(jù)。
12. 根據(jù)權(quán)利7-11中任一項(xiàng)所述的多媒體數(shù)據(jù)采集系統(tǒng),其特征在于,所述多媒體數(shù) 據(jù)采集請(qǐng)求包括:用于標(biāo)識(shí)多媒體數(shù)據(jù)類(lèi)型的業(yè)務(wù)類(lèi)型字段、用于標(biāo)識(shí)多媒體數(shù)據(jù)子類(lèi)型 的子業(yè)務(wù)類(lèi)型字段、用于承載多媒體數(shù)據(jù)的數(shù)據(jù)字段和保留字段。
【文檔編號(hào)】H04L29/06GK104426900SQ201310414156
【公開(kāi)日】2015年3月18日 申請(qǐng)日期:2013年9月11日 優(yōu)先權(quán)日:2013年9月11日
【發(fā)明者】孔令揮 申請(qǐng)人:騰訊科技(深圳)有限公司