dp2系统时钟管理 - DigitalPlatform/dp2 GitHub Wiki

一般情况下,dp2系统服务器时间是以服务器所在的电脑时间为准来计时。

特殊情况下,为了模拟超期或者其他测试,需要修改应用服务器的时间,但又不便直接修改服务器所在电脑的硬时钟时,可以使用dp2系统的软时钟来调整系统时间,采用软时钟后系统时间是基于硬时钟时间为基础加上一定偏移量之后的时间。

使用了软时钟以后,dp2系统读者借还书的时间不再是服务器收到借还消息时服务器的硬时钟时间,而是硬时钟时间与软时钟设置之后所产生的偏移量相加后的时间。

所以,一般情况下,用户不要去启用软时钟


软时钟的使用

在内务,点【功能】-【系统维护】-【时钟窗】,进入时钟窗后可以获得/修改服务器时钟。

修改软时钟

确保“不停地获得”复选框的状态为空白。否则无法使用“设置”按钮

在服务器时间值框内输入要设置的时间值。可以通过文本框右侧下箭头按钮里面的日历对话框来输入时间值的日期部分。不过,时分秒部分,需要在服务器时间值框内用键盘直接输入。

输入完整后,按“设置”按钮,这个时间值就会设置到应用服务器软时钟上。

注:因输入时间值操作需要一定时间,所以操作技巧上,可输入一个稍后的时间值,输入完成后,等快到那一刻的瞬间,点“设置”按钮

软时钟设置好的瞬间,如果与服务器的硬时钟不是精确一致,就会产生偏移量,并且这个偏移量会一致被应用到以后的系统时间计算中(除非时钟窗上的时间被复原到与硬时钟一致)。这个偏移量可以通过重启内务后,进入libray.xml中,在元素下看到,是以ticks(一千万分之一秒)为单位的。

设置了软时钟后,dp2服务器记录读者借还的时间就不是服务器收到前端发来的借还通知时的硬时钟时间,而是硬时钟与软时钟偏移量合成之后,所得到的时间。

观察软时钟

当“不停地获得”复选框的状态为空白时,服务器时间值框内显示的是最后一次获得的服务器时间值,并且不会变化。

每按一次“重新获得”按钮,服务器时间值框内的显示会刷新一次。

当勾选了“不停地获得”复选框后,服务器时间值框内的显示会每秒钟自动刷新一次。这时“设置”和“复原”按钮会变成不可用状态。

通过对比服务器时间值框和本地时钟文本框的显示,可以了解当前应用服务器软时钟和本地硬件时钟之间的差异。

注:若要了解服务器硬件时钟和本地硬件时钟之间的差异,可以用“复原”按钮将应用服务器软时钟复原为和服务器硬件时钟同步,这样,服务器时间值框内显示的就是服务器硬件时钟的时间值了。

复原软时钟

复原应用服务器软件时钟,就是把应用服务器软时钟设置到和服务器硬件时钟完全同步的状态。在时钟窗按“复原”按钮即可。

系统管理员要注意修改了应用服务器软时钟进行测试后,及时把软时钟修改回正确的值,避免对图书馆日常业务发生不良影响

内务前端每次启动的时候,会自动将应用服务器软时钟和前端本地硬件时钟进行比对,如果发现差异过大,会出现如下警告提示,图书馆普通工作人员看到类似的警告后,需要及时通知系统管理员进行必要调整处理。

其他前端软件启动时,如果发现服务器时间与前端硬件时钟有差异,不会像内务一样弹出提示。


备注

特殊的,对于自助借还软件dp2ssl来说,由于涉及到书柜断网模式运行后,上传前端数据到服务器。所以每次dp2ssl启动时,都会主动去询问服务器当前时间,如果dp2ssl发现服务器时间与前端的硬时钟时间不一致,会自动生成一个偏移量,在上传数据过程中,dp2ssl给服务器发消息时,会将操作时间在前端硬时钟时间的基础上加上这个偏移量后告诉服务器操作时间。

另外,读者密码的生成时间,失效时间只受服务器硬时钟影响,不受软时钟影响。

⚠️ **GitHub.com Fallback** ⚠️