好的,我们继续深入3GPP TS 23.288规范的下一核心章节。

深度解析 3GPP TS 23.288:5A Data Collection Coordination and Delivery (数据收集协调与交付功能描述)

本文技术原理深度参考了3GPP TS 23.288 V18.9.0 (2025-03) Release 18规范中,关于“5A Data Collection Coordination and Delivery Functional Description”的核心章节,旨在为读者深入剖析5G网络智能化的“后勤总管”——DCCF(数据收集协调功能)的工作机制。

在上一篇文章中,我们了解了NWDAF“小慧”的两种核心身份——分析师(AnLF)和科学家(MTLF),以及它们之间发现、选择和协同工作的基本法则。我们知道,“小慧”的智慧源泉是源源不断的数据。然而,如果成百上千的“小慧”实例和其它网络功能(NF)都随心所欲地向数据源(如AMF、SMF)索取信息,网络本身将不堪重负,产生巨大的信令风暴。

为了解决这个“交通拥堵”问题,3GPP引入了一位至关重要的角色——DCCF (Data Collection Coordination Function),我们可以称之为5G智能网络的“数据总管家”。本章,我们将聚焦于这位总管家,看它如何有条不紊地调度、协调、分发网络中的数据流,成为NWDAF高效运作的坚实后盾。

1. “总管家”的职责与服务对象 (TS 23.288 Clause 5A.1)

首先,我们需要明确“总管家”DCCF是为谁服务的,以及它的核心职责是什么。

Data Collection Coordination and Delivery coordinates the collection and distribution of data requested by NF consumers. It prevents data sources from having to handle multiple subscriptions for the same data and send multiple notifications containing the same information due to uncoordinated requests from data consumers.

这段话精辟地概括了DCCF的核心价值:协调数据的收集与分发,避免对数据源的重复打扰

想象一下这个场景:为了保障用户“小明”的云游戏体验,PCF需要实时了解小明所在小区的负载,NWDAF-AnLF需要小明的移动性数据来预测其轨迹,而另一个运维系统中的NWDAF则需要同样的数据来进行网络健康度评估。如果没有DCCF,PCF、AnLF和运维NWDAF会各自向AMF和SMF发起订阅。AMF和SMF会收到三份几乎一样的请求,并且需要向三个不同的消费者发送三份内容相同的数据通知。这无疑是巨大的资源浪费。

而有了“总管家”DCCF,流程就变成了:

  1. PCF、AnLF和运维NWDAF都将自己的数据需求告诉DCCF。
  2. DCCF发现这三个需求其实是针对同一份数据,于是它只向AMF和SMF发起一次订阅。
  3. 当AMF/SMF上报数据时,只发给DCCF一份
  4. DCCF再将这份数据复制并分发给PCF、AnLF和运维NWDAF。

通过这种“批发转零售”的模式,DCCF极大地优化了网络信令效率。规范明确了它的服务对象非常广泛:

  • 需要数据进行分析的NWDAF
  • 需要从NWDAF获取分析结果的NF消费者(此时DCCF扮演了分析结果的分发协调角色)。
  • 需要从ADRF获取历史数据的NF消费者
  • 接收数据的ADRF本身(作为数据归档的目标)。

2. “总管家”的智慧:数据收集的精妙协调 (TS 23.288 Clause 5A.2)

DCCF的协调工作并非简单的请求转发,它拥有一套智能的运作机制。

Data Collection Coordination is supported by a DCCF or an NWDAF. The Data Consumer may use an NRF to perform NF discovery and selection to find a DCCF that can coordinate data collection… Upon receiving a request from a Data Consumer, the selected DCCF determines the NF instance that can be a Data Source if the Data Source is not indicated in the Data Consumer’s request.

这意味着,当PCF需要数据时,它首先会通过NRF找到一个DCCF实例。然后,PCF向DCCF提交请求,请求中可能包含也可能不包含具体的数据源信息。DCCF的核心智慧就体现在如何处理这些请求。

