数据的获取方法和装置的制作方法

文档序号:6358139阅读:152来源:国知局
专利名称:数据的获取方法和装置的制作方法
技术领域
本发明涉及领域通信技术领域,特别涉及一种数据的获取方法和装置。
背景技术
在微博类型的系统 中,随着用户数量的不断增多,以及每个用户的发布的信息数量的不断增大,微博系统产生的数据总量开始急剧膨胀,从而形成海量的数据。当微博用户在使用微博系统时,其可通过微博系统提供的方式,如搜索,在微博系统存储的海量数据中获取其需要的数据。如何将这些海量数据快速呈现给海量的用户,是微博后台技术面临的一个重大难题。现有技术方案,当微博信息获取系统接收到用户的数据获取请求后,根据用户设置的获取数据条件,将那些符合用户要求的数据逐一的挑选出来,呈现给用户。例如微博用户A有三个关注人,分别为C、D和F,当微博用户B请求查看微博用户A的关注人信息,则微博信息获取系统首先与微博信息存储系统建立链接,获取C的信息,在接收到返回C的信息后;再与微博信息存储系统建立链接,获取D的信息,在接收到返回D的信息后;再与微博的信息存储服务器建立链接,获取F的信息。待C、D和F的信息全部逐一获取完毕后,将C、D和F的信息返回给用户B。发明人在实现本发明的过程中发现现有技术存在以下缺陷现有的微博系统,处理用户的数据获取请求时,逐一对需要获取的数据进行获取,待上一数据获取结束后,才能进行获取下一数据的操作,从而增加了获取总体数据的等待时延。

发明内容
为了缩短用户获取数据的等待时延,本发明实施例提供了一种数据的获取方法,所述方法包括接收至少一个第一数据获取请求,所述第一数据获取请求中携带数据选取条件;根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识;根据所述数据标识,并行获取所有与所述数据标识对应的数据,返回所述对应的数据。所述根据所述数据标识,并行获取所有与所述数据标识对应的数据,具体包括根据所述数据标识和预设的报文格式,生成至少一个第二数据获取请求,所述第二数据获取请求用于请求与所述数据标识对应的数据,所述第二数据获取请求中携带一个以上所述数据标识,所述数据标识的总字节数小于或等于所述报文格式所能容纳的最大字节数;并行向数据存储服务器发送所述第二数据获取请求,使所述数据存储服务器根据所述数据标识获取并返回与所述数据标识对应的数据。所述发送所述第二数据获取请求至至少一个数据存储服务器,使所述数据存储服务器根据所述数据标识获取并返回与所述数据标识对应的数据之后,所述方法还包括判断所述对应的数据是否满足预设的缓存条件,如果满足,则生成所述数据标识与数据的对应关系,并将所述对应关系缓存在本地的数据标识与数据的对应关系中。
所述根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识之后,所述方法还包括查询本地缓存的所述数据标识与数据的对应关系中是否存在与所述数据标识对应的数据,如果存在,则获取与所述数据标识对应的数据,并返回所述对应的数据;如果不存在,执行则根据所述数据标识和预设的报文格式,生成第二数据获取请求的步骤。所述判断所述对应的数据是否满足预设的缓存条件,如果满足,则生成所述数据标识与数据的对应关系,并将所述对应关系缓存在本地的数据标识与数据的对应关系中之后,所述方法还包括设置所述数据标识与数据的对应关系的有效时间;当所述数据标识与数据的对应关系在本地缓存的缓存时间超过了所述有效时间后,在所述本地的数据标识与数据的对应关系中删除所述数据标识与数据的对应关系。当在预设时间内接收到的第一数据获取请求为两个或两个以上时,所述根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识之后,所述方法还包括对所述所有述满足所述数据选取条件的数据标识进行合并,得到合并后的数据标识,所述合并后的数据标识中无相同的数据标识;将所述合并后的数据标识作为后续步骤中的所述数据标识。本发明实施例还提供了一种数据的获取装置,所述装置包括数据获取请求接收模块,用于接收至少一个第一数据获取请求,所述第一数据获取请求中携带数据选取条件;数据标识获取模块,用于根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识;第一数据获取模块,用于根据所述数据标识,并行获取所有与所述数据标识对应的数据,返回所述对应的数据。所述第一数据获取模块,具体包括数据请求生成单元,用于根据所述数据标识和预设的报文格式,生成至少一个第二数据获取请求,所述第二数据获取请求用于请求与所述数据标识对应的数据,所述第二数据获取请求中携带一个以上所述数据标识,所述数据标识的总字节数小于或等于所述报文格式所能容纳的最大字节数;第一数据获取单元,用于并行向数据存储服务器发送所述第二数据获取请求,使所述数据存储服务器根据所述数据标识获取并返回与所述数据标识对应的数据。所述装置还包括数据缓存模块,用于判断所述对应的数据是否满足预设的缓存条件,如果满足,则生成所述数据标识与数据的对应关系,并将所述对应关系缓存在本地的数据标识与数据的对应关系中。所述装置还包括
第二数据获取模块,用于查询本地缓存的所述数据标识与数据的对应关系中是否存在与所述数据标识对应的数据,如果存在,则获取与所述数据标识对应的数据,并返回所述对应的数据,如果不存在,执行则根据所述数据标识和预设的报文格式,生成第二数据获取请求的步骤。所述装置还包括有效时间设置模块,用于设置所述数据标识与数据的对应关系的有效时间;对应关系管理模块,用于当所述数据标识与数据的对应关系在本地缓存的缓存时间超过了所述有效时间后,在所述本地的数据标识与数据的对应关系中删 除所述数据标识与数据的对应关系。所述装置还包括数据标识合并模块,对所述所有述满足所述数据选取条件的数据标识进行合并,得到合并后的数据标识,所述合并后的数据标识中无相同的数据标识;将所述合并后的数据标识作为后续步骤中的所述数据标识。本发明实施例根据数据的选取条件,确定数据的标识,并根据所述数据标识,同时获取所有与所述数据标识对应的数据。减少了现有技术中由于顺序逐一获取数据而造成的数据反馈延迟,通过并行的获取数据,提高了数据获取的效率,使数据可及时的反馈给使用者,提升了数据使用者的满意度。


