一种实现非结构化补充数据业务的方法及装置制造方法

文档序号:7997175阅读:256来源:国知局
一种实现非结构化补充数据业务的方法及装置制造方法
【专利摘要】本发明公开了一种实现非结构化补充数据业务的方法及装置,包括:生成非结构化补充数据业务USSD消息,所述USSD消息中包含参数的参数标签和对参数的参数值进行逻辑修改的函数的函数标签,所述函数标签中包含函数所要修改的参数的参数标签;在发送所述USSD消息前,扫描所述USSD消息中的参数标签,将扫描到的参数标签替换为对应的参数值;扫描所述USSD消息中的函数标签,将函数标签中的参数标签对应的参数值作为入参数调用函数,进行函数处理,采用函数处理后的参数值在USSD消息中替换函数所要修改的参数的参数值。本发明可以实现运营商对菜单内容需求的更改,可以快速实现运营商对USSD业务个性改动要求。
【专利说明】一种实现非结构化补充数据业务的方法及装置

【技术领域】
[0001]本发明涉及电信通讯领域,尤其涉及一种实现非结构化补充数据业务的方法及装置。

【背景技术】
[0002]智能网是一个用于生成和提供业务的体系结构,其最重要的特点是快速方便、灵活经济的提供各种菜单和消息服务。USSD(非结构化补充数据业务)作为预付费智能业务中的重要增值业务,得到了快速的发展和应用,在查询余额、充值、更改套餐以及提供灵活丰富的内容服务(Service Provider)等应用中,USSD都提供了很丰富的应用。为用户提供了更多的智能化的服务,也为运营商取得了不错的经济效益。
[0003]USSD应用,由于其方便、快捷、安全性等优点越来越多的被推广应用,其提供的增值服务被越来越多的应用,比如查询、充值、转账、代缴费服务、银行服务和股票服务等等,在极大的方便了广大用户的同时,增加了运营商的经济效益,但是针对内容丰富的USSD菜单和消息内容,在很多时候,运营商需要根据业务特性的需要,对USSD菜单内容进行调整和修改,特别是对有参数显示的动态菜单内容的修改。
[0004]传统的方式,对静态菜单内容的修改可以配置解决,但对动态菜单内容的修改,涉及业务逻辑的更改,往往需要更改业务版本,修改的过程包括:提出更改需求,进入业务更改流程,接下来是版本研发流程、测试流程和升级流程等待一系列的需求更改流程,这样就导致业务更改的周期非常长,不能适应快速响应的要求。很多时候,运营商提出的是极小的逻辑更改,这种逻辑相对于当前在用的业务版本,可能是没有这个逻辑处理功能,如果要想实现必须进入版本变更的流程,针对各个运营商的这种特有的小改动需求,而业务版本又不可能全部预先解决,一旦遇到业务版本没有这种逻辑处理功能,往往导致业务版本更改,进入较长的业务更改周期。


【发明内容】

