两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于局域網(wǎng)的文件接收及存儲方法、查看方法及系統(tǒng)的制作方法

文檔序號:8905251閱讀:997來源:國知局
基于局域網(wǎng)的文件接收及存儲方法、查看方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種文件處理技術(shù),尤其是涉及一種基于局域網(wǎng)的文件接收及存儲方法、查看方法及系統(tǒng)。
【背景技術(shù)】
[0002]如今的移動教育類產(chǎn)品發(fā)展迅猛,然而基于小型局域網(wǎng)的班級式的移動教育類產(chǎn)品還是比較稀少的。在開發(fā)此類產(chǎn)品的過程中利用傳統(tǒng)的網(wǎng)絡(luò)文件處理方式很難滿足當(dāng)前的需求,而且內(nèi)存占用大、效率低,致使產(chǎn)品的用戶體驗比較差。傳統(tǒng)的網(wǎng)絡(luò)文件處理方式是將接收的文件一個一個的保存到本地,然后根據(jù)需要再去磁盤上去加載該文件,效率低。

【發(fā)明內(nèi)容】

[0003]本發(fā)明所要解決的技術(shù)問題是:本發(fā)明所要解決的技術(shù)問題是:提供一種基于局域網(wǎng)的文件接收及存儲方法、查看方法及系統(tǒng),其減少了內(nèi)存占用,提高內(nèi)存利用率,且提高了系統(tǒng)的I/o效率,并起到對文件的隱藏保護(hù)功能。
[0004]為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:提供一種基于局域網(wǎng)的文件接收及存儲方法,包括:服務(wù)端接收文件字節(jié)流數(shù)據(jù);存儲所述文件字節(jié)流數(shù)據(jù)到內(nèi)存映射文件中;提取所述文件及所述內(nèi)存映射文件的相關(guān)信息,并保存在索引記錄對象中;添加所述索引記錄對象到索引記錄對象列表中。
[0005]其中,本發(fā)明還提供一種基于局域網(wǎng)的文件查看方法,包括:程序從所述索引記錄對象列表中檢索出所述文件對應(yīng)的索引記錄對象;根據(jù)所述索引記錄對象保存的所述文件相關(guān)信息,查找所述文件對應(yīng)的內(nèi)存映射文件;在所述內(nèi)存映射文件中讀取所述文件的內(nèi)容。
[0006]其中,本發(fā)明還提供一種基于局域網(wǎng)的文件接收、存儲及查看系統(tǒng),包括:移動端、服務(wù)端、內(nèi)存映射文件單元、索引記錄對象單元;其中,所述移動端向所述服務(wù)端發(fā)送文件字節(jié)流數(shù)據(jù);所述內(nèi)存映射文件單元用于創(chuàng)建內(nèi)存映射文件,所述服務(wù)端將所述文件字節(jié)流數(shù)據(jù)存儲到所述內(nèi)存映射文件中;所述索引記錄對象單元用于創(chuàng)建索引記錄對象。所述服務(wù)端提取所述文件及所述內(nèi)存映射文件的相關(guān)信息,并保存在索引記錄對象中。
[0007]本發(fā)明的有益效果在于:相對現(xiàn)有技術(shù),本發(fā)明中的服務(wù)端在接收到其他移動端傳過來的文件字節(jié)流數(shù)據(jù)時,將其存儲到一個內(nèi)存映射文件中,并將所收到的文件的相關(guān)信息保存在內(nèi)存中的索引記錄對象中。當(dāng)要使用該文件時,程序先到內(nèi)存中檢索保存此文件信息的索引記錄對象,然后根據(jù)查找到的對象所保存的信息,去對應(yīng)的內(nèi)存映射文件中讀取文件內(nèi)容,再做后續(xù)處理。如此不僅可以實現(xiàn)對多個文件內(nèi)容的隨機訪問,而且可以減少不必要的內(nèi)存占用,當(dāng)用戶需要時才去磁盤上把內(nèi)容讀取到內(nèi)存中,不需要時可以直接釋放掉,提高內(nèi)存的使用效率,此外在上述方法及系統(tǒng)下,由于源文件無法被直接看到,因此本本發(fā)明還可以對文件起到隱藏保護(hù)功能。
【附圖說明】
[0008]圖1為本發(fā)明基于局域網(wǎng)的文件接收及存儲方法實施例一的流程圖;
[0009]圖2為本發(fā)明基于局域網(wǎng)的文件接收及存儲方法實施例二的流程圖;
[0010]圖3為本發(fā)明基于局域網(wǎng)的文件接收及存儲方法實施例二中步驟S70的具體步驟流程圖;
[0011]圖4為本發(fā)明基于局域網(wǎng)的文件接收及存儲方法實施例三的流程圖;
[0012]圖5為本發(fā)明基于局域網(wǎng)的文件查看方法實施例四的流程圖;
[0013]圖6為本發(fā)明基于局域網(wǎng)的文件接收及存儲、查看的系統(tǒng)實施例五的結(jié)構(gòu)示意圖;
[0014]圖7為本發(fā)明執(zhí)行步驟SlOO后的具體步驟流程圖。
【具體實施方式】
[0015]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖予以說明。
[0016]請參照圖1,本發(fā)明基于局域網(wǎng)的文件接收及存儲方法實施例一包括如下步驟:
[0017]SllO:服務(wù)端接收文件字節(jié)流數(shù)據(jù);
[0018]S120:存儲所述文件字節(jié)流數(shù)據(jù)到內(nèi)存映射文件中;
[0019]S130:提取所述文件及所述內(nèi)存映射文件的相關(guān)信息,并保存在索引記錄對象中;
[0020]S140:添加所述索引記錄對象到索引記錄對象列表中。
[0021]一般地,文件在網(wǎng)絡(luò)中傳輸時,都需要將文件轉(zhuǎn)化為字節(jié)流數(shù)據(jù),字節(jié)流是由字節(jié)組成的,在所有的流操作里。字節(jié)永遠(yuǎn)是最基礎(chǔ)的。任何基于字節(jié)的操作都是正確的,無論是文本文件還是二進(jìn)制的文件。所有的InputStream和OutputStream的子類都是字節(jié)流,它是按字節(jié)來處理的。字節(jié)流可用于任何類型的對象。
[0022]而本發(fā)明的字節(jié)流數(shù)據(jù)通常是由移動端程序通過TCP鏈接發(fā)送的,服務(wù)端將這些字節(jié)流數(shù)據(jù)存儲到內(nèi)存映射文件中。而內(nèi)存映射文件是由一個文件到一塊內(nèi)存的映射。內(nèi)存映射文件與虛擬內(nèi)存有些類似,通過內(nèi)存映射文件可以保留一個地址空間的區(qū)域,同時將物理存儲器提交給此區(qū)域,內(nèi)存文件映射的物理存儲器來自一個已經(jīng)存在于磁盤上的文件,而且在對該文件進(jìn)行操作之前必須首先對文件進(jìn)行映射。使用內(nèi)存映射文件處理存儲于磁盤上的文件時,將不必再對文件執(zhí)行I/o操作,這意味著在對文件進(jìn)行處理時將不必再為文件申請并分配緩存,所有的文件緩存操作均由系統(tǒng)直接管理,由于取消了將文件數(shù)據(jù)加載到內(nèi)存、數(shù)據(jù)從內(nèi)存到文件的回寫以及釋放內(nèi)存塊等步驟,使得內(nèi)存映射文件在處理大數(shù)據(jù)量的文件時能起到相當(dāng)重要的作用。如對于某些特殊應(yīng)用領(lǐng)域所需要的動輒幾十GB、幾百GB、乃至幾TB的海量存儲,而以通常的文件處理方法進(jìn)行處理顯然是行不通的,對于上述這種大文件的操作一般是以內(nèi)存映射文件的方式來加以處理的。
[0023]另外,實際工程中的系統(tǒng)往往需要在多個進(jìn)程之間共享數(shù)據(jù),如果數(shù)據(jù)量小,處理方法是靈活多變的,或共享數(shù)據(jù)容量巨大,那么就需要借助于內(nèi)存映射文件來進(jìn)行。實際上,內(nèi)存映射文件正是解決本地多個進(jìn)程間數(shù)據(jù)共享的最有效方法。而且,本發(fā)明中內(nèi)存映射文件為可隨機訪問的。
[0024]服務(wù)端提取要存儲的文件的相關(guān)信息,如該文件的大小、時間戳或其他相關(guān)信息后,保存到索引記錄對象中,而內(nèi)存映射文件的相關(guān)信息也可被提取并存儲到索引記錄對象中。在并這些索引記錄對象建立一個索引記錄對象列表。
[0025]從上述描述可知,本發(fā)明的有益效果在于:區(qū)別于現(xiàn)有技術(shù),本發(fā)明實施例一通過存儲文件字節(jié)流數(shù)據(jù)到內(nèi)存映射文件中,實現(xiàn)了對文件的隨機存儲,減少占用不必要的內(nèi)存,并對文件及內(nèi)存映射文件建立相應(yīng)的索引記錄對象,并添加到索引記錄對象列表中,實現(xiàn)文件存儲的路徑的便捷,并很好的隱藏保護(hù)了源文件,具備一定安全可靠性。
[0026]如圖2所示,本發(fā)明文件接收及存儲方法實施例二在上述實施例一的基礎(chǔ)上,在步驟SllO之前,還包括如下步驟:
[0027]S70:創(chuàng)建內(nèi)存映射文件;
[0028]S80:根據(jù)所創(chuàng)建的內(nèi)存映射文件,建立內(nèi)存映射文件列表,并添加所述內(nèi)存映射文件到所述內(nèi)存映射文件列表中;
[0029]S90:對所述內(nèi)存映射文件進(jìn)行編號;
[0030]SlOO:所述服務(wù)端從所述內(nèi)存映射文件列表獲取用于存儲所述文件字節(jié)流數(shù)據(jù)的所述內(nèi)存映射文件。
[0031]如圖3所示,在執(zhí)行步驟S70時,可具體地可執(zhí)行如下步驟:
[0032]S71:訪問所接收文件內(nèi)容的目錄,獲取文件列表;
[0033]S72:再通過系統(tǒng)函數(shù)將所接收文件轉(zhuǎn)換為所述內(nèi)存映射文件。
[0034]這里的系統(tǒng)函數(shù)可以是JAVA函數(shù)等可實現(xiàn)轉(zhuǎn)化的函數(shù)。
[0035]而有多個文件需要接收存儲時,當(dāng)內(nèi)存映射文件的空間足夠大時,則一個內(nèi)存映射文件可存儲多個接收的文件內(nèi)容,若空間不足時,就有必要為每個文件獨立創(chuàng)建其相應(yīng)的內(nèi)存映射文件,這些內(nèi)存映射文件需要對其進(jìn)行編號,并建立內(nèi)存映射文件列表,編號可按照文件接收順序進(jìn)行,如最后要接收的文件,可以將為其創(chuàng)建的內(nèi)存映射文件排在內(nèi)存映射文件列表的末尾。其中這些步驟在程序啟動時,可由程序自動完成,或者人工操作實現(xiàn)。
[0036]因此,內(nèi)存映射文件列表存儲的只是對象的引用,而不是所有文件內(nèi)容,其所占的內(nèi)存空間非常有限,這樣方便后續(xù)對文件查看的操作。
[0037]如圖7所示,在執(zhí)行步驟SlOO后,還需判斷所述內(nèi)存映射文件是否有足夠的空間存儲所接收文件
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
类乌齐县| 上杭县| 双峰县| 金坛市| 祁连县| 明星| 丹东市| 五指山市| 大理市| 柘城县| 上犹县| 白水县| 白银市| 安康市| 咸宁市| 库伦旗| 米易县| 上蔡县| 巩留县| 额尔古纳市| 宾川县| 辽中县| 报价| 沂源县| 凤凰县| 洪江市| 建湖县| 绍兴县| 金坛市| 读书| 长白| 长宁县| 渝中区| 上犹县| 谷城县| 涞源县| 七台河市| 含山县| 重庆市| 晋州市| 聂荣县|