页面展示方法和系统的制作方法_2

文档序号:8339667阅读:来源:国知局
领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是本发明一个实施例的页面展示方法的过程的示意性流程图。
[0028]图2是本发明另一个实施例的页面展示方法的过程的示意性流程图。
[0029]图3是本发明一个实施例的页面展示系统的示意性结构框图。
[0030]图4是本发明一个实施例的页面展示系统的示意性结构框图。
【具体实施方式】
[0031]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0032]图1是本发明一个实施例的页面展示方法的过程的示意性流程图。图1的方法可以由页面展示系统执行,包括:
[0033]步骤101,获取存储的元数据,其中元数据表示用于描述商品信息的数据。
[0034]商品可以是任意类型的商品,本发明不做限制,例如,可以是机票、图书、食物或服装等有形产品,还可以是服务类型(如广告、交易或支付等无形产品)。另外商品涉及的业务类型也不做限制,如可以是闪购、抢购或秒杀等业务。元数据还可以称为中介数据或中继数据,可以是指从商品信息的源系统获取到的相关信息,可以是商品信息的属性,如衣服颜色、尺寸,品牌,商家或历史搜索数据等。
[0035]步骤102,根据元数据生成用于页面展示的模板数据。
[0036]模板数据可以是展示给用户的经过处理的颜色尺码等(即事先按照页面展示需求进行的预先生成页面需要的HTML元素)、页面风格或商品类别等。
[0037]步骤103,根据模板数据选择相应的模板渲染页面,向用户展示页面。
[0038]应理解,上述这些例子仅仅是示例性的,为了便于理解本发明实施例,而非要限制本发明的保护范围。
[0039]在本发明实施例中,通过存储的元数据来生成模板数据,根据模板数据选择相应的模板渲染页面并展示给用户,这样无需依赖商品信息的系统,并不受这些系统的可用性问题的困扰,因而能够快速地将页面展示给用户,大大提升了用户体验,并实现千人千面的需求。
[0040]可选地,作为一个实施例,在步骤101之前,图1的方法可以根据商品信息生成元数据,并存储元数据。例如,当获知商品新增时,从新增商品的源系统中获取该新增商品的信息,生成相应的元数据并存储。
[0041]可选地,作为另一个实施例,当获知某个商品信息已修改时,可以根据修改后的商品信息修改已存储的相应的元数据;或者当获知某个商品信息已删除时,删除已经存储的相应的元数据。
[0042]具体地,可以使用并行化技术从商品信息的源系统获取商品信息,以减少商品信息变更(变更包括修改、新增和/或删除)延迟。将获取的商品信息按照相应的业务逻辑进行筛选加工得到元数据,并对元数据只进行最小化的处理,以应对页面展示的数据的频繁变化。
[0043]通过上述方案,当商品新增或修改时,无需依赖于源系统的扩容性,也不必像采用静态化页面生成技术那样重新生成页面,从而能够快速对存储的元数据进行更新,具有更好的扩容性。
[0044]可选地,作为另一个实施例,在步骤101中,可以在代理服务器(如Nginx,Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器)中内嵌Java的Lua脚本语言,采用Lua脚本语言获取存储的元数据,当然也可以采用其他脚本语言;数据库集群在分片上可以使用Twitter的Twemproxy代理,以简化数据分片逻辑且有效减少JIMDB/Redis的连接数。
[0045]可选地,作为另一个实施例,在步骤102中,通过JavaScript对象符号(JSON)解析元数据获得模板数据。JMDB在数据获取速度上的性能非常好,例如,在上亿级键值对且大小在1KB以下,单台千兆网卡服务器在30万次/秒的访问量的情况下,数据获取的平均时间在2毫秒左右。另外,Nginx+Lua组合在JSON工c具解析元数据并渲染页面时,在页面大小为30-80KB左右且单台千兆网卡服务器在15000-18000次/秒的请求的情况下,渲染的平均时间在I毫秒左右。因此,能够进一步快速地将页面展示给用户,大大提升用户体验。另外,采用Java语言来实现,便于扩展。
[0046]应理解,上述实施例只是本发明的优选方案且例子中的数据仅仅是示例性的,而非要限制本发明的保护范围。
[0047]可选地,作为另一个实施例,在步骤101中,可以基于消息队列获取存储的元数据。例如,在跨机房部署的情况下,消息队列的队列池与机房相对应,从相应的队列池中获取元数据;或者,在不同业务需要不同的页面结构或模板数据时,队列池与业务类型对应;或者,设置商品信息的优先级,在高并发的情况下,优先获取优先级高的商品信息的元数据;等等。这样,更好地应对业务发展需要。
[0048]可选地,作为另一个实施例,元数据可以采用键-值数据库(如JMDB键值对持久化数据库,JIMDB 是组合了 Redis 和 LMDB (Lighting Memory-Mapped-Database,轻量级内存映射数据库)持久化存储引擎)进行存储,较为持久的数据可以存储到SSD(Solid StateDisk,固态硬盘)上,本地缓存可以使用Redis。元数据的存储可以采用数据库集群分片方式且数据库集群中设置有主数据库服务器和至少一台从数据库服务器,其中至少一台从数据库服务器中备份主数据库服务器中存储的元数据,即数据库(如上述JMDB)提供主从复制功能。采用Redis+LMDB能够实现持久化存储,不会因为服务器断电而造成数据丢失,且通过主从复制功能能够有效地解决容灾和扩容问题。
[0049]另外,还可以对存储的元数据进行合并和重排,一方面有效利用存储空间,另一方面能够减少元数据的重复变更。
[0050]下面结合图2来描述本发明实施例。在图2中,示意性地描绘了页面展示系统,该页面展示系统包括数据异构子系统21,元数据存储集群22,模板数据子系统23,模板数据存储集群24和动态页面展示子系统25 ;图2还示出了商品信息的源系统26。应注意,图2中描绘的元数据,异构逻辑和模板数据的数目,以及商品信息等仅仅是示例性的。
[0051]步骤201,数据异构子系统21从商品信息的源系统26中获取商品信息。
[0052]例如,数据异构子系统21获知新增了某个商品(假设为服装或鞋)或者获知某个商品的信息已修改,使用并行化技术从商品信息系统26获取商品信息(如品牌信息、套装信息、商家信息和颜色尺寸等),以减少商品信息变更延迟。
[0053]步骤202,数据异构子系统21根据步骤201中获取的商品信息生成元数据。
[0054]具体地,将获取的商品信息按照相应的异构逻辑(如业务逻辑)进
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1