图I是本发明实施例I提供的一种数据的获取方法流程图;图2是本发明实施例2提供的一种数据的获取方法流程图;图3是本发明实施例3提供的一种数据的获取方法流程图;图4是本发明实施例4提供的一种数据的获取装置示意图;图5是本发明实施例5提供的一种数据的获取装置示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例I如图I所示,本发明实施例提供了一种数据的获取方法,所述方法包括以下步骤SlOl :接收至少一个第一数据获取请求,所述第一数据获取请求中携带数据选取条件;S102 :根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识;S103 :根据所述数据标识,并行获取所有与所述数据标识对应的数据,返回所述对应的数据。需要说明的是,本实施例各步骤的执行主体,可以是用于获取数据的服务器,还可以是具有本实施例各步骤功能的其他装置。本发明实施例通过获取所有满足所述数据选取条件的数据标识;并根据所述数据标识,并行获取所有与所述数据标识对应的数据,减少了现有技术中由于顺序逐一获取数据而造成的数据反馈延迟,通过并行的获取数据,提高了数据获取的效率,使数据可及时的反馈给使用者,提升了数据使用者的满意度。实施例2如图2所示,本发明实施例提供了一种数据的获取方法,该方法包括以下步骤S201 :接收至少一个第一数据获取请求;本实施例中,该第一数据获取请求中携带数据选取条件,该第一数据获取请求用于请求获取至少一个符合该数据选取条件的数据。例如,以微博系统为例,微博用户A有三个关注人,微博用户B可通过发送第一数据获取请求,获取微博用户A的关注人信息,则该第一数据获取请求中携带的数据选取条件为“用户B的关注人”。 S202 :根据该数据选取条件,获取所有满足该数据选取条件的数据标识;本实施例中,通过查询本地保存的数据获取条件与数据标识的对应关系,获取与该数据条件对应的数据标识。数据标识,用于根据获取与该数据标识对应的数据。可选的,当数据为物理数据时,该物理数据的数据标识可以为该物理数据的物理存储位置和读取方式。例如,本地保存的数据获取条件与数据标识的对应关系可以如表一所示,当数据获取条件为S201中示例所示的“用户B的关注人”时,则与该数据获取条件对应的数据标识为 “Cl、Dl 和 F1”。表一I数据获取条件 I数据标识
用户B的关注人_
Dl_
Fl--
用户M的关注人_
Yl_
_Zl优选的,当在预设时间内接收到的第一数据获取请求为两个或两个以上时,还可对该所有述满足该数据选取条件的数据标识进行合并,得到合并后的数据标识,该合并后的数据标识中无相同的数据标识;并将该合并后的数据标识作为后续步骤中的该数据标识。例如,若预设时间为一分钟,且在一分钟内接收到两个第一数据获取请求,与该两个数据请求携带的数据选取条件对应的数据标识分别为“C1、D1和F1”,以及“C1、D1”,则合并后的数据标识为“Cl、Dl和F1”。S203 :根据该数据标识和预设的报文格式,生成至少一个第二数据获取请求;本实施例中,该第二数据获取请求中携带一个以上该数据标识,该数据标识的总字节数小于或等于该报文格式所能容纳的最大字节数;该预设的报文格式可以与现有通信协议对应的可用于传输数据的任意报文格式,如与m)P、TCP对应的报文格式。例如,如S202示例所示,当预设的报文格式为与M)P对应的报文格式、获取到的与数据选取条件为“用户B的关注人”对应的数据标识为“Cl、Dl和F1”时,根据该数据标识和预设的报文格式生成的第二数据获取请求为,携带数据标识“C1、D1和F1”的UDP报文。进一步可选的,预设的报文格式可以根据服务器与数据存储服务器间采用的通信协议决定。优选的,可采用UDP协议。进一步优选的,当采用预设的报文格式生成第二数据获取请求时,一个报文中不能包含所有的数据标识,则可将数据标识的存储字节数按该报文格式所能容纳的最大字节数进行等分,从而通过多个报文将所有的数据标识发送出去。另外,服务器可与数据存储服务器协商好,每次请求多少个数据,后端就返回多少个数据。例如若微博系统中某个名人的粉丝为I万个,当微博用户请求其所有的粉丝时,若本服务器采用UDP协议与数据存储服务器进行通信,由于每个UDP报文最多可包括500个数据标识,则可通过同时发送20个请求包到数据存储服务器。请求起始位置分别为第0个,第500个,第1000个....第9500个,数据存储服务器收到请求后并行处理,将数据返回。 S204:并行向数据存储服务器发送该第二数据获取请求,使该数据存储服务器根据该数据标识获取并返回与该数据标识对应的数据;本实施例中,通过并行向数据存储服务器发送该第二数据获取请求,使数据存储服务器查询本地保存的数据标识与数据的对应关系;数据存储服务器获取与该数据标识对应的数据后返回与该数据标识对应的数据。例如,数据存储服务器本地保存的数据标识与数据的对应关系可如表二所示。如S203示例所示,当数据存储服务器接收到的报文为携带数据标识“Cl、Dl和F1”的UDP报文时,该数据存储服务器通过查询表二,获取与数据标识“Cl、Dl和Fl”对应的数据,“ 101、111和110”,并返回与数据标识“C1、D1和F1”对应的数据“101、111和110”。本实施例中,该数据的存储方式可以由多种方式体现,具体数据存储方式本实施例并不限定。表二
权利要求
1.一种数据的获取方法,其特征在于,所述方法包括 接收至少一个第一数据获取请求,所述第一数据获取请求中携带数据选取条件; 根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识; 根据所述数据标识,并行获取所有与所述数据标识对应的数据,返回所述对应的数据。
2.根据权利要求I所述的方法,其特征在于,所述根据所述数据标识,并行获取所有与所述数据标识对应的数据,具体包括 根据所述数据标识和预设的报文格式,生成至少一个第二数据获取请求,所述第二数据获取请求用于请求与所述数据标识对应的数据,所述第二数据获取请求中携带一个以上所述数据标识,所述数据标识的总字节数小于或等于所述报文格式所能容纳的最大字节数; 并行向数据存储服务器发送所述第二数据获取请求,使所述数据存储服务器根据所述 数据标识获取并返回与所述数据标识对应的数据。
3.根据权利要求2所述的方法,其特征在于,所述发送所述第二数据获取请求至至少一个数据存储服务器,使所述数据存储服务器根据所述数据标识获取并返回与所述数据标识对应的数据之后,所述方法还包括 判断所述对应的数据是否满足预设的缓存条件,如果满足,则生成所述数据标识与数据的对应关系,并将所述对应关系缓存在本地的数据标识与数据的对应关系中。
4.根据I至3任一项权利要求所述的方法,其特征在于,所述根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识之后,所述方法还包括 查询本地缓存的所述数据标识与数据的对应关系中是否存在与所述数据标识对应的数据,如果存在,则获取与所述数据标识对应的数据,并返回所述对应的数据; 如果不存在,执行则根据所述数据标识和预设的报文格式,生成第二数据获取请求的步骤。
5.根据权利要求4所述的方法,其特征在于,所述判断所述对应的数据是否满足预设的缓存条件,如果满足,则生成所述数据标识与数据的对应关系,并将所述对应关系缓存在本地的数据标识与数据的对应关系中之后,所述方法还包括 设置所述数据标识与数据的对应关系的有效时间; 当所述数据标识与数据的对应关系在本地缓存的缓存时间超过了所述有效时间后,在所述本地的数据标识与数据的对应关系中删除所述数据标识与数据的对应关系。
6.根据权利要求I所述的方法,其特征在于,当在预设时间内接收到的第一数据获取请求为两个或两个以上时,所述根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识之后,所述方法还包括 对所述所有述满足所述数据选取条件的数据标识进行合并,得到合并后的数据标识,所述合并后的数据标识中无相同的数据标识; 将所述合并后的数据标识作为后续步骤中的所述数据标识。
7.一种数据的获取装置,其特征在于,所述装置包括 数据获取请求接收模块,用于接收至少一个第一数据获取请求,所述第一数据获取请求中携带数据选取条件; 数据标识获取模块,用于根据所述数据选取条件,获取所有满足所述数据选取条件的数据标识; 第一数据获取模块,用于根据所述数据标识,并行获取所有与所述数据标识对应的数据,返回所述对应的数据。
8.根据权利要求7所述的装置,其特征在于,所述第一数据获取模块,具体包括 数据请求生成单元,用于根据所述数据标识和预设的报文格式,生成至少一个第二数据获取请求,所述第二数据获取请求用于请求与所述数据标识对应的数据,所述第二数据获取请求中携带一个以上所述数据标识,所述数据标识的总字节数小于或等于所述报文格式所能容纳的最大字节数; 第一数据获取单元,用于并行向数据存储服务器发送所述第二数据获取请求,使所述数据存储服务器根据所述数据标识获取并返回与所述数据标识对应的数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括 数据缓存模块,用于判断所述对应的数据是否满足预设的缓存条件,如果满足,则生成所述数据标识与数据的对应关系,并将所述对应关系缓存在本地的数据标识与数据的对应关系中。
10.根据7至9任一项权利要求所述的装置,其特征在于,所述装置还包括 第二数据获取模块,用于查询本地缓存的所述数据标识与数据的对应关系中是否存在与所述数据标识对应的数据,如果存在,则获取与所述数据标识对应的数据,并返回所述对应的数据,如果不存在,执行则根据所述数据标识和预设的报文格式,生成第二数据获取请求的步骤。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括 有效时间设置模块,用于设置所述数据标识与数据的对应关系的有效时间; 对应关系管理模块,用于当所述数据标识与数据的对应关系在本地缓存的缓存时间超过了所述有效时间后,在所述本地的数据标识与数据的对应关系中删除所述数据标识与数据的对应关系。
12.根据权利要求I所述的装置,其特征在于,所述装置还包括 数据标识合并模块,对所述所有述满足所述数据选取条件的数据标识进行合并,得到合并后的数据标识,所述合并后的数据标识中无相同的数据标识;将所述合并后的数据标识作为后续步骤中的所述数据标识。
全文摘要
本发明公开了一种数据的获取方法,包括接收至少一个第一数据获取请求,该第一数据获取请求中携带数据选取条件;根据该数据选取条件,获取所有满足该数据选取条件的数据标识;根据该数据标识,并行获取所有与该数据标识对应的数据,返回该对应的数据。本发明还公开了一种数据的获取装置包括数据获取请求接收模块、数据标识获取模块和第一数据获取模块本发明实施例根据数据的选取条件,确定数据的标识,并根据所述数据标识,同时获取所有与所述数据标识对应的数据。减少了现有技术中由于顺序逐一获取数据而造成的数据反馈延迟,通过并行的获取数据,提高了数据获取的效率,使数据可及时的反馈给使用者,提升了数据使用者的满意度。
文档编号G06F17/30GK102737065SQ20111009556
公开日2012年10月17日 申请日期2011年4月15日 优先权日2011年4月15日
发明者袁清 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1