CN111144926B - 业务请求处理方法、装置、系统、电子设备及可读介质 - Google Patents
业务请求处理方法、装置、系统、电子设备及可读介质 Download PDFInfo
- Publication number
- CN111144926B CN111144926B CN201911183661.1A CN201911183661A CN111144926B CN 111144926 B CN111144926 B CN 111144926B CN 201911183661 A CN201911183661 A CN 201911183661A CN 111144926 B CN111144926 B CN 111144926B
- Authority
- CN
- China
- Prior art keywords
- database
- service processing
- processing request
- authentication credentials
- authentication
- 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
Classifications
-
- 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/0208—Trade or exchange of goods or services in exchange for incentives or rewards
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种业务请求处理方法、装置、系统、电子设备及计算机可读介质。该方法包括:获取业务处理请求,所述业务处理请求中包含认证凭证;将业务处理请求中的认证凭证作为键值对的第一键值;通过第一键值判断该认证凭证对应的业务处理请求是否为异步更新机制;在业务处理请求为异步更新机制时,将认证凭证存储在第一数据库中;在业务处理请求不为异步更新机制时,将认证凭证存储在第二数据库中;生成业务处理请求的返回消息;以及对第一键值的进行监听,以在预定时间将第一数据库中的认证凭证更新到第二数据库中。能够满足互联网高并发场景的要求,减少数据库的压力,提高系统稳定性,提高业务处理速度。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种业务请求处理方法、装置、系统、电子设备及计算机可读介质。
背景技术
认证凭证,如兑换码,是由一组字母和数字组成的号码。通过网络形式兑换相应的物品。物品可以是实物也可以是虚拟的物品。认证凭证通常有一定的期限,超过期限兑换则无效。
商品售卖的厂家,在举办为了拉拢客户的获客活动中,经常会发放给客户认证凭证,客户在网络上或者现场通过认证凭证获得优惠。大部分的时候,获客活动都是在节假日开放,开放的时候只有几天。大量的客户在这几天之内进行兑换,认证凭证的兑换数量可能会达到千万级。这种突发的大量的数据处理活动,导致在节假日期间,认证凭证系统的并发量极高。因为认证凭证处理系统的并发量随着获客活动的开启和关闭时刻在变化着,活动开启并发量高,活动关闭并发量低。
目前,认证凭证处理系统的应用端虽然可以根据业务压力随时调整,但是认证凭证处理系统的数据库不能实时调整。导致在活动开启的时候数据库压力特别大。在业务高峰会出现超时的情况,导致业务不能及时处理。一些大型互联网公司会通过数据库分库分表机制来分散数据库压力,但是在一些不经常举办获客活动的公司,认证凭证处理系统的业务还没有到达那个量级,暂时还不需要做分库分表那么大的操作。这些偶尔有需求的公司如果进行分库分表机制的话,需要投入很多人力财力,而使用率不高的话势必会产生很大的资源浪费。
因此,需要一种新的业务请求处理方法、装置、系统、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种业务请求处理方法、装置、系统、电子设备及计算机可读介质,能够满足互联网高并发场景的要求,减少数据库的压力,提高系统稳定性,提高业务处理速度。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种业务请求处理方法,该方法包括:获取业务处理请求,所述业务处理请求中包含认证凭证;将所述业务处理请求中的认证凭证作为键值对的第一键值;通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中;生成所述业务处理请求的返回消息;以及对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。。
在本公开的一个实施例中,在预定的时间,将所述第一数据库中的所述认证凭证更新到所述第二数据库中包括:将所述业务处理请求中的认证凭证作为键值对的第二键值;确定所述第二键值的失效时间;以及在失效时间之前将所述第二键值更新到所述第二数据库中。
在本公开的一个实施例中,还包括:在所述第一数据库中的所述认证凭证的数量超过预定阈值时,将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
在本公开的一个实施例中,通过所述第一数据库中的链表类型文件监听所述预定时间与所述预定阈值。
在本公开的一个实施例中,将所述认证凭证存储在第一数据库中包括:将所述认证凭证存储在分布式数据库中。
在本公开的一个实施例中,将所述认证凭证存储在第二数据库中包括:将所述认证凭证存储在关系型数据库中。
根据本公开的一方面,提出一种业务请求处理装置,该装置包括:接收模块,用于获取业务处理请求,所述业务处理请求中包含认证凭证;判断模块,用于将所述业务处理请求中的认证凭证作为键值对的第一键值;并通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;第一模块,用于在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中,生成所述业务处理请求的返回消息;第二模块,用于在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中,生成所述业务处理请求的返回消息;以及监听模块,用于对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
根据本公开的一方面,提出一种业务请求处理系统,该系统包括:业务处理服务器,用于获取业务处理请求,所述业务处理请求中包含认证凭证;将所述业务处理请求中的认证凭证作为键值对的第一键值;以及通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;第一数据库,用于在所述业务处理请求为异步更新机制时,存储所述认证凭证存储,生成所述业务处理请求的返回消息;以及第二数据库,用于在所述业务处理请求不为异步更新机制时,存储所述认证凭证;生成所述业务处理请求的返回消息;监听器,用于对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的业务请求处理方法、装置、系统、电子设备及计算机可读介质,通过判断所述业务处理请求是否为异步更新机制;在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中的方式。能够满足互联网高并发场景的要求,减少数据库的压力,提高系统稳定性,提高业务处理速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种业务请求处理方法及装置的应用场景框图。
图2是根据一示例性实施例示出的一种业务请求处理系统的框图。
图3是根据一示例性实施例示出的一种业务请求处理方法的流程图。
图4是根据另一示例性实施例示出的一种业务请求处理方法的流程图。
图5是根据另一示例性实施例示出的一种业务请求处理方法的示意图。
图6是根据另一示例性实施例示出的一种业务请求处理方法的示意图。
图7是根据一示例性实施例示出的一种业务请求处理装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
图9是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
图1是根据一示例性实施例示出的一种业务请求处理方法及装置的应用场景框图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所提交的认证凭证进行处理的后台服务器。服务器105可以对接收到的认证凭证进行分析等处理,并将处理结果反馈给终端设备。
用户可通过终端设备101、102、103提交处理认证凭证的业务处理请求,终端设备101、102、103可例如将业务处理请求发送至至服务器105中,服务器105可例如获取业务处理请求,所述业务处理请求中包含认证凭证;服务器105可例如判断所述业务处理请求是否为异步更新机制;服务器105可例如在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;以及服务器105可例如在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中;服务器105可例如生成所述业务处理请求的返回消息。
服务器105还可例如在预定时间,将所述第一数据库中的所述认证凭证更新到所述第二数据库中。其中,第一数据库可例如为分布式数据库,更进一步的,第一数据库可为REDIS数据库,REDIS支持主从同步,具体可为,第一数据库的数据可以从主服务器向任意数量的从服务器(第二数据库)上同步,从服务器可以是关联其他从服务器的主服务器。这使得第一数据库可执行单层树复制。
服务器105还可例如在所述第一数据库中的所述认证凭证的数量超过预定阈值时,将所述第一数据库中的所述认证凭证更新到所述第二数据库中。其中,第二数据库可例如为关系型数据库,更进一步的,第二数据库可例如为MySQL。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样能够增加数据处理速度并提高了灵活性。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,服务器105可包含:业务处理服务器,用于获取业务处理请求,所述业务处理请求中包含认证凭证;判断所述业务处理请求是否为异步更新机制;第一数据库,用于在所述业务处理请求为异步更新机制时,存储所述认证凭证存储,生成所述业务处理请求的返回消息;以及第二数据库,用于在所述业务处理请求不为异步更新机制时,存储所述认证凭证;生成所述业务处理请求的返回消息。需要说明的是,本公开实施例所提供的业务请求处理方法可以由服务器105执行,相应地,业务请求处理装置可以设置于服务器105中。而提供给用户输入认证凭证的请求端一般位于终端设备101、102、103中。
根据本公开的业务请求处理方法及装置质,通过判断所述业务处理请求是否为异步更新机制;在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中的方式。能够改善同步数据库的机制,根据不同活动配置不同的处理机制,能够满足互联网高并发场景的要求,减少数据库的压力,提高系统稳定性,提高业务处理速度。
根据本公开的业务请求处理方法及装置,还能够配置化定义认证凭证的更新频率,提供更灵活的系统控制。
图2是根据一示例性实施例示出的一种业务请求处理系统的框图。业务请求处理系统200包括:业务处理服务器202,第一数据库204,以及第二数据库206,监听器208。
业务处理服务器202用于获取业务处理请求,所述业务处理请求中包含认证凭证;将所述业务处理请求中的认证凭证作为键值对的第一键值;以及通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制。
在一个实施例中,用户在客户端输入认证凭证之后,通过客户端的指令操作调用认证凭证功能的时候调用业务处理服务器。
第一数据库204用于在所述业务处理请求为异步更新机制时,存储所述认证凭证存储,生成所述业务处理请求的返回消息。
在一个实施例中,第一数据库可例如为分布式数据库,更进一步的,
第一数据库可为REDIS数据库,REDIS是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(Application Programming Interface,应用程序编程接口)。
在一个实施例中,REDIS支持主从同步,具体可为,第一数据库的数据可以从主服务器向任意数量的从服务器(第二数据库)上同步,从服务器可以是关联其他从服务器的主服务器。这使得第一数据库可执行单层树复制。
第二数据库206用于在所述业务处理请求不为异步更新机制时,存储所述认证凭证;生成所述业务处理请求的返回消息。
在一个实施例中,第二数据库可例如为关系型数据库,更进一步的,第二数据库可例如为MySQL,MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件。
在一个实施例中,第二数据库是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样能够增加数据处理速度并提高了灵活性。
索引是MySQL数据库中一种特殊的文件,它们包含着对数据表里所有记录的引用指针。索引不是万能的,索引可以加快数据检索操作,但会使数据修改操作变慢。每修改数据记录,索引就必须刷新一次。在本公开了,可通过数据库的索引辅助进行认证凭证的业务处理。
监听器208用于对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
根据本公开的业务请求处理系统,能够改善同步数据库的机制,根据不同活动配置不同的处理机制,减少数据库的压力,提高系统稳定性,提高业务处理速度。
图3是根据一示例性实施例示出的一种业务请求处理方法的流程图。业务请求处理方法30至少包括步骤S302至S310。
如图3所示,在S302中,获取业务处理请求,所述业务处理请求中包含认证凭证。认证凭证是由一组字母和数字组成的号码。通过网络形式兑换相应的物品。物品可以是实物也可以是虚拟的物品。认证凭证通常有一定的期限,超过期限兑换则无效。
在S304中,将所述业务处理请求中的认证凭证作为键值对的第一键值。业务处理系统调用第一数据库,判断该业务处理请求中的认证凭证是否是异步更新机制。
在S306中,通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制。其中,第一键值的具体内容将在后文的实施例中进行详细说明。
在S308中,在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中。第一数据库可例如为分布式数据库,更进一步的,第一数据库可为REDIS数据库,REDIS支持主从同步,具体可为,第一数据库的数据可以从主服务器向任意数量的从服务器(第二数据库)上同步,从服务器可以是关联其他从服务器的主服务器。这使得第一数据库可执行单层树复制。
在S310中,在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中。第二数据库可例如为关系型数据库,更进一步的,第二数据库可例如为MySQL。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样能够增加数据处理速度并提高了灵活性。
在S312中,生成所述业务处理请求的返回消息。如果是异步更新机制则把信息保存在REDIS中,然后告诉业务处理服务器认证凭证兑换完毕。如果不是异步更新机制则通知业务处理服务器,业务处理服务器调用MYSQL数据库更新认证凭证状态,改为兑换完毕状态。
在S314中,对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
在正常使用中的REDIS系统中,默认模式是不开启监听过期键值功能的,为了实现本公开实施例中的功能,在业务运行之前,可通过将业务系统模块中的“OTIFY-KEYSPACE-EVENTS”键值设置为“EX”的方式开启监听过期键值的功能。
在一个实施例中,配置过期监听器的时候配置的正则表达式可例如配置为如下形式:“__KEYEVENT@0__:EXPIRED”。
通过上文中的配置就可以监听到上述的键值,当键值过期的时候可以会触发相应的监听功能,以辅助执行业务请求的数据处理。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图4是根据另一示例性实施例示出的一种业务请求处理方法的流程图。业务请求处理方法40至少包括步骤S402至S406。
如图4所示,在S402中,通过所述第一数据库中的链表类型文件监听预定时间与预定阈值。具体包括:将所述业务处理请求中的认证凭证作为键值对的第二键值;确定所述第二键值的失效时间;以及在失效时间之前将所述第二键值更新到所述第二数据库中。
在一个实施例中,在业务处理服务器中有监听器模块,这块的功能是监听REDIS中的异步更新数据,通过设置的时间更新到MYSQL数据库中。
其中,第二键值的具体内容将在后文的实施例中进行详细说明。
在S404中,在预定时间,将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
在S406中,在所述第一数据库中的所述认证凭证的数量超过预定阈值时,将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
图5是根据另一示例性实施例示出的一种业务请求处理方法的示意图。如图5所示,在本公开的实施例中,在REDIS内存中可包括有三块个数据类型:
数据类型1:判断具体的活动认证凭证功能是否为异步更新机制,该处的数据类型可为类型为KEY/VALUE类型,KEY为D_TXB_STATE。TXB为活动对应的活动编码。KEY编码的格式为"D_"+活动编码+"STATE"。
数据类型2:该数据类型的内容为是否更新MYSQL数据库认证凭证数据的标志。该处键值和模块1的类型为同一种类型,为KEY/VALUE类型,KEY为DEALDATA_TXB_FLAG。XB为活动对应的活动编码。KEY编码的格式为"DEALDATA_"+活动编码+"_FLAG"。不同点为该处的键值设置了失效时间,比如设置失效时间为10秒,超过了10秒该值就会自动删除。
数据类型3:该数据类型的内容保存是的具体活动更新到MYSQL数据库中的秘钥值。该处键值为LIST类型。每个活动对应一个列表。
业务处理服务器的具体内容可例如如下:
<?XML VERSION="1.0"ENCODING="UTF-8"?>
<ACTIVITIES>
<ACTIVITY NAME="TXB"DFLAG="TRUE"DEALDATA_FLAG="1000"DEALCOUNT=100/>
<ACTIVITY NAME="CXB"DFLAG="TRUE"DEALDATA_FLAG="5000"DEALCOUNT=50/>
<ACTIVITY NAME="YYB"DFLAG="TRUE"DEALDATA_FLAG="5000"DEALCOUNT=100/>
<ACTIVITY NAME="LLB"DFLAG="FALSE"/>
</ACTIVITIES>
如图5所示的配置文件中定义了四个活动,如图5所示,其活动编码可分别为“TXB”、“CXB”、“LLB”、“YYB”。
其中,DFLAG为是否启动异步更新,TRUE为启用,FALSE为关闭;
DEALDATA_FLAG为异步同步的周期,5000代表为5秒;
DEALCOUNT为认证凭证更新瓶颈数,DEALCOUNT=50表示REDIS内存中累计更新认证凭证数量为50的时候更新MYSQL数据库。
在一个实施例中,监听器模块可例如为如下键值数据:
“DEALDATA_TXB_FLAG”;
“DEALDATA_YYB_FLAG”;
“DEALDATA_CXB_FLAG”。
在正常使用中的REDIS系统中,默认模式是不开启监听过期键值功能的,所以在业务系统模块中要把“OTIFY-KEYSPACE-EVENTS”这个键值为“EX”。这样REDIS就开启了监听过期键值的功能。
在一个实施例中,配置过期监听器的时候配置的正则表达式可例如配置为如下形式:“__KEYEVENT@0__:EXPIRED”。
通过上文中的配置就可以监听到上述的键值,当键值过期的时候可以会触发相应的监听功能,以辅助执行业务请求的数据处理。
在一个具体的实施例中,可例如有一个一元宝的获客活动需要使用认证凭证,该活动对应的配置文件如下:
<?XML VERSION="1.0"ENCODING="UTF-8"?>
<ACTIVITIES>
<ACTIVITY NAME="YYB"DFLAG="TRUE"DEALDATA_FLAG="10000"DEALCOUNT=100/>
</ACTIVITIES>
配置显示活动编码为YYB,异步更新认证凭证状态为开启,异步更新时间为10秒,认证凭证更新瓶颈数位100。
当业务模块启动后,用户端发送业务处理请求时调用认证凭证更新,在REDIS系统存储的信息如图6所示:
TA0000095LSO为本次更新的认证凭证;
TA0000001EIZ、TA0000002CKR、TB0000137ERK为历史更新的认证凭证。
DEALDATA_YYB_FLAG有效期为10秒;
如果D_YYB_LIST存储的认证凭证值大于100则直接调用服务同步MYSQL数据库;
如果DEALDATA_YYB_FLAG在失效后可直接提交D_YYB_LIST所有的认证凭证,然后重置D_YYB_LIST状态。
通过上文中的处理能保证数据在两个维度进行同步(认证凭证值大于100或者10秒一次同步数据库),同步数据库的过程可以通过批量同步,这样减缓MYSQL数据库的IO压力。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图7是根据一示例性实施例示出的一种业务请求处理装置的框图。业务请求处理装置70包括:接收模块702,判断模块704,第一模块706,第二模块708,以及监听模块710。
接收模块702用于获取业务处理请求,所述业务处理请求中包含认证凭证;认证凭证是由一组字母和数字组成的号码。通过网络形式兑换相应的物品。物品可以是实物也可以是虚拟的物品。认证凭证通常有一定的期限,超过期限兑换则无效。
判断模块704用于判断所述业务处理请求是否为异步更新机制;业务处理系统调用第一数据库,并通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制。
第一模块706用于在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中,生成所述业务处理请求的返回消息。第一数据库可例如为分布式数据库,更进一步的,第一数据库可为REDIS数据库,REDIS支持主从同步,具体可为,第一数据库的数据可以从主服务器向任意数量的从服务器(第二数据库)上同步,从服务器可以是关联其他从服务器的主服务器。这使得第一数据库可执行单层树复制。如果是异步更新机制则把信息保存在REDIS中,然后告诉业务处理服务器认证凭证兑换完毕。
第二模块708用于在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中,生成所述业务处理请求的返回消息。第二数据库可例如为关系型数据库,更进一步的,第二数据库可例如为MySQL。关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样能够增加数据处理速度并提高了灵活性。如果不是异步更新机制则通知业务处理服务器,业务处理服务器调用MYSQL数据库更新认证凭证状态,改为兑换完毕状态。
监听模块710用于对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
根据本公开的业务请求处装置,通过判断所述业务处理请求是否为异步更新机制;在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中的方式。能够改善同步数据库的机制,根据不同活动配置不同的处理机制,能够满足互联网高并发场景的要求,减少数据库的压力,提高系统稳定性,提高业务处理速度。
图8是根据一示例性实施例示出的一种电子设备的框图。
下面参照图8来描述根据本公开的这种实施方式的电子设备200。图8显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图3,图4中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图9示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图9所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取业务处理请求,所述业务处理请求中包含认证凭证;将所述业务处理请求中的认证凭证作为键值对的第一键值;通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中;生成所述业务处理请求的返回消息;以及对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
通过以上的详细描述,本领域的技术人员易于理解,根据本公开实施例的业务请求处理方法、装置、系统、电子设备及计算机可读介质具有以下优点中的一个或多个。
根据本公开的业务请求处理方法、装置及系统,能够解决高并发场景业务不稳定的问题。
根据本公开的业务请求处理方法、装置及系统,能够解决数据库压力并发量大的问题
根据本公开的业务请求处理方法、装置及系统,能够为具体活动配置秘钥更新机制。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本公开可实施的范畴。
Claims (9)
1.一种业务请求处理方法,其特征在于,包括:
获取业务处理请求,所述业务处理请求中包含认证凭证;
将所述业务处理请求中的认证凭证作为键值对的第一键值;
通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;
在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中;
在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中;
生成所述业务处理请求的返回消息;
对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中;以及
在所述第一数据库中的所述认证凭证的数量超过预定阈值时,将所述第一数据库中的所述认证凭证更新到所述第二数据库中;
其中,所述将所述第一数据库中的所述认证凭证更新到所述第二数据库中包括:将所述第一数据库中的所述认证凭证批量同步到所述第二数据库中。
2.如权利要求1所述的方法,其特征在于,在预定的时间,将所述第一数据库中的所述认证凭证更新到所述第二数据库中包括:
将所述业务处理请求中的认证凭证作为键值对的第二键值;
确定所述第二键值的失效时间;以及
在失效时间之前将所述第二键值更新到所述第二数据库中。
3.如权利要求2所述的方法,其特征在于,通过所述第一数据库中的链表类型文件监听所述预定时间与所述预定阈值。
4.如权利要求1所述的方法,其特征在于,将所述认证凭证存储在第一数据库中包括:
将所述认证凭证存储在分布式数据库中。
5.如权利要求1所述的方法,其特征在于,将所述认证凭证存储在第二数据库中包括:
将所述认证凭证存储在关系型数据库中。
6.一种业务请求处理装置,其特征在于,包括:
接收模块,用于获取业务处理请求,所述业务处理请求中包含认证凭证;
判断模块,用于将所述业务处理请求中的认证凭证作为键值对的第一键值;并通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;
第一模块,用于在所述业务处理请求为异步更新机制时,将所述认证凭证存储在第一数据库中,生成所述业务处理请求的返回消息;
第二模块,用于在所述业务处理请求不为异步更新机制时,将所述认证凭证存储在第二数据库中,生成所述业务处理请求的返回消息;以及
监听模块,用于对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中;
其中,所述监听模块还用于在所述第一数据库中的所述认证凭证的数量超过预定阈值时,将所述第一数据库中的所述认证凭证更新到所述第二数据库中;
其中,所述监听模块在将所述第一数据库中的所述认证凭证更新到所述第二数据库中时,还用于将所述第一数据库中的所述认证凭证批量同步到所述第二数据库中。
7.一种业务请求处理系统,其特征在于,包括:
业务处理服务器,用于获取业务处理请求,所述业务处理请求中包含认证凭证;将所述业务处理请求中的认证凭证作为键值对的第一键值;以及通过所述第一键值判断该认证凭证对应的所述业务处理请求是否为异步更新机制;
第一数据库,用于在所述业务处理请求为异步更新机制时,存储所述认证凭证存储,生成所述业务处理请求的返回消息;以及
第二数据库,用于在所述业务处理请求不为异步更新机制时,存储所述认证凭证;生成所述业务处理请求的返回消息;
监听器,用于对所述第一键值的进行监听,以在预定时间将所述第一数据库中的所述认证凭证更新到所述第二数据库中;
其中,所述监听器还用于在所述第一数据库中的所述认证凭证的数量超过预定阈值时,将所述第一数据库中的所述认证凭证更新到所述第二数据库中;
其中,所述监听器在将所述第一数据库中的所述认证凭证更新到所述第二数据库中时,还用于将所述第一数据库中的所述认证凭证批量同步到所述第二数据库中。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911183661.1A CN111144926B (zh) | 2019-11-27 | 2019-11-27 | 业务请求处理方法、装置、系统、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911183661.1A CN111144926B (zh) | 2019-11-27 | 2019-11-27 | 业务请求处理方法、装置、系统、电子设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111144926A CN111144926A (zh) | 2020-05-12 |
CN111144926B true CN111144926B (zh) | 2023-07-18 |
Family
ID=70517280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911183661.1A Active CN111144926B (zh) | 2019-11-27 | 2019-11-27 | 业务请求处理方法、装置、系统、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144926B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797108A (zh) * | 2020-07-17 | 2020-10-20 | 西安数据如金信息科技有限公司 | 一种更新分析数据库的方法及装置 |
CN112256700B (zh) * | 2020-10-19 | 2024-07-23 | 北京字节跳动网络技术有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
CN113220779A (zh) * | 2021-04-27 | 2021-08-06 | 阿波罗智联(北京)科技有限公司 | 数据处理方法、设备、存储介质及程序产品 |
CN113609218A (zh) * | 2021-07-20 | 2021-11-05 | 深圳市爱都科技有限公司 | 数据同步方法、终端设备以及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614439A (zh) * | 2018-10-24 | 2019-04-12 | 平安科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN115757406A (zh) * | 2022-11-15 | 2023-03-07 | 北京爱奇艺科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191890A (ja) * | 1993-12-27 | 1995-07-28 | Nec Corp | データベースの多面管理方式 |
CN104239357B (zh) * | 2013-06-21 | 2019-01-18 | Sap欧洲公司 | 用于数据库事务的并发请求处理 |
CN106959951A (zh) * | 2016-01-08 | 2017-07-18 | 北京国双科技有限公司 | 数据库的处理方法和装置 |
CN107239370B (zh) * | 2016-03-29 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 数据写入方法、事务处理方法及装置 |
CN107391632B (zh) * | 2017-06-30 | 2021-02-23 | 北京奇虎科技有限公司 | 数据库存储处理方法、装置、计算设备及计算机存储介质 |
CN110019247A (zh) * | 2018-08-16 | 2019-07-16 | 比亚迪股份有限公司 | 数据存储以及查询方法、装置和监控系统 |
-
2019
- 2019-11-27 CN CN201911183661.1A patent/CN111144926B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614439A (zh) * | 2018-10-24 | 2019-04-12 | 平安科技(深圳)有限公司 | 数据同步方法、装置、电子设备及存储介质 |
CN115757406A (zh) * | 2022-11-15 | 2023-03-07 | 北京爱奇艺科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于远程直接内存访问的高性能键值存储系统;王成;叶保留;梅峰;卢文达;;计算机应用(第02期);12-16 * |
Also Published As
Publication number | Publication date |
---|---|
CN111144926A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111144926B (zh) | 业务请求处理方法、装置、系统、电子设备及可读介质 | |
US11411871B2 (en) | Augmenting functionality in distributed systems with payload headers | |
US10671589B2 (en) | Synergizing real-time and polling connectors for data ingestion | |
US10693972B2 (en) | Secure cross-domain session storage | |
US11861399B2 (en) | User specific event threading | |
US10122598B2 (en) | Subscription watch lists for event handling | |
US11226979B2 (en) | Data system with asynchronous batch processing | |
CN109522751B (zh) | 访问权限控制方法、装置、电子设备及计算机可读介质 | |
US11704363B2 (en) | System and method for generating highly scalable temporal graph database | |
US20230029697A1 (en) | Dynamic action identification for communication platform | |
US12050907B2 (en) | Providing external access to a processing platform | |
CN112860343A (zh) | 配置变更方法、系统、装置、电子设备以及存储介质 | |
CN115470432A (zh) | 一种页面渲染方法、装置、电子设备及计算机可读介质 | |
CN111338834A (zh) | 数据存储方法和装置 | |
CN112445860A (zh) | 一种处理分布式事务的方法和装置 | |
CN107657155B (zh) | 用于鉴定用户操作权限的方法和装置 | |
CN110795135A (zh) | 一种实现注解式配置的方法和装置 | |
CN115190125B (zh) | 一种缓存集群的监控方法和装置 | |
CN111047427A (zh) | 数据上报方法、装置、服务器及存储介质 | |
US10289432B2 (en) | Adaptively linking data between independent systems based on a uniform resource locator | |
CN112800006B (zh) | 用于网络设备的日志存储方法及装置 | |
CN111008202A (zh) | 分布式事务处理方法和框架 | |
CN110851192B (zh) | 一种响应降级开关配置的方法和装置 | |
CN113722007A (zh) | Vpn分支设备的配置方法、装置及系统 | |
CN113420037B (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 |