数据获取方法和装置制造方法

文档序号:6632035阅读:162来源:国知局
数据获取方法和装置制造方法
【专利摘要】本公开是关于一种数据获取方法和装置。所述方法包括:从用户发送的数据请求中解析出用户标识;获取所述用户标识对应的数据版本;根据所述数据版本获取所述数据请求所请求的数据;将所述数据返回给用户。本公开在实现灰度发布的过程中,通过将数据版本获取的逻辑过程与数据版本的存储分离,可以指定任意发布对象,可用性强。
【专利说明】数据获取方法和装置

【技术领域】
[0001]本公开涉及通信【技术领域】,尤其涉及一种数据获取方法和装置。

【背景技术】
[0002]在互联网产品发布新版本时,通常会采用灰度发布的方式,让一部分用户继续使用老版本,一部分用户开始使用新版本。针对开始使用新版本的用户,可以在其获取数据时,通过将新版本的数据返回给用户以实现新版本的发布。如果这部分用户对发布的新版本没有什么反对意见,那么可以将所有用户都迁移到新版本上。灰度发布可以保证整体系统的稳定,能够在早期就发现、解决问题。
[0003]要实现灰度发布,相关技术中可以在代理服务器的Nginx配置文件中进行配置,根据用户IP地址的权重或IP哈希值来区分使用老版本和新版本的用户。然而,这样的实现方式只能将用户进行大致分类,无法针对特定的用户发布新版本,可用性较差。
[0004]相关技术还可以利用Lua作为Nginx插件,在Lua中进行配置,比如:在Lua中配置需要使用新版本的用户IP地址。然而,这样的实现方案需要事先确定好配置,发布的对象较为单一、固定,当需要更改发布对象时,需要修改配置,可用性也较差。同时,如果配置出现故障,将直接导致新版本发布失败。


【发明内容】

