CN115665674A - 一种5g消息处理方法、装置、设备及存储介质 - Google Patents
一种5g消息处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115665674A CN115665674A CN202211409691.1A CN202211409691A CN115665674A CN 115665674 A CN115665674 A CN 115665674A CN 202211409691 A CN202211409691 A CN 202211409691A CN 115665674 A CN115665674 A CN 115665674A
- Authority
- CN
- China
- Prior art keywords
- message
- template
- value pair
- dictionary service
- remote dictionary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及5G技术领域,公开了一种5G消息处理方法、装置、设备及存储介质,应用于5G消息平台,包括:获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息;接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。本申请能够大规模减少对数据库的并发操作,从而确保计费准确度。
Description
技术领域
本发明涉及5G技术领域,特别涉及一种5G消息处理方法、装置、设备及存储介质。
背景技术
5G消息为企业应用和个人之间可信联系带来了全新的方式,随着5G消息技术发展,已经形成面向原生支持UP2.4协议终端的5G消息、面向主流安卓终端的基于文本解析5G阅信的(智能解析短信)消息、面向其他终端的5G视信(视频消息)等多消息模式统一覆盖方案,满足商用环境要求,开始持续产生商业价值。在商业模式上,5G消息向企业侧收费,终端侧免费。现有技术中,针对全终端覆盖场景时,5G消息平台面向企业侧账户的通信计费方案尚不完善,使得计费效果不理想。
因此,上述技术问题亟待本领域技术人员解决。
发明内容
有鉴于此,本发明的目的在于提供一种5G消息处理方法、装置、设备及存储介质,能够大规模减少对数据库的并发操作,从而确保计费准确度。其具体方案如下:
本申请的第一方面提供了一种5G消息处理方法,应用于5G消息平台,包括:
获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;
如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息;
接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。
可选的,所述远程字典服务中为所述目标账户创建有第一键值对和第二键值对;其中,所述第一键值对用于记录所述目标账户的存储余额,所述第二键值对用于记录所述目标账户的历史临时消费额且支持原子操作;
相应的,所述通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,包括:
所述远程字典服务基于所述第一键值对和所述第二键值对中记录的信息对所述待发消息进行预计费。
可选的,所述远程字典服务基于所述第一键值对和所述第二键值对中记录的信息对所述待发消息进行预计费,包括:
所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额;
所述远程字典服务判断所述第一键值对中的所述存储余额是否不小于所述第二键值对中的所述历史临时消费额与本条消息消费额的和,如果是,则通过原子操作对所述第二键值对中的所述历史临时消费额进行增值处理。
可选的,所述根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正,包括:
所述5G消息平台对所述消息发送状态报告进行解析得到每条所述待发消息的最终状态,并将每条所述待发消息的最终状态对应的消费额与预计费阶段的本条消息消费额进行对比,如果不一致,则确定出差量;其中,不同状态对应不同的消费额;
所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行处理。
可选的,所述根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正之后,还包括:
读取所述远程字典服务中所述第二键值对中的所述历史临时消费额,并将所述历史临时消费额在后台数据库进行存储,以触发所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行减值处理,使得所述第二键值对中的所述临时消费额为空值;
根据所述历史临时消费额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
可选的,所述5G消息模板的类型为包含5G阅信模板元素和5G消息模板元素的第一组合模板、包含5G视信模板元素和5G消息模板元素的第二组合模板;
相应的,所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额,包括:
对于每条所述待发消息,所述5G消息平台将所述待发消息对应的所述5G消息模板中的消费额高的模板元素对应的消费额确定为所述待发消息的本条消息消费额。
可选的,所述远程字典服务中还为所述目标账户创建有手动余额变更队列;其中,所述手动余额变更队列用于记录通过手动方式对所述目标账户进行余额变更操作的变更额;
相应的,所述根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正之后,还包括:
读取所述远程字典服务中所述手动余额变更队列中的所述变更额,并将所述变更额在后台数据库进行存储;
根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
可选的,所述根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额之后,还包括:
在所述后台数据库的充值记录表中创建与所述变更额的余额变更操作对应的手动余额变更记录。
本申请的第二方面提供了一种5G消息处理装置,应用于5G消息平台,包括:
获取及判断模块,用于获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;
预计费模块,用于如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端下发相应的所述待发消息;
报告接收及计费修正模块,用于接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述5G消息处理方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述5G消息处理方法。
本申请中,先获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息;最后接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。可见,本申请在判断出终端支持目标账户提交的5G消息模板后,借助远程字典服务实现对企业侧的消息业务进行内存化预计费,从而大规模减少对数据库的并发操作。同时将消息通过通信网关下发给终端,通信网关会返回相应的消息发送状态报告,该报告会影响预计费结果,所以需要进一步借助远程字典服务修正预计费结果,从而确保计费准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种5G消息处理方法流程图;
图2为本申请提供的一种具体的5G消息处理方法流程图;
图3为本申请提供的一种具体的5G消息处理方法示意图;
图4为本申请提供的一种具体的5G消息全终端覆盖示意图;
图5为本申请提供的一种具体的5G消息处理方法示意图;
图6为本申请提供的一种具体的5G消息处理方法流程图;
图7为本申请提供的一种具体的5G消息处理方法流程图;
图8为本申请提供的一种具体的5G消息处理方法示意图;
图9为本申请提供的一种5G消息处理装置结构示意图;
图10为本申请提供的一种5G消息处理电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,针对全终端覆盖场景时,5G消息平台面向企业侧账户的通信计费方案尚不完善,使得计费结果不准确。针对上述技术缺陷,本申请提供一种5G消息处理方案,能够大规模减少对数据库的并发操作,从而确保计费准确度。
图1为本申请实施例提供的一种5G消息处理方法流程图。参见图1所示,该5G消息处理方法应用于5G消息平台,包括:
S11:获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板。
本实施例中,5G消息平台指CSP(Chatbot Service Provider,Chatbot服务提供商)5G消息平台。CSP 的5G消息平台承载多企业账户、多chatbot同时运营,同一企业账户可能拥有1到多个Chatbot同时运行。5G消息是传统短信在5G时代的升级版,以手机终端原生短信应用为入口的多媒体消息服务。企业侧在运营商完成实名申报5G消息企业号(chatbot)以后,即可实现和手机终端用户之间直接业务触达和交互。5G消息在手机终端原生短信窗口融合了图文、语音、视频、定位、文件传输等多种功能,实现搜索、分享、支付、业务交互等操作。
本实施例中,5G消息平台首先获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板。5G消息信息中包括终端标识、5G消息模板和待发消息,其中,所述终端标识可以为终端号码。所述5G消息模板分为两种,一种是包含5G阅信模板元素和5G消息模板元素的第一组合模板,即5G消息+5G阅信;另一种是包含5G视信模板元素和5G消息模板元素的第二组合模板,即5G消息+5G视信。从终端体验效果来排序,消息模式优先选择5G消息+5G阅信配套回落,其次是5G消息+5G视信配套回落,5G消息是下发主体,5G阅信或5G视信是配套回落机制,回落方式只能二选一。为了保证消息能完整覆盖全网终端,企业侧账户在制作每一条待发送消息的消息模板时,都需准备一套完整的多模式消息模板,即包括原生5G消息、及配套的5G阅信和5G视信,组成全终端联合模板。下发消息模板时,由系统选择使用何种搭配模式下发。
本实施例中,多消息模式要求每条端到端消息的回落模式都要实时判别,以达到终端体验和消息成功率的最大平衡。终端是否支持消息模式(5G阅信、5G视信),由于大多终端均支持5G视信,因此5G阅信是判别的关键点。5G阅信是主流安卓终端厂商开发的短信增强解析技术,支持在终端手机上将传统携带已报备过URL链接的短信,自动拉取URL报备信息,自动解析为可交互的富媒体卡片进行展示,提升终端体验。本实施例可通过手机号码单向检索其是否支持5G阅信,利用该功能,5G消息平台可先判断终端是否支持5G阅信,支持则使用5G消息+5G阅信回落模式下发消息;不支持则使用5G消息+视信回落模式下发消息,运营商5G消息网关首先会试图优先推送5G消息,不成功则推送对应回落消息。
S12:如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息。
本实施例中,终端如果支持消息模板,则可以通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费。在大并发消息发送场景下,为了避免企业账户存储余额为负,需在消息发送前及时扣除该消息消费额度。但每条消息的实际消费金额,需要异步等待运营商网关返回的发送状态报告,以及消息最终发送模式才能确定,本实施例通过预计费方式可以解决这个问题。远程字典服务Redis(Remote DictionaryServer )是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
本实施例中,预计费处理后,进一步将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息。所述通信网关为5G消息网关,是各运营商内部开放给消息服务商或者企业侧的5G消息通信网元,消息服务商或企业侧的5G消息平台通过接入运营商5G消息网关,获得5G消息的收发能力。
S13:接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。
本实施例中,消息发送后,5G消息平台异步等待运营商通信网关的消息发送状态报告回传,即接收所述通信网关返回的消息发送状态报告。然后根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。由于预计费阶段扣除的消费金额可能多于实际的消费金额,也可能少于实际的消费金额,因此,需要根据消息发送状态报告来对预计费阶段的扣除金额进行修正,从而使得计费结果准确无误。同样的,修正的过程也是通过所述远程字典服务完成的,利用Redis能够实现账户余额内存化快速判断,避免大并发查询数据库。
需要说明的是,Redis以集群的形式设置,一般是多账户共享的,但对于某个特大并发账户,可扩展独享一个Redis集群,理论上只要一个账户的通信并发数小于Redis集群支持的最大并发即可,即某个账户支持的最大计费并发数,取决于Redis集群的最大并发数。根据各云商Redis集群产品指标,均支持并发量10w+以上,可以满足需求。
可见,本申请实施例先获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息;最后接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。本申请实施例在判断出终端支持目标账户提交的5G消息模板后,借助远程字典服务实现对企业侧的消息业务进行内存化预计费,从而大规模减少对数据库的并发操作。同时将消息通过通信网关下发给终端,通信网关会返回相应的消息发送状态报告,该报告会影响预计费结果,所以需要进一步借助远程字典服务修正预计费结果,从而确保计费准确度。
图2为本申请实施例提供的一种具体的5G消息处理方法流程图。参见图2所示,该5G消息处理方法包括:
S21:所述5G消息平台获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板。
本实施例中,关于上述步骤S31的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S22:如果是,则所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额。
本实施例中,预计费的第一步为:所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额。如前所述,所述5G消息模板的类型为包含5G阅信模板元素和5G消息模板元素的第一组合模板、包含5G视信模板元素和5G消息模板元素的第二组合模板。因此,确定本条消息消费额时,对于每条所述待发消息,所述5G消息平台将所述待发消息对应的所述5G消息模板中的消费额高的模板元素对应的消费额确定为所述待发消息的本条消息消费额。例如,对于5G消息+5G阅信,使用5G消息和5G阅信中价高者作为本条消息消费额;对于5G消息+5G视信,使用5G消息和5G视信中价高者作为本次预计费金额。具体参见图3所示过程。
需要注意,这里仅仅是预计费,不是真正的消费金额。不同模式的消息单价不同,每一套消息模板只有在实际下发时,才能确定当前终端支持哪个消息模式,才能实时确定该端到端消息的消费额。
S23:所述远程字典服务判断第一键值对中的存储余额是否不小于第二键值对中的历史临时消费额与本条消息消费额的和,如果是,则通过原子操作对所述第二键值对中的所述历史临时消费额进行增值处理;其中,所述远程字典服务中为所述目标账户创建有第一键值对和第二键值对;所述第一键值对用于记录所述目标账户的存储余额,所述第二键值对用于记录所述目标账户的历史临时消费额且支持原子操作。
本实施例中,所述远程字典服务中为所述目标账户创建有第一键值对和第二键值对,其中,所述第一键值对用于记录所述目标账户的存储余额,所述第二键值对用于记录所述目标账户的历史临时消费额且支持原子操作。也就是说,Redis中每个账户有两个键值对,也就是有两个Key,一个存放存储余额(Key1),一个存放历史临时消费额(Key2)。历史临时消费额是指当前账户已消费但还未持久化到账户余额的额度。Key1为普通key-value数据存储;Key2为原子操作,原子操作可以对数据进行增值或减值,本实施例使用Redis 的INCRBY或DECRBY 命令对数据进行增值或减值。通过原子操作实现的增值处理能够对所述第二键值对中的所述历史临时消费额进行自动处理。
本实施例中,预计费的第二步为:所述远程字典服务基于所述第一键值对和所述第二键值对中记录的信息对所述待发消息进行预计费。具体的,所述远程字典服务判断第一键值对中的存储余额是否不小于第二键值对中的历史临时消费额与本条消息消费额的和,如果是,则通过原子操作对所述第二键值对中的所述历史临时消费额进行增值处理。上述过程示例如下:
A:判断Redis中Key1是否存在,存在则为True,不存在则为False;
B:如果A==True,则判断:存储余额(Key1的值)≥ 历史临时消费额(Key2的值)+本条消息消费额度;
C:如果A==False或者(A==True AND B==True),原子操作Key2(或创建),执行:INCRBY Key2 本条消息消费额度;
D:如果A==True AND B==False,发送失败,余额不足。
S24:所述5G消息平台将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息,并接收所述通信网关返回的消息发送状态报告。
S25:所述5G消息平台对所述消息发送状态报告进行解析得到每条所述待发消息的最终状态,并将每条所述待发消息的最终状态对应的消费额与预计费阶段的本条消息消费额进行对比,如果不一致,则确定出差量;其中,不同状态对应不同的消费额。
S26:所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行处理。
本实施例中,所述5G消息平台将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息,并接收所述通信网关返回的消息发送状态报告。在此基础上,所述5G消息平台对所述消息发送状态报告进行解析得到每条所述待发消息的最终状态,具体的,确定网关最终的发送消息模式,以及发送状态,最终确定是失败返还,还是按照5G消息成功计费(三种子模式价格不同),还是5G阅信成功计费或者5G视信成功计费(解析和未解析价格不同),如图4所示,再和该消息预计费对比判断,是否需要修正计费误差。
本实施例中,在每条所述待发消息的最终状态对应的消费额与预计费阶段的本条消息消费额不一致的情况下,则判定需要修正计费误差,此时确定出差量。其中,不同状态对应不同的消费额。最后所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行处理,包括增加差量或者减少差量。具体参见图5所示过程。
图6为本申请实施例在上述实施例的基础上提供的一种具体的5G消息处理方法流程图。参见图6所示,该5G消息处理方法包括:
S31:读取所述远程字典服务中所述第二键值对中的所述历史临时消费额,并将所述历史临时消费额在后台数据库进行存储,以触发所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行减值处理,使得所述第二键值对中的所述临时消费额为空值。
S32:根据所述历史临时消费额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
本实施例中,步骤S31和步骤S32基于前述步骤S21至步骤S26,属于余额变更的后台任务。在一个账号的一次消息下发之后,需要对数据库中的存储余额及Redis中的Key值进行更新,便于下次预计费。面对每个账户,定期执行,如每隔一分钟执行一次。首先读取所述远程字典服务中所述第二键值对中的所述历史临时消费额,并将所述历史临时消费额在后台数据库进行存储,以触发所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行减值处理,使得所述第二键值对中的所述临时消费额为空值。然后根据所述历史临时消费额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。上述过程示例如下:
获取Redis中该账户临时消费金额,持久化到DB,账户最新余额更新到Redis余额(Key1)。
1、获取账户当前消费金额(Key2的值)。
当1取到的值大于0:执行整体事务:
{
2、利用Redis DECRBY命令,对账户的Key2执行原子操作,减去第1步取到的值;
3、如果第2步执行成功,则将数据库中该账户余额减去第1步中取到的值,并更新;
}
DB中该账户最新余额更新到Redis(Key1的值),Key1不存在则新建。
进一步的,为了保证在整个分布式集群系统中,每个账户的余额相关操作,在同一时刻只会在一个后台任务中执行,保证数据准确性。本实施例可以通过后台调度任务,使每个账户在任何时刻,只有一个线程处理余额变更,保证了每个账户余额变化处理的一致性和准确性,不会被重复操作,也不会被并发操作导致错误。同时也可以看到,手动余额变更等操作,最长一分钟后生效。
图7为本申请实施例在上述实施例的基础上提供的一种具体的5G消息处理方法流程图。参见图7所示,该5G消息处理方法包括:
S41:读取所述远程字典服务中所述手动余额变更队列中的所述变更额,并将所述变更额在后台数据库进行存储;其中,所述远程字典服务中还为所述目标账户创建有手动余额变更队列。
S42:根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
S43:在所述后台数据库的充值记录表中创建与所述变更额的余额变更操作对应的手动余额变更记录。
本实施例中,步骤S41至步骤S43基于前述步骤S21至步骤S26,还可以在Redis中为每个账户会创建一个手动余额变更队列(Account_Queue)。所述手动余额变更队列用于记录通过手动方式对所述目标账户进行余额变更操作的变更额。即该队列存放该账户日常除消费外的手动余额变更记录信息,包括充值加款(客户主动充值、对公打款触发充值等)和手动增加、扣减账户余额(运营管理员操作加款、退款、及其他情况下需要手动增加、扣减账户余额的场景)。当上述操作发生时,将对应信息放到Redis队列Account_Queue中。
在进行账户手动余额变更队列数据的持久化时,先读取所述远程字典服务中所述手动余额变更队列中的所述变更额,并将所述变更额在后台数据库进行存储。然后根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。最后在所述后台数据库的充值记录表中创建与所述变更额的余额变更操作对应的手动余额变更记录。具体的,查询Redis中该账户Account_Queue队列是否有数据,有则取出数据,并更新该账户数据库余额,同时往数据库充值记录表中写入一条新的手动余额变更记录(方便追溯)。具体的计费流程如图8所示。
图8中的后台任务涉及可以采取简单master slave模式,保证只有master进程在执行后台任务,如果master进程失效,则由其他slave进程争抢master角色,争抢到的进程接管后台任务,执行任务的时候判断自己是否是master,如果不是则不执行。在2B业务中,账户数量在数万级,规模不大的情况下,该模式可以较低成本使用,最小3台服务即可。也可采用分布式调度框架,由核心调度器负责账号分组,定期(比如1分钟)生成基于账号分组的任务分片,交由各任务执行器执行。任务执行器负责对领到的账号分组,执行后台任务操作。可参考或直接使用MapReduce编程模型、Quartz框架、开源PowerJob项目等。
参见图9所示,本申请实施例还相应公开了一种5G消息处理装置,应用于5G消息平台,包括:
获取及判断模块11,用于获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;
预计费模块12,用于如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端下发相应的所述待发消息;
报告接收及计费修正模块13,用于接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。
可见,本申请实施例先获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息;最后接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。本申请实施例在判断出终端支持目标账户提交的5G消息模板后,借助远程字典服务实现对企业侧的消息业务进行内存化预计费,从而大规模减少对数据库的并发操作。同时将消息通过通信网关下发给终端,通信网关会返回相应的消息发送状态报告,该报告会影响预计费结果,所以需要进一步借助远程字典服务修正预计费结果,从而确保计费准确度。
在一些具体实施例中,所述5G消息处理装置中的所述远程字典服务中为所述目标账户创建有第一键值对和第二键值对;其中,所述第一键值对用于记录所述目标账户的存储余额,所述第二键值对用于记录所述目标账户的历史临时消费额且支持原子操作;
相应的,所述预计费模块12,具体用于所述远程字典服务基于所述第一键值对和所述第二键值对中记录的信息对所述待发消息进行预计费。
在一些具体实施例中,所述预计费模块12,具体包括:
消费额确定单元,用于所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额;
消费额判断及增值单元,用于所述远程字典服务判断所述第一键值对中的所述存储余额是否不小于所述第二键值对中的所述历史临时消费额与本条消息消费额的和,如果是,则通过原子操作对所述第二键值对中的所述历史临时消费额进行增值处理。
在一些具体实施例中,所述报告接收及计费修正模块13,具体包括:
报告解析单元,用于所述5G消息平台对所述消息发送状态报告进行解析得到每条所述待发消息的最终状态;其中,不同状态对应不同的消费额;
差量确定单元,用于5G消息平台将每条所述待发消息的最终状态对应的消费额与预计费阶段的本条消息消费额进行对比,如果不一致,则确定出差量;
消费额处理单元,用于所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行处理。
在一些具体实施例中,所述5G消息处理装置还包括:
消费额读取及存储模块,用于读取所述远程字典服务中所述第二键值对中的所述历史临时消费额,并将所述历史临时消费额在后台数据库进行存储,以触发所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行减值处理,使得所述第二键值对中的所述临时消费额为空值;
第一更新模块,用于根据所述历史临时消费额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
在一些具体实施例中,所述5G消息处理装置中的所述5G消息模板的类型为包含5G阅信模板元素和5G消息模板元素的第一组合模板、包含5G视信模板元素和5G消息模板元素的第二组合模板;
相应的,所述消费额确定单元,具体用于对于每条所述待发消息,所述5G消息平台将所述待发消息对应的所述5G消息模板中的消费额高的模板元素对应的消费额确定为所述待发消息的本条消息消费额。
在一些具体实施例中,所述5G消息处理装置中的所述远程字典服务中还为所述目标账户创建有手动余额变更队列;其中,所述手动余额变更队列用于记录通过手动方式对所述目标账户进行余额变更操作的变更额;
相应的,所述5G消息处理装置还包括:
变更额读取模块,用于读取所述远程字典服务中所述手动余额变更队列中的所述变更额,并将所述变更额在后台数据库进行存储;
第二更新模块,用于根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额;
记录创建模块,用于在所述后台数据库的充值记录表中创建与所述变更额的余额变更操作对应的手动余额变更记录。
进一步的,本申请实施例还提供了一种电子设备。图10是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图10为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的5G消息处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的5G消息处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的5G消息信息。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的5G消息处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的5G消息处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种5G消息处理方法,其特征在于,应用于5G消息平台,包括:
获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;
如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端标识对应的终端下发相应的所述待发消息;
接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。
2.根据权利要求1所述的5G消息处理方法,其特征在于,所述远程字典服务中为所述目标账户创建有第一键值对和第二键值对;其中,所述第一键值对用于记录所述目标账户的存储余额,所述第二键值对用于记录所述目标账户的历史临时消费额且支持原子操作;
相应的,所述通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,包括:
所述远程字典服务基于所述第一键值对和所述第二键值对中记录的信息对所述待发消息进行预计费。
3.根据权利要求2所述的5G消息处理方法,其特征在于,所述远程字典服务基于所述第一键值对和所述第二键值对中记录的信息对所述待发消息进行预计费,包括:
所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额;
所述远程字典服务判断所述第一键值对中的所述存储余额是否不小于所述第二键值对中的所述历史临时消费额与本条消息消费额的和,如果是,则通过原子操作对所述第二键值对中的所述历史临时消费额进行增值处理。
4.根据权利要求3所述的5G消息处理方法,其特征在于,所述根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正,包括:
所述5G消息平台对所述消息发送状态报告进行解析得到每条所述待发消息的最终状态,并将每条所述待发消息的最终状态对应的消费额与预计费阶段的本条消息消费额进行对比,如果不一致,则确定出差量;其中,不同状态对应不同的消费额;
所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行处理。
5.根据权利要求3所述的5G消息处理方法,其特征在于,所述根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正之后,还包括:
读取所述远程字典服务中所述第二键值对中的所述历史临时消费额,并将所述历史临时消费额在后台数据库进行存储,以触发所述远程字典服务通过原子操作对所述第二键值对中的所述历史临时消费额进行减值处理,使得所述第二键值对中的所述临时消费额为空值;
根据所述历史临时消费额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
6.根据权利要求3所述的5G消息处理方法,其特征在于,所述5G消息模板的类型为包含5G阅信模板元素和5G消息模板元素的第一组合模板、包含5G视信模板元素和5G消息模板元素的第二组合模板;
相应的,所述5G消息平台针对每条所述待发消息确定出对应的本条消息消费额,包括:
对于每条所述待发消息,所述5G消息平台将所述待发消息对应的所述5G消息模板中的消费额高的模板元素对应的消费额确定为所述待发消息的本条消息消费额。
7.根据权利要求3至6任一项所述的5G消息处理方法,其特征在于,所述远程字典服务中还为所述目标账户创建有手动余额变更队列;其中,所述手动余额变更队列用于记录通过手动方式对所述目标账户进行余额变更操作的变更额;
相应的,所述根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正之后,还包括:
读取所述远程字典服务中所述手动余额变更队列中的所述变更额,并将所述变更额在后台数据库进行存储;
根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额,并利用最新存储余额对所述远程字典服务中所述第一键值对中的所述存储余额进行更新,使得所述第一键值对记录最新存储余额。
8.根据权利要求7所述的5G消息处理方法,其特征在于,所述根据所述变更额对所述后台数据库中存储的所述目标账户的所述存储余额进行更新得到最新存储余额之后,还包括:
在所述后台数据库的充值记录表中创建与所述变更额的余额变更操作对应的手动余额变更记录。
9.一种5G消息处理装置,其特征在于,应用于5G消息平台,包括:
获取及判断模块,用于获取企业侧的目标账户提交的5G消息信息,并判断所述5G消息信息中的终端标识对应的终端是否支持所述5G消息信息中的5G消息模板;
预计费模块,用于如果是,则通过远程字典服务对所述5G消息信息中以所述消息模板为模板的待发消息进行预计费,并将所述消息信息发送至通信网关,以便所述通信网关向所述终端下发相应的所述待发消息;
报告接收及计费修正模块,用于接收所述通信网关返回的消息发送状态报告,并根据所述消息发送状态报告通过所述远程字典服务对预计费结果进行修正。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的5G消息处理方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至8任一项所述的5G消息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211409691.1A CN115665674B (zh) | 2022-11-11 | 2022-11-11 | 一种5g消息处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211409691.1A CN115665674B (zh) | 2022-11-11 | 2022-11-11 | 一种5g消息处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115665674A true CN115665674A (zh) | 2023-01-31 |
CN115665674B CN115665674B (zh) | 2023-03-10 |
Family
ID=85021339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211409691.1A Active CN115665674B (zh) | 2022-11-11 | 2022-11-11 | 一种5g消息处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665674B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015505A1 (en) * | 2002-07-18 | 2004-01-22 | Ryan Quick | Delivering messages to message servers |
US20090125595A1 (en) * | 2007-11-14 | 2009-05-14 | Oracle International Corporation | Intelligent message processing |
CN101582776A (zh) * | 2008-05-15 | 2009-11-18 | 浙江大学 | 服务计费的方法及服务计费系统 |
KR101657016B1 (ko) * | 2015-12-21 | 2016-09-12 | 우인덕 | 후원홍보 선택형 무료 문자발송 시스템 |
CN106358165A (zh) * | 2016-09-19 | 2017-01-25 | 北京集奥聚合科技有限公司 | 一种向客户发送短信的服务的控制方法及系统 |
WO2020000663A1 (zh) * | 2018-06-25 | 2020-01-02 | 平安科技(深圳)有限公司 | 短信发送的方法、装置、计算机设备和存储介质 |
CN110830931A (zh) * | 2019-11-20 | 2020-02-21 | 珠海格力电器股份有限公司 | 短信费用控制方法、装置、存储介质及电子设备 |
CN114205325A (zh) * | 2021-12-17 | 2022-03-18 | 平安壹钱包电子商务有限公司 | 消息发送方法、装置、服务器及存储介质 |
CN114500128A (zh) * | 2022-02-07 | 2022-05-13 | 北京百度网讯科技有限公司 | 一种流控计费方法、装置、系统、电子设备、介质及产品 |
CN114641034A (zh) * | 2022-05-09 | 2022-06-17 | 上海大汉三通通信股份有限公司 | 一种基于5g消息系统的下行信息处理方法及相关组件 |
-
2022
- 2022-11-11 CN CN202211409691.1A patent/CN115665674B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015505A1 (en) * | 2002-07-18 | 2004-01-22 | Ryan Quick | Delivering messages to message servers |
US20090125595A1 (en) * | 2007-11-14 | 2009-05-14 | Oracle International Corporation | Intelligent message processing |
CN101582776A (zh) * | 2008-05-15 | 2009-11-18 | 浙江大学 | 服务计费的方法及服务计费系统 |
KR101657016B1 (ko) * | 2015-12-21 | 2016-09-12 | 우인덕 | 후원홍보 선택형 무료 문자발송 시스템 |
CN106358165A (zh) * | 2016-09-19 | 2017-01-25 | 北京集奥聚合科技有限公司 | 一种向客户发送短信的服务的控制方法及系统 |
WO2020000663A1 (zh) * | 2018-06-25 | 2020-01-02 | 平安科技(深圳)有限公司 | 短信发送的方法、装置、计算机设备和存储介质 |
CN110830931A (zh) * | 2019-11-20 | 2020-02-21 | 珠海格力电器股份有限公司 | 短信费用控制方法、装置、存储介质及电子设备 |
CN114205325A (zh) * | 2021-12-17 | 2022-03-18 | 平安壹钱包电子商务有限公司 | 消息发送方法、装置、服务器及存储介质 |
CN114500128A (zh) * | 2022-02-07 | 2022-05-13 | 北京百度网讯科技有限公司 | 一种流控计费方法、装置、系统、电子设备、介质及产品 |
CN114641034A (zh) * | 2022-05-09 | 2022-06-17 | 上海大汉三通通信股份有限公司 | 一种基于5g消息系统的下行信息处理方法及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN115665674B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446975B (zh) | 一种额度管理方法及装置 | |
CN110009421B (zh) | 云计算虚拟资源的单价确定方法、介质、装置和计算设备 | |
CN110321339B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
CN109286724A (zh) | 一种基于短信息的数据交互方法及装置 | |
CN104885071A (zh) | 多设备智能语言模型同步 | |
CN108805632B (zh) | 一种计费方法和装置 | |
US20120084253A1 (en) | Transaction in memory object store | |
CN111125106B (zh) | 一种跑批任务执行方法、装置、服务器和存储介质 | |
CN109445711A (zh) | 一种基于云平台的业务处理方法和装置 | |
CN109615384B (zh) | 时效性核对规则的生成方法、装置和服务器 | |
CN112907344A (zh) | 账务数据的处理方法、装置、电子设备和存储介质 | |
CN111026769A (zh) | 双核心前置系统的工作方法及其相关设备 | |
CN110109983A (zh) | 一种操作Redis数据库的方法和装置 | |
CN110609967B (zh) | 一种榜单生成方法、装置及存储介质 | |
CN115665674B (zh) | 一种5g消息处理方法、装置、设备及存储介质 | |
CN103116953A (zh) | 一种自助开票的装置及方法 | |
CN104318433A (zh) | 一种市民卡的自动充值方法及系统 | |
CN102143468A (zh) | 计费、资费更新、提供服务的方法及系统 | |
CN113377872B (zh) | 在线系统数据在大数据中心的离线同步方法、装置及设备 | |
US8538993B2 (en) | Outsourced options management | |
CN112270537B (zh) | 一种多渠道账单的入库方法、系统及存储介质 | |
CN106548331B (zh) | 一种确定发布顺序的方法及装置 | |
CN106357735A (zh) | 用于操作云计算架构的基础设施层的方法和装置 | |
CN115271835A (zh) | 一种发票生成方法、装置、电子设备及存储介质 | |
CN112634006A (zh) | 对账处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |