本發(fā)明涉及大容量數(shù)據(jù)傳送裝置及方法,更詳細(xì)而言,涉及一種能夠在web環(huán)境下處理大容量數(shù)據(jù)傳送的方法。
背景技術(shù):
一般而言,數(shù)據(jù)通信在確定格式后,把數(shù)據(jù)內(nèi)容結(jié)合于確定的格式來進行傳送。
數(shù)據(jù)通信方法中的xml方式以標(biāo)記為基礎(chǔ),因而相對于純數(shù)據(jù),需要3倍以上的容量。
數(shù)據(jù)通信方法中的json方式為了傳送數(shù)據(jù),需要添加客體信息,就xml及json方式而言,存在需要了解數(shù)據(jù)的起點與終點的局限。
另一方面,就數(shù)據(jù)通信方法中的csv方式而言,數(shù)據(jù)傳送時,使用“逗號(,)”或
技術(shù)實現(xiàn)要素:
解決的技術(shù)問題
本發(fā)明的目的在于提供一種大容量數(shù)據(jù)傳送裝置及方法,在進行大容量數(shù)據(jù)的傳送時,在客戶端-was(webapplicationserver,網(wǎng)頁應(yīng)用服務(wù)器)間接收發(fā)送時,分割數(shù)據(jù)進行傳送,從而能夠在最小化was的存儲器使用的同時高效傳送大容量數(shù)據(jù)。
技術(shù)方案
旨在解決所述課題的本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法包括:網(wǎng)頁應(yīng)用服務(wù)器(webapplicationserver,was)的發(fā)送接收部從客戶端接收用于數(shù)據(jù)傳送的數(shù)據(jù)傳送請求信息的步驟;所述was的數(shù)據(jù)確認(rèn)部以所述數(shù)據(jù)傳送請求信息為基礎(chǔ),從存儲所述數(shù)據(jù)的數(shù)據(jù)庫確認(rèn)所述數(shù)據(jù)的大小的步驟;所述was的數(shù)據(jù)提取部基于所述數(shù)據(jù)的大小,在將傳送的全體數(shù)據(jù)中依次讀取與預(yù)先設(shè)置的大小相應(yīng)的數(shù)據(jù),并存儲于所述was的存儲器部的步驟;所述was的數(shù)據(jù)變換部把所讀取的數(shù)據(jù)依次變化為預(yù)定的數(shù)據(jù)格式的步驟;所述was的發(fā)送接收部把變化后的數(shù)據(jù)依次傳送給所述客戶端的步驟;及所述was的數(shù)據(jù)刪除部把傳送完成的數(shù)據(jù)從所述was的存儲器部刪除的步驟,在所述數(shù)據(jù)格式中,使用ascii代碼十進制數(shù)1號至31號中的至少一個作為數(shù)據(jù)分隔符(delimiter)。
所述數(shù)據(jù)格式可以包括與所述預(yù)先設(shè)置的大小對應(yīng)的多個記錄,所述多個記錄及所述多個記錄中包含的數(shù)據(jù)借助于所述數(shù)據(jù)分隔符進行區(qū)分。
在所述數(shù)據(jù)格式中,為了相同記錄上的數(shù)據(jù)間的區(qū)分,作為ascii代碼十進制數(shù)31號的單元分隔符(unitseparator)可以被使用為所述數(shù)據(jù)分隔符。
在所述數(shù)據(jù)格式中,為了記錄間的區(qū)分,作為ascii代碼十進制數(shù)30號的記錄分隔符(recordseparator)可以被使用為所述數(shù)據(jù)分隔符。
旨在所述課題的本發(fā)明另一樣態(tài)的大容量數(shù)據(jù)傳送裝置包括:發(fā)送接收部,其用于發(fā)送和/或接收數(shù)據(jù);存儲器部,其用于存儲數(shù)據(jù);數(shù)據(jù)確認(rèn)部,其以所述發(fā)送接收部從客戶端接收的用于數(shù)據(jù)傳送的數(shù)據(jù)傳送請求信息為基礎(chǔ),從存儲待傳送數(shù)據(jù)的數(shù)據(jù)庫確認(rèn)所述待傳送數(shù)據(jù)的大小;數(shù)據(jù)提取部,其基于所述待傳送數(shù)據(jù)的大小,在整個所述待傳送數(shù)據(jù)中,依次讀取與預(yù)先設(shè)置的大小相應(yīng)的數(shù)據(jù),并存儲于所述存儲器部;數(shù)據(jù)變換部,其把所讀取的數(shù)據(jù)依次變化為預(yù)定的數(shù)據(jù)格式;數(shù)據(jù)刪除部,其在完成變化后的數(shù)據(jù)的傳送后,把傳送完成的數(shù)據(jù)從所述存儲器部刪除,在所述數(shù)據(jù)格式中,使用ascii代碼十進制數(shù)1號至31號中的至少一個作為數(shù)據(jù)分隔符(delimiter)。
所述數(shù)據(jù)格式可以包括與所述預(yù)先設(shè)置的大小對應(yīng)的多個記錄,所述多個記錄及所述多個記錄中包括的數(shù)據(jù)借助于所述數(shù)據(jù)分隔符進行區(qū)分。
在所述數(shù)據(jù)格式中,為相同記錄上的數(shù)據(jù)間的區(qū)分,作為ascii代碼十進制數(shù)31號的單元分隔符(unitseparator)可以被使用為所述數(shù)據(jù)分隔符。
在所述數(shù)據(jù)格式中,為了記錄間的區(qū)分,作為ascii代碼十進制數(shù)30號的記錄分隔符(recordseparator)可以被使用為所述數(shù)據(jù)分隔符。
發(fā)明效果
根據(jù)本發(fā)明一個實施例的大容量數(shù)據(jù)傳送裝置及方法,把特殊字符使用為數(shù)據(jù)分隔符而構(gòu)成數(shù)據(jù)格式,從而在客戶端-was間大容量數(shù)據(jù)傳送時,能夠使傳送數(shù)據(jù)的容量最小化,使大容量數(shù)據(jù)傳送效率極大化。
另外,在數(shù)據(jù)傳送時,分割數(shù)據(jù)并依次傳送,從而能夠使因was的數(shù)據(jù)傳送而導(dǎo)致的存儲器的使用實現(xiàn)最小化,使大容量數(shù)據(jù)傳送效率極大化。
附圖說明
圖1是用于執(zhí)行本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法的整體系統(tǒng)圖。
圖2是本發(fā)明一個實施例的大容量數(shù)據(jù)傳送裝置(was)的構(gòu)成圖。
圖3是本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法的順序圖。
圖4顯示了在執(zhí)行本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法方面的數(shù)據(jù)格式的第1示例。
圖5顯示了在執(zhí)行本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法方面的數(shù)據(jù)格式的第2示例。
【附圖標(biāo)記說明】
100:系統(tǒng)110:客戶端
120:was121:發(fā)送接收部
122:數(shù)據(jù)確認(rèn)部123:數(shù)據(jù)提取部
124:存儲器部125:數(shù)據(jù)變換部
126:數(shù)據(jù)刪除部130:db
具體實施方式
如果參照后面與附圖一同詳細(xì)說明的實施例,本發(fā)明的目的、效果及用于達成其的技術(shù)構(gòu)成將會明確。在說明本發(fā)明方面,如果判斷為對公知功能或構(gòu)成的具體說明可能不必要地混淆本發(fā)明要旨,則省略其詳細(xì)說明。而且,后面說明的術(shù)語作為考慮到在本發(fā)明中的結(jié)構(gòu)、作用及功能等而定義的術(shù)語,其會因使用者、運用者的意圖或慣例等而異。
而且,本發(fā)明并非限定于以下公開的實施例,可以以互不相同的多樣形態(tài)體現(xiàn)。只是,本實施例是為了使本發(fā)明的公開更完全,為了向本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員完全地告知發(fā)明的范疇而提供的,本發(fā)明只由專利權(quán)利要求書中記載的權(quán)利要求的范疇定義。因此,其定義應(yīng)以本說明書通篇內(nèi)容為基礎(chǔ)而作出。
在通篇說明書中,當(dāng)說某部分“包括”某構(gòu)成要素時,只要沒有特別相反的記載,則并非意味著排除其它構(gòu)成要素,而意味著可以還包括其它構(gòu)成要素。
下面參照附圖,更詳細(xì)地說明本發(fā)明的優(yōu)選實施例。
另一方面,在本發(fā)明的實施例中,各構(gòu)成要素、功能塊或手段可以由一個或其以上的追加構(gòu)成要素構(gòu)成,各構(gòu)成要素執(zhí)行的電氣、電子、機械功能可以以電子電路、集成電路、asic(applicationspecificintegratedcircuit)等公知的多樣元件或機械要素而體現(xiàn),既可以個別獨立地得到體現(xiàn),也可以是2個以上統(tǒng)合成一個而得到體現(xiàn)。
另外,附帶的框圖的各模塊和流程圖的各步驟的組合,也可以借助于計算機程序指令而執(zhí)行。這些計算機程序指令可以搭載于通用計算機、專用計算機、便攜筆記本電腦、網(wǎng)絡(luò)計算機等其它可編程數(shù)據(jù)處理裝備的處理器,因此,通過計算機裝置或其它可編程數(shù)據(jù)處理裝備的處理器執(zhí)行的這些指令,生成執(zhí)行以下將說明的框圖的各模塊或流程圖的各步驟中說明的功能的手段。這些計算機程序指令為了以特定方式體現(xiàn)功能,可以存儲于存儲器或計算機可讀存儲器,其中所述存儲器或所述計算機可讀存儲器是可以在計算機裝置或可指向其它可編程數(shù)據(jù)處理裝備的計算機裝置中進行利用的。因此,可以生產(chǎn)包含了執(zhí)行框圖的各模塊或流程圖各步驟中說明的功能的指令手段的制造物。計算機程序指令也可以搭載于計算裝置或其它可編程數(shù)據(jù)處理裝備上,因此,還可以在計算機裝置或其它可編程數(shù)據(jù)處理裝備上,生成用于執(zhí)行一系列動作步驟的進程,提供用于運行框圖的各模塊及流程圖的各步驟中說明的功能的步驟。
另外,各模塊或各步驟可以代表包含運行特定的邏輯功能(多個)所需的一個以上的可運行指令的模塊、分段或代碼的一部分。另外需要注意的是,在幾種替代實施例中,在模塊或步驟中提及的功能也可能有超出順序而發(fā)生的情況。例如,被連續(xù)圖示的兩個模塊或步驟,實際上既可以同時執(zhí)行,或者也可以是其模塊或步驟,根據(jù)時時相應(yīng)的功能,按逆向順序執(zhí)行。
圖1是用于執(zhí)行本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法的整體系統(tǒng)圖,圖2是本發(fā)明一個實施例的大容量數(shù)據(jù)傳送裝置(was)的構(gòu)成圖,圖3是本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法的順序圖。
如所述圖1所示,系統(tǒng)100包括客戶端110、was(webapplicationserver,網(wǎng)頁應(yīng)用服務(wù)器)120及db(database,數(shù)據(jù)庫)130,客戶端110與was120間、was120與db130間通過網(wǎng)絡(luò)連接。
多個客戶端110可以與was120通過網(wǎng)絡(luò)連接,如果客戶端110向was120請求預(yù)定的數(shù)據(jù),則was120可以從db130讀取相應(yīng)數(shù)據(jù)并傳送給所述客戶端110。
所述was120包括發(fā)送接收部121、數(shù)據(jù)確認(rèn)部122、數(shù)據(jù)提取部123、存儲器部124、數(shù)據(jù)變換部125及數(shù)據(jù)刪除部126。
首先,was120的發(fā)送接收部121從客戶端110接收用于數(shù)據(jù)傳送的數(shù)據(jù)傳送請求信息(s100)。
所述數(shù)據(jù)傳送請求信息包括所述客戶端110請求的數(shù)據(jù)相關(guān)信息,使得was120可以以所述數(shù)據(jù)傳送請求信息為基礎(chǔ),確認(rèn)并傳送db130中存儲的數(shù)據(jù)。
所述數(shù)據(jù)確認(rèn)部122執(zhí)行從存儲所述數(shù)據(jù)的db130確認(rèn)所述數(shù)據(jù)大小的進程(s110)。
在客戶端110請求的數(shù)據(jù)的容量為大容量的情況下,在從db130讀取并傳送全部相應(yīng)數(shù)據(jù)時,相應(yīng)數(shù)據(jù)大量占用was120的存儲器部124,was120的處理性能惡化,客戶端110從was120接收數(shù)據(jù)時,加載時間將會延長,使得數(shù)據(jù)傳送效率下降。
為了提高大容量數(shù)據(jù)的傳送效率,所述數(shù)據(jù)提取部123基于所述數(shù)據(jù)的大小,在將傳送的全體數(shù)據(jù)中,依次讀取與預(yù)先設(shè)置的大小相應(yīng)的數(shù)據(jù),從而執(zhí)行存儲于所述存儲器部124的進程(s120)。
此時,所述預(yù)先設(shè)置的大小可以根據(jù)was120的規(guī)格及網(wǎng)絡(luò)狀態(tài)而適宜地設(shè)置。
然后,所述數(shù)據(jù)變換部125執(zhí)行依次把所述數(shù)據(jù)變化為預(yù)定數(shù)據(jù)格式的進程(s130)。
所述數(shù)據(jù)格式包括與所述預(yù)先設(shè)置的大小對應(yīng)的多個記錄(在數(shù)據(jù)格式中,對應(yīng)于row),所述多個記錄可以利用所述數(shù)據(jù)分隔符而變化為預(yù)定的數(shù)據(jù)格式。
在所述數(shù)據(jù)格式中,數(shù)據(jù)分隔符(delimiter)可以使用ascii代碼十進制數(shù)1號至31號中至少一個。所述ascii代碼十進制數(shù)1號至31號屬于特殊字符。
就csv方式而言,在數(shù)據(jù)傳送時,使用“逗號(,)”或
但是,ascii代碼十進制數(shù)1號至31號屬于特殊字符,因此,不需要在純數(shù)據(jù)前后添加雙引號。因此,通過如此使用特殊字符作為數(shù)據(jù)分隔符,從而在進行大容量數(shù)據(jù)傳送所需的數(shù)據(jù)變化時,可以使數(shù)據(jù)的傳送數(shù)據(jù)整體容量大小的增加實現(xiàn)最小化。
圖4顯示了在執(zhí)行本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法方面的數(shù)據(jù)格式的第1示例,圖5顯示了在執(zhí)行本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法方面的數(shù)據(jù)格式的第2示例。
在所述圖4及圖5中,假定“·”代表作為ascii代碼十進制數(shù)31號的單元分隔符(unitseparator),
如所述圖4及圖5所示,在所述數(shù)據(jù)格式中,為了相同記錄上的數(shù)據(jù)間的區(qū)分,作為ascii代碼十進制數(shù)31號的單元分隔符(unitseparator)可以被使用為所述數(shù)據(jù)分隔符,作為所述ascii代碼十進制數(shù)30號的記錄分隔符(recordseparator)可以被使用為所述數(shù)據(jù)分隔符。
這作為一個示例,所述數(shù)據(jù)分隔符可以在ascii代碼十進制數(shù)1號至31號的特殊字符中適當(dāng)?shù)剡M行選擇。
如此地,通過構(gòu)成為使用特殊字符而在數(shù)據(jù)間及記錄間進行區(qū)分,從而在數(shù)據(jù)變化時,可以使因數(shù)據(jù)分隔符而導(dǎo)致的傳送數(shù)據(jù)整體容量大小的增加實現(xiàn)最小化。
然后,所述發(fā)送接收部121把所述變換的數(shù)據(jù)依次傳送給所述客戶端110(s140)。
所述數(shù)據(jù)刪除部126把傳送完成的所述數(shù)據(jù)從存儲器部124中刪除(s150)。通過把傳送完成的數(shù)據(jù)從存儲器部124中刪除,可以使存儲器部124中存儲的數(shù)據(jù)的量最小化,提高was120的處理性能。
在was120向客戶端100傳送數(shù)據(jù)時,一次傳送全體數(shù)據(jù)的情況與根據(jù)本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法而傳送的情況下的全體數(shù)據(jù)大小相同。
但是,在根據(jù)以上說明的本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法而以流(stream)方式傳送數(shù)據(jù)的情況下,當(dāng)觀察數(shù)據(jù)傳送開始時間點至結(jié)束時間點時,was120的存儲器部124的使用存儲器遠(yuǎn)遠(yuǎn)小于一次傳送全部信息的情形。
例如,在根據(jù)本發(fā)明一個實施例的大容量數(shù)據(jù)傳送方法而以流方式傳送數(shù)據(jù)時,如果假定把總共1000個列每次發(fā)送100個的情況,那么,was120只使用相當(dāng)于100個列的存儲器。即,采取的方式是,傳送100個列后,從存儲器部124刪除相應(yīng)數(shù)據(jù),在傳送下100個列后,從存儲器部124刪除相應(yīng)數(shù)據(jù),因此,能夠在使存儲器的使用實現(xiàn)最小化的同時提高was120傳送效率。
通過這種方式,使資源使用量最小化,從而可以不受數(shù)據(jù)大小限制地進行數(shù)據(jù)傳送。
以上對本發(fā)明的實施例進行了說明,但只要是所屬技術(shù)領(lǐng)域的普通技術(shù)人員,便可以在不超出專利權(quán)利要求書記載的本發(fā)明思想的范圍內(nèi),借助于構(gòu)成要素的附加、變更、刪除或添加等而多樣地修訂及變更本發(fā)明,并應(yīng)理解為這也包含于本發(fā)明的權(quán)利范圍內(nèi)。