短信计费方法、装置、电子设备及可读存储介质与流程

文档序号:26919221发布日期:2021-10-09 16:27阅读:103来源:国知局
1.本技术属于外呼系统
技术领域
:,具体涉及一种短信计费方法、装置、电子设备及可读存储介质。
背景技术
::2.由于业务发展需要,一些企事业单位需要经常向用户发送短信,如物流公司需要向用户发送物流状态的短信、app运营商需要向用户发送验证短信、购物平台需要向用户推送促销短信等等。由于需要发送的短信数量较大,通常会采用外呼的方式进行发送,但目前仅支持人工的方式来实现短信计费处理,需要耗费大量人力,且计算结果准确性低。技术实现要素:3.本技术实施例的目的是提供一种短信计费方法、装置、电子设备及可读存储介质,能够解决现有技术中是通过人工的方式来实现短信计费处理,需要耗费大量人力,且计算结果准确性低的问题。4.为了解决上述技术问题,本技术是这样实现的:5.第一方面,本技术实施例提供了一种短信计费方法,该方法包括:6.在接收到查询请求的情况下,获取计费任务,所述计费任务是基于n个已发送且未计费的短信集合生成得到,n为大于或者等于1的整数;7.获取所述n个短信集合对应的n个查询结果,所述查询结果包括所对应的短信集合的短信发送状态和短信发送数量;8.基于所述n个查询结果,确定所述计费任务的计费结果。9.第二方面,本技术实施例提供了一种短信计费装置,该装置包括:10.第一获取模块,用于在接收到查询请求的情况下,获取计费任务,所述计费任务是基于n个已发送且未计费的短信集合生成得到,n为大于或者等于1的整数;11.第二获取模块,用于获取所述n个短信集合对应的n个查询结果,所述查询结果包括所对应的短信集合的短信发送状态和短信发送数量;12.确定模块,用于基于所述n个查询结果,确定所述计费任务的计费结果。13.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。14.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。15.在本技术实施例中,可以在接收到查询请求的情况下,获取计费任务,所述计费任务是基于n个已发送且未计费的短信集合生成得到,n为大于或者等于1的整数;获取所述n个短信集合对应的n个查询结果,所述查询结果包括所对应的短信集合的短信发送状态和短信发送数量;基于所述n个查询结果,确定所述计费任务的计费结果。通过这种方式,可以自动获取计费任务中的n个短信集合的查询结果,再基于查询结果实现短信自动计费,无需人工干涉,从而达到节约人力成本和提高计费准确性的技术效果。附图说明16.图1为本技术实施例提供的短信计费方法的流程图;17.图2为本技术实施例提供的创建会话的示意图;18.图3为本技术实施例提供的短信计费装置的结构示意图之一;19.图4为本技术实施例提供的短信计费装置的结构示意图之二。具体实施方式20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。21.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。22.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的短信计费方法进行详细地说明。23.参见图1,图1为本技术实施例提供的短信计费方法的流程图。如图1所示,该短信计费方法,具体可以包括以下步骤:24.步骤101、在接收到查询请求的情况下,获取计费任务,计费任务是基于n个已发送且未计费的短信集合生成得到,n为大于或者等于1的整数。25.具体地,上述短信计费方法可以应用于外呼系统,或者与外呼系统连接的其他电子设备上。该电子设备可以为手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)、个人数字助理(personaldigitalassistant,简称pda)、移动上网装置(mobileinternetdevice,mid)或可穿戴式设备(wearabledevice)等。为方便说明,后续实施例均以外呼系统为例进行说明。26.上述查询请求可以由外呼系统定时触发,也可以由用户手动触发,本技术不做具体限定。该查询请求用于请求对外呼系统中的已发送且未计费的短信集合中的各个短信进行计费处理。具体而言,该查询请求可以基于用户的输入操作生成得到,如用户的滑动、点击、按压等操作;也可以是基于预设的轮询策略来周期触发得到,例如,每间隔1小时自动触发查询请求等。27.需要说明的是,外呼系统具有短信群发功能,可以基于不同客户创建的短信发送任务,实现短信群发。其中,每个短信发送任务可以是发送一条短信,也可以是发送多条短信,每个短信发送任务与每个短信集合相对应。上述计费任务可以理解为是,基于外呼系统中所有客户的已发送且未计费的短信集合而确定得到,或者基于外呼系统中某一客户标识对应的所有已发送且未计费的短信集合而确定得到。例如,当外呼系统接收到查询请求时,已经完成了客户a创建的短信发送任务1(即分别向100个手机号发送一条短信)、客户b创建的短信发送任务2(即分别向200个手机号发送一条短信)和客户c创建的短信发送任务3(即分别向500个手机号发送一条短信),且均未进行计费,那么此时的计费任务可以是基于上述3个短信发送任务对应的3个短信集合得到,该3个短信集合中短信的数量分别为100、200和500。当然,当查询请求中携带有某一客户对应的客户标识的情况下,计费任务可以是基于客户标识对应的短信集合得到,由此可以实现对不同客户的短信计费功能。28.步骤102、获取n个短信集合对应的n个查询结果,查询结果包括所对应的短信集合的短信发送状态和短信发送数量。29.具体地,上述短信发送状态包括发送成功和发送失败两种状态,上述短信发送数量是指所对应的短信集合中发送的短信条数。30.获取n个查询结果的方式,可以由外呼系统直接从运营商网络获取得到,也可以由外呼系统调用预设接口,通过预设接口从运营商网络获取得到,本技术不做具体限制。31.步骤103、基于n个查询结果,确定计费任务的计费结果。32.在获取到n个短信集合的n个查询结果后,可以基于每个查询结果中的短信发送状态和短信发送数量,确定出发送成功的短信的数量,并基于发送成功的短信对应的文本长度,确定出每条发送成功的短信的计费数量,从而得到整个计费任务的计费结果。33.在本技术实施例中,可以自动获取计费任务中的n个短信集合的查询结果,再基于查询结果实现短信自动计费,无需人工干涉,从而达到节约人力成本和提高计费准确性的技术效果。34.进一步地,上述步骤102、获取n个短信集合对应的n个查询结果,可以包括如下步骤:35.创建n个短信集合对应的n个会话,n个会话是基于n个短信集合调用预设接口得到;36.通过n个会话,获取n个短信集合对应的n个查询结果。37.在一实施例中,可以通过预设接口来获取n个短信集合对应的n个查询结果。此处的预设接口可以理解为是预先设置在外呼系统的第三方接口。该预设接口可以用于从运营商网络获取各短信的短信发送状态和短信发送数量。38.具体地,在外呼系统获取到参与计费的计费任务后,基于整个计费任务调用预设接口,通过创建的会话来获取整个计费任务中各短信的短信发送状态和短信发送数量;也可以基于计费任务中的每个短信集合分别调用预设接口,通过创建的会话来获取该短信集合中各短信的短信发送状态和短信发送数量。39.需要说明的是,当针对每个短信集合分别调用预设接口来创建会话,则可以得到n个会话。如图2所示,假设该计费任务中需要计费的短信集合包括短信集合1、短信集合2,…,短信集合n,其中,短信集合1包括100条短信,短信集合2包括200条短信,短信集合n包括500条短信,此时,可以基于短信集合1调用预设接口,生成会话1,获取短信集合1中100条短信的查询结果;基于短信集合2调用预设接口,生成会话2,获取短信集合2中200条短信的查询结果;基于短信集合n调用预设接口,生成会话n,获取短信集合n中500条短信的查询结果。此时,会话1、会话2,…,会话n可以异步处理,也可以同步处理,本技术不做具体限定。通过上述方式,不仅可以减轻每个会话的处理压力,还可以提高整体的计费效率。40.进一步地,在上述步骤、通过n个会话,获取n个短信集合对应的n个查询结果之后,该方法还可以包括如下步骤:41.获取n个查询结果对应的n个第一数值和n个第二数值,第一数值用于表示发送成功的短信数量,第二数值用于表示发送失败的短信数量;42.在n个第一数值与n个第二数值之和等于n个短信集合的短信总数的情况下,将n个查询结果更新至预设数据库;43.基于预设数据库中的n个查询结果,确定计费任务的计费结果。44.具体地,上述第一数值可以理解为是,查询结果中发送成功的短信数量;上述第二数值可以理解为是,查询结果中发送失败的短信数量。继续基于前述举例进行说明,假设短信发送任务1、短信发送任务2和短信发送任务3分别对应短信集合1、短信集合2和短信集合3,且查询结果1中指示短信集合1中发送成功的短信数量为98(即第一数值为98),发送失败的短信数量为2(即第二数值为2);查询结果2中指示短信集合2中发送成功的短信数量为195(即第一数值为195),发送失败的短信数量为5(即第二数值为5);查询结果3中指示短信集合3中发送成功的短信数量为450(即第一数值为450),发送失败的短信数量为50(即第二数值为50),那么可以将该3个查询结果对应的3个第一数值和3个第二数值进行求和计算,确定计算结果是否与3个短信集合的短信总数相等。如果计算结果与3个短信集合的短信总数不相等,即计算结果小于800,则表明3个会话还在进行中,需要继续等待,直到计费操作结束。如果计算结果与3个短信集合的短信总数相等,即计算结果等于800,则表明3个会话的计费操作已经结束。此时可以将该3个查询结果更新至预设数据库中,方便后续能够基于预设数据库中的查询结果,确定该计费任务的计费结果。同时,还可以对计费任务中短信的计费状态进行更新,将短信的计费状态从未完成状态变更为已完成状态,用于标识该计费任务中的所有短信已计费完成,方便下次接收到查询请求时,可以根据计费任务中短信的计费状态,确定出未完成计费的短信集合,从而确定新的计费任务,由此可以避免重复计费的情况发生,从而提高短信计费的准确性。45.进一步地,上述步骤103、基于n个查询结果,确定计费任务的计费结果,包括:46.基于n个查询结果,确定n个短信集合中发送成功的短信;47.在发送成功的短信包括文本长度大于第一预设阈值的目标短信的情况下,将目标短信的文本按照第二预设阈值进行拆分,得到多个子短信;48.在发送成功的短信包括文本长度小于或者等于第一预设阈值的短信的情况下,将第一数量和第二数量之和作为短信计费数量,第一数量为发送成功的短信中文本长度小于或等于第一预设阈值的短信的数量,第二数量为发送成功的短信包括的子短信的数量;49.基于短信计费数量,确定计费任务的计费结果。50.具体地,上述第一预设阈值与上述第二预设阈值可以相同,也可以不同,本技术不做具体限定。在实际应用时,可以将该第一预设阈值设置为70,将第二预设阈值设置为67。这样,在确定出n个短信集合中发送成功的短信之后,可以根据每条发送成功的短信的文本长度,确定出每条发送成功短信的短信计费数量,进而确定出n个短信集合对应的短信计费数量。假设某条发送成功的短信的文本长度不超过70个字,则按照一条短信进行计费;假设某条发送成功的短信的文本长度超过70个字,即为长短信,可以按照67字/条拆分成多条子短信进行计费。例如,当某条发送成功的短信的文本长度为160个字,可以将其成拆分成3条子短信,每条子短信的文本长度分别为67字、67字和26字。51.上述计费结果可以是指总的费用,也可以是指剩余短信发送量。当上述计费结果表示总的费用时,可以获取计费任务中发送成功的短信条数,再基于每条发送成功的短信的文本长度,确定总的短信计费数量,以此乘以单条短信的计费单价,由此可以得到总的费用。例如,假设客户1共发送了100条短信,该100条短信的文本长度均为100字,则该客户实际的短信计费数量为200条,此时,可以将200乘以单条短信的计费单价,即可确定出客户1的总的费用。当上述计费结果表示剩余短信发送量时,可以获取计费任务中发送成功的短信条数,再基于每条发送成功的短信的文本长度,确定总的短信计费数量,由此在客户充值的短信条数的基础上减去该短信计费数量,即可得到客户对应的剩余短信发送量。例如,假设客户1的短信充值数量为10000条,当完成100条短信发送后(实际对应的短信计费数量为200条),可以得到其剩余短信发送量为9800条。52.在该实施例中,可以根据发送成功的短信的文本长度对短信的计费数量进行统计,将文本长度大于第一预设阈值的目标短信进行拆分,得到多个子短信,并基于子短信的数量和文本长度小于或等于第一预设阈值的短信的数量,确定出短信计费数量,从而实现短信的精准计费,提高计费的准确性。53.进一步地,基于上述图1所示的实施例,上述步骤101、在接收到查询请求的情况下,获取计费任务,具体可以包括如下步骤:54.在接收到查询请求的情况下,获取查询请求中所携带的至少一个客户标识;55.从n个短信集合中确定至少一个客户标识中各客户标识对应的目标短信集合,目标短信集合中的各短信集合均为同一客户标识所对应的客户发送;56.基于目标短信集合,确定至少一个客户标识中各客户标识对应的计费任务。57.在一实施例中,外呼系统在接收到查询请求的情况下,可以获取查询请求中所携带的客户标识,由此可以基于获取到的客户标识,从n个短信集合中确定出与各客户标识对应的目标短信集合,从而确定出各客户对应的计费任务,再基于各客户的计费任务,获取各客户的短信计费结果。58.需要说明的是,查询请求中所携带的客户标识可以为一个,也可以为多个,具体可以根据实际需要进行设置。例如,当需要对当前所有客户的已发送且未收费的短信集合进行计费时,则该查询请求可以携带有所有客户的客户标识;当需要对某一客户的已发送且未收费的短信集合进行计费时,则该查询请求可以仅携带该客户的客户标识。59.在实际应用中,查询请求所携带的客户标识可以基于用户的选择操作确认得到。例如,假设目前外呼系统已有客户1、客户2和客户3的短信发送任务,分别对应短信集合1、短信集合2和短信集合3,在外呼系统的用户界面可以显示计费任务的计费对象选项,如客户1、客户2、客户3和全部客户。如果用户选择客户2作为本次计费对象,则此次计费处理仅会获取短信集合2的查询结果,并基于短信集合2的查询结果确定客户2的计费结果;如果用户选择全部客户作为本次计费对象,则此次计费处理会获取短信集合1、短信集合2和短信集合3的查询结果,并基于这3个短信集合的查询结果分别确定客户1、客户2和客户3的计费结果。60.在本实施例中,可以对查询请求中的客户标识进行设置,由此获取到不同客户标识对应的计费任务,以此实现对不同客户的计费处理。61.进一步地,查询请求基于预设轮询策略按照第一时间周期触发;以及,62.在第一时间周期内的查询请求基于用户的输入操作触发。63.具体地,上述第一时间周期可以为1小时、12小时、24小时等任意时间周期,具体可以根据实际需要进行设置。上述预设轮询策略可以是job轮询策略,基于该job轮询策略可以按照第一时间周期周期性触发查询请求,这样,就可以对外呼系统的短信发送任务进行周期性计费处理。当然,除了采用预设轮询策略进行周期性计费处理外,还可以基于用户的输入操作实时触发查询请求。此处的用户的输入操作可以是基于外呼系统的用户界面输入的滑动、点击、按压等操作,也可以是基于外呼系统的物理按键输入的按压操作等,本技术不做具体限制。64.在本实施例中,查询请求可以基于用户的输入操作和预设轮询策略触发生成,在未接收到用户的输入操作的情况下,可以按照第一时间周期定时触发计费处理,当接收到用户的输入操作时,可及时触发计费处理。这样,提高了外呼系统计费处理的灵活性。65.除此之外,本技术实施例还提供了一种短信计费装置。参见图3,图3为本技术实施例提供的短信计费装置的结构示意图之一。如图3所示,该短信计费装置300包括:66.第一获取模块301,用于在接收到查询请求的情况下,获取计费任务,计费任务是基于n个已发送且未计费的短信集合生成得到,n为大于或者等于1的整数;67.第二获取模块302,用于获取n个短信集合对应的n个查询结果,查询结果包括所对应的短信集合的短信发送状态和短信发送数量;68.确定模块303,用于基于n个查询结果,确定计费任务的计费结果。69.可选地,第二获取模块302包括:70.创建子模块,用于创建n个短信集合对应的n个会话,n个会话是基于n个短信集合调用预设接口得到;71.第一获取子模块,用于通过n个会话,获取n个短信集合对应的n个查询结果。72.可选地,该短信计费装置300还包括:73.第三获取模块,用于获取n个查询结果对应的n个第一数值和n个第二数值,第一数值用于表示发送成功的短信数量,第二数值用于表示发送失败的短信数量;74.更新模块,用于在n个第一数值与n个第二数值之和等于n个短信集合的短信总数的情况下,将n个查询结果更新至预设数据库;75.确定模块303,还用于基于预设数据库中的n个查询结果,确定计费任务的计费结果。76.可选地,第二获取模块302包括:77.第一确定子模块,用于基于n个查询结果,确定n个短信集合中发送成功的短信;78.拆分子模块,用于在发送成功的短信包括文本长度大于第一预设阈值的目标短信的情况下,将目标短信的文本按照第二预设阈值进行拆分,得到多个子短信;79.处理子模块,用于在发送成功的短信包括文本长度小于或者等于第一预设阈值的短信的情况下,将第一数量和第二数量之和作为短信计费数量,第一数量为发送成功的短信中文本长度小于或等于第一预设阈值的短信的数量,第二数量为发送成功的短信包括的子短信的数量;80.第二确定子模块,用于基于短信计费数量,确定计费任务的计费结果。81.可选地,第一获取模块301包括:82.第二获取子模块,用于在接收到查询请求的情况下,获取查询请求中所携带的至少一个客户标识;83.第三确定子模块,用于从n个短信集合中确定至少一个客户标识中各客户标识对应的目标短信集合,目标短信集合中的各短信集合均为同一客户标识所对应的客户发送;84.第四确定子模块,用于基于目标短信集合,确定至少一个客户标识中各客户标识对应的计费任务。85.可选地,查询请求基于预设轮询策略按照第一时间周期触发;以及,86.在第一时间周期内的查询请求基于用户的输入操作触发。该短信计费装置300能够实现本技术实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。87.参见图4,图4为本技术实施例提供的短信计费装置的结构示意图之二。如图4所示,该短信计费装置400包括处理器401,存储器402及存储在存储器402上并可在处理器401上运行的程序或指令,程序或指令被处理器401执行时实现如下步骤:88.在接收到查询请求的情况下,获取计费任务,计费任务是基于n个已发送且未计费的短信集合生成得到,n为大于或者等于1的整数;89.获取n个短信集合对应的n个查询结果,查询结果包括所对应的短信集合的短信发送状态和短信发送数量;90.基于n个查询结果,确定计费任务的计费结果。91.该短信计费装置400能够实现本技术实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。92.本发明实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述短信计费方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。93.本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述短信计费方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(read‑onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。94.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。95.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。96.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1