把上面的代码复制到地址栏,然后回车,就会看到神奇的效果了。
timestamp列类型
timestamp值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
timestamp值显示尺寸的格式如下表所示:
:
+---------------+----------------+
| 列类型 | 显示格式 |
| timestamp(14) | yyyymmddhhmmss |
| timestamp(12) | yymmddhhmmss |
| timestamp(10) | yymmddhhmm |
| timestamp(8) | yyyymmdd |
| timestamp(6) | yymmdd |
| timestamp(4) | yymm |
| timestamp(2) | yy |
+---------------+----------------+
“完整”timestamp格式是14位,但timestamp列也可以用更短的显示尺寸创造
最常见的显示尺寸是6、8、12、和14。
你可以在创建表时指定一个任意的显示尺寸,但是定义列长为0或比14大均会被强制定义为列长14。
列长在从1~13范围的奇数值尺寸均被强制为下一个更大的偶数。
列如:
定义字段长度 强制字段长度
timestamp(0) -> timestamp(14)
timestamp(15)-> timestamp(14)
timestamp(1) -> timestamp(2)
timestamp(5) -> timestamp(6)
所有的timestamp列都有同样的存储大小,
使用被指定的时期时间值的完整精度(14位)存储合法的值不考虑显示尺寸。
不合法的日期,将会被强制为0存储
这有几个含意:
1、虽然你建表时定义了列timestamp(8),但在你进行数据插入与更新时timestamp列
实际上保存了14位的数据(包括年月日时分秒),
只不过在你进行查询时mysql返回给你的是8位的年月日数据。
如果你使用alter table拓宽一个狭窄的timestamp列,以前被“隐蔽”的信息将被显示。
2、同样,缩小一个timestamp列不会导致信息失去,除了感觉上值在显示时,较少的信息被显示出。
3、尽管timestamp值被存储为完整精度,直接操作存储值的唯一函数是unix_timestamp();
由于mysql返回timestamp列的列值是进过格式化后的检索的值,
这意味着你可能不能使用某些函数来操作timestamp列(例如hour()或second()),
除非timestamp值的相关部分被包含在格式化的值中。
例如,一个timestamp列只有被定义为timestamp(10)以上时,timestamp列的hh部分才会被显示,
因此在更短的timestamp值上使用hour()会产生一个不可预知的结果。
4、不合法timestamp值被变换到适当类型的“零”值(00000000000000)。(datetime,date亦然)
你可以使用下列语句来验证:
create table test ('id' int (3) unsigned auto_increment, 'date1' timestamp (8) primary key('id'));
insert into test set id = 1;
select * from test;
+----+----------------+
| id | date1 |
+----+----------------+
| 1 | 20021114 |
+----+----------------+
alter table test change 'date1' 'date1' timestamp(14);
select * from test;
+----+----------------+
| id | date1 |
+----+----------------+
| 1 | 20021114093723 |
+----+----------------+
你可以使用timestamp列类型自动地用当前的日期和时间标记insert或update的操作。
如果你有多个timestamp列,只有第一个自动更新。
自动更新第一个timestamp列在下列任何条件下发生:
1、列值没有明确地在一个insert或load data infile语句中指定。
2、列值没有明确地在一个update语句中指定且另外一些的列改变值。
(注意一个update设置一个列为它已经有的值,
这将不引起timestamp列被更新,
因为如果你设置一个列为它当前的值,mysql为了效率而忽略更改。)
3、你明确地设定timestamp列为null.
4、除第一个以外的timestamp列也可以设置到当前的日期和时间,只要将列设为null,或now()。
create table test (
'id' int (3) unsigned auto_increment,
'date1' timestamp (14),
'date2' timestamp (14),
primary key('id')
);
insert into test (id, date1, date2) values (1, null, null);
insert into test set id= 2;
+----+----------------+----------------+
| id | date1 | date2 |
+----+----------------+----------------+
| 1 | 20021114093723 | 20021114093723 |
| 2 | 20021114093724 | 00000000000000 |
+----+----------------+----------------+
->第一条指令因设date1、date2为null,所以date1、date2值均为当前时间
第二条指令因没有设date1、date2列值,第一个timestamp列date1为更新为当前时间,
而二个timestamp列date2因日期不合法而变为“00000000000000”
update test set id= 3 where id=1;
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mwywfn/archive/2008/12/04/3447360.aspx
1、 硬盘损坏时,没有预警。 硬盘录像机在使用时,软件和操作系统是安装在FALSH里面的,程序不容易死机,但是,当硬盘损坏时,系统程序仍然在运行,事实上录象数据已经写不进硬盘中了,造成无法及时地更换硬盘。
2、 主机发生故障时,唯一的解决办法就是“发回厂家维修” 嵌入式硬盘录像机,由于其工作方式的原因,发生故障时,现场人员无法解决,必须要把机器发回到厂家,进行内部电路板上的维修。 由于嵌入式硬盘录像机所有的硬件都集成在一起,主板、报警、485模块、网络等等只要有一个模块发生故障,就必须要发回厂家维修或者直接更换新的机器。
3、 显示质量受显示芯片的限制,显示效果不理想、延时比较大。 和IPC工业计算机平台的DVR比较起来看,在显示效果上和延时问题上,嵌入式的和IPC式的产品,有质的差别,WINDOWS2000操作系统对2D图象的支持能力是非常强大的,同时独立的64MB显示卡,专门用于处理视频图像,因此在显示质量和视频延时上不存在问题。
4、 嵌入式硬盘录像机工作日志无法做完整 嵌入式硬盘录像机的软件是保存在FLASH里面的,受空间容量的影响,其系统的工作日志无法实现完整的设计,同时还会造成日志保存的时间比较短的后果。
5、嵌入式硬盘录像机可扩展性差 嵌入式硬盘录像机其视频处理部分均集成在一块板子上,如果需要扩展1路上去,唯一的办法就是换机器。所以,起扩展性能比较差。
6、软件升级困难 嵌入式硬盘录像机软件是烧录在FLASH里面的,必须要通过客户端机器使用串口和网络的方式用专门的软件远程升级,需要厂家或者专业人员来完成这个工作。
7、操作系统版权问题: 嵌入式硬盘录像机,有相当一部分厂商使用VxWorks等操作系统来做嵌入式硬盘录像机,VxWorks等操作系统的版权非常昂贵,因此多数厂商使用盗板的VxWorks,这对用户会带来不少的麻烦。
8、硬盘扩展性差,直到现在还改观不大。当嵌入式主机内装满8个硬盘(8*320G, 8*400G、8*500G太贵麻烦更大)还不能满足客户录像资料存储要求的时候,麻烦就大了。
但上述问题,是不是PC式的就完全没有呢?不一定,看看:
1、一些高端的嵌入式机器,也有硬盘出错时可以预警的功能
2、嵌入式的维修,一般情况下的确是无法现场解决。但是大家都知道嵌入式的特点就是稳定,当然工控式产生了问题工程商基本都能自己解决,但是试问你是愿意一两年产生一次故障,还是愿意经常跑去客户处维护呢?
3、.在显示效果上,大部分基于RTOS操作系统的嵌入式显示效果确实差强人意,但是现在有基于LINUX精简内核的嵌入式DVR,显示效果还是非常不错的
4、确实,但是很多嵌入式的1024条系统日志个人认为已经够了
5、.扩展性是差,但是一开始就可以给客户预留几路,不是什么大问题
6、.现在好一点的嵌入式DVR都可以通过网络客户端很方便的升级了,多台DVR同步进行,有什么不方便的?除非你在用那些垃圾的嵌入式。
7、说到版权,工控机用的windows是正版的么?呵呵。
市场的基本状态是:低端、小路数的项目,用嵌入式更加合理,对功能、网络、系统集成等要求较高的项目,用PC-DVR的更加容易达到要求。
我们从目前DVR的功能需求来看,其核心技术主要是视频编解码技术与数字存储技术。
从视频编解码技术的角度来看,任何视频编码的效率都是与视频源有关的,针对不同的视频源,视频编码效率是不一样的。VCEG和MPEG制定的视频编码标准都是为媒体制定的,最显著的特点是背景在移动,视频采集质量很好。而在数码监控中,绝大多数场合是摄像机固定,背景静止,但环境变化大,视频采集的噪音高。现有的视频编码算法不是很适合数码监控中的视频编码的,需要对现有的视频编码算法进行重新组合或改进。媒体应用一般是编码少、解码多,更关注解码的成本,而数码监控一般是编码多、解码少,编码的成本显得更重要。
硬盘录像机这样快速普及,主要原因是管理和使用方便,如可快速检索、不存在像磁带那样堆放的负担。目前硬盘是为计算机设计的,用于硬盘录像还存在一些问题:记录数据的关联性、错误恢复能力、硬盘的使用寿命等。在硬盘管理上还有很多工作要做,我们提出的磁盘预分配技术、冻结保护技术、低寻道技术等可以使硬盘更适用于视频信息的存贮。
随着视频监控技术网络化的发展趋势,对于硬盘录像机的网络传输功能提出了越来越高的要求。目前的IPv4技术是为数据业务设计的,用于流媒体传输在有效和实时上有些勉强,需要RTP/RTCP协议给予适当的补救。在某些专网,可以通过一些特别的技术让视音频流有更好的传输效果。由于编码、解码都会产生延时,在网络传输时由于缓冲区的调度也会产生延时,后者甚至比前者还严重,需要仔细的调度。
二、PCDVR
PCDVR具有以下特点:1、基于压缩板卡、个人计算机系统,PC DVR厂商开发出应用软件;2、这些应用软件完成了用户操作界面、硬盘文件管理、网络传输控制、应用功能的整合等;3、众多PC DVR厂商开发出大量的应用软件,根据不同的应用和需求,开发出不同应用功能和特点;4、众多PC DVR厂商为硬盘录像机的快速推广和普及,起到了决定性作用;5、目前PC DVR种类非常多,一般是采用WIDOWS、LINUX,OS和代码放在硬盘上,也有采用LINUX、WINDOWS CE、EMBEDDED XP的,OS和代码固化在DOC上。
PCDVR从对视频信息压缩的方式来区分,可以分为以下两类:1、软压:板卡只是完成视频和/或音频的采集,视频编码靠PC的处理器完成,这类板卡我们称为采集卡。由于PC总线带宽的限制、PC处理器处理能力的限制、PC操作系统效率的限制,一般不用于多路数、实时环境。韩国企业在软压技术和产品方面,处于国际主导地位。2、硬压:视频和/或音频的采集、压缩、复合都在板卡上完成,这类板卡称为硬压卡。由于硬压卡的采用,硬盘录像机在完成三个基本功能方面(预览、编码、复合)几乎不占用PC处理器资源,可以支持多路、实时监控。国内厂商把这一技术做得非常好,在国际上处于领先水平,由于激烈的竞争,已经把成本控制得很好。DSP与ASIC之争已经结束,DSP已经处于绝对领先地位
PCDVR的压缩板卡要实现的三个基本功能为实时显示(预览)、音视频编码、音视频复合;其辅助功能包括OSD、移动侦测、动态调整编码参数、数字水印、双码流、抓帧、RAW DATA的采集等,这些辅助功能在数码监控中常常起到非常重要的作用。
三、嵌入式DVR
国内第一代嵌入式硬盘录像机在软硬件结构上差异非常大,其中Streammachine的家用硬盘录像机方案为主流。从第二代起,在硬件架构与软件架构上与PC DVR同质化,在功能和性能上已经接近PC DVR。典型的嵌入式DVR硬件采用RISC处理器+(PCI)+Video Processor,软件采用Driver/BSP+OS/RTOS+APP;其主要功能已经与PC DVR基本相同,性能上也接近PC DVR,总体看来两者各有优缺点。
四、PCDVR与嵌入式 DVR的比较
PCDVR与嵌入式 DVR的比较情况见下表。
项目 PC DVR Embedded DVR
功耗 高 低
支持最大路数 64 16
功能 多、强 少、弱
用户界面 丰富 单调
灵活性 强 弱
代码固化 大部分没有 是
抗病毒力 较弱 强
体积 大 小
五、DVR的发展
虽然网络监控是监控的发展趋势,但其实现的主要功能:图像(语音)监控管理功能(包括大屏幕及电视墙)、语音广播调度功能、全网内设备的远程状态监控及网络管理功能、授权与安全认证功能、报警信息管理功能、视频流转发功能、DNS解析功能、录像资料管理功能等是以DVR为基础的
DVR的发展方向是:高路数、高可靠性、集成性(比如与报警主机整合、与无线网络结合)。而DVR的市场也在进一步细分,并与具体的行业应用相结合,如POS DVR、车载DVR、车牌识别DVR、人脸检测DVR等等。
硬压缩录像卡,其图像采集与图像压缩都是通过板卡上的芯片实现。与软压缩的区别主要就是该产品将图像压缩算法软件写入了硬件板卡上的DSP芯片里,让DSP代替CPU来运算,减轻了CPU运算的压力,如果您的硬盘录像机电脑主机CPU频率低,监控路数多,而且要求全实时,硬盘空间特别大的话可采用硬压缩录像卡。因为硬压缩不怎么用CPU资源,资源充足,故大多数硬压缩采用高分辨率显示,采用大比特流压缩,图像清晰度高,但这样也带来了新的问题,就是数据量太大,故硬压缩消耗硬盘也大,录像保存的时间较短。另外硬压缩中的图像压缩DSP芯片,由于设计上远远不如CPU设计科学,其发热量大,最高温度达80度以上,如果将四张硬压缩卡并排插入电脑,组成32路实时录像,在没有良好散热条件下,夏天特别容易死机,所以在天气炎热的南方城市安装硬盘录像是不得不考虑这一问题。硬压缩还有一个无法克服的缺陷,就是因为硬压缩产品硬件成本太高,价格降不下来。
如果从压缩技术上讲,两种压缩方式并没有什么区别,都可以获得相同的压缩比和码流,但是,由于硬件载体不同,对整个电脑系统来讲,整体性能有天壤之别:
硬件压缩是指所有视频和音频信号的接收、压缩处理全部由视频卡的高速DSP芯片来完成,无需CPU干预,CPU要做的工作仅仅是将视频卡送过来的按固定编码格式压缩好的数据流写入硬盘和送到网络上。
软件压缩是指视频卡只对信号源作简单的数字化转换,大量的压缩处理工作由应用程序完成,换句话讲,就是交给CPU和内存来完成。显而易见,如此系统接到网络上,一方面要完成大量的编码工作,另一方面要响应网络客户端请求,为其输送数据,同时还要应付突如其来的回放检索,这就好象一辆超载行驶的汽车,随时都有翻车的危险。