2.1 智能“通讯录”:如何找到正确的数据源?

如果PCF的请求是“我需要用户‘小明’的PDU会话信息”,但它并不知道哪个SMF在为“小明”服务。此时,DCCF就需要动用它的“智能通讯录”——也就是规范中的Table 5A.2-1

表格用途解读: 这张表格是DCCF进行数据源发现的行动指南。它清晰地指明了,为了定位到服务于特定UE的某个目标NF(例如SMF),DCCF应该向哪个中间NF(例如UDM)发起查询,以及使用哪种服务。

Markdown表格重绘与解读:

Table 5A.2-1: NF Services consumed by DCCF or NWDAF to determine which NF instances are serving a UE

目标NF类型 (服务于UE)DCCF需联系的NF使用的服务规范参考 (TS 23.502)
UDMNRFNnrf_NFDiscovery5.2.7.3
AMFUDMNudm_UECM5.2.3.2
SMFUDMNudm_UECM5.2.3.2
BSFNRFNnrf_NFDiscovery5.2.7.3
PCFBSFNbsf_Management5.2.13.2

场景举例: 当DCCF收到获取“小明”(SUPI已知) PDU会话信息的请求后,它会查阅这张表。

  1. 目标:找到服务于“小明”的SMF。
  2. 路径:表格指示,应该联系UDM
  3. 行动:DCCF调用UDM的Nudm_UECM(UE上下文管理)服务,传入“小明”的SUPI,UDM就会返回当前为“小明”提供服务的SMF实例地址。
  4. 后续:DCCF随后就可以向这个具体的SMF实例发起数据订阅。

2.2 维护“订阅日志”:避免重复工作

DCCF的核心价值在于避免重复订阅。它通过维护一个“订阅日志”来实现这一点。

When the DCCF receives a request for data, it determines the status of data collection from the Data Source. If parameters in a request for data from a Data Consumer match those in a prior request or in a data collection profile registration, the DCCF may determine that the requested data is already being collected…

这个过程可以理解为:

  1. 收到新请求:PCF向DCCF请求“小明”的移动性事件。
  2. 查阅日志:DCCF检查自己的“订阅日志”,发现自己已经因为AnLF的请求,正在向AMF订阅“小明”的移动性事件。
  3. 合并处理:DCCF不会再向AMF发起新的订阅。它只是在“小明移动性事件”这条日志的“收件人列表”里,加上PCF。
  4. 修改订阅:如果PCF的请求比AnLF的更详细(例如,需要更精确的位置信息),DCCF可能会向AMF发送一个修改订阅的请求,以满足所有消费者的需求并集。

此外,NWDAF或ADRF如果自己直接订阅了数据,也可以主动向DCCF注册其数据收集概况(data collection profile),相当于主动告诉“总管家”:“我正在收集这些数据,你有需要可以找我”。这进一步增强了全网数据采集的协同性。

3. 数据的“快递服务”:两种交付模式 (TS 23.288 Clause 5A.3)

数据收集上来后,如何高效、可靠地送到消费者手中?DCCF提供了两种灵活的“快递服务”。

Data is provided to Consumers or notification endpoints according to the Delivery Option configured on the DCCF or NWDAF. Delivery Options are:

  1. Delivery via DCCF or NWDAF
  2. Delivery via Messaging Framework

3.1 模式一:总管家亲自派送 (Delivery via DCCF)

这是最直接的方式。规范中的“Figure 5A.3.1-1: Data Delivery via DCCF”清晰地展示了这一流程。

DCCF作为中间人,接收来自数据源(Data Source)的事件通知,然后将其**传播(propagates)**给所有订阅了该数据的消费者。在这个过程中,DCCF还可以根据每个消费者的不同要求,进行定制化的格式化和处理(详见5A.4节),确保每个人收到的“包裹”都是自己想要的格式。

