CN110737681A - 处理请求的加锁处理方法、装置、计算机设备及存储介质 - Google Patents

处理请求的加锁处理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110737681A
CN110737681A CN201910978840.8A CN201910978840A CN110737681A CN 110737681 A CN110737681 A CN 110737681A CN 201910978840 A CN201910978840 A CN 201910978840A CN 110737681 A CN110737681 A CN 110737681A
Authority
CN
China
Prior art keywords
locking
keyword
processing method
lock
processing
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.)
Granted
Application number
CN201910978840.8A
Other languages
English (en)
Other versions
CN110737681B (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.)
Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanlianyi Information Technology Service 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 Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanlianyi Information Technology Service Co Ltd
Priority to CN201910978840.8A priority Critical patent/CN110737681B/zh
Publication of CN110737681A publication Critical patent/CN110737681A/zh
Application granted granted Critical
Publication of CN110737681B publication Critical patent/CN110737681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F16/2455Query execution
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了处理请求的加锁处理方法、装置、计算机设备及存储介质,其中,方法包括:若接收到来自任一所述用户终端的处理请求,判断关键字数据库中是否存在与处理请求相匹配的加锁关键字以得到判断结果;若判断结果为存在,根据与处理请求相匹配的加锁关键字对内存数据库进行检索,以判断内存数据库中是否存在加锁关键字;若内存数据库中不存在加锁关键字,获取预置的方法数据库中与加锁关键字对应的处理方法作为目标处理方法;根据预置的加锁规则对目标处理方法添加redis锁并将加锁关键字写入内存数据库;运行已加锁的目标处理方法以对处理请求进行处理。通过上述方法,减少了加锁耗时,提高了加锁效率,大幅提升了对处理请求的处理效率。

Description

