[發(fā)明專利]一種文檔加載的方法及裝置有效
| 申請?zhí)枺?/td> | 201410069307.7 | 申請日: | 2014-02-27 |
| 公開(公告)號: | CN104881409B | 公開(公告)日: | 2018-04-20 |
| 發(fā)明(設(shè)計(jì))人: | 李康貴;傅東 | 申請(專利權(quán))人: | 北京方捷軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/445 |
| 代理公司: | 北京市盛峰律師事務(wù)所11337 | 代理人: | 趙建剛 |
| 地址: | 100081 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 文檔 加載 方法 裝置 | ||
1.一種文檔加載的方法,其特征在于,包括:
步驟一:將Open XPS原文檔拆分成三類文檔塊,所述文檔塊包含應(yīng)用所需文檔塊、圖片資源文檔塊和內(nèi)容載體文檔塊;
步驟二:先獲取所述應(yīng)用所需文檔塊的字節(jié)流,同時(shí)并行獲取所述圖片資源文檔塊的字節(jié)流;
步驟三:在獲取所述應(yīng)用所需文檔塊的所述字節(jié)流完成后,發(fā)起虛擬文檔的封裝;其中所述虛擬文檔根據(jù)客戶端要求的頁面向遠(yuǎn)程服務(wù)器獲取所述頁面中的所述內(nèi)容載體文檔塊的所述字節(jié)流;所述虛擬文檔存儲有獲取完成的所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊的所述字節(jié)流以及直接定位所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊的所述字節(jié)流的能力;封裝完成后的所述虛擬文檔作為一個(gè)完整的文檔提供給客戶端。
2.根據(jù)權(quán)利要求1所述的文檔加載的方法,其特征在于,所述步驟一中,所述拆分的過程包括:解壓所述原文檔、處理解壓后的文件和將待壓縮目錄壓縮成分檔塊;處理解壓后的所述文件的過程包括:創(chuàng)建待壓縮目錄、抽取所述文件、添加新控制文件和轉(zhuǎn)換圖片格式;在抽取所述文件的過程中,抽取所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊對應(yīng)的文件后綴的所述文件;根據(jù)所述文件后綴進(jìn)行遍歷查找并移動到新的待壓縮目錄中;所述應(yīng)用所需文檔塊對應(yīng)的文件后綴包括:文檔定義序列文件.fdseq、引用關(guān)系文件.rels、文檔頁面序列文件.fdoc、字體文件.odttf和內(nèi)容類型文件.xml;所述圖片資源文檔塊對應(yīng)的文件后綴是:.jpeg,.GIF,和.png;所述內(nèi)容載體文檔塊對應(yīng)的文件后綴是:.fpage。
3.根據(jù)權(quán)利要求2所述的文檔加載的方法,其特征在于,在壓縮所述待壓縮目錄成為分檔塊之前,在所述應(yīng)用所需文檔塊的根目錄下添加一個(gè)分塊描述文件block.config,所述分塊描述文件用以指導(dǎo)虛擬文檔的封裝。
4.根據(jù)權(quán)利要求3所述的文檔加載的方法,其特征在于,所述分塊描述文件包含所述原文檔的總頁數(shù)、預(yù)設(shè)所述內(nèi)容載體文檔塊的最大頁數(shù)和所述內(nèi)容載體文檔塊的頁面編號。
5.根據(jù)權(quán)利要求1所述的文檔加載的方法,其特征在于,所述步驟二中,每個(gè)所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊在獲取時(shí),將先被分配一個(gè)執(zhí)行優(yōu)先級別數(shù)值,并在一個(gè)獨(dú)立線程中進(jìn)行,通過線程池來調(diào)度和管理所述線程的執(zhí)行;所述線程池通過一個(gè)堆棧緩存所述文檔塊的獲取請求,在沒超過最大并發(fā)數(shù)時(shí),所述獲取請求被立即執(zhí)行;在超過最大并發(fā)數(shù)時(shí),所述獲取請求優(yōu)先級別值高的先執(zhí)行;相同優(yōu)先級別值的所述獲取請求,后入棧的先執(zhí)行;對同一個(gè)所述文檔塊的獲取請求只被執(zhí)行一次;所述最大并發(fā)數(shù)為2倍的所述客戶端的CPU個(gè)數(shù)。
6.根據(jù)權(quán)利要求1所述的文檔加載的方法,其特征在于,所述步驟二中,獲取所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊的字節(jié)流完成時(shí),觸發(fā)對應(yīng)的完成事件通知給所述客戶端。
7.根據(jù)權(quán)利要求1所述的文檔加載的方法,其特征在于,所述步驟二中,在獲取所述圖片資源文檔塊的字節(jié)流時(shí),當(dāng)所述圖片資源文檔塊所對應(yīng)的內(nèi)容載體文檔塊不存在時(shí),則實(shí)時(shí)獲取缺失的所述內(nèi)容載體文檔塊的字節(jié)流。
8.根據(jù)權(quán)利要求1所述的文檔加載的方法,其特征在于,所述步驟三中,進(jìn)行所述虛擬文檔的封裝時(shí),為所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊分配唯一標(biāo)識符,并記錄所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊的狀態(tài);所述狀態(tài)包括:初始未獲取、獲取中、獲取成功和獲取失敗。
9.根據(jù)權(quán)利要求8所述的文檔加載的方法,其特征在于,在所述步驟二之后或所述步驟三中所述應(yīng)用所需文檔塊、所述圖片資源文檔塊和所述內(nèi)容載體文檔塊獲取成功之后,還包括:在所述獲取成功后,虛擬文檔完成事件通知客戶端啟動解析和渲染;所述圖片資源文檔塊準(zhǔn)備完成后,獲取所述圖片資源文檔塊的字節(jié)流的獲取成功或獲取失敗通知所述客戶端啟動補(bǔ)充渲染;獲取所述圖片資源文檔塊的字節(jié)流的獲取成功或獲取失敗通知啟動后續(xù)異步操作,通知所述客戶端。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京方捷軟件有限公司,未經(jīng)北京方捷軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410069307.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)





