A charging method, wherein the method comprises: determining (401, 601), by a control plane function entity, that a data flow transmitted by a user equipment UE on a first data session needs to be migrated to a second data session, wherein the first data session is a data session between the UE and a first user plane function entity, the second data session is a data session between the UE and a second user plane function entity, the first user plane function entity and the second user plane function entity are selected by the control plane function entity; the method characterized by: obtaining (402, 602, 603), by the control plane function entity, charging information of the data flow before the migration, wherein the charging information was counted by the first user plane function entity and is reported to the control plane function entity by the first user plane function entity, the charging information comprises usage information; and determining (603, 805), by the control plane function entity, based on the charging information, that was counted by the first user plane function entity, of the data flow and further based on a first quota, a remaining available quota of the first quota; and delivering (604, 806), by the control plane function entity, a second quota to be delivered to the second user plane function to the second user plane function entity based on the remaining available quota; caching (604, 806), by the control plane function entity, the charging information reported by the first user plane function entity; generating (605, 807), by the control plane function entity, based on the usage information reported by the first user plane function entity and usage information reported by the second user plane function entity, information to be reported to the charging system; reporting (605, 807), by the control plane function entity, the generated information to the charging system. obtaining (402, 602, 603), by the control plane function entity, charging information of the data flow before the migration, wherein the charging information was counted by the first user plane function entity and is reported to the control plane function entity by the first user plane function entity, the charging information comprises usage information; and determining (603, 805), by the control plane function entity, based on the charging information, that was counted by the first user plane function entity, of the data flow and further based on a first quota, a remaining available quota of the first quota; and delivering (604, 806), by the control plane function entity, a second quota to be delivered to the second user plane function to the second user plane function entity based on the remaining available quota; caching (604, 806), by the control plane function entity, the charging information reported by the first user plane function entity; generating (605, 807), by the control plane function entity, based on the usage information reported by the first user plane function entity and usage information reported by the second user plane function entity, information to be reported to the charging system; reporting (605, 807), by the control plane function entity, the generated information to the charging system.