溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

大清單報(bào)表的打?。?/h1>
發(fā)布時(shí)間:2020-10-25 16:59:46 來(lái)源:網(wǎng)絡(luò) 閱讀:314 作者:raqsoft 欄目:大數(shù)據(jù)

大清單報(bào)表的打???

我們談了大清單報(bào)表的呈現(xiàn)方法,其實(shí)有時(shí)候這些報(bào)表還需要打印,比如銀行打印流水對(duì)賬單。

那么,打印是不是也要像呈現(xiàn)那樣做一個(gè)緩存機(jī)制呢?


沒有這個(gè)必要。打印和瀏覽不同,一般是從頭到尾過(guò)一遍就行了,過(guò)程中沒有翻頁(yè)的需求。這樣,只要流式讀入數(shù)據(jù)逐步生成打印頁(yè)就可以了,不會(huì)發(fā)生內(nèi)存溢出的問(wèn)題。

但這個(gè)做法仍然比較麻煩,特別是現(xiàn)代瀏覽器加強(qiáng)了安全控制,applet等插件經(jīng)常被禁用,打印功能常常不能直接由報(bào)表工具提供,而要采用flash或PDF方式來(lái)實(shí)現(xiàn)。用flash可以做到流式讀取,但并不簡(jiǎn)單,還會(huì)導(dǎo)致插件與后臺(tái)耦合性過(guò)高,影響安全性;而PDF方式就是一次性生成一個(gè)文檔,沒辦法實(shí)現(xiàn)這種機(jī)制了。


我們來(lái)算算打印100萬(wàn)行記錄是什么情況。

假設(shè)一頁(yè)紙能打印50行記錄(這已經(jīng)算多了),100萬(wàn)行記錄就意味著2萬(wàn)頁(yè)紙。2萬(wàn)頁(yè)的連續(xù)打印,有多少打印機(jī)能做到這個(gè)指標(biāo)?你的用戶真有這樣的設(shè)備嗎?2萬(wàn)頁(yè)紙大概有2米厚,什么打印機(jī)能把這些紙放進(jìn)去?商用快速打印機(jī)一分鐘也就30幾頁(yè),就按50頁(yè)/分鐘算,2萬(wàn)頁(yè)也需要7個(gè)鐘頭!作為一個(gè)機(jī)械設(shè)備能連續(xù)工作這么久是不容易的。

而100萬(wàn)行記錄需要占多大內(nèi)存呢?一條記錄算1K已經(jīng)很大(畢竟一頁(yè)要打印50行的),100萬(wàn)行也就1G內(nèi)存。這對(duì)于前端用于打印的普通PC來(lái)講并不難滿足。

這還是只算了100萬(wàn)記錄的情況,如果把100萬(wàn)增加到500萬(wàn),內(nèi)存仍然可以承受,而打印機(jī)是萬(wàn)萬(wàn)吃不消了。也就是說(shuō),在現(xiàn)代計(jì)算機(jī)的內(nèi)存容量下,打印這個(gè)功能采用全內(nèi)存方式是沒有問(wèn)題的,幾乎找不到需要流式讀取的情況。作為一個(gè)要重復(fù)銷售的商業(yè)軟件,報(bào)表工具沒必要去支撐這種極為罕見甚至根本不存在的應(yīng)用場(chǎng)景。


這個(gè)計(jì)算結(jié)果,看起來(lái)有點(diǎn)荒唐,讀者可能會(huì)覺得可笑。但這確實(shí)是和用戶溝通需求時(shí)真實(shí)發(fā)生過(guò)的事情,實(shí)際上喊的記錄行數(shù)比500萬(wàn)要大很多,而用戶并沒有認(rèn)真計(jì)算過(guò)它意味著什么。經(jīng)過(guò)一些常規(guī)計(jì)算我們就會(huì)發(fā)現(xiàn),雖然有些用戶在叫,大清單報(bào)表的打印其實(shí)是個(gè)偽需求。

大數(shù)據(jù)領(lǐng)域還有些類似的事,比如說(shuō)10T數(shù)據(jù)想要3秒返回結(jié)果,用戶卻不會(huì)想到這很可能意味著1萬(wàn)塊硬盤。

嚴(yán)謹(jǐn)認(rèn)真一點(diǎn),會(huì)推出許多想不到的有趣結(jié)論 :)。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI