提供商品价格实时展示的方法和系统的制作方法

文档序号:8282457阅读:554来源:国知局
提供商品价格实时展示的方法和系统的制作方法
【技术领域】
[0001]本发明涉及电子商务行业网站商品价格的展示领域,更具体地涉及提供商品价格实时展示的方法和系统。
【背景技术】
[0002]近年来,随着电子商务的兴起,“价格战”已成为各大电商企业初期竞争的一种重要手段。价格作为商品的一种敏感属性备受用户关注。实时、准确的价格展示非常重要,也成为电子商务企业价格系统追求的主要目标之一。由于影响价格的因素(比如,电子商务企业业务人员对自营商品进行的价格调整、促销,开放平台第三方商家对其商品进行的价格调整、促销,促销自动过期,促销人工删除等)较多且时刻都有可能变化,因此对每时每刻的价格请求要保证完全实时性就要综合所有变化因素做计算,计算出这一时刻某个商品的价格来响应这一时刻的价格请求。随着互联网用户的增多,每天会有数十亿的价格请求,对于每一个价格请求都计算一次会对后端服务带来巨大的计算压力,以至于价格计算应用系统顶不住如此巨大的压力出现响应缓慢、服务不可用等问题。互联网发达的今天,价格展示延迟、价格展示服务不可用会对客户体验带来不小的负面影响。
[0003]与本发明相关的现有技术
[0004]互联网行业在解决提高响应速度、加速Web服务响应时间、减轻源站压力方面已经有了成熟的技术。⑶N(Content Delivery Network内容分发网络)技术可以使在不同地域的用户就近获取所需要的信息以解决以上所说的问题。CDN是通过在现有的Internet中增加一层新的CACHE (缓存)层,将网站的内容发布到最接近用户网络〃边缘〃的CACHE (缓存)节点,在有效期内(TTL)对于重复的访问无需从源站获取数据,用户可以就近取得所需内容,提高用户访问网站的响应速度,它从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因使得用户访问网站的响应缓慢的问题。图1是内容分发网络(CDN)的结构图。如图1所示,它从运营商和地域分别做了节点用以响应不同地区不同运营商网络的用户请求。
[0005]现有技术的技术方案
[0006]目前多家互联网企业在做类似价格展示系统的时候均采用了⑶N技术。图2示出了现有技术中的价格展示系统。如图2所示,中心机房用于部署价格计算应用服务,外围CDN节点在有效期内(TTL)缓存价格,失效后回到源站的价格计算应用服务获取价格继续缓存在外围的CDN节点的缓存中。
[0007]现有技术的缺点
[0008]任何一种技术或系统都有一定的适用场景。电子商务企业的价格系统由于其敏感性应该是个实时系统,CDN的CACHE(缓存)节点由于存在有效时间(TTL)的设置,不同的节点设置可能存在不一致,即便同一个节点由于有效时间(TTL)的存在必然出现短暂时间差异,好多节点处于减轻源站压力的考虑有效时间(TTL)还比较长,这在一定程度上牺牲了不少实时性。
[0009]因此,需要一种能够提供商品价格实时展示的方法和系统。

【发明内容】