[0005]为克服相关技术中存在的问题,本公开提供一种数据获取方法和装置,以解决灰度发布可用性差的问题。
[0006]根据本公开实施例的第一方面,提供一种数据获取方法,包括:
[0007]从用户发送的数据请求中解析出用户标识;
[0008]获取所述用户标识对应的数据版本;
[0009]根据所述数据版本获取所述数据请求所请求的数据;
[0010]将所述数据返回给用户。
[0011]可选的,所述获取所述用户标识对应的数据版本包括:
[0012]判断内存数据库中是否保存有所述用户标识对应的数据版本;
[0013]如果内存数据库中保存有所述用户标识对应的数据版本,则在所述内存数据库中获取所述用户标识对应的数据版本。
[0014]可选的,还包括:
[0015]如果内存数据库中没有保存所述用户标识对应的数据版本,则获取默认数据版本以作为所述用户标识对应的数据版本。
[0016]可选的,所述根据所述数据版本获取所述数据请求所请求的数据包括:
[0017]判断是否存在支持所述数据版本的业务服务器;
[0018]如果存在支持所述数据版本的业务服务器,则从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据。
[0019]可选的,还包括:
[0020]如果不存在支持所述数据版本的业务服务器,则从支持默认数据版本的业务服务器上获取所述数据请求所请求的数据。
[0021]可选的,所述从用户发送的数据请求中解析出用户标识包括:
[0022]从所述数据请求中解析出用户的IP地址或者cookie作为所述用户标识。
[0023]根据本公开实施例的第二方面,提供一种数据获取装置,包括:
[0024]标识解析单元,用于从用户发送的数据请求中解析出用户标识;
[0025]版本获取单元,用于获取所述用户标识对应的数据版本;
[0026]数据获取单元,用于根据所述数据版本获取所述数据请求所请求的数据;
[0027]数据返回单元,用于将所述数据返回给用户。
[0028]可选的,所述版本获取单元包括:
[0029]第一判断子单元,用于判断内存数据库中是否保存有所述用户标识对应的数据版本;
[0030]第一获取子单元,用于在内存数据库中保存有所述用户标识对应的数据版本时,在所述内存数据库中获取所述用户标识对应的数据版本。
[0031]可选的,所述版本获取单元还包括:
[0032]第二获取子单元,用于在内存数据库中没有保存所述用户标识对应的数据版本时,获取默认的数据版本以作为所述用户标识对应的数据版本。
[0033]可选的,所述数据获取单元包括:
[0034]第二判断子单元,用于判断是否存在支持所述数据版本的业务服务器;
[0035]第三获取子单元,用于在存在支持所述数据版本的业务服务器时,则从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据。
[0036]可选的,所述数据获取单元还包括:
[0037]第四获取子单元,用于在不存在支持所述数据版本的业务服务器时,从支持默认的数据版本的业务服务器上获取所述数据请求所请求的数据。
[0038]可选的,所述标识解析单元包括:
[0039]标识解析子单元,用于从所述数据请求中解析出用户的IP地址或者cookie作为所述用户标识。
[0040]根据本公开实施例的第三方面,提供一种数据获取装置,包括:
[0041]处理器;
[0042]用于存储处理器可执行指令的存储器;
[0043]其中,所述处理器被配置为:
[0044]从用户发送的数据请求中解析出用户标识;
[0045]获取所述用户标识对应的数据版本;
[0046]根据所述数据版本获取所述数据请求所请求的数据;
[0047]将所述数据返回给用户。
[0048]本公开的实施例提供的技术方案可以包括以下有益效果:
[0049]本公开在接收到用户发送的数据请求时,根据从所述数据请求中解析出的用户标识以获取对应的数据版本,进而可以为用户获取该数据版本的数据,本公开在实现灰度发布的过程中,将数据版本获取的逻辑过程与数据版本的存储分离,可以指定任意发布对象,可用性强。
[0050]本公开可以将用户标识和数据版本的对应关系存储在内存数据库中,能够实现持久化存储,更加安全。
[0051]本公开可以从内存数据库中获取用户标识对应的数据版本,读取速度快,不会影响用户数据请求的响应时间。同时,在本实施例中,由于数据版本获取的逻辑过程与数据版本的存储分离,当开发人员想要调整新的数据版本的发布对象时,开发人员仅需更改内存数据库中用户标识与数据版本的对应关系即可,操作方便。
[0052]本公开在获取到用户标识对应的数据版本后,判断是否存在支持所述数据版本的业务服务器,并在不存在支持所述数据版本的业务服务器时,可以从支持默认数据版本的业务服务器获取数据,以避免没有及时更新内存数据库而导致的数据获取失败。
[0053]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

【专利附图】

【附图说明】
[0054]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0055]图1是根据一示例性实施例示出的一种数据获取方法的流程图。
[0056]图2是根据一示例性实施例示出的一种获取用户标识对应的数据版本的流程图。
[0057]图3是根据一示例性实施例示出的一种根据数据版本获取数据请求所请求的数据的流程图。
[0058]图4是根据一示例性实施例示出的一种数据获取应用场景示意图。
[0059]图5是根据一示例性实施例示出的一种数据获取装置框图。
[0060]图6是根据一示例性实施例示出的另一种数据获取装置框图。
[0061]图7是根据一示例性实施例示出的另一种数据获取装置框图。
[0062]图8是根据一示例性实施例示出的另一种数据获取装置框图。
[0063]图9是根据一示例性实施例示出的另一种数据获取装置框图。
[0064]图10是根据一示例性实施例示出的另一种数据获取装置框图。
[0065]图11是根据一示例性实施例示出的用于一种数据获取装置的一结构示意图。

