一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng)及方法
【專利摘要】一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng)及方法,涉及計(jì)算機(jī)信息處理【技術(shù)領(lǐng)域】。該系統(tǒng)包括內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器、文件轉(zhuǎn)換模塊和HTTP服務(wù)模塊;內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器和文件轉(zhuǎn)換模塊順次首尾相連,文件存儲(chǔ)服務(wù)器還與HTTP服務(wù)模塊相連。本發(fā)明不僅能滿足移動(dòng)互聯(lián)網(wǎng)多終端閱讀設(shè)備(如PAD、手機(jī)、電腦等)的要求,實(shí)現(xiàn)跨平臺(tái)文檔閱讀,而且能為用戶提供與原文檔高度一致的高保真用戶體驗(yàn)。
【專利說(shuō)明】一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)信息處理【技術(shù)領(lǐng)域】,具體來(lái)講是一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的迅速普及,移動(dòng)設(shè)備功能的日益強(qiáng)大,經(jīng)濟(jì)時(shí)代生活節(jié)奏的不斷加快,使得當(dāng)今人們的文字閱讀方式也發(fā)生了巨大的變化。過(guò)去靠書本閱讀的方式已逐漸被網(wǎng)絡(luò)閱讀所取代,人們已經(jīng)習(xí)慣于通過(guò)計(jì)算機(jī)、手機(jī)、掌上電腦等各種移動(dòng)互聯(lián)網(wǎng)終端閱讀設(shè)備進(jìn)行閱讀和學(xué)習(xí)。
[0003]目前,現(xiàn)已存在的網(wǎng)絡(luò)閱讀方式主要包括以下兩種:一種是將文檔下載到用戶本地,使用專用軟件打開閱讀;另一種是類似百度文庫(kù)的實(shí)現(xiàn)方式,在計(jì)算機(jī)上將文檔轉(zhuǎn)換為FLASH格式或HTML格式進(jìn)行閱讀,或在手機(jī)上讀取文檔中內(nèi)容后適配為適合手機(jī)顯示樣式進(jìn)行閱讀。
[0004]但在實(shí)際使用中,上述兩種方式都存在各自的缺點(diǎn)。具體來(lái)說(shuō),第一種方式存在以下缺點(diǎn):(1)用戶需要在本地設(shè)備上安裝專用閱讀軟件,而一般專用閱讀軟件都需要付費(fèi),使用麻煩且不經(jīng)濟(jì),用戶體驗(yàn)較差;(2)該方式對(duì)用戶設(shè)備具有較高要求,如用戶使用非智能手機(jī)或設(shè)備,將無(wú)法查看文檔。而第二種方式則存在以下缺點(diǎn)=(I)FLASH格式不能得到所有客戶端設(shè)備的支持,蘋果公司就明確表示在其公司所屬的設(shè)備上不支持FLASH格式,這就意味著IPHONE、IPAD、MAC PC等用戶將不能閱讀FLASH格式的文檔;(2)經(jīng)百度文庫(kù)調(diào)整轉(zhuǎn)換后的格式為HTML格式,這也不能保證所有設(shè)備上文檔的閱讀效果一致,因?yàn)楦鳛g覽器對(duì)W3C的規(guī)范實(shí)現(xiàn)上不一致;(3)將原文檔適配為手機(jī)瀏覽器合適的展現(xiàn)樣式展現(xiàn)給用戶,這樣會(huì)造成手機(jī)上看到的效果和原文件效果不完全一致,不適合對(duì)格式有較高要求的文檔,如合同,這就無(wú)法達(dá)到高保真效果。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng)及方法,不僅能滿足移動(dòng)互聯(lián)網(wǎng)多終端閱讀設(shè)備的要求,實(shí)現(xiàn)跨平臺(tái)文檔閱讀,而且能為用戶提供與原文檔高度一致的高保真用戶體驗(yàn)。
[0006]為達(dá)到以上目的,本發(fā)明提供一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng),包括:內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器、文件轉(zhuǎn)換模塊和HTTP (Hypertext Transfer Protocol,超文本傳輸協(xié)議)服務(wù)模塊;內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器和文件轉(zhuǎn)換模塊順次首尾相連,文件存儲(chǔ)服務(wù)器還與HTTP服務(wù)模塊相連。其中,所述內(nèi)容發(fā)布模塊用于為用戶提供交互界面上傳文檔,并將文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器;待文檔存儲(chǔ)后向文件轉(zhuǎn)換模塊發(fā)送轉(zhuǎn)換請(qǐng)求及請(qǐng)求參數(shù)。所述文件存儲(chǔ)服務(wù)器用于保存用戶上傳的文檔以及相應(yīng)文檔轉(zhuǎn)換后的圖片。所述文件轉(zhuǎn)換模塊根據(jù)所述請(qǐng)求參數(shù),將文檔轉(zhuǎn)換成圖片;且所述文件轉(zhuǎn)換模塊包括文件轉(zhuǎn)換的線程池隊(duì)列,處理多線程請(qǐng)求,并與內(nèi)容發(fā)布模塊形成異步請(qǐng)求/通知的機(jī)制。所述HTTP服務(wù)模塊用于為用戶提供HTTP訪問(wèn)服務(wù),并將轉(zhuǎn)換后的圖片以HTTP的方式向用戶展示。
[0007]在上述技術(shù)方案的基礎(chǔ)上,所述請(qǐng)求參數(shù),包括文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑、文檔類型以及文檔經(jīng)MD5 (Message Digest Algorithm 5,消息摘要算法第五版)加密后的字符串。
[0008]本發(fā)明還提供一種基于所述系統(tǒng)的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,包括如下步驟:
[0009]S1:內(nèi)容發(fā)布模塊接收用戶上傳的文檔,并將該文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器。
[0010]S2:內(nèi)容發(fā)布模塊向文件轉(zhuǎn)換模塊發(fā)出轉(zhuǎn)換請(qǐng)求,并同時(shí)將請(qǐng)求參數(shù)傳遞給文件轉(zhuǎn)換模塊。
[0011]S3:文件轉(zhuǎn)換模塊在接收到轉(zhuǎn)換請(qǐng)求后,將所述轉(zhuǎn)換請(qǐng)求放入文件轉(zhuǎn)換的線程池隊(duì)列中,待有空閑線程時(shí)通過(guò)OpenOffice函數(shù)和Jpedal函數(shù)對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行轉(zhuǎn)換處理,并將轉(zhuǎn)換后的圖片存儲(chǔ)到文件存儲(chǔ)服務(wù)器。
[0012]S4:文件轉(zhuǎn)換模塊通知內(nèi)容發(fā)布模塊所述轉(zhuǎn)換請(qǐng)求已完成。
[0013]S5:用戶使用終端閱讀設(shè)備通過(guò)本地瀏覽器向HTTP服務(wù)模塊發(fā)出閱讀文檔的訪問(wèn)請(qǐng)求。
[0014]S6 =HTTP服務(wù)模塊在文件存儲(chǔ)服務(wù)器上讀取待閱讀文檔轉(zhuǎn)換后的圖片,并將該圖片展示給用戶。
[0015]在上述技術(shù)方案的基礎(chǔ)上,步驟S2中,所述請(qǐng)求參數(shù),包括文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑、文檔類型以及文檔經(jīng)MD5加密后的字符串。
[0016]在上述技術(shù)方案的基礎(chǔ)上,步驟S3中,文件轉(zhuǎn)換模塊對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行轉(zhuǎn)換處理的具體布驟包括:
[0017]S31:等待空閑線程對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行處理。
[0018]S32:判斷是否存在空閑線程,若是,轉(zhuǎn)入S33,若否,轉(zhuǎn)入S31繼續(xù)等待。
[0019]S33:所述空閑線程根據(jù)請(qǐng)求參數(shù)中文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑,讀取相應(yīng)文檔。
[0020]S34:所述空閑線程調(diào)用OpenOffice函數(shù)打開讀取的文檔,并將打開的文檔轉(zhuǎn)換為PDF格式。
[0021]S35:所述空閑線程調(diào)用Jpedal函數(shù)將轉(zhuǎn)換為PDF格式的文檔采用分頁(yè)轉(zhuǎn)換的方式轉(zhuǎn)換為圖片格式。
[0022]S36:判斷文檔的轉(zhuǎn)換處理是否全部完成,若是,轉(zhuǎn)入S37,若否,轉(zhuǎn)入S33。
[0023]S37:將轉(zhuǎn)換完成的圖片保存到文件存儲(chǔ)服務(wù)器中。
[0024]在上述技術(shù)方案的基礎(chǔ)上,所述步驟S33中,所述空閑線程在讀取相應(yīng)文檔之前,還需對(duì)所讀取的文檔進(jìn)行校驗(yàn)。校驗(yàn)時(shí),先將讀取的文檔進(jìn)行MD5運(yùn)行,再將運(yùn)行后的信息與請(qǐng)求參數(shù)中文檔經(jīng)MD5加密后的字符串進(jìn)行比對(duì),若比對(duì)結(jié)果相同,則說(shuō)明文檔未被篡改或錯(cuò)讀。
[0025]在上述技術(shù)方案的基礎(chǔ)上,在所述步驟S3的整個(gè)過(guò)程中,文件轉(zhuǎn)換模塊還并行實(shí)現(xiàn)有會(huì)話超時(shí)檢測(cè)功能,具體包括以下步驟:
[0026]S301:文件轉(zhuǎn)換模塊定時(shí)調(diào)用操作系統(tǒng)命令,讀取系統(tǒng)進(jìn)程列表中的OpenOffice進(jìn)程。
[0027]S302:文件轉(zhuǎn)換模塊判斷OpenOffice進(jìn)程是否超時(shí),若是,轉(zhuǎn)入S303,若否,轉(zhuǎn)入S301。
[0028]S303:文件轉(zhuǎn)換模塊通過(guò)調(diào)用操作系統(tǒng)命令結(jié)束超時(shí)的OpenOffice進(jìn)程。
[0029]在上述技術(shù)方案的基礎(chǔ)上,步驟S301中,定時(shí)調(diào)用操作系統(tǒng)命令的時(shí)間周期為30秒。
[0030]在上述技術(shù)方案的基礎(chǔ)上,步驟S302中,文件轉(zhuǎn)換模塊判斷OpenOffice進(jìn)程是否超時(shí)時(shí),將讀取OpenOffice進(jìn)程的開啟時(shí)間,若當(dāng)前時(shí)間減去OpenOffice進(jìn)程的開啟時(shí)間大于超時(shí)時(shí)間,則判定為超時(shí)。
[0031]在上述技術(shù)方案的基礎(chǔ)上,步驟SI中,內(nèi)容發(fā)布模塊將用戶上傳的文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器時(shí),還同時(shí)將該文檔標(biāo)記為未轉(zhuǎn)換狀態(tài);步驟S4中,內(nèi)容發(fā)布模塊接收到文件轉(zhuǎn)換模塊發(fā)來(lái)的通知后,將轉(zhuǎn)換完成的文檔標(biāo)記為已轉(zhuǎn)換狀態(tài);步驟S6中,HTTP服務(wù)模塊讀取待閱讀文檔轉(zhuǎn)換后的圖片之前,將判斷待閱讀文檔是否為已轉(zhuǎn)換狀態(tài),若是,則將待閱讀文檔轉(zhuǎn)換后的圖片展示給用戶,若否,則告知用戶等待待閱讀文檔完成轉(zhuǎn)換。
[0032]本發(fā)明的有益效果在于:
[0033]1、本發(fā)明利用開源的OpenOffice和Jpedal將文檔轉(zhuǎn)換為圖片格式,將轉(zhuǎn)換好的圖片存放至HTTP服務(wù)器,通過(guò)HTTP的方式對(duì)外提供服務(wù),用戶通過(guò)瀏覽器以HTTP的方式訪問(wèn)服務(wù)。該方式能滿足移動(dòng)互聯(lián)網(wǎng)多終端閱讀設(shè)備(如PAD、手機(jī)、電腦等)的要求,實(shí)現(xiàn)了跨平臺(tái)文檔閱讀。并且,采用圖片格式作為最終文檔顯示,提升了系統(tǒng)跨平臺(tái)服務(wù)的能力,保證了閱讀文檔與原文檔的高度一致,為用戶提供了高保真體驗(yàn)。
[0034]2、本系統(tǒng)的內(nèi)容發(fā)布模塊與文件轉(zhuǎn)換模塊采用異步請(qǐng)求/通知的機(jī)制,節(jié)省了系統(tǒng)資源,提高了兩模塊之間的耦合度,提升了用戶體驗(yàn)。
[0035]3、本發(fā)明的文件轉(zhuǎn)碼功能采用了 OpenOffice配合Jpedal的方式,減少了程序部署時(shí)對(duì)操作系統(tǒng)的依懶,可部署在Windows、Linux或Unix上。并且,OpenOffice和Jpedal均是開源程序,大大節(jié)省了系統(tǒng)成本。
[0036]4、本發(fā)明的文件轉(zhuǎn)碼功能采用了線程池隊(duì)列多線程的方式,可以更好的利用文件存儲(chǔ)服務(wù)器的資源,提高了系統(tǒng)工作效率。
[0037]5、本發(fā)明的文件轉(zhuǎn)換模塊還能實(shí)現(xiàn)文檔校驗(yàn)功能和會(huì)話超時(shí)檢測(cè)功能,提升了系統(tǒng)對(duì)文檔的容錯(cuò)性,如對(duì)損環(huán)的文檔,有密碼文檔等的容錯(cuò)。
【專利附圖】
【附圖說(shuō)明】
[0038]圖1為本發(fā)明實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng)結(jié)構(gòu)框圖;
[0039]圖2為本發(fā)明實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法流程圖;
[0040]圖3為文件轉(zhuǎn)換模塊實(shí)現(xiàn)轉(zhuǎn)換處理的流程圖;
[0041]圖4為文件轉(zhuǎn)換模塊實(shí)現(xiàn)會(huì)話超時(shí)檢測(cè)功能的流程圖。
【具體實(shí)施方式】
[0042]以下結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作進(jìn)一步詳細(xì)說(shuō)明。
[0043]如圖1所示,本發(fā)明提供一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng),包括內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器、文件轉(zhuǎn)換模塊和HTTP服務(wù)模塊。內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器和文件轉(zhuǎn)換模塊順次首尾相連,文件存儲(chǔ)服務(wù)器還與HTTP服務(wù)模塊相連。
[0044]其中,所述內(nèi)容發(fā)布模塊用于為用戶提供交互界面上傳文檔,并將文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器;待文檔存儲(chǔ)后向文件轉(zhuǎn)換模塊發(fā)送轉(zhuǎn)換請(qǐng)求及請(qǐng)求參數(shù)。所述請(qǐng)求參數(shù),包括文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑、文檔類型(如Word、Excel、PowerPoint等)以及文檔經(jīng)MD5加密后的字符串。所述文檔經(jīng)MD5加密后的字符串,能防止文檔被篡改或錯(cuò)讀,保證了轉(zhuǎn)換處理過(guò)程中內(nèi)容發(fā)布模塊上傳的文檔和文件轉(zhuǎn)換模塊讀取的文檔是相同文檔。
[0045]所述文件存儲(chǔ)服務(wù)器作為存儲(chǔ)單元,用于保存用戶上傳的文檔以及相應(yīng)文檔轉(zhuǎn)換后的圖片,供文件轉(zhuǎn)換模塊和HTTP服務(wù)模塊讀取。
[0046]所述文件轉(zhuǎn)換模塊用于在接收到內(nèi)容發(fā)布模塊發(fā)送的轉(zhuǎn)換請(qǐng)求后,根據(jù)請(qǐng)求參數(shù)將文檔轉(zhuǎn)換成圖片。在轉(zhuǎn)換處理的過(guò)程中,文件轉(zhuǎn)換模塊還能實(shí)現(xiàn)文檔校驗(yàn)功能和會(huì)話超時(shí)檢測(cè)功能,提升了系統(tǒng)對(duì)文檔的容錯(cuò)性,如對(duì)損環(huán)的文檔,有密碼文檔等的容錯(cuò),保證了系統(tǒng)運(yùn)行的穩(wěn)定。并且,所述文件轉(zhuǎn)換模塊包括文件轉(zhuǎn)換的線程池隊(duì)列,能處理多線程請(qǐng)求,并與內(nèi)容發(fā)布模塊形成異步請(qǐng)求/通知的機(jī)制,節(jié)省了系統(tǒng)資源,提高了兩模塊之間的耦合度,提升了用戶體驗(yàn)。
[0047]所述HTTP服務(wù)模塊用于為用戶提供HTTP訪問(wèn)服務(wù),并將轉(zhuǎn)換后的圖片以HTTP的方式向用戶展示。該方式能滿足移動(dòng)互聯(lián)網(wǎng)多終端閱讀設(shè)備(如PAD、手機(jī)、電腦等)的要求,實(shí)現(xiàn)了跨平臺(tái)文檔閱讀,并且保證了閱讀文檔與原文檔的高度一致,為用戶提供了高保真體驗(yàn)。
[0048]如圖2所示,一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,包括如下步驟:
[0049]S1:內(nèi)容發(fā)布模塊接收用戶上傳的文檔,并將該文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器,同時(shí)將該文檔標(biāo)記為轉(zhuǎn)換狀態(tài)。
[0050]S2:內(nèi)容發(fā)布模塊向文件轉(zhuǎn)換模塊發(fā)出轉(zhuǎn)換請(qǐng)求,并同時(shí)將請(qǐng)求參數(shù)傳遞給文件轉(zhuǎn)換模塊。其中,所述請(qǐng)求參數(shù),包括文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑、文檔類型以及文檔經(jīng)MD5加密后的字符串。
[0051]S3:文件轉(zhuǎn)換模塊在接收到轉(zhuǎn)換請(qǐng)求后,將所述轉(zhuǎn)換請(qǐng)求放入文件轉(zhuǎn)換的線程池隊(duì)列中,待有空閑線程時(shí)通過(guò)OpenOffice函數(shù)和Jpedal函數(shù)對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行轉(zhuǎn)換處理,并將轉(zhuǎn)換后的圖片存儲(chǔ)到文件存儲(chǔ)服務(wù)器。所述線程池隊(duì)列中有多個(gè)轉(zhuǎn)換請(qǐng)求,可與文件存儲(chǔ)服務(wù)器之間形成多線程處理方式,更好的利用了文件存儲(chǔ)服務(wù)器的資源,提高了系統(tǒng)工作效率。
[0052]S4:文件轉(zhuǎn)換模塊通知內(nèi)容發(fā)布模塊所述轉(zhuǎn)換請(qǐng)求已完成。內(nèi)容發(fā)布模塊接收到文件轉(zhuǎn)換模塊發(fā)來(lái)的通知后,將轉(zhuǎn)換完成的文檔標(biāo)記為已轉(zhuǎn)換狀態(tài)。
[0053]S5:用戶使用終端閱讀設(shè)備(如PAD、手機(jī)、電腦等)通過(guò)本地瀏覽器向HTTP服務(wù)模塊發(fā)出閱讀文檔的訪問(wèn)請(qǐng)求。
[0054]S6 =HTTP服務(wù)模塊判斷待閱讀文檔是否為已轉(zhuǎn)換狀態(tài),若是,則在文件存儲(chǔ)服務(wù)器上讀取待閱讀文檔轉(zhuǎn)換后的圖片,并將該圖片展示給用戶;若否,則告知用戶等待待閱讀文檔完成轉(zhuǎn)換。
[0055]如圖3所示,步驟S3中,文件轉(zhuǎn)換模塊對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行轉(zhuǎn)換處理的具體布驟包括:
[0056]S31:等待空閑線程對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行處理。
[0057]S32:判斷是否存在空閑線程,若是,轉(zhuǎn)入S33 ;若否,轉(zhuǎn)入S31繼續(xù)等待。
[0058]S33:所述空閑線程根據(jù)請(qǐng)求參數(shù)中文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑,讀取相應(yīng)文檔,且讀取之前,先對(duì)所讀取的文檔進(jìn)行校驗(yàn)。校驗(yàn)時(shí),先將讀取的文檔進(jìn)行MD5運(yùn)行,再將運(yùn)行后的信息與請(qǐng)求參數(shù)中文檔經(jīng)MD5加密后的字符串進(jìn)行比對(duì),若比對(duì)結(jié)果相同,則說(shuō)明文檔未被篡改或錯(cuò)讀。
[0059]S34:所述空閑線程通過(guò)調(diào)用OpenOffice函數(shù)打開讀取的文檔,并將該文檔轉(zhuǎn)換為PDF格式。
[0060]S35:所述空閑線程調(diào)用Jpedal函數(shù)將轉(zhuǎn)換為PDF格式的文檔采用分頁(yè)轉(zhuǎn)換的方式轉(zhuǎn)換為圖片格式。由于PDF格式的文檔可能比較大,頁(yè)數(shù)比較多,因此采用了較為理想的分頁(yè)轉(zhuǎn)換方式。
[0061]S36:判斷文檔的轉(zhuǎn)換處理是否全部完成,若是,轉(zhuǎn)入S37 ;若否,轉(zhuǎn)入S33,重新轉(zhuǎn)換。
[0062]S37:將轉(zhuǎn)換完成的圖片保存到文件存儲(chǔ)服務(wù)器中。
[0063]為了提高系統(tǒng)的穩(wěn)定性及運(yùn)行效率,在所述步驟S3的整個(gè)過(guò)程中,文件轉(zhuǎn)換模塊還并行實(shí)現(xiàn)有會(huì)話超時(shí)檢測(cè)功能。如圖4所示,該會(huì)話超時(shí)檢測(cè)功能的具體步驟包括:
[0064]S301:文件轉(zhuǎn)換模塊每間隔時(shí)間30秒就定時(shí)調(diào)用操作系統(tǒng)命令,讀取系統(tǒng)進(jìn)程列表中的OpenOffice進(jìn)程。
[0065]S302:文件轉(zhuǎn)換模塊讀取OpenOffice進(jìn)程的開啟時(shí)間,判斷OpenOffice進(jìn)程是否超時(shí),若當(dāng)前時(shí)間減去OpenOffice進(jìn)程的開啟時(shí)間大于超時(shí)時(shí)間,則判定為超時(shí),轉(zhuǎn)入S303 ;若不大于超時(shí)時(shí)間,則轉(zhuǎn)入S301。
[0066]S303:文件轉(zhuǎn)換模塊通過(guò)調(diào)用操作系統(tǒng)命令結(jié)束超時(shí)的OpenOffice進(jìn)程。
[0067]本發(fā)明利用開源的OpenOffice函數(shù)和Jpedal函數(shù)相配合的方式將文檔轉(zhuǎn)換為圖片格式,不僅節(jié)省了系統(tǒng)成本,還減少了程序部署時(shí)對(duì)操作系統(tǒng)的依懶,可部署在Windows、Linux或Unix上。并且,將轉(zhuǎn)換好的圖片存放至HTTP服務(wù)器,通過(guò)HTTP的方式對(duì)外提供服務(wù),用戶則通過(guò)瀏覽器以HTTP的方式訪問(wèn)服務(wù)。該方式能滿足移動(dòng)互聯(lián)網(wǎng)多終端閱讀設(shè)備(如PAD、手機(jī)、電腦等)的要求,實(shí)現(xiàn)了跨平臺(tái)文檔閱讀。并且,采用圖片格式作為最終文檔顯示,提升了系統(tǒng)跨平臺(tái)服務(wù)的能力,保證了閱讀文檔與原文檔的高度一致,為用戶提供了高保真體驗(yàn)。
[0068]本發(fā)明不局限于上述實(shí)施方式,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說(shuō)明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
【權(quán)利要求】
1.一種實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng),其特征在于:包括內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器、文件轉(zhuǎn)換模塊和HTTP服務(wù)模塊;內(nèi)容發(fā)布模塊、文件存儲(chǔ)服務(wù)器和文件轉(zhuǎn)換模塊順次首尾相連,文件存儲(chǔ)服務(wù)器還與HTTP服務(wù)模塊相連; 其中,所述內(nèi)容發(fā)布模塊用于為用戶提供交互界面上傳文檔,并將文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器;待文檔存儲(chǔ)后向文件轉(zhuǎn)換模塊發(fā)送轉(zhuǎn)換請(qǐng)求及請(qǐng)求參數(shù); 所述文件存儲(chǔ)服務(wù)器用于保存用戶上傳的文檔以及相應(yīng)文檔轉(zhuǎn)換后的圖片; 所述文件轉(zhuǎn)換模塊根據(jù)所述請(qǐng)求參數(shù),將文檔轉(zhuǎn)換成圖片;且所述文件轉(zhuǎn)換模塊包括文件轉(zhuǎn)換的線程池隊(duì)列,處理多線程請(qǐng)求,并與內(nèi)容發(fā)布模塊形成異步請(qǐng)求/通知的機(jī)制;所述HTTP服務(wù)模塊用于為用戶提供HTTP訪問(wèn)服務(wù),并將轉(zhuǎn)換后的圖片以HTTP的方式向用戶展示。
2.如權(quán)利要求1所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的系統(tǒng),其特征在于:所述請(qǐng)求參數(shù),包括文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑、文檔類型以及文檔經(jīng)MD5加密后的字符串。
3.一種基于權(quán)利要求1所述系統(tǒng)的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于,包括如下步驟: 51:內(nèi)容發(fā)布模塊接收用戶上傳的文檔,并將該文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器; 52:內(nèi)容發(fā)布模塊向文件轉(zhuǎn)換模塊發(fā)出轉(zhuǎn)換請(qǐng)求,并同時(shí)將請(qǐng)求參數(shù)傳遞給文件轉(zhuǎn)換模塊; 53:文件轉(zhuǎn)換模塊在接收到轉(zhuǎn)換請(qǐng)求后,將所述轉(zhuǎn)換請(qǐng)求放入文件轉(zhuǎn)換的線程池隊(duì)列中,待有空閑線程時(shí)通過(guò)OpenOffice函數(shù)和Jpedal函數(shù)對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行轉(zhuǎn)換處理,并將轉(zhuǎn)換后的圖片存儲(chǔ)到文件存儲(chǔ)服務(wù)器; 54:文件轉(zhuǎn)換模塊通知內(nèi)容發(fā)布模塊所述轉(zhuǎn)換請(qǐng)求已完成; 55:用戶使用終端閱讀設(shè)備通過(guò)本地瀏覽器向HTTP服務(wù)模塊發(fā)出閱讀文檔的訪問(wèn)請(qǐng)求; 56=HTTP服務(wù)模塊在文件存儲(chǔ)服務(wù)器上讀取待閱讀文檔轉(zhuǎn)換后的圖片,并將該圖片展示給用戶。
4.如權(quán)利要求3所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:步驟S2中,所述請(qǐng)求參數(shù),包括文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑、文檔類型以及文檔經(jīng)MD5加密后的字符串。
5.如權(quán)利要求4所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:步驟S3中,文件轉(zhuǎn)換模塊對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行轉(zhuǎn)換處理的具體布驟包括: 531:等待空閑線程對(duì)所述轉(zhuǎn)換請(qǐng)求進(jìn)行處理; 532:判斷是否存在空閑線程,若是,轉(zhuǎn)入S33,若否,轉(zhuǎn)入S31繼續(xù)等待; 533:所述空閑線程根據(jù)請(qǐng)求參數(shù)中文檔在文件存儲(chǔ)服務(wù)器的具體存儲(chǔ)路徑,讀取相應(yīng)文檔; 534:所述空閑線程調(diào)用OpenOffice函數(shù)打開讀取的文檔,并將打開的文檔轉(zhuǎn)換為TOF格式; 535:所述空閑線程調(diào)用Jpedal函數(shù)將轉(zhuǎn)換為PDF格式的文檔采用分頁(yè)轉(zhuǎn)換的方式轉(zhuǎn)換為圖片格式; 536:判斷文檔的轉(zhuǎn)換處理是否全部完成,若是,轉(zhuǎn)入S37,若否,轉(zhuǎn)入S33 ; S37:將轉(zhuǎn)換完成的圖片保存到文件存儲(chǔ)服務(wù)器中。
6.如權(quán)利要求5所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:所述步驟S33中,所述空閑線程在讀取相應(yīng)文檔之前,還需對(duì)所讀取的文檔進(jìn)行校驗(yàn);校驗(yàn)時(shí),先將讀取的文檔進(jìn)行MD5運(yùn)行,再將運(yùn)行后的信息與請(qǐng)求參數(shù)中文檔經(jīng)MD5加密后的字符串進(jìn)行比對(duì),若比對(duì)結(jié)果相同,則說(shuō)明文檔未被篡改或錯(cuò)讀。
7.如權(quán)利要求3所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:在所述步驟S3的整個(gè)過(guò)程中,文件轉(zhuǎn)換模塊還并行實(shí)現(xiàn)有會(huì)話超時(shí)檢測(cè)功能,具體包括以下步驟: 5301:文件轉(zhuǎn)換模塊定時(shí)調(diào)用操作系統(tǒng)命令,讀取系統(tǒng)進(jìn)程列表中的OpenOffice進(jìn)程; 5302:文件轉(zhuǎn)換模塊判斷OpenOffice進(jìn)程是否超時(shí),若是,轉(zhuǎn)入S303,若否,轉(zhuǎn)入S301: 5303:文件轉(zhuǎn)換模塊通過(guò)調(diào)用操作系統(tǒng)命令結(jié)束超時(shí)的OpenOffice進(jìn)程。
8.如權(quán)利要求7所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:步驟S301中,定時(shí)調(diào)用操作系統(tǒng)命令的時(shí)間周期為30秒。
9.如權(quán)利要求7所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:步驟S302中,文件轉(zhuǎn)換模塊判斷OpenOffice進(jìn)程是否超時(shí)時(shí),將讀取OpenOffice進(jìn)程的開啟時(shí)間,若當(dāng)前時(shí)間減去OpenOffice進(jìn)程的開啟時(shí)間大于超時(shí)時(shí)間,則判定為超時(shí)。
10.如權(quán)利要求3所述的實(shí)現(xiàn)跨平臺(tái)文檔閱讀的方法,其特征在于:步驟SI中,內(nèi)容發(fā)布模塊將用戶上傳的文檔存儲(chǔ)到文件存儲(chǔ)服務(wù)器時(shí),還同時(shí)將該文檔標(biāo)記為未轉(zhuǎn)換狀態(tài);步驟S4中,內(nèi)容發(fā)布模塊接收到文件轉(zhuǎn)換模塊發(fā)來(lái)的通知后,將轉(zhuǎn)換完成的文檔標(biāo)記為已轉(zhuǎn)換狀態(tài);步驟S6中,HTTP服務(wù)模塊讀取待閱讀文檔轉(zhuǎn)換后的圖片之前,將判斷待閱讀文檔是否為已轉(zhuǎn)換狀態(tài),若是,則將待閱讀文檔轉(zhuǎn)換后的圖片展示給用戶,若否,則告知用戶等待待閱讀文檔完成轉(zhuǎn)換。
【文檔編號(hào)】G06F17/30GK104239426SQ201410421976
【公開日】2014年12月24日 申請(qǐng)日期:2014年8月25日 優(yōu)先權(quán)日:2014年8月25日
【發(fā)明者】楊德武 申請(qǐng)人:武漢天喻信息產(chǎn)業(yè)股份有限公司