数据查询方法、装置、服务器和计算机可读介质制造方法及图纸

技术编号:22531796 阅读:18 留言:0更新日期:2019-11-13 09:06
本申请实施例公开了数据查询方法、装置、服务器和计算机可读介质。该方法的实施例包括:将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,其中,各产品数据的索引字段为从预设编号起始的连续编号;响应于接收到产品数据获取请求,确定当前批次的产品数据中是否存在未被获取的产品数据;若是,对缓存中的预设变量进行自增运算,响应于确定自增运算结果满足预设条件,将该自增运算结果作为目标索引字段,从该数据库中查找该目标索引字段对应的产品数据,并返回所查找到的产品数据,其中,该预设变量的初次自增运算结果为该预设编号。该实施方式提高了数据查询效率。

Data query methods, devices, servers and computer-readable media

The embodiment of the application discloses a data query method, a device, a server and a computer-readable medium. The embodiment of the method includes: storing the product data of the current batch into the database and adding index fields for each product data, wherein, the index fields of each product data are consecutive numbers starting from the preset number; determining whether there is any product data not acquired in the product data of the current batch in response to receiving the product data acquisition request; if so, caching In response to the determination that the result of the auto increment operation meets the preset conditions, the auto increment operation result is taken as the target index field, the product data corresponding to the target index field is searched from the database, and the found product data is returned, in which the initial auto increment operation result of the preset variable is the preset number. The implementation mode improves the data query efficiency.

【技术实现步骤摘要】
数据查询方法、装置、服务器和计算机可读介质
本申请实施例涉及计算机
,具体涉及数据查询方法、装置、服务器和计算机可读介质。
技术介绍
库存管理是互联网开发中经常遇到的业务场景。在库存管理场景中,通常需要将预先导入库存中的产品(例如兑换码形式的产品)顺序分配给用户。在此过程中,需要对库存进行准确控制及分配,同时避免超发、漏发等情况。例如,现有1万个兑换码用于活动发放,有2万个用户请求获取兑换码。此时,通常需要保证每个兑换码均分配给一个用户,且同一用户最多获取一个兑换码,以保证在兑换码不浪费的前提下,使更多的用户享受活动。现有的方式,通常是使用数据库排它锁或者分布式锁,使取库存和减库存的操作串行执行。但是,这种方式,在并发量大的情况下,存在大量的请求同时访问数据库,易造成数据库连接异常。同时,由于取库存和减库存的操作串行执行,导致对数据的占用时间较长,从而数据查询的效率较低。
技术实现思路
本申请实施例提出了数据查询方法、装置、服务器和计算机可读介质,以解决现有技术中数据查询的效率较低的技术问题。第一方面,本申请实施例提供了一种数据查询方法,应用于服务器,该方法包括:将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,其中,各产品数据的索引字段为从预设编号起始的连续编号;响应于接收到产品数据获取请求,确定当前批次的产品数据中是否存在未被获取的产品数据;若是,对缓存中的预设变量进行自增运算,响应于确定自增运算结果满足预设条件,将自增运算结果作为目标索引字段,从数据库中查找目标索引字段对应的产品数据,并返回所查找到的产品数据,其中,预设变量的初次自增运算结果为预设编号。在一些实施例中,确定当前批次的产品数据中是否存在未被获取的产品数据,包括:获取当前批次的产品数据的最大索引字段;确定最大索引字段对应的产品数据是否处于未获取状态;若是,确定当前批次的产品数据中存在未被获取的产品数据。在一些实施例中,通过如下步骤确定自增运算结果满足预设条件:获取当前批次的产品数据的最大索引字段;将自增运算结果与最大索引字段进行数值比较;响应于自增运算结果小于或等于最大索引字段,确定自增运算结果满足预设条件。在一些实施例中,该方法还包括:响应于确定库存不足,或者,响应于确定自增运算结果不满足预设条件,返回用于指示库存不足的提示信息。在一些实施例中,在返回所查找到的产品数据之后,该方法还包括:将所查找到的产品数据作为目标产品数据,将目标产品数据标识为已获取状态。在一些实施例中,预设编号和预设变量的初次自增运算结果为1。第二方面,本申请实施例提供了一种数据查询装置,应用于服务器,该装置包括:添加单元,被配置成将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,其中,各产品数据的索引字段为从预设编号起始的连续编号;确定单元,被配置成响应于接收到产品数据获取请求,确定当前批次的产品数据中是否存在未被获取的产品数据;第一返回单元,被配置成若是,对缓存中的预设变量进行自增运算,响应于确定自增运算结果满足预设条件,将自增运算结果作为目标索引字段,从数据库中查找目标索引字段对应的产品数据,并返回所查找到的产品数据,其中,预设变量的初次自增运算结果为预设编号。在一些实施例中,确定单元,进一步被配置成:获取当前批次的产品数据的最大索引字段;确定最大索引字段对应的产品数据是否处于未获取状态;若是,确定当前批次的产品数据中存在未被获取的产品数据。在一些实施例中,第一返回单元,进一步被配置成:通过如下步骤确定自增运算结果满足预设条件:获取当前批次的产品数据的最大索引字段;将自增运算结果与最大索引字段进行数值比较;响应于自增运算结果小于或等于最大索引字段,确定自增运算结果满足预设条件。在一些实施例中,该装置还包括:第二返回单元,被配置成响应于确定库存不足,或者,响应于确定自增运算结果不满足预设条件,返回用于指示库存不足的提示信息。在一些实施例中,该装置还包括:标识单元,被配置成将所查找到的产品数据作为目标产品数据,将目标产品数据标识为已获取状态。在一些实施例中,预设编号和预设变量的初次自增运算结果为1。第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一实施例的方法。第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面中任一实施例的方法。本申请实施例提供的数据查询方法、装置、服务器和计算机可读介质,通过将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,以使各产品数据的索引字段为从预设编号起始的连续编号,而后当接收到产品数据获取请求时,在当前批次的产品数据中存在未被使用的产品数据情况下,对缓存中初次自增运算结果为预设编号的预设变量进行自增运算,并在自增运算结果满足预设条件,从数据库中查找自增运算结果对应的产品数据,从而返回所查找到的产品数据。由于对缓存中的预设变量进行自增运算的过程具有原子性(即自增运算过程不可中断),因而,通过对预设变量进行自增运算,并通过自增运算的结果查询产品数据,避免了在并发量大时同时访问数据库造成连接异常等情况,保证了并发量大时的数据访问的稳定性。此外,通过为产品数据设定索引字段,以及,通过对预设变量进行自增运算的方式确定待返回的产品数据,不需要串行地在数据库中查询产品数据以及修改产品数据的使用状态,减少了对数据库中的产品数据的访问时长,从而提高了数据查询的效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是根据本申请的数据查询方法的一个实施例的流程图;图2是根据本申请的数据查询方法的又一个实施例的流程图;图3是根据本申请的数据查询装置的一个实施例的结构示意图;图4是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,其示出了根据本申请的数据查询方法的一个实施例的流程100。该数据查询方法可以应用于服务器。上述服务器可以是用于对产品库存进行管理的服务器。上述服务器可以对各产品的产品数据进行查询等。在一种场景中,上述产品可以包括但不限于各种类型的兑换码产品(例如优惠券兑换码产品、礼物兑换码产品、会员资格兑换码产品等等),上述产品数据可以是具体的兑换码。该方法包括以下步骤:步骤101,将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段。在本实施例中,数据查询方法的执行主体(例如上述服务器)可以将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段。实践中,上述数据库可以用于存储多个批次的产品数据,每一个批次的产品数据可以是针对某一活动而设定的,以便于在活动开始后发放给参与该本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,应用于服务器,所述方法包括:将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,其中,各产品数据的索引字段为从预设编号起始的连续编号;响应于接收到产品数据获取请求,确定所述当前批次的产品数据中是否存在未被获取的产品数据;若是,对缓存中的预设变量进行自增运算,响应于确定自增运算结果满足预设条件,将所述自增运算结果作为目标索引字段,从所述数据库中查找所述目标索引字段对应的产品数据,并返回所查找到的产品数据,其中,所述预设变量的初次自增运算结果为所述预设编号。

