本发明涉及通信领域,特别涉及一种扣费方法及装置。
背景技术:
在日常业务中,运营商在对用户进行扣费时,需要周期定时扣费时,通常是一次扣除,然而经常会遇到用户账户余额不足而导致扣费失败的情况,其实用户账户中是有余额只是不够一次扣费成功,并且也没给用户足够缓冲的时间来进行充值而直接导致业务的停止。或者用户账户刚好只够当前这种业务的扣费,而被一次把所有的费用扣光,不能保护基础费用,导致其他重要的基础业务受到影响。
技术实现要素:
本发明提供了一种扣费方法及装置,其目的是为了解决现有的扣费机制中,一次性扣费不能保护基础费用,导致其他重要的基础业务受到影响的问题。
为了达到上述目的,本发明的实施例提供了一种扣费方法,包括:
接收第一扣费请求,第一扣费请求中携带有当前时段需要扣费的定时扣费任务;
判断定时扣费任务中是否包含保护金额;
当定时扣费任务中有保护金额时,向在线计费系统发送携带有保护金额的冻结请求,冻结请求用于指示在线计费系统根据保护金额对用户账户余额进行冻结处理,用户账户余额中被冻结的金额大于或等于保护金额;
获取定时扣费任务中的正常扣费金额,并向在线计费系统发送携带有正常扣费金额的第二扣费请求,第二扣费请求用于指示在线计费系统根据正常扣费金额从经过冻结处理后的用户账户余额中进行扣费处理;
接收在线计费系统返回的与第二扣费请求对应的扣费结果。
优选地,在接收在线计费系统返回的与第二扣费请求对应的扣费结果之后,扣费方法还包括:
当扣费结果为扣费成功时,判断是否达到定时扣费任务的扣费结束时间;
当达到定时扣费任务的扣费结束时间时,将定时扣费任务的扣费状态修改为完成状态,并更新定时扣费任务;
当没有达到定时扣费任务的扣费结束时间时,计算出下次扣费时间,并将定时扣费任务的扣费状态修改为激活状态,并更新定时扣费任务。
优选地,该扣费方法还包括:
当扣费结果为扣费失败时,获取定时扣费任务中的分段扣费金额组和分段扣费周期,其中,分段扣费金额组包括多个金额相等或金额不相等的分段扣费金额,每个分段扣费金额对应一个分段扣费周期;
当达到分段扣费周期时,向在线计费系统请求从用户账户余额中尝试扣除与分段扣费周期对应的分段扣费金额,直到一个成功或者尝试完成。
优选地,该扣费方法还包括:
创建定时扣费任务,并将定时扣费任务存储至数据库中,定时扣费任务记录有扣费开始时间、下次扣费时间、扣费结束时间、正常扣费金额、欠费余额、正常扣费周期、分段扣费金额组、分段扣费周期、是否保护基础费用、保护金额和扣费状态中的一种或多种。
优选地,创建定时扣费任务,并将定时扣费任务存储至数据库中,包括:
获取用户的正常扣费周期、扣费开始时间、正常扣费金额以及用户账户余额;当用户账户余额小于等于正常扣费金额时,获取该用户预设的保护金额、分段扣费金额组以及分段扣费周期;
创建记录有正常扣费周期、扣费开始时间、正常扣费金额、保护金额、分段扣费金额组以及分段扣费周期的定时扣费任务,并将定时扣费任务存储至数据库中。
为了实现上述目的,本发明的实施例还提供了一种扣费装置,包括:
第一接收模块,用于接收第一扣费请求,第一扣费请求中携带有当前时段需要扣费的定时扣费任务;
第一判断模块,用于判断定时扣费任务中是否包含保护金额;
发送模块,用于当定时扣费任务中有保护金额时,向在线计费系统发送携带有保护金额的冻结请求,冻结请求用于指示在线计费系统根据保护金额对用户账户余额进行冻结处理,用户账户余额中被冻结的金额大于或等于保护金额;
获取模块,用于获取定时扣费任务中的正常扣费金额,并向在线计费系统发送携带有正常扣费金额的第二扣费请求,第二扣费请求用于指示在线计费系统根据正常扣费金额从经过冻结处理后的用户账户余额中进行扣费处理;
第二接收模块,用于接收在线计费系统返回的与第二扣费请求对应的扣费结果。
优选地,该扣费装置还包括:
第二判断模块,用于在第二接收模块接收在线计费系统返回的与第二扣费请求对应的扣费结果之后,当扣费结果为扣费成功时,判断是否达到定时扣费任务的扣费结束时间;
当达到定时扣费任务的扣费结束时间时,将定时扣费任务的扣费状态修改为完成状态,并更新定时扣费任务;
当没有达到定时扣费任务的扣费结束时间时,计算出下次扣费时间,并将定时扣费任务的扣费状态修改为激活状态,并更新定时扣费任务。
优选地,该扣费装置还包括:
周期获取模块,用于当扣费结果为扣费失败时,获取定时扣费任务中的分段扣费金额组和分段扣费周期,其中,分段扣费金额组包括多个金额相等或金额不相等的分段扣费金额,每个分段扣费金额对应一个分段扣费周期;
请求模块,用于当达到分段扣费周期时,向在线计费系统请求从用户账户余额中尝试扣除与分段扣费周期对应的分段扣费金额,直到一个成功或者尝试完成。
优选地,该扣费装置还包括:
创建模块,用于在第一接收模块接收第一扣费请求之前,创建定时扣费任务,并将定时扣费任务存储至数据库中,定时扣费任务记录有扣费开始时间、下次扣费时间、扣费结束时间、正常扣费金额、欠费余额、正常扣费周期、分段扣费金额组、分段扣费周期、是否保护基础费用、保护金额和扣费状态中的一种或多种。
优选地,创建模块包括:
获取子模块,用于获取用户的正常扣费周期、扣费开始时间、正常扣费金额以及用户账户余额;当用户账户余额小于等于正常扣费金额时,获取该用户预设的保护金额、分段扣费金额组以及分段扣费周期;
创建子模块,用于创建记录有正常扣费周期、扣费开始时间、正常扣费金额、保护金额、分段扣费金额组以及分段扣费周期的定时扣费任务,并将定时扣费任务存储至数据库中。
本发明的上述方案至少包括以下有益效果:
本发明提供的扣费方法及装置,当用户账户余额小于等于正常扣费金额时,在定时扣费任务中为用户添加预设的保护金额,首先对用户账户余额进行冻结处理,冻结一部分金额,再从经过冻结处理后的用户账户余额中进行扣费处理。同时为用户创建分段扣费周期金额组以及分段扣费周期,使在线计费系统进行分段周期扣费,一方面既完成了扣费的任务,另一方面也给用户提供一定的缓冲时间补充费用,提高了扣费的弹性,并且基础业务不受影响。
附图说明
图1表示本发明的第一实施例提供的扣费方法的基本步骤流程图;
图2表示本发明的第二实施例提供的扣费方法的基本步骤流程图;
图3表示本发明的第三实施例提供的扣费方法的基本步骤流程图;
图4表示本发明的第四实施例提供的扣费装置的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的问题,提供了一种扣费方法及装置。
第一实施例
参见图1,本发明的第一实施例提供了一种扣费方法,包括:
步骤101,接收第一扣费请求,第一扣费请求中携带有当前时段需要扣费的定时扣费任务。
其中,定时扣费任务包括当前时段需要扣除的费用。
步骤102,判断定时扣费任务中是否包含保护金额。
其中,保护金额是为了保护用户的基础业务不受影响而设置,当用户的账户余额不足以支付定时扣费任务中需要扣除的费用,则为该用户设置保护金额,以保护其他基础业务不受影响。
步骤103,当定时扣费任务中有保护金额时,向在线计费系统发送携带有保护金额的冻结请求,冻结请求用于指示在线计费系统根据保护金额对用户账户余额进行冻结处理,用户账户余额中被冻结的金额大于或等于保护金额。
其中,在线计费系统(Online Charging System,OCS)是一个实时的基于业务使用和系统进行交互计费的系统。在线计费系统在会话进行过程中收集计费信息,实现实时结算,能够解决用户实时信用控制、预付费使用数据业务和增值业务实时计费等问题,因此,需向在线计费系统发送冻结请求。
步骤104,获取定时扣费任务中的正常扣费金额,并向在线计费系统发送携带有正常扣费金额的第二扣费请求,第二扣费请求用于指示在线计费系统根据正常扣费金额从经过冻结处理后的用户账户余额中进行扣费处理。
其中,正常扣费金额即当前时段需要扣除的业务费用,而不包括保护金额。当用户账户余额被冻结后,从经过冻结处理后的用户账户余额中进行扣费处理。
步骤105,接收在线计费系统返回的与第二扣费请求对应的扣费结果。
本发明的上述实施例中,当定时扣费任务中有保护金额时,首先对用户账户余额进行冻结处理,冻结一部分金额,再从经过冻结处理后的用户账户余额中进行扣费处理。本发明通过保护金额保证用户的基础业务不会被中断,解决现有的扣费机制中,一次性扣费不能保护基础费用,导致其他重要的基础业务受到影响的问题。
第二实施例
参见图2,本发明的第二实施例提供了一种扣费方法,包括:
步骤201,接收第一扣费请求,第一扣费请求中携带有当前时段需要扣费的定时扣费任务。
步骤202,判断定时扣费任务中是否包含保护金额。
步骤203,当定时扣费任务中有保护金额时,向在线计费系统发送携带有 保护金额的冻结请求,冻结请求用于指示在线计费系统根据保护金额对用户账户余额进行冻结处理,用户账户余额中被冻结的金额大于或等于保护金额。
步骤204,获取定时扣费任务中的正常扣费金额,并向在线计费系统发送携带有正常扣费金额的第二扣费请求,第二扣费请求用于指示在线计费系统根据正常扣费金额从经过冻结处理后的用户账户余额中进行扣费处理。
步骤205,接收在线计费系统返回的与第二扣费请求对应的扣费结果。
步骤206,当扣费结果为扣费成功时,判断是否达到定时扣费任务的扣费结束时间。
步骤207,当达到定时扣费任务的扣费结束时间时,将定时扣费任务的扣费状态修改为完成状态,并更新定时扣费任务。
步骤208,当没有达到定时扣费任务的扣费结束时间时,计算出下次扣费时间,并将定时扣费任务的扣费状态修改为激活状态,并更新定时扣费任务。
本发明的上述实施例中,当在线计费系统返回的扣费结果为扣费成功时,继续判断是否到达定时扣费任务的结束时间,若到达则更新定时扣费任务以及扣费状态,否则计算出下次扣费时间并更新定时扣费任务以及扣费状态。
本发明的上述实施例中,该扣费方法还包括:
当扣费结果为扣费失败时,获取定时扣费任务中的分段扣费金额组和分段扣费周期,其中,分段扣费金额组包括多个金额相等或金额不相等的分段扣费金额,每个分段扣费金额对应一个分段扣费周期;
当达到分段扣费周期时,向在线计费系统请求从用户账户余额中尝试扣除与分段扣费周期对应的分段扣费金额,直到一个成功或者尝试完成。
本发明的上述实施例中,当在线计费系统返回的扣费结果为扣费失败时,进行分段周期扣费,每个分段扣费周期内扣除一定的金额。一方面既完成了扣费的任务,另一方面也给用户提供一定的缓冲时间补充费用,并且基础业务不受影响。
第三实施例
参见图3,本发明的第三实施例提供了一种扣费方法,包括:
步骤301,创建定时扣费任务,并将定时扣费任务存储至数据库中,定时扣费任务记录有扣费开始时间、下次扣费时间、扣费结束时间、正常扣费金额、 欠费余额、正常扣费周期、分段扣费金额组、分段扣费周期、是否保护基础费用、保护金额和扣费状态中的一种或多种。
步骤302,接收第一扣费请求,第一扣费请求中携带有当前时段需要扣费的定时扣费任务。
步骤303,判断定时扣费任务中是否包含保护金额。
步骤304,当定时扣费任务中有保护金额时,向在线计费系统发送携带有保护金额的冻结请求,冻结请求用于指示在线计费系统根据保护金额对用户账户余额进行冻结处理,用户账户余额中被冻结的金额大于或等于保护金额。
步骤305,获取定时扣费任务中的正常扣费金额,并向在线计费系统发送携带有正常扣费金额的第二扣费请求,第二扣费请求用于指示在线计费系统根据正常扣费金额从经过冻结处理后的用户账户余额中进行扣费处理。
步骤306,接收在线计费系统返回的与第二扣费请求对应的扣费结果。
本发明的上述实施例中,步骤301具体包括:
获取用户的正常扣费周期、扣费开始时间、正常扣费金额以及用户账户余额;当用户账户余额小于等于正常扣费金额时,获取该用户预设的保护金额、分段扣费金额组以及分段扣费周期;
创建记录有正常扣费周期、扣费开始时间、正常扣费金额、保护金额、分段扣费金额组以及分段扣费周期的定时扣费任务,并将定时扣费任务存储至数据库中。
本发明的上述实施例中,当用户账户余额小于等于正常扣费金额时,在定时扣费任务中为用户添加预设的保护金额,避免其他基础业务受到影响;同时为用户创建分段扣费周期金额组以及分段扣费周期,使在线计费系统进行分段周期扣费,一方面既完成了扣费的任务,另一方面也给用户提供一定的缓冲时间补充费用,提高了扣费的弹性,并且基础业务不受影响。
第四实施例
参见图4,本发明的第四实施例提供了一种扣费装置,包括:
第一接收模块401,用于接收第一扣费请求,第一扣费请求中携带有当前时段需要扣费的定时扣费任务;
第一判断模块402,用于判断定时扣费任务中是否包含保护金额;
发送模块403,用于当定时扣费任务中有保护金额时,向在线计费系统发送携带有保护金额的冻结请求,冻结请求用于指示在线计费系统根据保护金额对用户账户余额进行冻结处理,用户账户余额中被冻结的金额大于或等于保护金额;
获取模块404,用于获取定时扣费任务中的正常扣费金额,并向在线计费系统发送携带有正常扣费金额的第二扣费请求,第二扣费请求用于指示在线计费系统根据正常扣费金额从经过冻结处理后的用户账户余额中进行扣费处理;
第二接收模块405,用于接收在线计费系统返回的与第二扣费请求对应的扣费结果。
优选地,该扣费装置还包括:
第二判断模块,用于在第二接收模块405接收在线计费系统返回的与第二扣费请求对应的扣费结果之后,当扣费结果为扣费成功时,判断是否达到定时扣费任务的扣费结束时间;
当达到定时扣费任务的扣费结束时间时,将定时扣费任务的扣费状态修改为完成状态,并更新定时扣费任务;
当没有达到定时扣费任务的扣费结束时间时,计算出下次扣费时间,并将定时扣费任务的扣费状态修改为激活状态,并更新定时扣费任务。
优选地,该扣费装置还包括:
周期获取模块,用于当扣费结果为扣费失败时,获取定时扣费任务中的分段扣费金额组和分段扣费周期,其中,分段扣费金额组包括多个金额相等或金额不相等的分段扣费金额,每个分段扣费金额对应一个分段扣费周期;
请求模块,用于当达到分段扣费周期时,向在线计费系统请求从用户账户余额中尝试扣除与分段扣费周期对应的分段扣费金额,直到一个成功或者尝试完成。
优选地,该扣费装置还包括:
创建模块,用于在第一接收模块401接收第一扣费请求之前,创建定时扣费任务,并将定时扣费任务存储至数据库中,定时扣费任务记录有扣费开始时间、下次扣费时间、扣费结束时间、正常扣费金额、欠费余额、正常扣费周期、分段扣费金额组、分段扣费周期、是否保护基础费用、保护金额和扣费状态中 的一种或多种。
优选地,创建模块包括:
获取子模块,用于获取用户的正常扣费周期、扣费开始时间、正常扣费金额以及用户账户余额;当用户账户余额小于等于正常扣费金额时,获取该用户预设的保护金额、分段扣费金额组以及分段扣费周期;
创建子模块,用于创建记录有正常扣费周期、扣费开始时间、正常扣费金额、保护金额、分段扣费金额组以及分段扣费周期的定时扣费任务,并将定时扣费任务存储至数据库中。
需要说明的是,本发明实施例提供的扣费装置是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。