具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1示出了本申请一个实施例的业务订单的处理方法。图1的方法可以由业务订单的处理装置执行。如图1所示出的,方法包括:
S102,获取目标业务订单的相关信息。
需要说明的是,S102中的目标业务订单包括但不限于涉及金钱交易的业务订单。
在S102中,目标业务订单的相关信息包括目标业务订单对应的用户标识和业务订单号中的至少一项。用户标识(User_ID)能够唯一标识业务系统中的用户。
S104,基于所述相关信息,生成与所述目标业务订单对应的映射数值。
需要说明的是,在S104中,基于相关信息,生成与目标业务订单对应的映射数值,可以是基于相关信息和映射规则,确定与目标业务订单对应的映射数值,也可以是将相关信息按照预设处理方式进行处理得到与目标业务订单对应的映射数值。不管采用何种方式确定映射数值,基于所述相关信息得到的所述映射数值是可复现的。
作为一个例子,S104中,基于相关信息,生成与目标业务订单对应的映射数值,包括:基于所述相关信息和哈希算法,生成所述映射数值。或者理解为,对所述相关信息进行哈希运算,将所述相关信息映射成所述映射数值。
举例来说,假设相关信息包括用户标识,用户标识为2088302692789001,通过哈希运算将该用户标识映射到哈希值278903492。基于用户标识生成与业务订单对应的映射数值可以使得数据具备重跑一致性,提高用户体验。
上述的哈希算法可以是非加密哈希算法。非加密哈希算法例如可以为MurmurHash算法、Fowler-Noll-Vo算法、SipHash算法等。
S106,基于所述映射数值对目标数值取模得到的余数对应的时长和预设时间段,确定所述目标业务订单相关的订单奖励的可获取时刻,所述可获取时刻在所述预设时段内,所述预设时间段的开始时刻晚于所述目标业务订单的生成时刻。
需要说明的是,在S106中映射数值对目标数值取模也可以表述为映射数值对目标数值求模。
在S016中,目标业务订单相关的订单奖励可以包括积分奖励、能量奖励等。S106中的目标数值可以是预设数值,也可以是根据实际需要确定的数值。
在一些实施例中,S106中的数值是根据实际需要确定的数值。图1所示的方法还包括:基于所述预设时间段的时长和预设处理精度要求,确定所述目标数值。
举例来说,假设预设时间段的时长为30分钟,预设处理精度为“1秒”,则确定所述目标数值为1800。或者预设时间段的时长为30分钟,预设处理精度为“1分钟”,则确定目标数值为30。
可选地,在一些实施例中,基于映射数值对目标数值取模的余数对应的时长和预设时间段,确定目标业务订单相关的订单奖励的可获取时刻,包括:将第一目标时刻确定为所述目标业务订单相关的订单奖励的可获取时刻,第一目标时刻与预设时间段的开始时刻之间的时间间隔为所述余数对应的时长。
举例来说,假设业务订单1的生成时刻为2018年11月20日06:00:00,业务订单2的生成时刻为2018年11月20日06:30:00,预设时间段为2018年11月21日07:00:00-07:29:59,预设处理精度为“1秒”。该业务订单1对应的用户标识1为2088302692789001,与该用户标识1对应的哈希值1为278903492。该业务订单2对应的用户标识2为2088302697278078,与该用户标识2对应的哈希值为278902784。将该哈希值1对1800取模得到的余数1为692,则认为余数1对应的时长为692秒,将该哈希值2对1800取模得到的预余数2为1784,则认为余数2对应的时长为1784秒。进而可以确定该业务订单1相关的订单奖励的可获取时间为07:11:32,即2018年11月21日早晨7点11分32秒,该业务订单2相关的订单奖励的可获取时间为07:29:44,即2018年11月21日早晨7点29分44秒。
在这个例子中,将哈希算法作用在用户标识上,能够保证按照用户标识对业务订单进行离散化,数据具备重跑一致性,使得用户每天在某个固定时间段获取到业务订单相关的订单奖励,提高用户体验,有利于养成用户心智。并且将用户标识通过哈希运算得到与订单业务相关的哈希值,并基于哈希值对目标数值取模得到的余数对应的时长确定订单业务相关的订单奖励的可获取时刻在预设时间段内的具体出现时间,使得不同用户的订单业务对应的订单奖励的可获取时刻在预设时间段内分布均匀,提高业务系统的稳定性。
可选地,在S104中,基于所述相关信息,生成与所述目标业务订单对应的映射数值,包括:在所述目标业务订单的生成时刻与所述预设时间段的开始时刻之间的时间间隔大于24小时的情况下,基于所述相关信息,生成与所述业务订单对应的映射数值。
举例来说,假设一个业务订单的生成时刻为2018年11月20日06:30:30,预设时间段为2018年11月21日07:00:00-08:00:00,则需要基于该业务订单的相关信息,生成与该业务订单对应的映射数值。之后再基于该映射数值对目标数值取模得到的余数对应的时长和预设时间段,确定该业务订单相关的订单奖励的可获取时刻。
进一步地,图1所示的方法,还包括:获取全量业务订单,所述全量业务订单包括所述目标业务订单和其他业务订单,所述其他业务订单的生成时刻早于所述预设时间段的开始时刻,且所述其他业务订单的生成时刻与所述预设时间段的开始时刻之间的时间间隔小于24小时;将第二目标时刻确定为所述其他业务订单对应的订单奖励的可获取时间,所述第二目标时刻与所述其他业务订单的生成时刻之间的时间间隔为24小时。
换句话说,如果一个业务订单的生成时刻与预设时间段的开始时刻之间的时间间隔小于24小时,则将该业务订单的生成时刻+1天得到的时刻确定为该业务订单相关的订单奖励的可获取时间。
举例来说,假设一个业务订单的生成时刻为2018年11月20日08:30:30,预设时间段为2018年11月21日07:00:00-08:00:00,该业务订单的生成时刻与预设时间段的开始时刻之间的时间间隔小于24小时,则确定该业务订单相关的订单奖励的可获取时刻为2018年11月21日08:30:30。
图2是根据本申请一个具体实施例的业务订单的处理方法的流程示意图。图2所示的方法可以由业务订单的处理装置执行。如图2所示出的,图2所示的方法包括:
S202,获取全量业务订单。
S204,判断全量业务订单中的业务订单是否是生成时刻早于7点的业务订单。
S206,对生成时刻早于7点的业务订单对应的用户标识进行哈希运算,得用户标识对应的哈希值,并将哈希值对1800取模得到余数。
例如,对用户标识通过非加密算法进行哈希运算,这里的非加密算法例如可以是MurmurHash算法、Fowler-Noll-Vo算法、SipHash算法等。
这里将哈希值对1800取模意味着处理精度为“1秒”,预设时间段为30分钟。在这种情况下,如果处理精度为“1分钟”则将哈希值对30取模。
S206,对生成时刻晚于或等于7点的业务订单,采用将生成时刻+1天的方式,确定业务订单相关的订单奖励的可获取时刻。
S208,对生成时刻早于7点的业务订单,采用余数对应的时长与7点秒数相加+1天的方式,确定业务订单相关的订单奖励的可获取时刻。
在S208中,以预设时间段的开始时刻为第二天的7点,余数对应的时长与7点秒数相加+1天也可以理解为,将与第二天的7点之间的时间间隔为余数对应的秒数的时刻确定为业务订单相关的订单奖励的可获取时刻。
S210,得到全量业务订单相关的订单奖励的可获取时刻。
通过实施例二的方法,可以将一天中的00:00:00-06:59:59之间生成的业务订单相关的订单奖励的可获取时刻离散到第二天的07:00:00-07:29:59之间,能够使得用户在业务订单生成后的第二天的某个固定时间段获取到业务订单相关的订单奖励,提高用户体验,有利于养成用户心智,并且通过哈希值均匀分桶,保证订单相关的订单奖励在指定区间的均匀分布,提高业务系统的稳定性。
下面将结合图3详细描述根据本申请一个实施例的电子设备。参考图3,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成业务订单的处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取目标业务订单的相关信息;
基于所述相关信息,生成与所述目标业务订单对应的映射数值;
基于所述映射数值对目标数值取模得到的余数对应的时长和预设时间段,确定所述目标业务订单相关的订单奖励的可获取时刻,所述可获取时刻在所述预设时间段内,所述预设时间段的开始时刻晚于所述目标业务订单的生成时刻。
上述如本申请图1所示实施例揭示的业务订单的处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2的方法,并实现业务订单的处理装置图2所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
获取目标业务订单的相关信息;
基于所述相关信息,生成与所述目标业务订单对应的映射数值;
基于所述映射数值对目标数值取模得到的余数对应的时长和预设时间段,确定所述目标业务订单相关的订单奖励的可获取时刻,所述可获取时刻在所述预设时间段内,所述预设时间段的开始时刻晚于所述目标业务订单的生成时刻。
图4是本申请的一个实施例的业务订单的处理装置的结构示意图。请参考图4,在一种软件实施方式中,业务订单的处理装置400可包括:获取单元41和处理单元42,其中,
获取单元41,获取目标业务订单的相关信息;
处理单元42,基于所述相关信息,生成与所述目标业务订单对应的映射数值;
所述处理单元42,基于所述映射数值对目标数值取模的余数对应的时长和预设时间段,确定所述目标业务订单相关的订单奖励的可获取时刻,所述可获取时刻在所述预设时间段内,所述预设时间段的开始时刻晚于所述目标业务订单的生成时刻。
根据本申请实施例的业务订单的处理装置,基于目标业务订单的相关信息生成与目标业务订单对应的映射数值,并基于映射数值与目标数值取模的余数对应的时长和预设时间段,确定目标业务订单相关的订单奖励的可获取时刻,由此能够使得不同的业务订单对应的订单奖励的可获取时刻离散到预设时间段内,能够降低业务系统的处理压力和容量压力。
可选地,作为一个实施例,处理单元42:
基于所述相关信息和哈希算法,生成所述映射数值。
可选地,作为一个实施例,所述哈希算法为非加密哈希算法。
可选地,作为一个实施例,处理单元42:
基于所述预设时间段的时长和预设处理精度要求,确定所述目标数值。
可选地,作为一个实施例,所述相关信息包括所述目标业务订单对应的用户标识和业务订单号中的至少一项。
可选地,作为一个实施例,处理单元42:
将第一目标时刻确定为所述目标业务订单相关的订单奖励的可获取时刻,所述第一目标时刻与所述预设时段的开始时刻之间的时间间隔为所述余数对应的时长。
可选地,作为一个实施例,处理单元42:
在所述目标业务订单的生成时刻与所述预设时间段的开始时刻之间的时间间隔大于24小时的情况下,基于所述相关信息,生成与所述业务订单对应的映射数值。
可选地,作为一个实施例,获取单元41:获取全量业务订单,所述全量业务订单包括所述目标业务订单和其他业务订单,所述其他业务订单的生成时刻早于所述预设时间段的开始时刻,且所述其他业务订单的生成时刻与所述预设时间段的开始时刻之间的时间间隔小于24小时;
处理单元42:将第二目标时刻确定为所述其他业务订单对应的订单奖励的可获取时刻,所述第二目标时刻与所述其他业务订单的生成时刻之间的时间间隔为24小时。
本申请实施例的业务订单的处理装置还可执行图1和图2中业务订单的处理装置执行的方法,并实现业务订单的处理装置在图1和图2所示实施例的功能,在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。