处理请求的加锁处理方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种处理请求的加锁处理方法、装置、计算机设备及存储介质。
背景技术
计算机程序在对来自用户终端的处理请求进行处理时,会根据需求对部分处理请求对应的处理方法进行加锁,只有已加锁的处理方法才会被管理服务器处理,以确保同一时间该处理方法不会被重复运行。现有的加锁方式可基于mysql或zookeeper实现,然而现有的加锁方法在高并发场景下需占用较多系统资源,且加锁时间耗时长,大幅降低了处理方法的运行效率,导致对处理请求进行处理的效率较低。因而,现有的对处理请求进行加锁处理的方法存在加锁效率不高的问题。
发明内容
本发明实施例提供了一种处理请求的加锁处理方法、装置、计算机设备及存储介质,旨在解决现有技术方法中所存在的对处理请求进行加锁处理的加锁效率不高的问题。
第一方面,本发明实施例提供了一种处理请求的加锁处理方法,其包括:
若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果;
若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字;
若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法;
根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库;
运行已加锁的所述目标处理方法以对所述处理请求进行处理。
第二方面,本发明实施例提供了一种处理请求的加锁处理装置,其包括:
处理请求判断单元,用于若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果;
加锁关键字判断单元,用于若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字;
目标处理方法获取单元,用于若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法;
目标处理方法加锁单元,用于根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库;
目标处理方法运行单元,用于运行已加锁的所述目标处理方法以对所述处理请求进行处理。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的处理请求的加锁处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的处理请求的加锁处理方法。
本发明实施例提供了一种处理请求的加锁处理方法、装置、计算机设备及存储介质。判断关键字数据库中是否存在与处理请求相匹配的加锁关键字,若存在,判断内存数据库中是否存在与处理请求相匹配的加锁关键字,若存在,获取方法数据库中与加锁关键字对应的目标处理方法,根据加锁规则对目标处理方法添加redis锁并将加锁关键字写入内存数据库,运行已加锁的目标处理方法以对处理请求进行处理。通过上述方法,减少了加锁耗时,提高了加锁效率,大幅提升了对处理请求的处理效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的处理请求的加锁处理方法的流程示意图;
图2为本发明实施例提供的处理请求的加锁处理方法的应用场景示意图;
图3为本发明实施例提供的处理请求的加锁处理方法的另一流程示意图;
图4为本发明实施例提供的处理请求的加锁处理方法的子流程示意图;
图5为本发明实施例提供的处理请求的加锁处理方法的另一流程示意图;
图6为本发明实施例提供的处理请求的加锁处理方法的另一流程示意图;
图7为本发明实施例提供的处理请求的加锁处理装置的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1及图2,图1是本发明实施例提供的处理请求的加锁处理方法的流程示意图,图2为本发明实施例提供的处理请求的加锁处理方法的应用场景示意图。该处理请求的加锁处理方法应用于管理服务器10中,该方法通过安装于管理服务器10中的应用软件进行执行,用户终端20通过与管理服务器10建立网络连接以进行数据信息的传输,其中,用户终端20是可向管理服务器发送处理请求的终端设备,例如台式电脑、笔记本电脑、平板电脑或手机等,管理服务器10是用于对处理请求进行处理的企业终端。此外,本实施例中仅示例了一台用户终端20与管理服务器10建立网络连接,实际应用过程中可实现多台用户终端20同时与管理服务器10建立网络连接。
如图1所示,该方法包括步骤S110~S150。
S110、若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果。
若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果。每一处理请求中均包含一个请求标志,关键字数据库中包含多个加锁关键字,每一加锁关键字对应一个需加锁后才能进行处理的处理方法。在管理服务器对处理请求进行处理时,需对处理请求对应的处理方法是否需加锁才能运行进行判断,可基于处理请求的请求标志判断关键字数据库中是否存在与处理请求相匹配的加锁关键字,若请求标志与某一加锁关键字相匹配,则得到判断结果为存在,也即是表明与该处理请求对应的处理方法需加锁后才能进行运行;请求标志仅可能与一个加锁关键字相匹配。若请求标志不与任一加锁关键字相匹配,则得到判断结果为不存在,也即是表明与该处理请求对应的处理方法无需加锁即可运行。
例如,处理请求为下单处理请求,该处理请求的请求标志为“减库存”,关键字数据库中包含“减库存”这一加锁关键字,则该处理请求对应的处理方法需加锁后才能进行运行,若本地库存数量为3,多个下单处理请求对应的处理方法同时运行,且减库存的总数量大于3,则会导致本地库存减去之后变为负数,因此在同一时间需确保下单处理请求对应的处理方法不能重复运行。处理请求为获取商品详情处理请求,该处理请求的请求标志为“获取详情”,关键字数据库中不包含对应的加锁关键字,则该处理请求对应的处理方法无需加锁即可运行,同一时间获取商品详情的处理请求对应的处理方法可重复运行,也即是多个用户终端可同时发送处理请求以浏览商品详情。
S120、若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字。
若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字。具体的,内存数据库为redis数据库,由于redis数据库对数据进行写入及读取均是在管理服务器的内存中进行,因此写入及读取的速度比传统的数据库更快速、更高效,并可适用于高并发的应用场景。若判断结果为关键字数据库中存在与处理请求相匹配的加锁关键字,则需进一步检索内存数据库中是否存在该加锁关键字,管理服务器对处理方法进行加锁后均会将对应的加锁关键字写入内存数据库中进行存储,若内存数据库中存在与处理请求相匹配的加锁关键字,则表明与该处理请求对应的处理方法正在运行,无法对该处理请求进行处理;若内存数据库中不存在与处理请求相匹配的加锁关键字,则表明与该处理请求对应的处理方法未运行,可对该处理请求进行处理。
在一实施例中,如图3所示,步骤S120之后还包括步骤S121。
S121、若所述内存数据库中存在所述加锁关键字,将无法对所述处理请求进行处理的提示信息反馈至所述用户终端。
若所述内存数据库中存在所述加锁关键字,则表明与该处理请求对应的处理方法正在运行,无法对该处理请求进行处理,此时可将无法对所述处理请求进行处理的提示信息反馈至所述用户终端,以对使用该用户终端的用户进行提示。
S130、若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法。
若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法。方法数据库中存储有多个处理方法,处理方法即为可通过计算机进行运行的程序代码,每一处理方法与一个加锁关键字相匹配,根据加锁关键字即可获取方法数据库中与之对应的一个处理方法作为目标处理方法。
例如,加锁关键字为“减库存”,则对应获取得到方法数据库中与该加锁关键字对应的处理方法为“Method—reducestock”。
S140、根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库。
根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库。其中,加锁规则包括锁标记配置规则及处理时限。将redis锁添加至处理方法时还需对redis锁的锁标记及加锁时限进行配置,加锁规则即为对处理方法添加redis锁的具体规则,添加redis锁的目标处理方法即可被管理服务器运行,同时还需将加锁关键字写入内存数据库中以对加锁关键字进行存储。
在一实施例中,如图4所示,步骤S140包括子步骤S141、S142和S143。
S141、将所述加锁关键字配置为所述redis锁的锁标记。
将所述加锁关键字配置为所述redis锁的锁标记。锁标记也即是redis锁的key,通过配置锁标记即可对不同的redis锁进行区分,将加锁关键字配置为redis锁的锁标记后,该redis锁即专用于与该加锁关键字对应的处理方法。具体的,可通过lua脚本执行setNX命令配置redis锁的锁标记。
S142、将所述处理时限配置为所述redis锁的加锁时限。
将所述处理时限配置为所述redis锁的加锁时限。若管理服务器突然怠机则已加锁的处理方法所添加的redis锁无法释放,该处理方法则一直被占用而无法对相应的处理请求进行处理,为避免出现这一情况需对redis锁配置加锁时限,超出加锁时限则可将该redis锁从所添加的处理方法中进行释放,释放该redis锁的处理方法可再次对相应的处理请求进行处理。可通过lua脚本执行expire命令以配置redis锁的加锁时限。
例如,处理时限为300秒内,则将当前时间之后的第300秒配置为redis锁的加锁时限。
S143、将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
S150、运行已加锁的所述目标处理方法以对所述处理请求进行处理。
运行已加锁的所述目标处理方法以对所述处理请求进行处理。处理方法即为可通过计算机进行运行的程序代码,运行已加锁的目标处理方法即可对相应的处理请求进行处理。
例如,处理请求为下单处理请求,下单数量为1件,则执行与下单处理请求对应的目标处理方法,从本地库存中减去下单数量“1”,以对该下单处理请求进行处理。
在一实施例中,如图5所示,步骤S150之后还包括步骤S160。
S160、若到达所述redis锁的加锁时限,将与所述redis锁对应的加锁关键字从所述内存数据库中删除并从所述目标处理方法中删除所述redis锁。
若到达处理实现,则管理服务器默认该目标处理方法已运行完毕,则需将加锁关键字从内存数据库中删除,并从该目标处理方法释放该redis锁,也即是将目标处理方法中所添加的redis锁删除,使与该加锁关键字对应的处理方法可被再次运行以对后续处理请求进行处理。
在一实施例中,如图6所示,步骤S150之后还包括步骤S151、S152、S153和S154。
S151、若到达所述加锁时限,向所述用户终端发送与所述目标处理方法对应的验证信息获取请求以获取所述用户终端所反馈的验证信息。
S152、判断所述验证信息是否与所述加锁关键字相匹配。
S153、若所述验证信息与所述加锁关键字相匹配,根据预置的间隔验证时间对所述加锁时限进行延长。
S154、若所述验证信息不与所述加锁关键字相匹配,将所述加锁关键字从所述内存数据库中删除并从所述处理方法中删除所添加的所述redis锁。
在实际应用中还存在部分目标处理方法所需运行时间较长,而并非因为管理服务器突然怠机,仅因为目标处理方法超出加锁时限而导致数据锁从该处理方法中删除,此时目标处理方法尚未运行完毕则对应的处理请求也未完成处理。为避免上述情况出现而对目标处理方法的稳定运行造成影响,还可在到达加锁时限时,向用户终端发送与目标处理方法对应的验证信息获取请求,以用户终端根据验证信息获取请求所反馈的验证信息,以判断目标处理方法是否运行完毕。具体的,验证信息获取请求可以是用于获取用户终端中所存储的与该目标处理方法对应的请求标志的请求信息,若用户终端中存储有与该目标处理方法对应的请求标志,则所反馈的验证信息即为该请求标志;若用户终端中未存储有与该目标处理方法对应的请求标志,则所反馈的验证信息为空,可采用“null”进行表示。管理服务器根据所接收到的验证信息后,即可对验证信息是否与加锁关键字相匹配进行判断,若验证信息与加锁关键字相匹,则表明目标处理方法未运行完毕,可根据间隔验证时间对加锁时限进行延长;若验证信息不与加锁关键字相匹配,则表明目标处理方法已运行完毕,需将加锁关键字从内存数据库中删除,并从该目标处理方法释放该redis锁,也即是将目标处理方法中所添加的redis锁删除。若到达延长后的加锁时限,则再次向用户终端发送与所述目标处理方法对应的验证信息获取请求,也即是循环执行上述判断过程直至得到验证信息不与加锁关键字相匹配的结果。
例如,根据目标处理方法“Method—reducestock”所获取到的验证信息为“减库存”,该验证信息与目标处理方法的加锁关键字“减库存”相匹配,间隔验证时间为10秒,则将原有加锁时限延长10秒,也即是本次判断的10秒之后到达延长后的加锁时限,再次执行上述判断过程。
在本发明实施例所提供的处理请求的加锁处理方法,判断关键字数据库中是否存在与处理请求相匹配的加锁关键字,若存在,判断内存数据库中是否存在与处理请求相匹配的加锁关键字,若存在,获取方法数据库中与加锁关键字对应的目标处理方法,根据加锁规则对目标处理方法添加redis锁并将加锁关键字写入内存数据库,运行已加锁的目标处理方法以对处理请求进行处理。通过上述方法,减少了加锁耗时,提高了加锁效率,大幅提升了对处理请求的处理效率。
本发明实施例还提供一种处理请求的加锁处理装置,该处理请求的加锁处理装置用于执行前述处理请求的加锁处理方法的任一实施例。具体地,请参阅图7,图7是本发明实施例提供的处理请求的加锁处理装置的示意性框图。该处理请求的加锁处理装置可以配置于管理服务器10中。
如图7所示,处理请求的加锁处理装置100包括处理请求判断单元110、加锁关键字判断单元120、目标处理方法获取单元130、目标处理方法加锁单元140和目标处理方法运行单元150。
处理请求判断单元110,用于若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果。
加锁关键字判断单元120,用于若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字。
在其他发明实施例中,所述处理请求的加锁处理装置100还包括子单元:提示信息反馈单元121。
提示信息反馈单元121,用于若所述内存数据库中存在所述加锁关键字,将无法对所述处理请求进行处理的提示信息反馈至所述用户终端。
目标处理方法获取单元130,用于若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法。
目标处理方法加锁单元140,用于根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库。
在其他发明实施例中,所述目标处理方法加锁单元140包括子单元:锁标记配置单元141、加锁时限配置单元142和锁添加单元143。
锁标记配置单元141,用于将所述加锁关键字配置为所述redis锁的锁标记;加锁时限配置单元142,用于将所述处理时限配置为所述redis锁的加锁时限;锁添加单元143,用于将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
目标处理方法运行单元150,用于运行已加锁的所述目标处理方法以对所述处理请求进行处理。
在其他发明实施例中,所述处理请求的加锁处理装置100还包括子单元:第一解锁单元160。
第一解锁单元160,用于若到达所述redis锁的加锁时限,将与所述redis锁对应的加锁关键字从所述内存数据库中删除并从所述目标处理方法中删除所述redis锁。
在其他发明实施例中,所述处理请求的加锁处理装置100还包括子单元:验证信息获取单元151、验证信息判断单元152、加锁时限延长单元153和第二解锁单元154。
验证信息获取单元151,用于若到达所述加锁时限,向所述用户终端发送与所述目标处理方法对应的验证信息获取请求以获取所述用户终端所反馈的验证信息;验证信息判断单元152,用于判断所述验证信息是否与所述加锁关键字相匹配;加锁时限延长单元153,用于若所述验证信息与所述加锁关键字相匹配,根据预置的间隔验证时间对所述加锁时限进行延长;第二解锁单元154,用于若所述验证信息不与所述加锁关键字相匹配,将所述加锁关键字从所述内存数据库中删除并从所述处理方法中删除所添加的所述redis锁。
在本发明实施例所提供的处理请求的加锁处理装置用于执行上述处理请求的加锁处理方法,判断关键字数据库中是否存在与处理请求相匹配的加锁关键字,若存在,判断内存数据库中是否存在与处理请求相匹配的加锁关键字,若存在,获取方法数据库中与加锁关键字对应的目标处理方法,根据加锁规则对目标处理方法添加redis锁并将加锁关键字写入内存数据库,运行已加锁的目标处理方法以对处理请求进行处理。通过上述方法,减少了加锁耗时,提高了加锁效率,大幅提升了对处理请求的处理效率。
上述处理请求的加锁处理装置可以实现为计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本发明实施例提供的计算机设备的示意性框图。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行处理请求的加锁处理方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行处理请求的加锁处理方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果;若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字;若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法;根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库;运行已加锁的所述目标处理方法以对所述处理请求进行处理。
在一实施例中,处理器502在执行根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字的步骤之后,还执行如下操作:若所述内存数据库中存在所述加锁关键字,将无法对所述处理请求进行处理的提示信息反馈至所述用户终端。
在一实施例中,处理器502在执行根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库的步骤时,执行如下操作:将所述加锁关键字配置为所述redis锁的锁标记;将所述处理时限配置为所述redis锁的加锁时限;将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
在一实施例中,处理器502在执行运行已加锁的所述目标处理方法以对所述处理请求进行处理的步骤之后,还执行如下操作:若到达所述redis锁的加锁时限,将与所述redis锁对应的加锁关键字从所述内存数据库中删除并从所述目标处理方法中删除所述redis锁。
在一实施例中,处理器502还执行如下操作:若到达所述redis锁的加锁时限,向所述用户终端发送与所述目标处理方法对应的验证信息获取请求以获取所述用户终端所反馈的验证信息;判断所述验证信息是否与所述redis锁对应的加锁关键字相匹配;若所述验证信息与所述加锁关键字相匹配,根据预置的间隔验证时间对所述加锁时限进行延长;若所述验证信息不与所述加锁关键字相匹配,将所述加锁关键字从所述内存数据库中删除并从所述处理方法中删除所添加的所述redis锁。
本领域技术人员可以理解,图8中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现以下步骤:若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果;若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字;若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法;根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库;运行已加锁的所述目标处理方法以对所述处理请求进行处理。
在一实施例中,所述根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字的步骤之后,还包括:若所述内存数据库中存在所述加锁关键字,将无法对所述处理请求进行处理的提示信息反馈至所述用户终端。
在一实施例中,所述根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库的步骤,包括:将所述加锁关键字配置为所述redis锁的锁标记;将所述处理时限配置为所述redis锁的加锁时限;将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
在一实施例中,所述运行已加锁的所述目标处理方法以对所述处理请求进行处理的步骤之后,还包括:若到达所述redis锁的加锁时限,将与所述redis锁对应的加锁关键字从所述内存数据库中删除并从所述目标处理方法中删除所述redis锁。
在一实施例中,还包括:若到达所述redis锁的加锁时限,向所述用户终端发送与所述目标处理方法对应的验证信息获取请求以获取所述用户终端所反馈的验证信息;判断所述验证信息是否与所述redis锁对应的加锁关键字相匹配;若所述验证信息与所述加锁关键字相匹配,根据预置的间隔验证时间对所述加锁时限进行延长;若所述验证信息不与所述加锁关键字相匹配,将所述加锁关键字从所述内存数据库中删除并从所述处理方法中删除所添加的所述redis锁。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种处理请求的加锁处理方法,应用于管理服务器,所述管理服务器至少与一用户终端进行通信,其特征在于,所述方法包括:
若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果;
若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字;
若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法;
根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库;
运行已加锁的所述目标处理方法以对所述处理请求进行处理。
2.根据权利要求1所述的处理请求的加锁处理方法,其特征在于,所述根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字之后,还包括:
若所述内存数据库中存在所述加锁关键字,将无法对所述处理请求进行处理的提示信息反馈至所述用户终端。
3.根据权利要求1所述的处理请求的加锁处理方法,其特征在于,所述加锁规则包括锁标记配置规则及处理时限,所述根据预置的加锁规则对与所述加锁关键字对应的处理方法添加redis锁,包括:
将所述加锁关键字配置为所述redis锁的锁标记;
将所述处理时限配置为所述redis锁的加锁时限;
将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
4.根据权利要求1所述的处理请求的加锁处理方法,其特征在于,所述运行已加锁的所述目标处理方法以对所述处理请求进行处理之后,还包括:
若到达所述redis锁的加锁时限,将与所述redis锁对应的加锁关键字从所述内存数据库中删除并从所述目标处理方法中删除所述redis锁。
5.根据权利要求1所述的处理请求的加锁处理方法,其特征在于,还包括:
若到达所述redis锁的加锁时限,向所述用户终端发送与所述目标处理方法对应的验证信息获取请求以获取所述用户终端所反馈的验证信息;
判断所述验证信息是否与所述redis锁对应的加锁关键字相匹配;
若所述验证信息与所述加锁关键字相匹配,根据预置的间隔验证时间对所述加锁时限进行延长;
若所述验证信息不与所述加锁关键字相匹配,将所述加锁关键字从所述内存数据库中删除并从所述处理方法中删除所添加的所述redis锁。
6.一种处理请求的加锁处理装置,其特征在于,包括:
处理请求判断单元,用于若接收到来自任一所述用户终端的处理请求,判断预置的关键字数据库中是否存在与所述处理请求相匹配的加锁关键字以得到判断结果;
加锁关键字判断单元,用于若所述判断结果为存在,根据与所述处理请求相匹配的加锁关键字对预置的内存数据库进行检索,以判断所述内存数据库中是否存在所述加锁关键字;
目标处理方法获取单元,用于若所述内存数据库中不存在所述加锁关键字,获取预置的方法数据库中与所述加锁关键字对应的处理方法作为目标处理方法;
目标处理方法加锁单元,用于根据预置的加锁规则对所述目标处理方法添加redis锁并将所述加锁关键字写入所述内存数据库;
目标处理方法运行单元,用于运行已加锁的所述目标处理方法以对所述处理请求进行处理。
7.根据权利要求6所述的处理请求的加锁处理装置,其特征在于,还包括:
提示信息反馈单元,用于若所述内存数据库中存在所述加锁关键字,将无法对所述处理请求进行处理的提示信息反馈至所述用户终端。
8.根据权利要求6所述的处理请求的加锁处理装置,其特征在于,所述目标处理方法加锁单元包括:
锁标记配置单元,用于将所述加锁关键字配置为所述redis锁的锁标记;
加锁时限配置单元,用于将所述处理时限配置为所述redis锁的加锁时限;
锁添加单元,用于将已配置锁标记及加锁时限的所述redis锁添加至所述目标处理方法。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的处理请求的加锁处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的处理请求的加锁处理方法。
CN201910978840.8A 2019-10-15 2019-10-15 处理请求的加锁处理方法、装置、计算机设备及存储介质 Active CN110737681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910978840.8A CN110737681B (zh) 2019-10-15 2019-10-15 处理请求的加锁处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910978840.8A CN110737681B (zh) 2019-10-15 2019-10-15 处理请求的加锁处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110737681A true CN110737681A (zh) 2020-01-31
CN110737681B CN110737681B (zh) 2022-02-11

