CN113269590B - 一种用于资源补贴的数据处理方法、装置和系统 - Google Patents

一种用于资源补贴的数据处理方法、装置和系统 Download PDF

Info

Publication number
CN113269590B
CN113269590B CN202110605217.5A CN202110605217A CN113269590B CN 113269590 B CN113269590 B CN 113269590B CN 202110605217 A CN202110605217 A CN 202110605217A CN 113269590 B CN113269590 B CN 113269590B
Authority
CN
China
Prior art keywords
resource
subsidy
unit
lock
message
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
Application number
CN202110605217.5A
Other languages
English (en)
Other versions
CN113269590A (zh
Inventor
宋志立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
May 8 Home Co ltd
Original Assignee
May 8 Home Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by May 8 Home Co ltd filed Critical May 8 Home Co ltd
Priority to CN202110605217.5A priority Critical patent/CN113269590B/zh
Publication of CN113269590A publication Critical patent/CN113269590A/zh
Application granted granted Critical
Publication of CN113269590B publication Critical patent/CN113269590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0239Online discounts or incentives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0208Trade or exchange of goods or services in exchange for incentives or rewards

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种用于资源补贴的数据处理方法、装置和系统,其中方法包括:设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量;用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元将所述资源补贴申请转发给资源补贴单元;所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁。采用该技术方案,通过分布式锁保证每个用户的申请绑定资源补贴都能成功,不会再出现申请绑定资源补贴后实际无法获得的问题,提升了用户的使用感受。

Description

一种用于资源补贴的数据处理方法、装置和系统
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种用于资源补贴的数据处理方法、装置和系统。
背景技术
随着互联网技术的发展,互联网用户越来越多。互联网上的资源也变得越来越丰富,互联网公司能够给用户的资源补贴也越来越多。
但随着用户数量的增多,而互联网公司的资源数量有限,当用户数量增多到一定程度时,申请绑定资源补贴的申请数量会大于互联网公司所拥有资源补贴的数量。会造成一部分用户申请绑定了资源补贴,但实际却无法获得,给用户带来非常不好的体验。而且用户申请绑定的信息数量过多,超过了服务器的处理速度,会导致部分用户的申请绑定的信息丢失,使用户体验更加不好。
发明内容
本发明旨在解决现有资源补贴的处理方法不能应对大量用户申请绑定的场景,给用户的体验非常不好的问题。
为了解决上述技术问题,本发明第一方面提出一种用于资源补贴的数据处理方法,方法包括:
设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量;
用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元将所述资源补贴申请转发给资源补贴单元;
所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁。
根据本发明的一种优选实施方式,所述消息队列单元与所述资源补贴单元之间设置有转发单元,所述转发单元接收所述消息队列单元发送的消息,并将接收到的消息转发给所述资源补贴单元。
根据本发明的一种优选实施方式,所述转发单元中设置有转发速率阈值;
若所述消息队列单元发送消息的速率低于所述转发速率阈值,则所述转发单元直接转发所述消息队列单元发送的消息;
若所述消息队列单元发送消息的速率高于所述转发速率阈值,则所述转发单元将所述消息队列单元发送的消息存储在本地,按所述转发速率阈值向所述资源补贴单元转发消息。
根据本发明的一种优选实施方式,向分布式锁获取锁还包括获取过期时间,如果获取锁的时间达到过期时间则释放锁。
根据本发明的一种优选实施方式,向分布式锁获取锁还包括获取校验值,所述校验值为随机数,当获取锁的时间达到过期时间,比对校验值是否一样,如果一样则释放锁。
根据本发明的一种优选实施方式,所述分布式锁为多段式分布式锁。
根据本发明的一种优选实施方式,所述分布式锁为基于Redis的分布式锁。
本发明第二方面提出一种用于资源补贴的数据处理装置,包括:
资源补贴设置模块,用于设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量;
消息发送模块,用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元将所述资源补贴申请转发给资源补贴单元;
数据更新模块,所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁。
本发明第三方面提出一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机可执行程序被所述处理器执行时,所述处理器执行所述用于资源补贴的数据处理方法。
本发明第四方面提出一种计算机可读介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述用于资源补贴的数据处理方法。
采用该技术方案,通过分布式锁保证每个用户的申请绑定资源补贴都能成功,不会再出现申请绑定资源补贴后实际无法获得的问题,提升了用户的使用感受。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是本发明实施例中用于资源补贴的系统的拓扑图;
图2是本发明实施例中用于资源补贴的数据处理方法的流程示意图;
图3是本发明实施例中具体实施例流程示意图;
图4是本发明实施例中用于资源补贴的数据处理装置的结构示意图;
图5是本发明实施例中用于资源补贴的数据处理系统的结构框架示意图;
图6是本发明实施例中计算机可读存储介质的结构示意图。
具体实施方式
现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理单元装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
图1是本发明实施例中用于资源补贴的系统的拓扑图,如图1所示,包括用于用户进行登陆的终端,消息队列单元,转发单元,资源补贴单元以及数据库。
其中用户在终端上登陆客户端或网页客户端,浏览以及选取自己需要的资源补贴,向消息队列单元发送资源补贴申请。除了资源补贴申请,用户与网站其他的交互信息也发送向消息队列单元,处理不同业务的服务器在消息队列单元中进行订阅,如果消息队列单元接收到对应业务的消息,则将消息推送到对应的服务器。在本发明中转发单元用于保证资源补贴单元接收消息的速率不会超过处理的速率,避免消息丢失情况的发生。资源补贴单元用于预先设置资源补贴的属性信息,并将资源补贴的属性信息存储在数据库中。
图2是本发明一种用于资源补贴的数据处理方法的流程示意图,如图1所示。本发明正式为了解决这个问题,本发明提供一种基于用户生存模型的资源调整方法,包括:
S1、设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量。
在本实施方式中,管理人员定期发布新的资源补贴,设置资源补贴属性,具体包括资源补贴内容,资源补贴ID,资源补贴有效期,以及资源补贴数量。设置好后向用户展示资源补贴内容,在同一时间可能会有多个资源补贴向用户进行展示,用户根据自己需要选取合适的资源补贴,向消息队列单元发送资源补贴申请。在本实施方式中资源补贴为优惠券、奖励积分或抽奖名额等等,用于促进用户使用积极性,提升用户使用感受。
在上述技术方案的基础上,进一步地,所述消息队列单元与所述资源补贴单元之间设置有转发单元,所述转发单元接收所述消息队列单元发送的消息,并将接收到的消息转发给所述资源补贴单元。
在本实施方式中,消息队列单元并不直接将消息发送给资源补贴单元,而是由转发单元进行转发。因为资源补贴单元处理用户申请绑定资源补贴的处理速率是有限的,而消息队列单元的发送速率可能会高于资源补贴单元的处理速率。比如资源补贴单元每处理一个用户申请绑定资源补贴耗时20毫秒,则1秒可以处理50个申请,如果消息队列单元的发送速率超过50个/秒,则有的消息就会因为处理不及时被丢弃,用户体验非常不好。
在上述技术方案的基础上,进一步地,所述转发单元中设置有转发速率阈值;
若所述消息队列单元发送消息的速率低于所述转发速率阈值,则所述转发单元直接转发所述消息队列单元发送的消息;
若所述消息队列单元发送消息的速率高于所述转发速率阈值,则所述转发单元将所述消息队列单元发送的消息存储在本地,按所述转发速率阈值向所述资源补贴单元转发消息。
在本实施方式中,在转发单元中设置转发速率阈值,监控消息队列单元发送消息的速率,如果低于转发速率阈值则不对消息进行存储,直接转发给资源补贴单元。
如果超过转发速率阈值了则将消息存储在转发单元本地的存储器中,然后以转发速率阈值向资源补贴单元转发消息,并且在转发消息时添加消息存储地址帧,资源补贴单元收到转发的消息后向转发单元发送反馈消息,反馈消息携带存储地址帧。转发单元收到反馈消息后删除对应存储地址内存储的消息。
转发速率阈值可以由管理人员进行设置,也可以由转发单元与资源补贴单元协商确定。通常资源补贴单元为多个,不同的资源补贴单元处理速率不同,所以转发单元中分别设置相对应的转发速率阈值。
转发单元还负责在多个资源补贴单元中进行负载均衡处理,避免某个资源补贴单元负载过高,而其他资源补贴单元没有负载的情况出现。
S2、用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元将所述资源补贴申请转发给资源补贴单元。
在本实施方式中,用户选取好需要的资源补贴后,还需要用户进行确认绑定操作,在用户确认绑定后,消息队列单元会将确认绑定消息发送至资源补贴单元,资源补贴单元会将资源补贴ID与用户的用户ID进行绑定。
S3、所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁。
在本实施方式中,为了避免参与绑定的资源补贴数量超过实际的资源补贴数量,通过设置分布式锁来避免这种情况的发生。在本实施方式中,分布式锁的锁相当于锁定资源补贴数量,只有获取锁的用户可以对资源补贴数量进行修改,其他用户无法修改,通过这种方式保证每个用户申请绑定时都能真正的获得资源补贴。如果向分布式锁获取锁失败则等待一定时间后继续进行获取锁操作直至获取成功为止。
在本实施方式中,分布式锁设置在资源补贴单元,分布式锁中的数值与数据库中的资源补贴数量保持同步。
在上述技术方案的基础上,进一步地,向分布式锁获取锁还包括获取过期时间,如果获取锁的时间达到过期时间则释放锁。
在本实施方式中,为了避免用户申请资源补贴,获取到锁后一直不确认,导致其他用户无法继续下一步操作的情况发生,对锁这是一个过期时间,如果用户一直没有操作,到达过期时间时分布式锁释放锁,这时其他用户可以进行操作。
在上述技术方案的基础上,进一步地,向分布式锁获取锁还包括获取校验值,所述校验值为随机数,当获取锁的时间达到过期时间,比对校验值是否一样,如果一样则释放锁。
在本实施方式中,为了避免用户释放的锁并非自己获取的锁的情况发生,在用户获取锁的时候除了获取过期时间外,还获取校验值。在本实施方式中校验值为用户ID+时间戳,通过这种方式保证校验值的唯一性。当用户释放锁时,先要获取当前锁的校验值,如果与自身的校验值一致,则说明是自己的锁,可以进行释放锁操作,否则结束。
在上述技术方案的基础上,进一步地,所述分布式锁为多段式分布式锁。
在本实施方式中,为了保证更多的用能够进行绑定操作,分布式锁采用分段式分布式锁,比如资源补贴数量为1000个,每20个一组,配置一个分布式锁,通过这种方式可以同时为50个用户进行资源补贴绑定,大大提高了效率。设置分组数量阈值,当每一组剩余的资源补贴数量低于分组数量阈值时与相邻组进行数量合并。当某次申请绑定的资源补贴数量超过分组剩余的数量时,将该组与相邻组合并。
在上述技术方案的基础上,进一步地,所述分布式锁为基于Redis的分布式锁。
下面通过一个具体的实施例对用户申请资源补贴已经绑定进行详细说明,流程图图3所示,方法包括以下步骤:
S301、开始;
S302、用户登陆客户端或网页端,浏览资源补贴界面,选取需要的资源补贴,向消息队列单元发送绑定资源补贴申请,绑定资源补贴申请包括用户ID、资源补贴ID;
S303、消息队列单元将绑定资源补贴申请发送到转发单元;
S304、转发单元获取资源补贴单元的消息处理速度,根据消息处理速度设置转发速率阈值;
S305、转发单元判断接收到的消息队列单元发送消息的速率是否超过转发速率阈值,如果未超过执行S306,否则执行S307;
S306、直接转发绑定资源补贴申请至资源补贴单元;
S307、将消息队列单元发送消息存储在本地存储器,按转发速率阈值向资源补贴单元发送消息;
S308、向分布式锁获取锁,如果成功执行S309,否则执行S310;
S309、获取锁的过期时间,获取时间戳,根据用户ID和时间戳生成校验值;
S310、等待10毫秒重新尝试获取锁;
S311、用户确认绑定,资源补贴单元将用户ID和资源补贴ID绑定;
S312、资源补贴数量减1,同步更新数据库中存储的资源补贴数量;
S313、判断校验值与分布式锁中的校验值是否相同,如果是则执行S314,否则执行S315;
S314、释放锁;
S315、结束。
图4是本发明实施例中用于资源补贴的数据处理装置的结构示意图,如图4所示,本发明提供一种用于资源补贴的数据处理装置的结构示意图400,包括:
资源补贴设置模块401,用于设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量。
在本实施方式中,管理人员定期发布新的资源补贴,设置资源补贴属性,具体包括资源补贴内容,资源补贴ID,资源补贴有效期,以及资源补贴数量。设置好后向用户展示资源补贴内容,在同一时间可能会有多个资源补贴向用户进行展示,用户根据自己需要选取合适的资源补贴,向消息队列单元发送资源补贴申请。在本实施方式中资源补贴为优惠券、奖励积分或抽奖名额等等,用于促进用户使用积极性,提升用户使用感受。
在上述技术方案的基础上,进一步地,所述消息队列单元与所述资源补贴单元之间设置有转发单元,所述转发单元接收所述消息队列单元发送的消息,并将接收到的消息转发给所述资源补贴单元。
在本实施方式中,消息队列单元并不直接将消息发送给资源补贴单元,而是由转发单元进行转发。因为资源补贴单元处理用户申请绑定资源补贴的处理速率是有限的,而消息队列单元的发送速率可能会高于资源补贴单元的处理速率。比如资源补贴单元每处理一个用户申请绑定资源补贴耗时20毫秒,则1秒可以处理50个申请,如果消息队列单元的发送速率超过50个/秒,则有的消息就会因为处理不及时被丢弃,用户体验非常不好。
在上述技术方案的基础上,进一步地,所述转发单元中设置有转发速率阈值;
若所述消息队列单元发送消息的速率低于所述转发速率阈值,则所述转发单元直接转发所述消息队列单元发送的消息;
若所述消息队列单元发送消息的速率高于所述转发速率阈值,则所述转发单元将所述消息队列单元发送的消息存储在本地,按所述转发速率阈值向所述资源补贴单元转发消息。
在本实施方式中,在转发单元中设置转发速率阈值,监控消息队列单元发送消息的速率,如果低于转发速率阈值则不对消息进行存储,直接转发给资源补贴单元。
如果超过转发速率阈值了则将消息存储在转发单元本地的存储器中,然后以转发速率阈值向资源补贴单元转发消息,并且在转发消息时添加消息存储地址帧,资源补贴单元收到转发的消息后向转发单元发送反馈消息,反馈消息携带存储地址帧。转发单元收到反馈消息后删除对应存储地址内存储的消息。
转发速率阈值可以由管理人员进行设置,也可以由转发单元与资源补贴单元协商确定。通常资源补贴单元为多个,不同的资源补贴单元处理速率不同,所以转发单元中分别设置相对应的转发速率阈值。
转发单元还负责在多个资源补贴单元中进行负载均衡处理,避免某个资源补贴单元负载过高,而其他资源补贴单元没有负载的情况出现。
消息发送模块402,用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元将所述资源补贴申请转发给资源补贴单元。
在本实施方式中,用户选取好需要的资源补贴后,还需要用户进行确认绑定操作,在用户确认绑定后,消息队列单元会将确认绑定消息发送至资源补贴单元,资源补贴单元会将资源补贴ID与用户的用户ID进行绑定。
数据更新模块403,所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁。
在本实施方式中,为了避免参与绑定的资源补贴数量超过实际的资源补贴数量,通过设置分布式锁来避免这种情况的发生。在本实施方式中,分布式锁的锁相当于锁定资源补贴数量,只有获取锁的用户可以对资源补贴数量进行修改,其他用户无法修改,通过这种方式保证每个用户申请绑定时都能真正的获得资源补贴。如果向分布式锁获取锁失败则等待一定时间后继续进行获取锁操作直至获取成功为止。
在本实施方式中,分布式锁设置在资源补贴单元,分布式锁中的数值与数据库中的资源补贴数量保持同步。
在上述技术方案的基础上,进一步地,向分布式锁获取锁还包括获取过期时间,如果获取锁的时间达到过期时间则释放锁。
在本实施方式中,为了避免用户申请资源补贴,获取到锁后一直不确认,导致其他用户无法继续下一步操作的情况发生,对锁这是一个过期时间,如果用户一直没有操作,到达过期时间时分布式锁释放锁,这时其他用户可以进行操作。
在上述技术方案的基础上,进一步地,向分布式锁获取锁还包括获取校验值,所述校验值为随机数,当获取锁的时间达到过期时间,比对校验值是否一样,如果一样则释放锁。
在本实施方式中,为了避免用户释放的锁并非自己获取的锁的情况发生,在用户获取锁的时候除了获取过期时间外,还获取校验值。在本实施方式中校验值为用户ID+时间戳,通过这种方式保证校验值的唯一性。当用户释放锁时,先要获取当前锁的校验值,如果与自身的校验值一致,则说明是自己的锁,可以进行释放锁操作,否则结束。
在上述技术方案的基础上,进一步地,所述分布式锁为多段式分布式锁。
在本实施方式中,为了保证更多的用能够进行绑定操作,分布式锁采用分段式分布式锁,比如资源补贴数量为1000个,每20个一组,配置一个分布式锁,通过这种方式可以同时为50个用户进行资源补贴绑定,大大提高了效率。设置分组数量阈值,当每一组剩余的资源补贴数量低于分组数量阈值时与相邻组进行数量合并。当某次申请绑定的资源补贴数量超过分组剩余的数量时,将该组与相邻组合并。
在上述技术方案的基础上,进一步地,所述分布式锁为基于Redis的分布式锁。
图5是本发明的一个实施例的电子设备的结构示意图,该电子设备包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行用于资源补贴的数据处理方法。
如图5所示,电子设备以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子设备并不限于单一实体,也可以是多个实体设备的总和。
所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子设备能够执行本发明的方法,或者方法中的至少部分步骤。
所述存储器包括易失性存储器,例如随机存取存储单元(RAM)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(ROM)。
可选的,该实施例中,电子设备还包括有I/O接口,其用于电子设备与外部的设备进行数据交换。I/O接口可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
应当理解,图5显示的电子设备仅仅是本发明的一个示例,本发明的电子设备中还可以包括上述示例中未示出的元件或组件。例如,有些电子设备中还包括有显示屏等显示单元,有些电子设备还包括人机交互元件,例如按扭、键盘等。只要该电子设备能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子设备。
图6是本发明的一个计算机可读介质实施例的示意图。如图6所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储单元(RAM)、只读存储单元(ROM)、可擦式可编程只读存储单元(EPROM或闪存)、光纤、便携式紧凑盘只读存储单元(CD-ROM)、光存储单元件、磁存储单元件、或者上述的任意合适的组合。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:
S1、设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量;
S2、用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元将所述资源补贴申请转发给资源补贴单元;
S3、所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台数据处理设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以执行计算机程序的方法、装置、电子设备或计算机可读介质来实现。可以在实践中使用微处理单元或者数字信号处理单元(DSP)等通用数据处理设备来实现本发明的一些或者全部功能。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于资源补贴的数据处理方法,其特征在于,方法包括:
设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量;
用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元与所述资源补贴单元之间设置有转发单元,所述转发单元接收所述消息队列单元发送的消息,并将接收到的消息转发给所述资源补贴单元;所述转发单元中设置有转发速率阈值;若所述消息队列单元发送消息的速率低于所述转发速率阈值,则所述转发单元直接转发所述消息队列单元发送的消息;若所述消息队列单元发送消息的速率高于所述转发速率阈值,则所述转发单元将所述消息队列单元发送的消息存储在本地,按所述转发速率阈值向所述资源补贴单元转发消息;
分布式锁设置在资源补贴单元,分布式锁中的数值与数据库中的资源补贴数量保持同步,所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁;所述分布式锁采用分段式分布式锁,设置分组数量阈值,当每一组剩余的资源补贴数量低于分组数量阈值时与相邻组进行数量合并。
2.如权利要求1所述用于资源补贴的数据处理方法,其特征在于,向分布式锁获取锁还包括获取过期时间,如果获取锁的时间达到过期时间则释放锁。
3.如权利要求2所述的用于资源补贴的数据处理方法,其特征在于,向分布式锁获取锁还包括获取校验值,所述校验值为随机数,当获取锁的时间达到过期时间,比对校验值是否一样,如果一样则释放锁。
4.如权利要求1所述的用于资源补贴的数据处理方法,其特征在于,所述分布式锁为基于Redis的分布式锁。
5.一种用于资源补贴的数据处理装置,其特征在于,装置包括:
资源补贴设置模块,用于设置资源补贴属性,将所述资源补贴属性存入数据库中,所述资源补贴属性包括补贴数量;
消息发送模块,用户向消息队列单元发送绑定资源补贴申请,所述消息队列单元与所述资源补贴单元之间设置有转发单元,所述转发单元接收所述消息队列单元发送的消息,并将接收到的消息转发给所述资源补贴单元;所述转发单元中设置有转发速率阈值;若所述消息队列单元发送消息的速率低于所述转发速率阈值,则所述转发单元直接转发所述消息队列单元发送的消息;若所述消息队列单元发送消息的速率高于所述转发速率阈值,则所述转发单元将所述消息队列单元发送的消息存储在本地,按所述转发速率阈值向所述资源补贴单元转发消息;
数据更新模块,分布式锁设置在资源补贴单元,分布式锁中的数值与数据库中的资源补贴数量保持同步,所述资源补贴单元向分布式锁获取锁,如果获取锁成功则,向所述用户发送确认信息,由用户确认绑定所述资源补贴,用户确认后更新所述数据库中的存储的补贴数量,释放锁;所述分布式锁采用分段式分布式锁,设置分组数量阈值,当每一组剩余的资源补贴数量低于分组数量阈值时与相邻组进行数量合并。
6.一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,其特征在于:
当所述计算机可执行程序被所述处理器执行时,所述处理器执行如权利要求1至4中任一项所述用于资源补贴的数据处理方法。
7.一种计算机可读介质,存储有计算机可执行程序,其特征在于,所述计算机可执行程序被执行时,实现如权利要求1至4中任一项所述用于资源补贴的数据处理方法。
CN202110605217.5A 2021-05-31 2021-05-31 一种用于资源补贴的数据处理方法、装置和系统 Active CN113269590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110605217.5A CN113269590B (zh) 2021-05-31 2021-05-31 一种用于资源补贴的数据处理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110605217.5A CN113269590B (zh) 2021-05-31 2021-05-31 一种用于资源补贴的数据处理方法、装置和系统

Publications (2)

Publication Number Publication Date
CN113269590A CN113269590A (zh) 2021-08-17
CN113269590B true CN113269590B (zh) 2023-06-06

Family

ID=77233752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110605217.5A Active CN113269590B (zh) 2021-05-31 2021-05-31 一种用于资源补贴的数据处理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN113269590B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011210107A (ja) * 2010-03-30 2011-10-20 Nippon Telegr & Teleph Corp <Ntt> メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
CN104346317A (zh) * 2013-07-23 2015-02-11 中兴通讯股份有限公司 共享资源访问方法和装置
CN109597697A (zh) * 2018-10-12 2019-04-09 杭州振牛信息科技有限公司 一种资源撮合处理方法及装置
WO2019232679A1 (zh) * 2018-06-04 2019-12-12 上海分赋信息科技有限公司 基于时间维度进行加密数字资产的切分锁定及合并控制方法
CN110795257A (zh) * 2019-09-19 2020-02-14 平安科技(深圳)有限公司 处理多集群作业记录的方法、装置、设备及存储介质
CN112015713A (zh) * 2019-05-30 2020-12-01 阿里巴巴集团控股有限公司 数据库任务的处理方法、装置、电子设备及可读介质
WO2021063147A1 (zh) * 2019-09-30 2021-04-08 中兴通讯股份有限公司 异构网络的报文转发方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9042222B2 (en) * 2012-11-28 2015-05-26 Broadcom Corporation Deadlock recovery for distributed devices
US10078653B2 (en) * 2015-06-16 2018-09-18 Oath Inc. Automatic lock removal method for scalable synchronization in dynamic data structures
US10838767B2 (en) * 2016-09-12 2020-11-17 International Business Machines Corporation Distributed computing utilizing a recovery site
CN108449252B (zh) * 2018-02-26 2020-11-06 杭州迪普科技股份有限公司 一种访问日志的转储方法及装置
CN109067663B (zh) * 2018-07-16 2022-06-24 广发证券股份有限公司 一种针对应用程序内控制请求响应速率的系统和方法
CN111355669B (zh) * 2018-12-20 2022-11-25 华为技术有限公司 控制网络拥塞的方法、装置及系统
US11048641B2 (en) * 2019-05-21 2021-06-29 International Business Machines Corporation Managing allocation and demotion of cache segments between a global queue and a plurality of local queues by using a machine learning module
CN112036887A (zh) * 2019-06-04 2020-12-04 北京三快在线科技有限公司 资源转移的方法、装置、设备及存储介质
CN111324622A (zh) * 2020-02-20 2020-06-23 中国建设银行股份有限公司 一种资源抢购的处理方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011210107A (ja) * 2010-03-30 2011-10-20 Nippon Telegr & Teleph Corp <Ntt> メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
CN104346317A (zh) * 2013-07-23 2015-02-11 中兴通讯股份有限公司 共享资源访问方法和装置
WO2019232679A1 (zh) * 2018-06-04 2019-12-12 上海分赋信息科技有限公司 基于时间维度进行加密数字资产的切分锁定及合并控制方法
CN109597697A (zh) * 2018-10-12 2019-04-09 杭州振牛信息科技有限公司 一种资源撮合处理方法及装置
CN112015713A (zh) * 2019-05-30 2020-12-01 阿里巴巴集团控股有限公司 数据库任务的处理方法、装置、电子设备及可读介质
CN110795257A (zh) * 2019-09-19 2020-02-14 平安科技(深圳)有限公司 处理多集群作业记录的方法、装置、设备及存储介质
WO2021063147A1 (zh) * 2019-09-30 2021-04-08 中兴通讯股份有限公司 异构网络的报文转发方法及装置

Also Published As

Publication number Publication date
CN113269590A (zh) 2021-08-17

Similar Documents

Publication Publication Date Title
CN111277639B (zh) 一种保持数据一致性的方法和装置
CN108076098A (zh) 一种业务处理方法及系统
CN109254854A (zh) 异步调用方法、计算机装置及存储介质
CN102929912A (zh) 生成微博图片的方法及系统
CN110838071A (zh) 保单数据的处理方法、装置及服务器
CN109151056B (zh) 基于Canal的消息推送方法和系统
CN101894059A (zh) 一种运行状态的检测方法及系统
CN111064626A (zh) 配置更新方法、装置、服务器及可读存储介质
CN111200606A (zh) 深度学习模型任务处理方法、系统、服务器及存储介质
CN111815292A (zh) 一种业务审批方法、装置及计算机可读存储介质
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN113472687B (zh) 一种数据处理方法和装置
CN102256211A (zh) M2m终端基于群组实现应用的方法和系统
CN113269590B (zh) 一种用于资源补贴的数据处理方法、装置和系统
CN104598250A (zh) 一种系统管理架构及其实现管理的方法
CN112019596A (zh) 基于消息路由配置的消息推送方法、装置和电子设备
CN107786661B (zh) 信息同步方法
CN106936643B (zh) 一种设备联动方法以及终端设备
CN102053917B (zh) 一种降低内存占用的智能卡及其处理指令的方法
CN103347038A (zh) 一种WEB服务器处理http报文的方法
CN114417318A (zh) 第三方页面的跳转方法、装置和电子设备
CN112333262A (zh) 数据更新提示方法、装置、计算机设备及可读存储介质
CN113779122A (zh) 导出数据的方法和装置
CN110557324A (zh) 未读im消息处理方法及装置
CN113766437B (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