【具体实施方式】
[0066]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0067]图1是根据一示例性实施例示出的一种数据获取方法的流程图。
[0068]如图1所示,所述数据获取方法可以用在代理服务器中,包括以下步骤:
[0069]在步骤SlOl中,从用户发送的数据请求中解析出用户标识。
[0070]在本实施例中,用户在访问网页或者使用某应用软件时,用户使用的终端会发送数据请求给代理服务器,代理服务器可以代替用户向网站或软件开发商提供的业务服务器获取用户请求的数据。
[0071]代理服务器在接收到用户发送的数据请求时,会从所述数据请求中解析出用户标识。在本步骤中,所述从用户发送的数据请求中解析出用户标识可以包括:从所述数据请求中解析出用户的IP地址或者cookie作为所述用户标识。其中,cookie是指某些网站或应用软件为了辨别用户身份而存储在用户使用的终端上的数据,用户cookie和用户的IP地址一样,都可以用来标识用户的身份。举例来说,当代理服务器接收到用户针对某网页而发送的数据请求时,可以根据管理人员或者开发人员的设置,从所述数据请求中解析出源IP地址,即用户的IP地址,或者是从所述数据请求中解析其携带的cookie,以作为所述用户标识。
[0072]在步骤S102中,获取所述用户标识对应的数据版本。
[0073]在本实施例中,当有新版本发布时,使用灰度发布的方式,可以选择一部分用户作为所述新版本的发布对象,并将这部分用户的用户标识与数据版本的对应关系存储在代理服务器上。举例来说,某软件发布2.0版本,开发人员想要对IP地址192.168.0.15的用户发布该新版本,则需要将该IP地址192.168.0.15与数据版本2.0的对应关系存储在服务器中。
[0074]在上述过程中,可以将用户标识与数据版本的对应关系存储在代理服务器的内存数据库中,比如:将用户标识与数据版本的对应关系以key/value的形式存储在redis存储系统中。其中,key是所述用户标识,value是所述数据版本。在本实施例中,将用户标识和数据版本的对应关系存储在内存数据库中,能够实现持久化存储,更加安全。
[0075]请参考图2,在本步骤中,所述获取所述用户标识对应的数据版本可以包括以下步骤:
[0076]在步骤S201中,判断内存数据库中是否保存有所述用户标识对应的数据版本。如果内存数据库中保存有所述用户标识对应的数据版本,则执行步骤S202。如果内存数据库中没有保存所述用户标识对应的数据版本,则执行步骤S203。
[0077]在本步骤中,如果内存数据库中保存有所述用户标识对应的数据版本,则通常说明要向该用户标识对应的用户发布新版本,执行步骤S202。如果内存数据库中没有保存所述用户标识对应的数据版本,则通常说明针对该用户标识对应的用户,仍让其使用老版本,执行步骤S203。
[0078]仍以某软件发布新版本2.0,开发人员想要对IP地址为192.168.0.15的用户发布该新版本为例,假设开发人员将所述用户标识和所述数据版本的对应关系存储在redis存储系统中,而在步骤SlOl中解析出的用户标识为IP地址:192.168.0.15,则在本步骤中,经判断得知,redis缓存中存在用户标识为192.168.0.15的key值,执行步骤S202。如果在步骤SlOl中解析出的用户标识为IP地址:192.168.0.14,则在本步骤中,经判断得知,所述redis缓存中不存在用户标识为192.168.0.14的key值,则执行步骤S203。
[0079]在步骤S202中,在所述内存数据库中获取所述用户标识对应的数据版本。
[0080]基于前述步骤S201的判断结果,在所述redis缓存中获取key值192.168.0.15对应的value值2.0,即获取用户标识192.168.0.15对应的数据版本2.0。
[0081]在步骤S203中,获取默认数据版本以作为所述用户标识对应的数据版本。
[0082]基于前述步骤S201的判断结果,内存数据库中没有保存用户标识192.168.0.14的key值,则获取默认数据版本以作为该用户标识对应的数据版本,所述默认数据版本通常为老版本,比如:上述软件的版本1.0。
[0083]在本实施例中,从内存数据库中获取用户标识对应的数据版本,读取速度快,不会影响用户数据请求的响应时间。同时,在本实施例中,由于数据版本获取的逻辑过程与数据版本的存储分离,当开发人员想要调整新的数据版本的发布对象时,开发人员仅需更改内存数据库中用户标识与数据版本的对应关系即可,可用性强,操作方便。
[0084]需要说明的是,本实施例可以支持多个数据版本同时发布,比如:某软件老的数据版本为1.0,开发人员同时发布新的数据版本2.0和2.1,其中,针对用户A发布2.0版本,针对用户B发布2.1版本,其他用户仍然使用1.0版本,则开发人员可以将用户A的用户标识与数据版本2.0的对应关系存储在内存数据库中,将用户B的用户标识与数据版本2.1的对应关系也存储在内存数据库中,以便在接收到用户A或用户B的数据请求时,可以获取到各自对应的数据版本。
[0085]在步骤S103中,根据所述数据版本获取所述数据请求所请求的数据。
[0086]基于前述步骤S102,在获取到所述用户标识对应的数据版本后,获取该数据版本的用户请求的数据。通常来讲,网站或软件开发商会提供多台业务服务器为用户提供服务,当有新的数据版本发布时,可以升级其中某些业务服务器,以使该业务服务器能够支持新的数据版本的数据,同时,对于其他的业务服务器,仍为老版本数据。在本步骤中,根据所述用户标识对应的数据版本,可以从支持该数据版本的业务服务器上获取用户请求的数据,也可以在本机中缓存有该数据版本的所述数据时,从本机的缓存中获取所述数据,本公开对此不作限制。
[0087]请参考图3,所述根据所述数据版本获取所述数据请求所请求的数据可以包括以下步骤:
[0088]在步骤S301中,判断是否存在支持所述数据版本的业务服务器,如果存在支持所述数据版本的业务服务器,则执行步骤S302。如果不存在支持所述数据版本的业务服务器,则执行步骤S303。
[0089]在本实施例中,在获取到用户标识对应的数据版本后,先判断是否存在支持所述数据版本的业务服务器,如果存在支持所述数据版本的业务服务器,则执行步骤S302。如果不存在支持所述数据版本的业务服务器,比如:由于开发人员没有及时更新存储在代理服务器中的所述用户标识和所述数据版本的对应关系,那么就可能会导致不存在支持该数据版本的业务服务器,执行步骤S303。
[0090]在步骤S302中,从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据。
[0091]在本步骤中,可以从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据,即获取用户请求的数据。在这个过程中,代理服务器可以根据负载均衡原则选择一台支持所述数据版本的业务服务器以获取用户请求的数据。当然,在实现时,本领域技术人员也可以参照相关技术,以轮询或指定的方式选择支持所述数据版本的业务服务器以获取用户请求的数据,本公开对此不作限制。
[0092]在步骤S303中,从支持默认数据版本的业务服务器上获取所述数据请求所请求的数据。
[0093]基于前述步骤S301的判断结果,在不存在支持所述数据版本的业务服务器时,可以从支持默认数据版本的业务服务器上获取所述数据请求所请求的数据,即,在不存在支持所述数据版本的业务服务器时,获取老版本的数据。
[0094]举例来说,某软件向IP地址为192.168.0.15的用户发布新版本2.0,开发人员已经预先在代理服务器上存储用户标识192.168.0.15与数据版本2.0的对应关系。假设,该数据版本2.0由于存在某些问题,已被停用,开发人员将原来支持2.0版本的业务服务器中的数据更新为老的数据版本1.0,但还没有来得及更新之前存储的用户标识192.168.0.15与数据版本2.0的对应关系,当在步骤S102中获取到用户标识192.168.0.15对应的数据版本2.0后,在步骤S301中判断不存在支持数据版本2.0的业务服务器,则从支持默认数据版本的业务服务器中获取数据,比如:从支持老的数据版本1.0的业务服务器中获取数据。
[0095]在本实施例中,在获取到用户标识对应的数据版本后,判断是否存在支持所述数据版本的业务服务器,并在不存在支持所述数据版本的业务服务器时,从支持默认数据版本的业务服务器获取数据,以避免不能及时更新内存数据库而导致数据获取失败。
[0096]在步骤S104中,将所述数据返回给用户。
[0097]在本步骤中,将用户标识对应的数据版本的数据返回给用户,以实现灰度发布。
[0098]需要说明的是,在本实施例中,可以使用Lua作为Nginx插件,在Lua中配置用户标识的解析、数据版本的获取过程,使用Lua进行配置,不会影响Nginx的性能。
[0099]由以上描述可以看出,本公开在接收到用户发送的数据请求时,根据从所述数据请求中解析出的用户标识以获取对应的数据版本,进而可以为用户获取该数据版本的数据,本公开在实现灰度发布的过程中,将数据版本获取的逻辑过程与数据版本的存储分离,可以指定任意发布对象,可用性强。
[0100]下面结合具体的实施例来描述本公开的实现过程。
[0101]请参考图4,假设某软件开发商使用4台业务服务器为用户提供服务,其中,业务服务器41和业务服务器42支持数据版本1.0,业务服务器43和业务服务器44支持新的数据版本2.0。开发人员欲将数据版本2.0发布给用户A试用,于是在代理服务器45的内存数据库中存储用户A的IP地址192.168.0.15与数据版本2.0的对应关系,并设置默认数据版本1.0。
[0102]当代理服务器45接收到某一数据请求时,如果从该数据请求中解析出的用户的IP地址为192.168.0.15,即从该数据请求中解析出的用户标识为192.168.0.15,则可以在内存数据库中获取所述用户标识192.168.0.15对应的数据版本2.0,然后代理服务器45根据数据版本2.0,可以从业务服务器43或业务服务器44中获取所述数据请求所请求的数据并返回给用户,以实现将数据版本2.0下发给用户A。
[0103]如果从该数据请求中解析出的用户的IP地址为192.168.0.14,即从该数据请求中解析出的用户标识为192.168.0.14,由于所述内存数据库中没有保存用户标识192.168.0.14对应的数据版本,所以获取默认数据版本1.0以作为所述用户标识192.168.0.14对应的数据版本,然后代理服务器45根据数据版本1.0,可以从业务服务器41或业务服务器42中获取所述数据请求所请求的数据并返回给用户,以实现针对IP地址为192.168.0.14的用户,仍向其下发老的数据版本。
[0104]在图4所示的应用场景中,代理服务器45可以采用前述方法实施例描述的方法来实现上述用户进行数据获取的过程,在此不再赘述。
[0105]与前述数据获取方法实施例相对应,本公开还提供了数据获取装置的实施例。
[0106]图5是根据一示例性实施例示出的一种数据获取装置框图。
[0107]请参考图5,该数据获取装置500包括:标识解析单元501、版本获取单元502、数据获取单元503以及数据返回单元504。
[0108]其中,该标识解析单元501被配置为:从用户发送的数据请求中解析出用户标识。
[0109]该版本获取单元502被配置为:获取所述用户标识对应的数据版本。
[0110]该数据获取单元503被配置为:根据所述数据版本获取所述数据请求所请求的数据。
[0111]该数据返回单元504被配置为:将所述数据返回给用户。
[0112]上述实施例中,在接收到用户发送的数据请求时,根据从所述数据请求中解析出的用户标识以获取对应的数据版本,进而可以为用户获取该数据版本的数据,本公开在实现灰度发布的过程中,将数据版本获取的逻辑过程与数据版本的存储分离,可以指定任意发布对象,可用性强。
[0113]请参考图6,图6是根据一示例性实施例示出的另一种数据获取装置框图,该实施例在前述图5所示实施例的基础上,所述版本获取单元502可以包括:第一判断子单元5021以及第一获取子单元5022。
[0114]其中,该第一判断子单元5021被配置为:判断内存数据库中是否保存有所述用户标识对应的数据版本。
[0115]该第一获取子单元5022被配置为:在内存数据库中保存有所述用户标识对应的数据版本时,在所述内存数据库中获取所述用户标识对应的数据版本。
[0116]上述实施例中,可以从内存数据库中获取用户标识对应的数据版本,读取速度快,不会影响用户数据请求的响应时间。同时,在本实施例中,由于数据版本获取的逻辑过程与数据版本的存储分离,当开发人员想要调整新的数据版本的发布对象时,开发人员仅需更改内存数据库中用户标识与数据版本的对应关系即可,操作方便。
[0117]请参考图7,图7是根据一示例性实施例示出的另一种数据获取装置框图,该实施例在前述图6所示实施例的基础上,所述版本获取单元502还可以包括:第二获取子单元5023。
[0118]该第二获取子单元5023被配置为:在内存数据库中没有保存所述用户标识对应的数据版本时,获取默认的数据版本以作为所述用户标识对应的数据版本。
[0119]上述实施例中,可以将用户标识和数据版本的对应关系存储在内存数据库中,能够实现持久化存储,更加安全。
[0120]请参考图8,图8是根据一示例性实施例示出的另一种数据获取装置框图,该实施例在前述图5所示实施例的基础上,所述数据获取单元503可以包括:第二判断子单元5031、第三获取子单元5032。
[0121]其中,该第二判断子单元5031被配置:判断是否存在支持所述数据版本的业务服务器。
[0122]该第三获取子单元5032被配置为:在存在支持所述数据版本的业务服务器时,则从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据。
[0123]上述实施例中,在获取到用户标识对应的数据版本后,判断是否存在支持所述数据版本的业务服务器,并在不存在支持所述数据版本的业务服务器时,可以从支持默认数据版本的业务服务器获取数据,以避免没有及时更新内存数据库而导致的数据获取失败。
[0124]需要说明的是,上述图8所示的装置实施例示出的第二判断子单元5031和第三获取子单元5032的结构也可以包括在前述图6和图7所示的装置实施例中,本公开对此不作限制。
[0125]请参考图9,图9是根据一示例性实施例示出的另一种数据获取装置框图,该实施例在前述图8所示实施例的基础上,所述数据获取单元503还可以包括:第四获取子单元5033。
[0126]该第四获取子单元5033被配置为:在不存在支持所述数据版本的业务服务器时,从支持默认的数据版本的业务服务器上获取所述数据请求所请求的数据。
[0127]请参考图10,图10是根据一示例性实施例示出的另一种数据获取装置框图,该实施例在前述图5所示实施例的基础上,所述标识解析单元501可以包括:标识解析子单元5011。
[0128]该标识解析子单元5011被配置为:从所述数据请求中解析出用户的IP地址或者cookie作为所述用户标识。
[0129]需要说明的是,上述图10所示的装置实施例示出的标识解析子单元5011的结构也可以包括在前述图6至图9所示的装置实施例中,本公开对此不作限制。
[0130]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0131]相应的,本公开还提供了一种数据获取装置,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:从用户发送的数据请求中解析出用户标识;获取所述用户标识对应的数据版本;根据所述数据版本获取所述数据请求所请求的数据;将所述数据返回给用户。
[0132]相应的,本公开还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行,使得终端能够执行一种数据获取方法,所述方法包括:从用户发送的数据请求中解析出用户标识;获取所述用户标识对应的数据版本;根据所述数据版本获取所述数据请求所请求的数据;将所述数据返回给用户。
[0133]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0134]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0135]图11是根据一示例性实施例示出的一种用于数据获取的装置1100的框图。例如,装置1100可以被提供为一服务器。参照图11,装置1100包括处理组件1122,其进一步包括一个或多个处理器,以及由存储器1132所代表的存储器资源,用于存储可由处理部件1122的执行的指令,例如应用程序。存储器1132中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1122被配置为执行指令,以执行上述方法。
[0136]装置1100还可以包括一个电源组件1126被配置为执行装置1100的电源管理,一个有线或无线网络接口 1150被配置为将装置1100连接到网络,和一个输入输出(I/O)接口 1158。装置1100可以操作基于存储在存储器1132的操作系统,例如Windows ServerTM,Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM 或类似。
[0137]本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本【技术领域】中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0138]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【权利要求】
1.一种数据获取方法,其特征在于,包括: 从用户发送的数据请求中解析出用户标识; 获取所述用户标识对应的数据版本; 根据所述数据版本获取所述数据请求所请求的数据; 将所述数据返回给用户。
2.根据权利要求1所述的数据获取方法,其特征在于, 所述获取所述用户标识对应的数据版本包括: 判断内存数据库中是否保存有所述用户标识对应的数据版本; 如果内存数据库中保存有所述用户标识对应的数据版本,则在所述内存数据库中获取所述用户标识对应的数据版本。
3.根据权利要求2所述的数据获取方法,其特征在于,还包括: 如果内存数据库中没有保存所述用户标识对应的数据版本,则获取默认数据版本以作为所述用户标识对应的数据版本。
4.根据权利要求1所述的数据获取方法,其特征在于, 所述根据所述数据版本获取所述数据请求所请求的数据包括: 判断是否存在支持所述数据版本的业务服务器; 如果存在支持所述数据版本的业务服务器,则从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据。
5.根据权利要求4所述的数据获取方法,其特征在于,还包括: 如果不存在支持所述数据版本的业务服务器,则从支持默认数据版本的业务服务器上获取所述数据请求所请求的数据。
6.根据权利要求1所述的数据获取方法,其特征在于, 所述从用户发送的数据请求中解析出用户标识包括: 从所述数据请求中解析出用户的IP地址或者cookie作为所述用户标识。
7.一种数据获取装置,其特征在于,包括: 标识解析单元,用于从用户发送的数据请求中解析出用户标识; 版本获取单元,用于获取所述用户标识对应的数据版本; 数据获取单元,用于根据所述数据版本获取所述数据请求所请求的数据; 数据返回单元,用于将所述数据返回给用户。
8.根据权利要求7所述的数据获取装置,其特征在于,所述版本获取单元包括: 第一判断子单元,用于判断内存数据库中是否保存有所述用户标识对应的数据版本;第一获取子单元,用于在内存数据库中保存有所述用户标识对应的数据版本时,在所述内存数据库中获取所述用户标识对应的数据版本。
9.根据权利要求8所述的数据获取装置,其特征在于,所述版本获取单元还包括: 第二获取子单元,用于在内存数据库中没有保存所述用户标识对应的数据版本时,获取默认的数据版本以作为所述用户标识对应的数据版本。
10.根据权利要求7所述的数据获取装置,其特征在于,所述数据获取单元包括: 第二判断子单元,用于判断是否存在支持所述数据版本的业务服务器; 第三获取子单元,用于在存在支持所述数据版本的业务服务器时,则从支持所述数据版本的业务服务器上获取所述数据请求所请求的数据。
11.根据权利要求10所述的数据获取装置,其特征在于,所述数据获取单元还包括: 第四获取子单元,用于在不存在支持所述数据版本的业务服务器时,从支持默认的数据版本的业务服务器上获取所述数据请求所请求的数据。
12.根据权利要求7所述的数据获取装置,其特征在于,所述标识解析单元包括: 标识解析子单元,用于从所述数据请求中解析出用户的IP地址或者cookie作为所述用户标识。
13.一种数据获取装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 从用户发送的数据请求中解析出用户标识; 获取所述用户标识对应的数据版本; 根据所述数据版本获取所述数据请求所请求的数据; 将所述数据返回给用户。
【文档编号】G06F17/30GK104317914SQ201410589547
【公开日】2015年1月28日 申请日期:2014年10月28日 优先权日:2014年10月28日
【发明者】张旭华, 谭国斌, 马哲 申请人:小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1