[0005]本发明要解决的技术问题是提供一种实现非结构化补充数据业务的方法及装置,能够在不修改业务模板的情况下,对USSD业务进行改进。
[0006]为解决上述技术问题,本发明的一种实现非结构化补充数据业务的方法,包括:
[0007]生成非结构化补充数据业务USSD消息,所述USSD消息中包含参数的参数标签和对参数的参数值进行逻辑修改的函数的函数标签,所述函数标签中包含函数所要修改的参数的参数标签;
[0008]在发送所述USSD消息前,扫描所述USSD消息中的参数标签,将扫描到的参数标签替换为对应的参数值;扫描所述USSD消息中的函数标签,将函数标签中的参数标签对应的参数值作为入参数调用函数,进行函数处理,采用函数处理后的参数值在USSD消息中替换函数所要修改的参数的参数值。
[0009]进一步地,所述函数包含原函数和用户函数,所述对参数的参数值进行逻辑修改的函数的函数标签为用户函数的函数标签;
[0010]所述将函数标签中的参数标签对应的参数值作为入参数调用函数,包括:在扫描到用户函数的函数标签后,从预先配置的用户函数表中查询用户函数对应的原函数,并查询调用对应的原函数的入参数配置和出参数配置,在用户函数包含配置的附加入参数时,采用函数标签中的参数标签对应的参数值和附加入参数调用对应的原函数,并根据出参数配置从原函数的处理结果中得到所述函数处理后的参数值。
[0011]进一步地,根据出参数配置从原函数的处理结果中得到所述函数处理后的参数值,包括:
[0012]所述原函数的处理结果中包含多个出参数,所述出参数配置包含选择的出参数的序号,根据选择的出参数的序号从所述原函数的处理结果中选择出参数,作为所述函数处理后的参数值。
[0013]进一步地,还包括:
[0014]所述用户函数表中还包含语言配置,所述出参数配置中还包含针对各种语言的附加说明,在从所述原函数的处理结果中选择出参数后,根据所述语言配置将对应语言的附加说明和选择的出参数共同作为所述函数处理后的参数值。
[0015]进一步地,所述函数为原函数,所述对参数的参数值进行逻辑修改的函数的函数标签为原函数的函数标签;
[0016]所述将函数标签中的参数标签对应的参数值作为入参数调用函数,包括:在扫描到原函数的函数标签后,在函数标签中包含附加入参数时,采用附加入参数和原函数的函数标签中的参数标签对应的参数值调用原函数,并从原函数的处理结果中得到所述函数处理后的参数值。
[0017]进一步地,一种实现非结构化补充数据业务的装置,包括:消息生成模块、参数替换模块和函数处理模块,其中:
[0018]所述消息生成模块,用于生成非结构化补充数据业务USSD消息,所述USSD消息中包含参数的参数标签和对参数的参数值进行逻辑修改的函数的函数标签,所述函数标签中包含函数所要修改的参数的参数标签;
[0019]所述参数替换模块,用于在发送所述USSD消息前,扫描所述USSD消息中的参数标签,将扫描到的参数标签替换为对应的参数值;
[0020]所述函数处理模块,用于扫描所述USSD消息中的函数标签,将函数标签中的参数标签对应的参数值作为入参数调用函数,进行函数处理,采用函数处理后的参数值在USSD消息中替换函数所要修改的参数的参数值。
[0021]进一步地,所述函数包含原函数和用户函数,所述对参数的参数值进行逻辑修改的函数的函数标签为用户函数的函数标签;
[0022]所述函数处理模块,具体用于在扫描到用户函数的函数标签后,从预先配置的用户函数表中查询用户函数对应的原函数,并查询调用对应的原函数的入参数配置和出参数配置,在用户函数包含配置的附加入参数时,采用函数标签中的参数标签对应的参数值和附加入参数调用对应的原函数,并根据出参数配置从原函数的处理结果中得到所述函数处理后的参数值。
[0023]进一步地,在所述原函数的处理结果中包含多个出参数,所述出参数配置包含选择的出参数的序号;
[0024]所述函数处理模块,具体用于根据选择的出参数的序号从所述原函数的处理结果中选择出参数,作为所述函数处理后的参数值。
[0025]进一步地,所述用户函数表中还包含语言配置,所述出参数配置中还包含针对各种语言的附加说明;
[0026]所述函数处理模块,还用于在从所述原函数的处理结果中选择出参数后,根据所述语言配置将对应语言的附加说明和选择的出参数共同作为所述函数处理后的参数值。
[0027]进一步地,所述函数为原函数,所述对参数的参数值进行逻辑修改的函数的函数标签为原函数的函数标签;
[0028]所述函数处理模块,具体用于在扫描到原函数的函数标签后,在函数标签中包含附加入参数时,采用附加入参数和原函数的函数标签中的参数标签对应的参数值调用原函数,并从原函数的处理结果中得到所述函数处理后的参数值。
[0029]综上所述,本发明在USSD业务中,通过在USSD消息中进行函数处理,针对运营商提出的消息内容的改动,可以仅仅通过函数来快速解决,不会影响其它业务模块,也不影响其它现有的功能,就可以实现运营商对菜单内容需求的更改,可以快速实现运营商对USSD业务个性改动要求,有利于运营商的增值业务的应用和推广,充分体现了 USSD增值业务的灵活性。

【专利附图】

