一种规则生成系统、IPMC网络设备及规则生成方法与流程

文档序号:12648516阅读:556来源:国知局
一种规则生成系统、IPMC网络设备及规则生成方法与流程
本发明涉及IPMC(IntelligentPolicyManagementCenter,智能策略管理中心)设备系统设计领域,尤其涉及一种规则生成系统、IPMC网络设备及规则生成方法。

背景技术:
全球互联网正在由PC-Internet向Mobile-internet转变,手机及移动终端在某种意义上已经主导着互联网的发展。移动互连网时代电信运营商承载网络则面临几个问题:一、P2P应用抢占了大量带宽,且无法控制。二、如何保证自营业务和高端用户的服务质量。三、如何解决包月的收费模式的弊端,实现精细化运营,避免沦为ASP的管道。为解决这些问题,运营商迫切需要一种技术和架构,可以针对无线数据网络进行精细化管控和计费。基于3GPPPCC(策略和计费控制)规范的架构,可以很好的解决这个问题,故得到运营商的普遍重视。PCC架构包括:PCEF(策略和计费执行功能),BBERF(承载绑定和事件报告功能),PCRF(策略和计费规则功能),AF(应用功能),OCS(在线计费系统),OFCS(离线计费系统)和SPR(用户属性存储器)等关键网元。IPMC是将PCRF和SPR整合在一起的一个功能网元。目前的规则生成系统一般使用lex作为词法分析器,使用yacc作为语义解析器,把规则条件表达式内容编译成机器码,然后当规则请求到来时,根据规则请求信息,通过调用BPF过滤器来获得规则处理结果。这种方法有以下几个缺点:lex与yacc语法结构复杂,学习和使用起来比较麻烦;BPF过滤器只支持精确匹配,不能支持模糊匹配和部分匹配;另外,这种方法仅适用于预定义规则和静态配置的规则,不支持动态规则。