3.2 模式二:委托专业快递公司 (Delivery via Messaging Framework)

当网络规模庞大,或者需要与非3GPP的IT系统集成时,DCCF可以选择将数据交付工作委托给一个“专业快递公司”——消息框架(Messaging Framework),由MFAF作为接口人。这一模式由“Figure 5A.3.2-1: Data Delivery via a Messaging Framework”描述。

While the Messaging Framework is not standardized by 3GPP, a Messaging Framework Adaptor NF (MFAF) offers 3GPP defined services that allow the 5GS to interact with the Messaging Framework.

流程变为:

  1. DCCF向数据源订阅数据时,将通知地址指定为MFAF
  2. 数据源将数据发送给MFAF。
  3. MFAF内部可能采用发布/订阅(Pub-Sub)等高效模式,将数据发布到特定的主题(Topic)。
  4. 之前通过DCCF订阅数据的消费者,会被MFAF转化为对相应主题的订阅者。
  5. MFAF最终将数据投递给消费者。

这种模式的优势在于专业化和解耦。它利用了消息中间件的高吞吐、高可靠、可扩展的特性,非常适合大规模、高并发的数据分发场景。

4. 数据的“私人定制”:格式化与处理 (TS 23.288 Clause 5A.4)

这是DCCF提供的最具价值的增值服务之一:数据格式化(Formatting)数据处理(Processing)。它允许数据消费者像在电商网站购物一样,对所需的数据提出各种“定制”要求。

4.1 格式化指令:决定何时发送

Formatting determines when a notification is sent to the Consumer. Formatting Instructions may indicate:

  • Notification Event clubbing: Buffering and sending of several notifications in one message.
  • Notification Time Window: …notifications are buffered and sent between 2 and 3 AM.

场景举例

  • 事件打包 (Clubbing):PCF对“小明”的每一次微小移动不感兴趣,但关心其总的移动趋势。它可以要求DCCF:“请让AMF每收集到10次‘小明’的位置更新后,再打包成一条通知发给我。”
  • 时间窗口 (Time Window):运维NWDAF进行每日网络报告,不需要实时数据。它可以要求DCCF:“请将今天一天所有相关的数据都缓存起来,在明天凌晨2点到3点之间一次性发给我。”

4.2 处理指令:决定发送什么内容

Processing instructions allow summarizing of notifications to reduce the volume of data reported to the Data Consumer. The processing results in summarizing of information from multiple notifications into a common report.

场景举例: 网络管理员不关心某个小区内每个用户的具体速率,只关心小区的整体负载情况。他可以向DCCF发起请求,并附上处理指令:“对于目标小区,请在每5分钟的处理间隔(Processing Interval)内,计算所有UE的平均(Average)、**最大(Maximum)最小(Minimum)**速率,然后只把这三个统计值发给我。”

规范中的 Table 5A.4-1 给出了一个具体的例子。

表格用途解读与重绘: 这张表示例了对于不同的网络事件,可以提取哪些关键参数,并进行何种统计处理。

Table 5A.4-1: Examples of Event Parameter Names, Parameter values

EventEvent parameter nameParameter valuesAttributes
Location ReportTAITAI-7- 时间间隔的均值和方差 (TA边界穿越之间)
- TA边界穿越次数
Number of UEs in a RegionRegionAMF-3- 区域内UE数量的均值和方差
UE Reachability (status change)CM StateConnected- CM连接态转换之间的时间均值和方差
- 在CM连接态花费的时间均值和方差
- 转换到CM连接态的次数
PDU Session EstablishmentDNNInternet- 到Internet DN的PDU会话建立之间的时间均值和方差
- …

通过这些强大的“私人定制”服务,DCCF确保了消费者只收到他们真正需要的信息,且以最高效的方式接收,极大地降低了网络信令和处理开销。

