天天看點

雜談

鄭重說明:以下隻是個人的想法,一家之談,你不必認真,也不要争論。

在未來的世界中,将會有越來越多的資料需要存儲。而新的存儲媒體與新的儲存方法也都是為嘗試儲存大量的資料而準備的—--一張CD光牒最初(CD格式)儲存650MB資料,後來發展到700M,到現在流行的DVD(單面單層4.7GB、雙面雙層可以到18GB),而單碟單層藍光CD光牒的存儲量可以達到25GB,單碟雙層藍光CD光牒的資訊存儲量則可以達到50GB。

在電台、報社,為了随時檢錄資料資料(視訊、音頻、文本),其資料大多儲存在磁盤櫃中,而這這些機關,其磁盤存儲櫃都是整個房間的存儲。現在磁盤單碟的容量已經達到了250GB,未來肯定會更多。但是,即使這樣,未來需要儲存的資料會越來越多、資料量會越來越大,以及要儲存曆史遺留的資料,對于一些像電台、報社這些機關或者一些圖書館的資料中心等,儲存資料會成為一個沉重的負擔。

而減輕的負擔的辦法就是采用好的資料壓縮算法。對于視訊、音頻,可以采用有損壓縮的方法,但對于文本,隻能采用無損壓縮的辦法。

傳統的壓縮算法,是查找重複的資料,這種壓縮算法,從原理來看,壓縮率不可能太高,不能适合未來的資料壓縮要求。

以前我提前用數學運算的方法實作海量資料的無損壓縮(詳見[url]http://wangchunhai.blog.51cto.com/225186/42373[/url]),一些朋友認為沒有意義,是不可能實作的。能否實作這些目前我們還不能确定,但可以通過以下的例子,來說明問題。

傳統的方法,傳統的思路,應該是解決不了的。我想“數字問題”是可以“模拟解決”的。現在技術可以到1納米的精确定位,對于一個1米長度的尺子,可以在上面打一個“有顔色”的點,這個點會代表諸如0.123456789米,之後,可以再打另外一個有顔色的點,這個點可以代表諸如0.223456789米。依次類推,可以在上面打若幹個點并用不同的顔色标示(如果有兩個資料重合,可以另外記錄一下,或者采用其他方法解決)。這樣,可以在一個1米長的尺子上,采用多個顔色的“标記點”,來确定一個很長的資料序列。

如果精确度高到足夠,則可以在一個1厘米、1毫米甚至1微米的尺子長,直接以更小的刻度進行定位,其序列可以與一張CD光牒、一張DVD甚至一個硬碟資料序列一樣。

從這來看,“介納須彌”并不是沒有道理的,像介子那麼小的物體,隻要加上足夠精确度的标記,其儲存的資料須彌相比的。

當然,在現在看來,這隻是一個不可及的目标。

如果說前面的方法,需要科技的進一步發展才能實作的話,那麼,下面的方法,是可以實作的。舉例來說,比較明白。

例如,一個數字圖書館,其磁盤陳列上儲存了過多的曆史資料,如果想采用“數學運算”的方式實作壓縮,管理人員可以将磁盤陳列上的資料序列進行下面處理:

(1)将資料序列,劃分成10部分(甚至更多),對第1部分、第1+2部分、第1+2+3部分、……、第1+2+3+4+5+6+7+8+9+10部分進行處理,得到基第1部分、第1+2部分、整個部分的MD5值、每個對應部分的序列長度、每個部分的第xx位的資料序列進行公式。

例如:第一部分長度32K,其MD5值為418838f197c5e6426529dc99850610cc,其序列的第1~第10位為2312337890;第二部分長度為64K,其MD5值為418838f107c5e6426529dc998520e033,其序列的第64K開始為23995,其結束為23233。

(2)Internet上的使用者,可以采用不同的數學公式運算其結果,在運算出的序列(其第一部分)後,得到MD5值,如果MD5值與公布的相同并且與公布的對應xx位資料序列相同,則可以繼續運算。

當各部分的MD5值與各部分的xx位與公布的相同時,則表示運算基本成功。

當然,對于一個足夠長的資料序列,每部分與每部分,可以使用不同的公式。

例如,對于第1部分,可以是類似于

之類的資料,當然,也可以有一些更加複雜的公司,或者一些其他的函數。

這樣,隻要參與的計算機足夠多,專業的公司編寫足夠好的程式,是可以實作的。

對于參與使用者的獎勵也是很好實作的:如果運算成功,則節省存儲空間的錢就給相應的使用者好了,呵呵。

上一篇: 雜談
下一篇: Spring 雜談

繼續閱讀