CN103854214B - 竞拍数据的处理方法及系统 - Google Patents
竞拍数据的处理方法及系统 Download PDFInfo
- Publication number
- CN103854214B CN103854214B CN201210494780.0A CN201210494780A CN103854214B CN 103854214 B CN103854214 B CN 103854214B CN 201210494780 A CN201210494780 A CN 201210494780A CN 103854214 B CN103854214 B CN 103854214B
- Authority
- CN
- China
- Prior art keywords
- auction
- data
- memory
- auction data
- unit
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种竞拍数据的处理方法及系统,减少计算量,提高处理速度。所述处理方法包括:接收竞拍请求,从所述竞拍请求中获取竞拍数据;获取所述竞拍数据后,在内存中同步缓存所述竞拍数据,根据所述竞拍数据更新统计数据;批量读取竞拍数据,进行结算,将结算后的竞拍数据持久化到数据库中。所述处理系统包括:网络应用模块、内存缓存应用模块和异步结算模块。本申请的竞拍数据处理系统和方法不但不需要复杂的业务逻辑计算,而且处理速度快,并且利用内存实时地更新竞拍过程中的统计数据,很大程度上发挥了计算机在竞拍数据处理系统中的处理能力。
Description
技术领域
本发明涉及网络竞拍领域,具体涉及一种竞拍数据的处理方法及系统。
背景技术
随着电子商务的蓬勃发展,越来越多的商业活动利用计算机技术,可以在线举办。如热门商品的在线拍卖会,针对很多个热门商品,成千上万个用户高并发(并发是指一个时间段内,系统同时处理多个相同的服务请求)的竞拍行为,每次竞拍行为可能伴随着复杂的业务逻辑计算,同时还需要支持高并发的查询请求,如每个竞拍商品的竞拍次数、当前价格等。
现有竞拍系统根据竞拍的业务流程,强依赖传统的关系型数据库存储用户竞拍数据,同步逐个地计算各个业务节点,实时地把竞拍数据保存在关系数据库中,并提供查询和统计功能,如查询某件商品的当前最高价、竞拍次数。
上述现有系统的缺点是:
1、一个竞拍行为依赖了很多业务处理逻辑,如记录竞拍数据、计算当前的最高价、解冻已经被超越的账户金额、冻结最高出价的账户金额等。这些复杂的业务逻辑需要大量的计算量,有些计算还需依赖于外部系统提供的服务。这些过程会使得页面上的一个竞拍请求需要很长的响应时间,从而降低整个系统的QPS(Query Per Second,每秒查询率,QPS反应了一个特定的系统在一秒钟内所处理的请求量)。面对在线高并发的竞拍行为,如果QPS达不到要求,会导致严重的性能问题,使得系统处于瘫痪状态。
2、实时地记录用户的竞拍数据,需要依赖系统高性能的写能力,一般竞拍系统的设计是写入数据库或磁盘,但无论数据库还是磁盘,高并发的竞拍系统,都需要依赖高端磁盘提供高性能的IOPS(Input/Output Operations Per Second,每秒进行读写(I/O)操作的次数)。
3、竞拍系统还需要提供实时的统计功能,如一件商品的竞拍次数、当前最高价等,现有一些竞拍系统的设计只是存储原始的竞拍数据,针对每次统计数据的请求需要实时地计算,这样产生了大量重复地计算,严重地浪费了计算机的资源、从而降低了在同等硬件条件下的服务性能。
如何设计一个系统支撑在线大量用户高并发竞拍活动,同时如何最大限度地发挥计算机资源,称为亟待解决的问题。
发明内容
本发明所要解决的技术问题是提供一种竞拍数据的处理方法及系统,减少计算量,提高处理速度。
为解决上述技术问题,本发明提供了一种竞拍数据的处理系统,其特征在于,包括:网络应用模块、内存缓存应用模块和异步结算模块,其中:
所述网络应用模块,用于接收竞拍请求,从中获取竞拍数据;
所述内存缓存应用模块,用于在所述网络应用模块获取竞拍数据后,在内存中同步缓存所述竞拍数据,根据所述竞拍数据更新统计数据;
所述异步结算模块,用于批量读取竞拍数据,进行结算,将结算后的竞拍数据持久化到数据库中。
进一步地,所述网络应用模块包括竞拍请求接收单元和第一内存调用单元,其中:
所述竞拍请求接收单元,用于接收竞拍请求,从竞拍请求中获取竞拍数据;
所述第一内存调用单元,用于调用内存缓存应用模块在内存中同步缓存所述竞拍数据。
进一步地,所述网络应用模块还包括逻辑校验单元,其用于对竞拍请求进行逻辑校验,包括以下校验中的一种或多种:竞拍价格是否高于统计数据中的当前最高价、竞拍时间是否在竞拍期内、用户账户余额是否足够。
进一步地,所述网络应用模块还包括展示单元,其用于展示统计数据的部分或全部内容。
进一步地,所述内存缓存应用模块包括竞拍数据缓存单元和统计数据更新单元,其中:
所述竞拍数据缓存单元,用于在内存中缓存所述网络应用模块获取的竞拍数据;
所述统计数据更新单元,用于根据所述竞拍数据更新统计数据。
进一步地,所述异步结算模块包括竞拍数据读取单元、结算单元和持久化单元,其中:
所述竞拍数据读取单元,用于从内存中批量读取未结算的竞拍数据;
所述结算单元,用于根据所述竞拍数据读取单元读取的竞拍数据进行结算;
所述持久化单元,用于将结算后的竞拍数据持久化到数据库中。
进一步地,所述结算单元根据所述竞拍数据读取单元读取的竞拍数据进行结算,包括:所述结算单元在所述竞拍数据读取单元批量读取的当前批次的竞拍数据中,针对一竞拍商品,确定所述竞拍商品的当前最高价,冻结所述当前最高价对应的用户的账户金额,解冻上一次结算时所述竞拍商品的最高价对应的用户的账户金额。
进一步地,所述异步结算模块还包括第二内存调用单元,其用于调用内存缓存应用模块删除结算后的竞拍数据。
进一步地,所述竞拍数据包括以下内容:用户标识、竞拍的商品标识、竞拍价格、竞拍时间;所述统计数据包括以下内容:出价次数、当前最高价、竞拍记录。
为解决上述技术问题,本发明还提供了一种竞拍数据的处理方法,其特征在于,包括:
接收竞拍请求,从所述竞拍请求中获取竞拍数据;
获取所述竞拍数据后,在内存中同步缓存所述竞拍数据,根据所述竞拍数据更新统计数据;
批量读取竞拍数据,进行结算,将结算后的竞拍数据持久化到数据库中。
进一步地,在所述接收竞拍请求后,所述方法还包括:对竞拍请求进行逻辑校验,所述逻辑校验包括以下校验中的一种或多种:竞拍价格是否高于统计数据中的当前最高价、竞拍时间是否在竞拍期内、用户账户余额是否足够。
进一步地,在所述更新统计数据后,所述方法还包括:展示所述统计数据的部分或全部内容。
进一步地,所述批量读取竞拍数据,进行结算,将结算后的竞拍数据持久化到数据库中,包括:从内存中批量读取未结算的竞拍数据;根据读取的所述竞拍数据进行结算;将结算后的竞拍数据持久化到数据库中。
进一步地,所述根据读取的所述竞拍数据进行结算包括:在批量读取的当前批次的竞拍数据中,针对一竞拍商品,确定所述竞拍商品的当前最高价,冻结所述当前最高价对应的用户的账户金额,解冻上一次结算时所述竞拍商品的最高价对应的用户的账户金额。
进一步地,在所述根据读取的所述竞拍数据进行结算后,所述方法还包括:删除内存中结算后的竞拍数据。
进一步地,所述竞拍数据包括以下内容:用户标识、竞拍的商品标识、竞拍价格、竞拍时间;所述统计数据包括以下内容:出价次数、当前最高价、竞拍记录。
针对现有技术方案的缺点,本申请采用先同步把竞拍数据写入内存中,实时计算统计数据,并存储在内存中,然后在系统后台通过独立的线程,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算,并持久化在数据库中。采用本申请的设计,使得每一次竞拍行为带来的计算量很小,对内存也只有几次写的操作,而且内存的读写性能远远超过磁盘的读写性能,一般是磁盘的几百至上千倍,因此利用内存的高效读写能力记录竞拍的数据,在关键的高并发场景中不强依赖于数据库的性能好坏,充分发挥了内存快速读写的能力。并且利用内存实时地更新竞拍过程中的统计数据,很大程度上发挥了计算机在竞拍数据处理系统中的处理能力。本申请的竞拍数据处理系统和方法不但不需要复杂的业务逻辑计算,而且处理速度快。
附图说明
图1为实施例1竞拍数据处理系统整体结构示意图;
图2为实施例1中网络应用模块10结构示意图;
图3为实施例1中内存缓存应用模块20结构示意图;
图4为实施例1中异步结算模块30结构示意图;
图5为实施例2竞拍数据的处理方法流程图;
图6为实施例2中步骤501和502的一种优选方式流程图;
图7为实施例2中步骤503的一种优选方式流程图;
图8为应用示例1竞拍详情页面图。
具体实施方式
对于现有竞拍系统,如果要提高系统的QPS,需要花费很高的硬件成本,而且依赖于外部的系统也要做相应的软、硬件升级。为了以较低的成本提高竞拍系统的QPS、写能力以及计算能力,本申请设计了一种新的竞拍数据处理方法和系统。
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例1
本实施例的竞拍数据处理系统如图1所示,包括网络应用模块10、内存缓存应用模块20和异步结算模块30,其中:
该网络应用模块10,用于接收竞拍请求,从中获取竞拍数据;
该内存缓存应用模块20,用于在网络应用模块获取竞拍数据后,在内存中同步缓存该竞拍数据,并根据竞拍数据更新统计数据;
该异步结算模块30,用于批量读取竞拍数据进行结算,将结算后的竞拍数据持久化到数据库中。
由于内存的读写速度高于数据库和磁盘,因此通过内存缓存竞拍数据,可以缩短竞拍请求的响应时间。且通过内存实时更新统计数据,一方面避免重复计算,另一方面也方便查询。对竞拍数据的结算,是与竞拍行为异步进行的,由单独的异步结算模块执行,不影响统计数据的更新以及系统的QPS,另外,批量处理可显著提高处理速度。
为使本领域技术人员更好的理解本发明,下面对上述各模块进行具体介绍。在介绍之前,先对上例中涉及的一些概念进行举例说明。竞拍请求中包括竞拍数据,竞拍数据包括以下内容:用户标识(ID)、竞拍的商品标识、竞拍价格、竞拍时间。统计数据是针对商品的,包括以下内容:竞拍次数、当前最高价、竞拍记录,其中竞拍记录包含了用户的每次竞拍行为,每次竞拍行为通过竞拍数据来体现,也就是说,竞拍记录包括了从竞拍开始到竞拍期满这期间内的所有竞拍数据。以上关于竞拍数据以及统计数据的内容仅为一种优选实施方式的举例,在其他实施例中,可以在此例基础上进行增减。
首先对网络应用模块10进行说明如下:
网络应用模块10主要负责竞拍页面的展示,与用户的竞拍行为进行交互,以及获取竞拍数据。
一种优选的实施方式是,该网络应用模块10在接收到竞拍请求后,还用于对竞拍请求进行逻辑校验,例如执行以下判断中的一种或多种:竞拍价格是否高于内存存储的统计数据中的当前最高价、竞拍时间是否在竞拍期内、用户账户余额是否足够。在逻辑校验成功后,再调用内存缓存应用模块20提供的服务,将此次竞拍行为的竞拍数据同步缓存到内存中。此处所列举逻辑校验的内容仅为举例说明,在实际系统中,可根据需要进行设计。
另一种优选的实施方式是,网络应用模块10在每接收到竞拍请求后,展示内存缓存应用模块20在内存中更新的该商品的统计数据的部分内容或者全部内容,例如展示当前最高价,以方便其他用户进行竞拍。此处所述展示是指向客户端提供展示内容(可以主动发送,也可待收到请求后发送),如果服务器端需要显示,网络应用模块10也可实现服务器端的统计数据显示。
结合上述优选实施方式,网络应用模块10可以包括竞拍请求接收单元101,逻辑校验单元102,内存调用单元103以及展示单元104,如图2所示(图中所示虚线框表示可选),其中:
竞拍请求接收单元101,用于接收竞拍请求,从竞拍请求中获取竞拍数据;
逻辑校验单元102,用于对竞拍请求进行逻辑校验;
内存调用单元103,用于调用内存缓存应用模块20在内存中同步缓存竞拍数据;具体地,该内存调用单元103可采用命令调用的方式调用内存缓存应用模块20同步缓存竞拍数据,和/或,采用下发命令的方式使内存缓存应用模块20更新统计数据;例如内存调用单元103调用内存缓存应用模块20同步缓存竞拍数据后,内存缓存应用模块20自行根据缓存的竞拍数据更新统计数据;
展示单元104,用于展示统计数据的部分内容或全部内容(包括在服务器端展示,以及向客户端提供展示数据)。
下面对该内存缓存应用模块20进行说明如下:
如图3所示,可将该内存缓存应用模块20划分为两个单元:竞拍数据缓存单元201和统计数据更新单元202,其中:
竞拍数据缓存单元201,用于在内存中缓存网络应用模块10获取的竞拍数据;
统计数据更新单元202,用于根据竞拍数据更新统计数据。
对于统计数据更新单元202,其可以根据网络应用模块10发送的命令更新统计数据,例如统计数据更新单元202根据所述命令将当前商品的竞拍次数加1,以及根据竞拍数据更新内存中的当前商品的最高出价等。统计数据更新单元202也可以不依赖于网络应用模块10发送的命令,而设计为根据缓存的竞拍数据自行更新统计数据。例如,对于同一个商品,竞拍数据缓存单元201每缓存一次竞拍数据,统计数据更新单元202将对应商品的竞拍次数加1,同时将该商品当前最高价更新为该竞拍数据中的竞拍价格,并将该竞拍数据作为竞拍记录保存。
下面对该异步结算模块30进行说明如下:
如图4所示,该异步结算模块30包括竞拍数据读取单元301、结算单元302、持久化单元303,其中:
竞拍数据读取单元301,用于从内存中批量读取未结算的竞拍数据;
结算单元302,用于根据竞拍数据读取单元301读取的竞拍数据进行结算,结算过程包括:结算单元302在竞拍数据读取单元301批量读取的当前批次的竞拍数据中,针对一竞拍商品,确定该竞拍商品的当前最高价,冻结该当前最高价对应的用户的账户金额,解冻上一次结算时该竞拍商品的最高价对应的用户的账户金额;
持久化单元303,用于将结算后的竞拍数据持久化到数据库中。结算后的竞拍数据包括竞拍数据读取单元301当前批量读取的竞拍数据。所谓持久化到数据库中是指将内存中的数据写入数据库。
本申请中所述数据库可以是任何通用的关系型数据库,只要能够提供数据保存和查询的功能即可。
一种优选的实施方式是,该异步结算模块30还可包括一内存调用单元304,用于调用内存缓存应用模块20删除结算后的竞拍数据。
异步结算模块30会不断地循环读数据、结算、持久化这个过程。本例中竞拍数据处理系统关键数据(指与竞拍相关的数据,包括竞拍数据和统计数据)的存取没有直接依赖数据库,所以对数据库的性能没有特别地要求,节省了系统部署时在数据库软硬件方面的开销。
上述各模块、单元可以由软件实现,或由硬件实现,或者由软件和硬件两者的结合来实现。如果由软件实现,网络应用模块和异步结算模块可用Java实现,在Linux系统上运行能达到最佳的实施效果。内存缓存应用模块可以用C++实现,在Linux系统上运行能达到的实施效果更佳。
实施例2
本实施例描述竞拍数据的处理方法,如图5所示,包括以下步骤:
步骤501,接收竞拍请求,从中获取竞拍数据;
步骤502,获取竞拍数据后,在内存中同步缓存该竞拍数据,并根据该竞拍数据更新统计数据;
步骤503,批量读取竞拍数据,进行结算,将结算后的竞拍数据持久化到数据库中。
一种优选的实施方式是,在接收到竞拍请求后,先对竞拍请求进行逻辑校验,校验通过后再在内存中同步缓存竞拍数据,否则结束流程或者报错。对逻辑校验的说明参见实施例1。
另一种优选的实施方式是,在更新统计数据后,展示更新后的统计数据的部分内容或全部内容。
结合上述优选实施方式,步骤501和步骤502的执行过程如图6所示,包括步骤601-604,其中步骤603是对内存的操作:
步骤601,接收竞拍请求,从竞拍请求中获取竞拍数据;
步骤602,判断逻辑校验是否通过,如果通过,转步骤603,否则,结束;
逻辑校验包括以下判断中的一种或多种:竞拍价格是否高于内存存储的统计数据中的当前最高价、竞拍时间是否在竞拍期内、用户账户余额是否足够。即满足以下条件任意一条或多条,则认为逻辑校验通过:竞拍价格高于内存存储的统计数据中的当前最高价、竞拍时间在竞拍期内、用户账户余额足够。
步骤603,在内存中同步缓存竞拍数据,并根据竞拍数据更新统计数据;
步骤604,展示更新后的统计数据的部分内容或全部内容。
如图7所示,上述步骤503具体包括以下步骤:
步骤5031,从内存中批量读取未结算的竞拍数据;
步骤5032,根据读取的竞拍数据进行结算;
结算过程包括:对于一件竞拍商品,在批量读取的当前批次的竞拍数据中,确定该竞拍商品的当前最高价,冻结当前最高价对应的用户的账户金额,解冻上一次结算时该竞拍商品的最高价对应的用户的账户金额;
具体执行时,可以包括以下步骤:
步骤a,先按照商品标识对当前批次所有未结算竞拍数据进行分类,商品标识相同的竞拍数据属于同一类;
步骤b,对每一类竞拍数据按照竞拍价格进行排序,得到竞拍价格最高的一组竞拍数据;
排序仅是得到最高竞拍价的一种手段,在其他实施例中,也可以采用其他方式获得竞拍价格最高的一组竞拍数据。
步骤c,冻结该组竞拍数据中的用户标识对应的账户中的金额,并更新该用户标识对应的账户中的金额,冻结的金额至少等于该用户的竞拍价格,冻结后该用户标识对应账户中的余额为冻结前的余额与冻结的金额的差值;
优选地,可以向单独用于管理账户的数据库中增加一条该账户的冻结记录。
步骤d,解冻上一次结算时该商品标识的最高竞拍价格对应的用户的账户金额,并更新该用户的账户余额,解冻后该用户账户中的余额为解冻前的余额与解冻的金额的和值,其中解冻的金额应等于上次冻结的金额。
如果曾经在管理账户的数据库中记录了该账户的冻结记录,则此时可删除该账户的冻结记录。系统可定期对这些账户金额的流转记录日志。
每次结算后商品及其最高价对应的竞拍数据可以保留在内存中,方便下次结算时调用,也可由一数据库保留,取决于结算系统。
上述步骤c和步骤d的执行顺序不限。
步骤5033,将结算后的竞拍数据持久化到数据库中。
由于只有最高的出价才是有意义的,故只对最高价对应的数据进行处理,其它的竞拍数据可以直接持久化到数据库。通过批量结算,而不必对每一个用户的竞拍请求都进行结算,可以大大提高处理速度。
其中步骤5031和步骤5033是对内存的操作。在竞拍开始后,上述步骤5031-5033循环执行,但如果5031中读取不到未结算的竞拍数据,则流程结束。
一种优选的实施方式是,在结算完成后删除内存中结算后的竞拍数据,本步骤可以在步骤5033之前执行,也可以在步骤5033之后执行,本步骤也是对内存的操作。
应用示例1
本示例以标王竞拍处理系统为例对展示的内容进行说明。
图8所示为客户端所见界面的一种示例。图中“关键词”为竞拍商品标识。图中展示的“当前价格”(即当前最高价)、“出价次数”、“竞拍记录”等统计信息都是从内存中获取后再展示给客户端的。在用户确定出价竞拍后,该用户标识、竞拍商品标识、竞拍价格、竞拍时间等竞拍数据将通过竞拍请求发送至服务器端(竞拍数据处理系统),由服务器端进行如上述实施例中所述的处理。每一次用户的出价行为都会触发竞拍数据处理系统更新相应的统计数据。
应用示例2
本示例说明一种内存中数据结构设计,如表1所示。
表1缓存数据结构
表1中展示的是在内存中的一种数据结构设计,其中bid_list是以链表(List)的形式保存用户的每一次竞拍行为,内容包括但不限于:用户标识、商品标识、竞拍价格、竞拍时间等。用户的竞拍数据以追加地方式添加到链表的尾部。每次异步结算模块就从该链表头部读取未结算的数据进行结算后再删除这些数据。
表中,bidcnt_001保存的是一件商品的竞价次数,其中001代表商品标识,以商品的代码作为缓存的key,每一次发生对该商品的竞价行为,只需要取出这个key对应的值,加1后再写入内存中即可。top_price以hashmap(基于哈希表的Map接口实现的一种数据结构)形式的保存商品当前的最高价,如某人对001商品出了一个更高的价,此时top_price中001对应的值就会更新(例如由网络应用模块调用内存缓存应用模块的接口进行更新)。同理,如果需要统计其它的竞拍数据,都可以设计相应的数据结构在内存缓存应用中保存,并做实时更新。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (16)
1.一种竞拍数据的处理系统,其特征在于,包括:网络应用模块、内存缓存应用模块和异步结算模块,其中:
所述网络应用模块,用于接收竞拍请求,从中获取竞拍数据;
所述内存缓存应用模块,用于在所述网络应用模块获取竞拍数据后,在内存中同步缓存所述竞拍数据,根据所述竞拍数据通过内存中相应的数据结构,实时计算统计数据;所述统计数据包括:竞拍次数、当前最高价;
所述异步结算模块,用于批量读取竞拍数据,通过独立的线程,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算,将结算后的竞拍数据持久化到数据库中。
2.如权利要求1所述的系统,其特征在于:
所述网络应用模块包括竞拍请求接收单元和第一内存调用单元,其中:
所述竞拍请求接收单元,用于接收竞拍请求,从竞拍请求中获取竞拍数据;
所述第一内存调用单元,用于调用内存缓存应用模块在内存中同步缓存所述竞拍数据。
3.如权利要求2所述的系统,其特征在于:
所述网络应用模块还包括逻辑校验单元,其用于对竞拍请求进行逻辑校验,包括以下校验中的一种或多种:竞拍价格是否高于统计数据中的当前最高价、竞拍时间是否在竞拍期内、用户账户余额是否足够。
4.如权利要求2所述的系统,其特征在于:
所述网络应用模块还包括展示单元,其用于展示统计数据的部分或全部内容。
5.如权利要求1所述的系统,其特征在于:
所述内存缓存应用模块包括竞拍数据缓存单元和统计数据更新单元,其中:
所述竞拍数据缓存单元,用于在内存中缓存所述网络应用模块获取的竞拍数据;
所述统计数据更新单元,用于根据所述竞拍数据更新统计数据。
6.如权利要求1所述的系统,其特征在于:
所述异步结算模块包括竞拍数据读取单元、结算单元和持久化单元,其中:
所述竞拍数据读取单元,用于从内存中批量读取未结算的竞拍数据;
所述结算单元,用于根据所述竞拍数据读取单元读取的竞拍数据,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算;
所述持久化单元,用于将结算后的竞拍数据持久化到数据库中。
7.如权利要求6所述的系统,其特征在于:
所述结算单元根据所述竞拍数据读取单元读取的竞拍数据,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算,包括:所述结算单元在所述竞拍数据读取单元批量读取的当前批次的竞拍数据中,针对一竞拍商品,确定所述竞拍商品的当前最高价,冻结所述当前最高价对应的用户的账户金额,解冻上一次结算时所述竞拍商品的最高价对应的用户的账户金额。
8.如权利要求6所述的系统,其特征在于:
所述异步结算模块还包括第二内存调用单元,其用于调用内存缓存应用模块删除结算后的竞拍数据。
9.如权利要求1所述的系统,其特征在于:
所述竞拍数据包括以下内容:用户标识、竞拍的商品标识、竞拍价格、竞拍时间;
所述统计数据包括以下内容:出价次数、当前最高价、竞拍记录。
10.一种竞拍数据的处理方法,其特征在于,包括:
接收竞拍请求,从所述竞拍请求中获取竞拍数据;
获取所述竞拍数据后,在内存中同步缓存所述竞拍数据,根据所述竞拍数据通过内存中相应的数据结构,实时计算统计数据;
批量读取竞拍数据,通过独立的线程,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算,将结算后的竞拍数据持久化到数据库中。
11.如权利要求10所述的方法,其特征在于:
在所述接收竞拍请求后,所述方法还包括:对竞拍请求进行逻辑校验,所述逻辑校验包括以下校验中的一种或多种:竞拍价格是否高于统计数据中的当前最高价、竞拍时间是否在竞拍期内、用户账户余额是否足够。
12.如权利要求10所述的方法,其特征在于:
在计算所述统计数据后,所述方法还包括:展示所述统计数据的部分或全部内容。
13.如权利要求10所述的方法,其特征在于:
所述批量读取竞拍数据,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算,将结算后的竞拍数据持久化到数据库中,包括:
从内存中批量读取未结算的竞拍数据;
根据读取的所述竞拍数据,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算;
将结算后的竞拍数据持久化到数据库中。
14.如权利要求13所述的方法,其特征在于:
所述根据读取的所述竞拍数据,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算包括:在批量读取的当前批次的竞拍数据中,针对一竞拍商品,确定所述竞拍商品的当前最高价,冻结所述当前最高价对应的用户的账户金额,解冻上一次结算时所述竞拍商品的最高价对应的用户的账户金额。
15.如权利要求13所述的方法,其特征在于:
在所述根据读取的所述竞拍数据,异步的按商品合并竞拍数据后对用户的竞拍行为进行结算后,所述方法还包括:删除内存中结算后的竞拍数据。
16.如权利要求10所述的方法,其特征在于:
所述竞拍数据包括以下内容:用户标识、竞拍的商品标识、竞拍价格、竞拍时间;
所述统计数据包括以下内容:出价次数、当前最高价、竞拍记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210494780.0A CN103854214B (zh) | 2012-11-28 | 2012-11-28 | 竞拍数据的处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210494780.0A CN103854214B (zh) | 2012-11-28 | 2012-11-28 | 竞拍数据的处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103854214A CN103854214A (zh) | 2014-06-11 |
CN103854214B true CN103854214B (zh) | 2020-03-27 |
Family
ID=50861836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210494780.0A Active CN103854214B (zh) | 2012-11-28 | 2012-11-28 | 竞拍数据的处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103854214B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331829A (zh) * | 2014-10-28 | 2015-02-04 | 杭州联通计算机系统有限公司 | 拍卖竞价管理系统 |
CN104794652A (zh) * | 2015-04-28 | 2015-07-22 | 胡刚 | 一种建立竞价奖励机制的网络拍卖方法及系统 |
CN104951973B (zh) * | 2015-06-30 | 2019-03-01 | 北京奇虎科技有限公司 | 处理竞拍用户数据的方法及装置 |
CN106462851A (zh) * | 2015-07-21 | 2017-02-22 | 深圳市银信网银科技有限公司 | 资金冻结内容修改方法、数据处理方法、装置和系统 |
WO2017012014A1 (zh) * | 2015-07-21 | 2017-01-26 | 深圳市银信网银科技有限公司 | 一种电子凭证的修改方法以及电子支付系统 |
CN105243581A (zh) * | 2015-10-16 | 2016-01-13 | 北京奇虎科技有限公司 | 在竞拍过程中用户积分的处理方法及装置 |
WO2017141074A1 (en) * | 2016-02-19 | 2017-08-24 | Wang Kevin Sunlin | Method and system for sealed bid auctions |
CN106959969B (zh) * | 2016-01-12 | 2020-07-17 | 恒生电子股份有限公司 | 一种数据处理方法及装置 |
CN107423132B (zh) * | 2017-04-20 | 2020-10-02 | 山东开创云计算有限公司 | 一种用于拍卖平台的大规模并发优化处理方法 |
CN109658211A (zh) * | 2017-10-10 | 2019-04-19 | 山东化仙子电子商务有限公司 | 互联网高并发实时拍卖平台 |
GB201716653D0 (en) * | 2017-10-11 | 2017-11-22 | Betsold Ltd | Auction data processing apparatus and method |
CN108171594A (zh) * | 2017-12-29 | 2018-06-15 | 天脉聚源(北京)科技有限公司 | 虚拟楼盘的拍卖处理方法及装置 |
CN109325833A (zh) * | 2018-10-10 | 2019-02-12 | 深圳市心版图科技有限公司 | 苗木线上交易方法、终端及计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540562A (zh) * | 2003-11-01 | 2004-10-27 | 金庆镐 | 电子商务竞拍系统及方法 |
JP2007323456A (ja) * | 2006-06-02 | 2007-12-13 | Yafoo Japan Corp | オークション管理方法 |
CN102004979A (zh) * | 2009-09-03 | 2011-04-06 | 叶克 | 一种提供商品匹配推广服务的系统和方法 |
CN102693507A (zh) * | 2011-03-22 | 2012-09-26 | Cbm株式会社 | 网络拍卖系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163231A (zh) * | 2011-04-13 | 2011-08-24 | 浪潮(北京)电子信息产业有限公司 | 数据收集方法和装置 |
-
2012
- 2012-11-28 CN CN201210494780.0A patent/CN103854214B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540562A (zh) * | 2003-11-01 | 2004-10-27 | 金庆镐 | 电子商务竞拍系统及方法 |
JP2007323456A (ja) * | 2006-06-02 | 2007-12-13 | Yafoo Japan Corp | オークション管理方法 |
CN102004979A (zh) * | 2009-09-03 | 2011-04-06 | 叶克 | 一种提供商品匹配推广服务的系统和方法 |
CN102693507A (zh) * | 2011-03-22 | 2012-09-26 | Cbm株式会社 | 网络拍卖系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103854214A (zh) | 2014-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103854214B (zh) | 竞拍数据的处理方法及系统 | |
US9092475B2 (en) | Database log parallelization | |
US11567681B2 (en) | Method and system for synchronizing requests related to key-value storage having different portions | |
CN111414389A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US11748357B2 (en) | Method and system for searching a key-value storage | |
US11216412B2 (en) | Intelligent merging for efficient updates in columnar databases | |
CN111857574A (zh) | 一种写请求数据压缩方法、系统、终端及存储介质 | |
CN115328406A (zh) | 数据的写入和获取方法、装置、电子设备及计算机介质 | |
US11099960B2 (en) | Dynamically adjusting statistics collection time in a database management system | |
CN109992469A (zh) | 一种合并日志的方法及装置 | |
CN113515717B (zh) | 导航页面更新方法、装置、电子设备及存储介质 | |
US11650922B2 (en) | Cache coherency engine | |
RU2714583C1 (ru) | Способ и система для подбора блоков многомерных данных в электронной информационной системе | |
CN113792038A (zh) | 用于存储数据的方法和装置 | |
CN112473149A (zh) | 排行榜处理方法 | |
CN116339626A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113592470A (zh) | 业务处理方法、装置、电子设备以及存储介质 | |
CN114489770A (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN107025266B (zh) | 业务数据的处理方法和装置 | |
CN112819490A (zh) | 一种预告秒杀广告的装置和方法 | |
CN109471898A (zh) | 一种用于对数据进行共享分发的方法及系统 | |
CN115115433B (zh) | 订单数据处理方法、装置、计算机设备和存储介质 | |
CN115718787B (zh) | 数据表数据同步方法、查询方法、电子设备及存储介质 | |
US9965537B2 (en) | System and method of providing a snapshot of data and replaying the data | |
CN118568061A (zh) | 一种小文件处理方法、装置以及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |