加入收藏 | 设为首页 | 会员中心 | 我要投稿 唐山站长网 (https://www.0315zz.com.cn/)- 数据安全、数据开发、文字识别、图像处理、媒体智能!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Blacksquid和Lucifer的比较研究

发布时间:2021-01-29 12:26:57 所属栏目:动态 来源:互联网
导读:权重和偏差是随机初始化的。神经网络输出的准确性在于通过不断更新权重和偏差来找到最佳值。让我们考虑一个方程,y = wx其中 w是权重参数, x是输入特征。简而言之,权重定义了赋予特定输入属性(功能)的权重。现在,方程y = wx的解将始终通过原点。因此,增

权重和偏差是随机初始化的。神经网络输出的准确性在于通过不断更新权重和偏差来找到最佳值。让我们考虑一个方程,y = wx其中" w"是权重参数," x"是输入特征。简而言之,权重定义了赋予特定输入属性(功能)的权重。现在,方程y = wx的解将始终通过原点。因此,增加了一个截距以提供自由度,以适应被称为偏差的完美拟合,并且方程式变为我们都熟悉的ŷ= wx + b。因此,偏置可以使激活函数的曲线向上或向下调整轴。

现在让我们看看神经网络会变得多么复杂。对于我们的网络,输入层有两个神经元,密集层有四个神经元,输出层有一个。每个输入值都与其权重和偏差相关联。输入特征与权重和偏差的组合通过密集层,在该层中,网络借助激活函数学习特征,并且网络具有自己的权重和偏差,最后进行预测(输出)。这就是正向传播。那么,我们的网络有多少个总参数?
 

为什么会产生接口幂等性问题?

那么,什么情况下,会产生接口幂等性的问题呢?

  • 网络波动, 可能会引起重复请求
  • 用户重复操作,用户在操作时候可能会无意触发多次下单交易,甚至没有响应而有意触发多次交易应用
  • 使用了失效或超时重试机制(Nginx重试、RPC重试或业务层重试等)
  • 页面重复刷新
  • 使用浏览器后退按钮重复之前的操作,导致重复提交表单
  • 使用浏览器历史记录重复提交表单
  • 浏览器重复的HTTP请求
  • 定时任务重复执行
  • 用户双击提交按钮

如何保证接口幂等性?

那么最关键的来了,如何保证接口幂等性?

解决办法分为两个方向,一个方向是客户端防止重复调用,一个是服务端进行校验。当然,客户端防止重复提交并不是绝对可靠的,优点是实现起来比较简单。

按钮只可操作一次

一般是提交后把按钮置灰或loding状态,消除用户因为重复点击而产生的重复记录,比如添加操作,由于点击两次而产生两条记录

token机制

功能上允许重复提交,但要保证重复提交不产生副作用,比如点击n次只产生一条记录,具体实现就是进入页面时申请一个token,然后后面所有的请求都带上这个token,后端根据token来避免重复请求。
 

之前负责的项目报了一个问题,用户操作回退失效。我们的设计里,操作回退是回到操作前的状态。经过查看日志发现,用户之前的操作做了两次,也就是说提交操作的接口被调用了两次,导致之用户上一次的状态和这一次的状态是一样的,所以操作回退是没有问题的,问题出在了操作的接口被调用了两次。

对于防止重复提交,是放在前端控制的,用户点击完按钮之后,后台返回成功的结果,按钮就不可见,实践证明,客户端的限制操作不是绝对可靠的。

针对上面的场景,就引入了今天的问题,什么是接口幂等性?如何保证接口幂等性?

什么是接口幂等性?

首先看看幂等性的概念:

  • 幂等性原本是数学上的概念,用在接口上就可以理解为:同一个接口,多次发出同一个请求,必须保证操作只执行一次。 调用接口发生异常并且重复尝试时,总是会造成系统所无法承受的损失,所以必须阻止这种现象的发生。

比如下面这些情况,如果没有实现接口幂等性会有很严重的后果: 支付接口,重复支付会导致多次扣钱 ;订单接口,同一个订单可能会多次创建。

(编辑:唐山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读