实时获取竞拍数据的方法、服务器及系统的制作方法

xiaoxiao2020-10-23  12

实时获取竞拍数据的方法、服务器及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种实时获取竞拍数据的方法、服务器及系统。
【背景技术】
[0002]随着电子商务的蓬勃发展,越来越多的商业活动利用计算机技术,可以在线举办。如热门商品的在线拍卖会,针对很多个热门商品,成千上万个用户高并发(并发是指一个时间段内,系统同时处理多个相同的服务请求)的竞拍行为,在用户竞拍商品前需要将在出价页面中展示竞拍数据以指导用户出价,因此需要实时获取竞拍数据。
[0003]现有的获取竞拍数据的方法主要是先将获取竞拍数据的请求发送给代理服务器,由代理服务器通过超文本预处理器(PHP)从数据库中请求数据,由于获取数据的业务逻辑需要进入到PHP框架,也即需要对PHP进行解析,导致性能下降,而且PHP框架本身并不能满足实时获取数据的要求。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实时获取竞拍数据的方法、实时获取竞拍数据的服务器和及相应的实时获取竞拍数据的系统。
[0005]根据本发明的一个方面,提供了一种实时获取竞拍数据的方法,方法应用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,方法包括:
[0006]以短轮询方式向Redis服务器发送获取竞拍数据的请求;
[0007]根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据;
[0008]接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。
[0009]根据本发明的另一方面,提供了一种实时获取竞拍数据的服务器,服务器用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,服务器包括:
[0010]请求发送模块,适于以短轮询方式向Redis服务器发送获取竞拍数据的请求,以供代理服务器运行内嵌的预配置脚本,从Redis服务器获取竞拍数据;
[0011]接收模块,适于接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。
[0012]根据本发明的另一方面,提供了一种实时获取竞拍数据的系统,包括上述实时获取竞拍数据的服务器、Redis服务器、代理服务器和超文本预处理器,其中,实时获取竞拍数据的服务器跳过超文本预处理器通过代理服务器从Redis服务器中获取竞拍数据;
[0013]代理服务器,适于根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据。
[0014]根据本发明提供的方案,以短轮询方式向Redis服务器发送获取竞拍数据的请求,根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据,避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性會K。
[0015]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0016]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0017]图1示出了根据本发明一个实施例的实时获取竞拍数据的方法的流程图;
[0018]图2示出了根据本发明另一个实施例的实时获取竞拍数据的方法的流程图;
[0019]图3示出了根据本发明一个实施例的实时获取竞拍数据的服务器的结构框图;
[0020]图4示出了根据本发明另一个实施例的实时获取竞拍数据的服务器的结构框图;
[0021]图5示出了根据本发明一个实施例的实时获取竞拍数据的系统的结构框图。
【具体实施方式】
[0022]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0023]图1示出了根据本发明一个实施例的实时获取竞拍数据的方法的流程图。该方法应用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据。如图1所示,该方法包括以下步骤:
[0024]步骤S100,以短轮询方式向Redis服务器发送获取竞拍数据的请求。
[0025]在本步骤中,实时获取竞拍数据的服务器通过短轮询的方式向Redis服务器发送获取竞拍数据的请求,该请求中包含具体要获取的竞拍数据的信息,例如,出价人数、出价时间、竞拍剩余时间和出价价格,上述竞拍数据可以指导用户进行出价。其中,短轮询指Redis服务器接收到实时获取竞拍数据的服务器发送的请求后,直接响应该请求;实时获取竞拍数据的服务器收到Redis服务器响应后,隔一段时间再发送同样的请求Redis服务器查询是否有竞拍数据。
[0026]步骤S110,根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据。
[0027]可选地,本实施例的预配置脚本具体为Lua脚本。Lua是用标准C语言编写的,代码简洁优美,几乎在所有操作系统和平台上都可以编译运行,它的优点是小巧和灵活,而且又是动态语言且是解释执行的,所以适合用在嵌入式环境里;由于Lua的解释器是预编译性质的,所以明显比其他的脚本语言快许多,这也是本实施例选择Lua作为优选脚本语言的原因之一。
[0028]在监控到实时获取竞拍数据的服务器发送的获取竞拍数据的请求后,运行内嵌在代理服务器中的Lua脚本,利用该脚本从Redis服务器中读取竞拍数据。上述代理服务器在内部直接支持PHP (超文本预处理器)对外进行服务,从而跳过PHP直接从Redis服务器读取数据,避免了获取数据的业务逻辑进入PHP的业务框架,导致性能下降,提升了实时获取数据的性能。
[0029]可选地,代理服务器可以是Nginx服务器,Nginx采用C进行编写,具有稳定性、丰富的功能集和低系统资源、占有内存少,并发能力强等优点。
[0030]步骤S120,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。
[0031]具体地,Redis服务器在接收到实时获取竞拍数据的服务器发送的请求后,对该请求进行解析,并根据解析后得到的信息将包含出价人数、出价时间、竞拍剩余时间和出价价格的竞拍数据返回给实时获取竞拍数据的服务器,实时获取竞拍数据的服务器上述竞拍数据。
[0032]根据本发明上述实施例提供的方法,以短轮询方式向Redis服务器发送获取竞拍数据的请求,根据获取竞拍数据的请求运行内嵌在代理服务器中的Lua脚本,以从Redis服务器获取竞拍数据,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据,避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性能。
[0033]图2示出了根据本发明另一个实施例的实时获取竞拍数据的方法的流程图。如图2所示,该方法包括以下步骤:
[0034]步骤S200,预先设定竞拍时间。
[0035]预先为每个竞拍商品设定竞拍时间,例如30分钟,时间到达后竞拍结束。
[0036]步骤S210,将竞拍剩余时间与预设时间段进行比较,若竞拍剩余时间大于预设时间段,则执行步骤S220,若竞拍剩余时间小于或等于预设时间段,则执行步骤S230。
[0037]在本实施例中,将预设时间段设为I分钟,将竞拍剩余时间与预设时间段I分钟进行比较,可以确定实时获取竞拍数据的服务器间隔多长时间发起一次短轮询。若竞拍剩余时间大于I分钟,说明离竞拍 结束时间比较长,进行出价的用户较少,可以将发起轮询的时间间隔设置的稍微长一点。竞拍剩余时间小于或等于I分钟时,说竞拍即将结束,用户出价会比较频繁,因此需要缩短实时获取竞拍数据的服务器发起短轮询的时间,以确保能够实时获取到竞拍数据。
[0038]步骤S220,以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,执行步骤S240。
[0039]在竞拍剩余时间大于I分钟的情况下,可以以间隔10秒的短轮询方式,向Redis服务器发送获取竞拍数据的请求。该请求中包含具体要获取的竞拍数据的信息,例如,出价人数、出价时间、竞拍剩余时间和出价价格,上述竞拍数据可以指导用户进行出价。
[0040]步骤S230,以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,执行步骤S240。
[0041]在竞拍剩余时间小于I分钟的情况下,可以以间隔I秒的短轮询方式,向Redis服务器发送获取竞拍数据的请求。
[0042]根据竞拍剩余时间调整发起短轮询的时间间隔,能够避免在竞拍结束前因用户出价频繁而造成竞拍数据不能及时获取的缺陷,提升了实时获取竞拍数据的性能。
[0043]步骤S240,根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据。
[0044]可选地,本实施例的预配置脚本具体为Lua脚本。Lua是用标准C语言编写的,代码简洁优美,几乎在所有操作系统和平台上都可以编译运行,它的优点是小巧和灵活,而且又是动态语言且是解释执行的,所以适合用在嵌入式环境里;由于Lua的解释器是预编译性质的,所以明显比其他的脚本语言快许多,这也是本实施例选择Lua作为优选脚本语言的原因之一。
[0045]在监控到实时获取竞拍数据的服务器发送的获取竞拍数据的请求后,运行内嵌在代理服务器中的Lua脚本,利用该脚本从Redis服务器中读取竞拍数据。上述代理服务器在内部直接支持PHP (超文本预处理器)对外进行服务,从而跳过PHP直接从Redis服务器读取数据,避免了获取数据的业务逻辑进入PHP的业务框架,导致性能下降,提升了实时获取数据的性能。
[0046]可选地,代理服务器可以是Nginx服务器,Nginx采用C进行编写,具有稳定性、丰富的功能集和低系统资源、占有内存少,并发能力强等优点。
[0047]步骤S250,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。
[0048]具体地,Redis服务器在接收到实时获取竞拍数据的服务器发送的请求后,对该请求进行解析,并根据解析后得到的信息将包含出价人数、出价时间、竞拍剩余时间和出价价格的竞拍数据返回给实时获取竞拍数据的服务器,实时获取竞拍数据的服务器上述竞拍数据。
[0049]步骤S260,比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致,若不一致,则执行步骤S270 ;若一致,则执行步骤S280。
[0050]当前次接收的竞拍数据是指在此次短轮询中,实时获取竞拍数据的服务器接收到的竞拍数据;上一次接收的竞拍数据是指在上一次短轮询中,实时获取竞拍数据的服务器接收到的竞拍数据。由于Redis服务器在接收获取竞拍数据的请求,不论其所存储的数据是否发生更新都会响应所接收到的获取竞拍数据的请求,将竞拍数据返回给实时获取竞拍数据的服务器,因此,在将竞拍数据发送给客户端之前,需要将当前次接收的竞拍与上一次接收的竞拍数据进行比较,判断其是否一致,若不一致,则说明在短轮询间隔时间段内,用户执行了出价操作,竞拍数据发生了更新;若一致,则说明在短轮询间隔时间段内,没有用户执行出价操作,竞拍数据未发生更新,避免向客户端重复传输同样的竞拍数据,提高了传输效率。
[0051]步骤S270,将当前次接收的竞拍数据发送给客户端,以供客户端在出价页面中展示当前次接收的竞拍数据。
[0052]在当前次接收的竞拍数据与上一次接收的竞拍数据不一致的情况下,说明竞拍数据发生了更新,将当前次接收的竞拍数据发送给客户端,以供客户端在出价页面中展示当前次接收的竞拍数据。
[0053]步骤S280,丢弃当前次接收的竞拍数据。
[0054]在当前次接收的竞拍数据与上一次接收的竞拍数据一致的情况下,由于实时获取竞拍数据的服务器已将上一次接收的竞拍数据发送给客户端,因此,可以将当前次接收的竞拍数据丢弃,不发送给客户端。
[0055]根据本发明上述实施例提供的方法,通过将竞拍剩余时间与预设时间段进行比较,若竞拍剩余时间大于预设时间段,以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,若竞拍剩余时间小于或等于预设时间段,以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,其中,第一阈值大于第二阈值,根据竞拍剩余时间调整发起短轮询的时间间隔,能够避免在竞拍结束前因用户出价频繁而造成竞拍数据不能及时获取的缺陷,提升了实时获取竞拍数据的性能;根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据,避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性能;通过比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致,若不一致,则将当前次接收的竞拍数据发送给客户端,以供客户端在出价页面中展示当前次接收的竞拍数据,若一致,丢弃当前次接收的竞拍数据,避免向客户端重复传输同样的竞拍数据,提高了传输效率。
[0056]图3示出了根据本发明一个实施例的实时获取竞拍数据的服务器的结构框图。该服务器用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据。如图3所示,该服务器300包括:请求发送模块310和接收模块320。
[0057]请求发送模块310,适于以短轮询方式向Redis服务器发送获取竞拍数据的请求,以供代理服务器运行内嵌的预配置脚本,从Redis服务器获取竞拍数据。
[0058]接收模块320,适于接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。
[0059]根据本发明上述实施例提供的服务器,以短轮询方式向Redis服务器发送获取竞拍数据的请求,根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据,避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性能。
[0060]图4示出了根据本发明另一个实施例的实时获取竞拍数据的服务器的结构框图。该服务器用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据。如图4所示,该服务器400包括:请求发送模块410、接收模块420、设定模块430、竞拍数据发送模块440和比较模块450。
[0061]请求发送模块410,适于以短轮询方式向Redis服务器发送获取竞拍数据的请求,以供代理服务器运行内嵌的预配置脚本,从Redis服务器获取竞拍数据。其中,竞拍数据包括:出价人数、出价时间、竞拍剩余时间和出价价格。
[0062]接收模块420,适于接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。
[0063]该服务器还包括:设定模块430,适于预先设定竞拍时间。
[0064]请求发送模块410进一步适于:将竞拍剩余时间与预设时间段进行比较;若竞拍剩余时间大于预设时间段,则以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求;若竞拍剩余时间小于或等于预设时间段,则以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求;其中,第一阈值大于第二阈值。
[0065]该服务器还包括:竞拍数据发送模块440,适于将接收的竞拍数据发送给客户端,以供客户端在出价页面中展示竞拍数据。
[0066]该服务器还包括:比较模块450,适于比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致。
[0067]若当前次接收的竞拍数据与上一次接收的竞 拍数据不一致,竞拍数据发送模块440进一步适于:将当前次接收的竞拍数据发送给客户端,以供客户端在出价页面中展示当前次接收的竞拍数据。
[0068]若当前次接收的竞拍数据与上一次接收的竞拍数据一致,则丢弃当前次接收的竞拍数据。
[0069]根据本发明上述实施例提供的服务器,通过将竞拍剩余时间与预设时间段进行比较,若竞拍剩余时间大于预设时间段,以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,若竞拍剩余时间小于或等于预设时间段,以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,其中,第一阈值大于第二阈值,根据竞拍剩余时间调整发起短轮询的时间间隔,能够避免在竞拍结束前因用户出价频繁而造成竞拍数据不能及时获取的缺陷,提升了实时获取竞拍数据的性能;根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据,避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性能;通过比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致,若不一致,则将当前次接收的竞拍数据发送给客户端,以供客户端在出价页面中展示当前次接收的竞拍数据,若一致,丢弃当前次接收的竞拍数据,避免向客户端重复传输同样的竞拍数据,提高了传输效率。
[0070]图5示出了根据本发明一个实施例的实时获取竞拍数据的系统的结构框图。如图5所示,该系统500包括:实时获取竞拍数据的服务器400、Redis服务器510、代理服务器520和超文本预处理器530,其中,实时获取竞拍数据的服务器跳过超文本预处理器通过代理服务器从Redis服务器中获取竞拍数据。
[0071]代理服务器520适于根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据。
[0072]其中,代理服务器为Nginx服务器,预配置脚本为Lua脚本。
[0073]该系统还包括:客户端540,适于在出价页面中展示竞拍数据。
[0074]根据本发明上述实施例提供的系统,通过将竞拍剩余时间与预设时间段进行比较,若竞拍剩余时间大于预设时间段,以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,若竞拍剩余时间小于或等于预设时间段,以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求,其中,第一阈值大于第二阈值,根据竞拍剩余时间调整发起短轮询的时间间隔,能够避免在竞拍结束前因用户出价频繁而造成竞拍数据不能及时获取的缺陷,提升了实时获取竞拍数据的性能;根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据,接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据,避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性能;通过比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致,若不一致,则将当前次接收的竞拍数据发送给客户端,以供客户端在出价页面中展示当前次接收的竞拍数据,若一致,丢弃当前次接收的竞拍数据,避免向客户端重复传输同样的竞拍数据,提高了传输效率。
[0075]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0076]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0077]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0078]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0079]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0080]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实时获取竞拍数据的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0081]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0082]本发明公开了:A1、一种实时获取竞拍数据的方法,所述方法应用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,所述方法包括:
[0083]以短轮询方式向Redis服务器发送获取竞拍数据的请求;
[0084]根据所述获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从所述Redis服务器获取竞拍数据;
[0085]接收所述Redis服务器响应所述获取竞拍数据的请求返回的竞拍数据。
[0086]A2、根据Al所述的方法,其中,所述方法还包括:预先设定竞拍时间;
[0087]所述以短轮询方式向Redis服务器发送获取竞拍数据的请求进一步包括:
[0088]将竞拍剩余时间与预设时间段进行比较;
[0089]若竞拍剩余时间大于预设时间段,则以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求;
[0090]若竞拍剩余时间小于或等于所述预设时间段,则以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求;
[0091]其中,所述第一阈值大于所述第二阈值。
[0092]A3、根据Al或A2所述的方法,其中,所 述方法还包括:将接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示所述竞拍数据。
[0093]A4、根据A3所述的方法,在将接收的竞拍数据发送给客户端之前所述方法还包括:
[0094]比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致;
[0095]若当前次接收的竞拍数据与上一次接收的竞拍数据不一致,所述将接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示所述竞拍数据进一步包括:将当前次接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示当前次接收的竞拍数据;
[0096]若当前次接收的竞拍数据与上一次接收的竞拍数据一致,则丢弃当前次接收的竞拍数据。
[0097]A5、根据A1-A4任一项所述的方法,所述竞拍数据包括:出价人数、出价时间、竞拍剩余时间和出价价格。
[0098]A6、根据A1-A5任一项所述的方法,所述代理服务器为Nginx服务器,所述预配置脚本为Lua脚本。
[0099]本发明还公开了:B7、一种实时获取竞拍数据的服务器,所述服务器用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,所述服务器包括:
[0100]请求发送模块,适于以短轮询方式向Redis服务器发送获取竞拍数据的请求,以供代理服务器运行内嵌的预配置脚本,从所述Redis服务器获取竞拍数据;
[0101]接收模块,适于接收所述Redis服务器响应所述获取竞拍数据的请求返回的竞拍数据。
[0102]B8、根据B7所述的服务器,其中,所述服务器还包括:设定模块,适于预先设定竞拍时间;
[0103]所述请求发送模块进一步适于:将竞拍剩余时间与预设时间段进行比较;
[0104]若竞拍剩余时间大于预设时间段,则以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求;
[0105]若竞拍剩余时间小于或等于所述预设时间段,则以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求;
[0106]其中,所述第一阈值大于所述第二阈值。
[0107]B9、根据B7或B8所述的服务器,其中,所述服务器还包括:竞拍数据发送模块,适于将接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示所述竞拍数据。
[0108]B10、根据B9所述的服务器,所述服务器还包括:比较模块,适于比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致;
[0109]若当前次接收的竞拍数据与上一次接收的竞拍数据不一致,所述竞拍数据发送模块进一步适于:将当前次接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示当前次接收的竞拍数据;
[0110]若当前次接收的竞拍数据与上一次接收的竞拍数据一致,则丢弃当前次接收的竞拍数据。
[0111]B11、根据B7-B10任一项所述的服务器,所述竞拍数据包括:出价人数、出价时间、竞拍剩余时间和出价价格。
[0112]本发明还公开了:C12、一种实时获取竞拍数据的系统,包括B7-B11任一项所述实时获取竞拍数据的服务器、Redis服务器、代理服务器和超文本预处理器,其中,所述实时获取竞拍数据的服务器跳过超文本预处理器通过代理服务器从所述Redis服务器中获取竞拍数据;
[0113]所述代理服务器,适于根据所述获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从所述Redis服务器获取竞拍数据。
[0114]C13、根据C12所述的系统,所述代理服务器为Nginx服务器,所述预配置脚本为Lua脚本。
[0115]C14、根据C12所述的系统,所述系统还包括:客户端,适于在出价页面中展示竞拍数据。
【主权项】
1.一种实时获取竞拍数据的方法,所述方法应用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,所述方法包括: 以短轮询方式向Redis服务器发送获取竞拍数据的请求; 根据所述获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从所述Redis服务器获取竞拍数据; 接收所述Redis服务器响应所述获取竞拍数据的请求返回的竞拍数据。2.根据权利要求1所述的方法,其中,所述方法还包括:预先设定竞拍时间; 所述以短轮询方式向Redis服务器发送获取竞拍数据的请求进一步包括: 将竞拍剩余时间与预设时间段进行比较; 若竞拍剩余时间大于预设时间段,则以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求; 若竞拍剩余时间小于或等于所述预设时间段,则以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求; 其中,所述第一阈值大于所述第二阈值。3.根据权利要求1或2所述的方法,其中,所述方法还包括:将接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示所述竞拍数据。4.根据权利要求3所述的方法,在将接收的竞拍数据发送给客户端之前所述方法还包括: 比较当前次接收的竞拍数据与上一次接收的竞拍数据是否一致; 若当前次接收的竞拍数据与上一次接收的竞拍数据不一致,所述将接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示所述竞拍数据进一步包括:将当前次接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示当前次接收的竞拍数据;若当前次接收的竞拍数据与上一次接收的竞拍数据一致,则丢弃当前次接收的竞拍数据。5.根据权利要求1-4任一项所述的方法,所述竞拍数据包括:出价人数、出价时间、竞拍剩余时间和出价价格。6.根据权利要求1-5任一项所述的方法,所述代理服务器为Nginx服务器,所述预配置脚本为Lua脚本。7.一种实时获取竞拍数据的服务器,所述服务器用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,所述服务器包括: 请求发送模块,适于以短轮询方式向Redis服务器发送获取竞拍数据的请求,以供代理服务器运行内嵌的预配置脚本,从所述Redis服务器获取竞拍数据; 接收模块,适于接收所述Redis服务器响应所述获取竞拍数据的请求返回的竞拍数据。8.根据权利要求7所述的服务器,其中,所述服务器还包括:设定模块,适于预先设定竞拍时间; 所述请求发送模块进一步适于:将竞拍剩余时间与预设时间段进行比较; 若竞拍剩余时间大于预设时间段,则以间隔第一阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求; 若竞拍剩余时间小于或等于所述预设时间段,则以间隔第二阈值的短轮询方式向Redis服务器发送获取竞拍数据的请求; 其中,所述第一阈值大于所述第二阈值。9.根据权利要求7或8所述的服务器,其中,所述服务器还包括:竞拍数据发送模块,适于将接收的竞拍数据发送给客户端,以供所述客户端在出价页面中展示所述竞拍数据。10.一种实时获取竞拍数据的系统,包括权利要求7-9任一项所述实时获取竞拍数据的服务器、Redis服务器、代理服务器和超文本预处理器,其中,所述实时获取竞拍数据的服务器跳过超文本预处理器通过代理服务器从所述Redis服务器中获取竞拍数据; 所述代理服务器,适于根据所述获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从所述Redis服务器获取竞拍数据。
【专利摘要】本发明公开了一种实时获取竞拍数据的方法、服务器及系统。其中,该方法应用于从存储有竞拍数据的Redis服务器中实时获取竞拍数据,该方法包括:以短轮询方式向Redis服务器发送获取竞拍数据的请求;根据获取竞拍数据的请求运行内嵌在代理服务器中的预配置脚本,以从Redis服务器获取竞拍数据;接收Redis服务器响应获取竞拍数据的请求返回的竞拍数据。本发明避免了获取数据的业务逻辑进入PHP的业务框架所导致的性能下降问题,提升了实时获取数据的性能。
【IPC分类】G06Q30/08
【公开号】CN104881808
【申请号】CN201510374000
【发明人】孙小俊, 石璞, 麦俊生, 赵宏威
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2015年9月2日
【申请日】2015年6月30日
转载请注明原文地址:https://www.famiwei.com/read-8138268.html

最新回复(0)