加载多数据源数据的方法和装置制造方法及图纸

技术编号:17837676 阅读:67 留言:0更新日期:2018-05-03 19:20
本公开是关于加载多数据源数据的方法和装置。该方法包括:接收来自客户端的数据请求,所述数据请求携带用户标识,所述数据请求用于请求来自多个数据源的对应于所述用户标识的数据;从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部,其中,来自不同数据源的数据中对应于所述用户标识的数据均被存储在与所述用户标识关联的键对应的存储空间;发送所取得的数据至所述客户端。根据本公开有利于提高多数据源数据的加载和刷新速度,有利于提升客户端的界面加载速度。

Methods and devices to load data from multiple data sources

The present disclosure is a method and device for loading data of multiple data sources. The method includes receiving a data request from the client, the data request carrying the user identity, the data request for requesting data corresponding to the user identifier from multiple data sources, and a portion of the requested data from the storage space corresponding to the key associated with the user identity in the database or to obtain a portion of the requested data or a portion of the data from the database associated with the user identity. All of them, in which the data corresponding to the user identity in the data from the different data sources are stored in a storage space corresponding to the key associated with the user identity; the data obtained is sent to the client. According to this disclosure, it is helpful to improve the loading and refreshing speed of multiple data sources, and is conducive to improving the interface loading speed of the client.