【附图说明】
[0030]图1是本发明实施方式的实现USSD的方法的流程图;
[0031]图2是本发明实施方式的实现USSD的装置的架构图。

【具体实施方式】
[0032]本实施方式提供了一种实现USSD业务的方法,通过在USSD消息中实现函数功能,可以快速实现运营商的改动需求,从而满足运营商特有的个性化的改动需求,同时实现快速响应市场变更要求,非常利于USSD增值业务的应用和推广。
[0033]在很多情况下,运营商会提出小的改动需求,导致增加逻辑处理,这种逻辑处理虽然有可能很简单,但是如果业务版本没有这种逻辑处理,那么最终还是要通过修改整个业务版本来解决问题。本实施方式提供的函数解决方法,仅仅需要提供实现这种改动的函数,再加上适当配置应用即可解决问题,而不需要对整个业务版本或其它模块进行修改,也不需要进行较长周期的版本变更流程,从而快速实现USSD消息内容灵活多变的要求,具体内容如下:
[0034](I)针对具体的问题,需要提供具体解决问题的函数,这个函数采用标准的存储过程脚本语言来书写,也就是说,函数编写,采用存储过程的脚本语言,一般有Oracle和Sybase脚本语言,需要根据具体的业务应用来决定采用哪种数据库。函数的编写制定可以是程序员来实现也可以是维护人员来实现,可以在数据库客户端进行调试通过,也可以在业务产品的web界面上进行调试,直到成功运行。
[0035](2)如何将能解决问题的函数,加载运用到USSD消息中是本实施方式的关键,本实施方式采用参数替换和函数处理解决该问题。
[0036]参数替换就是首先对USSD消息中的参数(参数标签)进行扫描,然后逐个将参数标签替换为参数值。
[0037]函数处理是对整个消息进行函数扫描,如果有函数标签,再对函数进行调用处理和函数结果的替换处理。
[0038]所有USSD消息中,都可以配置参数,参数的参数标签为〈:X〉,其中的〈: > 表示参数,需要进行参数标签替换,其中的X为需要替换的参数的序号,当然X也可以是具体的参数名称,具体由实现的系统决定。当调用消息时,首先扫描消息内容中是否有参数标签需要替换,如果有,则完成所有的参数标签的替换,包括USSD消息中的函数标签中的参数标签。
[0039]函数处理:所有USSD消息中,都支持配置函数功能,函数标签定义为~fxxx?: 1>,...),其中~为函数前缀,fxxx是函数名称,<:1>表示函数标签中的参数的参数标签,函数处理的过程中,在扫描到函数标签后,认为遇到了函数处理,需要进行函数处理,会进行函数调用,然后将函数调用的结果在原来的USSD消息中进行替换。
[0040]本实施方式中定义两种函数,一种是原函数,一种是用户函数,原始函数为实际对USSD消息中的参数进行逻辑修改的函数。用户使用的函数可以是原函数,也可以是用户函数,用户函数可以看成是原函数的实例,优选使用用户函数,使用用户函数可以简化USSD消息的配置过程,通过用户函数来找到对应的原函数,然后实现函数调用,这样就可以实现通过用户函数的一次配置,实现应用简单的效果。当然,当原函数的出入参数比较简单的时候,也可以在消息中直接使用原函数。
[0041]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0042]在USSD应用中,与用户交互的主要是菜单和消息,比如查询余额消息中,静态的内容,一般可以直接配置静态的消息内容,但是对动态的内容,如查询消息中的余额和日期,运营商对其中的有效期的日期格式需要进行修改,或者余额的显示精度,如果业务版本没有考虑到这种变换,那么即使是这种小改动,也意味着需要对整个业务版本进行修改,那么将进入研发和测试周期,还有升级周期,本实施方式以此为例,说明如何通过本实施方式的函数处理方式灵活快速的满足运营商需求,以下用到函数编写以Sybase数据库脚本语言为例。
[0043]本实施方式中消息中要支持参数和函数功能,参数支持,可以是简单的变量支持,也是复杂的变量支持。参数采用参数标签来表示,比如在消息中:您的余额为〈:1>,有效期为〈:2>,这里的〈:1>表示余额,〈:2>表示有效期,那么在消息中遇到这种参数标签<:x>都认为是参数,其中X为参数的序号,消息中支持参数有了一定的灵活性,但是遇到参数逻辑变换时,就会遭遇要修改业务版本。
[0044]本实施方式是在消息中,增加函数处理方法,来解决这一问题。与参数标签类似,也需要有函数标签,本实施方式中采用符号表示函数前缀,比如~fr(〈:l>,n),表示一个函数,~为函数前缀,表示后面跟随为一个函数处理,fr为函数名称,该函数名称可以是用户定义的一个函数名称,也可以是原函数名称,<:1>表示为要修改的参数的参数标签,η为为附加入参数,可以是固定常量,比如是一个数值等,也可以没有,这个要根据具体的函数功能和实现来决定。函数处理一般要调用很多入参数,这样在实际消息中调用时,每次都要写全调用的入参数,有时候比较麻烦。
[0045]比如,余额处理函数,需要支持精度处理,比如12345678是原始余额,精度是4位,显示精度是2位,采用四舍五入的方式处理,函数是money (金额,精度,显示精度,处理方式),经过函数处理后金额显示为1234.57,这样在消息中,每次都调用比较繁琐,本实施方式采用原函数和用户函数调用来解决,最终调用的函数是原函数,用户调用的函数可以精简,比如,用户仅仅需要每次调用(金额),用户调用的函数称为用户函数,系统实际调用的函数称为原函数。这样USSD消息中调用~fm(12345678),结果同样为1234.57。
[0046]在实现本实施方式的USSD的方法前,需要进行USSD消息的配置,包括配置USSD消息的消息内容,消息中的参数和对参数的参数值进行逻辑修改的函数,其中,参数采用参数标签表示,函数参数函数标签表示。完成USSD消息的配置后,在收到业务码时,生成对应的USSD消息。
[0047]如图1所示,本实施方式的实现USSD的方法,包括:
[0048]步骤101:在接收到业务码,生成USSD消息后,对整个USSD消息进行参数扫描,将消息中的参数标签全部更换为真实的参数值;
[0049]注意,参数标签的替换包括消息中的函数以外的参数标签的替换和函数标签中包含的参数标签的替换。
[0050]经过参数标签的替换后,函数中的参数标签也会被替换为参数值,比如〈:1>表示余额的参数标签,如用户的余额为12345678,函数调用为~fm(〈:l>)表示要对余额参数进行一个函数处理,处理为合适的显示方式,那么经过参数标签替换后,消息中的函数变为
(12345678)。
[0051]步骤102:对整个USSD消息进行函数扫描和替换,当扫描到函数前缀~时,根据开发语法分析后面的函数,获取到函数名为fm,入参数为:12345678 ;
[0052]步骤103:将函数名称作为索引查询用户函数表userfunc,找到用户函数对应的原函数为money函数,根据userfunc表中的出入参数配置,获知money函数调用需要三个参数,其中两个附加入参数在该表中的Inlist中;
[0053]在确定原函数后,在基本函数表basefunc中插入一条原函数的记录,表示注册原函数。基础函数表插入的纪录,是原函数调用的基本描述,比如出入参数、参数要求和格式以及结果等,表I为基础函数表的不例。
[0054]表I