【技术特征摘要】
1.一种数据查询方法,其特征在于,应用于服务器,所述方法包括:将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,其中,各产品数据的索引字段为从预设编号起始的连续编号;响应于接收到产品数据获取请求,确定所述当前批次的产品数据中是否存在未被获取的产品数据;若是,对缓存中的预设变量进行自增运算,响应于确定自增运算结果满足预设条件,将所述自增运算结果作为目标索引字段,从所述数据库中查找所述目标索引字段对应的产品数据,并返回所查找到的产品数据,其中,所述预设变量的初次自增运算结果为所述预设编号。2.根据权利要求1所述的数据查询方法,其特征在于,所述确定所述当前批次的产品数据中是否存在未被获取的产品数据,包括:获取所述当前批次的产品数据的最大索引字段;确定所述最大索引字段对应的产品数据是否处于未获取状态;若是,确定所述当前批次的产品数据中存在未被获取的产品数据。3.根据权利要求1所述的数据查询方法,其特征在于,通过如下步骤确定自增运算结果满足预设条件:获取所述当前批次的产品数据的最大索引字段;将自增运算结果与所述最大索引字段进行数值比较;响应于所述自增运算结果小于或等于所述最大索引字段,确定所述自增运算结果满足预设条件。4.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:响应于确定所述当前批次的产品数据中不存在未被获取的产品数据,或者,响应于确定所述自增运算结果不满足所述预设条件,返回用于指示库存不足的提示信息。5.根据权利要求1所述的数据查询方法,其特征在于,在所述返回所查找到的产品数据之后,所述方法还包括:将所查找到的产品数据作为目标产品数据,将所述目标产品数据标识为已获取状态。6.根据权利要求1-5之一所述的数据查询方法,其特征在于,所述预设编号和所述预设变量的初次自增运算结果为1。7.一种数据查询装置,其特征在于,应用于服务器,所述装置包括:添加单元,被配置成将当前批次的产品数据存储至数据库中,并为各产品数据添加索引字段,其中,各产品数据的索引字段为从预设编号起始的连续编...

【专利技术属性】
技术研发人员:檀楠孙健
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1