用于实现计费的方法、装置和系统与流程

文档序号:14022550阅读:243来源:国知局
本发明涉及计费领域,特别涉及一种用于实现计费的方法、装置和系统。
背景技术
::电信主要产品包含移动电话、有线宽带、普通电话、itv等,目前营业前台主要销售单产品套餐或融合套餐。电信套餐的基本形态为一定的套餐费中包含某类或某几类产品的业务使用量的组合。业务使用量在电信计费专业被称为累积量。普遍存在用户并发使用多种业务,拥有多个累积量或多个用户共享累积量的情况。目前采用累积量锁技术来保证电信计费批价的准确性。累积量锁是指第一个事务要更新累积量之前,将查询到的累积量明细写入累积量锁表(ratable_lock)中。如果在没做累积量更新操作,没有将这些数据从累积量锁表中删除的情况下,若有第二个事务也要更新累积量,查询累积量后会发现累积量锁表中已经有相同记录,则会返回累积量锁冲突,这种锁冲突常常发生。目前,ocs(onlinechargingsystem,在线计费系统)平台与abm(accountbalancemanagement,余额管理)平台之间使用累积量锁对累积量操作方式的情况如图1所示,例如,1个ocs用户,存在6条累积量明细,明细情况如表1所示。表1其中,在图1中包括以下步骤:步骤101,业务网元向ocs平台发送ccr(creditcontrolrequest,信用控制请求)初始信息。步骤102,ocs平台向abm平台发送累积量查询包。步骤103,abm平台根据累积量查询累积量。步骤104,abm平台将累积量信息提供给ocs平台。步骤105,ocs平台将累积量信息记入ratableevent,以写入ocs会话中。步骤106,ocs平台向业务网元发送cca(creditcontrolanswer,信用控制响应)初始信息。步骤107,业务网元向ocs平台发送ccr更新信息。步骤108,ocs平台利用ocs会话信息中的ratableevent中的累积量信息进行批价处理。步骤109,ocs平台向业务网元发送cca更新信息。步骤110,业务网元向ocs平台发送ccr结束信息。步骤111,ocs平台向abm平台发送累积量查询包,其中该累积量查询包中带上锁标识。其中,在ccr结束信息到达ocs时,ocs调用批价模块,组织出需要查询的累积量信息。因为定价段落中,可能根据累积量不同情况,走入不同的定价段落,此时批价模块不清楚该用户能使用的所有累积量明细而无法做批价,因此只能到abm去查出所有该用户的所有累积量明细。步骤112,abm平台根据累积量查询包查询累积量。步骤113,abm平台将查询到的累积量明细写入累积量锁表(ratable_lock)中,以表示锁住这些累积量。步骤114,abm平台向ocs平台返回查询到的累积量信息。步骤115,ocs平台根据最新的累积量信息进行批价处理。步骤116,在批价处理完成后,ocs平台向abm平台发送扣费结束包,以请求更新累积量和余额。步骤117,abm平台更新累积量和余额。步骤118,abm平台从累积量锁表中删除累积量明细记录,以表示累积量解锁。步骤119,abm平台向ocs平台返回扣费结果。步骤120,ocs平台向业务网元发送cca结束信息。其中,在步骤113中,6条累积量都写入累积量锁表中。假设,此时是语音话单触发,只可能使用到1001、1003、1004这3条累积量。但实际上6条累积量都已锁住。此外,如果有该用户的短信话单触发,即使只会使用到1002这1条累积量,也会在查询累积量时因为累积量被锁住,导致abm回复ocs系统失败。目前,产生累积量锁冲突后的处理方法有:(1)将第二个事务的累积量查询包发送给abm,然后重新进入消息队列排队等候下一次处理。将导致处理时间延长;(2)将累积量表中的超时记录强制删除,插入新的第二次累积量查询的记录。需要等待事务超时,将导致处理时间延长;(3)返回累积量查询失败的cca给ocs。将导致事务处理失败。通过上述分析可知,累积量锁机制保证了并发累积量操作时的准确性,但并没有解决并发问题,同时引入累积量锁的范围过大,导致有些累积量明细没必要的锁,降低了并发处理性能。技术实现要素:本发明实施例提供一种用于实现计费的方法、装置和系统,通过采用版本校验机制可以在保证并发累积量操作准确性的基础上,解决累积量锁范围过大导致不必要的累积量锁冲突的问题,从而提升计费并发处理性能。根据本发明的一个方面,提供一种用于实现计费的方法,包括:在接收到业务网元发送的信用控制请求结束信息后,向余额管理abm平台发送累积量查询请求,以便从abm平台获取带有当前累积量版本信息的累积量信息;根据获取的累积量信息进行批价处理;在批价处理结束后,向abm平台发送扣费结束信息,其中扣费结束信息中包括当前累积量版本信息,以便abm平台在当前累积量版本信息经过检验后更新累积量和余额;在abm平台更新累积量和余额成功的情况下,向业务网元发送用于指示计费成功的信用控制响应结束信息。在一个实施例中,在abm平台更新累积量和余额失败的情况下,统计更新失败次数;在当前更新失败次数未超出预定门限的情况下,重复执行向abm平台发送累积量查询请求的步骤。在一个实施例中,在当前更新失败次数达到预定门限的情况下,向业务网元发送用于指示计费异常的信用控制响应结束信息。在一个实施例中,在接收到业务网元发送的信用控制请求初始信息后,向abm平台发送累积量查询包,以便从abm平台接收到带有当前累积量版本信息的累积量信息;将接收到的累积量信息存入指定存储空间中;向业务网元发送信用控制响应初始信息。在一个实施例中,在接收到业务网元发送的信用控制请求更新信息后,利用指定存储空间中具有最新累积量版本信息的累积量信息进行批价;向业务网元发送信用控制响应更新信息。根据本发明的另一方面,提供一种用于实现计费的在线计费系统平台,包括第一接口单元、第二接口单元和批价处理单元,其中:第二接口单元,用于在第一接口单元接收到业务网元发送的信用控制请求结束信息后,向余额管理abm平台发送累积量查询请求,以便从abm平台获取带有当前累积量版本信息的累积量信息;在接收到abm平台发送的用于指示更新累积量和余额成功的指示信息的情况下,指示第一接口单元向业务网元发送用于指示计费成功的信用控制响应结束信息;批价处理单元,用于根据获取的累积量信息进行批价处理;在批价处理结束后,指示第二接口单元向abm平台发送扣费结束信息,其中扣费结束信息中包括当前累积量版本信息,以便abm平台在当前累积量版本信息经过检验后更新累积量和余额。在一个实施例中,在线计费系统平台还包括统计单元,其中:统计单元,用于在第二接口单元接收到abm平台发送的用于指示更新累积量和余额失败的指示信息的情况下,统计更新失败次数;在当前更新失败次数未超出预定门限的情况下,指示第二接口单元重复执行向abm平台发送累积量查询请求的操作。在一个实施例中,统计单元还用于在当前更新失败次数达到预定门限的情况下,指示第一接口单元向业务网元发送用于指示计费异常的信用控制响应结束信息。在一个实施例中,在线计费系统平台还包括存储控制单元,其中:第二接口单元还用于在第一接口单元接收到业务网元发送的信用控制请求初始信息后,向abm平台发送累积量查询包,以便从abm平台接收到带有当前累积量版本信息的累积量信息;存储控制单元,用于将接收到的累积量信息存入指定存储空间中;并指示第一接口单元向业务网元发送信用控制响应初始信息。在一个实施例中,批价处理单元还用于在第一接口单元接收到业务网元发送的信用控制请求更新信息后,利用指定存储空间中具有最新累积量版本信息的累积量信息进行批价,并指示第一接口单元向业务网元发送信用控制响应更新信息。根据本发明的又一方面,提供一种用于实现计费的系统,包括上述任一实施例涉及的在线计费系统ocs平台,以及余额管理abm平台,用于根据ocs平台发送的累积量查询请求进行累积量查询,并将查询的累积量信息提供给ocs平台,其中累积量信息中包括当前累积量版本信息;在接收到ocs平台发送的扣费结束信息后,若扣费结束信息中包括的累积量版本信息与当前累积量版本信息相一致,则更新累积量和余额,并向ocs平台发送用于指示更新累积量和余额成功的指示信息。在一个实施例中,abm平台还用于在扣费结束信息中包括的累积量版本信息与当前累积量版本信息不一致的情况下,向ocs平台发送用于指示更新累积量和余额失败的指示信息。在一个实施例中,abm平台还用于根据ocs平台发送的累积量查询包进行累积量查询,并将查询的累积量信息提供给ocs平台,其中累积量信息中包括当前累积量版本信息。通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中ocs与abm之间使用累积量锁对累积量操作的示意图。图2为本发明用于实现计费的方法一个实施例的示意图。图3为本发明用于实现计费的在线计费系统平台一个实施例的示意图。图4为本发明用于实现计费的在线计费系统平台另一实施例的示意图。图5为本发明用于实现计费的系统一个实施例的示意图。图6为本发明计费处理一个实施例的示意图。图7为本发明计费处理另一实施例的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。图2为本发明用于实现计费的方法一个实施例的示意图。可选地,本实施例的方法步骤可由ocs平台执行。其中:步骤201,在接收到业务网元发送的信用控制请求结束信息后,向余额管理abm平台发送累积量查询请求,以便从abm平台获取带有当前累积量版本信息的累积量信息。步骤202,根据获取的累积量信息进行批价处理。步骤203,在批价处理结束后,向abm平台发送扣费结束信息,其中扣费结束信息中包括当前累积量版本信息,以便abm平台在当前累积量版本信息经过检验后更新累积量和余额。步骤204,在abm平台更新累积量和余额成功的情况下,向业务网元发送用于指示计费成功的信用控制响应结束信息。根据本发明上述实施例提供的用于实现计费的方法,通过采用版本校验机制可以在保证并发累积量操作准确性的基础上,解决累积量锁范围过大导致不必要的累积量锁冲突的问题,从而提升计费并发处理性能。例如,在abm侧的累积量表上,增加一个字段:版本号(version_num),每条累积量记录的版本号字段初始值为0。abm返回给ocs的cca的累积量明细中需要增加一个avp(attributevaluepair,属性值对),用来携带查询到的版本号信息。相应内容如表2所示。表2其中,abm侧每次更新累积量时,比对当前记录中的版本号与要更新的累积量结果中的版本号是否一致,如果不一致则返回更新失败,如果一致则继续更新,并将版本号累计加1处理。可选地,在abm平台更新累积量和余额失败的情况下,ocs需要统计更新失败次数。在当前更新失败次数未超出预定门限的情况下,重复执行向abm平台发送累积量查询请求的步骤。而在当前更新失败次数达到预定门限的情况下,向业务网元发送用于指示计费异常的信用控制响应结束信息。为了增加累积量更新失败的重处理机制,进一步增加批价事件属性字段,具体如表3所示。表3例如,当abm更新累积量时,发现累积量版本号被变更不一致,导致累积量更新失败时,返回约定的错误返回码:131231。其他原因变更失败时,返回相应的失败返回码。ocs记录同一个会话从abm获取到131231返回码的次数。ocs接到abm返回的响应,如果返回码为131231,则重新回到发起累积量查询包的状态中,并记录131231的次数+1,放在批价事件ratableevent的ratable_accu_version_error属性中。这个属性的取值,超过2次后。ocs将该会话置为异常会话,不再和abm做交互,通知网元下离线应急话单后重处理。例如,在正常结束时,ocs向业务网元返回的cca中携带码2001,若在错误次数超限时返回的cca中携带码3004。可选地,ocs可在接收到业务网元发送的信用控制请求初始信息后,向abm平台发送累积量查询包,以便从abm平台接收到带有当前累积量版本信息的累积量信息,将接收到的累积量信息存入指定存储空间中,向业务网元发送信用控制响应初始信息。例如,可将接收到的累积量信息存入指定的二级缓存中。可选地,ocs还可在接收到业务网元发送的信用控制请求更新信息后,利用指定存储空间中具有最新累积量版本信息的累积量信息进行批价,向业务网元发送信用控制响应更新信息。图3为本发明用于实现计费的在线计费系统平台一个实施例的示意图。如图3所示,该ocs平台可包括第一接口单元301、第二接口单元302和批价处理单元303,其中:第二接口单元302用于在第一接口单元301接收到业务网元发送的信用控制请求结束信息后,向余额管理abm平台发送累积量查询请求,以便从abm平台获取带有当前累积量版本信息的累积量信息;在接收到abm平台发送的用于指示更新累积量和余额成功的指示信息的情况下,指示第一接口单元301向业务网元发送用于指示计费成功的信用控制响应结束信息。批价处理单元303用于根据获取的累积量信息进行批价处理;在批价处理结束后,指示第二接口单元302向abm平台发送扣费结束信息,其中扣费结束信息中包括当前累积量版本信息,以便abm平台在当前累积量版本信息经过检验后更新累积量和余额。基于本发明上述实施例提供的在线计费系统平台,通过采用版本校验机制可以在保证并发累积量操作准确性的基础上,解决累积量锁范围过大导致不必要的累积量锁冲突的问题,从而提升计费并发处理性能。图4为本发明用于实现计费的在线计费系统平台一个实施例的示意图。与图3所示实施例相比,除第一接口单元401、第二接口单元402和批价处理单元403之外,还包括统计单元404。其中:统计单元404用于在第二接口单元402接收到abm平台发送的用于指示更新累积量和余额失败的指示信息的情况下,统计更新失败次数;在当前更新失败次数未超出预定门限的情况下,指示第二接口单元402重复执行向abm平台发送累积量查询请求的操作。可选地,统计单元404还用于在当前更新失败次数达到预定门限的情况下,指示第一接口单元401向业务网元发送用于指示计费异常的信用控制响应结束信息。可选地,在图4所示实施例中,还进一步包括存储控制单元405。其中:第二接口单元402还用于在第一接口单元401接收到业务网元发送的信用控制请求初始信息后,向abm平台发送累积量查询包,以便从abm平台接收到带有当前累积量版本信息的累积量信息。存储控制单元405用于将接收到的累积量信息存入指定存储空间中,并指示第一接口单元401向业务网元发送信用控制响应初始信息。可选地,批价处理单元403还用于在第一接口单元401接收到业务网元发送的信用控制请求更新信息后,利用指定存储空间中具有最新累积量版本信息的累积量信息进行批价,并指示第一接口单元401向业务网元发送信用控制响应更新信息。图5为本发明用于实现计费的系统一个实施例的示意图。如图5所示,该系统包括ocs平台501和abm平台502。其中,ocs平台501可以为图3或图4中任一实施例涉及的ocs平台。其中:abm平台502用于根据ocs平台501发送的累积量查询请求进行累积量查询,并将查询的累积量信息提供给ocs平台501,其中累积量信息中包括当前累积量版本信息;在接收到ocs平台501发送的扣费结束信息后,若扣费结束信息中包括的累积量版本信息与当前累积量版本信息相一致,则更新累积量和余额,并向ocs平台502发送用于指示更新累积量和余额成功的指示信息。可选地,abm平台502还用于在扣费结束信息中包括的累积量版本信息与当前累积量版本信息不一致的情况下,向ocs平台501发送用于指示更新累积量和余额失败的指示信息。可选地,abm平台503还用于根据ocs平台501发送的累积量查询包进行累积量查询,并将查询的累积量信息提供给ocs平台501,其中累积量信息中包括当前累积量版本信息。下面通过具体示例对本发明进行说明。图6为本发明计费处理一个实施例的示意图。其中该实施例涉及了累积量版本号一致的处理情形。步骤601,业务网元向ocs平台发送ccr初始信息。步骤602,ocs平台向abm平台发送累积量查询包。步骤603,abm平台根据累积量查询累积量。步骤604,abm平台将累积量信息提供给ocs平台,其中累积量信中带有累积量版本信息。步骤605,ocs平台将累积量信息记入二级缓存中。步骤606,ocs平台向业务网元发送cca初始信息。步骤607,业务网元向ocs平台发送ccr更新信息。步骤608,ocs平台利用二级缓存中存储的累积量信息进行批价处理。步骤609,ocs平台向业务网元发送cca更新信息。步骤610,业务网元向ocs平台发送ccr结束信息。步骤611,ocs平台向abm平台发送累积量查询包。和现有技术相比,该累积量查询包中不需要带上锁标识。步骤612,abm平台根据累积量查询包查询累积量。步骤613,abm平台向ocs平台返回查询到的累积量信息,其中累积量信中带有累积量版本信息。步骤614,ocs平台根据最新的累积量信息进行批价处理。步骤615,在批价处理完成后,ocs平台向abm平台发送扣费结束包,以请求更新累积量和余额,其中扣费结束包中带有查询时得到的累积量版本信息。步骤616,abm平台在累积量版本信息一致的情况下更新累积量和余额。即,扣费结束包中携带的累积量版本信息与abm平台当前的累积量版本信息一致。步骤617,abm平台向ocs平台返回扣费结果。步骤618,ocs平台向业务网元发送cca结束信息。由于是正常结束,cca结束信息中带有标识2001。图7为本发明计费处理另一实施例的示意图。其中该实施例涉及了累积量版本号不一致时的处理情形。步骤701,业务网元向ocs平台发送ccr初始信息。步骤702,ocs平台向abm平台发送累积量查询包。步骤703,abm平台根据累积量查询累积量。步骤704,abm平台将累积量信息提供给ocs平台,其中累积量信中带有累积量版本信息。步骤705,ocs平台将累积量信息记入二级缓存中。步骤706,ocs平台向业务网元发送cca初始信息。步骤707,业务网元向ocs平台发送ccr更新信息。步骤708,ocs平台利用二级缓存中存储的累积量信息进行批价处理。步骤709,ocs平台向业务网元发送cca更新信息。步骤710,业务网元向ocs平台发送ccr结束信息。步骤711,ocs平台向abm平台发送累积量查询包。和现有技术相比,该累积量查询包中不需要带上锁标识。步骤712,abm平台根据累积量查询包查询累积量。步骤713,abm平台向ocs平台返回查询到的累积量信息,其中累积量信中带有累积量版本信息。步骤714,ocs平台根据最新的累积量信息进行批价处理。步骤715,在批价处理完成后,ocs平台向abm平台发送扣费结束包,以请求更新累积量和余额,其中扣费结束包中带有查询时得到的累积量版本信息。步骤716,abm平台判断扣费结束包中携带的累积量版本信息与abm平台当前的累积量版本信息一致,并仅在累积量版本信息一致的情况下更新累积量和余额。接下来,在更新成功时执行步骤717a,在更新不成功时执行步骤717b。步骤717a,abm平台向ocs平台返回用于指示更新成功的扣费结果。然后在步骤719a,ocs平台向业务网元发送cca结束信息,由于是正常结束,cca结束信息中带有标识2001。步骤717b,abm平台向ocs平台返回用于指示更新失败的扣费结果。其中扣费结果中带上预设的131231返回码。步骤718,ocs平台对更新失败次数进行统计。并判断统计的失败次数是否小于预设门限。若失败次数小于预设门限,则可返回步骤711重复执行更新操作。若失败次数达到预设门限,则执行步骤719b。步骤719b,ocs平台向业务网元发送cca结束信息。由于是次数超限,因此cca结束信息中带有标识3004。例如1个ocs用户,存在6条累积量明细,明细情况如表1所示。在ccr结束包(ccr_t)消息到达ocs时,ocs调用批价模块,组织出需要查询的累积量信息。因为定价段落中,存在可能根据累积量不同情况,走入不同的定价段落,此时批价模块不清楚该用户能使用的所有累积量明细而无法做批价,因此只能到abm去查出所有该用户的所有累积量明细。ocs加上版本信息封装成累积量查询包,到abm查询累积量。abm到累积量表查询累积量明细,并将包含版本信息的累积量查询结果返回给ocs。此时,返回给ocs的累积量明细有1001-1006这6条累积量,版本号均为0。5.ocs根据这些累积量信息做批价。假设,此时是语音话单触发,可能使用到1001、1003、1004这3条累积量,假设只用到了1001这条累积量,语音话单批价结束后,abm更新1001这条累积量的值并将版本号更新为1。同时,如果有该用户的短信话单触发,假设短信话单使用到1001这1条累积量,短信话单批价结束后,abm侧更新累积量时比对当前记录中的版本号与要更新的累积量结果中的版本号一致,1001这1条累积量更新成功,并且版本号更新为2。通过实施本发明,通过采用版本校验机制可以在保证并发累积量操作准确性的基础上,解决累积量锁范围过大导致不必要的累积量锁冲突的问题,从而提升计费并发处理性能。本发明可应用于电信运营商在线计费系统、离线计费系统的累积量并发处理。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1