CN108153796B - 一种电子红包的数据处理方法、装置和系统 - Google Patents
一种电子红包的数据处理方法、装置和系统 Download PDFInfo
- Publication number
- CN108153796B CN108153796B CN201611112188.4A CN201611112188A CN108153796B CN 108153796 B CN108153796 B CN 108153796B CN 201611112188 A CN201611112188 A CN 201611112188A CN 108153796 B CN108153796 B CN 108153796B
- Authority
- CN
- China
- Prior art keywords
- electronic red
- red packet
- user
- cache
- packet data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0211—Determining the effectiveness of discounts or incentives
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种电子红包的数据处理方法、装置和系统,所述方法包括:接收用户提交的可用电子红包查询请求;针对所述请求,查询缓存中是否存在所述用户的电子红包数据;若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;若所述缓存中的电子红包数据失效,则在缓存中刷新所述用户的电子红包数据;将刷新的该用户的电子红包数据返回给用户,本申请实施例在不引入过多的冗余的实现代码的前提下,仅在用户查询其红包数据时才决定是否刷新对应的电子红包缓存数据,从而可以有效减少应用系统以及数据库资源的消耗,提升最大数据吞吐量。
Description
技术领域
本申请涉及数据库系统的技术领域,特别是涉及一种电子红包的数据处理方法、一种电子红包的数据处理系统和一种电子红包的数据处理装置,以及,一种电子红包的缓存方法、一种电子红包的缓存装置和一种电子红包的缓存系统。
背景技术
在越来越多的电子商务平台中,向用户发放各式各样的电子红包(如商场红包,店铺红包,电子优惠券等)已成为常用的营销手段之一。用户在电子商务平台购买商品时可以使用电子红包从不同的途径减少花费。一种典型的应用场景为,用户在电子商务平台中购物时,如果领取了被配置有相应的金额及使用条件(如允许使用优惠,满额减,满额返利,星级客户优惠等)的电子红包,那么在满足该电子红包使用条件的基础上,可以针对用户所购买商品的价格,直接扣减该电子红包相应的金额后进行支付,或者在用户支付后返回相应金额的补偿。例如,用户领取了一个满20元减5元的红包,那么当用户选择了购买的目标商品为25元时,用户实际只需要支付20元。
一般而言,当用户获得电子红包以后,需要获知其可用的电子红包数据,如用户一共有多少个红包可用,总计金额多少,以及详细的红包信息等。在实际中,由于同一个用户很可能在短时间内多次请求,且统计这些信息是比较消耗数据库性能的,所以需要使用缓存,即利用缓存存储用户前一次的查询结果,并认为缓存一直有效。对于用户在后的查询请求,仅读取缓存中的数据即可。当用户的红包数据因红包的使用、过期等状态发生变化时,需要使已有的缓存失效,以便用户下一次查询红包数据时可以显示最新的可用电子红包数据。
为了实现对于缓存有效与失效的精准管理,已有的解决方案是在电子红包的各生命周期,比如,用户获得红包、红包被使用、红包取消使用、红包过期失效、红包发生展期等中发送事件消息(异步通知消息)或者增加代码处理节点来进行缓存的刷新,从而将已经存在(即有效)的缓存失效掉。
例如,用户第一天11:00获取了一个红包,此时生成一个异步通知消息,表明该用户获得红包的信息。缓存管理系统在接收到该消息后,刷新相关的缓存数据,将该红包数据记录在缓存中。
第二天11:00前述红包被使用了,也生成一个异步通知消息,表明该红包被使用的信息。缓存管理系统在接收到该消息后,刷新相关的缓存数据,将该红包数据从缓存中排除。
已有解决方案的缺点是会引入较多的实现代码,增加代码的复杂度。同时,例如在上述过程中,如果用户并没有查过其红包数据,所以上述异步通知消息的生成、发送以及相应缓存管理系统的缓存处理,都没有发生实质的价值。而上述异步通知消息的生成、发送以及相应缓存管理系统的缓存处理又已经产生过多的系统性能消耗,增加了系统的负载。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种电子红包的数据处理方法、一种电子红包的数据处理系统和一种电子红包的数据处理装置,以及,一种电子红包的缓存方法、一种电子红包的缓存装置和一种电子红包的缓存系统。
为了解决上述问题,本申请公开了一种电子红包的数据处理方法,包括:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在所述用户的电子红包数据;
若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;
若所述缓存中的电子红包数据失效,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户。
可选地,还包括:
若缓存中不存在所述用户的电子红包数据,则在缓存中构建所述用户的电子红包数据。
可选地,还包括:
若所述缓存中的电子红包数据没有失效,则将缓存中已有的电子红包数据返回给用户。
可选地,所述在缓存中构建所述用户的电子红包数据的步骤包括:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
可选地,所述电子红包数据还包括最后操作更新时间;所述在缓存中构建所述用户的电子红包数据的步骤还包括:
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
可选地,所述特定操作包括:用户获得电子红包,电子红包被使用,电子红包被取消使用,电子红包过期,电子红包延期。
可选地,所述判断所述缓存中的电子红包数据是否失效的步骤包括:
查询所述电子红包数据的缓存时间;
提取所述缓存中的电子红包数据的最后操作更新时间;
判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效。
可选地,所述查询所述电子红包数据的缓存时间的子步骤包括:
接收所述数据库系统针对所述查询请求返回的数据库系统的当前时间;
将所述数据库系统的当前时间记录为缓存时间。
为了解决上述问题,本申请公开了一种电子红包的缓存方法,包括:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
为了解决上述问题,本申请公开了一种电子红包的缓存方法,包括:
电子红包的数据库系统接收客户端提交用户可用电子红包的查询请求;
针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
获取所述电子红包最近一次发生特定操作的时间;
统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
为了解决上述问题,本申请公开了一种电子红包的数据处理方法,包括:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在失效的电子红包数据;
若缓存中存在失效的电子红包数据,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户。
为了解决上述问题,本申请公开了一种电子红包的数据处理装置,包括:
请求接收模块,用于接收用户提交的可用电子红包查询请求;
缓存查询模块,用于针对所述请求,查询缓存中是否存在所述用户的电子红包数据;在缓存中存在所述用户的电子红包数据时,调用失效判断模块;
失效判断模块,用于判断所述缓存中的电子红包数据是否失效;在所述缓存中的电子红包数据失效时,调用缓存刷新模块;
缓存刷新模块,用于在缓存中刷新所述用户的电子红包数据;
第一反馈模块,用于将刷新的该用户的电子红包数据返回给用户。
可选地,还包括:
缓存构建模块,用于在缓存中不存在所述用户的电子红包数据时,在缓存中构建所述用户的电子红包数据。
可选地,还包括:
第二反馈模块,用于在所述缓存中的电子红包数据没有失效时,将缓存中已有的电子红包数据返回给用户。
可选地,所述缓存构建模块包括:
数据库查询请求子模块,用于向电子红包的数据库系统提交查询请求;
红包记录接收子模块,用于接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
红包记录统计子模块,用于统计所述用户所有可用的电子红包记录;
缓存写入子模块,用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
可选地,所述电子红包数据还包括最后操作更新时间;所述缓存构建模块还包括:
最后更新时间获取子模块,用于获取所述电子红包最近一次发生特定操作的时间;
最后更新时间记录子模块,用于在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
可选地,所述失效判断模块包括:
缓存时间查询子模块,用于查询所述电子红包数据的缓存时间;
特征时间提取子模块,用于提取所述缓存中的电子红包数据的最后操作更新时间;
对比子模块,用于判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则调用失效确认子模块;若否,则调用有效确认子模块;
失效确认子模块,用于判定所述缓存中的电子红包数据失效;
有效确认子模块,用于判定所述缓存中的电子红包数据没有失效。
可选地,所述缓存时间查询子模块包括:
数据库时间接收单元,用于接收所述数据库系统针对所述请求返回的数据库系统的当前时间;
缓存时间记录单元,用于将所述数据库系统的当前时间记录为缓存时间。
为了解决上述问题,本申请公开了一种电子红包的数据处理的系统,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在所述用户的电子红包数据;
若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;
若所述缓存中的电子红包数据失效,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户。
可选地,该一个或多个模块具有如下功能:
若缓存中不存在所述用户的电子红包数据,则在缓存中构建所述用户的电子红包数据。
可选地,该一个或多个模块具有如下功能:
若所述缓存中的电子红包数据没有失效,则将缓存中已有的电子红包数据返回给用户。
可选地,该一个或多个模块具有如下功能:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
可选地,所述电子红包数据还包括最后操作更新时间;该一个或多个模块具有如下功能:
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
可选地,该一个或多个模块具有如下功能:
查询所述电子红包数据的缓存时间;
提取所述缓存中的电子红包数据的最后操作更新时间;
判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效。
可选地,该一个或多个模块具有如下功能:
接收所述数据库系统针对所述查询请求返回的数据库系统的当前时间;
将所述数据库系统的当前时间记录为缓存时间。
为了解决上述问题,本申请公开了一种电子红包的缓存装置,所述装置位于客户端,包括:
数据库查询请求模块,用于向电子红包的数据库系统提交查询请求;
红包记录接收模块,用于接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
红包记录统计模块,用于统计所述用户所有可用的电子红包记录;
缓存写入模块,用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
最后更新时间获取模块,用于获取所述电子红包最近一次发生特定操作的时间;
最后更新时间记录模块,用于在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
为了解决上述问题,本申请公开了一种电子红包的数据处理的系统,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
为了解决上述问题,本申请公开了一种电子红包的缓存装置,所述装置位于电子红包的数据库系统,包括:
查询请求接收模块,用于接收客户端提交用户可用电子红包的查询请求;
数据库查询模块,用于针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
最后更新时间获取模块,用于获取所述电子红包最近一次发生特定操作的时间;
红包记录统计模块,用于统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
为了解决上述问题,本申请公开了一种电子红包的数据处理的系统,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
电子红包的数据库系统接收客户端提交用户可用电子红包的查询请求;
针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
获取所述电子红包最近一次发生特定操作的时间;
统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
为了解决上述问题,本申请公开了一种装置,包括:
一个或多个处理器;和
其上存储的一个或多个计算机可读介质中的指令,由所述一个或多个处理器执行时,导致所述装置执行上述一种电子红包的数据处理的方法。
为了解决上述问题,本申请公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行上述一种电子红包的数据处理的方法。
本申请实施例包括以下优点:
本申请实施例在不引入过多的冗余的实现代码的前提下,仅在用户查询其红包数据时才决定是否刷新对应的电子红包缓存数据,从而可以有效减少应用系统以及数据库资源的消耗,提升最大数据吞吐量。
在具体实现中,在构建用户的电子红包数据缓存时,可以以事务读的方式,先返回数据库系统的当前时间作为缓存生成时间。然后再依次读入其它的红包相关数据,生成用户的电子红包数据并写入缓存,从而保证了缓存时间的准确性,进而可以使得针对缓存失效的判断更为准确。
附图说明
图1是本申请的一种电子红包的数据处理方法实施例1的步骤流程图;
图2是本申请的一种电子红包的数据处理的任务示意图;
图3是本申请的一种电子红包的数据处理方法实施例2的步骤流程图;
图4是本申请的一种电子红包的缓存方法实施例1的步骤流程图;
图5是本申请的一种电子红包的缓存方法实施例2的步骤流程图;
图6是本申请的一种电子红包的数据处理装置实施例的结构框图;
图7是本申请的一种电子红包的缓存装置实施例1的结构框图;
图8是本申请的一种电子红包的缓存装置实施例2的结构框图;
图9是本申请一种示例性系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的构思易于进行各种修改和替代形式,其具体实施例已经通过附图的方式示出,并将在这里详细描述。然而,应该理解,上述内容并不是用来将本申请的构思限制为所公开的具体形式,相反地,本申请的说明书和附加权利要求书意欲覆盖所有的修改、等同和替代的形式。
本说明书中的“一个实施例”,“实施例”,“一个具体实施例”等,表示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以包括或可以不必然包括该特定特征、结构或特性。此外,这样的短语不一定指的是同一实施例。另外,在联系一个实施例描述特定特征、结构或特性的情况下,无论是否明确描述,可以认为本领域技术人员所知的范围内,这样的特征、结构或特性也与其他实施例有关。另外,应该理解的是,“在A,B和C的至少一个”这种形式所包括的列表中的条目中,可以包括如下可能的项目:(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。同样,“A,B或C中的至少一个”这种形式列出的项目可能意味着(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。
在一些情况下,所公开的实施例可以被实施为硬件、固件、软件或其任意组合。所公开的实施例也可以实现为携带或存储在一个或多个暂时的或者非暂时的机器可读(例如计算机可读)存储介质中的指令,该指令可以被一个或多个处理器执行。机器可读存储介质可以实施为用于以能够被机器读取的形式存储或者传输信息的存储装置、机构或其他物理结构(例如易失性或非易失性存储器、介质盘、或其他媒体其它物理结构装置)。
在附图中,一些结构或方法特征可以以特定的安排和/或排序显示。然而,优选地,这样的具体安排和/或排序并不是必要的。相反,在一些实施方案中,这样的特征可以以不同的方式和/或顺序排列,而不是如附图中所示。此外,特定的附图中的结构或方法特征中所包含的内容,不意味着暗示这种特征是在所有实施例是必须的,并且在一些实施方案中,可能不包括这些特征,或者可能将这些特征与其它特征相结合。
本申请发明人注意到,在实际中,用户对于可用电子红包的查询并不频繁,并不是每一次电子红包的状态发生变化,用户都会去查询其电子红包的数据,不仅如此,实际的数据分析表现,仅有少部分的用户会去查询其电子红包的数据。针对这些问题,提出本申请实施例的核心构思之一在于,不引入过多的冗余的实现代码,仅在用户查询其红包数据时才决定是否刷新对应的电子红包缓存数据,以减少应用系统以及数据库资源的消耗,提升最大数据吞吐量。
参照图1,示出了本申请的一种电子红包的数据处理方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,接收用户提交的可用电子红包查询请求;
一般而言,各电子商务平台中使用的电子红包有多种形式,除上述背景技术中的举例之外,还有诸如可以刷某个银行的银行卡则相应打折的红包,还有在全平台(如淘宝)中不限商户使用的红包等。本申请实施例中对电子红包的形式不作任何限制。
在实际中,当电子商务网站成功发放电子红包,用户领取到电子红包以后,往往需要获知其可用的电子红包数据,如用户一共有多少个红包可用,总计金额多少,以及,详细的红包信息等。在这种情况下,用户便会提交可用电子红包查询请求。
步骤102,针对所述请求,查询缓存中是否存在所述用户的电子红包数据;若是,则执行步骤103;
在实际中,由于同一个用户很可能在短时间内多次请求,且统计这些信息是比较消耗数据库性能的,所以需要缓存电子红包数据,即利用缓存存储用户在先的查询结果,对于用户在后的查询请求,仅读取缓存中的数据即可。可以理解,若用户在先发起过可用电子红包查询请求,则缓存中会存在所述用户的电子红包数据;若用户未发起过可用电子红包查询请求,则缓存中不会存在所述用户的电子红包数据;当然,在具体实现中也可能存在缓存被清空的场景,本申请对此不作限制。
步骤103,判断所述缓存中的电子红包数据是否失效;若是,则执行步骤104;若否,则执行步骤105;
一般而言,电子红包是具有生命周期的,比如,用户获得红包、红包被使用、红包取消使用、红包过期失效、红包发生展期等,当用户获得红包后,红包数据因红包的使用、过期等状态发生变化时,需要使已有的缓存失效。
在本申请的一种优选实施例中,可以通过如下方式判断缓存中的电子红包数据是否失效:
查询所述电子红包数据的缓存时间;
提取所述缓存中的电子红包数据的最后操作更新时间;
判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效。
缓存时间是在向电子红包的数据库系统提交用户的可用红包查询请求时,由所述数据库系统针对所述请求返回的数据库系统的当前时间;所述最后操作更新时间为电子红包最近一次发生特定操作的时间。所述特定操作可以包括用户获得电子红包,电子红包被使用,电子红包被取消使用,电子红包过期,电子红包延期等。
当然,上述判断缓存失效的处理仅仅用作示例,本领域技术人员依据实际情况采用任一种方式均是可行的,本申请对此不作限制。
步骤104,在所述缓存中的电子红包数据失效时,在缓存中刷新所述用户的电子红包数据;并将刷新的该用户的电子红包数据返回给用户。
对于失效的电子红包数据,可以依据实际情况重新生成有效的电子红包数据写入缓存,并返回用户。
步骤105,将缓存中已有的电子红包数据返回给用户。
为使本领域技术人员更好地理解本申请实施例,以下通过一个示例进行说明。
参考图2所示的应用本申请实施例进行电子红包的数据处理的任务示意图,用户发起可用电子红包的查询请求(S21,查询卡券包),基于用户标识useID读取缓存(S22,读缓存),在缓存中查询相应用户的电子红包数据(S23,缓存命中),如果缓存中有相应用户的电子红包数据,则从电子红包数据中提取最后操作更新时间(S24,读用户红包最后更新时间)。
例如,可以通过执行SQL语句:select max(gmt_modified)from coupon whereuser_id=?来查询用户红包数据的最后操作更新时间。时间越靠后就表示时间值越大,在本例中是取最大值。
与此同时,接收数据库系统针对用户提交的可用红包查询请求返回的数据库系统的当前时间,将其记录为缓存时间。通过对比所述最后操作更新时间和缓存时间判定缓存是否失效(S25,缓存失效?)在具体实现中,可以在返回的最后操作更新时间晚于或等于缓存时间时,才判定缓存失效;否则判定缓存没有失效。
对于查询缓存返回值为null的情况,表明用户没有相应的电子红包数据,直接返回无数据。
在缓存中没有相应的电子红包数据或者缓存失效时,在缓存中构建所述用户的电子红包数据。(S26,读用户红包数据进行计算,更新缓存)
例如,截至2016年11月11日11:00用户共领取了三个红包,最后一个领取的红包时间为11:00,即其gmt_modified为11:00。
11:04用户来查询红包数据,此时会生成以上三个红包数据的缓存,缓存时间为11:04。
11:05用户再次发起红包数据查询请求,此时取数据库中的max(gmt_modified)为11:00,所以判定缓存有效,那么直接返回缓存中的3个红包数据。
11:06用户在另一个活动中又领取了1个红包,新红包数据的gmt_modified时间为11:06。
11:07用户又发起了红包数据查询请求,此时取数据中的max(gmt_modified)为11:06,所以判定缓存失效,重新生成缓存数据,且缓存时间为11:07。
可见,该SQL查询易于利用数据库的索引,同时返回的数据相当少,对数据库的性能消耗非常低。
在本申请实施例中,在缓存中构建用户的电子红包数据主要针对,依据用户提交的可用电子红包查询请求,查询不到相适配的缓存的电子红包数据的场景;在缓存中刷新所述用户的电子红包数据主要针对,查询到了相适配的缓存的电子红包数据,但这些数据失效的场景。在具体实现中,在缓存中刷新用户的电子红包数据可以采用在缓存中构建用户的电子红包数据同样的操作方式,当然,本领域技术人员也可以依据实际情况采用其它操作方式,本申请对此无需加以限制。
参照图3,示出了本申请的一种电子红包的数据处理方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤301,接收用户提交的可用电子红包查询请求;
步骤302,针对所述请求,查询缓存中是否存在所述用户的电子红包数据;若存在,则执行步骤303;若不存在,则执行步骤305;
步骤303,在缓存中存在所述用户的电子红包数据时,判断所述缓存中的电子红包数据是否失效;若失效,则执行步骤304,若没有失效,则执行步骤306;
步骤304,在所述缓存中的电子红包数据失效时,在缓存中刷新所述用户的电子红包数据,将刷新的该用户的电子红包数据返回给用户;
步骤305,在缓存中构建所述用户的电子红包数据;
步骤306,将缓存中已有的电子红包数据返回给用户。
本申请实施例中,所述数据库系统可以为电子商务网站内负责处理电子红包事务的服务器,服务器集群或云处理器等,本申请对此不作限制。
作为本申请具体实现的一种示例,可以通过如下方式在缓存中构建所述用户的电子红包数据:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
更为优选的是,所述电子红包数据还可以包括最后操作更新时间;还可以在缓存中构建所述用户的电子红包数据的过程中增加如下处理:
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
作为具体示例,所述特定操作是相应于红包生命周期中各节点的相关操作,例如可以包括:用户获得电子红包,电子红包被使用,电子红包被取消使用,电子红包过期,电子红包延期等。
在具体实现中,可以为每一条红包数据增加gmt_modified或类似名字的字段,用以记录电子红包数据的最后操作更新时间,在电子红包数据因使用、失效等活动发生更新时,同时也更新该字段。
例如,电子红包数据的主要内容可以包括:所属用户id,内部唯一id,原始面额,余额,红包状态,发放时间,最后操作更新时间(gmt_modified),业务关联信息,红包名称,生效时间,失效时间等。
如一个未使用的红包对应的值可能是:10753,11001100753,5CNY,5CNY,可用,2016-11-10 00:00:00,2016-11-10 00:00:00,业务关联信息,双11红包,2016-11-10 00:00:00,2016-11-10 23:59:59。
如该红包在双11当于00:13:00发生了使用,那么更新后的电子红包数据为:
更新:余额为0CNY,红包状态为已使用,最后操作更新时间为2016-11-11 00:13:00。
在本申请的一种优选实施例中,在构建用户的电子红包数据缓存时,需要以事务读的方式,先返回数据库系统的当前时间作为缓存时间。然后再依次读入其它的红包相关数据,生成用户的电子红包数据并写入缓存。
易于得知的是,一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,则整个事务将失败。事务有以下四个标准属性的缩写ACID,通常被称为:原子性:确保工作单元内的所有操作都成功完成,否则事务将被中止在故障点,和以前的操作将回滚到以前的状态。一致性:确保数据库正确地改变状态后,成功提交的事务。隔离性:使事务操作彼此独立的和透明的。持久性:确保提交的事务的结果或效果的系统出现故障的情况下仍然存在。
具体而言,在生成需要写入缓存的电子红包数据时,需要查询出该用户的所有可用的电子红包记录,比如该用户有10个红包,那么就需要查询出这10条红包记录,同时需要查询当时的数据库系统的时间作为缓存时间;这是两个独立的查询。采用事务读的方式的要点在于,先查询数据库系统的当前时间,再查询出其它红包数据。
由于构建缓存涉及多次查询的操作(读操作),期间可能会有时间差,如果在这个时间差内红包数据发生变化,那么将不会被后续的缓存操作感知到,从而造成缓存数据不一致。事务读的具体效果是利用了MySQL数据的特点,即在第一次读取数据库系统当前时间之前开启事务,那么接下来的红包数据的读取请求将仅包含事务开启之前的数据,而不是接收到读请求之前的数据。这样就保证了缓存时间的准确性。即在第一个查询开始时,就会开启事务,所以后续的读都是基于MySQL的快照读,就相当于参照第一个时间点建立了一个当时的快照,从而保证了写入缓存的红包数据的一致性。
在实际中,还可以逐条遍历查询得到的电子红包数据,计算总金额,总个数。对每一个红包,从结果中仅提取与展示相关的信息,并进行必要的转换以适合用户的理解。
参照图4,示出了本申请的一种电子红包的缓存方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤401,向电子红包的数据库系统提交查询请求;
步骤402,接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
步骤403,统计所述用户所有可用的电子红包记录;
步骤404,将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
步骤405,获取所述电子红包最近一次发生特定操作的时间;
步骤406,在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
本实施例示出了在客户端侧应用本申请的电子红包的缓存方法的一种实施场景。
参照图5,示出了本申请的一种电子红包的缓存方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤501,电子红包的数据库系统接收客户端提交用户可用电子红包的查询请求;
步骤502,针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
步骤503,获取所述电子红包最近一次发生特定操作的时间;
步骤504,统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
本实施例示出了在服务器侧应用本申请的电子红包的缓存方法的一种实施场景。
本申请实施例还提供了一种电子红包的数据处理方法实施例,具体可以包括如下步骤:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在失效的电子红包数据;
若缓存中存在失效的电子红包数据,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户。
作为本实施例具体应用的一种示例,可以通过如下方式查询缓存中是否存在失效的电子红包数据:
先查询缓存中是否存在所述用户的电子红包数据;若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出了本申请的一种电子红包的数据处理装置实施例的结构框图,具体可以包括如下模块:
请求接收模块601,用于接收用户提交的可用电子红包查询请求;
缓存查询模块602,用于针对所述请求,查询缓存中是否存在所述用户的电子红包数据;在缓存中存在所述用户的电子红包数据时,调用失效判断模块603;
失效判断模块603,用于判断所述缓存中的电子红包数据是否失效;在所述缓存中的电子红包数据失效时,调用缓存刷新模块604;
缓存刷新模块604,用于在缓存中刷新所述用户的电子红包数据;
第一反馈模块605,用于将刷新的该用户的电子红包数据返回给用户。
在本申请的一种优选实施例中,所述的装置还可以包括如下模块:
缓存构建模块,用于在缓存中不存在所述用户的电子红包数据时,在缓存中构建所述用户的电子红包数据。
更为优选的是,所述的装置还可以包括如下模块:
第二反馈模块,用于在所述缓存中的电子红包数据没有失效时,将缓存中已有的电子红包数据返回给用户。
作为本申请实施例具体应用的一种示例,所述缓存构建模块可以包括如下子模块:
数据库查询请求子模块,用于向电子红包的数据库系统提交查询请求;
红包记录接收子模块,用于接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
红包记录统计子模块,用于统计所述用户所有可用的电子红包记录;
缓存写入子模块,用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
更为优选的是,所述电子红包数据还可以包括最后操作更新时间;所述缓存构建模块还包括:
最后更新时间获取子模块,用于获取所述电子红包最近一次发生特定操作的时间;
最后更新时间记录子模块,用于在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
作为本申请实施例具体应用的一种示例,所述失效判断模块可以包括如下子模块:
缓存时间查询子模块,用于查询所述电子红包数据的缓存时间;
特征时间提取子模块,用于提取所述缓存中的电子红包数据的最后操作更新时间;
对比子模块,用于判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则调用失效确认子模块;若否,则调用有效确认子模块;
失效确认子模块,用于判定所述缓存中的电子红包数据失效;
有效确认子模块,用于判定所述缓存中的电子红包数据没有失效。
在具体实现中,所述缓存时间查询子模块可以包括如下单元:
数据库时间接收单元,用于接收所述数据库系统针对所述请求返回的数据库系统的当前时间;
缓存时间记录单元,用于将所述数据库系统的当前时间记录为缓存时间。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图7,示出了本申请的一种电子红包的缓存装置实施例1的结构框图,所述装置位于客户端,具体可以包括如下模块:
数据库查询请求模块701,用于向电子红包的数据库系统提交查询请求;
红包记录接收模块702,用于接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
红包记录统计模块703,用于统计所述用户所有可用的电子红包记录;
缓存写入模块704,用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
最后更新时间获取模块705,用于获取所述电子红包最近一次发生特定操作的时间;
最后更新时间记录模块706,用于在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
参照图8,示出了本申请的一种电子红包的缓存装置实施例2的结构框图,所述装置位于电子红包的数据库系统,具体可以包括以下模块:
查询请求接收模块801,用于接收客户端提交用户可用电子红包的查询请求;
数据库查询模块802,用于针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
最后更新时间获取模块803,用于获取所述电子红包最近一次发生特定操作的时间;
红包记录统计模块804,用于统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种电子红包的数据处理系统,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在所述用户的电子红包数据;
若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;
若所述缓存中的电子红包数据失效,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户。
可选地,该一个或多个模块可以具有如下功能:
若缓存中不存在所述用户的电子红包数据,则在缓存中构建所述用户的电子红包数据。
可选地,该一个或多个模块可以具有如下功能:
若所述缓存中的电子红包数据没有失效,则将缓存中已有的电子红包数据返回给用户。
可选地,该一个或多个模块可以具有如下功能:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
可选地,所述电子红包数据还包括最后操作更新时间;该一个或多个模块可以具有如下功能:
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
可选地,该一个或多个模块可以具有如下功能:
查询所述电子红包数据的缓存时间;
提取所述缓存中的电子红包数据的最后操作更新时间;
判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效。
可选地,该一个或多个模块可以具有如下功能:
接收所述数据库系统针对所述查询请求返回的数据库系统的当前时间;
将所述数据库系统的当前时间记录为缓存时间。
本申请实施例还提供了一种电子红包的数据处理的系统,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
本申请实施例还提供了一种电子红包的数据处理的系统,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
电子红包的数据库系统接收客户端提交用户可用电子红包的查询请求;
针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
获取所述电子红包最近一次发生特定操作的时间;
统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本公开的实施例可被实现为使用任意适当的硬件和/或软件进行想要的配置的系统。图9示意性地示出了可被用于实现本公开中所述的各个实施例的示例性系统900。
对于一个实施例,图9示出了示例性系统900,该系统具有一个或多个处理器902、被耦合到(一个或多个)处理器902中的至少一个的系统控制模块(芯片组)904、被耦合到系统控制模块904的系统存储器906、被耦合到系统控制模块904的非易失性存储器(NVM)/存储设备908、被耦合到系统控制模块904的一个或多个输入/输出设备910,以及被耦合到系统控制模块906的网络接口912。
处理器902可包括一个或多个单核或多核处理器,处理器902可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。
在一些实施例中,系统900可包括具有指令的一个或多个计算机可读介质(例如,系统存储器906或NVM/存储设备908)以及与该一个或多个计算机可读介质相合并被配置为执行指令以实现模块从而执行本公开中所述的动作的一个或多个处理器902。
对于一个实施例,系统控制模块904可包括任意适当的接口控制器,以向(一个或多个)处理器902中的至少一个和/或与系统控制模块904通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块904可包括存储器控制器模块,以向系统存储器906提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
系统存储器906可被用于例如为系统900加载和存储数据和/或指令。对于一个实施例,系统存储器906可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器906可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块904可包括一个或多个输入/输出控制器,以向NVM/存储设备908及(一个或多个)输入/输出设备910提供接口。
例如,NVM/存储设备908可被用于存储数据和/或指令。NVM/存储设备908可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备908可包括在物理上作为系统900被安装在其上的设备的一部分的存储资源,或者其可被该设备访问丽不必作为该设备的一部分。例如,NVM/存储设备908可通过网络经由(一个或多个)输入/输出设备910进行访问。
(一个或多个)输入/输出设备910可为系统900提供接口以与任意其他适当的设备通信,输入/输出设备910可以包括通信组件、音频组件、传感器组件等。网络接口912可为系统900提供接口以通过一个或多个网络通信,系统900可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器902中的至少一个可与系统控制模块904的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统900可以但不限于是:客户端、服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统900可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统900包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种电子红包的数据处理方法、一种电子红包的数据处理系统和一种电子红包的数据处理装置,以及,一种电子红包的缓存方法、一种电子红包的缓存装置和一种电子红包的缓存系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种电子红包的数据处理方法,其特征在于,包括:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在所述用户的电子红包数据;
若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;
若所述缓存中的电子红包数据失效,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户;
若缓存中不存在所述用户的电子红包数据,则在缓存中构建所述用户的电子红包数据;
其中,所述判断所述缓存中的电子红包数据是否失效的步骤包括:
查询所述电子红包数据的缓存时间;提取所述缓存中的电子红包数据的最后操作更新时间;判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效;
所述在缓存中构建所述用户的电子红包数据的步骤包括:
向电子红包的数据库系统提交查询请求;接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;统计所述用户所有可用的电子红包记录;将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述缓存中的电子红包数据没有失效,则将缓存中已有的电子红包数据返回给用户。
3.根据权利要求1或2所述的方法,其特征在于,所述电子红包数据还包括最后操作更新时间;所述在缓存中构建所述用户的电子红包数据的步骤还包括:
获取所述电子红包最近一次发生特定操作的时间;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
4.根据权利要求3所述的方法,其特征在于,所述特定操作包括:用户获得电子红包,电子红包被使用,电子红包被取消使用,电子红包过期,电子红包延期。
5.根据权利要求1所述的方法,其特征在于,所述查询所述电子红包数据的缓存时间的子步骤包括:
接收所述数据库系统针对所述查询请求返回的数据库系统的当前时间;
将所述数据库系统的当前时间记录为缓存时间。
6.一种电子红包的缓存方法,其特征在于,包括:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
获取所述电子红包最近一次发生特定操作的时间;所述特定操作为相应于红包生命周期中各节点的相关操作;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
7.一种电子红包的缓存方法,其特征在于,包括:
电子红包的数据库系统接收客户端提交用户可用电子红包的查询请求;
针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
获取所述电子红包最近一次发生特定操作的时间;所述特定操作为相应于红包生命周期中各节点的相关操作;
统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
8.一种电子红包的数据处理方法,其特征在于,包括:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在失效的电子红包数据;
若缓存中存在失效的电子红包数据,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户;
所述查询缓存中是否存在失效的电子红包数据的步骤包括:
先查询缓存中是否存在所述用户的电子红包数据;若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;若缓存中不存在所述用户的电子红包数据,则在缓存中构建所述用户的电子红包数据;
其中,所述判断所述缓存中的电子红包数据是否失效的步骤包括:
查询所述电子红包数据的缓存时间;提取所述缓存中的电子红包数据的最后操作更新时间;判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效;
所述在缓存中构建所述用户的电子红包数据的步骤包括:
向电子红包的数据库系统提交查询请求;接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;统计所述用户所有可用的电子红包记录;将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
9.一种电子红包的数据处理装置,其特征在于,包括:
请求接收模块,用于接收用户提交的可用电子红包查询请求;
缓存查询模块,用于针对所述请求,查询缓存中是否存在所述用户的电子红包数据;在缓存中存在所述用户的电子红包数据时,调用失效判断模块;
失效判断模块,用于判断所述缓存中的电子红包数据是否失效;在所述缓存中的电子红包数据失效时,调用缓存刷新模块;
缓存刷新模块,用于在缓存中刷新所述用户的电子红包数据;
第一反馈模块,用于将刷新的该用户的电子红包数据返回给用户;
所述装置,还包括:
缓存构建模块,用于在缓存中不存在所述用户的电子红包数据时,在缓存中构建所述用户的电子红包数据;
其中,所述失效判断模块,还用于查询所述电子红包数据的缓存时间;提取所述缓存中的电子红包数据的最后操作更新时间;判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效;
所述缓存构建模块,还用于向电子红包的数据库系统提交查询请求;接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;统计所述用户所有可用的电子红包记录;将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
10.一种电子红包的数据处理的系统,其特征在于,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
接收用户提交的可用电子红包查询请求;
针对所述请求,查询缓存中是否存在所述用户的电子红包数据;
若缓存中存在所述用户的电子红包数据,则判断所述缓存中的电子红包数据是否失效;
若所述缓存中的电子红包数据失效,则在缓存中刷新所述用户的电子红包数据;
将刷新的该用户的电子红包数据返回给用户;
若缓存中不存在所述用户的电子红包数据,则在缓存中构建所述用户的电子红包数据;
其中,所述判断所述缓存中的电子红包数据是否失效的步骤包括:
查询所述电子红包数据的缓存时间;提取所述缓存中的电子红包数据的最后操作更新时间;判断所述最后操作更新时间是否晚于或等于缓存时间,若是,则判定所述缓存中的电子红包数据失效;若否,则判定所述缓存中的电子红包数据没有失效;
所述在缓存中构建所述用户的电子红包数据的步骤包括:
向电子红包的数据库系统提交查询请求;接收所述数据库系统针对所述请求所查询出的所述用户所有可用的电子红包记录;统计所述用户所有可用的电子红包记录;将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存。
11.一种电子红包的缓存装置,其特征在于,所述装置位于客户端,包括:
数据库查询请求模块,用于向电子红包的数据库系统提交查询请求;
红包记录接收模块,用于接收所述数据库系统针对所述请求所查询出的用户所有可用的电子红包记录;
红包记录统计模块,用于统计所述用户所有可用的电子红包记录;
缓存写入模块,用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
最后更新时间获取模块,用于获取所述电子红包最近一次发生特定操作的时间;所述特定操作为相应于红包生命周期中各节点的相关操作;
最后更新时间记录模块,用于在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
12.一种电子红包的数据处理的系统,其特征在于,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
向电子红包的数据库系统提交查询请求;
接收所述数据库系统针对所述请求所查询出的用户所有可用的电子红包记录;
统计所述用户所有可用的电子红包记录;
将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存;
获取所述电子红包最近一次发生特定操作的时间;所述特定操作为相应于红包生命周期中各节点的相关操作;
在缓存中将所述发生特定操作的时间相应记录为最后操作更新时间。
13.一种电子红包的缓存装置,其特征在于,所述装置位于电子红包的数据库系统,包括:
查询请求接收模块,用于接收客户端提交用户可用电子红包的查询请求;
数据库查询模块,用于针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
最后更新时间获取模块,用于获取所述电子红包最近一次发生特定操作的时间;所述特定操作为相应于红包生命周期中各节点的相关操作;
红包记录统计模块,用于统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
14.一种电子红包的数据处理的系统,其特征在于,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
电子红包的数据库系统接收客户端提交用户可用电子红包的查询请求;
针对所述请求向所述客户端返回所述用户所有可用的电子红包记录;
获取所述电子红包最近一次发生特定操作的时间;所述特定操作为相应于红包生命周期中各节点的相关操作;
统计所述用户所有可用的电子红包记录并返回给客户端;所述客户端用于将所述用户统计后的电子红包记录作为该用户的电子红包数据写入缓存,以及,将所述发生特定操作的时间相应记录为最后操作更新时间。
15.一种终端设备,其特征在于,包括:
一个或多个处理器;和
其上存储的一个或多个计算机可读介质中的指令,由所述一个或多个处理器执行时,导致所述终端设备执行如权利要求1-5中任一项所述一种电子红包的数据处理方法。
16.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如权利要求1-5中任一项所述一种电子红包的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611112188.4A CN108153796B (zh) | 2016-12-02 | 2016-12-02 | 一种电子红包的数据处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611112188.4A CN108153796B (zh) | 2016-12-02 | 2016-12-02 | 一种电子红包的数据处理方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153796A CN108153796A (zh) | 2018-06-12 |
CN108153796B true CN108153796B (zh) | 2023-05-16 |
Family
ID=62467854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611112188.4A Active CN108153796B (zh) | 2016-12-02 | 2016-12-02 | 一种电子红包的数据处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153796B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008223A (zh) * | 2019-03-08 | 2019-07-12 | 平安科技(深圳)有限公司 | 异步更新缓存的方法、装置、计算机设备和存储介质 |
CN110543492A (zh) * | 2019-08-13 | 2019-12-06 | 中国银行股份有限公司 | 一种防止缓存失效的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090401B (zh) * | 2007-05-25 | 2011-05-18 | 金蝶软件(中国)有限公司 | 一种群集环境下的数据缓存方法及系统 |
CN106202112B (zh) * | 2015-05-06 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 缓存目录刷新方法和装置 |
CN106095877A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 一种红包数据处理方法和装置 |
-
2016
- 2016-12-02 CN CN201611112188.4A patent/CN108153796B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108153796A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132382B2 (en) | Asynchronous notifications for a datastore of a distributed system | |
US20220237597A1 (en) | Alternative digital asset conversion choices | |
US20220237598A1 (en) | Efficient, accurate, and secure digital asset conversions for real-time funding of merchant transactions | |
CN108153795B (zh) | 一种电子红包的数据处理方法、系统和装置 | |
US20220188780A1 (en) | Efficient, accurate, and secure transfers of internally-custodied digital assets | |
US20220164815A1 (en) | Closed-loop environment for efficient, accurate, and secure transaction processing | |
EP2702547A2 (en) | Online payment method and device | |
US12033140B2 (en) | Efficient, accurate, and secure processing of conversions between digital assets | |
US11880826B2 (en) | Efficient, accurate, and secure processing of digital asset conversion to fiat currency | |
US9928123B1 (en) | Precomputing processes associated with requests | |
CN107451918B (zh) | 资产数据管理方法及装置 | |
JP2018500681A (ja) | 取引情報処理方法及び装置 | |
US20240311805A1 (en) | Efficient, accurate, and secure processing of conversions between digital assets | |
CN108153796B (zh) | 一种电子红包的数据处理方法、装置和系统 | |
US10599628B2 (en) | Multi-network systems and methods for providing current biographical data of a user to trusted parties | |
CN111506580A (zh) | 一种基于中心化块链式账本的交易存储方法 | |
CN104537563A (zh) | 一种额度数据处理方法及服务器 | |
CN113296897B (zh) | 一种分布式事务的处理方法、装置、设备和机器可读介质 | |
CN107194712B (zh) | 共享账户变动信息记录方法及装置、内部账户补账方法及系统 | |
CA3089209A1 (en) | Cache coherency engine | |
WO2022132234A1 (en) | Efficient, accurate, and secure processing of digital asset conversion to fiat currency | |
CN110866206B (zh) | 数据更新设置方法和装置 | |
TWI630496B (zh) | Data storage method and system thereof | |
TWM589854U (zh) | 區塊鏈電子禮券管理系統 | |
US10032229B1 (en) | Employing spillover tables for data updates |
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 |