CN107291769A - 处理并发订单的方法和装置 - Google Patents
处理并发订单的方法和装置 Download PDFInfo
- Publication number
- CN107291769A CN107291769A CN201610220799.4A CN201610220799A CN107291769A CN 107291769 A CN107291769 A CN 107291769A CN 201610220799 A CN201610220799 A CN 201610220799A CN 107291769 A CN107291769 A CN 107291769A
- Authority
- CN
- China
- Prior art keywords
- data
- order
- supply
- queue
- material 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.)
- Pending
Links
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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了处理并发订单的方法和装置。所述方法的一具体实施方式包括:获取订单请求,订单请求包括用户数据和订货数据;从供货数据队列中抽取与订货数据相匹配的供货数据;响应于抽取供货数据成功,生成抽取的供货数据与用户数据的配对关系,将配对关系添加至已配对队列,并更新供货数据队列;返回完成订单的提示信息。该实施方式减少了向用户返回响应的时间。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及处理并发订单的方法和装置。
背景技术
由于电子商务的便捷性,越来越多的用户选择电子商务进行购物。当一些商务网站或网站中的商家推出具有吸引力的优惠活动时,往往会吸引大量用户同时访问商务网站,甚至在一秒钟内收到数以万计甚至更多的订单请求。
目前,用户使用的商务网站的页面通常由前端返回部分和后台服务部分组成。前端返回部分可以通过内容分发网络(CDN)的部署、动静分离、缓存等手段提高性能;后台服务部分在接收到用户的订单请求时,需要去供货数据列表中取与订单请求中的订货数据相匹配的供货数据,若取到供货数据则生成订单数据,之后减少库存并写数据库,最后通知用户订单成功并解锁供货数据列表。
然而,上述后台服务部分处理订单的操作均为串行执行,需要在减少库存并写数据库后向用户返回响应,因此向用户返回响应的时间较长。
发明内容
本申请的目的在于提出一种改进的处理并发订单的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了处理并发订单的方法,所述方法包括:获取订单请求,所述订单请求包括用户数据和订货数据;从供货数据队列中抽取与所述订货数据相匹配的供货数据;响应于抽取供货数据成功,生成抽取的供货数据与所述用户数据的配对关系,将所述配对关系添加至已配对队列,并更新供货数据队列;返回完成订单的提示信息。
在一些实施例中,所述方法还包括:对所述已配对队列中的配对关系进行去重;根据去重后的已配对队列中的配对关系生成订单数据;将所述订单数据存储至数据库中。
在一些实施例中,所述从供货数据队列中抽取与所述订货数据相匹配的供货数据包括:响应于所述用户数据未存在于预定集合中,从供货数据队列中抽取与所述订货数据相匹配的供货数据;以及所述将所述配对关系添加至已配对队列包括:将所述配对关系添加至已配对队列,并将所述配对关系中的用户数据添加至所述预定集合中。
在一些实施例中,所述方法还包括:获取所述用户数据中的用户身份标识;判断所述用户身份标识是否存在于已加锁的订单请求中;若是,则返回正在处理订单的提示信息;若否,则使用所述用户身份标识对所述订单请求进行加锁。
在一些实施例中,所述方法还包括:响应于订单请求的数量超过所述预设的加锁的数量,向超过所述加锁的数量的订单请求返回订单失败信息。
在一些实施例中,所述方法还包括:根据供货数据队列中的货物数量和系统可承受的并发数设定所述加锁的数量。
在一些实施例中,所述方法还包括以下一项或多项:响应于从预设的供货数据队列中抽取供货数据失败,返回订单失败的提示信息;和/或预先加载所述供货数据队列和所述已配对队列至缓存中。
第二方面,本申请提供了一种处理并发订单的装置,所述装置包括:订单请求获取模块,用于获取订单请求,所述订单请求包括用户数据和订货数据;供货数据抽取模块,用于从供货数据队列中抽取与所述订货数据相匹配的供货数据;配对关系添加模块,用于响应于抽取供货数据成功,生成抽取的供货数据与所述用户数据的配对关系,将所述配对关系添加至已配对队列,并更新供货数据队列;返回提示信息模块,用于返回完成订单的提示信息。
在一些实施例中,所述装置还包括:配对关系去重模块,用于对所述已配对队列中的配对关系进行去重;订单数据生成模块,用于根据去重后的已配对队列中的配对关系生成订单数据;订单数据存储模块,用于将所述订单数据存储至数据库中。
在一些实施例中,所述供货数据抽取模块进一步用于:响应于所述用户数据未存在于预定集合中,从供货数据队列中抽取与所述订货数据相匹配的供货数据;以及所述配对关系添加模块进一步用于:将所述配对关系添加至已配对队列,并将所述配对关系中的用户数据添加至所述预定集合中。
在一些实施例中,所述装置还包括:身份标识获取模块,用于获取所述用户数据中的用户身份标识;身份标识判断模块,用于判断所述用户身份标识是否存在于已加锁的订单请求中;提示信息返回模块,用于若所述用户身份标识存在于已加锁的订单请求中,则返回正在处理订单的提示信息;订单请求加锁模块,用于若所述用户身份标识不存在于已加锁的订单请求中,则使用所述用户身份标识对所述订单请求进行加锁。
在一些实施例中,所述装置还包括:订单失败提示模块,用于响应于订单请求的数量超过所述预设的加锁的数量,向超过所述加锁的数量的订单请求返回订单失败信息。
在一些实施例中,所述装置还包括:加锁数量设定模块,用于根据供货数据队列中的货物数量和系统可承受的并发数设定所述加锁的数量。
在一些实施例中,所述装置还包括:返回失败信息模块,用于响应于从预设的供货数据队列中抽取供货数据失败,返回订单失败的提示信息;和/或预先加载缓存模块,用于预先加载所述供货数据队列和所述已配对队列至缓存中。
本申请提供的处理并发订单的方法和装置,通过首先获取订单请求,之后从供货数据队列中抽取与订货数据相匹配的供货数据,之后在抽取供货数据成功后,生成抽取的供货数据与用户数据的配对关系,将配对关系添加至已配对队列,并更新供货数据队列,之后返回完成订单的提示信息,从而与背景技术中在减少库存并写数据库后向用户返回响应相比,减少了向用户返回响应的时间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的处理并发订单的方法的一个实施例的流程图;
图3是根据本申请的处理并发订单的方法的一个应用场景的示意图;
图4是根据本申请的处理并发订单的装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的处理并发订单的方法或处理并发订单的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105、106。网络104用以在终端设备101、102、103和服务器105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102、103通过网络104与服务器105、106交互,以接收响应或发送请求等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持购物类应用的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105、106可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的内容提供支持的后台服务器。后台服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的处理并发订单的方法一般由服务器105、106执行,相应地,处理并发订单的装置一般设置于服务器105、106中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的处理并发订单的方法的一个实施例的流程200。所述处理并发订单的方法,包括以下步骤:
步骤201,获取订单请求,订单请求包括用户数据和订货数据。
在本实施例中,处理并发订单的方法运行于其上的后台服务器(例如图1中的服务器105、106),可以首先获取用户发送的订单请求,其中,订单请求为用户端为了完成用户订单而提交的网络请求,至少可以包括用户数据和订货数据。
在这里,用户数据可以为提交订单请求的用户账户数据中与完成订单请求相关的数据,例如可以为用户身份标识、用户隶属的组、可以访问的网络资源、用户的个人文件和设置(例如收货人、联系方式、配送地址)中的一项或多项。
订货数据通常为基于商家供货的订货数据,可以包括但不限于以下一项或多项:货品名称、型号、数量、价格、供货商和制造商等。
步骤202,从供货数据队列中抽取与订货数据相匹配的供货数据。
在本实施例中,供货数据队列为预先建立的存储供货数据的队列例如可以为预先建立的键-值存储系统(Redis)队列,这里的供货数据可以包括但不限于以下一项或多项:货品名称、型号、数量、价格、供货商和制造商等。在抽取供货数据时,可以使用订单请求中的订货数据匹配供货数据,将匹配成功的供货数据作为抽取的供货数据。
可选地,为了加快处理订单的方法的运行效率,可以将供货数据队列加载至缓存中,在每次接收到订单请求时,去供货数据队列中取供货数据,以便加快订单请求的处理速度。
可选地,为了防止同一用户多次提交订单请求,可以预先建立预定集合以存储已完成订单请求的用户数据。在抽取供货数据时,可以对用户数据是否存在于预定集合中进行判断,响应于用户数据已存在于预定集合中,也即表明该用户已完成订单请求,则抽取供货数据失败,向用户返回订单失败的提示信息;响应于用户数据未存在于预定集合中,也即表明该用户未完成订单请求,则可以从供货数据队列中抽取与订货数据相匹配的供货数据。
示例性的,可以在键-值存储系统Redis中用一个模板库(STL)的关联容器(Map)来过滤已存在于预定集合中的用户数据。在这里,Map提供一对一的数据处理能力,Map中的一对一数据的第一个数据可以称为关键字,每个关键字只能在map中出现一次,第二个数据可以称为该关键字的值。
步骤203,响应于抽取供货数据成功,生成供货数据与用户数据的配对关系,将配对关系添加至已配对队列,并更新供货数据队列。
在本实施例中,抽取供货数据成功后,可以为抽取的供货数据添加用户数据,从而得到供货数据与用户数据的配对关系,再将配对关系添加至已配对队列,同时删除供货数据队列中已被抽取的供货数据,从而更新供货数据队列。
可选地,上述的已配对队列也可以预先加载至缓存中,以便尽快将配对关系添加至已配对队列,从而加快处理订单请求的速度。
步骤204,返回完成订单的提示信息。
在将配对关系添加至已配对队列之后,可以由后台服务根据已配对队列中的配对关系生成订单数据,之后将订单数据存储至数据库中。
本领域人员应当理解,在上述根据已配对队列中的配对关系生成订单数据并向用户返回完成订单的提示信息之后,可以在后台处理已配对队列中的配对关系。
在处理已配对队列中的配对关系时,可以先对已配对队列中的配对关系去重,之后,为了减少资源的消耗,可以采用单线程根据已配对队列中的配对关系生成订单数据,为了提高生成订单数据的速度,也可以采用多线程加锁的方式根据已配对队列中的配对关系生成订单数据,最后将订单数据存储至数据库中。
在本实施例的一些可选实现方式中,为了防止同一个用户同时发多个订单请求,上述的处理订单请求的方法还可以包括:获取用户数据中的用户身份标识,判断用户身份标识是否存在于已加锁的订单请求中,若是,则返回正在处理订单的提示信息;若否,使用用户身份标识对订单请求进行加锁。
在本实施例的一些可选实现方式中,为了控制并发的订单请求的数量,上述的处理订单请求的方法还可以设置加锁的数量,响应于订单请求的数量超过预设的加锁的数量,向超过加锁的数量的订单请求返回订单失败信息,从而降低并发订单请求的数量,减缓系统压力。其中,加锁的数量可以根据供货参数、系统参数以及并发的请求数量中的一项或多项设定,例如,可以根据供货数据队列中的货物数量和系统可承受的并发数设定加锁的数量。
本领域技术人员应当可以理解,上述处理并发订单的方法在使用供货数据队列时,会对供货数据队列加锁,并在更新供货数据队列后解锁供货数据队列,与背景技术中在订单数据写入数据库后解锁相比,减少了响应时间。
继续参见图3,图3是根据本实施例的处理并发订单的方法的应用场景的一个示意图。在图3的应用场景中,用户310首先提交订单请求,之后后台服务器执行以下操作步骤:
首先,在步骤321中,使用订单请求中的用户身份标识对订单请求进行加锁,并判断是否获取锁,若是,则执行步骤322,若否,则返回订单请求失败的提示信息;
接着,在步骤322中,判断上述用户身份标识是否已完成订单请求,若是,则返回订单请求失败的提示信息,若否,则执行步骤323;
之后,在步骤323中,判断供货数据队列中是否有与订单请求中的订货数据相匹配的供货数据,若是,则建立供货数据与用户数据的配对关系并将配对关系添加至已配对队列,并更新供货数据队列,返回成功完成订单请求的提示信息,并由后台异步生成订单并将订单存储至数据库;若否,则返回订单请求失败的提示信息。
应当理解,上述的应用场景仅为本申请实施例的示例,并非对本申请的限定,例如上述步骤321和步骤322均可以为可选步骤。
本申请的上述实施例提供的方法,通过将并发订单的串行操作步骤转为并行处理,可以在根据订单请求抽取供货数据生成配对关系后向用户返回响应,减少了向用户返回响应的时间,同时异步将已配对队列中的配对关系生成订单并将订单存储至数据库,减少了数据库的压力。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种处理并发订单的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示、本实施例的处理并发订单的装置400包括:订单请求获取模块410、供货数据抽取模块420、配对关系添加模块430和返回提示信息模块440。其中,订单请求获取模块410,用于获取订单请求,订单请求包括用户数据和订货数据。供货数据抽取模块420,用于根据订货数据从供货数据队列中抽取供货数据。配对关系添加模块430,用于响应于抽取供货数据成功,生成抽取的供货数据与用户数据的配对关系,将配对关系添加至已配对队列,并更新供货数据队列。返回提示信息模块440,用于返回完成订单的提示信息。
在本实施例的一些可选实现方式中,上述装置还包括(图中未示出):配对关系去重模块,用于对已配对队列中的配对关系进行去重;订单数据生成模块,用于根据去重后的已配对队列中的配对关系生成订单数据;订单数据存储模块,用于将订单数据存储至数据库中。
在本实施例的一些可选实现方式中,供货数据抽取模块进一步用于:响应于用户数据未存在于预定集合中,根据订货数据从供货数据队列中抽取供货数据;以及配对关系添加模块进一步用于:将配对关系添加至已配对队列,并将配对关系中的用户数据添加至预定集合中。
在本实施例的一些可选实现方式中,上述装置还包括(图中未示出):身份标识获取模块,用于获取用户数据中的用户身份标识;身份标识判断模块,用于判断用户身份标识是否存在于已加锁的订单请求中;提示信息返回模块,用于若用户身份标识存在于已加锁的订单请求中,则返回正在处理订单的提示信息;订单请求加锁模块,用于若用户身份标识不存在于已加锁的订单请求中,则使用用户身份标识对订单请求进行加锁。
在本实施例的一些可选实现方式中,上述装置还包括(图中未示出):订单失败提示模块,用于响应于订单请求的数量超过预设的加锁的数量,向超过加锁的数量的订单请求返回订单失败信息。
在本实施例的一些可选实现方式中,上述装置还包括(图中未示出):加锁数量设定模块,用于根据供货数据队列中的货物数量和系统可承受的并发数设定加锁的数量。
在本实施例的一些可选实现方式中,上述装置还包括(图中未示出):返回失败信息模块,用于响应于从预设的供货数据队列中抽取供货数据失败,返回订单失败的提示信息;和/或预先加载缓存模块,用于预先加载供货数据队列和已配对队列至缓存中。
本领域技术人员可以理解,上述处理并发订单的装置400还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图4中未示出。
应当理解,装置400中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对处理并发订单的方法200描述的操作和特征同样适用于装置400及其中包含的单元,在此不再赘述。装置400中的相应单元可以与终端设备和/或服务器中的单元相互配合以实现本申请实施例的方案。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括订单请求获取模块、供货数据抽取模块、配对关系添加模块和返回提示信息模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,订单请求获取模块还可以被描述为“用于获取订单请求,订单请求包括用户数据和订货数据的模块”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:获取订单请求,订单请求包括用户数据和订货数据;从供货数据队列中抽取与所述订货数据相匹配的供货数据;响应于抽取供货数据成功,生成所述供货数据与用户数据的配对关系,并更新供货数据队列;将配对关系添加至已配对队列;返回完成订单的提示信息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种处理并发订单的方法,其特征在于,所述方法包括:
获取订单请求,所述订单请求包括用户数据和订货数据;
从供货数据队列中抽取与所述订货数据相匹配的供货数据;
响应于抽取供货数据成功,生成抽取的供货数据与所述用户数据的配对关系,将所述配对关系添加至已配对队列,并更新供货数据队列;
返回完成订单的提示信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述已配对队列中的配对关系进行去重;
根据去重后的已配对队列中的配对关系生成订单数据;
将所述订单数据存储至数据库中。
3.根据权利要求1或2之一所述的方法,其特征在于,所述从供货数据队列中抽取与所述订货数据相匹配的供货数据包括:
响应于所述用户数据未存在于预定集合中,从供货数据队列中抽取与所述订货数据相匹配的供货数据;以及
所述将所述配对关系添加至已配对队列包括:
将所述配对关系添加至已配对队列,并将所述配对关系中的用户数据添加至所述预定集合中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述用户数据中的用户身份标识;
判断所述用户身份标识是否存在于已加锁的订单请求中;
若是,则返回正在处理订单的提示信息;
若否,则使用所述用户身份标识对所述订单请求进行加锁。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于订单请求的数量超过所述预设的加锁的数量,向超过所述加锁的数量的订单请求返回订单失败信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据供货数据队列中的货物数量和系统可承受的并发数设定所述加锁的数量。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括以下一项或多项:
响应于从预设的供货数据队列中抽取供货数据失败,返回订单失败的提示信息;和/或
预先加载所述供货数据队列和所述已配对队列至缓存中。
8.一种处理并发订单的装置,其特征在于,所述装置包括:
订单请求获取模块,用于获取订单请求,所述订单请求包括用户数据和订货数据;
供货数据抽取模块,用于从供货数据队列中抽取与所述订货数据相匹配的供货数据;
配对关系添加模块,用于响应于抽取供货数据成功,生成抽取的供货数据与所述用户数据的配对关系,将所述配对关系添加至已配对队列,并更新供货数据队列;
返回提示信息模块,用于返回完成订单的提示信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
配对关系去重模块,用于对所述已配对队列中的配对关系进行去重;
订单数据生成模块,用于根据去重后的已配对队列中的配对关系生成订单数据;
订单数据存储模块,用于将所述订单数据存储至数据库中。
10.根据权利要求8或9之一所述的装置,其特征在于,所述供货数据抽取模块进一步用于:
响应于所述用户数据未存在于预定集合中,从供货数据队列中抽取与所述订货数据相匹配的供货数据;以及
所述配对关系添加模块进一步用于:
将所述配对关系添加至已配对队列,并将所述配对关系中的用户数据添加至所述预定集合中。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
身份标识获取模块,用于获取所述用户数据中的用户身份标识;
身份标识判断模块,用于判断所述用户身份标识是否存在于已加锁的订单请求中;
提示信息返回模块,用于若所述用户身份标识存在于已加锁的订单请求中,则返回正在处理订单的提示信息;
订单请求加锁模块,用于若所述用户身份标识不存在于已加锁的订单请求中,则使用所述用户身份标识对所述订单请求进行加锁。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
订单失败提示模块,用于响应于订单请求的数量超过所述预设的加锁的数量,向超过所述加锁的数量的订单请求返回订单失败信息。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
加锁数量设定模块,用于根据供货数据队列中的货物数量和系统可承受的并发数设定所述加锁的数量。
14.根据权利要求1所述的装置,其特征在于,所述装置还包括:
返回失败信息模块,用于响应于从预设的供货数据队列中抽取供货数据失败,返回订单失败的提示信息;和/或
预先加载缓存模块,用于预先加载所述供货数据队列和所述已配对队列至缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220799.4A CN107291769A (zh) | 2016-04-11 | 2016-04-11 | 处理并发订单的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610220799.4A CN107291769A (zh) | 2016-04-11 | 2016-04-11 | 处理并发订单的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107291769A true CN107291769A (zh) | 2017-10-24 |
Family
ID=60095546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610220799.4A Pending CN107291769A (zh) | 2016-04-11 | 2016-04-11 | 处理并发订单的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291769A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416643A (zh) * | 2018-01-10 | 2018-08-17 | 链家网(北京)科技有限公司 | 一种抢单方法及系统 |
CN108665348A (zh) * | 2018-05-09 | 2018-10-16 | 商派软件有限公司 | 一种订单去重方法和系统 |
CN110135925A (zh) * | 2018-02-08 | 2019-08-16 | 北京京东尚科信息技术有限公司 | 订单处理系统、方法和装置 |
CN110795445A (zh) * | 2019-10-29 | 2020-02-14 | 北京字节跳动网络技术有限公司 | 并发任务的处理方法、装置、服务器设备及介质 |
CN111158871A (zh) * | 2019-12-05 | 2020-05-15 | 智七网络科技(上海)有限公司 | 数据包并发请求处理方法、装置、电子设备及存储介质 |
CN113192591A (zh) * | 2021-04-16 | 2021-07-30 | 北京京东拓先科技有限公司 | 一种信息处理方法及装置、存储介质 |
CN113628009A (zh) * | 2021-08-13 | 2021-11-09 | 北京沃东天骏信息技术有限公司 | 一种生成订单的方法、服务端、第二终端及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702205A (zh) * | 2009-11-17 | 2010-05-05 | 湖南大学 | 一种订单快速分拣方法 |
US20130066686A1 (en) * | 2011-09-08 | 2013-03-14 | Zachary Danielson | Automatic test order generation for a retail shopping service |
US20130124458A1 (en) * | 2011-11-16 | 2013-05-16 | Tomas Barreto | Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform |
CN103426072A (zh) * | 2013-07-16 | 2013-12-04 | 无限极(中国)有限公司 | 一种高并发竞争库存的订单处理系统及其处理方法 |
CN103455604A (zh) * | 2013-09-03 | 2013-12-18 | 北京京东尚科信息技术有限公司 | 一种防止重复处理数据的方法及装置 |
CN104184832A (zh) * | 2014-09-10 | 2014-12-03 | 北京国双科技有限公司 | 网络应用中的数据提交方法及装置 |
CN105096174A (zh) * | 2014-04-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种交易匹配方法以及系统 |
CN105450730A (zh) * | 2015-11-05 | 2016-03-30 | 北京奇虎科技有限公司 | 一种处理客户端请求的方法和装置 |
-
2016
- 2016-04-11 CN CN201610220799.4A patent/CN107291769A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702205A (zh) * | 2009-11-17 | 2010-05-05 | 湖南大学 | 一种订单快速分拣方法 |
US20130066686A1 (en) * | 2011-09-08 | 2013-03-14 | Zachary Danielson | Automatic test order generation for a retail shopping service |
US20130124458A1 (en) * | 2011-11-16 | 2013-05-16 | Tomas Barreto | Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform |
CN103426072A (zh) * | 2013-07-16 | 2013-12-04 | 无限极(中国)有限公司 | 一种高并发竞争库存的订单处理系统及其处理方法 |
CN103455604A (zh) * | 2013-09-03 | 2013-12-18 | 北京京东尚科信息技术有限公司 | 一种防止重复处理数据的方法及装置 |
CN105096174A (zh) * | 2014-04-16 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种交易匹配方法以及系统 |
CN104184832A (zh) * | 2014-09-10 | 2014-12-03 | 北京国双科技有限公司 | 网络应用中的数据提交方法及装置 |
CN105450730A (zh) * | 2015-11-05 | 2016-03-30 | 北京奇虎科技有限公司 | 一种处理客户端请求的方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416643A (zh) * | 2018-01-10 | 2018-08-17 | 链家网(北京)科技有限公司 | 一种抢单方法及系统 |
CN110135925A (zh) * | 2018-02-08 | 2019-08-16 | 北京京东尚科信息技术有限公司 | 订单处理系统、方法和装置 |
CN110135925B (zh) * | 2018-02-08 | 2023-09-26 | 北京京东尚科信息技术有限公司 | 订单处理系统、方法和装置 |
CN108665348A (zh) * | 2018-05-09 | 2018-10-16 | 商派软件有限公司 | 一种订单去重方法和系统 |
CN108665348B (zh) * | 2018-05-09 | 2021-08-13 | 商派软件有限公司 | 一种订单去重方法和系统 |
CN110795445A (zh) * | 2019-10-29 | 2020-02-14 | 北京字节跳动网络技术有限公司 | 并发任务的处理方法、装置、服务器设备及介质 |
CN110795445B (zh) * | 2019-10-29 | 2022-08-05 | 北京字节跳动网络技术有限公司 | 并发任务的处理方法、装置、服务器设备及介质 |
CN111158871A (zh) * | 2019-12-05 | 2020-05-15 | 智七网络科技(上海)有限公司 | 数据包并发请求处理方法、装置、电子设备及存储介质 |
CN111158871B (zh) * | 2019-12-05 | 2024-02-23 | 智七网络科技(上海)有限公司 | 数据包并发请求处理方法、装置、电子设备及存储介质 |
CN113192591A (zh) * | 2021-04-16 | 2021-07-30 | 北京京东拓先科技有限公司 | 一种信息处理方法及装置、存储介质 |
CN113628009A (zh) * | 2021-08-13 | 2021-11-09 | 北京沃东天骏信息技术有限公司 | 一种生成订单的方法、服务端、第二终端及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291769A (zh) | 处理并发订单的方法和装置 | |
CN104025078B (zh) | 用于在与签名人相关联的客户端计算设备上促进电子签名的方法和设备 | |
CN108536459A (zh) | 金融产品的更新方法、装置、设备和计算机存储介质 | |
CN104115142B (zh) | 用于书签同步的特定于设备的文件夹 | |
US20140181137A1 (en) | Presenting data in response to an incomplete query | |
CN105589631B (zh) | 信息展示方法和装置 | |
CN107665225A (zh) | 信息推送方法和装置 | |
WO2019047516A1 (zh) | 信息输出方法和装置 | |
CN106101256A (zh) | 用于同步数据的方法和装置 | |
CN107656937A (zh) | 用于实现读写数据一致性的方法和装置 | |
CN109684364A (zh) | 基于用户画像的问题处理方法、装置、设备和存储介质 | |
CN107301091A (zh) | 资源分配方法和装置 | |
CN107871221A (zh) | 用于获取可销售库存数量的方法和装置 | |
CN107656748A (zh) | 应用发布的方法和装置 | |
CN109922109A (zh) | 服务提供方法、系统及设备 | |
WO2022083332A1 (zh) | 商品数据管理方法、装置及服务器 | |
CN107918617A (zh) | 数据查询方法和装置 | |
CN107844488A (zh) | 数据查询方法和装置 | |
US7979470B2 (en) | Data manipulation process method and system | |
CN107958359A (zh) | 货架选取方法和装置 | |
CN107656910A (zh) | 用于生成表单的方法和装置 | |
CN110781441A (zh) | 基于微服务化架构的新零售业务中台 | |
CN110223179A (zh) | 资金的数据处理方法、装置、系统、介质 | |
CN107437164A (zh) | 基于工作流的邮件发送方法和装置 | |
CN104901988B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |
|
RJ01 | Rejection of invention patent application after publication |