【权利要求】
1.一种实现非结构化补充数据业务的方法,包括: 生成非结构化补充数据业务USSD消息,所述USSD消息中包含参数的参数标签和对参数的参数值进行逻辑修改的函数的函数标签,所述函数标签中包含函数所要修改的参数的参数标签; 在发送所述USSD消息前,扫描所述USSD消息中的参数标签,将扫描到的参数标签替换为对应的参数值;扫描所述USSD消息中的函数标签,将函数标签中的参数标签对应的参数值作为入参数调用函数,进行函数处理,采用函数处理后的参数值在USSD消息中替换函数所要修改的参数的参数值。
2.如权利要求1所述的方法,其特征在于: 所述函数包含原函数和用户函数,所述对参数的参数值进行逻辑修改的函数的函数标签为用户函数的函数标签; 所述将函数标签中的参数标签对应的参数值作为入参数调用函数,包括:在扫描到用户函数的函数标签后,从预先配置的用户函数表中查询用户函数对应的原函数,并查询调用对应的原函数的入参数配置和出参数配置,在用户函数包含配置的附加入参数时,采用函数标签中的参数标签对应的参数值和附加入参数调用对应的原函数,并根据出参数配置从原函数的处理结果中得到所述函数处理后的参数值。
3.如权利要求2所述的方法,其特征在于,根据出参数配置从原函数的处理结果中得到所述函数处理 后的参数值,包括: 所述原函数的处理结果中包含多个出参数,所述出参数配置包含选择的出参数的序号,根据选择的出参数的序号从所述原函数的处理结果中选择出参数,作为所述函数处理后的参数值。
4.如权利要求3所述的方法,其特征在于,还包括: 所述用户函数表中还包含语言配置,所述出参数配置中还包含针对各种语言的附加说明,在从所述原函数的处理结果中选择出参数后,根据所述语言配置将对应语言的附加说明和选择的出参数共同作为所述函数处理后的参数值。
5.如权利要求1所述的方法,其特征在于: 所述函数为原函数,所述对参数的参数值进行逻辑修改的函数的函数标签为原函数的函数标签; 所述将函数标签中的参数标签对应的参数值作为入参数调用函数,包括:在扫描到原函数的函数标签后,在函数标签中包含附加入参数时,采用附加入参数和原函数的函数标签中的参数标签对应的参数值调用原函数,并从原函数的处理结果中得到所述函数处理后的参数值。
6.一种实现非结构化补充数据业务的装置,包括:消息生成模块、参数替换模块和函数处理模块,其中: 所述消息生成模块,用于生成非结构化补充数据业务USSD消息,所述USSD消息中包含参数的参数标签和对参数的参数值进行逻辑修改的函数的函数标签,所述函数标签中包含函数所要修改的参数的参数标签; 所述参数替换模块,用于在发送所述USSD消息前,扫描所述USSD消息中的参数标签,将扫描到的参数标签替换为对应的参数值;所述函数处理模块,用于扫描所述USSD消息中的函数标签,将函数标签中的参数标签对应的参数值作为入参数调用函数,进行函数处理,采用函数处理后的参数值在USSD消息中替换函数所要修改的参数的参数值。
7.如权利要求6所述的装置,其特征在于: 所述函数包含原函数和用户函数,所述对参数的参数值进行逻辑修改的函数的函数标签为用户函数的函数标签; 所述函数处理模块,具体用于在扫描到用户函数的函数标签后,从预先配置的用户函数表中查询用户函数对应的原函数,并查询调用对应的原函数的入参数配置和出参数配置,在用户函数包含配置的附加入参数时,采用函数标签中的参数标签对应的参数值和附加入参数调用对应的原函数,并根据出参数配置从原函数的处理结果中得到所述函数处理后的 参数值。
8.如权利要求7所述的装置,其特征在于: 在所述原函数的处理结果中包含多个出参数,所述出参数配置包含选择的出参数的序号; 所述函数处理模块,具体用于根据选择的出参数的序号从所述原函数的处理结果中选择出参数,作为所述函数处理后的参数值。
9.如权利要求8所述的装置,其特征在于: 所述用户函数表中还包含语言配置,所述出参数配置中还包含针对各种语言的附加说明; 所述函数处理模块,还用于在从所述原函数的处理结果中选择出参数后,根据所述语言配置将对应语言的附加说明和选择的出参数共同作为所述函数处理后的参数值。
10.如权利要求6所述的装置,其特征在于: 所述函数为原函数,所述对参数的参数值进行逻辑修改的函数的函数标签为原函数的函数标签; 所述函数处理模块,具体用于在扫描到原函数的函数标签后,在函数标签中包含附加入参数时,采用附加入参数和原函数的函数标签中的参数标签对应的参数值调用原函数,并从原函数的处理结果中得到所述函数处理后的参数值。
【文档编号】H04W4/14GK104053135SQ201310079449
【公开日】2014年9月17日 申请日期:2013年3月13日 优先权日:2013年3月13日
【发明者】魏学松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1