基于二进制位设计的判断客户参加促销活动的方法、装置制造方法及图纸

技术编号:24252609 阅读:36 留言:0更新日期:2020-05-23 00:07
本发明专利技术公开了一种基于二进制位设计的判断客户参加促销活动的方法、装置、计算机设备和存储介质,生成各个促销活动的二进制编号,获取目标客户所参与的各个促销活动的编号,得到若干个目标编号,计算各个目标编的十进制值之和,根据十进制值之和对应的二进制序列确定目标客户的所有活动的编号和序列,将各个促销活动的二进制编号分别以字符串的形式存储为字符串A,将目标客户的编号和序列以字符串的形式存储字为符串B,对多个字符串A与字符串B进行逻辑运算,以确定目标用户是否参加各个字符串A对应的促销活动,其可以利用更小的空间来统计更多的内容,提高判断目标客户是否参加各个促销活动的效率,降低相应的判断成本。

The method and device of judging customer's participation in promotion based on binary design

【技术实现步骤摘要】
基于二进制位设计的判断客户参加促销活动的方法、装置
本专利技术涉及信息处理
,尤其涉及一种基于二进制位设计的判断客户参加促销活动的方法、装置、计算机设备和存储介质。
技术介绍
随着业务的扩展和促销活动的增加,同一个客户可能会参与多个不同的促销活动,需要将每个促销活动分别记录下来,为了灵活地记录每个客户的参与记录,原系统采用了BitSet的内容格式进行存储,起初促销活动编号还很小时,这种方式还能满足要求,但是随着活动的增加及编码的增大,后期分布极度不均匀的时候,BitSet会造成很大空间上的浪费。举个例子,比如有10个数,分别是1、2、3、4、5、6、7、8、99999999999;那么此时不得不用99999999999个bit位去实现这个BitSet,而这个BitSet的中间绝大多数位置都是0,并且永远不会用到,这显然是极度不划算的,不仅导致存储在db的BitSet占用大量内存,同时导致了反序列化耗时很长的问题,可见在存在多个促销活动时,判断客户是否参加促销活动,特别是判断客户是否参加多个促销活动往往存在效率低的问题。
技术实现思路
针对以上问题,本专利技术提出一种基于二进制位设计的判断客户参加促销活动的方法、计算机设备和存储介质。为实现本专利技术的目的,提供一种基于二进制位设计的判断客户参加促销活动的方法,包括如下步骤:S10,生成各个促销活动的二进制编号;S20,获取目标客户所参与的各个促销活动的编号,得到若干个目标编号,计算各个目标编号对应的十进制值之和,根据计算得到的十进制值之和对应的二进制序列确定目标客户的所有活动的编号和序列;S30,将各个促销活动的二进制编号分别以字符串的形式存储为多个字符串A,将目标客户的编号和序列以字符串的形式存储字为符串B;S40,对多个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加各个字符串A对应的促销活动。在一个实施例中,对一个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加该字符串A对应的促销活动包括:对一个字符串A分别与字符串B进行逻辑与运算;若运算结果与字符串A一致,则判定目标用户已参加该字符串A对应的促销活动;若运算结果与字符串A不一致,则判定目标用户未参加该字符串A对应的促销活动。在一个实施例中,生成各个促销活动的二进制编号之前,还包括:设计各个促销活动的数据结构;所述数据结构记录各个促销活动的活动名称、活动目标、活动编号、活动状态、开始时间、和结束时间。在一个实施例中,第n个促销活动的二进制编号中,第n位为1,其余位为0。一种基于二进制位设计的判断客户参加促销活动的装置,包括:生成模块,用于生成各个促销活动的二进制编号;获取模块,用于获取目标客户所参与的各个促销活动的编号,得到若干个目标编号,计算各个目标编号对应的十进制值之和,根据计算得到的十进制值之和对应的二进制序列确定目标客户的所有活动的编号和序列;存储模块,用于将各个促销活动的二进制编号分别以字符串的形式存储为多个字符串A,将目标客户的编号和序列以字符串的形式存储字为符串B;确定模块,用于对多个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加各个字符串A对应的促销活动。在一个实施例中,所述确定模块进一步用于:对一个字符串A分别与字符串B进行逻辑与运算;若运算结果与字符串A一致,则判定目标用户已参加该字符串A对应的促销活动;若运算结果与字符串A不一致,则判定目标用户未参加该字符串A对应的促销活动。在一个实施例中,上述基于二进制位设计的判断客户参加促销活动的装置,还包括:设计模块,用于设计各个促销活动的数据结构;所述数据结构记录各个促销活动的活动名称、活动目标、活动编号、活动状态、开始时间、和结束时间。在一个实施例中,第n个促销活动的二进制编号中,第n位为1,其余位为0。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例的基于二进制位设计的判断客户参加促销活动的方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例的基于二进制位设计的判断客户参加促销活动的方法的步骤。上述基于二进制位设计的判断客户参加促销活动的方法、装置、计算机设备和存储介质,通过生成各个促销活动的二进制编号,获取目标客户所参与的各个促销活动的编号,得到若干个目标编号,计算各个目标编号对应的十进制值之和,根据计算得到的十进制值之和对应的二进制序列确定目标客户的所有活动的编号和序列,将各个促销活动的二进制编号分别以字符串的形式存储为多个字符串A,将目标客户的编号和序列以字符串的形式存储字为符串B,对多个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加各个字符串A对应的促销活动,其可以利用更小的空间来统计更多的内容,可以提高判断目标客户是否参加各个促销活动的效率,降低相应的判断成本。附图说明图1是一个实施例的基于二进制位设计的判断客户参加促销活动的方法流程图;图2是另一个实施例的基于二进制位设计的判断客户参加促销活动的方法流程图;图3是一个实施例的基于二进制位设计的判断客户参加促销活动的装置结构示意图;图4是一个实施例的计算机设备示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在一个实施例中,如图1所示,提供了一种基于二进制位设计的判断客户参加促销活动的方法,包括以下步骤:S10,生成各个促销活动的二进制编号。促销活动的二进制编号的生成方式可以包括:采用2的(n-1)次方(即2n-1,n表示促销活动的排列序号)表示第n个促销活动的十进制值,2的(n-1)次方对应的二进制序列表示第n个促销活动的二进制编号,此时每一个活动编号已经按照了二进制位的方式均匀分布,每一位表示一个促销活动。在一个实施例中,第n个促销活动的二进制编号中,第n位为1,其余位为0。具体地,促销活动的二进制编号以及相应的十进制值可以参考表1所示。表1进一步地,为了保证其中的数据处理效率,可以对n的取值进行限定。比如可以限制n<=65536。第n个促销活动的二进制编号对应的十进制值的确定公式包括:本文档来自技高网...