Family

ID=69268907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910978840.8A Active CN110737681B (zh) 2019-10-15 2019-10-15 处理请求的加锁处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110737681B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782669A (zh) * 2020-06-28 2020-10-16 百度在线网络技术(北京)有限公司 一种分布式锁的实现方法、装置及电子设备
CN111858637A (zh) * 2020-07-28 2020-10-30 厦门网宿有限公司 一种数据处理方法及装置
CN112039970A (zh) * 2020-08-25 2020-12-04 北京思特奇信息技术股份有限公司 一种分布式业务锁服务方法、服务端、系统及存储介质
CN112148554A (zh) * 2020-09-14 2020-12-29 北京金和网络股份有限公司 实时计算redis业务数据占用大小的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605372A (ja) * 1983-06-24 1985-01-11 Fujitsu Ltd 端末装置のロツク、解除方式
CN105117959A (zh) * 2015-09-10 2015-12-02 湖南财经工业职业技术学院 一种电子商务支付系统
CN109542922A (zh) * 2018-11-29 2019-03-29 泰康保险集团股份有限公司 针对实时服务数据的处理方法及相关系统
CN110188110A (zh) * 2019-05-30 2019-08-30 深圳前海微众银行股份有限公司 一种构建分布式锁的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605372A (ja) * 1983-06-24 1985-01-11 Fujitsu Ltd 端末装置のロツク、解除方式
CN105117959A (zh) * 2015-09-10 2015-12-02 湖南财经工业职业技术学院 一种电子商务支付系统
CN109542922A (zh) * 2018-11-29 2019-03-29 泰康保险集团股份有限公司 针对实时服务数据的处理方法及相关系统
CN110188110A (zh) * 2019-05-30 2019-08-30 深圳前海微众银行股份有限公司 一种构建分布式锁的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NORHAIZA BT YA ABDULLAH等: ""Folder Lock by Using Multimodal Biometric: Fingerprint and Signature Authentication"", 《2015 FOURTH INTERNATIONAL CONFERENCE ON CYBER SECURITY, CYBER WARFARE, AND DIGITAL FORENSIC (CYBERSEC)》 *
陈文武: ""分布式锁技术研究"", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782669A (zh) * 2020-06-28 2020-10-16 百度在线网络技术(北京)有限公司 一种分布式锁的实现方法、装置及电子设备
CN111782669B (zh) * 2020-06-28 2023-12-12 百度在线网络技术(北京)有限公司 一种分布式锁的实现方法、装置及电子设备
CN111858637A (zh) * 2020-07-28 2020-10-30 厦门网宿有限公司 一种数据处理方法及装置
CN111858637B (zh) * 2020-07-28 2023-08-18 厦门网宿有限公司 一种数据处理方法及装置
CN112039970A (zh) * 2020-08-25 2020-12-04 北京思特奇信息技术股份有限公司 一种分布式业务锁服务方法、服务端、系统及存储介质
CN112039970B (zh) * 2020-08-25 2023-04-18 北京思特奇信息技术股份有限公司 一种分布式业务锁服务方法、服务端、系统及存储介质
CN112148554A (zh) * 2020-09-14 2020-12-29 北京金和网络股份有限公司 实时计算redis业务数据占用大小的方法及装置

