專利名稱:一種處理海量數(shù)據(jù)的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對海量數(shù)據(jù)的處理技術(shù)。
背景技術(shù):
隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)成為信息傳播的重要途徑,用戶通過網(wǎng)絡(luò)訪 問服務(wù)器,以獲取所需要的數(shù)據(jù)。為了保證數(shù)據(jù)在有限的帶寬下進行傳輸, 通常需要對數(shù)據(jù)事先進行壓縮,當服務(wù)器收到用戶指令時,將完整的壓縮文 件通過網(wǎng)絡(luò)傳輸至客戶端,客戶端接收到壓縮文件后對其進行解壓顯示。隨著數(shù)字圖像技術(shù)及多々某體信息技術(shù)的發(fā)展,海量數(shù)據(jù)的應用越來越普 遍,如航空和航天遙感圖像數(shù)據(jù)、普通和專題地圖數(shù)字化數(shù)據(jù)、歷史文獻資 料以及多媒體集成數(shù)據(jù)、醫(yī)學圖像數(shù)據(jù)等。目前對數(shù)據(jù)的處理方法中,客戶 端需要將欲顯示的壓縮文件全部下載到內(nèi)存中,再將內(nèi)存中的壓縮文件全部 打開,由于海量數(shù)據(jù)的數(shù)據(jù)量很大,處理海量數(shù)據(jù)文件需要相當大的內(nèi)存空 間以及傳輸帶寬,因此,現(xiàn)有技術(shù)中對于海量數(shù)據(jù)用戶通常是被動的接收, 而無法在接收過程中對屏幕上的顯示數(shù)據(jù)進行處理,例如對某一幀進行加工、 修改等操作,無法實現(xiàn)交互式操作,從而不能滿足用戶的需求,降低用戶體 驗。發(fā)明內(nèi)容本發(fā)明提供一種處理海量數(shù)據(jù)的方法及系統(tǒng),適用于傳輸海量數(shù)據(jù)文件, 并且能夠?qū)崿F(xiàn)用戶的交互式操作,提高用戶體驗。本發(fā)明提供一種處理海量數(shù)據(jù)的方法,當讀取海量數(shù)據(jù)文件時,按照預 定的數(shù)值范圍讀取數(shù)據(jù),所述數(shù)值范圍為每次讀取的數(shù)據(jù)的范圍;將每次讀 取的數(shù)據(jù)進行保存,并記錄所述每次讀取的數(shù)據(jù)的定位信息;記錄預設(shè)的觸 發(fā)事件的屬性信息;當客戶端發(fā)送指令獲取所存儲的海量數(shù)據(jù)文件時,根據(jù) 所述指令中的標識信息查找所需要的海量數(shù)據(jù)文件,按照預定規(guī)則傳輸所迷海量數(shù)據(jù)文件中的數(shù)據(jù);當所述客戶端發(fā)送指令對所獲取的海量數(shù)據(jù)文件進 行處理時,如果所述指令為預設(shè)的觸發(fā)事件,則修改相應的觸發(fā)事件的屬性 信息,并將修改后的屬性信息傳輸至所述客戶端。本發(fā)明還提供一種處理海量數(shù)據(jù)的系統(tǒng),包括數(shù)據(jù)處理子系統(tǒng)和業(yè)務(wù)控 制子系統(tǒng);其中,所述數(shù)據(jù)處理子系統(tǒng),用于讀取并保存海量數(shù)據(jù)文件以及定位信 息;并將預設(shè)的觸發(fā)事件的屬性信息在第一配置文件中進行保存;所保存的海量數(shù)據(jù)文件包括至少一個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別包括按照 預定的數(shù)值范圍讀取的數(shù)據(jù),所述數(shù)值范圍為每次讀取的數(shù)據(jù)的范圍;所述 定位信息為所述數(shù)據(jù)塊對應的定位信息;所述業(yè)務(wù)控制子系統(tǒng),用于獲得所述海量數(shù)據(jù)文件、定位信息及所述第 一配置文件,當客戶端發(fā)送指令獲取所存儲的海量數(shù)據(jù)文件時,根據(jù)所述指 令中的標識信息查找所需要的海量數(shù)據(jù)文件,按照預定規(guī)則傳輸所述海量數(shù) 據(jù)文件中的數(shù)據(jù);當所述客戶端發(fā)送指令對所獲取的海量數(shù)據(jù)文件進行處理 時,如果所述指令為預設(shè)的觸發(fā)事件,則修改所述第一配置文件,并將修改 后的第 一配置文件傳輸至所述客戶端。由于本發(fā)明預先設(shè)置用戶處理海量數(shù)據(jù)文件時可能的觸發(fā)事件,并記錄 相應的觸發(fā)事件的屬性信息,當收到用戶指令時對相應的屬性信息進行處理 后發(fā)送至客戶端,從而使用戶能夠?qū)Ξ斍帮@示的海量數(shù)據(jù)文件進行處理,實
現(xiàn)了操作的交互性;另外,本發(fā)明將海量數(shù)據(jù)文件分塊保存,傳輸時每次按照預定的規(guī)則將每個數(shù)據(jù)塊或數(shù)據(jù)塊中的部分數(shù)據(jù)進行傳輸,而并非一次將 用戶需要的所有數(shù)據(jù)全部傳輸,由于每次傳輸?shù)臄?shù)據(jù)量較小,因此當用戶需 要對當前顯示的數(shù)據(jù)進行放大、縮小等處理時,可以將所需要的數(shù)據(jù)傳輸給 用戶。進一步,由于在存取數(shù)據(jù)時,將海量數(shù)據(jù)文件劃分成多個數(shù)據(jù)塊進行存 儲,使得寫入和讀取數(shù)據(jù)可以在多個數(shù)據(jù)塊中同時進行,從而提高了數(shù)據(jù)的 存取速度及數(shù)據(jù)的傳輸性能。
圖1為本發(fā)明一實施例處理海量數(shù)據(jù)的方法的流程圖;圖2為本發(fā)明一實施例處理海量數(shù)據(jù)的分布式系統(tǒng)的結(jié)構(gòu)框圖;圖3為本發(fā)明一實施例數(shù)據(jù)處理子系統(tǒng)的工作流程圖;圖4為本發(fā)明一實施例業(yè)務(wù)控制子系統(tǒng)的工作流程圖;圖5為本發(fā)明一實施例客戶端子系統(tǒng)的工作流程圖。
具體實施方式
本發(fā)明公開的處理海量數(shù)據(jù)的方法包括對海量數(shù)據(jù)文件的分塊壓縮的過 程、以及對海量數(shù)據(jù)進行傳輸和顯示過程,以下對各過程的實現(xiàn)方式進行闡 述。如圖1所示,由于海量數(shù)據(jù)的信息量很大,通常對海量數(shù)據(jù)進行壓縮, 以便于在網(wǎng)絡(luò)上傳輸,因此本發(fā)明預先設(shè)置每次讀取的數(shù)據(jù)的范圍(步驟 100),當讀取海量數(shù)據(jù)文件時,按照預定的數(shù)值范圍讀取數(shù)據(jù)(步驟101); 然后將每次讀取的數(shù)據(jù)壓縮后進行保存(步驟102),這樣,就將整個海量數(shù)
據(jù)文件劃分為若干個數(shù)據(jù)塊。由于每個數(shù)據(jù)塊在海量數(shù)據(jù)文件中占據(jù)一定的 位置,為了在客戶端需要的時候提取所存儲的海量數(shù)據(jù)文件,因此,可以將 每個數(shù)據(jù)塊對應的定位信息進行保存,為了提取方便,還可以保存每個數(shù)據(jù)塊的大小等信息(步驟103),以便當用戶提出相應的請求時,可以根據(jù)步驟 103記錄的信息查找到對應數(shù)據(jù)塊,由此可以將海量數(shù)據(jù)文件還原出來。本發(fā) 明所述的海量數(shù)據(jù)文件可以包括海量圖像數(shù)據(jù)、視頻、音頻數(shù)據(jù)文件等。當接收到用戶指令時,用戶指令通常會攜帶用戶所需要的海量數(shù)據(jù)文件 的標識信息,根據(jù)指令中的標識信息可以查找所需要的海量數(shù)據(jù)文件(步驟104) ,另外,可以根據(jù)傳輸帶寬及用戶需求以及客戶端顯示屬性等因素預先 設(shè)置傳輸數(shù)據(jù)包的規(guī)則,按照預定規(guī)則將海量數(shù)據(jù)文件傳輸?shù)娇蛻舳?步驟105) ;在本發(fā)明的一個實施例中,每次傳輸?shù)臄?shù)據(jù)范圍與讀取數(shù)據(jù)的數(shù)值范 圍一致,即每次傳輸一個數(shù)據(jù)塊??紤]傳輸帶寬及用戶需求以及客戶端顯示 屬性等因素,所設(shè)置的預定規(guī)則還可以進一步包括根據(jù)所述指令中的分辨 率信息將相應分辨率的數(shù)據(jù)進行傳輸,以便能夠使接收者在盡量短的等待時 間內(nèi)查看到所需的數(shù)據(jù)。由于需要按照客戶端的分辨率大小傳輸數(shù)據(jù),而對 于不同的客戶端,其分辨率可能各不相同,因此將海量數(shù)據(jù)文件劃分成各數(shù) 據(jù)塊進行存儲時,需要根據(jù)不同客戶端的分辨率,將每次所讀取的數(shù)據(jù)塊壓 縮成不同分辨率的數(shù)據(jù)塊進行保存,并記錄相應的分辨率信息;當接收到用 戶指令時,查找到所需要的海量數(shù)據(jù)文件后,根據(jù)所述指令中的分辨率信息 將相應分辨率的數(shù)據(jù)塊逐個進行傳輸。上述將數(shù)據(jù)塊按照不同分辨率壓縮以 及相應顯示的具體過程在下文中詳細介紹。客戶端對海量數(shù)據(jù)文件進行顯示時,獲取所傳輸?shù)臄?shù)據(jù)的定位信息,將 所傳輸?shù)臄?shù)據(jù)根據(jù)相應的定位信息進行解析,并在相應的位置顯示。另外,本發(fā)明還預先設(shè)置用戶處理海量數(shù)據(jù)文件時可能的觸發(fā)事件(例
如,用戶對當前顯示區(qū)域的海量數(shù)據(jù)文件中的部分顯示區(qū)域進行放大、縮小、修改、重新組合等對某部分數(shù)據(jù)進行處理的指令;或?qū)Ξ斍帮@示區(qū)域的數(shù)據(jù) 進行標注、增加特效、音頻等未涉及到所傳輸?shù)暮A繑?shù)據(jù)的指令),并記錄 預設(shè)的觸發(fā)事件的屬性信息(步驟103 );當所述客戶端發(fā)送指令對所獲取的 海量數(shù)據(jù)文件進行處理時,如果所述指令為預設(shè)的觸發(fā)事件,則修改相應的 觸發(fā)事件的屬性信息,并將修改后的屬性信息傳輸至所逸客戶端(步驟106 ); 同時,如果該觸發(fā)事件涉及到對數(shù)據(jù)的處理時(例如,放大、縮小等指令), 則當接收到對當前顯示區(qū)域的數(shù)據(jù)進行變更的用戶指令時,#4居用戶指令中 的分辨率信息以及需要變更數(shù)據(jù)在顯示區(qū)域的位置信息,獲得相應分辨率的 數(shù)據(jù)塊,然后將這些數(shù)據(jù)塊按照上述過程傳輸至客戶端。由此,使得系統(tǒng)在 發(fā)送、傳輸和接收各種海量數(shù)據(jù)(包括文字、圖形、聲音和圖像等)時實現(xiàn) 實時交互式操作,4吏得接收者在接收過程中可以對顯示區(qū)域的某一幀進行加 工、修改、放大和縮小,以及對顯示的數(shù)據(jù)進行修改和操作(例如在一個屏 幕上開多個窗口進行交互式操作),甚至可以在同樣的運動圖像上根據(jù)不同 的需要組合出不同的聲音,還可以通過攝像機把觀眾現(xiàn)場直接疊加到活動的 視頻圖像上去。如上所述,由于本發(fā)明在存取數(shù)據(jù)時,將海量數(shù)據(jù)文件劃分成多個數(shù)據(jù) 塊進行存儲,使得寫入和讀取數(shù)據(jù)可以在多個數(shù)據(jù)塊中同時進行,從而提高 了數(shù)據(jù)的存取速度及數(shù)據(jù)的傳輸性能。同時,由于本發(fā)明在傳輸數(shù)據(jù)時并非 將用戶需要的所有數(shù)據(jù)全部傳輸后再進行顯示,而是按照預定的規(guī)則傳輸數(shù) 據(jù)塊或者數(shù)據(jù)塊中的部分數(shù)據(jù),減少了用戶等待的時間,提高了用戶體驗, 同時,由于每次傳輸?shù)臄?shù)據(jù)量較小,因此可以實現(xiàn)數(shù)據(jù)的異地傳輸。由于本發(fā)明當用戶發(fā)送指令時,根據(jù)客戶端發(fā)送的用戶指令將數(shù)據(jù)的處 理結(jié)果傳遞至客戶端,而不是將數(shù)據(jù)發(fā)送給客戶端由客戶端再進行處理,從
而降低了通信負荷,縮短了用戶的等待時間。申請人在申請?zhí)枮?00710017386.5的申請文件中公開了 一種將海量數(shù)據(jù) 文件分成數(shù)據(jù)塊、將各數(shù)據(jù)塊按照不同的分辨率進行壓縮、以及將所傳輸?shù)?數(shù)據(jù)進行顯示的實施例,具體如下所述由于海量數(shù)據(jù)文件的數(shù)據(jù)量較大,在該實施例中,存取海量數(shù)據(jù)文件時, 將海量數(shù)據(jù)文件分成多個數(shù)據(jù)塊進行讀取和保存,由于分塊大小的選擇影響 并行處理能力,分塊越小, 一個文件被分割的塊數(shù)就越多,并行處理能力就 越強,數(shù)據(jù)存取速度就越高,但與此同時就會增加塊存取的隨機性和塊尋址 時間,可以根據(jù)不同的應用要求采用不同的分塊尺寸。具體的劃分過程可以 通過以下過程實現(xiàn)在讀取海量數(shù)據(jù)文件時,預先設(shè)定每次讀取的數(shù)據(jù)塊的 高度和寬度,將每次讀取的數(shù)據(jù)塊進行保存。當順序讀取完成一行數(shù)據(jù)中所 設(shè)定數(shù)據(jù)分塊寬度的數(shù)據(jù)后,存放到一個內(nèi)存緩沖,再將下一個所設(shè)定數(shù)據(jù) 分塊寬度的數(shù)據(jù)作為存放到另一個內(nèi)存緩沖,直到一行數(shù)據(jù)讀取完成。當一 行數(shù)據(jù)寬度不能被預先設(shè)定的數(shù)據(jù)分塊寬度整除時,可以補充填充色數(shù)據(jù)。 上一行數(shù)據(jù)讀取完畢,換行讀取下一行數(shù)據(jù)時,若讀取的數(shù)據(jù)在所設(shè)定的數(shù) 據(jù)分塊高度所對應的行數(shù)據(jù)范圍內(nèi),則將該數(shù)據(jù)存放到與上一行數(shù)據(jù)對應的 內(nèi)存緩沖,否則存放到重新開辟的內(nèi)存緩沖。如上文所述,為了提取數(shù)據(jù)的方便,將整個海量數(shù)據(jù)文件劃分為數(shù)據(jù)量 較小的數(shù)據(jù)塊,同時,為了尋址的需要,保存包含與數(shù)據(jù)塊相關(guān)的定位信息。 由于每個數(shù)據(jù)塊在整個海量數(shù)據(jù)文件中占有一定的位置,因此在對海量數(shù)據(jù) 文件分塊時,將每個數(shù)據(jù)塊的大小及定位信息存儲起來,建立一個數(shù)據(jù)塊位 置結(jié)構(gòu)文件,作為整個海量數(shù)據(jù)文件組織的空間索引文件,該結(jié)構(gòu)文件可以 包括分辨率信息、海量數(shù)據(jù)文件的大小信息、海量凄t據(jù)文件的定位信息(例
如起始位置信息、終止位置信息等)、各數(shù)據(jù)塊的起始定位信息(例如,起 始位置信息、終止位置信息等),以便在用戶提出相應請求時,可以從中查 找出相應的提取數(shù)據(jù)區(qū)域。在對海量數(shù)據(jù)文件進行顯示時,沖艮據(jù)顯示區(qū)域所 對應的數(shù)據(jù)塊的定位信息,檢索到所存儲的數(shù)據(jù)塊,讀取到客戶端的內(nèi)存緩 沖中,然后復制到顯示緩沖區(qū),在顯示區(qū)域范圍內(nèi)的數(shù)據(jù)顯示出來,所有的 數(shù)據(jù)塊可以拼接成一個完整的海量數(shù)據(jù)文件。由于海量數(shù)據(jù)文件的尺寸大小以及分辨率信息影響數(shù)據(jù)量的大小,而數(shù) 據(jù)量的大小又和讀取數(shù)據(jù)的時間息息相關(guān)。在實際應用中,顯示區(qū)域的大小 是固定的,各種客戶端對海量數(shù)據(jù)的查詢請求在多數(shù)情況下不會對應于原始 分辨率,而是低于原始分辨率的。在這種情況下,如果僅存在原始分辨率的 數(shù)據(jù),那么在處理查詢請求時,就不得不每次都要訪問原始分辨率的數(shù)據(jù), 也就是數(shù)據(jù)量最大的數(shù)據(jù),然后取出查詢請求中與顯示區(qū)域?qū)哪遣糠謹?shù)據(jù)后,再通過GDI+等圖像處理技術(shù)將其縮小到顯示區(qū)域的大小,這樣的處理 流程顯然是很低效的。因此本發(fā)明的一個實施例中在為不同的客戶端應用準 備好了各種不同分辨率的海量數(shù)據(jù),使得客戶端可以在這些不同分辨率的數(shù) 據(jù)中按需所取。在海量數(shù)據(jù)文件分塊的同時,每當所設(shè)定分塊大小的數(shù)據(jù)讀 取完畢進入該內(nèi)存緩沖后,生成各種分辨率級別的分層數(shù)據(jù)。海量數(shù)據(jù)的分 層結(jié)構(gòu)由原始的數(shù)據(jù)塊開始,建立起一系列不同分辨率的數(shù)據(jù)塊,這一系列 數(shù)據(jù)塊可以反映各種尺度下該數(shù)據(jù)塊的詳盡程度和概貌,形成各種分辨率的 數(shù)據(jù)塊。將數(shù)據(jù)塊處理為不同分辨率的具體的過程是為了使海量數(shù)據(jù)文件 能夠在各種不同分辨率的客戶端的顯示設(shè)備上顯示,需要預先獲取不同客戶 端顯示設(shè)備的分辨率信息,海量數(shù)據(jù)文件按照分塊大小讀入內(nèi)存緩沖后,對 數(shù)據(jù)塊進行前期預處理,包括直流電平位移和分量變換,對處理的結(jié)果進行 離散小波變換,得到小波系數(shù),然后對小波系數(shù)進行量化,將量化后的小波
系數(shù)劃分成小的數(shù)據(jù)單元即碼塊,對每個碼塊進行獨立的嵌入式編碼。將得 到的所有碼塊的嵌入式位流,按照率失真最優(yōu)原則分層組織,形成不同質(zhì)量 的數(shù)據(jù)塊。對每一層,按照一定的碼流格式打包,輸出壓縮碼流,將該碼流 進行保存,然后釋放該內(nèi)存緩沖。如此反復,就可以4要照預先設(shè)定的分塊大 小將每個數(shù)據(jù)塊壓縮成不同分辨率大小的數(shù)據(jù)塊。當客戶端讀取數(shù)據(jù)塊中的 數(shù)據(jù)時,根據(jù)所需分辨率尺寸信息以及壓縮碼流中存儲的參數(shù),對碼流進行 解包和熵解碼,然后進行反向量化和離散小波反變換,對反變換的結(jié)果進行 后期處理合成得到相應分辨率的海量數(shù)據(jù)。由于客戶端的顯示設(shè)備的分辨率問題導致將一個海量數(shù)據(jù)文件在顯示區(qū) 域的可視窗體內(nèi)進行顯示通常需要進行漫游顯示。通過上述數(shù)據(jù)分塊技術(shù)減 少了數(shù)據(jù)顯示時的定位和讀取的次數(shù),在一定程度上克服了數(shù)據(jù)顯示漫游過 程中的速度過慢問題。為了解決每次的漫游操作均需從硬盤讀取,進一步提 高數(shù)據(jù)顯示漫游的速度,利用計算機的緩存技術(shù),在客戶端顯示設(shè)備的顯示 區(qū)域附近區(qū)域再開辟一塊適當大小的內(nèi)存緩沖,在該緩沖區(qū)中存儲所讀取的 數(shù)據(jù),然后再將此緩存中顯示的相應部分拷貝到顯示區(qū)域。當此緩沖區(qū)的大 小大于滾動視圖的可見窗體尺寸,則在圖像漫游過程中,系統(tǒng)就不必每次都 重新從海量圖像文件中獲取顯示部分的數(shù)據(jù),只需計算應拷貝的緩沖區(qū)的位 置,再做一次數(shù)據(jù)復制即可。內(nèi)存緩沖的大小可以影響數(shù)據(jù)漫游的效率,若 太小則造成頻繁地讀取數(shù)據(jù),太大將受到計算機內(nèi)存的限制,而且大數(shù)據(jù)量 的讀入也會造成速度的延遲,因此內(nèi)存緩沖選取較優(yōu)的方式是選擇顯示區(qū)域 周圍距離較近的分塊。通常利用客戶端顯示數(shù)據(jù)時,當用戶按住鼠標左鍵拖 動不放開時,由于漫游的范圍最大也就是顯示區(qū)域的周邊區(qū)域,因此選擇適 當?shù)姆謮K大小以及顯示區(qū)域周圍最近的周邊區(qū)域作為內(nèi)存緩沖,恰好能夠?qū)?現(xiàn)顯示區(qū)域周邊區(qū)域的圖像均在內(nèi)存緩沖當中,從而保證了漫游操作時,只
要手按住鼠標左鍵不放開,所有漫游操作都不需與再從海量數(shù)據(jù)文件中讀取。 針對上述處理海量數(shù)據(jù)的方法,本發(fā)明的一個實施例中公開了一種處理海量數(shù)據(jù)的系統(tǒng),如圖2所示,該系統(tǒng)包括數(shù)據(jù)處理子系統(tǒng)201、業(yè)務(wù)控制子 系統(tǒng)203 ,以^^戶端子系統(tǒng)202 。數(shù)據(jù)處理子系統(tǒng)201讀取并保存海量數(shù)據(jù)文件以及定位信息;所保存的 海量數(shù)據(jù)文件包括通過上文所述的處理海量數(shù)據(jù)的方法保存的各數(shù)據(jù)塊,以 及各數(shù)據(jù)塊對應的定位信息,并將預設(shè)的觸發(fā)事件的屬性信息在第一配置文 件中進行保存。業(yè)務(wù)控制子系統(tǒng)203從數(shù)據(jù)處理子系統(tǒng)201獲得海量數(shù)據(jù)文件以及定位 信息,完成對客戶端子系統(tǒng)202的控制功能,當接收到用戶指令時,按照上 述方法提及的預定規(guī)則傳輸數(shù)據(jù),當客戶端發(fā)送指令對所獲取的海量數(shù)據(jù)文 件進行處理時,如果所述指令為預設(shè)的觸發(fā)事件,則^f奮改所述第一配置文件, 并將修改后的第 一配置文件傳輸至客戶端。數(shù)據(jù)處理子系統(tǒng)201還可以按照上文所述的方法將每個數(shù)據(jù)塊中的數(shù)據(jù) 壓縮成不同分辨率的數(shù)據(jù)并進行保存,在本發(fā)明的一個實施例中,所保存的 海量數(shù)據(jù)文件中存儲有不同分辨率的數(shù)據(jù)塊以及頭文件,在頭文件中保存有 與所述不同分辨率的數(shù)據(jù)塊對應的分辨率信息、各數(shù)據(jù)塊的定位信息、以及 其他與海量數(shù)據(jù)文件及數(shù)據(jù)塊相關(guān)的信息,該頭文件相當于上文所述的位置 結(jié)構(gòu)文件。客戶端子系統(tǒng)202,用于對接收到的海量數(shù)據(jù)文件進行顯示,可以包括通 訊單元,接收用戶指令,用戶指令中通常指明當前需要獲取的海量數(shù)據(jù)文件 的標識信息,根據(jù)該標識信息向業(yè)務(wù)控制子系統(tǒng)203獲取海量數(shù)據(jù)文件,當 接收到業(yè)務(wù)控制子系統(tǒng)203傳輸?shù)臄?shù)據(jù)時,將該數(shù)據(jù)在存儲單元進行存儲,
該存儲單元可以是客戶端的緩沖內(nèi)存區(qū)域;當接收完成各數(shù)據(jù)塊后,顯示單 元根據(jù)所述海量數(shù)據(jù)文件中的頭文件中的相關(guān)信息從存儲單元獲取各數(shù)據(jù) 塊,并按照上文所述的顯示方法在相應的位置進4亍顯示。上述數(shù)據(jù)處理子系統(tǒng)201與客戶端子系統(tǒng)202在物理上可以通過同一個 設(shè)備實現(xiàn),也可以通過不同的設(shè)備實現(xiàn),客戶端子系統(tǒng)202可以是PDA或PC 等多種設(shè)備。通過該系統(tǒng)能夠提供清晰的視頻影像傳輸,實現(xiàn)大規(guī)模的業(yè)務(wù)展示功能, 包括新聞信息的閱覽、歷史資料回放、教學、講座以及報告等。為了更加清楚的理解上述實施例中的技術(shù)方案,以下闡述一個對海量數(shù) 據(jù)文件進行處理的實施例,作為上述處理海量數(shù)據(jù)的方法及系統(tǒng)的 一種應用實例。該實施例中處理海量數(shù)據(jù)的系統(tǒng)用于實現(xiàn)多媒體節(jié)目的制作、發(fā)布及演 播功能。在本實施例中,上文所述的數(shù)據(jù)處理子系統(tǒng)201完成將多媒體數(shù)據(jù) 文件制作成節(jié)目文件,并將節(jié)目文件發(fā)布的過程,以下結(jié)合圖3闡述數(shù)據(jù)處 理子系統(tǒng)201的工作流禾呈數(shù)據(jù)處理子系統(tǒng)201按照預定的數(shù)值范圍分塊讀取多々某體數(shù)據(jù)文件,將 每次讀取的多々某體數(shù)據(jù)依次壓縮保存(步驟301 ),將各數(shù)據(jù)塊按照不同的分 辨率進行壓縮(步驟302 ),生成位置結(jié)構(gòu)文件(步驟303);為了便于實現(xiàn), 在本實施例中,將各數(shù)據(jù)塊與位置結(jié)構(gòu)文件保存在同 一個自定義的文件中, 位置結(jié)構(gòu)文件作為該文件的頭文件,該頭文件中記錄了各數(shù)據(jù)塊的分辨率信 息、各數(shù)據(jù)塊的大小信息(例如顯示對象的寬度、高度等,單位可以為像素)、 海量圖像文件的起始位置和終止位置信息(例如,起始坐標、終止坐標)、各 數(shù)據(jù)塊的起始位置和終止位置信息(例如,起始坐標、終止坐標)等。另夕卜, 由于節(jié)目文件通常包含多個多媒體數(shù)據(jù)文件,因此將具有相關(guān)性的各自定義的文件打包成數(shù)據(jù)包,生成節(jié)目文件(步驟304)。另外,數(shù)據(jù)處理子系統(tǒng)201還生成第一配置文件,第二配置文件及第三 配置文件(步驟305 )。上述配置文件可以通it^p本文件實現(xiàn),為了標準化的 需要,同時由于XML解析器較方便,在該實施例中第一、第二、第三配置文 件采用XML腳本實現(xiàn)。該第一配置文件包括與定位各節(jié)目丈件相關(guān)的信息(例如各節(jié)目文件的 標識信息等),同時,該第一配置文件還可以包括節(jié)目文件相關(guān)的文本信息, 以及與節(jié)目文件相關(guān)的事件屬性信息。作為一個實施例,數(shù)^"處理子系統(tǒng)201可以為多個業(yè)務(wù)"l空制子系統(tǒng)203 提供相應的第一配置文件,第二配置文件中描述了各個業(yè)務(wù)控制子系統(tǒng)203 與相應的第一配置文件的對應關(guān)系,指定業(yè)務(wù)"fe制子系統(tǒng)203應當裝載的第 一配置文件。如上所述,由于可以存在多個業(yè)務(wù)控制子系統(tǒng)203,第三配置文件中描述 了客戶端子系統(tǒng)202需要演播的節(jié)目文件及該節(jié)目文件所在的業(yè)務(wù)控制子系 統(tǒng)203的標識信息(例如,業(yè)務(wù)控制子系統(tǒng)203的IP地址信息等)。在異地傳 輸海量數(shù)據(jù)文件時,通過第三配置文件可以連才矣到相應的業(yè)務(wù)控制子系統(tǒng)。數(shù)據(jù)處理子系統(tǒng)201制作完成節(jié)目文件及配置文件后,將節(jié)目文件及第 一、第二配置文件發(fā)布到業(yè)務(wù)控制子系統(tǒng)203,將第三配置文件發(fā)布到客戶端 子系統(tǒng)202 (步驟306)。業(yè)務(wù)控制子系統(tǒng)203可以位于服務(wù)器端,與客戶端子系統(tǒng)202進行信息 交互,提供節(jié)目文件演^"的業(yè)務(wù)邏輯控制。以下結(jié)合圖4業(yè)務(wù)控制子系統(tǒng)203 的工作流程
業(yè)務(wù)控制子系統(tǒng)203通過腳本解析器對第二配置文件進行解析,根據(jù)第 二配置文件裝載第一配置文件及節(jié)目文件(步驟401),當收到客戶端子系統(tǒng) 202發(fā)送的節(jié)目查詢請求時,通常該節(jié)目查詢請求中攜帶有節(jié)目文件的標識信 息以及客戶端子系統(tǒng)的分辨率信息,通過解析第一配置文件,根據(jù)第一配置 文件中的節(jié)目文件的標識信息找到相應的節(jié)目文件,才艮據(jù)各多々某體文件的標 識信息將節(jié)目文件中的自定義格式的多媒體數(shù)據(jù)文件依次傳輸。在傳輸某個 多媒體數(shù)據(jù)文件時,將分辨率最小的各數(shù)據(jù)塊、頭文件以及第一配置文件發(fā) 送給客戶端子系統(tǒng)(步驟402 )。在客戶端子系統(tǒng)202對某個多媒體數(shù)據(jù)文件進行顯示的過程中,當用戶 需要對當前所顯示區(qū)域的多媒體數(shù)據(jù)文件的部分數(shù)據(jù)進行更新時,例如,對顯示區(qū)域內(nèi)某部分的數(shù)據(jù)進行》文大、縮小或更新,則當業(yè)務(wù)控制子系統(tǒng)203 接收到對當前顯示區(qū)域的數(shù)據(jù)進行變更的用戶指令時,根據(jù)用戶指令中的分 辨率信息以及需要變更數(shù)據(jù)在顯示區(qū)域的位置信息,獲得相應分辨率的數(shù)據(jù) 塊,然后將這些數(shù)據(jù)塊按照上述過程傳輸至客戶端子系統(tǒng)202 (步驟403 )。另外,當接收到客戶端子系統(tǒng)202的事件觸發(fā)信息時,根據(jù)第一配置文 件查詢是否為預定事件,如果是預定事件,則將第一配置文件中的相應事件 屬性信息進行更新(步驟404),并將更新后的第一配置文件發(fā)送至客戶端子 系統(tǒng)202 (步驟405)??蛻舳俗酉到y(tǒng)202可以是PDA或PC等多種設(shè)備,圖5為客戶端子系統(tǒng) 202的工作流程客戶端子系統(tǒng)202在需要時通過腳本解析器對第三配置文件 進行解析,根據(jù)第三配置文件向相應的業(yè)務(wù)控制子系統(tǒng)發(fā)起連接請求(步驟 501),當連接成功后,將欲演播的節(jié)目文件標識以及客戶端子系統(tǒng)的分辨率 等信息發(fā)送給業(yè)務(wù)控制子系統(tǒng)203 (步驟502 ),當接收到業(yè)務(wù)控制子系統(tǒng)203 發(fā)送的數(shù)據(jù)時,對接收到的數(shù)據(jù)文件進行解析(步驟503 ),將數(shù)據(jù)塊復制到 相應的顯示區(qū)域,將各數(shù)據(jù)塊拼接成海量數(shù)據(jù)文件后進行顯示(步驟504)。當用戶需要對當前所顯示區(qū)域的海量數(shù)據(jù)文件的部分數(shù)據(jù)進行更新時, 例如,對顯示區(qū)域內(nèi)某部分的數(shù)據(jù)進行放大、縮小或更新,則向業(yè)務(wù)控制子系統(tǒng)203發(fā)送指令,所述指令中攜帶用戶期望達到的分辨率信息以及需要變 更數(shù)據(jù)在顯示區(qū)域的位置信息。客戶端子系統(tǒng)收到用戶的事件觸發(fā)指令(例如,添加標注、增加背景音 樂、增加特效等)時,向業(yè)務(wù)控制子系統(tǒng)203發(fā)送事件觸發(fā)信息(步驟505 ), 當接收到業(yè)務(wù)控制子系統(tǒng)203的控制指令時,^f艮據(jù)接收到的第一配置文件執(zhí) 行相關(guān)的動作(步驟506)。步驟501中客戶端子系統(tǒng)202向業(yè)務(wù)控制子系統(tǒng)202發(fā)起連接請求的過 程可以通過以下方式實現(xiàn)客戶端子系統(tǒng)202在啟動時通過監(jiān)聽端口向業(yè)務(wù) 控制子系統(tǒng)203發(fā)起連接請求,業(yè)務(wù)控制子系統(tǒng)203收到該連接請求后,將 為客戶端子系統(tǒng)202生成隨才幾端口,并發(fā)送響應給客戶端子系統(tǒng)202,該響應 中攜帶有隨才幾生成的端口;客戶端子系統(tǒng)202收到該響應后,通過該隨機端 口發(fā)送節(jié)目查詢請求以及進行后續(xù)的信息交互。當存在多個客戶端子系統(tǒng)時,如果各客戶端子系統(tǒng)隨機訪問存放連續(xù)多 媒體信息的業(yè)務(wù)控制子系統(tǒng),為了避免系統(tǒng)性能下降,以及可能無法實現(xiàn)多 用戶的訪問的問題,作為一個實施例,業(yè)務(wù)控制子系統(tǒng)預先設(shè)置調(diào)度機制來 折衷各個客戶端子系統(tǒng)的請求,以保證每個用戶的演播連續(xù)性,同時最大限 度地增加可并行服務(wù)的訪問數(shù)。對每個客戶端子系統(tǒng)的請求,業(yè)務(wù)控制子系 統(tǒng)需要及時提供足夠的數(shù)據(jù),以供連續(xù)演播的需要,因此,當某個客戶端子 系統(tǒng)讀取了足夠的數(shù)據(jù)(例如,讀取完某個海量數(shù)據(jù)文件)后,將向業(yè)務(wù)控 制子系統(tǒng)發(fā)送消息,通知業(yè)務(wù)控制子系統(tǒng)停止發(fā)送數(shù)據(jù),業(yè)務(wù)控制子系統(tǒng)暫 停為該客戶端子系統(tǒng)傳輸數(shù)據(jù),而轉(zhuǎn)向為其他客戶客戶端子系統(tǒng),從而防止
過量累積的數(shù)據(jù)消耗太多系統(tǒng)資源,甚至耗盡系統(tǒng)資源。本實施例中業(yè)務(wù)控制子系統(tǒng)將客戶端子系統(tǒng)與制作節(jié)目的數(shù)據(jù)處理子系 統(tǒng)隔離,負責轉(zhuǎn)發(fā)命令和事件的處理結(jié)果,從而提高了系統(tǒng)的安全性。另夕卜, 用戶對當前顯示區(qū)域的數(shù)據(jù)進行處理時,可以通過向業(yè)務(wù)控制子系統(tǒng)發(fā)送觸 發(fā)事件信息要求業(yè)務(wù)控制子系統(tǒng)修改第 一配置文件中的相應事件,從而使用 戶能夠?qū)崟r對當前的顯示區(qū)域的數(shù)據(jù)進行加工、處理、修改、放大以及重新 組合等操作,從而實現(xiàn)交互性操作。用戶可以通過第三配置文件實時的選擇 不同業(yè)務(wù)控制子系統(tǒng)上的節(jié)目文件,進一步提高用戶體驗以上所述的本發(fā)明實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何 在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應包含在本 發(fā)明的權(quán)利要求保護范圍之內(nèi)。
權(quán)利要求
1、一種處理海量數(shù)據(jù)的方法,其特征在于,包括步驟步驟一,當讀取海量數(shù)據(jù)文件時,按照預定的數(shù)值范圍讀取數(shù)據(jù),所述數(shù)值范圍為每次讀取的數(shù)據(jù)的范圍;將每次讀取的數(shù)據(jù)進行保存,并記錄所述每次讀取的數(shù)據(jù)的定位信息;記錄預設(shè)的觸發(fā)事件的屬性信息;步驟二,當客戶端發(fā)送指令獲取所存儲的海量數(shù)據(jù)文件時,根據(jù)所述指令中的標識信息查找所需要的海量數(shù)據(jù)文件,按照預定規(guī)則傳輸所述海量數(shù)據(jù)文件中的數(shù)據(jù);當所述客戶端發(fā)送指令對所獲取的海量數(shù)據(jù)文件進行處理時,如果所述指令為預設(shè)的觸發(fā)事件,則修改相應的觸發(fā)事件的屬性信息,并將修改后的屬性信息傳輸至所述客戶端。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括步驟將每次所讀 取的數(shù)據(jù)壓縮成不同分辨率的數(shù)據(jù),將所述不同分辨率的數(shù)據(jù)進行保存,并 記錄相應的分辨率信息;所述預定規(guī)則包括根據(jù)所述指令中的分辨率信息將相應分辨率的數(shù)據(jù) 進行傳輸,且每次傳輸?shù)臄?shù)據(jù)的范圍與讀取數(shù)據(jù)的所述數(shù)值范圍一致。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,當所述客戶端的指令為預 設(shè)的觸發(fā)事件,所述預定規(guī)則還包括當所述觸發(fā)事件為對當前顯示區(qū)域的 數(shù)據(jù)進行處理的指令,根據(jù)所述指令中的分辨率信息以及顯示區(qū)域的位置信 息傳輸相應分辨率的數(shù)據(jù)。
4、 4艮據(jù)權(quán)利要求2所述的方法,其特征在于,所述定位信息、分辨率信 息存《諸于位置結(jié)構(gòu)文件中。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟一還包括將所 賣取的海量數(shù)據(jù)文件打包成數(shù)據(jù)包,并記錄所述數(shù)據(jù)包的標識信息。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述預設(shè)的觸發(fā)事件的屬 性信息與所述數(shù)據(jù)包的標識信息存儲于第一配置文件中,所述第一配置文件 為腳本文件。
7、 一種處理海量數(shù)據(jù)的系統(tǒng),其特征在于,包括數(shù)據(jù)處理子系統(tǒng)和業(yè) 務(wù)控制子系統(tǒng);所述數(shù)據(jù)處理子系統(tǒng),用于讀取并保存海量數(shù)據(jù)文件以及定位信息;并 將預設(shè)的觸發(fā)事件的屬性信息在第一配置文件中進行保存;所保存的海量數(shù)據(jù)文件包括至少一個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別包括按照 預定的數(shù)值范圍讀取的數(shù)據(jù),所述數(shù)值范圍為每次讀取的數(shù)據(jù)的范圍;所述 定位信息為所述數(shù)據(jù)塊對應的定位信息;所述業(yè)務(wù)控制子系統(tǒng),用于獲得所述海量數(shù)據(jù)文件、定位信息及所述第 一配置文件,當客戶端發(fā)送指令獲取所存儲的海量數(shù)據(jù)文件時,根據(jù)所述指 令中的標識信息查找所需要的海量數(shù)據(jù)文件,按照預定規(guī)則傳輸所述海量數(shù) 悟文件中的數(shù)據(jù);當所述客戶端發(fā)送指令對所獲取的海量數(shù)據(jù)文件進行處理 時,如果所述指令為預設(shè)的觸發(fā)事件,則修改所述第一配置文件,并將修改 后的第 一配置文件傳輸至所述客戶端。
8、 根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理子系統(tǒng)還用 于將所述數(shù)據(jù)塊中的數(shù)據(jù)壓縮成不同分辨率的數(shù)據(jù)并進行保存,據(jù)對應的分辨率信息;所述預定規(guī)則為根據(jù)所述指令中的分辨率信息將相應分辨率的數(shù)據(jù)進 行傳輸。
9、 根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理子系統(tǒng)還用 于生成第二配置文件,并將所述第二配置文件發(fā)布到所述業(yè)務(wù)控制子系統(tǒng); 所述第二配置文件用于保存所述業(yè)務(wù)控制子系統(tǒng)與第一配置文件的對應關(guān)系信息;所迷業(yè)務(wù)控制子系統(tǒng)才艮據(jù)所述第二配置文件獲w目應的第 一配置文件。
10、 4艮據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)還包括客戶端子系統(tǒng),用于接收用戶指令,根據(jù)所述用戶指令中標識信息獲取海量數(shù)據(jù)文件, 才艮據(jù)所述海量數(shù)據(jù)文件中的定位信息進行顯示。
11、 根據(jù)權(quán)利要求io所述的系統(tǒng),其特征在于,所述數(shù)據(jù)處理子系統(tǒng)還 用于生成第三配置文件,并將所述第三配置文件發(fā)布到所述客戶端子系統(tǒng);所述第三配置文件用于保存所述業(yè)務(wù)控制子系統(tǒng)的IP地址信息及所述數(shù) 才居包的標識信息,所述客戶端子系統(tǒng)根據(jù)所述IP地址信息向所述業(yè)務(wù)控制子系統(tǒng)發(fā)起連接 請求,以及根據(jù)所述數(shù)據(jù)包的標識信息與所迷業(yè)務(wù)控制子系統(tǒng)進行信息交互, 獲取數(shù)據(jù)。
12、 根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述第一配置文件、第 二配置文件、第三配置文件為腳本文件。
全文摘要
本發(fā)明提供一種處理海量數(shù)據(jù)的方法及系統(tǒng),當讀取海量數(shù)據(jù)文件時,按照預定的數(shù)值范圍讀取數(shù)據(jù),所述數(shù)值范圍為每次讀取的數(shù)據(jù)的范圍;將每次讀取的數(shù)據(jù)進行保存,并記錄所述每次讀取的數(shù)據(jù)的定位信息;記錄預設(shè)的觸發(fā)事件的屬性信息;當客戶端發(fā)送指令獲取所存儲的海量數(shù)據(jù)文件時,根據(jù)所述指令中的標識信息查找所需要的海量數(shù)據(jù)文件,按照預定規(guī)則傳輸所述海量數(shù)據(jù)文件中的數(shù)據(jù);當所述客戶端發(fā)送指令對所獲取的海量數(shù)據(jù)文件進行處理時,如果所述指令為預設(shè)的觸發(fā)事件,則修改相應的觸發(fā)事件的屬性信息,并將修改后的屬性信息傳輸至所述客戶端。通過本發(fā)明,能夠?qū)崿F(xiàn)海量數(shù)據(jù)的交互式操作。
文檔編號G06F17/30GK101119278SQ20071003025
公開日2008年2月6日 申請日期2007年9月14日 優(yōu)先權(quán)日2007年9月14日
發(fā)明者徐蜀中, 胡建華 申請人:廣東威創(chuàng)日新電子有限公司