分布式数据库系统中什么叫时间戳?时间戳怎么理解?

分布式数据库系统中什么叫时间戳?时间戳怎么理解?,第1张

时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。
定义
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
分类
1自建时间戳:此类时间戳是通过时间接收设备(如GPS,CDMA,北斗卫星)来获取时间到时间戳服务器上,并通过时间戳服务器签发时间戳证书。此种时间戳可用来企业内部责任认定,在法庭认证时并不具备法律效力。因其在通过时间接收设备接收时间时存在被篡改的可能,故此不能做为法律依据。
2具有法律的效力的时间戳:它是由我国中科院国家授时中心与北京联合信任技术服务有限公司负责建设的我国第三方可信时间戳认证服务。由国家授时中心负责时间的授时与守时监测。因其守时监测功能而保障时间戳证书中的时间的准确性和不被篡改。获取时间戳平台有“大众版权保护平台”,可与我国中科院国家授时中心时间同步。
数据库系统中时间戳
数据库中自动生成的唯一二进制数字,与时间和日期无关的, 通常用作给表行加版本戳的机制。存储大小为 8个字节。
每个数据库都有一个计数器,当对数据库中包含 timestamp 列的表执行插入或更新 *** 作时,该计数器值就会增加。该计数器是数据库时间戳。这可以跟踪数据库内的相对时间,而不是时钟相关联的实际时间。一个表只能有一个 timestamp 列。每次修改或插入包含 timestamp 列的行时,就会在 timestamp 列中插入增量数据库时间戳值。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。如果该列属于索引键,则对数据行的所有更新还将导致索引更新。
使用某一行中的 timestamp 列可以很容易地确定该行中的任何值自上次读取以后是否发生了更改。如果对行进行了更改,就会更新该时间戳值。如果没有对行进行更改,则该时间戳值将与以前读取该行时的时间戳值一致。若要返回数据库的当前时间戳值,请使用 @@DBTS。
在控制并发时起到作用
用户A/B同时打开某条记录开始编辑,保存是可以判断时间戳,因为记录每次被更新时,系统都会自动维护时间戳,所以如果保存时发现取出来的时间戳与数据库中的时间戳如果不相等,说明在这个过程中记录被更新过,这样的话可以防止别人的更新被覆盖。

按住Ctrl点击链接打开关联的面板。ob内部按住Ctrl点击链接打开关联的面板启动时间戳服务,而只有以这个模式才能正常使用时间戳功能。时间戳服务器是一款基于PKI(公钥密码基础设施)技术的时间戳权威系统,对外提供精确可信的时间戳服务。

是由数字签名技术产生的,签名的对象主要有签名时间、签名参数、原始文件信息等信息。

时间戳的主要作用就是验证数据是否被篡改,这也是人们创建它的主要目的,它通过一定的技术手段,对某一数据产生的时间进行认证,以此来确定这一数据在产生后是否被篡改过。

故此提供时间戳服务的人必须证明服务中使用的时间源是可信的,这样才能保证他提供的时间戳服务是安全的。区块链中的时间戳签名是写在区块链中某个区域上的。而恰好区块链有一特点就是过去的部分不可能更改也无法修改。所以,区块链中的数据的稳定性和可靠性极高。

扩展资料

在当今社会,不论是计算机或是手机,或者其他任何电子设备,都可以通过修改它显示的时间,“穿越”到过去,或者“穿梭”到未来,我们也可以通过各种软件来修改或者视频等等。因此,在网络上,关于时间的信息似乎失去意义,因为几乎任何人都可以修改它。

不过,在区块链中,时间戳永远不会撒谎,因为区块链过去的部分是不能以任何方式进行修改的。而且时间戳是区块链区块包含特定信息的一个过程,它永远存在。

时间戳就是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。

时间戳的作用

客户端在向服务端接口进行请求,如果请求信息进行了加密处理,被第三方截取到请求包,可以使用该请求包进行重复请求 *** 作。如果服务端不进行防重放攻击,就会服务器压力增大,而使用时间戳的方式可以解决这一问题。

防篡改:一般使用的方式就是把参数拼接,当前项目AppKey,双方约定的“密钥”,加入到Dictionary字典集中,按ABCD顺序进行排序,最后在MD5+加密客户端将加密字符串和请求参数一起发送给服务器。服务器按照上述规则拼接加密后,与传入过来的加密字符串比较是否相等

防复用:上面的方式进行加密,就无法解决防复用的问题,这时需要在客户端和服务端分别生成UTC的时间戳,这个UTC是防止你的客户端与服务端不在同一个时区,然后把时间戳timestamp拼在密文里就可以了。

时间戳原理

时间戳(time-stamp)是一个经加密后形成的凭证文档,用来精确记录电子文件的生成时间,换句话说,可以和哈希值配合,表示自从时间戳记录的时间后,该文件未经篡改。电子合同中,一般与哈希值一起被发送方的私钥加密。

时间戳包括三个部分:

(1)需加时间戳的文件的摘要(digest);

(2)时间戳服务(DTS)收到文件的日期和时间;

(3)时间戳服务(DTS)的数字签名;

(时间戳工作示意图)

一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。

书面签署文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS来加的,以DTS收到文件的时间为依据。

举例,通过契约锁签署的数字签名中,包含了通过由SHECA签发的时间戳证书,同步第三方有效时间源,而签发的有效时间戳。这个时间,用户自身,甚至我们作为时间戳调用方,均无法对时间戳服务签发出的时间做伪造和修改。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12813381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存