运营支撑系统(BSS)在面向物联网IoT业务场景的模型简要分析和设计
前言
BSS运营支撑系统(主要指电信运营商),通常都是为了支撑个人客户的业务运营。虽然在业务运营上也面向集团客户,但是总体上来说,业务的特性总结归纳为2C的业务场景。
而当前运营商在面向物联网的业务运营下,主要是以2B的业务场景。运营商实际并不会直接面向最终的客户,而是通过其他业务的运营企业的合作或者买卖关系提供,即是一种B2B2C的场景。
在面向物联网的业务场景下,当前2C的BSS系统模型需要进行分析和改进。物联网的业务场景下,对数据量的存储是一个挑战。通常一个物联网业务的运营企业,通常会一次批量购买大量的SIM,使用运营商提供的网络服务,如数据流量、短信、语音。下面以此以3个典型的IoT物联网的业务场景作为依据,对模型进行简要的分析和设计。
场景一:
某企业一次性从运营商购买了一批(10万张)卡,这批卡具有相同的使用量和资费,即:每个月10元,50M数据流量,10分钟的语音通话时长,30条SMS短信。
1) 模型1
面向传统个人订购的三户模型
数据量:10万条Subscriber记录,10万条Offering实例记录,30万条Product实例记录,共计50万条数据记录。
在这种模型下,可以表达出每张卡的订购信息。尤其是在当前场景下,每张卡都是拥有独立的用户信息,独立的Offering实例信息。如果需要在每张卡的使用量超出限额的情况下,针对超出限额的卡进行单独的信控如停开机操作。这种模型下,只需要操作对应的Subscriber即可。虽然,这种模式带来了较多的数据冗余的结果。这10万张卡形成的Offering实例、Product实例的数据都是完全相同的。在IoT的场景下,会有大量的这种情况存在,那么就会有大量的冗余数据进行存储。
2)模型2
在模型1的基础上进行调整,考虑在Subscriber下增加一张Device表,专门用来基于“卡”的信息。
数据量:10万条Devices记录(Custom、Subscribe、Offering实例、Product实例数据可以忽略)。这样就表达了这10万张卡设备在同一个Subscriber下,使用相同的Offering实例和Product实例数据。也就是实用相同的资费和资源用量。
这种模型,在业务逻辑上表达是Device使用了Subscribe下记录的Offering和Product实例。如果某一个Device的使用量超出了限额用量,那么针对这个Device的信控操作需要记录在Device中对应对应的记录上。同时,针对某些Device的服务控制。如当前所有的Device都开通了流量、语音、SMS,如果针对其中10张卡进行语音的关停。那么就会有两种表达方式:
方式1:将这10张卡做改产品的操作,重新生成Subscriber、Offering实例和Product实例数据(这10张卡信息记录到这个Subscriber下)。
方式2:Device中记录有对网络服务的状态定义,如流量【开/关】、语音【开/关】、SMS【开/关】。对其中10张卡的操作可以记录到对应的网络服务的状态上,也就是说这10张卡的语音网络服务的状态由【开】变为【关】。
方式1存在的问题,如果频繁的对设备(Device)进行网络服务的变更操作,会导致不断地形成新的Subscriber,从而数据逐渐的碎片化。最后的结果就是和模型1是相同的效果。
方式2存在的问题,Subscribe下记录的Product实例数据已经没有办法准确的表达出设备(Device)的网络服务状态,Device真实的状态是记录在Device中的每条Device记录上。
3)模型3
面向集团订购的三户模型
基于集团客户订购的三户模型,在表达此种场景其实有两种表达方式。
一种方式就是在Group下成员的Subscribe下单独记录Offering实例和Product实例数据。这种表达方式就和模型1是相同的,唯一不同的是用Group将所有的Subscribe进行了聚合。
另一种方式,就是在Group上记录Offering实例和Product实例数据。而在成员的Subscriber下不在记录Offering和Product实例数据。这种表达方式其实和模式2有些类似,将Subscribe表达为Device。将Group上的Offering和Product实例数据在成员的Subscribe上生效。
方式一的表达方式从业务语义上是较清晰的,客户为每一个Device都订购了各自独立的Offering。虽然,这些Offering在订购的时候是完全相同的。但是业务语义表达的应该是每个设备订购,每个设备独立使用(独立信控?)
方式二的表达放方式在业务语义上,代表着Group上的Offering实例是作用于所有成员上。即,成员没有Offering实例就取Group上的Offering实例。这种方式下,如果频繁的对设备进行网络服务的变更操作,会导致不断地在变更设备的Subscribe下生成Offering实例和Product实例数据。
场景二:
某企业一次性从运营商购买了一批(10万张)卡,这批卡每个月共享50G的流量,1000分钟的语音和1万条的SMS。
模型1:
面向传统个人订购的三户模型
数据量:10万条Subscribe数据、10万条Offering实例数据、30万条Product实例数据,共50万条数据记录。
在每个Subscriber下都记录同一个Offering实例,其所规定的使用量实在这些拥有相同Offering实例的Subscribe下共同使用。
在和计费系统集成时,所定义的Offering必须要能够表达出这样的含义,才能向计费系统表达出这样的业务语义。也就是说,offering的定义必须要能够表达出这是一个“共享”的offering。
问题:针对其中某一些卡进行单独的网络服务控制,如关闭语音。在这种模型下是通过改产品来表达?如果通过改产品,是否需要根据需要列举出产品的组合,针对这些产品的组合定义对应的Offering来表达?这样,就意味着相需要根据列举的产品组合进行Offering的定义。虽然可能有一些Offering只包含了部分产品,但是仍然要能够表达出这是一个“共享”的offering。
模型2:
在模型1的基础上进行调整,考虑在Subscriber下增加一张Device表,专门用来基于“卡”的信息。
数据量:10万条Device数据、1条Subscribe记录、1条Offering实例数据、3条Product实例数据。
表达共享的Offering作为Subscribe下的Offering实例数据,就表示了所有的设备(Device)共享同一个Offering定义的用量。对这些卡的信控,应该是集体处理。当用量超出限额时,批量将这批卡进行停机。复机也是对这批卡进行。
对这批卡中部分卡(单个卡)的网络服务状态的变更,参考场景一中模型2对应的描述。
模型3:
面向集团订购的三户模型
数据量:10万条Subscribe数据、1条Group数据、
在该场景下,Group上的的Offering实例数据所表达的业务语义是:成员Subscriber共享用量。和场景一下,Group上的Offering实例所表达出来的业务语义已经有了区别。在这两种场景下,虽然都是在Group上的Offering实例数据,但是表达业务语义,一个是独立作用于所有的成员,一个是共享作用于所有成员。这样,在定义Offering的时候就必须能够区分出来,这个Offering是在成员间共享,还是独立作用于成员。
场景三:
某企业一次性从运营商购买了一批(10万张)卡,其中有1万张卡为VIP客户使用,除了可以使用这批卡共享的50G流量,1000分钟语音,1万条SMS外。本身还提供了500M定向流量和100分钟额外的语音的叠加用量。
模型1:
面向传统个人订购的三户模型
数据量:10万条Subscriber数据,11万条Offering实例数据,32万条Product实例数据。
这种模型下,对于1万张具有独立的资源用量的卡,分别需要两条Offering实例:1条表示共享的用量定义offering;一条表示独占的用量定义offering。
模型2:
在模型1的基础上进行调整,考虑在Subscriber下增加一张Device表,专门用来基于“卡”的信息。
这种场景下,这个模型的表达就比较的别扭。具有独占资源使用量的1万张vip卡,独立为一个新的Subscribe记录,同时记录在Subscribe下的Offering实例数据表达的是独享Offering。但是,这1万张卡又要使用共享的Offering用量。也就是说,从业务逻辑上来说,这个Subscriber要使用其Custoemr下另一个Subscriber下的Offering实例的数据。因为,那里记录了共享用量的Offering实例和产品实例信息。如果,这个Customer下拥有不同的Subscriber,那么要么遍历所有的Subscriber,找出其中记录有共享用量的Offering实例数据。要么就是在Subscriber上具有标识,表示这个Subscribe是共享的Offering。要么就是在Device上进行冗余存储,共享的Subscriber下记录所有的Device,独占的Subscribe下记录有只用于独占Offering的Device。问题就在于数据的一致性上,需要同时保证至少两张表以上的冗余数据是一致的。
模型3: ![](http://dl2.iteye.com/upload/attachment/0127/0174/1b0d8f74-0037-3dd1-9a0e-bf63cd41b2f7.png)
数据量:10万条Subscribe数据,1万+1条Offering实例数据,2万+3条Product实例数据。
在这种场景下,有9万条Subscriber下是没有Offering实例数据和Product实例数据。只有具有独占Offering的Subscribe下才有对应的Offering实例数据和Product实例数据。
在成员下的Offering实例表达了改成员订购了作用于自己的Offering。
进一步思考,此模型从业务语义的表达上会更清晰的反馈出业务的语义。但是,也存在Offering具有数据冗余的情况。即存在1万条相同的Offering实例数据和相应的Product实例数据。
一种改进:
将原来独占Offering记录在Subscriber下的数据,记录在Group下。通过Subscriber建立和改Offering实例数据的关联关系,表示原来这些Subscribe独占Offering的业务语义。
存在问题:从业务语义上来说,在表达Offering实例的作用域没有原来在Subscribe下记录Offering实例来的清晰。这是通过一种隐含的关联关系来表达,所有的Offering实例都是记录在Group。但是并不是所有的Offering实例都作用于每个成员,而是作用于部分成员。作用的范围是通过成员Subscriber上关联的Offering实例来表达。
实际上,就模型来说模型的设计可以是非常的灵活。但是有一点是需要能够保证的:1、保证业务语义能够被清晰的表达出来,在清晰表达的基础上确保足够的简单。否则,如果模型在表达想要面对的业务语义具有一定的二义性或者复杂性,那么对实现将会是极大的挑战。
运营支撑系统(BSS)在面向物联网IoT业务场景的模型简要分析和设计相关推荐
- 共享快递柜业务场景实战(服务构建)
简介: 使用物联网平台,快速构建一个高性能的共享快递柜业务 1.背景 当我们的设备和物联网平台建立mqtt连接通道后,会根据业务需求传输不同的数据.本次以共享快递柜业务场景讲解topic和payloa ...
- 老猿学5G随笔:5G的三大业务场景eMBB、URLLC、mMTC
5G的三大业务场景eMBB.URLLC.mMTC: eMBB:英文全称Enhanced Mobile Broadband,即增强移动宽带,是利用5G更好的网络覆盖及更高的传输速率来为用户提供更好的上网 ...
- 报表人的福音!25个实用报表模板合集,适用多个业务场景
数据人总少不了和报表打交道,报表对企业生产经营的非常重要,通过对数据的监控.分析,挖掘出业务现象背后的逻辑,从而指导业务决策和运营. 随着企业的壮大,报表需求越来越多,每次业务需求都很紧急,表哥表姐们 ...
- 拨乱反正:DDD 回归具体的业务场景,Domain Model 再再重新设计
首先,把最真挚的情感送与梅西,加油! 写在前面 阅读目录: 重申业务场景 Domain Model 设计 后记 上一篇<设计窘境:来自 Repository 的一丝线索,Domain Model ...
- 结合业务场景案例实践分析,倾囊相授美团BERT的探索经验
Google 在 2018 年公布 BERT 的工作之后,引起了 NLP 学术圈以及工业界的极大关注.无论是在各个公司的应用场景中,还是在一些公开的 Benchmark 上,BERT 的效果都得到了验 ...
- 搜索推荐业务场景下的特征系统搭建
转载:https://zhuanlan.zhihu.com/p/79874983?utm_source=wechat_session 前提:前阵子受朋友的邀约,结合自己在推荐搜索系统下的经验,对企业级 ...
- 业务运营支撑系统 BOSS(Business Operation Support System)。
BOSS名称是由中国移动联合多家咨询公司为传统电信企业 计费系统起的专门名称,是世界上第一个对电信计费系统命名并制定相关标准. 该系统由电信部门的计费系统发展而来,基本功能包括用户资料管理.计费.出帐 ...
- 中科创达怎么样-是外包公司吗-智能网联汽车和智能物联网推动业务快速增长
公司主营业务成长性显著,营业收入 2011-2021 年均复合增速达 44.4%,智能软件 业务保持稳健增长,智能物联网和智能网联汽车成为公司主要业务增长引擎 公司 2021 年实现营业收入 41.2 ...
- 面向物联网和边缘计算的云网演进
近日,由边缘计算社区主办的全球边缘计算大会·上海站顺利召开,我们很荣幸邀请到了华为边缘计算网络产品规划专家张云锋先生来分享.本文基于现场演讲内容整理补充而成.会场由于时间限制,结构与内容均有删减:鉴于 ...
- 【物联网中间件平台-01】真正面向物联网的组态软件 YFIOs和YFHMI的前生今世
1前言 从2001年进入工控领域以来,前后7年多的时间开发了诸如二型计量监控系统.焦炉四大机车自动化系统.烧结配水监控系统.隧道广告影像系统.通用组态软件.嵌入式系统组态软件(基于WINCE系统).L ...
最新文章
- C语言格式控制符和转义字符
- Android-Binder(一)
- 【H3C交换机】cpu各个进程的详细说明
- byte[]和InputStream的相互转换
- 【英语学习】【WOTD】emote 释义/词源/示例
- 【BZOJ】1015 [JSOI2008]星球大战starwar(并查集+离线处理)
- 简述静态全局变量的概念 C++
- 项目经理如何管理团队
- win10专业版虚拟机配置服务器,win10专业版怎么运行虚拟机_win10专业版开启虚拟机的方法...
- 简单版本CRM 客户管理系统设计
- 算术平均数及几何平均数
- python 顺序读取文件夹下面的文件(自定义排序方式)
- Windows下生成ssh密钥,并用ssh免密访问Linux服务器
- LeetCode.No5——最长回文子串
- 从蚂蚁的觅食过程看团队研发(转载)
- 一个喷嚏就能传播病毒?关于病毒,还有多少是你不知道的?
- SVAC 2.0安全系统组成
- 变革时代 国内通讯云服务厂商对比介绍
- 在VMware上如何创建虚拟机并安装linux操作系统,以及虚拟机的账户密码破解
- Android Studio教学视频118集(共18.2G)
热门文章
- SAP从R2 R3版本,演绎到ECC6 版本,并坚持20年不变版本而增发补丁EHP1-EHP8
- Description 输入三角形三边长(均为正整数),判断它是否能成为直角三角形的三个边长。 如果可以,输出“yes”,如果不能,输出“no”。如果根本无法构成三角形, 则输出“not a tria
- Android Studio常用的插件
- one-hot Embedding 理论知识详解 + 代码实操 (为学习笔记模式,同时附完整代码)【独热向量编码】
- Python+Vue计算机毕业设计线上购物系统的设计与实现9pgx3(程序+LW+源码+部署)
- 二维码扫描Zxing横竖屏都支持,还可以切换激光线
- 我为什么还没有开始创业-你工作之后有这样的疑问吗
- Recurdyn柔性化仿真时,报错加速度无法收敛,可能解决的办法
- 商业办公的计算机知识,哈佛大学:商业人士应该掌握的计算机科学知识
- ROS系统入门笔记——topic实现以及小问题