一种数据处理网关业务信息上报的方法和装置制造方法
【专利摘要】本发明实施例提供了一种数据处理网关业务信息上报的方法和装置,所述方法包括:第一记录步骤:当定时器达到预置阈值时,记录第一本地时间timecount1;第一判断步骤:判断链表的表项是否为非空;增加步骤:针对所述计数器加一;第二判断步骤:逐个判断所述计数器是否达到计数器阈值;上报步骤:上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息;第三判断步骤:判断是否达到所述链表的尾部;第二记录步骤:记录第二本地时间timecount2;修改步骤:依据timecount1及timecount2修改所述定时器;启动步骤:启动所述定时器,并返回所述第一记录步骤。本发明实施例用以减少在处理数据处理网关业务信息时所需的定时器的数目。
【专利说明】一种数据处理网关业务信息上报的方法和装置
【技术领域】
[0001]本发明涉及数据处理的【技术领域】,特别是涉及一种数据处理网关业务信息上报的方法和一种数据处理网关业务信息上报的装置。
【背景技术】
[0002]随着数据通信与多媒体业务需求的发展,适应移动数据、移动计算及移动多媒体运作需要的第四代移动通信(简称4G)开始兴起,4G因为其拥有的超高数据传输速度,给人们生活带来极大的便利。对4G时代的数据业务,存在按时间上报流量和使用时间的计费问题,此外还存在识别业务消失等其他问题。
[0003]在EPC(Evolved Packet Core network,演进型分组核心网)中,上报流量和识别业务消失都是基于终端中的PCC(policy and charging control,策略和计费控制)规则,上报流量和识别业务消失是每个提供EPC数据网关的系统都必须处理的。目前实现方案是在安装每个用户的PCC规则时,给每个PCC规则都设置定时器,由系统来进行定时处理。但是这种方案所需的定时器数据大,对于系统来说是很大的负担。参照图1所示的一种PCC规则的数据结构在内存中运行情况简要示意图,假设每个EPC数据网关容量为10W用户,每个用户有4个PCC规则,则需要耗费的定时器40W,在系统内存中需要耗费大量的定时器,对系统而言是个很大的负担。尤其对于某些系统,这种数量级的定时器数目甚至可能达到其可以支持的定时器数目的极限,导致网络服务能力受到限制,严重影响用户体验。
【发明内容】
[0004]本发明实施例所要解决的技术问题是提供一种数据处理网关业务信息上报的方法,用以减少在处理数据处理网关业务信息时所需的定时器的数目。
[0005]相应的,本发明实施例还提供了一种数据处理网关业务信息上报的装置,用以保证上述方法的实现及应用。
[0006]为了解决上述问题,本发明实施例公开了一种数据处理网关业务信息上报的方法,所述数据处理网关中包括链表及策略、计费控制PCC数据结构和定时器,所述PCC数据结构包括PCC规则,所述链表包括表项及对应的链表指针,所述表项包括计数器,所述链表指针指向对应的PCC规则,所述PCC规则包括结构指针,所述结构指针指向对应的表项,所述方法包括:
[0007]第一记录步骤:当定时器达到预置阈值时,记录第一本地时间timecountl ;
[0008]第一判断步骤:判断链表的表项是否为非空;若是,则执行增加步骤;增加步骤:针对所述计数器加一;
[0009]第二判断步骤:逐个判断所述计数器是否达到计数器阈值;若是,则执行上报步骤,若否,则执行第三判断步骤;上报步骤:上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息;
[0010]第三判断步骤:判断是否达到所述链表的尾部;若达到所述链表的尾部,则执行第二记录步骤;若没有达到所述链表的尾部,则返回第一判断步骤;
[0011]第二记录步骤:记录第二本地时间timecount2 ;
[0012]修改步骤:依据timecountl及timecount2修改所述定时器;
[0013]启动步骤:启动所述定时器,并返回所述第一记录步骤。
[0014]优选地,所述方法还包括:
[0015]若在所述链表中不存在有效表项,则重新启动所述定时器。
[0016]优选地,在所述上报步骤之后,还包括:
[0017]将所述计数器清零,并返回第一记录步骤。
[0018]优选地,所述方法还包括:
[0019]当在所述PCC数据结构安装有新的PCC规则时,在所述链表的尾部后添加新的表项及对应的链表指针,所述新的表项包括新的计数器;所述新的计数器初始预置为O ;
[0020]将所述新的链表指针指向所述新的PCC规则;
[0021]为所述PCC规则添加新的结构指针;
[0022]将所述新的结构指针指向所述新的表项。
[0023]优选地,所述方法还包括:
[0024]当在所述PCC数据结构中的PCC规则被去激活时,在所述链表中查找到该PCC规则的结构指针所对应的表项;
[0025]删除所述表项及对应的链表指针。
[0026]优选地,所述修改步骤包括:
[0027]判断所述timecountl及timecount2的差值是否大于预置的结果;
[0028]若是,则采用预置的公式进行计算,并依据所述计算结果修改所述定时器;
[0029]其中,所述预置的公式为:timer= 1000-(timecount2_timecount2) % 10*10 ;
[0030]所述timer为当前定时器的预计值;
[0031]若否,则采用预置的计算值修改所述定时器。
[0032]优选地,所述业务信息包括业务流量、业务使用时间,和/或业务消失报告,所述预置的预计值为1000*n,所述η大于O ;所述新的计数器初始预置为O。
[0033]本发明实施例还公开了一种数据处理网关业务信息上报的装置,所述数据处理网关中包括链表及策略、计费控制PCC数据结构和定时器,所述PCC数据结构包括PCC规则,所述链表包括表项及对应的链表指针,所述表项包括计数器,所述链表指针指向对应的PCC规则,所述PCC规则包括结构指针,所述结构指针指向对应的表项,所述装置包括:
[0034]第一记录模块,用于在定时器达到预置阈值时,记录第一本地时间timecountl ;
[0035]第一判断模块,用于判断链表的表项是否为非空;若在所述链表中存在有效表项,则调用增加模块;
[0036]增加模块,用于针对所述计数器加一;
[0037]第二判断模块,用于逐个判断所述计数器是否达到计数器阈值;若是,则执行上报模块,若否,则执行第三判断模块;
[0038]上报模块,用于上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息;
[0039]第三判断模块,用于判断是否达到所述链表的尾部;若达到所述链表的尾部,则执行第二记录模块;若没有达到所述链表的尾部,则返回第一判断步骤;
[0040]第二记录模块,用于记录第二本地时间timecount2 ;
[0041]修改模块,用于依据timecountl及timecount2修改所述定时器;
[0042]启动模块,用于启动所述定时器,并返回所述第一记录模块。
[0043]优选地,所述装置还包括:
[0044]重新启动模块,用于在所述链表中不存在有效表项,则重新启动所述定时器。
[0045]优选地,所述装置还包括:
[0046]清零模块,用于将所述计数器清零,并调用第一记录模块。
[0047]优选地,所述装置还包括:
[0048]链表指针添加模块,用于当在所述PCC数据结构安装有新的PCC规则时,在所述链表的尾部后添加新的表项及对应的链表指针,所述新的表项包括新的计数器;所述新的计数器初始预置为O ;
[0049]链表指针指向模块,用于将所述新的链表指针指向所述新的PCC规则;
[0050]结构指针添加模块,用于为所述PCC规则添加新的结构指针;
[0051 ] 结构指针指向模块,用于将所述新的结构指针指向所述新的表项。
[0052]优选地,所述装置还包括:
[0053]查找模块,用于在所述PCC数据结构中的PCC规则被去激活时,在所述链表中查找到该PCC规则的结构指针所对应的表项;
[0054]删除模块,用于删除所述表项及对应的链表指针。
[0055]优选地,所述修改模块包括:
[0056]差值判断子模块,用于判断所述timecountl及timecount2的差值是否大于预置的结果;若是,则调用计算子模块,若否,则调用修改子模块;
[0057]计算子模块,用于采用预置的公式进行计算,并依据所述计算结果修改所述定时器;
[0058]其中,所述预置的公式为:timer= 1000-(timecount2_timecount2) % 10*10 ;
[0059]所述timer为当前定时器的预计值;
[0060]修改子模块,用于采用预置的计算值修改所述定时器。
[0061]与现有技术相比,本发明实施例包括以下优点:
[0062]在本发明实施例采用链表和定时器的,在链表包括表项及对应的链表指针,所述表项包括计数器,所述链表指针指向对应的PCC规则,所述PCC规则包括结构指针,所述结构指针指向对应的表项,此时完成链表与PCC规则的双向捆绑。采用结构指针可以快速定位到关联的表项,采用链表指针可以进行快速定位到关联的PCC规则。当定时器到期时,开始对链表中的表项逐个进行扫描,并对于表项中计数器达到预置阈值时,开始上报该表项的链表指针对应的业务信息。与需要为每个PCC规则都设置定时器的【背景技术】而言,本发明实施例只需要在为链表设置一个定时器即可,由此大量减少所需的计数器的数目。
[0063]在本发明实施例中,当有新的PCC规则需要安装时,可以通过链表指针查找到链表尾部,然后在链表的尾部添加一个新的表项和对应的链表指针,在表项中包括计数器,链表指针指向PCC规则,并将该PCC规则的指针指向该表项,完成双向捆绑。同时还需要将PCC数据结构中的阈值赋给表项的计数器。当有PCC规则被去激活时,根据PCC数据结构中的链表指针可以快速查找到关联的表项,然后在链表中将该表项删除,采用指针可以快速进行定位,处理效率高。
【专利附图】
【附图说明】
[0064]图1是一种PCC规则的数据结构在内存中运行情况简要示意图;
[0065]图2是本发明一种数据处理网关业务信息上报的方法实施例的步骤流程图;
[0066]图3是本发明的一种PCC规则的数据结构在内存中运行情况简要示意图;
[0067]图4是本发明的一种定时器到期时对链表算法的处理流程图;
[0068]图5是本发明一种数据处理网关业务信息上报的装置实施例的结构框图。
【具体实施方式】
[0069]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0070]参照图2,示出了本发明一种数据处理网关业务信息上报的方法实施例的步骤流程图,所述数据处理网关中可以包括链表及策略、计费控制PCC数据结构和定时器,所述PCC数据结构可以包括PCC规则,所述链表可以包括表项及对应的链表指针,所述表项可以包括计数器,所述链表指针可以指向对应的PCC规则,所述PCC规则可以包括结构指针,所述结构指针可以指向对应的表项;
[0071]参照图3所示的本发明的一种PCC规则的数据结构在内存中运行情况简要示意图,以EPC数据处理网关为例,应用本发明实施例可以借助链表和定时器组合而成的结构来实现数据处理网关业务信息上报的问题。在该结构中的链表的每个表项中可以包含:一个计数器,用来记录表项被扫描过的次数;一个链表指针,指向EPC数据处理网关的PCC数据结构的PCC规则。在实际应用中,上报流量和识别业务消失都是基于终端中的PCC规则。在PCC数据结构包含一个上报事件的函数;此外,该结构还包含一个定时器(timer),每当定时器到期时,便对整个链表进行扫描。
[0072]在本发明实施例中需要在PCC规则的数据结构增加一个结构指针,指向与PCC规则的结构相关联的链表中的表项,由此完成双向捆绑。。该结构指针的作用是快速定位与其相关联的表项,方便PCC规则的数据结构需要删除时同步清除与之关联的表项。当然,在本发明实施例中也可以其他方式来完成链表与PCC数据结构的PCC规则的双向捆绑,本发明实施例对此不加以限制。
[0073]在具体实现中,链表是一种物理存储单元上非连续、非顺序的存储结构,链表中的表项的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(表项)组成,表项可以在运行时动态生成。每个表项通常包括两个部分:一部分是存储数据元素的数据域,另一部分是存储下一个结点地址的指针域。
[0074]所述方法具体可以包括如下步骤:
[0075]第一记录步骤101:当定时器达到预置阈值时,记录第一本地时间timecountl ;
[0076]在本发明实施例中,可以在数据处理网关或者其他网络设备中预先设置定时器的时间阈值,当数据处理网关或者其他网络设备中设置的定时器达到设置的阈值时,记录下此刻的本地时间,该本地时间可以记录为timecount I。其中,本地时间可以采用毫秒级来进行记录,或者其他级别来进行记录。
[0077]第一判断步骤102:判断链表的表项是否为非空;若是,则执行增加步骤103 ;
[0078]在具体实现中,需查看链表是否存在表项,判断是否存在表项的方法为确认链表除头结点外非空。如果在链表中不存在表项,此时可以重新启动定时器,并返回第一记录步骤 101。
[0079]增加步骤103:针对所述计数器加一;
[0080]第二判断步骤104:逐个判断所述计数器是否达到计数器阈值;若是,则执行上报步骤,若否,则执行第三判断步骤;
[0081]在本发明实施例中,计数器阈值指该PCC数据结构的以毫秒(ms)为单位的定时器值,比如PCC数据指定为每I秒上报一次信息,则计数器阈值可以设置为1000,因为链表的定时器为大约为I毫秒,也就是说每毫秒就会扫描一次链表,当计数器值大于等于1000,则认为该PCC数据已经有I秒没有上报信息,此次应该上报业务信息。
[0082]上报步骤105:上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息;
[0083]在本发明实施例中,如果计算器达到预设阈值,则可以调用一个上报事件的函数,将PCC规则对应的业务信息进行上报。
[0084]在本发明的一种优选实施例中,在所述上报步骤105之后,所述方法还可以包括如下步骤:
[0085]将所述计数器清零。
[0086]在具体实现中,由于业务信息已经上报过了,则计数器清零,可以重新返回第一记录步骤101,重新开始“等待---到时---上报”的流程。
[0087]第三判断步骤106:判断是否达到所述链表的尾部;若达到所述链表的尾部,则执行第二记录步骤107 ;若没有达到所述链表的尾部,则返回第一判断步骤102 ;
[0088]第二记录步骤107:记录第二本地时间timecount2 ;
[0089]在具体实现中,如果链表中存在有效表项,则针对链表中全部的有效表项所对应的计算器加一,再逐个判断链表中的计数器是否到达了在数据处理网关或者其他网络设备中预先设置计数器的阈值。
[0090]在本发明具体应用的一种优选示例中,如果是大于或者等于该阈值,则可以将该PCC规则对应的业务信息进行上报。其中,所述业务信息可以包括业务流量、业务使用时间,业务消失报告等其他业务信息。如果是小于该阈值,则认为该表项相关联的PCC规则不需要上报业务消息,并可以判断是否达到了链表的尾部,即是否已经遍历完链表中全部的表项。
[0091]当遍历完链表中全部的表项时,记录下此刻的本地时间,该本地时间可以记录为timecount2。
[0092]修改步骤108:依据timecountl及timecount2修改所述定时器;
[0093]在本发明的一种优选实施例中,所述修改步骤108可以包括如下子步骤:
[0094]子步骤Sll,判断所述timecountl及timecount2的差值是否大于预置的结果;若是,则执行子步骤S12,若否,则执行子步骤S13 ;
[0095]子步骤S12,采用预置的公式进行计算,并依据所述计算结果修改所述定时器;
[0096]其中,所述预置的公式为:timer= 1000-(timecount2_timecount2) % 10*10 ;
[0097]所述timer为当前定时器的预计值;
[0098]子步骤S13,采用预置的计算值修改所述定时器。
[0099]在本发明实施例中,采用预置的公式或者预计值(其中,预计值=1000*n,所述η大于0,并且η可以由系统指定,1000标明可允许误差为I秒)对于定时器数值timer进行调整。修改步骤的目的是校验定时器值。
[0100]需要说明的是,在本发明实施例中还可以采用其他方式来对于定时器数值timer进行调整,本发明实施例对此不作限制。
[0101]启动步骤109:启动所述定时器,并返回所述第一记录步骤101。
[0102]当对于定时器的数值调整完毕后,可以重新启动,并重新返回第一记录步骤101,当定时器到期时再次对链表进行扫描。
[0103]在本发明的一种优选实施例中,所述方法还可以包括如下步骤:
[0104]若在所述链表中不存在有效表项,则重新启动所述定时器。
[0105]在具体实现中,如果在链表中不存在有效表项,则可以重新启动定时器,退出当前的业务处理流程,如果说
[0106]在本发明的一种优选实施例中,所述方法还可以包括如下步骤:
[0107]将所述新的链表指针指向所述新的PCC规则;
[0108]为所述PCC规则添加新的结构指针;
[0109]将所述新的结构指针指向所述新的表项。
[0110]在具体实现中,当在所述PCC数据结构安装有新的PCC规则时,在链表的尾部后添加新的表项及对应的链表指针,新的表项中包括新的计数器;所述新的计数器初始化为O。
[0111]作为本发明实施例具体应用的一种优选示例,当有新的PCC规则需要安装时,可以通过链表指针查找到链表尾部,然后在链表的尾部添加一个新的表项和对应的链表指针,在表项中包括计数器,该计数器值初始化为0,链表指针指向PCC规则,并将该PCC规则的指针指向该表项,完成双向捆绑。同时还需要将PCC数据结构中的阈值赋给新的表项的计数器。
[0112]在本发明的一种优选实施例中,所述方法还可以包括如下步骤:
[0113]当在所述PCC数据结构中的PCC规则被去激活时,在所述链表中查找到该PCC规则的结构指针所对应的表项;
[0114]删除所述表项及对应的链表指针。
[0115]作为本发明实施例具体应用的另一种优选示例,当有PCC规则被去激活时,可以根据PCC数据结构中的链表指针查找到关联的表项,然后在链表中将该表项删除。
[0116]为了使本领域技术人员进一步理解本发明实施例,以下采用一个具体的示例来说明的本发明业务上报的处理流程。
[0117]参照图4所示的本发明的一种定时器到期时对链表算法的处理流程图,具体可以包括如下子步骤:
[0118]1、当在数据处理网关或者其他网络设备中定时器到期时,进入链表算法。
[0119]2、记录本地时间timecountl。所述本地时间可以采用毫秒级或者其他级别来进行记录。
[0120]3、查看链表是否存在有效表项,如没有,则重新启动定时器,转第10步。否则转第4步。
[0121]4、对链表表项中的计数器均增1,并将该值与预设的计数器阈值进行比较。
[0122]5、判断计数器的值是否达到计数器阈值。如果不是,则认为该表项相关联的PCC规则的业务消息暂时不需要上报,转第3步;如果计数器值达到计数器阈值,则转第6步。
[0123]6、采用表项的链表指针查找到与该表项关联的PCC规则的结构,用PCC规则结构的函数进行消息上报。比如上报流量、时间,或者上报业务消失报告等等。
[0124]7、将该计数器值重新设置为O。
[0125]8、查找链表中的下一个表项。
[0126]9、判断该表项是否为链表尾部。如果是,则表明链表处理完毕,转入第10步,否则重复第3步到第9步的操作。
[0127]10、记录毫秒级本地时间timecount2。
[0128]11、采用timecountl和timecount2对于进行定时器数值timer调整。该步骤的目的是校验定时器值。调整算法为:
[0129]timer = 1000-(timecount2_timecount2)% 10*10 ;
\ timer, if(timecountl — timecountl) > 1000
[0130]timer = < ';。
IlOOO*/?,^
[0131]12、重新启动定时器。
[0132]13、退出对链表处理的算法。
[0133]应用本发明实施例,当定时器到期时,开始对链表中的表项逐个进行扫描,并在表项中计数器达到预置阈值时,上报该表项的链表指针对应的业务信息。本发明实施例与需要为每个PCC规则都设置定时器的【背景技术】而言,只需要设置一个定时器即可,大量减少所需的计数器的数目。
[0134]在本发明实施例中,链表指针指向对应的PCC规则,所述PCC规则的结构指针指向对应的表项,链表与PCC规则形成双向捆绑。采用结构指针可以快速定位到关联的表项,采用链表指针可以进行快速定位到关联的PCC规则,有效提高了处理效率。
[0135]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
[0136]参照图5,示出了本发明一种数据处理网关业务信息上报的装置实施例的结构框图,所述数据处理网关中可以包括链表及策略、计费控制PCC数据结构和定时器,所述PCC数据结构可以包括PCC规则,所述链表可以包括表项及对应的链表指针,所述表项可以包括计数器,所述链表指针可以指向对应的PCC规则,所述PCC规则可以包括结构指针,所述结构指针可以指向对应的表项,所述装置可以包括如下模块:
[0137]第一记录模块201,用于在定时器达到预置阈值时,记录第一本地时间timecountl ;
[0138]第一判断模块202,用于判断链表是否存在有效表项;若在所述链表中存在有效表项,则调用增加模块203 ;
[0139]增加模块203,用于针对所述计数器加一;
[0140]第二判断模块204,用于逐个判断所述计数器是否达到计数器阈值;若是,则执行上报模块205,若否,则执行第三判断模块206 ;
[0141]上报模块205,用于上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息;
[0142]第三判断模块206,用于判断是否达到所述链表的尾部;若达到所述链表的尾部,则执行第二记录模块207 ;若没有达到所述链表的尾部,则返回第一判断步骤202 ;
[0143]第二记录模块207,用于记录第二本地时间timecount2 ;
[0144]修改模块208,用于依据timecountl及timecount2修改所述定时器;
[0145]在本发明的一种优选实施例中,所述修改模块208可以包括如下子模块:
[0146]差值判断子模块,用于判断所述timecountl及timecount2的差值是否大于预置的结果;若是,则调用计算子模块,若否,则调用修改子模块;
[0147]计算子模块,用于采用预置的公式进行计算,并依据所述计算结果修改所述定时器;
[0148]其中,所述预置的公式为:timer= 1000-(timecount2_timecount2) % 10*10 ;
[0149]为当前定时器的预计值;
[0150]修改子模块,用于采用预置的计算值修改所述定时器。
[0151]启动模块209,用于启动所述定时器,并返回所述第一记录模块。
[0152]在本发明的一种优选实施例中,所述装置还可以包括如下模块:
[0153]重新启动模块,用于在所述链表中不存在有效表项,则重新启动所述定时器。
[0154]在本发明的一种优选实施例中,所述装置还可以包括如下模块:
[0155]清零模块,用于将所述计数器清零,并调用第一记录模块。
[0156]在本发明的一种优选实施例中,所述装置还可以包括如下模块:
[0157]链表指针添加模块,用于当在所述PCC数据结构安装有新的PCC规则时,在所述链表的尾部后添加新的表项及对应的链表指针,所述新的表项包括新的计数器;所述新的计数器初始预置为O ;
[0158]链表指针指向模块,用于将所述新的链表指针指向所述新的PCC规则;
[0159]结构指针添加模块,用于为所述PCC规则添加新的结构指针;
[0160]结构指针指向模块,用于将所述新的结构指针指向所述新的表项。
[0161]在本发明的一种优选实施例中,所述装置还可以包括如下模块:
[0162]查找模块,用于在所述PCC数据结构中的PCC规则被去激活时,在所述链表中查找到该PCC规则的结构指针所对应的表项;
[0163]删除模块,用于删除所述表项及对应的链表指针。
[0164]在本发明的一种优选实施例中,所述业务信息可以包括业务流量、业务使用时间,和/或业务消失报告,所述预置的预计值可以为1000*n(其中,η由系统指定,1000标明可允许误差为I秒);所述新的计数器初始预置可以为O。
[0165]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0166]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0167]本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0168]本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0169]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0170]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0171]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0172]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0173]以上对本发明所提供的一种数据处理网关业务信息上报的方法和一种数据处理网关业务信息上报的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种数据处理网关业务信息上报的方法,其特征在于,所述数据处理网关中包括链表及策略、计费控制PCC数据结构和定时器,所述PCC数据结构包括PCC规则,所述链表包括表项及对应的链表指针,所述表项包括计数器,所述链表指针指向对应的PCC规则,所述PCC规则包括结构指针,所述结构指针指向对应的表项,所述方法包括: 第一记录步骤:当定时器达到预置阈值时,记录第一本地时间timecountl ; 第一判断步骤:判断链表的表项是否为非空;若是,则执行增加步骤;增加步骤:针对所述计数器加一; 第二判断步骤:逐个判断所述计数器是否达到计数器阈值;若是,则执行上报步骤,若否,则执行第三判断步骤;上报步骤:上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息; 第三判断步骤:判断是否达到所述链表的尾部;若达到所述链表的尾部,则执行第二记录步骤;若没有达到所述链表的尾部,则返回第一判断步骤; 第二记录步骤:记录第二本地时间timecount2 ; 修改步骤:依据timecountl及timecount2修改所述定时器; 启动步骤:启动所述定时器,并返回所述第一记录步骤。
2.根据权利要求1所述的方法,其特征在于,还包括: 若在所述链表中不存在有效表项,则重新启动所述定时器。
3.根据权利要求1或2所述的方法,其特征在于,在所述上报步骤之后,还包括: 将所述计数器清零,并返回第一记录步骤。
4.根据权利要求1所述的方法,其特征在于,还包括: 当在所述PCC数据结构安装有新的PCC规则时,在所述链表的尾部后添加新的表项及对应的链表指针,所述新的表项包括新的计数器;所述新的计数器初始预置为O ; 将所述新的链表指针指向所述新的PCC规则; 为所述PCC规则添加新的结构指针; 将所述新的结构指针指向所述新的表项。
5.根据权利要求1所述的方法,其特征在于,还包括: 当在所述PCC数据结构中的PCC规则被去激活时,在所述链表中查找到该PCC规则的结构指针所对应的表项; 删除所述表项及对应的链表指针。
6.根据权利要求1所述的方法,其特征在于,所述修改步骤包括: 判断所述timecountl及timecount2的差值是否大于预置的结果; 若是,则采用预置的公式进行计算,并依据所述计算结果修改所述定时器; 其中,所述预置的公式为:timer = 1000-(timecount2-timecount2) % 10*10 ; 所述timer为当前定时器的预计值; 若否,则采用预置的计算值修改所述定时器。
7.根据权利要求1所述的方法,其特征在于,所述业务信息包括业务流量、业务使用时间,和/或业务消失报告,所述预置的预计值为1000*n,所述η大于O ;所述新的计数器初始预置为O。
8.一种数据处理网关业务信息上报的装置,其特征在于,所述数据处理网关中包括链表及策略、计费控制PCC数据结构和定时器,所述PCC数据结构包括PCC规则,所述链表包括表项及对应的链表指针,所述表项包括计数器,所述链表指针指向对应的PCC规则,所述PCC规则包括结构指针,所述结构指针指向对应的表项,所述装置包括: 第一记录模块,用于在定时器达到预置阈值时,记录第一本地时间timecountl ; 第一判断模块,用于判断链表的表项是否为非空;若在所述链表中存在有效表项,则调用增加模块; 增加模块,用于针对所述计数器加一; 第二判断模块,用于逐个判断所述计数器是否达到计数器阈值;若是,则执行上报模块,若否,则执行第三判断模块; 上报模块,用于上报所述计数器所在的表项的链表指针,所对应的PCC规则所对应的业务信息; 第三判断模块,用于判断是否达到所述链表的尾部;若达到所述链表的尾部,则执行第二记录模块;若没有达到所述链表的尾部,则返回第一判断步骤; 第二记录模块,用于记录第二本地时间timecount2 ; 修改模块,用于依据timecountl及timecount2修改所述定时器; 启动模块,用于启动所述定时器,并返回所述第一记录模块。
9.根据权利要求8所述的装置,其特征在于,还包括: 重新启动模块,用于在所述链表中不存在有效表项,则重新启动所述定时器。
10.根据权利要求9或10所述的装置,其特征在于,还包括: 清零模块,用于将所述计数器清零,并调用第一记录模块。
11.根据权利要求8所述的装置,其特征在于,还包括: 链表指针添加模块,用于当在所述PCC数据结构安装有新的PCC规则时,在所述链表的尾部后添加新的表项及对应的链表指针,所述新的表项包括新的计数器;所述新的计数器初始预置为O ; 链表指针指向模块,用于将所述新的链表指针指向所述新的PCC规则; 结构指针添加模块,用于为所述PCC规则添加新的结构指针; 结构指针指向模块,用于将所述新的结构指针指向所述新的表项。
12.根据权利要求8所述的装置,其特征在于,还包括: 查找模块,用于在所述PCC数据结构中的PCC规则被去激活时,在所述链表中查找到该PCC规则的结构指针所对应的表项; 删除模块,用于删除所述表项及对应的链表指针。
13.根据权利要求8所述的装置,其特征在于,所述修改模块包括: 差值判断子模块,用于判断所述timecountl及timeCOunt2的差值是否大于预置的结果;若是,则调用计算子模块,若否,则调用修改子模块; 计算子模块,用于采用预置的公式进行计算,并依据所述计算结果修改所述定时器; 其中,所述预置的公式为:timer = 1000-(timecount2-timecount2) % 10*10 ; 所述timer为当前定时器的预计值; 修改子模块,用于采用预置的计算值修改所述定时器。
【文档编号】H04L12/24GK104270262SQ201410484637
【公开日】2015年1月7日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】万强, 杜懋江, 刘春 , 董乐 申请人:大唐移动通信设备有限公司