【技术实现步骤摘要】
加载多数据源数据的方法和装置
本公开涉及互联网数据加载领域,尤其涉及加载多数据源数据的方法和装置。
技术介绍
互联网给用户提供了多种便利服务。随着服务接入的需求增多以及服务综合性和个性化的增强,在提供某些服务时可能需要来自多个数据源的数据,例如,客户端的一个数据请求可能需要分别访问提供账号服务的服务器的数据接口和提供特定主题服务的服务器的数据接口以加载相应数据显示给客户。可以认为请求的加载耗时和要访问的数据接口数量呈线性增长关系,随着接入的接口增多,请求的加载耗时随之增加,使得用户在触发请求后等待较长时间才能看到加载的数据。在相关技术中,可在服务器中增加用以缓存部分第三方数据,但由于来自不同数据源的第三方数据存储在不同位置,因此,需分多次访问相应存储空间以取回数据,加载速度仍随着数据源的增多而增加,难以令人满意。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种加载多数据源的数据的方法,本公开还提出了相应的装置和计算机可读存储程序。根据本公开实施例的第一方面,提供一种加载多数据源数据的方法,其特征在于,所述方法应用于服务器,所述方法包括:接收来自客户端的数据请求,所述数据请求携带用户标识,所述数据请求用于请求来自多个数据源的对应于所述用户标识的数据;从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部,其中,来自不同数据源的数据中对应于所述用户标识的数据均被存储在与所述用户标识关联的键对应的存储空间;发送所取得的数据至所述客户端。在一种可能的实现方式中,所述数据库为NoSQL(NotOnlySQL)数据库。在一种可能的实现方式中,所述数据库为HBase数据库,所述HBase数据库的行键(RowKey)包括所述用户标识。在一种可能的实现方式中,所述方法还包括:访问不同数据源的数据接口以获取相应的数据;将所获取的数据存储在所述数据库中,其中,在与各个用户标识关联的键对应的存储空间存储所获取的各个数据源的数据中对应于相应用户标识的的数据。在一种可能的实现方式中,从数据库中取得所请求的数据中的部分或全部由第一进程执行;访问不同数据源对应的服务器以获取相应数据并将所获取的数据存储在所述数据库中由第二进程执行,所述第一进程和所述第二进程是并发的不同进程。在一种可能的实现方式中,所述方法还包括:针对所述多个数据源分别设置加载状态,所述加载状态包括下列中的一者或多者:该数据源的数据未存储或不可用,并且该数据源支持异步加载;该数据源的数据未存储或不可用,并且该数据源不支持异步加载;该数据源的数据是可用的但可能存在更新的版本;该数据源的数据是最新版本。在一种可能的实现方式中,所述从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部包括:在所述数据库未存储所请求的数据中的全部的情况下,从所述存储空间取得所请求的数据中已存储在所述数据库的数据;在所述数据库已存储所请求的数据中的全部的情况下,从所述存储空间取得所请求的数据中的全部。在一种可能的实现方式中,所述方法还包括:发送数据完整性指示至所述客户端,所述数据完整性指示用于指示发送至所述客户端的数据是否包括所请求的数据中的全部。在一种可能的实现方式中,所述方法还包括:在所述数据库未存储所请求的数据中的全部的情况下,发送取数指示至所述客户端,所述取数指示用于指示所述客户端何时从所述数据库取剩余的所请求的数据。在一种可能的实现方式中,所述方法还包括:发送所请求的数据中来自不同数据源的数据的可用状态至所述客户端,所述可用状态包括下列中的一者或多者:该数据源的数据是最新版本;该数据源的数据是可用的但可能存在更新的版本;该数据源的数据是不可用的;未存储来自该数据源的数据。根据本公开实施例的第二方面,提供一种加载多数据源数据的装置,其特征在于,所述装置应用于服务器,所述装置包括:数据请求接收模块,被配置为接收来自客户端的数据请求,所述数据请求携带用户标识,所述数据请求用于请求来自多个数据源的对应于所述用户标识的数据;数据库取数模块,被配置为从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部,其中,来自不同数据源的数据中对应于所述用户标识的数据均被存储在与所述用户标识关联的键对应的存储空间;数据发送模块,被配置为发送所取得的数据至所述客户端。在一种可能的实现方式中,所述数据库为NoSQL(NotOnlySQL)数据库。在一种可能的实现方式中,所述数据库为HBase数据库,所述HBase数据库的行键(RowKey)包括所述用户标识。在一种可能的实现方式中,所述装置还包括:多数据源访问模块,被配置为访问不同数据源的数据接口以获取相应的数据;数据库加载模块,被配置为将所获取的数据存储在所述数据库中,其中,在与各个用户标识关联的键对应的存储空间存储所获取的各个数据源的数据中对应于相应用户标识的的数据。在一种可能的实现方式中,所述数据库取数模块在第一进程中实施;所述多数据源访问模块和所述数据库加载模块在第二进程中实施,所述第一进程和所述第二进程是并发的不同进程。在一种可能的实现方式中,所述装置还包括:加载状态设置模块,被配置为针对所述多个数据源分别设置加载状态,所述加载状态包括下列中的一者或多者:该数据源的数据未存储或不可用,并且该数据源支持异步加载;该数据源的数据未存储或不可用,并且该数据源不支持异步加载;该数据源的数据是可用的但可能存在更新的版本;该数据源的数据是最新版本。在一种可能的实现方式中,所述装置还包括:所述数据库取数模块包括:第一取数子模块,被配置为在所述数据库未存储所请求的数据中的全部的情况下,从所述存储空间取得所请求的数据中已存储在所述数据库的数据;第二取数子模块,被配置为在所述数据库已存储所请求的数据中的全部的情况下,从所述存储空间取得所请求的数据中的全部。在一种可能的实现方式中,所述装置还包括:完整性指示发送模块,被配置为发送数据完整性指示至所述客户端,所述数据完整性指示用于指示发送至所述客户端的数据是否包括所请求的数据中的全部。在一种可能的实现方式中,所述装置还包括:取数指示发送模块,被配置为在所述数据库未存储所请求的数据中的全部的情况下,发送取数指示至所述客户端,所述取数指示用于指示所述客户端何时从所述数据库取剩余的所请求的数据。在一种可能的实现方式中,所述装置还包括:可用状态发送模块,被配置为发送所请求的数据中来自不同数据源的数据的可用状态至所述客户端,所述可用状态包括下列中的一者或多者:该数据源的数据是最新版本;该数据源的数据是可用的但可能存在更新的版本;该数据源的数据是不可用的;未存储来自该数据源的数据。。根据本公开实施例的第三方面,提供一种加载多数据源数据的装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如上所述的方法。根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行如上所述的方法。本公开的实施例提供的技术方案可以包括以下有益效果:当接收到来自客户端的多数据源数据请求时,直接从数据库中与用户标识关联的键对应的存储空间取得来自所请求的数据,而无需分别访问不同数据源的多个的数本文档来自技高网...
加载多数据源数据的方法和装置

