私有化版并发说明
私有化部署版并发计算原理、超限提示、处理方法与增购并发授权说明
本文说明 VeryReport 私有化部署版的并发授权规则:并发如何计算、超过上限时系统如何提示、管理员与普通用户应如何处理,以及如何通过商务渠道增购并发数。
适用说明:SaaS 云端版按订阅席位数计费,不设「同时在线人数」上限,无需阅读本文。私有化版按模块 + 并发档位一次性授权,并发是核心授权维度之一。部署形态对比见 SaaS 与私有化对比。
一、什么是并发?
私有化 License 中的并发数(concurrency),表示同一时刻允许同时占用业务主界面的浏览器会话(Tab / 独立窗口)数量上限。
- 并发 ≠ 账号数:您可以创建任意多个用户账号,但同一时刻最多只有 License 授权数量的会话在「占槽」。
- 并发 ≠ 按用户去重:同一账号开多个 Tab / 多个浏览器窗口,每个 Tab(或独立窗口)各占 1 个并发。
- 示例:购买 10 并发,可注册 200 个账号;若已有 10 个 Tab 正在使用主界面,第 11 个 Tab 再进入将触发并发超限提示。
- 不限并发:License 中并发为
-1或未限制时,系统不做并发拦截。
二、并发计算原理
2.1 什么情况下占用 1 个并发?
系统在用户进入产品主布局后自动申请并发槽(前端 touch),与当前打开的是报表还是工作台无关:
| 场景 | 是否占并发 | 说明 |
|---|---|---|
| 登录后进入主界面(工作台、Vera、报表/看板/大屏/填报、数据中心、系统管理等) | 占用 | 主布局挂载即申请槽位并定时心跳 |
| 同一浏览器 Tab 内切换菜单 / 多份报表 | 仍算 1 | 同一 Tab 的 sessionId 不重复计数,仅刷新活跃时间 |
| 同一用户新开 Tab,或另开 Chrome 窗口 / 无痕窗口访问 | 各算 1 | 每个 Tab / 独立窗口有独立会话标识 |
| 仅停留在登录页(尚未进入主界面) | 不占 | 未挂载主布局、未发起占槽 |
| 全屏设计器等独立布局页(若未走主布局) | 以实际是否发起 touch 为准 | 多数业务页经主布局进入,按上表「占用」理解即可 |
注意:不要用「多个管理员 Tab」验证并发=1——管理员在满员时仍可进入(见下文),普通用户才会被「访问人数已满」拦住。
2.2 系统如何统计活跃会话?
- 用户进入主界面后,前端约每 5 分钟向服务端发送一次心跳(
touch),刷新该会话的最后活跃时间。 - 服务端维护当前活跃会话列表;若某会话 30 分钟无心跳,视为已离线并自动释放并发槽(如强关浏览器未正常退出)。
- 用户退出登录或关闭 Tab 时,前端会调用
release释放槽位(登出时会携带会话标识,避免清 token 后无法释放)。 - 并发上限读取当前激活 License 中的
concurrency字段;可在「授权管理 → 授权状态」查看已购并发数。
2.3 计数公式(理解用)
在任意时刻,有效并发占用数 = 当前未过期(30 分钟内有过心跳)的独立 sessionId(Tab 级) 数量。当该数量 ≥ License 并发上限 时,新的普通用户会话无法再占槽;管理员见下文例外。
三、并发超过上限时会怎样?
当新会话(新 Tab)尝试占槽,而当前活跃会话已达授权上限时:
- 普通用户:服务端返回业务错误码 40310(
CONCURRENCY_LIMIT_EXCEEDED)。 - 页面弹出「访问人数已满」阻断提示,请等待其他会话退出或超时释放后重试。
- 系统不排队:必须等有人释放槽位后才能进入。
- 提示页提供「立即重试」;同时约每 60 秒自动重试一次占槽。
- 管理员在已满时进入:系统会自动踢出最久未活跃的会话后放行(便于运维介入;管理员多个 Tab 之间也可能互相挤占这 1 个槽)。
该机制仅作用于私有化部署;SaaS 模式不会触发并发拦截。
四、遇到「访问人数已满」如何处理?
4.1 普通业务用户
- 点击提示中的立即重试,或等待倒计时结束自动重试。
- 联系已占线的同事关闭不再使用的 Tab,或退出登录释放并发。
- 若长期满额,向 IT 管理员或采购同事反馈,评估增购并发。
4.2 系统管理员
超级管理员进入产品内 授权管理(路径:系统管理 → 授权管理):
- 在授权状态页查看 License 中的并发上限与客户信息。
- 切换到并发会话页,查看当前在线会话列表(会话 ID、用户名、IP、最近活跃时间等),便于排查谁在占槽。
- 当前版本不提供在列表中「手动踢出指定会话」的按钮;释放方式为:对应用户退出/关 Tab,或等待约 30 分钟无心跳超时,或管理员自身进入时自动踢出最旧会话。
- 服务重启(本地内存槽)也会清空会话占用;多实例请配置 Redis 共享并发计数。
4.3 常见释放场景
| 场景 | 并发何时释放 |
|---|---|
| 用户点击退出登录 | 立即释放(登出请求携带会话标识) |
| 关闭浏览器 Tab(正常) | 页面卸载 / pagehide 时尽力释放 |
| 强关浏览器 / 断网 | 最迟约 30 分钟后超时释放 |
| 管理员满员进入 | 自动踢出最旧会话后,被踢会话释放 |
五、如何增加并发?
私有化并发属于商务授权项,需通过 VeryReport 销售/客户成功渠道办理,无法在 SaaS 控制台自助下单。
5.1 增购流程
- 联系销售:说明当前并发档位、期望目标(如 10 → 20)及使用场景。可通过 联系我们 或您的专属客户成功经理提交需求。
- 签订补充协议 / 补差价:按合同约定支付并发升级费用。官网私有化公开口径为 ¥10,000起、按并发规模授权,具体金额以商务报价为准(参见 官网定价)。
- 获取新 License:VeryReport 签发包含更高
concurrency的新授权文件(.lic)。 - 重新激活:管理员在「授权管理 → 激活 License」上传新文件或粘贴授权文本,激活成功后立即生效,无需重新部署应用。
5.2 常见档位与升级说明
| 项目 | 说明 |
|---|---|
| 典型档位 | 10 / 20 / 50 / 不限 等(以合同为准) |
| 升级方式 | 补差价升级,无需重装系统 |
| 账号数量 | 与并发独立,可按组织需要创建更多用户 |
| 模块授权 | 报表、BI、大屏、填报、Vera 等模块与并发一并写在 License 中 |
| 技术支持 | 可选年度续签;版本升级通常随技术支持合同提供 |
5.3 容量规划建议
- 按业务高峰同时打开的 Tab / 窗口数估算,而非注册账号总数;同一人开多 Tab 会叠加占用。
- 报表集中报送、经营分析早会、大屏轮播等场景易形成并发尖峰,建议预留余量。
- 多实例集群部署时,并发计数依赖 Redis 共享存储;若未配置 Redis 则仅单机进程内计数(集群下可能不准,建议保障 Redis)。
六、相关文档
| 文档 | 说明 |
|---|---|
| SaaS 与私有化对比 | 两种部署形态的计费与选型 |
| 版本与订阅说明 | 私有化模块与并发档位概要 |
| 常见问题(FAQ) | 试用、授权、发票等补充问答 |
| 官网定价 | SaaS 公开价与私有化 FAQ |
| 联系我们 | 增购并发、获取报价与 License |
中创微(上海)软件有限公司 · VeryReport