[0010]根据本发明的一个实施例,提供了一种用于提供商品价格实时展示的系统,包括:实时单元,所述实时单元用于实时获取商品的价格数据,并且包括应用模块和数据存储模块;价格源站,所述价格源站与所述实时单元通信地连接并且用于响应于请求向所述实时单元提供所述价格数据;价格更新消息队列模块,所述价格更新消息队列模块与所述价格源站通信地连接,并且被配置成当所述实时单元获取所述价格数据时,所述价格源站将商品编号异步写入所述价格更新消息队列模块中;回写应用,所述回写应用用于从所述价格更新消息队列模块获取所述商品编号,并进一步获取最新价格,以进行回写并更新所述实时单元中的所述数据存储模块中的价格数据。
[0011]优选地,所述应用模块进一步被配置成:处理对商品的所述价格数据的请求,对所请求的商品进行编号,并从所述数据存储模块中获取所述商品当前的价格数据;如果所述当前的价格数据有效,则所述应用模块使用所述当前的价格数据并返回所述请求;以及如果所述当前的价格数据无效,则所述应用模块向所述价格源站发起对所述商品的最新价格的请求,并返回所获得的最新价格。
[0012]优选地,所述应用模块进一步被配置成:如果所述价格源站正常返回请求,则正常使用所述最新价格;以及如果所述价格源站无返回或超时,则所述实时单元返回所述当前的价格数据。
[0013]优选地,所述系统进一步包括:后端应用,所述后端应用用于提供对商品价格改变相关的业务操作推送到所述价格更新消息队列模块,以便得到价格的最新变化。
[0014]优选地,所述价格数据包括当前的价格和最近过期时间戳。
[0015]优选地,如果当前时间小于或等于所述最近过期时间戳,则所述当前的价格数据有效;并且如果当前时间大于所述最近过期时间戳,则所述当前的价格数据无效。
[0016]根据本发明的另一个实施例,提供了一种用于提供商品价格实时展示的方法,包括:实时单元的应用模块向价格源站请求实时获取商品的价格数据;所述价格源站响应于请求向所述实时单元提供所述价格数据,并且当所述实时单元获取所述价格数据时,所述价格源站将商品编号异步写入价格更新消息队列模块中;以及回写应用从所述价格更新消息队列模块获取所述商品编号,并进一步获取最新价格,以进行回写并更新所述实时单元中的数据存储模块中的价格数据。
[0017]优选地,所述方法进一步包括:所述实时单元的应用模块处理对商品的所述价格数据的请求,对所请求的商品进行编号,并从所述实时单元的数据存储模块中获取所述商品当前的价格数据;如果所述当前的价格数据有效,则所述应用模块使用所述当前的价格数据并返回所述请求;以及如果所述当前的价格数据无效,则所述应用模块向所述价格源站发起对所述商品的最新价格的请求,并返回所获得的最新价格。
[0018]优选地,如果所述价格源站正常返回请求,则所述应用模块正常使用所述最新价格;以及如果所述价格源站无返回或超时,则所述实时单元返回所述当前的价格数据。
[0019]优选地,所述方法,进一步包括:由后端应用将提供对商品价格改变相关的业务操作推送到所述价格更新消息队列模块,以便得到价格的最新变化。
[0020]优选地,所述价格数据包括当前的价格和最近过期时间戳。
[0021]优选地,如果当前时间小于或等于所述最近过期时间戳,则所述当前的价格数据有效;并且如果当前时间大于所述最近过期时间戳,则所述当前的价格数据无效。
[0022]根据本公开和附图的下面的详细描述,对本领域的普通技术人员来说其它的目的、特征、以及优点将是显而易见的。
【附图说明】
[0023]附图图示了本发明的实施例,并与说明书一起用于解释本发明的原理。在附图中:
[0024]图1是内容分发网络(CDN)的结构图。
[0025]图2示出了现有技术中的价格展示系统。
[0026]图3示出了根据本发明的实施例的实时价格系统的示意图。
[0027]图4是根据本发明的实施例的数据存储模块的数据更新方式的示意图。
[0028]图5示出了根据本发明的实施例的用于提供商品价格实时展示的方法的流程图。
[0029]图6示出了根据本发明的实施例的实时单元部分场景下压力测试的表现。
【具体实施方式】
[0030]根据本发明的实施例公开了一种提供商品价格实时展示的方法和系统。在以下描述中,为了说明的目的,阐述了多个具体细节以提供对本发明的实施例的全面理解。然而,对于本领域人员显而易见的是,本发明的实施例可以在没有这些具体细节的情况下实现。
[0031]总体构成
[0032]图3示出了根据本发明的实施例的实时价格系统300的示意图。
[0033]如图3所示,实时价格系统300由实时单元301、价格源站303、回写应用307、价格更新消息队列模块305、后端应用309等部分组成。
[0034]实时单元301是整个系统的关键组件,用于实时获取商品的价格数据。实时单元301包括应用模块311和数据存储模块313。所有的请求都会首先进入实时单元301的应用模块311进行处理。实时单元301的应用模块311对所有请求并行处理,在处理时对请求的商品进行编号并从数据存储模块313中获取该商品当前的价格数据。该价格数据例如可以包括当前的价格和最近过期时间戳。如果当前的价格数据有效/未过期,例如,当前时间小于或者等于最近过期时间戳,则使用该价格数据并返回价格请求;如果当前的价格数据无效/已过期,例如,当前时间大于最近过期时间戳,则应用模块311向价格源站303发起对最新价格的请求,并把向价格源站303请求的最新价格返回给请求;如果价格源站303正常返回请求,则正常使用所述最新价格,如果价格源站303无返回或超时,则实时单元301返回旧数据(即,过期数据)。实时单元301的数据存储模块313全量存储价格数据,存储的价格数据由后端回写应用307写入进来,所写入的数据均是当时的最新数据,以供实时单元301的应用模块311使用。
[0035]价格源站303与实时单元301通信地连接并且用于提供价格计算服务。价格源站303主要供实时单元301获取最新价格,是整个系统的基础组件。对于实时单元301获取最新价格的商品编号,价格源站303会将该商品编号异步写入价格更新消息队列模块305里,使得回写应用307从消息队列模块305中获取包括该商品编号的消息,并且进一步获取最新价格,以便进行回写和更新实时单元301的数据存储模块313中的价格数据,从而尽量减少实时单元301因为价格数据过期再次回源请求价格源站303。
[0036]回写应用307从价格更新消息队列模块305里获取价格更新任务,计算当时的价格数据(价格及最近过期时间戳)并更新到实时单元301的数据存储
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1