核心网故障并不总是由处理能力不足引起。很多时候,真正的问题在于状态。如果某个网络功能发生故障,但用户上下文仍保存在可靠位置,其他功能就可能继续提供服务。如果上下文随着故障节点一同消失,恢复就会困难得多。这正是5GC一项重要设计理念背后的逻辑:将计算资源与存储资源分离。
在移动核心网中,用户上下文可能包含注册状态、移动性信息、临时标识、会话相关数据、位置引用以及其他业务状态。这些信息帮助网络识别UE是谁、位于何处、正在使用哪个会话,以及后续信令应如何处理。当这些上下文与单个本地网络功能实例紧密绑定时,该实例就不再只是一个处理节点,而会成为业务连续性的单点风险。
5GC通过支持更多无状态网络功能来降低这一风险。这并不意味着网络功能在运行过程中完全不使用状态。关键在于,长期存在或可恢复的状态不应被困在单个本地计算实例中。通过允许UE上下文等非结构化数据经由UDSF进行存储和读取,5GC为AMF及其他网络功能提供了更灵活的恢复模式。
本地状态为何会带来风险
4G MME的例子很容易说明这一问题。在LTE/EPC网络中,UE通过MME1完成附着后,该MME会创建UE上下文并将其保存在本地。上下文可能包含移动性管理和会话管理信息,例如UE位置、GUTI以及与UE IP相关的参数。
如果MME1意外故障,MME池中的MME2在物理上可能仍然可用。然而,存在另一个MME并不意味着业务会自动连续。如果UE上下文只保存在MME1上,MME2就没有足够的信息继续平滑地服务该UE。用户可能需要重启设备或重新执行附着,业务才能恢复。从用户体验角度看,这是一种较差的恢复模式。
一种传统解决办法是采用带主备同步的MME集群。在这种设计中,UE上下文会在主用MME与备用MME之间实时同步。如果主用MME故障,备用节点可以使用已同步的上下文接管业务。该方法能够减少业务中断,但也存在局限。它可能依赖厂商专有实现,缺少广泛的标准支持,增加成本,并降低不同系统环境之间的可移植性。
更深层的问题在于,本地状态会让业务实例与其数据紧密耦合。一旦计算节点成为用户上下文唯一可用的实际持有者,故障切换就会更加复杂。5GC采用更清晰的模式,将可恢复状态放入独立的存储功能中,并允许获得授权的网络功能访问。
UDSF带来了什么变化
UDSF是非结构化数据存储功能。它允许任何5GC网络功能存储和读取自身的非结构化数据,包括UE上下文等数据。在这种模式下,AMF或其他NF可以作为计算功能处理信令,而UDSF则提供独立位置,用于保存选定的状态信息。
这一概念类似于无盘工作站。无盘工作站具有CPU、内存、网络接口及其他执行硬件,但不会把工作数据保存在本地硬盘上。它从网络服务器启动并获取数据。工作站负责执行计算,而存储被独立出来。在5GC中,网络功能也可以采用类似设计:NF负责处理信令和业务逻辑,上下文数据则保存在本地实例之外。
UDSF的价值并不只是充当数据库。它的架构价值在于支持无状态NF设计、AMF恢复以及更灵活的云原生部署。当状态能够通过UDSF访问时,某个AMF实例发生故障并不一定会造成UE上下文永久丢失。新选定的AMF可以读取所需上下文,并在下一次事务发生时继续处理。
UDSF也符合核心网虚拟化和云原生化的发展方向。在云部署环境中,网络功能实例可能扩容、缩容、重启或在基础设施之间迁移。如果每个实例都牢牢占有自己的本地状态,自动化就会变得困难。计算与存储解耦能够让扩缩容和恢复更容易管理。
不同数据类型有何区别
要正确理解UDSF,必须区分结构化数据和非结构化数据。在5GC术语中,结构化数据是指其结构由3GPP规范定义的数据。签约数据就是典型示例,因为其资源结构和访问模型都有明确描述。
非结构化数据是指内部结构未由3GPP规范定义的数据。UE上下文就是典型示例。它对业务连续性非常重要,但其具体内部组织方式并不像签约数据那样被标准化。因此,它适合通过UDSF进行存储。
这种差异会影响工程设计。结构化数据可以通过具有明确资源模型的标准化数据服务进行管理。非结构化数据通常由负责业务逻辑的网络功能生成并解析。UDSF为该网络功能提供保存和读取数据的位置,而不必强制把整个内部格式转换为标准化数据树。
在部署规划中,工程师不应把所有5GC数据视为同一类别。签约数据、策略数据、会话状态、临时用户上下文以及恢复相关信息,在访问频率、时延敏感度、结构、归属和恢复要求方面都可能不同。UDSF主要用于存储网络功能为实现韧性和连续性所需的非结构化状态。
AMF恢复如何工作
采用UDSF的典型AMF恢复过程遵循清晰的顺序。首先,5G UE通过AMF1完成注册。AMF1创建接入与移动性管理所需的UE上下文。之后,AMF1将UE上下文保存到UDSF。此时,用户状态不再只被限制在本地AMF实例内部。
如果AMF1发生故障,5G接入网或对等控制面功能会检测到故障。故障AMF将不再参与选择。当网络需要从同一个AMF集合中选择另一个AMF时,可以选择AMF2。此时,UDSF会改变恢复行为。
AMF2无需把UE当作完全未知的设备处理。当UE发生事务时,AMF2可以从UDSF读取UE上下文。读取过程可以使用SUPI、5G-GUTI或AMF UE NGAP ID等标识。获得上下文后,AMF2可以处理UE消息,并在需要时向UE更新5G-GUTI。
实际结果是业务连续性得到改善。网络仍然需要正确的故障检测、AMF重新选择和上下文读取逻辑,但与所有用户上下文只保存在故障节点内部的模式相比,恢复基础更加稳固。从用户侧看,理想结果是恢复过程不需要重启设备、不需要手动重新附着,也不会产生明显的业务中断。
工程价值与局限
计算与存储解耦的首要工程价值是韧性。如果某个AMF实例故障,业务状态仍可能通过UDSF保持可用。这可以减少对本地节点状态的依赖,并帮助网络以更小影响完成恢复。它还支持弹性扩展,因为新网络功能实例可以直接加入,而无需提前在本地同步全部历史状态。
第二项价值是架构可移植性。与厂商专有的主备同步相比,UDSF属于5GC架构的一部分,也更符合标准化的云原生核心网设计。它支持以更开放的方式考虑状态存储和恢复,而不是把高可用能力锁定在私有集群机制中。
不过,UDSF并不会消除所有复杂性。它本身会成为恢复链路中的关键组件。如果UDSF速度过慢、不可用、数据不一致或保护不足,就可能形成新的瓶颈。因此,UDSF自身必须具备高可用、快速读写、可靠复制、安全访问控制和灾难恢复能力。
数据库选择同样重要。根据厂商实现和系统需求,UDSF相关设计中既可能采用关系型数据库,也可能采用非关系型数据库。关键问题不只是使用哪种数据库,而是整体存储层能否满足电信级的时延、可靠性、一致性和恢复要求。
对工程师而言,最重要的检查项包括:UE上下文是否在正确时间写入UDSF,新选定的AMF能否正确读取,AMF集合选择是否按预期工作,标识是否得到一致处理,以及故障切换对用户来说是否真正无感或接近无感。只有对完整恢复路径进行端到端测试,解耦设计才有实际价值。
常见问题
UDSF只供AMF使用吗?
不是。UDSF面向任何需要存储和读取非结构化数据的网络功能。利用UE上下文实现AMF恢复只是其中最容易理解的示例之一。
为什么UE上下文被视为非结构化数据?
UE上下文很重要,但其内部结构并未被完整定义为标准化的3GPP数据结构。因此,它适合以非结构化数据形式存储。
UDSF会替代网络功能内部的所有本地状态吗?
不会完全替代。网络功能在处理过程中仍可能使用临时本地状态。UDSF主要用于保留可恢复的非结构化数据,避免这些数据随着单个计算实例故障而丢失。
UDSF能够保证业务完全不中断吗?
仅靠UDSF不能保证。它能够改善恢复基础,但实际连续性还取决于故障检测、AMF重新选择、数据新鲜度、信令行为以及UDSF可用性。
UDSF投入生产前应测试哪些内容?
测试应覆盖上下文写入时机、上下文读取、AMF故障检测、AMF集合重新选择、数据库故障切换、读写时延、访问安全,以及恢复过程中UE的实际体验。
5GC计算与存储解耦不只是一次数据库调整。它改变了核心网看待状态、故障和恢复的方式。通过UDSF保存UE上下文等非结构化数据,网络功能可以减少对本地存储的依赖,并更适合韧性的云原生部署。其核心理念很简单:计算实例可以故障或变化,但用户状态必须始终能够恢复。