具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种业务接入速率的控制方法,包括:
步骤11、业务节点接收业务请求消息。
其中业务请求消息用于调用通信业务。该消息可以是终端发送的短信下发能力调用消息,彩信下发能力调用消息等电信能力调用消息。
步骤12、所述业务节点检测收到的业务请求消息的数量是否达到上报预设值。
其中,在此步骤的具体实例中,可设置一个可配置的数量配置区间[1,n],其中n为大于等于1的整数,n即为所述上报预设值。在设置了所述数量配置区间后,可检测收到的业务请求消息的数量是否达到所述数量配置区间的上限值。
对于步骤12,n的值可以根据需要进行设置,以实现控制精度和系统性能的平衡。例如,如果将n的值调大,那么系统性能将会提高,但是控制精度会降低。如果将n的值调小,那么控制精度将会提高,但是系统性能会降低。因此,结合对控制精度或者系统性能的需求,当需要提高系统性能或者降低控制精度时,应当将n的值调大;当需要降低系统性能或者提高控制精度时,应当将n的值调小。
例如假设n分别为1000和1。当n等于1000时,也即业务节点检测收到的业务请求消息的数量等于1000时,才会向中心节点发送速率调节请求消息,请求计算业务接入速率。当n等于1时,也即业务节点一收到业务请求消息,就会向中心节点发送速率调节请求消息,请求计算业务接入速率。两种情况相比,前者的系统性能高,但是控制精度低,后者的控制精度高,但是系统性能低。
步骤13、当达到所述上报预设值时,所述业务节点向中心节点发送速率调节请求消息,以便于所述中心节点对业务接入速率进行调节。
步骤14、中心节点接收业务节点的速率调节请求消息。
其中,所述速率调节请求消息用于表示业务节点请求中心节点对业务接入速率进行调节,它是在所述业务节点收到的业务请求消息的数量达到上报预设值时发送的。
在所述速率调节请求消息中可包括有:业务标识,最大消息条数,新增消息条数以及当前时间信息。其中,所述最大消息条数指的是在中心节点的某个统计周期内某个业务节点能接收的最多的消息条数;新增消息条数指的是在该统计周期内该业务节点新接收的消息的条数。或者,另一个实例中,速率调节请求消息中包括有:业务标识,最大业务接入速率,新增消息条数以及当前时间信息。
此外,为了使得对接入速率的控制更准确,所述速率调节请求消息中还可包括第二时间控制策略。所述第二时间控制策略用于表示某个业务节点期望中心节点统计多长时间内有关该节点的数据,例如1小时内的,1分钟内的,等等。也就是说,中心节点的统计周期可以是根据业务节点的时间控制策略设置的。
步骤15、所述中心节点根据所述速率调节请求消息对业务接入速率进行调节。
具体的,包括:如果速率调节请求消息中包含的业务的第二时间控制策略和现有的时间控制策略不同,所述中心节点根据速率调节请求消息中的第二时间控制策略更新在所述中心节点保存的所述业务的第一时间控制策略。该中心节点可根据变化后的时间控制策略,获取下一个统计周期,并相应的更新该业务的统计周期数据。
例如,如果业务节点的时间控制策略由当前的一小时变成了两小时,那么,所述中心节点将利用接收到所述业务请求消息的时间点A1加上两小时,得到时间点A2,然后将A1和A2之间的时间段作为下一个统计周期,并对应更新该业务的统计周期。
如果速率调节请求消息中不包含第二时间控制策略,或者包含的业务的第二时间控制策略和现有的时间控制策略相同,或者,在更新在所述中心节点保存的所述业务的时间控制策略之后,可以进行如下业务接入速率控制处理过程。
第一种业务接入速率控制处理过程:所述速率调节请求消息中可包括有:业务标识,最大消息条数,新增消息条数以及当前时间信息。
151、根据业务标识,查询业务标识对应的业务的当前业务请求消息条数、统计周期;
152、如果根据当前时间信息判断得出当前时间信息位于统计周期的范围之外,则清除所述当前时间信息所对应的时间之前的过期数据,并更新该业务所对应的业务请求消息条数为1,然后计算下一个统计周期所对应的时间点,以作为新的统计周期的起止时间。
153、如果所述当前时间信息位于所述统计周期的范围之内且(所述业务对应的新增消息条数+所述当前业务请求消息条数)<=最大消息条数,则更新中心节点上所述业务的业务请求消息条数。具体的是将中心节点上该业务的消息条数更新为所述业务对应的新增消息条数与所述当前业务请求消息条数之和。
154、如果所述当前时间信息位于所述统计周期的范围之内且(所述业务对应的新增消息条数+所述当前业务请求消息条数)>最大消息条数,则说明业务接入速率已经超过最大接入速率,放弃当前接收到的业务请求消息。
第二种业务接入速率控制处理过程:在速率调节请求消息中包括有:业务标识,最大业务接入速率,新增消息条数以及当前时间信息。
根据速率调节请求消息对业务接入速率进行调节的过程包括:
151’、根据业务标识,查询业务标识对应的业务的当前业务请求消息条数、统计周期;
152’、如果当前时间信息位于统计周期的范围之外,则清除当前时间信息所对应的时间之前的过期数据;
153’、如果当前时间信息位于统计周期的范围之内,计算实际业务接入速率,其中,实际业务接入速率=(业务对应的新增消息条数+当前业务请求消息条数)/统计周期的起点至所述当前时间的时间段;
154’、如果所述实际业务接入速率小于等于所述最大业务接入速率,则更新业务的当前业务请求消息条数;如果所述实际业务接入速率大于所述最大业务接入速率,则丢弃当前接收到的业务请求消息。
这两个方案不同点在于,前一方案中的中心节点不必要实际计算出收到速率调节请求消息的实际业务接入速率,也可实现业务接入速率的控制或者调节,进一步的节省了中心节点的系统资源。
以图2所示的一个实施例具体解释前述两个控制过程。[A,B]为某个业务的时间控制策略所对应的第一个统计周期,业务节点在Z、A’点请求进行速率调节,B’点是根据变化后的时间控制策略所计算的统计周期的端点。
参考图2,上述152-154的第一个控制过程包括:当业务节点在Z点请求中心节点调节时,由于Z点位于统计周期[A,B]内,所以中心节点将计算在该[A,Z]时间段内所述业务对应的新增消息条数与所述当前业务请求消息条数的和,并将该和与最大消息条数进行比较。若该和大于最大消息条数,则放弃所述业务请求消息,不再进行业务接入速率的计算等。若该和小于等于最大消息条数,则利用该和更新中心节点处该业务对应的消息条数。然后,重新计算下一个统计周期。若时间控制策略发生变更,则在Z点重新计算下一个统计周期的另一个端点,例如B’点。
当业务节点在A’点请求中心节点调节时,由于A’点位于统计周期[A,B]外,所以中心节点将清除A’之前的过期数据。由于在B点到A’点之间业务节点并未上报,因此,清除A’点之前的过期数据即是清除B点之前的过期数据。若时间控制策略发生变更,则在A’点重新计算下一个统计周期的另一个端点,例如B’点。例如,假设时间策略由目前的1小时修改成10分钟,那么将A’点对应的时间加上10分钟,即可获得B’点。
参考图2,上述153’-154’的第二种控制过程包括:
153’、在Z时间点,中心节点实际计算出收到速率调节请求消息后的实际业务接入速率,公式为:Z点时实际业务接入速率=Z点时中心节点上业务的消息条数/A点至Z点的时间段。
154’、如果实际业务接入速率小于等于系统的最大业务接入速率,则继续针对在Z点接收到的业务请求消息进行处理;如果实际业务接入速率大于系统的最大业务接入速率,则丢弃在Z点接收到的业务请求消息。
此外,在此实施例中,中心节点还可在进行速率调节后,向所述业务节点发送速率调节结果。
由此实施例可以看出,由于业务节点是在一检测到的业务请求消息的数量达到上报预设值后就向中心节点请求进行速率调节、而后由中心节点进行速率调节,而不是像现有技术中那样业务节点在统计周期到时的时候才请求进行速率调节、而后由中心节点在它的统计周期到时的时候才进行速率调节。因此,利用本发明实施例二的方法,提高了对业务接入速率控制的准确性。
此外,由于中心节点的统计周期不再作为它进行速率控制的依据,因此,在中心节点可省去计时控制功能的实体,从而简化了中心节点的结构。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
如图3所示,另一本发明实施例还提供了一种业务节点,可以应用图1所示的方法。该业务节点包括:
消息接收单元41,用于接收用于调用电信业务的业务请求消息;数量检测单元42,用于检测收到的业务请求消息的数量是否达到上报预设值;上报单元43,用于当达到所述上报预设值时,向中心节点发送速率调节请求消息,以便于所述中心节点对业务接入速率进行调节。
此外,如图4所示,为实现控制精度和系统性能的平衡,所述业务节点还可包括:数值调整单元44,用于结合对控制精度或系统性能的需求,当需要提高系统性能或者降低控制精度时,将上报预设值调大;当需要降低系统性能或者提高控制精度时,将上报预设值调小。其中,所述数值调整单元44的具体操作方式,可参照方法实施例中的描述。
由此实施例可以看出,业务节点是在一检测到的业务请求消息的数量达到上报预设值后就向中心节点请求进行速率调节、而后由中心节点进行速率调节,而不是像现有技术中那样业务节点在统计周期到时的时候才请求进行速率调节、而后由中心节点在它的统计周期到时的时候才进行速率调节。因此,利用本发明实施例,提高了对业务接入速率控制的准确性。
此外,由于业务节点的统计周期不再作为它向中心节点请求的依据,因此,在业务节点可省去计时控制功能的实体,从而简化了业务节点的结构。
如图5所示,本发明实施例还提供了一种中心节点,可以应用图1所示的方法。该中心节点包括:
请求接收单元51,用于接收业务节点的速率调节请求消息,其中所述速率请求消息是在所述业务节点收到的业务请求消息的数量达到上报预设值时发送的;速率处理单元52,用于根据所述速率调节请求消息对业务接入速率进行调节。
如前所述的,在所述速率调节请求消息中可包括有:业务标识,最大消息条数,新增消息条数以及当前时间信息。或者为了使得控制更为准确,在所述速率调节请求消息中还可包括第二时间控制策略。
其中,如图6所示,所述速率处理单元52可包括:
第一查询模块521,用于根据所述业务标识,查询所述业务标识对应的业务的当前业务请求消息条数、统计周期;
第一处理模块522,用于当所述当前时间信息位于所述统计周期的范围之外时,清除所述当前时间信息所对应的时间之前的过期数据;
第二处理模块523,用于当所述当前时间信息位于所述统计周期的范围之内且所述业务对应的新增消息条数与所述当前业务请求消息条数之和不大于所述最大消息条数时,更新所述业务的当前业务请求消息条数;
第三处理模块524,用于当所述当前时间信息位于所述统计周期的范围之内且所述业务对应的新增消息条数与所述当前业务请求消息条数之和大于所述最大消息条数时,丢弃所述业务请求消息。
或者,如图7所示,所述速率处理单元52可包括:
第二查询模块525,用于根据所述业务标识,查询所述业务标识对应的业务的当前业务请求消息条数、统计周期;
第四处理模块526,用于当所述当前时间信息位于所述统计周期的范围之外时,清除所述当前时间信息所对应的时间之前的过期数据;
第五处理模块527,用于当所述当前时间信息位于所述统计周期的范围之内时,计算实际业务接入速率,其中,所述实际业务接入速率=(所述业务对应的新增消息条数+所述当前业务请求消息条数)/所述统计周期的起点至收到所述速率调节请求消息的当前时间的时间段;
第六处理模块528,用于当实际业务接入速率小于等于系统的最大业务接入速率时,更新所述业务的当前业务请求消息条数;如果实际业务接入速率大于系统的最大业务接入速率,则丢弃当前接收到的业务请求消息。
此外,当所述速率调节请求消息中还包括有第二时间控制策略时,如图8所示,本发明实施例的中心节点还可包括:存储单元53,用于保存有所述业务标识对应的业务的第一时间控制策略;策略查询单元54,用于根据所述业务标识,查询中心节点上保存的第一时间控制策略;策略更新单元55,用于当所述第一时间控制策略不同于所述第二时间控制策略时,根据所述第二时间控制策略更新所述第一时间控制策略,并相应的更新所述业务的统计周期。
由此实施例可以看出,由于业务节点是在一检测到的业务请求消息的数量达到上报预设值后就向中心节点请求进行速率调节、而后由中心节点进行速率调节,而不是像现有技术中那样业务节点在统计周期到时的时候才请求进行速率调节、而后由中心节点在它的统计周期到时的时候才进行速率调节。因此,利用本发明实施例,提高了对业务接入速率控制的准确性。
此外,由于中心节点的统计周期不再作为它进行速率控制的依据,因此,在中心节点可省去计时控制功能的实体,从而简化了中心节点的结构。
此外,本发明实施例五还提供了一种业务接入速率的控制系统,包括:
图3或图4所示的业务节点,以及图5或图6或图7或图8所示的中心节点。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。