卖软件授权的人迟早要面对一个问题:要不要限制授权能用在几台机器上。
不限制,客户开心,但一份授权可以被无限复制传播,收入直接归零。限制得太死,正常客户换个机器都要走人工,体验很差。我们在"一个授权绑一台设备"这条线上定的比较硬,理由如下。
绑定解决的问题
防止一份授权多机使用。 授权本质是"允许这个节点运行并接受管理"的凭证。如果一份授权能跑十台机器,那客户只会买一份。
让运营数据可信。 节点数、在线率、授权覆盖率这些指标,前提是"一个节点对应一份授权"。不绑定的话,统计口径就乱了。
支持换机的正当需求。 客户换机器是正常的。绑定机制配合解绑流程,可以既防滥用又允许正常流转。
绑定的实现方式
节点启动时上报一个设备标识——这个标识来自机器自身的特征,不是可以随便改的配置项。服务端在签发授权时记录这个标识,之后每次连接都校验。
校验不在应用层做,而是在连接建立的第一步。标识不匹配,连接直接被断开,不会进入数据采集环节。这样即使有人拿到授权字符串,在别的机器上也用不了。
换机怎么办
两条路:
- 在控制台解绑旧设备,然后在新设备上绑定。旧设备会立即失效。
- 为新设备单独购买授权。旧授权的有效期继续走完,可以留给旧设备恢复后继续用。
第一条路适合"机器坏了换新"这类一对一替换。第二条适合"扩容"。
一个常见误解
有人会问:能不能把授权做成"按账号而不是按设备"?
技术上可以,但会导致同一个授权在多台机器上同时使用——因为账号可以在多处登录。除非再加设备数量限制,那又回到了绑定这件事上。
按设备绑定是最简单、最难绕过的方案。它不是没有代价,但代价是可控的(换机需要解绑),而替代方案的代价是不可控的(收入流失)。
关于绑定与数据归属
绑定关系只影响"这份授权能在哪台机器上用",不影响数据归属。解绑不会删数据,节点的历史数据仍在库里,重新绑定后可以继续查看。
这一点在换机场景里很重要——客户往往需要对比换机前后的运行数据。
—— Pi Admin X 团队