技术实现要素:
本发明的目的在于提供一种规则生成系统、IPMC网络设备及规则生成方法,能够灵活配置、实时生效及快速生成规则。为实现上述目的,本发明实施例采用以下解决方案:一种规则生成系统,包括:策略界面模块,用于为用户提供策略配置界面,以配置策略相关信息,包括策略对应的规则的条件表达式、规则ID、规则信息,所述条件表达式为python脚本;数据同步模块,用于将策略界面模块配置的策略相关信息同步至数据库中,同时将其中的条件表达式信息加载到内存中;python脚本存储单元,设于内存中,用于存储加载到内存中的条件表达式信息;策略生成模块,用于接收策略请求信息,根据其中的用户属性从内存中查找相应的python脚本名,调用该python脚本得到对应的规则ID,根据此规则ID向数据接口模块查询具体规则信息,据此生成完整的策略信息;数据库接口模块,用于从数据库中查询用户相关策略信息并返回给策略生成模块。其中,还包括多线程环境加载单元,用于将多线程环境加载到内存中。一种IPMC网络设备,包括IPMC主控模块和策略决策模块,所述策略决策模块包括:策略界面模块,用于为用户提供策略配置界面,以配置策略相关信息,包括策略对应的规则的条件表达式、规则ID、规则信息,所述条件表达式为python脚本;数据同步模块,用于将策略界面模块配置的策略相关信息同步至数据库中,同时将其中的条件表达式信息加载到内存中;python脚本存储单元,设于内存中,用于存储加载到内存中的条件表达式信息;策略生成模块,用于接收IPMC主控模块的策略请求信息,根据其中的用户属性从内存中查找相应的python脚本名,调用该python脚本得到对应的规则ID,根据此规则ID向数据接口模块查询具体规则信息,之后生成完整的策略信息返回给IPMC主控模块;数据库接口模块,用于从数据库中查询用户相关策略信息并返回给策略生成模块。其中,所述策略决策模块还包括多线程环境加载单元,该多线程环境加载单元用于将多线程环境加载到内存中。其中,IPMC网络设备还包括DIM分发模块,用于获取用户策略请求消息并根据其中的用户号码信息将其分发至对应的IPMC主控模块。其中,IPMC网络设备还包括:EBASE内存数据模块,用于存储所有策略决策所需相关基础数据和策略规则数据。一种规则生成方法,包括步骤:在策略配置界面配置用户相关策略信息,该相关策略信息包括策略对应的规则的条件表达式、规则ID、规则信息,所述条件表达式为python脚本;通过策略配置界面发送同步消息,将所述相关策略信息同步到数据库中,同时将其中的条件表达式信息加载到内存中;在收到策略请求消息时,根据消息中携带的用户属性查找相应的python脚本名,调用该脚本处理得到对应的规则ID;根据所述规则ID从数据库中查询具体规则信息,再据此生成完成的策略信息。其中,还包括:将多线程环境加载至内存中。其中,还包括:在收到多个策略请求消息时,并发处理该策略请求消息。其中,还包括:在用户的策略信息有变更时,通过策略配置界面重新配置用户相关策略信息,将该相关策略信息同步到数据库中,同时将其中的条件表达式加载到内存中。与现有技术相比,本发明实施例具有以下有益效果:使用本发明,可以在IPMC等网络设备处,对用户的策略请求进行准确而快速的响应。由于使用python语言的可扩展以及丰富的库函数等特点,可以实现各种各样功能的规则的条件表达式。又由于使用了python的可嵌入和支持多线程特点,可以实现规则的动态的实时的加载以及快速的生成。另外,由于使用内存数据库进行具体规则信息的查询以及存储,使得规则的生成时间变得很短。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例中IPMC网络设备的结构原理框图;图2是本发明实施例中规则生成系统的结构原理框图;图3是本发明实施例中规则生成方法流程图。具体实施方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明的核心思想为:本发明使用C扩展python技术以及python丰富的库实现规则的灵活配置,利用C嵌入python和支持多线程技术实现规则的动态实时加载与快速生成。请参阅图1,本实施例中IPMC网络设备的组成包括:DIM分发模块:Diameter接口模块,获取DiameterServer发来的AVP数据,并根据用户号码,分发到对应的主控模块。主控模块:负责IP-CAN会话的管理(建立、维持、终止、用户签约数据保存),通过内部逻辑,与SPR数据接口模块、策略决策模块、DIM分发模块进行数据交互。策略决策模块:接受来自于主控模块的请求,结合策略配置数据,进行条件匹配,得出对该请求适用的规则,返回给主控模块EBASE内存数据模块:存储所有策略决策所需相关基础数据和策略规则数据。策略维护界面:配置管理策略相关参数,如条件、动作、基础数据等。SPR数据接口模块:处理来自主控的数据查询和数据更新请求;处理来自外部BOSS/CRM的数据插入、更新请求;主动向主控模块发起用户数据更新。SPR数据库模块:SPR数据存储模块,存储用户品牌套餐相关数据。用户数据维护界面:SPR的数据维护模块,通过界面管理SPR内的用户和业务信息受理数据。如图2所示,本实施例中策略决策模块所采用的规则生成系统具体包括:策略界面模块:用于配置用户策略相关信息,包括条件表达式、规则ID以及满足条件表达式时对应的具体规则信息;其中,条件表达式是生成规则的python脚本。数据同步模块,用于收到策略界面模块的消息后把策略相关信息同步到数据库中存储。策略生成模块,用于处理IPMC主控模块上报的策略请求信息,并把生成的策略返回给IPMC主控模块。其具体处理过程为:当策略请求信息到达时,策略生成模块根据用户请求信息,确定需要使用的python脚本文件,然后调用pythonCAPI接口得到相应的规则ID,然后再根据规则ID得到数据库中查询具体规则信息,生成相应规则,最后把规则及其他用户相关信息组装成完整的策略信息返回给IPMC主控模块。文件系统中的python脚本,存储于内存中,由数据同步模块同步的策略信息中的规则的条件表达式内容组成。数据库接口模块,用于处理策略生成模块的数据库查询请求,并把查询结果返回给策略生成模块。如图3所示,是本发明规则生成系统生成规则的方法流程图。具体包括以下步骤:步骤S001:根据用户规则实际需要,用C扩展相应的python函数。步骤S002:根据用户规则实际需要,用python脚本书写用户规则处理过程。如有需要,可调用步骤S001中的函数。步骤S003:加载python环境到内存中。如有需要,把多线程环境也一起加载。步骤S004:加载步骤S001中的扩展函数到内存中。步骤S005:加载步骤S002中的python脚本函数到内存中。步骤S006:策略请求到达。步骤S007:查找请求规则对应的python脚本是否已经加载到内存中,如果通过查找确定已经成功加载python脚本则执行步骤S008,否则,执行步骤S010。步骤S008:调用已经成功加载的python脚本,通过脚本函数处理,如果成功得到规则ID,则执行步骤S009,否则,执行步骤S010。步骤S009:根据规则ID向数据库接口模块请求具体规则信息,如果得到具体规则信息,执行步骤S011,否则执行步骤S010。步骤S010:向规则请求者返回处理失败响应。步骤S011:把得到的规则信息与用户其它相关信息组装成策略返回给策略请求者。综上所述,本发明具有以下特点:1)本发明使用python脚本实现规则的条件表达式。由于python简单、易学,因此使用python脚本实现规则的条件表达式非常容易;由于python具有丰富的库函数并具有可扩展性,因此,可以使用C扩展符合实际功能需要的python函数,进而实现各种类型规则的条件表达式;由于python支持多线程,在加载python环境时同时也可以一起加载python的多线程环境,这样,当多个规则请求同时到达时,可以得到并发处理,从而提高了处理策略请求的效率。2)本发明支持策略信息的动态更新与实时加载。当存在用户的策略信息有变更时,只需要在策略界面配置好,然后向数据同步模块发送消息,数据同步模块收到消息后会及时把新策略信息加载到内存数据库中。3)使用python脚本实现的规则的条件表达式具有很好的移植性。由于python是开源的,因此它具有可移植性。Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果小心地避免使用依赖于系统的特性,那么用python程序实现的规则的条件表达式无需修改就可以在众多平台上面运行。本规则生成系统除了可以用于IPMC设备之外,还可以用于SPCF(ServicePolicyControlFunction)等网络设备中。4)由于使用内存数据库完成用户规则信息的查询与存储,使得规则的获得的时间变得很短,进而缩短了策略响应的过程。上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1