【技术保护点】
一种加载多数据源数据的方法,其特征在于,所述方法应用于服务器,所述方法包括:接收来自客户端的数据请求,所述数据请求携带用户标识,所述数据请求用于请求来自多个数据源的对应于所述用户标识的数据;从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部,其中,来自不同数据源的数据中对应于所述用户标识的数据均被存储在与所述用户标识关联的键对应的存储空间;发送所取得的数据至所述客户端。

【技术特征摘要】
1.一种加载多数据源数据的方法,其特征在于,所述方法应用于服务器,所述方法包括:接收来自客户端的数据请求,所述数据请求携带用户标识,所述数据请求用于请求来自多个数据源的对应于所述用户标识的数据;从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部,其中,来自不同数据源的数据中对应于所述用户标识的数据均被存储在与所述用户标识关联的键对应的存储空间;发送所取得的数据至所述客户端。2.根据权利要求1中任意一者所述的方法,其特征在于:所述数据库为NoSQL(NotOnlySQL)数据库。3.根据权利要求2所述的方法,其特征在于:所述数据库为HBase数据库,所述HBase数据库的行键(RowKey)包括所述用户标识。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:访问不同数据源的数据接口以获取相应的数据;将所获取的数据存储在所述数据库中,其中,在与各个用户标识关联的键对应的存储空间存储所获取的各个数据源的数据中对应于相应用户标识的的数据。5.根据权利要求4所述的方法,其特征在于:从数据库中取得所请求的数据中的部分或全部由第一进程执行;访问不同数据源对应的服务器以获取相应数据并将所获取的数据存储在所述数据库中由第二进程执行,所述第一进程和所述第二进程是并发的不同进程。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对所述多个数据源分别设置加载状态,所述加载状态包括下列中的一者或多者:该数据源的数据未存储或不可用,并且该数据源支持异步加载;该数据源的数据未存储或不可用,并且该数据源不支持异步加载;该数据源的数据是可用的但可能存在更新的版本;该数据源的数据是最新版本。7.根据权利要求1所述的方法,其特征在于,所述从数据库中与所述用户标识关联的键对应的存储空间取得所请求的数据中的部分或全部包括:在所述数据库未存储所请求的数据中的全部的情况下,从所述存储空间取得所请求的数据中已存储在所述数据库的数据;在所述数据库已存储所请求的数据中的全部的情况下,从所述存储空间取得所请求的数据中的全部。8.根据权利要求1或7所述的方法,其特征在于,所述方法还包括:发送数据完整性指示至所述客户端,所述数据完整性指示用于指示发送至所述客户端的数据是否包括所请求的数据中的全部。9.根据权利要求1或7所述的方法,其特征在于,所述方法还包括:在所述数据库未存储所请求的数据中的全部的情况下,发送取数指示至所述客户端,所述取数指示用于指示所述客户端何时从所述数据库取剩余的所请求的数据。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:发送所请求的数据中来自不同数据源的数据的可用状态至所述客户端,所述可用状态包括下列中的一者或多者:该数据源的数据是最新版本;该数据源的数据是可用的但可能存在更新的版本;该数据源的数据是不可用的;未存储来自该数据源的数据。11.一种加载多数据源数据的装置,其特征在于,所述装置应用于服务器,所述装置包括:数据请求接收模块,被配置为接收来自客户端的数据请求,所述数据请求携带用户标识,所述数据请求用于请求来自多个数据源的对应于所述用户标识的数据;数据库取数模块,被配置为从数...

【专利技术属性】
技术研发人员:厉孙德郭煌建舒志华
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1