[0007] 本发明实施例提供一种用于溯源的映射表的更新方法和装置,用以解决现有技术中因接收的上线消息或下线消息因为延迟或缺失,造成溯源准确率不高的问题。
[0008] 第一方面,本发明实施例提供了一种用于溯源的映射表的更新方法,包括:
[0009] 日志服务器接收AAA服务器发送的第一用户的上线消息,所述上线消息携带第一私网IP地址、第一用户身份标识和上线时刻;
[0010] 所述日志服务器根据所述上线消息在上线消息映射表中创建第一表项;所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值;所述第一表项包括所述第一私网IP地址、所述第一用户身份标识、所述上线时刻和预设下线时刻;
[0011] 在所述日志服务器在上线消息映射表中创建第一表项之前,还包括:
[0012] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同的第二表项,则
[0013] 所述日志服务器根据所述上线消息中携带的上线时刻,为所述第二表项中包括的第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第三表项添加到下线消息映射表中,所述第三表项包括为所述第二用户设置的下线时刻,以及所述第二表项包括的私网IP地址、第二用户身份标识和上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值;
[0014] 所述日志服务器在将所述第三表项添加到下线消息映射表之后,在所述上线消息映射表中删除所述第二表项。
[0015] 结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述上线消息中携带的上线时刻为所述第二用户设置一个下线时刻,包括:
[0016] 为所述第二用户设置的下线时刻满足下述条件:
[0017] offlineTimeB=max(exOfflineTimeB,onlineTimeA-IPReassignTime);或[0018] offlineTimeB=onlineTimeA;
[0019] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第二表项包括的预设下线时刻,onlineTimeA表示所述上线消息中携带的上线时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0020] 结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一表项包括的预设下线时刻满足下述条件:
[0021] exOfflineTimeA=onlineTimeA+IPReassignTime;
[0022] 其中,exOfflineTimeA表示所述第一表项包括的预设下线时刻,onlineTimeA表示所述上线消息携带的上线时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0023] 结合第一方面和第一方面的第一种至第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,所述方法还包括:
[0024] 所述日志服务器接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0025] 如果所述第一溯源请求未携带用户身份标识,则所述日志服务器执行以下操作:
[0026] 所述日志服务器查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求包括的访问时间段的取值范围;
[0027] 所述日志服务器根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第四表项,所述第四表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第四表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第四表项,则返回所述第四表项和所述第一NAT日志;和/或,
[0028] 所述日志服务器根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表中查询第五表项,所述第五表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第五表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第五表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第五表项,则返回所述第五表项和所述第一NAT日志。
[0029] 结合第一方面和第一方面的第一种至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述方法还包括:
[0030] 所述日志服务器接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0031] 如果所述第二溯源请求携带用户身份标识,则所述日志服务器执行以下操作:
[0032] 所述日志服务器在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第六表项;以及查询与所述第六表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第六表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第六表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则返回所述第六表项和所述第二NAT日志;和/或,
[0033] 所述日志服务器在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第七表项;以及查询与所述第七表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第七表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第七表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第七表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则返回所述第七表项和所述第三NAT日志。
[0034] 第二方面,本发明实施例提供了一种用于溯源的映射表的更新方法,包括:
[0035] 日志服务器接收AAA服务器发送的第一用户的下线消息,所述下线消息携带第一私网IP地址、第一用户身份标识和下线时刻;
[0036] 如果上线消息映射表不存在包括的私网IP地址与所述第一私网IP地址相同的第一表项,所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值,则
[0037] 所述日志服务器根据下线时刻映射表为所述第一用户设置一个上线时刻;所述下线时刻映射表以私网IP地址为键,以最近一次下线时刻为值;并生成第二表项添加到下线消息映射表中,所述第二表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻、以及为所述第一用户设置的上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值。
[0038] 结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:
[0039] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的第二用户身份标识与所述第一用户身份标识不同的第三表项,则
[0040] 所述日志服务器根据所述下线消息中携带的下线时刻,为所述第一用户设置一个上线时刻;并生成第四表项添加到所述下线消息映射表中,所述第四表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻、以及为所述第一用户设置的上线时刻;
[0041] 所述日志服务器根据所述下线消息中携带的下线时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第五表项添加到所述下线消息映射表中,所述第五表项包括为所述第二用户设置的下线时刻、以及所述第三表项包括的私网IP地址、第二用户身份标识和上线时刻;
[0042] 所述日志服务器在将所述第五表项添加到所述下线消息映射表之后,在所述上线消息映射表中删除所述第三表项。
[0043] 结合第二方面,在第二方面的第二种可能的实现方式中,所述根据下线时刻映射表为所述第一用户设置一个上线时刻,包括:
[0044] 如果所述下线时刻映射表存在包括的私网IP地址与所述第一私网IP地址相同的第六表项,则为所述第一用户设置的上线时刻满足下述条件:
[0045] onlineTimeA=lastOfflineTime+IPReassignTime;或
[0046] onlineTimeA=lastOfflineTime;
[0047] 如果所述下线时刻映射表不存在所述第六表项,则为所述第一用户设置的上线时刻满足下述条件:
[0048] onlineTimeA=offlineTimeA-IPReassignTime;
[0049] 其中,onlineTimeA表示为所述第一用户设置的上线时刻,lastOfflineTime表示所述第六表项包括的最近一次下线时刻,IPReassignTime表示设置的私网IP地址再分配周期,offlineTimeA表示所述下线消息中携带的下线时刻。
[0050] 结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述根据所述下线消息中携带的下线时刻为所述第一用户设置一个上线时刻,包括:
[0051] 为所述第一用户设置的上线时刻满足下述条件;
[0052] onlineTimeA=offlineTimeA-IPReassignTime;
[0053] 其中,onlineTimeA表示为所述第一用户设置的上线时刻;offlineTimeA表示所述下线消息中携带的下线时刻,IPReassignTime表示设置的私网IP地址再分配周期;
[0054] 所述根据所述下线消息中携带的下线时刻和所述第三表项包括的预设下线时刻为所述第二用户设置一个下线时刻,包括:
[0055] 为所述第二用户设置的下线时刻满足下述条件:
[0056] offlineTimeB=min(exOfflineTimeB,offlineTimeA-IPReassignTime);
[0057] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第三表项包括的预设下线时刻。
[0058] 结合第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述方法还包括:
[0059] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的用户身份标识与所述第一用户身份标识相同的第七表项,则
[0060] 所述日志服务器生成第八表项添加到所述下线消息映射表中,所述第八表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻,以及所述第七表项包括的上线时刻。
[0061] 结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述方法还包括以下步骤中的至少一个:
[0062] 如果所述上线消息映射表不存在所述第一表项,则在所述日志服务器根据下线时刻映射表为所述第一用户设置一个上线时刻之后,在确定所述下线时刻映射表存在包括的私网IP地址与所述第一私网IP地址相同的第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成第九表项添加到所述下线时刻映射表中,所述第九表项包括所述下线消息中携带的第一私网IP地址和下线时刻;
[0063] 如果所述上线消息映射表存在所述第三表项,则在所述日志服务器接收第一用户的下线消息之后,在确定所述下线时刻映射表存在所述第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成所述第九表项添加到所述下线时刻映射表中;
[0064] 如果所述上线消息映射表存在所述第七表项,则在所述日志服务器接收第一用户的下线消息之后,在确定所述下线时刻映射表存在所述第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成所述第九表项添加到所述下线时刻映射表中。
[0065] 结合第二方面和第二方面的第一种至第五种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,所述方法还包括:
[0066] 所述日志服务器接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0067] 如果所述第一溯源请求未携带用户身份标识,则所述日志服务器执行以下操作:
[0068] 所述日志服务器查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求携带的访问时间段的取值范围;
[0069] 所述日志服务器根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第十表项,所述第十表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第十表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第十表项,则返回所述第十表项和所述第一NAT日志;和/或,
[0070] 所述日志服务器根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表查询第十一表项,所述第十一表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第十一表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第十一表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第十一表项,则返回所述第十一表项和所述第一NAT日志。
[0071] 结合第二方面和第二方面的第一种至第六种可能的实现方式中的任意一种,在第二方面的第七种可能的实现方式中,所述方法还包括:
[0072] 所述日志服务器接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0073] 如果所述第二溯源请求携带用户身份标识,则所述日志服务器执行以下操作:
[0074] 所述日志服务器在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十二表项;以及查询与所述第十二表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第十二表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第十二表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则返回所述第十二表项和所述第二NAT日志;和/或,
[0075] 所述日志服务器在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十三表项;以及查询与所述第十三表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第十三表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第十三表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第十三表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则返回所述第十三表项和所述第三NAT日志。
[0076] 第三方面,本发明实施例提供了一种用于溯源的映射表的更新方法,包括:
[0077] 日志服务器接收AAA服务器发送的第一用户的保活消息,所述保活消息携带第一私网IP地址、第一用户身份标识和保活时刻;所述保活时刻为所述AAA服务器发送所述保活消息的时刻;
[0078] 如果上线消息映射表不存在包括的私网IP地址与所述第一私网IP地址相同的第一表项,所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值,则
[0079] 所述日志服务器根据所述保活消息中携带的保活时刻为所述第一用户设置一个上线时刻和一个预设下线时刻;并生成第二表项添加到所述上线消息映射表中,所述第二表项包括为所述第一用户设置的上线时刻和预设下线时刻,以及所述保活消息中携带的所述第一私网IP地址和第一用户身份标识。
[0080] 结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:
[0081] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的第二用户身份标识与所述第一用户身份标识不同的第三表项,则
[0082] 所述日志服务器根据保活消息中携带的保活时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第四表项添加到下线消息映射表中,所述第四表项包括为所述第二用户设置的下线时刻,以及所述第三表项包括的私网IP地址、第二用户身份标识和上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值;
[0083] 所述日志服务器在将所述第四表项添加到所述下线消息映射表之后,在所述上线消息映射表中删除所述第三表项;
[0084] 所述日志服务器根据为所述第二用户设置的下线时刻,为所述第一用户设置一个上线时刻;以及根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻;并在删除所述第三表项之后,生成第五表项添加到所述上线消息映射表中,所述第五表项包括为所述第一用户设置的上线时刻和预设下线时刻,以及所述保活消息中携带的所述第一私网IP地址和第一用户身份标识。
[0085] 结合第三方面,在第三方面的第二种可能的实现方式中,所述根据所述保活消息中携带的保活时刻为所述第一用户设置一个上线时刻,包括:
[0086] 为所述第一用户设置的上线时刻满足下述条件:
[0087] onlineTimeA=activeTimeA-updateTime-IPReassignTime;
[0088] 其中,onlineTimeA表示为所述第一用户设置的上线时刻,activeTimeA表示所述保活消息中携带的保活时刻,updateTime表示设置的保活周期,IPReassignTime表示设置的私网IP地址再分配周期;所述保活周期为所述AAA服务器发送保活消息的间隔。
[0089] 结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述根据保活消息中携带的保活时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,包括:
[0090] 为所述第二用户设置的下线时刻满足下述条件:
[0091] offlineTimeB=min(exOfflineTimeB,ativeTimeA-updateTime-IPReassignTime);
[0092] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第三表项包括的预设下线时刻,activeTimeA表示所述保活消息中携带的保活时刻,updateTime为设置的保活周期,IPReassignTime表示设置的私网IP地址再分配周期,所述保活周期为所述AAA服务器发送保活消息的间隔;
[0093] 所述根据为所述第二用户设置的下线时刻,为所述第一用户设置一个上线时刻,包括:
[0094] 为所述第一用户设置的上线时刻满足下述条件:
[0095] onlineTimeA=offlineTimeB;或
[0096] onlineTimeA=offlineTimeB+IPReassignTime;
[0097] 其中,onlineTimeA表示为所述第一用户设置的上线时刻。
[0098] 结合第三方面,在第三方面的第四种可能的实现方式中,所述方法还包括:
[0099] 如果所述上线消息映射表存在包括的包括的私网IP地址与所述第一私网IP地址相同、且包括的用户身份标识与所述第一用户身份标识相同的第六表项,则[0100] 所述日志服务器根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻;并将所述第六表项包括的预设下线时刻的值,更新为为所述第一用户设置的预设下线时刻的值。
[0101] 结合第三方面、第三方面的第一种可能的实现方式或第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻,包括:
[0102] 为所述第一用户设置的预设下线时刻满足下述条件:
[0103] exOfflineTimeA=activeTimeA+IPReassignTime;
[0104] 其中,exOfflineTimeA表示为所述第一用户设置的预设下线时刻,activeTimeA表示所述保活消息中携带的保活时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0105] 结合第三方面的第一种至第五种可能的实现方式中的任意一种,在第三方面的第六种可能的实现方式中,所述方法还包括:
[0106] 所述日志服务器按照设定周期查询所述上线消息映射表是否存在超时表项,所述超时表项包括的预设下线时刻与所述超时表项包括的上线时刻的差值大于设定时长;
[0107] 如果查询到所述超时表项,则所述日志服务器将所述超时表项包括的上线时刻与所述设定时长的和值作为所述超时表项包括的用户身份标识所表征的用户的下线时刻,并生成第七表项添加到所述下线消息映射表中,所述第七表项包括得到的下线时刻、以及所述超时表项包括的私网IP地址、用户身份标识和上线时刻;
[0108] 所述日志服务器在将所述第七表项添加到所述下线消息映射表之后,将所述超时表项包括的上线时刻的值,更新为所述超时表项包括的上线时刻与所述设定时长的和值。
[0109] 结合第三方面的第一种至第六种可能的实现方式中的任意一种,在第三方面的第七种可能的实现方式中,所述方法还包括:
[0110] 所述日志服务器接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0111] 如果所述第一溯源请求未携带用户身份标识,则所述日志服务器执行以下操作:
[0112] 所述日志服务器查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求携带的访问时间段的取值范围;
[0113] 所述日志服务器根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第八表项,所述第八表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第八表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第八表项,则返回所述第八表项和所述第一NAT日志;和/或,
[0114] 所述日志服务器根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表中查询第九表项,所述第九表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第九表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第九表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第九表项,则返回所述第九表项和所述第一NAT日志。
[0115] 结合第三方面的第一种至第七种可能的实现方式中的任意一种,在第三方面的第八种可能的实现方式中,所述方法还包括:
[0116] 所述日志服务器接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0117] 如果所述第二溯源请求携带用户身份标识,则所述日志服务器执行以下操作:
[0118] 所述日志服务器在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十表项;以及查询与所述第十表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第十表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第十表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则返回所述第十表项和所述第二NAT日志;和/或,
[0119] 所述日志服务器在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十一表项;以及查询与所述第十一表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第十一表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第十一表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第十一表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则返回所述第十一表项和所述第三NAT日志。
[0120] 第四方面,本发明实施例提供了一种用于溯源的映射表的更新装置,包括:
[0121] 收发单元,用于接收AAA服务器发送的第一用户的上线消息,所述上线消息携带第一私网IP地址、第一用户身份标识和上线时刻;
[0122] 处理单元,用于根据所述上线消息在上线消息映射表中创建第一表项;所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值;所述第一表项包括所述第一私网IP地址、所述第一用户身份标识、所述上线时刻和预设下线时刻;
[0123] 所述处理单元在上线消息映射表中创建第一表项之前,还用于:
[0124] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同的第二表项,则根据所述上线消息中携带的上线时刻,为所述第二表项中包括的第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第三表项添加到下线消息映射表中,所述第三表项包括为所述第二用户设置的下线时刻,以及所述第二表项包括的私网IP地址、第二用户身份标识和上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值;在将所述第三表项添加到下线消息映射表之后,在所述上线消息映射表中删除所述第二表项。
[0125] 结合第四方面,在第四方面的第一种可能的实现方式中,所述根据所述上线消息中携带的上线时刻为所述第二用户设置一个下线时刻,包括:
[0126] 为所述第二用户设置的下线时刻满足下述条件:
[0127] offlineTimeB=max(exOfflineTimeB,onlineTimeA-IPReassignTime);或[0128] offlineTimeB=onlineTimeA;
[0129] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第二表项包括的预设下线时刻,onlineTimeA表示所述上线消息中携带的上线时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0130] 结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述第一表项包括的预设下线时刻满足下述条件:
[0131] exOfflineTimeA=onlineTimeA+IPReassignTime;
[0132] 其中,exOfflineTimeA表示所述第一表项包括的预设下线时刻,onlineTimeA表示所述上线消息携带的上线时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0133] 结合第四方面和第四方面的第一种至第二种可能的实现方式中的任意一种,在第四方面的第三种可能的实现方式中,
[0134] 所述收发单元还用于,接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0135] 如果所述第一溯源请求未携带用户身份标识,则所述处理单元还用于:
[0136] 查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求包括的访问时间段的取值范围;
[0137] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第四表项,所述第四表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第四表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第四表项,则指示所述收发单元返回所述第四表项和所述第一NAT日志;和/或,
[0138] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表中查询第五表项,所述第五表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第五表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第五表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第五表项,则指示所述收发单元返回所述第五表项和所述第一NAT日志。
[0139] 结合第四方面和第四方面的第一种至第三种可能的实现方式中的任意一种,在第四方面的第四种可能的实现方式中,
[0140] 所述收发单元还用于,接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0141] 如果所述第二溯源请求携带用户身份标识,则所述处理单元还用于:
[0142] 在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第六表项;以及查询与所述第六表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第六表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第六表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发单元返回所述第六表项和所述第二NAT日志;和/或,
[0143] 在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第七表项;以及查询与所述第七表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第七表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第七表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第七表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发单元返回所述第七表项和所述第三NAT日志。
[0144] 第五方面,本发明实施例提供了一种用于溯源的映射表的更新装置,包括:
[0145] 收发单元,用于接收AAA服务器发送的第一用户的下线消息,所述下线消息携带第一私网IP地址、第一用户身份标识和下线时刻;
[0146] 如果上线消息映射表不存在包括的私网IP地址与所述第一私网IP地址相同的第一表项,所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值,则
[0147] 处理单元,用于根据下线时刻映射表为所述第一用户设置一个上线时刻;所述下线时刻映射表以私网IP地址为键,以最近一次下线时刻为值;并生成第二表项添加到下线消息映射表中,所述第二表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻、以及为所述第一用户设置的上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值。
[0148] 结合第五方面,在第五方面的第一种可能的实现方式中,
[0149] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的第二用户身份标识与所述第一用户身份标识不同的第三表项,则
[0150] 所述处理单元,用于根据所述下线消息中携带的下线时刻,为所述第一用户设置一个上线时刻;并生成第四表项添加到所述下线消息映射表中,所述第四表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻、以及为所述第一用户设置的上线时刻;
[0151] 根据所述下线消息中携带的下线时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第五表项添加到所述下线消息映射表中,所述第五表项包括为所述第二用户设置的下线时刻、以及所述第三表项包括的私网IP地址、第二用户身份标识和上线时刻;
[0152] 在将所述第五表项添加到所述下线消息映射表之后,在所述上线消息映射表中删除所述第三表项。
[0153] 结合第五方面,在第五方面的第二种可能的实现方式中,所述根据下线时刻映射表为所述第一用户设置一个上线时刻,包括:
[0154] 如果所述下线时刻映射表存在包括的私网IP地址与所述第一私网IP地址相同的第六表项,则为所述第一用户设置的上线时刻满足下述条件:
[0155] onlineTimeA=lastOfflineTime+IPReassignTime;或
[0156] onlineTimeA=lastOfflineTime;
[0157] 如果所述下线时刻映射表不存在所述第六表项,则为所述第一用户设置的上线时刻满足下述条件:
[0158] onlineTimeA=offlineTimeA-IPReassignTime;
[0159] 其中,onlineTimeA表示为所述第一用户设置的上线时刻,lastOfflineTime表示所述第六表项包括的最近一次下线时刻,IPReassignTime表示设置的私网IP地址再分配周期,offlineTimeA表示所述下线消息中携带的下线时刻。
[0160] 结合第五方面的第一种可能的实现方式,在第五方面的第三种可能的实现方式中,所述根据所述下线消息中携带的下线时刻为所述第一用户设置一个上线时刻,包括:
[0161] 为所述第一用户设置的上线时刻满足下述条件;
[0162] onlineTimeA=offlineTimeA-IPReassignTime;
[0163] 其中,onlineTimeA表示为所述第一用户设置的上线时刻;offlineTimeA表示所述下线消息中携带的下线时刻,IPReassignTime表示设置的私网IP地址再分配周期;
[0164] 所述根据所述下线消息中携带的下线时刻和所述第三表项包括的预设下线时刻为所述第二用户设置一个下线时刻,包括:
[0165] 为所述第二用户设置的下线时刻满足下述条件:
[0166] offlineTimeB=min(exOfflineTimeB,offlineTimeA-IPReassignTime);
[0167] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第三表项包括的预设下线时刻。
[0168] 结合第五方面的第一种可能的实现方式,在第五方面的第四种可能的实现方式中,
[0169] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的用户身份标识与所述第一用户身份标识相同的第七表项,则
[0170] 所述处理单元,用于生成第八表项添加到所述下线消息映射表中,所述第八表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻,以及所述第七表项包括的上线时刻。
[0171] 结合第五方面的第四种可能的实现方式,在第五方面的第五种可能的实现方式中,
[0172] 如果所述上线消息映射表不存在所述第一表项,则所述处理单元还用于:
[0173] 在根据下线时刻映射表为所述第一用户设置一个上线时刻之后,在确定所述下线时刻映射表存在包括的私网IP地址与所述第一私网IP地址相同的第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成第九表项添加到所述下线时刻映射表中,所述第九表项包括所述下线消息中携带的第一私网IP地址和下线时刻;
[0174] 如果所述上线消息映射表存在所述第三表项,则所述处理单元还用于:
[0175] 在所述收发单元接收第一用户的下线消息之后,在确定所述下线时刻映射表存在所述第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成所述第九表项添加到所述下线时刻映射表中;
[0176] 如果所述上线消息映射表存在所述第七表项,则所述处理单元还用于:
[0177] 在所述收发单元接收第一用户的下线消息之后,在确定所述下线时刻映射表存在所述第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成所述第九表项添加到所述下线时刻映射表中。
[0178] 结合第五方面和第五方面的第一种至第五种可能的实现方式中的任意一种,在第五方面的第六种可能的实现方式中,
[0179] 所述收发单元还用于,接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0180] 如果所述第一溯源请求未携带用户身份标识,则所述处理单元还用于:
[0181] 查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求携带的访问时间段的取值范围;
[0182] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第十表项,所述第十表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第十表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第十表项,则指示所述收发单元返回所述第十表项和所述第一NAT日志;和/或,
[0183] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表查询第十一表项,所述第十一表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第十一表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第十一表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第十一表项,则指示所述收发单元返回所述第十一表项和所述第一NAT日志。
[0184] 结合第五方面和第五方面的第一种至第六种可能的实现方式中的任意一种,在第五方面的第七种可能的实现方式中,
[0185] 所述收发单元还用于,接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0186] 如果所述第二溯源请求携带用户身份标识,则所述处理单元还用于:
[0187] 在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十二表项;以及查询与所述第十二表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第十二表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第十二表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发单元返回所述第十二表项和所述第二NAT日志;和/或,
[0188] 在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十三表项;以及查询与所述第十三表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第十三表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第十三表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第十三表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发单元返回所述第十三表项和所述第三NAT日志。
[0189] 第六方面,本发明实施例提供了一种用于溯源的映射表的更新装置,包括:
[0190] 收发单元,用于接收AAA服务器发送的第一用户的保活消息,所述保活消息携带第一私网IP地址、第一用户身份标识和保活时刻;所述保活时刻为所述AAA服务器发送所述保活消息的时刻;
[0191] 如果上线消息映射表不存在包括的私网IP地址与所述第一私网IP地址相同的第一表项,所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值,则
[0192] 处理单元,用于根据所述保活消息中携带的保活时刻为所述第一用户设置一个上线时刻和一个预设下线时刻;并生成第二表项添加到所述上线消息映射表中,所述第二表项包括为所述第一用户设置的上线时刻和预设下线时刻,以及所述保活消息中携带的所述第一私网IP地址和第一用户身份标识。
[0193] 结合第六方面,在第六方面的第一种可能的实现方式中,
[0194] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的第二用户身份标识与所述第一用户身份标识不同的第三表项,则
[0195] 所述处理单元,用于根据保活消息中携带的保活时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第四表项添加到下线消息映射表中,所述第四表项包括为所述第二用户设置的下线时刻,以及所述第三表项包括的私网IP地址、第二用户身份标识和上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值;
[0196] 在将所述第四表项添加到所述下线消息映射表之后,在所述上线消息映射表中删除所述第三表项;
[0197] 根据为所述第二用户设置的下线时刻,为所述第一用户设置一个上线时刻;以及根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻;并在删除所述第三表项之后,生成第五表项添加到所述上线消息映射表中,所述第五表项包括为所述第一用户设置的上线时刻和预设下线时刻,以及所述保活消息中携带的所述第一私网IP地址和第一用户身份标识。
[0198] 结合第六方面,在第六方面的第二种可能的实现方式中,所述根据所述保活消息中携带的保活时刻为所述第一用户设置一个上线时刻,包括:
[0199] 为所述第一用户设置的上线时刻满足下述条件:
[0200] onlineTimeA=activeTimeA-updateTime-IPReassignTime;
[0201] 其中,onlineTimeA表示为所述第一用户设置的上线时刻,activeTimeA表示所述保活消息中携带的保活时刻,updateTime表示设置的保活周期,IPReassignTime表示设置的私网IP地址再分配周期;所述保活周期为所述AAA服务器发送保活消息的间隔。
[0202] 结合第六方面的第一种可能的实现方式,在第六方面的第三种可能的实现方式中,所述根据保活消息中携带的保活时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,包括:
[0203] 为所述第二用户设置的下线时刻满足下述条件:
[0204] offlineTimeB=min(exOfflineTimeB,ativeTimeA-updateTime-IPReassignTime);
[0205] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第三表项包括的预设下线时刻,activeTimeA表示所述保活消息中携带的保活时刻,updateTime为设置的保活周期,IPReassignTime表示设置的私网IP地址再分配周期,所述保活周期为所述AAA服务器发送保活消息的间隔;
[0206] 所述根据为所述第二用户设置的下线时刻,为所述第一用户设置一个上线时刻,包括:
[0207] 为所述第一用户设置的上线时刻满足下述条件:
[0208] onlineTimeA=offlineTimeB;或
[0209] onlineTimeA=offlineTimeB+IPReassignTime;
[0210] 其中,onlineTimeA表示为所述第一用户设置的上线时刻。
[0211] 结合第六方面,在第六方面的第四种可能的实现方式中,
[0212] 如果所述上线消息映射表存在包括的包括的私网IP地址与所述第一私网IP地址相同、且包括的用户身份标识与所述第一用户身份标识相同的第六表项,则[0213] 所述处理单元,用于根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻;并将所述第六表项包括的预设下线时刻的值,更新为为所述第一用户设置的预设下线时刻的值。
[0214] 结合第六方面、第六方面的第一种可能的实现方式或第四种可能的实现方式,在第六方面的第五种可能的实现方式中,所述根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻,包括:
[0215] 为所述第一用户设置的预设下线时刻满足下述条件:
[0216] exOfflineTimeA=activeTimeA+IPReassignTime;
[0217] 其中,exOfflineTimeA表示为所述第一用户设置的预设下线时刻,activeTimeA表示所述保活消息中携带的保活时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0218] 结合第六方面的第一种至第五种可能的实现方式中的任意一种,在第六方面的第六种可能的实现方式中,所述处理单元还用于:
[0219] 按照设定周期查询所述上线消息映射表是否存在超时表项,所述超时表项包括的预设下线时刻与所述超时表项包括的上线时刻的差值大于设定时长;
[0220] 如果查询到所述超时表项,则将所述超时表项包括的上线时刻与所述设定时长的和值作为所述超时表项包括的用户身份标识所表征的用户的下线时刻,并生成第七表项添加到所述下线消息映射表中,所述第七表项包括得到的下线时刻、以及所述超时表项包括的私网IP地址、用户身份标识和上线时刻;
[0221] 在将所述第七表项添加到所述下线消息映射表之后,将所述超时表项包括的上线时刻的值,更新为所述超时表项包括的上线时刻与所述设定时长的和值。
[0222] 结合第六方面的第一种至第六种可能的实现方式中的任意一种,在第六方面的第七种可能的实现方式中,
[0223] 所述收发单元,还用于接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0224] 如果所述第一溯源请求未携带用户身份标识,则所述处理单元还用于:
[0225] 查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求携带的访问时间段的取值范围;
[0226] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第八表项,所述第八表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第八表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第八表项,则指示所述收发单元返回所述第八表项和所述第一NAT日志;和/或,
[0227] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表中查询第九表项,所述第九表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第九表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第九表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第九表项,则指示所述收发单元返回所述第九表项和所述第一NAT日志。
[0228] 结合第六方面的第一种至第七种可能的实现方式中的任意一种,在第六方面的第八种可能的实现方式中,
[0229] 所述收发单元还用于,接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0230] 如果所述第二溯源请求携带用户身份标识,则所述处理单元还用于:
[0231] 在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十表项;以及查询与所述第十表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第十表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第十表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发单元返回所述第十表项和所述第二NAT日志;和/或,
[0232] 在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十一表项;以及查询与所述第十一表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第十一表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第十一表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第十一表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发单元返回所述第十一表项和所述第三NAT日志。
[0233] 第七方面,本发明实施例提供了一种用于溯源的映射表的更新装置,包括:
[0234] 收发器,用于接收AAA服务器发送的第一用户的上线消息,所述上线消息携带第一私网IP地址、第一用户身份标识和上线时刻;
[0235] 处理器,用于根据所述上线消息在上线消息映射表中创建第一表项;所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值;所述第一表项包括所述第一私网IP地址、所述第一用户身份标识、所述上线时刻和预设下线时刻;
[0236] 所述处理器在上线消息映射表中创建第一表项之前,还用于:
[0237] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同的第二表项,则根据所述上线消息中携带的上线时刻,为所述第二表项中包括的第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第三表项添加到下线消息映射表中,所述第三表项包括为所述第二用户设置的下线时刻,以及所述第二表项包括的私网IP地址、第二用户身份标识和上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值;在将所述第三表项添加到下线消息映射表之后,在所述上线消息映射表中删除所述第二表项。
[0238] 结合第七方面,在第七方面的第一种可能的实现方式中,所述根据所述上线消息中携带的上线时刻为所述第二用户设置一个下线时刻,包括:
[0239] 为所述第二用户设置的下线时刻满足下述条件:
[0240] offlineTimeB=max(exOfflineTimeB,onlineTimeA-IPReassignTime);或[0241] offlineTimeB=onlineTimeA;
[0242] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第二表项包括的预设下线时刻,onlineTimeA表示所述上线消息中携带的上线时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0243] 结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,所述第一表项包括的预设下线时刻满足下述条件:
[0244] exOfflineTimeA=onlineTimeA+IPReassignTime;
[0245] 其中,exOfflineTimeA表示所述第一表项包括的预设下线时刻,onlineTimeA表示所述上线消息携带的上线时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0246] 结合第七方面和第七方面的第一种至第二种可能的实现方式中的任意一种,在第七方面的第三种可能的实现方式中,
[0247] 所述收发器还用于,接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0248] 如果所述第一溯源请求未携带用户身份标识,则所述处理器还用于:
[0249] 查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求包括的访问时间段的取值范围;
[0250] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第四表项,所述第四表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第四表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第四表项,则指示所述收发器返回所述第四表项和所述第一NAT日志;和/或,
[0251] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表中查询第五表项,所述第五表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第五表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第五表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第五表项,则指示所述收发器返回所述第五表项和所述第一NAT日志。
[0252] 结合第七方面和第七方面的第一种至第三种可能的实现方式中的任意一种,在第七方面的第四种可能的实现方式中,
[0253] 所述收发器还用于,接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0254] 如果所述第二溯源请求携带用户身份标识,则所述处理器还用于:
[0255] 在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第六表项;以及查询与所述第六表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第六表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第六表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发器返回所述第六表项和所述第二NAT日志;和/或,
[0256] 在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第七表项;以及查询与所述第七表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第七表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第七表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第七表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发器返回所述第七表项和所述第三NAT日志。
[0257] 第八方面,本发明实施例提供了一种用于溯源的映射表的更新装置,包括:
[0258] 收发器,用于接收AAA服务器发送的第一用户的下线消息,所述下线消息携带第一私网IP地址、第一用户身份标识和下线时刻;
[0259] 如果上线消息映射表不存在包括的私网IP地址与所述第一私网IP地址相同的第一表项,所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值,则
[0260] 处理器,用于根据下线时刻映射表为所述第一用户设置一个上线时刻;所述下线时刻映射表以私网IP地址为键,以最近一次下线时刻为值;并生成第二表项添加到下线消息映射表中,所述第二表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻、以及为所述第一用户设置的上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值。
[0261] 结合第八方面,在第八方面的第一种可能的实现方式中,
[0262] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的第二用户身份标识与所述第一用户身份标识不同的第三表项,则
[0263] 所述处理器,用于根据所述下线消息中携带的下线时刻,为所述第一用户设置一个上线时刻;并生成第四表项添加到所述下线消息映射表中,所述第四表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻、以及为所述第一用户设置的上线时刻;
[0264] 根据所述下线消息中携带的下线时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第五表项添加到所述下线消息映射表中,所述第五表项包括为所述第二用户设置的下线时刻、以及所述第三表项包括的私网IP地址、第二用户身份标识和上线时刻;
[0265] 在将所述第五表项添加到所述下线消息映射表之后,在所述上线消息映射表中删除所述第三表项。
[0266] 结合第八方面,在第八方面的第二种可能的实现方式中,所述根据下线时刻映射表为所述第一用户设置一个上线时刻,包括:
[0267] 如果所述下线时刻映射表存在包括的私网IP地址与所述第一私网IP地址相同的第六表项,则为所述第一用户设置的上线时刻满足下述条件:
[0268] onlineTimeA=lastOfflineTime+IPReassignTime;或
[0269] onlineTimeA=lastOfflineTime;
[0270] 如果所述下线时刻映射表不存在所述第六表项,则为所述第一用户设置的上线时刻满足下述条件:
[0271] onlineTimeA=offlineTimeA-IPReassignTime;
[0272] 其中,onlineTimeA表示为所述第一用户设置的上线时刻,lastOfflineTime表示所述第六表项包括的最近一次下线时刻,IPReassignTime表示设置的私网IP地址再分配周期,offlineTimeA表示所述下线消息中携带的下线时刻。
[0273] 结合第八方面的第一种可能的实现方式,在第八方面的第三种可能的实现方式中,所述根据所述下线消息中携带的下线时刻为所述第一用户设置一个上线时刻,包括:
[0274] 为所述第一用户设置的上线时刻满足下述条件;
[0275] onlineTimeA=offlineTimeA-IPReassignTime;
[0276] 其中,onlineTimeA表示为所述第一用户设置的上线时刻;offlineTimeA表示所述下线消息中携带的下线时刻,IPReassignTime表示设置的私网IP地址再分配周期;
[0277] 所述根据所述下线消息中携带的下线时刻和所述第三表项包括的预设下线时刻为所述第二用户设置一个下线时刻,包括:
[0278] 为所述第二用户设置的下线时刻满足下述条件:
[0279] offlineTimeB=min(exOfflineTimeB,offlineTimeA-IPReassignTime);
[0280] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第三表项包括的预设下线时刻。
[0281] 结合第八方面的第一种可能的实现方式,在第八方面的第四种可能的实现方式中,
[0282] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的用户身份标识与所述第一用户身份标识相同的第七表项,则
[0283] 所述处理器,用于生成第八表项添加到所述下线消息映射表中,所述第八表项包括所述下线消息中携带的第一私网IP地址、所述第一用户身份标识和下线时刻,以及所述第七表项包括的上线时刻。
[0284] 结合第八方面的第四种可能的实现方式,在第八方面的第五种可能的实现方式中,
[0285] 如果所述上线消息映射表不存在所述第一表项,则所述处理器还用于:
[0286] 在根据下线时刻映射表为所述第一用户设置一个上线时刻之后,在确定所述下线时刻映射表存在包括的私网IP地址与所述第一私网IP地址相同的第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成第九表项添加到所述下线时刻映射表中,所述第九表项包括所述下线消息中携带的第一私网IP地址和下线时刻;
[0287] 如果所述上线消息映射表存在所述第三表项,则所述处理器还用于:
[0288] 在所述收发器接收第一用户的下线消息之后,在确定所述下线时刻映射表存在所述第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成所述第九表项添加到所述下线时刻映射表中;
[0289] 如果所述上线消息映射表存在所述第七表项,则所述处理器还用于:
[0290] 在所述收发器接收第一用户的下线消息之后,在确定所述下线时刻映射表存在所述第六表项时,将所述第六表项包括的最近一次下线时刻的值,更新为所述下线消息中携带的下线时刻的值;在确定所述下线时刻映射表不存在所述第六表项时,生成所述第九表项添加到所述下线时刻映射表中。
[0291] 结合第八方面和第八方面的第一种至第五种可能的实现方式中的任意一种,在第八方面的第六种可能的实现方式中,
[0292] 所述收发器还用于,接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0293] 如果所述第一溯源请求未携带用户身份标识,则所述处理器还用于:
[0294] 查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求携带的访问时间段的取值范围;
[0295] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第十表项,所述第十表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第十表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第十表项,则指示所述收发器返回所述第十表项和所述第一NAT日志;和/或,
[0296] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表查询第十一表项,所述第十一表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第十一表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第十一表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第十一表项,则指示所述收发器返回所述第十一表项和所述第一NAT日志。
[0297] 结合第八方面和第八方面的第一种至第六种可能的实现方式中的任意一种,在第八方面的第七种可能的实现方式中,
[0298] 所述收发器还用于,接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0299] 如果所述第二溯源请求携带用户身份标识,则所述处理器还用于:
[0300] 在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十二表项;以及查询与所述第十二表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第十二表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第十二表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发器返回所述第十二表项和所述第二NAT日志;和/或,
[0301] 在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十三表项;以及查询与所述第十三表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第十三表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第十三表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第十三表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发器返回所述第十三表项和所述第三NAT日志。
[0302] 第九方面,本发明实施例提供了一种用于溯源的映射表的更新装置,包括:
[0303] 收发器,用于接收AAA服务器发送的第一用户的保活消息,所述保活消息携带第一私网IP地址、第一用户身份标识和保活时刻;所述保活时刻为所述AAA服务器发送所述保活消息的时刻;
[0304] 如果上线消息映射表不存在包括的私网IP地址与所述第一私网IP地址相同的第一表项,所述上线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和预设下线时刻为值,则
[0305] 处理器,用于根据所述保活消息中携带的保活时刻为所述第一用户设置一个上线时刻和一个预设下线时刻;并生成第二表项添加到所述上线消息映射表中,所述第二表项包括为所述第一用户设置的上线时刻和预设下线时刻,以及所述保活消息中携带的所述第一私网IP地址和第一用户身份标识。
[0306] 结合第九方面,在第九方面的第一种可能的实现方式中,
[0307] 如果所述上线消息映射表存在包括的私网IP地址与所述第一私网IP地址相同、且包括的第二用户身份标识与所述第一用户身份标识不同的第三表项,则
[0308] 所述处理器,用于根据保活消息中携带的保活时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,并生成第四表项添加到下线消息映射表中,所述第四表项包括为所述第二用户设置的下线时刻,以及所述第三表项包括的私网IP地址、第二用户身份标识和上线时刻;所述下线消息映射表以私网IP地址为键,以用户身份标识、上线时刻和下线时刻为值;
[0309] 在将所述第四表项添加到所述下线消息映射表之后,在所述上线消息映射表中删除所述第三表项;
[0310] 根据为所述第二用户设置的下线时刻,为所述第一用户设置一个上线时刻;以及根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻;并在删除所述第三表项之后,生成第五表项添加到所述上线消息映射表中,所述第五表项包括为所述第一用户设置的上线时刻和预设下线时刻,以及所述保活消息中携带的所述第一私网IP地址和第一用户身份标识。
[0311] 结合第九方面,在第九方面的第二种可能的实现方式中,所述根据所述保活消息中携带的保活时刻为所述第一用户设置一个上线时刻,包括:
[0312] 为所述第一用户设置的上线时刻满足下述条件:
[0313] onlineTimeA=activeTimeA-updateTime-IPReassignTime;
[0314] 其中,onlineTimeA表示为所述第一用户设置的上线时刻,activeTimeA表示所述保活消息中携带的保活时刻,updateTime表示设置的保活周期,IPReassignTime表示设置的私网IP地址再分配周期;所述保活周期为所述AAA服务器发送保活消息的间隔。
[0315] 结合第九方面的第一种可能的实现方式,在第九方面的第三种可能的实现方式中,所述根据保活消息中携带的保活时刻和所述第三表项包括的预设下线时刻,为所述第二用户身份标识所表征的第二用户设置一个下线时刻,包括:
[0316] 为所述第二用户设置的下线时刻满足下述条件:
[0317] offlineTimeB=min(exOfflineTimeB,ativeTimeA-updateTime-IPReassignTime);
[0318] 其中,offlineTimeB表示为所述第二用户设置的下线时刻,exOfflineTimeB表示所述第三表项包括的预设下线时刻,activeTimeA表示所述保活消息中携带的保活时刻,updateTime为设置的保活周期,IPReassignTime表示设置的私网IP地址再分配周期,所述保活周期为所述AAA服务器发送保活消息的间隔;
[0319] 所述根据为所述第二用户设置的下线时刻,为所述第一用户设置一个上线时刻,包括:
[0320] 为所述第一用户设置的上线时刻满足下述条件:
[0321] onlineTimeA=offlineTimeB;或
[0322] onlineTimeA=offlineTimeB+IPReassignTime;
[0323] 其中,onlineTimeA表示为所述第一用户设置的上线时刻。
[0324] 结合第九方面,在第九方面的第四种可能的实现方式中,
[0325] 如果所述上线消息映射表存在包括的包括的私网IP地址与所述第一私网IP地址相同、且包括的用户身份标识与所述第一用户身份标识相同的第六表项,则[0326] 所述处理器,用于根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻;并将所述第六表项包括的预设下线时刻的值,更新为为所述第一用户设置的预设下线时刻的值。
[0327] 结合第九方面、第九方面的第一种可能的实现方式或第四种可能的实现方式,在第九方面的第五种可能的实现方式中,所述根据所述保活消息中携带的保活时刻为所述第一用户设置一个预设下线时刻,包括:
[0328] 为所述第一用户设置的预设下线时刻满足下述条件:
[0329] exOfflineTimeA=activeTimeA+IPReassignTime;
[0330] 其中,exOfflineTimeA表示为所述第一用户设置的预设下线时刻,activeTimeA表示所述保活消息中携带的保活时刻,IPReassignTime表示设置的私网IP地址再分配周期。
[0331] 结合第九方面的第一种至第五种可能的实现方式中的任意一种,在第九方面的第六种可能的实现方式中,所述处理器还用于:
[0332] 按照设定周期查询所述上线消息映射表是否存在超时表项,所述超时表项包括的预设下线时刻与所述超时表项包括的上线时刻的差值大于设定时长;
[0333] 如果查询到所述超时表项,则将所述超时表项包括的上线时刻与所述设定时长的和值作为所述超时表项包括的用户身份标识所表征的用户的下线时刻,并生成第七表项添加到所述下线消息映射表中,所述第七表项包括得到的下线时刻、以及所述超时表项包括的私网IP地址、用户身份标识和上线时刻;
[0334] 在将所述第七表项添加到所述下线消息映射表之后,将所述超时表项包括的上线时刻的值,更新为所述超时表项包括的上线时刻与所述设定时长的和值。
[0335] 结合第九方面的第一种至第六种可能的实现方式中的任意一种,在第九方面的第七种可能的实现方式中,
[0336] 所述收发器,还用于接收第一溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0337] 如果所述第一溯源请求未携带用户身份标识,则所述处理器还用于:
[0338] 查询与所述第一溯源请求携带的每个字段均匹配的第一NAT日志;所述第一NAT日志包括私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段;所述第一NAT日志包括的除访问时间段之外的其余字段与所述第一溯源请求携带的对应字段的取值相同,且所述第一NAT日志包括的访问时间段的取值范围包含所述第一溯源请求携带的访问时间段的取值范围;
[0339] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述上线消息映射表中查询第八表项,所述第八表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第八表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻;如果查询到所述第八表项,则指示所述收发器返回所述第八表项和所述第一NAT日志;和/或,
[0340] 根据所述第一NAT日志包括的私网IP地址和访问时间段,在所述下线消息映射表中查询第九表项,所述第九表项包括的私网IP地址与所述第一NAT日志包括的私网IP地址相同,且所述第九表项包括的上线时刻早于所述第一NAT日志包括的访问时间段中的开始时刻,且所述第九表项包括的下线时刻晚于所述第一NAT日志包括的访问时间段中的结束时刻;如果查询到所述第九表项,则指示所述收发器返回所述第九表项和所述第一NAT日志。
[0341] 结合第九方面的第一种至第七种可能的实现方式中的任意一种,在第九方面的第八种可能的实现方式中,
[0342] 所述收发器还用于,接收第二溯源请求,所述溯源请求携带用户身份标识、私网IP地址、源公网IP地址、目的IP地址、源公网端口、目的端口和访问时间段中的其中一个字段或至少两个字段的组合;
[0343] 如果所述第二溯源请求携带用户身份标识,则所述处理器还用于:
[0344] 在所述上线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十表项;以及查询与所述第十表项包括的私网IP地址和访问时间段匹配的第二NAT日志,所述第十表项包括的私网IP地址与所述第二NAT日志包括的私网IP地址相同,且所述第十表项包括的上线时刻早于所述第二NAT日志包括的访问时间段中的开始时刻;如果查询到所述第二NAT日志,且所述第二NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发器返回所述第十表项和所述第二NAT日志;和/或,
[0345] 在所述下线消息映射表中查询包括的用户身份标识与所述第二溯源请求携带的用户身份标识相同的第十一表项;以及查询与所述第十一表项包括的私网IP地址和访问时间段匹配的第三NAT日志,所述第十一表项包括的私网IP地址与所述第三NAT日志包括的私网IP地址相同,且所述第十一表项包括的上线时刻早于所述第三NAT日志包括的访问时间段中的开始时刻,且所述第十一表项包括的下线时刻晚于所述第三NAT日志包括的访问时间段中的结束时刻;如果查询到所述第三NAT日志,且所述第三NAT日志与所述第二溯源请求携带的除用户身份标识之外的每个字段均匹配,则指示所述收发器返回所述第十一表项和所述第三NAT日志。
[0346] 利用本发明实施例提供的方案,通过对用户的上下线消息中携带的用户身份标识和NAT日志分开存储,后续溯源时再对NAT日志与用户身份标识进行关联,解决了因日志服务器收到用户的上线消息或下线消息的时间晚于收到该用户的NAT日志,导致的溯源准确率不高的问题;以及,根据AAA服务器发送的上线消息、下线消息和保活消息中的至少一个,结合上线消息映射表,确定是否缺失某用户的上线消息或下线消息,并对确定出的缺失的上线消息或下线消息进行补偿,解决了因接收的上线消息或下线消息缺失,造成的溯源准确率不高的问题。