CN107135085B - 定向流量的统计控制方法、系统 - Google Patents
定向流量的统计控制方法、系统 Download PDFInfo
- Publication number
- CN107135085B CN107135085B CN201710304845.3A CN201710304845A CN107135085B CN 107135085 B CN107135085 B CN 107135085B CN 201710304845 A CN201710304845 A CN 201710304845A CN 107135085 B CN107135085 B CN 107135085B
- Authority
- CN
- China
- Prior art keywords
- client
- agent node
- bill
- flow
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1432—Metric aspects
- H04L12/1435—Metric aspects volume-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
Abstract
本发明公开了一种定向流量的统计控制方法、系统,属于网络数据流量的统计控制技术领域。其中,该方法包括如下步骤:调度中心分配代理节点至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点;所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问;所述代理节点根据代理访问产生的流量更新所述票据,并根据更新后的所述票据对所述客户端进行流量控制,以及将更新后的所述票据提交至所述调度中心。本发明通过将包含有客户端信息实体的票据直接加载至客户端访问请求中,进而将定向流量代理节点的持久存储简化为内存级别的临时存储,简化了系统架构。
Description
技术领域
本发明涉及网络数据流量的统计控制技术领域,尤其涉及一种定向流量的统计控制方法、系统。
背景技术
基于内容分发网络(Content Delivery Network,CDN)的定向流量系统,是指CDN服务提供商向多家运营商(例如移动、电信、联通)采购定向流量,以代理的角色向内容提供商(例如移动终端上的APP生产者)提供全网统一的定向流量服务时所使用的系统,该系统通常基于传统的CDN系统进行改造。CDN服务商将一部分CDN代理节点的IP(InternetProtocol,网络协议)地址向运营商报备注册成为定向流量代理节点,内容提供商的APP发送的访问请求通过引导方式转发到这些定向流量代理节点,定向流量代理节点进行代理访问,在代理访问过程中所产生的流量即是定向流量。
在现有的定向流量系统中,客户端APP首先向调度中心验证鉴权,待鉴权通过后,拉取令牌(token)作为客户端APP的身份信息,客户端APP将携带令牌的访问请求转发到代理节点进行代理访问,代理节点根据请求中携带的令牌,从代理节点的节点数据库中查询该令牌对应的信息实体,例如流量限额、已用流量等。如果该令牌有效,并且剩余流量额度未用完,代理节点转发该访问请求至源站进行代理访问;如果该令牌无效或者流量额度已用完,则拒绝该访问请求。同时,在代理访问过程中,代理节点进行流量统计,并将已用流量更新至节点数据库,该节点数据库持久化在磁盘中,因此当代理节点故障或重启后,节点数据库中的数据仍然存在,为了保证客户端流量信息的实时性,节点数据库定期同步数据至中央数据库,以便在调度中心鉴权时判断流量额度情况。
然而,在传统的CDN架构中,代理节点的请求是无状态的,请求之间互不关联,代理节点也无需存储用户状态,当修改为定向流量系统后,代理节点的请求变为有状态,并开始依赖外部存储(例如节点数据库)保存用户信息,在代理节点转发请求时增加了用户信息的读写步骤,导致磁盘IO负载、等待时间都大幅提升,同时还需要额外增加数据同步方面的功能,逻辑也更加复杂,进而,带来总的负载能力大幅下降,可扩展性、可靠性显著降低的问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种定向流量的统计控制方法、系统。所述技术方案如下:
一方面,提供了一种定向流量的统计控制方法,包括如下步骤:
调度中心分配代理节点至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点;
所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问;
所述代理节点根据代理访问产生的流量更新所述票据,并根据更新后的所述票据对所述客户端进行流量控制,以及将更新后的所述票据提交至所述调度中心。
进一步的,所述客户端信息实体至少包括以下之一:当前时间戳、代理节点IP、用户令牌、票据版本号、流量限额、已用流量。
进一步的,所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问的步骤具体为:
所述代理节点根据所述票据分配代理服务实例进程至所述客户端,所述代理服务实例进程根据所述访问请求对客户端进行代理访问,其中,所述客户端唯一对应所述代理服务实例进程。
进一步的,所述代理节点根据更新后的所述票据对所述客户端进行流量控制的步骤具体为:
所述代理服务实例进程实时监控所述流量限额和所述已用流量,当所述已用流量大于等于所述流量限额时,所述代理服务实例进程停止代理访问,并发送重新鉴权的错误码至所述客户端。
进一步的,所述代理节点将更新后的所述票据提交至所述调度中心的步骤具体包括:
所述代理服务实例进程根据更新后的所述票据生成日志文件;
所述代理服务实例进程定期将所述日志文件提交至所述代理节点,或者所述代理服务实例进程重启之前将所述日志文件提交至所述代理节点;
所述代理节点定期将所述代理服务实例进程提交的所述日志文件更新至所述调度中心,或者所述代理节点重启之前将所述代理服务实例进程提交的所述日志文件更新至所述调度中心。
进一步的,所述代理节点根据所述访问请求进行代理访问的步骤之前,还包括所述代理节点根据所述票据生成的判断策略,判断所述访问请求的有效性的步骤;
其中,所述判断策略至少包括:
所述当前时间戳大于等于所述代理服务实例进程的启动时间,则所述访问请求有效,进行代理访问;
所述当前时间戳小于所述代理服务实例进程的启动时间,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端;
所述代理节点IP等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求有效,进行代理访问;
所述代理节点IP不等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端。
另一方面,提供了一种定向流量的统计控制系统,包括调度中心和代理节点,所述调度中心包括鉴权模块,所述代理节点包括代理模块、更新模块和控制模块,其中:
所述鉴权模块,用于分配代理节点至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点;
所述代理模块,用于接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问;
所述更新模块,用于根据代理访问产生的流量更新所述票据,以及将更新后的所述票据提交至所述调度中心;
所述控制模块,用于根据更新后的所述票据对所述客户端进行流量控制。
进一步的,所述客户端信息实体至少包括以下之一:当前时间戳、代理节点IP、用户令牌、票据版本号、流量限额、已用流量。
进一步的,所述代理模块还用于根据所述票据分配代理服务实例进程至所述客户端,其中,所述代理服务实例进程根据所述访问请求对客户端进行代理访问,所述客户端唯一对应所述代理服务实例进程。
进一步的,所述控制模块还用于控制所述代理服务实例进程实时监控所述流量限额和所述已用流量,并当所述已用流量大于等于所述流量限额时,控制所述代理服务实例进程停止代理访问,并发送重新鉴权的错误码至所述客户端。
进一步的,所述更新模块还用于:
将所述代理服务实例进程代理访问产生的流量更新至所述票据,并根据更新后的所述票据生成日志文件;
将所述代理服务实例进程生成的所述日志文件定期提交至所述代理节点,或者待所述代理服务实例进程重启之前将所述日志文件提交至所述代理节点;
将提交至所述代理节点的所述日志文件定期更新至所述调度中心,或者待所述代理节点重启之前将提交至所述代理节点的所述日志文件更新至所述调度中心。
进一步的,所述代理节点还包括判断模块,用于根据所述票据生成的判断策略,判断所述访问请求的有效性;
其中,所述判断策略至少包括:
所述当前时间戳大于等于所述代理服务实例进程的启动时间,则所述访问请求有效,进行代理访问;
所述当前时间戳小于代理服务实例进程的启动时间,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端;
所述代理节点IP等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求有效,进行代理访问;
所述代理节点IP不等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端。
本发明实施例提供的技术方案带来的有益效果是:
通过将包含有客户端信息实体的票据直接加载至客户端访问请求中,代理节点直接从访问请求中获取客户端的信息实体,无需从节点数据库查询获取,同时,通过对票据的实时更新以及票据与调度中心的及时同步,保证了客户端流量信息的准确性,即使代理节点重启也不影响流量的精确统计和控制,进而将定向流量代理节点的持久化存储简化为内存级别的临时存储,大幅简化了系统架构,提升了负载能力、可扩展性。并且增加对客户端访问请求的判断过程以及对票据信息的加密过程,进一步提高了可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种定向流量的统计控制方法流程图;
图2是本发明实施例一提供的票据同步步骤的详细子步骤流程图;
图3是本发明实施例二提供的一种定向流量的统计控制系统示意图;
图4是本发明实施例二提供的另一种定向流量的统计控制系统示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种定向流量的统计控制方法,参见图1,包括如下步骤:
S101:调度中心分配代理节点至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点。
在本实施例中,上述客户端指的是,运行在移动终端上的客户端APP,例如优酷视频APP、腾讯视频APP,移动终端包括但不限于手机、平板电脑。
在本实施例中,实施本步骤之前还包括客户端向调度中心验证鉴权的步骤,调度中心根据客户端鉴权请求中的信息,从调度中心的中央数据库中查询该客户端的信息实体,例如用户令牌、流量限额以及已用流量,如果该用户令牌合法,且已用流量未超过其流量限额,则通过鉴权,否则鉴权失败,拒绝该用户访问。
在本实施例中,调度中心对通过鉴权的客户端,从所有的代理节点中,选择一个与客户端处于同一运营商网络,且地理位置最近的一个代理节点,分配至该通过鉴权的客户端。同时,通过算法保证该客户端唯一对应分配至该客户端的代理节点,所述唯一对应,是指该客户端每次访问时,调度中心均分配同一个代理节点,例如根据一致性哈希规则算法,保证每次分配至该客户端的代理节点为同一代理节点,避免每次分配至该客户端的代理节点不同,引起信息同步不及时而带来流量统计错误的问题。
在本实施例中,调度中心对通过鉴权的客户端,还会生成一个票据(ticket),并发送至通过鉴权的客户端,该票据包含有客户端信息实体。
在本实施例中,所述客户端信息实体至少包括以下之一:当前时间戳、代理节点IP、用户令牌、票据版本号、流量限额、已用流量。
具体而言,当前时间戳表示该票据的生成时间,例如当前时间戳为2017.2.14.09.31.52,表示票据生成时间为2017年2月14日上午9点31分52秒。代理节点IP为调度中心根据一致性哈希规则分配的代理节点的IP地址。用户令牌为标识该用户的标识符,并且用户令牌具有唯一性,即不同用户以及不同应用的令牌都不相同。流量限额为该用户订购的定向流量总和,已用流量为该用户消耗的流量总和。
对于票据版本号,由于用户访问会动态产生流量,以及用户流量限额随需求会发生变化,因而票据需要及时更新,票据版本号用以标识该票据的不同版本,例如,新用户的票据版本号从0开始,每当该用户流量限额发生变化,则版本号递增1。
为了提升用户体验,每次鉴权获取的票据可以反复使用,直到产生特定行为触发重新鉴权为止。例如用户流量超限时,需要重新向调度中心发起鉴权更新票据,或者用户在客户端重新登录时,也会重新向调度中心发起鉴权更新票据。
S102:所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问。
在本实施例中,客户端使用定向流量上网时,通过将访问请求转发至调度中心所分配的代理节点,并且在访问请求中携带票据,代理节点根据票据中提供的用户信息进行后续代理操作,进而省略了代理节点向节点数据库查询用户信息实体的步骤。
在本实施例中,所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问的步骤具体为,所述代理节点根据所述票据分配代理服务实例进程至所述客户端,所述代理服务实例进程根据所述访问请求对客户端进行代理访问,其中,所述客户端唯一对应所述代理服务实例进程。
具体而言,代理节点在收到客户端的访问请求后,分配具体的代理服务实例进程,该代理服务实例进程将根据所述访问请求进行代理访问,并通过算法保证该客户端访问请求唯一对应响应该请求的代理服务实例进程,例如对票据中的用户令牌做一致性哈希,保证每次分配给该客户端的代理服务实例进程均为同一代理服务实例进程,该代理服务实例进程根据客户端的访问请求,转发该访问请求至源站,进行代理访问。
在本实施例中,通过将包含有客户端信息实体的票据直接加载至客户端访问请求中,代理节点直接从访问请求中获取客户端的信息实体,无需从节点数据库查询获取,进而能够去掉节点数据库,将持久化存储简化为内存级别的临时存储,因而代理节点只在内存中临时保存访问流量的相关信息。代理服务实例进程在进行代理访问之前,会检查内存中是否存在该票据,如果不存在,则将该票据保存到内存中;如果已存在,则检查票据版本号是否大于当前内存中保存的票据版本号,若大于,则更新票据,将票据最新版本号和流量限额信息更新至票据,若不大于,则不做处理。
S103:所述代理节点根据代理访问产生的流量更新所述票据,并根据更新后的所述票据对所述客户端进行流量控制,以及将更新后的所述票据提交至所述调度中心。
在本实施例中,票据信息不是一成不变的,例如票据信息中的已用流量会随着访问过程中产生的流量实时更新,保证票据信息的实时性。
在本实施例中,所述代理节点根据更新后的所述票据对所述客户端进行流量控制的步骤具体为,所述代理服务实例进程实时监控所述流量限额和所述已用流量,当所述已用流量大于等于所述流量限额时,所述代理服务实例进程停止代理访问,并发送重新鉴权的错误码至所述客户端。
在本实施例中,代理服务实例进程将访问请求与票据进行关联标记,同时计算访问过程中用户产生的流量,并将流量信息在票据的已用流量中进行更新。当代理访问过程中,当发现已用流量超过流量限额时代理服务实例进程中断该代理访问,并发送重新鉴权的错误码至所述客户端。
参见图2,图2示出了票据信息同步至调度中心的具体步骤,在本实施例中,所述代理节点将更新后的所述票据提交至所述调度中心的步骤具体包括S201-S203三个子步骤。
S201:所述代理服务实例进程根据更新后的所述票据生成日志文件。
具体而言,代理服务实例进程根据代理访问的连接或者请求粒度计算访问产生的流量,并在票据中进行更新,同时落地生成日志文件,该日志文件中记载有本次代理访问的相关信息,包括票据信息,及票据更新信息等。
S202:所述代理服务实例进程定期将所述日志文件提交至所述代理节点,或者所述代理服务实例进程重启之前将所述日志文件提交至所述代理节点。
具体而言,为了保障信息实体的一致性,解决同步和重启恢复方面的问题,代理服务实例进程不仅需要定期将该代理服务实例进程的日志文件提交至上级代理节点,例如代理服务实例进程每五分钟将将该代理服务实例进程的日志文件提交至上级代理节点;还需要在该代理服务实例进程重启之前提交该日志文件。
需要注意的是,上述将日志文件提交的目的是为了保证客户端访问过程中流量统计和控制的准确性,因而代理服务实例进程定期提交的时间间隔需要在一个合理的范围内进行选取,该时间间隔过短会消耗过多的系统资源,过久会降低流量统计控制的准确性,例如在五分钟至一小时内进行时间间隔选取,当然还可以根据实际需要选取其他范围,在此不做限定。
进一步的,代理服务实例进程在进行代理访问过程时,发现客户端已用流量超出流量限额时,此时,代理服务实例进程提交该客户端的日志文件至代理节点,代理节点再将该日志文件提交至调度中心的中央数据库,保证用户流量信息的一致性,便于客户端再次鉴权时,调度中心对客户端进行鉴权。
S203:所述代理节点定期将所述代理服务实例进程提交的所述日志文件更新至所述调度中心,或者所述代理节点重启之前将所述代理服务实例进程提交的所述日志文件更新至所述调度中心。
具体而言,待代理节点下属的各个代理服务实例进程的日志文件统一提交完成后,代理节点实时将这些代理服务实例进程提交的所有日志文件提交至调度中心的中央数据库,同时,代理节点重启之前,也需要提交其所有的日志文件至中央数据库,进而保证用户流量信息的一致性,便于调度中心鉴权。
需要说明的是,当调度中心接收到客户端重新鉴权的请求时,调度中心将根据中央数据库中该客户端的最新日志文件,对该客户端对应的票据信息进行更新,例如已用流量、票据版本号等信息,同时根据客户端鉴权请求中的有效的变更流量限额请求,对流量限额进行更新,并发送更新后的票据至所述客户端。
通过对票据的实时更新以及票据与调度中心的及时同步,保证了客户端流量信息的准确性,即使代理节点重启也不影响流量的精确统计和控制,进而将定向流量代理节点的持久化存储,例如节点数据库,简化为内存级别的临时存储,例如票据,进而大幅简化了系统架构,提升了负载能力、可扩展性。
在本实施例中,还包括所述调度中心对所述票据加密的步骤,以及所述代理节点对所述票据解密的步骤。
具体而言,调度中心采用的加密算法和代理节点采用的解密算法不做限定,例如可以是高级加密标准(Advanced Encryption Standard,AES)、公钥加密算法(RSA)、RC4等加解密算法。
需要注意的是,上述调度中心的加密只有调度中心分配的代理节点才能进行解密,并且调度中心还可以对不同的代理节点采取不同的加密算法,例如调度中心和代理节点A之间,采用AES算法,调度中心和代理节点B之间,采用RSA算法。
通过上述加密方式,能够确保票据即使被截获,也无法获取票据内的实体明文,进而防止定向流量盗用,进一步提供了系统的可靠性。
在本实施例中,所述代理节点根据所述访问请求进行代理访问的步骤之前,还包括所述代理节点根据所述票据生成的判断策略,判断所述访问请求的有效性的步骤。
具体而言,所述判断策略至少包括:
所述当前时间戳大于等于所述代理服务实例进程的启动时间,则所述访问请求有效,进行代理访问。制定本项策略能够避免票据过时后再次利用的问题,例如代理服务实例进程重启之前,代理服务实例进程将保存的记录有用户信息的日志文件上传至代理节点,进而上传至中央数据库进行用户流量信息更新,提升调度中心对用户鉴权的准确性,同时,由于重启后的代理服务实例进程不再保存有用户信息,如果客户端使用过时的票据,也就是使用更新前的票据,此时,票据中的流量信息不是最新的流量信息,进而会引起流量统计不准确的问题。通过校验时间戳,能够确保票据是在代理服务实例进程重启后生成的,进而保证票据中的流量信息是最新生成的。
所述当前时间戳小于所述代理服务实例进程的启动时间,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端;本项策略表明票据已过时,需要客户端重新发起鉴权,获取最新的票据。
所述代理节点IP等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求有效,进行代理访问;本项策略能够有效应对恶意攻击,防止恶意攻击者将截获到的分配给其他代理节点的票据,在不正确的代理节点使用。
所述代理节点IP不等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端。
为了便于维护人员调试系统时,准确判断错误原因,上述重新鉴权的错误码具有不同的内容,例如301表示当前时间戳验证失败,302表示代理节点IP错误。
需要注意的是,上述判断策略只是本实施例中代理节点根据票据判断访问请求有效性的一种具体实施方式,不作为对其他实施方式的限定。
通过对客户端的访问请求进行上述判断,能够有效防止定向流量盗用,并提升流量统计的准确性,进一步提高了定向流量系统的可靠性。
实施例二
参见图3,本发明实施例提供了一种定向流量的统计控制系统,可以执行实施例一中提供的定向流量的统计控制方法,所述系统包括调度中心30和代理节点40,所述调度中心30包括鉴权模块310,所述代理节点40包括代理模块410、更新模块420和控制模块430,其中:
所述鉴权模块310,用于分配代理节点40至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点40;
所述代理模块410,用于接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问;
所述更新模块420,用于根据代理访问产生的流量更新所述票据,以及将更新后的所述票据提交至所述调度中心30;
所述控制模块430,用于根据更新后的所述票据对所述客户端进行流量控制。
在本实施例中,上述客户端指的是,运行在移动终端上的客户端APP,例如优酷视频APP、腾讯视频APP,移动终端包括但不限于手机、平板电脑。
具体而言,鉴权模块310根据客户端鉴权请求中的信息,从调度中心30的中央数据库中查询该客户端的信息实体,例如用户令牌、流量限额以及已用流量,如果该用户令牌合法,且已用流量未超过其流量限额,则通过鉴权,否则鉴权失败,拒绝该用户访问。
进一步的,鉴权模块310对通过鉴权的客户端,从所有的代理节点40中,选择一个与客户端处于同一运营商网络,且地理位置最近的一个代理节点40,分配至该通过鉴权的客户端。同时,通过算法保证该客户端唯一对应分配至该客户端的代理节点40,所述唯一对应,是指该客户端每次访问时,鉴权模块310均分配同一个代理节点40,例如根据一致性哈希规则算法,保证每次分配至该客户端的代理节点40为同一代理节点40,避免每次分配至该客户端的代理节点40不同,引起信息同步不及时而带来流量统计错误的问题。
在本实施例中,鉴权模块310对通过鉴权的客户端,还会生成一个票据,并发送至通过鉴权的客户端,该票据包含有客户端信息实体。
在本实施例中,所述客户端信息实体至少包括以下之一:当前时间戳、代理节点IP、用户令牌、票据版本号、流量限额、已用流量。
为了提升用户体验,每次鉴权获取的票据可以反复使用,直到产生特定行为触发重新鉴权为止。例如用户流量超限时,需要重新向调度中心30发起鉴权更新票据,或者用户在客户端重新登录时,也会重新向调度中心30发起鉴权更新票据。
在本实施例中,所述代理模块410还用于根据所述票据分配代理服务实例进程至所述客户端,其中,所述代理服务实例进程根据所述访问请求对客户端进行代理访问,所述客户端唯一对应所述代理服务实例进程。
在本实施例中,所述控制模块430还用于控制所述代理服务实例进程实时监控所述流量限额和所述已用流量,并当所述已用流量大于等于所述流量限额时,控制所述代理服务实例进程停止代理访问,并发送重新鉴权的错误码至所述客户端。
具体而言,代理服务实例进程将访问请求与票据进行关联标记,同时计算访问过程中用户产生的流量,并将流量信息在票据的已用流量中进行更新。当代理访问过程中,当发现已用流量超过流量限额时代理服务实例进程中断该代理访问,并发送重新鉴权的错误码至所述客户端
在本实施例中,所述更新模块420还用于:
将所述代理服务实例进程代理访问产生的流量更新至所述票据,并根据更新后的所述票据生成日志文件;
将所述代理服务实例进程生成的所述日志文件定期提交至所述代理节点40,或者待所述代理服务实例进程重启之前将所述日志文件提交至所述代理节点40;
将提交至所述代理节点40的所述日志文件定期更新至所述调度中心30,或者待所述代理节点40重启之前将提交至所述代理节点40的所述日志文件更新至所述调度中心30。
需要说明的是,当调度中心30的鉴权模块310接收到客户端重新鉴权的请求时,鉴权模块310将根据中央数据库中该客户端的最新日志文件,对该客户端对应的票据信息进行更新,例如已用流量、票据版本号等信息,同时根据客户端鉴权请求中的有效的变更流量限额请求,对流量限额进行更新,并发送更新后的票据至所述客户端。
通过对票据的实时更新以及票据与调度中心30的及时同步,保证了客户端流量信息的准确性,即使代理节点40重启也不影响流量的精确统计和控制,进而将定向流量代理节点40的持久化存储,例如节点数据库,简化为内存级别的临时存储,例如票据,进而大幅简化了系统架构,提升了负载能力、可扩展性。
参见图4,在本实施例中,所述代理节点40还包括判断模块440,用于根据所述票据生成的判断策略,判断所述访问请求的有效性;
其中,所述判断策略至少包括:
所述当前时间戳大于等于所述代理服务实例进程的启动时间,则所述访问请求有效,进行代理访问;
所述当前时间戳小于代理服务实例进程的启动时间,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端;
所述代理节点IP等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求有效,进行代理访问;
所述代理节点IP不等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端。
需要注意的是,上述判断策略只是本实施例中判断模块440根据票据判断访问请求有效性的一种具体实施方式,不作为对其他实施方式的限定。
通过对客户端的访问请求进行上述判断,能够有效防止定向流量盗用,并提升流量统计的准确性,进一步提高了定向流量系统的可靠性。
在本实施例中,所述调度中心30还包括加密模块,用于对所述票据加密;所述代理节点40还包括解密模块,用于对所述票据解密。
具体而言,加密模块采用的加密算法和解密模块采用的解密算法不做限定,并且上述加密过程只有调度中心30分配的代理节点40才能进行解密,并且调度中心30还可以对不同的代理节点40采取不同的加密算法。
通过上述加密方式,能够确保票据即使被截获,也无法获取票据内的实体明文,进而防止定向流量盗用,进一步提供了系统的可靠性。
需要说明的是,所述代理节点40还可以同时包括判断模块440和解密模块,进一步提高系统的可靠性。
本发明实施例通过将包含有客户端信息实体的票据直接加载至客户端访问请求中,代理节点直接从访问请求中获取客户端的信息实体,无需从节点数据库查询获取,同时,通过对票据的实时更新以及票据与调度中心的及时同步,保证了客户端流量信息的准确性,即使代理节点重启也不影响流量的精确统计和控制,进而将定向流量代理节点的持久化存储简化为内存级别的临时存储,大幅简化了系统架构,提升了负载能力、可扩展性。并且增加对客户端访问请求的判断过程以及对票据信息的加密过程,进一步提高了可靠性。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种定向流量的统计控制方法,其特征在于,包括如下步骤:
调度中心分配代理节点至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点,所述客户端信息实体至少包括流量限额和已用流量;
所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问;
所述代理节点根据代理访问产生的流量更新所述票据,并根据更新后的所述票据对所述客户端进行流量控制,以及将更新后的所述票据提交至所述调度中心。
2.根据权利要求1所述的定向流量的统计控制方法,其特征在于,所述客户端信息实体至少还包括以下之一:当前时间戳、代理节点IP、用户令牌、票据版本号。
3.根据权利要求2所述的定向流量的统计控制方法,其特征在于,所述代理节点接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问的步骤具体为:
所述代理节点根据所述票据分配代理服务实例进程至所述客户端,所述代理服务实例进程根据所述访问请求对客户端进行代理访问,其中,所述客户端唯一对应所述代理服务实例进程。
4.根据权利要求3所述的定向流量的统计控制方法,其特征在于,所述代理节点根据更新后的所述票据对所述客户端进行流量控制的步骤具体为:
所述代理服务实例进程实时监控所述流量限额和所述已用流量,当所述已用流量大于等于所述流量限额时,所述代理服务实例进程停止代理访问,并发送重新鉴权的错误码至所述客户端。
5.根据权利要求4所述的定向流量的统计控制方法,其特征在于,所述代理节点将更新后的所述票据提交至所述调度中心的步骤具体包括:
所述代理服务实例进程根据更新后的所述票据生成日志文件;
所述代理服务实例进程定期将所述日志文件提交至所述代理节点,或者所述代理服务实例进程重启之前将所述日志文件提交至所述代理节点;
所述代理节点定期将所述代理服务实例进程提交的所述日志文件更新至所述调度中心,或者所述代理节点重启之前将所述代理服务实例进程提交的所述日志文件更新至所述调度中心。
6.根据权利要求5所述的定向流量的统计控制方法,其特征在于,所述代理节点根据所述访问请求进行代理访问的步骤之前,还包括所述代理节点根据所述票据生成的判断策略,判断所述访问请求的有效性的步骤;
其中,所述判断策略至少包括:
所述当前时间戳大于等于所述代理服务实例进程的启动时间,则所述访问请求有效,进行代理访问;
所述当前时间戳小于所述代理服务实例进程的启动时间,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端;
所述代理节点IP等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求有效,进行代理访问;
所述代理节点IP不等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端。
7.一种定向流量的统计控制系统,包括调度中心和代理节点,其特征在于,所述调度中心包括鉴权模块,所述代理节点包括代理模块、更新模块和控制模块,其中:
所述鉴权模块,用于分配代理节点至通过鉴权的客户端,并将包含有客户端信息实体的票据发送至所述客户端,其中,所述客户端唯一对应所述代理节点,所述客户端信息实体至少包括流量限额和已用流量;
所述代理模块,用于接收所述客户端的包括所述票据的访问请求,并根据所述访问请求进行代理访问;
所述更新模块,用于根据代理访问产生的流量更新所述票据,以及将更新后的所述票据提交至所述调度中心;
所述控制模块,用于根据更新后的所述票据对所述客户端进行流量控制。
8.根据权利要求7所述的定向流量的统计控制系统,其特征在于,所述客户端信息实体至少还包括以下之一:当前时间戳、代理节点IP、用户令牌、票据版本号。
9.根据权利要求8所述的定向流量的统计控制系统,其特征在于,所述代理模块还用于根据所述票据分配代理服务实例进程至所述客户端,其中,所述代理服务实例进程根据所述访问请求对客户端进行代理访问,所述客户端唯一对应所述代理服务实例进程。
10.根据权利要求9所述的定向流量的统计控制系统,其特征在于,所述控制模块还用于控制所述代理服务实例进程实时监控所述流量限额和所述已用流量,并当所述已用流量大于等于所述流量限额时,控制所述代理服务实例进程停止代理访问,并发送重新鉴权的错误码至所述客户端。
11.根据权利要求10所述的定向流量的统计控制系统,其特征在于,所述更新模块还用于:
将所述代理服务实例进程代理访问产生的流量更新至所述票据,并根据更新后的所述票据生成日志文件;
将所述代理服务实例进程生成的所述日志文件定期提交至所述代理节点,或者待所述代理服务实例进程重启之前将所述日志文件提交至所述代理节点;
将提交至所述代理节点的所述日志文件定期更新至所述调度中心,或者待所述代理节点重启之前将提交至所述代理节点的所述日志文件更新至所述调度中心。
12.根据权利要求11所述的定向流量的统计控制系统,其特征在于:
所述代理节点还包括判断模块,用于根据所述票据生成的判断策略,判断所述访问请求的有效性;
其中,所述判断策略至少包括:
所述当前时间戳大于等于所述代理服务实例进程的启动时间,则所述访问请求有效,进行代理访问;
所述当前时间戳小于代理服务实例进程的启动时间,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端;
所述代理节点IP等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求有效,进行代理访问;
所述代理节点IP不等于接收所述客户端访问请求的实际代理节点IP,则所述访问请求无效,拒绝代理访问,并发送重新鉴权的错误码至所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710304845.3A CN107135085B (zh) | 2017-05-03 | 2017-05-03 | 定向流量的统计控制方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710304845.3A CN107135085B (zh) | 2017-05-03 | 2017-05-03 | 定向流量的统计控制方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107135085A CN107135085A (zh) | 2017-09-05 |
CN107135085B true CN107135085B (zh) | 2019-08-27 |
Family
ID=59715785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710304845.3A Expired - Fee Related CN107135085B (zh) | 2017-05-03 | 2017-05-03 | 定向流量的统计控制方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107135085B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108319704B (zh) * | 2018-02-05 | 2020-11-06 | 北京中关村科金技术有限公司 | 一种分析数据的方法、装置、设备及存储介质 |
CN108880934B (zh) * | 2018-06-04 | 2020-11-27 | 网宿科技股份有限公司 | 一种基于区块链的数据流量统计方法和装置 |
CN109510775A (zh) * | 2018-11-12 | 2019-03-22 | 网宿科技股份有限公司 | 定向流量的调度方法、鉴权装置、网络设备及存储介质 |
CN109582585A (zh) * | 2018-12-18 | 2019-04-05 | 网宿科技股份有限公司 | 一种检测应用流量泄漏的方法和装置 |
CN110769395B (zh) * | 2019-10-30 | 2022-07-22 | 北京达佳互联信息技术有限公司 | 免流量服务同步方法及装置 |
CN114666841A (zh) * | 2020-12-22 | 2022-06-24 | 中国联合网络通信集团有限公司 | 一种定向流量的免流方法及免流系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347844A (zh) * | 2011-11-01 | 2012-02-08 | 苏州泽佑科技有限公司 | 流量计费3g网络系统缴费控制方法 |
CN105101145A (zh) * | 2015-06-30 | 2015-11-25 | 北京奇虎科技有限公司 | 一种代付流量的方法 |
CN105141636A (zh) * | 2015-09-24 | 2015-12-09 | 网宿科技股份有限公司 | 适用于cdn增值业务平台的http安全通信方法及系统 |
-
2017
- 2017-05-03 CN CN201710304845.3A patent/CN107135085B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347844A (zh) * | 2011-11-01 | 2012-02-08 | 苏州泽佑科技有限公司 | 流量计费3g网络系统缴费控制方法 |
CN105101145A (zh) * | 2015-06-30 | 2015-11-25 | 北京奇虎科技有限公司 | 一种代付流量的方法 |
CN105141636A (zh) * | 2015-09-24 | 2015-12-09 | 网宿科技股份有限公司 | 适用于cdn增值业务平台的http安全通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107135085A (zh) | 2017-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107135085B (zh) | 定向流量的统计控制方法、系统 | |
US10700851B2 (en) | System and method for implementing a resolver service for decentralized identifiers | |
CN111066020B (zh) | 用于创建去中心化标识的系统和方法 | |
US10992649B2 (en) | Systems and methods for privacy in distributed ledger transactions | |
US20200145223A1 (en) | System and method for blockchain-based notification | |
CN109819061B (zh) | 一种在云系统中处理云服务的方法、装置和设备 | |
US9608814B2 (en) | System and method for centralized key distribution | |
US9548859B2 (en) | Ticket-based implementation of content leasing | |
CN109683936B (zh) | 灰度发布方法及装置、存储介质及电子设备 | |
US9021264B2 (en) | Method and system for cloud based storage | |
US8621220B2 (en) | Systems and methods for identity encapsulated cryptography | |
US9003189B2 (en) | Trusted third party client authentication | |
US20140025581A1 (en) | Mobile transactions using authorized tokens | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
CN102870093A (zh) | 利用虚拟化和证明来远程维护电子网络中多个客户端的系统和方法 | |
US11841960B1 (en) | Systems and processes for providing secure client controlled and managed exchange of data between parties | |
CN114500119B (zh) | 区块链服务的调用方法和装置 | |
US20100222022A1 (en) | Communication method, communication system and access method to service provider base | |
CN112994882B (zh) | 基于区块链的鉴权方法、装置、介质及设备 | |
CN114679473A (zh) | 基于分布式数字身份的金融账户治理系统及方法 | |
CN112528239A (zh) | 软件自动授权的方法和装置 | |
US11386080B2 (en) | Transaction processing failover | |
KR20230133098A (ko) | 인증 기관과 독립적으로 인증서 내의 인증 정보를 관리하기 위한 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190827 |
|
CF01 | Termination of patent right due to non-payment of annual fee |