Also Published As

Publication number Publication date
CN110737681B (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
CN110737681B (zh) 处理请求的加锁处理方法、装置、计算机设备及存储介质
US7437388B1 (en) Protecting data for distributed applications using cooperative backup agents
US9787706B1 (en) Modular architecture for analysis database
JP4993905B2 (ja) サーバー待ち行列システムおよび方法
US8131872B2 (en) Affinity-based transaction processing
CN110532799B (zh) 数据脱敏控制方法、电子装置及计算机可读存储介质
CN110995776B (zh) 区块链的区块分发方法、装置、计算机设备和存储介质
US8280917B1 (en) Batching content management operations to facilitate efficient database interactions
CN110188110B (zh) 一种构建分布式锁的方法及装置
CN110888603B (zh) 高并发数据写入方法、装置、计算机设备及存储介质
CN109842621A (zh) 一种减少token存储数量的方法及终端
CN112202834B (zh) 一种数据处理方法、数据处理装置及节点服务器
CN109766317B (zh) 一种文件的删除方法、装置、设备及存储介质
CN112328325A (zh) 模型文件的执行方法、装置、终端设备及存储介质
CN112969198A (zh) 数据传输方法、终端及存储介质
CN110727895B (zh) 一种敏感词发送方法、装置、电子设备及存储介质
CN111104456A (zh) 数据持久化存储方法、装置、计算机设备及存储介质
US20230188619A1 (en) Methods and systems for event management
CN112764897B (zh) 任务请求的处理方法、装置、系统及计算机可读存储介质
CN115098157A (zh) 一种公共业务数据的处理方法及装置
CN115170152A (zh) 一种数据分发方法、装置、设备和存储介质
CN112035471B (zh) 一种事务处理方法及计算机设备
CN109254855B (zh) 一种参数传输协议的注册方法、装置及电子设备
US11366794B1 (en) Data store item count service
CN108268662B (zh) 基于h5页面的社交图谱生成方法、电子装置及存储介质

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