当前位置: 首页 > news >正文

水果网店网站建设策划书网站推广策划思路

水果网店网站建设策划书,网站推广策划思路,手表网站欧米茄,专门网站建设一、背景知识 网络时间协议(NTP):是一种用于同步计算机时钟的协议,通过向时间服务器发送请求,NTP客户端可以自动调整其系统时间,达到毫秒级别的精度。时间同步的重要性:在分布式系统中&#xf…

一、背景知识

  • 网络时间协议(NTP):是一种用于同步计算机时钟的协议,通过向时间服务器发送请求,NTP客户端可以自动调整其系统时间,达到毫秒级别的精度。
  • 时间同步的重要性:在分布式系统中,时间一致性对于数据同步、日志记录、安全认证等至关重要。时间不一致可能导致数据冲突、日志混乱、认证失败等问题。

二、校验方法

  • 接口中传递时间戳

    • 在接口调用时,双方系统可以在请求或响应中传递当前的时间戳。
    • 接收方收到时间戳后,与自身系统的时间进行比较,计算时间差。
  • 设定时间差阈值

    • 根据业务需求和网络延迟情况,设定一个合理的时间差阈值(例如,5秒、10秒等)。
    • 如果计算出的时间差在阈值范围内,则认为时间一致;否则,认为时间不一致。
  • 处理时间不一致的情况

    • 如果发现时间不一致,接口可以返回错误提示,要求调用方重新同步时间后再次调用。
    • 或者,接口可以在内部处理时间差,例如,对时间戳进行校正,以确保业务逻辑的正确性。

三、代码示例

  • 接口中传递时间戳

// 接口中直接传递时间戳校验@GetMapping("/validate-time")public String validateTime(@RequestParam("timestamp") long timestamp) {long currentTime = System.currentTimeMillis();long timeDifference = Math.abs(currentTime - timestamp);long threshold = 5000; // 设定时间差阈值为5秒if (timeDifference <= threshold) {return "Time is consistent";} else {return "Time is inconsistent. Time difference: " + timeDifference + " ms";}}
  • 接口中传递系统名称和时间的签名校验

// 接口中直接传递系统名称和时间的签名校验@GetMapping("/validate-sign")public String validateSign(@RequestParam("sign") String sign) {String currentMinuteMd5Hex = currentMinuteMd5Hex();String lastMinuteMd5Hex = lastMinuteMd5Hex();// 校验精度为分钟,如果两个系统服务器时间相差一分钟以上就会校验不通过if (StringUtils.equals(currentMinuteMd5Hex, sign) || StringUtils.equals(lastMinuteMd5Hex, sign)) {return "Sign is consistent";} else {return "Sign is inconsistent";}}// 获取上一分钟签名private String lastMinuteMd5Hex() {String hexCode = DigestUtils.md5Hex("RULE_SYS").toUpperCase();Date lastMinute = getLastMinute(-1, Calendar.MINUTE);String lastMinuteS = DateFormatUtils.format(lastMinute, "yyyyMMddHHmm");String lastMinuteMd5Hex = DigestUtils.md5Hex(hexCode + lastMinuteS).toUpperCase();System.out.println(lastMinuteMd5Hex);return lastMinuteMd5Hex;}// 获取上一时间public Date getLastMinute(int amount, int unit) {Calendar ca = Calendar.getInstance();ca.add(unit, amount);Date lastDay = ca.getTime();return lastDay;}// 获取当前分钟签名private String currentMinuteMd5Hex() {String hexCode = DigestUtils.md5Hex("RULE_SYS").toUpperCase();String formatter = "yyyyMMddHHmm";SimpleDateFormat sdf = new SimpleDateFormat(formatter);String nowStr = sdf.format(new Date());String currentMinuteMd5Hex = DigestUtils.md5Hex(hexCode + nowStr).toUpperCase();System.out.println(currentMinuteMd5Hex);return currentMinuteMd5Hex;}

四、注意事项

  1. 时间服务器选择:确保两个系统都使用可靠的时间服务器进行时间同步,以提高时间的一致性。
  2. 网络延迟:考虑网络延迟对时间戳传递的影响,合理设定时间差阈值。
  3. 系统时钟稳定性:定期检查和维护系统时钟,确保其稳定性和准确性。
  4. 日志记录:对于时间不一致的情况,记录详细的日志信息,以便后续分析和排查问题。

通过以上方法,可以有效地校验两个系统所在服务器的时间是否一致,确保分布式系统中时间相关业务的正确性和可靠性。

http://www.dtcms.com/a/592418.html

相关文章:

  • 单页面网站推广网站空间管理站
  • 做网站的岗位好吗住房建设厅官方网站
  • 个人网站什么语言做注册网站会员需要填写信息
  • 静态后台管理网站模板expression wordpress主题
  • 网站开发 成都平面设计与网站开发概述
  • 地税局网站怎么做变更架设销售网站
  • 携程旅游网官方网站 做攻略个人建立一个网站要多少钱
  • as.net 网站开发视频教程织梦网站内容自动更新
  • 创新创业网站建设建程网怎么样
  • 学院网站建设需求分析调研表网站开发项目的设计与实现
  • 外包公司做网站多少高端精品网站建设
  • 欧美网站建设公司排名什么是网络营销中的广告联盟
  • 做网站全体教程关键词收录查询工具
  • 可以自己做网站的软件下载淘宝客是以下哪个网站的会员简称
  • 自己制作网站app网站建设品牌推荐
  • 网站建设有用吗官方网站做兼职
  • 百度搜索网站营销系统平台
  • 企业服务网站制作加盟网页制作
  • 网站报404错误怎么解决办法推荐好的简历制作网站
  • 石家庄网站建设外包公司排名泉州建站平台
  • 电子商务网站开发 什么框架seo网站排名
  • 外网代理服务器网站楼市最新消息2023
  • .net 开源 企业网站网站开发资质
  • 查一下红之易道学做的什么网站网站建设的目的意义
  • 建设摩托车官网的网站首页广告设计是学什么的
  • 网站会动的页面怎么做的瘦身网站开发目的
  • 湘潭商城网站建设定制做网站流程 优帮云
  • 站长工具是干嘛的做网站后台服务器什么最好
  • 网站使用自己的服务器建筑总包二级资质
  • 淄博网站建设 华夏国际网站建设外文版要求