CN111125057A - 一种业务请求的处理方法、装置及计算机系统 - Google Patents
一种业务请求的处理方法、装置及计算机系统 Download PDFInfo
- Publication number
- CN111125057A CN111125057A CN201911236304.7A CN201911236304A CN111125057A CN 111125057 A CN111125057 A CN 111125057A CN 201911236304 A CN201911236304 A CN 201911236304A CN 111125057 A CN111125057 A CN 111125057A
- Authority
- CN
- China
- Prior art keywords
- version number
- service request
- processed
- processing
- current version
- 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
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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种业务处理的方法、装置及计算机系统,其中方法包括:接收业务请求,所述业务请求包含待处理数据的目标版本号;获取所述待处理数据对应的当前版本号;当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号,确保每一业务请求都不会发生丢失,保证了数据的变更记录完整。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种业务请求的处理方法、装置及计算机系统。
背景技术
随着互联网技术的发展,每个网站的规模日益扩大,每天处理的业务量也越来越庞大,采用单应用架构已经无法满足用户的需求。因此,大型网站常常会使用分布式架构进行架构设计,将各个模块拆分并部署到不同的服务器上,以提高整个架构的数据处理能力。
当用户向网站发出业务请求时,该请求会首先发送至分布式架构中的上游接收平台,由该平台按照预设的分发逻辑发送给对应的下游处理平台。然而,一旦出现网络拥堵等意外状况,可能会出现用户对同一数据编号的数据后发出的业务请求比先发出的业务请求早到达上游接收平台,当上游接收平台对后发出的业务请求进行处理之后才收到先发出的业务请求。
在现有技术中,为了避免上述问题,通常会在每个业务请求中包含待处理数据的版本号。上游接收平台和下游处理平台接收到业务请求时都会对该请求包含的版本号及本地的当前版本号进行比对,若请求中包含的版本号大于当前版本号则存入本地的数据库并进行处理,若小于当前版本号则不存入本地的数据库且不进行处理。但采用上述技术方案,会导致先发出的处理请求丢失,且数据的变更记录不完整。
发明内容
为了解决现有技术的不足,本发明的主要目的在于提供一种业务请求的处理方法、装置及计算机系统,以保障业务请求不会发生丢失,数据的变更记录完整。
为了达到上述目的,第一方面本发明提供了一种业务请求的处理方法,所述方法包括:
接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取所述待处理数据对应的当前版本号;
当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
在一些实施例中,所述从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理还包括:
根据预设的时间周期,定时从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
在一些实施例中,所述从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理包括:
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,
根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;
当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理。
在一些实施例中,当所述待处理数据对应的锁已被使用时,将所述业务请求存入所述待处理表。
在一些实施例中,当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理还包括:
根据预存的待处理数据与线程的对应关系,对所述待处理数据对应的线程加上所述对应的锁,以便对所述业务请求进行处理。
第二方面,本申请提供了一种业务请求的处理装置,所述装置包括:
接收模块,用于接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取模块,用于获取所述待处理数据对应的当前版本号;
存储模块,用于当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
处理模块,用于当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
及从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
在一些实施例中,所述处理模块还可用于根据预设的时间周期,定时从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
在一些实施例中,所述处理模块还可用于从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,
根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;
当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理。
在一些实施例中,所述处理模块还可用于当所述待处理数据对应的锁已被使用时,将所述业务请求存入所述待处理表。
第三方面,本申请提供了一种计算机系统,所述系统包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取所述待处理数据对应的当前版本号;
当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
本发明实现的有益效果为:
本申请提出了一种业务请求的处理方法,所述方法包括接收业务请求,所述业务请求包含待处理数据的目标版本号;获取所述待处理数据对应的当前版本号;当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;确保每一业务请求都不会发生丢失,保证了数据的变更记录完整;
进一步地,本申请还提出了根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;当所述待处理数据对应的锁已经被使用时,判断所述业务请求不满足所述预设的判断条件;当所述待处理数据对应的锁未被使用时,判断所述业务请求满足所述预设的判断条件,减少了等待时间,保证了业务请求的处理效率。
本发明所有产品并不需要具备上述所有效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的分布式架构结构图;
图2是本申请提供的上游接收平台的待处理订单表结构图;
图3是本申请提供的下游处理平台的待处理订单表结构图;
图4是本申请提供的方法流程图;
图5是本申请提供的装置结构图;
图6是本申请提供的计算机系统结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,为了解决上述技术问题,本申请公开了一种业务请求的处理方法,包括接收业务请求,所述请求包括数据编码及版本号;根据预存的待处理数据与当前版本号的对应关系,获取所述待处理数据对应的当前版本号;当接收的业务请求的版本号及所述对应的当前版本号的差值不为1时,将所述业务请求存入待处理表;根据预设的时间周期,定时从所述待处理表提取所述业务请求;当判断所述业务请求包含的版本号及所述对应的当前版本号的差值为1时,表明该业务请求的前序请求都已完成处理,则对所述业务请求进行处理。该方法可应用于分布式架构的上游接收平台及下游处理平台。当发生网络波动等意外状况导致接收的业务请求包含的版本号与当前版本号的差值不是1时,表明在该业务请求之前还有对所述待处理数据的数据进行处理的请求尚未被处理,因此将所述接收的业务请求保存至待处理表中,并定时从待处理表中提取所述业务请求,当所述业务请求中包含的版本号与当前版本号差值为1时,对该请求进行处理,该方法可应用于上游接收平台及下游处理平台,保证每一业务请求在两个平台都不会发生丢失、数据的变更记录完整。
进一步地,在用户修改订单的使用场景中,如图1所示,上游接收平台将修改订单请求下发给下游处理平台,下游处理平台在接收后准备对订单进行修改时,发现订单未创建,此时可能是因为创建订单的请求还在其他的下游处理平台服务器中处理中,订单尚未生成,接收到该修改订单请求的下游处理平台服务器不得不等待该订单生成后再进行下一步处理。为了解决上述技术问题,本申请提出了根据预存的待处理数据与锁的对应关系,获得业务请求包含的待处理数据对应的锁,当所述锁已被使用时,表明所述业务请求对应的数据正在被处理,便将所述业务请求存入待处理表;当所述锁未被使用时,根据待处理数据与线程的对应关系,对对应的线程加上所述锁以便对该业务请求进行处理,减少了下游处理平台的等待时间,保证了下游处理平台的处理效率。
同时,对于非分布式架构的业务处理平台,也可能会出现用户先发出的请求在后发出的请求已经被处理之后才到来的情况,因此也可使用本申请公开的接收业务请求,所述请求包括数据编码及版本号;根据预存的待处理数据与当前版本号的对应关系,获取所述待处理数据对应的当前版本号;当接收的业务请求的版本号及所述对应的当前版本号的差值不为1时,将所述业务请求存入待处理表;根据预设的时间周期,定时从所述待处理表提取所述业务请求;当判断所述业务请求包含的版本号及所述对应的当前版本号的差值为1时,对所述业务请求进行处理的方法,保证每一业务请求在两个平台都不会发生丢失、数据的变更记录完整。
同样的,非分布式架构的业务处理平台使用多线程处理业务请求时,也会面临一个线程正在处理用户修改订单的请求时,发现负责生成该订单的线程尚未完成对该订单的生成的问题。为解决上述技术问题,非分布式架构的业务处理也可根据预存的待处理数据与锁的对应关系,获得业务请求包含的待处理数据对应的锁,当所述锁已被使用时,将所述业务请求存入待处理表;当所述锁未被使用时,根据待处理数据与线程的对应关系,对对应的线程加上所述锁以便对该业务请求进行处理,减少了线程的等待时间,提高了处理效率。
实施例一
为实现上述目的,如图1所示,以分布式架构中上游接收平台进行订单处理为例,该方法可通过如下步骤实现:
步骤一、接收订单请求;
该请求中包含了请求处理的订单的单号90000001及所述订单的版本号4;
步骤二、查找数据库中单号90000001的当前版本号,获得所述单号的当前版本号2;
步骤三、判断所述订单请求包含的版本号4及所述订单的当前版本号2的差值不为1,所述订单请求前还有对单号90000001的订单请求没有完成,将所述订单请求存入待处理订单明细表,并生成包含单号90000001与当前版本号2的待处理请求,将所述待处理请求存入待处理订单表;
步骤四、根据预设的定时器,如图2所示,定时从所述待处理订单表中提取所述待处理请求;
步骤五、根据所述待处理请求中包含的单号90000001及当前版本号2,从所述待处理明细表提取单号为90000001且版本号为3的订单请求,并将所述订单请求按照预设的分发逻辑发送给对应的下游处理平台。
步骤六、当接收下游处理平台返回的已成功接收的回执消息时,从待处理明细表中删除所述版本号为3的订单请求,将本地预存的当前版本号2更新为3。
步骤七、根据预设的定时器,定时从所述待处理订单表中提取所述待处理请求;
步骤八、根据所述待处理请求中包含的单号90000001及当前版本号3,从所述待处理明细表提取单号为90000001且版本号为4的订单请求,并将所述订单请求按照预设的分发逻辑发送给对应的下游处理平台。
步骤九、当下游处理平台返回已成功接收的回执消息时,从待处理明细表中删除所述版本号为4的订单请求,将本地预存的当前版本号3更新为4。
步骤十、当待处理明细表中不存在单号为90000001的订单请求时,从待处理表中删除单号为90000001的待处理请求。
实施例二
进一步地,为了提高分布式架构中的下游处理平台的处理效率,应用于分布式架构中的下游处理平台,上述方法可通过如下步骤实现:
步骤一、接收下游处理平台发送的订单请求,该订单请求所请求处理的订单的单号为90000001,版本号为4。
步骤二、查找数据库中单号90000001的当前版本号,获得所述单号的当前版本号2。
步骤三、判断所述订单请求包含的版本号4及所述订单的当前版本号2的差值不为1,所述订单请求前还有对单号90000001的订单请求没有完成,将所述订单请求存入待处理订单明细表,并生成包含单号90000001与当前版本号2的待处理请求,将所述待处理请求存入待处理订单表;
步骤四、根据预设的定时器,如图3所示,定时从所述待处理订单表中提取所述待处理请求;
步骤五、根据所述待处理请求中包含的单号90000001及当前版本号2,从所述待处理明细表提取单号为90000001且版本号为3的订单请求;
步骤六、根据预存的单号与锁的对应关系,获得单号90000001对应的锁;
步骤七、当单号90000001对应的锁已被使用时,跳过单号为90000001的待处理请求,继续处理待处理订单表中的其他待处理请求;
步骤八、当单号90000001对应的锁未被使用时,根据预存的单号与线程的对应关系,对90000001对应的线程加上所述单号90000001对应的锁,并对单号为90000001且版本号为3的订单请求进行处理;
步骤九、当单号为90000001且包含的版本号为3的订单请求完成处理后,从待处理订单明细表中删除版本号为3的订单请求,将本地预存的版本号更新为3;
步骤十、根据预设的定时器,定时从所述待处理订单表中提取所述待处理请求;
步骤十一、根据所述待处理请求中包含的单号90000001及当前版本号3,从所述待处理明细表提取单号为90000001且版本号为4的订单请求,
步骤十二、根据预存的单号与锁的对应关系,获得单号90000001对应的锁;
步骤十三、当单号90000001对应的锁未被使用时,根据预存的单号与线程的对应关系,对90000001对应的线程加上所述单号90000001对应的锁,并对单号为90000001且版本号为4的订单请求进行处理;
步骤十四、当单号为90000001且包含的版本号为4的订单请求完成处理后,从待处理订单明细表中删除版本号为4的订单请求,将本地预存的版本号更新为4;
步骤十五、当待处理明细表中不存在单号为90000001的订单请求时,从待处理表中删除单号为90000001的待处理请求。
上游接收平台与下游处理平台各自维护一份自己的待处理订单表及待处理订单明细表保存待处理的业务请求。
实施例三
对应上述方法,本申请提供了一种业务请求的处理方法,如图4所示,所述方法包括:
410接收业务请求,所述业务请求包含待处理数据的目标版本号,获取待处理数据对应的当前版本号;
420、当目标版本号与当前版本号的差值为1时,对业务请求进行处理并将当前版本号更新为目标版本号;
当目标版本号与当前版本号的差值为1时,该目标版本号是当前版本号的下一版本号,因此该业务请求是所述待处理数据的下一个需要处理的业务请求。
430、当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
440、从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
优选的,所述从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理还包括:
441、根据预设的时间周期,定时从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
所述时间周期可以通过预设的定时器进行实现,也可采用其他的方式,本申请对此不加限定。
优选的,所述从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理包括:
442、从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,
根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;
当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理。
优选的,所述方法还包括:
443、当所述待处理数据对应的锁已被使用时,将所述业务请求存入待处理表。
优选的,当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理还包括:
444、根据预存的待处理数据与线程的对应关系,对所述待处理数据对应的线程加上所述对应的锁,以便对所述业务请求进行处理。
当应用于分布式架构中的上游接收平台时,所述方法还包括:
445、将所述业务请求根据预设的分发逻辑发送至处理端。
优选的,当所述方法应用于上游接收平台时,可将所述订单请求按照预设的分发逻辑发送给对应的下游处理平台,在收到下游处理平台返回的成功接收的回执后,从所述待处理表中删除所述业务请求,并将预存的当前版本号更新为所述业务请求包含的版本号。
当所述方法应用于下游处理平台时,所述下游处理平台对所述业务请求进行处理后,从所述待处理表中删除所述业务请求并将预存的当前版本号更新为所述业务请求包含的版本号。
实施例五
对应上述实施例,本申请提供了一种业务请求的处理装置,如图5所示,所述装置包括:
接收模块510,用于接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取模块520,用于获取所述待处理数据对应的当前版本号;
存储模块530,用于当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
处理模块540,用于当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
及从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
优选的,所述处理模块540还可用于根据预设的时间周期,定时从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
优选的,所述处理模块540还可用于从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,
根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;
当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理。
优选的,所述处理模块540还可用于当所述待处理数据对应的锁已被使用时,将所述业务请求存入待处理表。
优选的,当所述待处理数据对应的锁未被使用时,所述处理模块540还可用于根据预存的待处理数据与线程的对应关系,对所述待处理数据对应的线程加上所述对应的锁,以便对所述业务请求进行处理。
优选的,当应用于分布式架构的上游接收平台时,所述处理模块540还可用于将所述业务请求根据预设的分发逻辑发送至处理端。
实施例六
对应上述方法、设备及系统,本申请实施例六提供一种计算机系统,包括:一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收业务请求,所述业务请求包含待处理数据及版本号;
根据预存的待处理数据与当前版本号的对应关系,获取所述待处理数据对应的当前版本号;
当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
其中,图6示例性的展示出了计算机系统的架构,具体可以包括处理器1510,视频显示适配器1511,磁盘驱动器1512,输入/输出接口1513,网络接口1514,以及存储器1520。上述处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520之间可以通过通信总线1530进行通信连接。
其中,处理器1510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储用于控制计算机系统1500运行的操作系统1521,用于控制计算机系统1500的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1523,数据存储管理系统1524,以及图标字体处理系统1525等等。上述图标字体处理系统1525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。输入/输出接口1513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1530包括一通路,在设备的各个组件(例如处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,与存储器1520)之间传输信息。
另外,该计算机系统1500还可以从虚拟资源对象领取条件信息数据库1541中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1510、视频显示适配器1511、磁盘驱动器1512、输入/输出接口1513、网络接口1514,存储器1520,总线1530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种业务请求的处理方法,其特征在于,所述方法包括:
接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取所述待处理数据对应的当前版本号;
当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
2.根据权利要求1所述的方法,其特征在于,所述从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理还包括:
根据预设的时间周期,定时从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
3.根据权利要求1或2所述的方法,其特征在于,所述从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理包括:
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,
根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;
当所述对应的锁未被使用时,对所述业务请求进行处理。
4.根据权利要求3所述的方法,其特征在于,当所述对应的锁已被使用时,将所述业务请求存入所述待处理表。
5.根据权利要求3所述的方法,其特征在于,当所述对应的锁未被使用时,对所述业务请求进行处理还包括:
根据预存的待处理数据与线程的对应关系,对所述待处理数据对应的线程加上所述对应的锁,以便对所述业务请求进行处理。
6.一种业务请求的处理装置,其特征在于,所述装置包括:
接收模块,用于接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取模块,用于获取所述待处理数据对应的当前版本号;
存储模块,用于当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
处理模块,用于当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
及从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
7.根据权利要求7所述的处理装置,其特征在于,所述处理模块还可用于根据预设的时间周期,定时从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理。
8.根据权利要求6或7所述的处理装置,其特征在于,所述处理模块还可用于从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,
根据预存的待处理数据与锁的对应关系,获取所述待处理数据对应的锁;
当所述待处理数据对应的锁未被使用时,对所述业务请求进行处理。
9.根据权利要求8所述的处理装置,其特征在于,所述处理模块还可用于当所述待处理数据对应的锁已被使用时,将所述业务请求存入所述待处理表。
10.一种计算机系统,其特征在于,所述系统包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
接收业务请求,所述业务请求包含待处理数据的目标版本号;
获取所述待处理数据对应的当前版本号;
当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号;
当所述目标版本号与所述当前版本号的差值不为1时,将所述业务请求存入待处理表;
从所述待处理表提取所述业务请求,当所述目标版本号与所述当前版本号的差值为1时,对所述业务请求进行处理并将所述当前版本号更新为所述目标版本号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236304.7A CN111125057B (zh) | 2019-12-05 | 2019-12-05 | 一种业务请求的处理方法、装置及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236304.7A CN111125057B (zh) | 2019-12-05 | 2019-12-05 | 一种业务请求的处理方法、装置及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125057A true CN111125057A (zh) | 2020-05-08 |
CN111125057B CN111125057B (zh) | 2022-08-19 |
Family
ID=70497664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911236304.7A Active CN111125057B (zh) | 2019-12-05 | 2019-12-05 | 一种业务请求的处理方法、装置及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125057B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638904A (zh) * | 2020-05-11 | 2020-09-08 | 贝壳技术有限公司 | 一种数据配置的还原方法、装置以及可读存储介质 |
CN112363997A (zh) * | 2020-11-10 | 2021-02-12 | 中国平安人寿保险股份有限公司 | 数据版本管理方法、装置及存储介质 |
CN113472856A (zh) * | 2021-06-08 | 2021-10-01 | 北京城市网邻信息技术有限公司 | 一种消息推送处理方法、装置、电子设备及存储介质 |
CN115208937A (zh) * | 2022-07-07 | 2022-10-18 | 北京火山引擎科技有限公司 | 业务请求处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108710577A (zh) * | 2018-06-01 | 2018-10-26 | 平安普惠企业管理有限公司 | 业务系统测试方法、装置、计算机设备和存储介质 |
CN108829413A (zh) * | 2018-05-07 | 2018-11-16 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置及计算机可读存储介质、服务器 |
-
2019
- 2019-12-05 CN CN201911236304.7A patent/CN111125057B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829413A (zh) * | 2018-05-07 | 2018-11-16 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置及计算机可读存储介质、服务器 |
CN108710577A (zh) * | 2018-06-01 | 2018-10-26 | 平安普惠企业管理有限公司 | 业务系统测试方法、装置、计算机设备和存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638904A (zh) * | 2020-05-11 | 2020-09-08 | 贝壳技术有限公司 | 一种数据配置的还原方法、装置以及可读存储介质 |
CN111638904B (zh) * | 2020-05-11 | 2023-12-22 | 贝壳技术有限公司 | 一种数据配置的还原方法、装置以及可读存储介质 |
CN112363997A (zh) * | 2020-11-10 | 2021-02-12 | 中国平安人寿保险股份有限公司 | 数据版本管理方法、装置及存储介质 |
CN112363997B (zh) * | 2020-11-10 | 2023-09-26 | 中国平安人寿保险股份有限公司 | 数据版本管理方法、装置及存储介质 |
CN113472856A (zh) * | 2021-06-08 | 2021-10-01 | 北京城市网邻信息技术有限公司 | 一种消息推送处理方法、装置、电子设备及存储介质 |
CN115208937A (zh) * | 2022-07-07 | 2022-10-18 | 北京火山引擎科技有限公司 | 业务请求处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111125057B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125057B (zh) | 一种业务请求的处理方法、装置及计算机系统 | |
CN113094125A (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
CN110008431B (zh) | 页面组件构建方法、装置、页面生成设备及可读存储介质 | |
CN114816578A (zh) | 基于配置表的程序配置文件生成方法、装置及设备 | |
CN114398023A (zh) | 生成文件的方法、配置页面的方法和装置 | |
CN114374703A (zh) | 云手机信息的获取方法、装置、设备以及存储介质 | |
CN112650804A (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN112306452A (zh) | 归并排序算法处理业务数据的方法、装置及系统 | |
CN111767433A (zh) | 数据处理方法、装置、存储介质以及终端 | |
CN114138397B (zh) | 页面显示方法、装置、电子设备及存储介质 | |
CN115390992A (zh) | 一种虚拟机创建方法、装置、设备和存储介质 | |
CN112925623B (zh) | 任务处理方法、装置、电子设备和介质 | |
CN115170152A (zh) | 一种数据分发方法、装置、设备和存储介质 | |
CN115048107A (zh) | 代码编译方法、系统、电子设备及存储介质 | |
CN112214497A (zh) | 一种标签的处理方法、装置及计算机系统 | |
CN114138358A (zh) | 应用程序的启动优化方法、装置、设备和存储介质 | |
CN111124841A (zh) | 一种异常页面的报警方法、装置及计算机系统 | |
CN112559001A (zh) | 更新应用的方法和装置 | |
CN112035425B (zh) | 一种日志的存储方法、装置及计算机系统 | |
CN117251250B (zh) | 基于云原生平台的容器管理方法及相关设备 | |
CN116775171B (zh) | 一种架构切换方法、装置、电子设备及存储介质 | |
CN116861455B (zh) | 事件数据处理方法、系统、电子设备及存储介质 | |
CN111596941B (zh) | 应用更新方法、装置、电子设备和介质 | |
CN115600029A (zh) | 一种网页页面的显示方法、装置、系统、设备及存储介质 | |
CN118152250A (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 |