郑重说明:以下只是个人的想法,一家之谈,你不必认真,也不要争论。
在未来的世界中,将会有越来越多的数据需要存储。而新的存储介质与新的保存方法也都是为尝试保存大量的数据而准备的
―--
一张光盘最初(
CD
格式)保存
650MB
数据,后来发展到
700M
,到现在流行的
DVD
(单面单层
4.7GB
、双面双层可以到
18GB
),而单碟单层蓝光光盘的存储量可以达到
25GB
,单碟双层蓝光光盘的信息存储量则可以达到
50GB
。
在电台、报社,为了随时检录数据资料(视频、音频、文本),其数据大多保存在磁盘柜中,而这这些单位,其磁盘存储柜都是整个房间的存储。现在磁盘单碟的容量已经达到了
250GB
,未来肯定会更多。但是,即使这样,未来需要保存的数据会越来越多、数据量会越来越大,以及要保存历史遗留的数据,对于一些像电台、报社这些单位或者一些图书馆的数据中心等,保存数据会成为一个沉重的负担。
而减轻的负担的办法就是采用好的数据压缩算法。对于视频、音频,可以采用有损压缩的方法,但对于文本,只能采用无损压缩的办法。
传统的压缩算法,是查找重复的数据,这种压缩算法,从原理来看,压缩率不可能太高,不能适合未来的数据压缩要求。
以前我提前用数学运算的方法实现海量数据的无损压缩(详见
[url]http://wangchunhai.blog.51cto.com/225186/42373[/url]
),一些朋友认为没有意义,是不可能实现的。能否实现这些目前我们还不能确定,但可以通过以下的例子,来说明问题。
1 数字问题、模拟解决
传统的方法,传统的思路,应该是解决不了的。我想“数字问题”是可以“模拟解决”的。现在技术可以到
1
纳米的精确定位,对于一个
1
米长度的尺子,可以在上面打一个“有颜色”的点,这个点会代表诸如
0.123456789
米,之后,可以再打另外一个有颜色的点,这个点可以代表诸如
0.223456789
米。依次类推,可以在上面打若干个点并用不同的颜色标示(如果有两个数据重合,可以另外记录一下,或者采用其他方法解决)。这样,可以在一个
1
米长的尺子上,采用多个颜色的“标记点”,来确定一个很长的数据序列。
如果精确度高到足够,则可以在一个
1
厘米、
1
毫米甚至
1
微米的尺子长,直接以更小的刻度进行定位,其序列可以与一张光盘、一张
DVD
甚至一个硬盘数据序列一样。
从这来看,“介纳须弥”并不是没有道理的,像介子那么小的物体,只要加上足够精确度的标记,其保存的数据须弥相比的。
当然,在现在看来,这只是一个不可及的目标。
2 利用互联网、网上计算机分布运算
如果说前面的方法,需要科技的进一步发展才能实现的话,那么,下面的方法,是可以实现的。举例来说,比较明白。
例如,一个数字图书馆,其磁盘陈列上保存了过多的历史数据,如果想采用“数学运算”的方式实现压缩,管理人员可以将磁盘陈列上的数据序列进行下面处理:
(
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
部分,可以是类似于
、
之类的数据,当然,也可以有一些更加复杂的公司,或者一些其他的函数。
这样,只要参与的计算机足够多,专业的公司编写足够好的程序,是可以实现的。
对于参与用户的奖励也是很好实现的:如果运算成功,则节省存储空间的钱就给相应的用户好了,呵呵。