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