5. 穿越时空:历史数据的处理 (TS 23.288 Clause 5A.5)

“总管家”DCCF不仅能处理实时数据,还能帮助消费者获取“过去”的数据。

When the DCCF receives a request for data that includes a period in the past and ADRF is deployed, the DCCF may obtain data from ADRF as the Data Source. The DCCF may also obtain historical data from an NWDAF.

DCCF在这里扮演了历史数据检索的协调者角色:

  • 作为历史数据源的代理:当一个消费者向DCCF请求昨天下午的数据时,DCCF会去查询哪个ADRF或NWDAF存储了这些历史数据,然后从中检索并交付给消费者。
  • 作为历史数据的接收者代理:消费者在订阅实时数据的同时,可以指示DCCF:“请把这些数据都存入ADRF-01,以备日后查询。” DCCF就会确保所有收集到的数据都被正确地归档。

这使得实时数据收集和历史数据管理被无缝地整合到同一个协调框架之下,大大简化了上层应用的开发逻辑。


FAQ - 常见问题解答

Q1:DCCF和NWDAF都具备数据收集协调能力,它们之间是什么关系? A1:这是一个很好的问题。规范中提到“Data Collection Coordination is supported by a DCCF or an NWDAF”。这意味着,在某些部署场景下,一个NWDAF实例可以内建DCCF的逻辑功能,自己协调自己以及其他消费者的数据请求。然而,更典型的架构是将DCCF作为一个独立的、专用的NF实例来部署。这样可以实现更清晰的职责分离和更好的水平扩展。可以理解为,NWDAF是“分析专家”,而DCCF是“行政助理”,专家有时可以自己处理行政事务,但设立专职的助理通常效率更高。

Q2:数据格式化(Formatting)和数据处理(Processing)有什么本质区别? A2:格式化(Formatting)主要关注“何时”以及“如何打包”发送数据,它不改变数据本身的内容,只是改变了数据通知的触发时机和组织形式。例如,事件打包(clubbing)只是把多个独立的通知消息合并成一个。而处理(Processing)则关注“发送什么”,它会改变数据的内容,通过聚合、统计等操作,从原始数据中提取出更高维度的信息(如均值、方差)。简单说,格式化是“信封和邮递方式”的定制,处理是“信件内容”的再创作。

Q3:如果一个数据源(如AMF)同时被多个DCCF订阅,会发生什么? A3:规范在 NOTE 中特别指出了这一点:“to avoid duplicate data collection, each Data Source NF or Set of Data Source NF should be associated with only one DCCF instance or DCCF Set.” 这是为了避免出现“总管家打架”的局面。在理想的部署和配置下,一个数据源应该只由一个DCCF(或一个DCCF集合)来负责协调,从而将协调的优势发挥到最大。如果配置不当导致多个DCCF订阅同一个源,虽然逻辑上可行,但就违背了引入DCCF以减少冗余订阅的初衷。

Q4:消费者如何决定是通过DCCF交付数据,还是通过消息框架(Messaging Framework)交付? A4:这通常由运营商的部署策略和DCCF的配置决定。消费者在向DCCF发起订阅时,DCCF会根据自身的配置来决定采用哪种交付模式。例如,对于需要极高吞吐量和跨系统集成的场景,DCCF可能会配置为默认使用消息框架模式。对于简单的、小范围的数据共享,则可能采用直接交付模式。这个决策过程对数据消费者是透明的。

Q5:DCCF是否能处理漫游用户的数据收集? A5:可以。虽然5A章节主要描述非漫游场景,但DCCF的协调机制是通用的。在漫游场景下,VPLMN中的DCCF可以协调本地NF的数据收集。如果需要从HPLMN获取数据,请求会通过V-RE-NWDAF和H-RE-NWDAF流转,HPLMN侧也可能部署有DCCF来协调其内部的数据收集。DCCF与RE-NWDAF协同工作,共同完成跨网的数据协调与交付。