【技术保护点】
1.一种基于二进制位设计的判断客户参加促销活动的方法,其特征在于,包括如下步骤:/nS10,生成各个促销活动的二进制编号;/nS20,获取目标客户所参与的各个促销活动的编号,得到若干个目标编号,计算各个目标编号对应的十进制值之和,根据计算得到的十进制值之和对应的二进制序列确定目标客户的所有活动的编号和序列;/nS30,将各个促销活动的二进制编号分别以字符串的形式存储为多个字符串A,将目标客户的编号和序列以字符串的形式存储字为符串B;/nS40,对多个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加各个字符串A对应的促销活动。/n

【技术特征摘要】
1.一种基于二进制位设计的判断客户参加促销活动的方法,其特征在于,包括如下步骤:
S10,生成各个促销活动的二进制编号;
S20,获取目标客户所参与的各个促销活动的编号,得到若干个目标编号,计算各个目标编号对应的十进制值之和,根据计算得到的十进制值之和对应的二进制序列确定目标客户的所有活动的编号和序列;
S30,将各个促销活动的二进制编号分别以字符串的形式存储为多个字符串A,将目标客户的编号和序列以字符串的形式存储字为符串B;
S40,对多个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加各个字符串A对应的促销活动。


2.根据权利要求1所述的基于二进制位设计的判断客户参加促销活动的方法,其特征在于,在一个实施方式中,对一个字符串A分别与字符串B进行逻辑运算,根据逻辑运算结果确定目标用户是否参加该字符串A对应的促销活动包括:
对一个字符串A分别与字符串B进行逻辑与运算;
若运算结果与字符串A一致,则判定目标用户已参加该字符串A对应的促销活动;
若运算结果与字符串A不一致,则判定目标用户未参加该字符串A对应的促销活动。


3.根据权利要求1所述的基于二进制位设计的判断客户参加促销活动的方法,其特征在于,在一个实施方式中,生成各个促销活动的二进制编号之前,还包括:
设计各个促销活动的数据结构;所述数据结构记录各个促销活动的活动名称、活动目标、活动编号、活动状态、开始时间、和结束时间。


4.根据权利要求1至3所述的基于二进制位设计的判断客户参加促销活动的方法,其特征在于,在一个实施方式中,第n个促销活动的二进制编号中,第n位为1,其余位为0。


5.一种基于二进制位设计的判断客户参加促销活动的装置,其特征在于,包括:
生成模块,用于生成各个促销活动的二进制编号;
获取模块,...

【专利技术属性】
技术研发人员:陈旋王冲张平沈云开
申请(专利权)人:江苏艾佳家居用品有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1